FltQueryInformationByName 函式 (fltkernel.h)
FltQueryInformationByName 例程會傳回有關具名檔案的要求資訊。
語法
NTSTATUS FLTAPI FltQueryInformationByName(
[in] PFLT_FILTER Filter,
[in, optional] PFLT_INSTANCE Instance,
[in] POBJECT_ATTRIBUTES ObjectAttributes,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[out] PVOID FileInformation,
[in] ULONG Length,
[in] FILE_INFORMATION_CLASS FileInformationClass,
[in, optional] PIO_DRIVER_CREATE_CONTEXT DriverContext
);
參數
[in] Filter
指定起始此作業的篩選。
[in, optional] Instance
指定建立的目標實例。
重要
實例 不一定是起始實例。 如果此參數不是 NULL,它必須符合建立的目標實例。 如果 Instance 為非 NULL,則不會呼叫目前篩選條件的預先建立回呼。 預先回呼會從目前篩選條件下方的篩選開始。
[in] ObjectAttributes
[OBJECT_ATTRIBUTES] 結構的指標,其中包含要用於檔案對象的屬性 (,例如其名稱、SECURITY_DESCRIPTOR等 ) 。
[out] IoStatusBlock
包含呼叫端 I/O 狀態區塊 之IO_STATUS_BLOCK 結構的指標。
[out] FileInformation
結構的指標,該結構會接收有關檔案所傳回的要求資訊。 結構的類型是由 FileInformationClass 所決定。
[in] Length
FileInformation 緩衝區的長度,以位元組為單位。
[in] FileInformationClass
FILE_INFORMATION_CLASS列舉值,指定要傳回檔案的相關信息類型。 可以是下列值之一:
值 | FileInformation 指向的結構類型 |
---|---|
FileStatInformation | FILE_STAT_INFORMATION |
FileStatLxInformation | **FILE_STAT_LX_INFORMATION |
FileCaseSensitiveInformation | FILE_CASE_SENSITIVE_INFORMATION。 呼叫端必須以 DesiredAccess 參數中指定的FILE_READ_ATTRIBUTES旗標開啟檔案。 此值從 1803 版 Windows 10 開始可用。 |
FileCaseSensitiveInformationForceAccessCheck | FILE_CASE_SENSITIVE_INFORMATION。 這是 FileCaseSensitiveInformation 作業的特殊版本,用來強制 IO 管理員執行核心模式驅動程式的存取檢查,類似於套用至使用者模式呼叫端的檢查。 此作業只能由IO管理員辨識,而且文件系統不應收到。 此值從 1803 版 Windows 10 開始可用。 |
[in, optional] DriverContext
驅動程式內容空間的指標。
傳回值
如果作業成功,則傳回STATUS_SUCCESS。 否則,傳回適當的NTSTATUS錯誤碼。
備註
此函式會傳回有關檔案的要求資訊,而不需開啟實際的檔案。 傳回的資訊是由指定的 FileInformationClass 所決定,而且會放入呼叫端的 FileInformation 緩衝區中。
如果 Instance 是非 NULL ,則建立會以指定的實例為目標,在傳送 I/O 關閉之前,先呼叫目前篩選下方的所有篩選。 如果 Instance 為 NULL,則 I/O 一律會傳送至篩選堆疊頂端。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 版本 1706 |
標頭 | fltkernel.h |
程式庫 | FltMgr.lib |
Dll | Fltmgr.sys |