Condividi tramite


_EVENT_CALLBACK funzione di callback (rtmv2.h)

Il callback RTM_EVENT_CALLBACK viene utilizzato da Gestione tabelle di routing per informare un client che l'evento specificato si è verificato.

Sintassi

_EVENT_CALLBACK EventCallback;

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

Parametri

RtmRegHandle

Gestire al client a cui gestione tabelle di routing sta inviando la notifica.

EventType

Specifica l'evento sul quale gestione tabelle di routing invia una notifica al client. Vengono usati i valori seguenti.

Valore Significato
RTM_ENTITY_REGISTERED
Un client è stato appena registrato con gestione tabelle di routing.
RTM_ENTITY_DEREGISTERED
Un client ha appena annullato la registrazione.
RTM_ROUTE_EXPIRED
Si è verificato il timeout di un itinerario.
RTM_CHANGE_NOTIFICATION
È stata effettuata una notifica di modifica.

Context1

Per RTM_ENTITY_REGISTERED chiamate: contiene l'handle per l'entità registrata.

Per RTM_ENTITY_DEREGISTERED chiamate: contiene l'handle per l'entità che non è stata registrata.

Per le chiamate RTM_ROUTE_EXPIRED: contiene l'handle per la route che ha timeout.

Per RTM_CHANGE_NOTIFICATION chiamate: contiene l'handle per la notifica di modifica.

Context2

Per le chiamate RTM_ENTITY_REGISTERED: contiene un puntatore alla struttura RTM_ENTITY_INFO a cui fa riferimento l'handle in Context1. Se il client deve conservare queste informazioni, il client deve copiarlo in una struttura allocata.

Per RTM_ENTITY_DEREGISTERED chiamate: contiene un puntatore alla struttura RTM_ENTITY_INFO a cui fa riferimento l'handle in Context1. Se il client deve conservare queste informazioni, il client deve copiarlo in una struttura allocata.

Per le chiamate RTM_ROUTE_EXPIRED: contiene un puntatore alla struttura RTM_ROUTE_INFO a cui fa riferimento l'handle in Context1. Se il client deve conservare queste informazioni, il client deve copiarlo in una struttura allocata.

Per RTM_CHANGE_NOTIFICATION chiamate: contiene il contesto di notifica assegnato al client da una chiamata precedente a RtmRegisterForChangeNotification.

Valore restituito

Se gestione tabelle di routing genera un callback RTM_ROUTE_EXPIRED e il client torna al gestore tabelle di routing il valore ERROR_NOT_SUPPORTED, gestione tabelle di routing eliminerà la route dalla tabella di routing.

Tutti gli altri errori restituiti dal client vengono ignorati.

Commenti

Dopo la registrazione di un client per la notifica delle modifiche, gestione tabelle di routing usa questo callback per mantenere il client informato sugli eventi.

Se un client riceve un RTM_EVENT_CALLBACK per gli eventi RTM_ENTITY_REGISTERED o RTM_ENTITY_DEREGISTERED, il client non deve effettuare chiamate a RtmRegisterEntity, RtmDeregisterEntity o RtmGetRegisteredEntities nel contesto di questo callback.

Se un client riceve un RTM_EVENT_CALLBACK per l'evento RTM_CHANGE_NOTIFICATION, il client non deve chiamare RtmRegisterForChangeNotification nel contesto di questo callback.

Requisiti

Requisito Valore
Client minimo supportato Nessuno supportato
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione rtmv2.h

Vedi anche

RTM_EVENT_TYPE

RtmRegisterEntity