用于报告已获取内容的设备扩展

[与此页面关联的功能(Windows 媒体播放器 SDK)是旧版功能。 它已被 MediaPlayer 取代。 MediaPlayer 已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer 而不是 Windows 媒体播放器 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

Windows 媒体播放器 11 引入了新功能,使便携式设备能够通知播放器自上次同步以来添加到设备的内容。 Windows 媒体播放器 11 可以使用此信息将新获取的内容从设备复制到用户的计算机。 设备制造商应注意以下支持此功能的要求:

  • 仅支持 MTP 的设备支持此功能。
  • 此功能仅适用于与 Windows 媒体播放器 有合作关系的设备。
  • 设备必须仅报告设备创作或下载的内容。 这包括设备拍摄的照片;设备创建的录音;语音邮件录制;从存储卡下载;从 Internet 下载。 不得报告由于与其他设备或其他合作关系同步而存储在设备上的内容。

作为 Windows 媒体播放器 SDK 的一部分安装的名为 wmpdevices.h 的头文件定义了支持Windows 媒体播放器设备扩展所需的结构和常量。

要识别为支持通过 Windows 媒体播放器 MTP 设备扩展集报告已获取内容的设备,必须在 DeviceInfo 数据集中包含以下信息。 (有关此数据集的详细信息,请参阅 MTP 规范的第 4.6.1 部分。)

数据集字段 字段顺序 数据类型
VendorExtensionID 2 UINT32 0x00000006
VendorExtensionVersion 3 UINT16 0x0064 (100)
VendorExtensionDesc 4 字符串 “microsoft.com/WMPPD:11.0”

 

下表提供了有关报告获取内容的 MTP 操作的详细信息。

Item 说明
操作代码 0x9202
操作参数 1 设备在上一个会话期间提供的事务 ID。 对于第一个会话,此值为零。
操作参数 2 起始索引。 首次调用会话时,此值始终为零。 在同一同步会话中的后续调用中,此值会增加从以前的响应数据返回的项计数。
操作参数 3 0x10000。 此常量在 wmpdevices.h 中定义,是可在响应中返回的最大 PUOID 数。 请注意,此常量的值可能会在此头文件的未来版本中修订。
操作参数 4 0
操作参数 5 0
数据 设备返回包含已获取的 PUOID 的 MTP 数组。 数组以 DWORD 值开头,该值指示数组中的项计数,后跟元素数组。
数据方向 R-I>
响应代码选项 MTP_RESPONSE_OK (0x2001) 或有效的错误响应代码。
响应参数 1 当前事务 ID。
响应参数 2 未来请求仍要检索的 PUOID 数。
响应参数 3 包含状态信息的 DWORD。 状态以按位方式指示。 有关要使用的标志的信息,请参阅备注。
响应参数 4 0
响应参数 5 0

 

备注

通过响应参数 3 使用以下标志按位指示状态。

标志 说明
WMP_MDRT_FLAGS_UNREPORTED_ACQUIRED_ITEMS 0x1 设备包含一些无法在 PUOIDS 列表中返回的已获取项目。 请注意,此标志对于响应参数 2 不冗余。 仅当设备无法返回的请求项时,才设置此标志。

 

保留位 1 到 31 供将来使用。 这些位应设置为零。

Windows Media Player