Home | FAQ | Contact

Private Seminars
Public Seminars
Course Descriptions
Course Map
Instructors
Resources

APP210
CMB221
DBG211
DBG214
DBG311
DRV101
DRV150
DRV201
DRV203
DRV204
DRV205
DRV211
DRV221
DRV222
DRV231
DRV232
DRV251
DRV264
DRV274
DRV280
DRV301
DRV350
INT150
INT201
INT250
SEC230
SEC240
WSC150
WSC250

DRV221: Windows Network Drivers

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

Level

Intermediate

Audience

Developers of NDIS miniport or intermediate device drivers for Windows; and hardware engineers for network interface controllers.

Description

This course covers the latest revisions of Microsoft's Network Device Interface Specification (NDIS). In this seminar, the student will learn how to write two types of network drivers supported by Windows: 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.

Topics

  • Windows Network Architecture and the OSI model

  • Miniport drivers (upper edge)

  • INF Files

  • Connection-oriented features

  • Protocol driver (lower edge)

  • Intermediate drivers

  • Notify objects

  • WDM Features in NDIS 5

  • ATM in Windows

Prerequisites

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.

Windows versions

Windows Server 2003, Windows XP, Windows 2000

Duration and formats

5 days with labs
3 days lecture only

Labs

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 addition of a protocol (lower) edge, and merging it with the miniport (upper) edge will produce a simple Intermediate driver. Lastly, you will write a Notify Object DLL to install the Intermediate driver.

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.

 

Why not just NIC  drivers?
It's true that most people don't need to write intermediate drivers. However, our experience is that your understanding of miniports will be far far better after learning intermediates, because you will see the miniport in terms of how it interacts with the rest of the stack, rather than as just a "black box." We find over and over that this is time very well spent.
What about NDIS 6?
NDIS version 6 is the next major revision of the Windows network driver architecture; it is included in Windows Vista and Windows Server 2008. This seminar covers NDIS 5. Please see DRV222, Windows Network Drivers for NDIS 6, if you need to write network drivers for the newer versions of Windows.
 
Copyright © 2010 by Azius Developer Training