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

# XDspActivate

> XDspActivate

# XDspActivate

Ativa o fluxo XDSP adquirindo um recurso de processamento livre do pool. Cada cliente XDSP é limitado a 256 ativações de fluxo.

## Sintaxe

```cpp theme={null}
HRESULT XDspActivate(  
         XDspClientHandle clientHandle,  
         XDspActivationParameters* params,  
         XDspStatus** status,  
         XDspStreamHandle* streamHandle  
)  
```

### Parâmetros

*clientHandle*   \_In\_\
Tipo: [XDspClientHandle](/pt-BR/reference/audio/xdspaudio/handles/xdspclienthandle)

Um identificador de cliente XDSP válido obtido da chamada a XDspConnect.

*params*   \_In\_\
Tipo: [XDspActivationParameters\*](/pt-BR/reference/audio/xdspaudio/structs/xdspactivationparameters)

Ponteiro para uma estrutura [XDspActivationParameters](/pt-BR/reference/audio/xdspaudio/structs/xdspactivationparameters).

*status*   \_Outptr\_\
Tipo: [XDspStatus\*\*](/pt-BR/reference/audio/xdspaudio/structs/xdspstatus)

Ponteiro para uma estrutura [XDspStatus](/pt-BR/reference/audio/xdspaudio/structs/xdspstatus). Confira a seção **Comentários** para obter detalhes adicionais.

*streamHandle*   \_Outptr\_\
Tipo: [XDspStreamHandle\*](/pt-BR/reference/audio/xdspaudio/handles/xdspstreamhandle)

[XDspStreamHandle](/pt-BR/reference/audio/xdspaudio/handles/xdspstreamhandle) válido, se a chamada for bem-sucedida.  Confira a seção **Comentários** para obter detalhes adicionais.

### 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\_POINTER | Ponteiro que não é válido. |
| E\_INVALIDARG | Um ou mais argumentos são inválidos. |
| XDSP\_E\_NO\_DEVICE\_RESOURCES | Não há recursos de dispositivo XDSP disponíveis para atender à sua solicitação. |
| XDSP\_E\_INVALID\_IMPULSE\_RESPONSE\_LENGTH | O comprimento da resposta ao impulso fornecido é inválido. Esse erro pode ocorrer se for fornecido um [impulseResponseLengthInFloats](/pt-BR/reference/audio/xdspaudio/structs/xdspactivationparameters) menor que (`9 * blockSize * 2`) ou maior que 16 segundos (`16 * 48000 * 2`). |

## Comentários

Essa chamada é rápida, pois adquire recursos do pool em vez de alocá-los.

O chamador deve especificar um [XDspProcessType](/pt-BR/reference/audio/xdspaudio/enums/xdspprocesstype) para o fluxo XDSP executar. Uma instância de fluxo XDSP pode trabalhar com apenas um tipo de processamento durante seu tempo de vida. Para executar dois ou mais tipos de processamento diferentes, duas ou mais instâncias de fluxo XDSP devem ser instanciadas.

Dentro da estrutura [XDspActivationParameters](/pt-BR/reference/audio/xdspaudio/structs/xdspactivationparameters), o chamador deve especificar o seguinte:

* Opções de ativação.
* Número de quadros que serão processados em cada comando, ou seja, o número de quadros de entrada e saída.
* Número de canais do fluxo. Somente fluxos de entrada mono e estéreo são compatíveis.
* Para o tipo de processamento [XDspProcessType::Convolution](/pt-BR/reference/audio/xdspaudio/enums/xdspprocesstype), o comprimento da resposta ao impulso em floats.
* Para o tipo de processamento [XDspProcessType::Convolution](/pt-BR/reference/audio/xdspaudio/enums/xdspprocesstype), a resposta ao impulso como valores no domínio da frequência.

Se a chamada for bem-sucedida, um [XDspStreamHandle](/pt-BR/reference/audio/xdspaudio/handles/xdspstreamhandle) válido será retornado para ser usado com outras chamadas ([XDspSubmitCommand](/pt-BR/reference/audio/xdspaudio/functions/xdspsubmitcommand), [XDspSubmitCommandWithEnvelope](/pt-BR/reference/audio/xdspaudio/functions/xdspsubmitcommandwithenvelope), [XDspDeactivate](/pt-BR/reference/audio/xdspaudio/functions/xdspdeactivate)) para esse fluxo. Além disso, se essa chamada for bem-sucedida, ela retornará um ponteiro para [XDspStatus](/pt-BR/reference/audio/xdspaudio/structs/xdspstatus) que pode ser usado para verificar o status dos comandos enviados.

Isso deve ser usado para determinar o comando mais recente que foi processado e se os resultados dos comandos enviados estão prontos para serem consumidos.
[XDspStatus](/pt-BR/reference/audio/xdspaudio/structs/xdspstatus) também tem o número de sequência do último comando enviado ao hardware e o número de sequência do primeiro comando com falha para o fluxo XDSP que ele representa. No caso de processamento de convolução, o chamador pode liberar a memória da resposta ao impulso depois que essa chamada retornar.

## Requisitos

**Cabeçalho:** XDspAudio.h

**Biblioteca:** Chad.lib

**Plataformas compatíveis:** XBOX Series X|S

## Documentação conceitual

* [Visão geral de uma convolução de fluxo único com envelope usando a API do XDSP](/pt-BR/build/console-features/audio/overviews/xdsp-overview-single-stream-convolution-with-envelope)
* [Visão geral de uma convolução de fluxo único usando a API do XDSP](/pt-BR/build/console-features/audio/overviews/xdsp-overview-single-stream-convolution)
* [Visão geral do XDSP](/pt-BR/build/console-features/audio/overviews/xdsp-overview)

## Confira também

[XDSP](/pt-BR/reference/audio/xdspaudio/xdspaudio_members)\
[Erros do XDSP](/pt-BR/reference/audio/xdspaudio/enums/xdsperrors)\
[Visão geral de uma convolução de fluxo único usando a API do XDSP](/pt-BR/build/console-features/audio/overviews/xdsp-overview-single-stream-convolution)\
[Visão geral de uma FFT/IFFT de fluxo único usando a API do XDSP](/pt-BR/build/console-features/audio/overviews/xdsp-overview-single-stream-fft-ifft)\
[Visão geral de uma convolução de fluxo único com envelope usando a API do XDSP](/pt-BR/build/console-features/audio/overviews/xdsp-overview-single-stream-convolution-with-envelope)


## Related topics

- [XDspActivate](/reference/audio/xdspaudio/functions/xdspactivate.md)
- [XDspDeactivate](/reference/audio/xdspaudio/functions/xdspdeactivate.md)
