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 flawed Plug and Play driver.
The following parameters are displayed on the blue screen. Parameter 1 identifies the type of violation.
| Parameter 1 | Parameter 2 | Parameter 3 | Parameter 4 | Cause of Error |
|---|---|---|---|---|
| 0x01 | 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. |
| 0x02 | 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.) |
| 0x03 | 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.) |
| 0x04 | 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. |
| 0x05 | 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.) |