ResolveIpNetEntry2 függvény

A ResolveIpNetEntry2 függvény feloldja a helyi számítógépen lévő szomszéd IP-címbejegyzés fizikai címét.

Szintaxis

NETIOAPI_API ResolveIpNetEntry2(
  _Inout_        PMIB_IPNET_ROW2 Row,
  _In_opt_ const SOCKADDR_INET   *SourceAddress
);

Paraméterek

  • sor [be, ki]
    Mutató egy szomszéd IP-címbejegyzés MIB_IPNET_ROW2 struktúrabejegyzésére. Sikeres visszatérés esetén ez a struktúra frissül a szomszéd IP-cím tulajdonságaival.

  • SourceAddress [be, nem kötelező]
    Mutató egy választható forrás IP-címre, amellyel kiválasztható a felület, amellyel a szomszédos IP-címbejegyzésre vonatkozó kéréseket küldheti.

Visszaadott érték

ResolveIpNetEntry2 STATUS_SUCCESS ad vissza, ha a függvény sikeres.

Ha a függvény meghiúsul, ResolveIpNetEntry2 a következő hibakódok egyikét adja vissza:

Kód visszaadása Leírás
STATUS_BAD_NETWORK_NAME

A hálózat neve nem található. Ez a hiba akkor jelenik meg, ha a szomszédos IP-címmel rendelkező hálózat nem érhető el.

STATUS_INVALID_PARAMETER

Érvénytelen paraméter lett átadva a függvénynek. Ez a hiba akkor jelenik meg, ha egy NULL mutatót ad át a Sor paraméterben, az CímMIB_IPNET_ROW2 struktúra azon tagja, amely szerint a sor paraméterpontok nem voltak érvényes IPv4- vagy IPv6-címre állítva, vagy InterfaceLuid és InterfaceIndex MIB_IPNET_ROW2 struktúra tagjai nem voltak meghatározva. Ez a hiba akkor is megjelenik, ha egy visszacsatolási címet ad át a Cím tag.

STATUS_NOT_FOUND

A megadott felület nem található. Ez a hiba akkor jelenik meg, ha a függvény nem találja a InterfaceLuid vagy InterfaceIndex MIB_IPNET_ROW2 struktúra azon tagja által megadott hálózati adaptert, amelyre a Sor paraméter mutat.

STATUS_NOT_SUPPORTED

A kérés nem támogatott. Ez a hiba akkor jelenik meg, ha nem található IPv4-verem a helyi számítógépen, és egy IPv4-cím van megadva a Cím azon MIB_IPNET_ROW2 struktúrában, amelyre a Sor paraméter mutat, vagy ha nem található IPv6-verem a helyi számítógépen, és egy IPv6-cím van megadva a Cím tagban.

Egyéb

A FormatMessage függvénnyel szerezze be a visszaadott hiba üzenetsztringét.

Megjegyzések

A ResolveIpNetEntry2 függvény a helyi számítógépen lévő szomszéd IP-címbejegyzés fizikai címének feloldására szolgál. Ez a függvény kiüríti az összes olyan meglévő szomszédbejegyzést, amely megfelel a felület IP-címének, majd feloldja a fizikai cím (MAC) címét úgy, hogy ARP-kéréseket küld egy IPv4-címhez vagy egy IPv6-címhez tartozó szomszéd-megszólítási (NS-) kérésekhez. Ha a SourceAddress paraméter van megadva, ResolveIpNetEntry2 kiválasztja a forrás IP-címmel rendelkező felületet a kérések elküldéséhez. Ha a SourceAddress paraméter nincs megadva (NULL lett átadva ebben a paraméterben), ResolveIpNetEntry2 automatikusan kiválasztja a legjobb felületet a kérések elküldéséhez.

Az illesztőprogramnak inicializálnia kell a MIB_IPNET_ROW2 struktúra alábbi tagjait, amelyekre a sor paraméter mutat.

  • Cím
    Állítsa be érvényes IPv4- vagy IPv6-címre és -családra.

  • InterfaceLuid vagy InterfaceIndex
    Ezeket a tagokat a korábban felsorolt sorrendben használja a rendszer. Ha tehát InterfaceLuid van megadva, ez a tag határozza meg a felületet. Ha a InterfaceLuid taghoz nem állított be értéket (ennek a tagnak az értéke nulla volt), a InterfaceIndex tagot használja a rendszer a felület meghatározásához.

Ha a Cím azon MIB_IPNET_ROW2 struktúrában átadott IP-cím, amelyre az Sor paraméter egy meglévő szomszéd IP-cím duplikálása a felületen, a ResolveIpNetEntry2 függvény kiüríti a meglévő bejegyzést az IP-cím feloldása előtt.

Ha a hívás sikeres, ResolveIpNetEntry2 lekéri a szomszéd IP-cím egyéb tulajdonságait, és kitölti azt a MIB_IPNET_ROW2 struktúrát, amelyre a sor paraméter mutat. A PhysicalAddress és PhysicalAddressLength tagok a MIB_IPNET_ROW2 struktúrában érvényes fizikai címre vannak inicializálva.

Követelmények

Célplatform

Univerzális

Verzió

Elérhető a Windows Vista és a Windows operációs rendszerek újabb verzióiban.

Fejléc

Netioapi.h (netioapi.h)

Könyvtár

Netio.lib

IRQL

< DISPATCH_LEVEL

Lásd még:

CreateIpNetEntry2

DeleteIpNetEntry2

FlushIpNetTable2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

SetIpNetEntry2