PFND3D11_1DDI_QUERYAUTHENTICATEDCHANNEL回调函数 (d3d10umddi.h)

查询经过身份验证的通道以获取功能和状态信息。 由 Windows 显示驱动程序模型 (WDDM) 1.2 或更高版本的用户模式显示驱动程序实现。

语法

PFND3D11_1DDI_QUERYAUTHENTICATEDCHANNEL Pfnd3d111DdiQueryauthenticatedchannel;

HRESULT Pfnd3d111DdiQueryauthenticatedchannel(
  D3D10DDI_HDEVICE hDevice,
  D3D11_1DDI_HAUTHCHANNEL hCAuthChannel,
  UINT InputDataSize,
  const VOID *pInputData,
  UINT OutputDataSize,
  VOID *pOutputData
)
{...}

参数

hDevice

显示设备的句柄 (图形上下文) 。

hCAuthChannel

通过调用 CreateAuthenticatedChannel (D3D11_1) 函数创建的经过身份验证的通道对象的句柄。

InputDataSize

pInputData 数组中数据的大小(以字节为单位)。

pInputData

指向描述要查询的信息的缓冲区的指针。 此缓冲区中的数据的格式设置为 D3D11_1DDI_AUTHENTICATED_QUERY_INPUT 结构。

OutputDataSize

pOutputData 数组中数据的大小(以字节为单位)。

pOutputData

指向包含查询信息的缓冲区的指针。 有关详细信息,请参见“备注”部分。

返回值

返回以下值之一:

返回代码 说明
S_OK 已成功查询经过身份验证的通道。
E_FAIL 显示微型端口驱动程序不支持指定的命令
E_INVALIDARG 参数已验证,确定为不正确。
E_OUTOFMEMORY 内存无法完成操作。

注解

pInputData 参数引用包含 D3D11_1DDI_AUTHENTICATED_QUERY_INPUT 结构的缓冲区。 此结构包含驱动程序对经过身份验证的通道的句柄、序列号和指示要执行的查询类型的 GUID。 如果之前未使用 ConfigureAuthenticatedChannel (D3D11_1) 函数初始化序列号,驱动程序必须返回E_INVALIDARG。 如果序列号不大于上一个查询调用的序列号,驱动程序还必须返回 E_INVALIDARG

pOutputData 参数引用的字节数组采用由 D3D11_1DDI_AUTHENTICATED_QUERY_INPUT 结构的 QueryType 成员指定的格式。 以下列表描述了基于 QueryType 成员的此数据的格式。

驱动程序通过以下步骤准备 pOutputData 参数引用的输出缓冲区:

  1. 基于 QueryType 成员返回的每个结构都以 D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT 结构开头。 驱动程序必须将 D3D11_1DDI_AUTHENTICATED_QUERY_INPUT 的成员复制到 D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT 结构。
  2. 驱动程序必须将 ReturnCode 成员设置为它将为 QueryAuthenticatedChannel (D3D11_1) 调用返回的相同返回代码。 这为应用程序提供了访问返回代码的安全机制。
  3. 根据 QueryType 成员的值,驱动程序必须初始化 pOutputData 缓冲区中D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT 结构后面的相应结构。
  4. 驱动程序必须以处理输出保护管理器 (OPM) 查询的方式对 pOutputData 缓冲区进行签名。

    D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT结构包含基于 AES 的单键 CBC 消息身份验证代码 (OMAC) 数据。 显示微型端口驱动程序必须针对输出缓冲区中的数据计算 OMAC,以便对数据进行身份验证。 驱动程序为此,首先将 omac 成员设置为零,然后计算缓冲区中数据的 OMAC。 然后,驱动程序将 omac 成员设置为它计算的 OMAC。

在以下情况下,显示微型端口驱动程序必须为 QueryAuthenticatedChannel (D3D11_1) 调用返回E_INVALIDARG:
  • 序列号不大于在上一个配置调用中指定的序列号。
  • 尚未通过调用 ConfigureAuthenticatedChannel (D3D11_1) 函数来初始化序列号。
  • OutputDataSize 参数小于D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT指定的结构的大小。QueryType 成员。

要求

要求
最低受支持的客户端 Windows 8
最低受支持的服务器 Windows Server 2012
目标平台 桌面
标头 d3d10umddi.h (包括 D3d10umddi.h)

另请参阅

ConfigureAuthenticatedChannel (D3D11_1)

CreateAuthenticatedChannel (D3D11_1)

D3D11_1DDI_AUTHENTICATED_QUERY_INPUT

D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT