Freigeben über


GetIfStackTable-Funktion

Die GetIfStackTable-Funktion ruft eine Tabelle mit Zeileneinträgen der Netzwerkschnittstellen ab, die die Beziehung der Netzwerkschnittstellen auf einem Schnittstellenstapel angeben.

Syntax

NETIOAPI_API GetIfStackTable(
  _Out_ PMIB_IFSTACK_TABLE *Table
);

Parameter

  • Tabelle [out]
    Ein Zeiger auf einen Puffer, der die Tabelle der Schnittstellenstapelzeileneinträge in einer MIB_IFSTACK_TABLE-Struktur empfängt.

Rückgabewert

GetIfStackTable gibt STATUS_SUCCESS zurück, wenn die Funktion erfolgreich ist.

Wenn die Funktion fehlschlägt, gibt GetIfStackTable einen der folgenden Fehlercodes zurück:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER

Es wurde ein ungültiger Parameter an die Funktion übergeben. Dieser Fehler wird zurückgegeben, wenn ein NULL-Zeiger im Table-Parameter übergeben wird.

STATUS_NOT_ENOUGH_MEMORY

Für den Vorgang stehen nicht genügend Arbeitsspeicherressourcen zur Verfügung.

STATUS_NOT_FOUND

Es wurden keine Schnittstellenstapeleinträge gefunden.

Andere

Verwenden Sie die FormatMessage-Funktion , um die Nachrichtenzeichenfolge für den zurückgegebenen Fehler abzurufen.

Bemerkungen

Die GetIfStackTable-Funktion listet die physischen und logischen Netzwerkschnittstellen auf einem Schnittstellenstapel auf einem lokalen Computer auf und gibt diese Informationen in einer MIB_IFSTACK_TABLE-Struktur zurück.

Schnittstellenstapeleinträge werden in einer MIB_IFSTACK_TABLE Struktur im Puffer zurückgegeben, auf den der Table-Parameter verweist. Die MIB_IFSTACK_TABLE-Struktur enthält eine Schnittstellenstapeleintragsanzahl und ein Array von MIB_IFSTACK_ROW Strukturen für jeden Schnittstellenstapeleintrag.

Die Beziehung zwischen den Schnittstellen im Schnittstellenstapel besteht darin, dass die Schnittstelle mit index im Member HigherLayerInterfaceIndex der MIB_IFSTACK_ROW-Struktur direkt über der Schnittstelle mit index im LowerLayerInterfaceIndex-Element der MIB_IFSTACK_ROW-Struktur liegt.

Arbeitsspeicher wird von der GetIfStackTable-Funktion für die MIB_IFSTACK_TABLE Struktur und die MIB_IFSTACK_ROW Einträge in dieser Struktur zugewiesen. Wenn diese zurückgegebenen Strukturen nicht mehr erforderlich sind, sollte Ihr Treiber den Speicher durch Aufrufen von FreeMibTable freigeben.

Beachten Sie, dass die zurückgegebene MIB_IFSTACK_TABLE Struktur, auf die der Table-Parameter verweist, möglicherweise eine Auffüllung für die Ausrichtung zwischen dem NumEntries-Element und dem ersten MIB_IFSTACK_ROW Arrayeintrag im Table-Member der MIB_IFSTACK_TABLE-Struktur enthalten kann. Zwischen den MIB_IFSTACK_ROW Arrayeinträgen kann auch ein Abstand für die Ausrichtung vorhanden sein. Bei jedem Zugriff auf einen MIB_IFSTACK_ROW Arrayeintrag sollte davon ausgegangen werden, dass eine Auffüllung vorhanden ist.

Anforderungen

Zielplattform

Universell

Version

Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.

Header

Netioapi.h (einschließlich Netioapi.h)

Bibliothek

Netio.lib

IRQL

< DISPATCH_LEVEL

Weitere Informationen

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