IOCTL_HID_GET_COLLECTION_DESCRIPTOR control code

The IOCTL_HID_GET_COLLECTION_DESCRIPTOR request obtains a top-level collection's preparsed data, which the HID class driver extracted from the physical device's report descriptor during device initialization.

For general information about HIDClass devices, see HID Collections.

Input Parameters

Parameters.DeviceIoControl.OutputBufferLength in the I/O stack location of the IRP indicates the size, in bytes, of the output buffer specified by Irp->UserBuffer.

Output Parameters

Irp->UserBuffer is a PVOID pointer to a requester-allocated buffer that the HID class driver uses to return a variable length _HIDP_PREPARSED_DATA structure. This buffer must be allocated from nonpaged pool. The size, in bytes, of the preparsed data structure is obtained using IOCTL_HID_GET_COLLECTION_INFORMATION.

I/O Status Block

The HID class driver sets the following fields of Irp->IoStatus:

  • Information is set to size, in bytes, of the preparesed data.

  • Status is set to STATUS_SUCCESS if the preparsed data was retrieved without error. Otherwise, it is set to an appropriate NTSTATUS error code. If the requester-supplied output buffer is not large enough to hold the preparsed data, then status is set to STATUS_INVALID_BUFFER_SIZE.

Requirements

Header

Hidclass.h (include Hidclass.h)

See also

_HIDP_PREPARSED_DATA
HidD_FreePreparsedData
HidD_GetPreparsedData

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft