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


IRP_MN_QUERY_RESOURCES

Диспетчер PnP использует этот IRP для получения ресурсов конфигурации загрузки устройства.

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

Значение

0x0A

Основной код

IRP_MJ_PNP

При отправке

Диспетчер PnP отправляет это IRP при перечислении устройства.

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

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

Нет

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

Возвращается в блоке состояния ввода-вывода.

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

Драйвер автобуса, обрабатывающий этот IRP, устанавливает Irp-IoStatus.Status> в значение STATUS_SUCCESS или соответствующее состояние ошибки.

При успешном выполнении водитель автобуса задает Irp-IoStatus.Information> указатель на CM_RESOURCE_LIST, содержащий запрошенные сведения. При возникновении ошибки драйвер шины устанавливает значение Irp-IoStatus.Information> равным нулю.

Операция

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

Если устройство не требует аппаратных ресурсов, драйвер родительской шины устройства завершает IRP (IoCompleteRequest) без изменения Irp-IoStatus.Status> или Irp-IoStatus.Information>.

Драйверы функций и фильтров не получают этот IRP.

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

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

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

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

Требования

Заголовок

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

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

CM_RESOURCE_LIST

IoGetDeviceProperty