IWMDRMLicenseManagement::AcquireLicense 方法
[与此页面关联的功能 Windows Media Format 11 SDK 是旧版功能。 它已被源读取器和接收器编写器取代。 源读取器和接收器编写器已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能使用源读取器和接收器编写器,而不是 Windows Media Format 11 SDK。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
AcquireLicense 方法从指定的 URL 异步获取许可证。
语法
HRESULT AcquireLicense(
[in] BSTR bstrURL,
[in] BSTR bstrHeaderData,
[in] BSTR bstrActions,
[in] DWORD dwFlags,
[out] IUnknown **ppunkCancelationCookie
);
参数
-
bstrURL [in]
-
要从中获取许可证的许可证服务器的 URL。 传递 NULL 让 方法分析内容标头中的 URL。
-
bstrHeaderData [in]
-
要传递给许可证服务器的内容标头。 如果 bstrURL 为 NULL,则 方法将分析此标头中的 URL。 如果 dwFlags 设置为 WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT,请将此值设置为密钥 ID,而不是整个内容标头。
-
bstrActions [in]
-
包含零个或多个要请求许可证权限的操作的字符串。 字符串的格式必须如下所示:
必须在 ACTION 元素中定义每个操作。 元素的数据是操作字符串。
所有 ACTION 元素都必须包含在 ACTIONLIST 元素中。
例如,请求播放内容的许可证的字符串的格式如下所示:
<ACTIONLIST><ACTION></ACTION></ACTIONLIST>
-
dwFlags [in]
-
许可证获取选项标志。 设置为下表中的常量之一。
返回的常量 描述 WMDRM_ACQUIRE_LICENSE_SILENT 许可证将直接通过 Internet 颁发,而无需客户端应用程序进行任何确认。 WMDRM_ACQUIRE_LICENSE_NONSILENT DRM 子系统将创建一个许可证请求,该请求将以异步方式返回以发布到许可证服务器。 WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT 与 WMDRM_ACQUIRE_LICENSE_NONSILENT 相同,只不过将创建 DRM 版本 1 许可证质询。 -
ppunkCancelationCookie [out]
-
一个指针,用于接收指向标识此异步调用的 对象的 IUnknown 接口的指针。 此接口指针可用于通过调用 IWMDRMEventGenerator::CancelAsyncOperation 方法取消异步调用。
返回值
该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
方法成功。 |
备注
此方法异步执行。 调用后立即返回 ,然后在处理完成后生成 MEWMDRMLicenseAcquisitionCompleted 事件。 对于非无提示许可证获取操作,通过调用 IMFMediaEvent::GetValue 获取的事件值是 IUnknown 指针。 可以调用检索到的 IUnknown 接口的 QueryInterface 方法来获取 IWMDRMNonSilentLicenseAquisition 接口的实例。
有关使用 Windows Media DRM 客户端扩展 API 的异步方法的详细信息,请参阅 使用媒体基础事件模型。
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|