共用方式為


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 值,如下所示:

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

言論

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

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

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