Chapter 10
Microsoft Windows 2000 supports a facility named Windows Management Instrumentation (WMI) as a way to manage the computer system. WMI is Microsoft's implementation of a broader industry standard called Web-Based Enterprise Management (WBEM). The goal of WMI is to provide a model for system management and the description of management data in an enterprise network that's as independent as possible from a specific API set or data object model. Such independence facilitates the development of general mechanisms for creating, transporting, and displaying data and for exercising control over individual system components.
WDM drivers fit into WMI in three ways. See Figure 10-1. First, WMI responds to requests for data that (usually) convey information about performance. Second, controller applications of various kinds can use the facilities of WMI to control generic features of conforming devices. Finally, WMI provides an event-signalling mechanism that allows drivers to notify interested applications of important events. I'll discuss all three of these aspects of driver programming in this chapter. To help you understand the test programs that accompany the driver samples for this chapter, I'm also going to describe how the user-mode side of WMI works.
Figure 10-1. The role of a WDM driver in WMI.