Partager via


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 une création de 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 utilisé pour définir les valeurs de l’objet : nettoyage et destruction de rappels, type de contexte et spécification de 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 de retour

Retourne STATUS_SUCCESS si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié. Pour plus d’informations, consultez Using NTSTATUS Values.

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, même si ACX n’interdit 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 nouveau parent de l’objet ACXSTREAMBRIDGE est l’ACXCIRCUIT spécifié. Vous pouvez utiliser le membre ParentObject de la structure WDF_OBJECT_ATTRIBUTES pour spécifier un parent différent avec ACXCIRCUIT comme ancêtre. L’infrastructure supprime l’objet ACXSTREAMBRIDGE lorsqu’il supprime l’objet parent.

Votre pilote peut supprimer l’objet ACXSTREAMBRIDGE une fois l’objet terminé à l’aide de l’objet ; sinon, l’objet reste jusqu’à ce que le parent soit supprimé, ce qui est le cas lorsqu’il est créé pendant l’initialisation/création ACXCIRCUIT.

Une broche peut être associée à zéro, une ou plusieurs ACXSTREAMBRIDGEs. ACX recherche la correspondance du mode de traitement du signal d’ACXPIN associée pour obtenir une correspondance du mode de traitement du signal de flux. La recherche s’arrête à la première correspondance.

ACX crée un ACXSTREAMBRIDGE par défaut pour un pont ACXCIRCUIT vers ACXCIRCUIT si le pilote ne en crée pas, et le pilote n’a pas désactivé la gestion du pont de flux par défaut avec la fonction AcxCircuitInitDisableDefaultStreamHandling.

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 pour ACX

version minimale d’ACX : 1.0

Pour plus d’informations sur les versions ACX, consultez vue d’ensemble de la version ACX.

Exigences

Exigence Valeur
d’en-tête acxstreams.h
IRQL PASSIVE_LEVEL

Voir aussi