Nota: Las API de C actualmente solo funcionan con títulos que usan el GDK y el XDK. Por el momento, no admiten juegos UWP.
Ventajas de la API de C para XSAPI
- Permite a los títulos controlar las asignaciones de memoria al llamar a XSAPI.
- Permite a los títulos obtener control total de la gestión de subprocesos al llamar a XSAPI.
- Usa una nueva biblioteca HTTP, libHttpClient, diseñada para desarrolladores de juegos.
Administración de las asignaciones de memoria
Con la API de C, ahora puede especificar una devolución de llamada de función a la que XSAPI llamará cada vez que intente asignar memoria. Si no especifica devoluciones de llamada de función, XSAPI usará las rutinas de asignación de memoria estándar. Para especificar manualmente sus rutinas de memoria, puede hacer lo siguiente:- Al inicio del juego:
- Llame a
XblMemSetFunctions(memAllocFunc, memFreeFunc)para especificar las devoluciones de llamada de asignación para asignar y liberar memoria. - Llame a
XblInitialize()para inicializar la instancia de la biblioteca.
- Llame a
- Mientras el juego está en ejecución:
- Llamar a cualquiera de las nuevas API de C de XSAPI que asignan o liberan memoria hará que XSAPI llame a las devoluciones de llamada de gestión de memoria especificadas.
- Cuando el juego se cierra:
- Llame a
XblCleanup()para recuperar todos los recursos asociados a la biblioteca XSAPI. - Limpie el administrador de memoria personalizado de su juego.
- Llame a
Administración de subprocesos asincrónicos
La API de C presenta un nuevo patrón de llamadas de subprocesos asincrónicos que ofrece a los desarrolladores control total sobre el modelo de subprocesos. Para obtener más información, consulte Patrón de llamada para las llamadas asincrónicas de la capa de C de XSAPI.Migración de código para usar XSAPI de C
Las API de C de XSAPI pueden usarse junto con las API de C++ de XSAPI en un proyecto, por lo que se recomienda migrar una característica cada vez. Las API de C y las API de C++ son en realidad solo contenedores ligeros alrededor de un núcleo común, simplemente con diferentes puntos de entrada, por lo que la funcionalidad no debería cambiar. Sin embargo, solo las API de C pueden aprovechar las características personalizadas de administración de memoria y subprocesos.Importante: No puede mezclar las API WinRT de XSAPI con las API de C.
Recursos útiles
- Ejemplos que usan las API de C de XSAPI
- Repositorio de GitHub de libHttpClient
- Para ver las API de C, consulte los archivos de encabezado de C de XSAPI. Se encuentran en el SDK de servicios XBOX, que forma parte del GDK.
