IRP_MN_SET_LOCK
Bustreiber müssen diese IRP für ihre untergeordneten Geräte (untergeordnete PDOs) verarbeiten, die gerätesperren unterstützen. Funktions- und Filtertreiber verarbeiten diese Anforderung nicht.
Wert
0x12
Hauptcode
Sendebedingungen
Der PnP-Manager sendet diese IRP an die Treiber, um das Gerät zu sperren und das Auswerfen des Geräts zu verhindern oder das Gerät zu entsperren.
Der PnP-Manager sendet diese IRP bei IRQL PASSIVE_LEVEL in einem beliebigen Threadkontext.
Eingabeparameter
Das Parameters.SetLock.Lock-Element der IO_STACK_LOCATION-Struktur ist ein BOOLEAN-Wert, der angibt, ob das Gerät gesperrt (TRUE) oder entsperrt (FALSE) werden soll.
Ausgabeparameter
Keine
E/A-Statusblock
Ein Bustreiber legt Irp-IoStatus.Status> auf STATUS_SUCCESS oder auf einen entsprechenden Fehler status fest.
Bei Erfolg legt ein Treiber Irp-IoStatus.Information> auf Null fest.
Wenn ein Bustreiber diese IRP nicht verarbeitet, bleibt Irp-IoStatus.Status> unverändert und schließt die IRP ab.
Funktions- und Filtertreiber verarbeiten diese IRP nicht. Solche Treiber rufen IoSkipCurrentIrpStackLocation auf und übergeben den IRP an den nächsten Treiber. Funktions- und Filtertreiber legen keine IoCompletion-Routine fest, ändern Irp-IoStatus> nicht und dürfen die IRP nicht abschließen.
Vorgang
Wenn ein Treiber erfolgreich für diese IRP zurückgibt, stellt er sicher, dass das Gerät vor Abschluss der IRP gesperrt oder entsperrt wurde.
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) |