> ## 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 d'API du Microsoft Game Development Kit

> Exemple d'exécution d'une tâche d'API du Microsoft Game Development Kit

Cette rubrique fournit un exemple d'exécution d'une tâche d'API du Microsoft Game Development Kit (GDK). Les fonctions d'API asynchrones du Microsoft Game Development Kit (GDK) implémentent le rappel de travail en interne. Toutefois, celui-ci s'exécute toujours selon les directives de la file d'attente de tâches spécifiée dans le
bloc asynchrone. L'exécution de ces méthodes nécessite le bloc asynchrone et
les paramètres requis par l'API.

```c++ theme={null}
// Set up the async block and completion callback.
XAsyncBlock* async = new XAsyncBlock{};
async->queue = taskQueue;
async->context = nullptr;
async->callback = [](XAsyncBlock* async)
{
    XUserHandle newUser = nullptr;
    HRESULT result = XUserAddResult(async, &newUser);
    // Handle the completion callback.
    delete async;
};

// Start the async call.
HRESULT hr = XUserAddAsync(XUserAddOptions::None, async);
if (FAILED(hr))
{
    delete async;
}
```

Ce code ne diffère pas beaucoup du code permettant d'[exécuter des tâches génériques](/fr/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task).
Au lieu d'utiliser [XAsyncRun](/fr/reference/system/xasync/functions/xasyncrun) avec un rappel de travail, vous appelez
l'API que vous souhaitez utiliser. Le bloc asynchrone est configuré
de la même manière. La différence est que [XUserAddAsync](/fr/reference/system/xuser/functions/xuseraddasync)
renvoie des données à récupérer à partir de l'appel effectué dans le
rappel d'achèvement avec [XUserAddResult](/fr/reference/system/xuser/functions/xuseraddresult).

## 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)
* [xuser (contenu de l'API)](/fr/reference/system/xuser/xuser_members)
  * Fonctions
    * [XUserAddAsync](/fr/reference/system/xuser/functions/xuseraddasync)
    * [XUserAddResult](/fr/reference/system/xuser/functions/xuseraddresult)

## Voir aussi

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

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

[Exécuter une tâche simple (exemple)](/fr/build/core-features/common/async/async-libraries/async-library-xasync-example-run-simple-task)

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


## Related topics

- [Exemples du GDK](/fr-CA/home/setup-install/samples.md)
- [Répertoire des rubriques NDA : liens actifs vers Microsoft Learn](/fr-CA/nda/nda-topic-directory.md)
- [Glossaire des termes et acronymes du GDK](/fr-CA/home/glossary.md)
- [Glossaire GDK des termes et acronymes](/fr/home/glossary.md)
- [Compiler et exécuter votre premier titre console GDKX](/fr/home/build-first-title/first-console-title-walkthrough.md)
