![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Spawn |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 278 Регистрация: 3.6.2002 Репутация: нет Всего: нет |
Я мучаюсь с импортом функции уже недели 2 наверно. Помогите, пожалуйста, хотябы разьяснить назначение строк кода, написанного на 'C', чтобы мне попробовать перевести на Delphi(я на 'С' не программировал еще):
// // Get the table of TCP endpoints // dwSize = 0; error = GetTcpTable( NULL, &dwSize, TRUE ); if( error != ERROR_INSUFFICIENT_BUFFER ) { printf("Failed to snapshot TCP endpoints.\n"); PrintError( error ); return -1; } tcpTable = (PMIB_TCPTABLE) malloc( dwSize ); error = GetTcpTable( tcpTable, &dwSize, TRUE ); if( error ) { printf("Failed to snapshot TCP endpoints.\n"); PrintError( error ); return -1; } // // Dump the TCP table // for( i = 0; i < tcpTable->dwNumEntries; i++ ) { if( flags & FLAG_ALL_ENDPOINTS || tcpTable->table[i].dwState == MIB_TCP_STATE_ESTAB ) { sprintf( localaddr, "%s:%s", GetIpHostName( flags, TRUE, tcpTable->table[i].dwLocalAddr, localname, HOSTNAMELEN), GetPortName( flags, tcpTable->table[i].dwLocalPort, "tcp", localport, PORTNAMELEN )); sprintf( remoteaddr, "%s:%s", GetIpHostName( flags, FALSE, tcpTable->table[i].dwRemoteAddr, remotename, HOSTNAMELEN), tcpTable->table[i].dwRemoteAddr ? GetPortName( flags, tcpTable->table[i].dwRemotePort, "tcp", remoteport, PORTNAMELEN ): "0" ); printf("%4s\tState: %s\n", "[TCP]", TcpState[ tcpTable->table[i].dwState ] ); printf(" Local: %s\n Remote: %s\n", localaddr, remoteaddr ); } } |
|||
|
||||
| Step |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
Вообщето передать нулл в качесте буфера, это до п..ца глупа, где ты эту прогу вытащил. -------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
| Andy_user |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 40 Регистрация: 5.7.2002 Где: Санкт-Петербург Репутация: нет Всего: 2 |
To Step
Цитата GetTcpTable( NULL, &dwSize, TRUE ); Вообщето передать нулл в качесте буфера, это до п..ца глупа, где ты эту прогу вытащил. To Step Прежде, чем задавать покровительственные вопросы, попытайтесь понять, что заранее неизвестно какого размера буфер понадобиться, и поэтому первый вызов функции GetTcpTable c NULL в качестве первого аргумента и служит для определения размера этого буфера. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |