Partager via


Méthode IDeviceTopology::GetSignalPath (devicetopology.h)

La méthode GetSignalPath obtient une liste de parties dans le chemin du signal qui lie deux parties, si le chemin existe.

Syntaxe

HRESULT GetSignalPath(
  [in]  IPart      *pIPartFrom,
  [in]  IPart      *pIPartTo,
  [in]  BOOL       bRejectMixedPaths,
  [out] IPartsList **ppParts
);

Paramètres

[in] pIPartFrom

Pointeur vers la partie « from ». Ce paramètre est un pointeur vers l’interface IPart du composant au début du chemin du signal.

[in] pIPartTo

Pointeur vers la partie « to ». Ce paramètre est un pointeur vers l’interface IPart du composant à la fin du chemin du signal.

[in] bRejectMixedPaths

Spécifie s’il faut rejeter les chemins d’accès qui contiennent des données mixtes. Si bRejectMixedPaths a la valeur TRUE (non nulle), la méthode ignore tout chemin de données qui contient un mélangeur (autrement dit, un nœud de traitement qui additionne deux signaux d’entrée ou plus). Si la valeur est FALSE, la méthode tente de trouver un chemin qui connecte les parties « from » et « to », que le chemin d’accès contienne ou non un mélangeur.

[out] ppParts

Pointeur vers une variable pointeur dans laquelle la méthode écrit l’adresse d’une interface IPartsList instance. Cette interface encapsule la liste des parties dans le chemin du signal qui connecte la partie « de » à la partie « à ». Grâce à cette méthode, l’appelant obtient une référence comptabilisée à l’interface. L’appelant est chargé de libérer l’interface, quand elle n’est plus nécessaire, en appelant la méthode Release de l’interface. Si l’appel GetSignalPath échoue, *ppParts a la valeur NULL.

Valeur retournée

Si la méthode réussit, retourne S_OK. En cas d’échec, les codes de retour possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.

Code de retour Description
E_POINTER
Le paramètre pIPartFrom, pIPartTo ou ppParts est NULL.
E_NOTFOUND
Aucun chemin reliant les deux parties n’a été trouvé.
E_NOINTERFACE
Le paramètre pIPartFrom ou pIPartTo ne pointe pas vers une interface IPart valide.
E_OUTOFMEMORY
Mémoire insuffisante.

Notes

Cette méthode crée une interface IPartsList instance qui contient une liste des parties qui se trouvent le long du chemin du signal spécifié. Les parties de la liste des parties sont classées en fonction de leur position relative dans le chemin du signal. La partie « à » est le premier élément de la liste et la partie « from » est le dernier élément de la liste.

Si la liste contient n parties, les parties « à » et « de » sont identifiées par les index de liste 0 et n– 1, respectivement. Pour obtenir le nombre de parties d’une liste de composants, appelez la méthode IPartsList::GetCount . Pour récupérer une partie par son index, appelez la méthode IPartsList::GetPart .

Les parties du chemin du signal doivent toutes faire partie de la même topologie d’appareil. Le chemin d’accès ne peut pas étendre les limites entre les topologies d’appareils.

Spécifications

   
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête devicetopology.h

Voir aussi

IDeviceTopology, interface

IPart, interface

IPartsList, interface

IPartsList::GetCount

IPartsList::GetPart