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 |