Compartir a través de


DXGKDDI_DPI2CIOTRANSMISSION función de devolución de llamada (dispmprt.h)

La devolución de llamada de DXGKDDI_DPI2CIOTRANSMISSION realiza DP I2C a través de operaciones de lectura y escritura de experiencia de usuario en dispositivos conectados directamente en GPU.

Sintaxis

DXGKDDI_DPI2CIOTRANSMISSION DxgkddiDpi2ciotransmission;

NTSTATUS DxgkddiDpi2ciotransmission(
  HANDLE Context,
  PDXGKARG_DPI2CIOTRANSMISSION pArgs
)
{...}

Parámetros

Context

Puntero de contexto proporcionado al consultar la interfaz.

pArgs

Puntero a una estructura de DXGKARG_DPI2CIOTRANSMISSION .

Valor devuelto

DXGKDDI_DPI2CIOTRANSMISSION devuelve STATUS_SUCCESS si se realiza correctamente; de lo contrario, devuelve un código de error como uno de los siguientes:

Código de error Significado
STATUS_DRIVER_INTERNAL_ERROR Error interno de software.
STATUS_ACCESS_DENIED No se admite la solicitud. Para Windows 10 versión 2004, solo se admite la lectura de I2C a través de la experiencia de usuario.
STATUS_BUFFER_TOO_SMALL El búfer es demasiado pequeño para la operación.
STATUS_DEVICE_HARDWARE_ERROR Error de hardware.
STATUS_DEVICE_POWERED_OFF El dispositivo está apagado.
STATUS_DEVICE_NOT_CONNECTED El dispositivo no está conectado.
STATUS_DEVICE_PROTOCOL_ERROR Se produjo un error en el nivel de protocolo I2C a través del protocolo AUX. El controlador puede usar DPNativeError para codificar más detalles sobre el error.

Comentarios

Esta llamada DDI se usa para realizar DP I2C a través de la lectura y escritura de la experiencia de usuario en dispositivos conectados directamente en GPU.

Para I2C, el tamaño máximo del búfer de datos en la estructura de DXGKARG_DPI2CIOTRANSMISSION a la que apunta pArgs es de 128 bytes. La combinación de una operación de escritura antes de una operación de lectura en una sola transacción o ciclo de bus es compatible con MCCS y otros protocolos. El búfer de datos es de tamaño BufferSizeSupplied, que debe ser mayor o igual que el valor mayor de BytesToWrite y BytesToRead.

Offset es la dirección de E/S dentro del dispositivo. Cuando se establece EDDCMode , hay dispositivos E-DDC en I2CAddress (0xA0 para EDID, 0xA4 para DisplayID). El controlador debe escribir SegmentPointer en la dirección I2C 0x60, WordOffset en I2CAddress y, a continuación, llevar a cabo la operación de E/S. Para todos los demás dispositivos I2C, el controlador debe escribir bytes de Offset según OffsetSizeInBytes.

En caso de error, el controlador debe devolver BytesWritten y BytesRead lo más precisa posible.

Para Windows 10 versión 2004, la operación de escritura solo se permite para la dirección MCCS I2C de 0x6E. Todas las demás operaciones se bloquearán hasta que se agregue un sistema operativo posterior cuando se agregue el control de acceso.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10, versión 2004
Encabezado dispmprt.h

Consulte también

DXGKARG_DPI2CIOTRANSMISSION