IOCTL_STORAGE_MCN_CONTROL IOCTL (ntddstor.h)
暂时启用或禁用在可移动媒体设备上GUID_IO_MEDIA_ARRIVAL和GUID_IO_MEDIA_REMOVAL传送自定义 PnP 事件。 这反过来又启用或禁用设备的媒体更改检测(自动播放),前提是调用方已打开具有FILE_READ_ATTRIBUTES访问权限的设备,并且设备已在注册表中启用自动播放。 调用方不得打开设备进行读取或写入访问,否则 IOCTL作将失败。 此 IOCTL 对注册表中的“自动播放”设置没有影响。
此类可移动媒体设备的驱动程序必须执行以下作:
- 在设备对象扩展中保留每个物理设备禁用请求的计数。
- 使用此 IOCTL 调用时,如果设置了禁用媒体更改检测的标志,则递增计数;如果标志明确,则递减计数。
- 仅当禁用请求计数为零时,才更改媒体状态时,为设备设置媒体更改事件。
主要代码
输入缓冲区
Irp->AssociatedIrp.SystemBuffer 的缓冲区包含布尔值,TRUE 指示驱动程序应禁用媒体更改检测。
输入缓冲区长度
布尔值的长度。
输出缓冲区
没有。
输出缓冲区长度
没有。
状态块
信息 字段设置为零。 状态 字段设置为STATUS_SUCCESS,或者可能设置为STATUS_BUFFER_TOO_SMALL、STATUS_INVALID_PARAMETER或STATUS_INVALID_DEVICE_STATE。
要求
要求 | 价值 |
---|---|
标头 | ntddstor.h (包括 Ntddstor.h) |