共用方式為


FltEnumerateInstanceInformationByFilter 函式 (fltkernel.h)

FltEnumerateInstanceInformationByFilter 例程會提供指定迷你篩選驅動程序實例的相關信息。

語法

NTSTATUS FLTAPI FltEnumerateInstanceInformationByFilter(
  [in]  PFLT_FILTER                Filter,
  [in]  ULONG                      Index,
  [in]  INSTANCE_INFORMATION_CLASS InformationClass,
  [out] PVOID                      Buffer,
  [in]  ULONG                      BufferSize,
  [out] PULONG                     BytesReturned
);

參數

[in] Filter

呼叫端的不透明篩選指標。

[in] Index

要求資訊之實例之以零起始的索引。

[in] InformationClass

所要求的信息類型。 此參數可以有下列其中一個值。

價值 意義
InstanceBasicInformation Buffer 參數所指向的緩衝區會收到 實例的 INSTANCE_BASIC_INFORMATION 結構。
InstanceFullInformation Buffer 參數所指向的緩衝區會接收 實例的 INSTANCE_FULL_INFORMATION 結構。
InstancePartialInformation Buffer 參數所指向的緩衝區會接收 實例的 INSTANCE_PARTIAL_INFORMATION 結構。
InstanceAggregateStandardInformation Buffer 參數所指向的緩衝區會收到 實例的 INSTANCE_AGGREGATE_STANDARD_INFORMATION 結構。 不會使用結構 LegacyFilter 部分。 從 Windows Vista 開始,即可使用此結構。

[out] Buffer

接收所要求資訊的呼叫端配置緩衝區指標。 緩衝區中傳回的信息類型是由 InformationClass 參數所定義。

[in] BufferSize

Buffer 參數指向的緩衝區大小,以位元組為單位。 呼叫端應該根據指定的 InformationClass 值來設定此參數。

[out] BytesReturned

呼叫端配置的變數指標,該變數會接收緩衝區中傳回的位元組數目,Buffer 指向該緩衝區。 如果 BufferSize 的輸入值太小,FltEnumerateInstanceInformationByFilter 會傳回STATUS_BUFFER_TOO_SMALL,並將此變數設定為儲存要求資訊所需的位元組數目。 這是必要參數,而且無法 NULL

傳回值

FltEnumerateInstanceInformationByFilter 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,例如下列其中一項:

傳回碼 描述
STATUS_BUFFER_TOO_SMALL
Buffer 參數指向的緩衝區不夠大,無法儲存要求的資訊。 這是錯誤碼。
STATUS_FLT_DELETING_OBJECT
找到相符的實例,但正在被拆毀。 這是錯誤碼。
STATUS_INVALID_PARAMETER
InformationClass 參數指定了無效的值。 例如,如果在 Windows Vista 之前的作系統上指定 FilterAggregateStandardInformation,則例程會傳回STATUS_INVALID_PARAMETER。 這是錯誤碼。
STATUS_NO_MORE_ENTRIES
迷你篩選驅動程式的實例清單中沒有其他專案。 這是警告碼。

言論

Index 參數只是一種方法,FltEnumerateInstanceInformationByFilter 在實例清單中選取 Filter所指定的迷你篩選驅動程序實例。 由於實例清單中的迷你篩選驅動程序實例隨時都可以變更,因此,FltEnumerateInstanceInformationByFilter 的兩次呼叫 具有相同的 IndexFilter 值不保證會傳回相同的結果。

若要列舉所有已註冊的迷你篩選驅動程式,請呼叫 FltEnumerateFilters

若要列出所有已註冊迷你篩選驅動程式的篩選資訊,請呼叫 FltEnumerateFilterInformation

若要取得指定迷你篩選驅動程式的篩選資訊,請呼叫 FltGetFilterInformation

若要列舉指定磁碟區上的所有迷你篩選驅動程序實例,請呼叫 FltEnumerateInstanceInformationByVolume

若要列舉所有磁碟區上所有小型篩選驅動程式的實例,請呼叫 fltEnumerateInstances

若要列舉篩選管理員已知的所有磁碟區,請呼叫 FltEnumerateVolumes

.

要求

要求 價值
目標平臺 普遍
標頭 fltkernel.h (包括 FltKernel.h)
連結庫 FltMgr.lib
IRQL <= APC_LEVEL

另請參閱

FltEnumerateFilterInformation

FltEnumerateFilters

FltEnumerateInstanceInformationByVolume

FltEnumerateVolumes

FltGetFilterInformation

INSTANCE_AGGREGATE_STANDARD_INFORMATION

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION