共用方式為


MIB_TCP6ROW2 結構 (tcpmib.h)

MIB_TCP6ROW2結構包含描述 IPv6 TCP 連線的資訊。

語法

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;

成員

LocalAddr

類型: IN6_ADDR

本機電腦上的 TCP 連線本機 IPv6 位址。 值為零表示接聽程式可以接受任何介面上的連線。

dwLocalScopeId

類型: DWORD

本機電腦上的 TCP 連線本機範圍識別碼。

dwLocalPort

類型: DWORD

本機電腦上 TCP 連線的網路位元組順序中的本機埠號碼。

IP 埠號碼的大小上限為 16 位,因此應該只使用較低的 16 位。 上方 16 位可能包含未初始化的資料。

RemoteAddr

類型: IN6_ADDR

遠端電腦上的 TCP 連線 IPv6 位址。 當 State 成員 MIB_TCP_STATE_LISTEN時,這個值就沒有意義。

dwRemoteScopeId

類型: DWORD

遠端電腦上的 TCP 連線遠端範圍識別碼。 當 State 成員 MIB_TCP_STATE_LISTEN時,這個值就沒有意義。

dwRemotePort

類型: DWORD

遠端電腦上的 TCP 連線以網路位元組為單位的遠端埠號碼。 當 State 成員 MIB_TCP_STATE_LISTEN時,這個值就沒有意義。

IP 埠號碼的大小上限為 16 位,因此應該只使用較低的 16 位。 上方 16 位可能包含未初始化的資料。

State

類型: MIB_TCP_STATE

TCP 連線的狀態。 這個成員可以是tcpmib.h標頭檔中所定義之MIB_TCP_STATE列舉類型的其中一個值。

意義
MIB_TCP_STATE_CLOSED
1
TCP 連線處於 CLOSED 狀態,完全不代表任何線上狀態。
MIB_TCP_STATE_LISTEN
2
TCP 連線處於 LISTEN 狀態,等候來自任何遠端 TCP 和埠的連線要求。
MIB_TCP_STATE_SYN_SENT
3
TCP 連線處於 SYN-SENT 狀態,在傳送連線要求之後 (SYN 封包) 等候相符的連線要求。
MIB_TCP_STATE_SYN_RCVD
4
TCP 連線處於 SYN-RECEIVED 狀態,在收到並傳送連線要求之後,等候確認連線要求通知 (SYN 封包) 。
MIB_TCP_STATE_ESTAB
5
TCP 連線處於 ESTABLISHED 狀態,表示開啟的連接,接收的資料可以傳遞給使用者。 這是 TCP 連線資料傳輸階段的正常狀態。
MIB_TCP_STATE_FIN_WAIT1
6
TCP 連線是 FIN-WAIT-1 狀態,正在等候遠端 TCP 的連線終止要求,或先前傳送之連線終止要求的通知。
MIB_TCP_STATE_FIN_WAIT2
7
TCP 連線是 FIN-WAIT-1 狀態,正在等候遠端 TCP 的連線終止要求。
MIB_TCP_STATE_CLOSE_WAIT
8
TCP 連線處於 CLOSE-WAIT 狀態,正在等候來自本機使用者的連線終止要求。
MIB_TCP_STATE_CLOSING
9
TCP 連線處於 CLOSING 狀態,正在等候遠端 TCP 的連線終止要求通知。
MIB_TCP_STATE_LAST_ACK
10
TCP 連線處於 LAST-ACK 狀態,正在等候先前傳送至遠端 TCP (的連線終止要求通知,其中包含其連線終止要求的通知) 。
MIB_TCP_STATE_TIME_WAIT
11
TCP 連線處於 TIME-WAIT 狀態,等候足夠的時間傳遞,以確保遠端 TCP 收到其連線終止要求的通知。
MIB_TCP_STATE_DELETE_TCB
12
TCP 連線處於刪除 TCB 狀態,代表刪除傳輸控制區塊 (TCB) ,這是用來維護每個 TCP 專案資訊的資料結構。

dwOwningPid

類型: DWORD

發出此 TCP 連線之內容系結之進程的 PID。

dwOffloadState

類型: TCP_CONNECTION_OFFLOAD_STATE

此 TCP 連線的卸載狀態。 此參數可以是Tcpmib.h標頭中定義之TCP_CONNECTION_OFFLOAD_STATE的其中一個列舉值。

備註

MIB_TCP6ROW2結構是在 Windows Vista 和更新版本上定義。

GetTcp6Table2函式會擷取本機電腦上的 IPv6 TCP 連線資料表,並在MIB_TCP6TABLE2結構中傳回這項資訊。

MIB_TCP6ROW2結構的陣列包含在MIB_TCP6TABLE2結構中。

State成員指出 TCP 狀態圖中 TCP 專案的狀態。 TCP 連線會在其存留期間透過一系列狀態進行。 這些狀態包括:LISTEN、SYN-SENT、SYN-RECEIVED、ESTABLISHED、FIN-WAIT-1、FIN-WAIT-2、CLOSE-WAIT、CLOSE、LAST-ACK、TIME-WAIT 和虛構狀態 CLOSED。 CLOSED 狀態是虛構的,因為它代表沒有傳輸控制區塊時的狀態,因此沒有連線。 TCP 通訊協定會在 RFC 793 中說明。 如需詳細資訊,請參閱http://www.ietf.org/rfc/rfc793.txt

dwLocalPortdwRemotePort成員會依網路位元組順序排列。 若要使用 dwLocalPortdwRemotePort 成員,可能需要 Windows Sockets 或類似函式中的 ntohsinet_ntoa 函式。

dwLocalScopeIddwRemoteScopeId成員會依網路位元組順序排列。 若要使用 dwLocalScopeIddwRemoteScopeId 成員,可能需要 Windows Sockets 或類似函式中的 ntohlinet_ntoa 函式。

LocalAddrRemoteAddr成員會儲存在in6_addr結構中。 RtlIpv6AddressToStringRtlIpv6AddressToStringEx函式可用來將LocalAddrRemoteAddr成員中的 IPv6 位址轉換成字串,而不需載入 Windows Sockets DLL。

規格需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
標頭 tcpmib.h (包含 Iphlpapi.h)

另請參閱

GetTcp6Table

GetTcp6Table2

MIB_TCP6TABLE

MIB_TCP6TABLE2

MIB_TCPROW

MIB_TCPTABLE

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

TCP_CONNECTION_OFFLOAD_STATE

in6_addr

inet_ntoa

ntohl

ntohs