0XC0000045

STATUS_INVALID_PAGE_PROTECTION (0XC0000045) – Real Fix for That BSOD

You'll see this blue screen when a driver or app tries to use virtual memory with invalid page protection. Usually triggered by a corrupt or outdated driver, sometimes by a flaky RAM stick.

What Actually Triggers This BSOD

I saw this error three times last year. The first was a small law firm's accounting machine that blue-screened every time they opened a PDF in Adobe Reader. Another client had it when they plugged in an old USB 3.0 drive. The third was a gaming rig that crashed during Cyberpunk 2077. The common thread? The OS tried to access memory with a protection flag that didn't match what the hardware expected. That mismatch triggers STATUS_INVALID_PAGE_PROTECTION (0xC0000045).

Root Cause in Plain English

Windows manages memory in pages (4KB chunks). Each page has a protection attribute—read-only, read-write, no-execute, etc. When a driver or application requests access that violates that setting (like trying to write to a read-only page), the kernel throws this stop code. It's almost never a random hardware failure. Nine times out of ten it's a buggy driver that doesn't respect memory permissions. Sometimes it's a corrupted system file. Rarely, it's faulty RAM that's flipping bits.

The Fix – Step by Step

1. Boot into Safe Mode with Networking

You can't fix much if the system keeps crashing before you log in. Mash F8 during startup, or if you're on Windows 10/11, hold Shift while clicking Restart. Choose Troubleshoot > Advanced Options > Startup Settings > Restart. Then press 5 for Safe Mode with Networking. If you get through, you can work safely.

2. Run the Windows Memory Diagnostic

Press Win+R, type mdsched.exe, hit Enter. Choose to restart now and check for problems. This takes 15-30 minutes. Let it run. If it finds errors, you've got bad RAM—replace it. If it passes, move on.

3. Check and Repair System Files

Open Command Prompt as Administrator. Run:
sfc /scannow
Let it finish. Then run:
DISM /Online /Cleanup-Image /RestoreHealth
DISM repairs the system image that SFC uses. I've had DISM fix corruption that SFC alone couldn't touch. Reboot after both.

4. Update or Roll Back Problem Drivers

This is where most real fixes live. Look at the bug check parameters in the blue screen (the hex values after the error code). If you can't read them (they flash fast), use a tool like BlueScreenView from NirSoft to grab them on reboot. The first parameter (Arg1) often points to the driver. Common culprits: ntoskrnl.exe (system crash), win32k.sys (graphics), or a third-party driver like nvlddmkm.sys (NVIDIA) or athw8x.sys (Qualcomm Wi-Fi).

If you see a specific driver name, open Device Manager, find that device, right-click > Properties > Driver tab. Try Roll Back Driver first if you recently updated. Otherwise, check the manufacturer's site for a newer version. For graphics, download the latest driver from NVIDIA, AMD, or Intel directly—don't rely on Windows Update.

5. Run Check Disk

Open Command Prompt as Admin, run:
chkdsk /f /r
It'll ask to schedule on next reboot. Type Y, then restart. This checks for file system corruption and bad sectors on your drive. A failing SSD or HDD can cause memory page corruption that looks like a driver issue.

6. Disable Fast Startup (Windows 10/11)

Fast Startup is a hybrid shutdown that saves kernel state to disk. If that state gets corrupted, it can cause page protection errors. Go to Control Panel > Power Options > Choose what the power buttons do > Change settings that are currently unavailable. Uncheck Turn on fast startup. Reboot. I've seen this alone fix persistent BSODs on older machines.

If It Still Fails

If you've done all steps and still see 0xC0000045, you're likely dealing with a deeper hardware issue. Try these:

  • Test RAM with MemTest86 – boot from a USB and run at least 4 passes. Windows Memory Diagnostic is okay, but MemTest86 is way more thorough. One client had a single bad address that only showed up after 6 hours of testing.
  • Check motherboard standoffs – I had a build where a loose standoff was shorting a memory trace. Reseating the board in the case fixed it.
  • Update BIOS – motherboard vendors regularly fix memory compatibility bugs. Check your manufacturer's site for the latest BIOS version.
  • Replace the drive – if chkdsk found lots of bad sectors, that drive is dying. Clone it to a new SSD and see if the error disappears.

Last tip: if this is happening in a virtual machine (VMware, Hyper-V), update the VM tools and integration services. Virtual memory is trickier inside a VM and old tools can cause exactly this error.
Related Errors in Windows Errors
0X00003610 Fix ERROR_IPSEC_IKE_PROCESS_ERR_NOTIFY (0x00003610) – VPN Notify Payload 0X80040002 OLE_E_ENUM_NOMORE (0x80040002): Fix Missing Enum Data Fast 0XC00D106A Fix NS_E_ASX_INVALIDVERSION: WMP Playlist Error 0X000008FA Fix NERR_DeleteLater (0X000008FA) — Message Alias Deleted Later

Was this solution helpful?

EP
Erropedia Team
Tech Support Editors
The Erropedia editorial team researches and documents real-world tech errors from across Windows, Linux, macOS, networking, databases, cloud platforms, and more. Every solution is reviewed for accuracy and updated as software and systems evolve.