Freigeben über


ExWaitForRundownProtectionRelease-Funktion (wdm.h)

Die ExWaitForRundownProtectionRelease-Routine wartet, bis alle Treiber, denen bereits ein Rundownschutz gewährt wurde, ihre Zugriffe auf das freigegebene Objekt abschließen.

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 heruntergefahrenen Schutzroutinen verwenden diese Struktur, um den heruntergefahrenen status des zugeordneten freigegebenen Objekts nachzuverfolgen. Diese Struktur ist für Treiber undurchsichtig.

Rückgabewert

Keine

Bemerkungen

Diese Routine wird vom Treiber aufgerufen, der ein Objekt besitzt, das sich im freigegebenen Arbeitsspeicher befindet und auf das andere Treiber zugreifen. Vor dem Löschen dieses Objekts muss der besitzereigene Treiber diese Routine aufrufen, um zu warten, bis alle ausstehenden Zugriffe auf das Objekt abgeschlossen sind. 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 Rundownschutz von Treibern, die versuchen, auf das freigegebene Objekt zuzugreifen. Die Routine wartet, bis alle Treiber, denen zuvor der Rundownschutz gewährt wurde, den Zugriff auf das Objekt beenden. Wenn jeder Treiber abgeschlossen ist, ruft er die ExReleaseRundownProtection-Routine auf, um den zuvor erworbenen Rundownschutz freizugeben. Wenn alle ausstehenden Zugriffe abgeschlossen sind, wird ExWaitForRundownProtectionRelease zurückgegeben, und das Objekt kann sicher gelöscht werden.

Wenn ExWaitForRundownProtectionRelease aufgerufen wird, wenn alle Treiber, denen zuvor der Rundownschutz gewährt wurde, bereits den Zugriff auf das freigegebene Objekt abgeschlossen haben, ändert die Routine das Objekt status, um heruntergefahren zu werden, und gibt sofort ohne Wartezeit zurück.

Wenn ExWaitForRundownProtectionRelease aufgerufen wird, um ein freigegebenes Objekt auszuführen, der RunRef-Parameter jedoch angibt, dass dieses Objekt bereits heruntergefahren ist, hat der Aufruf keine Auswirkung, wird aber nicht als Fehler behandelt.

Weitere Informationen finden Sie unter Run-Down Protection.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows XP.
Zielplattform Universell
Header wdm.h (einschließen von Wdm.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDDIs(storport), SpNoWait(storport)

Weitere Informationen

EX_RUNDOWN_REF

ExAcquireRundownProtection

ExInitializeRundownProtection

ExReleaseRundownProtection