Funzione AcxStreamBridgeCreate (acxstreams.h)
La funzione AcxStreamBridgeCreate usa un ACX_STREAM_BRIDGE_CONFIG per creare un StreamBridge per un circuito.
Un ACXSTREAMBRIDGE viene usato da un circuito per propagare una creazione di flusso, le transizioni degli stati di flusso e le impostazioni DRM tra i segmenti di flusso del 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 all'oggetto ACXCIRCUIT associato. Per altre informazioni sugli oggetti ACX, vedere ACX - Riepilogo degli oggetti ACX.
Attributes
Attributi aggiuntivi definiti usando un WDF_OBJECT_ATTRIBUTES utilizzato per impostare i valori dei vari oggetti: pulizia e eliminazione di callback, tipo di contesto e specificare l'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 al 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 dei valori NTSTATUS.
Commenti
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 stessa raccolta dell'endpoint audio, purché appartengano a uno stack di dispositivi diverso. Un endpoint audio è una raccolta di circuiti audio creati dagli stessi driver audio o diversi.
Per impostazione predefinita, il padre del nuovo oggetto ACXSTREAMBRIDGE è l'oggetto ACXCIRCUIT specificato. È possibile usare 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'uso dell'oggetto; in caso contrario, l'oggetto rimarrà fino a quando 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 cerca l'elenco della modalità di elaborazione del segnale associato per una corrispondenza della modalità di elaborazione del segnale di flusso. La ricerca si arresta alla prima corrispondenza.
ACX crea un bridge ACXSTREAMBRIDGE predefinito per un bridge ACXCIRCUIT a ACXCIRCUIT se il driver non crea uno e il driver non disabilita la gestione predefinita del bridge di flusso con la funzione AcxCircuitInitDisableDefaultStreamBridgeHandling.
Esempio
Di seguito è riportato l'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 ACX, vedere Panoramica della versione di ACX.
Requisiti
Requisito | Valore |
---|---|
Intestazione | acxstreams.h |
IRQL | PASSIVE_LEVEL |