summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYang You (UU) <[email protected]>2025-11-20 14:45:04 -0800
committerYang You (UU) <[email protected]>2025-11-20 14:45:04 -0800
commit00c74bed33e4a0ccadb3d7a41c1c29cf0a461009 (patch)
tree5a716a357f48282d6b7e20bfa9ac31c9d17cc2a5
parent76cc5bf0e86d85e92fdf3df9c8eccd245a6118bf (diff)
Update the project status.
-rw-r--r--network/wlan/WIFICX/README.md35
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).