IRP_MN_QUERY_RESOURCES

Der PnP-Manager verwendet dieses IRP, um die Startkonfigurationsressourcen eines Geräts abzurufen.

Bustreiber müssen diese Anforderung für ihre untergeordneten Geräte verarbeiten, die Hardwareressourcen erfordern. Funktions- und Filtertreiber verarbeiten diese IRP nicht.

Wert

0x0A

Hauptcode

IRP_MJ_PNP

Sendebedingungen

Der PnP-Manager sendet diesen IRP, wenn ein Gerät aufgezählt wird.

Der PnP-Manager sendet diese IRP an IRQL PASSIVE_LEVEL in einem beliebigen Threadkontext.

Eingabeparameter

Keine

Ausgabeparameter

Wird im E/A-status-Block zurückgegeben.

E/A-Statusblock

Ein Bustreiber, der dieses IRP verarbeitet, legt Irp-IoStatus.Status> auf STATUS_SUCCESS oder auf einen entsprechenden Fehler status fest.

Bei Erfolg legt ein Bustreiber Irp-IoStatus.Information> auf einen Zeiger auf eine CM_RESOURCE_LIST fest, die die angeforderten Informationen enthält. Bei einem Fehler legt der Bustreiber Irp-IoStatus.Information> auf Null fest.

Vorgang

Wenn ein Bustreiber als Reaktion auf diese IRP eine Ressourcenliste zurückgibt, wird ein CM_RESOURCE_LIST ausgelagertem Speicher zugeordnet. Der PnP-Manager gibt den Puffer frei, wenn er nicht mehr benötigt wird.

Wenn ein Gerät keine Hardwareressourcen benötigt, schließt der übergeordnete Bustreiber des Geräts die IRP (IoCompleteRequest) ab, ohne Irp-IoStatus.Status> oder Irp-IoStatus.Information> zu ändern.

Funktions- und Filtertreiber erhalten diese IRP nicht.

Unter Plug & Play finden Sie die allgemeinen Regeln für die Behandlung Plug & Play untergeordneten IRPs.

Senden dieses IRP

Ist für das System reserviert. Treiber dürfen diese IRP nicht senden.

Treiber können IoGetDeviceProperty aufrufen, um die Startkonfiguration für ein Gerät sowohl in roher als auch in übersetzter Form abzurufen.

Anforderungen

Header

Wdm.h (einschließen Wdm.h, Ntddk.h oder Ntifs.h)

Weitere Informationen

CM_RESOURCE_LIST

IoGetDeviceProperty