> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GameInputCreate

> GameInputCreate

# GameInputCreate

IGameInput インターフェイスのインスタンスを取得します。

## 構文

```cpp theme={null}
HRESULT GameInputCreate(
    IGameInput** gameInput
);
```

### パラメーター

*gameInput*   \_COM\_Outptr\_\
型: IGameInput\*\*

呼び出しによって返される、基盤となるプロセス単位のシングルトンのインスタンス。

### 戻り値

型: HRESULT

関数の結果。

## 解説

`GameInputCreate` 関数は、GameInput のインスタンスを取得または作成するための Nano-COM ファクトリーです。返されるインターフェイスは、この関数が最初に呼び出されたときに作成されるプロセス単位のシングルトンによって支えられています。したがって、この関数への最初の呼び出しは、返るまでに少し時間がかかることがあります。この時間は一般に UI スレッドから呼び出しても安全な程度ですが、ゲーム ループのような時間に敏感なコンテキストからの呼び出しには適しません。同じプロセスからのこの関数へのその後の呼び出しは、単に基盤となるシングルトンへの別の参照を追加し、迅速に戻ります。

一度にシステム上で利用できる GameInput のバージョンは 1 つのみであるため、サポートされるインターフェイスのセットはインストールされている GameInput のバージョンによって異なる場合があります。GameInput は下位互換性があるため、新しいリリースでは、新機能が追加されても引き続き古いインターフェイスをサポートします。

アプリケーションは起動時に一度 `GameInputCreate` 関数を呼び出し、シャットダウンの準備ができるまで `IGameInput` オブジェクトの参照を保持する必要があります。これは、プロセス ライフタイム管理 (PLM) のサスペンド イベントに応答するユニバーサル Windows プラットフォーム (UWP) アプリでも同様です。なぜなら、(アプリが再開したときに) `GameInput` シングルトンを再初期化するコストは、通常、アプリケーション内の少量のメモリを解放するメリットを上回るためです。

## 要件

**ヘッダー:** GameInput.h

[高度な GameInput トピック](/build/core-features/common/input/advanced/input-advanced-topics)\
[GameInput の概要](/build/core-features/common/input/overviews/input-overview)\
[GameInput](/reference/input/gameinput/gameinput_members)

## バージョン履歴

| バージョン  | 変更内容     |
| ------ | -------- |
| **v0** | 導入されました。 |

## 概念ドキュメント

* [GameInput の基礎](/build/core-features/common/input/overviews/input-fundamentals)


## Related topics

- [GameInput のよくある質問](/ja-jp/build/core-features/common/input/overviews/input-faq.md)
- [GameInput](/ja-jp/reference/input/gameinput/gameinput_members.md)
- [GameInput の概要](/ja-jp/build/core-features/common/input/overviews/input-overview.md)
- [IGameInput::CreateDispatcher](/ja-jp/reference/input/gameinput/interfaces/igameinput/methods/igameinput_createdispatcher.md)
- [IGameInput::CreateAggregateDevice](/ja-jp/reference/input/gameinput/interfaces/igameinput/methods/igameinput_createaggregatedevice.md)
