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.
[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 |
---|---|
|
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. |
|
Es sind unzureichende Arbeitsspeicherressourcen verfügbar, um den Vorgang abzuschließen. |
|
Es wurden keine IP-Routeneinträge gefunden, wie im Family-Parameter angegeben. |
|
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. |
|
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 |