Compartir a través de


Función SetIpForwardEntry2

La función SetIpForwardEntry2 establece las propiedades de una entrada de ruta IP en un equipo local.

Sintaxis

NETIOAPI_API SetIpForwardEntry2(
  _In_ const MIB_IPFORWARD_ROW2 *Route
);

Parámetros

  • Ruta [in]
    Puntero a una entrada de estructura de MIB_IPFORWARD_ROW2 para una entrada de ruta IP. El controlador debe establecer el miembro DestinationPrefix de la estructura MIB_IPFORWARD_ROW2 en un prefijo y familia de destino IP válidos, establecer el miembro NextHop de MIB_IPFORWARD_ROW2 en una dirección IP y familia válidas, y especificar el miembro InterfaceLuid o el miembro InterfaceIndex de MIB_IPFORWARD_ROW2.

Valor devuelto

SetIpForwardEntry2 devuelve STATUS_SUCCESS si la función se ejecuta correctamente.

Si se produce un error en la función, SetIpForwardEntry2 devuelve uno de los siguientes códigos de error:

Código devuelto Descripción
STATUS_INVALID_PARAMETER

Se ha transferido un parámetro no válido a la función. Este error se devuelve si se pasa un puntero NULL en el parámetro Route, el miembro DestinationPrefix de la estructura MIB_IPFORWARD_ROW2 a la que apunta el parámetro Route a no se especificó, no se especificó el miembro NextHop de la estructura de MIB_IPFORWARD_ROW2 o los miembros InterfaceLuid e InterfaceIndex de la estructura MIB_IPFORWARD_ROW2 no se especificaron.

STATUS_NOT_FOUND

No se encuentra la interfaz especificada. Este error se devuelve si la función no encuentra la interfaz de red especificada por el miembro InterfaceLuid o InterfaceIndex de la estructura MIB_IPFORWARD_ROW2 a la que apunta el parámetro Route .

Otros

Use la función FormatMessage para obtener la cadena de mensaje para el error devuelto.

Comentarios

La función SetIpForwardEntry2 se usa para establecer las propiedades de una entrada de ruta IP existente en un equipo local.

El controlador debe inicializar los siguientes miembros de la estructura MIB_IPFORWARD_ROW2 a la que apunta el parámetro Row .

  • DestinationPrefix
    Establézcalo en un prefijo y familia de direcciones IPv4 o IPv6 válidos.

  • NextHop
    Establézcalo en una dirección y familia IPv4 o IPv6 válidas.

  • InterfaceLuid o InterfaceIndex
    Estos miembros se usan en el orden que se muestra 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 (el valor de este miembro se estableció en cero), el miembro InterfaceIndex se usará a continuación para determinar la interfaz.

Desplazamiento de métrica de ruta que se especifica en el miembro Métrica de la estructura de MIB_IPFORWARD_ROW2 que apunta el parámetro Route para que represente solo parte de la métrica de ruta completa. La métrica completa es una combinación de este desplazamiento de métrica de ruta agregada a la métrica de interfaz especificada en el miembro Metric de la estructura MIB_IPINTERFACE_ROW de la interfaz asociada. Un controlador puede recuperar la métrica de interfaz llamando a la función GetIpInterfaceEntry.

SetIpForwardEntry2 omite los miembros Age y Origin de la estructura MIB_IPFORWARD_ROW2 a la que apunta el parámetro Row . La pila de red establece estos miembros y no se puede cambiar mediante la función SetIpForwardEntry2 .

Se produce un error en la función SetIpForwardEntry2 si los miembros DestinationPrefix y NextHop de la estructura MIB_IPFORWARD_ROW2 que apunta el parámetro Route no coinciden con una entrada de ruta IP en la interfaz especificada.

Requisitos

Plataforma de destino

Universal

Versión

Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.

Encabezado

Netioapi.h (incluye Netioapi.h)

Biblioteca

Netio.lib

IRQL

< DISPATCH_LEVEL

Consulte también

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetBestRoute2

GetIpForwardEntry2

GetIpForwardTable2

GetIpInterfaceEntry

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

NotifyRouteChange2