Site icon EfmSoft

¿Qué significa el código HRESULT 0x00030201 (STG_S_BLOCK)?

 
Anterior Siguiente
STG_S_CONVERTED STG_S_RETRYNOW

STG_S_BLOCK

Qué significa STG_S_BLOCK

STG_S_BLOCK corresponde al HRESULT 0x00030201. La operación asíncrona de storage debe bloquearse hasta que haya más datos disponibles. La descripción de Windows para este valor es «La operación de almacenamiento debe bloquearse hasta que haya más datos disponibles.» y su origen se clasifica como winerror.h.

En escenarios IFillLockBytes/progressive download este status coordina consumidor y productor. No es un error del archivo por sí mismo. En esta familia el valor debe leerse junto con la interfaz COM y la fase exacta de la operación; cambiar el archivo o reintentar sin ese contexto suele ocultar la causa.

Qué comprobar

  • Registra el rango de bytes solicitado y el extent actualmente disponible.
  • Asegura que el wait tenga cancelación y timeout controlados por la capa superior.
  • Comprueba que el productor notificará progreso; de lo contrario puede aparecer un bloqueo indefinido.

Tratamiento seguro

Espera la notificación de progreso según el contrato y reevalúa el rango. No conviertas STG_S_BLOCK en un busy loop.

Prueba después del cambio

Comprueba que el consumidor progresa hasta un estado terminal y que cada wait/retry corresponde a un cambio observable de disponibilidad, no a un bucle de scheduling.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.

Exit mobile version