GameOs.xvd) 中。您的遊戲在執行階段可使用的 GameInput API 版本,取決於 GDK 版本、您編譯時所用的 GameInput 標頭和程式庫,以及您是否隨遊戲部署 GameInput 執行階段。
在 XBOX 上使用較新的 GameInput API 版本有兩種方式:
- 更新 GDK。 每個 GDK 版本都包含一個支援特定 API 版本集合的 GameInput 執行階段。
- 側載 GameInput 執行階段。 隨遊戲部署 Microsoft.GameInput NuGet 套件中的 GameInput 執行階段,以使用比您的 GDK 所支援版本更新的 API 版本。
支援的 API 版本
下表顯示每個 GDK 版本可用的 API 版本。
無論 GDK 版本為何,GDK 標頭和程式庫都只提供 v0 API。早於 2025 年 10 月 GDK 的 GDK 版本不支援 NuGet 套件。
使用 API v1 或更新版本
若要使用 API v1 或更新版本,請將 Microsoft.GameInput NuGet 套件新增至您的專案,並使用其標頭和GameInput.lib 進行編譯和連結,而不是使用 GDK 中的標頭和程式庫。NuGet 套件的主要版本與其標頭所定義的最高 API 版本相符。例如,4.x 套件包含 v4 API。如需詳細資訊,請參閱透過 NuGet 在 PC 和主機上使用 GameInput。
您不需要在主機上安裝任何其他項目。如果您只連結 NuGet 套件中的 GameInput.lib,您的遊戲會使用 GDK 隨附的 GameInput 執行階段,而該執行階段支援的 API 版本會受限於 GDK 版本,如支援的 API 版本表格所示。
搭配較早的 GDK 使用 API v4
若要在 2025 年 10 月 GDK 起至 2026 年 10 月 GDK 之前 (不含) 的 GDK 版本中使用 API v4,請側載 GameInput 執行階段:- 將 4.0 版或更新版本的 Microsoft.GameInput NuGet 套件新增至您的專案,並使用其標頭和
GameInput.lib進行編譯和連結。 - 將套件
native\bin\xbox\目錄中的GameInputRedist.dll部署在與遊戲可執行檔相同的目錄中。
GameInput.lib 本身並不足夠。若沒有側載的執行階段,您的遊戲會使用 GDK 中的執行階段,而在 2026 年 10 月 GDK 之前,該執行階段不支援 API v4。在此情況下,對 v4 API 的要求會失敗並傳回 E_NOINTERFACE,而 API 版本 v0 到 v3 仍可繼續運作。
執行階段的選擇方式
XBOX 主機和 PC 都支援側載 GameInput 執行階段。在 XBOX 上,當您的遊戲第一次建立 GameInput 時,NuGet 套件中的GameInput.lib 會比較與您遊戲一起封裝之 Game OS 中的 GameInput 執行階段和側載的執行階段 (如果有部署),並使用版本較高的執行階段。因此:
- 比 GDK 執行階段更新的側載執行階段,可讓您的遊戲使用較新的 API 版本和修正。
- 當您的遊戲改用所含執行階段比側載執行階段更新的 GDK 版本時,您的遊戲會使用 GDK 執行階段。您可以繼續部署側載的執行階段,或在它不再比 GDK 執行階段更新時將其移除。
檢查可用的 API 版本
如果您的遊戲要求執行階段不支援的 API 版本,GameInput 會失敗並傳回E_NOINTERFACE。這同時適用於 GameInputCreate 和 QueryInterface。如果您的遊戲可以在沒有最新 API 版本的情況下執行,請檢查此錯誤,並退回使用較早版本的功能。
另請參閱
透過 NuGet 在 PC 和主機上使用 GameInputGameInput 側載
GameInput API 版本控制
在單一應用程式中使用多個 GameInput API 版本
GameInputInitialize
