_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.
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 |