次の方法で共有


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 構造体に割り当てるメモリの量を確認します。 RTM_SIZE_OF_DEST_INFOするパラメーターとして TargetViews に指定された値を使用します。

RtmGetLessSpecificDestination 関数は、RtmGetMostSpecificDestination の呼び出しの後に使用され、宛先の次に最適な一致を返します。 この呼び出しは、 RtmGetLessSpecificDestination を以前に呼び出した後も使用され、次に続くより具体的でない一致を返します。 クライアントは、この関数を使用して、宛先のプレフィックス ツリーを "ウォークアップ" できます。

この呼び出しは、RtmGetDestInfo や RtmGetChangedDests などのRTM_DEST_INFO構造体を返す関数の呼び出しの後にも使用されます

RtmGetLessSpecificDestination 関数は、既定のルート (存在する場合) に達するまで一致を返します。 既定のルートが見つかると、 RtmGetLessSpecificDestination はERROR_NOT_FOUNDを返します。

RtmGetLessSpecificDestination 関数と RtmGetMostSpecificDestination 関数の一般的な用途の 1 つは、一致する各宛先を取得することです。

この関数を使用するサンプル コードについては、「 プレフィックス ツリーを使用してルートを検索する」を参照してください。

要件

   
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー rtmv2.h
Library Rtm.lib
[DLL] Rtm.dll

関連項目

RTM_DEST_INFO

RtmGetExactMatchDestination

RtmGetExactMatchRoute

RtmGetMostSpecificDestination

RtmIsBestRoute