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.
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.
- Chame
- 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.
- Chame
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
- Exemplos que usam as APIs C da XSAPI
- Repositório da libHttpClient no GitHub
- Para ver as APIs C, consulte os arquivos de cabeçalho da XSAPI C. Eles estão no SDK dos serviços do XBOX, que faz parte do GDK.
