次の方法で共有


RtmCreateNextHopEnum 関数 (rtmv2.h)

RtmCreateNextHopEnum は、次ホップ リスト内の次ホップを列挙します。

構文

DWORD RtmCreateNextHopEnum(
  [in]  RTM_ENTITY_HANDLE RtmRegHandle,
  [in]  RTM_ENUM_FLAGS    EnumFlags,
  [in]  PRTM_NET_ADDRESS  NetAddress,
  [out] PRTM_ENUM_HANDLE  RtmEnumHandle
);

パラメーター

[in] RtmRegHandle

RtmRegisterEntity の以前の呼び出しから取得したクライアントへのハンドル。

[in] EnumFlags

列挙に含める次ホップを指定します。 次のフラグが使用されます。

定数 説明
RTM_ENUM_NEXT
指定したアドレス/マスクの長さ (10/8 など) から始まる次ホップを列挙します。 列挙体は、次ホップ リストの末尾まで続きます。
RTM_ENUM_RANGE
アドレス/マスクの長さ (10/8 など) で指定された指定された範囲内の次ホップを列挙します。
RTM_ENUM_START
0/0 から始まる次ホップを列挙します。 NetAddressNULL を指定します。

[in] NetAddress

列挙体の開始アドレスを含む RTM_NET_ADDRESS 構造体へのポインター。 EnumFlags にRTM_ENUM_STARTが含まれている場合は NULL を指定します

[out] RtmEnumHandle

入力では、 RtmEnumHandleNULL へのポインターです。

出力時に、 RtmEnumHandle は列挙へのハンドルへのポインターを受け取ります。 RtmGetEnumNextHopsRtmReleaseNextHopsRtmDeleteEnumHandle に対する後続のすべての呼び出しで、このハンドルを使用します。

戻り値

関数が成功した場合、戻り値はNO_ERROR。

関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。

説明
ERROR_INVALID_PARAMETER
パラメーターに正しくない情報が含まれています。
ERROR_NOT_ENOUGH_MEMORY
この操作を完了するのに十分なメモリがありません。
 
 

解説

EnumFlags にRTM_ENUM_RANGEが含まれている場合は、NetAddress を使用して、列挙するルーティング テーブルの範囲を指定します。 たとえば、クライアントが NetAddress を 10/8 に設定した場合、10.0.0.0/8 ~ 10.255.255.255/32 の範囲の次ホップが返されます。

列挙ハンドルが不要になったら、 RtmDeleteEnumHandle を呼び出して解放します。

要件

   
サポートされている最小のクライアント サポートなし
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー rtmv2.h
Library Rtm.lib
[DLL] Rtm.dll

関連項目

RTM_NET_ADDRESS

RtmDeleteEnumHandle

RtmGetEnumNextHops

RtmReleaseNextHops