Condividi tramite


Funzione ExWaitForRundownProtectionRelease (wdm.h)

La routine ExWaitForRundownProtectionRelease attende fino a quando tutti i driver a cui è già stata concessa la protezione di esecuzione completano gli accessi dell'oggetto condiviso.

Sintassi

void ExWaitForRundownProtectionRelease(
  [in, out] PEX_RUNDOWN_REF RunRef
);

Parametri

[in, out] RunRef

Puntatore a una struttura EX_RUNDOWN_REF inizializzata da una chiamata precedente alla routine ExInitializeRundownProtection. Le routine di protezione di run-down utilizzano 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 aver restituito exWaitForRundownProtectionRelease, il driver proprietario può eliminare l'oggetto in modo sicuro.

Dopo viene chiamato il ExWaitForRundownProtectionRelease, la routine ExAcquireRundownProtection non concede ulteriori richieste di protezione dall'esecuzione da 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 di esecuzione terminano l'accesso all'oggetto. Al termine di ogni driver, chiama la routine di ExReleaseRundownProtection per rilasciare la protezione di run-down acquisita in precedenza. Al termine di tutti gli accessi in sospeso, ExWaitForRundownProtectionRelease restituisce e l'oggetto può essere eliminato in modo sicuro.

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

Se viene chiamato exWaitForRundownProtectionRelease 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 Run-Down Protection.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows XP.
piattaforma di destinazione Universale
intestazione wdm.h (include Wdm.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe
IRQL <= APC_LEVEL
regole di conformità DDI HwStorPortProhibitedDDIs(storport), SpNoWait(storport)

Vedere anche

EX_RUNDOWN_REF

exAcquireRundownProtection

ExInitializeRundownProtection

exReleaseRundownProtection