Condividi tramite


Funzione ExWaitForRundownProtectionRelease (wdm.h)

La routine ExWaitForRundownProtectionRelease attende fino a quando tutti i driver che hanno già concesso la protezione in fase 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 da run-down 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 a cui si accede 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 in modo sicuro l'oggetto.

Dopo aver chiamato ExWaitForRundownProtectionRelease , la routine ExAcquireRundownProtection non concede ulteriori richieste di protezione da driver che tentano di accedere all'oggetto condiviso. La routine attende di restituire fino a quando tutti i driver che in precedenza avevano concesso la protezione di run-down completano l'accesso all'oggetto. Al termine di ogni driver, chiama la routine ExReleaseRundownProtection per rilasciare la protezione precedentemente acquisita. Al termine di tutti gli accessi in sospeso, ExWaitForRundownProtectionRelease restituisce e l'oggetto può essere eliminato in modo sicuro.

Se ExWaitForRundownProtectionRelease viene chiamato quando tutti i driver che sono stati concessi in precedenza hanno già completato l'accesso all'oggetto condiviso, la routine modifica lo stato dell'oggetto da eseguire e restituisce immediatamente, senza attendere.

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

Per altre informazioni, vedere Run-Down Protection.

Requisiti

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 HwStorPortProhibitedDDDIs(storport), SpNoWait(storport)

Vedi anche

EX_RUNDOWN_REF

ExAcquireRundownProtection

ExInitializeRundownProtection

ExReleaseRundownProtection