Compartir a través de


Función RtmAddNextHop (rtmv2.h)

La función RtmAddNextHop agrega una nueva entrada de próximo salto o actualiza una entrada de próximo salto existente a la lista de próximo salto de un cliente. Si ya existe un próximo salto, el administrador de tablas de enrutamiento devuelve un identificador al próximo salto. A continuación, este identificador se puede usar para especificar un próximo salto a un destino al agregar o actualizar una ruta.

Sintaxis

DWORD RtmAddNextHop(
  [in]      RTM_ENTITY_HANDLE         RtmRegHandle,
  [in]      PRTM_NEXTHOP_INFO         NextHopInfo,
  [in, out] PRTM_NEXTHOP_HANDLE       NextHopHandle,
  [out]     PRTM_NEXTHOP_CHANGE_FLAGS ChangeFlags
);

Parámetros

[in] RtmRegHandle

Identificador para el cliente obtenido de una llamada anterior a RtmRegisterEntity.

[in] NextHopInfo

Puntero a una estructura que contiene información que identifica el próximo salto para agregar o actualizar. Se omiten los miembros NextHopOwner y State ; el administrador de tablas de enrutamiento establece estos miembros. El miembro Flags puede ser uno de los valores siguientes.

Marca Significado
RTM_NEXTHOP_FLAGS_REMOTE
Este próximo salto apunta a un destino remoto que no es accesible directamente. Para obtener la ruta de acceso completa, el cliente debe realizar una búsqueda recursiva.
RTM_NEXTHOP_FLAGS_DOWN
Esta marca se reserva para uso futuro.

[in, out] NextHopHandle

Si el cliente tiene un identificador (el cliente está actualizando un próximo salto): en la entrada, NextHopHandle es un puntero al identificador de próximo salto. En la salida, NextHopHandle no cambia.

Si el cliente no tiene un identificador y se debe devolver un identificador (el cliente agrega o actualiza un próximo salto): En la entrada, NextHopHandle es un puntero a NULL. En la salida, NextHopHandle recibe un puntero al identificador del próximo salto. Los valores de NextHopInfo se usan para identificar el próximo salto que se va a actualizar.

Si no es necesario devolver un identificador (el cliente está agregando o actualizando un próximo salto): en la entrada, NextHopHandle es NULL. Los valores de NextHopInfo se usan para identificar el próximo salto que se va a actualizar.

[out] ChangeFlags

En la entrada, ChangeFlags es un puntero a un tipo de datos RTM_NEXTHOP_CHANGE_FLAGS .

En la salida, ChangeFlags recibe una marca que indica si se agregó o actualizó un próximo salto. Si ChangeFlags es cero, se actualizó un próximo salto; Si ChangeFlags está RTM_NEXTHOP_CHANGE_NEW, se agregó un próximo salto.

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.

Valor Significado
ERROR_ACCESS_DENIED
El cliente que realiza la llamada no posee este próximo salto.
ERROR_NOT_ENOUGH_MEMORY
No hay suficiente memoria para completar esta operación.
 
 

Comentarios

Si NextHopHandle apunta a un identificador distinto de NULL , se actualiza el próximo salto especificado por el identificador. De lo contrario, se realiza una búsqueda para la dirección especificada por NextHopInfo. Si se encuentra un próximo salto, se actualiza. Si no se encuentra ninguna coincidencia, se agrega un nuevo próximo salto.

Si se devolvió un identificador, libere el identificador cuando ya no sea necesario llamando a RtmReleaseNextHops.

Requisitos

   
Cliente mínimo compatible No se admite ninguno
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado rtmv2.h
Library Rtm.lib
Archivo DLL Rtm.dll

Consulte también

Marcas de próximo salto

RTM_NEXTHOP_INFO

RtmDeleteNextHop

RtmFindNextHop

RtmGetNextHopPointer

RtmLockNextHop

RtmReleaseNextHops