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 GetIpForwardTable2 načte položky směrování PROTOKOLU IP v místním počítači.
Syntax
NETIOAPI_API GetIpForwardTable2(
_In_ ADDRESS_FAMILY Family,
_Out_ PMIB_IPFORWARD_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 směrovací tabulku PROTOKOLU IP, která obsahuje pouze položky IPv4.AF_INET6
Řada IPv6 adres. Pokud je tato hodnota zadaná, vrátí tato funkce směrovací tabulku PROTOKOLU IP, která obsahuje pouze položky IPv6.AF_UNSPEC
Řada adres není zadaná. Pokud je tato hodnota zadaná, vrátí tato funkce směrovací tabulku PROTOKOLU IP, která obsahuje položky IPv4 i IPv6.
tabulky [out]
Ukazatel na MIB_IPFORWARD_TABLE2 strukturu, která obsahuje tabulku položek směrování PROTOKOLU IP v místním počítači.
Návratová hodnota
GetIpForwardTable2 vrátí STATUS_SUCCESS, pokud je funkce úspěšná.
Pokud funkce selže, GetIpForwardTable2 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 směrování IP, 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 GetIpForwardTable2 vytvoří výčet položek směrování PROTOKOLU IP v místním počítači a vrátí tyto informace ve struktuře MIB_IPFORWARD_TABLE2.
Položky směrování PROTOKOLU IP se vrátí ve struktuře MIB_IPFORWARD_TABLE2 ve vyrovnávací paměti, na kterou odkazuje parametr Table. Struktura MIB_IPFORWARD_TABLE2 obsahuje počet položek trasy PROTOKOLU IP a pole MIB_IPFORWARD_ROW2 struktur pro každou položku trasy IP. 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_IPFORWARD_TABLE2, že tabulka parametr odkazuje na zarovnání mezi NumEntries člen a první MIB_IPFORWARD_ROW2 položku pole v tabulce tabulka člen struktury MIB_IPFORWARD_TABLE2. Odsazení pro zarovnání může být také mezi položkami pole MIB_IPFORWARD_ROW2. Jakýkoli přístup k položce pole MIB_IPFORWARD_ROW2 by měl předpokládat, že může existovat odsazení.