SetIpForwardEntry问题~

love722 2010-10-29 04:01:40
我想实现1个添加路由的功能,在windows XP上使用下面代码可以正常实现。但是在windows 7下面SetIpForwardEntry返回160
错误,不知道是哪个参数有问题导致的呢?有哪位大侠知道的,求解,说明!谢谢!

BOOL AddRoute(LPCSTR lpstrDestAdr, LPCSTR lpstrMask, LPCSTR lpstrGateway,DWORD dwflag)
{
if((!lpstrDestAdr)||(!lpstrMask)||(!lpstrGateway))
{
PutLog( "AddRoute 参数不合法,返回失败![%s][%s][%s][%d]", lpstrDestAdr, lpstrMask, lpstrGateway, dwflag);
return FALSE;
}
MIB_IPFORWARDROW m_ip;
memset(&m_ip,0,sizeof(MIB_IPFORWARDROW));
m_ip.dwForwardAge = 0xFFFFFFF;
m_ip.dwForwardDest = inet_addr(lpstrDestAdr);
m_ip.dwForwardMask = inet_addr(lpstrMask);
m_ip.dwForwardMetric1 = 1;
m_ip.dwForwardMetric2 = 0xFFFFFFFF;
m_ip.dwForwardMetric3 = 0xFFFFFFFF;
m_ip.dwForwardMetric4 = 0xFFFFFFFF;
m_ip.dwForwardMetric5 = 0xFFFFFFFF;
m_ip.dwForwardNextHop = inet_addr(lpstrGateway);
m_ip.dwForwardNextHopAS = NULL;
m_ip.dwForwardPolicy = NULL;
m_ip.dwForwardProto = MIB_IPPROTO_NETMGMT;
m_ip.dwForwardType = 3;
m_ip.dwForwardIfIndex = 12;
DWORD dwErr = SetIpForwardEntry(&m_ip);
if(0 != dwErr)
{
PutLog( "调用SetIpForwardEntry返回【%ld】!", dwErr );
return FALSE;
}
return TRUE;
...全文
252 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
believe_me 2011-08-02
  • 打赏
  • 举报
回复
楼主不厚道,只知道索取,解决了也不共享一下经验。
love722 2010-11-01
  • 打赏
  • 举报
回复
问题已经解决~~
love722 2010-10-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 namelij 的回复:]
有时候,有些函数不兼容win7或者xp
[/Quote]
那你知不知道哪个函数可以在win7下支持这个功能呢?
  • 打赏
  • 举报
回复
有时候,有些函数不兼容win7或者xp
love722 2010-10-30
  • 打赏
  • 举报
回复
up !!!!!!!!!!!!!!
love722 2010-10-30
  • 打赏
  • 举报
回复
顶~~~~~~~~~~~~~~~~~~~~~~

64,658

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧