Sdílet prostřednictvím


GetIpPathTable – funkce

Funkce GetIpPathEntry načte informace o položce cesty IP v místním počítači.

Syntax

NETIOAPI_API GetIpPathTable(
  _In_  ADDRESS_FAMILY    Family,
  _Out_ PMIB_IPPATH_TABLE *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 cest IP, která obsahuje pouze položky IPv4.

    • AF_INET6
      Řada IPv6 adres. Pokud je tato hodnota zadaná, vrátí tato funkce tabulku cest IP, která obsahuje pouze položky IPv6.

    • AF_UNSPEC
      Řada adres není zadaná. Pokud je tato hodnota zadaná, vrátí tato funkce tabulku cest IP, která obsahuje položky IPv4 i IPv6.

  • tabulky [out]
    Ukazatel na strukturu MIB_IPPATH_TABLE, která obsahuje tabulku položek cesty IP v místním počítači.

Návratová hodnota

GetIpPathEntry vrátí STATUS_SUCCESS, pokud je funkce úspěšná.

Pokud funkce selže, GetIpPathEntry 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 cesty 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 GetIpPathTable vytvoří výčet položek cesty IP v místním počítači a vrátí tyto informace ve struktuře MIB_IPPATH_TABLE.

GetIpPathTable vrátí položky cesty IP ve struktuře MIB_IPPATH_TABLE ve vyrovnávací paměti, na kterou odkazuje parametr Table. Struktura MIB_IPPATH_TABLE obsahuje počet položek cesty IP a pole struktur MIB_IPPATH_ROW pro každou položku cesty 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_IPPATH_TABLE, že tabulka parametr odkazuje, může obsahovat odsazení pro zarovnání mezi NumEntries člen a první MIB_IPPATH_ROW položku pole v Tabulka člen struktury MIB_IPPATH_TABLE. Odsazení pro zarovnání může být také mezi položkami pole MIB_IPPATH_ROW. Jakýkoli přístup k položce pole MIB_IPPATH_ROW by měl předpokládat, že odsazení může existovat.

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é

FreeMibTable

FlushIpPathTable

GetIpPathEntry

MIB_IPPATH_ROW

MIB_IPPATH_TABLE