| Previous | Next |
| RPC_S_INVALID_ASYNC_HANDLE | RPC_X_PIPE_CLOSED |
RPC_S_INVALID_ASYNC_CALL
The requested action conflicts with the async call lifecycle
RPC_S_INVALID_ASYNC_CALL differs from an invalid handle: the state object can be recognized, but the associated call is not valid for the requested operation. Examples include completing twice, querying or canceling after final completion, using a client-side operation on server state, or acting before the asynchronous call has been issued successfully.
Model the lifecycle explicitly: initialize, issue, wait or query, optionally cancel, and perform exactly one final completion path. Record every transition atomically when multiple threads can observe the call. Do not infer that a notification alone authorizes completion; obtain current status and follow the documented API contract.
What to inspect
- Maintain a single owner for terminal completion of each async call.
- Reject duplicate cancel, abort, or complete operations in application code.
- Correlate notifications with the exact RPC_ASYNC_STATE instance.
References
Looking for a different code? Search another status or error code.