服务提供商的接口

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

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

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

 

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

关系图,显示 Windows 媒体设备管理器如何从服务提供商获取接口。

编程参考

Windows Media DRM-Implemented 接口