PFND3D11_1DDI_QUERYAUTHENTICATEDCHANNEL función de devolución de llamada (d3d10umddi.h)

Consulta un canal autenticado para obtener información de estado y funcionalidad. Implementado por un controlador de pantalla de windows Display Driver Model (WDDM) 1.2 o posterior.

Sintaxis

PFND3D11_1DDI_QUERYAUTHENTICATEDCHANNEL Pfnd3d111DdiQueryauthenticatedchannel;

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

Parámetros

hDevice

Identificador del dispositivo de visualización (contexto de gráficos).

hCAuthChannel

Identificador de un objeto de canal autenticado que se creó a través de una llamada a la función CreateAuthenticatedChannel(D3D11_1).

InputDataSize

Tamaño, en bytes, de los datos de la matriz pInputData .

pInputData

Puntero a un búfer que describe la información que se va a consultar. Los datos de este búfer tienen el formato de estructura D3D11_1DDI_AUTHENTICATED_QUERY_INPUT .

OutputDataSize

Tamaño, en bytes, de los datos de la matriz pOutputData .

pOutputData

Puntero a un búfer que contiene la información consultada. Para obtener más información, vea la sección Comentarios.

Valor devuelto

Devuelve uno de los valores siguientes:

Código devuelto Descripción
S_OK El canal autenticado se ha consultado correctamente.
E_FAIL El controlador de minipuerto de pantalla no admite el comando especificado.
E_INVALIDARG Los parámetros se validaron y determinaron que son incorrectos.
E_OUTOFMEMORY La memoria no estaba disponible para completar la operación.

Comentarios

El parámetro pInputData hace referencia a un búfer que contiene una estructura D3D11_1DDI_AUTHENTICATED_QUERY_INPUT . Esta estructura contiene el identificador del controlador para el canal autenticado, un número de secuencia y un GUID que indica el tipo de consulta que se va a realizar. El controlador debe devolver E_INVALIDARG si el número de secuencia no se inicializó previamente mediante la función ConfigureAuthenticatedChannel(D3D11_1 ). El controlador también debe devolver E_INVALIDARG si el número de secuencia no es mayor que el número de secuencia de la llamada de consulta anterior.

La matriz de bytes a la que hace referencia el parámetro pOutputData tiene un formato especificado por el miembro QueryType de la estructura D3D11_1DDI_AUTHENTICATED_QUERY_INPUT . En la lista siguiente se describe el formato de estos datos en función del miembro QueryType .

El controlador prepara el búfer de salida al que hace referencia el parámetro pOutputData siguiendo estos pasos:

  1. Cada estructura que se devuelve en función del miembro QueryType comienza con una estructura de D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT . El controlador debe copiar los miembros del D3D11_1DDI_AUTHENTICATED_QUERY_INPUT en la estructura D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT .
  2. El controlador debe establecer el miembro ReturnCode en el mismo código de retorno que devolverá para la llamada QueryAuthenticatedChannel(D3D11_1). Esto proporciona a la aplicación un mecanismo seguro de acceso al código de retorno.
  3. Según el valor del miembro QueryType , el controlador debe inicializar la estructura correspondiente que sigue a la estructura D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT en el búfer pOutputData .
  4. El controlador debe firmar el búfer pOutputData de una manera idéntica a la forma en que controla las consultas del Administrador de protección de salida (OPM).

    La estructura de D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT contiene un código de autenticación de mensajes CBC (OMAC) basado en AES de clave única de los datos. El controlador de minipuerto de pantalla debe calcular un OMAC sobre los datos del búfer de salida para autenticar los datos. El controlador lo hace estableciendo primero el miembro omac en cero y, a continuación, calculando un OMAC para los datos del búfer. A continuación, el controlador establece el miembro omac en el OMAC que calculó.

El controlador de minipuerto de pantalla debe devolver E_INVALIDARG para la llamada QueryAuthenticatedChannel(D3D11_1) en las siguientes condiciones:
  • El número de secuencia no es mayor que un número de secuencia especificado en una llamada de configuración anterior.
  • Todavía no se ha inicializado el número de secuencia mediante una llamada a la función ConfigureAuthenticatedChannel(D3D11_1).
  • El parámetro OutputDataSize es menor que el tamaño de la estructura especificada por el D3D11_1DDI_AUTHENTICATED_CONFIGURE_INPUT. Miembro QueryType .

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Servidor mínimo compatible Windows Server 2012
Plataforma de destino Escritorio
Encabezado d3d10umddi.h (incluya D3d10umddi.h)

Consulte también

ConfigureAuthenticatedChannel(D3D11_1)

CreateAuthenticatedChannel(D3D11_1)

D3D11_1DDI_AUTHENTICATED_QUERY_INPUT

D3D11_1DDI_AUTHENTICATED_QUERY_OUTPUT