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 |