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
入力時、 DestInfo は RTM_DEST_INFO 構造体へのポインターです。
出力時に、 DestInfo に要求された宛先情報が入力されます。
戻り値
関数が成功した場合、戻り値はNO_ERROR。
関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。
値 | 意味 |
---|---|
|
ハンドルが無効です。 |
|
指定した宛先が見つかりませんでした。 |
注釈
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 |