IRP_MJ_SYSTEM_CONTROL (Mouclass)
The IRP_MJ_SYSTEM_CONTROL request supports WMI requests.
When Sent
The WMI kernel-mode component sends system control requests to query and set WMI data.
Input Parameters
Request-specific.
Output Parameters
Request-specific.
I/O Status Block
For WMI requests, Mouclass sets the Status member to one of the following values:
STATUS_SUCCESS
The request completed successfully.STATUS_BUFFER_TOO_SMALL
The output buffer size, in bytes, is less than the size required to return the requested information.STATUS_INVALID_DEVICE_REQUEST
The device request is not valid.STATUS_WMI_GUID_NOT_FOUND
The WMI GUID was not found.STATUS_WMI_READ_ONLY
The WMI data is read-only.
If Mouclass does not handle the request and sends it down the device stack, the Status member is set by a lower-level driver.
Operation
Mouclass uses WmiSystemControl to handle WMI system control requests. Mouclass registers the following types of WMI library callback routines, which WmiSystemControl calls to handle WMI requests sent to a device:
For all other system control requests, Mouclass skips the current IRP stack location and sends the request down the device stack without further processing.
Mouclass updates WMI registration information after a device is started or removed. The driver calls the IoWMIRegistrationControl routine to update WMI registration information.
Requirements
Header |
Ntddk.h (include Wdm.h, Ntddk.h, or Wdm.h) |
See also