Partager via


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 d’affichage du pilote miniport DxgkDdiAddDevice précédemment fourni ce handle au sous-système du noyau graphique Microsoft DirectX.

[in] VidPnTargetId

Entier qui identifie l’une des cibles présentes de la vidéo 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 de retour

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.

Retourner le code 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 sur le 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é transmise avec succès, mais une erreur s’est produite lors de la transmission des données à l’appareil I2C.

Remarques

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

DxgkDdiI2CTransmitDataToDisplay est responsable de la signalisation de la condition de démarrage I2C, de l’envoi de l’adresse I2C, de l’envoi des données dans la mémoire tampon, de la vérification des accusés de réception du destinataire et de la signalisation de la condition d’arrêt. Pour plus d’informations sur le bus I2C, consultez la spécification de bus I2C, publiée par Philips Semi-conducteurs. 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 nécessaire pour transmettre des données à un appareil I2C qui a une adresse 0x6E, mais est autorisé à refuser de transmettre des données à n’importe quel appareil I2C ayant une adresse différente.

DxgkDdiI2CTransmitDataToDisplay est autorisé à 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é à bloquer si le pilote miniport d’affichage utilise le bus I2C pour envoyer ou recevoir des données HDCP (High-bande Digital Content Protection).

Si l’adaptateur d’affichage 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 l’adaptateur d’affichage. 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista
plateforme cible Bureau
d’en-tête dispmprt.h (include Dispmprt.h)
IRQL PASSIVE_LEVEL

Voir aussi

DxgkDdiAddDevice

DxgkDdiI2CReceiveDataFromDisplay