22/08/2006, 15:48
|
| | | Fecha de Ingreso: septiembre-2005 Ubicación: Mexico
Mensajes: 75
Antigüedad: 19 años, 3 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 ÷·.·´¯`·)»»» |