_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
指定路由表管理員通知客戶端的相關事件。 使用下列值。
值 | 意義 |
---|---|
|
用戶端剛剛向路由表管理員註冊。 |
|
用戶端剛剛取消註冊。 |
|
路線已逾時。 |
|
已發出變更通知。 |
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,則用戶端不得在此回呼的內容中呼叫 RtmRegisterEntity、RtmDeregisterEntity 或 RtmGetRegisteredEntities。
如果用戶端收到 RTM_CHANGE_NOTIFICATION事件的RTM_EVENT_CALLBACK ,則用戶端不得在此回呼的內容中呼叫 RtmRegisterForChangeNotification 。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | rtmv2.h |