开始异步请求以执行内容启用操作。
此方法请求应用程序执行使用内容启用器对象获取内容权限所需的特定步骤。
Syntax
HRESULT BeginEnableContent(
[in] IMFActivate *pEnablerActivate,
[in] IMFTopology *pTopo,
[in] IMFAsyncCallback *pCallback,
[in] IUnknown *punkState
);
参数
[in] pEnablerActivate
指向内容启用器对象的 IMFActivate 接口的指针。 若要创建内容启用程序,请调用 IMFActivate::ActivateObject 并请求 IMFContentEnabler 接口。 应用程序应使用 IMFContentEnabler 中的方法来完成内容启用作。
[in] pTopo
指向挂起拓扑的 IMFTopology 接口的指针。
[in] pCallback
指向回调对象的 IMFAsyncCallback 接口的指针。 作完成后,应用程序应在回调上调用 IMFAsyncCallback::Invoke 。
[in] punkState
预留。 目前此参数始终为 NULL。
返回值
该方法返回 HRESULT。 可能的值包括但不限于下表中的值。
| 返回代码 | Description |
|---|---|
|
方法成功。 |
注解
请勿在此回调方法中阻止。 而是在另一个线程上异步执行启用作的内容。 作完成后,通过 pCallback 参数通知受保护的媒体路径(PMP)。
如果从此方法返回成功代码,则必须在回调上调用 Invoke 。 相反,如果从此方法返回错误代码,则不得调用 Invoke。 如果该方法返回成功代码后作失败,请使用 IMFAsyncResult 对象上的状态代码报告错误。
调用回调后,PMP 将调用应用程序的 IMFContentProtectionManager::EndEnableContent 方法来完成异步调用。
每次应用程序播放受保护的内容时,不一定调用此方法。 通常,如果用户具有内容的有效日期许可证 up-to日期许可证,则不会调用该方法。 在内部,输入信任机构(ITA)根据内容提供程序的 DRM 策略确定是否调用 BeginEnableContent 。 有关详细信息,请参阅 受保护的媒体路径。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | Windows Vista [仅限桌面应用] |
| 支持的最低服务器 | Windows Server 2008 [仅限桌面应用] |
| 目标平台 | Windows操作系统 |
| Header | mfidl.h |
| Library | Mfuuid.lib |