| Previous | Next |
| STG_E_OLDDLL | STG_E_NOTFILEBASEDSTORAGE |
STG_E_SHAREREQUIRED
Required legacy file-sharing support is unavailable
STG_E_SHAREREQUIRED is HRESULT 2147680518 (0x80030106) from winerror.h. AllStat describes it as “Share.exe or equivalent is required for operation.” The result belongs to legacy structured-storage access that depends on system share semantics. The symbol this result is useful only when tied to the method and lifecycle phase where the requested operation requires Share.exe or an equivalent sharing mechanism that is not active.
Where the result appears
- This result can surface in a IStorage, IStream, ILockBytes, property storage, compound-file parsing, or persistence code.
- map the failure to one concrete operation among StgOpenStorage, StgCreateStorageEx, IStorage, IStream, IPropertyStorage, STATSTG, and the selected STGM mode.
- Preserve storage path or identity, STGM mode, stream or storage name, transaction generation, file hash, and backing provider before releasing or replacing the object that returned this result.
Typical causes and interpretation boundary
Common cause branches include the following:
- A legacy environment lacks the expected sharing component.
- Compatibility mode was removed from the deployment.
- The application assumes DOS-era locking semantics.
Confirm the cause branch that explains why the requested operation requires Share.exe or an equivalent sharing mechanism that is not active by using call arguments, object state, metadata, device information, or provider traces.
Correct handling and recovery
The primary recovery is to run the workload only in its supported compatibility environment or migrate it to modern sharing and locking APIs. The result failure report should expose enough legacy structured-storage access that depends on system share semantics state to understand why the requested operation requires Share.exe or an equivalent sharing mechanism that is not active without a production debugger.
The owner of it must define idempotency, cancellation, attempt limits, and reconciliation for the failed legacy structured-storage access that depends on system share semantics. Reconcile persistent, remote, device, or ownership state before repeating it.
Practical scenario
A preserved 16-bit document utility runs without its expected sharing layer and cannot establish the lock semantics used by its compound files. Record the decisive state for it and verify recovery on a fresh object or request generation.
Difference from related HRESULTs
STG_E_SHAREVIOLATION reports a conflicting share; it says the required sharing facility itself is absent Tests and telemetry should preserve that boundary for it.
Developer and administrator guidance
Developers handling it should make object lifetime and state transitions explicit, preserve the native HRESULT, and keep cleanup paths safe when initialization or output is partial. Exercise direct and transacted modes, read-only and writable paths, cancellation, malformed input, and cleanup after partial output.
Broad permission or compatibility changes are inappropriate unless evidence for the requested operation requires Share.exe or an equivalent sharing mechanism that is not active points to that layer. Repair for it should target only the evidence-backed component, provider, document, device, or configuration.
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.