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
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.
If the operation succeeds, DeviceIoControl returns a nonzero value.
If the operation fails, DeviceIoControl returns a nonzero value. To get extended error information, call GetLastError.
The IOCTL_STORAGE_MEDIA_REMOVAL operation is valid only for devices that support removable media.
DeviceIoControl, IOCTL_STORAGE_EJECT_MEDIA, IOCTL_STORAGE_LOAD_MEDIA, PREVENT_MEDIA_REMOVAL