IOCTL_STORAGE_MEDIA_REMOVAL

The IOCTL_STORAGE_MEDIA_REMOVAL DeviceIoControl operation enables or disables the mechanism that ejects media, for those devices possessing that locking capability.

dwIoControlCode = IOCTL_STORAGE_MEDIA_REMOVAL; // operation code

lpInBuffer; // address of input buffer

nInBufferSize; // size of input buffer

lpOutBuffer = NULL; // address of output buffer; not used; must be NULL

nOutBufferSize = 0; // size of output buffer; not used; must be zero

lpBytesReturned; // address of actual bytes of output

Parameters

lpInBuffer

Points to a buffer that contains a PREVENT_MEDIA_REMOVAL data structure.

A TRUE value for that structure's PreventMediaRemoval member specifies that media removal is prevented (the device is locked). A FALSE value specifies that media removal is allowed.

nInBufferSize

Specifies the size, in bytes, of the buffer pointed to by lpInBuffer, which must be large enough to contain a PREVENT_MEDIA_REMOVAL data structure.

lpOutBuffer

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

nOutBufferSize

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

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

The IOCTL_STORAGE_MEDIA_REMOVAL operation is valid only for devices that support removable media.

See Also

DeviceIoControl, IOCTL_STORAGE_EJECT_MEDIA, IOCTL_STORAGE_LOAD_MEDIA, PREVENT_MEDIA_REMOVAL