FltFlushBuffers 함수(fltkernel.h)

FltFlushBuffers 루틴은 미니필터 드라이버에서 지정된 파일에 대한 플러시 요청을 파일 시스템에 보내는 데 사용됩니다. FltFlushBuffers2를 사용하여 다른 플러시 유형 옵션을 지정합니다.

구문

NTSTATUS FLTAPI FltFlushBuffers(
  [in] PFLT_INSTANCE Instance,
  [in] PFILE_OBJECT  FileObject
);

매개 변수

[in] Instance

호출자에 대한 불투명 instance 포인터입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

[in] FileObject

플러시할 파일에 대한 파일 개체 포인터입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

반환 값

FltFlushBuffers는 STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.

반환 코드 설명
STATUS_MEDIA_WRITE_PROTECTED
파일은 쓰기로 보호되는 볼륨에 상주합니다. 오류 코드입니다.
STATUS_VOLUME_DISMOUNTED
파일은 현재 탑재되지 않은 볼륨에 있습니다. 오류 코드입니다.

설명

미니필터 드라이버는 FltFlushBuffers 를 호출하여 지정된 파일에 대한 파일 시스템에 IRP_MJ_FLUSH_BUFFERS 요청을 실행할 수 있습니다. 플러시 작업은 동기적이며 지정된 인스턴스 아래의 instance 실행됩니다.

FileObject가 파일용인 경우 파일 캐시의 파일 데이터와 메타데이터가 모두 작성되고 기본 스토리지가 동기화되어 캐시를 플러시합니다. FileObject가 볼륨에 대한 경우 파일 시스템에서 볼륨의 수정된 모든 파일에 대한 파일 데이터와 메타데이터가 모두 작성되고 기본 스토리지가 동기화되어 캐시를 플러시합니다. FltFlushBuffers2를 사용하여 파일 시스템에서 수행해야 하는 플러시 형식을 보다 세부적으로 제어합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 fltkernel.h(Fltkernel.h 포함)
라이브러리 FltMgr.lib
IRQL PASSIVE_LEVEL

추가 정보

FltFlushBuffers2

IRP_MJ_FLUSH_BUFFERS