Pular para o conteúdo principal
Em junho de 2018, uma camada de API C foi adicionada à XSAPI. A camada de API C resolve alguns problemas que ocorriam com as camadas de API C++ e WinRT.
Observação: No momento, as APIs C só funcionam com títulos que usam o GDK e o XDK. Elas não oferecem suporte a jogos UWP no momento.

Benefícios da API C da XSAPI

  • Permite que os títulos controlem as alocações de memória ao chamar a XSAPI.
  • Permite que os títulos tenham controle total do tratamento de threads ao chamar a XSAPI.
  • Usa uma nova biblioteca HTTP, a libHttpClient, projetada para desenvolvedores de jogos.
Você pode usar as APIs C junto com a XSAPI em C++, mas não obterá os benefícios listados anteriormente com as APIs C++.

Gerenciando alocações de memória

Com a API C, agora você pode especificar um callback de função que a XSAPI chamará sempre que tentar alocar memória. Se você não especificar callbacks de função, a XSAPI usará as rotinas padrão de alocação de memória. Para especificar manualmente suas rotinas de memória, você pode fazer o seguinte:
  • No início do jogo:
    • Chame XblMemSetFunctions(memAllocFunc, memFreeFunc) para especificar os callbacks de alocação para atribuir e liberar memória.
    • Chame XblInitialize() para inicializar a instância da biblioteca.
  • Enquanto o jogo estiver em execução:
    • Chamar qualquer uma das novas APIs C da XSAPI que alocam ou liberam memória fará com que a XSAPI chame os callbacks de tratamento de memória especificados.
  • Quando o jogo for encerrado:
    • Chame XblCleanup() para recuperar todos os recursos associados à biblioteca XSAPI.
    • Limpe o gerenciador de memória personalizado do seu jogo.

Gerenciando threads assíncronas

A API C introduz um novo padrão de chamada de threads assíncronas que dá aos desenvolvedores controle total sobre o modelo de threads. Para obter mais informações, consulte Padrão de chamada para chamadas assíncronas da camada C da XSAPI.

Migrando código para usar a XSAPI C

As APIs C da XSAPI podem ser usadas junto com as APIs C++ da XSAPI em um projeto; por isso, recomendamos migrar um recurso de cada vez. As APIs C e as APIs C++ são, na verdade, apenas wrappers finos em torno de um núcleo comum, com pontos de entrada diferentes; portanto, a funcionalidade não deve mudar. No entanto, somente as APIs C podem aproveitar os recursos personalizados de gerenciamento de memória e de threads.
Importante: Você não pode misturar as APIs WinRT da XSAPI com as APIs C.

Recursos úteis

Confira também

Referência da XSAPI C Referência da API REST Referência do HttpClient
Última modificação em 8 de outubro de 2026