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

Вниз

Характеристики сетевых адаптеров через WinPCap   Найти похожие ветки 

 
SVD ©   (2008-06-25 10:51) [0]

Добрый день
Определил через WinPCap количество и имена сетевых адаптеров. Теперь пытаюсь определить их характеристики с помощью PacketGetNetInfoEx:
var
pr:boolean;
s:string;
i,n:integer;
NPFIFAddr:PNPFIFAddr;
begin
for i:=0 to AdapterCnt-1 do
 begin
 s:=AdapterNames[i];
 pr:=PacketGetNetInfoEx(pchar(s),NPFIFAddr,@n);
 if pr then showmessage(inttostr(n));
 end;
end;

PacketGetAdapterNames дает наличие в системе 2 адаптеров. Вызов PacketGetNetInfoEx для каждого адаптера отдельно (с указанием его имени в вызове функции) дает для первого адаптера n=0, для второго - n=1. При выполнении приведенного кода для обоих адаптеров возвращается 0, а в NPFIFAddr ничего не заполняется. При выполнении цикла в обратном порядке (for i:=AdapterCnt-1 downto 0 do) все работает. Вопрос: почему не работает прямой порядок? Неужто если натывкаемся на адаптер, у которого возвращается 0, то для всех остальных тоже будет 0? Что-то не верится...


 
han_malign ©   (2008-06-25 12:34) [1]

var
   pr:boolean;
   s:string;
   i,n:integer;
   NPFIFAddr:array[0..17]of TNPFIFAddr;
begin
   for i:=0 to AdapterCnt-1 do begin
       s:=AdapterNames[i];
       n:= Length(NPFIFAddr);
       pr:=PacketGetNetInfoEx(pchar(s),@NPFIFAddr[0],@n);
       if pr then showmessage(inttostr(n));
   end;
end;

http://www.reactos.org/generated/doxygen/d1/db9/group__packet32.html#ga27


 
Rouse_ ©   (2008-06-25 18:03) [2]

n:= Length(NPFIFAddr) * SizeOf(TNPFIFAddr);


 
han_malign ©   (2008-06-27 11:32) [3]


> Rouse_ ©
> n:= Length(NPFIFAddr) * SizeOf(TNPFIFAddr);

- там исходники есть, при просмотре которых видно, что sizeof - это глюк матрицы... На реальном опыте это подтверждается...


 
Rouse_ ©   (2008-06-27 11:44) [4]

Согласен... приписку в скобках не прочитал :)
> Size of the array (in npf_if_addr).



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

Текущий архив: 2009.08.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
2-1245311984
belmol
2009-06-18 11:59
2009.08.16
array[0..383] of Byte & blob


15-1245097806
Юрий
2009-06-16 00:30
2009.08.16
С днем рождения ! 16 июня 2009 вторник


2-1245319255
Fr
2009-06-18 14:00
2009.08.16
Сортировка TListView в виртуальном режиме.


2-1245159163
NaRuTo
2009-06-16 17:32
2009.08.16
TCustomControl?


1-1212058773
Vlad Oshin
2008-05-29 14:59
2009.08.16
DevExpress, TcxRTTIInspector. Как выловить rows=(TStrings)?