注意: C API 目前只適用於使用 GDK 和 XDK 的遊戲。目前不支援 UWP 遊戲。
XSAPI C API 的優點
- 允許遊戲在呼叫 XSAPI 時控制記憶體配置。
- 允許遊戲在呼叫 XSAPI 時完全控制執行緒處理。
- 使用專為遊戲開發人員設計的新 HTTP 程式庫 libHttpClient。
管理記憶體配置
使用 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 API 的範例
- libHttpClient GitHub 存放庫
- 若要檢視 C API,請參閱 XSAPI C 標頭檔。它位於 GDK 所包含的 XBOX 服務 SDK 中。
