What does HRESULT 0x80030070 (STG_E_MEDIUMFULL) mean?

 
Previous Next
STG_E_INVALIDPARAMETER STG_E_PROPSETMISMATCHED

STG_E_MEDIUMFULL

Space is needed at commit time

STG_E_MEDIUMFULL means the storage implementation could not obtain enough persistent space for the operation. It can occur after an application has modified data in memory and attempts to publish the change through IStorage::Commit. In a transacted workflow, the final commit may need space for changed streams, allocation structures, and temporary state; free space observed before editing is not a guarantee that a later commit will fit.

This result should not be collapsed into STG_E_WRITEFAULT. STG_E_MEDIUMFULL is specifically a capacity condition. The relevant limit may be the local volume, a network quota, a container/virtual-disk allocation, or a temporary location used by the application.

What to do

  • Check available space and quotas on both the destination and any configured temporary/work location.
  • Call and check IStorage::Commit before releasing the root storage; release cannot report a later write failure.
  • Keep the last known-good document until the new version has committed successfully.
  • For batch jobs, reserve headroom and limit parallel writers so temporary usage does not spike unpredictably.

References


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