IOCTL_DISK_GET_DRIVE_LAYOUT
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
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_INFORMATION structure and a series of PARTITION_INFORMATION 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, DeviceIoControl returns TRUE.
If the
operation fails, DeviceIoControl returns FALSE. To get extended error
information, call GetLastError.
Remarks
This device
I/O control operation is for disk devices. Floppy disk drivers, however, do not
need to handle this operation.
See Also