Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
af60c12
Create the WIFICX Folder to prepare the project for WIFICX Sample dri…
youyanggit Nov 7, 2025
bddbce7
have the buildable KM and UM solutions for Wifi only scenarios.
youyanggit Nov 10, 2025
fe139d4
have the HAL layer created for correctly demo the Interface of WIfire…
youyanggit Nov 12, 2025
773e9d0
have the M3 and M4 correctly trigger
youyanggit Nov 14, 2025
efa7a26
move the logic to CPP
youyanggit Nov 14, 2025
c9aa1b8
have the M3 amd M4 general types
youyanggit Nov 14, 2025
90a7fc1
have the wifiHAL living with the wdfdevice addtional context memory
youyanggit Nov 16, 2025
25de639
add the INF file for UM and KM, make the static analysis issue free
youyanggit Nov 19, 2025
dd61a12
have the Infrastructure ready to have the driver install success and …
youyanggit Nov 20, 2025
2399922
cleanup dead file
youyanggit Nov 20, 2025
76cc5bf
adding the copyright to the code file, and let the Radio State by def…
youyanggit Nov 20, 2025
00c74be
Update the project status.
youyanggit Nov 20, 2025
b7ae1a8
try to walk aroudn the DrvCat EWDK(10.0.26100.6584) error by disablin…
youyanggit Nov 24, 2025
4afd989
fix the rror 1001: Invalid INF 'D:\a\Windows-driver-samples\Windows-d…
youyanggit Nov 24, 2025
c27f85b
BuildBreak Fix: Convert to UTF8
youyanggit Nov 25, 2025
9dbc926
Moving to UTF-16 LE BOM as
youyanggit Nov 25, 2025
ee5cca4
fixing the GitHub code analysis errors
youyanggit Nov 25, 2025
83019ae
Have the NetVAdapter Lib buildable with EWDK for both UM and KM
youyanggit Dec 2, 2025
977cb24
intergrate the netvadapterlibrary with wificxsampledriver, cleanup th…
youyanggit Dec 4, 2025
10835eb
Cleanup the KSpinlock.h and replace with WDFSpinlock
youyanggit Dec 4, 2025
fcb9e29
bring back the KPushLock
youyanggit Dec 4, 2025
e6d3536
Fix build break for NETCX2.6 only APIs
youyanggit Dec 7, 2025
5d296ca
Remove NETCX2.6 depend features
youyanggit Dec 8, 2025
4372ea0
have the last Mac byte feature
youyanggit Dec 8, 2025
eb4a87e
Remove the TX demx support as ENL limiation.
youyanggit Dec 8, 2025
a3e68cd
fix the TX Queue not create issue
youyanggit Dec 9, 2025
72c0b65
have the updated project status
youyanggit Dec 9, 2025
b532c0e
fix the readme.md
youyanggit Dec 9, 2025
c6cba5a
update the readme.md
youyanggit Dec 9, 2025
4335a98
update the readme.md
youyanggit Dec 9, 2025
2f8261f
address comments
youyanggit Dec 9, 2025
9e94ebc
Merge branch 'wifiihvsample' into WifiihvsampleDataPath
youyanggit Dec 9, 2025
8cbb9bc
fix the bad "smart" GitHub merge
youyanggit Dec 9, 2025
aadfdde
Remove the Nuget for the WIL, since WDK sample build system not suppo…
youyanggit Dec 10, 2025
848a385
quick fix a typo
youyanggit Dec 10, 2025
8d6161e
trying to fix the build break on X64
youyanggit Dec 10, 2025
308a30f
Add affinity mask asserts, remove sln.old
youyanggit Dec 12, 2025
0ee210e
rename the WIFICX folder into wificx
youyanggit Dec 12, 2025
5426a64
Netvadapter: virtual NIC sample for KMDF and UMDF
alex-bozhko Jun 11, 2026
52f7373
Merge branch 'microsoft:main' into WifiihvsampleDataPath
youyanggit Jun 15, 2026
4c89b2c
check in the demo for OEM solution based on Service Command channel.
youyanggit Jun 17, 2026
8315a48
Add variants to the NetVAdapterLibrary to support the requirements of…
youyanggit Jun 19, 2026
26741c7
Merge pull request #1394 from youyanggit/WifiihvsampleDataPath
5an7y-Microsoft Jun 19, 2026
167a11b
Expose TargetVersion parameter in Build-Samples.ps1
5an7y Jun 22, 2026
a659bfc
Support TargetVersion-scoped rules in exclusions.csv
5an7y Jun 22, 2026
497905a
Crash detection and OS reinstall tool.
dunix2000 Jun 22, 2026
6c6c308
Add -NtTargetVersion to build samples against older WDK library sets
5an7y Jun 22, 2026
be91bbd
Add NT-version-scoped exclusions and a parallel multi-version CI matrix
5an7y Jun 23, 2026
ceceab7
Auto-discover _NT_TARGET_VERSION; remove the TargetVersion axis
5an7y Jun 23, 2026
8745e5b
Drop hardcoded version defaults and the un-discoverable label map
5an7y Jun 23, 2026
d157348
Allow manual runs of the build-all workflow (workflow_dispatch)
5an7y Jun 23, 2026
e1a7ad0
- Added pre-check of needed tools and files before starting script.
dunix2000 Jun 25, 2026
5602082
- Updated the manual USB creation instructions to match the updated
dunix2000 Jun 25, 2026
3df41b0
- Added resolution if "bootsect.exe" fails due to Windows Security bl…
dunix2000 Jun 25, 2026
0592e5d
- Updated formatting of H1 Title, names of folders, scripts and
dunix2000 Jun 26, 2026
39dff89
Apply suggestion from @5an7y-Microsoft
dunix2000 Jun 26, 2026
1ccb788
Apply suggestions from code review
dunix2000 Jun 26, 2026
a161e16
Apply suggestion from @5an7y-Microsoft
dunix2000 Jun 26, 2026
836b764
- Formatting changes from txt to cmd.
dunix2000 Jun 26, 2026
9b884c1
- Add "OPTIONAL: Add a Custom Script to Windows Setup" to High-level
dunix2000 Jun 26, 2026
b0ae265
Merge pull request #1395 from dunix2000/main
5an7y-Microsoft Jun 26, 2026
cf320f5
Eaton Tripp Lite Switched PDU (PDUMH15NET) PowerShell scripts for tur…
dunix2000 Jun 30, 2026
7e684ab
Deleted 3rd-party PDF files.
dunix2000 Jun 30, 2026
65dbbb6
Add Reference section for PDU Manuals and User Guides
dunix2000 Jun 30, 2026
1439bff
Merge pull request #1398 from dunix2000/main
5an7y-Microsoft Jun 30, 2026
2ee527b
Merge pull request #1397 from 5an7y-Microsoft/main
5an7y-Microsoft Jul 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
189 changes: 189 additions & 0 deletions .github/crashdetect/CrashDetectCreateUsb.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
@echo off
setlocal

set WINPE_DRIVE=A
set WINUSB_DRIVE=B
set EXITCODE=0

rem Pre-check
if not exist "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\dism.exe" (
echo ERROR: Missing DISM tool!
goto error
)
if not exist "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\en-us\winpe.wim" (
echo ERROR: Missing winpe.wim image!
goto error
)
if not exist "C:\WinPE_USB\Scripts\CrashDetectOsReinstall.cmd" (
echo ERROR: Missing script C:\WinPE_USB\Scripts\CrashDetectOsReinstall.cmd!
goto error
)
if not exist "C:\WinPE_USB\Scripts\Unattend.xml" (
echo ERROR: Missing XML C:\WinPE_USB\Scripts\Unattend.xml!
goto error
)
if not exist "C:\WinPE_USB\Images\install.wim" (
echo ERROR: Missing WIM C:\WinPE_USB\Images\install.wim!
goto error
)

rem Environment setup.
echo Setting up environment for ADK tools...
cd "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools>"
call DandISetEnv.bat
echo Done setting up environment.

rem Ask for the USB disk number displayed in Diskpart.
echo Displaying detected disk drives..
echo Creating DiskPart script...
(
echo list disk
) > C:\WinPE_USB\diskpart.txt
diskpart /s C:\WinPE_USB\diskpart.txt
del C:\WinPE_USB\diskpart.txt
echo(
echo(
echo Note that Disk 0 is often the OS drive you do NOT want to format!
echo(
echo Ensure drive letters %WINPE_DRIVE%: and %WINUSB_DRIVE%: are not currently assigned to other drives!
echo It's ok if it's assigned to the target USB.
echo(
set /p USBDISK=Enter the Disk Number of the USB drive you want to make WinPE bootable:
echo(
echo Disk %USBDISK% selected.

rem Create a USB drive with WinPE and data partitions.
echo(
echo WARNING!!!: VERIFY DISK %USBDISK% IS THE CORRECT USB DISK TO FORMAT!
choice /C YN /M "ARE YOU SURE YOU WANT TO FORMAT DISK %USBDISK%?"
echo(
if %errorlevel% equ 2 (
echo You chose NO, exiting without modifying USB key.
exit /b 0
)
if %errorlevel% equ 1 (
echo You chose YES, proceeding with formatting USB key.
)

:dism
rem Update startnet.cmd autorun script in WinPE boot image (winpe.wim).
cd /d "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64"
echo(
if not exist "C:\WinPE_USB\WinPE_amd64\mount" (
echo Creating temp folders C:\WinPE_USB\WinPE_amd64\mount...
mkdir "C:\WinPE_USB\WinPE_amd64\mount"
)
echo Mounting WinPE image to modify...
Dism /Mount-Image /ImageFile:"en-us\winpe.wim" /index:1 /MountDir:"C:\WinPE_USB\WinPE_amd64\mount"
if errorlevel 1 (
echo ERROR: DISM failed to mount ImageFile:"en-us\winpe.wim"!
goto error
)
echo Done mounting winpe.wim image.
echo Updating startnet.cmd autorun script in WinPE boot image...
(
echo wpeinit
echo.
echo @echo off
echo rem Find USB drive.
echo for %%%%D in (D E F G H I J K L M N O P Q R S T U V W Y Z^) do ^(
echo if exist %%%%D:Scripts\CrashDetectOsReinstall.cmd ^(
echo call %%%%D:Scripts\CrashDetectOsReinstall.cmd
echo goto EOF
echo ^)
echo ^)
) > "C:\WinPE_USB\WinPE_amd64\mount\Windows\System32\startnet.cmd"
echo Done adding CrashDetectOsReinstall.cmd to startnet.cmd.
echo Unmounting WinPE image with committed changes...
Dism /Unmount-Image /MountDir:"C:\WinPE_USB\WinPE_amd64\mount" /commit
if errorlevel 1 (
echo ERROR: DISM failed to unmount ImageFile:"en-us\winpe.wim"!
echo USB drive have not been touched yet.
goto error
)
echo Done unmounting winpe.wim image.

rem Delete temp "WinPE_amd64" folder, else the "copype.cmd" below will fail if the folder is already present.
rmdir /s /q "C:\WinPE_USB\WinPE_amd64"
echo Deleted temp folder "C:\WinPE_USB\WinPE_amd64".
echo(
echo Wiping out USB and creating 2 partitions...
echo Creating DiskPart script...
(
echo select disk %USBDISK%
echo clean
echo create partition primary size=2048
echo active
echo format fs=FAT32 quick label="WinPE"
echo assign letter=%WINPE_DRIVE%
echo create partition primary
echo format fs=NTFS quick label="WinUSB"
echo assign letter=%WINUSB_DRIVE%
) > C:\WinPE_USB\diskpart.txt
echo Partitioning USB...
diskpart /s C:\WinPE_USB\diskpart.txt
if errorlevel 1 (
echo ERROR: DiskPart failed during partitioning and formatting USB!
del C:\WinPE_USB\diskpart.txt
goto error
)
del C:\WinPE_USB\diskpart.txt
echo Done partitioning and formatting USB.
echo(
rem The "copype.cmd" script will create working directory "WinPE_amd64", it will fail if directory already exist.
echo Copying WinPE working files to "C:\WinPE_USB\WinPE_amd64"...
call copype.cmd amd64 "C:\WinPE_USB\WinPE_amd64"
if errorlevel 1 (
echo ERROR: Script "copype.cmd" failed to copy working files!
goto error
)
echo Done copying WinPE files.
echo(
rem Install WinPE to the USB and make it bootable.
echo Creating bootable WinPE USB...
call Makewinpemedia.cmd /ufd /f "C:\WinPE_USB\WinPE_amd64" "%WINPE_DRIVE%:" /bootex
if errorlevel 1 (
echo ERROR: Script "Makewinpemedia.cmd" failed to make WinPE USB bootable!
goto error
)
echo Done, WinPE USB drive is now bootable.
echo(
rem Copy Unattend.xml, scripts and install.wim over to USB
echo Copying Unattend.xml and scripts over to USB...
xcopy "C:\WinPE_USB\Scripts\" "%WINUSB_DRIVE%:\Scripts\" /E /I /R /Y
if errorlevel 1 (
echo ERROR: Failed copying scripts from "C:\WinPE_USB\Scripts\" to USB!
goto error
)
echo Done copying script files.
echo(
echo Copying install.wim over to USB...this could take a while...
robocopy "C:\WinPE_USB\Images" "%WINUSB_DRIVE%:\Images" install.wim /ETA /J
if %errorlevel% geq 8 (
echo ERROR: Failed copying install.wim from "C:\WinPE_USB\Images\" to USB!
goto error
)
echo Done copying WIM file.
echo(
goto cleanup

:error
set EXITCODE=1
goto cleanup

:cleanup
rem Clean up any temp folders.
if exist "C:\WinPE_USB\WinPE_amd64" (
rmdir /s /q "C:\WinPE_USB\WinPE_amd64"
echo Cleaned up temp folder "C:\WinPE_USB\WinPE_amd64".
)

:done
if %EXITCODE% equ 0 (
echo(
echo SUCCESSFULLY CREATED BOOTABLE WINPE USB DRIVE.
) else (
echo(
echo FAILED CREATING BOOTABLE WINPE USB DRIVE!
)
endlocal & exit /b %EXITCODE%
Loading
Loading