structure MIB_TCPROW_OWNER_MODULE (tcpmib.h)
La structure MIB_TCPROW_OWNER_MODULE contient des informations qui décrivent une connexion TCP IPv4 avec des données de propriété, des adresses IPv4, des ports utilisés par la connexion TCP et l’ID de processus (PID) spécifique associé à la connexion.
Syntaxe
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;
Membres
dwState
Type : DWORD
dwState
Type : DWORD État de la connexion TCP. Ce membre peut être l’une des valeurs définies dans le fichier d’en-tête Iprtrmib.h .
Sur le SDK Windows publié pour Windows Vista et versions ultérieures, la organization des fichiers d’en-tête a changé. 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 , 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.
dwLocalAddr
Type : DWORD
Adresse IPv4 locale pour la connexion TCP sur l’ordinateur local. La valeur zéro indique que l’écouteur peut accepter une connexion sur n’importe quelle interface.
dwLocalPort
Type : DWORD
Numéro de port local dans l’ordre d’octet réseau de la connexion TCP sur l’ordinateur local.
dwRemoteAddr
Type : DWORD
Adresse IPv4 de la connexion TCP sur l’ordinateur distant. Lorsque le membre dwState est MIB_TCP_STATE_LISTEN, cette valeur n’a aucune signification.
dwRemotePort
Type : DWORD
Numéro de port distant dans l’ordre d’octet réseau de la connexion TCP sur l’ordinateur distant. Lorsque le membre dwState est MIB_TCP_STATE_LISTEN, ce membre n’a aucune signification.
dwOwningPid
Type : DWORD
PID du processus 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 liaison 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_TCPROW_OWNER_MODULE est retournée par un appel à GetExtendedTcpTable avec le paramètre TableClass défini sur TCP_TABLE_OWNER_MODULE_LISTENER, TCP_TABLE_OWNER_MODULE_CONNECTIONS ou TCP_TABLE_OWNER_MODULE_ALL à partir de l’énumération TCP_TABLE_CLASS et le paramètre ulAf défini sur AF_INET4.
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 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. Les membres dwLocalAddr et dwRemoteAddr sont stockés en tant que DWORD au même format que la structure in_addr . Pour utiliser les membres dwLocalAddr ou dwRemoteAddr , les fonctions ntohl ou inet_ntoa dans les sockets Windows ou des fonctions similaires peuvent être nécessaires. Sur Windows Vista et versions ultérieures, les fonctions RtlIpv4AddressToString ou RtlIpv4AddressToStringEx peuvent être utilisées pour convertir l’adresse IPv4 dans les membres dwLocalAddr ou dwRemoteAddr en chaîne sans charger la DLL windows Sockets.
Sur le SDK Windows 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) |