estructura DXGKARG_DPI2CIOTRANSMISSION (dispmprt.h)
La estructura DXGKARG_DPI2CIOTRANSMISSION es un parámetro para la devolución de llamada DXGKDDI_DPI2CIOTRANSMISSION .
Sintaxis
typedef struct _DXGKARG_DPI2CIOTRANSMISSION {
struct {
UINT Read : 1;
UINT Write : 1;
UINT EDDCMode : 1;
UINT OffsetSizeInBytes : 3;
UINT CanUseCachedData : 1;
UINT Reserved : 25;
};
UINT RootPortIndex;
UINT I2CAddress;
union {
struct {
UINT WordOffset : 8;
UINT SegmentPointer : 7;
UINT Reserved1 : 17;
};
UINT Offset;
};
UINT BufferSizeSupplied;
UINT BytesToWrite;
UINT BytesToRead;
UINT DPNativeError;
UINT BytesWritten;
UINT BytesRead;
BYTE Data[1];
} DXGKARG_DPI2CIOTRANSMISSION, *PDXGKARG_DPI2CIOTRANSMISSION;
Miembros
Read
Si se establece, realice una operación de lectura de DP I2C a través de AUX.
Write
Si se establece, realice una operación de escritura de DP I2C a través de AUX.
EDDCMode
Si se establece, el dispositivo en I2CAddress es Canal de datos de visualización mejorado (E-DDC).
OffsetSizeInBytes
Tamaño de desplazamiento de Offset, en bytes, en el que se van a escribir datos para dispositivos que no son E-DDC.
CanUseCachedData
Si se establece, el controlador puede usar datos almacenados en caché.
Reserved
Reservado; no usar.
RootPortIndex
Valor de índice del conector compatible con DP en el que se va a realizar la operación de lectura o escritura de DP I2C a través de AUX. El controlador devolvió el número total de conectores compatibles con DP en la GPU en una llamada anterior a DXGKDDI_QUERYDPCAPS. Las llamadas posteriores a DXGKDDI_DPI2CIOTRANSMISSION hacen referencia a los conectores de DP con RootPortIndex que van de 0 a NumRootPorts - 1.
I2CAddress
Dirección I2C. Establezca en 0xA0 para EDID o 0xA4 para DisplayID.
WordOffset
Word desplazamiento, en bytes.
SegmentPointer
Cuando se establece EDDCMode , el controlador debe escribir SegmentPointer en la dirección I2C 0x60. SegmentPointer identifica el bloque de datos de 256 bytes al que se accede para dispositivos E-DDC.
Reserved1
Reservado; no usar.
Offset
Dirección de E/S dentro del dispositivo.
BufferSizeSupplied
Tamaño del búfer de datos , en bytes. BufferSizeSupplied debe ser mayor o igual que el mayor de BytesToWrite y BytesToWrite.
BytesToWrite
Número de bytes que se van a escribir para una operación de escritura.
BytesToRead
Número de bytes que se van a leer para una operación de lectura.
DPNativeError
Campo en el que el controlador puede codificar más detalles sobre el error al devolver STATUS_DEVICE_PROTOCOL_ERROR desde DXGKDDI_DPI2CIOTRANSMISSION.
BytesWritten
Número de bytes escritos. El controlador debe devolver este valor con la mayor precisión posible en caso de error.
BytesRead
Número de bytes leídos. El controlador debe devolver este valor con la mayor precisión posible en caso de error.
Data[1]
Búfer que contiene los datos que se van a escribir para una operación de escritura o en el que se van a recibir los datos de una operación de lectura.
Comentarios
Cuando se establece EDDCMode , el controlador debe escribir WordOffset en OffsetSizeInBytes.
Cuando se establece EDDCMode , hay dispositivos E-DDC en I2CAddress (0xA0 para EDID, 0xA4 para DisplayID). En esta situación, 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 con la mayor precisión posible.
Para Windows 10 versión 2004, solo se permite una operación de escritura para la dirección I2C de MCCS 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 |