Fonction RtmCreateDestEnum (rtmv2.h)
La fonction RtmCreateDestEnum démarre une énumération des destinations dans la table de routage. Un client peut énumérer des destinations pour une ou plusieurs vues, ou pour toutes les vues.
Syntaxe
DWORD RtmCreateDestEnum(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] RTM_VIEW_SET TargetViews,
[in] RTM_ENUM_FLAGS EnumFlags,
[in] PRTM_NET_ADDRESS NetAddress,
[in] ULONG ProtocolId,
[out] PRTM_ENUM_HANDLE RtmEnumHandle
);
Paramètres
[in] RtmRegHandle
Gérez le client obtenu à partir d’un appel précédent à RtmRegisterEntity.
[in] TargetViews
Spécifie l’ensemble de vues à utiliser lors de la création de l’énumération. Les indicateurs suivants sont utilisés.
[in] EnumFlags
Spécifie les destinations à inclure dans l’énumération. Deux ensembles d’indicateurs sont utilisés ; utilisez un indicateur de chaque ensemble (par exemple, utilisez RTM_ENUM_ALL_DESTS et RTM_ENUM_START).
[in] NetAddress
Pointeur vers une structure RTM_NET_ADDRESS qui contient l’adresse de départ de l’énumération. Spécifiez NULL si EnumFlags contient RTM_ENUM_START.
[in] ProtocolId
Spécifie l’identificateur de protocole utilisé pour déterminer les meilleures informations d’itinéraire retournées par la fonction RtmGetEnumDests . ProtocolID ne fait pas partie des critères de recherche. Le gestionnaire de tables 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, le meilleur itinéraire RIP est retourné, même si un itinéraire non-RIP est le meilleur itinéraire vers la destination).
Spécifiez RTM_BEST_PROTOCOL pour retourner un itinéraire, 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.
[out] RtmEnumHandle
Lors de l’entrée, RtmEnumHandle est un pointeur vers NULL.
À la sortie, RtmEnumHandle reçoit un pointeur vers un handle vers l’énumération. Utilisez ce handle dans tous les appels suivants à RtmGetEnumDests, RtmReleaseDests et RtmDeleteEnumHandle.
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 |
---|---|
|
Un paramètre contient des informations incorrectes. |
|
La mémoire est insuffisante pour effectuer cette opération. |
|
Une ou plusieurs des vues spécifiées ne sont pas prises en charge. |
Remarques
Si EnumFlags contient RTM_ENUM_RANGE, utilisez NetAddress pour spécifier la plage de la table de routage à énumérer. Par exemple, si un client définit NetAddress sur 10/8, les destinations comprises entre 10.0.0.0/8 et 10.255.255.255/32 sont retournées.
Lorsque le handle d’énumération n’est plus nécessaire, relâchez-le en appelant RtmDeleteEnumHandle.
Pour obtenir un exemple de code utilisant cette fonction, consultez Énumérer toutes les destinations.
Configuration requise
Condition requise | Valeur |
---|---|
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 |