IRP_MJ_SYSTEM_CONTROL (I8042prt Keyboard)

The IRP_MJ_SYSTEM_CONTROL request supports WMI requests.

When Sent

The WMI kernel-mode component sends IRP_MJ_SYSTEM_CONTROL requests after I8042prt has registered the keyboard 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.

Operation

I8042prt calls WmiSystemControl to process WMI requests.

I8042prt registers with WMI a KEYBOARD_PORT_WMI_STD_DATA structure:

typedef struct _KEYBOARD_PORT_WMI_STD_DATA
{
  ULONG  ConnectorType;
  ULONG  DataQueueSize;
  ULONG  ErrorCount;
  ULONG  FunctionKeys;
  ULONG  Indicators;
} KEYBOARD_PORT_WMI_STD_DATA, *PKEYBOARD_PORT_WMI_STD_DATA;
  • ConnectorType
    Specifies the connector type, which is set to KEYBOARD_PORT_WMI_STD_I8042.

  • DataQueueSize
    Specifies the keyboard input queue size, in bytes.

  • ErrorCount
    Specifies a keyboard error count. This parameter is not used and is set to zero.

  • FunctionKeys
    Specifies the number of function keys supported by the keyboard.

  • Indicators
    Specifies the number LED indicators supported by the keyboard.

I8042prt also registers the following types of WMI Library Callback Routines:

DpWmiQueryReginfo

DpWmiQueryDataBlock

DpWmiSetDataBlock

DpWmiSetDataItem

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.

Requirements

Header

Wdm.h (include Ntddk.h, Wdm.h, or Ntddk.h)

See also

DpWmiQueryReginfo

DpWmiQueryDataBlock

DpWmiSetDataBlock

DpWmiSetDataItem

IRP_MJ_SYSTEM_CONTROL

 

 

Send comments about this topic to Microsoft