IoAcquireRemoveLock-Makro (wdm.h)
Die IoAcquireRemoveLock-Routine erhöht die Anzahl für eine Entfernungssperre, was angibt, dass das zugeordnete Geräteobjekt nicht vom Gerätestapel getrennt oder gelöscht werden soll.
Syntax
NTSTATUS
IoAcquireRemoveLock (
_Inout_ PIO_REMOVE_LOCK RemoveLock,
_In_opt_ PVOID Tag
);
Parameter
[in] RemoveLock
Zeiger auf eine IO_REMOVE_LOCK Struktur, die der Aufrufer mit einem vorherigen Aufruf von IoInitializeRemoveLock initialisiert hat.
[in, optional] Tag
Zeigt optional auf ein vom Aufrufer bereitgestelltes Tag, das diesen instance des Abrufens der Entfernungssperre identifiziert. Beispielsweise legt eine Treiber dispatch-Routine diesen Parameter in der Regel auf einen Zeiger auf die IRP fest, die von der Routine verarbeitet wird.
Wenn ein Treiber ein Tag für einen Aufruf von IoAcquireRemoveLock angibt, muss der Treiber dasselbe Tag im entsprechenden Aufruf von IoReleaseRemoveLock angeben.
Das Tag muss nicht eindeutig sein, sondern sollte beim Debuggen sinnvoll sein.
Rückgabewert
Keine
Bemerkungen
Das IoAcquireRemoveLock-Makro umschließt und übernimmt den Rückgabewert von IoAcquireRemoveLockEx, der NTSTATUS zurückgibt:
Rückgabewert | BESCHREIBUNG |
---|---|
STATUS_SUCCESS | Gibt an, dass der Aufruf erfolgreich war. |
STATUS_DELETE_PENDING | Fehlerwert, der angibt, dass der Treiber eine IRP_MN_REMOVE_DEVICE für das Gerät erhalten und IoReleaseRemoveLockandWait aufgerufen hat. Diese Routine wartet darauf, dass alle Entfernungssperren gelöscht werden, bevor die Steuerung an den Treiber zurückgegeben wird. |
Wenn die Routine einen Wert außer STATUS_SUCCESS zurückgibt, starten Sie keine neuen Vorgänge auf dem Gerät.
Ein Treiber muss eine Remove-Sperre mit einem Aufruf von IoInitializeRemoveLock initialisieren, bevor die Sperre verwendet wird.
Ein Treiber muss IoReleaseRemoveLock aufrufen, um die Sperre zu lösen, wenn sie nicht mehr benötigt wird.
Weitere Informationen finden Sie unter Verwenden von Sperren entfernen.
Anforderungen
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für