Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Important
This section contains guidance on WDM drivers, which is no longer the recommended driver model. For guidance on choosing a driver model, see Choosing a driver model.
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 do the following items:
Include Wdm.h, not Ntddk.h. (Wdm.h is a subset of Ntddk.h.)
Be designed as a bus driver, a function driver, or a filter driver, as described in Types of WDM Drivers.
Support Plug and Play (PnP).
Support power management.
Support Windows Management Instrumentation (WMI).
If you're writing a new driver, consider using the Kernel-Mode Driver Framework (KMDF). KMDF provides interfaces that are simpler to use than WDM interfaces.
Don't write a WDM driver if the driver will be inserted into a stack of non-WDM drivers. Read the documentation for device type-specific Microsoft-supplied drivers to determine how new drivers must interface with Microsoft-supplied drivers. For more information, see Device and Driver Technologies.