Skip to main content
Retrieves descriptions of the raw feature reports that the device defines.

Syntax

Parameters

infoArrayCount   _In_
Type: uint32_t
Number of elements in infoArray. To retrieve all feature reports, pass the value returned by GetFeatureReportCount. infoArray   _Out_writes_to_opt_(infoArrayCount, return)
Type: GameInputRawDeviceReportInfo*
Pointer to an array that receives one structure per feature report. Can be nullptr, in which case nothing is written and the method returns 0.

Return value

Type: uint32_t The number of elements written to infoArray. This is the smaller of infoArrayCount and the number of feature reports on the device, or 0 if infoArray is nullptr or the device has no feature reports.

Remarks

Each element is a GameInputRawDeviceReportInfo structure whose kind member is GameInputRawFeatureReport, whose id member is the device-defined report ID, and whose size member is the size of the report data in bytes. Call GetFeatureReportCount to get the number of feature reports, allocate an array of that size, and then call GetFeatureReportInfo to fill it. If infoArrayCount is smaller than the number of feature reports, only the first infoArrayCount elements are written. The feature reports of a device don’t change while the device is connected, so you can query them once and cache the result. Use the id member of an element as the reportId parameter of GetRawDeviceFeature to read the report, or of CreateRawDeviceReport, together with GameInputRawFeatureReport, to create a report that you can send with SetRawDeviceFeature. The size member gives the number of bytes of report data. The following example shows how to retrieve the feature reports of a device.

Requirements

Header: GameInput.h Library: gameinput.lib Supported platforms: Windows, XBOX One family consoles and XBOX Series consoles

See also

Overview of GameInput
GetFeatureReportCount
GameInputRawDeviceReportInfo
GameInputRawDeviceReportKind
IGameInputRawDeviceReport
GetRawDeviceFeature
SetRawDeviceFeature
CreateRawDeviceReport
Advanced GameInput topics
IGameInputDevice

Version History

Last modified on November 5, 2026