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

# XAsyncWork

> XAsyncWork

# XAsyncWork

Representa a função de retorno de chamada invocada por [XAsyncRun](https://docs.xbox.com/pt-BR/reference/system/xasync/functions/xasyncrun.md).

## Sintaxe

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

### Parâmetros

*asyncBlock*   \_Inout\_\
Tipo: [XAsyncBlock\*](https://docs.xbox.com/pt-BR/reference/system/xasync/structs/xasyncblock.md)

Um ponteiro para uma cópia do [XAsyncBlock](https://docs.xbox.com/pt-BR/reference/system/xasync/structs/xasyncblock.md) que foi passado para [XAsyncRun](https://docs.xbox.com/pt-BR/reference/system/xasync/functions/xasyncrun.md).

### 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](https://docs.xbox.com/pt-BR/reference/errorcodes.md).

## Comentários

Um ponteiro para uma cópia do [XAsyncBlock](https://docs.xbox.com/pt-BR/reference/system/xasync/structs/xasyncblock.md) que foi passado para [XAsyncRun](https://docs.xbox.com/pt-BR/reference/system/xasync/functions/xasyncrun.md) é usado para permitir que o sistema garanta que o ponteiro sempre exista e seja válido para o retorno de chamada.

Ao usar a função auxiliar [XAsyncRun](https://docs.xbox.com/pt-BR/reference/system/xasync/functions/xasyncrun.md) para executar uma função de retorno de chamada de forma assíncrona, você especifica um ponteiro `XAsyncWork` para a função de retorno de chamada a ser invocada. Em seguida, `XAsyncRun` usa a funcionalidade de [XAsyncProvider](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/xasyncprovider_members.md) para executar a função de retorno de chamada.

Para obter mais informações sobre a funcionalidade de `XAsyncProvider`, consulte [Modelo de programação assíncrona](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-programming-model.md).

## Requisitos

**Cabeçalho:** XAsync.h

**Biblioteca:** xgameruntime.lib

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

## Confira também

[Membros de XAsync](https://docs.xbox.com/pt-BR/reference/system/xasync/xasync_members.md)\
[XAsyncRun](https://docs.xbox.com/pt-BR/reference/system/xasync/functions/xasyncrun.md)\
[Modelo de programação assíncrona](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-programming-model.md)


## Related topics

- [XAsyncRun](https://docs.xbox.com/pt-BR/reference/system/xasync/functions/xasyncrun.md)
- [XAsync (conteúdo da API)](https://docs.xbox.com/pt-BR/reference/system/xasync/xasync_members.md)
- [XAsyncBlock](https://docs.xbox.com/pt-BR/reference/system/xasync/structs/xasyncblock.md)
- [PartyWorkMode](https://docs.xbox.com/pt-BR/services/playfab/multiplayer/networking/reference/enums/partyworkmode.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)
