Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Funkce GetIpNetTable2 načte tabulku sousedů PROTOKOLU IP na místním počítači.
Syntax
NETIOAPI_API GetIpNetTable2(
_In_ ADDRESS_FAMILY Family,
_Out_ PMIB_IPNET_TABLE2 *Table
);
Parametry
rodinný [in]
Rodina adres, která se má načíst.Možné hodnoty pro řadu adres jsou uvedeny v souboru záhlaví Winsock2.h. Všimněte si, že hodnoty pro řadu AF_ adres a konstanty rodiny protokolu PF_ jsou stejné (například AF_INET a PF_INET), takže můžete použít kteroukoli konstantu.
V systému Windows Vista a novějších verzích operačních systémů Windows jsou možné hodnoty parametru Family definovány v souboru hlaviček Ws2def.h. Všimněte si, že soubor hlavičky Ws2def.h je automaticky zahrnutý v Netioapi.h a nikdy byste neměli používat Ws2def.h přímo.
Pro řadu adres se v současné době podporují následující hodnoty:
AF_INET
Řada adres IPv4. Pokud je tato hodnota zadaná, vrátí tato funkce tabulku sousedníCH IP adres, která obsahuje pouze položky IPv4.AF_INET6
Řada IPv6 adres. Pokud je tato hodnota zadaná, vrátí tato funkce tabulku sousedníCH IP adres, která obsahuje pouze položky IPv6.AF_UNSPEC
Řada adres není zadaná. Pokud je tato hodnota zadaná, vrátí tato funkce tabulku sousedníCH IP adres, která obsahuje položky IPv4 i IPv6.
tabulky [out]
Ukazatel na MIB_IPNET_TABLE2 strukturu, která obsahuje tabulku položek IP adres souseda v místním počítači.
Návratová hodnota
GetIpNetTable2 vrátí STATUS_SUCCESS, pokud je funkce úspěšná.
Pokud funkce selže, GetIpNetTable2 vrátí jeden z následujících kódů chyb:
| Návratový kód | Popis |
|---|---|
| STATUS_INVALID_PARAMETER | Funkci byla předána neplatná hodnota parametru. Tato chyba se vrátí , pokud je v parametru Table předán ukazatel NULL nebo parametr Family nebyl zadán jako AF_INET, AF_INET6 nebo AF_UNSPEC. |
| STATUS_NOT_ENOUGH_MEMORY | K dokončení operace je k dispozici nedostatek prostředků paměti. |
| STATUS_NOT_FOUND | Nebyly nalezeny žádné položky IP adresy souseda, jak je uvedeno v parametru Family. |
| STATUS_NOT_SUPPORTED | Požadavek není podporován. Tato chyba se vrátí, pokud se na místním počítači nenachází žádný zásobník IPv4 a AF_INET byl zadán v parametru Family nebo pokud se v místním počítači nenachází zásobník IPv6 a AF_INET6 byl zadán v parametru Family. Tato chyba se také vrátí ve verzích Windows, kde tato funkce není podporovaná. |
| Jiné | Pomocí funkce FormatMessage získejte řetězec zprávy pro vrácenou chybu. |
Poznámky
Funkce GetIpNetTable2 vytvoří výčet IP adres sousedů v místním počítači a vrátí tyto informace ve struktuře MIB_IPNET_TABLE2.
GetIpNetTable2 vrátí položky IP adresy souseda ve struktuře MIB_IPNET_TABLE2 ve vyrovnávací paměti, na kterou odkazuje parametr Table. Struktura MIB_IPNET_TABLE2 obsahuje počet položek IP adres souseda a pole MIB_IPNET_ROW2 struktur pro každou položku IP adresy souseda. Pokud tyto vrácené struktury již nejsou požadovány, ovladač by měl uvolnit paměť voláním FreeMibTable.
Ovladač musí inicializovat parametr Family na AF_INET, AF_INET6 nebo AF_UNSPEC.
Všimněte si, že vrácená struktura MIB_IPNET_TABLE2, že parametr tabulka odkazuje, může obsahovat odsazení pro zarovnání mezi NumEntries člen a první položku pole MIB_IPNET_ROW2 v tabulce tabulka člen struktury MIB_IPNET_TABLE2. Odsazení pro zarovnání může být také mezi položkami pole MIB_IPNET_ROW2. Jakýkoli přístup k položce pole MIB_IPNET_ROW2 by měl předpokládat, že odsazení může existovat.