What does NTSTATUS 0xC0000018 (STATUS_CONFLICTING_ADDRESSES) mean?

 
Previous Next
STATUS_NO_MEMORY STATUS_NOT_MAPPED_VIEW

STATUS_CONFLICTING_ADDRESSES

The preferred range is not free in the target address space

Allocating or mapping at a fixed base requires the entire rounded range to be available and compatible with allocation-granularity rules. An image, heap, stack, reserved region, mapped view, or another concurrent allocation can occupy part of it. Address-space layout randomization makes hard-coded addresses especially unreliable.

Allow Windows to choose the base unless the application has a documented coordination mechanism. Retrying the same fixed address does not remove the conflict. Use VirtualQuery to identify the occupying region and verify that the requested size did not overflow or round into a neighbor.

What to inspect

  • Query the full requested range and record each existing region type, state, and protection.
  • Check allocation-granularity rounding and integer overflow in base-plus-size calculations.
  • For cross-process shared mappings, negotiate an address only if identical bases are truly required.

References


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