ERROR_IO_PENDING - 997 (0x3E5)
Overlapped I/O operation is in progress.
Updated: Feb 21, 2026
Technical Meaning
The ERROR_IO_PENDING error code indicates that an overlapped I/O operation has been initiated and is currently in progress. This status is typically returned by functions such as CreateFile, ReadFile, or WriteFile when the operation is performed asynchronously using an overlapped structure.
Error Details
When a function returns ERROR_IO_PENDING, it means that the I/O operation has not yet completed, but the system has acknowledged the request and will process it in the background. The application should continue to run without waiting for the operation to complete immediately.
Usage Context
This error code is commonly encountered when performing asynchronous I/O operations on files or devices using overlapped I/O techniques. It is particularly relevant in scenarios where applications need to perform multiple I/O operations concurrently and do not want to block their execution while waiting for each operation to complete.
Developer Interpretation
Developers should interpret ERROR_IO_PENDING as an indication that the requested I/O operation has been initiated but has not yet completed. The application should handle this status by continuing its execution without blocking, and it can use mechanisms such as event handles or completion ports to be notified when the operation completes.
Related Errors
- ERROR_OPERATION_ABORTED (995, 0x3E1): This error code is returned if an asynchronous I/O operation has been canceled before it could complete. It may occur in conjunction with
ERROR_IO_PENDINGif a cancellation request was issued during the processing of an overlapped I/O operation.
FAQ
What does ERROR_IO_PENDING mean?
It indicates that an I/O operation is currently being processed asynchronously and has not yet completed.
How should my application handle this error code?
Your application should continue running without blocking, as the operation will complete in the background. Use event handles or completion ports to be notified when the operation completes.
Summary
ERROR_IO_PENDING is a specific error code indicating that an asynchronous I/O operation has been initiated but not yet completed. Developers should handle this status by continuing their application's execution and using appropriate mechanisms to monitor the completion of the operation.