---
title: setReport
framework: hiddriverkit
role: symbol
role_heading: Instance Method
path: hiddriverkit/iouserusbhosthiddevice/setreport
---

# setReport

Sends a report to the HID device.

## Declaration

```occ
virtual kern_return_t setReport(IOMemoryDescriptor *report, IOHIDReportType reportType, IOOptionBits options, uint32_t completionTimeout, OSAction *action);
```

## Parameters

- `report`: A memory descriptor that describes the report to send to the HID device.
- `reportType`: The report type.
- `options`: The lower 8 bits of the report ID. The other 24 bits are options to specify the request.
- `completionTimeout`: The amount of time, in milliseconds, after which to abort the command if the entire command hasn’t finished.
- `action`: The doc://com.apple.documentation/documentation/DriverKit/OSAction object to execute when the request completes. Specify NULL to execute the request synchronously, which blocks the current thread until the request completes.

## Return Value

Return Value kIOReturnSuccess on success, or another value if an error occurs. See Error Codes.

## See Also

### Managing Device Reports

- [newReportDescriptor](hiddriverkit/iouserusbhosthiddevice/newreportdescriptor.md)
- [getReport](hiddriverkit/iouserusbhosthiddevice/getreport-6stqs.md)
- [getReport](hiddriverkit/iouserusbhosthiddevice/getreport-2v8zk.md)
- [initInputReport](hiddriverkit/iouserusbhosthiddevice/initinputreport.md)
- [CompleteInputReport](hiddriverkit/iouserusbhosthiddevice/completeinputreport.md)
- [scheduleInputReportRetry](hiddriverkit/iouserusbhosthiddevice/scheduleinputreportretry.md)
- [cancelInputReportRetry](hiddriverkit/iouserusbhosthiddevice/cancelinputreportretry.md)
- [TimerOccurred](hiddriverkit/iouserusbhosthiddevice/timeroccurred.md)
