다음을 통해 공유


ZwFlushBuffersFileEx 함수(ntifs.h)

ZwFlushBuffersFileEx 루틴은 파일 시스템 필터 드라이버에 의해 호출되어 지정된 파일에 대한 플러시 요청을 파일 시스템에 보냅니다. 파일 데이터가 스토리지에 기록되는 방법을 제어하도록 선택적 플러시 작업 플래그를 설정할 수 있습니다.

통사론

NTSYSAPI NTSTATUS ZwFlushBuffersFileEx(
  [in]  HANDLE           FileHandle,
        ULONG            FLags,
        PVOID            Parameters,
        ULONG            ParametersSize,
  [out] PIO_STATUS_BLOCK IoStatusBlock
);

매개 변수

[in] FileHandle

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

FLags

플러시 작업 플래그입니다. 플래그 0 또는 다음 값 중 하나일 수 있습니다.

의미
FLUSH_FLAGS_FILE_DATA_ONLY

파일이 NTFS 파일 시스템에 있는 경우 파일 캐시의 파일 데이터가 기록됩니다. 메타데이터가 기록되지 않으며 기본 스토리지가 캐시를 플러시하도록 동기화되지 않습니다. 이 플래그는 볼륨 핸들에서 유효하지 않습니다.

FLUSH_FLAGS_NO_SYNC

파일이 NTFS 파일 시스템에 있는 경우 파일 캐시의 파일 데이터 및 메타데이터가 기록됩니다. 기본 스토리지가 캐시를 플러시하도록 동기화되지 않습니다. 이 플래그는 볼륨 핸들에서 유효하지 않습니다.

 

Parameters

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

ParametersSize

매개 변수 블록의 크기(바이트)입니다.

[out] IoStatusBlock

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

반환 값

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

반환 코드 묘사
STATUS_MEDIA_WRITE_PROTECTED
이 파일은 쓰기로 보호되는 볼륨에 있습니다. 오류 코드입니다.
STATUS_VOLUME_DISMOUNTED
파일은 현재 탑재되지 않은 볼륨에 있습니다. 오류 코드입니다.
STATUS_ACCESS_DENIED
파일에는 쓰기 또는 추가 액세스 권한이 없습니다.

발언

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

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

ZwFlushBuffersFileEx 호출자는 IRQL = PASSIVE_LEVEL 및사용하도록 설정된 특수 커널 APC를 사용하여 실행되어야 합니다.

참고ZwFlushBuffersFileEx 함수에 대한 호출이 사용자 모드에서 발생하는 경우 "ZwFlushBuffersFileEx" 대신 "NtFlushBuffersFileEx" 이름을 사용해야 합니다.
 
커널 모드 드라이버의 호출의 경우 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 8.
대상 플랫폼 보편적
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL(설명 섹션 참조)

참고 항목

FltFlushBuffers

IRP_MJ_FLUSH_BUFFERS

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

ZwCreateFile

ZwOpenFile