PNP_DETECTED_FATAL_ERROR (0xCA): what it means and how to fix it
Updated Oct 25, 2026 · Checked against Microsoft documentation · How this page is made
Quick answer
This blue screen error indicates that the Windows Plug and Play Manager encountered a severe failure caused by a faulty hardware driver. It most commonly happens when a driver passes invalid device identifiers or corrupted memory addresses while managing hardware. Disconnecting newly attached peripherals and using diagnostic tools like SetupDiag can help pinpoint the problematic driver.
What it means
Windows uses the Plug and Play (PnP) Manager to detect hardware devices, assign resources, and load the appropriate software drivers automatically. When a device connects or changes state, its driver must communicate with the PnP Manager using strict rules and data structures, such as Physical Device Objects (PDOs).
The bug check PNP_DETECTED_FATAL_ERROR (value 0x000000CA or 0xCA) occurs when a driver makes a critical mistake while interacting with the PnP Manager. Because these errors threaten system stability and memory integrity, Windows halts the operating system immediately rather than risk data corruption.
Why the Plug and Play Manager Halts
The blue screen crash screen provides four diagnostic parameters. The first parameter defines the specific rule that was violated:
- Parameter 1 value 0x1 indicates a duplicate PDO error, where a driver reported multiple device objects sharing identical device and unique identifiers.
- Parameter 1 value 0x2 occurs when an API requiring a PDO received random memory, an improper device object type (FDO), or an uninitialized object that was never returned via QueryDeviceRelation or QueryBusRelations.
- Parameter 1 value 0x3 flags an invalid identifier. A device enumerator returned a device, hardware, or compatible ID containing illegal characters outside the allowed ranges of 0x20 to 0x2B and 0x2D to 0x7F, or supplied an improperly terminated string.
- Parameter 1 value 0x4 means an enumerator attempted to reuse a device object that had already been deleted using IoDeleteDevice.
- Parameter 1 value 0x5 occurs when an object manager reference count dropped to zero while the node remained linked in the device tree, often because the driver omitted an object reference during a query.
- Parameter 1 value 0x8 indicates a NULL pointer was returned as a bus relation in the device list.
- Parameter 1 value 0x9 shows an invalid interrupt connection type was passed to IoDisconnectInterruptEx, failing to match the handle returned by IoConnectInterruptEx.
- Parameter 1 value 0xA happens when a driver callback failed to preserve proper IRQL levels or combined APC disable counts across a PnP notification.
- Parameter 1 value 0xB indicates a device object marked for removal referenced a relation that had already been deleted.
For a regular user, these technical violations mean that a hardware component or its installed driver is misbehaving during device initialization, sleep transitions, or Windows updates.
Common causes
- A faulty Plug and Play device driver enumerating duplicate, invalid, or improperly terminated hardware identifiers.
- A driver passing corrupted memory addresses or uninitialized device objects to the Plug and Play Manager.
- A driver attempting to reference or enumerate devices that have already been deleted.
- Improper interrupt handling or failure to maintain required processor interrupt levels (IRQL) across driver notifications.
- A failed device state transition occurring during hardware connection, wake, or a Windows upgrade.
How to fix it
Safest and most likely fixes first. Readers' answers to "Did this fix it?" reorder this list over time.
Disconnect external hardware
Use this first if the crash started after plugging in a new USB device, adapter, or peripheral.
- Unplug all non-essential external peripherals from your computer, including external drives, webcams, and adapters.
- Restart your computer to see if the operating system boots normally.
- Reconnect your devices one at a time to identify which piece of hardware triggers the crash.
Did this fix it?Analyze upgrade failures with SetupDiag
Use this if the crash occurs during or immediately after attempting a Windows update or upgrade.
- Download the latest version of SetupDiag from Microsoft to your Downloads folder.
- Open Command Prompt by right-clicking it and selecting Run as administrator.
- Navigate to your download folder in the command line.
- Run the command: SetupDiag.exe /Output:C:\SetupDiag\Results.log
- Wait for SetupDiag to finish processing the setup logs.
- Open C:\SetupDiag\Results.log using Notepad to see which driver or component caused the upgrade failure.
Did this fix it?Reset Driver Verifier settings
Use this if Driver Verifier was previously enabled on the computer and might be triggering bug checks during boot.
- Open Command Prompt by selecting Run as administrator.
- Type verifier /querysettings and press Enter to see if verification is currently active.
- Type verifier /reset and press Enter to clear all driver testing configurations.
- Restart your computer to apply the standard driver environment.
Did this fix it?
Is it just you?
25+ Microsoft Q&A threads discuss this. Most recent activity:
- PNP Detected Fatal Error message on laptop keeps coming up, restarts itself, comes back on for 2 minutes, before going back to the fatal error messageDec 30, 2022
- Windows 10 blue screen on bluetooth pairingNov 20, 2022
- Windows 11 Hibernate not functioning properlyOct 16, 2021
- PNP detected fatal errorOct 4, 2020
- Windows fails to boot after updateNov 13, 2020
Checked Oct 24, 2026. Refreshed automatically every few days.
Sources
Frequently asked questions
What is bug check 0x000000CA?
It is the hexadecimal code for PNP_DETECTED_FATAL_ERROR, a Windows blue screen stop code indicating that the Plug and Play Manager encountered an unrecoverable error caused by a device driver.
Can a corrupted device driver cause PNP_DETECTED_FATAL_ERROR?
Yes. The error almost always points to a problematic Plug and Play driver that passed invalid memory addresses, invalid device IDs, or duplicate objects to Windows.
How do I find out which driver caused error 0xCA?
If the crash happened during a Windows upgrade, running the SetupDiag tool will parse the log files and pinpoint the offending driver. Otherwise, examining the crash dump using kernel debugging tools reveals the exact driver object and parameter details.