diff options
| author | Yang You (UU) <[email protected]> | 2025-11-20 14:45:04 -0800 |
|---|---|---|
| committer | Yang You (UU) <[email protected]> | 2025-11-20 14:45:04 -0800 |
| commit | 00c74bed33e4a0ccadb3d7a41c1c29cf0a461009 (patch) | |
| tree | 5a716a357f48282d6b7e20bfa9ac31c9d17cc2a5 | |
| parent | 76cc5bf0e86d85e92fdf3df9c8eccd245a6118bf (diff) | |
Update the project status.
| -rw-r--r-- | network/wlan/WIFICX/README.md | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/network/wlan/WIFICX/README.md b/network/wlan/WIFICX/README.md index 363e0578..65f6dd88 100644 --- a/network/wlan/WIFICX/README.md +++ b/network/wlan/WIFICX/README.md @@ -1,6 +1,6 @@ --- page_type: sample -description: "Demonstrates leveraging WIFICX for control flow and NetAdapterCx for data flow." +description: "Demonstrates how to use WIFICX for control flow and NetAdapterCx for data flow." languages: - cpp products: @@ -8,6 +8,35 @@ products: - windows-wdk --- -# WIFICX and NetAdapterCx samples +# WIFICX and NetAdapterCx Samples -This sample demonstrates leveraging WIFICX for control flow and NetAdapterCx for data flow. +This sample illustrates how to leverage **WIFICX** for control flow and **NetAdapterCx** for data flow. It supports both **KMDF** and **UMDF** drivers. + +## How to Build +1. Mount the EWDK ISO from a local drive (network share paths are not supported). +2. Run `LaunchBuildEnv.cmd`. +3. In the environment created in step 2, type `SetupVSEnv` and press **Enter**. +4. Navigate to the current folder and open the solution file, for example: + `X:\Windows-driver-samples\network\wlan\WIFICX\wificxsampleclient.sln` +5. Build the solution from the Visual Studio UI. + +## Interfaces and Abstraction +The sample interacts with three OS components: + +- **WDF** + `driver.cpp`, `device.cpp`, and `adapter.cpp` demonstrate proper registration for PnP and power event callbacks. WDF manages system PnP and power requests (e.g., power IRPs), so IHV drivers should follow the flow triggered through these callbacks. + +- **WDF Wi-Fi Class Extension (WIFICX)** + `wifixxxxx.cpp` files implement the **control path**, handling commands sent to Wi-Fi firmware (e.g., scan access points, connect, disconnect). + +- **WDF NetAdapter Class Extension (NetAdapterCx)** + `netvxxxx.cpp` files implement the **data path**, managing network buffers and synchronizing with the control path for transfer start/stop operations. + +## Data Buffers from Firmware +The control path uses hardcoded data since this sample does not target real hardware. The data path uses **Emulated Network Link (ENL)**, which connects two virtual network adapters directly. Packets sent over one adapter are delivered to the other and vice versa. + +## Supported Scenarios +- [x] Scan access points and report BSS entries to the Windows UI. +- [x] Connect to an open access point from the Windows UI. +- [x] Disconnect from the connected access point. +- [ ] Transfer data between two Wi-Fi device instances (e.g., ping and throughput test). |
