Главная страница
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.049 c
3-1097054853
GlaDimoN
2004-10-06 13:27
2004.11.07
создание отчета


6-1093710640
Marex
2004-08-28 20:30
2004.11.07
Как запретить выделение текста WebBrowser?


14-1098073504
Aldor
2004-10-18 08:25
2004.11.07
Application failed to initialize properly (адрес).


14-1098350984
Викусик
2004-10-21 13:29
2004.11.07
Кстати, еще один вопрос...


3-1097340339
JMasta
2004-10-09 20:45
2004.11.07
Как работать с данными в *.csv?