Condividi tramite


Funzione AcxCircuitCreate (acxcircuit.h)

La funzione AcxCircuitCreate viene usata per creare un ACXCIRCUIT.

Sintassi

NTSTATUS AcxCircuitCreate(
  WDFDEVICE              Device,
  PWDF_OBJECT_ATTRIBUTES Attributes,
  PACXCIRCUIT_INIT       *Config,
  ACXCIRCUIT             *Circuit
);

Parametri

Device

Oggetto WDFDEVICE (descritto in Riepilogo degli oggetti framework) che verrà associato al circuito.

Attributes

Attributi aggiuntivi definiti usando un WDF_OBJECT_ATTRIBUTES utilizzati per impostare i valori dei vari oggetti: ripulitura ed eliminazione definitiva di callback, tipo di contesto e per specificare il relativo oggetto WDF padre.

Config

Struttura ACXCIRCUIT_INIT che definisce l'inizializzazione della factory del circuito. ACXCIRCUIT_INIT è un oggetto opaco usato per l'inizializzazione della factory del circuito. Usare AcxCircuitInitAllocate per inizializzare la struttura ACXCIRCUIT_INIT.

Circuit

Puntatore a una posizione che riceve un handle per il nuovo oggetto ACXCIRCUIT. Per altre informazioni, vedere Riepilogo degli oggetti ACX.

Valore restituito

Restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. In caso contrario, restituisce un codice di errore appropriato. Per altre informazioni, vedere Uso dei valori NTSTATUS.

Commenti

AcXCIRCUIT rappresenta un percorso audio completo o parziale (multi circuito) per un dispositivo audio percepito dall'utente (altoparlanti, microfoni e così via).

AcXCIRCUIT ha almeno un pin di input (ACXPIN) e un pin di output (ACXPIN) e può aggregare uno o più oggetti ACXELEMENTS. Per impostazione predefinita, ACXELEMENTs è "connesso" nello stesso ordine di assembly.

Esempio

Di seguito è riportato un esempio di utilizzo.

    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);

Requisiti di ACX

Versione minima di ACX: 1.0

Per altre informazioni sulle versioni ACX, vedere La panoramica della versione di ACX.

Requisiti

Requisito Valore
Intestazione acxcircuit.h
IRQL PASSIVE_LEVEL

Vedi anche