| Previous | Next |
| RPC_S_SEC_PKG_ERROR | RPC_X_INVALID_ES_ACTION |
RPC_S_NOT_CANCELLED
Cancellation was requested, but the call remained uncancelled
RPC_S_NOT_CANCELLED indicates that a cancellation operation did not transition the target call to a canceled state. Cancellation is state-dependent: the call might already be complete, not yet safely cancelable from another thread, or running server code that has not observed a nonabortive cancellation request.
Correlate the cancel request with the originating thread, async-state object, and final completion result. For asynchronous calls, the client must still complete the call and inspect its terminal status. On the server, long-running work should test for cancellation at safe points. Do not assume that issuing cancel proves the operation stopped or rolled back.
What to inspect
- Record call state immediately before and after the cancel request.
- Ensure another thread cancels only after the initiating call returned successfully.
- Confirm server work checks and honors cancellation where appropriate.
References
- Microsoft: abortive and nonabortive async cancellation
- Microsoft: obtaining the final async result
- Microsoft: asynchronous RPC error handling
Looking for a different code? Search another status or error code.