Bagikan melalui


Fungsi CreateIpForwardEntry2

Fungsi CreateIpForwardEntry2 membuat entri rute IP baru di komputer lokal.

Sintaksis

NETIOAPI_API CreateIpForwardEntry2(
  _In_ const MIB_IPFORWARD_ROW2 *Row
);

Parameter

Mengembalikan nilai

CreateIpForwardEntry2 mengembalikan STATUS_SUCCESS jika fungsi berhasil.

Jika fungsi gagal, CreateIpForwardEntry2 mengembalikan salah satu kode kesalahan berikut:

Mengembalikan kode Deskripsi
STATUS_INVALID_PARAMETER

Parameter yang tidak valid diteruskan ke fungsi. Kesalahan ini dikembalikan jika salah satu situasi berikut terjadi:

  • Penunjuk NULL diteruskan dalam parameter Baris.

  • DestinationPrefix anggota struktur MIB_IPFORWARD_ROW2 yang tidak ditentukan oleh parameter Baris.

  • Anggota NextHop struktur MIB_IPFORWARD_ROW2 tidak ditentukan.

  • Baik InterfaceLuid dan InterfaceIndex anggota struktur MIB_IPFORWARD_ROW2 tidak ditentukan.

  • Anggota PreferredLifetime struktur MIB_IPFORWARD_ROW2 lebih besar dari anggota ValidLifetime.

  • Anggota SitePrefixLength struktur MIB_IPFORWARD_ROW2 lebih besar dari panjang awalan yang ditentukan oleh anggota DestinationPrefix.

Kesalahan ini dikembalikan jika penunjuk NULL diteruskan dalam parameter Baris, anggota DestinationPrefix dari struktur MIB_IPFORWARD_ROW2 yang diarahkan oleh parameter Baris tidak ditentukan, NextHop anggota struktur MIB_IPFORWARD_ROW2 tidak ditentukan, atau InterfaceLuid dan InterfaceIndex anggota struktur MIB_IPFORWARD_ROW2 tidak ditentukan. Kesalahan ini juga dikembalikan jika anggota PreferredLifetime yang ditentukan dalam struktur MIB_IPFORWARD_ROW2 lebih besar dari anggota ValidLifetime, atau jika SitePrefixLength dalam struktur MIB_IPFORWARD_ROW2 lebih besar dari panjang awalan yang ditentukan dalam DestinationPrefix anggota.

STATUS_NOT_FOUND

Antarmuka yang ditentukan tidak dapat ditemukan. Kesalahan ini dikembalikan jika fungsi tidak dapat menemukan antarmuka jaringan yang ditentukan oleh InterfaceLuid atau InterfaceIndex anggota struktur MIB_IPNET_ROW2 yang ditunjuk oleh parameter Baris.

STATUS_NOT_SUPPORTED

Permintaan tidak didukung. Kesalahan ini dikembalikan jika antarmuka yang ditentukan tidak mendukung rute. Kesalahan ini dikembalikan jika tidak ada tumpukan IPv4 yang terletak di komputer lokal dan AF_INET ditentukan dalam keluarga alamat di DestinationPrefix anggota struktur MIB_IPFORWARD_ROW2 yang ditunjuk oleh parameter Baris, atau jika tidak ada tumpukan IPv6 yang terletak di komputer lokal dan AF_INET6 ditentukan untuk keluarga alamat di anggota DestinationPrefix.

ERROR_OBJECT_ALREADY_EXISTS

Objek sudah ada. Kesalahan ini dikembalikan jika DestinationPrefix anggota struktur MIB_IPFORWARD_ROW2 yang ditunjukkan parameter Baris adalah duplikat entri rute IP yang ada pada antarmuka yang ditentukan oleh InterfaceLuid atau InterfaceIndex anggota struktur MIB_IPFORWARD_ROW2.

Lainnya

Gunakan fungsi FormatMessage untuk mendapatkan string pesan untuk kesalahan yang dikembalikan.

Komentar

Fungsi CreateIpForwardEntry2 digunakan untuk menambahkan entri alamat IP tetangga baru di komputer lokal. Gunakan fungsi InitializeIpForwardEntry untuk menginisialisasi anggota entri struktur MIB_IPFORWARD_ROW2 dengan nilai default. Driver kemudian dapat mengubah anggota dalam entri MIB_IPFORWARD_ROW2 yang ingin dimodifikasi dan kemudian memanggil CreateIpForwardEntry2.

Driver Anda harus menginisialisasi anggota struktur MIB_IPFORWARD_ROW2 berikut yang ditunjukkan oleh parameter Baris:

  • Atur DestinationPrefix ke awalan alamat IPv4 atau IPv6 yang valid.

  • Atur NextHop ke alamat dan keluarga IPv4 atau IPv6 yang valid.

  • Atur InterfaceLuid atau InterfaceIndex ke LUID atau nilai indeks antarmuka.

InterfaceLuid dan InterfaceIndex anggota digunakan dalam urutan yang tercantum sebelumnya. Jadi jika InterfaceLuid ditentukan, anggota ini digunakan untuk menentukan antarmuka untuk menambahkan entri rute IP. Jika tidak ada nilai yang ditetapkan untuk anggota InterfaceLuid (nilai anggota ini diatur ke nol), anggota InterfaceIndex selanjutnya digunakan untuk menentukan antarmuka.

Offset metrik rute yang ditentukan dalam Metrik anggota struktur MIB_IPFORWARD_ROW2 yang ditunjukkan parameter Baris untuk hanya mewakili bagian dari metrik rute lengkap. Metrik lengkap adalah kombinasi dari offset metrik rute ini yang ditambahkan ke metrik antarmuka yang ditentukan dalam metrik anggota struktur MIB_IPINTERFACE_ROW antarmuka terkait. Driver dapat mengambil metrik antarmuka dengan memanggil fungsiGetIpInterfaceEntry.

Age dan Origin anggota struktur MIB_IPFORWARD_ROW2 yang ditunjukkan parameter Baris diabaikan saat fungsi CreateIpForwardEntry2 dipanggil. Anggota ini diatur oleh tumpukan jaringan dan tidak dapat diatur dengan menggunakan fungsi CreateIpForwardEntry2.

Fungsi CreateIpForwardEntry2 gagal jika DestinationPrefix dan NextHop anggota struktur MIB_IPFORWARD_ROW2 yang Baris poin parameter adalah duplikat entri rute IP yang ada pada antarmuka yang ditentukan dalam InterfaceLuid atau InterfaceIndex anggota.

Persyaratan

Platform target

Universal

Versi

Tersedia di Windows Vista dan versi sistem operasi Windows yang lebih baru.

Header

Netioapi.h (termasuk Netioapi.h)

Perpustakaan

Netio.lib

IRQL

< DISPATCH_LEVEL

Lihat juga

DeleteIpForwardEntry2

GetBestRoute2

GetIpForwardEntry2

GetIpForwardTable2

GetIpInterfaceEntry

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

NotifyRouteChange2

setIpForwardEntry2