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 ヘッダー ファイルを直接使用しないでください。
dwOwningPid
型: DWORD
この TCP 接続のコンテキスト バインドを発行したローカル プロセスの PID。
解説
MIB_TCP6TABLE_OWNER_PID構造体は、GetExtendedTcpTable の呼び出しによって返されます。TableClass パラメーターは、TCP_TABLE_CLASS列挙体からTCP_TABLE_OWNER_PID_LISTENER、TCP_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 を含む) |