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

# XApuConnect

> XApuConnect

# XApuConnect

Establece una conexión y asigna los recursos necesarios para una unidad de procesamiento de audio (XAPU).

## Sintaxis

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

### Parámetros

*params*   \_In\_\
Tipo: [XApuConnectInputParameters\*](https://docs.xbox.com/es/reference/audio/xapu/structs/xapuconnectinputparameters.md)

Parámetros que se pasan a XApuConnect para los recursos asignados.

*data*   \_Out\_\
Tipo: [XApuConnectOutputParameters\*](https://docs.xbox.com/es/reference/audio/xapu/structs/xapuconnectoutputparameters.md)

Parámetros devueltos por XApuConnect.

*handle*   \_Outptr\_\
Tipo: XApuHandle\*

Puntero a un identificador de XAPU devuelto. Este identificador se usa para indicar qué instancia de XAPU se debe manipular al llamar a otras API de XAPU.

### Valor devuelto

Tipo: HRESULT

Devuelve S\_OK si se ejecuta correctamente; de lo contrario, devuelve un código de error.

## Comentarios

El autor de la llamada debe especificar un [XApuProcessType](https://docs.xbox.com/es/reference/audio/xapu/enums/xapuprocesstype.md) que ejecutará el cliente de XAPU. Una instancia de XAPU puede trabajar con un tipo de proceso durante su vigencia. Para realizar dos o más procesos diferentes, se deben crear dos o más instancias de XAPU.

Dentro de [XApuConnectInputParameters](https://docs.xbox.com/es/reference/audio/xapu/structs/xapuconnectinputparameters.md), el autor de la llamada debe especificar lo siguiente:

* Número máximo de secuencias que se espera que XAPU procese simultáneamente.
* Número máximo de comandos en cola para cada secuencia.
* Asignación de memoria total necesaria para todos los comandos y secuencias. Esto incluye las asignaciones totales para los datos de entrada, salida y procesamiento en el número máximo de secuencias multiplicado por los comandos en cola por secuencia.

Si la llamada se ejecuta correctamente, el parámetro [XApuConnectOutputParameters::baseData](https://docs.xbox.com/es/reference/audio/xapu/structs/xapuconnectoutputparameters.md) apuntará a un fragmento de memoria que el autor de la llamada debe usar para pasar los datos de entrada y recuperar los datos de salida de las secuencias. Corresponde al autor de la llamada particionar y reciclar este fragmento de memoria. La asignación se liberará al llamar a [XApuDisconnect](https://docs.xbox.com/es/reference/audio/xapu/functions/xapudisconnect.md).

[XApuConnectOutputParameters::resultReadyEvent](https://docs.xbox.com/es/reference/audio/xapu/structs/xapuconnectoutputparameters.md) contendrá un identificador de evento Win32 cuando se establezca [XApuConnectOptions::EnableResultReadyEvent](https://docs.xbox.com/es/reference/audio/xapu/enums/xapuconnectoptions.md). Este identificador se cerrará al llamar a [XApuDisconnect](https://docs.xbox.com/es/reference/audio/xapu/functions/xapudisconnect.md).

Este identificador se cerrará al llamar a [XApuDisconnect](https://docs.xbox.com/es/reference/audio/xapu/functions/xapudisconnect.md).

No se recomienda llamar a [XapuConnect](https://docs.xbox.com/es/reference/audio/xapu/functions/xapuconnect.md) y [XApuDisconnect](https://docs.xbox.com/es/reference/audio/xapu/functions/xapudisconnect.md) con frecuencia para iniciar y detener secuencias, ya que esas llamadas consumen mucho tiempo y también podrían provocar pérdidas de recursos debido a la fragmentación de la memoria. En su lugar, se debe llamar a [XapuConnect](https://docs.xbox.com/es/reference/audio/xapu/functions/xapuconnect.md) una vez al inicializar la sesión de transmisión y, a continuación, usar [XApuCommandType::Activate](https://docs.xbox.com/es/reference/audio/xapu/enums/xapucommandtype.md) y [XApuCommandType::Deactivate](https://docs.xbox.com/es/reference/audio/xapu/enums/xapucommandtype.md) para iniciar y detener secuencias durante la transmisión. Al final de la sesión de transmisión, se debe llamar a [XApuDisconnect](https://docs.xbox.com/es/reference/audio/xapu/functions/xapudisconnect.md). Esto se aplica a todos los clientes de XAPU.

## Requisitos

**Encabezado:** xapu.h

**Biblioteca:** xapu.lib

**Plataformas compatibles:** XBOX Series X|S

## Documentación conceptual

* [Información general de XAPU](https://docs.xbox.com/es/build/console-features/audio/overviews/xapu-overview.md)

## Consulte también

[XAPU](https://docs.xbox.com/es/reference/audio/xapu/xapu_members.md)\
[XApuDecodeConvertCommand](https://docs.xbox.com/es/reference/audio/xapu/structs/xapudecodeconvertcommand.md)\
[XApuDequeueResult](https://docs.xbox.com/es/reference/audio/xapu/functions/xapudequeueresult.md)\
[XApuEnqueueCommand](https://docs.xbox.com/es/reference/audio/xapu/functions/xapuenqueuecommand.md)\
[XApuGetResultCount](https://docs.xbox.com/es/reference/audio/xapu/functions/xapugetresultcount.md)


## Related topics

- [XApuConnectOptions](https://docs.xbox.com/es/reference/audio/xapu/enums/xapuconnectoptions.md)
- [XApuConnectOutputParameters](https://docs.xbox.com/es/reference/audio/xapu/structs/xapuconnectoutputparameters.md)
- [XApuConnectInputParameters](https://docs.xbox.com/es/reference/audio/xapu/structs/xapuconnectinputparameters.md)
- [XApuDisconnect](https://docs.xbox.com/es/reference/audio/xapu/functions/xapudisconnect.md)
- [XApuDequeueResult](https://docs.xbox.com/es/reference/audio/xapu/functions/xapudequeueresult.md)
