| Previous | Next |
| STATUS_TIMEOUT | STATUS_REPARSE |
STATUS_PENDING
The operation will complete asynchronously
STATUS_PENDING transfers completion responsibility to a later path. In driver I/O, a lower driver can mark an IRP pending and complete it after the dispatch routine returns. User-mode native calls can likewise report pending while an event, APC, or I/O completion mechanism will deliver the final result.
The value is not the final success or failure status. Buffers, events, file objects, callback contexts, and the I/O status block must remain valid until completion. Reading output immediately or completing the same IRP from two paths produces races and memory corruption.
What to inspect
- Identify the completion mechanism and the object that owns the request after the pending return.
- Propagate pending state correctly through layered drivers with
IoMarkIrpPendingwhen required. - Keep every referenced buffer and context alive until the final completion callback runs.
- Log both the initial pending result and the later final status under one request identifier.
References
- Microsoft Open Specifications: NTSTATUS values
- Microsoft WDK: IoMarkIrpPending
- Microsoft WDK: How to complete an IRP in a dispatch routine
- Microsoft WDK: Different ways of handling IRPs
Looking for a different code? Search another status or error code.