DevCreateObjectQueryFromIdEx 函数 (devquery.h)

创建设备查询以基于指定的查询参数、扩展参数和对象 ID 检索属性。

语法

HRESULT DevCreateObjectQueryFromIdEx(
  [in]           DEV_OBJECT_TYPE                 ObjectType,
  [in]           PCWSTR                          pszObjectId,
  [in]           ULONG                           QueryFlags,
  [in]           ULONG                           cRequestedProperties,
  [in, optional] const DEVPROPCOMPKEY            *pRequestedProperties,
  [in]           ULONG                           cFilterExpressionCount,
  [in, optional] const DEVPROP_FILTER_EXPRESSION *pFilter,
  [in]           ULONG                           cExtendedParameterCount,
  [in, optional] const DEV_QUERY_PARAMETER       *pExtendedParameters,
  [in]           PDEV_QUERY_RESULT_CALLBACK      pCallback,
  [in, optional] PVOID                           pContext,
  [out]          PHDEVQUERY                      phDevQuery
);

参数

[in] ObjectType

DEV_OBJECT_TYPE 枚举中的一个值,该值确定此查询应运行的对象类型。

[in] pszObjectId

查询应针对的特定对象的字符串标识符。

[in] QueryFlags

使用按位 OR 运算组合的 DEV_QUERY_FLAGS 值。

[in] cRequestedProperties

pRequestedProperties中提供的 DEVPROPCOMPKEY 结构的数目。 如果指定了 devQueryFlagAllProperties ,则必须将其设置为 0。

[in, optional] pRequestedProperties

(可选)提供一组 DEVPROPCOMPKEY 结构,该结构指定在调用 pCallback pCallback 时应为查询中对象检索的属性,以通知查询将对象添加到其结果集。
如果在 QueryFlags中指定了 DevQueryFlagUpdateResults,则查询将在查询结果集中的任何对象的任何属性的值发生更改时收到通知。

DEVPROPCOMPKEY 结构的 LocaleName 字段将被忽略,必须设置为 NULL。

如果 cRequestedProperties 为 0,则必须为 NULL。

[in] cFilterExpressionCount

pFilter中提供的 DEVPROP_FILTER_EXPRESSION 结构数。

[in, optional] pFilter

(可选)提供一个由 DEVPROP_FILTER_EXPRESSION 结构构成的数组,这些结构指定哪些对象应是查询结果集的一部分的筛选条件。 如果 cFilterExpressionCount 为 0,则必须为 NULL。

[in] cExtendedParameterCount

保留供系统使用。 必须设置为 0。

[in, optional] pExtendedParameters

保留供系统使用。 必须设置为 NULL。

[in] pCallback

应将此查询的结果发送到的 PDEV_QUERY_RESULT_CALLBACK 回调函数。

[in, optional] pContext

调用方提供的上下文。 此值将传递给未修改的回调函数。

[out] phDevQuery

接收表示查询的句柄的指针。 如果 指定 DevQueryFlagsUpdateResults,则查询将接收更新,直到句柄关闭。 调用 DevCloseObjectQuery 关闭此句柄以停止查询。

返回值

如果成功创建查询,则返回S_OK;否则为适当的错误值。

言论

当客户端想要检索给定特定对象标识的数据时,请使用此函数,而不是 DevCreateObjectQuery 和筛选器。 此函数更高效。

有关详细信息,请参阅 DevCreateObjectQuery的备注部分,该部分也适用于此函数。 有关创建设备查询以基于指定的查询参数和对象 ID 检索属性的示例,请参阅 DevCreateObjectQueryFromId

要求

要求 价值
最低支持的客户端 Windows 10 版本 1809
支持的最低服务器 Windows Server 2019
标头 devquery.h
Onecore.lib
DLL Cfgmgr32.dll

另请参阅

DevCreateObjectQuery