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. The documented description is “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;

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.

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.

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.