The IOCTL_DISK_GET_DRIVE_LAYOUT DeviceIoControl operation returns information about the number of partitions on a disk and the features of each partition.
dwIoControlCode = IOCTL_DISK_GET_DRIVE_LAYOUT; // operation code lpInBuffer = NULL; // address of input buffer; not used; must be NULL nInBufferSize = 0; // size of input buffer; not used; must be zero lpOutBuffer ; // address of output buffer nOutBufferSize ; // size of output buffer lpBytesReturned ; // address of actual bytes of output
If the operation succeeds, DeviceIoControl returns a nonzero value.
If the operation fails, DeviceIoControl returns zero. To get extended error information, call GetLastError.
This device I/O control operation is for disk devices. Floppy disk drivers, however, do not need to handle this operation.
DeviceIoControl, DRIVE_LAYOUT_INFORMATION, IOCTL_DISK_SET_DRIVE_LAYOUT, PARTITION_INFORMATION