What does HRESULT 0x88980087 (MILERR_NOTLOCKED) mean?

 
Previous Next
MILERR_ALREADYLOCKED MILERR_DEVICECANNOTRENDERTEXT

MILERR_NOTLOCKED

MILERR_NOTLOCKED is a Windows Media Integration Layer (MIL) HRESULT. It indicates that code attempted to unlock a resource that has no matching active lock.

What to check for MILERR_NOTLOCKED

  • Audit lock and unlock ownership, including early-return, exception, and cancellation paths.
  • Do not reuse a lock token or resource wrapper after ownership has been transferred or released.
  • Add scoped locking or state assertions so an unmatched unlock is detected closer to its source.

Microsoft documentation about WPF hardware-accelerated rendering

Diagnostic interpretation of MILERR_NOTLOCKED

MILERR_NOTLOCKED has the HRESULT value 0x88980087. AllStat records the condition as “Unlock attempted on an unlocked object.”. For MILERR_NOTLOCKED, in practice, interpret that wording at the boundary owned by the Windows component or COM interface that returned the HRESULT, rather than treating the value as a generic Windows message.

Evidence to capture for MILERR_NOTLOCKED

  • Record the exact COM method or Windows API, its input object, the calling thread, and the full 0x88980087 value before a wrapper converts it to an exception or Boolean result.
  • Capture any IErrorInfo text, activity identifier, event-log entry, and subsystem trace that mentions MILERR_NOTLOCKED or the milerr / notlocked operation.
  • For MILERR_NOTLOCKED, compare the failing machine with a working one at the same configuration boundary: component version, policy, registration, identity, and target resource.

Retry and recovery for MILERR_NOTLOCKED

Retry MILERR_NOTLOCKED only when the owning API documents a transient state or after the condition described as “Unlock attempted on an unlocked object.” has changed. For MILERR_NOTLOCKED, configuration, policy, format, and authorization failures normally require correction first; an immediate loop can hide the original call site and add secondary errors.


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