Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2015, 01:12   #11
calypso
Форумчанин
 
Регистрация: 02.12.2012
Сообщений: 250
По умолчанию

Разобрался наконец с этой заразой. Мне почему то стукнуло в голову, что flags это выходной параметр. А оказывается наоборот, входной для GetAdaptersAddresses
И надо было сделать всего лишь навсего:
Код:
ULONG flags = GAA_FLAG_INCLUDE_GATEWAYS;
ULONG family = AF_INET;
GetAdaptersAddresses(family, flags, NULL, pAddresses, &outBufLen);
...
if (pCurrAddresses->FirstGatewayAddress!= NULL)
{
WSAAddressToStringW(pCurrAddresses->FirstGatewayAddress->Address.lpSockaddr,
	pCurrAddresses->FirstGatewayAddress->Address.iSockaddrLength,
			   NULL, buf, &length);
	 oshibka=WSAGetLastError();
   if (oshibka!=0) ShowMessage("Ошибка при вызове WSA "+IntToStr(oshibka));
	myGATEWAY=String(PChar(buf));
Memo1->Lines->Add("Адрес шлюза: "+myGATEWAY);
И всё работает.
Классический пример, когда проще и быстрее самому с нуля написать код, чем сидеть разбираться в чужом кривом исходнике...
calypso вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конвертация lupus_luctisonus Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 23.12.2014 07:18
Конвертация Чикаашан Общие вопросы по Java, Java SE, Kotlin 0 22.11.2014 20:03
конвертация Romuald Microsoft Office Excel 8 12.07.2010 14:23
Конвертация surf135 Помощь студентам 3 31.05.2010 23:41
Конвертация фунтов freeuser Общие вопросы C/C++ 2 28.01.2010 10:33