CcPurgeCacheSection 함수(ntifs.h)

CcPurgeCacheSection 루틴은 시스템 캐시에서 캐시된 파일의 전부 또는 일부를 제거합니다.

구문

BOOLEAN CcPurgeCacheSection(
  [in]           PSECTION_OBJECT_POINTERS SectionObjectPointer,
  [in, optional] PLARGE_INTEGER           FileOffset,
  [in]           ULONG                    Length,
                 ULONG                    Flags
);

매개 변수

[in] SectionObjectPointer

파일 개체의 섹션 개체 포인터를 포함하는 구조체에 대한 포인터입니다.

[in, optional] FileOffset

데이터를 제거할 캐시된 파일 내의 시작 바이트 오프셋을 지정하는 변수에 대한 포인터입니다.

FileOffsetNULL이면 전체 파일이 캐시에서 제거됩니다.

FileOffsetNULL이 아니면 FileOffsetLength로 지정된 바이트 범위만 제거됩니다.

[in] Length

FileOffset부터 제거할 바이트 범위의 길이입니다. Length가 0이면 FileOffset에서 파일 끝까지의 범위가 제거됩니다. FileOffsetNULL이면 Length는 무시됩니다.

Flags

파일 데이터를 제거하기 전에 파일에 대한 프라이빗 캐시 맵을 초기화하려면 TRUE 로 설정합니다.

반환 값

캐시된 파일 데이터가 성공적으로 제거되면 CcPurgeCacheSectionTRUE를 반환하고, 그렇지 않으면 FALSE를 반환합니다.

설명

파일 시스템은 CcPurgeCacheSection 을 호출하여 캐시에서 부실 데이터를 제거합니다. 예를 들어 파일이 잘렸지만 삭제되지 않은 경우 CcPurgeCacheSection 을 호출하여 더 이상 파일의 일부가 아닌 캐시된 데이터를 제거해야 합니다.

CcPurgeCacheSection 은 매핑된 파일을 제거하지 않습니다.

CcPurgeCacheSection을 호출하기 전에 호출자는 파일을 독점적으로 획득하고 호출자를 포함한 스레드가 파일의 바이트 범위를 매핑하거나 고정하지 않았는지 확인해야 합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

추가 정보

CcFlushCache

CcInitializeCacheMap

CcIsFileCached

CcUninitializeCacheMap

MmFlushImageSection