服务提供程序的接口

本部分介绍由 Windows Media 设备管理器 服务提供商实现的接口。 服务提供商执行与设备通信的大部分实际工作,因为它们实现了应用程序调用的大多数 Windows Media 设备管理器 SDK 方法。

服务提供商不需要实现本节中列出的所有接口。 例如,没有板载存储的媒体设备不实现用于控制或公开内容的接口。 在相应的引用页上指示是否需要方法或接口。

接口或类 说明
CSecureChannelServer 一个帮助程序类,使服务提供商或安全内容提供程序能够对应用程序进行身份验证并为安全参数创建 MAC 签名。
IMDServiceProvider 为客户端 (通常为 Windows Media 设备管理器) 提供此服务提供程序支持的设备枚举器。
IMDServiceProvider2 通过提供使用设备路径创建设备的方法,扩展 IMDServiceProvider
IMDServiceProvider3 通过提供设置设备枚举首选项的方法扩展 IMDServiceProvider2
IMDSPDevice 提供与媒体设备的基于实例的关联。 使用此接口,客户端可以枚举设备的存储媒体枚举器,获取有关设备的信息,并将不透明 (直通) 命令发送到设备。
IMDSPDevice2 扩展 IMDSPDevice 的方法包括:提供获取扩展视频格式的方法、获取即插即用 (PnP) 设备名称、允许使用属性页,以及从其名称获取指向存储介质的指针。 此接口对于服务提供程序是可选的,但建议使用。
IMDSPDevice3 通过提供有关对象格式查询设备的属性和功能的功能,扩展 IMDSPDevice2
IMDSPDeviceControl 提供用于控制设备的方法。
IMDSPDirectTransfer 允许 Windows Media 设备管理器将内容传输委托给服务提供商。 在这种情况下,Windows Media 设备管理器在将内容发送到服务提供商之前不会对其进行任何处理。 服务提供商获得对源的完全控制。
IMDSPEnumDevice 枚举此服务提供程序支持的媒体设备。
IMDSPEnumStorage 枚举设备上的存储媒体和存储介质上的内容。
IMDSPObject 包含对存储对象执行数据传输操作的方法。
IMDSPObject2 通过更高效地传输已启用 DRM 的数据,扩展 IMDSPObject
IMDSPObjectInfo 设置或获取存储介质上可播放对象的播放长度、播放位置、播放偏移量或总长度。
IMDSPRevoked 检索可从中下载更新组件的 URL。
IMDSPStorage 提供与设备上的存储介质的基于实例的关联。 此接口创建存储对象,检索有关它们的信息,并提供对 IMDSPEnumStorage 接口的访问权限,以枚举嵌套在当前存储中的子文件夹。
IMDSPStorage2 通过获取和设置扩展属性以及从其名称获取指向存储的指针,扩展 IMDSPStorage
IMDSPStorage3 通过支持元数据扩展 IMDSPStorage2
IMDSPStorage4 通过支持播放列表对象扩展 IMDSPStorage3
IMDSPStorageGlobals 检索有关存储介质的全局信息,例如可用空间量和文件总数。

 

下图显示了如何获取由服务提供商实现的各种接口。 在此图中,派生接口显示在相同的标记中,因此 IMDServiceProvider/2/3 将表示三个接口: IMDServiceProviderIMDServiceProvider2IMDServiceProvider3。 显示的方法仅由其中一个接口扩展。 派生接口是通过在所创建对象的基接口上调用 QueryInterface 来获取的。

显示 Windows 媒体设备管理器希望如何从服务提供商获取接口的示意图。

编程参考

Windows Media DRM-Implemented 接口