Sdílet prostřednictvím


GetIfStackTable – funkce

Funkce GetIfStackTable načte tabulku položek řádku zásobníku síťového rozhraní, které určují relaci síťových rozhraní v zásobníku rozhraní.

Syntax

NETIOAPI_API GetIfStackTable(
  _Out_ PMIB_IFSTACK_TABLE *Table
);

Parametry

  • tabulky [out]
    Ukazatel na vyrovnávací paměť, která přijímá tabulku položek řádků zásobníku rozhraní ve struktuře MIB_IFSTACK_TABLE.

Návratová hodnota

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

Pokud funkce selže, GetIfStackTable 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.

STATUS_NOT_ENOUGH_MEMORY

K dokončení operace je k dispozici nedostatek prostředků paměti.

STATUS_NOT_FOUND

Nebyly nalezeny žádné položky zásobníku rozhraní.

Jiné

Pomocí funkce FormatMessage získejte řetězec zprávy pro vrácenou chybu.

Poznámky

Funkce GetIfStackTable vytvoří výčet fyzických a logických síťových rozhraní v zásobníku rozhraní v místním počítači a vrátí tyto informace ve struktuře MIB_IFSTACK_TABLE.

Položky zásobníku rozhraní jsou vráceny ve struktuře MIB_IFSTACK_TABLE ve vyrovnávací paměti, na kterou odkazuje Table parametru. Struktura MIB_IFSTACK_TABLE obsahuje počet položek zásobníku rozhraní a pole MIB_IFSTACK_ROW struktur pro každou položku zásobníku rozhraní.

Vztah mezi rozhraními v zásobníku rozhraní je, že rozhraní s indexem v HigherLayerInterfaceIndex člen struktury MIB_IFSTACK_ROW je bezprostředně nad rozhraním s indexem v LowerLayerInterfaceIndex člen struktury MIB_IFSTACK_ROW.

Paměť je přidělena funkcí GetIfStackTable pro strukturu MIB_IFSTACK_TABLE a položky MIB_IFSTACK_ROW v této struktuře. Pokud tyto vrácené struktury již nejsou požadovány, ovladač by měl uvolnit paměť voláním FreeMibTable.

Všimněte si, že vrácená MIB_IFSTACK_TABLE struktura, kterou tabulka odkazuje, může obsahovat odsazení pro zarovnání mezi členy NumEntries a první položku pole MIB_IFSTACK_ROW v Tabulce člen struktury MIB_IFSTACK_TABLE. Odsazení pro zarovnání může být také mezi položkami pole MIB_IFSTACK_ROW. Jakýkoli přístup k položce pole MIB_IFSTACK_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

GetIfEntry2

GetIfTable2

GetInvertedIfStackTable

GetIpInterfaceEntry

InitializeIpInterfaceEntry

MIB_IF_ROW2

MIB_IF_TABLE2

MIB_IFSTACK_ROW

MIB_IFSTACK_TABLE

MIB_INVERTEDIFSTACK_ROW

MIB_INVERTEDIFSTACK_TABLE

MIB_IPINTERFACE_ROW

NotifyIpInterfaceChange

SetIpInterfaceEntry