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) |