A.1 Revising Legacy Full-NIC Drivers
While the NDIS V4.0 library will continue to support NDIS V3.0 full-NIC drivers for legacy netcards, only NDIS miniport drivers can take advantage of the enhanced functionality and performance characteristics of NDIS V4.0 for their NICs. Only NDIS miniport drivers can take advantage of the enhancements and functionality planned for future versions of the NDIS library.
Moreover, NDIS miniport drivers are essentially source-compatible across Microsoft operating systems that support Win32® while NDIS V3.0 full-NIC drivers are not. Except for minor differences in installation scripts and recompilation for the growing number of Windows NT platforms, an NDIS miniport driver can run in any Microsoft operating system that supports Win32 and on any machine with a NIC-compatible I/O bus that such an operating system controls.
The NDIS library handles a lot of work for miniports that full-NIC drivers must handle for themselves. For example, NDIS maintains state about all bindings to miniport drivers' NICs so miniports need not support binding-specific queries.
Turning a legacy full-NIC driver into an NDIS miniport results in a smaller NIC driver, a more easily debugged and maintained NIC driver, and a more readily extensible NIC driver as the NDIS library adds functionality and support for new networks. For example, NDIS V4.0 adds support for full-duplex sends and receives in miniport drivers running on multiprocessor platforms, for multipacket sends and receives, and for wireless media types.
For more information about NDIS V4.0 miniport driver design and NDIS V4.0 support for miniports, see also the Network Drivers Design Guide.