IOCTL_STORAGE_MCN_CONTROL IOCTL (ntddstor.h)
Временно включает или отключает доставку пользовательских событий PnP GUID_IO_MEDIA_ARRIVAL и GUID_IO_MEDIA_REMOVAL на съемных носителях. Это, в свою очередь, включает или отключает обнаружение изменений мультимедиа (автозапуск) для устройства, если вызывающий объект открыл устройство с доступом 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) |