Artifact 21d3d57439478e49b67c0b7350bbeff2da11f21e:
- File
src/win32/winioctl.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /*************** 0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20 ********\..* 0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0060: 20 20 20 20 20 20 20 20 20 20 20 77 69 6e 69 6f winio 0070: 63 74 6c 2e 64 20 20 20 20 20 20 20 20 20 20 20 ctl.d 0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20 *..* 00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d *. 00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .* 00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73 Windows 0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75 API header modu 0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le 0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20 *..* 0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 *..* 0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61 Transla 0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57 ted from MinGW W 01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20 indows headers 01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a * 01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..* 01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 79 by 01e0: 20 53 74 65 77 61 72 74 20 47 6f 72 64 6f 6e 20 Stewart Gordon 01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 *..* 0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0250: 20 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 *..* 0260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0270: 50 6c 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c Placed into publ 0280: 69 63 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 ic domain 0290: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 02a0: 2a 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a *..\************ 02b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 02c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 02d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 02e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 6d 6f ***********/..mo 02f0: 64 75 6c 65 20 77 69 6e 33 32 2e 77 69 6e 69 6f dule win32.winio 0300: 63 74 6c 3b 0d 0a 0d 0a 2f 2f 20 46 49 58 4d 45 ctl;....// FIXME 0310: 3a 20 63 68 65 63 6b 20 74 79 70 65 73 20 6f 66 : check types of 0320: 20 73 6f 6d 65 20 63 6f 6e 73 74 61 6e 74 73 0d some constants. 0330: 0a 0d 0a 70 72 69 76 61 74 65 20 69 6d 70 6f 72 ...private impor 0340: 74 20 77 69 6e 33 32 2e 62 61 73 65 74 79 70 73 t win32.basetyps 0350: 2c 20 77 69 6e 33 32 2e 77 69 6e 64 65 66 3b 0d , win32.windef;. 0360: 0a 0d 0a 63 6f 6e 73 74 20 73 69 7a 65 5f 74 0d ...const size_t. 0370: 0a 09 48 49 53 54 5f 4e 4f 5f 4f 46 5f 42 55 43 ..HIST_NO_OF_BUC 0380: 4b 45 54 53 20 3d 20 32 34 2c 0d 0a 09 48 49 53 KETS = 24,...HIS 0390: 54 4f 47 52 41 4d 5f 42 55 43 4b 45 54 5f 53 49 TOGRAM_BUCKET_SI 03a0: 5a 45 20 3d 20 48 49 53 54 4f 47 52 41 4d 5f 42 ZE = HISTOGRAM_B 03b0: 55 43 4b 45 54 2e 73 69 7a 65 6f 66 2c 0d 0a 09 UCKET.sizeof,... 03c0: 44 49 53 4b 5f 48 49 53 54 4f 47 52 41 4d 5f 53 DISK_HISTOGRAM_S 03d0: 49 5a 45 20 3d 20 44 49 53 4b 5f 48 49 53 54 4f IZE = DISK_HISTO 03e0: 47 52 41 4d 2e 73 69 7a 65 6f 66 3b 0d 0a 0d 0a GRAM.sizeof;.... 03f0: 61 6c 69 61 73 20 44 57 4f 52 44 20 44 45 56 49 alias DWORD DEVI 0400: 43 45 5f 54 59 50 45 3b 0d 0a 0d 0a 65 6e 75 6d CE_TYPE;....enum 0410: 20 3a 20 44 45 56 49 43 45 5f 54 59 50 45 20 7b : DEVICE_TYPE { 0420: 0d 0a 09 46 49 4c 45 5f 44 45 56 49 43 45 5f 42 ...FILE_DEVICE_B 0430: 45 45 50 20 20 20 20 20 20 20 20 20 20 20 20 20 EEP 0440: 20 20 3d 20 31 2c 0d 0a 09 46 49 4c 45 5f 44 45 = 1,...FILE_DE 0450: 56 49 43 45 5f 43 44 5f 52 4f 4d 2c 0d 0a 09 46 VICE_CD_ROM,...F 0460: 49 4c 45 5f 44 45 56 49 43 45 5f 43 44 5f 52 4f ILE_DEVICE_CD_RO 0470: 4d 5f 46 49 4c 45 5f 53 59 53 54 45 4d 2c 0d 0a M_FILE_SYSTEM,.. 0480: 09 46 49 4c 45 5f 44 45 56 49 43 45 5f 43 4f 4e .FILE_DEVICE_CON 0490: 54 52 4f 4c 4c 45 52 2c 0d 0a 09 46 49 4c 45 5f TROLLER,...FILE_ 04a0: 44 45 56 49 43 45 5f 44 41 54 41 4c 49 4e 4b 2c DEVICE_DATALINK, 04b0: 0d 0a 09 46 49 4c 45 5f 44 45 56 49 43 45 5f 44 ...FILE_DEVICE_D 04c0: 46 53 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 49 43 FS,...FILE_DEVIC 04d0: 45 5f 44 49 53 4b 2c 0d 0a 09 46 49 4c 45 5f 44 E_DISK,...FILE_D 04e0: 45 56 49 43 45 5f 44 49 53 4b 5f 46 49 4c 45 5f EVICE_DISK_FILE_ 04f0: 53 59 53 54 45 4d 2c 0d 0a 09 46 49 4c 45 5f 44 SYSTEM,...FILE_D 0500: 45 56 49 43 45 5f 46 49 4c 45 5f 53 59 53 54 45 EVICE_FILE_SYSTE 0510: 4d 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 49 43 45 M,...FILE_DEVICE 0520: 5f 49 4e 50 4f 52 54 5f 50 4f 52 54 2c 0d 0a 09 _INPORT_PORT,... 0530: 46 49 4c 45 5f 44 45 56 49 43 45 5f 4b 45 59 42 FILE_DEVICE_KEYB 0540: 4f 41 52 44 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 OARD,...FILE_DEV 0550: 49 43 45 5f 4d 41 49 4c 53 4c 4f 54 2c 0d 0a 09 ICE_MAILSLOT,... 0560: 46 49 4c 45 5f 44 45 56 49 43 45 5f 4d 49 44 49 FILE_DEVICE_MIDI 0570: 5f 49 4e 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 49 _IN,...FILE_DEVI 0580: 43 45 5f 4d 49 44 49 5f 4f 55 54 2c 0d 0a 09 46 CE_MIDI_OUT,...F 0590: 49 4c 45 5f 44 45 56 49 43 45 5f 4d 4f 55 53 45 ILE_DEVICE_MOUSE 05a0: 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 49 43 45 5f ,...FILE_DEVICE_ 05b0: 4d 55 4c 54 49 5f 55 4e 43 5f 50 52 4f 56 49 44 MULTI_UNC_PROVID 05c0: 45 52 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 49 43 ER,...FILE_DEVIC 05d0: 45 5f 4e 41 4d 45 44 5f 50 49 50 45 2c 0d 0a 09 E_NAMED_PIPE,... 05e0: 46 49 4c 45 5f 44 45 56 49 43 45 5f 4e 45 54 57 FILE_DEVICE_NETW 05f0: 4f 52 4b 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 49 ORK,...FILE_DEVI 0600: 43 45 5f 4e 45 54 57 4f 52 4b 5f 42 52 4f 57 53 CE_NETWORK_BROWS 0610: 45 52 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 49 43 ER,...FILE_DEVIC 0620: 45 5f 4e 45 54 57 4f 52 4b 5f 46 49 4c 45 5f 53 E_NETWORK_FILE_S 0630: 59 53 54 45 4d 2c 0d 0a 09 46 49 4c 45 5f 44 45 YSTEM,...FILE_DE 0640: 56 49 43 45 5f 4e 55 4c 4c 2c 0d 0a 09 46 49 4c VICE_NULL,...FIL 0650: 45 5f 44 45 56 49 43 45 5f 50 41 52 41 4c 4c 45 E_DEVICE_PARALLE 0660: 4c 5f 50 4f 52 54 2c 0d 0a 09 46 49 4c 45 5f 44 L_PORT,...FILE_D 0670: 45 56 49 43 45 5f 50 48 59 53 49 43 41 4c 5f 4e EVICE_PHYSICAL_N 0680: 45 54 43 41 52 44 2c 0d 0a 09 46 49 4c 45 5f 44 ETCARD,...FILE_D 0690: 45 56 49 43 45 5f 50 52 49 4e 54 45 52 2c 0d 0a EVICE_PRINTER,.. 06a0: 09 46 49 4c 45 5f 44 45 56 49 43 45 5f 53 43 41 .FILE_DEVICE_SCA 06b0: 4e 4e 45 52 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 NNER,...FILE_DEV 06c0: 49 43 45 5f 53 45 52 49 41 4c 5f 4d 4f 55 53 45 ICE_SERIAL_MOUSE 06d0: 5f 50 4f 52 54 2c 0d 0a 09 46 49 4c 45 5f 44 45 _PORT,...FILE_DE 06e0: 56 49 43 45 5f 53 45 52 49 41 4c 5f 50 4f 52 54 VICE_SERIAL_PORT 06f0: 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 49 43 45 5f ,...FILE_DEVICE_ 0700: 53 43 52 45 45 4e 2c 0d 0a 09 46 49 4c 45 5f 44 SCREEN,...FILE_D 0710: 45 56 49 43 45 5f 53 4f 55 4e 44 2c 0d 0a 09 46 EVICE_SOUND,...F 0720: 49 4c 45 5f 44 45 56 49 43 45 5f 53 54 52 45 41 ILE_DEVICE_STREA 0730: 4d 53 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 49 43 MS,...FILE_DEVIC 0740: 45 5f 54 41 50 45 2c 0d 0a 09 46 49 4c 45 5f 44 E_TAPE,...FILE_D 0750: 45 56 49 43 45 5f 54 41 50 45 5f 46 49 4c 45 5f EVICE_TAPE_FILE_ 0760: 53 59 53 54 45 4d 2c 0d 0a 09 46 49 4c 45 5f 44 SYSTEM,...FILE_D 0770: 45 56 49 43 45 5f 54 52 41 4e 53 50 4f 52 54 2c EVICE_TRANSPORT, 0780: 0d 0a 09 46 49 4c 45 5f 44 45 56 49 43 45 5f 55 ...FILE_DEVICE_U 0790: 4e 4b 4e 4f 57 4e 2c 0d 0a 09 46 49 4c 45 5f 44 NKNOWN,...FILE_D 07a0: 45 56 49 43 45 5f 56 49 44 45 4f 2c 0d 0a 09 46 EVICE_VIDEO,...F 07b0: 49 4c 45 5f 44 45 56 49 43 45 5f 56 49 52 54 55 ILE_DEVICE_VIRTU 07c0: 41 4c 5f 44 49 53 4b 2c 0d 0a 09 46 49 4c 45 5f AL_DISK,...FILE_ 07d0: 44 45 56 49 43 45 5f 57 41 56 45 5f 49 4e 2c 0d DEVICE_WAVE_IN,. 07e0: 0a 09 46 49 4c 45 5f 44 45 56 49 43 45 5f 57 41 ..FILE_DEVICE_WA 07f0: 56 45 5f 4f 55 54 2c 0d 0a 09 46 49 4c 45 5f 44 VE_OUT,...FILE_D 0800: 45 56 49 43 45 5f 38 30 34 32 5f 50 4f 52 54 2c EVICE_8042_PORT, 0810: 0d 0a 09 46 49 4c 45 5f 44 45 56 49 43 45 5f 4e ...FILE_DEVICE_N 0820: 45 54 57 4f 52 4b 5f 52 45 44 49 52 45 43 54 4f ETWORK_REDIRECTO 0830: 52 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 49 43 45 R,...FILE_DEVICE 0840: 5f 42 41 54 54 45 52 59 2c 0d 0a 09 46 49 4c 45 _BATTERY,...FILE 0850: 5f 44 45 56 49 43 45 5f 42 55 53 5f 45 58 54 45 _DEVICE_BUS_EXTE 0860: 4e 44 45 52 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 NDER,...FILE_DEV 0870: 49 43 45 5f 4d 4f 44 45 4d 2c 0d 0a 09 46 49 4c ICE_MODEM,...FIL 0880: 45 5f 44 45 56 49 43 45 5f 56 44 4d 2c 0d 0a 09 E_DEVICE_VDM,... 0890: 46 49 4c 45 5f 44 45 56 49 43 45 5f 4d 41 53 53 FILE_DEVICE_MASS 08a0: 5f 53 54 4f 52 41 47 45 2c 0d 0a 09 46 49 4c 45 _STORAGE,...FILE 08b0: 5f 44 45 56 49 43 45 5f 53 4d 42 2c 0d 0a 09 46 _DEVICE_SMB,...F 08c0: 49 4c 45 5f 44 45 56 49 43 45 5f 4b 53 2c 0d 0a ILE_DEVICE_KS,.. 08d0: 09 46 49 4c 45 5f 44 45 56 49 43 45 5f 43 48 41 .FILE_DEVICE_CHA 08e0: 4e 47 45 52 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 NGER,...FILE_DEV 08f0: 49 43 45 5f 53 4d 41 52 54 43 41 52 44 2c 0d 0a ICE_SMARTCARD,.. 0900: 09 46 49 4c 45 5f 44 45 56 49 43 45 5f 41 43 50 .FILE_DEVICE_ACP 0910: 49 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 49 43 45 I,...FILE_DEVICE 0920: 5f 44 56 44 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 _DVD,...FILE_DEV 0930: 49 43 45 5f 46 55 4c 4c 53 43 52 45 45 4e 5f 56 ICE_FULLSCREEN_V 0940: 49 44 45 4f 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 IDEO,...FILE_DEV 0950: 49 43 45 5f 44 46 53 5f 46 49 4c 45 5f 53 59 53 ICE_DFS_FILE_SYS 0960: 54 45 4d 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 49 TEM,...FILE_DEVI 0970: 43 45 5f 44 46 53 5f 56 4f 4c 55 4d 45 2c 0d 0a CE_DFS_VOLUME,.. 0980: 09 46 49 4c 45 5f 44 45 56 49 43 45 5f 53 45 52 .FILE_DEVICE_SER 0990: 45 4e 55 4d 2c 0d 0a 09 46 49 4c 45 5f 44 45 56 ENUM,...FILE_DEV 09a0: 49 43 45 5f 54 45 52 4d 53 52 56 2c 0d 0a 09 46 ICE_TERMSRV,...F 09b0: 49 4c 45 5f 44 45 56 49 43 45 5f 4b 53 45 43 20 ILE_DEVICE_KSEC 09c0: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 // = 09d0: 35 37 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 57..}....enum {. 09e0: 0a 09 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 45 ..METHOD_BUFFERE 09f0: 44 2c 0d 0a 09 4d 45 54 48 4f 44 5f 49 4e 5f 44 D,...METHOD_IN_D 0a00: 49 52 45 43 54 2c 0d 0a 09 4d 45 54 48 4f 44 5f IRECT,...METHOD_ 0a10: 4f 55 54 5f 44 49 52 45 43 54 2c 0d 0a 09 4d 45 OUT_DIRECT,...ME 0a20: 54 48 4f 44 5f 4e 45 49 54 48 45 52 0d 0a 7d 0d THOD_NEITHER..}. 0a30: 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 46 49 4c 45 ...enum {...FILE 0a40: 5f 41 4e 59 5f 41 43 43 45 53 53 2c 0d 0a 09 46 _ANY_ACCESS,...F 0a50: 49 4c 45 5f 53 50 45 43 49 41 4c 5f 41 43 43 45 ILE_SPECIAL_ACCE 0a60: 53 53 20 3d 20 30 2c 0d 0a 09 46 49 4c 45 5f 52 SS = 0,...FILE_R 0a70: 45 41 44 5f 41 43 43 45 53 53 2c 0d 0a 09 46 49 EAD_ACCESS,...FI 0a80: 4c 45 5f 57 52 49 54 45 5f 41 43 43 45 53 53 0d LE_WRITE_ACCESS. 0a90: 0a 7d 0d 0a 0d 0a 2f 2a 09 42 69 74 20 70 61 74 .}..../*.Bit pat 0aa0: 74 65 72 6e 3a 0d 0a 20 2a 09 74 74 74 74 74 74 tern:.. *.tttttt 0ab0: 74 74 20 74 74 74 74 74 74 74 74 20 61 61 66 66 tt tttttttt aaff 0ac0: 66 66 66 66 20 66 66 66 66 66 66 6d 6d 0d 0a 20 ffff ffffffmm.. 0ad0: 2a 2f 0d 0a 2f 2b 0d 0a 23 64 65 66 69 6e 65 20 */../+..#define 0ae0: 43 54 4c 5f 43 4f 44 45 28 74 2c 20 66 2c 20 6d CTL_CODE(t, f, m 0af0: 2c 20 61 29 20 28 28 28 74 29 3c 3c 31 36 29 7c , a) (((t)<<16)| 0b00: 28 28 61 29 3c 3c 31 34 29 7c 28 28 66 29 3c 3c ((a)<<14)|((f)<< 0b10: 32 29 7c 28 6d 29 29 0d 0a 2b 2f 0d 0a 0d 0a 74 2)|(m))..+/....t 0b20: 65 6d 70 6c 61 74 65 20 43 54 4c 5f 43 4f 44 45 emplate CTL_CODE 0b30: 5f 54 28 44 45 56 49 43 45 5f 54 59 50 45 20 74 _T(DEVICE_TYPE t 0b40: 2c 20 75 69 6e 74 20 66 2c 20 75 69 6e 74 20 6d , uint f, uint m 0b50: 2c 20 75 69 6e 74 20 61 29 20 7b 0d 0a 09 63 6f , uint a) {...co 0b60: 6e 73 74 20 44 57 4f 52 44 20 43 54 4c 5f 43 4f nst DWORD CTL_CO 0b70: 44 45 5f 54 20 3d 20 28 74 20 3c 3c 20 31 36 29 DE_T = (t << 16) 0b80: 20 7c 20 28 61 20 3c 3c 20 31 34 29 20 7c 20 28 | (a << 14) | ( 0b90: 66 20 3c 3c 20 32 29 20 7c 20 6d 3b 0d 0a 7d 0d f << 2) | m;..}. 0ba0: 0a 0d 0a 44 45 56 49 43 45 5f 54 59 50 45 20 44 ...DEVICE_TYPE D 0bb0: 45 56 49 43 45 5f 54 59 50 45 5f 46 52 4f 4d 5f EVICE_TYPE_FROM_ 0bc0: 43 54 4c 5f 43 4f 44 45 28 44 57 4f 52 44 20 63 CTL_CODE(DWORD c 0bd0: 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 28 63 20 ) {...return (c 0be0: 26 20 30 78 46 46 46 46 30 30 30 30 29 20 3e 3e & 0xFFFF0000) >> 0bf0: 20 31 36 3b 0d 0a 7d 0d 0a 0d 0a 63 6f 6e 73 74 16;..}....const 0c00: 20 44 45 56 49 43 45 5f 54 59 50 45 0d 0a 09 49 DEVICE_TYPE...I 0c10: 4f 43 54 4c 5f 53 54 4f 52 41 47 45 5f 42 41 53 OCTL_STORAGE_BAS 0c20: 45 20 3d 20 46 49 4c 45 5f 44 45 56 49 43 45 5f E = FILE_DEVICE_ 0c30: 4d 41 53 53 5f 53 54 4f 52 41 47 45 2c 0d 0a 09 MASS_STORAGE,... 0c40: 49 4f 43 54 4c 5f 44 49 53 4b 5f 42 41 53 45 20 IOCTL_DISK_BASE 0c50: 20 20 20 3d 20 46 49 4c 45 5f 44 45 56 49 43 45 = FILE_DEVICE 0c60: 5f 44 49 53 4b 2c 0d 0a 09 49 4f 43 54 4c 5f 56 _DISK,...IOCTL_V 0c70: 4f 4c 55 4d 45 5f 42 41 53 45 20 20 3d 20 27 56 OLUME_BASE = 'V 0c80: 27 3b 0d 0a 0d 0a 65 6e 75 6d 20 3a 20 44 57 4f ';....enum : DWO 0c90: 52 44 20 7b 0d 0a 09 49 4f 43 54 4c 5f 53 54 4f RD {...IOCTL_STO 0ca0: 52 41 47 45 5f 43 48 45 43 4b 5f 56 45 52 49 46 RAGE_CHECK_VERIF 0cb0: 59 20 20 20 20 20 20 20 20 20 20 20 3d 20 43 54 Y = CT 0cc0: 4c 5f 43 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f L_CODE_T!(IOCTL_ 0cd0: 53 54 4f 52 41 47 45 5f 42 41 53 45 2c 20 30 78 STORAGE_BASE, 0x 0ce0: 30 32 30 30 2c 20 4d 45 54 48 4f 44 5f 42 55 46 0200, METHOD_BUF 0cf0: 46 45 52 45 44 2c 20 46 49 4c 45 5f 52 45 41 44 FERED, FILE_READ 0d00: 5f 41 43 43 45 53 53 29 2c 0d 0a 09 49 4f 43 54 _ACCESS),...IOCT 0d10: 4c 5f 53 54 4f 52 41 47 45 5f 43 48 45 43 4b 5f L_STORAGE_CHECK_ 0d20: 56 45 52 49 46 59 32 20 20 20 20 20 20 20 20 20 VERIFY2 0d30: 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 49 = CTL_CODE_T!(I 0d40: 4f 43 54 4c 5f 53 54 4f 52 41 47 45 5f 42 41 53 OCTL_STORAGE_BAS 0d50: 45 2c 20 30 78 30 32 30 30 2c 20 4d 45 54 48 4f E, 0x0200, METHO 0d60: 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 4c 45 D_BUFFERED, FILE 0d70: 5f 41 4e 59 5f 41 43 43 45 53 53 29 2c 0d 0a 09 _ANY_ACCESS),... 0d80: 49 4f 43 54 4c 5f 53 54 4f 52 41 47 45 5f 4d 45 IOCTL_STORAGE_ME 0d90: 44 49 41 5f 52 45 4d 4f 56 41 4c 20 20 20 20 20 DIA_REMOVAL 0da0: 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f = CTL_CODE_ 0db0: 54 21 28 49 4f 43 54 4c 5f 53 54 4f 52 41 47 45 T!(IOCTL_STORAGE 0dc0: 5f 42 41 53 45 2c 20 30 78 30 32 30 31 2c 20 4d _BASE, 0x0201, M 0dd0: 45 54 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 ETHOD_BUFFERED, 0de0: 46 49 4c 45 5f 52 45 41 44 5f 41 43 43 45 53 53 FILE_READ_ACCESS 0df0: 29 2c 0d 0a 09 49 4f 43 54 4c 5f 53 54 4f 52 41 ),...IOCTL_STORA 0e00: 47 45 5f 45 4a 45 43 54 5f 4d 45 44 49 41 20 20 GE_EJECT_MEDIA 0e10: 20 20 20 20 20 20 20 20 20 20 3d 20 43 54 4c 5f = CTL_ 0e20: 43 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f 53 54 CODE_T!(IOCTL_ST 0e30: 4f 52 41 47 45 5f 42 41 53 45 2c 20 30 78 30 32 ORAGE_BASE, 0x02 0e40: 30 32 2c 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 02, METHOD_BUFFE 0e50: 52 45 44 2c 20 46 49 4c 45 5f 52 45 41 44 5f 41 RED, FILE_READ_A 0e60: 43 43 45 53 53 29 2c 0d 0a 09 49 4f 43 54 4c 5f CCESS),...IOCTL_ 0e70: 53 54 4f 52 41 47 45 5f 4c 4f 41 44 5f 4d 45 44 STORAGE_LOAD_MED 0e80: 49 41 20 20 20 20 20 20 20 20 20 20 20 20 20 3d IA = 0e90: 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 49 4f 43 CTL_CODE_T!(IOC 0ea0: 54 4c 5f 53 54 4f 52 41 47 45 5f 42 41 53 45 2c TL_STORAGE_BASE, 0eb0: 20 30 78 30 32 30 33 2c 20 4d 45 54 48 4f 44 5f 0x0203, METHOD_ 0ec0: 42 55 46 46 45 52 45 44 2c 20 46 49 4c 45 5f 52 BUFFERED, FILE_R 0ed0: 45 41 44 5f 41 43 43 45 53 53 29 2c 0d 0a 09 49 EAD_ACCESS),...I 0ee0: 4f 43 54 4c 5f 53 54 4f 52 41 47 45 5f 4c 4f 41 OCTL_STORAGE_LOA 0ef0: 44 5f 4d 45 44 49 41 32 20 20 20 20 20 20 20 20 D_MEDIA2 0f00: 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 = CTL_CODE_T 0f10: 21 28 49 4f 43 54 4c 5f 53 54 4f 52 41 47 45 5f !(IOCTL_STORAGE_ 0f20: 42 41 53 45 2c 20 30 78 30 32 30 33 2c 20 4d 45 BASE, 0x0203, ME 0f30: 54 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 THOD_BUFFERED, F 0f40: 49 4c 45 5f 41 4e 59 5f 41 43 43 45 53 53 29 2c ILE_ANY_ACCESS), 0f50: 0d 0a 09 49 4f 43 54 4c 5f 53 54 4f 52 41 47 45 ...IOCTL_STORAGE 0f60: 5f 52 45 53 45 52 56 45 20 20 20 20 20 20 20 20 _RESERVE 0f70: 20 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f = CTL_CO 0f80: 44 45 5f 54 21 28 49 4f 43 54 4c 5f 53 54 4f 52 DE_T!(IOCTL_STOR 0f90: 41 47 45 5f 42 41 53 45 2c 20 30 78 30 32 30 34 AGE_BASE, 0x0204 0fa0: 2c 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 45 , METHOD_BUFFERE 0fb0: 44 2c 20 46 49 4c 45 5f 52 45 41 44 5f 41 43 43 D, FILE_READ_ACC 0fc0: 45 53 53 29 2c 0d 0a 09 49 4f 43 54 4c 5f 53 54 ESS),...IOCTL_ST 0fd0: 4f 52 41 47 45 5f 52 45 4c 45 41 53 45 20 20 20 ORAGE_RELEASE 0fe0: 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 43 = C 0ff0: 54 4c 5f 43 4f 44 45 5f 54 21 28 49 4f 43 54 4c TL_CODE_T!(IOCTL 1000: 5f 53 54 4f 52 41 47 45 5f 42 41 53 45 2c 20 30 _STORAGE_BASE, 0 1010: 78 30 32 30 35 2c 20 4d 45 54 48 4f 44 5f 42 55 x0205, METHOD_BU 1020: 46 46 45 52 45 44 2c 20 46 49 4c 45 5f 52 45 41 FFERED, FILE_REA 1030: 44 5f 41 43 43 45 53 53 29 2c 0d 0a 09 49 4f 43 D_ACCESS),...IOC 1040: 54 4c 5f 53 54 4f 52 41 47 45 5f 46 49 4e 44 5f TL_STORAGE_FIND_ 1050: 4e 45 57 5f 44 45 56 49 43 45 53 20 20 20 20 20 NEW_DEVICES 1060: 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 = CTL_CODE_T!( 1070: 49 4f 43 54 4c 5f 53 54 4f 52 41 47 45 5f 42 41 IOCTL_STORAGE_BA 1080: 53 45 2c 20 30 78 30 32 30 36 2c 20 4d 45 54 48 SE, 0x0206, METH 1090: 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 4c OD_BUFFERED, FIL 10a0: 45 5f 52 45 41 44 5f 41 43 43 45 53 53 29 2c 0d E_READ_ACCESS),. 10b0: 0a 09 49 4f 43 54 4c 5f 53 54 4f 52 41 47 45 5f ..IOCTL_STORAGE_ 10c0: 45 4a 45 43 54 49 4f 4e 5f 43 4f 4e 54 52 4f 4c EJECTION_CONTROL 10d0: 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 = CTL_COD 10e0: 45 5f 54 21 28 49 4f 43 54 4c 5f 53 54 4f 52 41 E_T!(IOCTL_STORA 10f0: 47 45 5f 42 41 53 45 2c 20 30 78 30 32 35 30 2c GE_BASE, 0x0250, 1100: 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 45 44 METHOD_BUFFERED 1110: 2c 20 46 49 4c 45 5f 41 4e 59 5f 41 43 43 45 53 , FILE_ANY_ACCES 1120: 53 29 2c 0d 0a 09 49 4f 43 54 4c 5f 53 54 4f 52 S),...IOCTL_STOR 1130: 41 47 45 5f 4d 43 4e 5f 43 4f 4e 54 52 4f 4c 20 AGE_MCN_CONTROL 1140: 20 20 20 20 20 20 20 20 20 20 20 3d 20 43 54 4c = CTL 1150: 5f 43 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f 53 _CODE_T!(IOCTL_S 1160: 54 4f 52 41 47 45 5f 42 41 53 45 2c 20 30 78 30 TORAGE_BASE, 0x0 1170: 32 35 31 2c 20 4d 45 54 48 4f 44 5f 42 55 46 46 251, METHOD_BUFF 1180: 45 52 45 44 2c 20 46 49 4c 45 5f 41 4e 59 5f 41 ERED, FILE_ANY_A 1190: 43 43 45 53 53 29 2c 0d 0a 09 49 4f 43 54 4c 5f CCESS),...IOCTL_ 11a0: 53 54 4f 52 41 47 45 5f 47 45 54 5f 4d 45 44 49 STORAGE_GET_MEDI 11b0: 41 5f 54 59 50 45 53 20 20 20 20 20 20 20 20 3d A_TYPES = 11c0: 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 49 4f 43 CTL_CODE_T!(IOC 11d0: 54 4c 5f 53 54 4f 52 41 47 45 5f 42 41 53 45 2c TL_STORAGE_BASE, 11e0: 20 30 78 30 33 30 30 2c 20 4d 45 54 48 4f 44 5f 0x0300, METHOD_ 11f0: 42 55 46 46 45 52 45 44 2c 20 46 49 4c 45 5f 41 BUFFERED, FILE_A 1200: 4e 59 5f 41 43 43 45 53 53 29 2c 0d 0a 09 49 4f NY_ACCESS),...IO 1210: 43 54 4c 5f 53 54 4f 52 41 47 45 5f 47 45 54 5f CTL_STORAGE_GET_ 1220: 4d 45 44 49 41 5f 54 59 50 45 53 5f 45 58 20 20 MEDIA_TYPES_EX 1230: 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 = CTL_CODE_T! 1240: 28 49 4f 43 54 4c 5f 53 54 4f 52 41 47 45 5f 42 (IOCTL_STORAGE_B 1250: 41 53 45 2c 20 30 78 30 33 30 31 2c 20 4d 45 54 ASE, 0x0301, MET 1260: 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 HOD_BUFFERED, FI 1270: 4c 45 5f 41 4e 59 5f 41 43 43 45 53 53 29 2c 0d LE_ANY_ACCESS),. 1280: 0a 09 49 4f 43 54 4c 5f 53 54 4f 52 41 47 45 5f ..IOCTL_STORAGE_ 1290: 52 45 53 45 54 5f 42 55 53 20 20 20 20 20 20 20 RESET_BUS 12a0: 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 = CTL_COD 12b0: 45 5f 54 21 28 49 4f 43 54 4c 5f 53 54 4f 52 41 E_T!(IOCTL_STORA 12c0: 47 45 5f 42 41 53 45 2c 20 30 78 30 34 30 30 2c GE_BASE, 0x0400, 12d0: 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 45 44 METHOD_BUFFERED 12e0: 2c 20 46 49 4c 45 5f 52 45 41 44 5f 41 43 43 45 , FILE_READ_ACCE 12f0: 53 53 29 2c 0d 0a 09 49 4f 43 54 4c 5f 53 54 4f SS),...IOCTL_STO 1300: 52 41 47 45 5f 52 45 53 45 54 5f 44 45 56 49 43 RAGE_RESET_DEVIC 1310: 45 20 20 20 20 20 20 20 20 20 20 20 3d 20 43 54 E = CT 1320: 4c 5f 43 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f L_CODE_T!(IOCTL_ 1330: 53 54 4f 52 41 47 45 5f 42 41 53 45 2c 20 30 78 STORAGE_BASE, 0x 1340: 30 34 30 31 2c 20 4d 45 54 48 4f 44 5f 42 55 46 0401, METHOD_BUF 1350: 46 45 52 45 44 2c 20 46 49 4c 45 5f 52 45 41 44 FERED, FILE_READ 1360: 5f 41 43 43 45 53 53 29 2c 0d 0a 09 49 4f 43 54 _ACCESS),...IOCT 1370: 4c 5f 53 54 4f 52 41 47 45 5f 47 45 54 5f 44 45 L_STORAGE_GET_DE 1380: 56 49 43 45 5f 4e 55 4d 42 45 52 20 20 20 20 20 VICE_NUMBER 1390: 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 49 = CTL_CODE_T!(I 13a0: 4f 43 54 4c 5f 53 54 4f 52 41 47 45 5f 42 41 53 OCTL_STORAGE_BAS 13b0: 45 2c 20 30 78 30 34 32 30 2c 20 4d 45 54 48 4f E, 0x0420, METHO 13c0: 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 4c 45 D_BUFFERED, FILE 13d0: 5f 41 4e 59 5f 41 43 43 45 53 53 29 2c 0d 0a 09 _ANY_ACCESS),... 13e0: 49 4f 43 54 4c 5f 53 54 4f 52 41 47 45 5f 50 52 IOCTL_STORAGE_PR 13f0: 45 44 49 43 54 5f 46 41 49 4c 55 52 45 20 20 20 EDICT_FAILURE 1400: 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f = CTL_CODE_ 1410: 54 21 28 49 4f 43 54 4c 5f 53 54 4f 52 41 47 45 T!(IOCTL_STORAGE 1420: 5f 42 41 53 45 2c 20 30 78 30 34 34 30 2c 20 4d _BASE, 0x0440, M 1430: 45 54 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 ETHOD_BUFFERED, 1440: 46 49 4c 45 5f 41 4e 59 5f 41 43 43 45 53 53 29 FILE_ANY_ACCESS) 1450: 2c 0d 0a 0d 0a 09 49 4f 43 54 4c 5f 44 49 53 4b ,.....IOCTL_DISK 1460: 5f 47 45 54 5f 44 52 49 56 45 5f 47 45 4f 4d 45 _GET_DRIVE_GEOME 1470: 54 52 59 20 20 20 20 20 20 20 20 3d 20 43 54 4c TRY = CTL 1480: 5f 43 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f 44 _CODE_T!(IOCTL_D 1490: 49 53 4b 5f 42 41 53 45 2c 20 30 2c 20 4d 45 54 ISK_BASE, 0, MET 14a0: 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 HOD_BUFFERED, FI 14b0: 4c 45 5f 41 4e 59 5f 41 43 43 45 53 53 29 2c 0d LE_ANY_ACCESS),. 14c0: 0a 09 49 4f 43 54 4c 5f 44 49 53 4b 5f 47 45 54 ..IOCTL_DISK_GET 14d0: 5f 50 41 52 54 49 54 49 4f 4e 5f 49 4e 46 4f 20 _PARTITION_INFO 14e0: 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 = CTL_COD 14f0: 45 5f 54 21 28 49 4f 43 54 4c 5f 44 49 53 4b 5f E_T!(IOCTL_DISK_ 1500: 42 41 53 45 2c 20 31 2c 20 4d 45 54 48 4f 44 5f BASE, 1, METHOD_ 1510: 42 55 46 46 45 52 45 44 2c 20 46 49 4c 45 5f 52 BUFFERED, FILE_R 1520: 45 41 44 5f 41 43 43 45 53 53 29 2c 0d 0a 09 49 EAD_ACCESS),...I 1530: 4f 43 54 4c 5f 44 49 53 4b 5f 53 45 54 5f 50 41 OCTL_DISK_SET_PA 1540: 52 54 49 54 49 4f 4e 5f 49 4e 46 4f 20 20 20 20 RTITION_INFO 1550: 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 = CTL_CODE_T 1560: 21 28 49 4f 43 54 4c 5f 44 49 53 4b 5f 42 41 53 !(IOCTL_DISK_BAS 1570: 45 2c 20 32 2c 20 4d 45 54 48 4f 44 5f 42 55 46 E, 2, METHOD_BUF 1580: 46 45 52 45 44 2c 20 46 49 4c 45 5f 52 45 41 44 FERED, FILE_READ 1590: 5f 41 43 43 45 53 53 7c 46 49 4c 45 5f 57 52 49 _ACCESS|FILE_WRI 15a0: 54 45 5f 41 43 43 45 53 53 29 2c 0d 0a 09 49 4f TE_ACCESS),...IO 15b0: 43 54 4c 5f 44 49 53 4b 5f 47 45 54 5f 44 52 49 CTL_DISK_GET_DRI 15c0: 56 45 5f 4c 41 59 4f 55 54 20 20 20 20 20 20 20 VE_LAYOUT 15d0: 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 = CTL_CODE_T! 15e0: 28 49 4f 43 54 4c 5f 44 49 53 4b 5f 42 41 53 45 (IOCTL_DISK_BASE 15f0: 2c 20 33 2c 20 4d 45 54 48 4f 44 5f 42 55 46 46 , 3, METHOD_BUFF 1600: 45 52 45 44 2c 20 46 49 4c 45 5f 52 45 41 44 5f ERED, FILE_READ_ 1610: 41 43 43 45 53 53 29 2c 0d 0a 09 49 4f 43 54 4c ACCESS),...IOCTL 1620: 5f 44 49 53 4b 5f 53 45 54 5f 44 52 49 56 45 5f _DISK_SET_DRIVE_ 1630: 4c 41 59 4f 55 54 20 20 20 20 20 20 20 20 20 20 LAYOUT 1640: 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 49 4f = CTL_CODE_T!(IO 1650: 43 54 4c 5f 44 49 53 4b 5f 42 41 53 45 2c 20 34 CTL_DISK_BASE, 4 1660: 2c 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 45 , METHOD_BUFFERE 1670: 44 2c 20 46 49 4c 45 5f 52 45 41 44 5f 41 43 43 D, FILE_READ_ACC 1680: 45 53 53 7c 46 49 4c 45 5f 57 52 49 54 45 5f 41 ESS|FILE_WRITE_A 1690: 43 43 45 53 53 29 2c 0d 0a 09 49 4f 43 54 4c 5f CCESS),...IOCTL_ 16a0: 44 49 53 4b 5f 56 45 52 49 46 59 20 20 20 20 20 DISK_VERIFY 16b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d = 16c0: 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 49 4f 43 CTL_CODE_T!(IOC 16d0: 54 4c 5f 44 49 53 4b 5f 42 41 53 45 2c 20 35 2c TL_DISK_BASE, 5, 16e0: 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 45 44 METHOD_BUFFERED 16f0: 2c 20 46 49 4c 45 5f 41 4e 59 5f 41 43 43 45 53 , FILE_ANY_ACCES 1700: 53 29 2c 0d 0a 09 49 4f 43 54 4c 5f 44 49 53 4b S),...IOCTL_DISK 1710: 5f 46 4f 52 4d 41 54 5f 54 52 41 43 4b 53 20 20 _FORMAT_TRACKS 1720: 20 20 20 20 20 20 20 20 20 20 20 3d 20 43 54 4c = CTL 1730: 5f 43 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f 44 _CODE_T!(IOCTL_D 1740: 49 53 4b 5f 42 41 53 45 2c 20 36 2c 20 4d 45 54 ISK_BASE, 6, MET 1750: 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 HOD_BUFFERED, FI 1760: 4c 45 5f 52 45 41 44 5f 41 43 43 45 53 53 7c 46 LE_READ_ACCESS|F 1770: 49 4c 45 5f 57 52 49 54 45 5f 41 43 43 45 53 53 ILE_WRITE_ACCESS 1780: 29 2c 0d 0a 09 49 4f 43 54 4c 5f 44 49 53 4b 5f ),...IOCTL_DISK_ 1790: 52 45 41 53 53 49 47 4e 5f 42 4c 4f 43 4b 53 20 REASSIGN_BLOCKS 17a0: 20 20 20 20 20 20 20 20 20 20 3d 20 43 54 4c 5f = CTL_ 17b0: 43 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f 44 49 CODE_T!(IOCTL_DI 17c0: 53 4b 5f 42 41 53 45 2c 20 37 2c 20 4d 45 54 48 SK_BASE, 7, METH 17d0: 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 4c OD_BUFFERED, FIL 17e0: 45 5f 52 45 41 44 5f 41 43 43 45 53 53 7c 46 49 E_READ_ACCESS|FI 17f0: 4c 45 5f 57 52 49 54 45 5f 41 43 43 45 53 53 29 LE_WRITE_ACCESS) 1800: 2c 0d 0a 09 49 4f 43 54 4c 5f 44 49 53 4b 5f 50 ,...IOCTL_DISK_P 1810: 45 52 46 4f 52 4d 41 4e 43 45 20 20 20 20 20 20 ERFORMANCE 1820: 20 20 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 = CTL_C 1830: 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f 44 49 53 ODE_T!(IOCTL_DIS 1840: 4b 5f 42 41 53 45 2c 20 38 2c 20 4d 45 54 48 4f K_BASE, 8, METHO 1850: 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 4c 45 D_BUFFERED, FILE 1860: 5f 41 4e 59 5f 41 43 43 45 53 53 29 2c 0d 0a 09 _ANY_ACCESS),... 1870: 49 4f 43 54 4c 5f 44 49 53 4b 5f 49 53 5f 57 52 IOCTL_DISK_IS_WR 1880: 49 54 41 42 4c 45 20 20 20 20 20 20 20 20 20 20 ITABLE 1890: 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f = CTL_CODE_ 18a0: 54 21 28 49 4f 43 54 4c 5f 44 49 53 4b 5f 42 41 T!(IOCTL_DISK_BA 18b0: 53 45 2c 20 39 2c 20 4d 45 54 48 4f 44 5f 42 55 SE, 9, METHOD_BU 18c0: 46 46 45 52 45 44 2c 20 46 49 4c 45 5f 41 4e 59 FFERED, FILE_ANY 18d0: 5f 41 43 43 45 53 53 29 2c 0d 0a 09 49 4f 43 54 _ACCESS),...IOCT 18e0: 4c 5f 44 49 53 4b 5f 4c 4f 47 47 49 4e 47 20 20 L_DISK_LOGGING 18f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1900: 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 49 = CTL_CODE_T!(I 1910: 4f 43 54 4c 5f 44 49 53 4b 5f 42 41 53 45 2c 20 OCTL_DISK_BASE, 1920: 31 30 2c 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 10, METHOD_BUFFE 1930: 52 45 44 2c 20 46 49 4c 45 5f 41 4e 59 5f 41 43 RED, FILE_ANY_AC 1940: 43 45 53 53 29 2c 0d 0a 09 49 4f 43 54 4c 5f 44 CESS),...IOCTL_D 1950: 49 53 4b 5f 46 4f 52 4d 41 54 5f 54 52 41 43 4b ISK_FORMAT_TRACK 1960: 53 5f 45 58 20 20 20 20 20 20 20 20 20 20 3d 20 S_EX = 1970: 43 54 4c 5f 43 4f 44 45 5f 54 21 28 49 4f 43 54 CTL_CODE_T!(IOCT 1980: 4c 5f 44 49 53 4b 5f 42 41 53 45 2c 20 31 31 2c L_DISK_BASE, 11, 1990: 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 45 44 METHOD_BUFFERED 19a0: 2c 20 46 49 4c 45 5f 52 45 41 44 5f 41 43 43 45 , FILE_READ_ACCE 19b0: 53 53 7c 46 49 4c 45 5f 57 52 49 54 45 5f 41 43 SS|FILE_WRITE_AC 19c0: 43 45 53 53 29 2c 0d 0a 09 49 4f 43 54 4c 5f 44 CESS),...IOCTL_D 19d0: 49 53 4b 5f 48 49 53 54 4f 47 52 41 4d 5f 53 54 ISK_HISTOGRAM_ST 19e0: 52 55 43 54 55 52 45 20 20 20 20 20 20 20 3d 20 RUCTURE = 19f0: 43 54 4c 5f 43 4f 44 45 5f 54 21 28 49 4f 43 54 CTL_CODE_T!(IOCT 1a00: 4c 5f 44 49 53 4b 5f 42 41 53 45 2c 20 31 32 2c L_DISK_BASE, 12, 1a10: 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 45 44 METHOD_BUFFERED 1a20: 2c 20 46 49 4c 45 5f 41 4e 59 5f 41 43 43 45 53 , FILE_ANY_ACCES 1a30: 53 29 2c 0d 0a 09 49 4f 43 54 4c 5f 44 49 53 4b S),...IOCTL_DISK 1a40: 5f 48 49 53 54 4f 47 52 41 4d 5f 44 41 54 41 20 _HISTOGRAM_DATA 1a50: 20 20 20 20 20 20 20 20 20 20 20 3d 20 43 54 4c = CTL 1a60: 5f 43 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f 44 _CODE_T!(IOCTL_D 1a70: 49 53 4b 5f 42 41 53 45 2c 20 31 33 2c 20 4d 45 ISK_BASE, 13, ME 1a80: 54 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 THOD_BUFFERED, F 1a90: 49 4c 45 5f 41 4e 59 5f 41 43 43 45 53 53 29 2c ILE_ANY_ACCESS), 1aa0: 0d 0a 09 49 4f 43 54 4c 5f 44 49 53 4b 5f 48 49 ...IOCTL_DISK_HI 1ab0: 53 54 4f 47 52 41 4d 5f 52 45 53 45 54 20 20 20 STOGRAM_RESET 1ac0: 20 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f = CTL_CO 1ad0: 44 45 5f 54 21 28 49 4f 43 54 4c 5f 44 49 53 4b DE_T!(IOCTL_DISK 1ae0: 5f 42 41 53 45 2c 20 31 34 2c 20 4d 45 54 48 4f _BASE, 14, METHO 1af0: 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 4c 45 D_BUFFERED, FILE 1b00: 5f 41 4e 59 5f 41 43 43 45 53 53 29 2c 0d 0a 09 _ANY_ACCESS),... 1b10: 49 4f 43 54 4c 5f 44 49 53 4b 5f 52 45 51 55 45 IOCTL_DISK_REQUE 1b20: 53 54 5f 53 54 52 55 43 54 55 52 45 20 20 20 20 ST_STRUCTURE 1b30: 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f = CTL_CODE_ 1b40: 54 21 28 49 4f 43 54 4c 5f 44 49 53 4b 5f 42 41 T!(IOCTL_DISK_BA 1b50: 53 45 2c 20 31 35 2c 20 4d 45 54 48 4f 44 5f 42 SE, 15, METHOD_B 1b60: 55 46 46 45 52 45 44 2c 20 46 49 4c 45 5f 41 4e UFFERED, FILE_AN 1b70: 59 5f 41 43 43 45 53 53 29 2c 0d 0a 09 49 4f 43 Y_ACCESS),...IOC 1b80: 54 4c 5f 44 49 53 4b 5f 52 45 51 55 45 53 54 5f TL_DISK_REQUEST_ 1b90: 44 41 54 41 20 20 20 20 20 20 20 20 20 20 20 20 DATA 1ba0: 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 = CTL_CODE_T!( 1bb0: 49 4f 43 54 4c 5f 44 49 53 4b 5f 42 41 53 45 2c IOCTL_DISK_BASE, 1bc0: 20 31 36 2c 20 4d 45 54 48 4f 44 5f 42 55 46 46 16, METHOD_BUFF 1bd0: 45 52 45 44 2c 20 46 49 4c 45 5f 41 4e 59 5f 41 ERED, FILE_ANY_A 1be0: 43 43 45 53 53 29 2c 0d 0a 09 49 4f 43 54 4c 5f CCESS),...IOCTL_ 1bf0: 44 49 53 4b 5f 47 45 54 5f 50 41 52 54 49 54 49 DISK_GET_PARTITI 1c00: 4f 4e 5f 49 4e 46 4f 5f 45 58 20 20 20 20 20 3d ON_INFO_EX = 1c10: 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 49 4f 43 CTL_CODE_T!(IOC 1c20: 54 4c 5f 44 49 53 4b 5f 42 41 53 45 2c 20 30 78 TL_DISK_BASE, 0x 1c30: 31 32 2c 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 12, METHOD_BUFFE 1c40: 52 45 44 2c 20 46 49 4c 45 5f 41 4e 59 5f 41 43 RED, FILE_ANY_AC 1c50: 43 45 53 53 29 2c 0d 0a 09 49 4f 43 54 4c 5f 44 CESS),...IOCTL_D 1c60: 49 53 4b 5f 53 45 54 5f 50 41 52 54 49 54 49 4f ISK_SET_PARTITIO 1c70: 4e 5f 49 4e 46 4f 5f 45 58 20 20 20 20 20 3d 20 N_INFO_EX = 1c80: 43 54 4c 5f 43 4f 44 45 5f 54 21 28 49 4f 43 54 CTL_CODE_T!(IOCT 1c90: 4c 5f 44 49 53 4b 5f 42 41 53 45 2c 20 30 78 31 L_DISK_BASE, 0x1 1ca0: 33 2c 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 3, METHOD_BUFFER 1cb0: 45 44 2c 20 46 49 4c 45 5f 52 45 41 44 5f 41 43 ED, FILE_READ_AC 1cc0: 43 45 53 53 20 7c 20 46 49 4c 45 5f 57 52 49 54 CESS | FILE_WRIT 1cd0: 45 5f 41 43 43 45 53 53 29 2c 0d 0a 09 49 4f 43 E_ACCESS),...IOC 1ce0: 54 4c 5f 44 49 53 4b 5f 47 45 54 5f 44 52 49 56 TL_DISK_GET_DRIV 1cf0: 45 5f 4c 41 59 4f 55 54 5f 45 58 20 20 20 20 20 E_LAYOUT_EX 1d00: 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 = CTL_CODE_T!( 1d10: 49 4f 43 54 4c 5f 44 49 53 4b 5f 42 41 53 45 2c IOCTL_DISK_BASE, 1d20: 20 30 78 31 34 2c 20 4d 45 54 48 4f 44 5f 42 55 0x14, METHOD_BU 1d30: 46 46 45 52 45 44 2c 20 46 49 4c 45 5f 41 4e 59 FFERED, FILE_ANY 1d40: 5f 41 43 43 45 53 53 29 2c 0d 0a 09 49 4f 43 54 _ACCESS),...IOCT 1d50: 4c 5f 44 49 53 4b 5f 53 45 54 5f 44 52 49 56 45 L_DISK_SET_DRIVE 1d60: 5f 4c 41 59 4f 55 54 5f 45 58 20 20 20 20 20 20 _LAYOUT_EX 1d70: 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 49 = CTL_CODE_T!(I 1d80: 4f 43 54 4c 5f 44 49 53 4b 5f 42 41 53 45 2c 20 OCTL_DISK_BASE, 1d90: 30 78 31 35 2c 20 4d 45 54 48 4f 44 5f 42 55 46 0x15, METHOD_BUF 1da0: 46 45 52 45 44 2c 20 46 49 4c 45 5f 52 45 41 44 FERED, FILE_READ 1db0: 5f 41 43 43 45 53 53 20 7c 20 46 49 4c 45 5f 57 _ACCESS | FILE_W 1dc0: 52 49 54 45 5f 41 43 43 45 53 53 29 2c 0d 0a 09 RITE_ACCESS),... 1dd0: 49 4f 43 54 4c 5f 44 49 53 4b 5f 43 52 45 41 54 IOCTL_DISK_CREAT 1de0: 45 5f 44 49 53 4b 20 20 20 20 20 20 20 20 20 20 E_DISK 1df0: 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f = CTL_CODE_ 1e00: 54 21 28 49 4f 43 54 4c 5f 44 49 53 4b 5f 42 41 T!(IOCTL_DISK_BA 1e10: 53 45 2c 20 30 78 31 36 2c 20 4d 45 54 48 4f 44 SE, 0x16, METHOD 1e20: 5f 42 55 46 46 45 52 45 44 2c 20 46 49 4c 45 5f _BUFFERED, FILE_ 1e30: 52 45 41 44 5f 41 43 43 45 53 53 20 7c 20 46 49 READ_ACCESS | FI 1e40: 4c 45 5f 57 52 49 54 45 5f 41 43 43 45 53 53 29 LE_WRITE_ACCESS) 1e50: 2c 0d 0a 09 49 4f 43 54 4c 5f 44 49 53 4b 5f 47 ,...IOCTL_DISK_G 1e60: 45 54 5f 4c 45 4e 47 54 48 5f 49 4e 46 4f 20 20 ET_LENGTH_INFO 1e70: 20 20 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 = CTL_C 1e80: 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f 44 49 53 ODE_T!(IOCTL_DIS 1e90: 4b 5f 42 41 53 45 2c 20 30 78 31 37 2c 20 4d 45 K_BASE, 0x17, ME 1ea0: 54 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 THOD_BUFFERED, F 1eb0: 49 4c 45 5f 52 45 41 44 5f 41 43 43 45 53 53 29 ILE_READ_ACCESS) 1ec0: 2c 0d 0a 09 49 4f 43 54 4c 5f 44 49 53 4b 5f 50 ,...IOCTL_DISK_P 1ed0: 45 52 46 4f 52 4d 41 4e 43 45 5f 4f 46 46 20 20 ERFORMANCE_OFF 1ee0: 20 20 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 = CTL_C 1ef0: 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f 44 49 53 ODE_T!(IOCTL_DIS 1f00: 4b 5f 42 41 53 45 2c 20 30 78 31 38 2c 20 4d 45 K_BASE, 0x18, ME 1f10: 54 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 THOD_BUFFERED, F 1f20: 49 4c 45 5f 41 4e 59 5f 41 43 43 45 53 53 29 2c ILE_ANY_ACCESS), 1f30: 0d 0a 09 49 4f 43 54 4c 5f 44 49 53 4b 5f 47 45 ...IOCTL_DISK_GE 1f40: 54 5f 44 52 49 56 45 5f 47 45 4f 4d 45 54 52 59 T_DRIVE_GEOMETRY 1f50: 5f 45 58 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f _EX = CTL_CO 1f60: 44 45 5f 54 21 28 49 4f 43 54 4c 5f 44 49 53 4b DE_T!(IOCTL_DISK 1f70: 5f 42 41 53 45 2c 20 30 78 32 38 2c 20 4d 45 54 _BASE, 0x28, MET 1f80: 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 HOD_BUFFERED, FI 1f90: 4c 45 5f 41 4e 59 5f 41 43 43 45 53 53 29 2c 0d LE_ANY_ACCESS),. 1fa0: 0a 09 49 4f 43 54 4c 5f 44 49 53 4b 5f 47 52 4f ..IOCTL_DISK_GRO 1fb0: 57 5f 50 41 52 54 49 54 49 4f 4e 20 20 20 20 20 W_PARTITION 1fc0: 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 = CTL_COD 1fd0: 45 5f 54 21 28 49 4f 43 54 4c 5f 44 49 53 4b 5f E_T!(IOCTL_DISK_ 1fe0: 42 41 53 45 2c 20 30 78 33 34 2c 20 4d 45 54 48 BASE, 0x34, METH 1ff0: 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 4c OD_BUFFERED, FIL 2000: 45 5f 52 45 41 44 5f 41 43 43 45 53 53 20 7c 20 E_READ_ACCESS | 2010: 46 49 4c 45 5f 57 52 49 54 45 5f 41 43 43 45 53 FILE_WRITE_ACCES 2020: 53 29 2c 0d 0a 09 49 4f 43 54 4c 5f 44 49 53 4b S),...IOCTL_DISK 2030: 5f 47 45 54 5f 43 41 43 48 45 5f 49 4e 46 4f 52 _GET_CACHE_INFOR 2040: 4d 41 54 49 4f 4e 20 20 20 20 20 3d 20 43 54 4c MATION = CTL 2050: 5f 43 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f 44 _CODE_T!(IOCTL_D 2060: 49 53 4b 5f 42 41 53 45 2c 20 30 78 33 35 2c 20 ISK_BASE, 0x35, 2070: 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 45 44 2c METHOD_BUFFERED, 2080: 20 46 49 4c 45 5f 52 45 41 44 5f 41 43 43 45 53 FILE_READ_ACCES 2090: 53 29 2c 0d 0a 09 49 4f 43 54 4c 5f 44 49 53 4b S),...IOCTL_DISK 20a0: 5f 53 45 54 5f 43 41 43 48 45 5f 49 4e 46 4f 52 _SET_CACHE_INFOR 20b0: 4d 41 54 49 4f 4e 20 20 20 20 20 3d 20 43 54 4c MATION = CTL 20c0: 5f 43 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f 44 _CODE_T!(IOCTL_D 20d0: 49 53 4b 5f 42 41 53 45 2c 20 30 78 33 36 2c 20 ISK_BASE, 0x36, 20e0: 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 45 44 2c METHOD_BUFFERED, 20f0: 20 46 49 4c 45 5f 52 45 41 44 5f 41 43 43 45 53 FILE_READ_ACCES 2100: 53 20 7c 20 46 49 4c 45 5f 57 52 49 54 45 5f 41 S | FILE_WRITE_A 2110: 43 43 45 53 53 29 2c 0d 0a 09 49 4f 43 54 4c 5f CCESS),...IOCTL_ 2120: 44 49 53 4b 5f 44 45 4c 45 54 45 5f 44 52 49 56 DISK_DELETE_DRIV 2130: 45 5f 4c 41 59 4f 55 54 20 20 20 20 20 20 20 3d E_LAYOUT = 2140: 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 49 4f 43 CTL_CODE_T!(IOC 2150: 54 4c 5f 44 49 53 4b 5f 42 41 53 45 2c 20 30 78 TL_DISK_BASE, 0x 2160: 34 30 2c 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 40, METHOD_BUFFE 2170: 52 45 44 2c 20 46 49 4c 45 5f 52 45 41 44 5f 41 RED, FILE_READ_A 2180: 43 43 45 53 53 20 7c 20 46 49 4c 45 5f 57 52 49 CCESS | FILE_WRI 2190: 54 45 5f 41 43 43 45 53 53 29 2c 0d 0a 09 49 4f TE_ACCESS),...IO 21a0: 43 54 4c 5f 44 49 53 4b 5f 55 50 44 41 54 45 5f CTL_DISK_UPDATE_ 21b0: 50 52 4f 50 45 52 54 49 45 53 20 20 20 20 20 20 PROPERTIES 21c0: 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 = CTL_CODE_T! 21d0: 28 49 4f 43 54 4c 5f 44 49 53 4b 5f 42 41 53 45 (IOCTL_DISK_BASE 21e0: 2c 20 30 78 35 30 2c 20 4d 45 54 48 4f 44 5f 42 , 0x50, METHOD_B 21f0: 55 46 46 45 52 45 44 2c 20 46 49 4c 45 5f 41 4e UFFERED, FILE_AN 2200: 59 5f 41 43 43 45 53 53 29 2c 0d 0a 09 49 4f 43 Y_ACCESS),...IOC 2210: 54 4c 5f 44 49 53 4b 5f 43 48 45 43 4b 5f 56 45 TL_DISK_CHECK_VE 2220: 52 49 46 59 20 20 20 20 20 20 20 20 20 20 20 20 RIFY 2230: 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 = CTL_CODE_T!( 2240: 49 4f 43 54 4c 5f 44 49 53 4b 5f 42 41 53 45 2c IOCTL_DISK_BASE, 2250: 20 30 78 32 30 30 2c 20 4d 45 54 48 4f 44 5f 42 0x200, METHOD_B 2260: 55 46 46 45 52 45 44 2c 20 46 49 4c 45 5f 52 45 UFFERED, FILE_RE 2270: 41 44 5f 41 43 43 45 53 53 29 2c 0d 0a 09 49 4f AD_ACCESS),...IO 2280: 43 54 4c 5f 44 49 53 4b 5f 4d 45 44 49 41 5f 52 CTL_DISK_MEDIA_R 2290: 45 4d 4f 56 41 4c 20 20 20 20 20 20 20 20 20 20 EMOVAL 22a0: 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 = CTL_CODE_T! 22b0: 28 49 4f 43 54 4c 5f 44 49 53 4b 5f 42 41 53 45 (IOCTL_DISK_BASE 22c0: 2c 20 30 78 32 30 31 2c 20 4d 45 54 48 4f 44 5f , 0x201, METHOD_ 22d0: 42 55 46 46 45 52 45 44 2c 20 46 49 4c 45 5f 52 BUFFERED, FILE_R 22e0: 45 41 44 5f 41 43 43 45 53 53 29 2c 0d 0a 09 49 EAD_ACCESS),...I 22f0: 4f 43 54 4c 5f 44 49 53 4b 5f 45 4a 45 43 54 5f OCTL_DISK_EJECT_ 2300: 4d 45 44 49 41 20 20 20 20 20 20 20 20 20 20 20 MEDIA 2310: 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 = CTL_CODE_T 2320: 21 28 49 4f 43 54 4c 5f 44 49 53 4b 5f 42 41 53 !(IOCTL_DISK_BAS 2330: 45 2c 20 30 78 32 30 32 2c 20 4d 45 54 48 4f 44 E, 0x202, METHOD 2340: 5f 42 55 46 46 45 52 45 44 2c 20 46 49 4c 45 5f _BUFFERED, FILE_ 2350: 52 45 41 44 5f 41 43 43 45 53 53 29 2c 0d 0a 09 READ_ACCESS),... 2360: 49 4f 43 54 4c 5f 44 49 53 4b 5f 4c 4f 41 44 5f IOCTL_DISK_LOAD_ 2370: 4d 45 44 49 41 20 20 20 20 20 20 20 20 20 20 20 MEDIA 2380: 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f = CTL_CODE_ 2390: 54 21 28 49 4f 43 54 4c 5f 44 49 53 4b 5f 42 41 T!(IOCTL_DISK_BA 23a0: 53 45 2c 20 30 78 32 30 33 2c 20 4d 45 54 48 4f SE, 0x203, METHO 23b0: 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 4c 45 D_BUFFERED, FILE 23c0: 5f 52 45 41 44 5f 41 43 43 45 53 53 29 2c 0d 0a _READ_ACCESS),.. 23d0: 09 49 4f 43 54 4c 5f 44 49 53 4b 5f 52 45 53 45 .IOCTL_DISK_RESE 23e0: 52 56 45 20 20 20 20 20 20 20 20 20 20 20 20 20 RVE 23f0: 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 = CTL_CODE 2400: 5f 54 21 28 49 4f 43 54 4c 5f 44 49 53 4b 5f 42 _T!(IOCTL_DISK_B 2410: 41 53 45 2c 20 30 78 32 30 34 2c 20 4d 45 54 48 ASE, 0x204, METH 2420: 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 4c OD_BUFFERED, FIL 2430: 45 5f 52 45 41 44 5f 41 43 43 45 53 53 29 2c 0d E_READ_ACCESS),. 2440: 0a 09 49 4f 43 54 4c 5f 44 49 53 4b 5f 52 45 4c ..IOCTL_DISK_REL 2450: 45 41 53 45 20 20 20 20 20 20 20 20 20 20 20 20 EASE 2460: 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 = CTL_COD 2470: 45 5f 54 21 28 49 4f 43 54 4c 5f 44 49 53 4b 5f E_T!(IOCTL_DISK_ 2480: 42 41 53 45 2c 20 30 78 32 30 35 2c 20 4d 45 54 BASE, 0x205, MET 2490: 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 HOD_BUFFERED, FI 24a0: 4c 45 5f 52 45 41 44 5f 41 43 43 45 53 53 29 2c LE_READ_ACCESS), 24b0: 0d 0a 09 49 4f 43 54 4c 5f 44 49 53 4b 5f 46 49 ...IOCTL_DISK_FI 24c0: 4e 44 5f 4e 45 57 5f 44 45 56 49 43 45 53 20 20 ND_NEW_DEVICES 24d0: 20 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f = CTL_CO 24e0: 44 45 5f 54 21 28 49 4f 43 54 4c 5f 44 49 53 4b DE_T!(IOCTL_DISK 24f0: 5f 42 41 53 45 2c 20 30 78 32 30 36 2c 20 4d 45 _BASE, 0x206, ME 2500: 54 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 THOD_BUFFERED, F 2510: 49 4c 45 5f 52 45 41 44 5f 41 43 43 45 53 53 29 ILE_READ_ACCESS) 2520: 2c 0d 0a 09 49 4f 43 54 4c 5f 44 49 53 4b 5f 52 ,...IOCTL_DISK_R 2530: 45 4d 4f 56 45 5f 44 45 56 49 43 45 20 20 20 20 EMOVE_DEVICE 2540: 20 20 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 = CTL_C 2550: 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f 44 49 53 ODE_T!(IOCTL_DIS 2560: 4b 5f 42 41 53 45 2c 20 30 78 32 30 37 2c 20 4d K_BASE, 0x207, M 2570: 45 54 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 ETHOD_BUFFERED, 2580: 46 49 4c 45 5f 52 45 41 44 5f 41 43 43 45 53 53 FILE_READ_ACCESS 2590: 29 2c 0d 0a 09 49 4f 43 54 4c 5f 44 49 53 4b 5f ),...IOCTL_DISK_ 25a0: 47 45 54 5f 4d 45 44 49 41 5f 54 59 50 45 53 20 GET_MEDIA_TYPES 25b0: 20 20 20 20 20 20 20 20 20 20 3d 20 43 54 4c 5f = CTL_ 25c0: 43 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f 44 49 CODE_T!(IOCTL_DI 25d0: 53 4b 5f 42 41 53 45 2c 20 30 78 33 30 30 2c 20 SK_BASE, 0x300, 25e0: 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 45 44 2c METHOD_BUFFERED, 25f0: 20 46 49 4c 45 5f 41 4e 59 5f 41 43 43 45 53 53 FILE_ANY_ACCESS 2600: 29 2c 0d 0a 09 49 4f 43 54 4c 5f 44 49 53 4b 5f ),...IOCTL_DISK_ 2610: 55 50 44 41 54 45 5f 44 52 49 56 45 5f 53 49 5a UPDATE_DRIVE_SIZ 2620: 45 20 20 20 20 20 20 20 20 20 3d 20 43 54 4c 5f E = CTL_ 2630: 43 4f 44 45 5f 54 21 28 49 4f 43 54 4c 5f 44 49 CODE_T!(IOCTL_DI 2640: 53 4b 5f 42 41 53 45 2c 20 30 78 30 30 33 32 2c SK_BASE, 0x0032, 2650: 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 45 44 METHOD_BUFFERED 2660: 2c 20 46 49 4c 45 5f 52 45 41 44 5f 41 43 43 45 , FILE_READ_ACCE 2670: 53 53 20 7c 20 46 49 4c 45 5f 57 52 49 54 45 5f SS | FILE_WRITE_ 2680: 41 43 43 45 53 53 29 2c 0d 0a 09 49 4f 43 54 4c ACCESS),...IOCTL 2690: 5f 53 45 52 49 41 4c 5f 4c 53 52 4d 53 54 5f 49 _SERIAL_LSRMST_I 26a0: 4e 53 45 52 54 20 20 20 20 20 20 20 20 20 20 20 NSERT 26b0: 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 46 49 = CTL_CODE_T!(FI 26c0: 4c 45 5f 44 45 56 49 43 45 5f 53 45 52 49 41 4c LE_DEVICE_SERIAL 26d0: 5f 50 4f 52 54 2c 20 33 31 2c 20 4d 45 54 48 4f _PORT, 31, METHO 26e0: 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 4c 45 D_BUFFERED, FILE 26f0: 5f 41 4e 59 5f 41 43 43 45 53 53 29 2c 0d 0a 0d _ANY_ACCESS),... 2700: 0a 09 49 4f 43 54 4c 5f 56 4f 4c 55 4d 45 5f 47 ..IOCTL_VOLUME_G 2710: 45 54 5f 56 4f 4c 55 4d 45 5f 44 49 53 4b 5f 45 ET_VOLUME_DISK_E 2720: 58 54 45 4e 54 53 20 3d 20 43 54 4c 5f 43 4f 44 XTENTS = CTL_COD 2730: 45 5f 54 21 28 49 4f 43 54 4c 5f 56 4f 4c 55 4d E_T!(IOCTL_VOLUM 2740: 45 5f 42 41 53 45 2c 20 30 2c 20 4d 45 54 48 4f E_BASE, 0, METHO 2750: 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 4c 45 D_BUFFERED, FILE 2760: 5f 41 4e 59 5f 41 43 43 45 53 53 29 2c 0d 0a 09 _ANY_ACCESS),... 2770: 49 4f 43 54 4c 5f 56 4f 4c 55 4d 45 5f 49 53 5f IOCTL_VOLUME_IS_ 2780: 43 4c 55 53 54 45 52 45 44 20 20 20 20 20 20 20 CLUSTERED 2790: 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f = CTL_CODE_ 27a0: 54 21 28 49 4f 43 54 4c 5f 56 4f 4c 55 4d 45 5f T!(IOCTL_VOLUME_ 27b0: 42 41 53 45 2c 20 31 32 2c 20 4d 45 54 48 4f 44 BASE, 12, METHOD 27c0: 5f 42 55 46 46 45 52 45 44 2c 20 46 49 4c 45 5f _BUFFERED, FILE_ 27d0: 41 4e 59 5f 41 43 43 45 53 53 29 2c 0d 0a 0d 0a ANY_ACCESS),.... 27e0: 09 46 53 43 54 4c 5f 4c 4f 43 4b 5f 56 4f 4c 55 .FSCTL_LOCK_VOLU 27f0: 4d 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ME 2800: 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 = CTL_CODE 2810: 5f 54 21 28 46 49 4c 45 5f 44 45 56 49 43 45 5f _T!(FILE_DEVICE_ 2820: 46 49 4c 45 5f 53 59 53 54 45 4d 2c 20 36 2c 20 FILE_SYSTEM, 6, 2830: 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 45 44 2c METHOD_BUFFERED, 2840: 20 46 49 4c 45 5f 41 4e 59 5f 41 43 43 45 53 53 FILE_ANY_ACCESS 2850: 29 2c 0d 0a 09 46 53 43 54 4c 5f 55 4e 4c 4f 43 ),...FSCTL_UNLOC 2860: 4b 5f 56 4f 4c 55 4d 45 20 20 20 20 20 20 20 20 K_VOLUME 2870: 20 20 20 20 20 20 20 20 20 20 3d 20 43 54 4c 5f = CTL_ 2880: 43 4f 44 45 5f 54 21 28 46 49 4c 45 5f 44 45 56 CODE_T!(FILE_DEV 2890: 49 43 45 5f 46 49 4c 45 5f 53 59 53 54 45 4d 2c ICE_FILE_SYSTEM, 28a0: 20 37 2c 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 7, METHOD_BUFFE 28b0: 52 45 44 2c 20 46 49 4c 45 5f 41 4e 59 5f 41 43 RED, FILE_ANY_AC 28c0: 43 45 53 53 29 2c 0d 0a 09 46 53 43 54 4c 5f 44 CESS),...FSCTL_D 28d0: 49 53 4d 4f 55 4e 54 5f 56 4f 4c 55 4d 45 20 20 ISMOUNT_VOLUME 28e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 = 28f0: 43 54 4c 5f 43 4f 44 45 5f 54 21 28 46 49 4c 45 CTL_CODE_T!(FILE 2900: 5f 44 45 56 49 43 45 5f 46 49 4c 45 5f 53 59 53 _DEVICE_FILE_SYS 2910: 54 45 4d 2c 20 38 2c 20 4d 45 54 48 4f 44 5f 42 TEM, 8, METHOD_B 2920: 55 46 46 45 52 45 44 2c 20 46 49 4c 45 5f 41 4e UFFERED, FILE_AN 2930: 59 5f 41 43 43 45 53 53 29 2c 0d 0a 09 46 53 43 Y_ACCESS),...FSC 2940: 54 4c 5f 4d 4f 55 4e 54 5f 44 42 4c 53 5f 56 4f TL_MOUNT_DBLS_VO 2950: 4c 55 4d 45 20 20 20 20 20 20 20 20 20 20 20 20 LUME 2960: 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 = CTL_CODE_T!( 2970: 46 49 4c 45 5f 44 45 56 49 43 45 5f 46 49 4c 45 FILE_DEVICE_FILE 2980: 5f 53 59 53 54 45 4d 2c 20 31 33 2c 20 4d 45 54 _SYSTEM, 13, MET 2990: 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 49 HOD_BUFFERED, FI 29a0: 4c 45 5f 41 4e 59 5f 41 43 43 45 53 53 29 2c 0d LE_ANY_ACCESS),. 29b0: 0a 09 46 53 43 54 4c 5f 47 45 54 5f 43 4f 4d 50 ..FSCTL_GET_COMP 29c0: 52 45 53 53 49 4f 4e 20 20 20 20 20 20 20 20 20 RESSION 29d0: 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 = CTL_COD 29e0: 45 5f 54 21 28 46 49 4c 45 5f 44 45 56 49 43 45 E_T!(FILE_DEVICE 29f0: 5f 46 49 4c 45 5f 53 59 53 54 45 4d 2c 20 31 35 _FILE_SYSTEM, 15 2a00: 2c 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 45 , METHOD_BUFFERE 2a10: 44 2c 20 46 49 4c 45 5f 41 4e 59 5f 41 43 43 45 D, FILE_ANY_ACCE 2a20: 53 53 29 2c 0d 0a 09 46 53 43 54 4c 5f 53 45 54 SS),...FSCTL_SET 2a30: 5f 43 4f 4d 50 52 45 53 53 49 4f 4e 20 20 20 20 _COMPRESSION 2a40: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 43 54 = CT 2a50: 4c 5f 43 4f 44 45 5f 54 21 28 46 49 4c 45 5f 44 L_CODE_T!(FILE_D 2a60: 45 56 49 43 45 5f 46 49 4c 45 5f 53 59 53 54 45 EVICE_FILE_SYSTE 2a70: 4d 2c 20 31 36 2c 20 4d 45 54 48 4f 44 5f 42 55 M, 16, METHOD_BU 2a80: 46 46 45 52 45 44 2c 20 46 49 4c 45 5f 52 45 41 FFERED, FILE_REA 2a90: 44 5f 44 41 54 41 7c 46 49 4c 45 5f 57 52 49 54 D_DATA|FILE_WRIT 2aa0: 45 5f 44 41 54 41 29 2c 0d 0a 09 46 53 43 54 4c E_DATA),...FSCTL 2ab0: 5f 52 45 41 44 5f 43 4f 4d 50 52 45 53 53 49 4f _READ_COMPRESSIO 2ac0: 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 N 2ad0: 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 46 49 = CTL_CODE_T!(FI 2ae0: 4c 45 5f 44 45 56 49 43 45 5f 46 49 4c 45 5f 53 LE_DEVICE_FILE_S 2af0: 59 53 54 45 4d 2c 20 31 37 2c 20 4d 45 54 48 4f YSTEM, 17, METHO 2b00: 44 5f 4e 45 49 54 48 45 52 2c 20 46 49 4c 45 5f D_NEITHER, FILE_ 2b10: 52 45 41 44 5f 44 41 54 41 29 2c 0d 0a 09 46 53 READ_DATA),...FS 2b20: 43 54 4c 5f 57 52 49 54 45 5f 43 4f 4d 50 52 45 CTL_WRITE_COMPRE 2b30: 53 53 49 4f 4e 20 20 20 20 20 20 20 20 20 20 20 SSION 2b40: 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 = CTL_CODE_T! 2b50: 28 46 49 4c 45 5f 44 45 56 49 43 45 5f 46 49 4c (FILE_DEVICE_FIL 2b60: 45 5f 53 59 53 54 45 4d 2c 20 31 38 2c 20 4d 45 E_SYSTEM, 18, ME 2b70: 54 48 4f 44 5f 4e 45 49 54 48 45 52 2c 20 46 49 THOD_NEITHER, FI 2b80: 4c 45 5f 57 52 49 54 45 5f 44 41 54 41 29 2c 0d LE_WRITE_DATA),. 2b90: 0a 09 46 53 43 54 4c 5f 47 45 54 5f 4e 54 46 53 ..FSCTL_GET_NTFS 2ba0: 5f 56 4f 4c 55 4d 45 5f 44 41 54 41 20 20 20 20 _VOLUME_DATA 2bb0: 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 = CTL_COD 2bc0: 45 5f 54 21 28 46 49 4c 45 5f 44 45 56 49 43 45 E_T!(FILE_DEVICE 2bd0: 5f 46 49 4c 45 5f 53 59 53 54 45 4d 2c 20 32 35 _FILE_SYSTEM, 25 2be0: 2c 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 45 , METHOD_BUFFERE 2bf0: 44 2c 20 46 49 4c 45 5f 41 4e 59 5f 41 43 43 45 D, FILE_ANY_ACCE 2c00: 53 53 29 2c 0d 0a 09 46 53 43 54 4c 5f 47 45 54 SS),...FSCTL_GET 2c10: 5f 56 4f 4c 55 4d 45 5f 42 49 54 4d 41 50 20 20 _VOLUME_BITMAP 2c20: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 43 54 = CT 2c30: 4c 5f 43 4f 44 45 5f 54 21 28 46 49 4c 45 5f 44 L_CODE_T!(FILE_D 2c40: 45 56 49 43 45 5f 46 49 4c 45 5f 53 59 53 54 45 EVICE_FILE_SYSTE 2c50: 4d 2c 20 32 37 2c 20 4d 45 54 48 4f 44 5f 4e 45 M, 27, METHOD_NE 2c60: 49 54 48 45 52 2c 20 46 49 4c 45 5f 41 4e 59 5f ITHER, FILE_ANY_ 2c70: 41 43 43 45 53 53 29 2c 0d 0a 09 46 53 43 54 4c ACCESS),...FSCTL 2c80: 5f 47 45 54 5f 52 45 54 52 49 45 56 41 4c 5f 50 _GET_RETRIEVAL_P 2c90: 4f 49 4e 54 45 52 53 20 20 20 20 20 20 20 20 20 OINTERS 2ca0: 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 28 46 49 = CTL_CODE_T!(FI 2cb0: 4c 45 5f 44 45 56 49 43 45 5f 46 49 4c 45 5f 53 LE_DEVICE_FILE_S 2cc0: 59 53 54 45 4d 2c 20 32 38 2c 20 4d 45 54 48 4f YSTEM, 28, METHO 2cd0: 44 5f 4e 45 49 54 48 45 52 2c 20 46 49 4c 45 5f D_NEITHER, FILE_ 2ce0: 41 4e 59 5f 41 43 43 45 53 53 29 2c 0d 0a 09 46 ANY_ACCESS),...F 2cf0: 53 43 54 4c 5f 4d 4f 56 45 5f 46 49 4c 45 20 20 SCTL_MOVE_FILE 2d00: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d10: 20 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 = CTL_CODE_T 2d20: 21 28 46 49 4c 45 5f 44 45 56 49 43 45 5f 46 49 !(FILE_DEVICE_FI 2d30: 4c 45 5f 53 59 53 54 45 4d 2c 20 32 39 2c 20 4d LE_SYSTEM, 29, M 2d40: 45 54 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 ETHOD_BUFFERED, 2d50: 46 49 4c 45 5f 41 4e 59 5f 41 43 43 45 53 53 29 FILE_ANY_ACCESS) 2d60: 2c 0d 0a 09 46 53 43 54 4c 5f 47 45 54 5f 52 45 ,...FSCTL_GET_RE 2d70: 50 41 52 53 45 5f 50 4f 49 4e 54 20 20 20 20 20 PARSE_POINT 2d80: 20 20 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 = CTL_C 2d90: 4f 44 45 5f 54 21 28 46 49 4c 45 5f 44 45 56 49 ODE_T!(FILE_DEVI 2da0: 43 45 5f 46 49 4c 45 5f 53 59 53 54 45 4d 2c 20 CE_FILE_SYSTEM, 2db0: 34 32 2c 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 42, METHOD_BUFFE 2dc0: 52 45 44 2c 20 46 49 4c 45 5f 41 4e 59 5f 41 43 RED, FILE_ANY_AC 2dd0: 43 45 53 53 29 2c 0d 0a 09 46 53 43 54 4c 5f 53 CESS),...FSCTL_S 2de0: 45 54 5f 52 45 50 41 52 53 45 5f 50 4f 49 4e 54 ET_REPARSE_POINT 2df0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 = 2e00: 43 54 4c 5f 43 4f 44 45 5f 54 21 28 46 49 4c 45 CTL_CODE_T!(FILE 2e10: 5f 44 45 56 49 43 45 5f 46 49 4c 45 5f 53 59 53 _DEVICE_FILE_SYS 2e20: 54 45 4d 2c 20 34 31 2c 20 4d 45 54 48 4f 44 5f TEM, 41, METHOD_ 2e30: 42 55 46 46 45 52 45 44 2c 20 46 49 4c 45 5f 41 BUFFERED, FILE_A 2e40: 4e 59 5f 41 43 43 45 53 53 29 2c 0d 0a 09 46 53 NY_ACCESS),...FS 2e50: 43 54 4c 5f 44 45 4c 45 54 45 5f 52 45 50 41 52 CTL_DELETE_REPAR 2e60: 53 45 5f 50 4f 49 4e 54 20 20 20 20 20 20 20 20 SE_POINT 2e70: 20 20 20 3d 20 43 54 4c 5f 43 4f 44 45 5f 54 21 = CTL_CODE_T! 2e80: 28 46 49 4c 45 5f 44 45 56 49 43 45 5f 46 49 4c (FILE_DEVICE_FIL 2e90: 45 5f 53 59 53 54 45 4d 2c 20 34 33 2c 20 4d 45 E_SYSTEM, 43, ME 2ea0: 54 48 4f 44 5f 42 55 46 46 45 52 45 44 2c 20 46 THOD_BUFFERED, F 2eb0: 49 4c 45 5f 41 4e 59 5f 41 43 43 45 53 53 29 2c ILE_ANY_ACCESS), 2ec0: 0d 0a 09 46 53 43 54 4c 5f 53 45 54 5f 53 50 41 ...FSCTL_SET_SPA 2ed0: 52 53 45 20 20 20 20 20 20 20 20 20 20 20 20 20 RSE 2ee0: 20 20 20 20 20 20 20 20 3d 20 43 54 4c 5f 43 4f = CTL_CO 2ef0: 44 45 5f 54 21 28 46 49 4c 45 5f 44 45 56 49 43 DE_T!(FILE_DEVIC 2f00: 45 5f 46 49 4c 45 5f 53 59 53 54 45 4d 2c 20 34 E_FILE_SYSTEM, 4 2f10: 39 2c 20 4d 45 54 48 4f 44 5f 42 55 46 46 45 52 9, METHOD_BUFFER 2f20: 45 44 2c 20 46 49 4c 45 5f 53 50 45 43 49 41 4c ED, FILE_SPECIAL 2f30: 5f 41 43 43 45 53 53 29 2c 0d 0a 7d 0d 0a 0d 0a _ACCESS),..}.... 2f40: 65 6e 75 6d 20 3a 20 42 59 54 45 20 7b 0d 0a 09 enum : BYTE {... 2f50: 50 41 52 54 49 54 49 4f 4e 5f 45 4e 54 52 59 5f PARTITION_ENTRY_ 2f60: 55 4e 55 53 45 44 2c 0d 0a 09 50 41 52 54 49 54 UNUSED,...PARTIT 2f70: 49 4f 4e 5f 46 41 54 5f 31 32 2c 0d 0a 09 50 41 ION_FAT_12,...PA 2f80: 52 54 49 54 49 4f 4e 5f 58 45 4e 49 58 5f 31 2c RTITION_XENIX_1, 2f90: 0d 0a 09 50 41 52 54 49 54 49 4f 4e 5f 58 45 4e ...PARTITION_XEN 2fa0: 49 58 5f 32 2c 0d 0a 09 50 41 52 54 49 54 49 4f IX_2,...PARTITIO 2fb0: 4e 5f 46 41 54 5f 31 36 2c 0d 0a 09 50 41 52 54 N_FAT_16,...PART 2fc0: 49 54 49 4f 4e 5f 45 58 54 45 4e 44 45 44 2c 0d ITION_EXTENDED,. 2fd0: 0a 09 50 41 52 54 49 54 49 4f 4e 5f 48 55 47 45 ..PARTITION_HUGE 2fe0: 2c 0d 0a 09 50 41 52 54 49 54 49 4f 4e 5f 49 46 ,...PARTITION_IF 2ff0: 53 2c 20 20 20 20 20 20 20 20 20 2f 2f 20 3d 20 S, // = 3000: 30 78 30 37 0d 0a 09 50 41 52 54 49 54 49 4f 4e 0x07...PARTITION 3010: 5f 46 41 54 33 32 20 20 20 20 20 20 20 20 20 20 _FAT32 3020: 20 3d 20 30 78 30 42 2c 0d 0a 09 50 41 52 54 49 = 0x0B,...PARTI 3030: 54 49 4f 4e 5f 46 41 54 33 32 5f 58 49 4e 54 31 TION_FAT32_XINT1 3040: 33 20 20 20 20 3d 20 30 78 30 43 2c 0d 0a 09 50 3 = 0x0C,...P 3050: 41 52 54 49 54 49 4f 4e 5f 58 49 4e 54 31 33 20 ARTITION_XINT13 3060: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 45 2c = 0x0E, 3070: 0d 0a 09 50 41 52 54 49 54 49 4f 4e 5f 58 49 4e ...PARTITION_XIN 3080: 54 31 33 5f 45 58 54 45 4e 44 45 44 20 3d 20 30 T13_EXTENDED = 0 3090: 78 30 46 2c 0d 0a 09 50 41 52 54 49 54 49 4f 4e x0F,...PARTITION 30a0: 5f 50 52 45 50 20 20 20 20 20 20 20 20 20 20 20 _PREP 30b0: 20 3d 20 30 78 34 31 2c 0d 0a 09 50 41 52 54 49 = 0x41,...PARTI 30c0: 54 49 4f 4e 5f 4c 44 4d 20 20 20 20 20 20 20 20 TION_LDM 30d0: 20 20 20 20 20 3d 20 30 78 34 32 2c 0d 0a 09 50 = 0x42,...P 30e0: 41 52 54 49 54 49 4f 4e 5f 55 4e 49 58 20 20 20 ARTITION_UNIX 30f0: 20 20 20 20 20 20 20 20 20 3d 20 30 78 36 33 0d = 0x63. 3100: 0a 7d 0d 0a 0d 0a 63 6f 6e 73 74 20 42 59 54 45 .}....const BYTE 3110: 0d 0a 09 50 41 52 54 49 54 49 4f 4e 5f 4e 54 46 ...PARTITION_NTF 3120: 54 20 3d 20 30 78 38 30 2c 0d 0a 09 56 41 4c 49 T = 0x80,...VALI 3130: 44 5f 4e 54 46 54 20 20 20 20 20 3d 20 30 78 43 D_NTFT = 0xC 3140: 30 3b 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 53 0;....enum {...S 3150: 45 52 49 41 4c 5f 4c 53 52 4d 53 54 5f 45 53 43 ERIAL_LSRMST_ESC 3160: 41 50 45 2c 0d 0a 09 53 45 52 49 41 4c 5f 4c 53 APE,...SERIAL_LS 3170: 52 4d 53 54 5f 4c 53 52 5f 44 41 54 41 2c 0d 0a RMST_LSR_DATA,.. 3180: 09 53 45 52 49 41 4c 5f 4c 53 52 4d 53 54 5f 4c .SERIAL_LSRMST_L 3190: 53 52 5f 4e 4f 44 41 54 41 2c 0d 0a 09 53 45 52 SR_NODATA,...SER 31a0: 49 41 4c 5f 4c 53 52 4d 53 54 5f 4d 53 54 0d 0a IAL_LSRMST_MST.. 31b0: 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 44 49 }....enum {...DI 31c0: 53 4b 5f 4c 4f 47 47 49 4e 47 5f 53 54 41 52 54 SK_LOGGING_START 31d0: 2c 0d 0a 09 44 49 53 4b 5f 4c 4f 47 47 49 4e 47 ,...DISK_LOGGING 31e0: 5f 53 54 4f 50 2c 0d 0a 09 44 49 53 4b 5f 4c 4f _STOP,...DISK_LO 31f0: 47 47 49 4e 47 5f 44 55 4d 50 2c 0d 0a 09 44 49 GGING_DUMP,...DI 3200: 53 4b 5f 42 49 4e 4e 49 4e 47 0d 0a 7d 0d 0a 0d SK_BINNING..}... 3210: 0a 61 6c 69 61 73 20 57 4f 52 44 20 42 41 44 5f .alias WORD BAD_ 3220: 54 52 41 43 4b 5f 4e 55 4d 42 45 52 3b 0d 0a 61 TRACK_NUMBER;..a 3230: 6c 69 61 73 20 57 4f 52 44 2a 20 50 42 41 44 5f lias WORD* PBAD_ 3240: 54 52 41 43 4b 5f 4e 55 4d 42 45 52 3b 0d 0a 0d TRACK_NUMBER;... 3250: 0a 65 6e 75 6d 20 42 49 4e 5f 54 59 50 45 53 20 .enum BIN_TYPES 3260: 7b 0d 0a 09 52 65 71 75 65 73 74 53 69 7a 65 2c {...RequestSize, 3270: 20 52 65 71 75 65 73 74 4c 6f 63 61 74 69 6f 6e RequestLocation 3280: 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 42 49 ..}....struct BI 3290: 4e 5f 52 41 4e 47 45 20 7b 0d 0a 09 4c 41 52 47 N_RANGE {...LARG 32a0: 45 5f 49 4e 54 45 47 45 52 20 53 74 61 72 74 56 E_INTEGER StartV 32b0: 61 6c 75 65 3b 0d 0a 09 4c 41 52 47 45 5f 49 4e alue;...LARGE_IN 32c0: 54 45 47 45 52 20 4c 65 6e 67 74 68 3b 0d 0a 7d TEGER Length;..} 32d0: 0d 0a 61 6c 69 61 73 20 42 49 4e 5f 52 41 4e 47 ..alias BIN_RANG 32e0: 45 2a 20 50 42 49 4e 5f 52 41 4e 47 45 3b 0d 0a E* PBIN_RANGE;.. 32f0: 0d 0a 73 74 72 75 63 74 20 42 49 4e 5f 43 4f 55 ..struct BIN_COU 3300: 4e 54 20 7b 0d 0a 09 42 49 4e 5f 52 41 4e 47 45 NT {...BIN_RANGE 3310: 20 42 69 6e 52 61 6e 67 65 3b 0d 0a 09 44 57 4f BinRange;...DWO 3320: 52 44 20 20 20 20 20 42 69 6e 43 6f 75 6e 74 3b RD BinCount; 3330: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 42 49 4e 5f 43 ..}..alias BIN_C 3340: 4f 55 4e 54 2a 20 50 42 49 4e 5f 43 4f 55 4e 54 OUNT* PBIN_COUNT 3350: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 42 49 4e 5f ;....struct BIN_ 3360: 52 45 53 55 4c 54 53 20 7b 0d 0a 09 44 57 4f 52 RESULTS {...DWOR 3370: 44 20 20 20 20 20 4e 75 6d 62 65 72 4f 66 42 69 D NumberOfBi 3380: 6e 73 3b 0d 0a 09 42 49 4e 5f 43 4f 55 4e 54 20 ns;...BIN_COUNT 3390: 5f 42 69 6e 43 6f 75 6e 74 73 3b 0d 0a 0d 0a 09 _BinCounts;..... 33a0: 42 49 4e 5f 43 4f 55 4e 54 2a 20 42 69 6e 43 6f BIN_COUNT* BinCo 33b0: 75 6e 74 73 28 29 20 7b 20 72 65 74 75 72 6e 20 unts() { return 33c0: 26 5f 42 69 6e 43 6f 75 6e 74 73 3b 20 7d 0d 0a &_BinCounts; }.. 33d0: 7d 0d 0a 61 6c 69 61 73 20 42 49 4e 5f 52 45 53 }..alias BIN_RES 33e0: 55 4c 54 53 2a 20 50 42 49 4e 5f 52 45 53 55 4c ULTS* PBIN_RESUL 33f0: 54 53 3b 0d 0a 0d 0a 65 6e 75 6d 20 50 41 52 54 TS;....enum PART 3400: 49 54 49 4f 4e 5f 53 54 59 4c 45 20 7b 0d 0a 09 ITION_STYLE {... 3410: 50 41 52 54 49 54 49 4f 4e 5f 53 54 59 4c 45 5f PARTITION_STYLE_ 3420: 4d 42 52 2c 0d 0a 09 50 41 52 54 49 54 49 4f 4e MBR,...PARTITION 3430: 5f 53 54 59 4c 45 5f 47 50 54 2c 0d 0a 09 50 41 _STYLE_GPT,...PA 3440: 52 54 49 54 49 4f 4e 5f 53 54 59 4c 45 5f 52 41 RTITION_STYLE_RA 3450: 57 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 43 W..}....struct C 3460: 52 45 41 54 45 5f 44 49 53 4b 5f 47 50 54 20 7b REATE_DISK_GPT { 3470: 0d 0a 09 47 55 49 44 20 20 44 69 73 6b 49 64 3b ...GUID DiskId; 3480: 0d 0a 09 44 57 4f 52 44 20 4d 61 78 50 61 72 74 ...DWORD MaxPart 3490: 69 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 7d 0d 0a itionCount;..}.. 34a0: 61 6c 69 61 73 20 43 52 45 41 54 45 5f 44 49 53 alias CREATE_DIS 34b0: 4b 5f 47 50 54 2a 20 50 43 52 45 41 54 45 5f 44 K_GPT* PCREATE_D 34c0: 49 53 4b 5f 47 50 54 3b 0d 0a 0d 0a 73 74 72 75 ISK_GPT;....stru 34d0: 63 74 20 43 52 45 41 54 45 5f 44 49 53 4b 5f 4d ct CREATE_DISK_M 34e0: 42 52 20 7b 0d 0a 09 44 57 4f 52 44 20 53 69 67 BR {...DWORD Sig 34f0: 6e 61 74 75 72 65 3b 0d 0a 7d 0d 0a 61 6c 69 61 nature;..}..alia 3500: 73 20 43 52 45 41 54 45 5f 44 49 53 4b 5f 4d 42 s CREATE_DISK_MB 3510: 52 2a 20 50 43 52 45 41 54 45 5f 44 49 53 4b 5f R* PCREATE_DISK_ 3520: 4d 42 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 43 MBR;....struct C 3530: 52 45 41 54 45 5f 44 49 53 4b 20 7b 0d 0a 09 50 REATE_DISK {...P 3540: 41 52 54 49 54 49 4f 4e 5f 53 54 59 4c 45 20 50 ARTITION_STYLE P 3550: 61 72 74 69 74 69 6f 6e 53 74 79 6c 65 3b 0d 0a artitionStyle;.. 3560: 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 43 52 45 41 .union {....CREA 3570: 54 45 5f 44 49 53 4b 5f 4d 42 52 20 4d 62 72 3b TE_DISK_MBR Mbr; 3580: 0d 0a 09 09 43 52 45 41 54 45 5f 44 49 53 4b 5f ....CREATE_DISK_ 3590: 47 50 54 20 47 70 74 3b 0d 0a 09 7d 0d 0a 7d 0d GPT Gpt;...}..}. 35a0: 0a 61 6c 69 61 73 20 43 52 45 41 54 45 5f 44 49 .alias CREATE_DI 35b0: 53 4b 2a 20 50 43 52 45 41 54 45 5f 44 49 53 4b SK* PCREATE_DISK 35c0: 3b 0d 0a 0d 0a 65 6e 75 6d 20 44 49 53 4b 5f 43 ;....enum DISK_C 35d0: 41 43 48 45 5f 52 45 54 45 4e 54 49 4f 4e 5f 50 ACHE_RETENTION_P 35e0: 52 49 4f 52 49 54 59 20 7b 0d 0a 09 45 71 75 61 RIORITY {...Equa 35f0: 6c 50 72 69 6f 72 69 74 79 2c 0d 0a 09 4b 65 65 lPriority,...Kee 3600: 70 50 72 65 66 65 74 63 68 65 64 44 61 74 61 2c pPrefetchedData, 3610: 0d 0a 09 4b 65 65 70 52 65 61 64 44 61 74 61 0d ...KeepReadData. 3620: 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 44 49 53 .}....struct DIS 3630: 4b 5f 43 41 43 48 45 5f 49 4e 46 4f 52 4d 41 54 K_CACHE_INFORMAT 3640: 49 4f 4e 20 7b 0d 0a 09 42 4f 4f 4c 45 41 4e 20 ION {...BOOLEAN 3650: 50 61 72 61 6d 65 74 65 72 73 53 61 76 61 62 6c ParametersSavabl 3660: 65 3b 0d 0a 09 42 4f 4f 4c 45 41 4e 20 52 65 61 e;...BOOLEAN Rea 3670: 64 43 61 63 68 65 45 6e 61 62 6c 65 64 3b 0d 0a dCacheEnabled;.. 3680: 09 42 4f 4f 4c 45 41 4e 20 57 72 69 74 65 43 61 .BOOLEAN WriteCa 3690: 63 68 65 45 6e 61 62 6c 65 64 3b 0d 0a 09 44 49 cheEnabled;...DI 36a0: 53 4b 5f 43 41 43 48 45 5f 52 45 54 45 4e 54 49 SK_CACHE_RETENTI 36b0: 4f 4e 5f 50 52 49 4f 52 49 54 59 20 52 65 61 64 ON_PRIORITY Read 36c0: 52 65 74 65 6e 74 69 6f 6e 50 72 69 6f 72 69 74 RetentionPriorit 36d0: 79 3b 0d 0a 09 44 49 53 4b 5f 43 41 43 48 45 5f y;...DISK_CACHE_ 36e0: 52 45 54 45 4e 54 49 4f 4e 5f 50 52 49 4f 52 49 RETENTION_PRIORI 36f0: 54 59 20 57 72 69 74 65 52 65 74 65 6e 74 69 6f TY WriteRetentio 3700: 6e 50 72 69 6f 72 69 74 79 3b 0d 0a 09 57 4f 52 nPriority;...WOR 3710: 44 20 20 20 20 44 69 73 61 62 6c 65 50 72 65 66 D DisablePref 3720: 65 74 63 68 54 72 61 6e 73 66 65 72 4c 65 6e 67 etchTransferLeng 3730: 74 68 3b 0d 0a 09 42 4f 4f 4c 45 41 4e 20 50 72 th;...BOOLEAN Pr 3740: 65 66 65 74 63 68 53 63 61 6c 61 72 3b 0d 0a 09 efetchScalar;... 3750: 75 6e 69 6f 6e 20 7b 0d 0a 09 09 73 74 72 75 63 union {....struc 3760: 74 20 5f 53 63 61 6c 61 72 50 72 65 66 65 74 63 t _ScalarPrefetc 3770: 68 20 7b 0d 0a 09 09 09 57 4f 52 44 20 4d 69 6e h {.....WORD Min 3780: 69 6d 75 6d 3b 0d 0a 09 09 09 57 4f 52 44 20 4d imum;.....WORD M 3790: 61 78 69 6d 75 6d 3b 0d 0a 09 09 09 57 4f 52 44 aximum;.....WORD 37a0: 20 4d 61 78 69 6d 75 6d 42 6c 6f 63 6b 73 3b 0d MaximumBlocks;. 37b0: 0a 09 09 7d 0d 0a 09 09 5f 53 63 61 6c 61 72 50 ...}...._ScalarP 37c0: 72 65 66 65 74 63 68 20 53 63 61 6c 61 72 50 72 refetch ScalarPr 37d0: 65 66 65 74 63 68 3b 0d 0a 09 09 73 74 72 75 63 efetch;....struc 37e0: 74 20 5f 42 6c 6f 63 6b 50 72 65 66 65 74 63 68 t _BlockPrefetch 37f0: 20 7b 0d 0a 09 09 09 57 4f 52 44 20 4d 69 6e 69 {.....WORD Mini 3800: 6d 75 6d 3b 0d 0a 09 09 09 57 4f 52 44 20 4d 61 mum;.....WORD Ma 3810: 78 69 6d 75 6d 3b 0d 0a 09 09 7d 0d 0a 09 09 5f ximum;....}...._ 3820: 42 6c 6f 63 6b 50 72 65 66 65 74 63 68 20 42 6c BlockPrefetch Bl 3830: 6f 63 6b 50 72 65 66 65 74 63 68 3b 0d 0a 09 7d ockPrefetch;...} 3840: 0d 0a 7d 0d 0a 61 6c 69 61 73 20 44 49 53 4b 5f ..}..alias DISK_ 3850: 43 41 43 48 45 5f 49 4e 46 4f 52 4d 41 54 49 4f CACHE_INFORMATIO 3860: 4e 2a 20 50 44 49 53 4b 5f 43 41 43 48 45 5f 49 N* PDISK_CACHE_I 3870: 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a 0d 0a 65 NFORMATION;....e 3880: 6e 75 6d 20 44 45 54 45 43 54 49 4f 4e 5f 54 59 num DETECTION_TY 3890: 50 45 20 7b 0d 0a 09 44 65 74 65 63 74 4e 6f 6e PE {...DetectNon 38a0: 65 2c 0d 0a 09 44 65 74 65 63 74 49 6e 74 31 33 e,...DetectInt13 38b0: 2c 0d 0a 09 44 65 74 65 63 74 45 78 49 6e 74 31 ,...DetectExInt1 38c0: 33 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 44 3..}....struct D 38d0: 49 53 4b 5f 49 4e 54 31 33 5f 49 4e 46 4f 20 7b ISK_INT13_INFO { 38e0: 0d 0a 09 57 4f 52 44 20 20 44 72 69 76 65 53 65 ...WORD DriveSe 38f0: 6c 65 63 74 3b 0d 0a 09 44 57 4f 52 44 20 4d 61 lect;...DWORD Ma 3900: 78 43 79 6c 69 6e 64 65 72 73 3b 0d 0a 09 57 4f xCylinders;...WO 3910: 52 44 20 20 53 65 63 74 6f 72 73 50 65 72 54 72 RD SectorsPerTr 3920: 61 63 6b 3b 0d 0a 09 57 4f 52 44 20 20 4d 61 78 ack;...WORD Max 3930: 48 65 61 64 73 3b 0d 0a 09 57 4f 52 44 20 20 4e Heads;...WORD N 3940: 75 6d 62 65 72 44 72 69 76 65 73 3b 0d 0a 09 7d umberDrives;...} 3950: 0d 0a 61 6c 69 61 73 20 44 49 53 4b 5f 49 4e 54 ..alias DISK_INT 3960: 31 33 5f 49 4e 46 4f 2a 20 50 44 49 53 4b 5f 49 13_INFO* PDISK_I 3970: 4e 54 31 33 5f 49 4e 46 4f 3b 0d 0a 0d 0a 73 74 NT13_INFO;....st 3980: 72 75 63 74 20 44 49 53 4b 5f 45 58 5f 49 4e 54 ruct DISK_EX_INT 3990: 31 33 5f 49 4e 46 4f 20 7b 0d 0a 09 57 4f 52 44 13_INFO {...WORD 39a0: 20 20 20 20 45 78 42 75 66 66 65 72 53 69 7a 65 ExBufferSize 39b0: 3b 0d 0a 09 57 4f 52 44 20 20 20 20 45 78 46 6c ;...WORD ExFl 39c0: 61 67 73 3b 0d 0a 09 44 57 4f 52 44 20 20 20 45 ags;...DWORD E 39d0: 78 43 79 6c 69 6e 64 65 72 73 3b 0d 0a 09 44 57 xCylinders;...DW 39e0: 4f 52 44 20 20 20 45 78 48 65 61 64 73 3b 0d 0a ORD ExHeads;.. 39f0: 09 44 57 4f 52 44 20 20 20 45 78 53 65 63 74 6f .DWORD ExSecto 3a00: 72 73 50 65 72 54 72 61 63 6b 3b 0d 0a 09 44 57 rsPerTrack;...DW 3a10: 4f 52 44 36 34 20 45 78 53 65 63 74 6f 72 73 50 ORD64 ExSectorsP 3a20: 65 72 44 72 69 76 65 3b 0d 0a 09 57 4f 52 44 20 erDrive;...WORD 3a30: 20 20 20 45 78 53 65 63 74 6f 72 53 69 7a 65 3b ExSectorSize; 3a40: 0d 0a 09 57 4f 52 44 20 20 20 20 45 78 52 65 73 ...WORD ExRes 3a50: 65 72 76 65 64 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 erved;..}..alias 3a60: 20 44 49 53 4b 5f 45 58 5f 49 4e 54 31 33 5f 49 DISK_EX_INT13_I 3a70: 4e 46 4f 2a 20 50 44 49 53 4b 5f 45 58 5f 49 4e NFO* PDISK_EX_IN 3a80: 54 31 33 5f 49 4e 46 4f 3b 0d 0a 0d 0a 73 74 72 T13_INFO;....str 3a90: 75 63 74 20 44 49 53 4b 5f 44 45 54 45 43 54 49 uct DISK_DETECTI 3aa0: 4f 4e 5f 49 4e 46 4f 20 7b 0d 0a 09 44 57 4f 52 ON_INFO {...DWOR 3ab0: 44 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 D S 3ac0: 69 7a 65 4f 66 44 65 74 65 63 74 49 6e 66 6f 3b izeOfDetectInfo; 3ad0: 0d 0a 09 44 45 54 45 43 54 49 4f 4e 5f 54 59 50 ...DETECTION_TYP 3ae0: 45 20 20 20 20 20 44 65 74 65 63 74 69 6f 6e 54 E DetectionT 3af0: 79 70 65 3b 0d 0a 09 44 49 53 4b 5f 49 4e 54 31 ype;...DISK_INT1 3b00: 33 5f 49 4e 46 4f 20 20 20 20 49 6e 74 31 33 3b 3_INFO Int13; 3b10: 0d 0a 09 44 49 53 4b 5f 45 58 5f 49 4e 54 31 33 ...DISK_EX_INT13 3b20: 5f 49 4e 46 4f 20 45 78 49 6e 74 31 33 3b 0d 0a _INFO ExInt13;.. 3b30: 7d 0d 0a 61 6c 69 61 73 20 44 49 53 4b 5f 44 45 }..alias DISK_DE 3b40: 54 45 43 54 49 4f 4e 5f 49 4e 46 4f 2a 20 50 44 TECTION_INFO* PD 3b50: 49 53 4b 5f 44 45 54 45 43 54 49 4f 4e 5f 49 4e ISK_DETECTION_IN 3b60: 46 4f 3b 0d 0a 0d 0a 65 6e 75 6d 20 4d 45 44 49 FO;....enum MEDI 3b70: 41 5f 54 59 50 45 20 7b 0d 0a 09 55 6e 6b 6e 6f A_TYPE {...Unkno 3b80: 77 6e 2c 0d 0a 09 46 35 5f 31 50 74 32 5f 35 31 wn,...F5_1Pt2_51 3b90: 32 2c 0d 0a 09 46 33 5f 31 50 74 34 34 5f 35 31 2,...F3_1Pt44_51 3ba0: 32 2c 0d 0a 09 46 33 5f 32 50 74 38 38 5f 35 31 2,...F3_2Pt88_51 3bb0: 32 2c 0d 0a 09 46 33 5f 32 30 50 74 38 5f 35 31 2,...F3_20Pt8_51 3bc0: 32 2c 0d 0a 09 46 33 5f 37 32 30 5f 35 31 32 2c 2,...F3_720_512, 3bd0: 0d 0a 09 46 35 5f 33 36 30 5f 35 31 32 2c 0d 0a ...F5_360_512,.. 3be0: 09 46 35 5f 33 32 30 5f 35 31 32 2c 0d 0a 09 46 .F5_320_512,...F 3bf0: 35 5f 33 32 30 5f 31 30 32 34 2c 0d 0a 09 46 35 5_320_1024,...F5 3c00: 5f 31 38 30 5f 35 31 32 2c 0d 0a 09 46 35 5f 31 _180_512,...F5_1 3c10: 36 30 5f 35 31 32 2c 0d 0a 09 52 65 6d 6f 76 61 60_512,...Remova 3c20: 62 6c 65 4d 65 64 69 61 2c 0d 0a 09 46 69 78 65 bleMedia,...Fixe 3c30: 64 4d 65 64 69 61 2c 0d 0a 09 46 33 5f 31 32 30 dMedia,...F3_120 3c40: 4d 5f 35 31 32 2c 0d 0a 09 46 33 5f 36 34 30 5f M_512,...F3_640_ 3c50: 35 31 32 2c 0d 0a 09 46 35 5f 36 34 30 5f 35 31 512,...F5_640_51 3c60: 32 2c 0d 0a 09 46 35 5f 37 32 30 5f 35 31 32 2c 2,...F5_720_512, 3c70: 0d 0a 09 46 33 5f 31 50 74 32 5f 35 31 32 2c 0d ...F3_1Pt2_512,. 3c80: 0a 09 46 33 5f 31 50 74 32 33 5f 31 30 32 34 2c ..F3_1Pt23_1024, 3c90: 0d 0a 09 46 35 5f 31 50 74 32 33 5f 31 30 32 34 ...F5_1Pt23_1024 3ca0: 2c 0d 0a 09 46 33 5f 31 32 38 4d 62 5f 35 31 32 ,...F3_128Mb_512 3cb0: 2c 0d 0a 09 46 33 5f 32 33 30 4d 62 5f 35 31 32 ,...F3_230Mb_512 3cc0: 2c 0d 0a 09 46 38 5f 32 35 36 5f 31 32 38 2c 0d ,...F8_256_128,. 3cd0: 0a 09 46 33 5f 32 30 30 4d 62 5f 35 31 32 2c 0d ..F3_200Mb_512,. 3ce0: 0a 09 46 33 5f 32 34 30 4d 5f 35 31 32 2c 0d 0a ..F3_240M_512,.. 3cf0: 09 46 33 5f 33 32 4d 5f 35 31 32 0d 0a 7d 0d 0a .F3_32M_512..}.. 3d00: 61 6c 69 61 73 20 4d 45 44 49 41 5f 54 59 50 45 alias MEDIA_TYPE 3d10: 2a 20 50 4d 45 44 49 41 5f 54 59 50 45 3b 0d 0a * PMEDIA_TYPE;.. 3d20: 0d 0a 73 74 72 75 63 74 20 44 49 53 4b 5f 47 45 ..struct DISK_GE 3d30: 4f 4d 45 54 52 59 20 7b 0d 0a 09 4c 41 52 47 45 OMETRY {...LARGE 3d40: 5f 49 4e 54 45 47 45 52 20 43 79 6c 69 6e 64 65 _INTEGER Cylinde 3d50: 72 73 3b 0d 0a 09 4d 45 44 49 41 5f 54 59 50 45 rs;...MEDIA_TYPE 3d60: 20 20 20 20 4d 65 64 69 61 54 79 70 65 3b 0d 0a MediaType;.. 3d70: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 54 .DWORD T 3d80: 72 61 63 6b 73 50 65 72 43 79 6c 69 6e 64 65 72 racksPerCylinder 3d90: 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 ;...DWORD 3da0: 20 20 53 65 63 74 6f 72 73 50 65 72 54 72 61 63 SectorsPerTrac 3db0: 6b 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 k;...DWORD 3dc0: 20 20 20 42 79 74 65 73 50 65 72 53 65 63 74 6f BytesPerSecto 3dd0: 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 44 49 53 r;..}..alias DIS 3de0: 4b 5f 47 45 4f 4d 45 54 52 59 2a 20 50 44 49 53 K_GEOMETRY* PDIS 3df0: 4b 5f 47 45 4f 4d 45 54 52 59 3b 0d 0a 0d 0a 73 K_GEOMETRY;....s 3e00: 74 72 75 63 74 20 44 49 53 4b 5f 47 45 4f 4d 45 truct DISK_GEOME 3e10: 54 52 59 5f 45 58 20 7b 0d 0a 09 44 49 53 4b 5f TRY_EX {...DISK_ 3e20: 47 45 4f 4d 45 54 52 59 20 47 65 6f 6d 65 74 72 GEOMETRY Geometr 3e30: 79 3b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 y;...LARGE_INTEG 3e40: 45 52 20 44 69 73 6b 53 69 7a 65 3b 0d 0a 09 42 ER DiskSize;...B 3e50: 59 54 45 20 20 20 20 20 20 20 20 20 20 5f 44 61 YTE _Da 3e60: 74 61 3b 0d 0a 0d 0a 09 42 59 54 45 2a 20 44 61 ta;.....BYTE* Da 3e70: 74 61 28 29 20 7b 20 72 65 74 75 72 6e 20 26 5f ta() { return &_ 3e80: 44 61 74 61 3b 20 7d 0d 0a 7d 0d 0a 61 6c 69 61 Data; }..}..alia 3e90: 73 20 44 49 53 4b 5f 47 45 4f 4d 45 54 52 59 5f s DISK_GEOMETRY_ 3ea0: 45 58 2a 20 50 44 49 53 4b 5f 47 45 4f 4d 45 54 EX* PDISK_GEOMET 3eb0: 52 59 5f 45 58 3b 0d 0a 0d 0a 73 74 72 75 63 74 RY_EX;....struct 3ec0: 20 44 49 53 4b 5f 47 52 4f 57 5f 50 41 52 54 49 DISK_GROW_PARTI 3ed0: 54 49 4f 4e 20 7b 0d 0a 09 44 57 4f 52 44 20 20 TION {...DWORD 3ee0: 20 20 20 20 20 20 20 50 61 72 74 69 74 69 6f 6e Partition 3ef0: 4e 75 6d 62 65 72 3b 0d 0a 09 4c 41 52 47 45 5f Number;...LARGE_ 3f00: 49 4e 54 45 47 45 52 20 42 79 74 65 73 54 6f 47 INTEGER BytesToG 3f10: 72 6f 77 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 44 row;..}..alias D 3f20: 49 53 4b 5f 47 52 4f 57 5f 50 41 52 54 49 54 49 ISK_GROW_PARTITI 3f30: 4f 4e 2a 20 50 44 49 53 4b 5f 47 52 4f 57 5f 50 ON* PDISK_GROW_P 3f40: 41 52 54 49 54 49 4f 4e 3b 0d 0a 0d 0a 73 74 72 ARTITION;....str 3f50: 75 63 74 20 44 49 53 4b 5f 50 41 52 54 49 54 49 uct DISK_PARTITI 3f60: 4f 4e 5f 49 4e 46 4f 20 7b 0d 0a 09 44 57 4f 52 ON_INFO {...DWOR 3f70: 44 20 20 20 20 20 20 20 20 20 20 20 53 69 7a 65 D Size 3f80: 4f 66 50 61 72 74 69 74 69 6f 6e 49 6e 66 6f 3b OfPartitionInfo; 3f90: 0d 0a 09 50 41 52 54 49 54 49 4f 4e 5f 53 54 59 ...PARTITION_STY 3fa0: 4c 45 20 50 61 72 74 69 74 69 6f 6e 53 74 79 6c LE PartitionStyl 3fb0: 65 3b 0d 0a 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 e;...union {.... 3fc0: 2f 2f 73 74 72 75 63 74 20 7b 0d 0a 09 09 09 44 //struct {.....D 3fd0: 57 4f 52 44 20 53 69 67 6e 61 74 75 72 65 3b 0d WORD Signature;. 3fe0: 0a 09 09 2f 2f 7d 20 4d 62 72 3b 0d 0a 09 09 2f ...//} Mbr;..../ 3ff0: 2f 73 74 72 75 63 74 20 7b 0d 0a 09 09 09 47 55 /struct {.....GU 4000: 49 44 20 44 69 73 6b 49 64 3b 0d 0a 09 09 2f 2f ID DiskId;....// 4010: 7d 20 47 70 74 3b 0d 0a 09 7d 0d 0a 7d 0d 0a 61 } Gpt;...}..}..a 4020: 6c 69 61 73 20 44 49 53 4b 5f 50 41 52 54 49 54 lias DISK_PARTIT 4030: 49 4f 4e 5f 49 4e 46 4f 2a 20 50 44 49 53 4b 5f ION_INFO* PDISK_ 4040: 50 41 52 54 49 54 49 4f 4e 5f 49 4e 46 4f 3b 0d PARTITION_INFO;. 4050: 0a 0d 0a 73 74 72 75 63 74 20 44 49 53 4b 5f 50 ...struct DISK_P 4060: 45 52 46 4f 52 4d 41 4e 43 45 20 7b 0d 0a 09 4c ERFORMANCE {...L 4070: 41 52 47 45 5f 49 4e 54 45 47 45 52 20 42 79 74 ARGE_INTEGER Byt 4080: 65 73 52 65 61 64 3b 0d 0a 09 4c 41 52 47 45 5f esRead;...LARGE_ 4090: 49 4e 54 45 47 45 52 20 42 79 74 65 73 57 72 69 INTEGER BytesWri 40a0: 74 74 65 6e 3b 0d 0a 09 4c 41 52 47 45 5f 49 4e tten;...LARGE_IN 40b0: 54 45 47 45 52 20 52 65 61 64 54 69 6d 65 3b 0d TEGER ReadTime;. 40c0: 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 ..LARGE_INTEGER 40d0: 57 72 69 74 65 54 69 6d 65 3b 0d 0a 09 44 57 4f WriteTime;...DWO 40e0: 52 44 20 20 20 20 20 20 20 20 20 52 65 61 64 43 RD ReadC 40f0: 6f 75 6e 74 3b 0d 0a 09 44 57 4f 52 44 20 20 20 ount;...DWORD 4100: 20 20 20 20 20 20 57 72 69 74 65 43 6f 75 6e 74 WriteCount 4110: 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 ;...DWORD 4120: 20 20 51 75 65 75 65 44 65 70 74 68 3b 0d 0a 7d QueueDepth;..} 4130: 0d 0a 61 6c 69 61 73 20 44 49 53 4b 5f 50 45 52 ..alias DISK_PER 4140: 46 4f 52 4d 41 4e 43 45 2a 20 50 44 49 53 4b 5f FORMANCE* PDISK_ 4150: 50 45 52 46 4f 52 4d 41 4e 43 45 3b 0d 0a 0d 0a PERFORMANCE;.... 4160: 73 74 72 75 63 74 20 44 49 53 4b 5f 52 45 43 4f struct DISK_RECO 4170: 52 44 20 7b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 RD {...LARGE_INT 4180: 45 47 45 52 20 42 79 74 65 4f 66 66 73 65 74 3b EGER ByteOffset; 4190: 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 ...LARGE_INTEGER 41a0: 20 53 74 61 72 74 54 69 6d 65 3b 0d 0a 09 4c 41 StartTime;...LA 41b0: 52 47 45 5f 49 4e 54 45 47 45 52 20 45 6e 64 54 RGE_INTEGER EndT 41c0: 69 6d 65 3b 0d 0a 09 50 56 4f 49 44 20 20 20 20 ime;...PVOID 41d0: 20 20 20 20 20 56 69 72 74 75 61 6c 41 64 64 72 VirtualAddr 41e0: 65 73 73 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 ess;...DWORD 41f0: 20 20 20 20 20 4e 75 6d 62 65 72 4f 66 42 79 74 NumberOfByt 4200: 65 73 3b 0d 0a 09 42 59 54 45 20 20 20 20 20 20 es;...BYTE 4210: 20 20 20 20 44 65 76 69 63 65 4e 75 6d 62 65 72 DeviceNumber 4220: 3b 0d 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 20 ;...BOOLEAN 4230: 20 20 52 65 61 64 52 65 71 75 65 73 74 3b 0d 0a ReadRequest;.. 4240: 7d 0d 0a 61 6c 69 61 73 20 44 49 53 4b 5f 52 45 }..alias DISK_RE 4250: 43 4f 52 44 2a 20 50 44 49 53 4b 5f 52 45 43 4f CORD* PDISK_RECO 4260: 52 44 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 44 49 RD;....struct DI 4270: 53 4b 5f 4c 4f 47 47 49 4e 47 20 7b 0d 0a 09 42 SK_LOGGING {...B 4280: 59 54 45 20 20 46 75 6e 63 74 69 6f 6e 3b 0d 0a YTE Function;.. 4290: 09 50 56 4f 49 44 20 42 75 66 66 65 72 41 64 64 .PVOID BufferAdd 42a0: 72 65 73 73 3b 0d 0a 09 44 57 4f 52 44 20 42 75 ress;...DWORD Bu 42b0: 66 66 65 72 53 69 7a 65 3b 0d 0a 7d 0d 0a 61 6c fferSize;..}..al 42c0: 69 61 73 20 44 49 53 4b 5f 4c 4f 47 47 49 4e 47 ias DISK_LOGGING 42d0: 2a 20 50 44 49 53 4b 5f 4c 4f 47 47 49 4e 47 3b * PDISK_LOGGING; 42e0: 0d 0a 0d 0a 73 74 72 75 63 74 20 44 49 53 4b 51 ....struct DISKQ 42f0: 55 4f 54 41 5f 55 53 45 52 5f 49 4e 46 4f 52 4d UOTA_USER_INFORM 4300: 41 54 49 4f 4e 20 7b 0d 0a 09 4c 4f 4e 47 4c 4f ATION {...LONGLO 4310: 4e 47 20 51 75 6f 74 61 55 73 65 64 3b 0d 0a 09 NG QuotaUsed;... 4320: 4c 4f 4e 47 4c 4f 4e 47 20 51 75 6f 74 61 54 68 LONGLONG QuotaTh 4330: 72 65 73 68 6f 6c 64 3b 0d 0a 09 4c 4f 4e 47 4c reshold;...LONGL 4340: 4f 4e 47 20 51 75 6f 74 61 4c 69 6d 69 74 3b 0d ONG QuotaLimit;. 4350: 0a 7d 0d 0a 61 6c 69 61 73 20 44 49 53 4b 51 55 .}..alias DISKQU 4360: 4f 54 41 5f 55 53 45 52 5f 49 4e 46 4f 52 4d 41 OTA_USER_INFORMA 4370: 54 49 4f 4e 2a 20 50 44 49 53 4b 51 55 4f 54 41 TION* PDISKQUOTA 4380: 5f 55 53 45 52 5f 49 4e 46 4f 52 4d 41 54 49 4f _USER_INFORMATIO 4390: 4e 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 46 4f 52 N;....struct FOR 43a0: 4d 41 54 5f 50 41 52 41 4d 45 54 45 52 53 20 7b MAT_PARAMETERS { 43b0: 0d 0a 09 4d 45 44 49 41 5f 54 59 50 45 20 4d 65 ...MEDIA_TYPE Me 43c0: 64 69 61 54 79 70 65 3b 0d 0a 09 44 57 4f 52 44 diaType;...DWORD 43d0: 20 20 20 20 20 20 53 74 61 72 74 43 79 6c 69 6e StartCylin 43e0: 64 65 72 4e 75 6d 62 65 72 3b 0d 0a 09 44 57 4f derNumber;...DWO 43f0: 52 44 20 20 20 20 20 20 45 6e 64 43 79 6c 69 6e RD EndCylin 4400: 64 65 72 4e 75 6d 62 65 72 3b 0d 0a 09 44 57 4f derNumber;...DWO 4410: 52 44 20 20 20 20 20 20 53 74 61 72 74 48 65 61 RD StartHea 4420: 64 4e 75 6d 62 65 72 3b 0d 0a 09 44 57 4f 52 44 dNumber;...DWORD 4430: 20 20 20 20 20 20 45 6e 64 48 65 61 64 4e 75 6d EndHeadNum 4440: 62 65 72 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 46 ber;..}..alias F 4450: 4f 52 4d 41 54 5f 50 41 52 41 4d 45 54 45 52 53 ORMAT_PARAMETERS 4460: 2a 20 50 46 4f 52 4d 41 54 5f 50 41 52 41 4d 45 * PFORMAT_PARAME 4470: 54 45 52 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 TERS;....struct 4480: 46 4f 52 4d 41 54 5f 45 58 5f 50 41 52 41 4d 45 FORMAT_EX_PARAME 4490: 54 45 52 53 20 7b 0d 0a 09 4d 45 44 49 41 5f 54 TERS {...MEDIA_T 44a0: 59 50 45 20 4d 65 64 69 61 54 79 70 65 3b 0d 0a YPE MediaType;.. 44b0: 09 44 57 4f 52 44 20 20 20 20 20 20 53 74 61 72 .DWORD Star 44c0: 74 43 79 6c 69 6e 64 65 72 4e 75 6d 62 65 72 3b tCylinderNumber; 44d0: 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 45 6e ...DWORD En 44e0: 64 43 79 6c 69 6e 64 65 72 4e 75 6d 62 65 72 3b dCylinderNumber; 44f0: 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 53 74 ...DWORD St 4500: 61 72 74 48 65 61 64 4e 75 6d 62 65 72 3b 0d 0a artHeadNumber;.. 4510: 09 44 57 4f 52 44 20 20 20 20 20 20 45 6e 64 48 .DWORD EndH 4520: 65 61 64 4e 75 6d 62 65 72 3b 0d 0a 09 57 4f 52 eadNumber;...WOR 4530: 44 20 20 20 20 20 20 20 46 6f 72 6d 61 74 47 61 D FormatGa 4540: 70 4c 65 6e 67 74 68 3b 0d 0a 09 57 4f 52 44 20 pLength;...WORD 4550: 20 20 20 20 20 20 53 65 63 74 6f 72 73 50 65 72 SectorsPer 4560: 54 72 61 63 6b 3b 0d 0a 09 57 4f 52 44 20 20 20 Track;...WORD 4570: 20 20 20 20 5f 53 65 63 74 6f 72 4e 75 6d 62 65 _SectorNumbe 4580: 72 3b 0d 0a 0d 0a 09 57 4f 52 44 2a 20 53 65 63 r;.....WORD* Sec 4590: 74 6f 72 4e 75 6d 62 65 72 28 29 20 7b 20 72 65 torNumber() { re 45a0: 74 75 72 6e 20 26 5f 53 65 63 74 6f 72 4e 75 6d turn &_SectorNum 45b0: 62 65 72 3b 20 7d 0d 0a 7d 0d 0a 61 6c 69 61 73 ber; }..}..alias 45c0: 20 46 4f 52 4d 41 54 5f 45 58 5f 50 41 52 41 4d FORMAT_EX_PARAM 45d0: 45 54 45 52 53 2a 20 50 46 4f 52 4d 41 54 5f 45 ETERS* PFORMAT_E 45e0: 58 5f 50 41 52 41 4d 45 54 45 52 53 3b 0d 0a 0d X_PARAMETERS;... 45f0: 0a 73 74 72 75 63 74 20 47 45 54 5f 4c 45 4e 47 .struct GET_LENG 4600: 54 48 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 7b TH_INFORMATION { 4610: 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 ...LARGE_INTEGER 4620: 20 4c 65 6e 67 74 68 3b 0d 0a 7d 0d 0a 0d 0a 73 Length;..}....s 4630: 74 72 75 63 74 20 48 49 53 54 4f 47 52 41 4d 5f truct HISTOGRAM_ 4640: 42 55 43 4b 45 54 20 7b 0d 0a 09 44 57 4f 52 44 BUCKET {...DWORD 4650: 20 52 65 61 64 73 3b 0d 0a 09 44 57 4f 52 44 20 Reads;...DWORD 4660: 57 72 69 74 65 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 Writes;..}..alia 4670: 73 20 48 49 53 54 4f 47 52 41 4d 5f 42 55 43 4b s HISTOGRAM_BUCK 4680: 45 54 2a 20 50 48 49 53 54 4f 47 52 41 4d 5f 42 ET* PHISTOGRAM_B 4690: 55 43 4b 45 54 3b 0d 0a 0d 0a 73 74 72 75 63 74 UCKET;....struct 46a0: 20 44 49 53 4b 5f 48 49 53 54 4f 47 52 41 4d 20 DISK_HISTOGRAM 46b0: 7b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 {...LARGE_INTEGE 46c0: 52 20 20 20 20 20 44 69 73 6b 53 69 7a 65 3b 0d R DiskSize;. 46d0: 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 ..LARGE_INTEGER 46e0: 20 20 20 20 53 74 61 72 74 3b 0d 0a 09 4c 41 52 Start;...LAR 46f0: 47 45 5f 49 4e 54 45 47 45 52 20 20 20 20 20 45 GE_INTEGER E 4700: 6e 64 3b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 nd;...LARGE_INTE 4710: 47 45 52 20 20 20 20 20 41 76 65 72 61 67 65 3b GER Average; 4720: 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 ...LARGE_INTEGER 4730: 20 20 20 20 20 41 76 65 72 61 67 65 52 65 61 64 AverageRead 4740: 3b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 ;...LARGE_INTEGE 4750: 52 20 20 20 20 20 41 76 65 72 61 67 65 57 72 69 R AverageWri 4760: 74 65 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 te;...DWORD 4770: 20 20 20 20 20 20 20 20 47 72 61 6e 75 6c 61 72 Granular 4780: 69 74 79 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 ity;...DWORD 4790: 20 20 20 20 20 20 20 20 20 53 69 7a 65 3b 0d 0a Size;.. 47a0: 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 .DWORD 47b0: 20 20 20 52 65 61 64 43 6f 75 6e 74 3b 0d 0a 09 ReadCount;... 47c0: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 DWORD 47d0: 20 20 57 72 69 74 65 43 6f 75 6e 74 3b 0d 0a 09 WriteCount;... 47e0: 50 48 49 53 54 4f 47 52 41 4d 5f 42 55 43 4b 45 PHISTOGRAM_BUCKE 47f0: 54 20 48 69 73 74 6f 67 72 61 6d 3b 0d 0a 7d 0d T Histogram;..}. 4800: 0a 61 6c 69 61 73 20 44 49 53 4b 5f 48 49 53 54 .alias DISK_HIST 4810: 4f 47 52 41 4d 2a 20 50 44 49 53 4b 5f 48 49 53 OGRAM* PDISK_HIS 4820: 54 4f 47 52 41 4d 3b 0d 0a 0d 0a 73 74 72 75 63 TOGRAM;....struc 4830: 74 20 44 49 53 4b 5f 45 58 54 45 4e 54 20 7b 0d t DISK_EXTENT {. 4840: 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 ..DWORD 4850: 44 69 73 6b 4e 75 6d 62 65 72 3b 0d 0a 09 4c 41 DiskNumber;...LA 4860: 52 47 45 5f 49 4e 54 45 47 45 52 20 53 74 61 72 RGE_INTEGER Star 4870: 74 69 6e 67 4f 66 66 73 65 74 3b 0d 0a 09 4c 41 tingOffset;...LA 4880: 52 47 45 5f 49 4e 54 45 47 45 52 20 45 78 74 65 RGE_INTEGER Exte 4890: 6e 74 4c 65 6e 67 74 68 3b 0d 0a 7d 0d 0a 61 6c ntLength;..}..al 48a0: 69 61 73 20 44 49 53 4b 5f 45 58 54 45 4e 54 2a ias DISK_EXTENT* 48b0: 20 50 44 49 53 4b 5f 45 58 54 45 4e 54 3b 0d 0a PDISK_EXTENT;.. 48c0: 0d 0a 73 74 72 75 63 74 20 56 4f 4c 55 4d 45 5f ..struct VOLUME_ 48d0: 44 49 53 4b 5f 45 58 54 45 4e 54 53 20 7b 0d 0a DISK_EXTENTS {.. 48e0: 09 44 57 4f 52 44 20 20 20 20 20 20 20 4e 75 6d .DWORD Num 48f0: 62 65 72 4f 66 44 69 73 6b 45 78 74 65 6e 74 73 berOfDiskExtents 4900: 3b 0d 0a 09 44 49 53 4b 5f 45 58 54 45 4e 54 20 ;...DISK_EXTENT 4910: 5f 45 78 74 65 6e 74 73 3b 0d 0a 0d 0a 09 44 49 _Extents;.....DI 4920: 53 4b 5f 45 58 54 45 4e 54 2a 20 45 78 74 65 6e SK_EXTENT* Exten 4930: 74 73 28 29 20 7b 20 72 65 74 75 72 6e 20 26 5f ts() { return &_ 4940: 45 78 74 65 6e 74 73 3b 20 7d 0d 0a 7d 0d 0a 61 Extents; }..}..a 4950: 6c 69 61 73 20 56 4f 4c 55 4d 45 5f 44 49 53 4b lias VOLUME_DISK 4960: 5f 45 58 54 45 4e 54 53 2a 20 50 56 4f 4c 55 4d _EXTENTS* PVOLUM 4970: 45 5f 44 49 53 4b 5f 45 58 54 45 4e 54 53 3b 0d E_DISK_EXTENTS;. 4980: 0a 0d 0a 73 74 72 75 63 74 20 50 41 52 54 49 54 ...struct PARTIT 4990: 49 4f 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 20 ION_INFORMATION 49a0: 7b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 {...LARGE_INTEGE 49b0: 52 20 53 74 61 72 74 69 6e 67 4f 66 66 73 65 74 R StartingOffset 49c0: 3b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 ;...LARGE_INTEGE 49d0: 52 20 50 61 72 74 69 74 69 6f 6e 4c 65 6e 67 74 R PartitionLengt 49e0: 68 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 h;...DWORD 49f0: 20 20 20 48 69 64 64 65 6e 53 65 63 74 6f 72 73 HiddenSectors 4a00: 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 ;...DWORD 4a10: 20 20 50 61 72 74 69 74 69 6f 6e 4e 75 6d 62 65 PartitionNumbe 4a20: 72 3b 0d 0a 09 42 59 54 45 20 20 20 20 20 20 20 r;...BYTE 4a30: 20 20 20 50 61 72 74 69 74 69 6f 6e 54 79 70 65 PartitionType 4a40: 3b 0d 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 20 ;...BOOLEAN 4a50: 20 20 42 6f 6f 74 49 6e 64 69 63 61 74 6f 72 3b BootIndicator; 4a60: 0d 0a 09 42 4f 4f 4c 45 41 4e 20 20 20 20 20 20 ...BOOLEAN 4a70: 20 52 65 63 6f 67 6e 69 7a 65 64 50 61 72 74 69 RecognizedParti 4a80: 74 69 6f 6e 3b 0d 0a 09 42 4f 4f 4c 45 41 4e 20 tion;...BOOLEAN 4a90: 20 20 20 20 20 20 52 65 77 72 69 74 65 50 61 72 RewritePar 4aa0: 74 69 74 69 6f 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 tition;..}..alia 4ab0: 73 20 50 41 52 54 49 54 49 4f 4e 5f 49 4e 46 4f s PARTITION_INFO 4ac0: 52 4d 41 54 49 4f 4e 2a 20 50 50 41 52 54 49 54 RMATION* PPARTIT 4ad0: 49 4f 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b ION_INFORMATION; 4ae0: 0d 0a 0d 0a 73 74 72 75 63 74 20 44 52 49 56 45 ....struct DRIVE 4af0: 5f 4c 41 59 4f 55 54 5f 49 4e 46 4f 52 4d 41 54 _LAYOUT_INFORMAT 4b00: 49 4f 4e 20 7b 0d 0a 09 44 57 4f 52 44 20 20 20 ION {...DWORD 4b10: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 61 Pa 4b20: 72 74 69 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 09 rtitionCount;... 4b30: 44 57 4f 52 44 20 20 20 20 20 20 20 20 20 20 20 DWORD 4b40: 20 20 20 20 20 20 53 69 67 6e 61 74 75 72 65 3b Signature; 4b50: 0d 0a 09 50 41 52 54 49 54 49 4f 4e 5f 49 4e 46 ...PARTITION_INF 4b60: 4f 52 4d 41 54 49 4f 4e 20 5f 50 61 72 74 69 74 ORMATION _Partit 4b70: 69 6f 6e 45 6e 74 72 79 3b 0d 0a 0d 0a 09 50 41 ionEntry;.....PA 4b80: 52 54 49 54 49 4f 4e 5f 49 4e 46 4f 52 4d 41 54 RTITION_INFORMAT 4b90: 49 4f 4e 2a 20 50 61 72 74 69 74 69 6f 6e 45 6e ION* PartitionEn 4ba0: 74 72 79 28 29 20 7b 20 72 65 74 75 72 6e 20 26 try() { return & 4bb0: 5f 50 61 72 74 69 74 69 6f 6e 45 6e 74 72 79 3b _PartitionEntry; 4bc0: 20 7d 0d 0a 7d 0d 0a 61 6c 69 61 73 20 44 52 49 }..}..alias DRI 4bd0: 56 45 5f 4c 41 59 4f 55 54 5f 49 4e 46 4f 52 4d VE_LAYOUT_INFORM 4be0: 41 54 49 4f 4e 2a 20 50 44 52 49 56 45 5f 4c 41 ATION* PDRIVE_LA 4bf0: 59 4f 55 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e YOUT_INFORMATION 4c00: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 44 52 49 56 ;....struct DRIV 4c10: 45 5f 4c 41 59 4f 55 54 5f 49 4e 46 4f 52 4d 41 E_LAYOUT_INFORMA 4c20: 54 49 4f 4e 5f 47 50 54 20 7b 0d 0a 09 47 55 49 TION_GPT {...GUI 4c30: 44 20 20 20 20 20 20 20 20 20 20 44 69 73 6b 49 D DiskI 4c40: 64 3b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 d;...LARGE_INTEG 4c50: 45 52 20 53 74 61 72 74 69 6e 67 55 73 61 62 6c ER StartingUsabl 4c60: 65 4f 66 66 73 65 74 3b 0d 0a 09 4c 41 52 47 45 eOffset;...LARGE 4c70: 5f 49 4e 54 45 47 45 52 20 55 73 61 62 6c 65 4c _INTEGER UsableL 4c80: 65 6e 67 74 68 3b 0d 0a 09 55 4c 4f 4e 47 20 20 ength;...ULONG 4c90: 20 20 20 20 20 20 20 4d 61 78 50 61 72 74 69 74 MaxPartit 4ca0: 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 7d 0d 0a 61 6c ionCount;..}..al 4cb0: 69 61 73 20 44 52 49 56 45 5f 4c 41 59 4f 55 54 ias DRIVE_LAYOUT 4cc0: 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 47 50 54 _INFORMATION_GPT 4cd0: 2a 20 50 44 52 49 56 45 5f 4c 41 59 4f 55 54 5f * PDRIVE_LAYOUT_ 4ce0: 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 47 50 54 3b INFORMATION_GPT; 4cf0: 0d 0a 0d 0a 73 74 72 75 63 74 20 44 52 49 56 45 ....struct DRIVE 4d00: 5f 4c 41 59 4f 55 54 5f 49 4e 46 4f 52 4d 41 54 _LAYOUT_INFORMAT 4d10: 49 4f 4e 5f 4d 42 52 20 7b 0d 0a 09 55 4c 4f 4e ION_MBR {...ULON 4d20: 47 20 53 69 67 6e 61 74 75 72 65 3b 0d 0a 7d 0d G Signature;..}. 4d30: 0a 61 6c 69 61 73 20 44 52 49 56 45 5f 4c 41 59 .alias DRIVE_LAY 4d40: 4f 55 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f OUT_INFORMATION_ 4d50: 4d 42 52 2a 20 50 44 52 49 56 45 5f 4c 41 59 4f MBR* PDRIVE_LAYO 4d60: 55 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 4d UT_INFORMATION_M 4d70: 42 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 50 41 BR;....struct PA 4d80: 52 54 49 54 49 4f 4e 5f 49 4e 46 4f 52 4d 41 54 RTITION_INFORMAT 4d90: 49 4f 4e 5f 4d 42 52 20 7b 0d 0a 09 42 59 54 45 ION_MBR {...BYTE 4da0: 20 20 20 20 50 61 72 74 69 74 69 6f 6e 54 79 70 PartitionTyp 4db0: 65 3b 0d 0a 09 42 4f 4f 4c 45 41 4e 20 42 6f 6f e;...BOOLEAN Boo 4dc0: 74 49 6e 64 69 63 61 74 6f 72 3b 0d 0a 09 42 4f tIndicator;...BO 4dd0: 4f 4c 45 41 4e 20 52 65 63 6f 67 6e 69 7a 65 64 OLEAN Recognized 4de0: 50 61 72 74 69 74 69 6f 6e 3b 0d 0a 09 44 57 4f Partition;...DWO 4df0: 52 44 20 20 20 48 69 64 64 65 6e 53 65 63 74 6f RD HiddenSecto 4e00: 72 73 3b 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 rs;..}....struct 4e10: 20 50 41 52 54 49 54 49 4f 4e 5f 49 4e 46 4f 52 PARTITION_INFOR 4e20: 4d 41 54 49 4f 4e 5f 47 50 54 20 7b 0d 0a 09 47 MATION_GPT {...G 4e30: 55 49 44 20 20 20 20 20 20 50 61 72 74 69 74 69 UID Partiti 4e40: 6f 6e 54 79 70 65 3b 0d 0a 09 47 55 49 44 20 20 onType;...GUID 4e50: 20 20 20 20 50 61 72 74 69 74 69 6f 6e 49 64 3b PartitionId; 4e60: 0d 0a 09 44 57 4f 52 44 36 34 20 20 20 41 74 74 ...DWORD64 Att 4e70: 72 69 62 75 74 65 73 3b 0d 0a 09 57 43 48 41 52 ributes;...WCHAR 4e80: 5b 33 36 5d 20 4e 61 6d 65 3b 0d 0a 7d 0d 0a 0d [36] Name;..}... 4e90: 0a 73 74 72 75 63 74 20 50 41 52 54 49 54 49 4f .struct PARTITIO 4ea0: 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 45 58 N_INFORMATION_EX 4eb0: 20 7b 0d 0a 09 50 41 52 54 49 54 49 4f 4e 5f 53 {...PARTITION_S 4ec0: 54 59 4c 45 20 50 61 72 74 69 74 69 6f 6e 53 74 TYLE PartitionSt 4ed0: 79 6c 65 3b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 yle;...LARGE_INT 4ee0: 45 47 45 52 20 20 20 53 74 61 72 74 69 6e 67 4f EGER StartingO 4ef0: 66 66 73 65 74 3b 0d 0a 09 4c 41 52 47 45 5f 49 ffset;...LARGE_I 4f00: 4e 54 45 47 45 52 20 20 20 50 61 72 74 69 74 69 NTEGER Partiti 4f10: 6f 6e 4c 65 6e 67 74 68 3b 0d 0a 09 44 57 4f 52 onLength;...DWOR 4f20: 44 20 20 20 20 20 20 20 20 20 20 20 50 61 72 74 D Part 4f30: 69 74 69 6f 6e 4e 75 6d 62 65 72 3b 0d 0a 09 42 itionNumber;...B 4f40: 4f 4f 4c 45 41 4e 20 20 20 20 20 20 20 20 20 52 OOLEAN R 4f50: 65 77 72 69 74 65 50 61 72 74 69 74 69 6f 6e 3b ewritePartition; 4f60: 0d 0a 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 50 41 ...union {....PA 4f70: 52 54 49 54 49 4f 4e 5f 49 4e 46 4f 52 4d 41 54 RTITION_INFORMAT 4f80: 49 4f 4e 5f 4d 42 52 20 4d 62 72 3b 0d 0a 09 09 ION_MBR Mbr;.... 4f90: 50 41 52 54 49 54 49 4f 4e 5f 49 4e 46 4f 52 4d PARTITION_INFORM 4fa0: 41 54 49 4f 4e 5f 47 50 54 20 47 70 74 3b 0d 0a ATION_GPT Gpt;.. 4fb0: 09 7d 0d 0a 7d 0d 0a 0d 0a 73 74 72 75 63 74 20 .}..}....struct 4fc0: 44 52 49 56 45 5f 4c 41 59 4f 55 54 5f 49 4e 46 DRIVE_LAYOUT_INF 4fd0: 4f 52 4d 41 54 49 4f 4e 5f 45 58 20 7b 0d 0a 09 ORMATION_EX {... 4fe0: 44 57 4f 52 44 20 50 61 72 74 69 74 69 6f 6e 53 DWORD PartitionS 4ff0: 74 79 6c 65 3b 0d 0a 09 44 57 4f 52 44 20 50 61 tyle;...DWORD Pa 5000: 72 74 69 74 69 6f 6e 43 6f 75 6e 74 3b 0d 0a 09 rtitionCount;... 5010: 75 6e 69 6f 6e 20 7b 0d 0a 09 09 44 52 49 56 45 union {....DRIVE 5020: 5f 4c 41 59 4f 55 54 5f 49 4e 46 4f 52 4d 41 54 _LAYOUT_INFORMAT 5030: 49 4f 4e 5f 4d 42 52 20 4d 62 72 3b 0d 0a 09 09 ION_MBR Mbr;.... 5040: 44 52 49 56 45 5f 4c 41 59 4f 55 54 5f 49 4e 46 DRIVE_LAYOUT_INF 5050: 4f 52 4d 41 54 49 4f 4e 5f 47 50 54 20 47 70 74 ORMATION_GPT Gpt 5060: 3b 0d 0a 09 7d 0d 0a 09 50 41 52 54 49 54 49 4f ;...}...PARTITIO 5070: 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 45 58 N_INFORMATION_EX 5080: 20 5f 50 61 72 74 69 74 69 6f 6e 45 6e 74 72 79 _PartitionEntry 5090: 3b 0d 0a 0d 0a 09 50 41 52 54 49 54 49 4f 4e 5f ;.....PARTITION_ 50a0: 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 45 58 2a 20 INFORMATION_EX* 50b0: 50 61 72 74 69 74 69 6f 6e 45 6e 74 72 79 28 29 PartitionEntry() 50c0: 20 7b 20 72 65 74 75 72 6e 20 26 5f 50 61 72 74 { return &_Part 50d0: 69 74 69 6f 6e 45 6e 74 72 79 3b 20 7d 0d 0a 7d itionEntry; }..} 50e0: 0d 0a 61 6c 69 61 73 20 44 52 49 56 45 5f 4c 41 ..alias DRIVE_LA 50f0: 59 4f 55 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e YOUT_INFORMATION 5100: 5f 45 58 2a 20 50 44 52 49 56 45 5f 4c 41 59 4f _EX* PDRIVE_LAYO 5110: 55 54 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 5f 45 UT_INFORMATION_E 5120: 58 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 4d 4f 56 X;....struct MOV 5130: 45 5f 46 49 4c 45 5f 44 41 54 41 20 7b 0d 0a 09 E_FILE_DATA {... 5140: 48 41 4e 44 4c 45 20 46 69 6c 65 48 61 6e 64 6c HANDLE FileHandl 5150: 65 3b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 e;...LARGE_INTEG 5160: 45 52 20 53 74 61 72 74 69 6e 67 56 63 6e 3b 0d ER StartingVcn;. 5170: 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 ..LARGE_INTEGER 5180: 53 74 61 72 74 69 6e 67 4c 63 6e 3b 0d 0a 09 44 StartingLcn;...D 5190: 57 4f 52 44 20 43 6c 75 73 74 65 72 43 6f 75 6e WORD ClusterCoun 51a0: 74 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 4d 4f 56 t;..}..alias MOV 51b0: 45 5f 46 49 4c 45 5f 44 41 54 41 2a 20 50 4d 4f E_FILE_DATA* PMO 51c0: 56 45 5f 46 49 4c 45 5f 44 41 54 41 3b 0d 0a 0d VE_FILE_DATA;... 51d0: 0a 73 74 72 75 63 74 20 50 45 52 46 5f 42 49 4e .struct PERF_BIN 51e0: 20 7b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 4e {...DWORD N 51f0: 75 6d 62 65 72 4f 66 42 69 6e 73 3b 0d 0a 09 44 umberOfBins;...D 5200: 57 4f 52 44 20 20 20 20 20 54 79 70 65 4f 66 42 WORD TypeOfB 5210: 69 6e 3b 0d 0a 09 42 49 4e 5f 52 41 4e 47 45 20 in;...BIN_RANGE 5220: 5f 42 69 6e 73 52 61 6e 67 65 73 3b 0d 0a 0d 0a _BinsRanges;.... 5230: 09 42 49 4e 5f 52 41 4e 47 45 2a 20 42 69 6e 73 .BIN_RANGE* Bins 5240: 52 61 6e 67 65 73 28 29 20 7b 20 72 65 74 75 72 Ranges() { retur 5250: 6e 20 26 5f 42 69 6e 73 52 61 6e 67 65 73 3b 20 n &_BinsRanges; 5260: 7d 0d 0a 7d 0d 0a 61 6c 69 61 73 20 50 45 52 46 }..}..alias PERF 5270: 5f 42 49 4e 2a 20 50 50 45 52 46 5f 42 49 4e 3b _BIN* PPERF_BIN; 5280: 0d 0a 0d 0a 73 74 72 75 63 74 20 50 52 45 56 45 ....struct PREVE 5290: 4e 54 5f 4d 45 44 49 41 5f 52 45 4d 4f 56 41 4c NT_MEDIA_REMOVAL 52a0: 20 7b 0d 0a 09 42 4f 4f 4c 45 41 4e 20 50 72 65 {...BOOLEAN Pre 52b0: 76 65 6e 74 4d 65 64 69 61 52 65 6d 6f 76 61 6c ventMediaRemoval 52c0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 50 52 45 56 ;..}..alias PREV 52d0: 45 4e 54 5f 4d 45 44 49 41 5f 52 45 4d 4f 56 41 ENT_MEDIA_REMOVA 52e0: 4c 2a 20 50 50 52 45 56 45 4e 54 5f 4d 45 44 49 L* PPREVENT_MEDI 52f0: 41 5f 52 45 4d 4f 56 41 4c 3b 0d 0a 0d 0a 73 74 A_REMOVAL;....st 5300: 72 75 63 74 20 52 45 54 52 49 45 56 41 4c 5f 50 ruct RETRIEVAL_P 5310: 4f 49 4e 54 45 52 53 5f 42 55 46 46 45 52 20 7b OINTERS_BUFFER { 5320: 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 20 ...DWORD 5330: 20 45 78 74 65 6e 74 43 6f 75 6e 74 3b 0d 0a 09 ExtentCount;... 5340: 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 53 74 LARGE_INTEGER St 5350: 61 72 74 69 6e 67 56 63 6e 3b 0d 0a 09 2f 2f 20 artingVcn;...// 5360: 49 6e 20 4d 69 6e 47 57 2c 20 74 68 69 73 20 69 In MinGW, this i 5370: 73 20 64 65 63 6c 61 72 65 64 20 61 73 20 73 74 s declared as st 5380: 72 75 63 74 20 7b 20 2e 2e 2e 20 7d 20 45 78 74 ruct { ... } Ext 5390: 65 6e 74 73 5b 31 5d 3b 0d 0a 09 73 74 72 75 63 ents[1];...struc 53a0: 74 20 45 78 74 65 6e 74 20 7b 0d 0a 09 09 4c 41 t Extent {....LA 53b0: 52 47 45 5f 49 4e 54 45 47 45 52 20 4e 65 78 74 RGE_INTEGER Next 53c0: 56 63 6e 3b 0d 0a 09 09 4c 41 52 47 45 5f 49 4e Vcn;....LARGE_IN 53d0: 54 45 47 45 52 20 4c 63 6e 3b 0d 0a 09 7d 0d 0a TEGER Lcn;...}.. 53e0: 09 45 78 74 65 6e 74 20 5f 45 78 74 65 6e 74 73 .Extent _Extents 53f0: 3b 0d 0a 0d 0a 09 45 78 74 65 6e 74 2a 20 45 78 ;.....Extent* Ex 5400: 74 65 6e 74 73 28 29 20 7b 20 72 65 74 75 72 6e tents() { return 5410: 20 26 5f 45 78 74 65 6e 74 73 3b 20 7d 0d 0a 7d &_Extents; }..} 5420: 0d 0a 61 6c 69 61 73 20 52 45 54 52 49 45 56 41 ..alias RETRIEVA 5430: 4c 5f 50 4f 49 4e 54 45 52 53 5f 42 55 46 46 45 L_POINTERS_BUFFE 5440: 52 2a 20 50 52 45 54 52 49 45 56 41 4c 5f 50 4f R* PRETRIEVAL_PO 5450: 49 4e 54 45 52 53 5f 42 55 46 46 45 52 3b 0d 0a INTERS_BUFFER;.. 5460: 0d 0a 73 74 72 75 63 74 20 52 45 41 53 53 49 47 ..struct REASSIG 5470: 4e 5f 42 4c 4f 43 4b 53 20 7b 0d 0a 09 57 4f 52 N_BLOCKS {...WOR 5480: 44 20 20 52 65 73 65 72 76 65 64 3b 0d 0a 09 57 D Reserved;...W 5490: 4f 52 44 20 20 43 6f 75 6e 74 3b 0d 0a 09 44 57 ORD Count;...DW 54a0: 4f 52 44 20 5f 42 6c 6f 63 6b 4e 75 6d 62 65 72 ORD _BlockNumber 54b0: 3b 0d 0a 0d 0a 09 44 57 4f 52 44 2a 20 42 6c 6f ;.....DWORD* Blo 54c0: 63 6b 4e 75 6d 62 65 72 28 29 20 7b 20 72 65 74 ckNumber() { ret 54d0: 75 72 6e 20 26 5f 42 6c 6f 63 6b 4e 75 6d 62 65 urn &_BlockNumbe 54e0: 72 3b 20 7d 0d 0a 7d 0d 0a 61 6c 69 61 73 20 52 r; }..}..alias R 54f0: 45 41 53 53 49 47 4e 5f 42 4c 4f 43 4b 53 2a 20 EASSIGN_BLOCKS* 5500: 50 52 45 41 53 53 49 47 4e 5f 42 4c 4f 43 4b 53 PREASSIGN_BLOCKS 5510: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 53 45 54 5f ;....struct SET_ 5520: 50 41 52 54 49 54 49 4f 4e 5f 49 4e 46 4f 52 4d PARTITION_INFORM 5530: 41 54 49 4f 4e 20 7b 0d 0a 09 42 59 54 45 20 50 ATION {...BYTE P 5540: 61 72 74 69 74 69 6f 6e 54 79 70 65 3b 0d 0a 7d artitionType;..} 5550: 0d 0a 61 6c 69 61 73 20 53 45 54 5f 50 41 52 54 ..alias SET_PART 5560: 49 54 49 4f 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f ITION_INFORMATIO 5570: 4e 2a 20 50 53 45 54 5f 50 41 52 54 49 54 49 4f N* PSET_PARTITIO 5580: 4e 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b 0d 0a N_INFORMATION;.. 5590: 0d 0a 73 74 72 75 63 74 20 53 54 41 52 54 49 4e ..struct STARTIN 55a0: 47 5f 4c 43 4e 5f 49 4e 50 55 54 5f 42 55 46 46 G_LCN_INPUT_BUFF 55b0: 45 52 20 7b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 ER {...LARGE_INT 55c0: 45 47 45 52 20 53 74 61 72 74 69 6e 67 4c 63 6e EGER StartingLcn 55d0: 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 53 54 41 52 ;..}..alias STAR 55e0: 54 49 4e 47 5f 4c 43 4e 5f 49 4e 50 55 54 5f 42 TING_LCN_INPUT_B 55f0: 55 46 46 45 52 2a 20 50 53 54 41 52 54 49 4e 47 UFFER* PSTARTING 5600: 5f 4c 43 4e 5f 49 4e 50 55 54 5f 42 55 46 46 45 _LCN_INPUT_BUFFE 5610: 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 53 54 41 R;....struct STA 5620: 52 54 49 4e 47 5f 56 43 4e 5f 49 4e 50 55 54 5f RTING_VCN_INPUT_ 5630: 42 55 46 46 45 52 20 7b 0d 0a 09 4c 41 52 47 45 BUFFER {...LARGE 5640: 5f 49 4e 54 45 47 45 52 20 53 74 61 72 74 69 6e _INTEGER Startin 5650: 67 56 63 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 gVcn;..}..alias 5660: 53 54 41 52 54 49 4e 47 5f 56 43 4e 5f 49 4e 50 STARTING_VCN_INP 5670: 55 54 5f 42 55 46 46 45 52 2a 20 50 53 54 41 52 UT_BUFFER* PSTAR 5680: 54 49 4e 47 5f 56 43 4e 5f 49 4e 50 55 54 5f 42 TING_VCN_INPUT_B 5690: 55 46 46 45 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 UFFER;....struct 56a0: 20 56 45 52 49 46 59 5f 49 4e 46 4f 52 4d 41 54 VERIFY_INFORMAT 56b0: 49 4f 4e 20 7b 0d 0a 09 4c 41 52 47 45 5f 49 4e ION {...LARGE_IN 56c0: 54 45 47 45 52 20 53 74 61 72 74 69 6e 67 4f 66 TEGER StartingOf 56d0: 66 73 65 74 3b 0d 0a 09 44 57 4f 52 44 20 20 20 fset;...DWORD 56e0: 20 20 20 20 20 20 4c 65 6e 67 74 68 3b 0d 0a 7d Length;..} 56f0: 0d 0a 61 6c 69 61 73 20 56 45 52 49 46 59 5f 49 ..alias VERIFY_I 5700: 4e 46 4f 52 4d 41 54 49 4f 4e 2a 20 50 56 45 52 NFORMATION* PVER 5710: 49 46 59 5f 49 4e 46 4f 52 4d 41 54 49 4f 4e 3b IFY_INFORMATION; 5720: 0d 0a 0d 0a 73 74 72 75 63 74 20 56 4f 4c 55 4d ....struct VOLUM 5730: 45 5f 42 49 54 4d 41 50 5f 42 55 46 46 45 52 20 E_BITMAP_BUFFER 5740: 7b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 {...LARGE_INTEGE 5750: 52 20 53 74 61 72 74 69 6e 67 4c 63 6e 3b 0d 0a R StartingLcn;.. 5760: 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 42 .LARGE_INTEGER B 5770: 69 74 6d 61 70 53 69 7a 65 3b 0d 0a 09 42 59 54 itmapSize;...BYT 5780: 45 20 20 20 20 20 20 20 20 20 20 5f 42 75 66 66 E _Buff 5790: 65 72 3b 0d 0a 0d 0a 09 42 59 54 45 2a 20 42 75 er;.....BYTE* Bu 57a0: 66 66 65 72 28 29 20 7b 20 72 65 74 75 72 6e 20 ffer() { return 57b0: 26 5f 42 75 66 66 65 72 3b 20 7d 0d 0a 7d 0d 0a &_Buffer; }..}.. 57c0: 61 6c 69 61 73 20 56 4f 4c 55 4d 45 5f 42 49 54 alias VOLUME_BIT 57d0: 4d 41 50 5f 42 55 46 46 45 52 2a 20 50 56 4f 4c MAP_BUFFER* PVOL 57e0: 55 4d 45 5f 42 49 54 4d 41 50 5f 42 55 46 46 45 UME_BITMAP_BUFFE 57f0: 52 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 4e 54 46 R;....struct NTF 5800: 53 5f 56 4f 4c 55 4d 45 5f 44 41 54 41 5f 42 55 S_VOLUME_DATA_BU 5810: 46 46 45 52 20 7b 0d 0a 09 4c 41 52 47 45 5f 49 FFER {...LARGE_I 5820: 4e 54 45 47 45 52 20 56 6f 6c 75 6d 65 53 65 72 NTEGER VolumeSer 5830: 69 61 6c 4e 75 6d 62 65 72 3b 0d 0a 09 4c 41 52 ialNumber;...LAR 5840: 47 45 5f 49 4e 54 45 47 45 52 20 4e 75 6d 62 65 GE_INTEGER Numbe 5850: 72 53 65 63 74 6f 72 73 3b 0d 0a 09 4c 41 52 47 rSectors;...LARG 5860: 45 5f 49 4e 54 45 47 45 52 20 54 6f 74 61 6c 43 E_INTEGER TotalC 5870: 6c 75 73 74 65 72 73 3b 0d 0a 09 4c 41 52 47 45 lusters;...LARGE 5880: 5f 49 4e 54 45 47 45 52 20 46 72 65 65 43 6c 75 _INTEGER FreeClu 5890: 73 74 65 72 73 3b 0d 0a 09 4c 41 52 47 45 5f 49 sters;...LARGE_I 58a0: 4e 54 45 47 45 52 20 54 6f 74 61 6c 52 65 73 65 NTEGER TotalRese 58b0: 72 76 65 64 3b 0d 0a 09 44 57 4f 52 44 20 20 20 rved;...DWORD 58c0: 20 20 20 20 20 20 42 79 74 65 73 50 65 72 53 65 BytesPerSe 58d0: 63 74 6f 72 3b 0d 0a 09 44 57 4f 52 44 20 20 20 ctor;...DWORD 58e0: 20 20 20 20 20 20 42 79 74 65 73 50 65 72 43 6c BytesPerCl 58f0: 75 73 74 65 72 3b 0d 0a 09 44 57 4f 52 44 20 20 uster;...DWORD 5900: 20 20 20 20 20 20 20 42 79 74 65 73 50 65 72 46 BytesPerF 5910: 69 6c 65 52 65 63 6f 72 64 53 65 67 6d 65 6e 74 ileRecordSegment 5920: 3b 0d 0a 09 44 57 4f 52 44 20 20 20 20 20 20 20 ;...DWORD 5930: 20 20 43 6c 75 73 74 65 72 73 50 65 72 46 69 6c ClustersPerFil 5940: 65 52 65 63 6f 72 64 53 65 67 6d 65 6e 74 3b 0d eRecordSegment;. 5950: 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 ..LARGE_INTEGER 5960: 4d 66 74 56 61 6c 69 64 44 61 74 61 4c 65 6e 67 MftValidDataLeng 5970: 74 68 3b 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 th;...LARGE_INTE 5980: 47 45 52 20 4d 66 74 53 74 61 72 74 4c 63 6e 3b GER MftStartLcn; 5990: 0d 0a 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 ...LARGE_INTEGER 59a0: 20 4d 66 74 32 53 74 61 72 74 4c 63 6e 3b 0d 0a Mft2StartLcn;.. 59b0: 09 4c 41 52 47 45 5f 49 4e 54 45 47 45 52 20 4d .LARGE_INTEGER M 59c0: 66 74 5a 6f 6e 65 53 74 61 72 74 3b 0d 0a 09 4c ftZoneStart;...L 59d0: 41 52 47 45 5f 49 4e 54 45 47 45 52 20 4d 66 74 ARGE_INTEGER Mft 59e0: 5a 6f 6e 65 45 6e 64 3b 0d 0a 7d 0d 0a 61 6c 69 ZoneEnd;..}..ali 59f0: 61 73 20 4e 54 46 53 5f 56 4f 4c 55 4d 45 5f 44 as NTFS_VOLUME_D 5a00: 41 54 41 5f 42 55 46 46 45 52 2a 20 50 4e 54 46 ATA_BUFFER* PNTF 5a10: 53 5f 56 4f 4c 55 4d 45 5f 44 41 54 41 5f 42 55 S_VOLUME_DATA_BU 5a20: 46 46 45 52 3b 0d 0a 0d 0a 0d 0a 62 6f 6f 6c 20 FFER;......bool 5a30: 49 73 52 65 63 6f 67 6e 69 7a 65 64 50 61 72 74 IsRecognizedPart 5a40: 69 74 69 6f 6e 28 42 59 54 45 20 74 29 20 7b 0d ition(BYTE t) {. 5a50: 0a 09 72 65 74 75 72 6e 20 28 28 74 20 26 20 50 ..return ((t & P 5a60: 41 52 54 49 54 49 4f 4e 5f 4e 54 46 54 29 0d 0a ARTITION_NTFT).. 5a70: 09 20 20 26 26 20 28 28 74 20 26 20 7e 56 41 4c . && ((t & ~VAL 5a80: 49 44 5f 4e 54 46 54 29 20 3d 3d 20 50 41 52 54 ID_NTFT) == PART 5a90: 49 54 49 4f 4e 5f 46 41 54 5f 31 32 0d 0a 09 20 ITION_FAT_12... 5aa0: 20 20 20 7c 7c 20 28 74 20 26 20 7e 56 41 4c 49 || (t & ~VALI 5ab0: 44 5f 4e 54 46 54 29 20 3d 3d 20 50 41 52 54 49 D_NTFT) == PARTI 5ac0: 54 49 4f 4e 5f 46 41 54 5f 31 36 0d 0a 09 20 20 TION_FAT_16... 5ad0: 20 20 7c 7c 20 28 74 20 26 20 7e 56 41 4c 49 44 || (t & ~VALID 5ae0: 5f 4e 54 46 54 29 20 3d 3d 20 50 41 52 54 49 54 _NTFT) == PARTIT 5af0: 49 4f 4e 5f 49 46 53 0d 0a 09 20 20 20 20 7c 7c ION_IFS... || 5b00: 20 28 74 20 26 20 7e 56 41 4c 49 44 5f 4e 54 46 (t & ~VALID_NTF 5b10: 54 29 20 3d 3d 20 50 41 52 54 49 54 49 4f 4e 5f T) == PARTITION_ 5b20: 48 55 47 45 0d 0a 09 20 20 20 20 7c 7c 20 28 74 HUGE... || (t 5b30: 20 26 20 7e 56 41 4c 49 44 5f 4e 54 46 54 29 20 & ~VALID_NTFT) 5b40: 3d 3d 20 50 41 52 54 49 54 49 4f 4e 5f 46 41 54 == PARTITION_FAT 5b50: 33 32 0d 0a 09 20 20 20 20 7c 7c 20 28 74 20 26 32... || (t & 5b60: 20 7e 56 41 4c 49 44 5f 4e 54 46 54 29 20 3d 3d ~VALID_NTFT) == 5b70: 20 50 41 52 54 49 54 49 4f 4e 5f 46 41 54 33 32 PARTITION_FAT32 5b80: 5f 58 49 4e 54 31 33 0d 0a 09 20 20 20 20 7c 7c _XINT13... || 5b90: 20 28 74 20 26 20 7e 56 41 4c 49 44 5f 4e 54 46 (t & ~VALID_NTF 5ba0: 54 29 20 3d 3d 20 50 41 52 54 49 54 49 4f 4e 5f T) == PARTITION_ 5bb0: 58 49 4e 54 31 33 29 29 0d 0a 09 20 20 7c 7c 20 XINT13))... || 5bc0: 28 74 20 26 20 7e 50 41 52 54 49 54 49 4f 4e 5f (t & ~PARTITION_ 5bd0: 4e 54 46 54 29 20 3d 3d 20 50 41 52 54 49 54 49 NTFT) == PARTITI 5be0: 4f 4e 5f 46 41 54 5f 31 32 0d 0a 09 20 20 7c 7c ON_FAT_12... || 5bf0: 20 28 74 20 26 20 7e 50 41 52 54 49 54 49 4f 4e (t & ~PARTITION 5c00: 5f 4e 54 46 54 29 20 3d 3d 20 50 41 52 54 49 54 _NTFT) == PARTIT 5c10: 49 4f 4e 5f 46 41 54 5f 31 36 0d 0a 09 20 20 7c ION_FAT_16... | 5c20: 7c 20 28 74 20 26 20 7e 50 41 52 54 49 54 49 4f | (t & ~PARTITIO 5c30: 4e 5f 4e 54 46 54 29 20 3d 3d 20 50 41 52 54 49 N_NTFT) == PARTI 5c40: 54 49 4f 4e 5f 49 46 53 0d 0a 09 20 20 7c 7c 20 TION_IFS... || 5c50: 28 74 20 26 20 7e 50 41 52 54 49 54 49 4f 4e 5f (t & ~PARTITION_ 5c60: 4e 54 46 54 29 20 3d 3d 20 50 41 52 54 49 54 49 NTFT) == PARTITI 5c70: 4f 4e 5f 48 55 47 45 0d 0a 09 20 20 7c 7c 20 28 ON_HUGE... || ( 5c80: 74 20 26 20 7e 50 41 52 54 49 54 49 4f 4e 5f 4e t & ~PARTITION_N 5c90: 54 46 54 29 20 3d 3d 20 50 41 52 54 49 54 49 4f TFT) == PARTITIO 5ca0: 4e 5f 46 41 54 33 32 0d 0a 09 20 20 7c 7c 20 28 N_FAT32... || ( 5cb0: 74 20 26 20 7e 50 41 52 54 49 54 49 4f 4e 5f 4e t & ~PARTITION_N 5cc0: 54 46 54 29 20 3d 3d 20 50 41 52 54 49 54 49 4f TFT) == PARTITIO 5cd0: 4e 5f 46 41 54 33 32 5f 58 49 4e 54 31 33 0d 0a N_FAT32_XINT13.. 5ce0: 09 20 20 7c 7c 20 28 74 20 26 20 7e 50 41 52 54 . || (t & ~PART 5cf0: 49 54 49 4f 4e 5f 4e 54 46 54 29 20 3d 3d 20 50 ITION_NTFT) == P 5d00: 41 52 54 49 54 49 4f 4e 5f 58 49 4e 54 31 33 3b ARTITION_XINT13; 5d10: 0d 0a 7d 0d 0a 0d 0a 62 6f 6f 6c 20 49 73 43 6f ..}....bool IsCo 5d20: 6e 74 61 69 6e 65 72 50 61 72 74 69 74 69 6f 6e ntainerPartition 5d30: 28 42 59 54 45 20 74 29 20 7b 0d 0a 09 72 65 74 (BYTE t) {...ret 5d40: 75 72 6e 20 28 28 74 20 26 20 50 41 52 54 49 54 urn ((t & PARTIT 5d50: 49 4f 4e 5f 4e 54 46 54 29 0d 0a 09 20 20 26 26 ION_NTFT)... && 5d60: 20 28 28 74 20 26 20 7e 56 41 4c 49 44 5f 4e 54 ((t & ~VALID_NT 5d70: 46 54 29 20 3d 3d 20 50 41 52 54 49 54 49 4f 4e FT) == PARTITION 5d80: 5f 45 58 54 45 4e 44 45 44 0d 0a 09 20 20 20 20 _EXTENDED... 5d90: 7c 7c 20 28 74 20 26 20 7e 56 41 4c 49 44 5f 4e || (t & ~VALID_N 5da0: 54 46 54 29 20 3d 3d 20 50 41 52 54 49 54 49 4f TFT) == PARTITIO 5db0: 4e 5f 58 49 4e 54 31 33 5f 45 58 54 45 4e 44 45 N_XINT13_EXTENDE 5dc0: 44 29 29 0d 0a 09 20 20 7c 7c 20 28 74 20 26 20 D))... || (t & 5dd0: 7e 50 41 52 54 49 54 49 4f 4e 5f 4e 54 46 54 29 ~PARTITION_NTFT) 5de0: 20 3d 3d 20 50 41 52 54 49 54 49 4f 4e 5f 45 58 == PARTITION_EX 5df0: 54 45 4e 44 45 44 0d 0a 09 20 20 7c 7c 20 28 74 TENDED... || (t 5e00: 20 26 20 7e 50 41 52 54 49 54 49 4f 4e 5f 4e 54 & ~PARTITION_NT 5e10: 46 54 29 20 3d 3d 20 50 41 52 54 49 54 49 4f 4e FT) == PARTITION 5e20: 5f 58 49 4e 54 31 33 5f 45 58 54 45 4e 44 45 44 _XINT13_EXTENDED 5e30: 3b 0d 0a 7d 0d 0a ;..}..