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 |