Función GetIpNetworkConnectionBandwidthEstimates (netioapi.h)

La función GetIpNetworkConnectionBandwidthEstimates recupera estimaciones históricas de ancho de banda para una conexión de red en la interfaz especificada.

Sintaxis

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIpNetworkConnectionBandwidthEstimates(
  [in]  NET_IFINDEX                                    InterfaceIndex,
  [in]  ADDRESS_FAMILY                                 AddressFamily,
  [out] PMIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES BandwidthEstimates
);

Parámetros

[in] InterfaceIndex

Valor de índice local para la interfaz de red.

Este valor de índice puede cambiar cuando un adaptador de red está deshabilitado y, a continuación, habilitado, o en otras circunstancias, y no debe considerarse persistente.

[in] AddressFamily

La familia de direcciones. Los valores posibles para la familia de direcciones se enumeran en el archivo de encabezado Ws2def.h . Tenga en cuenta que los valores de la familia de direcciones AF_ y las constantes de familia de protocolos PF_ son idénticas (por ejemplo, AF_INET y PF_INET), por lo que se puede usar cualquiera de las constantes.

Tenga en cuenta que el archivo de encabezado Ws2def.h se incluye automáticamente en Winsock2.h y nunca se debe usar directamente.

Los valores admitidos actualmente son AF_INET o AF_INET6, que son los formatos de familia de direcciones de Internet para IPv4 e IPv6.

Valor Significado
AF_INET
2
Familia de direcciones del Protocolo de Internet versión 4 (IPv4).
AF_INET6
23
Familia de direcciones del Protocolo de Internet versión 6 (IPv6).

[out] BandwidthEstimates

Puntero a un búfer que devuelve las estimaciones de ancho de banda históricas mantenidas para el punto de datos adjuntos al que está conectada actualmente la interfaz.

Valor devuelto

Si la función se ejecuta 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
ERROR_FILE_NOT_FOUND
El sistema no encuentra el archivo especificado. Este error se devuelve si el índice de interfaz especificado por el parámetro InterfaceIndex no era un valor en el equipo local.
ERROR_INVALID_PARAMETER
Se pasó un parámetro no válido a la función. Este error se devuelve si se pasa un puntero NULL en el parámetro BandwidthEstimates o el parámetro AddressFamily no se especificó como AF_INET o AF_INET6.
ERROR_NOT_FOUND
Elemento no encontrado. Este error se devuelve si la interfaz de red especificada por el parámetro InterfaceIndex no coincide con la familia de direcciones IP especificada en el parámetro AddressFamily .
Otros
Use la función FormatMessage para obtener la cadena de mensaje para el error devuelto.

Comentarios

La función GetIpNetworkConnectionBandwidthEstimates se define en Windows 8 y versiones posteriores.

En la entrada, el parámetro AddressFamily debe inicializarse en AF_INET o AF_INET6. Además de la entrada, el parámetro InterfaceIndex debe inicializarse con el índice de interfaz especificado.

Se debe establecer un valor para el parámetro InterfaceIndex (el valor de este parámetro no debe establecerse en cero).

En la salida, la estructura de MIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES a la que apunta el parámetro BandwidthEstimates se rellena si se especificaron los parámetros AddressFamily e InterfaceIndex .

La función GetIpNetworkConnectionBandwidthEstimates devuelve estimaciones históricas del ancho de banda disponible en el punto de datos adjuntos (primer salto) para su uso por una aplicación. Las estimaciones están pensadas como guía para optimizar los parámetros de rendimiento y la aplicación debe mantener umbrales y diferenciar el comportamiento de situaciones de ancho de banda bajo y alto.

Es posible que los verdaderos cambios de ancho de banda disponibles a lo largo del tiempo, ya que los dispositivos que compiten en la misma red consumen más ancho de banda. Por lo tanto, las aplicaciones deben estar preparadas para controlar los casos en los que el ancho de banda disponible cae por debajo de los límites históricos notificados por la función GetIpNetworkConnectionBandwidthEstimates .

Es posible que la pila TCP/IP no haya creado ninguna estimación para la interfaz especificada, en una dirección determinada o ambas direcciones. En este caso, la estimación devuelta será cero. La aplicación debe estar preparada para controlar estos casos seleccionando valores predeterminados razonables y ajuste correcto si es necesario.

El archivo de encabezado Iphlpapi.h incluye automáticamente el archivo de encabezado Netioapi.h. El archivo de encabezado Netioapi.h nunca debe usarse directamente.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado netioapi.h (include Iphlpapi.h)
Library Iphlpapi.lib
Archivo DLL Iphlpapi.dll

Consulte también

GetPerTcp6ConnectionEStats

GetPerTcpConnectionEStats

MIB_IP_NETWORK_CONNECTION_BANDWIDTH_ESTIMATES

NL_BANDWIDTH_INFORMATION

TCP_ESTATS_BANDWIDTH_ROD_v0