| Previous | Next |
| STATUS_ALERTED | STATUS_PENDING |
STATUS_TIMEOUT
The timeout interval expired before completion
This status is often a normal branch of a polling or bounded-wait design. It says that the specified interval elapsed; it does not identify why the target object remained nonsignaled or whether an asynchronous operation will complete later.
Cancellation and timeout are separate. If the timed wait guards an IRP, ALPC request, thread-pool callback, or device transaction, the caller must follow that subsystem’s cancellation and lifetime rules before freeing buffers or closing handles. The producer may still own them.
What to inspect
- Record whether the interval was absolute or relative, its units, start time, deadline, and actual elapsed time.
- Check for clock changes only when an absolute-time API is used; relative kernel intervals use different semantics.
- Inspect the producer or object state rather than merely extending the timeout.
- After timeout, cancel or detach according to the underlying API before releasing shared resources.
References
- Microsoft Open Specifications: NTSTATUS values
- Microsoft: WaitForMultipleObjectsEx
- Microsoft WDK: KeWaitForSingleObject
- Microsoft WDK: KeDelayExecutionThread
Looking for a different code? Search another status or error code.