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


IRP_MN_CANCEL_STOP_DEVICE

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

Значение

0x06

Основной код

IRP_MJ_PNP

При отправке

Диспетчер PnP отправляет этот IRP в какой-то момент после IRP_MN_QUERY_STOP_DEVICE, чтобы сообщить драйверам устройства о том, что устройство не будет отключено (только Windows 98/Me) или остановлено для перенастройки ресурсов.

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

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

Нет

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

Нет

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

Драйвер должен задать для Irp-IoStatus.Status> значение STATUS_SUCCESS для этого IRP. Если драйвер не выполняет этот IRP, устройство остается в несогласованном состоянии.

Операция

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

В ответ на этот IRP драйверы возвращают устройство в запущенное состояние. Драйверы запускают все irP, которые были проведены, когда устройство находилось в состоянии ожидания остановки.

Если устройство уже находится в активном состоянии, когда драйвер получает этот IRP, драйвер функции или фильтра просто устанавливает состояние успешно и передает IRP следующему драйверу. Водитель родительского автобуса завершает IRP. Для такого IRP отмены и остановки драйвер функции или фильтра не должен задавать подпрограмму завершения.

Подробные сведения об обработке stop IRP и общие правила обработки всех Plug and Play незначительных IRP см. в Plug and Play.

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

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

Требования

Заголовок

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

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

IRP_MN_QUERY_STOP_DEVICE