Handling WMI Requests

All drivers must set a dispatch table entry point for a DispatchSystemControl routine to handle WMI requests. If a driver registers as a WMI data provider, it must handle all WMI requests. Otherwise, the driver must forward all WMI requests to the next lower driver.

All WMI IRPs have the major code IRP_MJ_SYSTEM_CONTROL and a one of the following minor codes:

The WMI kernel-mode component sends WMI IRPs any time following a driver's successful registration as a WMI data provider, typically when a user-mode data consumer has requested WMI information for a driver's device. If a driver registers as a WMI data provider by calling IoWMIRegistrationControl, it must handle each subsequent WMI request in one of the following ways:

For a list of the WMI minor IRPs, see WMI Minor IRPs