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:
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