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
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) |