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

# AsyncProviderData

> 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\*](/pt-BR/reference/system/xasync/structs/xasyncblock)

Um ponteiro para o [XAsyncBlock](/pt-BR/reference/system/xasync/structs/xasyncblock) 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](/pt-BR/reference/system/xasyncprovider/enums/xasyncop), e o valor será igual ou maior que o valor especificado para o parâmetro *requiredBufferSize* da chamada de função [XAsyncComplete](/pt-BR/reference/system/xasyncprovider/functions/xasynccomplete) 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](/pt-BR/reference/system/xasyncprovider/enums/xasyncop).

*context*\
Tipo: void\*

Um ponteiro de contexto passado para a função de retorno de chamada quando [XAsyncBegin](/pt-BR/reference/system/xasyncprovider/functions/xasyncbegin) 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](/pt-BR/reference/system/xasyncprovider/enums/xasyncop) 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](/pt-BR/build/core-features/common/async/async-programming-model#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](/pt-BR/reference/system/xasyncprovider/xasyncprovider_members)\
[XAsyncComplete](/pt-BR/reference/system/xasyncprovider/functions/xasynccomplete)\
[XAsyncBegin](/pt-BR/reference/system/xasyncprovider/functions/xasyncbegin)\
[XAsyncOp](/pt-BR/reference/system/xasyncprovider/enums/xasyncop)\
[Modelo de programação assíncrona](/pt-BR/build/core-features/common/async/async-programming-model)


## Related topics

- [AsyncProviderData](/ko/reference/system/xasyncprovider/structs/xasyncproviderdata.md)
- [XAsyncProvider](/reference/system/xasyncprovider/xasyncprovider_members.md)
- [XAsyncProvider function](/reference/system/xasyncprovider/functions/xasyncprovider.md)
