Bagikan melalui


Fungsi ResolveIpNetEntry2 (netioapi.h)

Fungsi ResolveIpNetEntry2 menyelesaikan alamat fisik untuk entri alamat IP tetangga di komputer lokal.

Sintaks

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API ResolveIpNetEntry2(
  [in, out]      PMIB_IPNET_ROW2     Row,
  [in, optional] const SOCKADDR_INET *SourceAddress
);

Parameter

[in, out] Row

Penunjuk ke entri struktur MIB_IPNET_ROW2 untuk entri alamat IP tetangga. Pada pengembalian yang berhasil, struktur ini akan diperbarui dengan properti untuk alamat IP tetangga.

[in, optional] SourceAddress

Penunjuk ke alamat IP sumber opsional yang digunakan untuk memilih antarmuka untuk mengirim permintaan untuk entri alamat IP tetangga.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan NO_ERROR.

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

Menampilkan kode Deskripsi
ERROR_BAD_NET_NAME
Nama jaringan tidak dapat ditemukan. Kesalahan ini dikembalikan jika jaringan dengan alamat IP tetangga tidak dapat dijangkau.
ERROR_INVALID_PARAMETER
Parameter yang tidak valid diteruskan ke fungsi. Kesalahan ini dikembalikan jika penunjuk NULL diteruskan dalam parameter Baris , anggota AlamatMIB_IPNET_ROW2 yang diarahkan oleh parameter Baris tidak diatur ke alamat IPv4 atau IPv6 yang valid, atau anggota InterfaceLuid atau InterfaceIndexdari MIB_IPNET_ROW2 yang diarahkan 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 di anggota AlamatMIB_IPNET_ROW2 yang ditunjukkan oleh parameter Baris atau tidak ada tumpukan IPv6 di komputer lokal dan alamat IPv6 ditentukan dalam anggota Alamat .
Lainnya
Gunakan FormatMessage untuk mendapatkan string pesan untuk kesalahan yang dikembalikan.

Keterangan

Fungsi ResolveIpNetEntry2 ditentukan pada Windows Vista dan yang lebih baru.

Fungsi ResolveIpNetEntry2 digunakan untuk menyelesaikan alamat fisik untuk entri alamat IP tetangga di komputer lokal. Fungsi ini menghapus entri tetangga yang ada yang cocok dengan alamat IP pada antarmuka dan kemudian menyelesaikan alamat alamat fisik (MAC) dengan mengirim permintaan ARP untuk alamat IPv4 atau permintaan ajakan tetangga untuk alamat IPv6. Jika parameter SourceAddress ditentukan, fungsi ResolveIpNetEntry2 akan memilih antarmuka dengan alamat IP sumber ini untuk mengirim permintaan. Jika parameter SourceAddress tidak ditentukan (NULL diteruskan dalam parameter ini), fungsi ResolveIpNetEntry2 akan secara otomatis memilih antarmuka terbaik untuk mengirim permintaan.

Anggota Alamat dalam struktur MIB_IPNET_ROW2 yang ditunjukkan oleh parameter Baris harus diinisialisasi ke alamat dan keluarga IPv4 atau IPv6 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 selanjutnya digunakan untuk menentukan antarmuka.

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 ResolveIpNetEntry2 akan menghapus entri yang ada sebelum menyelesaikan alamat IP.

Pada output saat panggilan berhasil, ResolveIpNetEntry2 mengambil properti lain untuk alamat IP tetangga dan mengisi struktur MIB_IPNET_ROW2 yang ditunjukkan oleh parameter Baris . Anggota PhysicalAddress dan PhysicalAddressLength dalam struktur MIB_IPNET_ROW2 yang ditunjukkan oleh parameter Baris akan diinisialisasi ke alamat fisik yang valid.

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

CreateIpNetEntry2

DeleteIpNetEntry2

FlushIpNetTable2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

SOCKADDR_INET

SetIpNetEntry2