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 关联提供程序和发布提供程序支持子类别查询。 自定义提供程序可以显式设计为支持子类别查询。 这意味着,仅当 pszCategory 参数设置为 FCTN_CATEGORY_REGISTRYFCTN_CATEGORY_PUBLICATIONFCTN_CATEGORY_PNPXASSOCIATION或为分层类别或支持子类别查询的自定义提供程序定义的自定义类别值时,才应将 pszSubCategory 参数设置为非 NULL 值。

[in] fIncludeAllSubCategories

如果 为 TRUE,此方法以递归方式为 pszCategory 中指定的类别的所有子类别创建一个查询,并返回一个集合,其中包含 pszCategory 的所有子类别中的函数实例。

如果 为 FALSE,此方法将创建的查询限制为返回 pszCategory 指定的类别中的函数实例和 pszSubCategory 指定的子类别中的函数实例。

[in] pIFunctionDiscoveryNotification

指向由调用应用程序实现的 IFunctionDiscoveryNotification 接口的指针。 此参数可以为 NULL。 此指针在释放返回的查询对象之前有效。

[in, out] pfdqcQueryContext

指向在其中创建查询的上下文的指针。 类型 FDQUERYCONTEXT 定义为 DWORDLONG。

[out] ppIFunctionInstanceCollectionQuery

指向 IFunctionInstanceCollectionQuery 接口指针的指针。

返回值

可能的返回值包括但不限于以下内容。

返回代码/值 说明
S_OK
该方法已成功完成。
E_INVALIDARG
pszCategorypIID 的值无效。 ppIFunctionInstanceCollectionQuery 参数中返回的值为 NULL
E_OUTOFMEMORY
方法无法分配执行此操作所需的内存。
HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)
0x80070002
pszCategorypszSubCategory 的值未知。

备注

如果指定 了 pIFunctionDiscoveryNotification ,它将启用函数发现更改通知过程。 此参数可以为 NULL。 但是,网络提供程序需要它,因为它们不会返回同步结果。 函数发现网络提供程序仅通过 IFunctionDiscoveryNotification 接口返回实例。

此方法仅初始化查询调用。 必须调用 ppIFunctionInstanceCollectionQuery 中返回的 IFunctionInstanceCollectionQuery 接口的 Execute 方法以执行查询并返回任何数据。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 functiondiscoveryapi.h
DLL FunDisc.dll

请参阅

函数发现查询

IFunctionDiscovery