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

# XAsyncGetResult

> XAsyncGetResult

# XAsyncGetResult

Retorna os resultados de uma chamada assíncrona de um provedor assíncrono.

## Sintaxe

```cpp theme={null}
HRESULT XAsyncGetResult(  
         XAsyncBlock* asyncBlock,  
         const void* identity,  
         size_t bufferSize,  
         void* buffer,  
         size_t* bufferUsed  
)  
```

### 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) que foi passado para [XAsyncBegin](/pt-BR/reference/system/xasyncprovider/functions/xasyncbegin) para a chamada assíncrona.

*identity*   \_In\_opt\_\
Tipo: void\*

Opcional. Um ponteiro para um token arbitrário que pode ser usado para identificar a chamada assíncrona. Se um valor tiver sido especificado para o parâmetro *identity* da chamada [XAsyncBegin](/pt-BR/reference/system/xasyncprovider/functions/xasyncbegin) correspondente, o mesmo ponteiro deverá ser especificado aqui.

*bufferSize*   \_In\_\
Tipo: size\_t

O tamanho, em bytes, do buffer de resultado especificado em *buffer*.

*buffer*   \_Out\_writes\_bytes\_to\_opt\_(bufferSize, \*bufferUsed)\
Tipo: void\*

Um ponteiro para o buffer de resultado.

*bufferUsed*   \_Out\_opt\_\
Tipo: size\_t\*

Opcional. Um ponteiro que contém o número de bytes gravados no buffer de resultado especificado em *buffer*. Esse valor é definido como o valor do parâmetro *requiredResultSize*, especificado pelo provedor assíncrono quando [XAsyncComplete](/pt-BR/reference/system/xasyncprovider/functions/xasynccomplete) foi invocado.

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

Se a chamada assíncrona tiver um conteúdo de dados, invoque esta função para retornar o conteúdo de dados. Você não precisará invocar esta função se a chamada assíncrona não tiver um conteúdo de dados. Se esta função for invocada para uma chamada assíncrona que não tem um conteúdo de dados, a função retornará o código de erro `E_NOT_SUPPORTED`.

Se um valor tiver sido especificado para o parâmetro *identity* da função [XAsyncBegin](/pt-BR/reference/system/xasyncprovider/functions/xasyncbegin) para esta chamada assíncrona, esse mesmo valor também deverá ser fornecido para o parâmetro *identity* desta função. Caso contrário, ocorrerá uma incompatibilidade de chamada e a função retornará o código de erro `E_INVALIDARG`.

Depois que esta função for concluída e os resultados forem retornados no buffer de resultado especificado em *buffer*, o [XAsyncBlock](/pt-BR/reference/system/xasync/structs/xasyncblock) especificado em *asyncBlock* será concluído e não estará mais associado à chamada assíncrona.

## Requisitos

**Cabeçalho:** XAsyncProvider.h

**Biblioteca:** xgameruntime.lib

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

## Documentação conceitual

* [Configurar provedor personalizado](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-custom-provider)
* [Configurar dados de retorno](/pt-BR/build/core-features/common/async/async-libraries/async-library-xasyncprovider-example-setup-return-data)
* [Modelo de programação assíncrona](/pt-BR/build/core-features/common/async/async-programming-model)

## Confira também

[Membros de XAsyncProvider](/pt-BR/reference/system/xasyncprovider/xasyncprovider_members)\
[XAsyncBegin](/pt-BR/reference/system/xasyncprovider/functions/xasyncbegin)\
[XAsyncComplete](/pt-BR/reference/system/xasyncprovider/functions/xasynccomplete)\
[Modelo de programação assíncrona](/pt-BR/build/core-features/common/async/async-programming-model)


## Related topics

- [XAsyncGetResult](/reference/system/xasyncprovider/functions/xasyncgetresult.md)
- [XAsyncGetResultSize](/reference/system/xasync/functions/xasyncgetresultsize.md)
