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


IRP_MN_QUERY_STOP_DEVICE

Все драйверы PnP должны обрабатывать этот IRP.

Значение

0x05

Основной код

IRP_MJ_PNP

При отправке

Диспетчер PnP отправляет этот IRP, чтобы запросить, можно ли остановить устройство для повторной балансировки ресурсов.

В Windows 98/Me диспетчер PnP также отправляет этот IRP при отключении устройства.

Диспетчер PnP отправляет этот IRP на PASSIVE_LEVEL IRQL в контексте системного потока.

Входные параметры

Нет

Выходные параметры

Нет

Блок состояния ввода-вывода

Драйвер задает Irp-IoStatus.Status> значение STATUS_SUCCESS или соответствующее состояние ошибки. Если драйвер не может остановить устройство, драйвер устанавливает для Irp-IoStatus.Status> значение STATUS_UNSUCCESSFUL.

Драйвер шины может задать для Irp-IoStatus.Status> значение STATUS_RESOURCE_REQUIREMENTS_CHANGED, чтобы указать на успешное выполнение IRP, а также запросить, чтобы диспетчер PnP повторно запросил требования к ресурсам для устройства перед отправкой остановки IRP.

Операция

Этот IRP сначала обрабатывается драйвером в верхней части стека устройств, а затем передается каждому нижнему драйверу в стеке.

В ответ на этот IRP драйвер указывает, безопасно ли остановить устройство для перебалансирования ресурсов.

Общие правила обработки Plug and Play дополнительных irp см. в Plug and Play.

Отправка этого IRP

Зарезервировано для системного использования. Драйверы не должны отправлять этот IRP.

Требования

Заголовок

Wdm.h (включая Wdm.h, Ntddk.h или Ntifs.h)

См. также раздел

IRP_MN_CANCEL_STOP_DEVICE

IRP_MN_DEVICE_USAGE_NOTIFICATION

IRP_MN_START_DEVICE

IRP_MN_STOP_DEVICE