Key Is Monitoring IRPs in the System
Operating systems arbitrate which resource will be used during processing of tasks through the use of Interrupt Requests, or IRPs for short. Device Verifier actually monitors all IRPs in the system looking for mistakes in device drivers, including common processing errors and conflicts over IRP assignment. The Driver Verifier, acting within the kernel mode, checks the IRPs being completed; and sees whether incorrect values are being sent, whether the I/O processes between IRPs are correct or not, and most importantly, whether the IRPs for plug-and-play, power and WMI functionality are being completed accurately. Clearly, with the integration of plug-and-play in the kernel mode of Windows 2000 and in Windows XP now as well, the role of IRPs as communication points between kernel mode subsystems in the broader operating environment is accentuated. Figure 1 shows an example of the Windows 2000 kernel and user mode subsystems. The architectural differences to Windows XP are minimal on the plug-and-play in addition to the IRP role definition. What's significantly different is the role the Driver Verifier plays in the overall development of system stability.
Figure 1 The Windows 2000 kernel and user modes resemble Windows XP.