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 關閉之前,先呼叫目前篩選下方的所有篩選。 如果 InstanceNULL,則 I/O 一律會傳送至篩選堆疊頂端。

規格需求

需求
最低支援的用戶端 Windows 10 版本 1706
標頭 fltkernel.h
程式庫 FltMgr.lib
Dll Fltmgr.sys

另請參閱

FILE_INFORMATION_CLASS