无提示许可证获取
[与此页面关联的功能(Windows Media Format 11 SDK)是一项旧功能。 它已被 源读取器 和 接收器编写器取代。 源读取器 和 接收器编写器 已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft强烈建议新代码尽可能使用 源读取器 和 接收器编写器,而不是 Windows 媒体格式 11 SDK。 Microsoft建议重写使用旧 API 的现有代码,以尽可能使用新 API。]
无提示许可证获取只需要一个方法调用,以异步方式处理与许可证服务器的所有网络通信。
这种类型的许可证获取通常用作对尝试访问受保护内容的最终用户的响应,例如,尝试在媒体播放器应用程序中播放受保护的文件。 由于无提示许可证获取获取具有单个调用的许可证,因此如果需要用户的其他输入(如为内容付款),则无法使用该许可证。
若要执行无提示许可证获取,请使用以下步骤:
- 调用 IWMDRMLicenseManagement::AcquireLicense 方法。 作为 bstrHeaderData 参数传入受保护文件的 DRM 标头。 指定要在 bstrActions 参数中授予许可证的权限。 最后,将 dwFlags 参数设置为WMDRM_ACQUIRE_LICENSE_SILENT。
- 捕获 IWMDRMLicenseManagement 接口的事件。 收到 MEWMDRMLicenseAcquisitionCompleted 事件时,请通过调用 IMFMediaEvent::GetStatus 方法来检查其返回代码,该方法记录在媒体基础文档中。 如果检索到 HRESULT 值为成功代码,则许可证已成功下载,并已在本地许可证存储中可供使用。
相关主题