Partager via


Fonction RtmGetLessSpecificDestination (rtmv2.h)

La fonction RtmGetLessSpecificDestination recherche dans la table de routage une destination avec le préfixe suivant la meilleure correspondance (la plus longue), en fonction d’un préfixe de destination. Les informations de destination demandées sont retournées.

Syntaxe

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
);

Paramètres

[in] RtmRegHandle

Gérez le client obtenu à partir d’un appel précédent à RtmRegisterEntity.

[in] DestHandle

Gérez jusqu’à la destination.

[in] ProtocolId

Spécifie l’identificateur de protocole. L’ID de protocole ne fait pas partie des critères de recherche. Le gestionnaire de table de routage utilise cet identificateur pour déterminer les informations d’itinéraire à retourner. Par exemple, si un client spécifie l’identificateur de protocole RIP, la meilleure route RIP est retournée, même si une route non RIP est la meilleure route vers la destination.

Spécifiez RTM_BEST_PROTOCOL pour retourner une route, quel que soit le protocole qui en est propriétaire. Spécifiez RTM_THIS_PROTOCOL pour retourner le meilleur itinéraire pour le protocole d’appel.

[in] TargetViews

Spécifie les vues à partir desquelles retourner des informations. Si le client spécifie RTM_VIEW_MASK_ANY, les informations de destination sont retournées à partir de toutes les vues ; toutefois, aucune information spécifique à l’affichage n’est retournée.

[out] DestInfo

En entrée, DestInfo est un pointeur vers une structure RTM_DEST_INFO .

À la sortie, DestInfo est rempli avec les informations de destination demandées.

Valeur retournée

Si la fonction réussit, la valeur de retour est NO_ERROR.

Si la fonction échoue, la valeur de retour est l’un des codes d’erreur suivants.

Valeur Signification
ERROR_INVALID_PARAMETER
Un paramètre contient des informations incorrectes.
ERROR_NOT_FOUND
La prochaine meilleure destination est introuvable.
 
 

Notes

Le paramètre DestInfo est une structure de RTM_DEST_INFO de taille variable. Si le client spécifie plusieurs vues à l’aide de TargetViews, la taille de DestInfo augmente pour chaque vue. Utilisez la macro RTM_SIZE_OF_DEST_INFO pour déterminer la quantité de mémoire à allouer pour la structure DestInfo avant d’appeler cette fonction. Utilisez la valeur spécifiée pour TargetViews comme paramètre pour RTM_SIZE_OF_DEST_INFO.

La fonction RtmGetLessSpecificDestination est utilisée après un appel à RtmGetMostSpecificDestination pour retourner la meilleure correspondance pour une destination. Cet appel est également utilisé après un appel précédent à RtmGetLessSpecificDestination pour renvoyer la correspondance moins spécifique suivante. Les clients peuvent utiliser cette fonction pour « monter » l’arborescence de préfixes d’une destination.

Cet appel est également utilisé après les appels à des fonctions qui retournent une structure RTM_DEST_INFO , telles que RtmGetDestInfo et RtmGetChangedDests.

La fonction RtmGetLessSpecificDestination retourne des correspondances jusqu’à ce qu’elle atteigne l’itinéraire par défaut, s’il existe. Une fois l’itinéraire par défaut trouvé, RtmGetLessSpecificDestination retourne ERROR_NOT_FOUND.

Une utilisation courante pour les fonctions RtmGetLessSpecificDestination et RtmGetMostSpecificDestination consiste à récupérer chacune des destinations correspondantes.

Pour obtenir un exemple de code utilisant cette fonction, consultez Rechercher des itinéraires à l’aide d’une arborescence de préfixes.

Spécifications

   
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête rtmv2.h
Bibliothèque Rtm.lib
DLL Rtm.dll

Voir aussi

RTM_DEST_INFO

RtmGetExactMatchDestination

RtmGetExactMatchRoute

RtmGetMostSpecificDestination

RtmIsBestRoute