Quick answer for advanced users
Run netsh advfirewall reset in an elevated command prompt, then reboot. If that doesn't cut it, delete the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy and reboot again.
What's happening here
STATUS_FWP_NULL_POINTER (0XC022001C) means that Windows Filtering Platform — the engine behind the built-in firewall and IPsec — tried to use a pointer that was null. You'll usually see this error in Event Viewer under System logs with source Tcpip or Microsoft-Windows-WFP. It can also crash services like IKEEXT or BFE, which kills your VPN and firewall rules.
This error pops up after a failed Windows update, a third-party antivirus uninstall that left junk behind, or a manual registry edit that broke a firewall policy path. I've seen it most often on Windows 10 22H2 and Windows 11 23H2 machines that had McAfee or Norton partially removed.
Step-by-step fix
- Open an elevated command prompt. Click Start, type
cmd, right-click Command Prompt, and choose Run as administrator. Click Yes on the UAC prompt. - Reset the Windows Firewall policy. Type this command and press Enter:
You should see the message "Ok." after a few seconds.netsh advfirewall reset - Reboot the machine. Go to Start > Power > Restart. Don't skip this — the reset needs a clean boot to take effect.
- Check if the error is gone. Open Event Viewer (type
eventvwr.mscin Run), go to Windows Logs > System, and look for any new WFP errors around the time of the reboot. If you see nothing, you're done.
If the netsh reset didn't work
Sometimes the firewall policy itself is corrupted deeper than netsh can reach. Here's the nuclear option:
- Back up the registry in case something goes sideways. Open regedit (type
regeditin Run), click File > Export, save a full backup to your desktop. - Navigate to this key:
Right-click the FirewallPolicy folder and choose Export to save a backup of just this branch.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy - Delete the FirewallPolicy key. Right-click it again and choose Delete. Confirm the prompt.
- Reboot the machine. Windows will regenerate a fresh firewall policy from defaults on next boot.
- Test your firewall. Open Windows Security > Firewall & network protection, and confirm all profile options (Domain, Private, Public) are turned on. Run
wf.mscto verify the firewall rules loaded properly.
Alternative fix: repair Windows Filtering Platform
If you're still seeing the error after the registry fix, the WFP filter driver itself might be hosed. Try this:
- Open an elevated command prompt again.
- Run
sfc /scannowand let it finish. It'll check system files and replace any that are corrupt. - If SFC finds issues, run
DISM /Online /Cleanup-Image /RestoreHealthright after it. This fixes the component store SFC relies on. - Reboot, then repeat the netsh reset from the first fix.
What about third-party firewalls?
If you use a third-party firewall (like ZoneAlarm, Comodo, or a corporate one like McAfee Host IPS), uninstall it completely first. Use the vendor's removal tool if they have one. Then apply the netsh reset. Third-party firewalls often hook into WFP in ways that leave null pointers when they're removed badly.
How to stop this happening again
- Never kill a firewall uninstall mid-process. Always use Add/Remove Programs and reboot when prompted.
- Before installing a third-party firewall, disable Windows Defender Firewall through Control Panel, not by stopping the service. Stopping the BFE service can corrupt the policy store.
- Keep Windows Update current. I've seen cumulative updates from 2023 fix this bug on some machines. Run Windows Update and install everything under Quality Updates.
That's it. The 0XC022001C error is a pain, but these steps knock it out nine times out of ten. If you're still stuck after all this, you're probably looking at a deeper driver conflict — try a clean boot with minimal startup items to isolate the culprit.