| 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
- Microsoft: COM error codes for STG and RPC
- Microsoft: Structured Storage
- Microsoft: IStorage
- Microsoft: IStream
Looking for a different code? Search another status or error code.
