Freigeben über


_EVENT_CALLBACK Rückruffunktion (rtmv2.h)

Der RTM_EVENT_CALLBACK Rückruf wird vom Routingtabellen-Manager verwendet, um einen Client darüber zu informieren, dass das angegebene Ereignis aufgetreten ist.

Syntax

_EVENT_CALLBACK EventCallback;

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

Parameter

RtmRegHandle

Handle an den Client, an den der Routingtabellen-Manager die Benachrichtigung sendet.

EventType

Gibt das Ereignis an, über das der Routingtabellen-Manager den Client benachrichtigt. Die folgenden Werte werden verwendet.

Wert Bedeutung
RTM_ENTITY_REGISTERED
Ein Client hat sich gerade beim Routingtabellen-Manager registriert.
RTM_ENTITY_DEREGISTERED
Die Registrierung eines Clients wurde gerade aufgehoben.
RTM_ROUTE_EXPIRED
Für eine Route ist ein Timeout aufgetreten.
RTM_CHANGE_NOTIFICATION
Eine Änderungsbenachrichtigung wurde erstellt.

Context1

Für RTM_ENTITY_REGISTERED Aufrufe: Enthält das Handle für die Entität, die registriert wurde.

Für RTM_ENTITY_DEREGISTERED Aufrufe: Enthält das Handle für die Entität, die die Registrierung aufgehoben hat.

Für RTM_ROUTE_EXPIRED Aufrufe: Enthält das Handle für die Route, für die ein Timeout aufgetreten ist.

Für RTM_CHANGE_NOTIFICATION Aufrufe: Enthält das Handle für die Änderungsbenachrichtigung.

Context2

Für RTM_ENTITY_REGISTERED Aufrufe: Enthält einen Zeiger auf die RTM_ENTITY_INFO-Struktur , auf die das Handle in Context1 verweist. Wenn der Client diese Informationen beibehalten muss, muss der Client sie in eine Struktur kopieren, die ihm zugewiesen wurde.

Für RTM_ENTITY_DEREGISTERED-Aufrufe: Enthält einen Zeiger auf die RTM_ENTITY_INFO-Struktur , auf die das Handle in Context1 verweist. Wenn der Client diese Informationen beibehalten muss, muss der Client sie in eine Struktur kopieren, die ihm zugewiesen wurde.

Für RTM_ROUTE_EXPIRED-Aufrufe: Enthält einen Zeiger auf die RTM_ROUTE_INFO-Struktur , auf die das Handle in Context1 verweist. Wenn der Client diese Informationen beibehalten muss, muss der Client sie in eine Struktur kopieren, die ihm zugewiesen wurde.

Für RTM_CHANGE_NOTIFICATION-Aufrufe: Enthält den Benachrichtigungskontext, der dem Client durch einen vorherigen Aufruf von RtmRegisterForChangeNotification übergeben wurde.

Rückgabewert

Wenn der Routingtabellen-Manager einen RTM_ROUTE_EXPIRED Rückruf ausgibt und der Client den Wert ERROR_NOT_SUPPORTED an den Routingtabellen-Manager zurückgibt, löscht der Routingtabellen-Manager die Route aus der Routingtabelle.

Alle anderen vom Client zurückgegebenen Fehler werden ignoriert.

Hinweise

Nachdem sich ein Client für die Änderungsbenachrichtigung registriert hat, verwendet der Routingtabellen-Manager diesen Rückruf, um den Client über Ereignisse auf dem Laufenden zu halten.

Wenn ein Client eine RTM_EVENT_CALLBACK für die RTM_ENTITY_REGISTERED- oder RTM_ENTITY_DEREGISTERED-Ereignisse empfängt, darf der Client im Kontext dieses Rückrufs keine Aufrufe von RtmRegisterEntity, RtmDeregisterEntity oder RtmGetRegisteredEntities durchführen.

Wenn ein Client eine RTM_EVENT_CALLBACK für das RTM_CHANGE_NOTIFICATION-Ereignis empfängt, darf der Client RtmRegisterForChangeNotification im Kontext dieses Rückrufs nicht aufrufen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile rtmv2.h

Weitere Informationen

RTM_EVENT_TYPE

RtmRegisterEntity