What does BSOD 328 (IO_OBJECT_INVALID) mean?

 
Could be also:
ConstantTypeOS
ERROR_INVALID_FIELD_IN_PARAMETER_LISTWin32 errorWindows
Previous Next
ABNORMAL_RESET_DETECTED REFS_FILE_SYSTEM

IO_OBJECT_INVALID

Invalid kernel I/O object

IO_OBJECT_INVALID is bug check code 0x00000148. The built-in table identifies it as IO_OBJECT_INVALID; the useful diagnostic question is what Windows component raised the stop and which invariant failed.

This bug check points to I/O manager object misuse: a driver used, referenced, completed, or passed an object whose type, lifetime, state, or ownership did not match the required contract.

How to read the parameters

  • The object address and stack are more useful than the numeric code alone.
  • Look for device objects, file objects, IRPs, and completion paths that outlive their valid lifetime.
  • It can be exposed by surprise removal, cancellation, cleanup, close, or power/PnP transitions.

What to check in the dump

  • Use Driver Verifier with I/O verification for the suspected driver.
  • Inspect reference counting, cancel routines, remove locks, IRP completion ownership, and teardown paths.
  • Check whether a filter driver reused an object after lower-driver completion or device removal.

References


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