Freigeben über


GetIpForwardTable2-Funktion (netioapi.h)

Die GetIpForwardTable2-Funktion ruft die IP-Routeneinträge auf dem lokalen Computer ab.

Syntax

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIpForwardTable2(
  [in]  ADDRESS_FAMILY        Family,
  [out] PMIB_IPFORWARD_TABLE2 *Table
);

Parameter

[in] Family

Die abzurufende Adressfamilie.

Mögliche Werte für die Adressfamilie sind in der Winsock2.h-Headerdatei aufgeführt. Beachten Sie, dass die Werte für die AF_ Adressfamilie und PF_ Protokollfamilienkonstanten identisch sind (z. B. AF_INET und PF_INET), sodass beide Konstanten verwendet werden können.

Auf der für Windows Vista und höher veröffentlichten Windows SDK wurde die organization der Headerdateien geändert, und mögliche Werte für dieses Element werden in der Ws2def.h-Headerdatei definiert. Beachten Sie, dass die Ws2def.h-Headerdatei automatisch in Winsock2.h enthalten ist und niemals direkt verwendet werden sollte.

Die derzeit unterstützten Werte sind AF_INET, AF_INET6 und AF_UNSPEC.

Wert Bedeutung
AF_UNSPEC
0
Die Adressfamilie ist nicht angegeben. Wenn dieser Parameter angegeben ist, gibt diese Funktion die IP-Routingtabelle zurück, die sowohl IPv4- als auch IPv6-Einträge enthält.
AF_INET
2
Die IPv4-Adressfamilie (Internet Protocol Version 4). Wenn dieser Parameter angegeben ist, gibt diese Funktion die IP-Routingtabelle zurück, die nur IPv4-Einträge enthält.
AF_INET6
23
Die IPv6-Adressfamilie (Internet Protocol Version 6). Wenn dieser Parameter angegeben ist, gibt diese Funktion die IP-Routingtabelle zurück, die nur IPv6-Einträge enthält.

[out] Table

Ein Zeiger auf eine MIB_IPFORWARD_TABLE2-Struktur , die eine Tabelle mit IP-Routeneinträgen auf dem lokalen Computer enthält.

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 im Table-Parameter ein NULL-Zeiger übergeben wird oder der Family-Parameter nicht als AF_INET, AF_INET6 oder AF_UNSPEC angegeben wurde.
ERROR_NOT_ENOUGH_MEMORY
Es sind unzureichende Arbeitsspeicherressourcen verfügbar, um den Vorgang abzuschließen.
ERROR_NOT_FOUND
Es wurden keine IP-Routeneinträge gefunden, wie im Family-Parameter angegeben.
ERROR_NOT_SUPPORTED
Die Anforderung wird nicht unterstützt. Dieser Fehler wird zurückgegeben, wenn sich kein IPv4-Stapel auf dem lokalen Computer befindet und AF_INET im Family-Parameter angegeben wurde. Dieser Fehler wird auch zurückgegeben, wenn sich kein IPv6-Stapel auf dem lokalen Computer befindet und AF_INET6 im Family-Parameter angegeben wurde. Dieser Fehler wird auch für Versionen von Windows zurückgegeben, bei denen diese Funktion nicht unterstützt wird.
Andere
Verwenden Sie FormatMessage , um die Meldungszeichenfolge für den zurückgegebenen Fehler abzurufen.

Hinweise

Die GetIpForwardTable2-Funktion ist unter Windows Vista und höher definiert.

The
Die GetIpForwardTable2-Funktion listet die IP-Routeneinträge auf einem lokalen System auf und gibt diese Informationen in einer MIB_IPFORWARD_TABLE2-Struktur zurück.

Die IP-Routeneinträge werden in einer MIB_IPFORWARD_TABLE2-Struktur im Puffer zurückgegeben, auf den der Table-Parameter verweist. Die MIB_IPFORWARD_TABLE2-Struktur enthält die Anzahl der IP-Routeneinträge und ein Array von MIB_IPFORWARD_ROW2 Strukturen für jeden IP-Routeneintrag. Wenn diese zurückgegebenen Strukturen nicht mehr benötigt werden, geben Sie den Arbeitsspeicher durch Aufrufen der FreeMibTable frei.

Der Family-Parameter muss entweder für AF_INET, AF_INET6 oder AF_UNSPEC initialisiert werden.

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

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

CreateIpForwardEntry2

DeleteIpForwardEntry2

FreeMibTable

GetBestRoute2

GetIpForwardEntry2

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

NotifyRouteChange2

SetIpForwardEntry2