共用方式為


MIB_TCPROW_OWNER_MODULE結構(tcpmib.h)

MIB_TCPROW_OWNER_MODULE結構包含描述 IPv4 TCP 連線的資訊,包含擁有權資料、IPv4 位址、TCP 連線使用的埠口,以及與連線相關的特定程序 ID(PID)。

語法

typedef struct _MIB_TCPROW_OWNER_MODULE {
  DWORD         dwState;
  DWORD         dwLocalAddr;
  DWORD         dwLocalPort;
  DWORD         dwRemoteAddr;
  DWORD         dwRemotePort;
  DWORD         dwOwningPid;
  LARGE_INTEGER liCreateTimestamp;
  ULONGLONG     OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE];
} MIB_TCPROW_OWNER_MODULE, *PMIB_TCPROW_OWNER_MODULE;

Members

dwState

類型: DWORD

dwState

類型: DWORD

TCP 連線的狀態。 此成員可為 Iprtrmib.h 標頭檔案中定義的值之一。

在為 Windows Vista 及之後版本釋出的 Windows SDK 中,標頭檔案的組織方式有所改變。 此成員可是 Tcpmib.h 標頭檔中定義的 MIB_TCP_STATE 枚舉中的值之一,而非 Iprtrmib.h 標頭檔。 請注意, Tcpmib.h 標頭檔會自動包含在 Iprtrmib.h 中,而 Iprtrmib.h 會自動包含在 Iphlpapi.h 標頭檔中。 絕不應直接使用 Tcpmib.hIprtrmib.h 標頭檔。

價值觀 Meaning
MIB_TCP_STATE_CLOSED
1
TCP 連線處於關閉狀態,代表完全沒有連線狀態。
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 條目的資訊。

dwLocalAddr

類型: DWORD

這是本地電腦 TCP 連線的本地 IPv4 位址。 值為零表示監聽者可以在任何介面上接受連線。

dwLocalPort

類型: DWORD

本地電腦上 TCP 連線的網路位元組序埠號。

dwRemoteAddr

類型: DWORD

遠端電腦 TCP 連線的 IPv4 位址。 當 dwState 成員被 MIB_TCP_STATE_LISTEN時,這個數值就沒有意義。

dwRemotePort

類型: DWORD

遠端電腦上 TCP 連線的網路位元組序埠號。 當 dwState 成員 MIB_TCP_STATE_LISTEN時,該成員就沒有意義。

dwOwningPid

類型: DWORD

為此 TCP 連線發出上下文綁定的程序的 PID。

liCreateTimestamp

類型: LARGE_INTEGER

一個 FILETIME 結構,指示建立此 TCP 連結的上下文綁定操作何時發生。

OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE]

類型: 烏龍龍[TCPIP_OWNING_MODULE_SIZE]

一組不透明的資料陣列,包含所有權資訊。

備註

MIB_TCPROW_OWNER_MODULE結構可透過呼叫 GetExtendedTcpTable,並將 TableClass 參數設為 TCP_TABLE_OWNER_MODULE_LISTENERTCP_TABLE_OWNER_MODULE_CONNECTIONSTCP_TABLE_OWNER_MODULE_ALL,並從 TCP_TABLE_CLASS 枚舉中返回,ulAf 參數設為 AF_INET4

dwState 成員表示 TCP 狀態圖中 TCP 條目的狀態。 TCP 連線在其生命週期中會經歷一系列狀態。 這些狀態分別是:LISTEN、SYN-SENT、SYN-RECEIVED、ESTRUSHED、FIN-WAIT-1、FIN-WAIT-2、CLOSE-WAIT、CCLOSESING、LAST-ACK、TIME-WAIT,以及虛構狀態 CLOSED。 閉合狀態是虛構的,因為它代表沒有傳輸控制區塊,因此沒有連線的狀態。 TCP 協定在 RFC 793 中有描述。 如需詳細資訊,請參閱http://www.ietf.org/rfc/rfc793.txt

dwLocalPortdwRemotePort 成員依網路位元組順序排列。 為了使用 dwLocalPortdwRemotePort 成員,可能需要 Windows Sockets 中的 ntohsinet_ntoa 函式,或類似函式。 dwLocalAddrdwRemoteAddr 成員以與 in_addr 結構相同的格式儲存為 DWORD。 為了使用 dwLocalAddrdwRemoteAddr 成員,可能需要 Windows Sockets 中的 ntohlinet_ntoa 函式,或類似函式。 在 Windows Vista 及以後版本,可以使用 RtlIpv4AddressToStringRtlIpv4AddressToStringEx 函式,將 dwLocalAddrdwRemoteAddr 成員中的 IPv4 位址轉換為字串,而無需載入 Windows Sockets DLL。

在為 Windows Vista 及之後版本釋出的 Windows SDK 中,標頭檔案的組織方式有所改變。 此結構定義在 Tcpmib.h 標頭檔中,而不是在 Iprtrmib.h 標頭檔中定義。 請注意, Tcpmib.h 標頭檔會自動包含在 Iprtrmib.h 中,而 Iprtrmib.h 會自動包含在 Iphlpapi.h 標頭檔中。 絕不應直接使用 Tcpmib.hIprtrmib.h 標頭檔。

需求

Requirement 價值觀
最低支援的用戶端 Windows Vista、Windows XP SP2 [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2008、Windows Server 2003 SP1 [僅限傳統型應用程式]
Header tcpmib.h(包括 Iphlpapi.h)

另請參閱

GetExtendedTcpTable

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

系統時間

TCP_TABLE_CLASS

in_addr

inet_ntoa

關於

NTOHS