> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XApuConnect

> XApuConnect

# XApuConnect

Établit une connexion et alloue les ressources nécessaires pour une unité de traitement audio (XAPU).

## Syntaxe

```cpp theme={null}
HRESULT XApuConnect(  
         XApuConnectInputParameters* params,  
         XApuConnectOutputParameters* data,  
         XApuHandle* handle  
)  
```

### Paramètres

*params*   \_In\_\
Type : [XApuConnectInputParameters\*](/fr/reference/audio/xapu/structs/xapuconnectinputparameters)

Paramètres passés à XApuConnect pour allouer les ressources.

*data*   \_Out\_\
Type : [XApuConnectOutputParameters\*](/fr/reference/audio/xapu/structs/xapuconnectoutputparameters)

Paramètres retournés par XApuConnect.

*handle*   \_Outptr\_\
Type : XApuHandle\*

Pointeur vers le handle XAPU retourné. Ce handle permet d'indiquer quelle instance XAPU manipuler lors de l'appel d'autres API XAPU.

### Valeur renvoyée

Type : HRESULT

Retourne S\_OK en cas de réussite ; sinon, retourne un code d'erreur.

## Remarques

L'appelant doit spécifier un [XApuProcessType](/fr/reference/audio/xapu/enums/xapuprocesstype) que le client XAPU doit exécuter. Une instance de XAPU ne peut travailler qu'avec un seul type de processus pendant sa durée de vie. Pour exécuter deux processus différents ou plus, deux instances XAPU ou plus doivent être instanciées.

Dans [XApuConnectInputParameters](/fr/reference/audio/xapu/structs/xapuconnectinputparameters), l'appelant doit spécifier les éléments suivants :

* Nombre maximal de flux que le XAPU est censé traiter simultanément.
* Nombre maximal de commandes en file d'attente pour chaque flux.
* Allocation de mémoire totale requise pour toutes les commandes et tous les flux. Cela inclut les allocations totales pour les données d'entrée, de sortie et de traitement, sur le nombre maximal de flux multiplié par le nombre de commandes en file d'attente par flux.

Si l'appel réussit, le paramètre [XApuConnectOutputParameters::baseData](/fr/reference/audio/xapu/structs/xapuconnectoutputparameters) pointe vers un bloc de mémoire que l'appelant doit utiliser pour passer les données d'entrée et récupérer les données de sortie des flux. Il appartient à l'appelant de partitionner et de recycler ce bloc de mémoire. L'allocation est libérée lors de l'appel à [XApuDisconnect](/fr/reference/audio/xapu/functions/xapudisconnect).

[XApuConnectOutputParameters::resultReadyEvent](/fr/reference/audio/xapu/structs/xapuconnectoutputparameters) contient un handle d'événement Win32 lorsque [XApuConnectOptions::EnableResultReadyEvent](/fr/reference/audio/xapu/enums/xapuconnectoptions) est défini. Ce handle est fermé lors d'un appel à [XApuDisconnect](/fr/reference/audio/xapu/functions/xapudisconnect).

Ce handle est fermé lors d'un appel à [XApuDisconnect](/fr/reference/audio/xapu/functions/xapudisconnect).

Il n'est pas recommandé d'appeler fréquemment [XapuConnect](/fr/reference/audio/xapu/functions/xapuconnect) et [XApuDisconnect](/fr/reference/audio/xapu/functions/xapudisconnect) pour démarrer et arrêter des flux, car ces appels sont coûteux en temps et peuvent également entraîner des pertes de ressources dues à la fragmentation de la mémoire. [XapuConnect](/fr/reference/audio/xapu/functions/xapuconnect) doit plutôt être appelé une seule fois lors de l'initialisation de la session de streaming, puis [XApuCommandType::Activate](/fr/reference/audio/xapu/enums/xapucommandtype) et [XApuCommandType::Deactivate](/fr/reference/audio/xapu/enums/xapucommandtype) doivent être utilisés pour démarrer et arrêter des flux pendant le streaming. À la fin de la session de streaming, [XApuDisconnect](/fr/reference/audio/xapu/functions/xapudisconnect) doit être appelé. Cela s'applique à tous les clients XAPU.

## Configuration requise

**En-tête :** xapu.h

**Bibliothèque :** xapu.lib

**Plateformes prises en charge :** XBOX Series X|S

## Documentation conceptuelle

* [Vue d'ensemble de XAPU](/fr/build/console-features/audio/overviews/xapu-overview)

## Voir aussi

[XAPU](/fr/reference/audio/xapu/xapu_members)\
[XApuDecodeConvertCommand](/fr/reference/audio/xapu/structs/xapudecodeconvertcommand)\
[XApuDequeueResult](/fr/reference/audio/xapu/functions/xapudequeueresult)\
[XApuEnqueueCommand](/fr/reference/audio/xapu/functions/xapuenqueuecommand)\
[XApuGetResultCount](/fr/reference/audio/xapu/functions/xapugetresultcount)


## Related topics

- [XApuConnect](/reference/audio/xapu/functions/xapuconnect.md)
- [XApuConnectOutputParameters](/reference/audio/xapu/structs/xapuconnectoutputparameters.md)
- [XApuConnectInputParameters](/reference/audio/xapu/structs/xapuconnectinputparameters.md)
- [XApuConnectOptions](/reference/audio/xapu/enums/xapuconnectoptions.md)
