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) ドライバー (およびその h/w 要件) では、上位レベルの ACXSTREAM (ストリーミング ブリッジ ピンに近い回線ストリーム) がダウンレベル ACXSTREAM の前にアクションを実行する必要があります。
(c) ドライバーは、ダウンレベル ACXSTREAM が終了する前と後にアクションを実行する必要があります。
AcxStreamBridgeMux 型の場合、このブリッジに追加された入力 ACXSTREAM の数とは無関係に作成されるダウンレベル ACXSTREAM は 1 つだけです。 つまり、出力 ACXSTREAM (ストリームが ACXTARGETSTREAM で表されるローカル回線の場合) は、ACXSTREAMBRIDGE に追加された最初の ACXSTREAM に対してのみ作成されます。 追加の入力 ACXSTREAM は、この既存の ACXTARGETSTREAM への参照を受け取るだけです。
AcxStreamBridgeMux 型の場合、AcxStreamBridgeRemoveStream を使用して ACXSTREAMBRIDGE から最後の入力 ACXSTREAM が削除されると、出力 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 バージョンの概要」を参照してください。
要件
要件 | 値 |
---|---|
Header | acxstreams.h |
IRQL | PASSIVE_LEVEL |