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

# XAsyncCompletionRoutine

> XAsyncCompletionRoutine

# XAsyncCompletionRoutine

Représente le rappel d'achèvement d'un appel asynchrone.

## Syntaxe

```cpp theme={null}
void XAsyncCompletionRoutine(  
         XAsyncBlock* asyncBlock  
)  
```

### Paramètres

*asyncBlock*   \_Inout\_\
Type : [XAsyncBlock\*](/fr-CA/reference/system/xasync/structs/xasyncblock)

Pointeur vers le [XAsyncBlock](/fr-CA/reference/system/xasync/structs/xasyncblock) du rappel d'achèvement.

### Valeur de retour

Type : void

## Remarques

Vous pouvez éventuellement spécifier un pointeur `XAsyncCompletionRoutine` pour fournir un *rappel d'achèvement* à un appel asynchrone. Un rappel d'achèvement est une fonction de rappel qui s'exécute une fois l'appel asynchrone terminé. Vous pouvez spécifier un pointeur `XAsyncCompletionRoutine` dans le membre `callback` d'une structure [XAsyncBlock](/fr-CA/reference/system/xasync/structs/xasyncblock) pour un appel asynchrone.

En règle générale, un rappel d'achèvement traite les résultats d'un appel asynchrone sur un autre thread. Le rappel d'achèvement représente une fonction de rappel qui est appelée lorsque l'appel asynchrone se termine. La fonction de rappel prend un pointeur `XAsyncBlock`, qui est ensuite utilisé pour obtenir les résultats de la fonction de rappel.

Si vous spécifiez un rappel d'achèvement, vous pouvez vérifier périodiquement si le rappel d'achèvement est terminé à l'aide de la fonction [XAsyncGetStatus](/fr-CA/reference/system/xasync/functions/xasyncgetstatus), puis utiliser [XAsyncGetResult](/fr-CA/reference/system/xasyncprovider/functions/xasyncgetresult) et [XAsyncGetResultSize](/fr-CA/reference/system/xasync/functions/xasyncgetresultsize) au besoin pour obtenir les résultats de la tâche terminée.

Un rappel d'achèvement est appelé même si [XAsyncCancel](/fr-CA/reference/system/xasync/functions/xasynccancel) est appelée pour annuler l'appel asynchrone.

Utilisez [XAsyncGetStatus](/fr-CA/reference/system/xasync/functions/xasyncgetstatus) ou la méthode `Get\*Result` du rappel d'achèvement pour obtenir les résultats de l'appel asynchrone. Si l'appel asynchrone a été annulé, ces méthodes retournent `E_ABORT`. Pour plus d'informations sur le modèle d'implémentation d'un fournisseur asynchrone, y compris la méthode `Get\*Result`, consultez [Modèle de programmation asynchrone](/fr-CA/build/core-features/common/async/async-programming-model).

## Configuration requise

**En-tête :** XAsync.h

**Bibliothèque :** xgameruntime.lib

**Plateformes prises en charge :** Windows, consoles de la famille XBOX One et consoles XBOX Series

## Documentation conceptuelle

* [Modèle de programmation asynchrone](/fr-CA/build/core-features/common/async/async-programming-model)

## Voir aussi

[Membres de XAsync](/fr-CA/reference/system/xasync/xasync_members)\
[XAsyncGetStatus](/fr-CA/reference/system/xasync/functions/xasyncgetstatus)\
[Modèle de programmation asynchrone](/fr-CA/build/core-features/common/async/async-programming-model)


## Related topics

- [XAsyncCompletionRoutine](/reference/system/xasync/functions/xasynccompletionroutine.md)
- [XAsyncCancel](/reference/system/xasync/functions/xasynccancel.md)
