Partager via


DXGKARG_DPI2CIOTRANSMISSION structure (dispmprt.h)

La structure DXGKARG_DPI2CIOTRANSMISSION est un paramètre pour le rappel DXGKDDI_DPI2CIOTRANSMISSION .

Syntaxe

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;

Membres

Read

Si cette option est définie, effectuez une opération de lecture DP I2C sur AUX.

Write

Si cette option est définie, effectuez une opération d’écriture DP I2C sur AUX.

EDDCMode

S’il est défini, l’appareil sur I2CAddress est un canal de données d’affichage amélioré (E-DDC).

OffsetSizeInBytes

Taille de décalage par rapport à Offset, en octets, à partir de laquelle écrire des données pour les appareils non-E-DDC.

CanUseCachedData

S’il est défini, le pilote peut utiliser des données mises en cache.

Reserved

Réservé ; ne pas utiliser.

RootPortIndex

Valeur d’index du connecteur compatible DP sur lequel effectuer l’opération de lecture ou d’écriture DP I2C sur AUX. Le pilote a retourné le nombre total de connecteurs compatibles DP sur le GPU dans un appel antérieur à DXGKDDI_QUERYDPCAPS. Les appels suivants à DXGKDDI_DPI2CIOTRANSMISSION font référence aux connecteurs DP avec RootPortIndex allant de 0 à NumRootPorts - 1.

I2CAddress

Adresse I2C. Définissez sur 0xA0 pour EDID ou 0xA4 pour DisplayID.

WordOffset

Word décalage, en octets.

SegmentPointer

Lorsque EDDCMode est défini, le pilote doit écrire SegmentPointer dans l’adresse I2C 0x60. SegmentPointer identifie le bloc de données de 256 octets accessible pour les appareils E-DDC.

Reserved1

Réservé ; ne pas utiliser.

Offset

Adresse pour les E/S au sein de l’appareil.

BufferSizeSupplied

Taille de la mémoire tampon de données , en octets. BufferSizeSupplied doit être supérieur ou égal à BytesToWrite et BytesToWrite.

BytesToWrite

Nombre d’octets à écrire pour une opération d’écriture.

BytesToRead

Nombre d’octets à lire pour une opération de lecture.

DPNativeError

Champ dans lequel le pilote peut encoder plus de détails sur l’erreur lors du retour d’STATUS_DEVICE_PROTOCOL_ERROR à partir de DXGKDDI_DPI2CIOTRANSMISSION.

BytesWritten

Nombre d’octets écrits. Le pilote doit retourner cette valeur aussi précisément que possible en cas de défaillance.

BytesRead

Nombre d’octets lus. Le pilote doit retourner cette valeur aussi précisément que possible en cas de défaillance.

Data[1]

Mémoire tampon contenant les données à écrire pour une opération d’écriture et/ou dans laquelle recevoir les données d’une opération de lecture.

Remarques

Lorsque EDDCMode est défini, le pilote doit écrire WordOffset dans OffsetSizeInBytes.

Lorsque EDDCMode est défini, il existe des appareils E-DDC à i2CAddress (0xA0 pour EDID, 0xA4 pour DisplayID). Dans ce cas, 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, une 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

DXGKDDI_DPI2CIOTRANSMISSION

DXGKDDI_QUERYDPCAPS