跳转到主要内容
检索有关设备上通用控制器开关(例如帽子开关和方向键)的信息。

语法

参数

infoArrayCount   _In_
类型:uint32_t
infoArray 中的元素数量。若要检索所有控制器开关,请传递 GetControllerSwitchCount 返回的值。 infoArray   _Out_writes_to_opt_(infoArrayCount, return)
类型:GameInputControllerSwitchInfo*
指向数组的指针,该数组为每个控制器开关接收一个结构。可以为 nullptr,在这种情况下不会写入任何内容,并且方法返回 0。

返回值

类型:uint32_t 写入 infoArray 的元素数量。该值为 infoArrayCount 与设备上控制器开关数量中的较小者;如果 infoArray 为 nullptr 或设备没有控制器开关,则为 0。

备注

每个元素都是一个 GameInputControllerSwitchInfo 结构,用于描述相应开关的类型(2 向、4 向或 8 向,以 GameInputSwitchKind 值表示)及其每个位置的标签。 调用 GetControllerSwitchCount 获取控制器开关的数量,分配该大小的数组,然后调用 GetControllerSwitchInfo 填充该数组。如果 infoArrayCount 小于控制器开关的数量,则只写入前 infoArrayCount 个元素。在设备保持连接期间,设备的控制器开关不会更改,因此你可以只查询一次并缓存结果。 信息数组的元素 i 描述的是,对于来自此设备的读数,IGameInputReading::GetControllerSwitchState 返回的数组中索引 i 处的开关。 以下示例演示如何检索设备的控制器开关。
在 GameInput v3 及更早版本中,此信息可从 GameInputControllerInfo 结构的 controllerSwitchInfo 成员中获取,该结构由 IGameInputDevice::GetDeviceInfo 返回的 GameInputDeviceInfo 结构的 controllerInfo 成员引用。

要求

头文件: GameInput.h 库: gameinput.lib 支持的平台: Windows、XBOX One 系列主机和 XBOX Series 主机

另请参阅

GameInput 概述
GetControllerSwitchCount
GameInputControllerSwitchInfo
GameInputSwitchKind
IGameInputReading::GetControllerSwitchState
IGameInputDevice

版本历史

最后修改于 2026年11月6日