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.
Gestion des allocations de mémoire
Avec l’API C, vous pouvez maintenant 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.
- Appelez
- 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.
- Appelez
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.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
- Dépôt GitHub de 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.
