Site icon EfmSoft

¿Qué significa el código HRESULT 0x80072EF2 (WININET_E_INCORRECT_HANDLE_TYPE)?

 
Anterior Siguiente
WININET_E_OPERATION_CANCELLED WININET_E_INCORRECT_HANDLE_STATE

WININET_E_INCORRECT_HANDLE_TYPE

Qué significa WININET_E_INCORRECT_HANDLE_TYPE

WININET_E_INCORRECT_HANDLE_TYPE (-2147012878, 0x80072EF2) indica que la función recibió un HINTERNET cuya clase interna no corresponde a la operación. WinINet crea distintos objetos para la sesión, la conexión y la solicitud; aunque todos se representen mediante el mismo tipo de handle en C/C++, no son intercambiables.

Este resultado se diferencia de WININET_E_INCORRECT_HANDLE_STATE: aquí el problema es qué clase de objeto se pasó, no en qué fase se encuentra un objeto correcto.

Qué comprobar

  • Identifica la API que falla y determina si espera un handle de sesión, de conexión o de request.
  • Revisa wrappers, casts y campos reutilizados que puedan haber sustituido accidentalmente un handle por otro.
  • Comprueba la relación padre-hijo creada por InternetOpen, InternetConnect y HttpOpenRequest; conserva cada resultado en un miembro con tipo lógico distinto.

Cómo aislar el defecto

Registra en la creación de cada objeto un ID propio y su clase lógica. En el punto del fallo, anota la dirección/valor del handle y el ID esperado. Si una abstracción expone todos los handles como una única variable genérica, separa sus tipos en el diseño para que el error sea detectable antes de llegar a WinINet.

Verificación

Repite la misma ruta de código comprobando que cada API recibe exclusivamente la clase de handle documentada. La corrección no requiere reintentos ni cambios de red: el HRESULT debe desaparecer en cuanto se pasa el objeto correcto.

Referencias técnicas


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

Exit mobile version