> ## 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-CA/reference/audio/xapu/structs/xapuconnectinputparameters)

Paramètres transmis à XApuConnect pour allouer les ressources.

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

Paramètres retournés par XApuConnect.

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

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

### Valeur de retour

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-CA/reference/audio/xapu/enums/xapuprocesstype) que le client XAPU doit exécuter. Une instance XAPU peut fonctionner avec un seul type de traitement pendant sa durée de vie. Pour effectuer deux traitements différents ou plus, il faut instancier deux instances XAPU ou plus.

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

* Nombre maximal de flux que le XAPU doit traiter simultanément.
* Nombre maximal de commandes en file d'attente pour chaque flux.
* Allocation de mémoire totale requise pour l'ensemble des commandes et des flux. Cela comprend les allocations totales pour les données d'entrée, de sortie et de traitement, pour 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-CA/reference/audio/xapu/structs/xapuconnectoutputparameters) pointe vers un bloc de mémoire que l'appelant doit utiliser pour transmettre les données d'entrée et récupérer les données de sortie des flux. Il revient à l'appelant de partitionner et de recycler ce bloc de mémoire. L'allocation est libérée lors de l'appel à [XApuDisconnect](/fr-CA/reference/audio/xapu/functions/xapudisconnect).

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

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

Il n'est pas recommandé d'appeler [XapuConnect](/fr-CA/reference/audio/xapu/functions/xapuconnect) et [XApuDisconnect](/fr-CA/reference/audio/xapu/functions/xapudisconnect) fréquemment pour démarrer et arrêter des flux, car ces appels prennent du temps et peuvent également entraîner des pertes de ressources en raison de la fragmentation de la mémoire. Appelez plutôt [XapuConnect](/fr-CA/reference/audio/xapu/functions/xapuconnect) une seule fois lors de l'initialisation de la session de diffusion en continu, puis utilisez [XApuCommandType::Activate](/fr-CA/reference/audio/xapu/enums/xapucommandtype) et [XApuCommandType::Deactivate](/fr-CA/reference/audio/xapu/enums/xapucommandtype) pour démarrer et arrêter les flux pendant la diffusion. À la fin de la session de diffusion en continu, appelez [XApuDisconnect](/fr-CA/reference/audio/xapu/functions/xapudisconnect). 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-CA/build/console-features/audio/overviews/xapu-overview)

## Voir aussi

[XAPU](/fr-CA/reference/audio/xapu/xapu_members)\
[XApuDecodeConvertCommand](/fr-CA/reference/audio/xapu/structs/xapudecodeconvertcommand)\
[XApuDequeueResult](/fr-CA/reference/audio/xapu/functions/xapudequeueresult)\
[XApuEnqueueCommand](/fr-CA/reference/audio/xapu/functions/xapuenqueuecommand)\
[XApuGetResultCount](/fr-CA/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)
