跳转到主要内容
从设备读取原始功能报告。

语法

参数

reportId   _In_
类型:uint32_t
要读取的功能报告的 ID。必须与 GetFeatureReportInfo 返回的某个报告的 id 成员相匹配。 report   _COM_Outptr_
类型:IGameInputRawDeviceReport**
接收一个新的 IGameInputRawDeviceReport 对象,该对象包含从设备读取的功能报告数据。失败时设置为 nullptr。

返回值

类型:HRESULT 成功时返回 S_OK。如果设备未定义具有指定 ID 的功能报告,则返回 E_NOTFOUND;如果设备是聚合设备,则返回 GAMEINPUT_E_AGGREGATE_OPERATION_NOT_SUPPORTED。如果无法从设备读取报告,则返回其他错误代码。

备注

GetRawDeviceFeature 方法向设备请求功能报告的当前内容,并在一个新的 IGameInputRawDeviceReport 对象中返回这些内容。该报告的 GameInputRawDeviceReportInfo 的 kind 成员为 GameInputRawFeatureReport,其数据大小与 GetFeatureReportInfo 返回的相应元素的 size 成员相匹配。通过调用 GetRawDataSize 和 IGameInputRawDeviceReport::GetRawData 读取数据。 使用 GetFeatureReportCount 和 GetFeatureReportInfo 发现设备定义了哪些功能报告。目前仅对 HID 设备公开功能报告。对于 HID 设备,报告数据的第一个字节是报告 ID。 与其他原始报告方法不同,GetRawDeviceFeature 会等待设备回复后才返回,因此请避免在时间关键型线程(例如渲染线程或输入轮询线程)上调用它。
有关 GameInput API 的中级和高级用例,请参阅 GameInput 高级主题。

要求

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

另请参阅

GameInput 概述
SetRawDeviceFeature
GetFeatureReportCount
GetFeatureReportInfo
IGameInputRawDeviceReport
CreateRawDeviceReport
IGameInputDevice

版本历史

附录:以前的版本

v0

在 GameInput v0 中,此方法以相同的签名声明,但未实现。有关详细信息,请参阅 IGameInputDevice::GetRawDeviceFeature(已弃用)。
最后修改于 2026年11月6日