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 至少有一个输入引脚(ACXPIN)和一个输出引脚(ACXPIN),它可以聚合一个或多个 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

另请参阅