概念模型

本部分介绍构成 WPD 概念模型的对象、属性和资源。

对象

在 WPD 中,设备上的逻辑实体称为 对象。 通常(但并非总是)表示设备上的数据。 对象具有属性,并由对象标识符引用。 对象的示例包括相机上的图片和文件夹、媒体播放器上的歌曲和播放列表、移动电话上的联系人等。

对象还可以表示设备的功能或信息部件。 例如,玩家控件 (播放/录制/暂停) 、相机设置、移动电话的短信功能等。

以下两个主题提供了两种类型的对象的示例和插图:Image 对象和 Mediacast 对象。

Image 对象

图像对象表示静止图像。 下图显示了 Image 对象、其属性及其资源之间的关系。

显示 wpd 对象及其属性和资源关系的关系图

有关 Image 对象及其属性的详细信息,请参阅 WPD_CONTENT_TYPE_IMAGE 主题。

Mediacast 对象

Mediacast 对象可以被视为对相关内容进行分组的容器对象,就像播放列表对音乐进行分组一样。 通常,Mediacast 对象用于对联机发布的媒体内容进行分组。 例如,RSS 通道可以表示为 Mediacast 对象,该对象引用的对象指向表示通道中每个项的内容对象。 下图显示了 Mediacast 对象及其包含的三个音频对象之间的关系。

显示 medicast 对象的分层结构及其包含的三个对象的示意图

在 mediacast 对象的 WPD_OBJECT_REFERENCES 属性中指定对音频对象的引用。 有关 Mediacast 对象支持的属性的详细信息,请参阅 WPD_CONTENT_TYPE_MEDIA_CAST 主题。

属性

对象属性提供交换对象描述元数据的机制。 例如,图像对象可能包含描述其文件名、大小、格式、宽度(以像素为单位)等的属性。

属性具有当前值以及 属性。 WPD 定义一组构成 API 和 DDI 定义的标准属性。 供应商不限于预定义的 WPD 属性,可以自由添加自己的属性。

属性 (Property) 属性 (Attribute)

属性属性描述访问权限、有效值以及与属性相关的其他信息。 例如,表示比特率的属性范围为每秒 8 千位 (Kbps) 到 20 Kbps,步长值为 1 Kbps。

访问权限指示调用方是否可以读取、写入和/或删除属性。 有效值指示属性值的限制。 有效值据说是特定形式的。 有效值形式包括范围 (即,属性可以使用指定的步骤) 获取值从最小值到最大值,枚举 (即,属性值是指定的列表) 中的值之一,无 (即) 没有特定的有效值。

资源

资源是二进制数据的占位符。 一个对象可以有多个资源。 例如,如果 对象表示具有音频注释的图像文件,则此对象的资源可能如下所示:

  • 默认资源。 此资源表示整个图像文件。 (这包括任何嵌入数据,例如音频注释、缩略图等)
  • 缩略图资源。 此资源表示图像的缩略图数据。
  • 音频注释资源。 此资源表示与图像关联的音频数据。

资源属性

与属性属性类似,资源属性描述与资源相关的访问权限、大小、格式和其他信息。 例如,图像对象上的音频注释资源的属性可以指定音频的比特率、声道计数和数据格式。

呈现配置文件和资源属性

呈现配置文件是应用程序用于发现给定资源的有效属性的一种方法。 例如,移动电话可能支持位图,并且对最小和最大宽度和高度值有特定限制。 通过查询位图对象的呈现配置文件,应用程序可以检索这些确切值。

以下示例输出标识如果设备支持最小高度为 10 像素、最小宽度为 20 像素、最大高度为 1000 像素、最大宽度为 2000 像素的位图,设备将返回的呈现配置文件信息。

WPD_OBJECT_FORMAT = WPD_OBJECT_FORMAT_BMP
WPD_MEDIA_HEIGHT:
        WPD_PROPERTY_ATTRIBUTE_FORM = WPD_PROPERTY_ATTRIBUTE_FORM_RANGE
        WPD_PROPERTY_ATTRIBUTE_DEFAULT_VALUE =  10
        WPD_PROPERTY_ATTRIBUTE_RANGE_MIN =  10 
        WPD_PROPERTY_ATTRIBUTE_RANGE_MAX = 1000
        WPD_PROPERTY_ATTRIBUTE_RANGE_STEP = 1
WPD_MEDIA_WIDTH:
        WPD_PROPERTY_ATTRIBUTE_FORM = WPD_PROPERTY_ATTRIBUTE_FORM_RANGE
        WPD_PROPERTY_ATTRIBUTE_DEFAULT_VALUE =  20 
        WPD_PROPERTY_ATTRIBUTE_RANGE_MIN =  20 
        WPD_PROPERTY_ATTRIBUTE_RANGE_MAX =  2000
        WPD_PROPERTY_ATTRIBUTE_RANGE_STEP = 1
WPD_RESOURCE_ATTRIBUTE_TOTAL_SIZE:
        WPD_PROPERTY_ATTRIBUTE_FORM = WPD_PROPERTY_ATTRIBUTE_FORM_RANGE
        WPD_PROPERTY_ATTRIBUTE_DEFAULT_VALUE = 0
        WPD_PROPERTY_ATTRIBUTE_RANGE_MIN =  2000 
        WPD_PROPERTY_ATTRIBUTE_RANGE_MAX = 1000000
        WPD_PROPERTY_ATTRIBUTE_RANGE_STEP = 1

有关应用程序如何检索呈现配置文件 (以及) 关联的资源属性的说明,请参阅编程指南中的 检索设备支持的渲染功能 主题。

应用程序概述