Network Adapter WDF Class Extension (NetAdapterCx)

Overview

Starting in Windows 10, version 2004, the Windows Driver Kit (WDK) includes a Network Adapter WDF Class Extension module (NetAdapterCx) that enables you to write a KMDF-based client driver for a Network Interface Controller (NIC). NetAdapterCx gives you the power and flexibility of WDF and the networking performance of NDIS, and makes it easy to write a driver for your NIC.

In previous versions of Windows, WDF and NDIS had individual advantages, but did not interoperate well. The only way to write a NIC driver was to write an NDIS miniport driver. To use WDF in an NDIS miniport driver, you had to write extra code in your driver, and even then, you only had access to a small subset of WDF functionality.

With the NetAdapterCx model, conversely, you write a real WDF driver for your NIC. This means that your NetAdapterCx driver has access to full WDF functionality, as well as networking-specific APIs and I/O support from the NetAdapter class extension. As shown in the block diagram below, NetAdapterCx still works behind the scenes with NDIS, but it handles all the interaction with NDIS on your behalf.

Diagram of the NetAdapterCx architecture.

Additional info

The following video Network Adapter Class Extension: Overview discusses the benefits of using NetAdapterCx.

To learn how to port an NDIS 6.x miniport driver to the NetAdapterCx NIC driver model, see Porting NDIS miniport drivers to NetAdapterCx.

To start working right away with driver samples on GitHub, clone our NetAdapter-Cx-Driver-Samples repo.

To see the source code for NetAdapterCx itself, or perform step-through debugging, see our Network-Adapter-Class-Extension repo on GitHub.

If you would like to work with Microsoft as you develop a NetAdapterCx client driver, or have feedback on the class extension, please send us an email.

The following video Network Adapter Class Extension: Roadmap and Collaboration discusses future roadmap and collaboration opportunities.

Topics

This section contains the following topics: