Sdílet prostřednictvím


GetIpForwardTable2 – funkce

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í.

Požadavky

Cílová platforma

univerzální

Verze

K dispozici v systémech Windows Vista a novějších verzích operačních systémů Windows.

Záhlaví

Netioapi.h (včetně Netioapi.h)

Knihovna

Netio.lib

IRQL

< DISPATCH_LEVEL

Viz také

CreateIpForwardEntry2

DeleteIpForwardEntry2

FreeMibTable

GetBestRoute2

GetIpForwardEntry2

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

NotifyRouteChange2

SetIpForwardEntry2