Share via


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

Confira também