DXGKARG_DPI2CIOTRANSMISSION struttura (dispmprt.h)

La struttura DXGKARG_DPI2CIOTRANSMISSION è un parametro per il callback DXGKDDI_DPI2CIOTRANSMISSION .

Sintassi

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;

Members

Read

Se impostato, eseguire un'operazione di lettura I2C dp su AUX.

Write

Se impostato, eseguire un'operazione di scrittura di DP I2C su AUX.

EDDCMode

Se impostato, il dispositivo in I2CAddress è Il canale dati di visualizzazione avanzato (E-DDC).

OffsetSizeInBytes

Dimensioni di offset da Offset, in byte, in corrispondenza del quale scrivere dati per i dispositivi non E-DDC.

CanUseCachedData

Se impostato, il driver può usare i dati memorizzati nella cache.

Reserved

Riservati; non usare.

RootPortIndex

Valore di indice del connettore compatibile con DP su cui eseguire l'operazione di lettura o scrittura di DP I2C. Il driver ha restituito il numero totale di connettori compatibili con DP nella GPU in una chiamata precedente a DXGKDDI_QUERYDPCAPS. Le chiamate successive a DXGKDDI_DPI2CIOTRANSMISSION fanno riferimento ai connettori DP con RootPortIndex compreso tra 0 e NumRootPorts - 1.

I2CAddress

Indirizzo I2C. Impostare su 0xA0 per EDID o 0xA4 per DisplayID.

WordOffset

Word offset, in byte.

SegmentPointer

Quando EDDCMode è impostato, il driver deve scrivere SegmentPointer nell'indirizzo I2C 0x60. SegmentPointer identifica il blocco di dati a 256 byte a cui si accede per i dispositivi E-DDC.

Reserved1

Riservati; non usare.

Offset

Indirizzo per I/O all'interno del dispositivo.

BufferSizeSupplied

Dimensioni del buffer dati , in byte. BufferSizeSupplied deve essere maggiore o uguale a quello maggiore di ByteToWrite e ByteToWrite.

BytesToWrite

Numero di byte da scrivere per un'operazione di scrittura.

BytesToRead

Numero di byte da leggere per un'operazione di lettura.

DPNativeError

Campo in cui il driver può codificare altri dettagli sull'errore durante la restituzione di STATUS_DEVICE_PROTOCOL_ERROR da DXGKDDI_DPI2CIOTRANSMISSION.

BytesWritten

Numero di byte scritti. Il driver deve restituire questo valore con maggiore precisione nel caso di errore.

BytesRead

Numero di byte letti. Il driver deve restituire questo valore con maggiore precisione nel caso di errore.

Data[1]

Buffer contenente i dati da scrivere per un'operazione di scrittura e/o in cui ricevere i dati per un'operazione di lettura.

Commenti

Quando EDDCMode è impostato, il driver deve scrivere WordOffset in OffsetSizeInBytes.

Quando EDDCMode è impostato, sono disponibili dispositivi E-DDC in I2CAddress (0xA0 per EDID, 0xA4 per DisplayID). In questa situazione, il driver deve scrivere SegmentPointer nell'indirizzo I2C 0x60, WordOffset a I2CAddress e quindi eseguire l'operazione di I/O. Per tutti gli altri dispositivi I2C, il driver deve scrivere byte di Offset in base a OffsetSizeInBytes.

In caso di errore, il driver deve restituire byte scritti e byteread il più accuratamente possibile.

Per Windows 10 versione 2004, un'operazione di scrittura è consentita solo per l'indirizzo MCCS I2C di 0x6E. Tutte le altre operazioni verranno bloccate fino a quando non viene aggiunta una versione successiva del sistema operativo quando viene aggiunto il controllo di accesso.

Requisiti

Requisito Valore
Client minimo supportato Windows 10, versione 2004
Intestazione dispmprt.h

Vedi anche

DXGKDDI_DPI2CIOTRANSMISSION

DXGKDDI_QUERYDPCAPS