无提示许可证获取

[与此页面关联的功能 Windows Media Format 11 SDK 是旧版功能。 它已被源读取器和接收器编写器取代。 源读取器和接收器编写器已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用源读取器和接收器编写器,而不是 Windows Media Format 11 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

无提示许可证获取只需要一个异步处理与许可证服务器的所有网络通信的方法调用。

这种类型的许可证获取通常用作对尝试访问受保护内容的最终用户的响应,例如,尝试在媒体播放器应用程序中播放受保护的文件。 由于无提示许可证获取通过单个调用获取许可证,因此,如果需要用户提供的其他输入(例如内容付款),则无法使用该许可证。

若要执行无提示许可证获取,请使用以下步骤:

  1. 调用 IWMDRMLicenseManagement::AcquireLicense 方法。 将受保护文件中的 DRM 标头作为 bstrHeaderData 参数传入。 在 bstrActions 参数中指定要授予许可证的权限。 最后,将 dwFlags 参数设置为 WMDRM_ACQUIRE_LICENSE_SILENT。
  2. IWMDRMLicenseManagement 接口的陷阱事件。 收到 MEWMDRMLicenseAcquisitionCompleted 事件时,通过调用 IMFMediaEvent::GetStatus 方法检查其返回代码,该方法记录在媒体基础文档中。 如果检索到的 HRESULT 值为成功代码,则表示许可证已成功下载,并且已在本地许可证存储中可供使用。

获取许可证

使用媒体基础事件模型