PFND3D11_1DDI_CONFIGUREAUTHENTICATEDCHANNEL回调函数 (d3d10umddi.h)
处理来自应用程序的请求,以配置经过身份验证的通道以用于内容保护。 由 Windows 显示驱动程序模型 (WDDM) 1.2 或更高版本的用户模式显示驱动程序实现。
语法
PFND3D11_1DDI_CONFIGUREAUTHENTICATEDCHANNEL Pfnd3d111DdiConfigureauthenticatedchannel;
HRESULT Pfnd3d111DdiConfigureauthenticatedchannel(
D3D10DDI_HDEVICE hDevice,
D3D11_1DDI_HAUTHCHANNEL hCAuthChannel,
UINT InputDataSize,
const VOID *pInputData,
D3D11_1DDI_AUTHENTICATED_CONFIGURE_OUTPUT *pOutputData
)
{...}
参数
hDevice
显示设备的句柄(图形上下文)。
hCAuthChannel
通过调用 CreateAuthenticatedChannel(D3D11_1) 函数创建的经过身份验证的通道对象的句柄。
InputDataSize
由 pInputData 参数指定的数组的大小(以字节为单位)。
pInputData
指向包含命令输入数据的字节数组的指针。 有关详细信息,请参阅“备注”部分。
pOutputData
指向 D3D11_1DDI_AUTHENTICATED_CONFIGURE_OUTPUT 结构的指针。 有关详细信息,请参阅“备注”部分。
返回值
返回以下值之一:
返回代码 | 说明 |
---|---|
S_OK | 已成功配置经过身份验证的通道。 |
E_FAIL | 显示微型端口驱动程序不支持指定的命令 |
E_INVALIDARG | 参数已验证并确定不正确。 |
E_OUTOFMEMORY | 内存无法完成作。 |
言论
pInputData 参数引用的字节数组采用以下方式进行格式化:
此数组以 D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT 结构开头。
此结构后面的数据采用由结构 ConfigureType 成员指定的格式。
以下列表基于 ConfigureType 成员描述此数据的格式。
D3D11_1DDI_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION_GUIDD3D11_1DDI_AUTHENTICATED_CONFIGURE_CRYPTO_SESSION
D3D11_1DDI_AUTHENTICATED_CONFIGURE_ENCRYPTION_WHEN_ACCESSIBLE_GUIDD3D11_1DDI_AUTHENTICATED_CONFIGURE_ACCESSIBLE_ENCRYPTION
D3D11_1DDI_AUTHENTICATED_CONFIGURE_INITIALIZE_GUIDD3D11_1DDI_AUTHENTICATED_CONFIGURE_INITIALIZE
D3D11_1DDI_AUTHENTICATED_CONFIGURE_PROTECTION_GUIDD3D11_1DDI_AUTHENTICATED_CONFIGURE_PROTECTION
D3D11_1DDI_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE_GUIDD3D11_1DDI_AUTHENTICATED_CONFIGURE_SHARED_RESOURCE
D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT 结构包含数据的基于 AES 的单键 CBC 消息身份验证代码(OMAC)。 显示微型端口驱动程序必须基于数据计算自己的 OMAC 才能对数据进行身份验证。 此输入结构还包含经过身份验证的通道的驱动程序句柄、序列号和指示配置类型的 GUID。
显示微型端口驱动程序在初始化 D3D11_1DDI_AUTHENTICATED_CONFIGURE_OUTPUT 结构时遵循以下步骤:
驱动程序必须将输入数据复制到 D3D11_1DDI_AUTHENTICATED_CONFIGURE_OUTPUT 结构。
驱动程序必须将 ReturnCode 成员设置为它将为 ConfigureAuthenticatedChannel(D3D11_1) 调用返回的相同返回代码。 这为应用程序提供了访问返回代码的安全机制。
驱动程序将 omac 成员设置为零,然后计算结构中数据的 OMAC。 然后,驱动程序将 omac 成员设置为它计算的 OMAC
在以下情况下,显示微型端口驱动程序必须返回 ConfigureAuthenticatedChannel 调用的 E_INVALIDARG:
D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT 结构的 omac 成员与驱动程序计算的 OMAC 不匹配。
序列号不大于在上一个配置调用中指定的序列号。
该序列号尚未通过对 ConfigureAuthenticatedChannel(D3D11_1) 函数的调用进行初始化。
InputDataSize 参数小于 D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT 结构的大小以及由D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT指定的结构的大小。ConfigureTypemember。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 8 |
支持的最低服务器 | Windows Server 2012 |
目标平台 | 桌面 |
标头 | d3d10umddi.h (包括 D3d10umddi.h) |
另请参阅
CreateAuthenticatedChannel(D3D11_1)