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

# Vue d'ensemble de la bibliothèque XAsync

> Vue d'ensemble de la bibliothèque XAsync

La bibliothèque [XAsync](/fr/reference/system/xasync/xasync_members) fournit des méthodes et des données qui définissent les tâches asynchrones et leurs rappels. La primitive asynchrone principale, [XAsyncBlock](/fr/reference/system/xasync/structs/xasyncblock), est définie dans cette bibliothèque. Elle est
requise pour toutes les tâches asynchrones.

Au-delà du bloc asynchrone, cette bibliothèque fournit des méthodes pour [démarrer des appels asynchrones de base](/fr/reference/system/xasync/functions/xasyncrun), [obtenir l'état d'une tâche asynchrone](/fr/reference/system/xasync/functions/xasyncgetstatus) et [tenter d'annuler des tâches](/fr/reference/system/xasync/functions/xasynccancel).

<a id="xasyncblock" />

## XAsyncBlock

[XAsyncBlock](/fr/reference/system/xasync/structs/xasyncblock) est la primitive asynchrone principale. Elle contient des membres utilisés pour implémenter le rappel d'achèvement, fournir des données au rappel d'achèvement et choisir la file d'attente de tâches dans laquelle s'exécuter.

Le bloc asynchrone contient également des données privées utilisées en interne par le système pour le comportement à l'exécution. Par conséquent, ce bloc ne peut pas être partagé entre plusieurs tâches actives. Le système utilise ces données pour identifier l'appel asynchrone tant que l'appel est actif.

```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];
};
```

## Documentation de référence de l'API

* [XAsync (contenu de l'API)](/fr/reference/system/xasync/xasync_members)
  * Fonctions
    * [xasyncrun](/fr/reference/system/xasync/functions/xasyncrun)
    * [xasyncgetstatus](/fr/reference/system/xasync/functions/xasyncgetstatus)
    * [xasynccancel](/fr/reference/system/xasync/functions/xasynccancel)
  * Structures
    * [XAsyncBlock](/fr/reference/system/xasync/structs/xasyncblock)

## Voir aussi

[Configurer une tâche asynchrone](/fr/build/core-features/common/async/async-libraries/async-library-xasync-example-setup-async-task)
[Exécuter une tâche simple](/fr/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task)
[Exécuter une tâche d'API du Microsoft Game Development Kit](/fr/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task)
[Contenu de l'API système XAsync](/fr/reference/system/xasync/xasync_members)


## Related topics

- [Vue d'ensemble de XBOX Series X|S](/fr/paths/series-xs/overview.md)
- [Vue d'ensemble d'Unity](/fr/paths/unity/overview.md)
- [Vue d'ensemble du portage](/fr/paths/porting/overview.md)
- [Vue d'ensemble d'Unreal Engine](/fr/paths/unreal/overview.md)
- [Vue d'ensemble de l'accessibilité GDK](/fr/build/game-principles/accessibility/accessibility-overview.md)
