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

# Información general de la biblioteca XAsync

> La biblioteca XAsync define la estructura XAsyncBlock que requiere toda tarea asincrónica, junto con funciones para iniciar llamadas, comprobar el estado y cancelar tareas.

La biblioteca [XAsync](https://docs.xbox.com/es/reference/system/xasync/xasync_members.md) proporciona métodos y datos que definen las tareas asincrónicas y sus devoluciones de llamada. La primitiva asincrónica principal, [XAsyncBlock](https://docs.xbox.com/es/reference/system/xasync/structs/xasyncblock.md), se define en esta biblioteca. Es un
requisito para todas las tareas asincrónicas.

Además del bloque asincrónico, esta biblioteca proporciona métodos para [iniciar llamadas asincrónicas básicas](https://docs.xbox.com/es/reference/system/xasync/functions/xasyncrun.md), [obtener el estado de las tareas asincrónicas](https://docs.xbox.com/es/reference/system/xasync/functions/xasyncgetstatus.md) e [intentar cancelar tareas](https://docs.xbox.com/es/reference/system/xasync/functions/xasynccancel.md).

## XAsyncBlock

[XAsyncBlock](https://docs.xbox.com/es/reference/system/xasync/structs/xasyncblock.md) es la primitiva asincrónica principal que contiene miembros que se usan para implementar la devolución de llamada de finalización, proporcionar datos a la devolución de llamada de finalización y elegir una cola de tareas en la que ejecutarse.

El bloque asincrónico también contiene datos privados que el sistema usa internamente para el comportamiento en tiempo de ejecución. Como resultado, este bloque no se puede compartir entre varias tareas activas. El sistema usa estos datos para identificar la llamada asincrónica mientras la llamada está activa.

```c++ theme={null}
struct XAsyncBlock
{
    /// <summary>
    /// The queue to queue the call on.
    /// </summary>
    XTaskQueueHandle queue;
    
    /// <summary>
    /// Optional context pointer to pass to the callback.
    /// </summary>
    void* context;
    
    /// <summary>
    /// Optional callback that is invoked when the call completes.
    /// </summary>
    XAsyncCompletionRoutine* callback;
    
    /// <summary>
    /// Internal use only.
    /// </summary>
    unsigned char internal[sizeof(void*) * 4];
};
```

## Documentación de referencia de la API

* [XAsync (contenido de la API)](https://docs.xbox.com/es/reference/system/xasync/xasync_members.md)
  * Funciones
    * [xasyncrun](https://docs.xbox.com/es/reference/system/xasync/functions/xasyncrun.md)
    * [xasyncgetstatus](https://docs.xbox.com/es/reference/system/xasync/functions/xasyncgetstatus.md)
    * [xasynccancel](https://docs.xbox.com/es/reference/system/xasync/functions/xasynccancel.md)
  * Estructuras
    * [XAsyncBlock](https://docs.xbox.com/es/reference/system/xasync/structs/xasyncblock.md)

## Consulte también

[Configuración de una tarea asincrónica](https://docs.xbox.com/es/build/core-features/common/async/async-libraries/async-library-xasync-example-setup-async-task.md)
[Ejecución de una tarea simple](https://docs.xbox.com/es/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task.md)
[Ejecución de una tarea de la API del Microsoft Game Development Kit](https://docs.xbox.com/es/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task.md)
[Contenido de la API del sistema XAsync](https://docs.xbox.com/es/reference/system/xasync/xasync_members.md)


## Related topics

- [XAsyncBlock](https://docs.xbox.com/es/reference/system/xasync/structs/xasyncblock.md)
- [XAsync (contenido de la API)](https://docs.xbox.com/es/reference/system/xasync/xasync_members.md)
- [XAsyncCancel](https://docs.xbox.com/es/reference/system/xasync/functions/xasynccancel.md)
- [XAsyncGetStatus](https://docs.xbox.com/es/reference/system/xasync/functions/xasyncgetstatus.md)
- [Ejecución de una tarea de la API del Microsoft Game Development Kit (GDK)](https://docs.xbox.com/es/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task.md)
