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 |
---|---|
|
Der Parameter pIPartFrom, pIPartTo oder ppParts ist NULL. |
|
Es wurde kein Pfad gefunden, der die beiden Teile miteinander verknüpft. |
|
Der Parameter pIPartFrom oder pIPartTo verweist nicht auf eine gültige IPart-Schnittstelle . |
|
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 |