ISCPSecureQuery::ExamineData 方法 (mswmdm.h)

ExamineData 方法通过检查 Windows Media 设备管理器传递给此方法的数据来确定内容的权利和责任。

语法

HRESULT ExamineData(
  [in]      UINT     fuFlags,
  [in]      LPWSTR   pwszExtension,
  [in]      BYTE     *pData,
  [in]      DWORD    dwSize,
  [in, out] BYTE [8] abMac
);

参数

[in] fuFlags

描述提供给安全内容提供程序以做出决策的数据的标志。 可以存在以下标志。

标志 描述
WMDM_SCP_EXAMINE_DATA pData 参数指向要检查的数据。

[in] pwszExtension

如果安全内容提供程序在 GetDataDemands 调用中请求扩展,则指向要检查的文件扩展名的指针。

[in] pData

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

[in] dwSize

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

[in, out] abMac

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

返回值

该方法返回 HRESULT。 可能的值包括(但并不限于)下表中的项。

返回代码 说明
S_OK
方法成功。 安全内容提供商负责此内容。
WMDM_E_CALL_OUT_OF_SEQUENCE
此方法是按顺序调用的。 必须先调用 GetDataDemands
WMDM_E_MAC_CHECK_FAILED
消息身份验证代码无效。
WMDM_E_MOREDATA
Windows Media 设备管理器必须使用另一个数据包再次调用此方法。 数据包的大小由 GetDataDemands 方法中的 pdwMinExamineData 参数确定。
S_FALSE
安全内容提供商对此内容不负责。 终止与安全内容提供程序的交互。
E_INVALIDARG
参数无效或为 NULL 指针。
E_FAIL
发生了未指定的错误。

注解

此方法在 GetDataDemands 方法之后调用。 安全内容提供程序使用此方法中传递的信息来确定它是否对内容负责。 将参考 fuFlags 参数来确定哪些数据已呈现以供检查。 pData 参数指向权限和责任数据的开头。 dwSize 参数包含权限和责任数据的长度(以字节为单位)。

如果设置了WMDM_SCP_EXAMINE_DATA标志,则 pDataBuffer 参数包含要检查的安全内容提供程序的 dwDataLength 字节。

如果此方法不返回S_OK或WMDM_E_MOREDATA,则 Windows Media 设备管理器不会对此安全内容提供程序进行任何进一步调用。

要求

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

另请参阅

ISCPSecureQuery 接口