Chapter 2 Network Driver Programming Considerations

This chapter describes general issues to consider when writing any network driver for Microsoft® Windows NT®.

Network drivers written for Windows NT and other operating systems that support the Win32 interface share many of the same design goals as Windows NT including:

·Portable across platforms

·Scalable to multiprocessor systems

·Simple configuration of hardware and software

·Object-based interfaces

·Support for asynchronous I/O

The following sections explain some of the implications of these design goals for Windows NT network driver writers:

·Portability in Section 2.1

·Multiprocessor Support in Section 2.2

·IRQLs in Section 2.3

·Synchronization and Notification in Section 2.4

·Packet Structure in Section 2.5

·Using Shared Memory in Section 2.6

·Asynchronous I/O and Completion Functions in Section 2.7