HidD_GetFeature function

The HidD_GetFeature routine returns a feature report from a specified top-level collection.


BOOLEAN HidD_GetFeature(
  HANDLE HidDeviceObject,
  PVOID  ReportBuffer,
  ULONG  ReportBufferLength



Specifies an open handle to a top-level collection.


Pointer to a caller-allocated HID report buffer that the caller uses to specify a report ID. HidD_GetFeature uses ReportBuffer to return the specified feature report.

For more information about this parameter, see the Remarks section.


Specifies the size, in bytes, of the report buffer. The report buffer must be large enough to hold the feature report -- excluding its report ID, if report IDs are used -- plus one additional byte that specifies a nonzero report ID or zero.

Return value

If HidD_GetFeature succeeds, it returns TRUE; otherwise, it returns FALSE. Use GetLastError to get extended error information.


Before it calls the HidD_GetFeature routine, the caller must do the following:

  • If the top-level collection includes report IDs, the caller must set the first byte of the ReportBuffer parameter to a nonzero report ID.
  • If the top-level collection does not include report IDs, the caller must set the first byte of the ReportBuffer parameter to zero.
The feature 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. This sample is located in the MSDN Code Gallery.

Only user-mode applications can call HidD_GetFeature. Kernel-mode drivers can use an IOCTL_HID_GET_FEATURE request.

For more information, see the following topics:

Obtaining HID Reports

Interpreting HID Reports


Minimum supported client Available in Windows 2000 and later versions of Windows.
Target Platform Universal
Header hidsdi.h (include Hidsdi.h)
Library Hid.lib
DLL Hid.dll

See also