Цитата(unclebenedict @ 26.6.2012, 11:39 ) | | но на некоторых компьютерах, при выключении программы соединение почему то не восстанавливается, хотя CreateIpForwardEntry вызывается. В чем может быть косяк ? |
Трудно сказать... А Вы бы проверили возвращаемое значение от CreateIpForwardEntry, может, вызов даёт ошибку.
Кроме того, на мой взгляд, в программе нарушена логика:
Цитата(unclebenedict @ 26.6.2012, 11:39 ) | if (!pRow) { pRow = (PMIB_IPFORWARDROW)malloc(sizeof(MIB_IPFORWARDROW)); memcpy(pRow, &(pIpForwardTable->table[i]), sizeof(MIB_IPFORWARDROW)); m_ListIpForward.append(pRow); DeleteIpForwardEntry(pRow); } |
Здесь после DeleteIpForwardEntry нужно обнулить pRow иначе будет обработана только одна запись в таблице. Либо вообще не проверять pRow на ноль... Или проверять, но сразу после malloc))) |