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

# Exemple d'exécution d'une tâche simple

> Exemple d'exécution d'une tâche simple

Cette rubrique fournit un exemple d'exécution d'une tâche utilisateur simple. Les tâches simples peuvent être démarrées avec la fonction [XAsyncRun](/fr-CA/reference/system/xasync/functions/xasyncrun).
Cette fonction prend le bloc asynchrone en entrée, puis exige
l'implémentation du rappel de travail sous forme de foncteur ou de lambda en entrée. N'oubliez pas
que le bloc asynchrone spécifie la file d'attente de tâches à utiliser ainsi que le
rappel d'achèvement facultatif.

```c++ theme={null}
XAsyncBlock* async = new XAsyncBlock{};
async->queue = taskQueue;
async->context = contextData;
async->callback = 
    [](XAsyncBlock* async)
    {
        // The optional completion callback.
        delete async;
    }

XAsyncRun(async,
    [](XAsyncBlock* async)->HRESULT
    {
        // The work callback is implemented here.
        return S_OK;
    });
```

Cet exemple utilise `XAsyncRun` pour démarrer une tâche asynchrone simple
et personnalisée. Le bloc asynchrone contient la file d'attente de tâches à utiliser et
le rappel d'achèvement.
`XAsyncRun` exige un rappel de travail, et
celui-ci possède une valeur de retour. Elle est retournée par la suite par un appel à
[XAsyncGetStatus](/fr-CA/reference/system/xasync/functions/xasyncgetstatus). En interne, `XAsyncRun`
dispose d'une configuration simple de fournisseur asynchrone pour gérer la mise en file d'attente du
rappel de travail spécifié, la mise en file d'attente du rappel d'achèvement du
bloc asynchrone et les autres changements d'état du processus. Cela signifie qu'aucun
code supplémentaire n'est nécessaire pour exécuter des tâches asynchrones simples : il suffit de configurer le
bloc asynchrone et d'appeler `XAsyncRun`.

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

* [XAsync (contenu de l'API)](/fr-CA/reference/system/xasync/xasync_members)
  * Fonctions
    * [XAsyncRun](/fr-CA/reference/system/xasync/functions/xasyncrun)
    * [XAsyncGetStatus](/fr-CA/reference/system/xasync/functions/xasyncgetstatus)

## Voir aussi

[Vue d'ensemble de la bibliothèque XAsync](/fr-CA/build/core-features/common/async/async-libraries/async-library-xasync)

[Configurer une tâche asynchrone (exemple)](/fr-CA/build/core-features/common/async/async-libraries/async-library-xasync-example-setup-async-task)

[Exécuter une tâche d'API du Microsoft Game Development Kit (GDK) (exemple)](/fr-CA/build/core-features/common/async/async-libraries/async-library-xasync-example-run-gdk-task)

[XAsync](/fr-CA/reference/system/xasync/xasync_members)


## Related topics

- [Exemples GDK](/fr/home/setup-install/samples.md)
- [Exemples du GDK](/fr-CA/home/setup-install/samples.md)
- [Exigences XBOX testées lors de la certification pour les jeux sur console XBOX](/fr-CA/publishing/certification/console-cert-tested-requirements.md)
- [Guide BVT de certification pour console](/fr/publishing/game-publishing/concepts/certification/certification-console-bvt-guide.md)
- [XR-132 Limites d'accès aux services](/fr-CA/publishing/certification/xr/xr-132.md)
