// hidsdi.h
BOOLEAN HidD_GetInputReport(
[in] HANDLE HidDeviceObject,
[out] PVOID ReportBuffer,
[in] ULONG ReportBufferLength
);
View the official Windows Driver Kit DDI referenceNo description available.
The HidD_GetInputReport routine returns an input report from a top-level collection.
Only use this routine to obtain the current state of a collection. If an application attempts to use this routine to continuously obtain input reports, the reports can be lost. For more information, see Obtaining HID Reports by user-mode applications.
HidDeviceObject [in]An open handle to a top-level collection.
ReportBuffer [out]Pointer to a caller-allocated input report buffer that the caller uses to specify a HID report ID and HidD_GetInputReport uses to return the specified input report.
For more information about this parameter, see the Remarks section.
ReportBufferLength [in]The size of the report buffer in bytes. The report buffer must be large enough to hold the input report plus one additional byte that specifies a report ID. If report ID is not used, the ID value is zero.
HidD_GetInputReport returns TRUE if it succeeds; otherwise, it returns FALSE. Use GetLastError to get extended error information.
The correct _ReportBufferLength_ is specified by the _InputReportByteLength_ member of a top-level collection's HIDP_CAPS structure returned from HidP_GetCaps call.
Before it calls the HidD_GetInputReport routine, the caller must do the following:
The input report is returned in the ReportBuffer parameter. Depending on the report ID, the caller parses the report by calling one of the following functions:
For an example of how to parse a HID report, see the HClient sample application.
Only user-mode applications can call HidD_GetInputReport. Kernel-mode drivers can use an IOCTL_HID_GET_INPUT_REPORTrequest.
For more information, see Interpreting HID Reports.