Partager via


DXGKDDI_DPI2CIOTRANSMISSION fonction de rappel (dispmprt.h)

Le rappel DXGKDDI_DPI2CIOTRANSMISSION effectue des opérations de lecture/écriture DP I2C sur AUX sur des appareils directement attachés sur gpu.

Syntaxe

DXGKDDI_DPI2CIOTRANSMISSION DxgkddiDpi2ciotransmission;

NTSTATUS DxgkddiDpi2ciotransmission(
  HANDLE Context,
  PDXGKARG_DPI2CIOTRANSMISSION pArgs
)
{...}

Paramètres

Context

Pointeur de contexte fourni lors de l’interrogation de l’interface.

pArgs

Pointeur vers une structure DXGKARG_DPI2CIOTRANSMISSION .

Valeur retournée

DXGKDDI_DPI2CIOTRANSMISSION retourne STATUS_SUCCESS si elle réussit ; Sinon, il retourne un code d’erreur tel que l’un des éléments suivants :

Code d'erreur Signification
STATUS_DRIVER_INTERNAL_ERROR Une erreur interne du logiciel s'est produite.
STATUS_ACCESS_DENIED La demande n'est pas prise en charge. Pour Windows 10 version 2004, seule la lecture I2C sur AUX est prise en charge.
STATUS_BUFFER_TOO_SMALL La mémoire tampon est trop petite pour l’opération.
STATUS_DEVICE_HARDWARE_ERROR Une erreur matérielle s’est produite.
STATUS_DEVICE_POWERED_OFF L’appareil est hors tension.
STATUS_DEVICE_NOT_CONNECTED L’appareil n’est pas connecté.
STATUS_DEVICE_PROTOCOL_ERROR Une erreur s’est produite au niveau du protocole I2C sur AUX. Le pilote peut utiliser DPNativeError pour encoder plus de détails sur l’erreur.

Remarques

Cet appel DDI est utilisé pour effectuer dp I2C sur AUX en lecture/écriture sur des appareils directement attachés sur gpu.

Pour I2C, la taille maximale de la mémoire tampon de données dans la structure DXGKARG_DPI2CIOTRANSMISSION pointée par pArgs est de 128 octets. La combinaison d’une opération d’écriture avant une opération de lecture dans une transaction/cycle de bus unique est prise en charge pour MCCS et d’autres protocoles. La mémoire tampon de données est de taille BufferSizeSupplied, qui doit être supérieure ou égale à la valeur supérieure de BytesToWrite et BytesToRead.

Offset est l’adresse pour les E/S au sein de l’appareil. Lorsque EDDCMode est défini, il existe des appareils E-DDC à i2CAddress (0xA0 pour EDID, 0xA4 pour DisplayID). Le pilote doit écrire SegmentPointer dans l’adresse I2C 0x60, WordOffset dans I2CAddress , puis effectuer l’opération d’E/S. Pour tous les autres appareils I2C, le pilote doit écrire des octets de Décalage en fonction de OffsetSizeInBytes.

En cas d’échec, le pilote doit retourner BytesWritten et BytesRead aussi précisément que possible.

Pour Windows 10 version 2004, l’opération d’écriture est autorisée uniquement pour l’adresse MCCS I2C de 0x6E. Toutes les autres opérations seront bloquées jusqu’à une version ultérieure du système d’exploitation lors de l’ajout du contrôle d’accès.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 2004
En-tête dispmprt.h

Voir aussi

DXGKARG_DPI2CIOTRANSMISSION