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