Главная страница
    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.025 c
14-1098271287
Бар
2004-10-20 15:21
2004.11.07
Какой функцией прочесть время создания файла?


14-1098216763
Kolan
2004-10-20 00:12
2004.11.07
MediaPlaer


4-1096791173
ZedeS
2004-10-03 12:12
2004.11.07
блокировка доступа к портам в WinXP


6-1093842961
Алексей
2004-08-30 09:16
2004.11.07
Помогите с сокетами. ClientSocket, ServerSocket


1-1098535699
NfTser
2004-10-23 16:48
2004.11.07
Separator не скрывается





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