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) |