DXGKDDI_DPI2CIOTRANSMISSION funzione di callback (dispmprt.h)
Il callback DXGKDDI_DPI2CIOTRANSMISSION esegue operazioni I2C di dp su operazioni di lettura/scrittura AUX sui dispositivi collegati direttamente nella GPU.
Sintassi
DXGKDDI_DPI2CIOTRANSMISSION DxgkddiDpi2ciotransmission;
NTSTATUS DxgkddiDpi2ciotransmission(
HANDLE Context,
PDXGKARG_DPI2CIOTRANSMISSION pArgs
)
{...}
Parametri
Context
Puntatore di contesto fornito durante l'esecuzione di query sull'interfaccia.
pArgs
Puntatore a una struttura DXGKARG_DPI2CIOTRANSMISSION .
Valore restituito
DXGKDDI_DPI2CIOTRANSMISSION restituisce STATUS_SUCCESS se ha esito positivo; in caso contrario, restituisce un codice di errore, ad esempio uno dei seguenti:
Codice di errore | Significato |
---|---|
STATUS_DRIVER_INTERNAL_ERROR | Si è verificato un errore interno del software. |
STATUS_ACCESS_DENIED | La richiesta non è supportata. Per Windows 10 versione 2004, è supportato solo I2C in lettura AUX. |
STATUS_BUFFER_TOO_SMALL | Il buffer è troppo piccolo per l'operazione. |
STATUS_DEVICE_HARDWARE_ERROR | Si è verificato un errore hardware. |
STATUS_DEVICE_POWERED_OFF | Il dispositivo è spento. |
STATUS_DEVICE_NOT_CONNECTED | Il dispositivo non è connesso. |
STATUS_DEVICE_PROTOCOL_ERROR | Si è verificato un errore a livello di protocollo I2C rispetto al protocollo AUX. Il driver può usare DPNativeError per codificare altri dettagli sull'errore. |
Commenti
Questa chiamata DDI viene usata per eseguire DP I2C in lettura/scrittura AUX nei dispositivi collegati direttamente sulla GPU.
Per I2C, la dimensione massima del buffer di dati nella struttura DXGKARG_DPI2CIOTRANSMISSION a cui punta pArgs è di 128 byte. La combinazione di un'operazione di scrittura prima di un'operazione di lettura in una singola transazione/ciclo del bus è supportata per MCCS e altri protocolli. Il buffer di dati è di dimensioni BufferSizeSupplied, che deve essere maggiore o uguale al valore maggiore di BytesToWrite e BytesToRead.
Offset è l'indirizzo di I/O all'interno del dispositivo. Quando EDDCMode è impostato, sono disponibili dispositivi E-DDC in I2CAddress (0xA0 per EDID, 0xA4 per DisplayID). Il driver deve scrivere SegmentPointer nell'indirizzo I2C 0x60, WordOffset in 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, l'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 |