IDeviceTopology::GetSignalPath メソッド (devicetopology.h)

GetSignalPath メソッドは、シグナル パス内の 2 つの部分 (パスが存在する場合) をリンクする部分の一覧を取得します。

構文

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

パラメーター

[in] pIPartFrom

"from" 部分へのポインター。 このパラメーターは、シグナル パスの先頭にあるパーツの IPart インターフェイスへのポインターです。

[in] pIPartTo

"to" 部分へのポインター。 このパラメーターは、シグナル パスの末尾にあるパーツの IPart インターフェイスへのポインターです。

[in] bRejectMixedPaths

混合データを含むパスを拒否するかどうかを指定します。 bRejectMixedPathsTRUE (0 以外) の場合、このメソッドはミキサを含むデータ パス (つまり、2 つ以上の入力信号をまとめて合計する処理ノード) を無視します。 FALSE の場合、メソッドは、パスにミキサーが含まれているかどうかに関係なく、"from" 部分と "to" 部分を接続するパスを検索しようとします。

[out] ppParts

メソッドが IPartsList インターフェイス インスタンスのアドレスを書き込むポインター変数へのポインター。 このインターフェイスは、"from" 部分を "to" 部分に接続するシグナル パス内のパーツの一覧をカプセル化します。 このメソッドを使用して、呼び出し元はインターフェイスへのカウントされた参照を取得します。 呼び出し元は、インターフェイスの Release メソッドを呼び出すことによって、不要になったときにインターフェイスを 解放 する役割を担います。 GetSignalPath 呼び出しが失敗した場合、*ppPartsNULL です

戻り値

メソッドが成功した場合は、S_OK を返します。 失敗した場合、次の表に示す値が含まれますが、これに限定されません。

リターン コード 説明
E_POINTER
パラメーター pIPartFrompIPartTo、または ppPartsNULL です
E_NOTFOUND
2 つの部分をリンクするパスが見つかりませんでした。
E_NOINTERFACE
パラメーター pIPartFrom または pIPartTo は、有効な IPart インターフェイスを指していません。
E_OUTOFMEMORY
メモリが不足しています。

解説

このメソッドは、指定されたシグナル パスに沿ったパーツの一覧を含む IPartsList インターフェイス インスタンスを作成します。 パーツ一覧のパーツは、シグナル パス内の相対位置に従って並べ替えられます。 "to" 部分はリストの最初の項目であり、"from" 部分はリストの最後の項目です。

リストに n 個の部分が含まれている場合、"to" 部分と "from" 部分はそれぞれ、リスト インデックス 0 と n – 1 で識別されます。 パーツ一覧のパーツ数を取得するには、 IPartsList::GetCount メソッドを呼び出します。 インデックスによってパーツを取得するには、 IPartsList::GetPart メソッドを 呼び出します。

信号パス内の部分はすべて、同じデバイス トポロジの一部である必要があります。 パスは、デバイス トポロジ間の境界をまたがることはできません。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー devicetopology.h

関連項目

IDeviceTopology インターフェイス

IPart インターフェイス

IPartsList インターフェイス

IPartsList::GetCount

IPartsList::GetPart