Поделиться через


Обработка запросов PnP к периферийным устройствам хранилища

Подпрограмма DispatchPnP драйвера класса хранения отвечает за следующее в ответ на запросы PnP:

  • Запуск устройства в ответ на запрос на запуск (IRP_MJ_PNP с IRP_MN_START_DEVICE). См. раздел Обработка запуска PnP в драйвере класса хранилища.

  • Удаление устройства в ответ на запрос на удаление (IRP_MJ_PNP с IRP_MN_REMOVE_DEVICE). См. раздел Процедура RemoveDevice драйвера класса хранения.

  • Если его устройство может содержать системный файл подкачки, сохраняйте количество уведомлений о путях разбиения по страницам в расширении устройства в ответ на запрос уведомления о разбиении по страницам (IRP_MJ_PNP с IRP_MN_DEVICE_USAGE_NOTIFICATION) и переадресуйте запрос следующему драйверу ниже.

  • Обработка запросов на удаление и остановку запросов, а также, если устройство содержит системный файл подкачки или файл гибернации, такие запросы завершаются ошибкой. Драйвер также может завершить запрос на удаление запроса, если его устройство запрашивается для аварийного дампа, так как удаление такого устройства отключает аварийный дамп.

Драйвер класса хранения перенаправит запросы PnP, отмены и остановки (за исключением неудачных запросов) следующему более низкому драйверу.