The IOCTL_MOUSE_QUERY_ATTRIBUTES request returns information about the mouse attributes.

Mouclass copies the current stack location, sets the MajorFunction member of the new stack location to IRP_MJ_INTERNAL_DEVICE_CONTROL, and sends this request down the device stack.

For more information about this request, see I8042prt Mouse Internal Device Control Requests.

Input buffer

The Parameters.DeviceIoControl.InputBufferLength member is set to zero or a value greater than or equal to the size, in bytes, of a MOUSE_UNIT_ID_PARAMETER. A value of zero specifies a default unit ID of zero.

The AssociatedIrp.SystemBuffer member points to a client-allocated buffer that is used to input and output information. On input, AssociatedIrp.SystemBuffer points to a MOUSE_UNIT_ID_PARAMETER structure. The client sets the UnitId member of the input structure.

The Parameters.DeviceIoControl.OutputBufferLength member specifies the size, in bytes, of an output buffer, which must be greater than or equal to the size in bytes of a MOUSE_ATTRIBUTES structure.

Input buffer length

The size of a MOUSE_UNIT_ID_PARAMETER structure.

Output buffer

AssociatedIrp.SystemBuffer points to the client-allocated buffer that the lower-level drivers use to output a MOUSE_ATTRIBUTES structure.

Output buffer length

The size of a MOUSE_ATTRIBUTES structure.


Requirement Value
Header ntddmou.h (include Ntddmou.h)

See also