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

# Información general de la biblioteca XAsync

> Información general de la biblioteca XAsync

La biblioteca [XAsync](/reference/system/xasync/xasync_members) proporciona métodos y datos que definen las tareas asincrónicas y sus devoluciones de llamada. La primitiva asincrónica principal, [XAsyncBlock](/reference/system/xasync/structs/xasyncblock), 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](/reference/system/xasync/functions/xasyncrun), [obtener el estado de las tareas asincrónicas](/reference/system/xasync/functions/xasyncgetstatus) e [intentar cancelar tareas](/reference/system/xasync/functions/xasynccancel).

<a id="xasyncblock" />

## XAsyncBlock

[XAsyncBlock](/reference/system/xasync/structs/xasyncblock) 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)](/reference/system/xasync/xasync_members)
  * Funciones
    * [xasyncrun](/reference/system/xasync/functions/xasyncrun)
    * [xasyncgetstatus](/reference/system/xasync/functions/xasyncgetstatus)
    * [xasynccancel](/reference/system/xasync/functions/xasynccancel)
  * Estructuras
    * [XAsyncBlock](/reference/system/xasync/structs/xasyncblock)

## Consulte también

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


## Related topics

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