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

# Vue d'ensemble de XSAPI C

> Présentation de la couche d'API C de XSAPI pour XBOX Live dans les titres GDK, couvrant les rappels d'allocation de mémoire, le contrôle des threads et libHttpClient.

En juin 2018, une couche d'API C a été ajoutée à XSAPI. Cette couche d'API C résout certains problèmes rencontrés avec les couches d'API C++ et WinRT.

> **Remarque :**
> Les API C ne fonctionnent actuellement qu'avec les titres qui utilisent le GDK et le XDK. Elles ne prennent pas en charge les jeux UWP pour le moment.

## Avantages de l'API C pour XSAPI

* Permet aux titres de contrôler les allocations de mémoire lors de l'appel de XSAPI.
* Permet aux titres de contrôler totalement la gestion des threads lors de l'appel de XSAPI.
* Utilise une nouvelle bibliothèque HTTP, libHttpClient, conçue pour les développeurs de jeux.

Vous pouvez utiliser les API C parallèlement à XSAPI C++, mais vous ne bénéficierez pas des avantages mentionnés ci-dessus avec les API C++.

### Gestion des allocations de mémoire

Avec l'API C, vous pouvez désormais spécifier une fonction de rappel que XSAPI appellera chaque fois qu'il tentera d'allouer de la mémoire.
Si vous ne spécifiez pas de fonctions de rappel, XSAPI utilise les routines d'allocation de mémoire standard.

Pour spécifier manuellement vos routines de mémoire, procédez comme suit :

* Au démarrage du jeu :
  * Appelez `XblMemSetFunctions(memAllocFunc, memFreeFunc)` pour spécifier les rappels d'allocation et de libération de la mémoire.
  * Appelez `XblInitialize()` pour initialiser l'instance de la bibliothèque.
* Pendant l'exécution du jeu :
  * L'appel de l'une des nouvelles API C de XSAPI qui allouent ou libèrent de la mémoire entraîne l'appel, par XSAPI, des rappels de gestion de la mémoire spécifiés.
* À la fermeture du jeu :
  * Appelez `XblCleanup()` pour récupérer toutes les ressources associées à la bibliothèque XSAPI.
  * Nettoyez le gestionnaire de mémoire personnalisé de votre jeu.

### Gestion des threads asynchrones

L'API C introduit un nouveau modèle d'appel de threads asynchrones qui donne aux développeurs un contrôle total sur le modèle de threading.
Pour plus d'informations, consultez [Modèle d'appel pour les appels asynchrones de la couche C de XSAPI](/fr/services/xbox-services/fundamentals/xbox-services-api/live-flatc-async-patterns).

## Migration du code vers XSAPI C

Les API C de XSAPI peuvent être utilisées parallèlement aux API C++ de XSAPI dans un projet ; nous vous recommandons donc de migrer une fonctionnalité à la fois.

Les API C et les API C++ ne sont en réalité que de fins wrappers autour d'un noyau commun, avec des points d'entrée différents ; les fonctionnalités doivent donc rester inchangées.

Toutefois, seules les API C peuvent tirer parti des fonctionnalités de gestion personnalisée de la mémoire et des threads.

> **Important :**
> Vous ne pouvez pas combiner les API WinRT de XSAPI avec les API C.

## Ressources utiles

* [Exemples utilisant les API C de XSAPI](https://github.com/Microsoft/xbox-live-samples)
* [Dépôt GitHub de libHttpClient](https://github.com/Microsoft/libHttpClient)
* Pour consulter les API C, consultez les fichiers d'en-tête C de XSAPI. Ils se trouvent dans le SDK des services XBOX, qui fait partie du GDK.

## Voir aussi

[Référence XSAPI C](/fr/reference/live/xsapi-c/atoc-xsapi-c)

[Référence de l'API REST](/fr/reference/live/rest/atoc-xboxlivews-reference)

[Référence HttpClient](/fr/reference/live/httpclient/atoc-httpclient)


## Related topics

- [Vue d'ensemble de WinHTTP](/fr/build/console-features/networking/web-requests/intro-winhttp.md)
- [Vues d'ensemble](/fr/build/console-features/audio/overviews/index.md)
- [Vue d'ensemble d'Unity](/fr/paths/unity/overview.md)
- [Vue d'ensemble du portage](/fr/paths/porting/overview.md)
- [Vue d'ensemble de XBOX Series X|S](/fr/paths/series-xs/overview.md)
