Condividi tramite


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

Vedi anche

DXGKARG_DPI2CIOTRANSMISSION