AcxCircuitCreate 関数 (acxcircuit.h)
AcxCircuitCreate 関数を使用して、ACXCIRCUIT を作成します。
構文
NTSTATUS AcxCircuitCreate(
WDFDEVICE Device,
PWDF_OBJECT_ATTRIBUTES Attributes,
PACXCIRCUIT_INIT *Config,
ACXCIRCUIT *Circuit
);
パラメーター
Device
回線に関連付けられる WDFDEVICE オブジェクト (フレームワーク オブジェクト の概要で説明)。
Attributes
さまざまなオブジェクトの値を設定するために使用される WDF_OBJECT_ATTRIBUTES を使用して定義された追加の属性: コールバックのクリーンアップと破棄、コンテキストの種類、および親 WDF オブジェクトの指定。
Config
回路ファクトリの初期化を定義するACXCIRCUIT_INIT構造体。 ACXCIRCUIT_INITは、回路ファクトリの初期化に使用される不透明なオブジェクトです。 AcxCircuitInitAllocate 使用して、ACXCIRCUIT_INIT構造体を初期化します。
Circuit
新しい ACXCIRCUIT オブジェクトへのハンドルを受け取る場所へのポインター。 詳細については、「ACX オブジェクトの概要」を参照してください。
戻り値
呼び出しが成功した場合に STATUS_SUCCESS
を返します。 それ以外の場合は、適切なエラー コードが返されます。 詳細については、NTSTATUS 値 の使用に関するを参照してください。
備考
ACXCIRCUIT は、ユーザーが認識するオーディオ デバイス (スピーカー、マイクなど) への完全または部分的な (マルチ回線) オーディオ パスを表します。
ACXCIRCUIT には、少なくとも 1 つの入力ピン (ACXPIN) と 1 つの出力ピン (ACXPIN) があり、1 つ以上の ACXELEMENTS オブジェクトを集約できます。 既定では、ACXELEMENT はアセンブリの同じ順序で '接続' されます。
例
使用例を次に示します。
status = AcxCircuitInitAssignName(circuitInit, &circuitName);
//
// Add circuit type.
//
AcxCircuitInitSetCircuitType(circuitInit, AcxCircuitTypeRender);
//
// Assign the circuit's pnp-power callbacks.
//
ACX_CIRCUIT_PNPPOWER_CALLBACKS_INIT(&powerCallbacks);
powerCallbacks.EvtAcxCircuitPowerUp = SdcaR_EvtCircuitPowerUp;
powerCallbacks.EvtAcxCircuitPowerDown = SdcaR_EvtCircuitPowerDown;
AcxCircuitInitSetAcxCircuitPnpPowerCallbacks(circuitInit, &powerCallbacks);
//
// Set circuit-callbacks.
//
status = AcxCircuitInitAssignAcxCreateStreamCallback(
circuitInit,
SdcaR_EvtCircuitCreateStream);
//
// Create the circuit.
//
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&attributes, SDCA_RENDER_CIRCUIT_CONTEXT);
status = AcxCircuitCreate(Device, &attributes, &circuitInit, &circuit);
ACX の要件
最小 ACX バージョン: 1.0
ACX バージョンの詳細については、ACX バージョンの概要 参照してください。
必要条件
要件 | 価値 |
---|---|
ヘッダー | acxcircuit.h |
IRQL | PASSIVE_LEVEL |
関連項目
- acxcircuit.h ヘッダー を する