メインコンテンツへスキップ
デバイス上の汎用コントローラー スイッチ (ハット スイッチや方向パッドなど) に関する情報を取得します。

構文

パラメーター

infoArrayCount   _In_
型: uint32_t
infoArray の要素数。すべてのコントローラー スイッチを取得するには、GetControllerSwitchCount から返された値を渡します。 infoArray   _Out_writes_to_opt_(infoArrayCount, return)
型: GameInputControllerSwitchInfo*
コントローラー スイッチごとに 1 つの構造体を受け取る配列へのポインター。nullptr を指定できます。その場合、何も書き込まれず、メソッドは 0 を返します。

戻り値

型: uint32_t infoArray に書き込まれた要素の数。これは infoArrayCount とデバイス上のコントローラー スイッチの数のうち小さい方の値です。infoArray が nullptr の場合、またはデバイスにコントローラー スイッチがない場合は 0 です。

解説

各要素は GameInputControllerSwitchInfo 構造体であり、対応するスイッチの種類 (2 方向、4 方向、または 8 方向。GameInputSwitchKind 値として表されます) と、各位置のラベルを記述します。 GetControllerSwitchCount を呼び出してコントローラー スイッチの数を取得し、そのサイズの配列を割り当ててから、GetControllerSwitchInfo を呼び出して配列にデータを格納します。infoArrayCount がコントローラー スイッチの数より小さい場合は、先頭から infoArrayCount 個の要素のみが書き込まれます。デバイスが接続されている間、デバイスのコントローラー スイッチは変化しないため、一度クエリを実行して結果をキャッシュできます。 情報配列の要素 i は、このデバイスからの読み取りについて IGameInputReading::GetControllerSwitchState から返される配列のインデックス i にあるスイッチを表します。 次の例は、デバイスのコントローラー スイッチを取得する方法を示しています。
GameInput v3 以前では、この情報は IGameInputDevice::GetDeviceInfo から返される GameInputDeviceInfo 構造体の controllerInfo メンバーが参照する GameInputControllerInfo 構造体の controllerSwitchInfo メンバーから取得できました。

要件

ヘッダー: GameInput.h ライブラリ: gameinput.lib サポートされているプラットフォーム: Windows、XBOX One ファミリー本体、XBOX Series 本体

関連項目

GameInput の概要
GetControllerSwitchCount
GameInputControllerSwitchInfo
GameInputSwitchKind
IGameInputReading::GetControllerSwitchState
IGameInputDevice

バージョン履歴

最終更新日 2026年11月6日