共用方式為


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

FILE_INFORMATION_CLASS值,指定要在 FileInformation 緩衝區中傳回的文件類型。

[out, optional] LengthReturned

呼叫端配置的變數指標,該變數會接收 FileInformation 緩衝區中傳回之資訊的大小,以位元組為單位。 此參數是選擇性的,可以是 NULL

傳回值

FltQueryInformationFile 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,如下所示:

傳回碼 Description
STATUS_VOLUME_DISMOUNTED
檔案位於目前未掛接的磁碟區上。 這是錯誤碼。

備註

迷你篩選驅動程式會呼叫 FltQueryInformationFile ,以擷取 FileObject 所識別之檔案的資訊。 檔案目前必須開啟。

FltQueryInformationFile 會在特定文件系統不支援的 FILE_XXX_INFORMATION 結構的任何成員中傳回零。

FltQueryInformationFile 的呼叫端必須在 IRQL = PASSIVE_LEVEL且已啟用 APC 時執行

注意: 請勿使用非 NULL 最上層 IRP 值呼叫此例程,因為這可能會導致系統死結。

規格需求

需求
目標平台 Universal
標頭 fltkernel.h (包含 Fltkernel.h)
程式庫 FltMgr.lib
Dll Fltmgr.sys
IRQL PASSIVE_LEVEL (请参阅一节)

另請參閱

FILE_INFORMATION_CLASS

FltQueryVolumeInformationFile

FltSetInformationFile

ZwQueryInformationFile