IOCTL_HID_ENUM_OBJECTS

Returns a list of input sources, such as buttons, on a HID class device.

Parameters

hDevice
Handle to the HID class device.
dwIoControlCode
IOCTL_HID_ENUM_OBJECTS
lpInBuffer
Pointer to an input buffer containing a ShiddiEnumObjectHeader structure followed by one or more SHiddiEnumObject structures.
nInBufferSize
The length of the input buffer.
lpOutBuffer
Pointer to an output buffer containing a SHiddiEnumObjectHeader structure followed by one or more SHiddiEnumObject structures. Must be equal to lpInBuffer.
nOutBufferSize
Length of the output buffer; must be the same as nInBufferSize.
lpBytesReturned
A count of the total bytes returned.
lpOverlapped
NULL

Remarks

The input and output buffer pointers and lengths must be identical. The buffer must contain a SHiddiEnumObjectHeader followed by enough space for the HID class driver to write all the SHiddiEnumObject structures indicated by the header. The objects must be listed in a fixed order: axes first, then POVs (for joysticks), then buttons.