DRV222 - Windows Network Drivers for NDIS 6

This seminar focuses on developing and installing network interface card (NIC) Miniport, Lightweight Filter (LWF), and Intermediate drivers. 


Level: Intermediate

Developers of NDIS miniport, Lightweight Filter (LWF), or intermediate device drivers for Windows Vista through Windows 8.1/Server 2012 R2; hardware engineers for network interface controllers. 


This course covers version 6 of Microsoft's Network Device Interface Specification (NDIS). In this seminar, the student will learn how to write three types of network drivers supported by Windows: Filter drivers, Intermediate drivers, and NIC miniport drivers. Connectionless and connection-oriented drivers, call managers, call manager clients, and WDM features (Plug and Play, Power Management, and Windows Management and Instrumentation (WMI) are all covered in detail. We will also address the latest NDIS .INF file format and features, including the implementation of notify objects for use with intermediate drivers.

  • Windows Network Architecture and the OSI model
  • Miniport drivers (upper edge)
  • INF Files
  • Light-weight filter drivers
  • Connection-oriented features
  • Protocol drivers (lower edge)
  • Intermediate drivers
  • Notify objects
  • WDM Features in NDIS 6

DRV150, Windows Internals Essentials for Driver Writers, or equivalent knowledge and experience. Attendees should understand the basic principles of demand-paged, virtual memory, multitasking operating systems. Attendees should also be familiar with the concepts of I/O device programming (in other words, driver coding on any other operating system or environment) and must have at least a reading knowledge of the C programming language. Prior experience writing network drivers, implementing network protocols, or writing NT4/WDM kernel mode drivers will be helpful, but is not required.

Operating systems supported: Windows Vista through Windows 10/Windows Server 2012 R2
Durations and formats: 5 days with labs
3 days lecture only

We of course strongly recommend the hands-on labs version of this seminar.

As you learn about each driver type in the NDIS network stack, you will test and augment your knowledge by implementing a simplified version of each. First, you will write a NIC Miniport driver and its accompanying .INF file. The student will then write an NDIS 6 light-weight filter driver.

If you desire labs covering intermediate drivers and notify objects, please contact us; we can provide a modified version of this seminar to meet your needs.

At the conclusion of the seminar, each student will of course receive fully commented source code for the solutions to all of the lab exercises.