| Previous | Next |
| STATUS_INVALID_DEVICE_STATE | STATUS_DEVICE_PROTOCOL_ERROR |
STATUS_IO_DEVICE_ERROR
The I/O reached the device but did not complete successfully
This is a broad hardware-facing status used when the lower stack cannot map the failure to a narrower condition. The useful details are usually in class-specific completion data: storage sense information, USB status, bus error registers, firmware logs or the request’s information field.
A generic status should increase, not reduce, the effort to preserve lower-level evidence. Separate media, link, controller, timeout and removal cases before deciding whether to retry. Repeated retries against failing hardware can worsen data loss or keep the device busy long enough to obscure the original event.
What to inspect
- Capture the complete request, lower-level protocol status and transferred byte count.
- Check bus and device logs at the same timestamp for reset, timeout or media errors.
- Reproduce with a minimal operation and alternate path only after preserving diagnostics.
References
- Microsoft: Using NTSTATUS values
- Microsoft: Interpreting storage sense data
- Microsoft: Windows Hardware Error Architecture
- Microsoft Open Specifications: NTSTATUS values
- ReactOS source: storage class PnP and error handling
Looking for a different code? Search another status or error code.