RtmCreateEnumerationHandle 函式

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

RtmCreateEnumerationHandle函式會傳回控制碼,以便與RtmEnumerateGetNextRoute搭配使用,以掃描路由表管理員已知的所有路由或路由子集。

語法

HANDLE RtmCreateEnumerationHandle(
  _In_ DWORD ProtocolFamily,
  _In_ DWORD EnumerationFlags,
  _In_ PVOID CriteriaRoute
);

參數

ProtocolFamily [in]

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

EnumerationFlags [in]

指定應該列舉哪些路由。 此參數會將列舉 API 傳回的路由集限制為下列旗標所定義的子集,以及 CriteriaRoute 參數所指向之結構對應成員中的值。 此參數可以是下列其中一個值。

EnumerationFlags 意義
RTM_ONLY_THIS_NETWORK
只列舉與 CriteriaRoute 所指向之結構RR_Network成員具有相同網路編號的路由。
RTM_ONLY_THIS_INTERFACE
只列舉透過 CriteriaRoute 所指向之結構RR_InterfaceID欄位所指定的介面取得的路由。
RTM_ONLY_THIS_PROTOCOL
只列舉由 CriteriaRoute 所指向之結構RR_RoutingProtocol欄位所指定之路由通訊協定所新增的路由。
RTM_ONLY_BEST_ROUTES
只列舉集合中每個網路的最佳路由。

CriteriaRoute [in]

通訊協定系列特定路由結構的指標 (RTM_IP_ROUTERTM_IPX_ROUTE) 。 這個結構中的成員值會對應至 EnumerationFlags 參數所指定的旗標。

傳回值

如果函式成功,則傳回值是用於後續列舉呼叫的 HANDLE

如果函式失敗,或指定的準則中沒有任何路由存在,則傳回值為 Null。 呼叫 GetLastError 以取得詳細資訊。

Description
ERROR_NO_ROUTES
沒有具有指定準則的路由。
ERROR_INVALID_PARAMETER
一或多個輸入參數無效 (例如未知通訊協定系列、不正確列舉旗標) 。
ERROR_NO_SYSTEM_RESOURCES
資源不足,無法執行作業。
ERROR_NOT_ENOUGH_MEMORY
記憶體不足,無法配置控制碼。

規格需求

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

另請參閱

路由表管理員第 1 版參考

路由表管理員第 1 版函式

GetLastError

RTM_IP_ROUTE

RTM_IPX_ROUTE

RtmCloseEnumerationHandle

RtmEnumerateGetNextRoute