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 값을 반환합니다.
반환 코드 | 설명 |
---|---|
|
파일은 현재 탑재되지 않은 볼륨에 있습니다. 오류 코드입니다. |
설명
미니필터 드라이버는 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(설명 섹션 참조) |