Site icon EfmSoft

What does HRESULT 0x800300F0 (STG_E_PROPSETMISMATCHED) mean?

 
Previous Next
STG_E_MEDIUMFULL STG_E_ABNORMALAPIEXIT

STG_E_PROPSETMISMATCHED

Non-simple value written to a simple property set

STG_E_PROPSETMISMATCHED is HRESULT 2147680496 (0x800300F0) from winerror.h. AllStat describes it as “Illegal write of non-simple property to simple property set.” The result belongs to IPropertyStorage operations on OLE property sets. The symbol this result is useful only when tied to the method and lifecycle phase where the caller attempts to place a complex property representation into a property set created for simple values.

The decisive meaning of this result is that the caller attempts to place a complex property representation into a property set created for simple values. The severity bit does not decide handling; the controlling fact is that the caller attempts to place a complex property representation into a property set created for simple values. A reliable it diagnosis preserves the raw value and reconstructs the state that made this true: the caller attempts to place a complex property representation into a property set created for simple values.

Where the result appears

An incident record for it must distinguish caller, runtime, provider, and backing resource while testing whether the caller attempts to place a complex property representation into a property set created for simple values.

Typical causes and interpretation boundary

The immediate contract boundary is specific: the caller attempts to place a complex property representation into a property set created for simple values. Common cause branches include the following:

Confirm the cause branch that explains why the caller attempts to place a complex property representation into a property set created for simple values by using call arguments, object state, metadata, device information, or provider traces.

Correct handling and recovery

The primary recovery is to convert the value to a supported simple representation or create a nonsimple property set with the intended schema. The result failure report should expose enough IPropertyStorage operations on OLE property sets state to understand why the caller attempts to place a complex property representation into a property set created for simple values without a production debugger.

The owner of it must define idempotency, cancellation, attempt limits, and reconciliation for the failed IPropertyStorage operations on OLE property sets. Reconcile persistent, remote, device, or ownership state before repeating it.

Practical scenario

A document indexer copies a VT_STREAM custom property into a simple SummaryInformation property set and must instead store a string reference. Record the decisive state for it and verify recovery on a fresh object or request generation.

Difference from related HRESULTs

STG_E_INVALIDPARAMETER rejects malformed property arguments; it specifically identifies a simple-versus-nonsimple property-set mismatch 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 caller attempts to place a complex property representation into a property set created for simple values points to that layer. Repair for it should target only the evidence-backed component, provider, document, device, or configuration.

References


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

Exit mobile version