What does HRESULT 0x80030107 (STG_E_NOTFILEBASEDSTORAGE) mean?

 
Previous Next
STG_E_SHAREREQUIRED STG_E_EXTANTMARSHALLINGS

STG_E_NOTFILEBASEDSTORAGE

STG_E_NOTFILEBASEDSTORAGE: exact failure boundary

0x80030107 corresponds to STG_E_NOTFILEBASEDSTORAGE. The platform message is Illegal operation called on non-file based storage. This result is returned while a method whose semantics depend on a physical file path or file handle. The diagnostic question is whether the target IStorage implementation is memory-backed, custom, or otherwise not file based.

Evidence to capture

  • Record this result, 0x80030107, the native method name, process and thread IDs, operation ID, component build, architecture, and elapsed time.
  • Capture stream names, offsets, lengths, transaction state, backing path, and the validity of partially written output.
  • Keep IErrorInfo, provider extended status, relevant device/storage events, and the first lower-level failure.
  • When handling this result, release interfaces in child-before-parent order, close native handles once, and do not commit or replace output whose validity is uncertain.

Likely causes to separate

  • The caller assumes every IStorage maps to a file.
  • A package or memory provider is passed to a file-only extension.
  • Code tries to obtain file-specific metadata from abstract storage.

Focused diagnostic test

Reproduce the same native call with the same object identity and change one cause candidate at a time. Preserve the first provider or lower-layer result and compare object state before cleanup. A different HRESULT after one controlled change is a new boundary, not proof that the original operation is fully repaired.

Correction

branch on provider capability and use interface-level operations for non-file storage.

Verification

After correction, repeat the operation that returned this result. Verify the intended API operation completes and that any output, ownership transfer or persistent state is valid; do not treat disappearance of the dialog alone as success.

Technical references


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