What does HRESULT 0x80010119 (RPC_E_TOO_LATE) mean?

 
Previous Next
RPC_E_UNSECURE_CALL RPC_E_NO_GOOD_SECURITY_PACKAGES

RPC_E_TOO_LATE

COM process security was initialized too late

RPC_E_TOO_LATE is HRESULT 2147549465 (0x80010119) from winerror.h. The documented description is “Security must be initialized before any interfaces are marshalled or unmarshalled; It cannot be changed once initialized.” The relevant context is the COM/RPC call control, message filtering, apartment routing, marshaling, security negotiation, or remote object lifetime.

Where it is encountered

  • Cross-apartment or cross-process COM method invocation and activation.
  • STA message filtering, reentrancy, call cancellation, timeout, or retry handling.
  • DCOM security initialization, proxy/stub marshaling, OBJREF processing, and server object lifetime.

The immediate focus is a call to CoInitializeSecurity after COM has already initialized security implicitly or marshaled an interface.

What to verify

Verify that the first marshaling, activation, or implicit security event is earlier than the attempted explicit initialization. That condition determines whether the same object can continue, a new object is required, or policy must change.

Correct handling and recovery

Move CoInitializeSecurity to process startup before interface marshaling. Remove competing framework initialization or configure security through supported registration.

Reconcile partial output and server-side effects before attempting the operation again.

Difference from nearby HRESULTs

It is initialization ordering; RPC_E_NO_GOOD_SECURITY_PACKAGES means timely initialization found no acceptable package.

Practical scenario

A service loads a COM plug-in before calling CoInitializeSecurity. Startup is reordered so process security is configured before plug-in activation.

References


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