应用程序的接口

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

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

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

接口或类 描述
CSecureChannelClient 类 帮助程序类,使应用程序能够自行进行身份验证、加密和解密数据以及创建 MAC。
IWMDeviceManager 应用程序的顶级 Windows 媒体设备管理器接口。
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 媒体设备管理器中获取主要应用程序接口的 关系图。

编程参考