| Previous | Next |
| MEM_E_INVALID_ROOT | MEM_E_INVALID_SIZE |
MEM_E_INVALID_LINK
MEM_E_INVALID_LINK — 0x80080010
MEM_E_INVALID_LINK means an allocation chain contains a link pointer that creates an out-of-range hop, cycle, or reference inconsistent with the storage allocation tables.
The contract behind the HRESULT
Structured-storage failures are best investigated on a byte-for-byte copy. Sector ownership, FAT or miniFAT links, stream sizes, commit state, and the file hash belong in the same record; opening and resaving the only copy can destroy the allocation pattern that identifies the writer defect.
An invalid root fails at the chain’s starting reference; an invalid link fails after traversal has already begun.
Diagnostic worksheet
- Storage image hash, sector size, FAT/DIFAT/miniFAT tables, and the affected stream
- Chain traversal showing the first invalid next-sector value
- File length and any interrupted copy, crash, or concurrent write
- Result from an independent compound-file parser without modifying the evidence
Reproduce the condition safely
- Validate a clean file from the same application version.
- Walk only the affected stream chain and stop at the first repeated/out-of-range sector.
- Regenerate the file and compare allocation layout after a normal commit.
Closing the incident
Apply the smallest change that addresses the first rejected condition: Replace the corrupted storage from a known-good source and correct the non-atomic writer, truncation, or transfer mechanism.
Close the incident only when all chains terminate correctly, no sector is multiply owned unexpectedly, and the storage survives repeated commit/reopen cycles.
Technical references
Looking for a different code? Search another status or error code.