Site icon EfmSoft

What does HRESULT 0x80000015 (RO_E_CHANGE_NOTIFICATION_IN_PROGRESS) mean?

 
Could be also:
ConstantTypeOS
STATUS_INVALID_EA_FLAGNTSTATUSWindows
Previous Next
RO_E_EXCLUSIVE_WRITE RO_E_ERROR_STRING_NOT_FOUND

RO_E_CHANGE_NOTIFICATION_IN_PROGRESS

Operation is prohibited during change notification

RO_E_CHANGE_NOTIFICATION_IN_PROGRESS is HRESULT 2147483669 (0x80000015) from winerror.h. The documented description is “Operation is prohibited during change notification.” The relevant context is the Windows Runtime metadata, object lifetime, asynchronous operation, activation, and apartment model.

Where it is encountered

  • C++/WinRT, WRL, .NET projections, or native WinRT ABI calls.
  • Runtime-class activation, WinMD reflection, asynchronous objects, observable state, or view lifecycle.
  • Cross-thread and cross-apartment handoff between UI, ASTA, STA, MTA, broker, and background work.

The immediate focus is a reentrant mutation or query that the object forbids while it is notifying observers about an earlier change. Keep this result attached to that operation; the same numeric severity outside the owning API does not supply enough context.

What to verify

Verify that the active notification, callback stack, and deferred operation are correlated so the caller can execute after notification unwinds. This distinction prevents it from being misclassified as corruption, network failure, or a reason for an unsafe automatic retry.

Correct handling and recovery

Queue the work for a later dispatcher turn or post-notification phase. Keep notification handlers short and avoid recursively mutating the same object.

Practical scenario

A collection-changed handler immediately edits the same observable collection. The application posts the edit to the dispatcher and applies it after the current notification.

Difference from nearby HRESULTs

It is a reentrancy guard; RO_E_EXCLUSIVE_WRITE is a writer-ownership conflict that may occur outside callbacks.

Developer and administrator guidance

Change the smallest component, identity, ACL, package, or threading boundary that the evidence identifies, then reproduce the same operation.

References


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

Exit mobile version