Поделиться через


MIB_TCP6ROW2 (Compact 2013)

3/26/2014

This structure contains information that describes an IPv6 TCP connection.

Syntax

typedef struct _MIB_TCP6ROW2 {
  IN6_ADDR LocalAddr;
  DWORD dwLocalScopeId;
  DWORD dwLocalPort;
  IN6_ADDR RemoteAddr;
  DWORD dwRemoteScopeId;
  DWORD dwRemotePort;
  MIB_TCP_STATE State;
  DWORD dwOwningPid;
  TCP_CONNECTION_OFFLOAD_STATE dwOffloadState;
} MIB_TCP6ROW2,
  *PMIB_TCP6ROW2;

Members

  • LocalAddr
    The local IPv6 address for the TCP connection on the local device. A value of zero indicates the listener can accept a connection on any interface.
  • dwLocalScopeId
    The local scope ID for the TCP connection on the local device.
  • dwLocalPort
    The local port number in network byte order for the TCP connection on the local device.
  • RemoteAddr
    The IPv6 address for the TCP connection on the remote device. When the State member is MIB_TCP_STATE_LISTEN, this value has no meaning.
  • dwRemoteScopeId
    The remote scope ID for the TCP connection on the remote device. When the State member is MIB_TCP_STATE_LISTEN, this value has no meaning.
  • dwRemotePort
    The remote port number in network byte order for the TCP connection on the remote device. When the State member is MIB_TCP_STATE_LISTEN, this value has no meaning.
  • State
    The state of the TCP connection. This member can be one of the values from the MIB_TCP_STATE enumeration type that is defined in the Tcpmib.h header file.

    Value

    Meaning

    MIB_TCP_STATE_CLOSED

    1

    The TCP connection is in the CLOSED state that represents no connection state at all.

    MIB_TCP_STATE_LISTEN

    2

    The TCP connection is in the LISTEN state waiting for a connection request from any remote TCP and port.

    MIB_TCP_STATE_SYN_SENT

    3

    The TCP connection is in the SYN-SENT state waiting for a matching connection request after having sent a connection request (SYN packet).

    MIB_TCP_STATE_SYN_RCVD

    4

    The TCP connection is in the SYN-RECEIVED state waiting for a confirming connection request acknowledgment after having both received and sent a connection request (SYN packet).

    MIB_TCP_STATE_ESTAB

    5

    The TCP connection is in the ESTABLISHED state that represents an open connection, data that is received can be delivered to the user. This is the usual state for the data transfer phase of the TCP connection.

    MIB_TCP_STATE_FIN_WAIT1

    6

    The TCP connection is FIN-WAIT-1 state waiting for a connection termination request from the remote TCP, or an acknowledgment of the connection termination request previously sent.

    MIB_TCP_STATE_FIN_WAIT2

    7

    The TCP connection is FIN-WAIT-1 state waiting for a connection termination request from the remote TCP.

    MIB_TCP_STATE_CLOSE_WAIT

    8

    The TCP connection is in the CLOSE-WAIT state waiting for a connection termination request from the local user.

    MIB_TCP_STATE_CLOSING

    9

    The TCP connection is in the CLOSING state waiting for a connection termination request acknowledgment from the remote TCP.

    MIB_TCP_STATE_LAST_ACK

    10

    The TCP connection is in the LAST-ACK state waiting for an acknowledgment of the connection termination request previously sent to the remote TCP (which includes an acknowledgment of its connection termination request).

    MIB_TCP_STATE_TIME_WAIT

    11

    The TCP connection is in the TIME-WAIT state waiting for enough time to pass to make sure that the remote TCP received the acknowledgment of its connection termination request.

    MIB_TCP_STATE_DELETE_TCB

    12

    The TCP connection is in the delete TCB state that represents the deletion of the Transmission Control Block (TCB), a data structure used to maintain information on each TCP entry.

  • dwOwningPid
    The PID of the process that issued a context bind for this TCP connection.
  • dwOffloadState
    The offload state for this TCP connection. This parameter can be one of the enumeration values for the TCP_CONNECTION_OFFLOAD_STATE defined in the Tcpmib.h header.

Remarks

The GetTcp6Table2 function retrieves the IPv6 TCP connection table on the local device and returns this information in a MIB_TCP6TABLE2 structure. An array of MIB_TCP6ROW2 structures are contained in the MIB_TCP6TABLE2 structure.

The State member indicates the state of the TCP entry in a TCP state diagram. A TCP connection progresses through a series of states during its lifetime. The states are as follows: LISTEN, SYN-SENT, SYN-RECEIVED, ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT, and the fictional state CLOSED. The CLOSED state is fictional because it represents the state when there is no Transmission Control Block, and therefore, no connection. The TCP protocol is described in RFC 793.

The dwLocalPort, and dwRemotePort members are in network byte order. In order to use the dwLocalPort or dwRemotePort members, the ntohs or inet_ntoa functions in Windows Sockets or similar functions might be needed.

The dwLocalScopeId, and dwRemoteScopeId members are in network byte order. In order to use the dwLocalScopeId or dwRemoteScopeId members, the ntohl or inet_ntoa functions in Windows Sockets or similar functions might be needed.

The LocalAddr and RemoteAddr members are stored in in6_addr structures.

Requirements

Header

ws2def.h,
ws2ipdef.h

See Also

Reference

MIB Structures
GetTcp6Table
GetTcp6Table2
in6_addr
inet_ntoa
MIB_TCP6TABLE
MIB_TCP6TABLE2
MIB_TCPROW
MIB_TCPTABLE
ntohl
ntohs
TCP_CONNECTION_OFFLOAD_STATE