| Previous | Next |
| ERROR_FILE_HANDLE_REVOKED | ERROR_ENCRYPTED_IO_NOT_POSSIBLE |
ERROR_IMAGE_AT_DIFFERENT_BASE
an executable image was mapped at a different base address and relocations were applied.
ERROR_IMAGE_AT_DIFFERENT_BASE means that this condition The loader could not place a PE image at its preferred virtual address, so it mapped the image elsewhere and processed its relocation table. The message is generally informational when fixups succeed.
Where the result appears
- loader diagnostics for DLLs whose preferred address range is occupied.
- debugger or tracing output during process startup.
- legacy images built with fixed or overlapping base addresses.
- ASLR operation that intentionally randomizes image placement.
What the result tells you
The value identifies a specific Windows state, but it does not by itself identify the component that introduced that state. Preserve the original this result value, the API or subsystem that produced it, and the object being operated on. A wrapper that replaces it with a generic exception or Boolean failure removes the distinction needed to choose the correct recovery path.
Diagnostic evidence to collect
- image path, preferred image base, and actual mapped base.
- whether the image contains a valid relocation directory.
- loader events and any later STATUS_CONFLICTING_ADDRESSES or relocation failure.
- build flags such as DYNAMICBASE, fixed-base settings, and architecture.
Correlate the result evidence on one timeline. The first event that changes the state associated with this result is usually more valuable than later retries returning the same code. Record process and thread identity, session, timestamp, API parameters, and the immediately preceding successful operation.
Handling and recovery
Do not fail an application solely because of this status when loading completed. Investigate only when relocation cost, missing relocations, pointer assumptions, or a later loader error causes a real problem. Modern binaries should support ASLR and avoid relying on a fixed address.
Retry after this result only when the evidence shows that an external condition can change. When it is caused by malformed input, revoked authority, unsupported state, hardware damage, or an offline maintenance requirement, an unchanged retry adds noise and can overwrite the earliest useful diagnostics.
Common misinterpretation
Mapping at a different base is not the same as loading the wrong file. It describes virtual-address placement of the intended image.
Guidance for developers
Keep it in its Win32/LRESULT domain in structured telemetry. When converting it to an HRESULT, exception, RPC response, or JSON field, retain the source domain and numeric value alongside the human-readable text. Do not branch on the localized message string for this Win32 error.
A test should construct the specific state, assert the exact result, and verify that partial resources are released. The recovery test for this Win32 error should prove that the operation is either deferred until a measurable state change or fails without an uncontrolled retry loop.
References
Looking for a different code? Search another status or error code.