Partager via


Fonction RtmAddNextHop (rtmv2.h)

La fonction RtmAddNextHop ajoute une nouvelle entrée de tronçon suivant ou met à jour une entrée de tronçon suivant existante dans la liste de tronçons suivants d’un client. S’il existe déjà un tronçon suivant, le gestionnaire de table de routage retourne un handle au tronçon suivant. Ce handle peut ensuite être utilisé pour spécifier un tronçon suivant vers une destination lors de l’ajout ou de la mise à jour d’un itinéraire.

Syntaxe

DWORD RtmAddNextHop(
  [in]      RTM_ENTITY_HANDLE         RtmRegHandle,
  [in]      PRTM_NEXTHOP_INFO         NextHopInfo,
  [in, out] PRTM_NEXTHOP_HANDLE       NextHopHandle,
  [out]     PRTM_NEXTHOP_CHANGE_FLAGS ChangeFlags
);

Paramètres

[in] RtmRegHandle

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

[in] NextHopInfo

Pointeur vers une structure qui contient des informations identifiant le tronçon suivant à ajouter ou à mettre à jour. Les membres NextHopOwner et State sont ignorés ; ces membres sont définis par le gestionnaire de table de routage. Le membre Flags peut être l’une des valeurs suivantes.

Indicateur Signification
RTM_NEXTHOP_FLAGS_REMOTE
Ce tronçon suivant pointe vers une destination distante qui n’est pas directement accessible. Pour obtenir le chemin d’accès complet, le client doit effectuer une recherche récursive.
RTM_NEXTHOP_FLAGS_DOWN
Cet indicateur est réservé pour une utilisation future.

[in, out] NextHopHandle

Si le client a un handle (le client met à jour un tronçon suivant) : en entrée, NextHopHandle est un pointeur vers le handle de tronçon suivant. Sur la sortie, NextHopHandle est inchangé.

Si le client n’a pas de handle et qu’un handle doit être retourné (le client ajoute ou met à jour un tronçon suivant) : en entrée, NextHopHandle est un pointeur vers NULL. Lors de la sortie, NextHopHandle reçoit un pointeur vers le handle de tronçon suivant. Les valeurs de NextHopInfo sont utilisées pour identifier le tronçon suivant à mettre à jour.

Si un handle n’a pas besoin d’être retourné (le client ajoute ou met à jour un tronçon suivant) : en entrée, NextHopHandle a la valeur NULL. Les valeurs de NextHopInfo sont utilisées pour identifier le tronçon suivant à mettre à jour.

[out] ChangeFlags

En entrée, ChangeFlags est un pointeur vers un type de données RTM_NEXTHOP_CHANGE_FLAGS .

À la sortie, ChangeFlags reçoit un indicateur indiquant si un tronçon suivant a été ajouté ou mis à jour. Si ChangeFlags est égal à zéro, un tronçon suivant a été mis à jour ; si ChangeFlags est RTM_NEXTHOP_CHANGE_NEW, un tronçon suivant a été ajouté.

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_ACCESS_DENIED
Le client appelant ne possède pas ce tronçon suivant.
ERROR_NOT_ENOUGH_MEMORY
La mémoire est insuffisante pour effectuer cette opération.
 
 

Notes

Si NextHopHandle pointe vers un handle non NULL , le tronçon suivant spécifié par le handle est mis à jour. Sinon, une recherche est effectuée pour l’adresse spécifiée par NextHopInfo. Si un tronçon suivant est trouvé, il est mis à jour. Si aucune correspondance n’est trouvée, un nouveau tronçon suivant est ajouté.

Si un handle a été retourné, relâchez le handle lorsqu’il n’est plus nécessaire en appelant RtmReleaseNextHops.

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

Indicateurs de tronçon suivant

RTM_NEXTHOP_INFO

RtmDeleteNextHop

RtmFindNextHop

RtmGetNextHopPointer

RtmLockNextHop

RtmReleaseNextHops