---
title: handleReport
framework: hiddriverkit
role: symbol
role_heading: Instance Method
path: hiddriverkit/iouserhideventdriver/handlereport
---

# handleReport

Processes the information in a new device report and dispatches any relevant events in response.

## Declaration

```occ
virtual void handleReport(uint64_t timestamp, uint8_t *report, uint32_t reportLength, IOHIDReportType type, uint32_t reportID);
```

## Parameters

- `timestamp`: The timestamp of the report.
- `report`: A pointer to the raw bytes of the report.
- `reportLength`: The number of bytes of data in the report parameter.
- `type`: The report type.
- `reportID`: The unique ID associated with the report. If a report element has new data, it contains this ID.

## Discussion

Discussion This method iterates over the elements in the report and dispatches events for any changed values. The system calls this method automatically when a new report arrives; don’t call this method yourself.

## See Also

### Handling New Data Reports

- [handleKeyboardReport](hiddriverkit/iouserhideventdriver/handlekeyboardreport.md)
- [handleRelativePointerReport](hiddriverkit/iouserhideventdriver/handlerelativepointerreport.md)
- [handleAbsolutePointerReport](hiddriverkit/iouserhideventdriver/handleabsolutepointerreport.md)
- [handleScrollReport](hiddriverkit/iouserhideventdriver/handlescrollreport.md)
- [handleDigitizerReport](hiddriverkit/iouserhideventdriver/handledigitizerreport.md)
- [createEventForDigitizerCollection](hiddriverkit/iouserhideventdriver/createeventfordigitizercollection.md)
