Bug Check 0xCA: PNP_DETECTED_FATAL_ERROR

The PNP_DETECTED_FATAL_ERROR bug check has a value of 0x000000CA. This indicates that the Plug and Play Manager encountered a severe error, probably as a result of a problematic Plug and Play driver.

Important

This article is for programmers. If you're a customer who has received a blue screen error code while using your computer, see Troubleshoot blue screen errors.

PNP_DETECTED_FATAL_ERROR Parameters

Parameter 1 identifies the type of violation.

Parameter 1 Parameter 2 Parameter 3 Parameter 4 Cause of Error

0x1

Address of newly-reported PDO

Address of older PDO which has been duplicated

Reserved

Duplicate PDO: A specific instance of a driver has enumerated multiple PDOs with identical device ID and unique IDs.

0x2

Address of purported PDO

Address of driver object

Reserved

Invalid PDO: An API which requires a PDO has been called with random memory, or with an FDO, or with a PDO which hasn't been initialized.

(An uninitialized PDO is one that has not been returned to Plug and Play by QueryDeviceRelation or QueryBusRelations.)

0x3

Address of PDO whose IDs were queried

Address of ID buffer

1: DeviceID

2: UniqueID

3: HardwareIDs

4: CompatibleIDs

Invalid ID: An enumerator has returned an ID which contains illegal characters or isn't properly terminated. (IDs must contain only characters in the ranges 0x20 - 0x2B and 0x2D - 0x7F.)

0x4

Address of PDO with DOE_DELETE_PENDING set

Reserved

Reserved

Invalid enumeration of deleted PDO: An enumerator has returned a PDO which it had previously deleted using IoDeleteDevice.

0x5

Address of PDO

Reserved

Reserved

PDO freed while linked in devnode tree: The object manager reference count on a PDO dropped to zero while the devnode was still linked in the tree. (This usually indicates that the driver is not adding a reference when returning the PDO in a query IRP.)

0x8

Address of PDO whose stack returned the invalid bus relation

Total number of PDOs returned as bus relations

The index (zero-based) at which the first NULL PDO was found

NULL pointer returned as a bus relation: One or more of the devices present on the bus is a NULL PDO.

0x9

Connection type that was passed

Reserved

Reserved

Invalid connection type passed to IoDisconnectInterruptEx: A driver has passed an invalid connection type to IoDisconnectInterruptEx. The connection type passed to this routine must match the one returned by a corresponding successful call to IoConnectInterruptEx.

0xA

Driver object

IRQL after returning from driver callback

Combined APC disable count after returning from driver callback

Incorrect notify callback behavior: A driver failed to preserve IRQL or combined APC disable count across a Plug 'n' Play notification.

0xB

Related PDO

Removal relations

Reserved

Deleted PDO reported as relation: One of the removal relations for the device being removed has already been deleted.