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

# XAsyncRun

> XAsyncRun

# XAsyncRun

Executa de forma assíncrona a função de retorno de chamada especificada.

## Sintaxe

```cpp theme={null}
HRESULT XAsyncRun(  
         XAsyncBlock* asyncBlock,  
         XAsyncWork* work  
)  
```

### Parâmetros

*asyncBlock*   \_Inout\_\
Tipo: [XAsyncBlock\*](/pt-BR/reference/system/xasync/structs/xasyncblock)

Um ponteiro para o [XAsyncBlock](/pt-BR/reference/system/xasync/structs/xasyncblock) usado para acompanhar a chamada assíncrona.

*work*   \_In\_\
Tipo: [XAsyncWork\*](/pt-BR/reference/system/xasync/functions/xasyncwork)

Um ponteiro para uma função de retorno de chamada a ser executada de forma assíncrona.

### Valor retornado

Tipo: [HRESULT](https://learn.microsoft.com/openspecs/windows_protocols/ms-erref/0642cb2f-2075-4469-918c-4441e69c548a)

Retornará `S_OK` se for bem-sucedido; caso contrário, retornará um código de erro. Para obter uma lista de códigos de erro, consulte [Códigos de erro](/pt-BR/reference/errorcodes).

## Comentários

`XAsyncRun` é uma função auxiliar que executa de forma assíncrona a função de retorno de chamada especificada em *work*. Você pode usar o `XAsyncBlock` especificado em *asyncBlock* para cancelar ou obter o status da função de retorno de chamada. Internamente, `XAsyncRun` usa as seguintes funções de `XAsyncProvider` para executar e acompanhar a função de retorno de chamada:

* [XAsyncBegin](/pt-BR/reference/system/xasyncprovider/functions/xasyncbegin)
* [XAsyncComplete](/pt-BR/reference/system/xasyncprovider/functions/xasynccomplete)
* [XAsyncSchedule](/pt-BR/reference/system/xasyncprovider/functions/xasyncschedule)

Para obter mais informações sobre como implementar sua própria funcionalidade assíncrona com `XAsyncProvider` e `XAsyncBlock`, consulte [Modelo de programação assíncrona](/pt-BR/build/core-features/common/async/async-programming-model).

## Requisitos

**Cabeçalho:** XAsync.h

**Biblioteca:** xgameruntime.lib

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

## Documentação conceitual

* [Executar tarefa de API do Microsoft Game Development Kit (GDK)](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task)
* [Executar tarefa simples](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task)
* [Visão geral da biblioteca XAsync](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasync)
* [Configurar a capacidade de cancelamento](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-cancelability)
* [Configurar provedor personalizado](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-custom-provider)
* [Modelo de programação assíncrona](/pt-BR/build/core-features/common/async/async-programming-model)
* [Wrapper genérico de tarefa assíncrona](/pt-BR/build/core-features/common/async/async-task-function-example)

## Confira também

[Membros de XAsync](/pt-BR/reference/system/xasync/xasync_members)\
[Membros de XAsyncProvider](/pt-BR/reference/system/xasyncprovider/xasyncprovider_members)\
[Modelo de programação assíncrona](/pt-BR/build/core-features/common/async/async-programming-model)


## Related topics

- [XAsyncRun](/reference/system/xasync/functions/xasyncrun.md)
- [Run simple task example](/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task.md)
- [XAsyncWork](/reference/system/xasync/functions/xasyncwork.md)
- [XAsync](/reference/system/xasync/xasync_members.md)
