Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   GetExtendedTcpTable + TCP_TABLE_OWNER_MODULE_ALL (https://www.delphipraxis.net/156076-getextendedtcptable-tcp_table_owner_module_all.html)

Rururuuu 19. Nov 2010 03:02

GetExtendedTcpTable + TCP_TABLE_OWNER_MODULE_ALL
 
Ein riesiges Hallo an alle.

Der zweite Tag ist eine Qual, ich kann das Problem nicht lo"sen.
Die Quintessenz ist, dass ich eine Liste der offenen Ports, Herkunft, Empfa"nger, Verfahren, etc. bekommen mu"ssen

All dies macht die einwandfreie Funktion GetExtendedTcpTable.
Aber hier ist das Problem, dass GetExtendedTcpTable mit table_class TCP_TABLE_OWNER_PID_ALL wie es sein sollte funktioniert, aber mit GetExtendedTcpTable table_class TCP_TABLE_OWNER_MODULE_ALL funktioniert nicht. Viele Male schon u"ber Google bla"tterte, gibt es kein Beispiel fu"r die Umsetzung in Delphi.

Kurz du kommst.
Struktur:
Code:
PMIB_TCPROW_OWNER_MODULE = ^MIB_TCPROW_OWNER_MODULE;
MIB_TCPROW_OWNER_MODULE = packed record
  dwState: DWORD;
  dwLocalAddr: DWORD;
  dwLocalPort: DWORD;
  dwRemoteAddr: DWORD;
  dwRemotePort: DWORD;
  dwOwningPid: DWORD;
  liCreateTimestamp: LARGE_INTEGER;
  OwningModuleInfo : array[0..0] of UInt64;
end;
PMIB_TCPTABLE_OWNER_MODULE = ^MIB_TCPTABLE_OWNER_MODULE;
MIB_TCPTABLE_OWNER_MODULE = packed record
  dwNumEntries: DWORD;
  table: array [0..0] of MIB_TCPROW_OWNER_MODULE;
end;

Call:
Code:
var
pTcpTable: PMIB_TCPTABLE_OWNER_MODULE;
dwSize: DWORD;
Res: Dword;

Res := GetExtendedTcpTable(pTcpTable, @dwSize, False, AF_INET, TCP_TABLE_OWNER_MODULE_ALL, 0);
    If (Res = ERROR_INSUFFICIENT_BUFFER) Then Begin
    pTcpTable := GetMemory(dwSize);
    //ZeroMemory(pTcpTable, dwSize);
      Res := GetExtendedTcpTable(pTcpTable, @dwSize, False, AF_INET, TCP_TABLE_OWNER_MODULE_ALL, 0);
    end;
Aber diese Ertra"ge nicht richtig, die gleiche erste Parameter der ganze Staat, er ist nicht korrekt, sollten 1 bis 12 werden, aber TCP_TABLE_OWNER_MODULE_ALL obigen Code funktioniert gut.

PS Sorry fu"r die Kurve der deutschen =)

s.h.a.r.k 19. Nov 2010 04:47

AW: GetExtendedTcpTable + TCP_TABLE_OWNER_MODULE_ALL
 
Ich rate mal ins blaue: Vielleicht kann man es mit WMI lösen!? Das soll ja angeblich recht mächtig sein.

You can post in english if this is better for you!

Rururuuu 19. Nov 2010 08:53

AW: GetExtendedTcpTable + TCP_TABLE_OWNER_MODULE_ALL
 
Und wie man dieses Problem mit WMI zu lösen?
Man konnte nicht ein Beispiel zu geben, GetExtendedTcpTable + TCP_TABLE_OWNER_MODULE_ALL


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:51 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