IPortableDevicePropertiesBulk::QueueGetValuesByObjectFormat 方法 (portabledeviceapi.h)

QueueGetValuesByObjectFormat 接口对设备上特定格式的对象属性的请求进行排队。

语法

HRESULT QueueGetValuesByObjectFormat(
  [in]  REFGUID                               pguidObjectFormat,
  [in]  LPCWSTR                               pszParentObjectID,
  [in]  const DWORD                           dwDepth,
  [in]  IPortableDeviceKeyCollection          *pKeys,
  [in]  IPortableDevicePropertiesBulkCallback *pCallback,
  [out] GUID                                  *pContext
);

参数

[in] pguidObjectFormat

指向指定对象格式的 GUID 的指针。 仅查询此类型的对象。

[in] pszParentObjectID

指向以 null 结尾的字符串的指针,该字符串包含应开始搜索的父对象的对象 ID。 若要搜索设备上的所有对象, 请指定WPD_DEVICE_OBJECT_ID

[in] dwDepth

要搜索父级下方的最大深度,其中 1 表示仅直接子级。 此数字大于实际级别数是可以接受的。 若要搜索任意深度,请指定0xFFFFFFFF

[in] pKeys

指向包含要检索的属性的 IPortableDeviceKeyCollection 接口的指针。 有关 Windows 可移植设备定义的属性列表,请参阅 属性和属性。 指定 NULL 以指示指定格式中的所有属性。

[in] pCallback

指向应用程序实现的 IPortableDevicePropertiesBulkCallback 接口的指针,该接口将在检索信息时接收信息。

[out] pContext

指向 GUID 的指针,该 GUID 将用于启动、取消或标识 IPortableDevicePropertiesBulkCallback 回调(如果已实现)。

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
操作已成功排队。

注解

如果为 pguidObjectFormat 参数指定WPD_OBJECT_FORMAT_ALL,此方法将返回设备上所有对象的属性。

如果将 pszParentObjectID 参数设置为空字符串 (“”) ,则该方法将执行依赖于 dwDepth 参数的搜索,如下表所述。

dwDepth 方法返回
0 无结果
1 仅指定设备的值。
2 指定设备和在该设备上找到的所有功能对象的值。
 

如果 pszParentObjectID 参数设置为 WPD_DEVICE_OBJECT_ID,该方法将执行依赖于 dwDepth 参数的搜索,如下表所述。

dwDepth 方法返回
0 仅指定设备的值。
1 指定设备和在该设备上找到的所有功能对象的值。
 

在应用程序调用 Start 之前,不会启动排队的请求。 有关如何使用此方法的详细信息,请参阅 IPortableDevicePropertiesBulk 接口

由于性能问题,当 pKeys 参数为 NULL 时,某些设备可能不会返回完整的属性列表。

要求

要求
目标平台 Windows
标头 portabledeviceapi.h
Library PortableDeviceGUIDs.lib

另请参阅

IPortableDevicePropertiesBulk 接口