What does HRESULT 0xC1220300 (WDSTPC_E_CALLBACKS_NOT_REG) mean?

 
Previous Next
EVT_WDSMCS_E_NSREG_FAILURE WDSTPC_E_ALREADY_COMPLETED

WDSTPC_E_CALLBACKS_NOT_REG

WDSTPC_E_CALLBACKS_NOT_REG is a WDS Transport Client lifecycle error. The client API requires callback registration to be complete before WdsTransportClientStartSession; once a session has started, additional callbacks cannot be registered.

Build the callback table before starting the session

  • Call WdsTransportClientRegisterCallback for every callback required by the consumer before the start call.
  • Log each TRANSPORTCLIENT_CALLBACK_ID and registration return value; do not infer success from a non-null function pointer in application state.
  • Keep optional metadata handling separate from required session/data/completion callbacks.

Microsoft explicitly documents the ordering constraint on both the registration and start APIs. The right fix is not to retry StartSession in a loop: first identify the missing callback registration or the earlier registration failure. A useful trace records initialization, session creation, each callback ID, and the start transition in order so race conditions in multi-threaded wrapper code are visible.

RegisterCallback contract · StartSession contract · WDS client API


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