IOCTL_DISK_GET_DRIVE_LAYOUT  XMIBYX 

The IOCTL_DISK_GET_DRIVE_LAYOUT DeviceIoControl64IE_Y8 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

 

Parameters

lpInBuffer

Points to an input buffer. Not used with this operation. Set to NULL.

nInBufferSize

Specifies the size, in bytes, of the buffer pointed to by lpInBuffer. Not used with this operation. Set to zero.

lpOutBuffer

Points to a buffer that will receive a DRIVE_LAYOUT_INFORMATIONPMGEQ_ structure and a series of PARTITION_INFORMATIONSGI9H6 structures, one of the latter for each partition on the drive.

nOutBufferSize

Specifies the size, in bytes, of the buffer pointed to by lpOutBuffer, which must be large enough to contain one DRIVE_LAYOUT_INFORMATION data structure and as many PARTITION_INFORMATION data structures as there are partitions on the drive.

lpBytesReturned

Points to a DWORD that receives the actual size, in bytes, of the data stored into lpOutBuffer.

 

Return Values

If the operation succeeds, DeviceIoControl64IE_Y8 returns TRUE.

If the operation fails, DeviceIoControl returns FALSE. To get extended error information, call GetLastError11C2VS7.

Remarks

This device I/O control operation is for disk devices. Floppy disk drivers, however, do not need to handle this operation.

See Also

DeviceIoControl, DRIVE_LAYOUT_INFORMATION, IOCTL_DISK_SET_DRIVE_LAYOUT, PARTITION_INFORMATION