Funzione AcxCircuitCreate (acxcircuit.h)
La funzione AcxCircuitCreate viene usata per creare un OGGETTO 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: pulizia ed eliminazione dei 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 utilizzato per l'inizializzazione della factory del circuito. Utilizzare 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 di valori NTSTATUS.
Osservazioni
Un ACXCIRCUIT rappresenta un percorso audio completo o parziale (multi circuito) a 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, GLI OGGETTI ACXELEMENT sono "connessi" 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 ACX
versione minima di ACX: 1.0
Per altre informazioni sulle versioni di ACX, vedere panoramica della versione ACX.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | acxcircuit.h |
IRQL | PASSIVE_LEVEL |