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

# Visão geral da biblioteca XAsyncProvider

> O XAsyncProvider controla como as tarefas assíncronas são executadas, enfileirando retornos de chamada do XAsyncBlock em filas de tarefas, tratando o cancelamento e configurando buffers de resultado.

Este tópico descreve a finalidade da biblioteca [XAsyncProvider](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/xasyncprovider_members.md). Ela é a mais avançada das
três bibliotecas assíncronas e trata de como as tarefas são executadas. Por exemplo,
`XAsyncProvider` gerencia o comportamento real de receber um [XAsyncBlock](https://docs.xbox.com/pt-BR/reference/system/xasync/structs/xasyncblock.md)
e enfileirar os retornos de chamada em quaisquer filas de tarefas, trata a cancelabilidade
e configura buffers de resultado.

Em geral, a biblioteca `XAsyncProvider` é opcional e não é necessária na maioria dos casos, porque
um provedor geralmente já é fornecido. No entanto, a biblioteca pode ser usada quando
um comportamento mais avançado é necessário, como [criar APIs no estilo do Microsoft Game Development Kit (GDK)](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-invocation-methods.md) e
[permitir que tarefas assíncronas sejam canceláveis](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability.md).

#### Biblioteca de retorno de chamada do provedor assíncrono

A maior parte do comportamento dessa biblioteca está centrada na
implementação de um retorno de chamada de provedor assíncrono passado para a
função [XAsyncBegin](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/functions/xasyncbegin.md). Esse retorno de chamada representa todo o
fluxo de uma chamada assíncrona do início ao fim e trata as diferentes
alterações de estado ao longo do caminho. A captura de tela a seguir mostra uma ilustração simplificada de um provedor tratando uma tarefa.

![Captura de tela de uma ilustração simplificada de um provedor tratando uma tarefa](https://mintcdn.com/microsoft-4404708b/sIrPFR_ir_sNKVEv/images/gdk/features/common/async_provider_diagram.png?fit=max\&auto=format\&n=sIrPFR_ir_sNKVEv\&q=85\&s=7ebe8812b5a7a51d77b5544ee3a8be93)

## Documentação de referência da API

* [XAsyncProvider (conteúdo da API)](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/xasyncprovider_members.md)
  * Funções
    * [XAsyncBegin](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/functions/xasyncbegin.md)
* [xasync (conteúdo da API)](https://docs.xbox.com/pt-BR/reference/system/xasync/xasync_members.md)
  * Estruturas
    * [XAsyncBlock](https://docs.xbox.com/pt-BR/reference/system/xasync/structs/xasyncblock.md)

## Consulte também

[Configurar provedor personalizado (exemplo)](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-custom-provider.md)

[Configurar métodos de invocação (exemplo)](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-invocation-methods.md)

[Configurar dados de retorno (exemplo)](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-return-data.md)

[Configurar cancelabilidade (exemplo)](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability.md)

[XAsyncProvider](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/xasyncprovider_members.md)


## Related topics

- [XAsyncProvider (conteúdo da API)](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/xasyncprovider_members.md)
- [XAsyncBlock](https://docs.xbox.com/pt-BR/reference/system/xasync/structs/xasyncblock.md)
- [Visão geral da programação assíncrona (conteúdo)](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-toc.md)
- [XAsyncBegin](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/functions/xasyncbegin.md)
- [Exemplo de configuração de métodos de invocação](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-invocation-methods.md)
