次の方法で共有


FilterVolumeInstanceFindNext 関数 (fltuser.h)

FilterVolumeInstanceFindNext 関数は、FilterVolumeInstanceFindFirst の呼び出しによって開始されたミニフィルター ドライバー インスタンスまたはレガシ フィルター ドライバーの検索を続行します。

構文

HRESULT FilterVolumeInstanceFindNext(
  [in]  HANDLE                     hVolumeInstanceFind,
  [in]  INSTANCE_INFORMATION_CLASS dwInformationClass,
  [out] LPVOID                     lpBuffer,
  [in]  DWORD                      dwBufferSize,
  [out] LPDWORD                    lpBytesReturned
);

パラメーター

[in] hVolumeInstanceFind

FilterVolumeInstanceFindFirst の以前の呼び出しによって返されるボリューム フィルター ドライバー検索ハンドル。

[in] dwInformationClass

返されるフィルター ドライバー情報構造体の種類。 このパラメーターには、次のいずれかの値が含まれている必要があります。

意味
InstanceBasicInformation ミニフィルター インスタンスの INSTANCE_BASIC_INFORMATION 構造体を返します。 レガシ フィルター ドライバーは無視されます。
InstanceFullInformation ミニフィルター インスタンスの INSTANCE_FULL_INFORMATION 構造体を返します。 レガシ フィルター ドライバーは無視されます。
InstancePartialInformation ミニフィルター インスタンス のINSTANCE_PARTIAL_INFORMATION 構造体を返します。 レガシ フィルター ドライバーは無視されます。
InstanceAggregateStandardInformation インスタンスの INSTANCE_AGGREGATE_STANDARD_INFORMATION 構造体を返します。 構造体の LegacyFilter メンバーは使用されません。

この構造は、Windows Vista 以降で使用できます。

[out] lpBuffer

要求された情報を受信する呼び出し元によって割り当てられたバッファーへのポインター。 バッファーで返される情報の型は、 dwInformationClass パラメーターによって定義されます。

[in] dwBufferSize

lpBuffer パラメーターが指すバッファーのサイズ (バイト単位)。 呼び出し元は、指定された dwInformationClass に従ってこのパラメーターを設定する必要があります。

[out] lpBytesReturned

FilterVolumeInstanceFindNext の呼び出しが成功した場合に lpBuffer が指すバッファーで返されるバイト数を受け取る呼び出し元割り当て変数へのポインター。 このパラメーターは必須であり、 NULL にすることはできません。

戻り値

FilterVolumeInstanceFindNext は 、成功した場合S_OKを返します。 それ以外の場合は、次のいずれかの HRESULT エラー値を返します。

リターン コード 説明
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
lpBuffer が指すバッファーは、要求された情報を格納するのに十分な大きさではありません。 この値が返されると、 lpBytesReturned には、指定された dwInformationClass 構造体に必要なバッファーのサイズ (バイト単位) が含まれます。
HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER)
dwInformationClass パラメーターに無効な値が指定されました。 たとえば、Windows Vista より前のオペレーティング システムに InstanceAggregateStandardInformation が指定されている場合、 FilterVolumeInstanceFindNext はこの HRESULT 値を返します。
HRESULT_FROM_WIN32(ERROR_NO_MORE_ITEMS)
指定されたボリュームにフィルター ドライバーが見つかりませんでした。

注釈

FilterVolumeInstanceFindNext は 、呼び出しごとに 1 つのフィルター ドライバーを検索します。

FilterVolumeInstanceFindFirst を呼び出して検索ハンドルを確立した後、FilterVolumeInstanceFindNext 関数を使用して、FilterVolumeInstanceFindFirst の呼び出しで指定されたボリュームにアタッチされている他のフィルター ドライバーを検索します。 検索ハンドルが不要になったら、 FilterVolumeInstanceFindClose を呼び出して検索ハンドルを閉じます。

Windows Vista 以降では、 dwInformationClass パラメーターの値が InstanceAggregateStandardInformation の場合、このルーチンはレガシ フィルター ドライバー情報とミニフィルター ドライバー インスタンス情報の両方を返すことができます。 以前のオペレーティング システムでは、INSTANCE_AGGREGATE_STANDARD_INFORMATION構造体を使用できないため、このルーチンはレガシ フィルター情報を返すことができません。

要件

要件
対象プラットフォーム ユニバーサル
Header fltuser.h (FltUser.h を含む)
Library FltLib.lib
[DLL] FltLib.dll

こちらもご覧ください

FilterVolumeInstanceFindClose

FilterVolumeInstanceFindFirst

INSTANCE_AGGREGATE_STANDARD_INFORMATION

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION