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:
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 TLV generator interface
WiFiCx unsolicited status indications