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 |