| Previous | Next |
| ERROR_INVALID_FIELD | ERROR_INSTALL_ALREADY_RUNNING |
ERROR_DEVICE_REMOVED
The I/O path lost the device instance that owned the request
PnP distinguishes orderly removal from surprise removal, but either path eventually tears down the software representation of the device. Once a device is removed, drivers must stop accepting new work that requires the hardware and complete or fail outstanding requests according to their removal state.
For an application, reopen the device only after receiving a new arrival and obtaining a current interface path; an old handle does not become valid for a newly enumerated instance. For driver debugging, correlate the request with IRP_MN_SURPRISE_REMOVAL or IRP_MN_REMOVE_DEVICE and verify remove-lock usage and queue draining. If removal was unexpected, inspect the physical bus, power, or transport events that caused the parent bus to report the child as gone.
What to inspect
- Determine whether the removal was orderly or surprise removal.
- Discard stale interface paths and handles before opening a re-enumerated device.
- Trace the parent bus event that caused the child to disappear.
References
- Microsoft: when PnP remove IRPs are issued
- Microsoft: removing a device in a function driver
- Microsoft: PnP device state transitions
Looking for a different code? Search another status or error code.