次の方法で共有


RtmGetMostSpecificDestination 関数 (rtmv2.h)

RtmGetMostSpecificDestination 関数は、指定されたネットワーク アドレスとサブネット マスクと完全に一致する宛先をルーティング テーブルで検索します。完全一致が見つからない場合は、最適なプレフィックスが一致します。 宛先情報が返されます。

構文

DWORD RtmGetMostSpecificDestination(
  [in]  RTM_ENTITY_HANDLE RtmRegHandle,
  [in]  PRTM_NET_ADDRESS  DestAddress,
  [in]  ULONG             ProtocolId,
  [in]  RTM_VIEW_SET      TargetViews,
  [out] PRTM_DEST_INFO    DestInfo
);

パラメーター

[in] RtmRegHandle

RtmRegisterEntity の以前の呼び出しから取得したクライアントを処理します。

[in] DestAddress

宛先ネットワーク アドレスへのポインター。

[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_HANDLE
ハンドルが無効です。
ERROR_NOT_FOUND
指定した宛先が見つかりませんでした。
 
 

注釈

DestInfo 構造体は、可変サイズの構造体です。 クライアントが TargetViews で複数のビューを指定すると、 ビューごとに DestInfo のサイズが大きくなります。 RTM_SIZE_OF_DEST_INFO マクロを使用して、この関数を呼び出す前に DestInfo 構造体に割り当てるメモリの量を確認します。 RTM_SIZE_OF_DEST_INFOするパラメーターとして TargetViews に指定された値を使用します。

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

要件

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

こちらもご覧ください

RTM_DEST_INFO

RTM_NET_ADDRESS

RtmGetExactMatchDestination

RtmGetExactMatchRoute

RtmGetLessSpecificDestination

RtmIsBestRoute