| Anterior | Siguiente |
| STG_E_INSUFFICIENTMEMORY | STG_E_NOMOREFILES |
STG_E_INVALIDPOINTER
Qué significa STG_E_INVALIDPOINTER
STG_E_INVALIDPOINTER corresponde al HRESULT 0x80030009. La llamada recibió un puntero o buffer que no cumple el contrato de la API. La descripción de Windows para este valor es «Puntero no válido.» y su origen se clasifica como winerror.h.
Es un fallo de parámetros/lifetime, no una señal para cambiar el archivo. Suele aparecer con buffers nulos donde no se permiten, memoria ya liberada o estructuras de tamaño incorrecto. Un wrapper puede traducir este HRESULT a una excepción genérica. En telemetría conviene guardar también el valor nativo y la operación COM antes de cruzar esa capa.
Comprobaciones específicas
- Captura la firma de la llamada y los tamaños/contadores asociados a cada buffer.
- Valida que la memoria permanezca viva durante toda llamada y que la estructura use el layout esperado por esa ABI.
- En wrappers, revisa conversiones de string y ownership para evitar punteros temporales.
Cómo volver a un estado válido
Corrige el caller y sus contratos de memoria antes de volver a ejecutar. No manipules el storage para compensar un puntero inválido.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.