Fungsi RtmCreateRouteEnum (rtmv2.h)
Fungsi RtmCreateRouteEnum membuat enumerasi rute untuk tujuan atau rentang tujuan tertentu dalam tabel perutean. Klien dapat menghitung rute untuk satu atau beberapa tampilan, atau untuk semua tampilan.
Sintaks
DWORD RtmCreateRouteEnum(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] RTM_DEST_HANDLE DestHandle,
[in] RTM_VIEW_SET TargetViews,
[in] RTM_ENUM_FLAGS EnumFlags,
[in] PRTM_NET_ADDRESS StartDest,
[in] RTM_MATCH_FLAGS MatchingFlags,
[in] PRTM_ROUTE_INFO CriteriaRoute,
[in] ULONG CriteriaInterface,
[out] PRTM_ENUM_HANDLE RtmEnumHandle
);
Parameter
[in] RtmRegHandle
Tangani ke klien yang diperoleh dari panggilan sebelumnya ke RtmRegisterEntity.
[in] DestHandle
Tangani ke tujuan untuk menghitung rute. Parameter ini bersifat opsional, dan dapat diatur ke NULL; menentukan NULL menghitung semua rute untuk semua tujuan. Tentukan NULL jika EnumFlags berisi RTM_ENUM_START.
[in] TargetViews
Menentukan kumpulan tampilan yang akan digunakan saat membuat enumerasi. Bendera berikut digunakan.
[in] EnumFlags
Menentukan rute mana yang akan disertakan dalam enumerasi. Dua set bendera digunakan; gunakan satu bendera dari setiap set (seperti RTM_ENUM_ALL_ROUTES dan RTM_ENUM_START).
Terus-menerus | Makna |
---|---|
|
Mengembalikan semua rute. |
|
Hanya mengembalikan rute yang dimiliki klien. |
[in] StartDest
Arahkan ke struktur RTM_NET_ADDRESS yang berisi alamat awal enumerasi. Parameter ini diabaikan jika EnumFlags berisi RTM_ENUM_START.
[in] MatchingFlags
Menentukan elemen rute yang akan dicocokkan. Hanya rute yang cocok dengan kriteria yang ditentukan dalam CriteriaRoute dan CriteriaInterface yang dikembalikan, kecuali dinyatakan lain. Bendera berikut digunakan.
[in] CriteriaRoute
Menentukan rute mana yang akan dijumlahkan. Parameter ini bersifat opsional dan dapat diatur ke NULL jika MatchingFlags berisi RTM_MATCH_INTERFACE atau RTM_MATCH_NONE.
[in] CriteriaInterface
Penunjuk ke ULONG yang menentukan rute antarmuka mana yang harus ditempatkan. Parameter ini diabaikan kecuali MatchingFlags berisi RTM_MATCH_INTERFACE.
[out] RtmEnumHandle
Pada input, RtmEnumHandle adalah penunjuk ke NULL.
Pada output, RtmEnumHandle menerima pointer ke handel ke enumerasi. Gunakan handel ini di semua panggilan berikutnya ke RtmGetEnumRoutes, RtmReleaseRoutes, dan RtmDeleteEnumHandle.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan NO_ERROR.
Jika fungsi gagal, nilai yang dikembalikan adalah salah satu kode kesalahan berikut.
Nilai | Makna |
---|---|
|
Parameter berisi informasi yang salah. |
|
Memori tidak cukup untuk menyelesaikan operasi ini. |
|
Satu atau beberapa tampilan yang ditentukan tidak didukung. |
Keterangan
Jika EnumFlags berisi RTM_ENUM_RANGE, gunakan NetAddress untuk menentukan rentang tabel perutean yang akan dihitung. Misalnya, jika klien menetapkan NetAddress ke 10/8, tujuan dalam rentang 10.0.0.0/8 ke 10.255.255.255/32 dikembalikan.
Ketika handel enumerasi tidak lagi diperlukan, lepaskan dengan memanggil RtmDeleteEnumHandle.
Untuk kode sampel menggunakan fungsi ini, lihat Menghitung Semua Rute.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tidak ada yang didukung |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | rtmv2.h |
Pustaka | Rtm.lib |
DLL | Rtm.dll |