次の方法で共有


AcxStreamBridgeAddStream 関数 (acxstreams.h)

AcxStreamBridgeAddStream 関数は、既存の ACXSTREAM を既存の ACXSTREAMBRIDGE に追加します。 ACX オブジェクトの詳細については、「 ACX - ACX オブジェクトの概要」を参照してください。

構文

NTSTATUS AcxStreamBridgeAddStream(
  ACXSTREAMBRIDGE Bridge,
  ACXSTREAM       Stream
);

パラメーター

Bridge

ACXSTREAMBRIDGE オブジェクトは、ストリームの作成、ストリームの状態遷移、およびエンドポイントの回線ストリーム セグメント間の DRM 設定を伝達するために回線によって使用されます。 このオブジェクトは、マルチ回線 (オーディオ複合) シナリオでのみ使用されます。

Stream

ACXSTREAM オブジェクトは、回線によって作成されたオーディオ ストリームを表します。 ストリームは、親回線の要素に基づいて作成された要素の一覧で構成されます。

戻り値

STATUS_SUCCESS呼び出しが成功した場合は を返します。 それ以外の場合は、適切なエラー コードを返します。 詳細については、「 NTSTATUS 値の使用」を参照してください。

注釈

ドライバーは、次のシナリオで AcxStreamBridgeAddStream を呼び出します。

(a) ドライバーは、現在の ACXSTREAM に使用する ACXSTREAMBRIDGE を手動で選択する必要があります。

(b) ドライバー (およびそのハードウェア要件) には、上位レベルの ACXCIRCUIT がアクションを実行する前に、ダウンレベルの ACXCIRCUIT (つまり、デバイス ブリッジ ピンに近い回線) がアクションを実行する必要があります。

(c) ドライバーは、ダウンレベル ACXCIRCUIT の前後にアクションを実行する必要があります。

AcxStreamBridgeMux 型の場合、このブリッジに追加された入力 ACXSTREAM の数とは無関係に作成されるダウンレベル ACXSTREAM は 1 つだけです。 つまり、出力 ACXSTREAM (ストリームが ACXTARGETSTREAM で表されるローカル回線の場合) は、ACXSTREAMBRIDGE に追加された最初の ACXSTREAM に対してのみ作成されます。 追加の入力 ACXSTREAM は、この既存の ACXTARGETSTREAM への参照を受け取るだけです。

AcxSTreamBridgeMux 型の場合、最後の入力 ACXSTREAM が AcxStreamBridgeRemoveStream を使用して ACXSTREAMBRIDGE から削除されると、出力 ACXTARGETSTREAM が削除されます。

使用例を次に示します。 エラー処理コードは表示されません。

        status = AcxStreamBridgeCreate(Circuit, &attributes, &bridgeCfg, &bridge);

        // Pin ID 1 is the bridge pin in this example.
        bridgePin = AcxCircuitGetPinById(Circuit, 1);
        
        status = AcxPinAddStreamBridges(bridgePin, &bridge, 1);

        status = AcxStreamBridgeAddStream(bridge, stream);

ACX の要件

最小 ACX バージョン: 1.0

ACX バージョンの詳細については、「 ACX バージョンの概要」を参照してください。

要件

要件
Header acxstreams.h
IRQL PASSIVE_LEVEL

こちらもご覧ください