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

# XAsyncProviderData

> AsyncProviderData

# AsyncProviderData

Representa os dados passados para a função de retorno de chamada de um provedor assíncrono.

## Sintaxe

```cpp theme={null}
typedef struct XAsyncProviderData {  
    XAsyncBlock* async;  
    size_t bufferSize;  
    void* buffer;  
    void* context;  
} XAsyncProviderData  
```

### Membros

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

Um ponteiro para o [XAsyncBlock](https://docs.xbox.com/pt-BR/reference/system/xasync/structs/xasyncblock.md) que contém os dados da chamada assíncrona.

*bufferSize*\
Tipo: size\_t

O tamanho, em bytes, do buffer de resultado especificado em *buffer*. Esse valor só é válido quando a função de retorno de chamada é chamada com um código de operação [XAsyncOp::GetResult](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/enums/xasyncop.md), e o valor será igual ou maior que o valor especificado para o parâmetro *requiredBufferSize* da chamada de função [XAsyncComplete](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/functions/xasynccomplete.md) correspondente.

*buffer*\
Tipo: void\*

Um ponteiro para o buffer de resultado da função de retorno de chamada. Esse valor só é válido quando a função de retorno de chamada é chamada com um código de operação [XAsyncOp::GetResult](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/enums/xasyncop.md).

*context*\
Tipo: void\*

Um ponteiro de contexto passado para a função de retorno de chamada quando [XAsyncBegin](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/functions/xasyncbegin.md) foi chamado.

## Comentários

Esta estrutura representa os dados passados para a função de retorno de chamada de um provedor assíncrono. Os dados nesta estrutura podem mudar sempre que a função de retorno de chamada é chamada. A função de retorno de chamada é chamada repetidamente para realizar o trabalho assíncrono determinado pelo código de operação [XAsyncOp](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/enums/xasyncop.md) especificado para cada chamada, e os dados nesta estrutura também podem mudar a cada chamada. Os valores de *buffer* e *bufferSize* só são válidos quando a função de retorno de chamada é chamada com o código de operação `XAsyncOp::GetResult`. O valor de *context* é válido quando a função de retorno de chamada é chamada com qualquer código de operação, mas só deve ser liberado quando a função de retorno de chamada for chamada com o código de operação `XAsyncOp::Cleanup`.

Para obter um exemplo de função de retorno de chamada que interage com `XAsyncProviderData` ao realizar trabalho assíncrono para os códigos de operação `GetResult` e `Cleanup` de `XAsyncOp`, consulte a seção "Biblioteca assíncrona" em [Modelo de programação assíncrona](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-programming-model.md#heading-7).

## Requisitos

**Cabeçalho:** XAsyncProvider.h

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

## Confira também

[Membros de XAsyncProvider](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/xasyncprovider_members.md)\
[XAsyncComplete](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/functions/xasynccomplete.md)\
[XAsyncBegin](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/functions/xasyncbegin.md)\
[XAsyncOp](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/enums/xasyncop.md)\
[Modelo de programação assíncrona](https://docs.xbox.com/pt-BR/build/core-features/common/async/async-programming-model.md)


## Related topics

- [XAsyncProvider](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/functions/xasyncprovider.md)
- [XAsyncProvider (conteúdo da API)](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/xasyncprovider_members.md)
- [XAsyncOp](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/enums/xasyncop.md)
- [XAsyncBegin](https://docs.xbox.com/pt-BR/reference/system/xasyncprovider/functions/xasyncbegin.md)
- [XGameSaveInitializeProviderAsync](https://docs.xbox.com/pt-BR/reference/system/xgamesave/functions/xgamesaveinitializeproviderasync.md)
