Introduction to NDIS 6.50

This topic introduces Network Driver Interface Specification (NDIS) 6.50 and describes its major design additions. NDIS 6.50 is included in Windows 10, version 1507 and later.

NDIS 6.50 is a minor version update to NDIS 6.40. For more information about porting NDIS 6.x drivers to NDIS 6.50, see Porting NDIS 6.x drivers to NDIS 6.50.

Feature updates

NDIS 6.50 is an incremental update to NDIS 6.40 and does not contain any major new features.

Implementing an NDIS 6.50 driver

An NDIS 6.50 driver must follow the requirements that are defined in Implementing an NDIS 6.30 driver.

In addition, an NDIS 6.50 driver must be compliant with the following requirements:

  • An NDIS 6.50 driver must report the correct NDIS version when it registers with NDIS.

    • You must update the major and minor NDIS version number in the NDIS_Xxx_DRIVER_CHARACTERISTICS structure to support NDIS 6.50. The MajorNdisVersion member must contain 6 and the MinorNdisVersion member must contain 50. This requirement applies to miniport, protocol, and filter drivers. You must also update the version information for the compiler (see Compiling an NDIS 6.50 driver).

    • Miniport drivers must set the Header member of NDIS_MINIPORT_DRIVER_CHARACTERISTICS: Set Revision to NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2 and Size to NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2.

    • Filter drivers must set the Header member of NDIS_FILTER_DRIVER_CHARACTERISTICS: Set Revision to NDIS_FILTER_CHARACTERISTICS_REVISION_2 and Size to NDIS_SIZEOF_FILTER_DRIVER_CHARACTERISTICS_REVISION_2.

    • Protocol drivers must set the Header member of NDIS_PROTOCOL_DRIVER_CHARACTERISTICS: Set Revision to NDIS_PROTOCOL_CHARACTERISTICS_REVISION_2 and Size to NDIS_SIZEOF_PROTOCOL _DRIVER_CHARACTERISTICS_REVISION_2.

  • NDIS 6.50 miniport drivers for Windows 10, version 1507 and later must use the NDIS 6.50 versions of data structures. For more information, see Using NDIS 6.50 data structures.

Compiling an NDIS 6.50 driver

The WDK for Windows 10, version 1507 supports header versioning. Header versioning makes sure that NDIS 6.50 drivers use the appropriate NDIS 6.50 data structures at compile time.

Add the following compiler settings to the Visual Studio project for your driver:

  • For a miniport driver, add NDIS650_MINIPORT=1.
  • For a filter or protocol driver, add NDIS650=1.

For information on building a driver with the Windows 10, version 1507 release of the WDK, see Building a Driver.

Using NDIS 6.50 data structures

New data structures

The following data structures are new in NDIS 6.50.

Updated data structures

The following data structures were updated in NDIS 6.50.

NDIS 6.51

NDIS 6.51 is a very minor version update to NDIS 6.50. NDIS 6.51 is included in Windows 10, version 1511 and later. All information for NDIS 6.50 also applies to NDIS 6.51 with the following exceptions:

  • The MinorNdisVersion changes from 50 to 51 when registering your driver with NDIS.
  • The compiler settings change from NDIS650_MINIPORT=1 for miniport drivers and NDIS650=1 for filter or protocol drivers, to NDIS651_MINIPORT=1 and NDIS651=1 respectively.