次の方法で共有


AcxStreamBridgeRemoveStream 関数 (acxstreams.h)

AcxStreamBridgeRemoveStream 関数は、指定された ACXSTREAM を ACXSTREAMBRIDGE オブジェクトから削除します。 ACX オブジェクトの詳細については、ACX - ACX オブジェクトの概要を参照してください。

構文

NTSTATUS AcxStreamBridgeRemoveStream(
  ACXSTREAMBRIDGE Bridge,
  ACXSTREAM       Stream
);

パラメーター

Bridge

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

Stream

ACXSTREAMBRIDGE から削除される ACXSTREAM オブジェクトへのハンドル。

戻り値

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

備考

この DDI は、ドライバーのストリーム クリーンアップ ハンドラー コンテキストからのみ呼び出すことができます。 呼び出し元はこの DDI を呼び出して、指定された ACXSTREAMBRIDGE オブジェクトから入力 ACXSTREAM の関連付けを手動で解除します。

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

(a) ドライバーは、ACXSTREAMBRIDGE から ACXSTREAM を手動で削除する必要があります。

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

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

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

AcxStreamBridgeMux 型の場合、最後の入力 ACXSTREAM が AcxStreamBridgeRemoveStream で ACXSTREAMBRIDGE から削除されると、出力 ACXTARGETSTREAM が削除されます。

使用例を次に示します。

    status = AcxStreamBridgeAddStream(bridge, stream);

    // Get I/O target to send I/O to the target stream.
    targetStream = AcxStreamBridgeGetTargetStream(bridge, stream);
 
    // Target stream is closed if this was last input ACXSTREAM removed.
    status = AcxStreamBridgeRemoveStream(bridge, stream);

ACX の要件

最小 ACX バージョン: 1.0

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

必要条件

要件 価値
ヘッダー acxstreams.h
IRQL PASSIVE_LEVEL

関連項目

  • acxstreams.h ヘッダー する