Sdílet prostřednictvím


GetIfTable2Ex – funkce

Funkce GetIfTable2Ex načte tabulku rozhraní MIB-II vzhledem k úrovni informací o rozhraní, které se mají načíst.

Syntax

NETIOAPI_API GetIfTable2Ex(
  _In_  MIB_IF_TABLE_LEVEL Level,
  _Out_ PMIB_IF_TABLE2     *Table
);

Parametry

  • úrovně [in]
    Úroveň informací o rozhraní, které se mají načíst. Tento parametr může být jednou z hodnot z výčtu MIB_IF_TABLE_LEVEL.

  • tabulky [out]
    Ukazatel na vyrovnávací paměť, která přijímá tabulku rozhraní ve struktuře MIB_IF_TABLE2.

Návratová hodnota

GetIfTable2Ex vrátí STATUS_SUCCESS, pokud bude funkce úspěšná.

Pokud funkce selže, GetIfTable2Ex 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 byla v parametru úrovně předána neplatná hodnota.

STATUS_NOT_ENOUGH_MEMORY

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

Jiné

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

Poznámky

Funkce GetIfTable2Ex vytvoří výčet logických a fyzických rozhraní v místním počítači a vrátí tyto informace v MIB_IF_TABLE2 struktuře.

Ovladač může použít podobnou funkci, GetIfTable2, k načtení rozhraní, ale GetIfTable2 neumožňuje ovladači určit úroveň rozhraní, která se mají vrátit. Volání funkce GetIfTable2Ex s parametrem Level nastaveným na MibIfTableNormal načte stejné výsledky jako volání funkce GetIfTable2.

GetIfTable2Ex vrací rozhraní ve struktuře MIB_IF_TABLE2 ve vyrovnávací paměti, na kterou odkazuje parametr Table. Struktura MIB_IF_TABLE2 obsahuje počet rozhraní a pole MIB_IF_ROW2 struktur pro každé rozhraní. GetIfTable2 přiděluje mmory pro strukturu MIB_IF_TABLE2 a položky MIB_IF_ROW2 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šechna rozhraní, včetně rozhraní zprostředkujících ovladačů NDIS a rozhraní ovladačů filtru NDIS, se vrátí pro některou z možných hodnot pro parametr Level. Nastavení parametru Level má vliv na to, jak jsou vráceny statistiky a stavové členy struktury MIB_IF_ROW2 ve struktuře MIB_IF_TABLE2, na kterou odkazuje parametr Table rozhraní. Například síťová karta (NIC) má ovladač miniportu NDIS. Dočasný ovladač NDIS lze nainstalovat do rozhraní mezi ovladači protokolu vyšší úrovně a ovladači miniportu NDIS. ovladač filtru NDIS lze připojit nad zprostředkující ovladač NDIS. Předpokládejme, že síťová karta hlásí MediaConnectState člen struktury MIB_IF_ROW2 jako MediaConnectStateConnected, ale ovladač filtru NDIS upravuje stav a hlásí stav jako MediaConnectStateDisconnected. Při dotazování informací o rozhraní s parametrem Level nastaveným na MibIfTableNormalje hlášen stav v horní části zásobníku filtru (MediaConnectStateDisconnected). Při dotazování rozhraní s parametrem Level nastaveným na MibIfTableRawse vrátí stav na úrovni rozhraní přímo (MediaConnectStateConnected).

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

GetIfTable2

MIB_IF_TABLE_LEVEL

MIB_IF_TABLE2

MIB_IF_ROW2