Condividi tramite


Funzione ExAcquireRundownProtection (wdm.h)

La routine ExAcquireRundownProtection tenta di acquisire la protezione di run-down su un oggetto condiviso in modo che il chiamante possa accedere in modo sicuro all'oggetto.

Sintassi

BOOLEAN ExAcquireRundownProtection(
  [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

exAcquireRundownProtection restituisce TRUE se la routine acquisisce correttamente la protezione di run-down per il chiamante. In caso contrario, restituisce FALSE. Un valore restituito di FALSE indica che l'esecuzione dell'oggetto è stata avviata e che l'oggetto deve essere considerato non valido.

Osservazioni

Per accedere in modo sicuro a un oggetto condiviso, un driver chiama ExAcquireRundownProtection per acquisire la protezione di run-down sull'oggetto. La routine restituisce TRUE per indicare che la protezione da run-down è attiva. Quando è attiva la protezione da run-down, il driver può accedere in modo sicuro all'oggetto senza rischiare che l'oggetto venga eliminato prima del completamento dell'accesso.

Purché il blocco di run-down stesso non sia di pagina, questa funzione può essere chiamata in DISPATCH_LEVEL.

Dopo aver completato l'accesso, il driver chiama ExReleaseRundownProtection per rilasciare la protezione di run-down acquisita in precedenza.

Se exAcquireRundownProtection restituisce FALSE, l'oggetto non è più accessibile. Ad esempio, se l'oggetto deve essere sostituito con un nuovo oggetto, il chiamante deve attendere che il proprietario dell'oggetto crei il nuovo oggetto e quindi negoziare l'accesso al nuovo oggetto.

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 <= DISPATCH_LEVEL (vedere la sezione Note)
regole di conformità DDI HwStorPortProhibitedDDIs(storport)

Vedere anche

EX_RUNDOWN_REF

ExInitializeRundownProtection

exReleaseRundownProtection