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 usano questa struttura per tenere traccia dello stato di esecuzione dell'oggetto condiviso associato. Questa struttura è opaca per i driver.

Valore restituito

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

Commenti

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 di esecuzione è attiva. Quando è attiva la protezione da esecuzione, il driver può accedere in modo sicuro all'oggetto senza rischiare che l'oggetto venga eliminato prima del completamento dell'accesso.

Se il blocco di esecuzione stesso non viene eseguito in pagine, 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 restituisceFALSE, 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.For more information, see 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 <= DISPATCH_LEVEL (vedere la sezione Osservazioni)
Regole di conformità DDI HwStorPortProhibitedDDIs(storport)

Vedi anche

EX_RUNDOWN_REF

ExInitializeRundownProtection

ExReleaseRundownProtection