Einzelnen Beitrag anzeigen

Benutzerbild von x000x
x000x

Registriert seit: 21. Jan 2004
Ort: Bei Hamburg
308 Beiträge
 
Delphi XE2 Professional
 
#7

Re: Type-Deklaration PF_INTERFACE_STATS (MSDN-PlattformSDK:

  Alt 19. Jun 2005, 20:42
Ok,
dank dem Code-Schnippsel von marabu und der ausführlichen Erklärung von Robert habe ich folgende Lösung:
Delphi-Quellcode:
procedure FltStats;
var bufSize : DWord;
    dwResult : DWord;
    ppfStats : PPF_INTERFACE_STATS;
    i : Integer;
    Filter : ^PF_FILTER_STATS;
begin
   bufSize := SizeOf(PF_INTERFACE_STATS);
   GetMem(ppfStats, bufSize);
   try
      dwResult := PfGetInterfaceStatistics(hIf, ppfStats, @bufSize, false);
      case dwResult of
         ERROR_INSUFFICIENT_BUFFER :
            begin
               FreeMem(ppfStats);
               GetMem(ppfStats, bufSize);
               dwResult := PfGetInterfaceStatistics(hIf, ppfStats, @bufSize, false);
               if dwResult <> NO_ERROR then
                  Exit;
            end;
         ERROR_INVALID_HANDLE : Exit;
      end;
      Filter := @ppfStats^.filterinfo;
      for i := 0 to (ppfStats^.dwNumInFilters + ppfStats^.dwNumOutFilters) -1 do begin
         ShowMessage( 'Filter (' + IntToStr(Succ(i)) + ')'#13#10 +
                      ' SourcePort: ' + IntToStr(Integer(Filter^.info.wSrcPort)) + #13#10+
                      ' DestinationPort: ' + IntToStr(Filter^.info.wDstPort));
         Inc(Filter);
      end;
   finally
      FreeMem(ppfStats);
   end;
end;
Sollte oben doch noch was nicht so wirklich OK sein, wäre ich für Hinweise dankbar

Meine Frage wurde perfekt beantwortet und ich habe mal wieder ein Stück dazugelernt...

Thx..
Peter
-= Gruss Peter =-
-= alias x000x =-
  Mit Zitat antworten Zitat