FilterInstanceFindFirst 関数 (fltuser.h)

FilterInstanceFindFirst 関数は、ミニフィルター ドライバー インスタンスに関する情報を返し、ミニフィルターのインスタンスをスキャンするための開始点として使用されます。

構文

HRESULT FilterInstanceFindFirst(
  [in]  LPCWSTR                    lpFilterName,
  [in]  INSTANCE_INFORMATION_CLASS dwInformationClass,
  [out] LPVOID                     lpBuffer,
  [in]  DWORD                      dwBufferSize,
  [out] LPDWORD                    lpBytesReturned,
  [out] LPHANDLE                   lpFilterInstanceFind
);

パラメーター

[in] lpFilterName

インスタンスを所有するミニフィルター ドライバーの名前を含む null で終わるワイド文字列へのポインター。

[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

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

[out] lpFilterInstanceFind

FilterInstanceFindFirst の呼び出しが成功した場合にミニフィルターの検索ハンドルを受け取る呼び出し元割り当て変数へのポインター。それ以外の場合は、INVALID_HANDLE_VALUEを受け取ります。 この検索ハンドルは、 FilterInstanceFindNextFilterInstanceFindClose の後続の呼び出しで使用できます。

戻り値

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

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

解説

FilterInstanceFindFirst 関数は、検索ハンドルを開き、lpFilterName という名前のミニフィルターのインスタンスに関する情報を返します。 検索ハンドルが確立されたら、 FilterInstanceFindNext を呼び出して、同じミニフィルターの他のインスタンスを検索します。 検索ハンドルが不要になったら、 FilterInstanceFindClose を呼び出して閉じます。

要件

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

関連項目

FilterInstanceFindClose

FilterInstanceFindNext

INSTANCE_AGGREGATE_STANDARD_INFORMATION

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION