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 ExWaitForRundownProtectionReleaseCacheAware Routine wartet, bis alle Treiber, denen bereits cachebasierter Run-down-Schutz gewährt wurde, ihre Zugriffe auf das freigegebene Objekt abgeschlossen haben.
Syntax
void ExWaitForRundownProtectionReleaseCacheAware(
[in, out] PEX_RUNDOWN_REF_CACHE_AWARE RunRef
);
Parameter
[in, out] RunRef
Ein Zeiger auf eine EX_RUNDOWN_REF_CACHE_AWARE Struktur, die durch einen vorherigen Aufruf von ExAllocateCacheAwareRundownProtection oder ExInitializeRundownProtectionCacheAwareinitialisiert wurde. Die cachefähigen 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 ExWaitForRundownProtectionReleaseCacheAware zurückgegeben wurde, kann der besitzereigene Treiber das Objekt sicher löschen.
Nachdem ExWaitForRundownProtectionReleaseCacheAware aufgerufen wurde, gewährt die ExAcquireRundownProtectionCacheAware Routine keine weiteren Anforderungen für cachefähigen Run-down-Schutz von Treibern, die versuchen, auf das freigegebene Objekt zuzugreifen.
Die Routine wartet auf die Rückgabe, bis alle Treiber, die zuvor cachefähigen Run-down-Schutz gewährt wurden, den Zugriff auf das Objekt abgeschlossen haben. Sobald jeder Treiber abgeschlossen ist, ruft er die ExReleaseRundownProtectionCacheAware Routine auf, um den zuvor erworbenen Cache-fähigen Run-Down-Schutz freizugeben. Wenn alle ausstehenden Zugriffe abgeschlossen sind, ExWaitForRundownProtectionReleaseCacheAware zurückgegeben und das Objekt kann sicher gelöscht werden.
Wenn ExWaitForRundownProtectionReleaseCacheAware aufgerufen wird, wenn alle Zuvor gewährten Treiber den Zugriff auf das freigegebene Objekt bereits abgeschlossen haben, ändert die Routine den Objektstatus in ausführenausgeführt wird und sofort zurückgegeben wird, ohne warten zu müssen.
Wenn ExWaitForRundownProtectionReleaseCacheAware 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 cachefähigen Run-Down-Schutz.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Server- | Windows Server 2003, Service Pack 1 |
Header- | wdm.h (include Wdm.h) |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), SpNoWait(storport) |
Siehe auch
ExAcquireRundownProtectionCacheAware-
ExAcquireRundownProtectionCacheAwareEx
ExAllocateCacheAwareRundownProtection
ExFreeCacheAwareRundownProtection
ExInitializeRundownProtectionCacheAware-
ExReInitializeRundownProtectionCacheAware
ExReleaseRundownProtectionCacheAware