Главная страница
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.47 MB
Время: 0.029 c
1-1098689926
Mishenka
2004-10-25 11:38
2004.11.07
PopupMenu в ComboBox


6-1093612437
Muchaco
2004-08-27 17:13
2004.11.07
открыть сайт в окне броузера


8-1091793583
Rater
2004-08-06 15:59
2004.11.07
Как созд. AVI для TAnimate или Проиграть анимированный Gif?


6-1093698179
TrogWar
2004-08-28 17:02
2004.11.07
Вот такая проблема с посылкой строки сокетом...


4-1096056488
RyDmi
2004-09-25 00:08
2004.11.07
Получение текста из TMemo