GetIfTable2Ex-Funktion (netioapi.h)

Die GetIfTable2Ex-Funktion ruft die MIB-II-Schnittstellentabelle ab.

Syntax

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIfTable2Ex(
  [in]  MIB_IF_TABLE_LEVEL Level,
  [out] PMIB_IF_TABLE2     *Table
);

Parameter

[in] Level

Die Ebene der abzurufenden Schnittstelleninformationen. Dieser Parameter kann einer der Werte aus dem MIB_IF_TABLE_LEVEL Enumerationstyp sein, der in der Headerdatei Netioapi.h definiert ist.

Wert Bedeutung
MibIfTableNormal
Die Werte der Statistiken und des Zustands, die in Membern der MIB_IF_ROW2-Struktur in der MIB_IF_TABLE2 Struktur zurückgegeben werden, auf die der Table-Parameter verweist, werden vom oberen Rand des Filterstapels zurückgegeben, wenn dieser Parameter angegeben wird.
MibIfTableRaw
Die Werte der Statistiken und des Zustands, die in Membern der MIB_IF_ROW2-Struktur in der MIB_IF_TABLE2 Struktur zurückgegeben werden, auf die der Table-Parameter verweist, werden direkt für die abgefragte Schnittstelle zurückgegeben.

[out] Table

Ein Zeiger auf einen Puffer, der die Schnittstellentabelle in einer MIB_IF_TABLE2-Struktur empfängt.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert NO_ERROR.

Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden Fehlercodes.

Rückgabecode Beschreibung
ERROR_INVALID_PARAMETER
Es wurde ein ungültiger Parameter an die Funktion übergeben. Dieser Fehler wird zurückgegeben, wenn ein ungültiger Wert im Level-Parameter übergeben wurde.
ERROR_NOT_ENOUGH_MEMORY
Für den Vorgang stehen nicht genügend Arbeitsspeicherressourcen zur Verfügung.
Andere
Verwenden Sie FormatMessage , um die Nachrichtenzeichenfolge für den zurückgegebenen Fehler abzurufen.

Hinweise

The
Die GetIfTable2Ex-Funktion listet die logischen und physischen Schnittstellen eines lokalen Systems auf und gibt diese Informationen in einer MIB_IF_TABLE2-Struktur zurück. GetIfTable2Ex ist eine erweiterte Version der GetIfTable-Funktion , mit der die Ebene der abzurufenden Schnittstelleninformationen ausgewählt werden kann.

Eine ähnliche GetIfTable2-Funktion kann auch zum Abrufen von Schnittstellen verwendet werden. die Angabe der zurückzugebenden Schnittstellenebene ist jedoch nicht zulässig. Durch das Aufrufen der GetIfTable2Ex-Funktion , bei der der Level-Parameter auf MibIfTableNormal festgelegt ist, werden die gleichen Ergebnisse wie das Aufrufen der GetIfTable2-Funktion abgerufen.

Schnittstellen werden in einer MIB_IF_TABLE2 Struktur im Puffer zurückgegeben, 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. Der Arbeitsspeicher wird von der GetIfTable2-Funktion für die MIB_IF_TABLE2-Struktur und die MIB_IF_ROW2 Einträge in dieser Struktur zugewiesen. Wenn diese zurückgegebenen Strukturen nicht mehr erforderlich sind, geben Sie den Speicher frei, indem Sie die FreeMibTable aufrufen.

Alle Schnittstellen, einschließlich NDIS-Zwischentreiberschnittstellen und NDIS-Filtertreiberschnittstellen, werden für einen der möglichen Werte für den Parameter Level 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 für die Schnittstelle zwischen Protokolltreibern der oberen Ebene und NDIS-Miniporttreibern installiert werden. Auf dem NDIS-Zwischentreiber kann ein NDIS-Filtertreiber (LWF) angefügt werden. Angenommen, die NIC 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 am oberen Rand des Filterstapels gemeldet, d. h. MediaConnectStateDisconnected . Wenn die Schnittstelle abgefragt wird, wobei der Level-Parameter auf MibIfTableRaw festgelegt ist, wird der Zustand auf Schnittstellenebene direkt zurückgegeben, d. h. MediaConnectStateConnected .

Beachten Sie, dass die zurückgegebene MIB_IF_TABLE2 Struktur, auf die vom Table-Parameter verwiesen wird, eine Fü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 aufgefüllt werden kann.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile netioapi.h (include Iphlpapi.h)
Bibliothek Iphlpapi.lib
DLL Iphlpapi.dll

Weitere Informationen

FreeMibTable

GetIfTable

GetIfTable2

IP-Hilfsfunktionsreferenz

MIB_IF_ROW2

MIB_IF_TABLE2