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