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

# IGameInputDevice::GetGamepadInfo

> サポートされているボタン レイアウトやコントロールのラベルなど、デバイスのゲームパッドのプロパティを取得します。

サポートされているボタン レイアウトやコントロールのラベルなど、デバイスのゲームパッドのプロパティを取得します。

## 構文

```cpp theme={null}
bool GetGamepadInfo(
    GameInputGamepadInfo* info
);
```

### パラメーター

*info*   \_Out\_\
型: [GameInputGamepadInfo](https://docs.xbox.com/ja-jp/reference/input/gameinput/structs/gameinputgamepadinfo.md)\*

デバイスのゲームパッドのプロパティを受け取る `GameInputGamepadInfo` 構造体へのポインター。デバイスがゲームパッド入力をサポートしていない場合、構造体のすべてのメンバーは 0 に設定されます。

### 戻り値

型: bool

デバイスがゲームパッド入力をサポートしていて、*info* にデータが格納された場合は `true`。それ以外の場合は `false`。

## 解説

`GetGamepadInfo` メソッドは、デバイスのゲームパッドのプロパティを、呼び出し元が用意した構造体にコピーします。[GetSupportedInput](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedinput.md) から返される値に `GameInputKindGamepad` が含まれている場合、そのデバイスはゲームパッド入力をサポートしています。デバイスがゲームパッド入力をサポートしていない場合、`GetGamepadInfo` は *info* を 0 で初期化し、`false` を返します。

`supportedLayout` メンバーは [GameInputGamepadButtons](https://docs.xbox.com/ja-jp/reference/input/gameinput/enums/gameinputgamepadbuttons.md) フラグの組み合わせで、デバイスが備えている標準ゲームパッド ボタンを示します。ラベル メンバーは、対応するコントロールに印字されている表示を [GameInputLabel](https://docs.xbox.com/ja-jp/reference/input/gameinput/enums/gameinputlabel.md) 値として記述するため、UI に一致するプロンプトを表示できます。`extraButtonCount` メンバーと `extraAxisCount` メンバーは、標準のゲームパッド マッピングを超えてデバイスが備えているコントローラーのボタンと軸の数を報告します。読み取りのコントローラー状態内でそれらの位置を特定するには、[GetExtraButtonIndexes](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextrabuttonindexes.md) と [GetExtraAxisIndexes](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getextraaxisindexes.md) を使用します。ゲームパッドの状態は、[IGameInputReading::GetGamepadState](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getgamepadstate.md) を使用して読み取りから取得します。

このメソッドによって返されるプロパティはデバイスの有効期間中は固定されているため、一度 (たとえば、デバイスの接続時に) クエリを実行して結果をキャッシュできます。

次の例は、デバイスのゲームパッドのプロパティをクエリする方法を示しています。

```cpp theme={null}
GameInputGamepadInfo info;
if (device->GetGamepadInfo(&info))
{
    if (info.aButtonLabel == GameInputLabelXboxA)
    {
        // Show XBOX-style button prompts.
    }
}
```

GameInput v3 以前では、この情報は [IGameInputDevice::GetDeviceInfo](https://docs.xbox.com/ja-jp/reference/input/gameinput/deprecated/interfaces/igameinputdevice/methods/igameinputdevice_getdeviceinfo.md) から返される [GameInputDeviceInfo](https://docs.xbox.com/ja-jp/reference/input/gameinput/deprecated/structs/gameinputdeviceinfo.md) 構造体の `gamepadInfo` メンバーから取得できました。

## 要件

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

**ライブラリ:** gameinput.lib

**サポートされているプラットフォーム:** Windows、XBOX One ファミリー本体、XBOX Series 本体

## 関連項目

[GameInput の概要](https://docs.xbox.com/ja-jp/build/core-features/common/input/overviews/input-overview.md)\
[GameInputGamepadInfo](https://docs.xbox.com/ja-jp/reference/input/gameinput/structs/gameinputgamepadinfo.md)\
[GetSupportedInput](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedinput.md)\
[GameInputKind](https://docs.xbox.com/ja-jp/reference/input/gameinput/enums/gameinputkind.md)\
[GameInputGamepadButtons](https://docs.xbox.com/ja-jp/reference/input/gameinput/enums/gameinputgamepadbuttons.md)\
[GameInputLabel](https://docs.xbox.com/ja-jp/reference/input/gameinput/enums/gameinputlabel.md)\
[IGameInputReading::GetGamepadState](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getgamepadstate.md)\
[IGameInputDevice](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputdevice/igameinputdevice.md)

## バージョン履歴

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


## Related topics

- [GameInputGamepadInfo](https://docs.xbox.com/ja-jp/reference/input/gameinput/structs/gameinputgamepadinfo.md)
- [IGameInputDevice::GetSupportedInput](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getsupportedinput.md)
- [IGameInputDevice::GetUsage](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getusage.md)
- [IGameInputDevice::GetInputReportInfo](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getinputreportinfo.md)
- [IGameInputDevice::GetKeyboardInfo](https://docs.xbox.com/ja-jp/reference/input/gameinput/interfaces/igameinputdevice/methods/igameinputdevice_getkeyboardinfo.md)
