RtmRegisterEntity 関数 (rtmv2.h)
RtmRegisterEntity 関数は、特定のアドレス ファミリのルーティング テーブル マネージャーのインスタンスにクライアントを登録します。 ルーティング テーブル マネージャーは、登録ハンドルとインスタンスのプロファイルを返します。 プロファイルには、他の関数を呼び出すときに使用される値の一覧が含まれています。 値には、1 回の呼び出しによってバッファーに返される宛先の最大数が含まれます。
登録は、クライアントが最初に実行する必要があるアクションです。
構文
DWORD RtmRegisterEntity(
[in] PRTM_ENTITY_INFO RtmEntityInfo,
[in] PRTM_ENTITY_EXPORT_METHODS ExportMethods,
[in] RTM_EVENT_CALLBACK EventCallback,
[in] BOOL ReserveOpaquePointer,
[out] PRTM_REGN_PROFILE RtmRegProfile,
[out] PRTM_ENTITY_HANDLE RtmRegHandle
);
パラメーター
[in] RtmEntityInfo
RTM_ENTITY_INFO構造体へのポインター。 この構造体には、ルーティング テーブル マネージャーインスタンスや登録に使用するアドレス ファミリなど、クライアントをルーティング テーブル マネージャーに識別する情報が含まれます。
[in] ExportMethods
クライアントによってエクスポートされたメソッドの一覧を含む RTM_ENTITY_EXPORT_METHODS 構造体へのポインター。 このパラメーターは省略可能であり、呼び出し元のクライアントにエクスポートするメソッドがない場合は NULL に設定できます。
[in] EventCallback
ルーティング テーブル マネージャーがクライアントにイベントを通知するために使用するコールバックを指定する RTM_EVENT_CALLBACK 構造体。 イベントは、クライアントが登録と登録解除を行うとき、ルートの有効期限が切れたとき、および宛先への最適なルートへの変更が発生したときです。 クライアントが RtmRegisterForChangeNotification を呼び出したときに指定された変更のみ。
[in] ReserveOpaquePointer
プロトコルのこのインスタンスの各宛先に不透明なポインターを予約するかどうかを指定します。 各宛先に不透明なポインターを予約するには 、TRUE を 指定します。 このアクションをスキップするには 、FALSE を指定します 。 これらの不透明なポインターを使用して、各宛先のプライベートなプロトコル固有のコンテキストを指すことができます。
[out] RtmRegProfile
入力では、 RtmRegProfile は RTM_REGN_PROFILE 構造体へのポインターです。
出力時に、 RtmRegProfile に要求された登録プロファイル構造が入力されます。 クライアントは、他の関数呼び出しで返される情報を使用する必要があります (返される情報には、等コストの次ホップの数と列挙関数呼び出しによって返されるアイテムの最大数が含まれます)。
[out] RtmRegHandle
クライアントの登録ハンドルを受け取ります。 このハンドルは、ルーティング テーブル マネージャーに対する後続のすべての呼び出しで使用する必要があります。
戻り値
関数が成功した場合、戻り値はNO_ERROR。
関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。
値 | 説明 |
---|---|
|
指定されたクライアントは、ルーティング テーブル マネージャーに既に登録されています。 |
|
ルーティング テーブル マネージャーのレジストリ情報が壊れています。 |
|
ルーティング テーブル マネージャーのレジストリ情報が見つかりませんでした。 |
|
パラメーターに正しくない情報が含まれています。 |
|
パラメーターに正しくない情報が含まれています。 |
|
この操作を完了するのに十分なシステム リソースがありません。 |
|
この操作を完了するのに十分なメモリがありません。 |
解説
この関数を使用するサンプル コードについては、「 ルーティング テーブル マネージャーに登録する」を参照してください。
要件
サポートされている最小のクライアント | サポートなし |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | rtmv2.h |
Library | Rtm.lib |
[DLL] | Rtm.dll |