Metodo IDeviceTopology::GetSignalPath (devicetopology.h)

Il metodo GetSignalPath ottiene un elenco di parti nel percorso del segnale che collega due parti, se il percorso esiste.

Sintassi

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

Parametri

[in] pIPartFrom

Puntatore alla parte "da". Questo parametro è un puntatore all'interfaccia IPart della parte all'inizio del percorso del segnale.

[in] pIPartTo

Puntatore alla parte "a". Questo parametro è un puntatore all'interfaccia IPart della parte alla fine del percorso del segnale.

[in] bRejectMixedPaths

Specifica se rifiutare i percorsi contenenti dati misti. Se bRejectMixedPaths è TRUE (diverso da zero), il metodo ignora qualsiasi percorso dati contenente un mixer, ovvero un nodo di elaborazione che somma due o più segnali di input. Se FALSE, il metodo tenterà di trovare un percorso che connette le parti "da" e "a", indipendentemente dal fatto che il percorso contenga un mixer.

[out] ppParts

Puntatore a una variabile puntatore in cui il metodo scrive l'indirizzo di un'istanza dell'interfaccia IPartsList . Questa interfaccia incapsula l'elenco di parti nel percorso del segnale che connette la parte "da" alla parte "a". Tramite questo metodo, il chiamante ottiene un riferimento conteggiato all'interfaccia. Il chiamante è responsabile del rilascio dell'interfaccia, quando non è più necessario, chiamando il metodo Release dell'interfaccia. Se la chiamata GetSignalPath ha esito negativo, *ppParts è NULL.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Se ha esito negativo, i possibili codici restituiti includono, ma non sono limitati, i valori illustrati nella tabella seguente.

Codice restituito Descrizione
E_POINTER
Il parametro pIPartFrom, pIPartTo o ppParts è NULL.
E_NOTFOUND
Non è stato trovato alcun percorso che collega le due parti.
E_NOINTERFACE
Il parametro pIPartFrom o pIPartTo non punta a un'interfaccia IPart valida.
E_OUTOFMEMORY
Memoria insufficiente.

Commenti

Questo metodo crea un'istanza dell'interfaccia IPartsList che contiene un elenco delle parti che si trovano lungo il percorso del segnale specificato. Le parti nell'elenco delle parti vengono ordinate in base alle rispettive posizioni relative nel percorso del segnale. La parte "a" è il primo elemento dell'elenco e la parte "da" è l'ultimo elemento dell'elenco.

Se l'elenco contiene n parti, le parti "a" e "from" vengono identificate rispettivamente dagli indici di elenco 0 e n- 1. Per ottenere il numero di parti in un elenco di parti, chiamare il metodo IPartsList::GetCount . Per recuperare una parte in base all'indice, chiamare il metodo IPartsList::GetPart .

Le parti nel percorso del segnale devono far parte della stessa topologia del dispositivo. Il percorso non può estendersi tra topologie di dispositivo.

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione devicetopology.h

Vedi anche

Interfaccia IDeviceTopology

Interfaccia IPart

Interfaccia IPartsList

IPartsList::GetCount

IPartsList::GetPart