[関数検出は、[要件] セクションで指定したオペレーティング システムで使用できます。 以降のバージョンでは変更または使用できない場合があります。]
特定の関数インスタンスのコレクションのクエリを作成します。
構文
HRESULT CreateInstanceCollectionQuery(
[in] const WCHAR *pszCategory,
[in] const WCHAR *pszSubCategory,
[in] BOOL fIncludeAllSubCategories,
[in] IFunctionDiscoveryNotification *pIFunctionDiscoveryNotification,
[in, out] FDQUERYCONTEXT *pfdqcQueryContext,
[out] IFunctionInstanceCollectionQuery **ppIFunctionInstanceCollectionQuery
);
パラメーター
[in] pszCategory
クエリのカテゴリ。 「カテゴリ定義」を参照してください。
[in] pszSubCategory
クエリのサブカテゴリ。 「 サブカテゴリの定義」を参照してください。 このパラメーターは、NULL でもかまいません。
サブカテゴリ クエリは、階層化されたカテゴリと一部のプロバイダー カテゴリでのみサポートされます。 レジストリ プロバイダー、PnP-X 関連付けプロバイダー、およびパブリケーション プロバイダーは、サブカテゴリ クエリをサポートします。 カスタム プロバイダーは、サブカテゴリ クエリをサポートするように明示的に設計できます。 つまり、 pszSubCategory パラメーターを NULL 以外の値に設定する必要があるのは、 pszCategory パラメーターが FCTN_CATEGORY_REGISTRY、 FCTN_CATEGORY_PUBLICATION、 FCTN_CATEGORY_PNPXASSOCIATION、またはサブカテゴリ クエリをサポートするカスタム プロバイダーに対して定義されたカスタム カテゴリ値である場合のみです。
[in] fIncludeAllSubCategories
TRUE の場合、このメソッドは pszCategory で指定されたカテゴリのすべてのサブカテゴリのクエリを再帰的に作成し、pszCategory のすべてのサブカテゴリから関数インスタンスを含むコレクションを返します。
FALSE の場合、このメソッドは作成されたクエリを、pszCategory で指定されたカテゴリおよび pszSubCategory で指定されたサブカテゴリ内の関数インスタンスを返すように制限します。
[in] pIFunctionDiscoveryNotification
呼び出し元アプリケーションによって実装される IFunctionDiscoveryNotification インターフェイスへのポインター。 このパラメーターは、NULL でもかまいません。 このポインターは、返されたクエリ オブジェクトが解放されるまで有効です。
[in, out] pfdqcQueryContext
クエリが作成されたコンテキストへのポインター。 FDQUERYCONTEXT 型は DWORDLONG として定義されます。
[out] ppIFunctionInstanceCollectionQuery
IFunctionInstanceCollectionQuery インターフェイス ポインターへのポインター。
戻り値
可能な戻り値には、次のものが含まれますが、これらに限定されません。
| リターン コード/値 | 説明 |
|---|---|
|
メソッドは正常に完了しました。 |
|
pszCategory または pIID の値が無効です。 ppIFunctionInstanceCollectionQuery パラメーターで返される値は NULL です。 |
|
メソッドは、この操作を実行するために必要なメモリを割り当てることができません。 |
|
pszCategory または pszSubCategory の値が不明です。 |
解説
pIFunctionDiscoveryNotification を指定すると、関数探索の変更通知プロセスが有効になります。 このパラメーターは、NULL でもかまいません。 ただし、ネットワーク プロバイダーは同期結果を返さないため、必要です。 関数探索ネットワーク プロバイダーは、 IFunctionDiscoveryNotification インターフェイスを介してのみインスタンスを返します。
このメソッドは、クエリ呼び出しのみを初期化します。 ppIFunctionInstanceCollectionQuery で返される IFunctionInstanceCollectionQuery インターフェイスの Execute メソッドは、クエリを実行してデータを返すために呼び出す必要があります。
要件
| サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
| サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
| 対象プラットフォーム | Windows |
| ヘッダー | functiondiscoveryapi.h |
| [DLL] | FunDisc.dll |