AcxStreamBridgeCreate, fonction (acxstreams.h)
La fonction AcxStreamBridgeCreate utilise un ACX_STREAM_BRIDGE_CONFIG pour créer un StreamBridge pour un circuit.
Un ACXSTREAMBRIDGE est utilisé par un circuit pour propager la création d’un flux, les transitions d’états du flux et les paramètres DRM entre les segments de flux de circuit du point de terminaison. Cet objet est utilisé uniquement dans un scénario multi-circuit (composite audio).
Syntaxe
NTSTATUS AcxStreamBridgeCreate(
ACXCIRCUIT AcxCircuit,
PWDF_OBJECT_ATTRIBUTES Attributes,
PACX_STREAM_BRIDGE_CONFIG Config,
ACXSTREAMBRIDGE *StreamBridge
);
Paramètres
AcxCircuit
Pointeur vers un emplacement qui reçoit un handle vers l’objet ACXCIRCUIT associé. Pour plus d’informations sur les objets ACX, consultez ACX - Résumé des objets ACX.
Attributes
Attributs supplémentaires définis à l’aide d’un WDF_OBJECT_ATTRIBUTES qui sont utilisés pour définir les valeurs des différents objets : nettoyage et destruction des rappels, type de contexte et pour spécifier son objet parent. Pour plus d’informations, consultez WDF_OBJECT_ATTRIBUTES structure et la section remarques de cette rubrique.
Config
Structure ACX_STREAM_BRIDGE_CONFIG qui définit la configuration.
StreamBridge
Pointeur vers un emplacement qui reçoit un handle vers le nouvel objet ACXSTREAMBRIDGE.
Valeur retournée
Retourne STATUS_SUCCESS
si l’appel a réussi. Sinon, il retourne un code d’erreur approprié. Pour plus d’informations, consultez Utilisation de valeurs NTSTATUS.
Remarques
Un point de terminaison audio est une collection d’un ou plusieurs circuits audio (objets ACXCIRCUIT) qui sont assemblés pour créer un chemin audio complet. Un pilote ACX crée normalement des circuits audio pour différents points de terminaison audio, bien qu’ACX n’empêche pas les circuits créés par le même pilote de faire partie de la collection du même point de terminaison audio, tant qu’ils appartiennent à une autre pile d’appareils. Un point de terminaison audio est une collection de circuits audio créés par les mêmes pilotes audio ou différents.
Par défaut, le parent du nouvel objet ACXSTREAMBRIDGE est l’OBJET ACXCIRCUIT spécifié. Vous pouvez utiliser le membre ParentObject de la structure WDF_OBJECT_ATTRIBUTES pour spécifier un autre parent avec ACXCIRCUIT comme ancêtre. Le framework supprime l’objet ACXSTREAMBRIDGE lorsqu’il supprime l’objet parent.
Votre pilote peut supprimer l’objet ACXSTREAMBRIDGE lorsqu’il a terminé d’utiliser l’objet ; sinon, l’objet reste jusqu’à ce que le parent soit supprimé, ce qui est le cas lorsqu’il est créé lors de l’initialisation/création d’ACXCIRCUIT.
Une broche peut être associée à zéro, un ou plusieurs ACXSTREAMBRIDGEs. ACX recherche dans la liste des modes de traitement du signal ACXPIN associée une correspondance du mode de traitement du signal de flux. La recherche s’arrête à la première correspondance.
ACX crée un pont ACXSTREAMBRIDGE par défaut pour un pont ACXCIRCUIT vers ACXCIRCUIT si le pilote n’en crée pas et que le pilote n’a pas désactivé la gestion du pont de flux par défaut avec la fonction AcxCircuitInitDisableDefaultStreamBridgeHandling.
Exemple
L’exemple d’utilisation est illustré ci-dessous.
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);
Configuration requise d’ACX
Version minimale d’ACX : 1.0
Pour plus d’informations sur les versions d’ACX, consultez Vue d’ensemble des versions d’ACX.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | acxstreams.h |
IRQL | PASSIVE_LEVEL |