ZwFlushBuffersFile 함수(ntifs.h)

ZwFlushBuffersFile 루틴은 파일 시스템 필터 드라이버에 의해 호출되어 지정된 파일에 대한 플러시 요청을 파일 시스템에 보냅니다.

구문

NTSYSAPI NTSTATUS ZwFlushBuffersFile(
  [in]  HANDLE           FileHandle,
  [out] PIO_STATUS_BLOCK IoStatusBlock
);

매개 변수

[in] FileHandle

버퍼가 플러시될 파일에 대해 ZwCreateFile 또는 ZwOpenFile 에서 반환된 핸들입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

[out] IoStatusBlock

호출자의 I/O 상태 블록의 주소입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

반환 값

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

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

설명

파일 시스템 필터 드라이버는 ZwFlushBuffersFile 을 호출하여 지정된 파일에 대한 파일 시스템에 IRP_MJ_FLUSH_BUFFERS 요청을 실행할 수 있습니다. 플러시 작업은 동기식입니다.

미니필터 드라이버는 ZwFlushBuffersFile을 호출하는 대신 FltFlushBuffers를 호출해야 합니다.

ZwFlushBuffersFile의 호출자는 IRQL = PASSIVE_LEVEL 및 특수 커널 APC를 사용하도록 설정된 상태에서 실행되어야 합니다.

참고ZwFlushBuffersFile 함수에 대한 호출이 사용자 모드에서 발생하는 경우 "ZwFlushBuffersFile" 대신 "NtFlushBuffersFile" 이름을 사용해야 합니다.
 
커널 모드 드라이버의 호출의 경우 Windows 네이티브 시스템 서비스 루틴의 **Nt*Xxx*** 및 **Zw*Xxx*** 버전은 입력 매개 변수를 처리하고 해석하는 방식으로 다르게 동작할 수 있습니다. 루틴의 **Nt*Xxx***와 **Zw*Xxx*** 버전 간의 관계에 대한 자세한 내용은 [네이티브 시스템 서비스 루틴의 Nt 및 Zw 버전 사용](/windows-hardware/drivers/kernel/using-nt-and-zw-versions-of-the-native-system-services-routines)을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL(설명 섹션 참조)
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

추가 정보

FltFlushBuffers

IRP_MJ_FLUSH_BUFFERS

네이티브 시스템 서비스 루틴의 Nt 및 Zw 버전 사용

ZwCreateFile

ZwOpenFile