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 |