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

Conecta-se ao ACP.

## Sintaxe

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

### Parâmetros

*numCommands*   \
Tipo: UINT32

Especifica o número de comandos a serem alocados na fila de comandos do ACP. Esse valor deve ser maior que zero e grande o suficiente para lidar com tantos comandos quantos forem emitidos para cada quadro de áudio de 2,67 ms.

*numMessages*   \
Tipo: UINT32

Especifica o número de mensagens a serem alocadas na fila de mensagens do ACP. Esse valor pode ser zero se o título não processar as mensagens recebidas. Se houver registro para mensagens de *comando concluído* (consulte [ACP\_MESSAGE\_TYPE](/pt-BR/reference/audio/acphal/enums/acp_message_type)), haverá pelo menos tantas mensagens quanto comandos. Normalmente, essa fila de mensagens é processada com menos frequência do que uma vez por quadro de áudio, portanto, planeje o equivalente a vários quadros de mensagens.

### Valor retornado

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará `S_OK`. Se o método falhar, ele retornará um dos seguintes códigos (lista parcial):

| Código de retorno | Descrição |
| - | - |
| E\_INVALIDARG | Um ou mais argumentos são inválidos ou o parâmetro *numCommands* está definido como zero. |
| E\_OUTOFMEMORY | Falha na alocação de memória. |
| ACP\_E\_ALREADY\_CONNECTED | Já conectado ao ACP. |
| E\_UNEXPECTED | Ocorreu um erro inesperado. |
| ACP\_E\_QUEUE\_FULL | A fila do ACP está cheia. |
| E\_TIMEOUT | Ocorreu um erro de tempo limite. |

## Comentários

Chame este método antes de chamar qualquer outro método desta interface. No entanto, depois de chamar [Disconnect](/pt-BR/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_disconnect), você pode chamar este método novamente. Consulte também [SubmitCommand](/pt-BR/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_submitcommand).

Se o método falhar com um erro diferente de `E_INVALIDARG` ou `ACP_E_ALREADY_CONNECTED`, é recomendável que **todos** os objetos de cliente do ACP existentes sejam destruídos e que os contextos SHAPE alocados sejam liberados usando [AcpHalReleaseShapeContexts](/pt-BR/reference/audio/acphal/functions/acphalreleaseshapecontexts). Novos contextos SHAPE e objetos de cliente do ACP devem ser alocados/criados novamente conforme necessário usando [AcpHalAllocateShapeContexts](/pt-BR/reference/audio/acphal/functions/acphalallocateshapecontexts) e [AcpHalCreate](/pt-BR/reference/audio/acphal/functions/acphalcreate), respectivamente.

## Requisitos

**Cabeçalho:** acphal.h

**Plataformas com suporte:** consoles da família XBOX One e consoles XBOX Series

## Confira também

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


## Related topics

- [IAcpHal](/pt-BR/reference/audio/acphal/interfaces/IAcpHal/iacphal.md)
- [Práticas recomendadas para construção de flowgraphs de áudio do SHAPE](/pt-BR/build/console-features/audio/overviews/best-practices-audio-flowgraph-construction.md)
- [IAcpHal::Disconnect](/pt-BR/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_disconnect.md)
- [IAcpHal::PopMessage](/pt-BR/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_popmessage.md)
- [IAcpHal::SubmitCommand](/pt-BR/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_submitcommand.md)
