IOCTL_DISK_GET_PARTITION_INFO IOCTL

Retrieves information about the type, size, and nature of a disk partition.

Note  IOCTL_DISK_GET_PARTITION_INFO is superseded by IOCTL_DISK_GET_PARTITION_INFO_EX, which retrieves partition information for AT and Extensible Firmware Interface (EFI) partitions.
 
To perform this operation, call the DeviceIoControl function with the following parameters.
C++
BOOL DeviceIoControl( (HANDLE) hDevice,                // handle to a partition
                      IOCTL_DISK_GET_PARTITION_INFO,   // dwIoControlCode(LPVOID) NULL,                   // lpInBuffer(DWORD) 0,                       // nInBufferSize(LPVOID) lpOutBuffer,            // output buffer
                      (DWORD) nOutBufferSize,          // size of output buffer
                      (LPDWORD) lpBytesReturned,       // number of bytes returned
                      (LPOVERLAPPED) lpOverlapped );   // OVERLAPPED structure

Major code

IRP_MJ_DEVICE_CONTROL

Input buffer

Input buffer length

Output buffer

Output buffer length

Input / Output buffer

Input / Output buffer length

Status block

Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful.

Otherwise, Status to the appropriate error condition as a NTSTATUS code.

For more information, see NTSTATUS Values.

Remarks

The IOCTL_DISK_GET_PARTITION_INFO control code is only supported on MBR-formatted disks.

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

   
Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Header winioctl.h (include Windows.h)

See also

DeviceIoControl

Disk Management Control Codes

File System Recognition

IOCTL_DISK_GET_PARTITION_INFO_EX

IOCTL_DISK_SET_PARTITION_INFO

PARTITION_INFORMATION