次の方法で共有


FilterFindNext 関数 (fltuser.h)

FilterFindNext 関数は、FilterFindFirst の呼び出しによって開始されたフィルター検索を続行します。

構文

HRESULT FilterFindNext(
  [in]  HANDLE                   hFilterFind,
  [in]  FILTER_INFORMATION_CLASS dwInformationClass,
  [out] LPVOID                   lpBuffer,
  [in]  DWORD                    dwBufferSize,
  [out] LPDWORD                  lpBytesReturned
);

パラメーター

[in] hFilterFind

FilterFindFirst の以前の呼び出しによって返された検索ハンドルをフィルター処理します。

[in] dwInformationClass

要求された情報の種類。 このパラメーターには次のいずれかの値を指定する必要があります。

意味
FilterFullInformation lpBuffer パラメーターが指すバッファーは、各ミニフィルター インスタンスのFILTER_FULL_INFORMATION構造体を受け取ります。 レガシ フィルターは無視されます。
FilterAggregateBasicInformation lpBuffer パラメーターが指すバッファーは、ミニフィルター インスタンスまたはレガシ フィルターごとにFILTER_AGGREGATE_BASIC_INFORMATION構造体を受け取ります。 この dwInformationClass 値は、Microsoft Windows Server 2003 SP1 以降、Windows XP SP2 フィルター マネージャー ロールアップで使用できます。 SP2 を使用した Windows XP のフィルター マネージャー ロールアップ パッケージの詳細については、マイクロソフト サポート技術情報の「windows XP SP2 のフィルター マネージャー ロールアップ パッケージ」914882記事を参照してください。
FilterAggregateStandardInformation lpBuffer パラメーターが指すバッファーは、ミニフィルター インスタンスまたはレガシ フィルターごとにFILTER_AGGREGATE_STANDARD_INFORMATION構造体を受け取ります。 この dwInformationClass 値は、Windows Vista 以降で使用できます。

[out] lpBuffer

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

[in] dwBufferSize

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

[out] lpBytesReturned

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

戻り値

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

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

注釈

FilterFindFirst を呼び出してフィルター検索ハンドルが確立されたら、FilterFindNext 関数を使用して、登録済みフィルターのグローバル リスト内の追加のフィルターを検索します。

FilterFindNext は 、呼び出しごとに 1 つのフィルター ドライバー (ミニフィルター ドライバー インスタンスまたはレガシ フィルター ドライバー) を検索します。

Microsoft Windows Server 2003 SP1 および Microsoft Windows XP sp2 フィルター マネージャー ロールアップを使用して以降、 FilterFindFirstFilterFindNext は 、従来のフィルター ドライバー情報とミニフィルター ドライバー インスタンス情報を提供できます。 以前のバージョンの Windows では、 FilterFindFirstFilterFindNext はミニフィルターに関する情報のみを提供できます (上記の dwInformationClass パラメーターの説明を参照してください)。

FilterFindFirstFilterFindNext は 、基本ファイル システムからの距離を減らす順序でフィルター ドライバーに関する情報を返します。 基本ファイル システムから最も遠いフィルターに関する情報が最初に返されます。 2 番目に遠いフィルターに関する情報は、2 番目に返されます。 基本ファイル システムに最も近いフィルターに関する情報は最後に返されます。

要件

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

こちらもご覧ください

FILTER_AGGREGATE_BASIC_INFORMATION

FILTER_AGGREGATE_STANDARD_INFORMATION

FILTER_FULL_INFORMATION

FilterFindClose

FilterFindFirst