Función RtmGetLessSpecificDestination (rtmv2.h)
La función RtmGetLessSpecificDestination busca en la tabla de enrutamiento un destino con el prefijo de siguiente mejor coincidencia (más largo), dado un prefijo de destino. Se devuelve la información de destino solicitada.
Sintaxis
DWORD RtmGetLessSpecificDestination(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] RTM_DEST_HANDLE DestHandle,
[in] ULONG ProtocolId,
[in] RTM_VIEW_SET TargetViews,
[out] PRTM_DEST_INFO DestInfo
);
Parámetros
[in] RtmRegHandle
Identificador para el cliente obtenido de una llamada anterior a RtmRegisterEntity.
[in] DestHandle
Identificador del destino.
[in] ProtocolId
Especifica el identificador de protocolo. ProtocolID no forma parte de los criterios de búsqueda. El administrador de tablas de enrutamiento usa este identificador para determinar qué información de ruta se va a devolver. Por ejemplo, si un cliente especifica el identificador del protocolo RIP, se devuelve la mejor ruta RIP, incluso si una ruta que no es RIP es la mejor ruta al destino.
Especifique RTM_BEST_PROTOCOL para devolver una ruta independientemente del protocolo que lo posee. Especifique RTM_THIS_PROTOCOL para devolver la mejor ruta para el protocolo de llamada.
[in] TargetViews
Especifica las vistas desde las que se va a devolver información. Si el cliente especifica RTM_VIEW_MASK_ANY, la información de destino se devuelve de todas las vistas; sin embargo, no se devuelve información específica de la vista.
[out] DestInfo
En la entrada, DestInfo es un puntero a una estructura de RTM_DEST_INFO .
En la salida, DestInfo se rellena con la información de destino solicitada.
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 |
---|---|
|
Un parámetro contiene información incorrecta. |
|
No se encuentra el siguiente mejor destino. |
Comentarios
El parámetro DestInfo es una estructura de RTM_DEST_INFO de tamaño variable. Si el cliente especifica más de una vista mediante TargetViews, el tamaño de DestInfo aumenta para cada vista. Use la macro RTM_SIZE_OF_DEST_INFO para determinar la cantidad de memoria que se va a asignar a la estructura DestInfo antes de llamar a esta función. Use el valor especificado para TargetViews como parámetro para RTM_SIZE_OF_DEST_INFO.
La función RtmGetLessSpecificDestination se usa después de una llamada a RtmGetMostSpecificDestination para devolver la siguiente coincidencia mejor para un destino. Esta llamada también se usa después de una llamada anterior a RtmGetLessSpecificDestination para devolver la siguiente coincidencia menos específica sucesiva. Los clientes pueden usar esta función para "subir" el árbol de prefijos de un destino.
Esta llamada también se usa después de las llamadas a funciones que devuelven una estructura de RTM_DEST_INFO , como RtmGetDestInfo y RtmGetChangedDests.
La función RtmGetLessSpecificDestination devuelve coincidencias hasta que alcanza la ruta predeterminada, si existe. Una vez que se encuentra la ruta predeterminada, RtmGetLessSpecificDestination devuelve ERROR_NOT_FOUND.
Un uso común para las funciones RtmGetLessSpecificDestination y RtmGetMostSpecificDestination es recuperar cada uno de los destinos coincidentes.
Para obtener código de ejemplo con esta función, consulte Buscar rutas mediante un árbol de prefijos.
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 |