次の方法で共有


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

情報が要求されるインスタンスの 0 から始まるインデックス。

[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 で指定されたミニフィルター ドライバーのインスタンス一覧内のインスタンスを選択するための単なる方法です。 インスタンス リスト内のミニフィルター ドライバー インスタンスはいつでも変更できるため、同じ Index 値と Filter 値を使用して FltEnumerateInstanceInformationByFilter を 2 回呼び出しても、同じ結果が返される保証はありません。

登録されているすべてのミニフィルター ドライバーを列挙するには、 FltEnumerateFilters を呼び出します。

登録されているすべてのミニフィルター ドライバーのフィルター情報を一覧表示するには、 FltEnumerateFilterInformation を呼び出します。

特定のミニフィルター ドライバーのフィルター情報を取得するには、 FltGetFilterInformation を呼び出します。

特定のボリューム上のすべてのミニフィルター ドライバー インスタンスを列挙するには、 FltEnumerateInstanceInformationByVolume を呼び出します。

すべてのボリューム上のすべてのミニフィルター ドライバーのインスタンスを列挙するには、 FltEnumerateInstances を呼び出します。

フィルター マネージャーに認識されているすべてのボリュームを列挙するには、 FltEnumerateVolumes を呼び出します。

.

要件

要件
対象プラットフォーム ユニバーサル
Header fltkernel.h (FltKernel.h を含む)
Library FltMgr.lib
IRQL <= APC_LEVEL

こちらもご覧ください

FltEnumerateFilterInformation

FltEnumerateFilters

FltEnumerateInstanceInformationByVolume

FltEnumerateVolumes

FltGetFilterInformation

INSTANCE_AGGREGATE_STANDARD_INFORMATION

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION