共用方式為


RtmGetLessSpecificDestination 函式 (rtmv2.h)

RtmGetLessSpecificDestination函式會在指定目的地前置詞的情況下,搜尋具有下一個最符合 (最長) 前置詞的目的地路由表。 傳回要求的目的地資訊。

語法

DWORD RtmGetLessSpecificDestination(
  [in]  RTM_ENTITY_HANDLE RtmRegHandle,
  [in]  RTM_DEST_HANDLE   DestHandle,
  [in]  ULONG             ProtocolId,
  [in]  RTM_VIEW_SET      TargetViews,
  [out] PRTM_DEST_INFO    DestInfo
);

參數

[in] RtmRegHandle

從先前呼叫 RtmRegisterEntity取得的用戶端控制碼。

[in] DestHandle

目的地的控制碼。

[in] ProtocolId

指定通訊協定識別碼。 ProtocolID不是搜尋準則的一部分。 路由表管理員會使用此識別碼來判斷要傳回的路由資訊。 例如,如果用戶端指定 RIP 通訊協定識別碼,即使非 RIP 路由是目的地的最佳路由,也會傳回最佳的 RIP 路由。

指定RTM_BEST_PROTOCOL傳回路由,不論通訊協定擁有哪一個通訊協定。 指定RTM_THIS_PROTOCOL傳回呼叫通訊協定的最佳路由。

[in] TargetViews

指定要從中傳回信息的檢視。 如果用戶端指定RTM_VIEW_MASK_ANY,則會從所有檢視傳回目的地資訊;不過,不會傳回任何檢視特定資訊。

[out] DestInfo

在輸入時, DestInfoRTM_DEST_INFO 結構的指標。

在輸出上, DestInfo 會填入要求的目的地資訊。

傳回值

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

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

意義
ERROR_INVALID_PARAMETER
參數包含不正確的資訊。
ERROR_NOT_FOUND
找不到下一個最佳目的地。
 
 

備註

DestInfo參數是可變大小的RTM_DEST_INFO結構。 如果用戶端使用 TargetViews指定多個檢視,則每個檢視的大小 都會增加 DestInfo 。 使用 RTM_SIZE_OF_DEST_INFO 宏來判斷呼叫此函式之前,要為 DestInfo 結構配置多少記憶體。 使用針對 TargetViews 指定的值做為參數來 RTM_SIZE_OF_DEST_INFO

RtmGetLessSpecificDestination函式會在呼叫RtmGetMostSpecificDestination之後使用,以傳回目的地的下一個最佳相符專案。 這個呼叫也會在 先前呼叫 RtmGetLessSpecificDestination 之後使用,以傳回下一個後續較不特定的相符專案。 用戶端可以使用此函式來「逐步執行」目的地的前置詞樹狀結構。

呼叫傳回 RTM_DEST_INFO 結構的函式之後,也會使用此呼叫,例如 RtmGetDestInfoRtmGetChangedDests

RtmGetLessSpecificDestination函式會傳回相符專案,直到到達預設路由為止。 找到預設路由之後, RtmGetLessSpecificDestination 會傳回ERROR_NOT_FOUND。

RtmGetLessSpecificDestinationRtmGetMostSpecificDestination函式的常見用法是擷取每個相符的目的地。

如需使用此函式的範例程式碼,請參閱 使用前置詞樹狀結構搜尋路由

需求

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

另請參閱

RTM_DEST_INFO

RtmGetExactMatchDestination

RtmGetExactMatchRoute

RtmGetMostSpecificDestination

RtmIsBestRoute