处理个性化事件
[与此页面关联的功能 Windows Media Format 11 SDK 是旧版功能。 它已被源读取器和接收器编写器取代。 源读取器和接收器编写器已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用源读取器和接收器编写器,而不是 Windows Media Format 11 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
当启用了 DRM 的应用程序尝试打开受保护的文件时,DRM 组件会检查文件中 的 DRM_DRMHeader_IndividualizedVersion 属性,该属性指定访问内容所需的最低版本级别。 所有级别的 DRM 组件都适用于所有 7.0 及更高版本的 Windows 媒体播放器 和 Windows Media Format SDK。 如果 DRM 组件的个性化版本级别低于所需版本,则 DRM 组件将向应用程序的 IWMStatusCallback::OnStatus 方法发送WMT_NEEDS_INDIVIDUALIZATION事件。 然后,应用程序必须显示一条消息或对话框,提示用户启动或取消安全升级。 此提示是必需的,因为出于隐私原因,用户必须先授予权限,然后才能在其计算机上安装安全升级。
注意
内容的标头仅指定DRM_DRMVersion_IndividualizedVersion的前两位数字。 换句话说,若要要求级别 2.2.0.1 DRM 组件,标头将包含“2.2”。
若要启动安全升级和/或触发个性化,请调用 IWMDRMReader::Individualize 方法,并将 dwFlags 参数设置为 1。
必须在应用程序中处理 WMT_INDIVIDUALIZE 事件。 此事件将由 DRM 组件多次触发,其状态为 pValue 参数中指示的个性化进程,该参数将强制转换为 指向WM_INDIVIDUALIZE_STATUS 结构的指针。
成功个性化 DRM 组件后,应用程序将收到 WMT_NO_RIGHTS_EX 事件,指示应用程序现在可以继续获取内容的许可证。
注意
此 SDK 的基于 x64 的版本不支持 DRM。
相关主题