Funzione ExInitializeRundownProtectionCacheAware (wdm.h)
Questa routine inizializza un oggetto protezione rundown compatibile con la cache.
Sintassi
void ExInitializeRundownProtectionCacheAware(
[out] PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware,
[in] SIZE_T RunRefSize
);
Parametri
[out] RunRefCacheAware
Puntatore a un buffer fornito dal chiamante in cui la routine restituisce una struttura EX_RUNDOWN_REF_CACHE_AWARE opaca. Per ulteriori informazioni, vedere la sezione Osservazioni.
[in] RunRefSize
Specifica le dimensioni, in byte, dell'oggetto protezione rundown.
Valore restituito
nessuno
Osservazioni
La protezione del rundown è un meccanismo di sincronizzazione usato dal kernel di Windows per pulire in modo sicuro le risorse a cui è possibile accedere da più thread.
Questa funzione è ottimizzata per gli scenari in cui i modelli di accesso a una risorsa protetta sono sensibili alla cache, il che significa che è probabile che lo stesso thread accinga ripetutamente alla risorsa e thread diversi possano accedere a parti diverse della risorsa. Usando questa funzione anziché ExInitializeRundownProtection, un driver può ridurre la probabilità di contesa della cache, in cui più thread competono per le stesse righe della cache, causando una riduzione delle prestazioni.
Questa funzione viene in genere usata durante la fase di inizializzazione di un driver, quando configura le risorse necessarie per funzionare. Il driver chiama questa funzione per ogni risorsa che deve essere protetta dalla protezione del rundown compatibile con la cache.
La struttura EX_RUNDOWN_REF_CACHE_AWARE è una struttura opaca usata per gestire la protezione del rundown. Il chiamante deve prima chiamare ExSizeOfRundownProtectionCacheAware per determinare le dimensioni appropriate per l'oggetto protezione rundown. Questa dimensione deve quindi essere usata per allocare un buffer per il parametro RunRefCacheAware e anche passato come parametro RunRefSize .
Requisiti
Requisito | Valore |
---|---|
Server minimo supportato | Windows Server 2003, Service Pack 1 |
Intestazione | wdm.h (include Wdm.h) |
IRQL | <= APC_LEVEL |
Vedi anche
ExAcquireRundownProtectionCacheAware
ExAcquireRundownProtectionCacheAwareEx
ExAllocateCacheAwareRundownProtection
ExFreeCacheAwareRundownProtection
ExReInitializeRundownProtectionCacheAware
ExReleaseRundownProtectionCacheAware
ExReleaseRundownProtectionCacheAwareEx
ExSizeOfRundownProtectionCacheAware