Previous Next

Introduction to WDM

To allow driver developers to write device drivers that are source-code compatible across all Microsoft® Windows® operating systems, the Windows Driver Model (WDM) was introduced. Kernel-mode drivers that follow WDM rules are called WDM drivers. All WDM drivers must:

Does this DDK Cover non-WDM Drivers?

While this DDK emphasizes development of WDM drivers for kernel mode, information pertinent to kernel-mode drivers that do not follow WDM rules is also provided when necessary. This allows you to maintain existing non-WDM drivers and to write new drivers that interface with these existing drivers.

Should You Always Write a WDM Driver?

If you are writing new kernel-mode drivers, they should be WDM drivers unless you are writing a driver that will be inserted into a stack of non-WDM drivers. Please read the documentation for device type-specific Microsoft-supplied drivers, contained in this DDK documentation, to determine how new drivers must interface with Microsoft-supplied drivers.

Note  All new driver stacks should consist of WDM drivers.

There are cross-platform issues to consider, whether you are developing WDM or non-WDM drivers. For more information, see Writing Drivers for Multiple Platforms and Operating Systems.