IOCTL_HID_ENUM_DEVICES

Return a list of devices being managed by HID.

Parameters

hDevice
Handle to the HID class device.
dwIoControlCode
IOCTL_HID_ENUM_DEVICES
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 SHiddiEnumDeviceHeader followed by enough space for the HID class driver to write all the SHiddiEnumDevice structures indicated by the header. If the dwId member of the header is 0, the HID class driver should enumerate all available devices of the specified type, or all types, if the dwType member is0. If the dwId member is not 0, the HID class driver should enumerate only the device with that ID, if it exists.