다음을 통해 공유


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