NDIS Driver Overview (Compact 2013)

3/26/2014

NDIS provides a fully abstracted interface for network driver development; it specifies a standard interface between kernel-mode network drivers and the OS. NDIS also specifies a standard interface between layered network drivers, thereby abstracting lower-level drivers that manage hardware from upper-level drivers, such as network transports. NDIS performs a set of external functions for network adapter drivers, such as registering and intercepting hardware interrupts and communicating with underlying network adapters. For more information about the NDIS 6.0 architecture, see Introduction to NDIS 6.0.

Because NDIS provides an interface to the upper and lower edges of a miniport driver, the NDIS interface often is referred to as the NDIS wrapper. The NDIS wrapper is a dynamic-link library (DLL) that facilitates developing and migrating NDIS miniport drivers by abstracting portions of the OS and providing supporting functions. The NDIS library (Ndis.dll) provides a fully abstracted interface to which you can write a customized network adapter driver. The library exports all of the Windows Embedded Compact-based kernel-mode functions that are required for driver development. The Ndis.dll file also maintains binding and state information about all of the underlying network adapter drivers.

Windows Embedded Compact supports the following basic types of network drivers:

  • Miniport Driver
    A miniport driver directly manages a network adapter and provides an interface to higher level drivers.
  • Protocol driver
    A protocol driver implements a transport driver interface (TDI)—or possibly an application-specific interface—at its upper edge to provide services for users of the network. At its lower edge, a protocol driver provides a protocol interface to pass packets to and receive incoming packets from the next lower driver.
  • Intermediate driver
    An intermediate driver interfaces between upper level protocol drivers and a miniport driver.

Windows Embedded Compact supplies intermediate drivers and protocol drivers along with a collection of miniport drivers for popular network hardware devices. Typically, OEMs develop miniport drivers for new network adapter hardware and use the intermediate and protocol drivers provided by Microsoft to implement network support in a device.

In This Section

See Also

Concepts

Port Miniport Drivers from NDIS 5.x to 6.0