AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi GetExtendedTcpTable -> mit untersch. Betriebssystemen
Thema durchsuchen
Ansicht
Themen-Optionen

GetExtendedTcpTable -> mit untersch. Betriebssystemen

Ein Thema von hirnstroem · begonnen am 30. Mai 2008 · letzter Beitrag vom 30. Mai 2008
Antwort Antwort
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#1

GetExtendedTcpTable -> mit untersch. Betriebssystemen

  Alt 30. Mai 2008, 12:35
'loha Folks,

die GetExtendedTcpTable (und GetOwnerModuleFromTcpEntry) Methode(n) der iphlpapi.dll verhalten sich je nach Betriebssystem unterschiedlich, respektive funktionieren unter Windows Server 2003 überhaupt nicht.

Untenstehender Code ist Teil einer über CodeCentral angebotenen Unit (http://cc.codegear.com/download.aspx...phelp.pas&ln=1) und zeigt, wie die verschiedenen verfügbaren TCP und UDP Tabellen geladen werden:

Delphi-Quellcode:
initialization
  WSAStartup(MAKEWORD(1, 1), WSADATA);
  GetTcpTable:= nil;
  GetExtendedTcpTable:= nil;
  GetOwnerModuleFromTcpEntry:= nil;
  LibHandle:= LoadLibrary('iphlpapi.dll');
  if LibHandle <> 0 then
  begin
    GetTcpTable:= GetProcAddress(LibHandle,'GetTcpTable');
    GetExtendedTcpTable:= GetProcAddress(LibHandle,'GetExtendedTcpTable');
    GetOwnerModuleFromTcpEntry:= GetProcAddress(LibHandle,'GetOwnerModuleFromTcpEntry');
    GetUdpTable:= GetProcAddress(LibHandle,'GetUdpTable');
    GetExtendedUdpTable:= GetProcAddress(LibHandle,'GetExtendedUdpTable');
    GetOwnerModuleFromUdpEntry:= GetProcAddress(LibHandle,'GetOwnerModuleFromUdpEntry');
  end;
Das Problem ist, dass GetExtendedTcpTable sowie GetOwnerModuleFromTcpEntry unter Windows Server 2003 stets nil sind, unter Windows XP hingegen nicht. Ich benötige die Information, welcher Prozess auf welchem Port horcht und diese wäre der erweiterten TCP Tabelle zu entnehmen.

Wie das geschilderte Verhalten zustande kommt, ist mir ein Rätsel, deshalb dieser Beitrag.

Grüsse
hirnstroem
inde deus abest
  Mit Zitat antworten Zitat
brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#2

Re: GetExtendedTcpTable -> mit untersch. Betriebssystemen

  Alt 30. Mai 2008, 14:04
Client Requires Windows Vista or Windows XP SP2.
Server Requires Windows Server 2008 or Windows Server 2003 SP1.


SP1 installiert?
  Mit Zitat antworten Zitat
hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#3

Re: GetExtendedTcpTable -> mit untersch. Betriebssystemen

  Alt 30. Mai 2008, 14:28
SP1 ist nicht installiert, wird folglich wohl noch nachgeholt.

Vielen Dank für den Hinweis brechi!
inde deus abest
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz