刷新具有“游戏ForSure”徽标的应用商店的许可证

[与此页面关联的功能(Windows 媒体播放器 SDK)是旧版功能。 它已被 MediaPlayer 取代。 MediaPlayer 已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用 MediaPlayer 而不是 Windows 媒体播放器 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

某些在线音乐商店具有 PlaysForSure 徽标,但未与 Windows 媒体播放器 11 集成。 这些存储必须提供 ServiceInfo 文档和轻型组件,以便Windows 媒体播放器 11 可以获取和更新其内容的许可证。

以下示例演示了许可证更新过程的工作原理。

  1. 用户从 Proseware 在线商店获取 50 首音乐曲目。 每个曲目都是一个文件扩展名为 .wma 的文件。 除了曲目之外,用户还获得了播放轨道的许可证。

  2. 用户将 50 个轨道复制到安装了 Windows 媒体播放器 11 的新计算机,并将这些轨道添加到Windows 媒体播放器库。

  3. 稍后,许可证刷新模块 (LRM) (Windows 媒体播放器 11 的一部分)检查五十个轨道中的元数据,并确定 Proseware 是内容提供程序。

    注意

    Windows 媒体播放器能够通过检查媒体文件中的 ContentDistributor 属性来标识内容提供程序。 如果具有 PlaysForSure 徽标的在线商店提供使用 Windows Media Digital Rights Management (WMDRM) 的媒体文件,则在线商店必须将 ContentDistributor 属性放在媒体文件中。 有关详细信息,请参阅在 Windows 媒体播放器 SDK 中添加内容分发服务器属性。

     

  4. LRM 查找 Proseware 的 ServiceInfo 文档的 URL,下载文档,并检查文档的 Install 元素以获取 LRM 可用于安装 Proseware 组件的包的 URL。 LRM 安装并加载组件。

  5. 对于 50 个轨道中的每一个,LRM 调用 Proseware 组件的 IWMPSubscriptionService::allowPlay 方法。 allowPlay 方法在新计算机上放置单个轨道的许可证,并在 pfAllowPlay 参数中返回 TRUE

    注意

    Proseware 组件必须提供播放单个曲目所需的所有许可证。也就是说,如果需要,组件必须同时提供根许可证和叶许可证。

     

    在首次调用 allowPlay 方法期间,Proseware 组件必须显示一个对话框,以验证当前用户是否具有 Proseware 帐户,并有权播放曲目。在对 allowPlay 的后续调用中,组件可以使用在第一次调用中获得的凭据来验证用户是否有权播放剩余曲目。

由在线商店编写的组件必须实现 IWMPSubscriptionService 接口的 allowPlay 方法。 组件必须从其他三种方法中返回E_NOTIMPL: allowCDBurnallowPDATransferstartBackgroundProcessing。 此外,组件必须将 “功能 ”注册表项的值设置为 1;也就是说,必须设置SUBSCRIPTION_CAP_ALLOWPLAY功能标志,并且必须清除所有其他功能标志。 有关注册组件的详细信息,请参阅 Type 2 Online Store 的注册表项和条目

有关创建实现 IWMPSubscriptionService 接口的组件的信息,请参阅 为 Type 2 Online Store 生成插件

有关向 Microsoft 提供 ServiceInfo 文档的信息,请向 Windows 媒体播放器 Virtual Services 团队发送电子邮件。 团队的电子邮件地址为 mpsvctm@microsoft.com。

有关使用各种 Windows Media SDK 创建提供许可数字媒体内容的服务的技术指南,请转到 Microsoft Windows 媒体开发人员中心并搜索“创建Windows 媒体播放器 10 订阅在线商店”。

ServiceInfo 文档

Windows 媒体播放器在线商店