What does NTSTATUS 0xC0040038 (STATUS_PNP_INVALID_ID) mean?

 
Previous Next
STATUS_PNP_IRQ_TRANSLATION_FAILED STATUS_IO_REISSUE_AS_CACHED

STATUS_PNP_INVALID_ID

STATUS_PNP_INVALID_ID reports that a driver returned an invalid identifier for a child device. The useful evidence is the reporting driver and the child identifier named by the original status parameters, because the PnP manager uses those identifiers before it can search the driver store.

Hardware IDs and compatible IDs are bus-generated identification strings that Windows compares with INF model entries. A malformed or inappropriate child ID therefore prevents reliable package matching; installing a random package can hide the real enumeration defect without making the child device valid.

How to investigate

  • Capture the exact ID string, parent bus, child instance, and reporting driver from the first event that contains this status.
  • Compare the reported IDs with the bus-specific identification rules and the INF Models entries intended for the child.
  • Use SetupAPI.dev.log to separate an invalid reported ID from a valid ID that simply has no compatible package.

References


Looking for a different code? Search another status or error code.