メインコンテンツへスキップ
XBOX 本体では、GameInput ランタイムは Microsoft Game Development Kit (GDK) の一部です。これは、タイトルにバンドルされている GDK の Game OS ファイル (GameOs.xvd) に含まれています。ゲームが実行時に使用できる GameInput API バージョンは、GDK のリリース、コンパイルに使用する GameInput のヘッダーとライブラリ、およびゲームと共に GameInput ランタイムを配置するかどうかによって異なります。 XBOX で新しい GameInput API バージョンを使用するには、次の 2 つの方法があります。
  • GDK を更新する。 各 GDK リリースには、特定の API バージョンのセットをサポートする GameInput ランタイムが含まれています。
  • GameInput ランタイムをサイドロードする。 Microsoft.GameInput NuGet パッケージの GameInput ランタイムをゲームと共に配置して、GDK がサポートするよりも新しい API バージョンを使用します。
どちらの場合も、API v1 以降を使用するには、NuGet パッケージのヘッダーとライブラリを使用してコンパイルする必要があります。

サポートされている API バージョン

次の表は、各 GDK リリースで利用できる API バージョンを示しています。 GDK のヘッダーとライブラリは、GDK のリリースに関係なく、v0 API のみを提供します。NuGet パッケージは、October 2025 GDK より前の GDK リリースではサポートされていません。

API v1 以降を使用する

API v1 以降を使用するには、Microsoft.GameInput NuGet パッケージをプロジェクトに追加し、GDK のものではなく、そのパッケージのヘッダーと GameInput.lib を使用してコンパイルおよびリンクします。NuGet パッケージのメジャー バージョンは、そのヘッダーが定義する最も高い API バージョンと一致します。たとえば、4.x パッケージには v4 API が含まれています。詳細については、NuGet を使用した PC およびコンソール向け GameInput を参照してください。 本体にほかに何かをインストールする必要はありません。NuGet パッケージの GameInput.lib とリンクするだけの場合、ゲームは GDK に含まれている GameInput ランタイムを使用し、サポートされている API バージョン の表に示すように、ランタイムがサポートする API バージョンは GDK のリリースによって制限されます。

以前の GDK で API v4 を使用する

October 2025 GDK 以降、October 2026 GDK より前の GDK リリースで API v4 を使用するには、GameInput ランタイムをサイドロードします。
  1. Microsoft.GameInput NuGet パッケージのバージョン 4.0 以降をプロジェクトに追加し、そのヘッダーと GameInput.lib を使用してコンパイルおよびリンクします。
  2. パッケージの native\bin\xbox\ ディレクトリにある GameInputRedist.dll を、ゲームの実行可能ファイルと同じディレクトリに配置します。
NuGet パッケージの GameInput.lib とリンクするだけでは不十分です。サイドロードされたランタイムがない場合、ゲームは GDK のランタイムを使用しますが、October 2026 GDK より前のランタイムは API v4 をサポートしていません。その場合、v4 API の要求は E_NOINTERFACE で失敗し、API バージョン v0 から v3 は引き続き動作します。
NuGet パッケージには、PC 用と XBOX 用の GameInputRedist.dll の個別のコピーが含まれています。XBOX ゲームには、native\bin\xbox\ のコピーのみを配置してください。詳細については、GameInput のサイドロード を参照してください。

ランタイムの選択方法

GameInput ランタイムのサイドロードは、PC だけでなく XBOX 本体でもサポートされています。XBOX では、ゲームが初めて GameInput を作成するときに、NuGet パッケージの GameInput.lib が、タイトルにバンドルされている Game OS 内の GameInput ランタイムと、サイドロードされたランタイム (配置されている場合) を比較し、バージョンが高い方のランタイムを使用します。その結果、次のようになります。
  • GDK ランタイムより新しいサイドロードされたランタイムにより、新しい API バージョンと修正をゲームで利用できるようになります。
  • サイドロードされたランタイムより新しいランタイムを含む GDK リリースにゲームを移行すると、ゲームは GDK ランタイムを使用します。サイドロードされたランタイムを引き続き配置することも、GDK ランタイムより新しくなくなった時点で削除することもできます。
バックグラウンド入力や入力フォーカスに関するものなど、PC 固有のサイドロードの制限事項は、XBOX 本体には適用されません。両方のプラットフォームでのサイドロードの詳細については、GameInput のサイドロード を参照してください。

利用可能な API バージョンを確認する

ランタイムがサポートしていない API バージョンをゲームが要求すると、GameInput は E_NOINTERFACE で失敗します。これは、GameInputCreate と QueryInterface の両方に当てはまります。最新の API バージョンがなくてもゲームを実行できる場合は、このエラーを確認して、以前のバージョンの機能にフォールバックします。
v0 のコードと v4 のコードを組み合わせるなど、ゲームで複数の API バージョンを使用するには、1 つのアプリケーションで複数の GameInput API バージョンを使用する を参照してください。

関連項目

NuGet を使用した PC およびコンソール向け GameInput
GameInput のサイドロード
GameInput API のバージョン管理
1 つのアプリケーションで複数の GameInput API バージョンを使用する
GameInputInitialize
最終更新日 2026年11月6日