IOCTL_STORAGE_MEDIA_REMOVAL DeviceIoControl操作启用或禁用弹出介质的机制,对于具有该锁定功能的设备。
dwIoControlCode = IOCTL_STORAGE_MEDIA_REMOVAL; //操作代码
lpInBuffer; //输入缓冲区的地址
nInBufferSize; //输入缓冲区的大小
lpOutBuffer = NULL; //输出缓冲区的地址不曾用过;必须为NULL
nOutBufferSize = 0; //输出缓冲区的大小不曾用过;必须为零
lpBytesReturned; //输出的实际字节的地址
参数
【lpInBuffer】
指向包含PREVENT_MEDIA_REMOVAL数据结构的缓冲区。
该结构的PreventMediaRemoval成员的TRUE值指定禁止介质删除(设备已锁定)。FALSE值指定允许介质移除。
【nInBufferSize】
指定由【lpInBuffer】指向的缓冲区的大小(以字节为单位),该大小必须足够大以包含PREVENT_MEDIA_REMOVAL数据结构。
【lpOutBuffer】
指向输出缓冲区。不用于此操作。设置为NULL。
【nOutBufferSize】
指定【lpOutBuffer】指向的缓冲区的大小(以字节为单位)。不用于此操作。设置为零。
【lpBytesReturned】
指向DWORD,它接收存储在【lpOutBuffer】中的数据的实际大小(以字节为单位)。
返回值
如果操作成功,DeviceIoControl返回TRUE。
如果操作失败,DeviceIoControl返回FALSE。要获取扩展错误信息,请调用GetLastError.
备注
IOCTL_STORAGE_MEDIA_REMOVAL操作仅适用于支持可移动媒体的设备。
也可以看看
DeviceIoControl, IOCTL_STORAGE_EJECT_MEDIA, IOCTL_STORAGE_LOAD_MEDIA, PREVENT_MEDIA_REMOVAL