Skip to main content
2018년 6월, C API 계층이 XSAPI에 추가되었습니다. C API 계층은 C++ 및 WinRT API 계층에서 발생한 일부 문제를 해결합니다.
참고: 현재 C API는 GDK 및 XDK를 사용하는 타이틀에서만 작동합니다. 현재 UWP 게임은 지원하지 않습니다.

XSAPI용 C API의 이점

  • 타이틀이 XSAPI 호출 시 메모리 할당을 제어할 수 있도록 합니다.
  • 타이틀이 XSAPI 호출 시 스레드 처리를 완전히 제어할 수 있도록 합니다.
  • 게임 개발자를 위해 설계된 새로운 HTTP 라이브러리인 libHttpClient를 사용합니다.
C API를 C++ XSAPI와 함께 사용할 수 있지만, C++ API로는 앞서 나열한 이점을 얻을 수 없습니다.

메모리 할당 관리

C API를 사용하면 이제 XSAPI가 메모리를 할당하려고 할 때마다 호출할 함수 콜백을 지정할 수 있습니다. 함수 콜백을 지정하지 않으면 XSAPI는 표준 메모리 할당 루틴을 사용합니다. 메모리 루틴을 수동으로 지정하려면 다음을 수행할 수 있습니다.
  • 게임 시작 시:
    • 메모리 할당 및 해제를 위한 할당 콜백을 지정하려면 XblMemSetFunctions(memAllocFunc, memFreeFunc)를 호출합니다.
    • 라이브러리 인스턴스를 초기화하려면 XblInitialize()를 호출합니다.
  • 게임 실행 중:
    • 메모리를 할당하거나 해제하는 XSAPI의 새 C API 중 하나를 호출하면 XSAPI가 지정된 메모리 처리 콜백을 호출합니다.
  • 게임 종료 시:
    • XSAPI 라이브러리와 연결된 모든 리소스를 회수하려면 XblCleanup()을 호출합니다.
    • 게임의 사용자 지정 메모리 관리자를 정리합니다.

비동기 스레드 관리

C API는 개발자가 스레드 모델을 완전히 제어할 수 있는 새로운 비동기 스레드 호출 패턴을 도입합니다. 자세한 내용은 XSAPI C 계층 비동기 호출을 위한 호출 패턴을 참조하세요.

C XSAPI를 사용하도록 코드 마이그레이션

XSAPI C API는 프로젝트에서 XSAPI C++ API와 함께 사용할 수 있으므로 한 번에 하나씩 기능을 마이그레이션하는 것이 좋습니다. C API와 C++ API는 실제로 공통 코어를 감싸는 얇은 래퍼일 뿐이며, 진입점만 다를 뿐 기능은 변경되지 않습니다. 그러나 사용자 지정 메모리 및 스레드 관리 기능은 C API만 활용할 수 있습니다.
중요: XSAPI WinRT API를 C API와 혼용할 수 없습니다.

유용한 리소스

참고 항목

XSAPI C 참조 REST API 참조 HttpClient 참조
마지막 수정일 2026년 8월 25일