ISCPSecureQuery::MakeDecision 方法 (mswmdm.h)

MakeDecision 方法确定是否允许访问内容。 如果允许访问,此方法将返回将用于访问内容的接口。

语法

HRESULT MakeDecision(
  [in]      UINT                fuFlags,
  [in]      BYTE                *pData,
  [in]      DWORD               dwSize,
  [in]      DWORD               dwAppSec,
  [in]      BYTE                *pbSPSessionKey,
  [in]      DWORD               dwSessionKeyLen,
  [in]      IMDSPStorageGlobals *pStorageGlobals,
  [out]     ISCPSecureExchange  **ppExchange,
  [in, out] BYTE [8]            abMac
);

参数

[in] fuFlags

描述提供给安全内容提供程序进行决策的数据的标志。 此参数必须包含在输入消息身份验证代码中。 可以存在以下标志。

标志 描述
WMDM_SCP_DECIDE_DATA pData 参数指向要检查的数据。
WMDM_MODE_TRANSFER_PROTECTED 必须保护 来自 ISCPSecureExchange 接口的 输出对象数据。 如果 Windows Media 设备管理器未设置或同时设置两种模式标志,DRM 将决定来自 ISCPSecureExchange 接口的输出对象数据必须受到保护还是取消保护。
WMDM_MODE_TRANSFER_UNPROTECTED 来自 ISCPSecureExchange 接口的输出对象数据必须不受保护。 如果 Windows Media 设备管理器未设置或同时设置两种模式标志,DRM 将决定来自 ISCPSecureExchange 接口的输出对象数据必须受到保护还是取消保护。

[in] pData

指向包含要检查的数据的数据对象的指针。 此参数必须包含在输入消息身份验证代码中,并且必须加密。

[in] dwSize

包含要检查的数据的长度(以字节为单位)的 DWORD。 此参数必须包含在输入消息身份验证代码中。

[in] dwAppSec

指示 Windows Media 设备管理器当前安全级别的 DWORD。 这是应用程序和目标服务提供程序当前安全级别的较小级别。 此参数必须包含在输入消息身份验证代码中。

[in] pbSPSessionKey

指向字节数组的指针,其中包含会话密钥,用于保护与 pStgGlobals 指向的服务提供程序的通信。 此参数必须包含在输入消息身份验证代码中,并且必须加密。

[in] dwSessionKeyLen

pbSPSessionKey 指向的字节数组的长度。 此参数必须包含在输入消息身份验证代码中。

[in] pStorageGlobals

指向要传输文件的媒体或设备的根存储上的 IWMDMStorageGlobals 接口的指针。 此参数必须包含在输入消息身份验证代码中。

[out] ppExchange

指向接收交换接口的 exchange 对象的指针。

[in, out] abMac

包含此方法参数数据的消息身份验证代码的八个字节的数组。 (WMDM_MAC_LENGTH 定义为 8.)

返回值

如果该方法成功,则它会返回 S_OK。 如果失败,则返回 HRESULT 错误代码。

返回代码 说明
WMDM_E_CALL_OUT_OF_SEQUENCE
此方法已按顺序调用。
WMDM_E_MAC_CHECK_FAILED
消息身份验证代码无效。
WMDM_E_MOREDATA
Windows Media 设备管理器必须使用另一个数据包再次调用此方法。 数据包的大小由 ISCPSecureQuery::GetDataDemands 方法中的 pdwMinDecisionData 参数确定。
S_FALSE
调用方没有执行请求的转移所需的权限。
E_INVALIDARG
参数无效或为 NULL 指针。
E_FAIL
发生了未指定的错误。

注解

此方法在 ISCPSecureQuery::ExamineData 方法之后调用,并决定是否允许访问内容。

要求

要求
目标平台 Windows
标头 mswmdm.h
Library Mssachlp.lib

另请参阅

ISCPSecureExchange 接口

ISCPSecureQuery 接口

ISCPSecureQuery2::MakeDecision2

IWMDMStorageGlobals 接口