Freigeben über


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

IRP_MJ_PNP

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)