Freigeben über


ExWaitForRundownProtectionRelease-Funktion (wdm.h)

Die ExWaitForRundownProtectionRelease Routine wartet, bis alle Treiber, denen bereits run-down-Schutz gewährt wurde, ihre Zugriffe auf das freigegebene Objekt abgeschlossen haben.

Syntax

VOID ExWaitForRundownProtectionRelease(
  [in, out] PEX_RUNDOWN_REF RunRef
);

Parameter

[in, out] RunRef

Ein Zeiger auf eine EX_RUNDOWN_REF Struktur, die durch einen vorherigen Aufruf der ExInitializeRundownProtection Routine initialisiert wurde. Die Ausführungsschutzroutinen verwenden diese Struktur, um den Ausführungsstatus des zugeordneten freigegebenen Objekts nachzuverfolgen. Diese Struktur ist für Treiber nicht transparent.

Rückgabewert

Nichts

Bemerkungen

Diese Routine wird vom Treiber aufgerufen, der ein Objekt besitzt, das sich im freigegebenen Speicher befindet und von anderen Treibern aufgerufen wird. Vor dem Löschen dieses Objekts muss der besitzereigene Treiber diese Routine aufrufen, um auf alle ausstehenden Zugriffe des Objekts zu warten. Nachdem ExWaitForRundownProtectionRelease zurückgegeben wurde, kann der besitzereigene Treiber das Objekt sicher löschen.

Nachdem ExWaitForRundownProtectionRelease aufgerufen wurde, gewährt die ExAcquireRundownProtection Routine keine weiteren Anforderungen für den Abwärtsschutz von Treibern, die versuchen, auf das freigegebene Objekt zuzugreifen. Die Routine wartet auf die Rückgabe, bis alle Zuvor gewährten Treiber den Zugriff auf das Objekt abgeschlossen haben. Sobald jeder Treiber abgeschlossen ist, ruft er die ExReleaseRundownProtection- Routine auf, um den zuvor erworbenen Run-Down-Schutz freizugeben. Wenn alle ausstehenden Zugriffe abgeschlossen sind, ExWaitForRundownProtectionRelease zurückgegeben und das Objekt kann sicher gelöscht werden.

Wenn ExWaitForRundownProtectionRelease aufgerufen wird, wenn alle Zuvor gewährten Treiber den Zugriff auf das freigegebene Objekt bereits abgeschlossen haben, ändert die Routine den Objektstatus in ausgeführt wird und sofort zurückgegeben wird, ohne darauf zu warten.

Wenn ExWaitForRundownProtectionRelease aufgerufen wird, um ein freigegebenes Objekt auszuführen, aber der RunRef Parameter gibt an, dass dieses Objekt bereits ausgeführt wird, hat der Aufruf keine Auswirkung, wird aber nicht als Fehler behandelt.

Weitere Informationen finden Sie unter Run-Down Protection.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar ab Windows XP.
Zielplattform- Universal
Header- wdm.h (include Wdm.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), SpNoWait(storport)

Siehe auch

EX_RUNDOWN_REF

ExAcquireRundownProtection

ExInitializeRundownProtection

ExReleaseRundownProtection