RtmLockRoute 関数 (rtmv2.h)
RtmLockRoute 関数は、ルーティング テーブル内のルートをロックまたはロック解除します。 これにより、クライアントがクライアントが所有する不透明なルート ポインターに必要な変更を加えながら、ルートが保護されます。
構文
DWORD RtmLockRoute(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] RTM_ROUTE_HANDLE RouteHandle,
[in] BOOL Exclusive,
[in] BOOL LockRoute,
[out] PRTM_ROUTE_INFO *RoutePointer
);
パラメーター
[in] RtmRegHandle
RtmRegisterEntity の以前の呼び出しから取得したクライアントを処理します。
[in] RouteHandle
ロックするルートを処理します。
[in] Exclusive
排他 (TRUE) モードまたは共有 (FALSE) モードでルートをロックまたはロック解除するかどうかを指定します。
[in] LockRoute
ルートをロックまたはロック解除するかどうかを指定します。 TRUE を指定してルートをロックします。FALSE を指定してロックを解除します。
[out] RoutePointer
ポインターを返す必要がある場合: 入力時、 RoutePointer は NULL へのポインターです。 出力時に、クライアントがルートを所有している場合、 RoutePointer は 次ホップへのポインターを受け取ります。それ以外の場合、 RoutePointer は変更されません。
ハンドルを返す必要がない場合: 入力時、 RoutePointer は NULL です。
戻り値
関数が成功した場合、戻り値はNO_ERROR。
関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。
値 | 意味 |
---|---|
|
呼び出し元のクライアントはこのルートを所有していません。 |
|
ハンドルが正しくありません。 |
注釈
RtmLockRoute の呼び出しによってルートのロックが解除され、LockRoute パラメーターが FALSE に設定されるか、RtmUpdateAndUnlockRoute の呼び出しが行われるまで、他の RTMv2 関数を呼び出さないでください。
現在、この関数はルートだけでなく、宛先全体をロックします。
クライアントは、RTM_ROUTE_INFO構造体のネイバー、PrefInfo、BelongsToViews、EntitySpecificInfo、NextHopsList の各メンバーのみを変更できます。
これらの値のいずれかが変更された場合、クライアントは RtmUpdateAndUnlockRoute を呼び出して、ルーティング テーブル マネージャーに変更を通知する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | rtmv2.h |
Library | Rtm.lib |
[DLL] | Rtm.dll |