Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.07;
Скачать: CL | DM;

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.036 c
1-1098340163
AntonSh
2004-10-21 10:29
2004.11.07
Строка


14-1098101693
Slider007
2004-10-18 16:14
2004.11.07
Очень интересный глюк 2


14-1098196435
Holy
2004-10-19 18:33
2004.11.07
Кто как слушает музыку?


14-1097830782
Prohodil Mimo
2004-10-15 12:59
2004.11.07
Как в ВинХР запретить юзеру устанавливать программы?


14-1097843810
snake1977
2004-10-15 16:36
2004.11.07
настройка Delphi





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский