首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

CreateIpForwardEntry函数在WinXp及Win7下运行的有关问题

2012-09-18 
CreateIpForwardEntry函数在WinXp及Win7上运行的问题?以下是我的代码,用于添加路由表C/C++ codeDWORD CIpF

CreateIpForwardEntry函数在WinXp及Win7上运行的问题?
以下是我的代码,用于添加路由表

C/C++ code
DWORD CIpForwardTable::AddRouteTable(const char* pIP, const char* pMask, const char* pGateway, DWORD dwForwardType, DWORD dwForwardProto){    MIB_IPFORWARDROW IpForwardTable;    ZeroMemory(&IpForwardTable,sizeof(MIB_IPFORWARDROW));    IpForwardTable.dwForwardDest        = inet_addr(pIP);    IpForwardTable.dwForwardMask        = inet_addr(pMask);    IpForwardTable.dwForwardNextHop        = inet_addr(pGateway);    IpForwardTable.dwForwardIfIndex        = m_dwAdapterIndex;    IpForwardTable.dwForwardType        = 4;      IpForwardTable.dwForwardProto        = 3;     IpForwardTable.dwForwardPolicy        = 0;    IpForwardTable.dwForwardAge            = 0;    IpForwardTable.dwForwardNextHopAS    = 0;    IpForwardTable.dwForwardMetric1        = m_ulMetric;     IpForwardTable.dwForwardMetric2        = 0xFFFFFFFF;    IpForwardTable.dwForwardMetric3        = 0xFFFFFFFF;      IpForwardTable.dwForwardMetric4        = 0xFFFFFFFF;       IpForwardTable.dwForwardMetric5        = 0xFFFFFFFF;    DWORD dwRetVal = CreateIpForwardEntry(&IpForwardTable);     return dwRetVal;}

在Win7上CreateIpForwardEntry函数正常执行。
但是,在WinXp上,CreateIpForwardEntry返回87(参数有误),将IpForwardTable.dwForwardType改成3后,CreateIpForwardEntry函数才可以正常。

不知道是什么原因?请高手们给点意见。

[解决办法]
呵呵,这个我遇到过,你可以在XP上先获取路由表某一个IpForwardTable,然后仅把用到的参数改成自己的,其他的直接复制,你现在对IpForwardTable每一个变量赋值,有些值不能随便写的!

热点排行