Función GetBestRoute2 (netioapi.h)
La función GetBestRoute2 recupera la entrada de ruta IP en el equipo local para obtener la mejor ruta a la dirección IP de destino especificada.
Sintaxis
IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetBestRoute2(
[in, optional] NET_LUID *InterfaceLuid,
[in] NET_IFINDEX InterfaceIndex,
[in] const SOCKADDR_INET *SourceAddress,
[in] const SOCKADDR_INET *DestinationAddress,
[in] ULONG AddressSortOptions,
[out] PMIB_IPFORWARD_ROW2 BestRoute,
[out] SOCKADDR_INET *BestSourceAddress
);
Parámetros
[in, optional] InterfaceLuid
Identificador único local (LUID) para especificar la interfaz de red asociada a una entrada de ruta IP.
[in] InterfaceIndex
Valor de índice local para especificar la interfaz de red asociada a una entrada de ruta IP. 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] SourceAddress
La dirección IP de origen. Este parámetro se puede omitir y pasar como puntero NULL .
[in] DestinationAddress
La dirección IP de destino.
[in] AddressSortOptions
Conjunto de opciones que afectan a cómo se ordenan las direcciones IP. Este parámetro no se usa actualmente.
[out] BestRoute
Puntero al MIB_IPFORWARD_ROW2 para la mejor ruta desde la dirección IP de origen a la dirección IP de destino.
[out] BestSourceAddress
Puntero a la mejor dirección IP de origen.
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 |
---|---|
|
Se pasó un parámetro no válido a la función. Este error se devuelve si se pasa un puntero NULL en destinationAddress, BestSourceAddress o el parámetro BestRoute . Este error también se devuelve si el parámetro DestinationAddress no especifica una dirección y una familia IPv4 o IPv6. |
|
No se encontró la interfaz especificada. Este error se devuelve si no se encontró la interfaz de red especificada por el parámetro InterfaceLuid o InterfaceIndex . |
|
No se admite la solicitud. Este error se devuelve si no hay ninguna pila IPv4 en el equipo local y se especificó una dirección IPv4 y una familia en el parámetro DestinationAddress . Este error también se devuelve si no hay ninguna pila IPv6 en el equipo local y se especificó una dirección IPv6 y una familia en el parámetro DestinationAddress . |
|
Use FormatMessage para obtener la cadena de mensaje del error devuelto. |
Comentarios
La función GetBestRoute2 se define en Windows Vista y versiones posteriores.
La función GetBestRoute2 se usa para recuperar una entrada de estructura de MIB_IPFORWARD_ROW2 para la mejor ruta de una dirección IP de origen a una dirección IP de destino.
En la entrada, el parámetro DestinationAddress debe inicializarse en una dirección y familia IPv4 o IPv6 válidas. En la entrada, el parámetro SourceAddress se puede inicializar en la dirección y familia IPv4 o IPv6 preferidas. Además, se debe inicializar al menos uno de los parámetros siguientes: InterfaceLuid o InterfaceIndex.
Los parámetros se usan en el orden indicado anteriormente. Por lo tanto, si se especifica InterfaceLuid , este miembro se usa para determinar la interfaz. Si no se estableció ningún valor para el miembro InterfaceLuid (los valores de este miembro se establecieron en cero), el miembro InterfaceIndex se usa a continuación para determinar la interfaz.
Cuando la llamada se realiza correctamente, GetBestRoute2 recupera y MIB_IPFORWARD_ROW2 estructura para la mejor ruta desde la dirección IP de origen la dirección IP de destino.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | netioapi.h (incluya Iphlpapi.h) |
Library | Iphlpapi.lib |
Archivo DLL | Iphlpapi.dll |