Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];

Вниз

Перечисление сетевых интерфейсов на локальном компьютере.   Найти похожие ветки 

 
maguk   (2004-08-27 14:35) [0]

Нужно перечислить активные интерфейсы. В частности интересуют тип интерфейса (локальный, dial-up и т.п.), IP-адрес(а), маска(ки) подсети. А еще лучше перечислить ВСЕ интерфейсы, т.е. активные и неактивные (например, программно отключенные в Windows 2000/XP). Как это делается?

Также второстепенный вопрос: определяю Broadcast-адрес для конкретной подсети следующим образом...

uses
 WinSock;

var
 ip_addr, mask, broadcast: cardinal;
 broadcast_str: string;
begin
 mask := inet_addr("255.255.255.0");  // маска подсети
 ip_addr := inet_addr("192.168.0.1"); // IP-адрес
 broadcast := (ip_addr and mask) or (not mask); // результат
 broadcast_str := inet_ntoa(in_addr(broadcast)); // результат в удобочитаемом виде
end;


...правильно ли я делаю? Т.е. конкретно для моих параметров определяется правильно, будет ли это так же правильно для ЛЮБОЙ другой связки IPадрес-маска?


 
Ihor Osov'yak ©   (2004-08-30 00:36) [1]

GetAdaptersInfo (iphlpapi.dll) - получение информации об сетевых адаптерах.
в буфере размещает цепочку из структур _IP_ADAPTER_INFO - там есть информвация, которой Вы интересуетесь. Одно из полей структуры - Type - тип адаптера..

Но, к сожадению - только для включеных адаптеров, и тех адаптеров, для поторый установлена поддержка TCP/IP (здесь маленькая вероятность того, что я немного ошибаюсь - работал с этим давно и мало, а экспериментировать сейчас нет времени).  Инфо ою выключеных адаптерах вероятнее всего можно получить посредством WMI (но это тоже предположение).


 
VID ©   (2004-08-30 00:58) [2]

Ihor Osov"yak ©   (30.08.04 0:36) [1]
А что если вообще инфу о имеющихся адаптерах читать из реестра откуда-нибудь ?


 
maguk   (2004-08-30 19:03) [3]

Всем, спасибо. Нашел другой способ, как утверждает автор статьи, "наиболее корректный")). Через функцию WSAIoctl с параметром SIO_GET_INTERFACE_LIST. Вот сижу, разбираюсь...



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.11.07;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.037 c
8-1091859907
k-sergey
2004-08-07 10:25
2004.11.07
Загружаю в TImage Gif-картинку прога вылетает....


14-1097832119
}|{yk
2004-10-15 13:21
2004.11.07
Программа составления генеалогий


1-1098804312
SeriousSam
2004-10-26 19:25
2004.11.07
Значок расширения


3-1097189230
Black
2004-10-08 02:47
2004.11.07
Как добавлять новые столбцы в таблицу ADO?


3-1097242611
Aser
2004-10-08 17:36
2004.11.07
Как для Table вызвать значение из другой таблицы, используя одно





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский