Condividi tramite


struttura DXGKARG_DPI2CIOTRANSMISSION (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;

Membri

Read

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

Write

Se impostata, eseguire un'operazione di scrittura dp I2C su AUX.

EDDCMode

Se impostato, il dispositivo in I2CAddress è Enhanced Display Data Channel (E-DDC).

OffsetSizeInBytes

Dimensioni offset da Offset, in byte, in cui scrivere dati per i dispositivi non E-DDC.

CanUseCachedData

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

Reserved

Riservato; non usare.

RootPortIndex

Valore di indice del connettore che supporta DP su cui eseguire l'operazione di lettura o scrittura di DP I2C su AUX. Il driver ha restituito il numero totale di connettori che supportano dp sulla GPU in una chiamata precedente a DXGKDDI_QUERYDPCAPS. Le chiamate successive a DXGKDDI_DPI2CIOTRANSMISSION fanno riferimento ai connettori DP con RootPortIndex che vanno da 0 a NumRootPorts - 1.

I2CAddress

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

WordOffset

Offset di parola, in byte.

SegmentPointer

Quando si imposta EDDCMode, 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

Riservato; 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 di BytesToWrite e BytesToWrite.

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 nel modo più accurato possibile in caso di errore.

BytesRead

Numero di byte letti. Il driver deve restituire questo valore nel modo più accurato possibile in 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.

Osservazioni

Quando si imposta EDDCMode, il driver deve scrivere WordOffset in OffsetSizeInBytes.

Quando si imposta EDDCMode, sono presenti dispositivi E-DDC I2CAddress (0xA0 per EDID, 0xA4 per DisplayID). In questo caso, il driver deve scrivere SegmentPointer nell'indirizzo I2C 0x60, WordOffset per I2CAddresse 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.

Fabbisogno

Requisito Valore
client minimo supportato Windows 10, versione 2004
intestazione dispmprt.h

Vedere anche

DXGKDDI_DPI2CIOTRANSMISSION

DXGKDDI_QUERYDPCAPS