Partager via


DXGKDDI_VIDPNTOPOLOGY_ENUMPATHTARGETSFROMSOURCE fonction de rappel (d3dkmddi.h)

La fonction pfnEnumPathTargetsFromSource retourne l’identificateur de l’une des cibles présentes vidéo associées à une source de vidéo présente spécifiée.

Syntaxe

DXGKDDI_VIDPNTOPOLOGY_ENUMPATHTARGETSFROMSOURCE DxgkddiVidpntopologyEnumpathtargetsfromsource;

NTSTATUS DxgkddiVidpntopologyEnumpathtargetsfromsource(
  [in]  IN_CONST_D3DKMDT_HVIDPNTOPOLOGY hVidPnTopology,
  [in]  IN_CONST_D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId,
  [in]  IN_CONST_D3DKMDT_VIDPN_PRESENT_PATH_INDEX VidPnPresentPathIndex,
  [out] OUT_PD3DDDI_VIDEO_PRESENT_TARGET_ID pVidPnTargetId
)
{...}

Paramètres

[in] hVidPnTopology

Handle pour un objet de topologie VidPN. Le pilote de miniport d’affichage a précédemment obtenu ce handle en appelant la fonction pfnGetTopology de l’interface DXGK_VIDPN_INTERFACE .

[in] VidPnSourceId

Entier qui identifie la source présente d’une vidéo particulière.

[in] VidPnPresentPathIndex

Index de base zéro dans l’ensemble de chemins qui contiennent la source identifiée par VidPnSourceId.

[out] pVidPnTargetId

Pointeur vers une variable qui reçoit l’identificateur cible.

Valeur retournée

La fonction pfnEnumPathTargetsFromSource retourne l’une des valeurs suivantes :

Code de retour Description
STATUS_SUCCESS La fonction a réussi.
STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY Le handle fourni dans hVidPnTopology n’était pas valide.
STATUS_INVALID_PARAMETER Le pointeur fourni dans pVidPnTargetId était valide.

Remarques

VidPnPresentPathIndex n’est pas un index dans l’ensemble de tous les chemins de la topologie identifiés par hVidPnTopology. Il s’agit d’un index dans un sous-ensemble de tous les chemins de la topologie : plus précisément, le sous-ensemble de tous les chemins qui contiennent la source identifiée par VidPnSourceId.

Pour énumérer (dans une topologie donnée) toutes les cibles associées à une source particulière, procédez comme suit.

Appelez pfnGetNumPathsFromSource pour déterminer le nombre de chemins d’accès qui contiennent la source d’intérêt. Considérez ces chemins comme un ensemble indexé avec les index 0, 1, ... N - 1.

Pour chaque index 0 par N - 1, passez l’identificateur source et l’index à pfnEnumPathTargetsFromSource.

Une topologie est un chemin d’accès à une collection, chacun contenant une paire (source, cible). Il est possible qu’une source particulière apparaisse dans plusieurs chemins. Par exemple, une source peut être associée à deux cibles distinctes dans le cas d’une vue clone.

Les identificateurs de source VidPN sont attribués par le système d’exploitation. DxgkDdiStartDevice, implémenté par le pilote de miniport d’affichage, retourne le nombre N de sources vidéo présentes prises en charge par la carte graphique. Ensuite, le système d’exploitation affecte les identificateurs 0, 1, 2, ... N - 1.

Les identificateurs de cible VidPN sont attribués par le pilote de miniport d’affichage. DxgkDdiQueryChildRelations, implémenté par le pilote de miniport d’affichage, retourne un tableau de structures DXGK_CHILD_DESCRIPTOR , chacune contenant un identificateur.

Les types de données D3DKMDT_HVIDPNTOPOLOGY et D3DKMDT_VIDPN_PRESENT_PATH_INDEX sont définis dans D3dkmdt.h.

Les types de données D3DDDI_VIDEO_PRESENT_SOURCE_ID et D3DDDI_VIDEO_PRESENT_TARGET_ID sont définis dans D3dukmdt.h.

Configuration requise

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

Voir aussi

pfnGetNumPathsFromSource

pfnGetPathSourceFromTarget