次の方法で共有


MIB_TCP6ROW_OWNER_PID 構造体 (tcpmib.h)

MIB_TCP6ROW_OWNER_PID構造体には、特定のプロセス ID (PID) に関連付けられている IPv6 TCP 接続について説明する情報が含まれています。

構文

typedef struct _MIB_TCP6ROW_OWNER_PID {
  UCHAR ucLocalAddr[16];
  DWORD dwLocalScopeId;
  DWORD dwLocalPort;
  UCHAR ucRemoteAddr[16];
  DWORD dwRemoteScopeId;
  DWORD dwRemotePort;
  DWORD dwState;
  DWORD dwOwningPid;
} MIB_TCP6ROW_OWNER_PID, *PMIB_TCP6ROW_OWNER_PID;

メンバー

ucLocalAddr[16]

種類: UCHAR[16]

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

dwLocalScopeId

型: DWORD

ローカル IPv6 アドレスのネットワーク バイト順のスコープ ID。

dwLocalPort

型: DWORD

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

ucRemoteAddr[16]

種類: UCHAR[16]

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

dwRemoteScopeId

型: DWORD

リモート IPv6 アドレスのネットワーク バイト順のスコープ ID。

dwRemotePort

型: DWORD

リモート コンピューター上の TCP 接続のリモート エンドポイントのネットワーク バイト順のポート番号。

dwState

型: DWORD

TCP 接続の状態。 このメンバーは、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-1 状態です。
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 状態です。

dwOwningPid

型: DWORD

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

解説

MIB_TCP6TABLE_OWNER_PID構造体は、GetExtendedTcpTable の呼び出しによって返されます。TableClass パラメーターは、TCP_TABLE_CLASS列挙体からTCP_TABLE_OWNER_PID_LISTENERTCP_TABLE_OWNER_PID_CONNECTIONS、またはTCP_TABLE_OWNER_PID_ALLに設定され、ulAf パラメーターは AF_INET6 に設定されます。 MIB_TCP6TABLE_OWNER_PID構造体には、MIB_TCP6ROW_OWNER_PID構造体の配列が含まれています。

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

dwLocalPort メンバーと dwRemotePort メンバーは、ネットワークのバイト順です。 dwLocalPort メンバーまたは dwRemotePort メンバーを使用するには、Windows ソケットまたは同様の関数の ntohs またはinet_ntoa関数が必要な場合があります。

dwLocalScopeId メンバーと dwRemoteScopeId メンバーは、ネットワーク バイト順です。 dwLocalScopeId または dwRemoteScopeId メンバーを使用するには、Windows ソケットまたは同様の関数の ntohl またはinet_ntoa関数が必要になる場合があります。

ucLocalAddr メンバーと ucRemoteAddr メンバーは、ネットワークのバイト順に文字配列に格納されます。 RtlIpv6AddressToString 関数または RtlIpv6AddressToStringEx 関数を使用して、ucLocalAddr メンバーまたは ucRemoteAddr メンバーの IPv6 アドレスを、Windows ソケット DLL を読み込まずに文字列に変換できます。

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

要件

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

関連項目

GetExtendedTcpTable

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

TCP_TABLE_CLASS

inet_ntoa

ntohl

ntohs