IOCTL_DISK_GET_PARTITION_INFO_EX IOCTL (winioctl.h)
Retrieves extended information about the type, size, and nature of a disk partition.
To perform this operation, call the DeviceIoControl function with the following parameters.
BOOL DeviceIoControl(
(HANDLE) hDevice, // handle to a partition
IOCTL_DISK_GET_PARTITION_INFO_EX, // dwIoControlCode
NULL, // lpInBuffer
0, // nInBufferSize
(LPVOID) lpOutBuffer, // output buffer
(DWORD) nOutBufferSize, // size of output buffer
(LPDWORD) lpBytesReturned, // number of bytes returned
(LPOVERLAPPED) lpOverlapped // OVERLAPPED structure
);
Remarks
The IOCTL_DISK_GET_PARTITION_INFO_EX control code is supported on basic disks. It is only supported on dynamic disks that are boot or system disks, or have retained entries in the partition table. The DiskPart.exe command RETAIN can be used to do this for other dynamic simple partitions.
The disk support can be summarized as follows.
Disk type | IOCTL_DISK_GET_PARTITION_INFO | IOCTL_DISK_GET_PARTITION_INFO_EX |
---|---|---|
Basic master boot record (MBR) | Yes | Yes |
Basic GUID partition table (GPT) | No | Yes |
Dynamic MBR boot/system | Yes | Yes |
Dynamic MBR data | Yes | No |
Dynamic GPT boot/system | No | Yes |
Dynamic GPT data | No | No |
Currently, GPT is supported only on 64-bit systems.
If the partition is on a disk formatted as type master boot record (MBR), partition size totals are limited. For more information, see the Remarks section of IOCTL_DISK_SET_DRIVE_LAYOUT.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows XP [desktop apps only] |
Minimum supported server | Windows Server 2003 [desktop apps only] |
Header | winioctl.h (include Windows.h) |