Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Obtener Detalles del Error

Estas en el tema de Obtener Detalles del Error en el foro de C/C++ en Foros del Web. Saludos !! Estoy empleando un código escrito en c++ cuya finalidad es agregar un filtro a una interface para bloquear paquetes TCP. No obstante, a ...
  #1 (permalink)  
Antiguo 22/08/2006, 15:48
Avatar de BassXpander  
Fecha de Ingreso: septiembre-2005
Ubicación: Mexico
Mensajes: 75
Antigüedad: 18 años, 7 meses
Puntos: 0
Obtener Detalles del Error

Saludos !!

Estoy empleando un código escrito en c++ cuya finalidad es agregar un filtro a una interface para bloquear paquetes TCP.

No obstante, a veces obtengo un error númerico y me gustaria obtener detalles del error. Aclaro que no sé más que lo básico de c++.

El fragmento de código que empleo es este:

PF_FILTER_DESCRIPTOR ipFlt;
ipFlt.dwFilterFlags = FD_FLAGS_NOSYN;
ipFlt.dwRule = 0;
ipFlt.pfatType = PF_IPV4;
ipFlt.dwProtocol = protocol;
ipFlt.fLateBound = 0;
ipFlt.wSrcPort = srcPort;
ipFlt.wSrcPortHighRange = srcPort;
ipFlt.wDstPort = dstPort;
ipFlt.wDstPortHighRange = dstPort;

unsigned long lIpSrc = (unsigned long)srcIp->get_Address();
unsigned long lIpDst = (unsigned long)dstIp->get_Address();
unsigned long lMaskSrc = (unsigned long)srcMask->get_Address();
unsigned long lMaskDst = (unsigned long)dstMask->get_Address();

ipFlt.SrcAddr = (PBYTE) &lIpSrc;
ipFlt.SrcMask = (PBYTE) &lMaskSrc;
ipFlt.DstAddr = (PBYTE) &lIpDst;
ipFlt.DstMask = (PBYTE) &lMaskDst;

DWORD errorCode;

// I add the filter
if(direction == 0)
errorCode = PfAddFiltersToInterface(*(intHandle->hInterface), 1, &ipFlt, 0, NULL, NULL );

else if(direction == 1)
errorCode = PfAddFiltersToInterface(*(intHandle->hInterface), 0, NULL, 1, &ipFlt, NULL );
else
return -2;

if(errorCode != NO_ERROR)
return -1;

return 0;
....


Donde la línea en rojo me da un errorCode=6

Alguien puede ayudarme? Uso Visual Studio 2003.

Gracias
__________________
«««(·´¯`·.·÷ Si no puedo dibujarlo... es que no lo entiendo. Albert Einstein ÷·.·´¯`·)»»»
  #2 (permalink)  
Antiguo 22/08/2006, 22:24
 
Fecha de Ingreso: junio-2005
Ubicación: México, México
Mensajes: 429
Antigüedad: 18 años, 11 meses
Puntos: 1
O sea, en la linea de rojo la variable "errorCode" termina valiendo 6????

Saludos!
  #3 (permalink)  
Antiguo 23/08/2006, 11:20
Avatar de BassXpander  
Fecha de Ingreso: septiembre-2005
Ubicación: Mexico
Mensajes: 75
Antigüedad: 18 años, 7 meses
Puntos: 0
Hola scrolling

Asi es, en efecto sería:

errorCode = 6

y lo que me interesa saber es el mensaje del error que corresponde al 6. No sé por ejemplo: "Interfaz no encontrada" o lo que sea que signifique ese 6

Salu2 !
__________________
«««(·´¯`·.·÷ Si no puedo dibujarlo... es que no lo entiendo. Albert Einstein ÷·.·´¯`·)»»»
  #4 (permalink)  
Antiguo 23/08/2006, 13:56
 
Fecha de Ingreso: junio-2005
Ubicación: México, México
Mensajes: 429
Antigüedad: 18 años, 11 meses
Puntos: 1
Mira, no te podria ayudar yo mucho, ya que no uso windows, pero la funcion FormatMessage parece ser que te puede dar la cadena del error. Te dejo aqui dos enlaces, el primero es una descripcion de la funcion que usas y el segundo la descripcion de la funcion FormatMessage (los dos estan en ingles):

http://msdn.microsoft.com/library/de...ointerface.asp
http://msdn.microsoft.com/library/de...matmessage.asp

Saludos!
  #5 (permalink)  
Antiguo 23/08/2006, 14:00
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 3 meses
Puntos: 22
Que tal BassXpander.

Consulta las siguientes ligas:

msdn.microsoft.com/library/default.asp?url=/library/en-us/rras/rras/pfaddfilterstointerface.asp

msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/base/formatmessage.asp

msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/base/system_error_codes__0-499_.asp

Saludos.
  #6 (permalink)  
Antiguo 23/08/2006, 14:40
Avatar de BassXpander  
Fecha de Ingreso: septiembre-2005
Ubicación: Mexico
Mensajes: 75
Antigüedad: 18 años, 7 meses
Puntos: 0
Gracias fightmx y scrolling:

Las revisaré. Ya les cuento como me fué.


Saludos !!
__________________
«««(·´¯`·.·÷ Si no puedo dibujarlo... es que no lo entiendo. Albert Einstein ÷·.·´¯`·)»»»
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:26.