ExWaitForRundownProtectionRelease-Funktion (wdm.h)

Die ExWaitForRundownProtectionRelease-Routine wartet, bis alle Treiber, die bereits run-down-Schutz gewährt wurden, 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 von einem vorherigen Aufruf der ExInitializeRundownProtection-Routine initialisiert wurde. Die Ausführungsschutzroutine verwenden diese Struktur, um den Ausführungsstatus 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 Speicher befindet und von anderen Treibern zugegriffen wird. Vor dem Löschen dieses Objekts muss der besitzereigene Treiber diese Routine aufrufen, um auf ausstehende 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 Ausführungsschutz vor Treibern, die versuchen, auf das freigegebene Objekt zuzugreifen. Die Routine wartet auf die Rückgabe, bis alle Treiber, die zuvor dem Ausführungsschutz gewährt wurden, 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, gibt ExWaitForRundownProtectionRelease zurück, und das Objekt kann sicher gelöscht werden.

Wenn ExWaitForRundownProtectionRelease aufgerufen wird, wenn alle Treiber, die zuvor dem Run-Down-Schutz erteilt wurden, bereits den Zugriff auf das freigegebene Objekt abgeschlossen haben, ändert die Routine den Objektstatus so, dass er ausgeführt wird, und gibt sofort zurück, ohne warten zu müssen.

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

   
Unterstützte Mindestversion (Client) Ab Windows XP verfügbar.
Zielplattform Universell
Header wdm.h (include Wdm.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), SpNoWait(storport)

Siehe auch

EX_RUNDOWN_REF

ExAcquireRundownProtection

ExInitializeRundownProtection

ExReleaseRundownProtection