Previous Next

IRP_MJ_SYSTEM_CONTROL (I8042prt Mouse)

When Sent

The WMI kernel-mode component sends IRP_MJ_SYSTEM_CONTROL requests after I8042prt has registered the mouse device as a supplier of WMI data. WMI IRPs typically are sent when a user-mode data consumer requests WMI data.

Input Parameters

Request-specific.

Output Parameters

Request-specific.

I/O Status Block

Request-specific.

Headers

Defined in wdm.h and ntddk.h. Include wdm.h or ntddk.h.

Operation

I8042prt calls WmiSystemControl to process WMI requests.

I8042prt registers with WMI a POINTER_PORT_WMI_STD_DATA structure (declared in wmidata.h):

typedef struct _POINTER_PORT_WMI_STD_DATA
{
  ULONG  ConnectorType;
  ULONG  DataQueueSize;
  ULONG  ErrorCount;
  ULONG  Buttons;
  ULONG  HardwareType;
} POINTER_PORT_WMI_STD_DATA, *PPOINTER_PORT_WMI_STD_DATA;
ConnectorType
Specifies a POINTER_PORT_WMI_STD_I8042 connector type.
DataQueueSize
Specifies the size, in bytes, of the mouse input data queue.
ErrorCount
Set to zero.
Buttons
Specifies the number of buttons that a mouse supports.
HardwareType
Specifies the hardware type (see the POINTER_PORT_WMI_Xxx constants defined in wmidata.h).
I8042prt also registers the following types of WMI library callback routines:

If I8042prt does not handle the request, it skips the current IRP stack location, and sends the request down the device stack to be completed by a lower-level driver.

See Also

DpWmiQueryReginfo, DpWmiQueryDataBlock, DpWmiSetDataBlock, DpWmiSetDataItem, IRP_MJ_SYSTEM_CONTROL