Freigeben über


MIB_TCP6ROW_OWNER_MODULE-Struktur (tcpmib.h)

Die MIB_TCP6ROW_OWNER_MODULE-Struktur enthält Informationen, die eine IPv6-TCP-Verbindung beschreiben, die an eine bestimmte Prozess-ID (PID) mit Besitzdaten gebunden ist.

Syntax

typedef struct _MIB_TCP6ROW_OWNER_MODULE {
  UCHAR         ucLocalAddr[16];
  DWORD         dwLocalScopeId;
  DWORD         dwLocalPort;
  UCHAR         ucRemoteAddr[16];
  DWORD         dwRemoteScopeId;
  DWORD         dwRemotePort;
  DWORD         dwState;
  DWORD         dwOwningPid;
  LARGE_INTEGER liCreateTimestamp;
  ULONGLONG     OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE];
} MIB_TCP6ROW_OWNER_MODULE, *PMIB_TCP6ROW_OWNER_MODULE;

Member

ucLocalAddr[16]

Typ: UCHAR[16]

Die IPv6-Adresse für den lokalen Endpunkt der TCP-Verbindung auf dem lokalen Computer. Der Wert 0 (null) gibt an, dass der Listener eine Verbindung für eine beliebige Schnittstelle akzeptieren kann.

dwLocalScopeId

Art: DWORD

Die Bereichs-ID in Der Netzwerkbytereihenfolge für die lokale IPv6-Adresse.

dwLocalPort

Art: DWORD

Die Portnummer in Netzwerkbytereihenfolge für den lokalen Endpunkt der TCP-Verbindung auf dem lokalen Computer.

ucRemoteAddr[16]

Typ: UCHAR[16]

Die IPv6-Adresse des Remoteendpunkts der TCP-Verbindung auf dem Remotecomputer. Wenn der dwState-MemberMIB_TCP_STATE_LISTEN ist, hat dieser Wert keine Bedeutung.

dwRemoteScopeId

Art: DWORD

Die Bereichs-ID in Netzwerkbytereihenfolge für die IPv6-Remoteadresse.

dwRemotePort

Art: DWORD

Die Portnummer in Netzwerkbytereihenfolge für den Remoteendpunkt der TCP-Verbindung auf dem Remotecomputer.

dwState

Art: DWORD

Der Status der TCP-Verbindung. Dieser Member kann einer der Werte aus der MIB_TCP_STATE-Enumeration sein, die in der Headerdatei "Tcpmib.h " definiert ist. Beachten Sie, dass die Headerdatei Tcpmib.h automatisch in Iprtrmib.h enthalten ist, die automatisch in der Headerdatei Iphlpapi.h enthalten ist. Die Headerdateien Tcpmib.h und Iprtrmib.h sollten niemals direkt verwendet werden.

Wert Bedeutung
MIB_TCP_STATE_CLOSED
1
Die TCP-Verbindung befindet sich im Zustand CLOSED, der überhaupt keinen Verbindungszustand darstellt.
MIB_TCP_STATE_LISTEN
2
Die TCP-Verbindung befindet sich im LISTEN-Zustand und wartet auf eine Verbindungsanforderung von einem beliebigen Remote-TCP und -Port.
MIB_TCP_STATE_SYN_SENT
3
Die TCP-Verbindung befindet sich im ZUSTAND SYN-SENT und wartet auf eine übereinstimmende Verbindungsanforderung, nachdem sie eine Verbindungsanforderung (SYN-Paket) gesendet hat.
MIB_TCP_STATE_SYN_RCVD
4
Die TCP-Verbindung befindet sich im STATUS SYN-RECEIVED und wartet auf eine bestätigungsfähige Bestätigung der Verbindungsanforderung, nachdem sie eine Verbindungsanforderung (SYN-Paket) empfangen und gesendet hat.
MIB_TCP_STATE_ESTAB
5
Die TCP-Verbindung befindet sich im ZUSTAND ESTABLISHED, der eine offene Verbindung darstellt. Empfangene Daten können an den Benutzer übermittelt werden. Dies ist der normale Zustand für die Datenübertragungsphase der TCP-Verbindung.
MIB_TCP_STATE_FIN_WAIT1
6
Bei der TCP-Verbindung handelt es sich um den Status FIN-WAIT-1, der auf eine Verbindungsabschlussanforderung vom Remote-TCP oder auf eine Bestätigung der zuvor gesendeten Verbindungsabschlussanforderung wartet.
MIB_TCP_STATE_FIN_WAIT2
7
Die TCP-Verbindung hat den Status FIN-WAIT-1, der auf eine Verbindungsabschlussanforderung vom Remote-TCP wartet.
MIB_TCP_STATE_CLOSE_WAIT
8
Die TCP-Verbindung befindet sich im CLOSE-WAIT-Zustand und wartet auf eine Verbindungsabschlussanforderung vom lokalen Benutzer.
MIB_TCP_STATE_CLOSING
9
Die TCP-Verbindung befindet sich im Zustand CLOSING und wartet auf eine Bestätigung der Verbindungsabschlussanforderung vom Remote-TCP.
MIB_TCP_STATE_LAST_ACK
10
Die TCP-Verbindung befindet sich im Status LAST-ACK und wartet auf eine Bestätigung der Verbindungsabschlussanforderung, die zuvor an das Remote-TCP gesendet wurde (einschließlich einer Bestätigung der Verbindungsbeendigungsanforderung).
MIB_TCP_STATE_TIME_WAIT
11
Die TCP-Verbindung befindet sich im Status TIME-WAIT und wartet auf genügend Zeit, um sicherzustellen, dass das Remote-TCP die Bestätigung seiner Verbindungsabschlussanforderung erhalten hat.
MIB_TCP_STATE_DELETE_TCB
12
Die TCP-Verbindung befindet sich im TCB-Löschzustand, der das Löschen des Transmission Control Blocks (TCB) darstellt, einer Datenstruktur, die zum Verwalten von Informationen zu jedem TCP-Eintrag verwendet wird.

dwOwningPid

Art: DWORD

Die PID des lokalen Prozesses, der eine Kontextbindung für diese TCP-Verbindung ausgestellt hat.

liCreateTimestamp

Typ: LARGE_INTEGER

Eine FILETIME-Struktur , die angibt, wann der Kontextbindungsvorgang, der diese TCP-Verbindung erstellt hat, aufgetreten ist.

OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE]

Typ: ULONGLONG[TCPIP_OWNING_MODULE_SIZE]

Ein Array von undurchsichtigen Daten, das Besitzinformationen enthält.

Hinweise

Die MIB_TCP6TABLE_OWNER_MODULE-Struktur wird durch einen Aufruf von GetExtendedTcpTable zurückgegeben, wobei der TableClass-Parameter auf eine TCP_TABLE_OWNER_MODULE_LISTENER, TCP_TABLE_OWNER_MODULE_CONNECTIONS oder TCP_TABLE_OWNER_MODULE_ALL aus der TCP_TABLE_CLASS-Enumeration festgelegt ist und der ulAf-Parameter auf AF_INET6 festgelegt ist. Die MIB_TCP6TABLE_OWNER_MODULE-Struktur enthält ein Array von MIB_TCP6ROW_OWNER_MODULE Strukturen.

Der dwState-Member gibt den Status des TCP-Eintrags in einem TCP-Zustandsdiagramm an. Eine TCP-Verbindung durchläuft während ihrer Lebensdauer eine Reihe von Zuständen. Die Status sind: LISTEN, SYN-SENT, SYN-RECEIVED, ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT und der fiktive Zustand CLOSED. Der CLOSED-Zustand ist fiktiv, da er den Zustand darstellt, wenn kein Übertragungskontrollblock und daher keine Verbindung vorhanden ist. Das TCP-Protokoll wird in RFC 793 beschrieben. Weitere Informationen finden Sie unter http://www.ietf.org/rfc/rfc793.txt.

Die Elemente ucLocalAddr und ucRemoteAddr werden in einem Zeichenarray in Netzwerkbytereihenfolge gespeichert. Die Funktionen RtlIpv6AddressToString oder RtlIpv6AddressToStringEx können verwendet werden, um die IPv6-Adresse in den Elementen ucLocalAddr oder ucRemoteAddr in eine Zeichenfolge zu konvertieren, ohne die Windows Sockets-DLL zu laden.

Die Mitglieder dwLocalScopeId und dwRemoteScopeId befinden sich in der Netzwerkbytereihenfolge. Um die DwLocalScopeId - oder dwRemoteScopeId-Member verwenden zu können, sind möglicherweise die Funktionen ntohl oder inet_ntoa in Windows Sockets oder ähnlichen Funktionen erforderlich.

Die Mitglieder dwLocalPort und dwRemotePort befinden sich in der Netzwerkbytereihenfolge. Um die dwLocalPort - oder dwRemotePort-Member verwenden zu können, sind möglicherweise die Funktionen ntohs oder inet_ntoa in Windows Sockets oder ähnlichen Funktionen erforderlich.

Im Microsoft Windows Software Development Kit (SDK), das für Windows Vista und höher veröffentlicht wurde, wurde die organization der Headerdateien geändert. Diese Struktur wird in der Headerdatei Tcpmib.h und nicht in der Headerdatei Iprtrmib.h definiert. Beachten Sie, dass die Headerdatei Tcpmib.h automatisch in Iprtrmib.h enthalten ist, die automatisch in der Headerdatei Iphlpapi.h enthalten ist. Die Headerdateien Tcpmib.h und Iprtrmib.h sollten niemals direkt verwendet werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista, Windows XP mit SP2 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008, Windows Server 2003 mit SP1 [nur Desktop-Apps]
Kopfzeile tcpmib.h (include Iphlpapi.h)

Weitere Informationen

GetExtendedTcpTable

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

SYSTEMTIME

TCP_TABLE_CLASS

inet_ntoa

ntohl

ntohs