다음을 통해 공유


FltQueryInformationFile 함수(fltkernel.h)

FltQueryInformationFile 은 지정된 파일에 대한 정보를 검색합니다.

구문

NTSTATUS FLTAPI FltQueryInformationFile(
  [in]            PFLT_INSTANCE          Instance,
  [in]            PFILE_OBJECT           FileObject,
  [out]           PVOID                  FileInformation,
  [in]            ULONG                  Length,
  [in]            FILE_INFORMATION_CLASS FileInformationClass,
  [out, optional] PULONG                 LengthReturned
);

매개 변수

[in] Instance

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

[in] FileObject

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

[out] FileInformation

파일에 대한 정보를 수신하는 호출자가 할당한 버퍼에 대한 포인터입니다. FileInformationClass 매개 변수는 정보 유형을 지정합니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

[in] Length

FileInformation 버퍼의 크기(바이트)입니다.

[in] FileInformationClass

FileInformation 버퍼에서 반환할 파일 정보의 형식을 지정하는 FILE_INFORMATION_CLASS 값입니다.

[out, optional] LengthReturned

FileInformation 버퍼에 반환된 정보의 크기(바이트)를 수신하는 호출자 할당 변수에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

반환 값

FltQueryInformationFile 은 STATUS_SUCCESS 또는 다음과 같은 적절한 NTSTATUS 값을 반환합니다.

반환 코드 설명
STATUS_VOLUME_DISMOUNTED
파일은 현재 탑재되지 않은 볼륨에 있습니다. 오류 코드입니다.

설명

미니필터 드라이버는 FltQueryInformationFile 을 호출하여 FileObject로 식별된 파일에 대한 정보를 검색합니다. 파일이 현재 열려 있어야 합니다.

FltQueryInformationFile 은 특정 파일 시스템에서 지원하지 않는 FILE_XXX_INFORMATION 구조체의 모든 멤버에서 0을 반환합니다.

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

참고: 이 경우 시스템 교착 상태가 발생할 수 있으므로 NULL이 아닌 최상위 IRP 값으로 이 루틴을 호출하지 마세요.

요구 사항

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

추가 정보

FILE_INFORMATION_CLASS

FltQueryVolumeInformationFile

FltSetInformationFile

ZwQueryInformationFile