Condividi tramite


Funzione ExWaitForRundownProtectionReleaseCacheAware (wdm.h)

La routine ExWaitForRundownProtectionReleaseCacheAware attende fino a quando tutti i driver a cui è già stata concessa la protezione di run-down compatibile con la cache completano gli accessi dell'oggetto condiviso.

Sintassi

void ExWaitForRundownProtectionReleaseCacheAware(
  [in, out] PEX_RUNDOWN_REF_CACHE_AWARE RunRef
);

Parametri

[in, out] RunRef

Puntatore a una struttura EX_RUNDOWN_REF_CACHE_AWARE inizializzata da una chiamata precedente a ExAllocateCacheAwareRundownProtection o ExInitializeRundownProtectionCacheAware. Le routine di protezione con riconoscimento della cache usano questa struttura per tenere traccia dello stato di esecuzione dell'oggetto condiviso associato. Questa struttura è opaca per i driver.

Valore restituito

Nessuno

Osservazioni

Questa routine viene chiamata dal driver proprietario di un oggetto che risiede nella memoria condivisa e accessibile da altri driver. Prima di eliminare questo oggetto, il driver proprietario deve chiamare questa routine per attendere il completamento di eventuali accessi in sospeso dell'oggetto. Dopo restituito exWaitForRundownProtectionReleaseCacheAware, il driver proprietario può eliminare l'oggetto in modo sicuro.

Dopo viene chiamato il ExWaitForRundownProtectionReleaseCacheAware, il ExAcquireRundownProtectionCacheAware routine non concede ulteriori richieste di protezione dell'esecuzione compatibile con la cache dai driver che tentano di accedere all'oggetto condiviso.

La routine attende di tornare fino a quando tutti i driver a cui è stata concessa in precedenza la protezione con riconoscimento della cache terminano l'accesso all'oggetto. Al termine di ogni driver, chiama la ExReleaseRundownProtectionCacheAware routine per rilasciare la protezione di run-down in grado di riconoscimento della cache acquisita in precedenza. Al termine di tutti gli accessi in sospeso, ExWaitForRundownProtectionReleaseCacheAware restituisce e l'oggetto può essere eliminato in modo sicuro.

Se viene chiamato exWaitForRundownProtectionReleaseCacheAware quando tutti i driver a cui è già stata concessa la protezione di run-down hanno già terminato l'accesso all'oggetto condiviso, la routine modifica lo stato dell'oggetto in e restituisce immediatamente, senza attendere.

Se viene chiamato exWaitForRundownProtectionReleaseCacheAware per eseguire un oggetto condiviso, ma il parametro RunRef indica che l'oggetto è già in esecuzione, la chiamata non ha alcun effetto ma non viene considerata come un errore.

Per altre informazioni, vedere protezione run-down compatibile con la cache.

Fabbisogno

Requisito Valore
server minimo supportato Windows Server 2003, Service Pack 1
intestazione wdm.h (include Wdm.h)
regole di conformità DDI HwStorPortProhibitedDDIs(storport), SpNoWait(storport)

Vedere anche

ExAcquireRundownProtectionCacheAware

ExAcquireRundownProtectionCacheAwareEx

exAllocateCacheAwareRundownProtection

ExFreeCacheAwareRundownProtection

ExInitializeRundownProtectionCacheAware

ExReInitializeRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAwareEx

ExRundownCompletedCacheAware

ExSizeOfRundownProtectionCacheAware