| Previous | Next |
| STATUS_USER_APC | STATUS_KERNEL_APC |
STATUS_ALREADY_COMPLETE
Another path completed the operation first
Asynchronous operations commonly have competing completion, timeout, cancellation, and teardown paths. This status indicates that the operation’s completion state was already committed before the current path attempted the same transition. It is a race outcome, not permission to run completion callbacks twice.
The state machine should elect exactly one winner to publish the final result and release request-owned resources. Losing paths may still need to drop references or detach timers, but they must not overwrite the final status, signal the same promise again, or free memory already handed to the winner.
What to inspect
- Log which path won completion, which path observed the completed state, and the request generation.
- Use one atomic state transition for complete, cancel, and timeout ownership.
- Separate releasing a path-specific reference from final destruction of the shared request.
- Check for duplicate callbacks, double event signals, and repeated IRP completion around the first occurrence.
References
- Microsoft Open Specifications: NTSTATUS values
- Microsoft Windows SDK metadata: ntstatus.h
- Microsoft WDK: How to complete an IRP in a dispatch routine
- Microsoft: CloseThreadpoolCleanupGroupMembers
Looking for a different code? Search another status or error code.