Función SetPerTcp6ConnectionEStats (iphlpapi.h)
La función SetPerTcp6ConnectionEStats establece un valor en la información de lectura y escritura de una conexión TCP IPv6. Esta función se usa para habilitar o deshabilitar estadísticas extendidas para una conexión TCP IPv6.
Sintaxis
IPHLPAPI_DLL_LINKAGE ULONG SetPerTcp6ConnectionEStats(
PMIB_TCP6ROW Row,
TCP_ESTATS_TYPE EstatsType,
PUCHAR Rw,
ULONG RwVersion,
ULONG RwSize,
ULONG Offset
);
Parámetros
Row
Puntero a una estructura MIB_TCP6ROW para una conexión TCP IPv6.
EstatsType
Tipo de estadísticas extendidas para tcp que se va a establecer. Este parámetro determina los datos y el formato de la información que se espera en el parámetro Rw .
Este parámetro puede ser uno de los valores del tipo de enumeración TCP_ESTATS_TYPE definido en el archivo de encabezado Tcpestats.h .
Valor | Significado |
---|---|
|
Este valor especifica información de transferencia de datos extendida para una conexión TCP.
Cuando se especifica este valor, el búfer al que apunta el parámetro Rw debe apuntar a una estructura TCP_ESTATS_DATA_RW_v0 . |
|
Este valor especifica la congestión del remitente para una conexión TCP.
Cuando se especifica este valor, el búfer al que apunta el parámetro Rw debe apuntar a una estructura TCP_ESTATS_SND_CONG_RW_v0 . |
|
Este valor especifica información de medición de ruta de acceso extendida para una conexión TCP.
Cuando se especifica este valor, el búfer al que apunta el parámetro Rw debe apuntar a una estructura TCP_ESTATS_PATH_RW_v0 . |
|
Este valor especifica información extendida de salida en cola para una conexión TCP.
Cuando se especifica este valor, el búfer al que apunta el parámetro Rw debe apuntar a una estructura TCP_ESTATS_SEND_BUFF_RW_v0 . |
|
Este valor especifica información extendida del receptor local para una conexión TCP.
Cuando se especifica este valor, el búfer al que apunta el parámetro Rw debe apuntar a una estructura TCP_ESTATS_REC_RW_v0 . |
|
Este valor especifica información extendida del receptor remoto para una conexión TCP.
Cuando se especifica este valor, el búfer al que apunta el parámetro Rw debe apuntar a una estructura TCP_ESTATS_OBS_REC_RW_v0 . |
|
Este valor especifica las estadísticas de estimación de ancho de banda de una conexión TCP en el ancho de banda.
Cuando se especifica este valor, el búfer al que apunta el parámetro Rw debe apuntar a una estructura TCP_ESTATS_BANDWIDTH_RW_v0 . |
|
Este valor especifica estadísticas de estimación de tiempo de ida y vuelta (RTT) específicas para una conexión TCP.
Cuando se especifica este valor, el búfer al que apunta el parámetro Rw debe apuntar a una estructura TCP_ESTATS_FINE_RTT_RW_v0 . |
Rw
Puntero a un búfer que contiene la información de lectura y escritura que se va a establecer. El búfer debe contener un valor de la enumeración TCP_BOOLEAN_OPTIONAL para cada miembro de estructura que especifique cómo se debe actualizar cada miembro.
RwVersion
Versión de la información de lectura y escritura que se va a establecer. Este parámetro debe establecerse en cero para Windows Vista, Windows Server 2008 y Windows 7.
RwSize
Tamaño, en bytes, del búfer al que apunta el parámetro Rw .
Offset
Desplazamiento, en bytes, al miembro de la estructura a la que apunta el parámetro Rw que se va a establecer. Este parámetro no se usa actualmente y debe establecerse en cero.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es NO_ERROR.
Si se produce un error en la función, el valor devuelto es uno de los siguientes códigos de error.
Código devuelto | Descripción |
---|---|
|
Acceso denegado. Este error se devuelve en varias condiciones que incluyen lo siguiente: el usuario carece de los privilegios administrativos necesarios en el equipo local o la aplicación no se ejecuta en un shell mejorado como administrador integrado (administrador de RunAs). |
|
El parámetro no es correcto. Este error se devuelve si el parámetro Row es un puntero NULL . |
|
El búfer de usuario proporcionado no es válido para la operación solicitada. Este error se devuelve si el parámetro Row es un puntero NULL y el parámetro RwSize es distinto de cero. |
|
No se encontró esta entrada solicitada. Este error se devuelve si no se encontró la conexión TCP especificada en el parámetro Row . |
|
No se admite la solicitud. Este error se devuelve si rwversion o el parámetro Offset no está establecido en 0. |
|
Use FormatMessage para obtener la cadena de mensaje del error devuelto. |
Comentarios
La función SetPerTcp6ConnectionEStats se define en Windows Vista y versiones posteriores.
La función SetPerTcp6ConnectionEStats se usa para habilitar o deshabilitar estadísticas extendidas para la conexión TCP IPv6 pasada en el parámetro Row . Las estadísticas extendidas en una conexión TCP están deshabilitadas de forma predeterminada.
La función SetPerTcp6ConnectionEStats se usa para establecer el valor de un miembro en la información de lectura y escritura para estadísticas extendidas para una conexión TCP IPv6. El tipo y el formato de la estructura que se va a establecer se especifican mediante el parámetro EstatsType . El parámetro Rw contiene un puntero a la estructura que se pasa. El parámetro Offset especifica el miembro que se va a establecer en esta estructura. Se deben especificar todos los miembros de la estructura a la que apunta el parámetro Rw .
La única versión de las estadísticas de conexión TCP admitidas actualmente es la versión cero. Por lo tanto, el parámetro RwVersion pasado a SetPerTcp6ConnectionEStats debe establecerse en 0.
La estructura a la que apunta el parámetro Rw pasado esta función depende del valor de enumeración pasado en el parámetro EstatsType . En la tabla siguiente se indica el tipo de estructura que se debe pasar en el parámetro Rw para cada posible tipo de parámetro EstatsType .
EstatsType | Estructura a la que apunta 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 |
El parámetro Offset no se usa actualmente. Las posibles estructuras a las que apunta el parámetro Rw tienen un solo miembro, excepto la estructura TCP_ESTATS_BANDWIDTH_RW_v0 . Cuando el parámetro EstatsType se establece en TcpConnectionEstatsBandwidth, la estructura de TCP_ESTATS_BANDWIDTH_RW_v0 a la que apunta el parámetro Rw debe tener ambos miembros de estructura establecidos en los valores preferidos en una sola llamada a la función SetPerTcp6ConnectionEStats .
Si el parámetro RwSize se establece en 0, la función SetPerTcp6ConnectionEStats devuelve NO_ERROR y no realiza ningún cambio en el estado de las estadísticas extendidas.
La función GetTcp6Table se usa para recuperar la tabla de conexión TCP IPv6 en el equipo local. Esta función devuelve una estructura de MIB_TCP6TABLE que contiene una matriz de MIB_TCP6ROW entradas. El parámetro Row pasado a la función SetPerTcp6ConnectionEStats debe ser una entrada para una conexión TCP IPv6 existente.
Una vez habilitadas las estadísticas extendidas en una conexión TCP para IPv6, una aplicación llama a la función GetPerTcp6ConnectionEStats para recuperar estadísticas extendidas en la conexión TCP.
La función GetPerTcp6ConnectionEStats está diseñada para usar TCP para diagnosticar problemas de rendimiento tanto en la red como en la aplicación. Si una aplicación basada en red funciona mal, TCP puede determinar si el cuello de botella está en el remitente, el receptor o la propia red. Si el cuello de botella está en la red, TCP puede proporcionar información específica sobre su naturaleza.
Para obtener información sobre las estadísticas TCP extendidas en una conexión IPv4, consulte las funciones GetPerTcpConnectionEStats y SetPerTcpConnectionEStats .
Un usuario que inició sesión como miembro del grupo Administradores solo puede llamar a la función SetPerTcp6ConnectionEStats . Si un usuario que no es miembro del grupo Administradores llama a SetPerTcp6ConnectionEStats , se producirá un error en la llamada de función y se devolverá ERROR_ACCESS_DENIED . Esta función también puede producir un error debido al control de cuentas de usuario (UAC) en Windows Vista y Windows Server 2008. Si un usuario que ha iniciado sesión como miembro del grupo Administradores que no sea el administrador integrado ejecuta esta función, se producirá un error en esta llamada a menos que la aplicación se haya marcado en el archivo de manifiesto con un valor requestedExecutionLevel establecido en requireAdministrator. Si la aplicación en Windows Vista o Windows Server 2008 carece de este archivo de manifiesto, un usuario que inició sesión como miembro del grupo Administradores distinto del administrador integrado debe ejecutar la aplicación en un shell mejorado como administrador integrado (administrador de runas) para que esta función se realice correctamente.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | iphlpapi.h |
Library | Iphlpapi.lib |
Archivo DLL | Iphlpapi.dll |