Funzione ExAcquireRundownProtectionEx (wdm.h)
La routine ExAcquireRundownProtectionEx 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 ExAcquireRundownProtectionEx(
[in, out] PEX_RUNDOWN_REF RunRef,
[in] ULONG Count
);
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.
[in] Count
Quantità in base alla quale incrementare il numero di istanze di run-down dell'oggetto. Il conteggio viene incrementato solo se la routine restituisce TRUE. Per altre informazioni, vedere Osservazioni
Valore restituito
exAcquireRundownProtectionEx 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 ExAcquireRundownProtectionEx per acquisire la protezione di run-down sull'oggetto.
Il parametro RunRef punta a una struttura EX_RUNDOWN_REF che tiene traccia dello stato di esecuzione dell'oggetto associato. Queste informazioni sullo stato includono un conteggio delle istanze di protezione di run-down attualmente applicate all'oggetto. Il ExAcquireRundownProtectionEx e ExReleaseRundownProtectionEx incrementa e decrementa questo conteggio in base a importi arbitrari. Due routine correlate, ExAcquireRundownProtection e ExReleaseRundownProtection, incrementa e decrementa questo conteggio di uno.
Purché il blocco di run-down stesso non sia di pagina, questa funzione può essere chiamata in DISPATCH_LEVEL.
Per altre informazioni, vedere Run-Down Protection.