Skip to main content
Sends a raw feature report to the device.

Syntax

Parameters

report   _In_
Type: IGameInputRawDeviceReport*
The feature report to send. Create it by calling CreateRawDeviceReport with GameInputRawFeatureReport, and fill it by calling IGameInputRawDeviceReport::SetRawData.

Return value

Type: HRESULT Returns S_OK if the report was submitted to the device. Returns GAMEINPUT_E_AGGREGATE_OPERATION_NOT_SUPPORTED if the device is an aggregate device, or another error code if the report can’t be submitted.

Remarks

The SetRawDeviceFeature method writes a feature report to the device. The report ID is taken from the report’s GameInputRawDeviceReportInfo, and the payload is the data set with IGameInputRawDeviceReport::SetRawData. Use GetFeatureReportCount and GetFeatureReportInfo to discover which feature reports a device defines and how large each one is. Feature reports are currently exposed for HID devices. For HID devices, the first byte of the report data is the report ID. SetRawDeviceFeature queues the report for delivery and returns without waiting for the device to process it. A successful return value means the report was submitted, not that the device accepted it. To confirm the new state, read the report back by calling GetRawDeviceFeature.
For intermediate and advanced use cases of the GameInput API, see Advanced GameInput topics.

Requirements

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

See also

Overview of GameInput
GetRawDeviceFeature
GetFeatureReportCount
GetFeatureReportInfo
CreateRawDeviceReport
IGameInputRawDeviceReport
IGameInputDevice

Version History

Appendix: Previous versions

v0

In GameInput v0, this method was declared with the same signature but wasn’t implemented. For more information, see IGameInputDevice::SetRawDeviceFeature (Deprecated).
Last modified on November 5, 2026