次の方法で共有


ACX_STREAM_BRIDGE_CONFIG構造体 (acxstreams.h)

AcxStreamBridge 構造体は、ストリームの作成、ストリームの状態遷移、およびエンドポイントの回線ストリーム セグメント間の DRM 設定を伝達するために回線によって使用されます。

構文

typedef struct _ACX_STREAM_BRIDGE_CONFIG {
  ULONG                  Size;
  ULONG                  Flags;
  ACX_STREAM_BRIDGE_TYPE Type;
  ULONG                  InModesCount;
  PCGUID                 *InModes;
  PCGUID                 OutMode;
  ACXOBJECTBAG           OutStreamVarArguments;
  WDF_OBJECT_ATTRIBUTES  TargetStreamAttributes;
} ACX_STREAM_BRIDGE_CONFIG, *PACX_STREAM_BRIDGE_CONFIG;

メンバーズ

Size

この構造体の長さ (バイト単位)。

Flags

列挙型のビットごとの OR ACX_STREAM_BRIDGE_CONFIG_FLAGS

Type

ブリッジの種類を定義する ACX_STREAM_BRIDGE_TYPE 列挙型。

InModesCount

InModes にリストされているAUDIO_SIGNALPROCESSINGMODEsの数。 これらは、ACXSTREAMBRIDGE によって入力として受け入れられる信号処理モードです。 オーディオ モードの詳細については、「オーディオ信号処理モードの」を参照してください。

このフィールドは、InModes フィールドが NULL に設定されている場合にのみ 0 にすることができます。

InModes

ACXSTREAMBRIDGE でサポートAUDIO_SIGNALPROCESSINGMODEポインターの一覧へのポインター。 このフィールドには NULL を指定できます。 NULL GUID はワイルドカード値であり、任意のAUDIO_SIGNALPROCESSINGMODEsと一致します。

入力信号処理モードが定義されていない場合、ACXSTREAMBRIDGE はどのモードとも自動的には一致しません。 この場合、入力ストリームをストリーム ブリッジに手動で追加するのはドライバー次第です。

OutMode

出力ストリームのオーディオ信号処理モードを定義するAUDIO_SIGNALPROCESSINGMODEへのポインター。 このフィールドが NULL の場合、関連付けられた ACXPIN でサポートされている場合はAUDIO_SIGNALPROCESSINGMODE_DEFAULTが使用され、それ以外の場合はAUDIO_SIGNALPROCESSINGMODE_RAWが使用されます。 後者もサポートされていない場合は、オーディオ信号処理モードを指定せずに出力ストリームが作成されます。

OutStreamVarArguments

出力ストリームの可変引数を提供するために使用される ACXOBJECTBAG オブジェクト。 これは省略可能な設定であり、NULL にすることができます。 ACX オブジェクトの詳細については、ACX - ACX オブジェクトの概要を参照してください。

TargetStreamAttributes

ACXTARGETSTREAM オブジェクト属性の定義に使用される WDF_OBJECT_ATTRIBUTES 構造体。

備考

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

ピンは、0 個の 1 つ以上の ACXSTREAMBRIDGEs に関連付けることができます。 ACX は、関連する ACXPIN の信号処理モード リストを検索して、ストリーム信号処理モードの一致を検索します。 検索は最初の一致で停止します。

ACX は、ACXCIRCUIT ブリッジを作成しない場合、ACXCIRCUIT ブリッジの既定の ACXSTREAMBRIDGE を作成し、ドライバーが AcxCircuitInitDisableDefaultStreamBridgeHandling 関数を使用して既定のストリーム ブリッジ処理を無効にしませんでした。

関連付けられている ACXPIN が指定されたオーディオ信号処理モードをサポートしている場合、そのオーディオ信号処理モードの既定のデータ形式が出力ストリームの作成時に使用されます。

関連付けられている ACXPIN が指定されたオーディオ信号処理モードをサポートしていない場合は、出力ストリームの作成時に入力ストリームのデータ形式が使用されます。

ACXSTREAMBRIDGE は、先祖として ACXCIRCUIT を持つオブジェクトの親である必要があります。

使用例を次に示します。

        ACXSTREAMBRIDGE             bridge          = NULL;
        ACX_STREAM_BRIDGE_CONFIG    bridgeCfg;
    
        ACX_STREAM_BRIDGE_CONFIG_INIT(&bridgeCfg);
        bridgeCfg.InModesCount = 0;     // no in-modes. this stream-bridge is manually managed.
        bridgeCfg.InModes      = NULL; 
        bridgeCfg.OutMode      = NULL;  // no mode, i.e., default (1st), raw (2nd) or no mode (3rd).
        bridgeCfg.Flags       |= AcxStreamBridgeInvertChangeStateSequence;

        WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
        attributes.ParentObject = pin;

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

この例では、RAW モードと DEFAULT モードのストリーム ブリッジを設定する方法を示します。

    //
    // Add a stream BRIDGE for RAW and DEFAULT modes.
    //
    PCGUID  inModes[] = 
    {
        &AUDIO_SIGNALPROCESSINGMODE_DEFAULT, 
        &AUDIO_SIGNALPROCESSINGMODE_RAW,
    };

    WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
    attributes.ParentObject = pin;

    ACXSTREAMBRIDGE bridge = NULL;
    ACX_STREAM_BRIDGE_CONFIG bridgeCfg;
 
    ACX_STREAM_BRIDGE_CONFIG_INIT(&bridgeCfg);
    streamCfg.InModesCount = 2;
    streamCfg.InModes      = inModes; 
    streamCfg.OutMode      = &AUDIO_SIGNALPROCESSINGMODE_DEFAULT;

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

ACX の要件

最小 ACX バージョン: 1.0

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

必要条件

要件 価値
ヘッダー acxstreams.h

関連項目

  • acxstreams.h ヘッダー する