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 版本概述。
要求
要求 | 值 |
---|---|
Header | acxcircuit.h |
IRQL | PASSIVE_LEVEL |