共用方式為


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