Skip to content
0x000000CAPNP_DETECTED_FATAL_ERRORStop codeWidely reported

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.

  1. Disconnect external hardware

    Use this first if the crash started after plugging in a new USB device, adapter, or peripheral.

    1. Unplug all non-essential external peripherals from your computer, including external drives, webcams, and adapters.
    2. Restart your computer to see if the operating system boots normally.
    3. Reconnect your devices one at a time to identify which piece of hardware triggers the crash.
    Did this fix it?
  2. Analyze upgrade failures with SetupDiag

    Use this if the crash occurs during or immediately after attempting a Windows update or upgrade.

    1. Download the latest version of SetupDiag from Microsoft to your Downloads folder.
    2. Open Command Prompt by right-clicking it and selecting Run as administrator.
    3. Navigate to your download folder in the command line.
    4. Run the command: SetupDiag.exe /Output:C:\SetupDiag\Results.log
    5. Wait for SetupDiag to finish processing the setup logs.
    6. Open C:\SetupDiag\Results.log using Notepad to see which driver or component caused the upgrade failure.
    Did this fix it?
  3. Reset Driver Verifier settings

    Use this if Driver Verifier was previously enabled on the computer and might be triggering bug checks during boot.

    1. Open Command Prompt by selecting Run as administrator.
    2. Type verifier /querysettings and press Enter to see if verification is currently active.
    3. Type verifier /reset and press Enter to clear all driver testing configurations.
    4. 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:

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.