次の方法で共有


MIB_TCPROW_OWNER_PID 構造体 (tcpmib.h)

MIB_TCPROW_OWNER_PID構造体には、IPv4 アドレスを使用した IPv4 TCP 接続、TCP 接続で使用されるポート、接続に関連付けられている特定のプロセス ID (PID) について説明する情報が含まれています。

構文

typedef struct _MIB_TCPROW_OWNER_PID {
  DWORD dwState;
  DWORD dwLocalAddr;
  DWORD dwLocalPort;
  DWORD dwRemoteAddr;
  DWORD dwRemotePort;
  DWORD dwOwningPid;
} MIB_TCPROW_OWNER_PID, *PMIB_TCPROW_OWNER_PID;

メンバー

dwState

型: DWORD

TCP 接続の状態。 このメンバーには、 Iprtrmib.h ヘッダー ファイルで定義されている値のいずれかを指定できます。

Windows Vista 以降用にリリースされたWindows SDKでは、ヘッダー ファイルのorganizationが変更されました。 このメンバーは、Iprtrmib.h ヘッダー ファイルではなく、Tcpmib.h ヘッダー ファイルで定義されているMIB_TCP_STATE列挙の値のいずれかになります。 Tcpmib.h ヘッダー ファイルは、Iphlpapi.h ヘッダー ファイルに自動的に含まれる Iprtrmib.h に自動的に含まれることに注意してください。 Tcpmib.h および Iprtrmib.h ヘッダー ファイルを直接使用しないでください。

意味
MIB_TCP_STATE_CLOSED
1
TCP 接続は、接続状態をまったく表さない CLOSED 状態です。
MIB_TCP_STATE_LISTEN
2
TCP 接続は、任意のリモート TCP とポートからの接続要求を待機している LISTEN 状態です。
MIB_TCP_STATE_SYN_SENT
3
TCP 接続は、接続要求 (SYN パケット) を送信した後、一致する接続要求を待機している SYN-SENT 状態です。
MIB_TCP_STATE_SYN_RCVD
4
TCP 接続は、接続要求 (SYN パケット) を受信して送信した後、接続要求の確認を待機している SYN-RECEIVED 状態です。
MIB_TCP_STATE_ESTAB
5
TCP 接続は、開いている接続を表す ESTABLISHED 状態であり、受信したデータをユーザーに配信できます。 これは、TCP 接続のデータ転送フェーズの通常の状態です。
MIB_TCP_STATE_FIN_WAIT1
6
TCP 接続は、リモート TCP からの接続終了要求、または以前に送信された接続終了要求の受信確認を待機している FIN-WAIT-1 状態です。
MIB_TCP_STATE_FIN_WAIT2
7
TCP 接続は、リモート TCP からの接続終了要求を待機している FIN-WAIT-2 状態です。
MIB_TCP_STATE_CLOSE_WAIT
8
TCP 接続は、ローカル ユーザーからの接続終了要求を待機している CLOSE-WAIT 状態です。
MIB_TCP_STATE_CLOSING
9
TCP 接続は、リモート TCP からの接続終了要求受信確認を待機している CLOSING 状態です。
MIB_TCP_STATE_LAST_ACK
10
TCP 接続は、以前にリモート TCP に送信された接続終了要求 (接続終了要求の受信確認を含む) の受信確認を待機している LAST-ACK 状態です。
MIB_TCP_STATE_TIME_WAIT
11
TCP 接続は、リモート TCP が接続終了要求の受信確認を受信したことを確認するのに十分な時間が経過するまで待機している TIME-WAIT 状態です。
MIB_TCP_STATE_DELETE_TCB
12
TCP 接続は、各 TCP エントリの情報を維持するために使用されるデータ構造である伝送制御ブロック (TCB) の削除を表す削除 TCB 状態です。

dwLocalAddr

型: DWORD

ローカル コンピューター上の TCP 接続のローカル IPv4 アドレス。 値 0 は、リスナーが任意のインターフェイスで接続を受け入れることを示します。

dwLocalPort

型: DWORD

ローカル コンピューター上の TCP 接続のネットワーク バイト順のローカル ポート番号。

dwRemoteAddr

型: DWORD

リモート コンピューター上の TCP 接続の IPv4 アドレス。 dwState メンバーがMIB_TCP_STATE_LISTENされている場合、この値は意味がありません。

dwRemotePort

型: DWORD

リモート コンピューター上の TCP 接続のネットワーク バイト順のリモート ポート番号。 dwState メンバーがMIB_TCP_STATE_LISTEN場合、このメンバーには意味がありません。

dwOwningPid

型: DWORD

この TCP 接続のコンテキスト バインドを発行したプロセスの PID。

注釈

MIB_TCPROW_OWNER_PID構造体は、GetExtendedTcpTable の呼び出しによって返されます。TableClass パラメーターは、TCP_TABLE_CLASS列挙からTCP_TABLE_OWNER_PID_LISTENER、TCP_TABLE_OWNER_PID_CONNECTIONS、またはTCP_TABLE_OWNER_PID_ALLに設定され、ulAf パラメーターは AF_INET4 に設定されます。

dwState メンバーは、TCP 状態図の TCP エントリの状態を示します。 TCP 接続は、その有効期間中に一連の状態を経て進行します。 状態は、LISTEN、SYN-SENT、SYN-RECEIVED、ESTABLISHED、FIN-WAIT-1、FIN-WAIT-2、CLOSE-WAIT、CLOSING、LAST-ACK、TIME-WAIT、および架空の状態です。 CLOSED 状態は架空の状態です。これは、伝送制御ブロックがなく、したがって接続がない場合の状態を表すためです。 TCP プロトコルは RFC 793 で説明されています。 詳細については、「http://www.ietf.org/rfc/rfc793.txt」を参照してください。

dwLocalPort メンバーと dwRemotePort メンバーは、ネットワークのバイト順です。 dwLocalPort メンバーまたは dwRemotePort メンバーを使用するには、Windows ソケットまたは同様の関数の ntohs 関数またはinet_ntoa関数が必要になる場合があります。 dwLocalAddr メンバーと dwRemoteAddr メンバーは、in_addr構造体と同じ形式で DWORD として格納されます。 dwLocalAddr メンバーまたは dwRemoteAddr メンバーを使用するには、Windows ソケットまたは同様の関数の ntohl 関数またはinet_ntoa関数が必要になる場合があります。 Windows Vista 以降では、RtlIpv4AddressToString 関数または RtlIpv4AddressToStringEx 関数を使用して、dwLocalAddr メンバーまたは dwRemoteAddr メンバーの IPv4 アドレスを Windows ソケット DLL を読み込まずに文字列に変換できます。

Windows Vista 以降用にリリースされたWindows SDKでは、ヘッダー ファイルのorganizationが変更されました。 この構造体は、Iprtrmib.h ヘッダー ファイルではなく、Tcpmib.h ヘッダー ファイルで定義されます。 Tcpmib.h ヘッダー ファイルは、Iphlpapi.h ヘッダー ファイルに自動的に含まれる Iprtrmib.h に自動的に含まれることに注意してください。 Tcpmib.h および Iprtrmib.h ヘッダー ファイルを直接使用しないでください。

要件

要件
サポートされている最小のクライアント Windows Vista、SP2 を使用した Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008、Windows Server 2003 SP1 [デスクトップ アプリのみ]
Header tcpmib.h (Iphlpapi.h を含む)

こちらもご覧ください

GetExtendedTcpTable

RtlIpv4AddressToString

RtlIpv4AddressToStringEx

TCP_TABLE_CLASS

in_addr

inet_ntoa

ntohl

ntohs