Freigeben über


RtmRegisterForChangeNotification-Funktion (rtmv2.h)

Die RtmRegisterForChangeNotification-Funktion informiert den Routingtabellen-Manager darüber, dass der Client Änderungsbenachrichtigungen für die angegebenen Änderungstypen erhalten soll. Der Routingtabellen-Manager gibt ein Änderungsbenachrichtigungshandle zurück, das der Client beim Anfordern von Änderungsinformationen nach dem Empfang einer Änderungsbenachrichtigung verwenden muss.

Syntax

DWORD RtmRegisterForChangeNotification(
  [in]  RTM_ENTITY_HANDLE  RtmRegHandle,
  [in]  RTM_VIEW_SET       TargetViews,
  [in]  RTM_NOTIFY_FLAGS   NotifyFlags,
  [in]  PVOID              NotifyContext,
  [out] PRTM_NOTIFY_HANDLE NotifyHandle
);

Parameter

[in] RtmRegHandle

Handle mit dem Client, der von einem vorherigen Aufruf von RtmRegisterEntity abgerufen wurde.

[in] TargetViews

Gibt die Ansichten an, in denen für Änderungsbenachrichtigungen registriert werden soll.

[in] NotifyFlags

Gibt die Flags an, die den Typ der Änderungen angeben, für die der Client Benachrichtigungen anfordert. Die folgenden Flags werden verwendet. (Die Flags sollen mithilfe eines logischen OR verknüpft werden.)

Konstante Bedeutung
RTM_CHANGE_TYPE_ALL
Benachrichtigen Sie den Client über jede Änderung an einem Ziel.
RTM_CHANGE_TYPE_BEST
Benachrichtigen Sie den Client über Änderungen an der aktuellen besten Route oder wenn sich die beste Route ändert.
RTM_CHANGE_TYPE_FORWARDING
Benachrichtigen Sie den Client über alle besten Routenänderungen, die sich auf die Weiterleitung auswirken, z. B. Änderungen des nächsten Hops.
RTM_NOTIFY_ONLY_MARKED_DESTS
Benachrichtigen Sie den Client über Änderungen an Zielen, die der Client markiert hat. Wenn dieses Flag nicht angegeben ist, werden Änderungsbenachrichtigungen für alle Ziele gesendet.

[in] NotifyContext

Gibt den Benachrichtigungskontext an, den der RTM_EVENT_CALLBACK verwendet, um neue Änderungen anzugeben. Der Benachrichtigungskontext ist der Context2-Parameter des RTM_EVENT_CALLBACK Rückrufs.

[out] NotifyHandle

Empfängt ein Handle für eine Änderungsbenachrichtigung. Das Handle muss beim Aufrufen von RtmGetChangedDests verwendet werden.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert NO_ERROR.

Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden Fehlercodes.

Wert Bedeutung
ERROR_INVALID_PARAMETER
Ein Parameter enthält falsche Informationen.
ERROR_NO_SYSTEM_RESOURCES
Es sind nicht genügend Systemressourcen verfügbar, um diesen Vorgang abzuschließen. Der Routingtabellen-Manager hat die maximale Anzahl von Änderungsbenachrichtigungen überschritten, die zwischengespeichert werden können.
ERROR_NOT_ENOUGH_MEMORY
Es ist nicht genügend Arbeitsspeicher vorhanden, um diesen Vorgang abzuschließen.
ERROR_NOT_SUPPORTED
Mindestens eine der angegebenen Ansichten wird nicht unterstützt.
 
 

Hinweise

Ein Client ruft RtmMarkDestForChangeNotification auf, wenn er sich für Änderungen an einem bestimmten Ziel registriert.

Der Routingtabellen-Manager verwendet den RTM_EVENT_CALLBACK Rückruf, der angegeben wurde, wenn der Client RtmRegisterEntity aufgerufen hat, um den Client zu benachrichtigen, wenn Änderungen aufgetreten sind. Der Client muss RtmGetChangedDests aufrufen, um die tatsächlichen Änderungsinformationen zu erhalten.

Beispielcode mit dieser Funktion finden Sie unter Registrieren für Änderungsbenachrichtigungen.

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
Bibliothek Rtm.lib
DLL Rtm.dll

Weitere Informationen

RtmDeregisterFromChangeNotification

RtmGetChangedDests

RtmMarkDestForChangeNotification