Add End-to-End NetAdapterCx/WiFiCx Sample Drivers and OEM Communication Examples#1394
Merged
5an7y-Microsoft merged 42 commits intoJun 19, 2026
Merged
Conversation
…uqest, meanwhile have the WPPTrace enabled for both um and km
…able to start handling the WifiRequest
…g the inf2cat and code analysis. Will enable back when newer version EWDK fixed the issue.
…river-samples\network\wlan\WIFICX\um\ARM64\Debug\wificxsampleclientum.inf', must contain [Version] section and have signature "$Windows NT$"
https://learn.microsoft.com/en-us/windows-hardware/drivers/install/general-guidelines-for-inf-files#editing-inf-files-and-file-encodings The file must be saved with an ANSI or Unicode (UTF-16 LE) file encoding. Unicode (UTF-16 LE) is preferred since it allows the INF to support localizing the INF Strings section in a wide variety of languages. If your INF contains non-ASCII characters, you must save the file as a Unicode (UTF-16 LE) file.
…e memory related header -KNEW.H
…rt the VCXProj driven Nuget package. hardcode the WIL path
Added assertions to EnlpAffinitizeThread to verify BitScanReverse succeeds. Updated EnlRingDoorBell to properly acquire and release the spinlock around the Armed state check for thread safety. Removed obsolete netvadapterlibrary.sln.old solution file.
… different adapter types.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR Description
This PR introduces a collection of sample drivers and reference implementations for the modern Windows networking driver architecture based on NetAdapterCx and WiFiCx.
The samples are intended to help driver developers, OEMs, and IHVs understand the recommended development model for Ethernet and Wi-Fi adapters on current Windows platforms. The repository demonstrates key design patterns, framework interactions, and communication flows between user-mode applications and networking drivers.
Included Samples
NetAdapterCx Samples
Ethernet adapter driver samples built on NetAdapterCx.
Demonstrates adapter initialization, datapath setup, queue management, packet transmission, and packet reception.
Shows the recommended network driver architecture for modern Windows networking devices.
WiFiCx Samples
Wi-Fi adapter driver samples based on WiFiCx, which extends NetAdapterCx with WLAN-specific functionality.
Demonstrates Wi-Fi device initialization, Wi-Fi operational workflows, and framework integration points.
Illustrates how WiFiCx leverages the underlying NetAdapterCx infrastructure.
Driver Model Variants
KMDF-based samples for kernel-mode driver implementations.
UMDF-based samples for user-mode driver implementations.
Highlights architectural differences, framework-specific considerations, and common implementation patterns across both driver models.
OEM Tool Communication Examples
Demonstrates end-to-end communication between OEM utilities/applications and Wi-Fi drivers.
Shows common control and management paths used for device configuration, diagnostics, telemetry, and vendor-specific functionality.
Provides reference patterns for user-mode to driver communication scenarios.