KeInvalidateRangeAllCaches 函数 (ntddk.h)

KeInvalidateRangeAllCaches 例程从所有处理器缓存刷新指定的虚拟地址范围。

语法

void KeInvalidateRangeAllCaches(
  PVOID BaseAddress,
  ULONG Length
);

参数

BaseAddress

指向要刷新的区域基的指针。

Length

要刷新的区域的大小(以字节为单位)。

返回值

备注

KeInvalidateRangeAllCaches 例程刷新每个处理器缓存上的指定虚拟地址范围,并将每个缓存的内容标记为无效。 处理器缓存保证在 KeInvalidateRangeAllCaches 返回之前已完成刷新操作。

此函数在所有平台上都可用,并取代 KeInvalidateAllCaches。 并非所有体系结构(如 Arm64)都支持刷新整个缓存的可靠方法,因此 KeInvalidateAllCaches 并非在所有平台上都可用。 刷新受影响的特定内存范围也比整个缓存内容更高效。

此函数刷新同一基础物理内存的所有虚拟映射的缓存。

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 中可用。
最低受支持的服务器 在 Windows Server 2008 及更高版本的 Windows 中可用。
标头 ntddk.h
IRQL <= DISPATCH_LEVEL

另请参阅

KeInvalidateAllCaches