Site icon EfmSoft

What does Windows error code 998 (ERROR_NOACCESS) mean?

 
Previous Next
ERROR_IO_PENDING ERROR_SWAPERROR

ERROR_NOACCESS

invalid access to memory location.

ERROR_NOACCESS means that an API attempted to read from or write to a memory address that was not valid for the requested operation.

Where the result appears

  • Win32 APIs receiving a null, stale, truncated, or otherwise invalid pointer.
  • buffer marshalling across process, RPC, COM, driver, or callback boundaries.
  • incorrect structure sizes, packing, alignment, or lifetime management.
  • native extensions called from managed or scripting runtimes.

Typical causes

  • a pointer does not reference committed readable or writable memory.
  • the buffer was freed, moved, or went out of scope before asynchronous completion.
  • the caller supplied an incorrect length or structure version.
  • 32-bit and 64-bit code disagreed about pointer width, packing, or field layout.

What to collect

  • the failing API, parameter index, pointer value, and declared buffer length.
  • process architecture, structure definition, packing options, and cbSize-style fields.
  • call stack, exception telemetry, page protection, and memory-region ownership.
  • whether another thread can release or resize the buffer while the operation is pending.

Handling and recovery

Validate pointers and lengths at the boundary where ownership changes. For asynchronous calls, keep every referenced buffer alive until documented completion. In production, fail the individual operation and preserve a dump or stack trace; retrying the same invalid address is not a recovery strategy.

Common misinterpretation

This code does not mean the machine is out of memory. It describes access to an unsuitable address, not exhaustion of address space or commit.

References


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

Exit mobile version