Compartir a través de


_EVENT_CALLBACK función de devolución de llamada (rtmv2.h)

El administrador de tablas de enrutamiento usa la RTM_EVENT_CALLBACK devolución de llamada para informar a un cliente de que se produjo el evento especificado.

Sintaxis

_EVENT_CALLBACK EventCallback;

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

Parámetros

RtmRegHandle

Identificador del cliente al que el administrador de tablas de enrutamiento envía la notificación.

EventType

Especifica el evento sobre el que el administrador de tablas de enrutamiento notifica al cliente. Se usan los valores siguientes.

Valor Significado
RTM_ENTITY_REGISTERED
Un cliente acaba de registrarse con el administrador de tablas de enrutamiento.
RTM_ENTITY_DEREGISTERED
Un cliente acaba de anular el registro.
RTM_ROUTE_EXPIRED
Se ha agotado el tiempo de espera de una ruta.
RTM_CHANGE_NOTIFICATION
Se ha realizado una notificación de cambio.

Context1

Para RTM_ENTITY_REGISTERED llamadas: contiene el identificador de la entidad que registró.

Para RTM_ENTITY_DEREGISTERED llamadas: contiene el identificador de la entidad que no se ha registrado.

Para RTM_ROUTE_EXPIRED llamadas: contiene el identificador de la ruta que agota el tiempo de espera.

Para RTM_CHANGE_NOTIFICATION llamadas: contiene el identificador de la notificación de cambios.

Context2

Para RTM_ENTITY_REGISTERED llamadas: contiene un puntero a la estructura RTM_ENTITY_INFO a la que hace referencia el identificador en Context1. Si el cliente debe conservar esta información, el cliente debe copiarla en una estructura que haya asignado.

Para RTM_ENTITY_DEREGISTERED llamadas: contiene un puntero a la estructura RTM_ENTITY_INFO a la que hace referencia el identificador en Context1. Si el cliente debe conservar esta información, el cliente debe copiarla en una estructura que haya asignado.

Para RTM_ROUTE_EXPIRED llamadas: contiene un puntero a la estructura RTM_ROUTE_INFO a la que hace referencia el identificador en Context1. Si el cliente debe conservar esta información, el cliente debe copiarla en una estructura que haya asignado.

Para RTM_CHANGE_NOTIFICATION llamadas: contiene el contexto de notificación que se ha proporcionado al cliente mediante una llamada anterior a RtmRegisterForChangeNotification.

Valor devuelto

Si el administrador de tablas de enrutamiento emite una devolución de llamada de RTM_ROUTE_EXPIRED y el cliente vuelve al administrador de tablas de enrutamiento, el valor ERROR_NOT_SUPPORTED, el administrador de tablas de enrutamiento eliminará la ruta de la tabla de enrutamiento.

Todos los demás errores devueltos por el cliente se omiten.

Comentarios

Una vez que un cliente se ha registrado para la notificación de cambios, el administrador de tablas de enrutamiento usa esta devolución de llamada para mantener al cliente informado sobre los eventos.

Si un cliente recibe un RTM_EVENT_CALLBACK para los eventos de RTM_ENTITY_REGISTERED o RTM_ENTITY_DEREGISTERED, el cliente no debe realizar llamadas a RtmRegisterEntity, RtmDeregisterEntity o RtmGetRegisteredEntities en el contexto de esta devolución de llamada.

Si un cliente recibe un RTM_EVENT_CALLBACK para el evento RTM_CHANGE_NOTIFICATION, el cliente no debe llamar a RtmRegisterForChangeNotification en el contexto de esta devolución de llamada.

Requisitos

Requisito Value
Cliente mínimo compatible No se admite ninguno
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado rtmv2.h

Consulte también

RTM_EVENT_TYPE

RtmRegisterEntity