Freigeben über


GetIfTable2Ex-Funktion

Die GetIfTable2Ex-Funktion ruft die MIB-II-Schnittstellentabelle ab, wenn eine Ebene der abzurufenden Schnittstelleninformationen angegeben ist.

Syntax

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

Parameter

  • Ebene [in]
    Die Ebene der abzurufenden Schnittstelleninformationen. Dieser Parameter kann einer der Werte aus der MIB_IF_TABLE_LEVEL-Enumeration sein.

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

Rückgabewert

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

Wenn die Funktion fehlschlägt, gibt GetIfTable2Ex 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 im Level-Parameter ein unzulässiger Wert übergeben wurde.

STATUS_NOT_ENOUGH_MEMORY

Es sind unzureichende Arbeitsspeicherressourcen verfügbar, um den Vorgang abzuschließen.

Andere

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

Bemerkungen

Die GetIfTable2Ex-Funktion listet die logischen und physischen Schnittstellen auf einem lokalen Computer auf und gibt diese Informationen in einer MIB_IF_TABLE2-Struktur zurück.

Ihr Treiber kann eine ähnliche Funktion( GetIfTable2) zum Abrufen von Schnittstellen verwenden, aber GetIfTable2 ermöglicht es Ihrem Treiber nicht, die zurückzugebende Schnittstellenebene anzugeben. Ein Aufruf der GetIfTable2Ex-Funktion , bei der der Level-Parameter auf MibIfTableNormal festgelegt ist, ruft dieselben Ergebnisse ab wie der Aufruf der GetIfTable2-Funktion .

GetIfTable2Ex gibt Schnittstellen in einer MIB_IF_TABLE2-Struktur im Puffer zurück, auf den der Table-Parameter verweist. Die MIB_IF_TABLE2-Struktur enthält eine Schnittstellenanzahl und ein Array von MIB_IF_ROW2 Strukturen für jede Schnittstelle. GetIfTable2 ordnet mmory für die MIB_IF_TABLE2-Struktur und die MIB_IF_ROW2 Einträge in dieser Struktur zu. Wenn diese zurückgegebenen Strukturen nicht mehr benötigt werden, sollte Ihr Treiber den Arbeitsspeicher durch Aufrufen von FreeMibTable freigeben.

Alle Schnittstellen, einschließlich NDIS-Zwischentreiberschnittstellen und NDIS-Filtertreiberschnittstellen, werden für einen der möglichen Werte für den Level-Parameter zurückgegeben. Die Einstellung für den Level-Parameter wirkt sich darauf aus, wie Statistiken und Zustandsmember der MIB_IF_ROW2-Struktur in der MIB_IF_TABLE2-Struktur zurückgegeben werden, auf die der Table-Parameter für die Schnittstelle verweist. Beispielsweise verfügt eine Netzwerkschnittstelle Karte (NIC) über einen NDIS-Miniporttreiber. Ein NDIS-Zwischentreiber kann installiert werden, um eine Schnittstelle zwischen Protokolltreibern der oberen Ebene und NDIS-Miniporttreibern herzustellen. Ein NDIS-Filtertreiber kann zusätzlich zum NDIS-Zwischentreiber angefügt werden. Angenommen, die Netzwerkkarte meldet das MediaConnectState-Element der MIB_IF_ROW2-Struktur als MediaConnectStateConnected, aber der NDIS-Filtertreiber ändert den Zustand und meldet den Zustand als MediaConnectStateDisconnected. Wenn die Schnittstelleninformationen abgefragt werden, wobei der Level-Parameter auf MibIfTableNormal festgelegt ist, wird der Zustand oben im Filterstapel (MediaConnectStateDisconnected) gemeldet. Wenn die Schnittstelle abgefragt wird, wobei der Level-Parameter auf MibIfTableRaw festgelegt ist, wird der Zustand auf Schnittstellenebene (MediaConnectStateConnected) direkt zurückgegeben.

Beachten Sie, dass die zurückgegebene MIB_IF_TABLE2 Struktur, auf die der Table-Parameter verweist, möglicherweise eine Auffüllung für die Ausrichtung zwischen dem NumEntries-Element und dem ersten MIB_IF_ROW2 Arrayeintrag im Table-Element der MIB_IF_TABLE2-Struktur enthalten kann. Zwischen den MIB_IF_ROW2 Arrayeinträgen kann auch ein Abstand für die Ausrichtung vorhanden sein. Bei jedem Zugriff auf einen MIB_IF_ROW2 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 (netioapi.h einschließen)

Bibliothek

Netio.lib

IRQL

< DISPATCH_LEVEL

Weitere Informationen

FreeMibTable

GetIfTable2

MIB_IF_TABLE_LEVEL

MIB_IF_TABLE2

MIB_IF_ROW2