Función AcxCircuitCreate (acxcircuit.h)
La función AcxCircuitCreate se usa para crear un ACXCIRCUIT.
Sintaxis
NTSTATUS AcxCircuitCreate(
WDFDEVICE Device,
PWDF_OBJECT_ATTRIBUTES Attributes,
PACXCIRCUIT_INIT *Config,
ACXCIRCUIT *Circuit
);
Parámetros
Device
Objeto WDFDEVICE (descrito en Resumen de objetos de marco) que se asociará al circuito.
Attributes
Atributos adicionales definidos mediante un WDF_OBJECT_ATTRIBUTES que se usan para establecer los valores de los distintos objetos: limpieza y destrucción de devoluciones de llamada, tipo de contexto y para especificar su objeto WDF primario.
Config
Estructura ACXCIRCUIT_INIT que define la inicialización del generador de circuitos. ACXCIRCUIT_INIT es un objeto opaco que se usa para la inicialización del generador de circuitos. Use AcxCircuitInitAllocate para inicializar la estructura de ACXCIRCUIT_INIT.
Circuit
Puntero a una ubicación que recibe un identificador para el nuevo objeto ACXCIRCUIT. Para obtener más información, vea Resumen de objetos ACX.
Valor devuelto
Devuelve STATUS_SUCCESS
si la llamada se realizó correctamente. De lo contrario, devuelve un código de error adecuado. Para obtener más información, vea Uso de valores NTSTATUS.
Comentarios
Un ACXCIRCUIT representa una ruta de acceso de audio completa o parcial (multicircuito) a un dispositivo de audio percibido por el usuario (altavoces, micrófono, etc.).
Un ACXCIRCUIT tiene al menos un pin de entrada (ACXPIN) y un pin de salida (ACXPIN), y puede agregar uno o varios objetos ACXELEMENTS. De forma predeterminada, los ACXELEMENT están "conectados" en el mismo orden de ensamblado.
Ejemplo
A continuación se muestra el uso de ejemplo.
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);
Requisitos de ACX
Versión mínima de ACX: 1.0
Para obtener más información sobre las versiones de ACX, consulte Introducción a la versión de ACX.
Requisitos
Requisito | Valor |
---|---|
Header | acxcircuit.h |
IRQL | PASSIVE_LEVEL |