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