Recuperar información sobre una salida protegida
El controlador de minipuerto de pantalla puede recibir solicitudes para recuperar información sobre la salida protegida asociada al conector de salida físico de un adaptador de gráficos. La función DxgkDdiOPMGetInformation del controlador display miniport se pasa un puntero a una estructura de DXGKMDT_OPM_GET_INFO_PARAMETERS en el parámetro Parameters que contiene la solicitud de información. DxgkDdiOPMGetInformation escribe la información necesaria en la estructura DXGKMDT_OPM_REQUESTED_INFORMATION a la que apunta el parámetro RequestedInformation . Los miembros guidInformation y abParameters de DXGKMDT_OPM_GET_INFO_PARAMETERS especificar la solicitud de información. Dependiendo de la solicitud de información, el controlador de minipuerto de pantalla debe rellenar los miembros del DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_OUTPUT_ID o DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT estructura con la información necesaria y apuntar el miembro abRequestedInformation de DXGKMDT_OPM_REQUESTED_INFORMATION a esa estructura. Después de especificar los miembros cbRequestedInformationSize (por ejemplo, sizeof (DXGKMDT_OPM_STANDARD_INFORMATION)) y abRequestedInformation de DXGKMDT_OPM_REQUESTED_INFORMATION, el controlador debe calcular el código de autenticación de mensajes en modo CBC (CBC) para los datos de DXGKMDT_OPM_REQUESTED_INFORMATION y debe establecer este OMAC en el miembro omac de DXGKMDT_OPM_REQUESTED_INFORMATION. Para obtener más información sobre cómo calcular OMAC, consulte el algoritmo OMAC-1.
Nota Antes de que se devuelva DxgkDdiOPMGetInformation , el controlador de miniporte de pantalla debe comprobar que el OMAC especificado en el miembro omac de DXGKMDT_OPM_GET_INFO_PARAMETERS es correcto. El controlador también debe comprobar que el número de secuencia especificado en el miembro ulSequenceNumber de DXGKMDT_OPM_GET_INFO_PARAMETERS coincide con el número de secuencia que el controlador ha almacenado actualmente. A continuación, el controlador debe incrementar el número de secuencia almacenado.
Nota El controlador debe devolver un número aleatorio criptográficomente seguro de 128 bits en el miembro rnRandomNumber de DXGKMDT_OPM_STANDARD_INFORMATION, DXGKMDT_OPM_OUTPUT_ID o DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT. El número aleatorio se generó mediante la aplicación de envío y se proporcionó en el miembro rnRandomNumber de DXGKMDT_OPM_GET_INFO_PARAMETERS.
El controlador devuelve la siguiente información para la solicitud indicada:
Para DXGKMDT_OPM_GET_SUPPORTED_PROTECTION_TYPES establecido en el miembro guidInformation y undefined en el miembro abParameters de la estructura DXGKMDT_OPM_GET_INFO_PARAMETERS, el controlador indica los tipos disponibles de mecanismos de protección. Para indicar los tipos de protección disponibles, el controlador devuelve una combinación OR bit a bit válida de los valores de la enumeración DXGKMDT_OPM_PROTECTION_TYPE en el miembro ulInformation de DXGKMDT_OPM_STANDARD_INFORMATION. Los valores DXGKMDT_OPM_PROTECTION_TYPE_HDCP y DXGKMDT_OPM_PROTECTION_TYPE_DPCP son válidos.
Para DXGKMDT_OPM_GET_CONNECTOR_TYPE establecido en guidInformation y undefined en abParameters, el controlador indica el tipo de conector. Para indicar el tipo de conector, el controlador devuelve una combinación OR bit a bit válida de los valores de la enumeración D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY en el miembro ulInformation de DXGKMDT_OPM_STANDARD_INFORMATION.
Para DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL o DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL establecido en guidInformation y el tipo de protección establecido en abParameters, el controlador devuelve un valor de nivel de protección en el miembro ulInformation de DXGKMDT_OPM_STANDARD_INFORMATION. Si el tipo de protección es DXGKMDT_OPM_PROTECTION_TYPE_HDCP, el valor de nivel de protección procede de la enumeración DXGKMDT_OPM_HDCP_PROTECTION_LEVEL . Si el tipo de protección es DXGKMDT_OPM_PROTECTION_TYPE_DPCP, el valor de nivel de protección procede de la enumeración DXGKMDT_OPM_DPCP_PROTECTION_LEVEL .
La solicitud DXGKMDT_OPM_GET_VIRTUAL_PROTECTION_LEVEL devuelve el nivel de protección establecido actualmente para la salida protegida. La solicitud DXGKMDT_OPM_GET_ACTUAL_PROTECTION_LEVEL devuelve el nivel de protección establecido actualmente para el conector físico asociado a la salida protegida.
Para DXGKMDT_OPM_GET_ADAPTER_BUS_TYPE establecido en guidInformation y undefined en abParameters, el controlador identifica el tipo y la implementación del bus que conecta un adaptador de gráficos al puente norte de un conjunto de chips de placa madre. Para identificar el tipo y la implementación del bus, el controlador devuelve una combinación OR bit a bit válida de los valores de la enumeración DXGKMDT_OPM_BUS_TYPE_AND_IMPLEMENTATION en el miembro ulInformation de DXGKMDT_OPM_STANDARD_INFORMATION.
Para DXGKMDT_OPM_GET_CURRENT_HDCP_SRM_VERSION establecido en guidInformation y undefined en abParameters, el controlador devuelve un valor en el miembro ulInformation de DXGKMDT_OPM_STANDARD_INFORMATION que identifica el número de versión del mensaje de renovación del sistema (SRM) actual de Protección de contenido digital de ancho de banda alto (HDCP) para la salida protegida. Los bits menos significativos (bits entre 0 y 15) contienen el número de versión de SRM en formato little-endian. Para obtener más información sobre el número de versión de SRM, consulte la revisión 1.1 de especificación de HDCP.
Para DXGKMDT_OPM_GET_ACTUAL_OUTPUT_FORMAT establecido en guidInformation y undefined en abParameters, el controlador devuelve información en los miembros de DXGKMDT_OPM_ACTUAL_OUTPUT_FORMAT que describen cómo se da formato a la señal que pasa por el conector físico asociado a la salida protegida.
Para DXGKMDT_OPM_GET_OUTPUT_ID establecido en guidInformation y undefined en abParameters, el controlador devuelve información en los miembros de DXGKMDT_OPM_OUTPUT_ID que identifica el conector de salida.
Para DXGKMDT_OPM_GET_DVI_CHARACTERISTICS establecido en el miembro guidInformation y undefined en el miembro abParameters de la estructura DXGKMDT_OPM_GET_INFO_PARAMETERS, el controlador indica características eléctricas de un conector de salida de interfaz de vídeo digital (DVI). Para indicar las características eléctricas DVI, el controlador devuelve uno de los valores de la enumeración DXGKDT_OPM_DVI_CHARACTERISTICS en el miembro ulInformation de DXGKMDT_OPM_STANDARD_INFORMATION.