IGameInputDevice

代表输入设备。 此接口中的方法可用于识别游戏输入设备并且与游戏输入设备进行交互。 您可以查询与设备有关的信息,例如其类型、功能和电池状态。 您还可以激活某些设备特定的硬件,例如触觉回馈和力回馈。 这些方法还可用于获取对某个设备的独占访问权。

语法

class IGameInputDevice : public IUnknown  

方法

方法 说明
AcquireExclusiveRawDeviceAccess IGameInputDevice AcquireExclusiveRawDeviceAccess API 参考
CreateForceFeedbackEffect 使用 IGameInputForceFeedbackEffect 接口跟踪作用于某一马达的力回馈效果。
CreateRawDeviceReport 创建由 IGameInputRawDeviceReport 实例表示的新缓冲区。
ExecuteRawDeviceIoControl 将 IOCTL 发送到基础设备或其驱动程序。
GetBatteryState 获取某一设备的电池状态。
GetDeviceInfo 访问与某一输入设备的完整属性和功能有关的信息。
GetDeviceStatus 检索某一输入设备的当前状态。
GetRawDeviceFeature 从 HID 设备查询功能报告。
IsForceFeedbackMotorPoweredOn 指示是否已开启某一特定的力回馈马达。
PowerOff 关闭输入设备的电源。
ReleaseExclusiveRawDeviceAccess IGameInputDevice ReleaseExclusiveRawDeviceAccess API 参考
SendInputSynchronizationHint 分析对 GameInput API 的调用,以确定何时可以使用游戏输入设备。
SendRawDeviceOutput 将原始数据发送到设备。
SetForceFeedbackMotorGain 将一个全局衰减因子应用于马达上的所有加载的效果。
SetHapticMotorState 向设备上的回馈马达发送波形。
SetInputSynchronizationState IGameInputDevice::SetInputSynchronizationState
SetRawDeviceFeature 向 HID 设备发送功能报告。
SetRumbleState 设置设备上的四个扳机键马达的所需强度。

备注

IGameInputDevice 接口使应用程序能够访问与输入设备的属性、功能和当前状态有关的大量信息。 它还提供对高级功能的访问,如力回馈和触觉回馈,以及用于与设备(如 IOCTL)执行低级别 I/O 的功能。 许多应用程序永远不需要调用此接口上的方法,并且仅使用 IGameInputDevice 实例作为简单设备标识符来筛选从输入流的读取。

与 IGameInputReading 实例相似,每个 IGameInputDevice 实例都是单一实例;多次检索相同设备只是递增基础对象上的引用计数。 因此,IGameInputDevice 实例可以比较引用相等性。

在基础设备已断开与系统的连接后,应用程序可继续持有对某一 IGameInputDevice 实例的引用(有意或无意)。 该 IGameInputDevice 实例保持有效,因为无法强制应用程序释放其对该接口的引用,但基础对象进入僵尸状态。

在处于僵尸状态下时,该 IGameInputDevice 接口上返回静态配置信息或设备状态信息的任何方法(通常是 Get* 方法)都保持可调用。 但是,会修改设备状态或以某种方式要求连接设备的任何方法都将返回一个失败 HRESULT,指示该设备无法继续连接。 如果之后相同的物理设备重新连接到系统,则僵尸设备对象会复活,并且 IGameInputDevice 实例上的所有方法都将再次生效。

要求

头文件:GameInput.h

支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机

另请参阅

输入 API 概述
GameInput