次の方法で共有


RtmRegisterClient 関数

[この API は ルーティング テーブル マネージャー バージョン 2 API に置き換えられているので、Windows Server 2003 以降では使用できません。 アプリケーションでは、ルーティング テーブル マネージャー バージョン 2 API を使用する必要があります。

RtmRegisterClient 関数は、指定されたプロトコルのハンドラーとしてクライアントを登録します。 クライアントのルート変更通知メカニズムを確立し、プロトコル オプションを設定します。

構文

HANDLE RtmRegisterClient(
  _In_ DWORD  ProtocolFamily,
  _In_ DWORD  RoutingProtocol,
  _In_ HANDLE ChangeEvent,
  _In_ DWORD  Flags
);

パラメーター

ProtocolFamily [in]

登録するルーティング プロトコルのプロトコル ファミリを指定します。

RoutingProtocol [in]

ルーター マネージャーに登録するときに使用されるのと同じルーティング プロトコル識別子を指定します。 「RegisterProtocol」を参照してください。

ChangeEvent [in]

テーブル内のネットワークへの最適なルートが変更されたことを指定します。 ルーティング テーブル マネージャーは、テーブル内の任意のネットワークへの最適なルートを変更した後、このイベントを通知します。 ルート変更通知の詳細については、「 RtmDequeueRouteChangeMessage 」を参照してください。

このパラメーターは省略可能です。 呼び出し元がこのパラメーターに NULL を 指定した場合、ルーティング テーブル マネージャーは、最適なルート状態の変更をクライアントに通知しません。

Flags [in]

ルーティング プロトコルを特別に処理するためのその他のオプションを指定します。 現在、次の値がサポートされています。

Flags 説明
RTM_PROTOCOL_SINGLE_ROUTE
ルーティング テーブル マネージャーは、ルーティング プロトコルの宛先ネットワークごとに 1 つのルートのみを保持します。 つまり、ルーティング テーブル マネージャーは、新しいネットワーク番号を追加する代わりに、同じ宛先ネットワーク番号を持つルート エントリを置き換えます。

戻り値

正常に戻った場合、ルーティング テーブル マネージャーへの後続の呼び出しでクライアントを識別する HANDLE 値。

NULL ハンドルは、ルーティング テーブル マネージャーがクライアントを登録できなかったことを示します。 GetLastError を呼び出して、エラーの理由を取得します。

説明
ERROR_CLIENT_ALREADY_EXISTS
指定されたプロトコルを処理するために、別のクライアントが既に登録されています。
ERROR_INVALID_PARAMETER
指定されたプロトコル ファミリがサポートされていないか、 Flags パラメーターが無効です。
ERROR_NO_SYSTEM_RESOURCES
操作を実行するためのリソースが不足しています。
ERROR_NOT_ENOUGH_MEMORY
クライアントにデータ構造を割り当てるためのメモリ不足。

要件

要件
サポートされている最小のクライアント
サポートなし
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
サーバー サポートの終了
Windows Server 2003
ヘッダー
Rtm.h
ライブラリ
Rtm.lib
[DLL]
Rtm.dll

関連項目

ルーティング テーブル マネージャー バージョン 1 リファレンス

ルーティング テーブル マネージャー バージョン 1 の関数

Getlasterror

RegisterProtocol

RTMv1 プロトコル ファミリ識別子

RtmDequeueRouteChangeMessage

RtmDeregisterClient