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
混合データを含むパスを拒否するかどうかを指定します。 bRejectMixedPaths が TRUE (0 以外) の場合、このメソッドはミキサを含むデータ パス (つまり、2 つ以上の入力信号をまとめて合計する処理ノード) を無視します。 FALSE の場合、メソッドは、パスにミキサーが含まれているかどうかに関係なく、"from" 部分と "to" 部分を接続するパスを検索しようとします。
[out] ppParts
メソッドが IPartsList インターフェイス インスタンスのアドレスを書き込むポインター変数へのポインター。 このインターフェイスは、"from" 部分を "to" 部分に接続するシグナル パス内のパーツの一覧をカプセル化します。 このメソッドを使用して、呼び出し元はインターフェイスへのカウントされた参照を取得します。 呼び出し元は、インターフェイスの Release メソッドを呼び出すことによって、不要になったときにインターフェイスを 解放 する役割を担います。 GetSignalPath 呼び出しが失敗した場合、*ppParts は NULL です。
戻り値
メソッドが成功した場合は、S_OK を返します。 失敗した場合、次の表に示す値が含まれますが、これに限定されません。
リターン コード | 説明 |
---|---|
|
パラメーター pIPartFrom、 pIPartTo、または ppParts が NULL です。 |
|
2 つの部分をリンクするパスが見つかりませんでした。 |
|
パラメーター pIPartFrom または pIPartTo は、有効な IPart インターフェイスを指していません。 |
|
メモリが不足しています。 |
解説
このメソッドは、指定されたシグナル パスに沿ったパーツの一覧を含む IPartsList インターフェイス インスタンスを作成します。 パーツ一覧のパーツは、シグナル パス内の相対位置に従って並べ替えられます。 "to" 部分はリストの最初の項目であり、"from" 部分はリストの最後の項目です。
リストに n 個の部分が含まれている場合、"to" 部分と "from" 部分はそれぞれ、リスト インデックス 0 と n – 1 で識別されます。 パーツ一覧のパーツ数を取得するには、 IPartsList::GetCount メソッドを呼び出します。 インデックスによってパーツを取得するには、 IPartsList::GetPart メソッドを 呼び出します。
信号パス内の部分はすべて、同じデバイス トポロジの一部である必要があります。 パスは、デバイス トポロジ間の境界をまたがることはできません。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | devicetopology.h |