Introduction to the Wi-Fi WDF class extension (WiFiCx)

Starting in Windows 11, the Windows Driver Kit (WDK) includes a Wi-Fi WDF class extension (WiFiCx) that enables you to write a KMDF-based client driver for a Wi-Fi device. WiFiCx gives you the power and flexibility of WDF and the networking performance of NDIS, and makes it easy to write a driver for your Wi-Fi device.

In addition to being a fully-fledged WDF client driver, WiFiCx drivers are also NetAdapterCx client drivers just like other NIC drivers. The client driver interacts with WiFiCx for Wi-Fi media-specific functionality.

WiFiCx drivers run on Windows 11 only.

WiFiCx architecture

The following block diagram illustrates the WiFiCx architecture:

Diagram that shows the WiFiCx architecture with relationships between WDF, NetAdapterCx, and WiFiCx APIs.

A WiFiCx client driver performs three categories of tasks based on its relationships with the framework:

  • Calls standard WDF APIs for common device tasks like PnP and Power management.
  • Calls NetAdapterCx APIs for common network device operations like transmitting or receiving network packets.
  • Calls WiFiCx APIs for Wi-Fi-specific control path operations like WDI command handling.

The topics in this section assume you already know how to write a NetAdapterCx client driver for a basic NIC and focus only on WiFiCx-specific code:

Writing a WiFiCx client driver

WiFiCx message structure

WiFiCx TLV generator interface

WiFiCx TLVs

WiFiCx task commands

WiFiCx property commands

WiFiCx unsolicited status indications

WiFiCx WPA3-SAE authentication

WiFiCx design guide

Dual STA connectivity