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