Bagikan melalui


Fungsi RtmAddRouteToDest (rtmv2.h)

Fungsi RtmAddRouteToDest menambahkan rute baru ke tabel perutean atau memperbarui rute yang ada dalam tabel perutean. Jika rute terbaik berubah, pemberitahuan perubahan akan dibuat.

Sintaks

DWORD RtmAddRouteToDest(
  [in]      RTM_ENTITY_HANDLE       RtmRegHandle,
  [in, out] PRTM_ROUTE_HANDLE       RouteHandle,
  [in]      PRTM_NET_ADDRESS        DestAddress,
  [in]      PRTM_ROUTE_INFO         RouteInfo,
  [in]      ULONG                   TimeToLive,
  [in]      RTM_ROUTE_LIST_HANDLE   RouteListHandle,
  [in]      RTM_NOTIFY_FLAGS        NotifyType,
  [in]      RTM_NOTIFY_HANDLE       NotifyHandle,
  [in, out] PRTM_ROUTE_CHANGE_FLAGS ChangeFlags
);

Parameter

[in] RtmRegHandle

Tangani ke klien yang diperoleh dari panggilan sebelumnya ke RtmRegisterEntity.

[in, out] RouteHandle

Jika klien memiliki handel (memperbarui rute): Pada input, RouteHandle adalah penunjuk ke handel rute. Pada output, RouteHandle tidak berubah.

Jika klien tidak memiliki handel dan handel harus dikembalikan (klien menambahkan atau memperbarui rute): Pada input, RouteHandle adalah penunjuk ke NULL. Pada output, RouteHandle menerima penunjuk ke handel rute. Nilai dalam RouteInfo digunakan untuk mengidentifikasi rute yang akan diperbarui.

Jika handel tidak perlu dikembalikan (klien menambahkan atau memperbarui rute): Pada input, RouteHandle adalah NULL. Nilai dalam RouteInfo digunakan untuk mengidentifikasi rute yang akan diperbarui.

[in] DestAddress

Arahkan ke alamat jaringan tujuan tempat rute ditambahkan atau diperbarui.

[in] RouteInfo

Arahkan ke informasi rute untuk ditambahkan atau diperbarui.

[in] TimeToLive

Menentukan waktu, dalam milidetik, setelah rute kedaluwarsa. Tentukan INFINITE untuk mencegah rute kedaluwarsa.

[in] RouteListHandle

Tangani ke daftar rute untuk memindahkan rute. Parameter ini bersifat opsional dan dapat diatur ke NULL.

[in] NotifyType

Atur parameter ini ke NULL. Parameter ini dicadangkan untuk digunakan di masa mendatang.

[in] NotifyHandle

Atur parameter ini ke NULL. Parameter ini dicadangkan untuk digunakan di masa mendatang.

[in, out] ChangeFlags

Pada input, ChangeFlags adalah penunjuk ke jenis data RTM_ROUTE_CHANGE_FLAGS yang menunjukkan apakah manajer tabel perutean harus menambahkan rute baru atau memperbarui yang sudah ada.

Pada output, ChangeFlags adalah penunjuk ke jenis data RTM_ROUTE_CHANGE_FLAGS yang menerima bendera yang menunjukkan jenis perubahan yang benar-benar dilakukan, dan jika rute terbaik diubah. Bendera berikut digunakan.

Terus-menerus Makna
RTM_ROUTE_CHANGE_FIRST
Menunjukkan bahwa manajer tabel perutean tidak boleh memeriksa anggota Tetangga parameter RouteInfo saat menentukan apakah dua rute sama.
RTM_ROUTE_CHANGE_NEW
Dikembalikan oleh manajer tabel perutean untuk menunjukkan rute baru dibuat.
RTM_ROUTE_CHANGE_BEST
Dikembalikan oleh manajer tabel perutean untuk menunjukkan bahwa rute yang ditambahkan atau diperbarui adalah rute terbaik, atau karena perubahan, rute baru menjadi rute terbaik.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan NO_ERROR.

Jika fungsi gagal, nilai yang dikembalikan adalah salah satu kode kesalahan berikut.

Nilai Makna
ERROR_ACCESS_DENIED
Klien panggilan tidak memiliki rute ini.
ERROR_INVALID_HANDLE
Handel tidak valid.
ERROR_INVALID_PARAMETER
Parameter berisi informasi yang salah.
ERROR_NOT_ENOUGH_MEMORY
Memori tidak cukup untuk menyelesaikan operasi ini.
 
 

Keterangan

Dua rute dianggap sama jika nilai berikut sama:

  • Jaringan tujuan
  • Pemilik rute
  • Tetangga yang menyediakan rute
Ketika klien memperbarui rute, lebih efisien untuk meneruskan handel ke rute untuk memperbarui di parameter RouteHandle , karena manajer tabel perutean tidak harus melakukan pencarian untuk rute dalam tabel perutean.

Jika handel dikembalikan, lepaskan handel saat tidak lagi diperlukan dengan memanggil RtmReleaseRoutes.

Untuk kode sampel menggunakan fungsi ini, lihat Menambahkan dan Memperbarui Rute Menggunakan RtmAddRouteToDest.

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

Lihat juga

RTM_NET_ADDRESS

RTM_ROUTE_INFO

RtmDeleteRouteToDest

RtmGetRoutePointer

RtmHoldDestination

RtmLockRoute

RtmReleaseRoutes

RtmUpdateAndUnlockRoute