WM_GET_LICENSE_DATA 结构
[与此页面关联的功能 Windows Media Format 11 SDK 是一项旧功能。 它已被源读取器和接收器编写器取代。 源读取器和接收器编写器已针对Windows 10和Windows 11进行了优化。 如果可能,Microsoft 强烈建议新代码使用源读取器和接收器编写器,而不是 Windows Media 格式 11 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
WM_GET_LICENSE_DATA结构包含有关从何处获取 DRM许可证的信息。
语法
typedef struct _WMGetLicenseData {
DWORD dwSize;
HRESULT hr;
WCHAR *wszURL;
WCHAR *wszLocalFilename;
BYTE *pbPostData;
DWORD dwPostDataSize;
} WM_GET_LICENSE_DATA;
成员
-
dwSize
-
包含WM_GET_LICENSE_DATA结构的大小(以字节为单位)的 DWORD。
-
小时
-
HRESULT 返回代码。
-
wszURL
-
包含许可证获取 URL 的以 null 结尾的宽字符字符串。 在非无提示许可证获取中使用此字符串和 pbPostData 字符串。
-
wszLocalFilename
-
以 null 结尾的宽字符字符串,其中包含由 DRM 组件生成的本地 HTML 页。 当此字符串加载到浏览器中时,它会自动将 HTTP 请求重定向到许可证获取 URL 以及必要的发布数据。 现在已弃用此本地 URL。 建议的方法是使用 wszURL 和 pbPostData 字符串。
-
pbPostData
-
指向包含要发布到许可证获取 URL 的数据的字节数组的指针。 必须将以下字符串添加到 pbPostData 字符串的开头:“nonsilent=1&challenge=”。 形成 HTTP 请求时,生成的字符串应追加到 wszURL 。
-
dwPostDataSize
-
DWORD ,指示 pbPostData 中没有引用的“nonsilent=1&challenge=”字符串的 pbPostData 的大小。
备注
如果 WMT_STATUS 等于 WMT_NO_RIGHTS_EX 或 WMT_ACQUIRE_LICENSE,则会在 IWMStatusCallback::OnStatus 方法的 pValue 参数中返回此填充结构。 对于WMT_NO_RIGHTS_EX事件, hr 成员将为NS_E_LICENSE_REQUIRED、NS_E_LICENSE_OUTOFDATE或NS_E_LICENSE_INCORRECT_RIGHTS。 这些错误中的任何一个都表明必须导航到 wszURL 成员中的 URL 来获取新许可证。
对于WMT_ACQUIRE_LICENSE事件,如果成功获取许可证, hr 成员将传递 SUCCEEDED 宏。 如果在尝试无提示获取后收到此事件,并且 hr 等于 NS_E_DRM_LICENSE_NOTACQUIRED,则表示此许可证的许可证服务器仅支持非无提示获取。
Audioplayer 示例应用程序演示如何正确使用此结构中返回的信息。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
版本 |
Windows Media Format 7 SDK 或更高版本的 SDK |
标头 |
|