|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.11.2015, 19:19 | #31 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
На Паскале вот такой код получился:
Код:
|
06.11.2015, 21:52 | #32 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Проверяйте dwType и dwOperStatus - думаю так можно будет отсеять ненужные.
|
10.11.2015, 23:05 | #33 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Со структурой MIB_IF_ROW2 вообще какая-то петрушка получается. Вот такой код:
Код:
|
10.11.2015, 23:05 | #34 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Код:
Сейчас линкер ругается, он хочет чтобы библиотека Netioapi.lib была подключена. На разных версиях Студии (2010, 2012) всё тоже самое. Не пойму в чем тут собака порылась |
11.11.2015, 09:06 | #35 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,342
|
Убрать netioapi.h
Вставить #include <ws2ipdef.h> #include <iphlpapi.h> |
11.11.2015, 13:44 | #36 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Вообщем если оставить как у меня было, то выдает вот что:
Код:
#include <ws2ipdef.h> #include <iphlpapi.h> то ругается: Код:
и ещё куча ошибок. Если добавить #include <ws2def.h> #include <ws2ipdef.h> то ругается что: Код:
Не пойму, может из-за того что проект CLR NET 4.5 ? Но с MIB_IFROW всё хорошо откомпилировалось. |
11.11.2015, 13:47 | #37 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
По идее можно сделать по другому, через LoadLibrary "netioapi.dll", затем GetProcAddress(GetIfTable2Ex) и не заморачиваться с этими хидерами.
|
13.11.2015, 21:03 | #38 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Запилил тот же код на Embarcadero C++ XE8, всё отлично компилируется. Причем
#include <ws2ipdef.h> #include <iphlpapi.h> эквавалетно #include <netioapi.h> Только вот if ((dwRetVal=GetIfEntry2(pIfRow2))==N O_ERROR) выдает код возврата 2, что вроде означает ERROR_FILE_NOT_FOUND. Я ещё не понял в чем разница между MIB_IF_ROW2 и MIB_IF_TABLE2, потому что GetIfTable2Ex(MibIfTableNormal,&pIf Table2) уже записывает нужные параметры в структуру pIfTable2. А pIfRow нужна чисто для выравнивания? Последний раз редактировалось Аватар; 13.11.2015 в 21:10. |
15.11.2015, 21:55 | #39 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Всё разобрался, вот код на Embarcadero C++ RAD Studio 10 Seattle (ну можете запилить его на старом Борланд Билдере 5, тоже должно работать )
Код:
У кого GetIfEntry2 выдает ошибку 2 или 87 по другим исходникам, причина кроется здесь: pIfRow2->InterfaceLuid = pIfTable2->Table[i].InterfaceLuid; Последний раз редактировалось calypso; 15.11.2015 в 21:57. |
17.11.2015, 21:04 | #40 |
Форумчанин
Регистрация: 02.12.2012
Сообщений: 250
|
Visual Studio пока не могу победить. Уже скачал и Windows DDK для Windows 7, прописал библиотеки:
Код:
Видимо здесь собака порылась: Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как узнать скорость передачи данных (при копировании файлов) по сети | calypso | Работа с сетью в Delphi | 0 | 02.12.2012 19:56 |
Сканирование документов по сети / Scan over Ethernet | mixael | Работа с сетью в Delphi | 0 | 08.10.2010 11:03 |
Как определить текущую строку StringGrid | Veiron | Общие вопросы Delphi | 2 | 24.09.2009 03:03 |
Определить текущую ячейку на листе | НикНик | Microsoft Office Excel | 5 | 18.08.2008 09:40 |
Как определить IP-адресс компьютера в локальной сети? | SalasAndriy | C/C++ Сетевое программирование | 2 | 29.11.2007 02:09 |