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

# Visão geral da biblioteca XAsync

> Visão geral da biblioteca XAsync

A biblioteca [XAsync](/pt-BR/reference/system/xasync/xasync_members) fornece métodos e dados que definem tarefas assíncronas e seus retornos de chamada. O principal primitivo assíncrono, [XAsyncBlock](/pt-BR/reference/system/xasync/structs/xasyncblock), é definido nessa biblioteca. Ele é um
requisito para todas as tarefas assíncronas.

Além do bloco assíncrono, essa biblioteca fornece métodos para [iniciar chamadas assíncronas básicas](/pt-BR/reference/system/xasync/functions/xasyncrun), [obter o status da tarefa assíncrona](/pt-BR/reference/system/xasync/functions/xasyncgetstatus) e [tentar cancelar tarefas](/pt-BR/reference/system/xasync/functions/xasynccancel).

<a id="xasyncblock" />

## XAsyncBlock

O [XAsyncBlock](/pt-BR/reference/system/xasync/structs/xasyncblock) é o principal primitivo assíncrono, que contém membros usados para implementar o retorno de chamada de conclusão, fornecer dados ao retorno de chamada de conclusão e escolher uma fila de tarefas na qual executar.

O bloco assíncrono também contém dados privados usados internamente pelo sistema para o comportamento em tempo de execução. Como resultado, esse bloco não pode ser compartilhado entre várias tarefas ativas. O sistema usa esses dados para identificar a chamada assíncrona enquanto ela está ativa.

```c++ theme={null}
struct XAsyncBlock
{
    /// <summary>
    /// The queue to queue the call on.
    /// </summary>
    XTaskQueueHandle queue;
    
    /// <summary>
    /// Optional context pointer to pass to the callback.
    /// </summary>
    void* context;
    
    /// <summary>
    /// Optional callback that is invoked when the call completes.
    /// </summary>
    XAsyncCompletionRoutine* callback;
    
    /// <summary>
    /// Internal use only.
    /// </summary>
    unsigned char internal[sizeof(void*) * 4];
};
```

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

* [XAsync (conteúdo da API)](/pt-BR/reference/system/xasync/xasync_members)
  * Funções
    * [xasyncrun](/pt-BR/reference/system/xasync/functions/xasyncrun)
    * [xasyncgetstatus](/pt-BR/reference/system/xasync/functions/xasyncgetstatus)
    * [xasynccancel](/pt-BR/reference/system/xasync/functions/xasynccancel)
  * Estruturas
    * [XAsyncBlock](/pt-BR/reference/system/xasync/structs/xasyncblock)

## Consulte também

[Configurar tarefa assíncrona](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasync-example-setup-async-task)
[Executar tarefa simples](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task)
[Executar tarefa de API do Microsoft Game Development Kit](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task)
[Conteúdo da API do sistema XAsync](/pt-BR/reference/system/xasync/xasync_members)


## Related topics

- [Visão geral de portabilidade](/pt-BR/paths/porting/overview.md)
- [Visão geral de Godot e engines da comunidade](/pt-BR/paths/community-engines/overview.md)
- [Visão geral da API C do Services - PFStatistics.h](/pt-BR/services/playfab/api-references/c/pfstatistics/pfstatistics_members.md)
- [Visão geral da API C do Services - PFLeaderboards.h](/pt-BR/services/playfab/api-references/c/pfleaderboards/pfleaderboards_members.md)
- [Visão geral da API C do Services - PFLocalization.h](/pt-BR/services/playfab/api-references/c/pflocalization/pflocalization_members.md)
