Bagikan melalui


Fungsi CreateIpNetEntry2 (netioapi.h)

Fungsi CreateIpNetEntry2 membuat entri alamat IP tetangga baru di komputer lokal.

Sintaks

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API CreateIpNetEntry2(
  [in] const MIB_IPNET_ROW2 *Row
);

Parameter

[in] Row

Penunjuk ke entri struktur MIB_IPNET_ROW2 untuk entri alamat IP tetangga.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah NO_ERROR.

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

Menampilkan kode Deskripsi
ERROR_ACCESS_DENIED
Akses ditolak. Kesalahan ini dikembalikan dalam beberapa kondisi yang mencakup hal berikut: pengguna tidak memiliki hak istimewa administratif yang diperlukan di komputer lokal atau aplikasi tidak berjalan dalam shell yang ditingkatkan sebagai Administrator bawaan (administrator RunAs).
ERROR_INVALID_PARAMETER
Parameter yang tidak valid diteruskan ke fungsi. Kesalahan ini dikembalikan jika penunjuk NULL diteruskan dalam parameter Baris , anggota Alamatdari MIB_IPNET_ROW2 yang ditunjukkan oleh parameter Baris tidak diatur ke alamat IPv4 atau IPv6 unicast, anycast, atau multicast yang valid, anggota PhysicalAddress dan PhysicalAddressLength dari MIB_IPNET_ROW2 yang ditunjukkan oleh parameter Baris tidak diatur ke alamat fisik yang valid, atau kedua anggota InterfaceLuid atau InterfaceIndex dari MIB_IPNET_ROW2 yang ditunjukkan oleh parameter Baris tidak ditentukan. Kesalahan ini juga dikembalikan jika alamat loopback diteruskan di anggota Alamat .
ERROR_NOT_FOUND
Antarmuka yang ditentukan tidak dapat ditemukan. Kesalahan ini dikembalikan jika antarmuka jaringan yang ditentukan oleh anggota InterfaceLuid atau InterfaceIndexdari MIB_IPNET_ROW2 yang ditunjukkan oleh parameter Baris tidak dapat ditemukan.
ERROR_NOT_SUPPORTED
Permintaan tidak didukung. Kesalahan ini dikembalikan jika tidak ada tumpukan IPv4 di komputer lokal dan alamat IPv4 ditentukan dalam anggota AlamatMIB_IPNET_ROW2 yang ditunjukkan oleh parameter Baris . Kesalahan ini juga dikembalikan jika tidak ada tumpukan IPv6 di komputer lokal dan alamat IPv6 ditentukan di anggota Alamat .
ERROR_OBJECT_ALREADY_EXISTS
Objek sudah ada. Kesalahan ini dikembalikan jika anggota AlamatMIB_IPNET_ROW2 yang diarahkan oleh parameter Baris adalah duplikat alamat IP tetangga yang ada pada antarmuka yang ditentukan oleh anggota InterfaceLuid atau InterfaceIndex dari MIB_IPNET_ROW2.
Lainnya
Gunakan FormatMessage untuk mendapatkan string pesan untuk kesalahan yang dikembalikan.

Keterangan

Fungsi CreateIpNetEntry2 didefinisikan pada Windows Vista dan yang lebih baru.

Fungsi CreateIpNetEntry2 digunakan untuk menambahkan entri alamat IP tetangga baru di komputer lokal.

Anggota Alamat dalam struktur MIB_IPNET_ROW2 yang ditunjukkan oleh parameter Baris harus diinisialisasi ke alamat dan keluarga IPv4 atau IPv6 yang valid. Anggota PhysicalAddress dan PhysicalAddressLength dalam struktur MIB_IPNET_ROW2 yang ditunjukkan oleh parameter Baris harus diinisialisasi ke alamat fisik yang valid. Selain itu, setidaknya salah satu anggota berikut dalam struktur MIB_IPNET_ROW2 yang menunjuk ke parameter Baris harus diinisialisasi ke antarmuka: InterfaceLuid atau InterfaceIndex.

Bidang digunakan dalam urutan yang tercantum di atas. Jadi, jika InterfaceLuid ditentukan, maka anggota ini digunakan untuk menentukan antarmuka untuk menambahkan alamat IP unicast. Jika tidak ada nilai yang ditetapkan untuk anggota InterfaceLuid (nilai anggota ini diatur ke nol), maka anggota InterfaceIndex berikutnya digunakan untuk menentukan antarmuka.

Fungsi CreateIpNetEntry2 akan gagal jika alamat IP yang diteruskan di anggota AlamatMIB_IPNET_ROW2 yang ditunjukkan oleh parameter Baris adalah duplikat alamat IP tetangga yang ada pada antarmuka.

Fungsi CreateIpNetEntry2 hanya dapat dipanggil oleh pengguna yang masuk sebagai anggota grup Administrator. Jika CreateIpNetEntry2 dipanggil oleh pengguna yang bukan anggota grup Administrator, panggilan fungsi akan gagal dan ERROR_ACCESS_DENIED dikembalikan. Fungsi ini juga dapat gagal karena kontrol akun pengguna (UAC) pada Windows Vista dan yang lebih baru. Jika aplikasi yang berisi fungsi ini dijalankan oleh pengguna yang masuk sebagai anggota grup Administrator selain Administrator bawaan, panggilan ini akan gagal kecuali aplikasi telah ditandai dalam file manifes dengan requestedExecutionLevel yang diatur ke requireAdministrator. Jika aplikasi tidak memiliki file manifes ini, pengguna yang masuk sebagai anggota grup Administrator selain Administrator bawaan kemudian harus menjalankan aplikasi dalam shell yang ditingkatkan sebagai Administrator bawaan (administrator RunAs) agar fungsi ini berhasil.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Target Platform Windows
Header netioapi.h (termasuk Iphlpapi.h)
Pustaka Iphlpapi.lib
DLL Iphlpapi.dll

Lihat juga

DeleteIpNetEntry2

FlushIpNetTable2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

ResolveIpNetEntry2

SetIpNetEntry2