In this topic, I won't talk about details of Windows device drivers. I only want to talk about what Windows drivers are, and how they work in a general meaning.
Windows, like common operating systems, use device drivers to handle different devices. Why should Windows use device drivers? The reason is quite simple: hardware/software devices usually differ in their ways of communication, but not in their ways of control. Usually, if a device supports a specific function, it should be able to be used like other devices that also have this function. A device may not have all capabilities, but if it has, it should provide a uniform control schema to the operating system and applications. Device drivers are agents that provide a uniform interface to the operating system and applications, and use specific communication rules for different devices.
Windows drivers can work actively or passively. When they need to work actively, they require particular interrupt requests or particular Windows messages be treated by them. When they need to work passively, they can be used as a process to which a message can be posted or sent, or a function that can be called. In order to communicate with the operating system or applications, they can post or send messages.
They differ from common applications on two points: they can directly access hardware devices and they can directly respond to an interrupt request. Some devices drivers cannot use a part of operating system services. For example, the hard disk driver cannot use Virtual Memory, because Virtual Memory is supported by itself.