Skip to main content

IGameInput::RegisterDeviceCallback

注册一个 GameInputDeviceCallback 函数,以便在每当有设备连接到系统或从系统断开连接时被调用。还允许在设备属性发生变化时调用该函数。

语法

参数

device   _In_opt_
类型:IGameInputDevice*
将已注册的回调限制为仅对特定设备触发。 inputKind   _In_
类型:GameInputKind
将已注册的回调限制为仅针对支持至少一种指定输入类型的设备触发。 statusFilter   _In_
类型:GameInputDeviceStatus
将已注册的回调限制为仅针对特定类型的设备状态更改触发。 enumerationKind   _In_
类型:GameInputEnumerationKind
确定是否枚举设备以及该函数是否会等待枚举完成。 context   _In_opt_
类型:void*
一些为回调函数提供相关信息的对象。通常是调用对象本身。 callbackFunc   _In_
类型:GameInputDeviceCallback
要为设备连接或断开事件注册的、由游戏标题定义的回调。 callbackToken   _Result_zeroonfailure_
类型:GameInputCallbackToken*
用于标识已注册回调函数的令牌。当你需要取消或取消注册该回调函数时,此令牌用于标识已注册的函数。

返回值

类型:HRESULT 函数结果。

备注

通过 IGameInput::RegisterDeviceCallback 注册的函数可用于响应设备状态的变化,例如连接或断开连接。可识别的状态更改类型列在 GameInputDeviceStatus 中。 enumerationKind 参数可用于生成初始的一批回调——为连接到系统的每个设备生成一个回调。此初始枚举可设置为异步或同步枚举。同步枚举将在 IGameInput::RegisterDeviceCallback 返回之前调用所有初始回调。 以下 C++ 示例演示了如何显式枚举已连接的游戏手柄和键盘。
以下 C++ 示例演示了如何在设备连接或断开连接时接收通知。

要求

输入 API 概述
IGameInput
IGameInput::UnregisterCallback
IGameInput::StopCallback

版本历史

最后修改于 2026年8月13日