Partager via


_EVENT_CALLBACK fonction de rappel (rtmv2.h)

Le rappel RTM_EVENT_CALLBACK est utilisé par le gestionnaire de table de routage pour informer un client que l’événement spécifié s’est produit.

Syntaxe

_EVENT_CALLBACK EventCallback;

DWORD EventCallback(
  RTM_ENTITY_HANDLE RtmRegHandle,
  RTM_EVENT_TYPE EventType,
  PVOID Context1,
  PVOID Context2
)
{...}

Paramètres

RtmRegHandle

Gérez le client auquel le gestionnaire de table de routage envoie la notification.

EventType

Spécifie l’événement au sujet duquel le gestionnaire de table de routage notifie le client. Les valeurs suivantes sont utilisées.

Valeur Signification
RTM_ENTITY_REGISTERED
Un client vient de s’inscrire auprès du gestionnaire de tables de routage.
RTM_ENTITY_DEREGISTERED
Un client vient de se désinscrire.
RTM_ROUTE_EXPIRED
Un itinéraire a expiré.
RTM_CHANGE_NOTIFICATION
Une notification de modification a été effectuée.

Context1

Pour RTM_ENTITY_REGISTERED appels : contient le handle à l’entité inscrite.

Pour RTM_ENTITY_DEREGISTERED appels : contient le handle à l’entité qui s’est désinscrit.

Pour RTM_ROUTE_EXPIRED appels : contient le handle de l’itinéraire qui a expiré.

Pour RTM_CHANGE_NOTIFICATION appels : contient le handle de la notification de modification.

Context2

Pour RTM_ENTITY_REGISTERED appels : contient un pointeur vers la structure RTM_ENTITY_INFO référencée par le handle dans Context1. Si le client doit conserver ces informations, il doit les copier dans une structure qu’il a allouée.

Pour RTM_ENTITY_DEREGISTERED appels : contient un pointeur vers la structure RTM_ENTITY_INFO référencée par le handle dans Context1. Si le client doit conserver ces informations, il doit les copier dans une structure qu’il a allouée.

Pour RTM_ROUTE_EXPIRED appels : contient un pointeur vers la structure RTM_ROUTE_INFO référencée par le handle dans Context1. Si le client doit conserver ces informations, il doit les copier dans une structure qu’il a allouée.

Pour RTM_CHANGE_NOTIFICATION appels : contient le contexte de notification qui a été donné au client par un appel précédent à RtmRegisterForChangeNotification.

Valeur retournée

Si le gestionnaire de table de routage émet un rappel RTM_ROUTE_EXPIRED et que le client retourne au gestionnaire de table de routage la valeur ERROR_NOT_SUPPORTED, le gestionnaire de table de routage supprime l’itinéraire de la table de routage.

Toutes les autres erreurs retournées par le client sont ignorées.

Remarques

Une fois qu’un client s’est inscrit pour la notification de modification, le gestionnaire de table de routage utilise ce rappel pour tenir le client informé des événements.

Si un client reçoit un RTM_EVENT_CALLBACK pour les événements RTM_ENTITY_REGISTERED ou RTM_ENTITY_DEREGISTERED, il ne doit pas effectuer d’appels à RtmRegisterEntity, RtmDeregisterEntity ou RtmGetRegisteredEntities dans le contexte de ce rappel.

Si un client reçoit une RTM_EVENT_CALLBACK pour l’événement RTM_CHANGE_NOTIFICATION, il ne doit pas appeler RtmRegisterForChangeNotification dans le contexte de ce rappel.

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

Voir aussi

RTM_EVENT_TYPE

RtmRegisterEntity