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 |