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 GetIpInterfaceTable načte položky rozhraní IP v místním počítači.
Syntax
NETIOAPI_API GetIpInterfaceTable(
_In_ ADDRESS_FAMILY Family,
_Out_ PMIB_IPINTERFACE_TABLE *Table
);
Parametry
rodinný [in]
Řada IP rozhraní adres, která se mají 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.AF_INET6
Řada IPv6 adres.AF_UNSPEC
Řada adres není zadaná. Pokud je tato hodnota zadaná, vrátí funkce GetIpInterfaceTable tabulku rozhraní IP, která obsahuje položky IPv4 i IPv6.
tabulky [out]
Ukazatel na vyrovnávací paměť, která přijímá tabulku položek rozhraní IP ve struktuře MIB_IPINTERFACE_TABLE.
Návratová hodnota
GetIpInterfaceTable vrátí STATUS_SUCCESS, pokud bude funkce úspěšná.
Pokud funkce selže, GetIpInterfaceTable 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 rozhraní IP, jak je uvedeno v parametru Family. |
| STATUS_NOT_SUPPORTED | Funkce není podporována. Tato chyba se vrátí v případě, že v místním počítači není nakonfigurovaný přenos PROTOKOLU IP zadaný v parametru Adresa. 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 GetIpInterfaceTable vytvoří výčet rozhraní IP v místním počítači a vrátí tyto informace ve struktuře MIB_IPINTERFACE_TABLE.
GetIpInterfaceTable vrátí položky rozhraní IP ve struktuře MIB_IPINTERFACE_TABLE ve vyrovnávací paměti, na kterou odkazuje parametr Table. Struktura MIB_IPINTERFACE_TABLE obsahuje počet položek rozhraní IP a pole MIB_IPINTERFACE_ROW struktur pro každou položku rozhraní IP. Pokud už tyto vrácené struktury nejsou potřeba, ovladač by měl uvolnit paměť voláním funkce FreeMibTable.
Ovladač musí inicializovat parametr Family na AF_INET nebo AF_INET6.
Všimněte si, že vrácená MIB_IPINTERFACE_TABLE struktura, že parametr tabulka odkazuje na zarovnání mezi NumEntries člen a první MIB_IPINTERFACE_ROW položku pole v Tabulka člen struktury MIB_IPINTERFACE_TABLE. Mezi položkami pole MIB_IPINTERFACE_ROW může být také odsazení zarovnání. Jakýkoli přístup k položce pole MIB_IPINTERFACE_ROW by měl předpokládat, že odsazení může existovat.