Función RtmAddRouteToDest (rtmv2.h)
La función RtmAddRouteToDest agrega una nueva ruta a la tabla de enrutamiento o actualiza una ruta existente en la tabla de enrutamiento. Si cambia la mejor ruta, se genera una notificación de cambio.
Sintaxis
DWORD RtmAddRouteToDest(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in, out] PRTM_ROUTE_HANDLE RouteHandle,
[in] PRTM_NET_ADDRESS DestAddress,
[in] PRTM_ROUTE_INFO RouteInfo,
[in] ULONG TimeToLive,
[in] RTM_ROUTE_LIST_HANDLE RouteListHandle,
[in] RTM_NOTIFY_FLAGS NotifyType,
[in] RTM_NOTIFY_HANDLE NotifyHandle,
[in, out] PRTM_ROUTE_CHANGE_FLAGS ChangeFlags
);
Parámetros
[in] RtmRegHandle
Identificador para el cliente obtenido de una llamada anterior a RtmRegisterEntity.
[in, out] RouteHandle
Si el cliente tiene un identificador (actualizando una ruta): en la entrada, RouteHandle es un puntero al identificador de ruta. En la salida, RouteHandle no cambia.
Si el cliente no tiene un identificador y se debe devolver un identificador (el cliente agrega o actualiza una ruta): En la entrada, RouteHandle es un puntero a NULL. En la salida, RouteHandle recibe un puntero al identificador de ruta. Los valores de RouteInfo se usan para identificar la ruta que se va a actualizar.
Si no es necesario devolver un identificador (el cliente está agregando o actualizando una ruta): en la entrada, RouteHandle es NULL. Los valores de RouteInfo se usan para identificar la ruta que se va a actualizar.
[in] DestAddress
Puntero a la dirección de red de destino a la que se va a agregar o actualizar la ruta.
[in] RouteInfo
Puntero a la información de ruta que se va a agregar o actualizar.
[in] TimeToLive
Especifica la hora, en milisegundos, después de la cual la ruta ha expirado. Especifique INFINITE para evitar que expiren las rutas.
[in] RouteListHandle
Controle a una lista de rutas a la que se va a mover la ruta. Este parámetro es opcional y se puede establecer en NULL.
[in] NotifyType
Establezca este parámetro en NULL. Este parámetro se reserva para uso futuro.
[in] NotifyHandle
Establezca este parámetro en NULL. Este parámetro se reserva para uso futuro.
[in, out] ChangeFlags
En la entrada, ChangeFlags es un puntero a un tipo de datos RTM_ROUTE_CHANGE_FLAGS que indica si el administrador de tablas de enrutamiento debe agregar una nueva ruta o actualizar una existente.
En la salida, ChangeFlags es un puntero a un tipo de datos RTM_ROUTE_CHANGE_FLAGS que recibe la marca que indica el tipo de cambio que se realizó realmente y si se cambió la mejor ruta. Se usan las marcas siguientes.
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 |
---|---|
|
El cliente que realiza la llamada no posee esta ruta. |
|
El identificador no es válido. |
|
Un parámetro contiene información incorrecta. |
|
No hay suficiente memoria para completar esta operación. |
Comentarios
Dos rutas se consideran iguales si los valores siguientes son iguales:
- Red de destino
- Propietario de la ruta
- Vecino que proporcionó la ruta
Si se devolvió un identificador, libere el identificador cuando ya no sea necesario mediante una llamada a RtmReleaseRoutes.
Para obtener código de ejemplo con esta función, consulte Agregar y actualizar rutas mediante RtmAddRouteToDest.
Requisitos
Requisito | Value |
---|---|
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 |