次の方法で共有


IFunctionDiscovery::CreateInstanceCollectionQuery メソッド (functiondiscoveryapi.h)

[関数検出は、[要件] セクションで指定したオペレーティング システムで使用できます。 以降のバージョンでは変更または使用できない場合があります。]

特定の関数インスタンスのコレクションのクエリを作成します。

構文

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_REGISTRYFCTN_CATEGORY_PUBLICATIONFCTN_CATEGORY_PNPXASSOCIATION、またはサブカテゴリ クエリをサポートするカスタム プロバイダーに対して定義されたカスタム カテゴリ値である場合のみです。

[in] fIncludeAllSubCategories

TRUE の場合、このメソッドは pszCategory で指定されたカテゴリのすべてのサブカテゴリのクエリを再帰的に作成し、pszCategory のすべてのサブカテゴリから関数インスタンスを含むコレクションを返します。

FALSE の場合、このメソッドは作成されたクエリを、pszCategory で指定されたカテゴリおよび pszSubCategory で指定されたサブカテゴリ内の関数インスタンスを返すように制限します。

[in] pIFunctionDiscoveryNotification

呼び出し元アプリケーションによって実装される IFunctionDiscoveryNotification インターフェイスへのポインター。 このパラメーターは、NULL でもかまいません。 このポインターは、返されたクエリ オブジェクトが解放されるまで有効です。

[in, out] pfdqcQueryContext

クエリが作成されたコンテキストへのポインター。 FDQUERYCONTEXT 型は DWORDLONG として定義されます。

[out] ppIFunctionInstanceCollectionQuery

IFunctionInstanceCollectionQuery インターフェイス ポインターへのポインター。

戻り値

可能な戻り値には、次のものが含まれますが、これらに限定されません。

リターン コード/値 説明
S_OK
メソッドは正常に完了しました。
E_INVALIDARG
pszCategory または pIID の値が無効です。 ppIFunctionInstanceCollectionQuery パラメーターで返される値は NULL です
E_OUTOFMEMORY
メソッドは、この操作を実行するために必要なメモリを割り当てることができません。
HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
0x80070002
pszCategory または pszSubCategory の値が不明です。

解説

pIFunctionDiscoveryNotification を指定すると、関数探索の変更通知プロセスが有効になります。 このパラメーターは、NULL でもかまいません。 ただし、ネットワーク プロバイダーは同期結果を返さないため、必要です。 関数探索ネットワーク プロバイダーは、 IFunctionDiscoveryNotification インターフェイスを介してのみインスタンスを返します。

このメソッドは、クエリ呼び出しのみを初期化します。 ppIFunctionInstanceCollectionQuery で返される IFunctionInstanceCollectionQuery インターフェイスの Execute メソッドは、クエリを実行してデータを返すために呼び出す必要があります。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー functiondiscoveryapi.h
[DLL] FunDisc.dll

関連項目

関数検出クエリ

IFunctionDiscovery