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

# AsyncProviderData

> AsyncProviderData

# AsyncProviderData

Représente les données passées à la fonction de rappel d'un fournisseur asynchrone.

## Syntaxe

```cpp theme={null}
typedef struct XAsyncProviderData {  
    XAsyncBlock* async;  
    size_t bufferSize;  
    void* buffer;  
    void* context;  
} XAsyncProviderData  
```

### Membres

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

Pointeur vers le [XAsyncBlock](/fr-CA/reference/system/xasync/structs/xasyncblock) qui contient les données de l'appel asynchrone.

*bufferSize*\
Type : size\_t

Taille, en octets, de la mémoire tampon de résultat spécifiée dans *buffer*. Cette valeur n'est valide que lorsque la fonction de rappel est appelée avec un code d'opération [XAsyncOp::GetResult](/fr-CA/reference/system/xasyncprovider/enums/xasyncop), et elle sera égale ou supérieure à la valeur spécifiée pour le paramètre *requiredBufferSize* de l'appel de fonction [XAsyncComplete](/fr-CA/reference/system/xasyncprovider/functions/xasynccomplete) correspondant.

*buffer*\
Type : void\*

Pointeur vers la mémoire tampon de résultat de la fonction de rappel. Cette valeur n'est valide que lorsque la fonction de rappel est appelée avec un code d'opération [XAsyncOp::GetResult](/fr-CA/reference/system/xasyncprovider/enums/xasyncop).

*context*\
Type : void\*

Pointeur de contexte passé à la fonction de rappel lors de l'appel de [XAsyncBegin](/fr-CA/reference/system/xasyncprovider/functions/xasyncbegin).

## Remarques

Cette structure représente les données passées à la fonction de rappel d'un fournisseur asynchrone. Les données de cette structure peuvent changer chaque fois que la fonction de rappel est appelée. La fonction de rappel est appelée à plusieurs reprises pour effectuer le travail asynchrone déterminé par le code d'opération [XAsyncOp](/fr-CA/reference/system/xasyncprovider/enums/xasyncop) spécifié pour chaque appel, et les données de cette structure peuvent également changer à chaque appel. Les valeurs de *buffer* et *bufferSize* ne sont valides que lorsque la fonction de rappel est appelée avec le code d'opération `XAsyncOp::GetResult`. La valeur de *context* est valide lorsque la fonction de rappel est appelée avec n'importe quel code d'opération, mais elle ne doit être libérée que lorsque la fonction de rappel est appelée avec le code d'opération `XAsyncOp::Cleanup`.

Pour un exemple de fonction de rappel qui interagit avec `XAsyncProviderData` lors de l'exécution du travail asynchrone pour les codes d'opération `GetResult` et `Cleanup` de `XAsyncOp`, consultez la section « Bibliothèque asynchrone » dans [Modèle de programmation asynchrone](/fr-CA/build/core-features/common/async/async-programming-model#heading-7).

## Configuration requise

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

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

## Voir aussi

[Membres XAsyncProvider](/fr-CA/reference/system/xasyncprovider/xasyncprovider_members)\
[XAsyncComplete](/fr-CA/reference/system/xasyncprovider/functions/xasynccomplete)\
[XAsyncBegin](/fr-CA/reference/system/xasyncprovider/functions/xasyncbegin)\
[XAsyncOp](/fr-CA/reference/system/xasyncprovider/enums/xasyncop)\
[Modèle de programmation asynchrone](/fr-CA/build/core-features/common/async/async-programming-model)


## Related topics

- [AsyncProviderData](/ko/reference/system/xasyncprovider/structs/xasyncproviderdata.md)
- [XAsyncProvider](/reference/system/xasyncprovider/xasyncprovider_members.md)
- [XAsyncProvider function](/reference/system/xasyncprovider/functions/xasyncprovider.md)
