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 バージョンの概要」を参照してください。

要件

要件
Header acxcircuit.h
IRQL PASSIVE_LEVEL

こちらもご覧ください