RtmAddRouteToDest 関数 (rtmv2.h)
RtmAddRouteToDest 関数は、ルーティング テーブルに新しいルートを追加するか、ルーティング テーブル内の既存のルートを更新します。 最適なルートが変更されると、変更通知が生成されます。
構文
DWORD RtmAddRouteToDest(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in, out] PRTM_ROUTE_HANDLE RouteHandle,
[in] PRTM_NET_ADDRESS DestAddress,
[in] PRTM_ROUTE_INFO RouteInfo,
[in] ULONG TimeToLive,
[in] RTM_ROUTE_LIST_HANDLE RouteListHandle,
[in] RTM_NOTIFY_FLAGS NotifyType,
[in] RTM_NOTIFY_HANDLE NotifyHandle,
[in, out] PRTM_ROUTE_CHANGE_FLAGS ChangeFlags
);
パラメーター
[in] RtmRegHandle
RtmRegisterEntity の以前の呼び出しから取得したクライアントへのハンドル。
[in, out] RouteHandle
クライアントにハンドル (ルートの更新) がある場合: 入力時、 RouteHandle はルート ハンドルへのポインターです。 出力時、 RouteHandle は変更されません。
クライアントにハンドルが存在せず、ハンドルを返す必要がある場合 (クライアントがルートを追加または更新しています):入力時に、 RouteHandle は NULL へのポインターです。 出力時に、 RouteHandle はルート ハンドルへのポインターを受け取ります。 RouteInfo の値は、更新するルートを識別するために使用されます。
ハンドルを返す必要がない場合 (クライアントがルートを追加または更新しています):入力時、 RouteHandle は NULL です。 RouteInfo の値は、更新するルートを識別するために使用されます。
[in] DestAddress
ルートが追加または更新される宛先ネットワーク アドレスへのポインター。
[in] RouteInfo
追加または更新するルート情報へのポインター。
[in] TimeToLive
ルートの有効期限が切れるまでの時間をミリ秒単位で指定します。 ルートの有効期限が切れないようにするには、INFINITE を指定します。
[in] RouteListHandle
ルートを移動するルート リストへのハンドル。 このパラメーターは省略可能であり、 NULL に設定できます。
[in] NotifyType
このパラメーターを NULL に設定 します。 このパラメーターは将来使用するために予約されています。
[in] NotifyHandle
このパラメーターを NULL に設定 します。 このパラメーターは将来使用するために予約されています。
[in, out] ChangeFlags
入力時に ChangeFlags は 、 ルーティング テーブル マネージャーが新しいルートを追加するか、既存のルートを更新する必要があるかを示すRTM_ROUTE_CHANGE_FLAGSデータ型へのポインターです。
出力では、 ChangeFlags は 、 実際に実行された変更の種類と、最適なルートが変更されたかどうかを示すフラグを受け取るRTM_ROUTE_CHANGE_FLAGSデータ型へのポインターです。 次のフラグが使用されます。
戻り値
関数が成功した場合、戻り値はNO_ERROR。
関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。
値 | 意味 |
---|---|
|
呼び出し元のクライアントは、このルートを所有していません。 |
|
ハンドルが正しくありません。 |
|
パラメーターに正しくない情報が含まれています。 |
|
この操作を完了するのに十分なメモリがありません。 |
注釈
次の値が等しい場合、2 つのルートは等しいと見なされます。
- 宛先ネットワーク
- ルートの所有者
- ルートを指定した近隣ノード
ハンドルが返された場合は、 RtmReleaseRoutes を呼び出して不要になったときにハンドルを解放します。
この関数を使用するサンプル コードについては、「 RtmAddRouteToDest を使用したルートの追加と更新」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | rtmv2.h |
Library | Rtm.lib |
[DLL] | Rtm.dll |