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 |