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 值,如下所示:
傳回碼 | 描述 |
---|---|
|
檔案位於目前未掛接的磁碟區上。 這是錯誤碼。 |
言論
小型篩選驅動程式會呼叫 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 (請參閱一節) |