> ## 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 los datos que se pasan a la función de devolución de llamada de un proveedor asincrónico.

## Sintaxis

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

### Miembros

*async*\
Tipo: [XAsyncBlock\*](/reference/system/xasync/structs/xasyncblock)

Un puntero al [XAsyncBlock](/reference/system/xasync/structs/xasyncblock) que contiene los datos de la llamada asincrónica.

*bufferSize*\
Tipo: size\_t

El tamaño, en bytes, del búfer de resultados especificado en *buffer*. Este valor solo es válido cuando se llama a la función de devolución de llamada con un código de operación [XAsyncOp::GetResult](/reference/system/xasyncprovider/enums/xasyncop), y el valor será igual o mayor que el valor especificado para el parámetro *requiredBufferSize* de la llamada correspondiente a la función [XAsyncComplete](/reference/system/xasyncprovider/functions/xasynccomplete).

*buffer*\
Tipo: void\*

Un puntero al búfer de resultados de la función de devolución de llamada. Este valor solo es válido cuando se llama a la función de devolución de llamada con un código de operación [XAsyncOp::GetResult](/reference/system/xasyncprovider/enums/xasyncop).

*context*\
Tipo: void\*

Un puntero de contexto que se pasó a la función de devolución de llamada cuando se llamó a [XAsyncBegin](/reference/system/xasyncprovider/functions/xasyncbegin).

## Comentarios

Esta estructura representa los datos que se pasan a la función de devolución de llamada de un proveedor asincrónico. Los datos de esta estructura pueden cambiar cada vez que se llama a la función de devolución de llamada. Se llama repetidamente a la función de devolución de llamada para realizar trabajo asincrónico determinado por el código de operación de [XAsyncOp](/reference/system/xasyncprovider/enums/xasyncop) especificado para cada llamada, y los datos de esta estructura también pueden cambiar con cada llamada. Los valores de *buffer* y *bufferSize* solo son válidos cuando se llama a la función de devolución de llamada con el código de operación `XAsyncOp::GetResult`. El valor de *context* es válido cuando se llama a la función de devolución de llamada con cualquier código de operación, pero solo se debe liberar cuando se llama a la función de devolución de llamada con el código de operación `XAsyncOp::Cleanup`.

Para ver un ejemplo de una función de devolución de llamada que interactúa con `XAsyncProviderData` al realizar trabajo asincrónico para los códigos de operación `GetResult` y `Cleanup` de `XAsyncOp`, consulte la sección "Async Library" en [Modelo de programación asincrónica](/build/core-features/common/async/async-programming-model#heading-7).

## Requisitos

**Encabezado:** XAsyncProvider.h

**Plataformas compatibles:** Windows, consolas de la familia XBOX One y consolas XBOX Series

## Consulte también

[Miembros de XAsyncProvider](/reference/system/xasyncprovider/xasyncprovider_members)\
[XAsyncComplete](/reference/system/xasyncprovider/functions/xasynccomplete)\
[XAsyncBegin](/reference/system/xasyncprovider/functions/xasyncbegin)\
[XAsyncOp](/reference/system/xasyncprovider/enums/xasyncop)\
[Modelo de programación asincrónica](/build/core-features/common/async/async-programming-model)


## Related topics

- [XAsyncProvider](/es/reference/system/xasyncprovider/xasyncprovider_members.md)
- [Función XAsyncProvider](/es/reference/system/xasyncprovider/functions/xasyncprovider.md)
- [XAsyncBegin](/es/reference/system/xasyncprovider/functions/xasyncbegin.md)
- [XAsyncOp](/es/reference/system/xasyncprovider/enums/xasyncop.md)
- [AuthenticationProvider](/es/services/playfab/api-references/events/data-types/authenticationprovider.md)
