Função AcxCircuitCreate (acxcircuit.h)
A função AcxCircuitCreate é usada para criar um ACXCIRCUIT.
Sintaxe
NTSTATUS AcxCircuitCreate(
WDFDEVICE Device,
PWDF_OBJECT_ATTRIBUTES Attributes,
PACXCIRCUIT_INIT *Config,
ACXCIRCUIT *Circuit
);
Parâmetros
Device
Um objeto WDFDEVICE (descrito em Resumo de Objetos da Estrutura) que será associado ao circuito.
Attributes
Atributos adicionais definidos usando um WDF_OBJECT_ATTRIBUTES que são usados para definir os valores de vários objetos: limpar e destruir retornos de chamada, tipo de contexto e especificar seu objeto WDF pai.
Config
A estrutura ACXCIRCUIT_INIT que define a inicialização da fábrica de circuitos. ACXCIRCUIT_INIT é um objeto opaco usado para inicialização de fábrica de circuitos. Use AcxCircuitInitAllocate para inicializar a estrutura ACXCIRCUIT_INIT.
Circuit
Um ponteiro para um local que recebe um identificador para o novo objeto ACXCIRCUIT. Para obter mais informações, consulte Resumo de objetos ACX.
Retornar valor
Retorna STATUS_SUCCESS
se a chamada foi bem-sucedida. Caso contrário, ele retornará um código de erro apropriado. Para obter mais informações, consulte Usando valores NTSTATUS.
Comentários
Um ACXCIRCUIT representa um caminho de áudio completo ou parcial (multi-circuito) para um dispositivo de áudio percebido pelo usuário (alto-falantes, microfone etc.).
Um ACXCIRCUIT tem pelo menos um pin de entrada (ACXPIN) e um pino de saída (ACXPIN) e pode agregar um ou mais objetos ACXELEMENTS. Por padrão, ACXELEMENTs são 'conectados' na mesma ordem do assembly.
Exemplo
O uso de exemplo é mostrado abaixo.
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 do ACX
Versão mínima do ACX: 1.0
Para obter mais informações sobre versões do ACX, consulte Visão geral da versão do ACX.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | acxcircuit.h |
IRQL | PASSIVE_LEVEL |