The IOCTL_STORAGE_GET_MEDIA_TYPES DeviceIoControl operation returns information about the types of media a device driver supports.
dwIoControlCode = IOCTL_STORAGE_GET_MEDIA_TYPES; // 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 an array of DISK_GEOMETRY data structures specifying the media types the device driver supports.
nOutBufferSize
Specifies the size, in bytes, of the buffer pointed to by lpOutBuffer, which must be large enough to contain as many DISK_GEOMETRY structures as there are media that the driver supports.
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 all class drivers, as well as non-small computer system interface (SCSI) hard drives and floppy disk devices.
See Also
DeviceIoControl, DISK_GEOMETRY, IOCTL_DISK_GET_DRIVE_GEOMETRY