ISCPSecureQuery3::MakeDecisionOnClearChannel 方法 (mswmdm.h)
MakeDecisionOnClearChannel 方法确定是否允许在明文通道上访问内容。 如果允许访问,此方法将返回用于访问内容的接口。
语法
HRESULT MakeDecisionOnClearChannel(
[in] UINT fuFlags,
[in] BYTE *pData,
[in] DWORD dwSize,
[in] DWORD dwAppSec,
[in] BYTE *pbSPSessionKey,
[in] DWORD dwSessionKeyLen,
[in] IMDSPStorageGlobals *pStorageGlobals,
[in] IWMDMProgress3 *pProgressCallback,
[in] BYTE *pAppCertApp,
[in] DWORD dwAppCertAppLen,
[in] BYTE *pAppCertSP,
[in] DWORD dwAppCertSPLen,
[in, out] LPWSTR *pszRevocationURL,
[in, out] DWORD *pdwRevocationURLLen,
[out] DWORD *pdwRevocationBitFlag,
[in, out] ULONGLONG *pqwFileSize,
[in] IUnknown *pUnknown,
[out] ISCPSecureExchange **ppExchange
);
参数
[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 接口的指针。
[in] pProgressCallback
指向进度回调对象的指针。
[in] pAppCertApp
指向应用程序对象的应用程序证书的指针。
[in] dwAppCertAppLen
包含应用程序证书的长度(以字节为单位)的 DWORD。
[in] pAppCertSP
指向服务提供程序对象的应用程序证书的指针。
[in] dwAppCertSPLen
包含应用程序证书的长度(以字节为单位)的 DWORD。
[in, out] pszRevocationURL
指向用于保存吊销 URL 的缓冲区的指针。
[in, out] pdwRevocationURLLen
指向包含 rpszRevocationURL 缓冲区大小的 DWORD 的指针(以字节为单位)。
[out] pdwRevocationBitFlag
指向包含吊销位标志的 DWORD 的指针。 标志值将是零个或使用以下一个或多个标志名称组合使用按位 OR。
值 | 说明 |
---|---|
WMDM_WMDM_REVOKED | Windows Media 设备管理器本身已被撤销。 |
WMDM_APP_REVOKED | 应用程序已被撤销,需要更新,然后才能传输任何受 DRM 保护的内容。 |
WMDM_SP_REVOKED | 服务提供商已被撤销,需要更新,然后才能将任何受 DRM 保护的内容传输到该服务提供程序。 |
WMDM_SCP_REVOKED | 内容提供程序已被撤销,需要更新,然后才能传输任何受 DRM 保护的内容。 |
[in, out] pqwFileSize
指向包含文件大小的 QWORD 的指针。 如果此时无法确定目标文件的大小,内容提供程序负责更新此值或将其设置为零。
[in] pUnknown
指向应用程序中未知接口的指针。
[out] ppExchange
指向接收交换接口的 exchange 对象的指针。
返回值
如果该方法成功,则它会返回 S_OK。 如果方法失败,则返回 HRESULT 错误代码。
返回代码 | 说明 |
---|---|
|
此方法已按顺序调用。 |
|
消息身份验证代码无效。 |
|
Windows Media 设备管理器必须使用另一个数据包再次调用此方法。 数据包的大小由 ISCPSecureQuery::GetDataDemands 方法中的 pdwMinDecisionData 参数确定。 |
|
调用方没有执行请求的转移所需的权限。 |
|
参数无效或为 NULL 指针。 |
|
发生了未指定的错误。 |
注解
此方法与 ISCPSecureQuery2::MakeDecision2 相同,只是传递给此方法的参数未加密。 因此,此方法更高效。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | mswmdm.h |
Library | Mssachlp.lib |