Partager via


Objets et interfaces VidPN

Le gestionnaire VidPN (Video Present Network) utilise un objet VidPN pour conserver des informations sur les associations entre les sources de présentation vidéo, les cibles de présentation vidéo et les modes d’affichage. Pour plus d’informations, consultez la rubrique Présentation des réseaux vidéo.

Objet VidPN

Un objet VidPN contient les sous-objets suivants.

  • Topologie

  • Définition du mode source

  • Définition du mode cible

  • Surveiller l’ensemble du mode source

  • Définir une plage de fréquences de surveillance

  • Ensemble de descripteurs de surveillance

  • Chemin d’accès

  • Source

  • Cible

  • Mode source

  • Mode cible

  • Surveiller le mode source

Le diagramme suivant illustre un objet VidPN et ses sous-objets.

Diagramme illustrant un objet VidPN et ses différents sous-objets, y compris la topologie, les jeux de modes et les chemins d’accès.

Le diagramme précédent montre si une association particulière est un-à-un, un-à-plusieurs, plusieurs-à-un ou plusieurs-à-plusieurs. Par exemple, le diagramme montre qu’une source peut appartenir à plusieurs chemins, mais qu’une cible ne peut appartenir qu’à un seul chemin.

Les objets bleus du diagramme sont accessibles via des handles et des interfaces, et les objets gris sont accessibles via des pointeurs de structure. Une interface dans ce contexte est une structure qui contient des pointeurs de fonction. Par exemple, la structure DXGK_VIDPNTOPOLOGY_INTERFACE contient des pointeurs vers des fonctions (implémentées par le gestionnaire VidPN) que le pilote de miniport d’affichage appelle pour inspecter et modifier un objet de topologie. Lorsque le pilote miniport d’affichage appelle l’une de ces fonctions, il doit fournir un handle à un objet de topologie. Le tableau suivant répertorie les types de données handle, interface et pointeur utilisés pour accéder à un objet VidPN et à ses sous-objets.

Object Méthode d’accès et type de données
VidPN (interface VidPN) Accessible via le handle et l’interface. D3DKMDT_HVIDPN , DXGK_VIDPN_INTERFACE
Topologie (interface de topologie VidPN) Accessible via le handle et l’interface. D3DKMDT_HVIDPNTOPOLOGY , DXGK_VIDPNTOPOLOGY_INTERFACE
Définition du mode source (interface d’ensemble du mode source VidPN) Accessible via le handle et l’interface. D3DKMDT_HVIDPNSOURCEMODESET , DXGK_VIDPNSOURCEMODESET_INTERFACE
Jeu de modes cibles (interface d’ensemble du mode cible VidPN) Accessible via le handle et l’interface. D3DKMDT_HVIDPNTARGETMODESET, DXGK_VIDPNTARGETMODESET_INTERFACE
Surveiller l’ensemble du mode source Accessible via le handle et l’interface. D3DKMDT_HMONITORSOURCEMODESET, DXGK_MONITORSOURCEMODESET_INTERFACE
Chemin d’accès Accessible via le pointeur de structure. D3DKMDT_VIDPN_PRESENT_PATH
Source Accessible via le pointeur de structure. D3DKMDT_VIDEO_PRESENT_SOURCE
Cible Accessible via le pointeur de structure. D3DKMDT_VIDEO_PRESENT_TARGET
Mode source Accessible via le pointeur de structure. D3DKMDT_VIDPN_SOURCE_MODE
Mode cible Accessible via le pointeur de structure. D3DKMDT_VIDPN_TARGET_MODE
Surveiller le mode source Accessible via le pointeur de structure. D3DKMDT_MONITOR_SOURCE_MODE
Définir une plage de fréquences de surveillance Accessible via le pointeur de structure. [DXGK_MONITORFREQUENCYRANGESET_INTERFACE
Ensemble de descripteurs de surveillance Accessible via le pointeur de structure. [DXGK_MONITORDESCRIPTORSET_INTERFACE

Gestionnaire VidPN

Le gestionnaire VidPN, qui est l’un des composants du sous-système du noyau graphique DirectX, coopère avec le pilote miniport d’affichage pour créer et gérer des VidPN. Les étapes suivantes décrivent comment le pilote miniport d’affichage obtient un handle et une interface pour un objet VidPN.

  1. Pendant l’initialisation, le sous-système du noyau graphique DirectX appelle la fonction DxgkDdiStartDevice du pilote miniport d’affichage. Cet appel fournit au pilote miniport d’affichage une structure DXGKRNL_INTERFACE , qui contient des pointeurs vers des fonctions implémentées par le sous-système du noyau graphique DirectX. L’une de ces fonctions est DxgkCbQueryVidPnInterface.

  2. À un moment donné, le gestionnaire VidPN a besoin de l’aide du pilote de miniport d’affichage. Il fournit donc au pilote miniport d’affichage une poignée à un objet VidPN en appelant l’une des fonctions suivantes :

  3. Le pilote de miniport d’affichage transmet le handle obtenu à l’étape 2 à DxgkCbQueryVidPnInterface, qui retourne un pointeur vers une structure DXGK_VIDPN_INTERFACE .

Une fois que le pilote de miniport d’affichage dispose d’un handle et d’une interface pour un objet VidPN, il peut obtenir des descripteurs et des interfaces (si nécessaire) pour les sous-objets principaux : topologie, définition du mode source, définition du mode cible et définition du mode source de surveillance. Par exemple, le pilote miniport d’affichage peut appeler pfnGetTopology (l’une des fonctions de l’interface VidPN) pour obtenir un handle vers un objet de topologie VidPN et un pointeur vers une structure DXGK_VIDPNTOPOLOGY_INTERFACE .

Les fonctions suivantes (dans l’interface VidPN) fournissent des handles et des interfaces aux sous-objets principaux d’un objet VidPN.

Notez que deux des fonctions de la liste précédente ont des fonctions correspondantes qui libèrent des sous-objets VidPN.

Une fois que le pilote de miniport d’affichage a obtenu un handle et une interface pour l’un des sous-objets principaux VidPNs, il peut appeler les fonctions d’interface pour obtenir des descripteurs d’objets liés au sous-objet. Par exemple, avec un handle et une interface vers un objet de topologie, le pilote de miniport d’affichage peut effectuer les étapes suivantes pour obtenir les descripteurs de tous les chemins d’accès de la topologie.

  1. Interface de topologie VidPN

    Appelez la fonction pfnAcquireFirstPathInfo de l’interface de topologie VidPN pour obtenir un pointeur vers une structure D3DKMDT_VIDPN_PRESENT_PATH qui décrit le premier chemin de la topologie.

  2. Interface de topologie VidPN

    Appelez la fonction pfnAcquireNextPathInfo à plusieurs reprises pour obtenir des pointeurs vers D3DKMDT_VIDPN_PRESENT_PATH structures qui décrivent les chemins d’accès restants dans la topologie.

De même, le pilote miniport d’affichage peut obtenir des descripteurs des modes dans un mode défini en appelant les fonctions pfnAcquireFirstModeInfo et pfnAcquireNextModeInfo de l’une des interfaces suivantes.

Notez que l’interface DXGK_VIDPNSOURCEMODESET_INTERFACE n’a aucune fonction pour supprimer un mode d’un ensemble de modes source. Lorsque le pilote miniport d’affichage doit mettre à jour un ensemble de modes source, il ne modifie pas un jeu de modes existant en ajoutant et en supprimant des modes. Au lieu de cela, il crée un nouveau jeu de modes qui remplace l’ancien ensemble de modes. La fonction DxgkDdiEnumVidPnCofuncModality du pilote miniport d’affichage est un exemple de fonction qui doit mettre à jour les jeux de mode. Les étapes impliquées dans la mise à jour d’un ensemble de modes source sont les suivantes :

  1. Appelez le pfnCreateNewModeInfo de l’interface DXGK_VIDPNSOURCEMODESET_INTERFACE pour obtenir un pointeur vers une structure D3DKMDT_VIDPN_SOURCE_MODE (allouée par le gestionnaire VidPN).

    Appelez pfnAddMode à plusieurs reprises pour ajouter des modes au mode source défini.

  2. Appelez la fonction pfnAssignSourceModeSet du DXGK_VIDPN_INTERFACE pour affecter le nouveau mode défini à une source vidéo présente particulière. Le nouveau jeu de modes source remplace l’ensemble de modes source actuellement affecté à cette source.

La mise à jour d’un ensemble de modes cibles est similaire à la mise à jour d’un ensemble de modes source. L’interface DXGK_VIDPNTARGETMODESET_INTERFACE a les fonctions suivantes :

Il n’existe aucune interface (ensemble de fonctions) pour obtenir la source et la cible qui appartiennent à un chemin d’accès particulier. Le pilote miniport d’affichage peut déterminer quelle source et quelle cible appartiennent à un chemin d’accès particulier en inspectant les membres VidPnSourceId et VidPnTargetId de la structure D3DKMDT_VIDPN_PRESENT_PATH qui représente le chemin.

Voir aussi

Détermination de la prise en charge d’un VidPN sur une carte d’affichage

Énumération des modes source et cible VidPN cofonctionnels

Terminologie du réseau de présentation vidéo

Obtention de modes cibles de moniteur supplémentaires