Freigeben über


ExWaitForRundownProtectionReleaseCacheAware-Funktion (wdm.h)

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

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 ExInitializeRundownProtectionCacheAware initialisiert wurde. Die Cache-fähigen Rundownschutzroutinen verwenden diese Struktur, um die ausgeführte status des zugeordneten freigegebenen Objekts nachzuverfolgen. Diese Struktur ist für Treiber undurchsichtig.

Rückgabewert

Keine

Bemerkungen

Diese Routine wird von dem Treiber aufgerufen, der ein Objekt besitzt, das sich im freigegebenen Speicher befindet und auf das von anderen Treibern zugegriffen wird. Vor dem Löschen dieses Objekts muss der besitzende Treiber diese Routine aufrufen, um auf ausstehende Zugriffe auf das Objekt zu warten. Nachdem ExWaitForRundownProtectionReleaseCacheAware zurückgegeben wurde, kann der besitzende Treiber das Objekt sicher löschen.

Nachdem ExWaitForRundownProtectionReleaseCacheAware aufgerufen wurde, gewährt die ExAcquireRundownProtectionCacheAware-Routine keine weiteren Anforderungen für cachefähigen Rundownschutz von Treibern, die versuchen, auf das freigegebene Objekt zuzugreifen.

Die Routine wartet auf die Rückgabe, bis alle Treiber, denen zuvor ein cachefähiger Herunterlaufschutz gewährt wurde, den Zugriff auf das Objekt beenden. Wenn jeder Treiber abgeschlossen ist, ruft er die ExReleaseRundownProtectionCacheAware-Routine auf, um den zuvor erworbenen cachefähigen Rundownschutz freizugeben. Wenn alle ausstehenden Zugriffe abgeschlossen sind, gibt ExWaitForRundownProtectionReleaseCacheAware zurück, und das Objekt kann sicher gelöscht werden.

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

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

Weitere Informationen finden Sie unter Cache-fähiger Rundownschutz.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Server) Windows Server 2003, Service Pack 1
Kopfzeile wdm.h (wdm.h einschließen)
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), SpNoWait(storport)

Weitere Informationen

ExAcquireRundownProtectionCacheAware

ExAcquireRundownProtectionCacheAwareEx

ExAllocateCacheAwareRundownProtection

ExFreeCacheAwareRundownProtection

ExInitializeRundownProtectionCacheAware

ExReInitializeRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAwareEx

ExRundownCompletedCacheAware

ExSizeOfRundownProtectionCacheAware