Data Structures |
| struct | PDISK_CONTROLLER_NUMBER |
| struct | PDISK_INT13_INFO |
| struct | PDISK_EX_INT13_INFO |
| struct | PDISK_DETECTION_INFO |
| struct | PDISK_GEOMETRY |
| struct | PDISK_GEOMETRY_EX |
| struct | PPARTITION_INFORMATION |
| struct | PPARTITION_INFORMATION_GPT |
| struct | PDISK_PARTITION_INFO |
| struct | PDISK_PERFORMANCE |
| struct | PPARTITION_INFORMATION_MBR |
| struct | PPARTITION_INFORMATION_EX |
| struct | PDRIVE_LAYOUT_INFORMATION |
| struct | PDRIVE_LAYOUT_INFORMATION_MBR |
| struct | PDRIVE_LAYOUT_INFORMATION_GPT |
| struct | PDRIVE_LAYOUT_INFORMATION_EX |
| struct | PFORMAT_EX_PARAMETERS |
| struct | PFORMAT_PARAMETERS |
| struct | PGET_LENGTH_INFORMATION |
| struct | PREASSIGN_BLOCKS |
| struct | PSET_PARTITION_INFORMATION |
| struct | PSET_PARTITION_INFORMATION_EX |
| struct | PVERIFY_INFORMATION |
| struct | LPGETVERSIONINPARAMS |
| struct | LPIDEREGS |
| struct | LPSENDCMDINPARAMS |
| struct | LPDRIVERSTATUS |
| struct | LPSENDCMDOUTPARAMS |
| struct | PMAPPED_ADDRESS |
Defines |
| #define | __GNU_EXTENSION |
| #define | DD_DISK_DEVICE_NAME "\\Device\\UNKNOWN" |
| #define | DD_DISK_DEVICE_NAME_U L"\\Device\\UNKNOWN" |
| #define | IOCTL_DISK_BASE FILE_DEVICE_DISK |
| #define | IOCTL_DISK_CHECK_VERIFY CTL_CODE(IOCTL_DISK_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS) |
| #define | IOCTL_DISK_CONTROLLER_NUMBER CTL_CODE(IOCTL_DISK_BASE, 0x0011, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_CREATE_DISK CTL_CODE(IOCTL_DISK_BASE, 0x0016, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) |
| #define | IOCTL_DISK_DELETE_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE, 0x0040, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) |
| #define | IOCTL_DISK_FIND_NEW_DEVICES CTL_CODE(IOCTL_DISK_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS) |
| #define | IOCTL_DISK_FORMAT_TRACKS CTL_CODE(IOCTL_DISK_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) |
| #define | IOCTL_DISK_FORMAT_TRACKS_EX CTL_CODE(IOCTL_DISK_BASE, 0x000b, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) |
| #define | IOCTL_DISK_GET_CACHE_INFORMATION CTL_CODE(IOCTL_DISK_BASE, 0x0035, METHOD_BUFFERED, FILE_READ_ACCESS) |
| #define | IOCTL_DISK_GET_DRIVE_GEOMETRY CTL_CODE(IOCTL_DISK_BASE, 0x0000, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_GET_DRIVE_GEOMETRY_EX CTL_CODE(IOCTL_DISK_BASE, 0x0028, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_GET_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS) |
| #define | IOCTL_DISK_GET_DRIVE_LAYOUT_EX CTL_CODE(IOCTL_DISK_BASE, 0x0014, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_GET_MEDIA_TYPES CTL_CODE(IOCTL_DISK_BASE, 0x0300, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_GET_LENGTH_INFO CTL_CODE(IOCTL_DISK_BASE, 0x0017, METHOD_BUFFERED, FILE_READ_ACCESS) |
| #define | IOCTL_DISK_GET_PARTITION_INFO CTL_CODE(IOCTL_DISK_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS) |
| #define | IOCTL_DISK_GET_PARTITION_INFO_EX CTL_CODE(IOCTL_DISK_BASE, 0x0012, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_GROW_PARTITION CTL_CODE(IOCTL_DISK_BASE, 0x0034, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) |
| #define | IOCTL_DISK_HISTOGRAM_STRUCTURE CTL_CODE(IOCTL_DISK_BASE, 0x000c, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_HISTOGRAM_DATA CTL_CODE(IOCTL_DISK_BASE, 0x000d, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_HISTOGRAM_RESET CTL_CODE(IOCTL_DISK_BASE, 0x000e, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_INTERNAL_CLEAR_VERIFY CTL_CODE(IOCTL_DISK_BASE, 0x0101, METHOD_NEITHER, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_INTERNAL_SET_VERIFY CTL_CODE(IOCTL_DISK_BASE, 0x0100, METHOD_NEITHER, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_IS_WRITABLE CTL_CODE(IOCTL_DISK_BASE, 0x0009, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_LOGGING CTL_CODE(IOCTL_DISK_BASE, 0x000a, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_PERFORMANCE CTL_CODE(IOCTL_DISK_BASE, 0x0008, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_PERFORMANCE_OFF CTL_CODE(IOCTL_DISK_BASE, 0x0018, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_REASSIGN_BLOCKS CTL_CODE(IOCTL_DISK_BASE, 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) |
| #define | IOCTL_DISK_REQUEST_DATA CTL_CODE(IOCTL_DISK_BASE, 0x0010, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_REQUEST_STRUCTURE CTL_CODE(IOCTL_DISK_BASE, 0x000f, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | IOCTL_DISK_MEDIA_REMOVAL CTL_CODE(IOCTL_DISK_BASE, 0x0201, METHOD_BUFFERED, FILE_READ_ACCESS) |
| #define | IOCTL_DISK_EJECT_MEDIA CTL_CODE(IOCTL_DISK_BASE, 0x0202, METHOD_BUFFERED, FILE_READ_ACCESS) |
| #define | IOCTL_DISK_LOAD_MEDIA CTL_CODE(IOCTL_DISK_BASE, 0x0203, METHOD_BUFFERED, FILE_READ_ACCESS) |
| #define | IOCTL_DISK_RESERVE CTL_CODE(IOCTL_DISK_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS) |
| #define | IOCTL_DISK_RELEASE CTL_CODE(IOCTL_DISK_BASE, 0x0205, METHOD_BUFFERED, FILE_READ_ACCESS) |
| #define | IOCTL_DISK_FIND_NEW_DEVICES CTL_CODE(IOCTL_DISK_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS) |
| #define | IOCTL_DISK_SET_CACHE_INFORMATION CTL_CODE(IOCTL_DISK_BASE, 0x0036, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) |
| #define | OBSOLETE_DISK_GET_WRITE_CACHE_STATE CTL_CODE(IOCTL_DISK_BASE, 0x0037, METHOD_BUFFERED, FILE_READ_ACCESS) |
| #define | IOCTL_DISK_SET_DRIVE_LAYOUT CTL_CODE(IOCTL_DISK_BASE, 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) |
| #define | IOCTL_DISK_SET_DRIVE_LAYOUT_EX CTL_CODE(IOCTL_DISK_BASE, 0x0015, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) |
| #define | IOCTL_DISK_SET_PARTITION_INFO CTL_CODE(IOCTL_DISK_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) |
| #define | IOCTL_DISK_SET_PARTITION_INFO_EX CTL_CODE(IOCTL_DISK_BASE, 0x0013, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) |
| #define | IOCTL_DISK_UPDATE_DRIVE_SIZE CTL_CODE(IOCTL_DISK_BASE, 0x0032, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) |
| #define | IOCTL_DISK_VERIFY CTL_CODE(IOCTL_DISK_BASE, 0x0005, METHOD_BUFFERED, FILE_ANY_ACCESS) |
| #define | SMART_GET_VERSION CTL_CODE(IOCTL_DISK_BASE, 0x0020, METHOD_BUFFERED, FILE_READ_ACCESS) |
| #define | SMART_RCV_DRIVE_DATA CTL_CODE(IOCTL_DISK_BASE, 0x0022, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) |
| #define | SMART_SEND_DRIVE_COMMAND CTL_CODE(IOCTL_DISK_BASE, 0x0021, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) |
| #define | PARTITION_ENTRY_UNUSED 0x00 |
| #define | PARTITION_FAT_12 0x01 |
| #define | PARTITION_XENIX_1 0x02 |
| #define | PARTITION_XENIX_2 0x03 |
| #define | PARTITION_FAT_16 0x04 |
| #define | PARTITION_EXTENDED 0x05 |
| #define | PARTITION_HUGE 0x06 |
| #define | PARTITION_IFS 0x07 |
| #define | PARTITION_OS2BOOTMGR 0x0A |
| #define | PARTITION_FAT32 0x0B |
| #define | PARTITION_FAT32_XINT13 0x0C |
| #define | PARTITION_XINT13 0x0E |
| #define | PARTITION_XINT13_EXTENDED 0x0F |
| #define | PARTITION_PREP 0x41 |
| #define | PARTITION_LDM 0x42 |
| #define | PARTITION_UNIX 0x63 |
| #define | VALID_NTFT 0xC0 |
| #define | PARTITION_NTFT 0x80 |
| #define | IsFTPartition(PartitionType) |
| #define | IsContainerPartition(PartitionType) |
| #define | IsRecognizedPartition(PartitionType) |
| #define | WMI_DISK_GEOMETRY_GUID {0x25007f51, 0x57c2, 0x11d1, {0xa5, 0x28, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0x10}} |
| #define | DiskGeometryGetPartition(Geometry) ((PDISK_PARTITION_INFO)((Geometry) + 1)) |
| #define | DiskGeometryGetDetect(Geometry) |
| #define | CAP_ATA_ID_CMD 1 |
| #define | CAP_ATAPI_ID_CMD 2 |
| #define | CAP_SMART_CMD 4 |
| #define | ATAPI_ID_CMD 0xA1 |
| #define | ID_CMD 0xEC |
| #define | SMART_CMD 0xB0 |
| #define | SMART_CYL_LOW 0x4F |
| #define | SMART_CYL_HI 0xC2 |
| #define | SMART_NO_ERROR 0 |
| #define | SMART_IDE_ERROR 1 |
| #define | SMART_INVALID_FLAG 2 |
| #define | SMART_INVALID_COMMAND 3 |
| #define | SMART_INVALID_BUFFER 4 |
| #define | SMART_INVALID_DRIVE 5 |
| #define | SMART_INVALID_IOCTL 6 |
| #define | SMART_ERROR_NO_MEM 7 |
| #define | SMART_INVALID_REGISTER 8 |
| #define | SMART_NOT_SUPPORTED 9 |
| #define | SMART_NO_IDE_DEVICE 10 |
| #define | SMART_OFFLINE_ROUTINE_OFFLINE 0 |
| #define | SMART_SHORT_SELFTEST_OFFLINE 1 |
| #define | SMART_EXTENDED_SELFTEST_OFFLINE 2 |
| #define | SMART_ABORT_OFFLINE_SELFTEST 127 |
| #define | SMART_SHORT_SELFTEST_CAPTIVE 129 |
| #define | SMART_EXTENDED_SELFTEST_CAPTIVE 130 |
| #define | READ_ATTRIBUTE_BUFFER_SIZE 512 |
| #define | IDENTIFY_BUFFER_SIZE 512 |
| #define | READ_THRESHOLD_BUFFER_SIZE 512 |
| #define | SMART_LOG_SECTOR_SIZE 512 |
| #define | READ_ATTRIBUTES 0xD0 |
| #define | READ_THRESHOLDS 0xD1 |
| #define | ENABLE_DISABLE_AUTOSAVE 0xD2 |
| #define | SAVE_ATTRIBUTE_VALUES 0xD3 |
| #define | EXECUTE_OFFLINE_DIAGS 0xD4 |
| #define | SMART_READ_LOG 0xD5 |
| #define | SMART_WRITE_LOG 0xd6 |
| #define | ENABLE_SMART 0xD8 |
| #define | DISABLE_SMART 0xD9 |
| #define | RETURN_SMART_STATUS 0xDA |
| #define | ENABLE_DISABLE_AUTO_OFFLINE 0xDB |
Typedefs |
| typedef USHORT | BAD_TRACK_NUMBER |
| typedef USHORT * | PBAD_TRACK_NUMBER |
| typedef enum _MEDIA_TYPE * | PMEDIA_TYPE |
| typedef SET_PARTITION_INFORMATION | SET_PARTITION_INFORMATION_MBR |
| typedef PARTITION_INFORMATION_GPT | SET_PARTITION_INFORMATION_GPT |
Enumerations |
| enum | MEDIA_TYPE {
Unknown,
F5_1Pt2_512,
F3_1Pt44_512,
F3_2Pt88_512,
F3_20Pt8_512,
F3_720_512,
F5_360_512,
F5_320_512,
F5_320_1024,
F5_180_512,
F5_160_512,
RemovableMedia,
FixedMedia,
F3_120M_512,
F3_640_512,
F5_640_512,
F5_720_512,
F3_1Pt2_512,
F3_1Pt23_1024,
F5_1Pt23_1024,
F3_128Mb_512,
F3_230Mb_512,
F8_256_128,
Unknown,
F5_1Pt2_512,
F3_1Pt44_512,
F3_2Pt88_512,
F3_20Pt8_512,
F3_720_512,
F5_360_512,
F5_320_512,
F5_320_1024,
F5_180_512,
F5_160_512,
RemovableMedia,
FixedMedia,
F3_120M_512,
F3_640_512,
F5_640_512,
F5_720_512,
F3_1Pt2_512,
F3_1Pt23_1024,
F5_1Pt23_1024,
F3_128Mb_512,
F3_230Mb_512,
F8_256_128,
F3_200Mb_512,
F3_240M_512,
F3_32M_512
} |
| enum | DETECTION_TYPE {
DetectNone,
DetectInt13,
DetectExInt13,
DetectNone,
DetectInt13,
DetectExInt13
} |
| enum | PARTITION_STYLE {
PARTITION_STYLE_MBR,
PARTITION_STYLE_GPT,
PARTITION_STYLE_RAW,
PARTITION_STYLE_MBR,
PARTITION_STYLE_GPT,
PARTITION_STYLE_RAW
} |