IDeviceTopology::GetSignalPath-Methode (devicetopology.h)

Die GetSignalPath-Methode ruft eine Liste von Teilen im Signalpfad ab, die zwei Teile miteinander verknüpft, sofern der Pfad vorhanden ist.

Syntax

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

Parameter

[in] pIPartFrom

Zeiger auf den Teil "von". Dieser Parameter ist ein Zeiger auf die IPart-Schnittstelle des Teils am Anfang des Signalpfads.

[in] pIPartTo

Zeiger auf den Teil "to". Dieser Parameter ist ein Zeiger auf die IPart-Schnittstelle des Teils am Ende des Signalpfads.

[in] bRejectMixedPaths

Gibt an, ob Pfade abgelehnt werden sollen, die gemischte Daten enthalten. Wenn bRejectMixedPathsAUF TRUE (ungleich 0) festgelegt ist, ignoriert die Methode jeden Datenpfad, der einen Mixer enthält (also einen Verarbeitungsknoten, der zwei oder mehr Eingabesignale zusammenfasst). Bei FALSE versucht die Methode, einen Pfad zu finden, der die Teile "from" und "to" verbindet, unabhängig davon, ob der Pfad einen Mixer enthält.

[out] ppParts

Zeiger auf eine Zeigervariable, in die die Methode die Adresse einer IPartsList-Schnittstelle schreibt, instance. Diese Schnittstelle kapselt die Liste der Teile im Signalpfad, die den Teil "from" mit dem Teil "to" verbindet. Mit dieser Methode erhält der Aufrufer einen gezählten Verweis auf die Schnittstelle. Der Aufrufer ist für die Freigabe der Schnittstelle verantwortlich, wenn sie nicht mehr benötigt wird, indem er die Release-Methode der Schnittstelle aufruft. Wenn der GetSignalPath-Aufruf fehlschlägt, ist *ppPartsNULL.

Rückgabewert

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Wenn ein Fehler auftritt, umfassen mögliche Rückgabecodes die in der folgenden Tabelle gezeigten Werte, sind jedoch nicht darauf beschränkt.

Rückgabecode Beschreibung
E_POINTER
Der Parameter pIPartFrom, pIPartTo oder ppParts ist NULL.
E_NOTFOUND
Es wurde kein Pfad gefunden, der die beiden Teile miteinander verknüpft.
E_NOINTERFACE
Der Parameter pIPartFrom oder pIPartTo verweist nicht auf eine gültige IPart-Schnittstelle .
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher.

Hinweise

Diese Methode erstellt eine IPartsList-Schnittstelle instance, die eine Liste der Teile enthält, die sich entlang des angegebenen Signalpfads befinden. Die Teile in der Teileliste werden entsprechend ihren relativen Positionen im Signalpfad sortiert. Der "to"-Teil ist das erste Element in der Liste, und der "from"-Teil ist das letzte Element in der Liste.

Wenn die Liste n Teile enthält, werden die Teile "to" und "from" durch die Listenindizes 0 bzw. n–1 identifiziert. Rufen Sie die IPartsList::GetCount-Methode auf, um die Anzahl der Teile in einer Teileliste abzurufen. Um ein Teil anhand seines Indexes abzurufen, rufen Sie die IPartsList::GetPart-Methode auf.

Die Teile im Signalpfad müssen alle Teil derselben Gerätetopologie sein. Der Pfad kann keine Grenzen zwischen Gerätetopologien umfassen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile devicetopology.h

Weitere Informationen

IDeviceTopology-Schnittstelle

IPart-Schnittstelle

IPartsList-Schnittstelle

IPartsList::GetCount

IPartsList::GetPart