IRP_MN_QUERY_PNP_DEVICE_STATE
Funktions-, Filter- und Bustreiber können diese Anforderung verarbeiten.
Wert47
0x14
Hauptcode
Sendebedingungen
Der PnP-Manager sendet diese IRP, nachdem die Treiber für ein Gerät erfolgreich von der IRP_MN_START_DEVICE Anforderung zurückgegeben wurden, die beim ersten Starten eines Geräts gesendet wurde. Diese IRP wird bei einem Start nach einem Stopp für das erneute Ausgleichen der Ressourcen nicht gesendet. Der PnP-Manager sendet diese IRP auch, wenn ein Treiber für das Gerät IoInvalidateDeviceState aufruft.
Der PnP-Manager sendet diese IRP bei IRQL PASSIVE_LEVEL im Kontext eines beliebigen Threads.
Eingabeparameter
Keine
Ausgabeparameter
Wird im E/A-status-Block zurückgegeben.
E/A-Statusblock
Ein Treiber legt Irp-IoStatus.Status> auf STATUS_SUCCESS oder auf einen entsprechenden Fehler status wie STATUS_UNSUCCESSFUL fest.
Bei Erfolg legt ein Treiber Irp-IoStatus.Information> auf eine PNP_DEVICE_STATE Bitmaske fest.
Wenn ein Funktions- oder Filtertreiber diese IRP nicht verarbeitet, ruft er IoSkipCurrentIrpStackLocation auf, legt keine IoCompletion-Routine fest und übergibt den IRP an den nächsten Treiber. Ein solcher Treiber darf Irp-IoStatus> nicht ändern und darf die IRP nicht abschließen.
Wenn ein Bustreiber diese IRP nicht verarbeitet, bleibt Irp-IoStatus.Status> unverändert und schließt die IRP ab.
Vorgang
Diese IRP wird zuerst vom Treiber am oberen Rand des Gerätestapels und dann von jedem nächstniedrigten Treiber im Stapel verarbeitet.
Ein Treiber verarbeitet diese IRP, wenn er Informationen zum PnP-Zustand eines Geräts enthält. Ein Treiber kann die Flags in der PNP_DEVICE_STATE Bitmaske festlegen oder löschen. Wenn ein anderer Treiber eine PNP_DEVICE_STATE in Irp-IoStatus.Information> festgelegt hat, muss ein Treiber darauf achten, die Flags in dieser Bitmaske zu ändern, anstatt die gesamte Struktur zu überschreiben.
Die allgemeinen Regeln für die Behandlung Plug & Play untergeordneten IRPs finden Sie unter Plug & Play.
Senden dieses IRP
Ist für das System reserviert. Treiber dürfen diese IRP nicht senden.
Anforderungen
Header |
Wdm.h (einschließlich Wdm.h, Ntddk.h oder Ntifs.h) |