_EVENT_CALLBACK回呼函式 (rtmv2.h)

路由表管理員會使用 RTM_EVENT_CALLBACK 回呼,通知客戶端發生指定的事件。

語法

_EVENT_CALLBACK EventCallback;

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

參數

RtmRegHandle

處理路由表管理員傳送通知的用戶端。

EventType

指定路由表管理員通知客戶端的相關事件。 使用下列值。

意義
RTM_ENTITY_REGISTERED
用戶端剛剛向路由表管理員註冊。
RTM_ENTITY_DEREGISTERED
用戶端剛剛取消註冊。
RTM_ROUTE_EXPIRED
路線已逾時。
RTM_CHANGE_NOTIFICATION
已發出變更通知。

Context1

對於RTM_ENTITY_REGISTERED呼叫:包含已註冊之實體的句柄。

對於RTM_ENTITY_DEREGISTERED呼叫:包含未註冊之實體的句柄。

對於RTM_ROUTE_EXPIRED呼叫:包含逾時路由的句柄。

對於RTM_CHANGE_NOTIFICATION呼叫:包含變更通知的句柄。

Context2

對於RTM_ENTITY_REGISTERED呼叫:包含 Context1 中句柄所參考之RTM_ENTITY_INFO結構的指標。 如果客戶端必須保留這項資訊,客戶端必須將它複製到它已配置的結構。

對於RTM_ENTITY_DEREGISTERED呼叫:包含 Context1 中句柄所參考之RTM_ENTITY_INFO結構的指標。 如果客戶端必須保留這項資訊,客戶端必須將它複製到它已配置的結構。

對於RTM_ROUTE_EXPIRED呼叫:包含 Context1 中句柄所參考之RTM_ROUTE_INFO結構的指標。 如果客戶端必須保留這項資訊,客戶端必須將它複製到它已配置的結構。

對於RTM_CHANGE_NOTIFICATION呼叫:包含先前呼叫 RtmRegisterForChangeNotification 給用戶端的通知內容。

傳回值

如果路由表管理員發出RTM_ROUTE_EXPIRED回呼,而用戶端會傳迴路由表管理員的值ERROR_NOT_SUPPORTED,路由表管理員將會從路由表中刪除路由。

用戶端傳回的所有其他錯誤都會被忽略。

備註

在客戶端註冊變更通知之後,路由表管理員會使用此回呼讓用戶端知道事件。

如果用戶端收到RTM_ENTITY_REGISTERED或RTM_ENTITY_DEREGISTERED事件的RTM_EVENT_CALLBACK,則用戶端不得在此回呼的內容中呼叫 RtmRegisterEntityRtmDeregisterEntityRtmGetRegisteredEntities

如果用戶端收到 RTM_CHANGE_NOTIFICATION事件的RTM_EVENT_CALLBACK ,則用戶端不得在此回呼的內容中呼叫 RtmRegisterForChangeNotification

規格需求

需求
最低支援的用戶端 都不支援
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 rtmv2.h

另請參閱

RTM_EVENT_TYPE

RtmRegisterEntity