FsRtlGetFileSize 함수(ntifs.h)

FsRtlGetFileSize 루틴은 파일의 크기를 가져오는 데 사용됩니다.

구문

NTSTATUS FsRtlGetFileSize(
  [in]  PFILE_OBJECT   FileObject,
  [out] PLARGE_INTEGER FileSize
);

매개 변수

[in] FileObject

쿼리할 파일 개체에 대한 포인터입니다.

[out] FileSize

출력 시 파일 크기를 받는 큰 정수에 대한 포인터입니다.

반환 값

FsRtlGetFileSize는 작업의 최종 완료 상태 나타내는 STATUS_SUCCESS 또는 적절한 오류 상태 반환합니다. 가능한 오류 상태 코드에는 다음이 포함됩니다.

반환 코드 설명
STATUS_INSUFFICIENT_RESOURCES
이 함수에서 사용하는 데 필요한 메모리를 할당할 수 없습니다.
STATUS_FILE_IS_A_DIRECTORY
지정한 FileObject 는 디렉터리를 참조합니다.

설명

FsRtlGetFileSize 루틴은 파일의 파일 크기를 검색하는 데 사용됩니다. ZwQueryInformationFile과 달리 FsRtlGetFileSize는 동기 파일 개체에 대한 파일 개체 잠금을 획득하지 않습니다. 파일 시스템 리소스를 이미 소유하고 있는 경우 파일 개체 잠금을 획득하려고 하면 잠금 순서를 위반하고 교착 상태가 발생할 수 있으므로 ZwQueryInformationFile 대신 FsRtlGetFileSize를 호출해야 합니다. ZwQueryInformationFile 함수는 파일 시스템 리소스를 아직 소유하지 않은 경우에만 사용해야 합니다.

FsRtlGetFileSize 는 지원되는 경우 빠른 I/O를 사용하거나 일반 IRP 기반 쿼리를 사용하여 파일 크기를 추출합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ntifs.h(Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

추가 정보

FltQueryInformationFile

ZwQueryInformationFile