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を受け取ります。 この検索ハンドルは、 FilterInstanceFindNext と FilterInstanceFindClose の後続の呼び出しで使用できます。
戻り値
FilterInstanceFindFirst は、成功した場合S_OKを返します。 それ以外の場合は、次のいずれかの HRESULT エラー値を返します。
リターン コード | 説明 |
---|---|
|
lpBuffer が指すバッファーは、要求された情報を格納するのに十分な大きさではありません。 この値が返されると、 lpBytesReturned には、指定された dwInformationClass 構造体に必要なバッファーのサイズ (バイト単位) が含まれます。 |
|
dwInformationClass パラメーターに無効な値が指定されました。 たとえば、Windows Vista より前のオペレーティング システムに InstanceAggregateStandardInformation が指定されている場合、関数はこの HRESULT 値を返します。 |
|
lpFilterName パラメーターで指定されたミニフィルターには、ファイル システム スタックにインスタンスがありません。 |
解説
FilterInstanceFindFirst 関数は、検索ハンドルを開き、lpFilterName という名前のミニフィルターのインスタンスに関する情報を返します。 検索ハンドルが確立されたら、 FilterInstanceFindNext を呼び出して、同じミニフィルターの他のインスタンスを検索します。 検索ハンドルが不要になったら、 FilterInstanceFindClose を呼び出して閉じます。
要件
対象プラットフォーム | ユニバーサル |
Header | fltuser.h (FltUser.h を含む) |
Library | FltLib.lib |
[DLL] | FltLib.dll |