跳轉到主要內容
2018 年 6 月,XSAPI 新增了 C API 層。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 呼叫指定的記憶體處理回呼。
  • 遊戲結束時:
    • 呼叫 XblCleanup() 以回收與 XSAPI 程式庫相關聯的所有資源。
    • 清除遊戲的自訂記憶體管理員。

管理非同步執行緒

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年10月8日