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

ExRundownCompletedCacheAware

ExSizeOfRundownProtectionCacheAware

ExWaitForRundownProtectionReleaseCacheAware

缓存感知的运行保护