elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  obtener descripcion de ErrorCode de Winint.h
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: obtener descripcion de ErrorCode de Winint.h  (Leído 2,599 veces)
xkiz ™


Desconectado Desconectado

Mensajes: 1.252


Ver Perfil WWW
obtener descripcion de ErrorCode de Winint.h
« en: 11 Septiembre 2010, 10:40 am »

bueno,  estoy realizando un programita en el cual utilizo [InternetOpen, InternetOpenUrl, InternetReadFile] y algunas otras funciones de wininit.h, tengo toda la funcionalidad funcionando correctamente, bue, casi toda. En si el programa cumple su tarea muy bien, pero como es de suponerse, al programar una funcion siempre hay que preever que esta puede salir mal, por factores ajenos a lo referido a la programacion en si.
en este caso, estoy intentando sacar la descripcion de Error de la funcion InternetOpenUrl que devuelve si la url no existe o similar. se que para sacar la descripcion de un error se usa, en este caso (GetLastError y FormatMessage), pero esta funcion me devuelve un valor 12007, pero en este caso los errores [12000 - 12174] tienen un apartado y la verdad es que no se como llegar a ellos.
aca dejo info que encontre:

System Error Codes (12000-15999)

ERROR_INTERNET_* (see Wininet.h) 12000 - 12174 (0x2EE0) | Internet Error Codes

en resumen, como tengo que hacer para obtener la descripcion de error[12000 - 12174], estoy re perdido a esta altura.


En línea

Horricreu
Wiki

Desconectado Desconectado

Mensajes: 290

¡La verdad os hará libres!


Ver Perfil WWW
Re: obtener descripcion de ErrorCode de Winint.h
« Respuesta #1 en: 11 Septiembre 2010, 11:18 am »

12007 es equivalente a ERROR_INTERNET_NAME_NOT_RESOLVED. Significa que el nombre del servidor no se pudo resolver.

Saludos :P


« Última modificación: 11 Septiembre 2010, 11:20 am por Horricreu » En línea

xkiz ™


Desconectado Desconectado

Mensajes: 1.252


Ver Perfil WWW
Re: obtener descripcion de ErrorCode de Winint.h
« Respuesta #2 en: 11 Septiembre 2010, 11:42 am »

ok, si ya lo averigue, pero lo que yo quiero hacer es esto:

Código
  1. void lalala(){
  2. HINTERNET conexion, abrir;
  3. conexion = InternetOpen("", INTERNET_OPEN_TYPE_DIRECT, 0, 0, 0);
  4. if(conexion != NULL){
  5. abrir = InternetOpenUrl(conexion, /*sUrl*/  "aaaaaaa", 0, 0, INTERNET_FLAG_RELOAD, 0);
  6.  
  7. if(abrir !=NULL){
  8. // el resto del codigo......
  9. }else{
  10. GetErrorKuak();
  11. }
  12. }else{
  13. GetErrorKuak();
  14. }
  15.  
  16. }
  17.  
  18. void GetErrorKuak(){
  19. DWORD ErrNumb;
  20. char ErrMsg[200];
  21. char ErrMsg2[10];
  22.  
  23. ErrNumb = GetLastError();
  24.  
  25. FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM,0,ErrNumb, LANG_NEUTRAL,ErrMsg, sizeof(ErrMsg),0);
  26. sprintf(ErrMsg2, "Error: %d, %s.", ErrNumb, ErrMsg);
  27. OutputDebugString((LPCTSTR)ErrMsg2);
  28. }
  29.  

y que en OutputDebugString me diga la descripcion del error, no quiero llenar String Tables con todos los errores posibles....
« Última modificación: 11 Septiembre 2010, 11:49 am por xkiz » En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: obtener descripcion de ErrorCode de Winint.h
« Respuesta #3 en: 11 Septiembre 2010, 20:05 pm »

La cadena esta en la DLL que implementa esa API, tomando tu codigo:

Código
  1. FormatMessage(FORMAT_MESSAGE_FROM_HMODULE, GetModuleHandle("wininet.dll"), ErrNumb, LANG_NEUTRAL, ErrMsg, sizeof(ErrMsg), 0);





PD. ErrMsg2 deberia ser mas grande, por logica siempre mas grande que ErrMsg.
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
xkiz ™


Desconectado Desconectado

Mensajes: 1.252


Ver Perfil WWW
Re: obtener descripcion de ErrorCode de Winint.h
« Respuesta #4 en: 12 Septiembre 2010, 01:06 am »

perecto, muchas gracias....
En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: obtener descripcion de ErrorCode de Winint.h
« Respuesta #5 en: 12 Septiembre 2010, 01:14 am »

De nadas  ::)
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines