共用方式為


RtmRegisterForChangeNotification 函式 (rtmv2.h)

RtmRegisterForChangeNotification 函式會通知路由表管理員,客戶端應該收到指定變更類型的變更通知。 路由表管理員會傳回變更通知句柄,用戶端在收到變更通知訊息之後要求變更資訊時必須使用此句柄。

語法

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
);

參數

[in] RtmRegHandle

從先前呼叫 RtmRegisterEntity 取得的用戶端句柄。

[in] TargetViews

指定要在其中註冊變更通知的檢視。

[in] NotifyFlags

指定旗標,指出用戶端要求通知的變更類型。 使用下列旗標。 (旗標是使用邏輯 OR.) 聯結

常數 意義
RTM_CHANGE_TYPE_ALL
通知用戶端對目的地的任何變更。
RTM_CHANGE_TYPE_BEST
通知用戶端目前最佳路由的變更,或最佳路由變更時。
RTM_CHANGE_TYPE_FORWARDING
通知用戶端任何影響轉送的最佳路由變更,例如下一個躍點變更。
RTM_NOTIFY_ONLY_MARKED_DESTS
通知用戶端用戶端已標示目的地的變更。 如果未指定此旗標,則會傳送所有目的地的變更通知訊息。

[in] NotifyContext

指定 RTM_EVENT_CALLBACK 用來指出新變更的通知內容。 通知內容是RTM_EVENT_CALLBACK回呼的Context2參數。

[out] NotifyHandle

接收變更通知的句柄。 呼叫 RtmGetChangedDests 時,必須使用句柄。

傳回值

如果函式成功,傳回值會NO_ERROR。

如果函式失敗,傳回值就是下列其中一個錯誤碼。

意義
ERROR_INVALID_PARAMETER
參數包含不正確的資訊。
ERROR_NO_SYSTEM_RESOURCES
沒有足夠的可用系統資源來完成這項作業。 路由表管理員已超過可快取的變更通知數目上限。
ERROR_NOT_ENOUGH_MEMORY
記憶體不足,無法完成這項作業。
ERROR_NOT_SUPPORTED
不支援一或多個指定的檢視。
 
 

備註

當客戶端註冊特定目的地的變更時,用戶端會呼叫 RtmMarkDestForChangeNotification

路由表管理員會使用 RTM_EVENT_CALLBACK 回呼,在呼叫 RtmRegisterEntity 的用戶端時指定,以在發生變更時通知用戶端;客戶端必須呼叫 RtmGetChangedDests 以接收實際的變更資訊。

如需使用此函式的範例程式代碼,請參閱 註冊變更通知

規格需求

需求
最低支援的用戶端 都不支援
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 rtmv2.h
程式庫 Rtm.lib
Dll Rtm.dll

另請參閱

RtmDeregisterFromChangeNotification

RtmGetChangedDests

RtmMarkDestForChangeNotification