GetIpNetTable2 függvény

A GetIpNetTable2 függvény lekéri az IP-szomszéd táblát egy helyi számítógépen.

Szintaxis

NETIOAPI_API GetIpNetTable2(
  _In_  ADDRESS_FAMILY    Family,
  _Out_ PMIB_IPNET_TABLE2 *Table
);

Paraméterek

  • Családi [in]
    A lekérendő címcsalád.

    A címcsalád lehetséges értékei a Winsock2.h fejlécfájlban jelennek meg. Vegye figyelembe, hogy a AF_ címcsalád és PF_ protokollcsalád állandói azonosak (például AF_INET és PF_INET), így bármelyik állandót használhatja.

    A Windows Vista és a Windows operációs rendszerek újabb verzióiban a Family paraméter lehetséges értékei a Ws2def.h fejlécfájlban vannak definiálva. Vegye figyelembe, hogy a Ws2def.h fejlécfájl automatikusan szerepel a Netioapi.h-ban, és soha ne használja közvetlenül a Ws2def.h fájlt.

    A címcsalád esetében jelenleg a következő értékek támogatottak:

    • AF_INET
      Az IPv4-címcsalád. Ha ez az érték meg van adva, ez a függvény a szomszéd IP-címtáblát adja vissza, amely csak IPv4-bejegyzéseket tartalmaz.

    • AF_INET6
      Az IPv6-címcsalád. Ha ez az érték meg van adva, ez a függvény a szomszéd IP-címtáblát adja vissza, amely csak IPv6-bejegyzéseket tartalmaz.

    • AF_UNSPEC
      A címcsalád nincs meghatározva. Ha ez az érték meg van adva, ez a függvény az IPv4- és IPv6-bejegyzéseket tartalmazó szomszéd IP-címtáblát adja vissza.

  • tábla [ki]
    Mutató egy MIB_IPNET_TABLE2 struktúrára, amely a helyi számítógépen található szomszéd IP-címbejegyzések táblázatát tartalmazza.

Visszaadott érték

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

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

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

Érvénytelen paraméter lett átadva a függvénynek. Ez a hiba akkor jelenik meg, ha NULL mutatót ad át a Tábla paraméterben, vagy a Családi paraméter nincs megadva AF_INET, AF_INET6 vagy AF_UNSPEC.

STATUS_NOT_ENOUGH_MEMORY

A művelet végrehajtásához nincs elegendő memóriaerőforrás.

STATUS_NOT_FOUND

A Családi paraméterben megadott szomszéd IP-címbejegyzések nem találhatók.

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 AF_INET a Családi paraméterben van megadva, vagy ha nem található IPv6-verem a helyi számítógépen, és AF_INET6 a Családi paraméterben van megadva. Ez a hiba a Windows azon verzióiban is megjelenik, ahol ez a függvény nem támogatott.

Egyéb

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

Megjegyzések

A GetIpNetTable2 függvény számba adja a szomszédos IP-címeket egy helyi számítógépen, és ezt az információt egy MIB_IPNET_TABLE2 struktúrában adja vissza.

GetIpNetTable2 egy MIB_IPNET_TABLE2 struktúrában lévő szomszéd IP-címbejegyzéseket adja vissza abban a pufferben, amelyekre a tábla paraméter mutat. A MIB_IPNET_TABLE2 struktúra a szomszéd IP-címbejegyzések számát és MIB_IPNET_ROW2 struktúrák tömbét tartalmazza minden szomszéd IP-címbejegyzéshez. Ha ezekre a visszaadott struktúrákra már nincs szükség, az illesztőprogramnak szabadíthatja fel a memóriát FreeMibTablemeghívásával.

Az illesztőprogramnak inicializálnia kell a Családi paramétert AF_INET, AF_INET6 vagy AF_UNSPEC.

Vegye figyelembe, hogy az Tábla paraméter által visszaadott MIB_IPNET_TABLE2 struktúra a NumEntries tag és az Tábla MIB_IPNET_TABLE2 tag első MIB_IPNET_ROW2 tömbbejegyzése közötti igazításhoz használható kitöltést tartalmazhat. A MIB_IPNET_ROW2 tömbbejegyzések között az igazításra szolgáló kitöltés is jelen lehet. Egy MIB_IPNET_ROW2 tömbbejegyzéshez való hozzáférés feltételezi, hogy a kitöltés létezhet.

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

FlushIpNetTable2

FreeMibTable

GetIpNetEntry2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

ResolveIpNetEntry2

SetIpNetEntry2