| Previous | Next |
| MILERR_NO_HARDWARE_DEVICE | MILERR_ALREADY_INITIALIZED |
MILERR_NEED_RECREATE_AND_PRESENT
MILERR_NEED_RECREATE_AND_PRESENT is a Windows Media Integration Layer (MIL) HRESULT. It indicates a potentially recoverable presentation failure that requires recreating resources, rerendering, and presenting again.
What to check for MILERR_NEED_RECREATE_AND_PRESENT
- Release and recreate the affected render target, swap chain, or composition resources using the documented recovery path.
- Render the current scene again only after the replacement resources are fully initialized.
- Check for device removal, display changes, and driver resets that caused the failed presentation.
Microsoft documentation about WPF hardware-accelerated rendering
Diagnostic interpretation of MILERR_NEED_RECREATE_AND_PRESENT
MILERR_NEED_RECREATE_AND_PRESENT has the HRESULT value 0x8898008E. AllStat records the condition as “There has been a presentation error that may be recoverable. For MILERR_NEED_RECREATE_AND_PRESENT, the caller needs to recreate, rerender the entire frame, and reattempt present. There are two known case for this: 1) D3D Driver Internal error 2) D3D E_FAIL 2a) Unknown root cause b) When resizing too quickly for DWM and D3D stay in sync”. For MILERR_NEED_RECREATE_AND_PRESENT, 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_NEED_RECREATE_AND_PRESENT
- Record the exact COM method or Windows API, its input object, the calling thread, and the full 0x8898008E 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_NEED_RECREATE_AND_PRESENT or the milerr / need / recreate / and / present operation.
- For MILERR_NEED_RECREATE_AND_PRESENT, 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_NEED_RECREATE_AND_PRESENT
Retry MILERR_NEED_RECREATE_AND_PRESENT only when the owning API documents a transient state or after the condition described as “There has been a presentation error that may be recoverable. For MILERR_NEED_RECREATE_AND_PRESENT, the caller needs to recreate, rerender the entire frame, and reattempt present. There are two known case for this: 1) D3D Driver Internal error 2) D3D E_FAIL 2a) Unknown root cause b) When resizing too quickly for DWM and D3D stay in sync” has changed. For MILERR_NEED_RECREATE_AND_PRESENT, 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.