Конференция "WinAPI" » Характеристики сетевых адаптеров через WinPCap [D5, WinXP]
 
  • SVD © (25.06.08 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 © (25.06.08 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_ © (25.06.08 18:03) [2]
    n:= Length(NPFIFAddr) * SizeOf(TNPFIFAddr);

  • han_malign © (27.06.08 11:32) [3]

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

    - там исходники есть, при просмотре которых видно, что sizeof - это глюк матрицы... На реальном опыте это подтверждается...
  • Rouse_ © (27.06.08 11:44) [4]
    Согласен... приписку в скобках не прочитал :)
    > Size of the array (in npf_if_addr).
 
Конференция "WinAPI" » Характеристики сетевых адаптеров через WinPCap [D5, WinXP]
Есть новые Нет новых   [134434   +28][b:0][p:0.001]