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 |