| Anterior | Siguiente |
| STG_E_INVALIDHANDLE | STG_E_INVALIDPOINTER |
STG_E_INSUFFICIENTMEMORY
Qué significa STG_E_INSUFFICIENTMEMORY
STG_E_INSUFFICIENTMEMORY corresponde al HRESULT 0x80030008. No hubo memoria o recursos suficientes para completar la operación de storage. La descripción de Windows para este valor es «No hay memoria suficiente para completar la operación.» y su origen se clasifica como winerror.h.
Además de memoria virtual, algunas implementaciones reservan buffers, mapping views o estructuras por stream; la causa útil se obtiene midiendo el recurso que falla en ese momento. El dato decisivo no es solo el bit de severidad del HRESULT, sino el contrato de la llamada que lo devolvió y el estado del objeto en ese instante.
Diagnóstico práctico
- Registra commit, working set y tamaño de la operación justo antes del HRESULT.
- Comprueba si el input induce una asignación desproporcionada o si existe crecimiento sostenido entre llamadas.
- Distingue agotamiento del proceso de un fallo de asignación dentro de un provider de 32 bits o componente aislado.
Tratamiento seguro
Reduce la presión, corrige fugas y limita tamaños no confiables. Reintenta solo después de que el recurso se haya liberado y la operación sea segura de repetir.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.