Funzione AcxStreamBridgeCreate (acxstreams.h)
La funzione AcxStreamBridgeCreate usa un ACX_STREAM_BRIDGE_CONFIG per creare un oggetto StreamBridge per un circuito.
AcXSTREAMBRIDGE viene usato da un circuito per propagare la creazione di un flusso, gli stati del flusso e le impostazioni DRM tra i segmenti del flusso di circuito dell'endpoint. Questo oggetto viene usato solo in uno scenario multi circuito (composito audio).
Sintassi
NTSTATUS AcxStreamBridgeCreate(
ACXCIRCUIT AcxCircuit,
PWDF_OBJECT_ATTRIBUTES Attributes,
PACX_STREAM_BRIDGE_CONFIG Config,
ACXSTREAMBRIDGE *StreamBridge
);
Parametri
AcxCircuit
Puntatore a una posizione che riceve un handle per l'oggetto ACXCIRCUIT associato. Per altre informazioni sugli oggetti ACX, vedere ACX - Summary of ACX Objects.
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 padre. Per altre informazioni, vedere WDF_OBJECT_ATTRIBUTES struttura e la sezione osservazioni di questo argomento.
Config
Struttura ACX_STREAM_BRIDGE_CONFIG che definisce la configurazione.
StreamBridge
Puntatore a una posizione che riceve un handle per il nuovo oggetto ACXSTREAMBRIDGE.
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 endpoint audio è una raccolta di uno o più circuiti audio (oggetti ACXCIRCUIT) che vengono assemblati per creare un percorso audio completo. Un driver ACX crea normalmente circuiti audio per endpoint audio diversi, anche se ACX non impedisce circuiti creati dallo stesso driver di far parte della raccolta dello stesso endpoint audio, purché appartengano a uno stack di dispositivi diverso. Un endpoint audio è una raccolta di circuiti audio creati dagli stessi driver audio o da driver audio diversi.
Per impostazione predefinita, l'elemento padre del nuovo oggetto ACXSTREAMBRIDGE è l'oggetto ACXCIRCUIT specificato. È possibile utilizzare il membro ParentObject della struttura WDF_OBJECT_ATTRIBUTES per specificare un elemento padre diverso con ACXCIRCUIT come predecessore. Il framework elimina l'oggetto ACXSTREAMBRIDGE quando elimina l'oggetto padre.
Il driver può eliminare l'oggetto ACXSTREAMBRIDGE al termine dell'utilizzo dell'oggetto; in caso contrario, l'oggetto rimarrà finché l'elemento padre non viene eliminato, ovvero quando viene creato durante l'inizializzazione/creazione di ACXCIRCUIT.
Un pin può essere associato a zero, uno o più ACXSTREAMBRIDGEs. ACX esegue una ricerca nell'elenco della modalità di elaborazione dei segnali associato nell'elenco della modalità di elaborazione dei segnali di flusso. La ricerca si interrompe alla prima corrispondenza.
ACX crea un'istanza predefinita di ACXSTREAMBRIDGE per un bridge ACXCIRCUIT a ACXCIRCUIT se il driver non ne crea uno e il driver non ha disabilitato la gestione predefinita del bridge di flusso con la funzione AcxCircuitInitDisableDefaultStreamBridgeHandling.
Esempio
Di seguito è riportato un esempio di utilizzo.
ACX_STREAM_BRIDGE_CONFIG bridgeCfg;
ACXSTREAMBRIDGE bridge = NULL;
ACX_STREAM_BRIDGE_CONFIG_INIT(&bridgeCfg);
bridgeCfg.InModesCount = 1;
bridgeCfg.InModes = inModes;
bridgeCfg.OutMode = &AUDIO_SIGNALPROCESSINGMODE_DEFAULT;
status = AcxStreamBridgeCreate(circuit, &attributes, &bridgeCfg, &bridge);
Requisiti ACX
versione minima di ACX: 1.0
Per altre informazioni sulle versioni di ACX, vedere panoramica della versione ACX.
Fabbisogno
Requisito | Valore |
---|---|
intestazione | acxstreams.h |
IRQL | PASSIVE_LEVEL |