structure MIB_TCP6ROW_OWNER_MODULE (tcpmib.h)

La structure MIB_TCP6ROW_OWNER_MODULE contient des informations qui décrivent une connexion TCP IPv6 liée à un ID de processus (PID) spécifique avec des données de propriété.

Syntaxe

typedef struct _MIB_TCP6ROW_OWNER_MODULE {
  UCHAR         ucLocalAddr[16];
  DWORD         dwLocalScopeId;
  DWORD         dwLocalPort;
  UCHAR         ucRemoteAddr[16];
  DWORD         dwRemoteScopeId;
  DWORD         dwRemotePort;
  DWORD         dwState;
  DWORD         dwOwningPid;
  LARGE_INTEGER liCreateTimestamp;
  ULONGLONG     OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE];
} MIB_TCP6ROW_OWNER_MODULE, *PMIB_TCP6ROW_OWNER_MODULE;

Membres

ucLocalAddr[16]

Type : UCHAR[16]

Adresse IPv6 du point de terminaison local de la connexion TCP sur l’ordinateur local. La valeur zéro indique que l’écouteur peut accepter une connexion sur n’importe quelle interface.

dwLocalScopeId

Type : DWORD

ID d’étendue dans l’ordre d’octet réseau pour l’adresse IPv6 locale.

dwLocalPort

Type : DWORD

Numéro de port dans l’ordre d’octet réseau pour le point de terminaison local de la connexion TCP sur l’ordinateur local.

ucRemoteAddr[16]

Type : UCHAR[16]

Adresse IPv6 du point de terminaison distant de la connexion TCP sur l’ordinateur distant. Lorsque le membre dwState est MIB_TCP_STATE_LISTEN, cette valeur n’a aucune signification.

dwRemoteScopeId

Type : DWORD

ID d’étendue dans l’ordre d’octet réseau pour l’adresse IPv6 distante.

dwRemotePort

Type : DWORD

Numéro de port dans l’ordre d’octet réseau pour le point de terminaison distant de la connexion TCP sur l’ordinateur distant.

dwState

Type : DWORD

État de la connexion TCP. Ce membre peut être l’une des valeurs de l’énumération MIB_TCP_STATE définie dans le fichier d’en-tête Tcpmib.h . Notez que le fichier d’en-tête Tcpmib.h est automatiquement inclus dans Iprtrmib.h, qui est automatiquement inclus dans le fichier d’en-tête Iphlpapi.h . Les fichiers d’en-tête Tcpmib.h et Iprtrmib.h ne doivent jamais être utilisés directement.

Valeur Signification
MIB_TCP_STATE_CLOSED
1
La connexion TCP est à l’état FERMÉ qui ne représente aucun état de connexion.
MIB_TCP_STATE_LISTEN
2
La connexion TCP est à l’état LISTEN en attente d’une demande de connexion à partir d’un port et d’un port TCP distants.
MIB_TCP_STATE_SYN_SENT
3
La connexion TCP est à l’état SYN-SENT en attente d’une demande de connexion correspondante après avoir envoyé une demande de connexion (paquet SYN).
MIB_TCP_STATE_SYN_RCVD
4
La connexion TCP est à l’état SYN-RECEIVED en attente d’un accusé de réception de demande de connexion de confirmation après avoir reçu et envoyé une demande de connexion (paquet SYN).
MIB_TCP_STATE_ESTAB
5
La connexion TCP est à l’état ESTABLISHED qui représente une connexion ouverte. Les données reçues peuvent être remises à l’utilisateur. Il s’agit de l’état normal pour la phase de transfert de données de la connexion TCP.
MIB_TCP_STATE_FIN_WAIT1
6
La connexion TCP est à l’état FIN-WAIT-1 en attente d’une demande d’arrêt de connexion à partir du TCP distant ou d’un accusé de réception de la demande d’arrêt de connexion précédemment envoyée.
MIB_TCP_STATE_FIN_WAIT2
7
La connexion TCP est à l’état FIN-WAIT-1 en attente d’une demande d’arrêt de connexion à partir du TCP distant.
MIB_TCP_STATE_CLOSE_WAIT
8
La connexion TCP est à l’état CLOSE-WAIT en attente d’une demande d’arrêt de connexion de la part de l’utilisateur local.
MIB_TCP_STATE_CLOSING
9
La connexion TCP est à l’état CLOSING en attente d’un accusé de réception de demande d’arrêt de connexion à partir du TCP distant.
MIB_TCP_STATE_LAST_ACK
10
La connexion TCP est à l’état LAST-ACK en attente d’un accusé de réception de la demande d’arrêt de connexion précédemment envoyée au TCP distant (qui comprend un accusé de réception de sa demande d’arrêt de connexion).
MIB_TCP_STATE_TIME_WAIT
11
La connexion TCP est à l’état TIME-WAIT en attendant suffisamment de temps pour s’assurer que le TCP distant a reçu l’accusé de réception de sa demande d’arrêt de connexion.
MIB_TCP_STATE_DELETE_TCB
12
La connexion TCP est dans l’état de suppression du TCB qui représente la suppression du bloc de contrôle de transmission (TCB), une structure de données utilisée pour gérer les informations sur chaque entrée TCP.

dwOwningPid

Type : DWORD

PID du processus local qui a émis une liaison de contexte pour cette connexion TCP.

liCreateTimestamp

Type : LARGE_INTEGER

Structure FILETIME qui indique quand l’opération de liaison de contexte qui a créé cette connexion TCP s’est produite.

OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE]

Type : ULONGLONG[TCPIP_OWNING_MODULE_SIZE]

Tableau de données opaques qui contient des informations de propriété.

Remarques

La structure MIB_TCP6TABLE_OWNER_MODULE est retournée par un appel à GetExtendedTcpTable avec le paramètre TableClass défini sur un TCP_TABLE_OWNER_MODULE_LISTENER, un TCP_TABLE_OWNER_MODULE_CONNECTIONS ou un TCP_TABLE_OWNER_MODULE_ALL à partir de l’énumération TCP_TABLE_CLASS et le paramètre ulAf défini sur AF_INET6. La structure MIB_TCP6TABLE_OWNER_MODULE contient un tableau de structures MIB_TCP6ROW_OWNER_MODULE .

Le membre dwState indique l’état de l’entrée TCP dans un diagramme d’état TCP. Une connexion TCP progresse à travers une série d’états au cours de sa durée de vie. Les états sont : LISTEN, SYN-SENT, SYN-RECEIVED, ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT et l’état fictif FERMÉ. L’état FERMÉ est fictif, car il représente l’état lorsqu’il n’existe aucun bloc de contrôle de transmission et, par conséquent, aucune connexion. Le protocole TCP est décrit dans RFC 793. Pour plus d’informations, consultez http://www.ietf.org/rfc/rfc793.txt.

Les membres ucLocalAddr et ucRemoteAddr sont stockés dans un tableau de caractères par ordre d’octet réseau. Les fonctions RtlIpv6AddressToString ou RtlIpv6AddressToStringEx peuvent être utilisées pour convertir l’adresse IPv6 dans les membres ucLocalAddr ou ucRemoteAddr en chaîne sans charger la DLL windows Sockets.

Les membres dwLocalScopeId et dwRemoteScopeId sont dans l’ordre d’octet réseau. Pour utiliser les membres dwLocalScopeId ou dwRemoteScopeId , les fonctions ntohl ou inet_ntoa dans les sockets Windows ou des fonctions similaires peuvent être nécessaires.

Les membres dwLocalPort et dwRemotePort sont dans l’ordre d’octet réseau. Pour utiliser les membres dwLocalPort ou dwRemotePort , les fonctions ntohs ou inet_ntoa dans les sockets Windows ou des fonctions similaires peuvent être nécessaires.

Sur le Microsoft Kit de développement logiciel Windows (Kit SDK Windows) (SDK) publié pour Windows Vista et versions ultérieures, la organization des fichiers d’en-tête a changé. Cette structure est définie dans le fichier d’en-tête Tcpmib.h , et non dans le fichier d’en-tête Iprtrmib.h . Notez que le fichier d’en-tête Tcpmib.h est automatiquement inclus dans Iprtrmib.h, qui est automatiquement inclus dans le fichier d’en-tête Iphlpapi.h . Les fichiers d’en-tête Tcpmib.h et Iprtrmib.h ne doivent jamais être utilisés directement.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista, Windows XP avec SP2 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008, Windows Server 2003 avec SP1 [applications de bureau uniquement]
En-tête tcpmib.h (inclure Iphlpapi.h)

Voir aussi

GetExtendedTcpTable

RtlIpv6AddressToString

RtlIpv6AddressToStringEx

SYSTEMTIME

TCP_TABLE_CLASS

inet_ntoa

ntohl

ntohs