Skip to main content

XAsyncBegin

Initialise un XAsyncBlock et commence le travail asynchrone d’un fournisseur asynchrone.

Syntaxe

Paramètres

asyncBlock   _Inout_
Type : XAsyncBlock*
Pointeur vers le XAsyncBlock qui contient les données de l’appel asynchrone. context   _In_opt_
Type : void*
Facultatif. Pointeur de contexte à stocker dans l’objet XAsyncProviderData passé à la fonction de rappel XAsyncProvider. identity   _In_opt_
Type : void*
Facultatif. Pointeur vers un jeton arbitraire qui peut servir à identifier l’appel asynchrone. identityName   _In_opt_
Type : char*
Facultatif. Chaîne qui nomme la fonction fournissant l’appel asynchrone. La valeur de ce paramètre est généralement définie sur la macro de compilateur __FUNCTION__. provider   _In_
Type : XAsyncProvider*
Pointeur vers la fonction de rappel XAsyncProvider à appeler pour l’appel asynchrone.

Valeur de retour

Type : HRESULT Retourne S_OK en cas de réussite; sinon, retourne un code d’erreur. Pour obtenir la liste des codes d’erreur, consultez Codes d’erreur.

Remarques

XAsyncBegin est appelé pour indiquer que le fournisseur asynchrone doit commencer le travail asynchrone. Après l’appel de XAsyncBegin, les autres fonctions XAsyncProvider, comme XAsyncGetResult, fourniront des données pertinentes. Lorsque XAsyncBegin est appelé, la fonction de rappel spécifiée dans provider est appelée, en spécifiant XAsyncOp::Begin dans le paramètre op de XAsyncProvider. Si la fonction de rappel implémente ce code d’opération, elle doit démarrer son travail asynchrone soit en appelant XAsyncSchedule, soit par des moyens externes. Une fois que XAsyncBegin a retourné, on suppose que la fonction de rappel a démarré le travail asynchrone sur un thread défini par le système.
La fonction de rappel spécifiée dans provider est traitée de manière synchrone dans la chaîne d’appels de XAsyncBegin. Le travail asynchrone effectué par la fonction de rappel ne doit pas bloquer le thread.
Vous pouvez utiliser les paramètres identity et identityName pour identifier et gérer les appels XAsyncOp::Begin et XAsyncOp::GetResult non concordants à la fonction de rappel. En général, la valeur de identity est définie sur le pointeur de la fonction qui a appelé XAsyncBegin, et la valeur de identityName est définie sur la macro de compilateur __FUNCTION__.

Configuration requise

En-tête : XAsyncProvider.h Bibliothèque : xgameruntime.lib Plateformes prises en charge : Windows, consoles de la famille XBOX One et consoles XBOX Series

Documentation conceptuelle

Voir aussi

Membres XAsyncProvider
XAsyncProviderData
XAsyncProvider
XAsyncGetResult
Modèle de programmation asynchrone
Last modified on October 6, 2026