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

호출자에 대한 불투명 인스턴스 포인터입니다. 이 매개 변수는 필수이며 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