IMFInputTrustAuthority::RequestAccess 方法 (mfidl.h)
请求对流执行指定操作的权限。
语法
HRESULT RequestAccess(
[in] MFPOLICYMANAGER_ACTION Action,
[out] IMFActivate **ppContentEnablerActivate
);
parameters
[in] Action
请求的操作,指定为 MFPOLICYMANAGER_ACTION 枚举的成员。
[out] ppContentEnablerActivate
接收值 NULL 或指向 IMFActivate 接口的指针。 IMFActivate 接口用于创建内容启用程序对象。 调用方必须释放接口。 有关详细信息,请参阅“备注”。
返回值
此方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。
返回代码 | 说明 |
---|---|
|
用户有权执行此操作。 |
|
用户必须个性化应用程序。 |
|
用户必须获取许可证。 |
注解
此方法验证用户是否有权对流执行指定操作。 ITA 执行验证用户执行操作的权利所需的任何工作,例如检查许可证。
若要验证用户的权限,ITA 可能需要执行需要与用户交互或用户同意的其他步骤。 例如,它可能需要获取新许可证或将 DRM 组件个性化。 在这种情况下,ITA 为内容启用程序创建激活对象,并在 ppContentEnablerActivate 参数中返回激活对象的 IMFActivate 接口。 激活对象负责创建公开 IMFContentEnabler 接口的内容启用程序。 内容启用程序的使用方式如下:
- 媒体会话返回指向应用程序的 IMFActivate 指针。
- 应用程序调用 IMFActivate::ActivateObject 来激活内容启用程序。
- 应用程序调用 IMFContentEnabler 方法来执行所需的任何操作,例如个性化或获取许可证。 内容启用程序对象必须通过 IMFContentEnabler 接口封装此功能。
- 媒体会话再次调用 RequestAccess 。
- 如果用户已具有执行操作的权限,该方法将返回S_OK并将 *ppContentEnablerActivate 设置为 NULL。
- 如果用户没有权限,该方法将返回失败代码并将 *ppContentEnablerActivate 设置为 NULL。
- 如果 ITA 必须执行需要与用户交互的其他步骤,该方法将返回失败代码,并在 ppContentEnablerActivate 中返回内容启用器的 IMFActivate 指针。
一个流可以转到多个输出,因此可以使用不同的操作多次调用此方法,每个输出调用一次。
要求
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | mfidl.h |
Library | Mfuuid.lib |