Miniport Driver with a WDM Lower Edge

A miniport driver with a WDM lower edge (an NDIS-WDM miniport driver) follows the WDM rule that specifies that a WDM header file must be included in the driver's source files. An NDIS-WDM miniport driver requires a WDM header file to call kernel-mode routines on its lower edge. Typically, NDIS miniport drivers should just call functions that NDIS provides. This restriction is shown by the way NDIS wraps around NDIS miniport drivers in the figure in the NDIS Drivers section. Although typical NDIS miniport drivers are not called WDM drivers, they indirectly follow WDM rules because NDIS itself follows WDM rules.

The following diagram shows an NDIS-WDM miniport driver that interfaces with the USB driver stack by using a WDM lower edge.

Diagram showing an NDIS-WDM miniport driver interfacing with the USB driver stack using a WDM lower edge.

The following list describes the components that the preceding diagram shows:

IPX/SPX Compatible and TCP/IP
NDIS protocol drivers that transmit packets by using underlying miniport drivers.

NDIS
The Ndis.sys driver that provides a standard interface between layered network drivers.

NDIS-WDM Miniport Driver for USB
An NDIS-WDM miniport driver that interfaces with the USB driver stack.

USB Client Drivers
Other vendor-supplied USB client drivers.

USB Class Interface
USB Routines and I/O requests that USB client drivers can use to interface with the USB driver stack.

USB Driver Stack
Driver stack for USB devices. For more information, see USB Driver Stack Architecture.