Partager via


ExInitializeRundownProtectionCacheAware, fonction (wdm.h)

Cette routine initialise un objet de protection rundown prenant en compte le cache.

Syntaxe

void ExInitializeRundownProtectionCacheAware(
  [out] PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware,
  [in]  SIZE_T                      RunRefSize
);

Paramètres

[out] RunRefCacheAware

Pointeur vers une mémoire tampon fournie par l’appelant où la routine retourne une structure de EX_RUNDOWN_REF_CACHE_AWARE opaque. Pour plus d’informations, consultez les remarques.

[in] RunRefSize

Spécifie la taille, en octets, de l’objet de protection d’exécution.

Valeur de retour

Aucun

Remarques

La protection de rundown est un mécanisme de synchronisation utilisé par le noyau Windows pour nettoyer en toute sécurité les ressources accessibles par plusieurs threads.

Cette fonction est optimisée pour les scénarios où les modèles d’accès à une ressource protégée sont conscients du cache, ce qui signifie que le même thread est susceptible d’accéder à la ressource à plusieurs reprises, et différents threads sont susceptibles d’accéder à différentes parties de la ressource. En utilisant cette fonction plutôt qu’ExInitializeRundownProtection, un pilote peut réduire la probabilité de contention du cache, où plusieurs threads concurrencent les mêmes lignes de cache, ce qui entraîne une dégradation des performances.

Cette fonction est généralement utilisée pendant la phase d’initialisation d’un pilote, lorsqu’elle configure les ressources dont elle a besoin pour fonctionner. Le pilote appelle cette fonction pour chaque ressource qui doit être protégée par la protection d’exécution prenant en charge le cache.

La structure EX_RUNDOWN_REF_CACHE_AWARE est une structure opaque utilisée pour gérer la protection d’exécution. L’appelant doit d’abord appeler ExSizeOfRundownProtectionCacheAware pour déterminer la taille appropriée pour l’objet de protection rundown. Cette taille doit ensuite être utilisée pour allouer une mémoire tampon pour le paramètre RunRefCacheAware et également passée en tant que paramètre RunRefSize.

Exigences

Exigence Valeur
serveur minimum pris en charge Windows Server 2003, Service Pack 1
d’en-tête wdm.h (include Wdm.h)
IRQL <= APC_LEVEL

Voir aussi

ExAcquireRundownProtectionCacheAware

ExAcquireRundownProtectionCacheAwareEx

ExAllocateCacheAwareRundownProtection

ExFreeCacheAwareRundownProtection

ExReInitializeRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAware

ExReleaseRundownProtectionCacheAwareEx

ExRundownCompletedCacheAware

ExSizeOfRundownProtectionCacheAware

ExWaitForRundownProtectionReleaseCacheAware

protection d’exécution prenant en compte le cache