应用程序的接口

本部分介绍使用 Windows Media 设备管理器 SDK 与设备通信的应用程序使用或实现的接口。 此处使用的术语“应用程序”是指台式计算机上存在且需要与连接的便携式设备进行高级通信的任何可执行文件、插件或 COM 对象。 这可以包括媒体播放器应用程序、Windows 媒体播放器插件 ((如果需要直接访问便携式设备) )或播放计数计量 COM 对象。

其中一些接口由应用程序实现,而其他接口由应用程序调用。 每个接口的文档指示它是 (实现还是调用,如果已实现,则它是可选的还是必需的) 。

应用程序使用以下接口或类。

接口或类 说明
CSecureChannelClient 类 一个帮助程序类,使应用程序能够自行进行身份验证、加密和解密数据以及创建 MAC。
IWMDeviceManager 应用程序的顶级 Windows Media 设备管理器 接口。
IWMDeviceManager2 通过提供高级枚举方法和其他方法扩展 IWMDeviceManager
IWMDeviceManager3 通过提供设置设备枚举首选项的方法扩展 IWMDeviceManager2 接口。
IWMDMDevice 提供检查和浏览单个便携式设备的方法。
IWMDMDevice2 通过获取设备支持的视频格式、按名称查找存储以及使用属性页,扩展 IWMDMDevice
IWMDMDevice3 通过提供查询设备属性的方法、发送设备 I/O 控件代码以及提供用于搜索存储和检索设备格式功能的升级方法,扩展 IWMDMDevice2
IWMDMDeviceControl 提供用于控制设备的方法。
IWMDMDeviceSession 通过将多个操作捆绑到一个会话中来提高设备操作的效率
IWMDMEnumDevice 枚举连接到计算机的便携式设备。
IWMDMEnumStorage 枚举设备上的存储。
IWMDMMetaData 设置和检索存储) (的元数据属性,例如艺术家、专辑、流派等。
IWMDMObjectInfo 获取和设置控制 IWMDMDeviceControl 接口如何处理设备上的可播放文件的信息
IWMDMRevoked 检索 URL,如果传输失败并出现吊销错误,则可以从中下载更新的组件。
IWMDMStorage 提供检查和浏览设备上的存储 (文件、文件夹、播放列表) 的方法。
IWMDMStorage2 扩展 IWMDMStorage ,方法是可以按名称获取子存储,并获取和设置扩展属性。
IWMDMStorage3 通过公开元数据扩展 IWMDMStorage2
IWMDMStorage4 通过提供检索存储的可用元数据子集以及设置和检索对其他存储的引用列表的方法,扩展 IWMDMStorage3
IWMDMStorageControl 用于在设备内或设备和计算机之间插入、删除或移动文件。
IWMDMStorageControl2 扩展 IWMDMStorageControl ,方法是在将内容插入存储时设置目标文件的名称。
IWMDMStorageControl3 通过允许传入 IWMDMMetaData 接口指针,扩展 IWMDMStorageControl2
IWMDMStorageGlobals 提供检索有关存储介质 ((如设备上的闪存 ROM 卡) )的全局信息的方法。
IWMDRMDeviceApp 使应用程序能够执行设备的 DRM 组件的计量、许可证同步和更新。
IWMDRMDeviceApp2 通过提供新版本的 QueryDeviceStatus 方法扩展 IWMDRMDeviceApp

 

回调接口

以下可选接口由应用程序实现,用于跟踪异步请求(例如读取或写入请求)的进度。

接口 说明
IWMDMNotification 允许应用程序和服务提供商在设备或内存存储 ((如 RAM 卡) )与计算机连接或断开连接时接收通知。
IWMDMOperation2 通过提供获取和设置扩展属性的方法扩展 IWMDMOperation
IWMDMOperation3 通过提供一种用于传输未加密数据的新方法来扩展 IWMDMOperation ,以提高效率。
IWMDMOperation 允许应用程序控制在文件传输期间如何从计算机读取数据或将数据写入计算机。
IWMDMProgress2 通过提供状态指示器扩展 IWMDMProgress::End 方法。
IWMDMProgress3 通过提供其他输入参数来指定事件 ID 和特定于上下文的信息,扩展 IWMDMProgress2
IWMDMProgress 允许应用程序跟踪操作进度,例如设置媒体格式或文件传输。

 

下图显示了如何从根 IWMDeviceManager 接口获取大多数重要应用程序接口。 应用程序通过共同创建 MediaDevMgr 对象、请求 IComponentAuthenticate 接口、对组件进行身份验证,然后请求 IWMDeviceManager 来获取此根接口 (对 应用程序) 进行身份验证 中所述的步骤。 获取此根接口后,将调用 IWMDeviceManager::EnumDevices 来创建实现 IWMDMEnumDevice 的对象。 其他接口是通过按所示顺序调用接口上的方法获取的。 派生接口(如 IWMDMDevice2 )是通过在基接口上调用 QueryInterface 获取的。

在下图中,派生接口用斜杠标记,因此“IWMDMStorage/2/3”表示 IWMDMStorageIWMDMStorage2IWMDMStorage3

显示如何在 Windows 媒体设备管理器中获取主要应用程序接口的示意图。

编程参考