DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY fonction de rappel (dispmprt.h)

La fonction de rappel DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY transmet des données à un appareil I2C dans un moniteur.

Syntaxe

DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY DxgkddiI2cTransmitDataToDisplay;

NTSTATUS DxgkddiI2cTransmitDataToDisplay(
  [in] PVOID MiniportDeviceContext,
  [in] D3DDDI_VIDEO_PRESENT_TARGET_ID VidPnTargetId,
  [in] ULONG SevenBitI2CAddress,
  [in] ULONG DataLength,
  [in] const VOID *Data
)
{...}

Paramètres

[in] MiniportDeviceContext

Handle vers un bloc de contexte associé à un adaptateur d’affichage. La fonction DxgkDdiAddDevice du pilote miniport d’affichage a précédemment fourni ce handle au sous-système du noyau graphique Microsoft DirectX.

[in] VidPnTargetId

Entier qui identifie l’une des cibles de la vidéo présente sur l’adaptateur d’affichage.

[in] SevenBitI2CAddress

Adresse de l’appareil I2C auquel les données seront transmises.

[in] DataLength

Longueur, en octets, des données à transmettre. Ce paramètre doit être compris entre 1 et 64, inclus.

[in] Data

Pointeur vers une mémoire tampon qui contient les données à transmettre.

Valeur retournée

DXGKDDI_I2C_TRANSMIT_DATA_TO_DISPLAY retourne STATUS_SUCCESS si elle réussit. Sinon, elle retourne l’un des codes d’erreur définis dans Ntstatus.h. La liste suivante fournit certains des codes d’erreur possibles qui peuvent être retournés.

Code de retour Description
STATUS_GRAPHICS_MONITOR_NOT_CONNECTED Aucun moniteur n’est connecté à la sortie vidéo identifiée par VidPnTargetId.
STATUS_GRAPHICS_I2C_NOT_SUPPORTED La sortie vidéo identifiée par VidPnTargetId n’a pas de bus I2C.
STATUS_GRAPHICS_I2C_DEVICE_DOES_NOT_EXIST Aucun appareil n’a reconnu l’adresse I2C fournie dans SevenBitI2CAddress. Cela peut signifier qu’aucun appareil du bus I2C n’a l’adresse spécifiée ou qu’une erreur s’est produite lors de la transmission de l’adresse.
STATUS_GRAPHICS_I2C_ERROR_TRANSMITTING_DATA L’adresse I2C a été correctement transmise, mais une erreur s’est produite lors de la transmission des données à l’appareil I2C.

Remarques

La cible de présentation vidéo identifiée par VidPnTargetId est associée à l’une des sorties vidéo sur la carte graphique. Les données sont transmises à un appareil I2C dans le moniteur connecté à cette sortie vidéo.

DxgkDdiI2CTransmitDataToDisplay est chargé de signaler la condition de début I2C, d’envoyer l’adresse I2C, d’envoyer les données dans la mémoire tampon, de vérifier les accusés de réception du récepteur et de signaler la condition d’arrêt. Pour plus d’informations sur le bus I2C, consultez la spécification du bus I2C, publiée par Philips Semiconductors. La spécification définit un protocole pour lancer la communication I2C, lire et écrire des octets sur la ligne de données I2C et mettre fin à la communication I2C.

DxgkDdiI2CTransmitDataToDisplay est requis pour transmettre des données à un appareil I2C qui a une adresse 0x6E mais qui est autorisé à refuser de transmettre des données à tout appareil I2C ayant une adresse différente.

DxgkDdiI2CTransmitDataToDisplay est autorisé à se bloquer si une autre partie du pilote miniport d’affichage ou du matériel graphique utilise le bus I2C du moniteur spécifié. Il est également autorisé à se bloquer si le pilote de miniport d’affichage utilise le bus I2C pour envoyer ou recevoir des données HDCP (Protection numérique de contenu haute bande passante).

Si la carte graphique prend en charge HDCP, la fonction DxgkDdiI2CTransmitDataToDisplay doit refuser d’envoyer des données à un appareil I2C si l’appareil a une adresse I2C utilisée par HDCP.

DxgkDdiI2CTransmitDataToDisplay ne doit jamais transmettre de données à un appareil I2C sur la carte graphique. Autrement dit, cette fonction peut transmettre des données à un appareil I2C dans un moniteur connecté à l’adaptateur d’affichage, mais pas à un appareil I2C qui se trouve sur l’adaptateur d’affichage lui-même.

DxgkDdiI2CTransmitDataToDisplay doit être rendu paginable.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Plateforme cible Desktop (Expérience utilisateur)
En-tête dispmprt.h (include Dispmprt.h)
IRQL PASSIVE_LEVEL

Voir aussi

DxgkDdiAddDevice

DxgkDdiI2CReceiveDataFromDisplay