RtmRegisterClient 函式

[路由 表管理員第 2 版 API 已取代此 API,且無法超過 Windows Server 2003。 應用程式應該使用路由表管理員第 2 版 API。]

RtmRegisterClient函式會將用戶端註冊為指定通訊協定的處理常式。 它會建立用戶端的路由變更通知機制,並設定通訊協定選項。

語法

HANDLE RtmRegisterClient(
  _In_ DWORD  ProtocolFamily,
  _In_ DWORD  RoutingProtocol,
  _In_ HANDLE ChangeEvent,
  _In_ DWORD  Flags
);

參數

ProtocolFamily [in]

指定要註冊之路由通訊協定的通訊協定系列。

RoutingProtocol [in]

指定路由通訊協定識別碼,與向路由器管理員註冊時所使用的識別碼相同。 請參閱 RegisterProtocol

ChangeEvent [in]

指定資料表中網路的最佳路由已變更。 路由表管理員會在變更為資料表中任何網路的最佳路由之後,發出此事件的訊號。 如需路由變更通知的詳細資訊,請參閱 RtmDequeueRouteChangeMessage

這是選擇性參數。 如果呼叫端指定此參數的 Null ,路由表管理員不會通知用戶端最佳路由狀態的變更。

旗標 [in]

指定路由通訊協定的特殊處理其他選項。 目前支援下列值。

Flags 意義
RTM_PROTOCOL_SINGLE_ROUTE
路由表管理員只會針對路由通訊協定保留每個目的地網路一個路由。 換句話說,路由表管理員會取代具有相同目的地網路編號的路由專案,而不是新增新的路由。

傳回值

成功傳回時, 傳回 HANDLE 值,以在路由表管理員的後續呼叫中識別用戶端。

Null控制碼表示路由表管理員無法註冊用戶端。 呼叫 GetLastError 以取得失敗的原因。

描述
ERROR_CLIENT_ALREADY_EXISTS
另一個用戶端已註冊來處理指定的通訊協定。
ERROR_INVALID_PARAMETER
不支援指定的通訊協定系列,或 Flags 參數無效。
ERROR_NO_SYSTEM_RESOURCES
資源不足,無法執行作業。
ERROR_NOT_ENOUGH_MEMORY
記憶體不足,無法配置用戶端的資料結構。

規格需求

需求
最低支援的用戶端
都不支援
最低支援的伺服器
Windows 2000 Server [僅限桌面應用程式]
伺服器終止支援
Windows Server 2003
標頭
Rtm.h
程式庫
Rtm.lib
DLL
Rtm.dll

另請參閱

路由表管理員第 1 版參考

路由表管理員第 1 版函式

GetLastError

RegisterProtocol

RTMv1 通訊協定系列識別碼

RtmDequeueRouteChangeMessage

RtmDeregisterClient