> ## 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.

# IAcpHal::Connect

> IAcpHal::Connect

# IAcpHal::Connect

Se connecte à l'ACP.

## Syntaxe

```cpp theme={null}
HRESULT Connect(  
         UINT32 numCommands,  
         UINT32 numMessages  
)  
```

### Paramètres

*numCommands*   \
Type : UINT32

Spécifie le nombre de commandes à allouer dans la file d'attente de commandes de l'ACP. Cette valeur doit être supérieure à zéro et suffisamment grande pour gérer autant de commandes que celles émises pour chaque trame audio de 2,67 ms.

*numMessages*   \
Type : UINT32

Spécifie le nombre de messages à allouer dans la file d'attente de messages de l'ACP. Cette valeur peut être nulle si le titre ne traite pas les messages reçus. Si une inscription aux messages *command completed* (voir [ACP\_MESSAGE\_TYPE](/fr-CA/reference/audio/acphal/enums/acp_message_type)) a été effectuée, il y aura au moins autant de messages que de commandes. En général, cette file d'attente de messages est traitée moins d'une fois par trame audio; prévoyez donc des messages pour plusieurs trames.

### Valeur de retour

Type : HRESULT

Si la méthode réussit, elle renvoie `S_OK`. Si la méthode échoue, elle renvoie l'un des codes suivants (liste partielle) :

| Code de retour | Description |
| - | - |
| E\_INVALIDARG | Un ou plusieurs arguments ne sont pas valides, ou le paramètre *numCommands* est défini sur zéro. |
| E\_OUTOFMEMORY | L'allocation de mémoire a échoué. |
| ACP\_E\_ALREADY\_CONNECTED | Déjà connecté à l'ACP. |
| E\_UNEXPECTED | Une erreur inattendue s'est produite. |
| ACP\_E\_QUEUE\_FULL | La file d'attente de l'ACP est pleine. |
| E\_TIMEOUT | Une erreur de délai d'expiration s'est produite. |

## Remarques

Appelez cette méthode avant d'appeler toute autre méthode de cette interface. Toutefois, après avoir appelé [Disconnect](/fr-CA/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_disconnect), vous pouvez appeler cette méthode de nouveau. Consultez également [SubmitCommand](/fr-CA/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_submitcommand).

Si la méthode échoue en raison d'une erreur autre que `E_INVALIDARG` ou `ACP_E_ALREADY_CONNECTED`, il est conseillé de détruire **tous** les objets clients ACP existants et de libérer les contextes SHAPE alloués à l'aide de [AcpHalReleaseShapeContexts](/fr-CA/reference/audio/acphal/functions/acphalreleaseshapecontexts). De nouveaux contextes SHAPE et objets clients ACP doivent ensuite être alloués ou créés au besoin à l'aide de [AcpHalAllocateShapeContexts](/fr-CA/reference/audio/acphal/functions/acphalallocateshapecontexts) et de [AcpHalCreate](/fr-CA/reference/audio/acphal/functions/acphalcreate), respectivement.

## Configuration requise

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

**Plateformes prises en charge :** consoles de la famille XBOX One et consoles XBOX Series

## Voir aussi

[Disconnect](/fr-CA/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_disconnect)\
[AcpHal](/fr-CA/reference/audio/acphal/acphal_members)


## Related topics

- [IAcpHal::Connect](/zh-CN/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_connect.md)
- [IAcpHal](/reference/audio/acphal/interfaces/IAcpHal/iacphal.md)
