IMFContentProtectionManager::BeginEnableContent 方法 (mfidl.h)

开始执行内容启用操作的异步请求。

此方法请求应用程序使用内容启用器对象执行获取内容权限所需的特定步骤。

语法

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。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。

注解

请勿在此回调方法中阻止。 而是在另一个线程上异步执行内容启用操作。 操作完成后,通过 pCallback 参数通知受保护的媒体路径 (PMP) 。

如果从此方法返回成功代码,则必须对回调调用 Invoke 。 相反,如果从此方法返回错误代码,则不得调用 Invoke。 如果在方法返回成功代码后操作失败,请使用 IMFAsyncResult 对象上的状态代码来报告错误。

调用回调后,PMP 将调用应用程序的 IMFContentProtectionManager::EndEnableContent 方法以完成异步调用。

不一定每次应用程序播放受保护的内容时调用此方法。 通常,如果用户具有内容的有效最新许可证,则不会调用 方法。 在内部,输入信任机构 (ITA) 根据内容提供程序的 DRM 策略确定是否调用 BeginEnableContent 。 有关详细信息,请参阅 受保护的媒体路径

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 mfidl.h
Library Mfuuid.lib

另请参阅

IMFActivate

IMFContentProtectionManager