本帖最后由 VisualEleven 于 2010-11-24 18:01:58 编辑

解决方案 »

  1.   

    根据错误返回值提示信息来看,应该是输入参数是无效
    GetLastError()看看具体是什么
      

  2.   

    mibRow.dwIndex=29 这个设置有根据么?改成这样试试是什么情况:MIB_IPFORWARDROW ipfrow;
    iprow.dwIndex = ipfrow.dwForwardIfIndex;另外MIB_IPNETROW mibRow={0}最好不要这样初始化memset(&mibRow, 0, sizeof(mibRow));
      

  3.   

    MIB_IPFORWARDROW ipfrow;
    DWORD dwIPAddr = addr.S_un.S_addr;
    if (GetBestRoute(dwIPAddr,ADDR_ANY, &ipfrow) != NO_ERROR)
       return (-1);
    mibRow.dwIndex = ipfrow.dwForwardIfIndex;
    mibRow.dwAddr=addr.S_un.S_addr;
    mibRow.dwPhysAddrLen=6;
    mibRow.dwType=3;