Здравствуйте, vasketsov, Вы писали:
V>Здравствуйте, Mikki, Вы писали:
V>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iphlp/iphlp/categorical_listing.asp
За ссылку спасибо.
V>Тут надо внизу найти раздел Routing, там ссылки на функции:
V>CreateIpForwardEntry — это я как понял меня интересует
Но я побоялся сходу модифицировать routing table и как видно не зря.
Для начала попробовал получить её
void PASCAL ErrMsg()
{
LPVOID lpMsgBuf;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
// Display the string.
printf("%s\n",lpMsgBuf);
// Free the buffer.
LocalFree( lpMsgBuf );
return;
}
int main(int argc,char *argv[])
{
MIB_IPFORWARDTABLE IpForwardTable;
DWORD dwSize = sizeof(MIB_IPFORWARDTABLE);
DWORD rc;
rc=GetIpForwardTable(&IpForwardTable,&dwSize,FALSE);
switch (rc){
case NO_ERROR :
printf("Ok\n");
break;
case ERROR_INVALID_PARAMETER :
printf("INVALID_PARAMETER\n");
break;
case ERROR_INSUFFICIENT_BUFFER :
printf("ERROR_INSUFFICIENT_BUFFER %d\n",dwSize);
rc=GetIpForwardTable(&IpForwardTable,&dwSize,FALSE);
if (rc == 0)
printf("Ok\n");
else
ErrMsg();
break;
case ERROR_NOT_SUPPORTED :
printf("ERROR_NOT_SUPPORTED\n");
break;
default :
ErrMsg();
}
return 0;
}
Выдает следующее
ERROR_INSUFFICIENT_BUFFER 1580
The operation completed successfully.
Если не тяжело подскажи как с ним бороться.
Спасибо заранее.