应用程序的接口
本部分介绍使用 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”表示 IWMDMStorage、 IWMDMStorage2 和 IWMDMStorage3。
相关主题