Fonction SetPerTcp6ConnectionEStats (iphlpapi.h)

La fonction SetPerTcp6ConnectionEStats définit une valeur dans les informations de lecture/écriture pour une connexion TCP IPv6. Cette fonction est utilisée pour activer ou désactiver des statistiques étendues pour une connexion TCP IPv6.

Syntaxe

IPHLPAPI_DLL_LINKAGE ULONG SetPerTcp6ConnectionEStats(
  PMIB_TCP6ROW    Row,
  TCP_ESTATS_TYPE EstatsType,
  PUCHAR          Rw,
  ULONG           RwVersion,
  ULONG           RwSize,
  ULONG           Offset
);

Paramètres

Row

Pointeur vers une structure MIB_TCP6ROW pour une connexion TCP IPv6.

EstatsType

Type de statistiques étendues pour TCP à définir. Ce paramètre détermine les données et le format des informations attendues dans le paramètre Rw .

Ce paramètre peut être l’une des valeurs du type d’énumération TCP_ESTATS_TYPE défini dans le fichier d’en-tête Tcpestats.h .

Valeur Signification
TcpConnectionEstatsData
Cette valeur spécifie les informations de transfert de données étendues pour une connexion TCP.

Lorsque cette valeur est spécifiée, la mémoire tampon pointée vers le paramètre Rw doit pointer vers une structure TCP_ESTATS_DATA_RW_v0 .

TcpConnectionEstatsSndCong
Cette valeur spécifie la congestion de l’expéditeur pour une connexion TCP.

Lorsque cette valeur est spécifiée, la mémoire tampon pointée vers le paramètre Rw doit pointer vers une structure TCP_ESTATS_SND_CONG_RW_v0 .

TcpConnectionEstatsPath
Cette valeur spécifie les informations de mesure de chemin d’accès étendu pour une connexion TCP.

Lorsque cette valeur est spécifiée, la mémoire tampon pointée vers le paramètre Rw doit pointer vers une structure TCP_ESTATS_PATH_RW_v0 .

TcpConnectionEstatsSendBuff
Cette valeur spécifie des informations de mise en file d’attente de sortie étendues pour une connexion TCP.

Lorsque cette valeur est spécifiée, la mémoire tampon pointée vers le paramètre Rw doit pointer vers une structure TCP_ESTATS_SEND_BUFF_RW_v0 .

TcpConnectionEstatsRec
Cette valeur spécifie les informations étendues du récepteur local pour une connexion TCP.

Lorsque cette valeur est spécifiée, la mémoire tampon pointée vers le paramètre Rw doit pointer vers une structure TCP_ESTATS_REC_RW_v0 .

TcpConnectionEstatsObsRec
Cette valeur spécifie les informations du récepteur distant étendu pour une connexion TCP.

Lorsque cette valeur est spécifiée, la mémoire tampon pointée vers le paramètre Rw doit pointer vers une structure TCP_ESTATS_OBS_REC_RW_v0 .

TcpConnectionEstatsBandwidth
Cette valeur spécifie les statistiques d’estimation de bande passante pour une connexion TCP sur la bande passante.

Lorsque cette valeur est spécifiée, la mémoire tampon pointée vers le paramètre Rw doit pointer vers une structure TCP_ESTATS_BANDWIDTH_RW_v0 .

TcpConnectionEstatsFineRtt
Cette valeur spécifie des statistiques d’estimation précises du temps d’aller-retour (RTT) pour une connexion TCP.

Lorsque cette valeur est spécifiée, la mémoire tampon pointée vers le paramètre Rw doit pointer vers une structure TCP_ESTATS_FINE_RTT_RW_v0 .

Rw

Pointeur vers une mémoire tampon qui contient les informations de lecture/écriture à définir. La mémoire tampon doit contenir une valeur de l’énumération TCP_BOOLEAN_OPTIONAL pour chaque membre de structure qui spécifie la façon dont chaque membre doit être mis à jour.

RwVersion

Version des informations en lecture/écriture à définir. Ce paramètre doit être défini sur zéro pour Windows Vista, Windows Server 2008 et Windows 7.

RwSize

Taille, en octets, de la mémoire tampon pointée vers le paramètre Rw .

Offset

Décalage, en octets, du membre dans la structure pointée par le paramètre Rw à définir. Ce paramètre n’est actuellement pas utilisé et doit être défini sur zéro.

Valeur retournée

Si la fonction réussit, la valeur de retour est NO_ERROR.

Si la fonction échoue, la valeur de retour est l’un des codes d’erreur suivants.

Code de retour Description
ERROR_ACCESS_DENIED
L’accès est refusé. Cette erreur est retournée dans plusieurs conditions, notamment : l’utilisateur n’a pas les privilèges d’administration requis sur l’ordinateur local ou l’application ne s’exécute pas dans un interpréteur de commandes amélioré en tant qu’administrateur intégré (administrateur RunAs).
ERROR_INVALID_PARAMETER
Le paramètre est incorrect. Cette erreur est retournée si le paramètre Row est un pointeur NULL .
ERROR_INVALID_USER_BUFFER
La mémoire tampon utilisateur fournie n’est pas valide pour l’opération demandée. Cette erreur est retournée si le paramètre Row est un pointeur NULL et si le paramètre RwSize est différent de zéro.
ERROR_NOT_FOUND
Cette entrée demandée est introuvable. Cette erreur est retournée si la connexion TCP spécifiée dans le paramètre Row est introuvable.
ERROR_NOT_SUPPORTED
La demande n'est pas prise en charge. Cette erreur est retournée si le paramètre RwVersion ou Offset n’est pas défini sur 0.
Autres
Utilisez FormatMessage pour obtenir la chaîne de message pour l’erreur retournée.

Remarques

La fonction SetPerTcp6ConnectionEStats est définie sur Windows Vista et versions ultérieures.

La fonction SetPerTcp6ConnectionEStats est utilisée pour activer ou désactiver les statistiques étendues pour la connexion TCP IPv6 transmise dans le paramètre Row . Les statistiques étendues sur une connexion TCP sont désactivées par défaut.

La fonction SetPerTcp6ConnectionEStats permet de définir la valeur d’un membre dans les informations en lecture/écriture pour les statistiques étendues pour une connexion TCP IPv6. Le type et le format de la structure à définir sont spécifiés par le paramètre EstatsType . Le paramètre Rw contient un pointeur vers la structure passée. Le membre à définir dans cette structure est spécifié par le paramètre Offset . Tous les membres de la structure pointés vers le paramètre Rw doivent être spécifiés.

La seule version des statistiques de connexion TCP actuellement prise en charge est la version zéro. Par conséquent, le paramètre RwVersion passé à SetPerTcp6ConnectionEStats doit avoir la valeur 0.

La structure pointée vers par le paramètre Rw passé cette fonction dépend de la valeur d’énumération passée dans le paramètre EstatsType . Le tableau suivant indique le type de structure qui doit être passé dans le paramètre Rw pour chaque type de paramètre EstatsType possible.

EstatsType Structure pointée vers rw
TcpConnectionEstatsData TCP_ESTATS_DATA_RW_v0
TcpConnectionEstatsSndCong TCP_ESTATS_SND_CONG_RW_v0
TcpConnectionEstatsPath TCP_ESTATS_PATH_RW_v0
TcpConnectionEstatsSendBuff TCP_ESTATS_SEND_BUFF_RW_v0
TcpConnectionEstatsRec TCP_ESTATS_REC_RW_v0
TcpConnectionEstatsObsRec TCP_ESTATS_OBS_REC_RW_v0
TcpConnectionEstatsBandwidth TCP_ESTATS_BANDWIDTH_RW_v0
TcpConnectionEstatsFineRtt TCP_ESTATS_FINE_RTT_RW_v0
 

Le paramètre Offset n’est actuellement pas utilisé. Les structures possibles pointées vers le paramètre Rw ont toutes un seul membre, à l’exception de la structure TCP_ESTATS_BANDWIDTH_RW_v0 . Lorsque le paramètre EstatsType est défini sur TcpConnectionEstatsBandwidth, la structure TCP_ESTATS_BANDWIDTH_RW_v0 pointée par le paramètre Rw doit avoir les deux membres de la structure définis sur les valeurs préférées dans un seul appel à la fonction SetPerTcp6ConnectionEStats .

Si le paramètre RwSize a la valeur 0, la fonction SetPerTcp6ConnectionEStats retourne NO_ERROR et n’apporte aucune modification aux statistiques étendues status.

La fonction GetTcp6Table est utilisée pour récupérer la table de connexion TCP IPv6 sur l’ordinateur local. Cette fonction retourne une structure MIB_TCP6TABLE qui contient un tableau d’entrées MIB_TCP6ROW . Le paramètre Row passé à la fonction SetPerTcp6ConnectionEStats doit être une entrée pour une connexion TCP IPv6 existante.

Une fois que les statistiques étendues sont activées sur une connexion TCP pour IPv6, une application appelle la fonction GetPerTcp6ConnectionEStats pour récupérer des statistiques étendues sur la connexion TCP.

La fonction GetPerTcp6ConnectionEStats est conçue pour utiliser TCP pour diagnostiquer les problèmes de performances dans le réseau et l’application. Si une application réseau fonctionne mal, TCP peut déterminer si le goulot d’étranglement se trouve dans l’expéditeur, le destinataire ou le réseau lui-même. Si le goulot d’étranglement se trouve dans le réseau, TCP peut fournir des informations spécifiques sur sa nature.

Pour plus d’informations sur les statistiques TCP étendues sur une connexion IPv4, consultez les fonctions GetPerTcpConnectionEStats et SetPerTcpConnectionEStats .

La fonction SetPerTcp6ConnectionEStats ne peut être appelée que par un utilisateur connecté en tant que membre du groupe Administrateurs. Si SetPerTcp6ConnectionEStats est appelé par un utilisateur qui n’est pas membre du groupe Administrateurs, l’appel de fonction échoue et ERROR_ACCESS_DENIED est retourné. Cette fonction peut également échouer en raison du contrôle de compte d’utilisateur (UAC) sur Windows Vista et Windows Server 2008. Si une application qui contient cette fonction est exécutée par un utilisateur connecté en tant que membre du groupe Administrateurs autre que l’administrateur intégré, cet appel échoue, sauf si l’application a été marquée dans le fichier manifeste avec un paramètre requestedExecutionLevel défini sur requireAdministrator. Si l’application sur Windows Vista ou Windows Server 2008 ne dispose pas de ce fichier manifeste, un utilisateur connecté en tant que membre du groupe Administrateurs autre que l’administrateur intégré doit alors exécuter l’application dans un interpréteur de commandes amélioré en tant qu’administrateur intégré (administrateur RunAs) pour que cette fonction réussisse.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête iphlpapi.h
Bibliothèque Iphlpapi.lib
DLL Iphlpapi.dll

Voir aussi

GetPerTcp6ConnectionEStats

GetPerTcpConnectionEStats

GetTcp6Table

MIB_TCP6ROW

MIB_TCP6TABLE

SetPerTcpConnectionEStats

TCP_BOOLEAN_OPTIONAL

TCP_ESTATS_BANDWIDTH_RW_v0

TCP_ESTATS_DATA_RW_v0

TCP_ESTATS_FINE_RTT_RW_v0

TCP_ESTATS_OBS_REC_RW_v0

TCP_ESTATS_PATH_RW_v0

TCP_ESTATS_REC_RW_v0

TCP_ESTATS_SEND_BUFF_RW_v0

TCP_ESTATS_SND_CONG_RW_v0

TCP_ESTATS_TYPE