Site icon EfmSoft

What does NTSTATUS 0x40000005 (STATUS_SEGMENT_NOTIFICATION) mean?

 
Previous Next
STATUS_RXACT_STATE_CREATED STATUS_LOCAL_USER_SESSION_KEY

STATUS_SEGMENT_NOTIFICATION

This is a debugger-visible event from 16-bit segmented execution

STATUS_SEGMENT_NOTIFICATION belongs to the Virtual DOS Machine compatibility model described by its NTSTATUS text. MS-DOS and Win16 code uses segmented addressing, so loading, unloading, or relocating a program segment changes the address context in which symbols and breakpoints are meaningful. The status is raised as a notification so a debugger can update that tracking.

This is not a normal 32-bit or 64-bit PE image-load notification. Microsoft documents NTVDM as the environment used to run 16-bit Windows and DOS applications on supported 32-bit Windows systems, while 64-bit Windows does not include NTVDM. Selector inspection APIs expose descriptor information for segment selectors, which illustrates why debugger state for segmented code differs from symbol tracking for a flat address space.

When the status appears in a debugger or compatibility trace, inspect the VDM process, segment/selector identity, operation type, and debugger handling path. Do not convert the notification into an application failure merely because an exception-style event was delivered. Conversely, if breakpoints become stale after a segment move, verify that the debugger consumed the notification and refreshed symbol/segment mappings rather than blaming the 16-bit program image itself.

What to inspect

  • Distinguish a VDM segment notification from a native PE/DLL image-load event.
  • Record whether the segment was loaded, unloaded, or moved and preserve its selector/segment identity.
  • Check debugger symbol and breakpoint remapping when the application continues but debugging state becomes incorrect.

References


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

Exit mobile version