What does HRESULT 0x003D0000 (WS_S_ASYNC) mean?

 
Previous Next
SDIAG_S_CANNOTRUN WS_S_END

WS_S_ASYNC

Windows Web Services operation is completing asynchronously

WS_S_ASYNC is HRESULT 3997696 (0x003D0000) from winerror.h. AllStat describes it as “The function call is completing asynchronously.” In the Windows Web Services asynchronous or channel receive state, the value reports a nonfailure state that must not be collapsed into plain S_OK.

Wrappers should not translate this result to an undifferentiated Boolean before state handling finishes.

Where the status is encountered

  • Windows Web Services channel send and receive operations; capture the exact API, object, and phase because the same numeric success severity does not define the state by itself.
  • WS_ASYNC_CONTEXT callback completion;
  • Session shutdown and end-of-input handling;

Keep it attached to the operation that returned it. Interpreting it outside that API contract can turn a normal continuation or partial result into an incorrect retry or false completion.

What must be true before accepting it

Verify that a WS_ASYNC_CONTEXT and callback are valid and the callback owns final completion exactly once. That proof prevents usable partial state from being confused with full completion.

Also confirm that returned outputs belong to the current operation generation and were not inherited from an earlier attempt.

Correct handling and recovery

Keep operation inputs and WS objects alive, return control without consuming final outputs, and process the callback result. Do not issue a duplicate operation on the same state.

Retry after it only when a recorded input, capability, resource, policy, or state has changed.

Difference from nearby results

Any other success or failure value is final for that call; it specifically promises later callback completion.

Precise classification of it selects the correct wait, stop, retry, cleanup, or disclosure path.

Practical scenario

WsReceiveMessage starts network I/O and returns it. The channel state remains busy until the callback provides the final HRESULT.

References


Looking for a different code? Search another status or error code.