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 ヘッダー を する