Ограничения, накладываемые на WDM драйверы спецификацией PnP
Для того чтобы соответствовать драйверной модели WDM, драйвер обязан поддерживать обработку специфичных PnP IRP пакетов, каких конкретно — это определяется конкретным типом объекта устройства — не-шинный FDO, шинный FDO и PDO. Во всяком случае, IRP пакеты с приведенными в таблице кодами IRP_MN_Xxx должны поддерживаться драйверами всех типов.
Таблица 9.11. Суб-коды IRP_MN_Xxx
IRP_MN_Xxx | Значение | |
IRP_MN_START_DEVICE | (Ре)Инициализация устройства с заданными ресурсами | |
IRP_MN_QUERY_STOP_DEVICE | Осуществима ли остановка устройства для возможного переопределения ресурсов? | |
IRP_MN_STOP_DEVICE | Остановка устройства с потенциальной возможностью перезапуска или удаления из системы | |
IRP_MN_CANCEL_STOP_DEVICE | Уведомляет, что предыдущий запрос QUERY_STOP не получит дальнейшего развития | |
IRP_MN_QUERY_REMOVE_DEVICE | Может ли быть выполнено безопасное удаление устройства в текущий момент? | |
IRP_MN_REMOVE_DEVICE | Выполнить работу, обратную работе AddDevice | |
IRP_MN_CANCEL_REMOVE_DEVICE | Уведомляет, что предыдущий запрос QUERY_REMOVE не получит дальнейшего развития | |
IRP_MN_SURPRISE_REMOVAL | Уведомляет, что устройство было удалено без предварительного предупреждения |