Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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) |