Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
[Esta API se ha reemplazado por la API del Administrador de tablas de enrutamiento versión 2 y no estará disponible más allá de Windows Server 2003. Las aplicaciones deben usar la API routing Table Manager versión 2.]
La función RtmAddRoute agrega una entrada de ruta o actualiza una entrada de ruta existente.
Sintaxis
DWORD RtmAddRoute(
_In_ HANDLE ClientHandle,
_In_ PVOID Route,
_In_ DWORD TimeToLive,
_Out_ DWORD Flags,
_Out_ PVOID CurBestRoute,
_Out_ PVOID PrevBestRoute
);
Parámetros
-
ClientHandle [in]
-
Identificador que identifica al cliente y, por lo tanto, el protocolo de enrutamiento, que agregó o actualizó la ruta. Obtenga este identificador llamando a RtmRegisterClient.
-
Ruta [in]
-
Puntero a una estructura específica de la familia de protocolos que especifica la ruta nueva o actualizada. El administrador de tablas de enrutamiento usa los siguientes campos para actualizar la tabla de enrutamiento:
Valor Significado - RR_Network
Especifica el número de red de destino. - RR_InterfaceID
Especifica el índice de la interfaz a través de la cual se recibió la ruta. - RR_NextHopAddress
Especifica la dirección del enrutador de próximo salto. - RR_FamilySpecificData
Especifica los datos específicos de la familia de protocolos. Aunque los datos son transparentes para el administrador de tablas de enrutamiento, se considera al comparar rutas para determinar si ha cambiado la información de ruta. Los datos también se usan para establecer valores de métrica que son independientes del protocolo de enrutamiento. Por lo tanto, estos datos se usan para determinar la mejor ruta para la red de destino. - RR_ProtocolSpecificData
Especifica los datos específicos del protocolo de enrutamiento que proporcionó la ruta. - RR_TimeStamp
Especifica la hora actual del sistema. El administrador de tablas de enrutamiento establece este campo. -
TimeToLive [in]
-
Especifica el número de segundos que se debe mantener la ruta especificada en la tabla de enrutamiento. Si este parámetro se establece en INFINITE, la ruta se mantiene hasta que se elimina explícitamente. El límite actual de TimeToLive es 2147483 s (24 días más).
-
Marcas [out]
-
Puntero a una variable DWORD . El administrador de tablas de enrutamiento establece el valor de esta variable. El valor indica el tipo del cambio y qué información se devolvió en los búferes proporcionados. Este parámetro es uno de los siguientes.
Marcas Significado - RTM_NO_CHANGE
La adición o actualización no cambió ninguno de los parámetros de ruta significativos o la entrada de ruta afectada no es la mejor ruta entre las entradas de la red de destino. - RTM_ROUTE_ADDED
La ruta se agregó para la red de destino. El parámetro CurBestRoute apunta a la información de la ruta agregada. - RTM_ROUTE_CHANGED
Se cambió al menos uno de los parámetros significativos para la mejor ruta a la red de destino. Los parámetros significativos son:
Identificador de protocolo
Índice de interfaz
Dirección del próximo salto
Datos específicos de la familia de protocolos (incluidas las métricas de ruta)El parámetro PrevBestRoute apunta a la información de ruta tal como estaba antes del cambio. El parámetro CurBestRoute apunta a la información de ruta actual (es decir, después del cambio).
-
CurBestRoute [out]
-
Puntero a una estructura que recibe la información de la mejor ruta actual, si existe. El tipo de la estructura es específico de la familia de protocolos, por ejemplo, IP o IPX.
Este parámetro es opcional. Si el autor de la llamada especifica NULL para este parámetro, no se devuelve la información de la mejor ruta actual.
-
PrevBestRoute [out]
-
Puntero a una estructura que recibe la información de la mejor ruta anterior, si existe. El tipo de la estructura es específico de la familia de protocolos, por ejemplo, IP o IPX.
Este parámetro es opcional. Si el autor de la llamada especifica NULL para este parámetro, no se devuelve la información de la mejor ruta anterior.
Valor devuelto
El valor devuelto es uno de los siguientes códigos.
| Valor | Descripción |
|---|---|
|
La ruta se agregó o actualizó correctamente. |
|
El parámetro de identificador de cliente no es un identificador válido. |
|
La estructura de ruta contiene un parámetro no válido. |
|
No hay recursos suficientes para llevar a cabo la operación. |
|
No hay memoria suficiente para asignar la entrada de ruta. |
Observaciones
La función genera un mensaje de cambio de ruta si la mejor ruta a una red de destino ha cambiado como resultado de esta operación. Sin embargo, el mensaje de cambio de ruta no se envía al cliente que realiza esta llamada. En su lugar, esta función devuelve información relevante directamente a ese cliente a través de los parámetros Flags, CurBestRoute y PrevBestRoute .
Requisitos
| Requisito | Value |
|---|---|
| Cliente mínimo compatible |
No se admite ninguno |
| Servidor mínimo compatible |
Windows 2000 Server [solo aplicaciones de escritorio] |
| Fin de compatibilidad de servidor |
Windows Server 2003 |
| Encabezado |
|
| Biblioteca |
|
| Archivo DLL |
|