ExInitializeRundownProtectionCacheAware 函数 (wdm.h)
此例程初始化缓存感知的运行保护对象。
语法
void ExInitializeRundownProtectionCacheAware(
[out] PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware,
[in] SIZE_T RunRefSize
);
参数
[out] RunRefCacheAware
指向调用方提供的缓冲区的指针,其中例程返回不透明 EX_RUNDOWN_REF_CACHE_AWARE 结构。 有关详细信息,请参阅“备注”。
[in] RunRefSize
指定运行保护对象的大小(以字节为单位)。
返回值
没有
言论
运行保护是 Windows 内核用来安全地清理可能由多个线程访问的资源的同步机制。
此函数针对受保护资源的访问模式可感知缓存的方案进行优化,这意味着同一线程可能会重复访问资源,并且不同的线程可能会访问资源的不同部分。 通过使用此函数而不是 ExInitializeRundownProtection,驱动程序可以减少缓存争用的可能性,其中多个线程争用相同的缓存行,从而导致性能下降。
此函数通常在驱动程序的初始化阶段使用,当它设置它需要运行的资源时。 驱动程序针对需要通过缓存感知的运行保护保护的每个资源调用此函数。
EX_RUNDOWN_REF_CACHE_AWARE 结构是一种不透明结构,用于管理运行保护。 调用方应首先调用 ExSizeOfRundownProtectionCacheAware 来确定运行保护对象的适当大小。 然后,应使用此大小为 RunRefCacheAware 参数分配缓冲区,并作为 RunRefSize 参数传递。
要求
要求 | 价值 |
---|---|
支持的最低服务器 | Windows Server 2003 Service Pack 1 |
标头 | wdm.h (包括 Wdm.h) |
IRQL | <= APC_LEVEL |
另请参阅
ExAcquireRundownProtectionCacheAware
ExAcquireRundownProtectionCacheAwareEx
ExAllocateCacheAwareRundownProtection
ExFreeCacheAwareRundownProtection
ExReInitializeRundownProtectionCacheAware
ExReleaseRundownProtectionCacheAware
ExReleaseRundownProtectionCacheAwareEx
ExSizeOfRundownProtectionCacheAware