Freigeben über


GetIpForwardEntry2-Funktion

Die GetIpForwardEntry2-Funktion ruft Informationen für einen IP-Routeneintrag auf einem lokalen Computer ab.

Syntax

NETIOAPI_API GetIpForwardEntry2(
  _Inout_ PMIB_IPFORWARD_ROW2 Row
);

Parameter

  • Zeile [ein, ausgehend]
    Ein Zeiger auf einen MIB_IPFORWARD_ROW2-Struktureintrag für einen IP-Routeneintrag. Bei erfolgreicher Rückgabe wird diese Struktur mit den Eigenschaften für den IP-Routeneintrag aktualisiert.

Rückgabewert

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

Wenn die Funktion fehlschlägt, gibt GetIpForwardEntry2 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 eine der folgenden Situationen auftritt:

  • Im Row-Parameter wird ein NULL-Zeiger übergeben.

  • Das DestinationPrefix-Element der MIB_IPFORWARD_ROW2-Struktur , auf die der Row-Parameter verweist, wurde nicht angegeben.

  • Das NextHop-Element der MIB_IPFORWARD_ROW2-Struktur wurde nicht angegeben.

  • Sowohl InterfaceLuid - als auch InterfaceIndex-Member der MIB_IPFORWARD_ROW2-Struktur wurden nicht angegeben.

  • Das PreferredLifetime-Element der MIB_IPFORWARD_ROW2-Struktur ist größer als das ValidLifetime-Element .

  • Das SitePrefixLength-Element der MIB_IPFORWARD_ROW2-Struktur ist größer als die Präfixlänge, die vom DestinationPrefix-Element angegeben wird.

STATUS_NOT_FOUND

Die angegebene Schnittstelle konnte nicht gefunden werden. Dieser Fehler wird zurückgegeben, wenn die Funktion die Netzwerkschnittstelle nicht finden kann, die vom InterfaceLuid - oder InterfaceIndex-Member der MIB_IPFORWARD_ROW2 Struktur angegeben wird, auf die der Row-Parameter verweist.

STATUS_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 in der Adressfamilie im DestinationPrefix-Element der MIB_IPFORWARD_ROW2-Struktur angegeben wurde, auf die der Row-Parameter verweist, oder wenn sich kein IPv6-Stapel auf dem lokalen Computer befindet und AF_INET6 für die Adressfamilie im DestinationPrefix-Element angegeben wurde.

Andere

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

Bemerkungen

Die GetIpForwardEntry2-Funktion wird verwendet, um einen MIB_IPFORWARD_ROW2-Struktureintrag abzurufen.

Bei der Eingabe muss der Treiber die folgenden Member der MIB_IPFORWARD_ROW2 Struktur initialisieren, auf die der Row-Parameter verweist.

  • DestinationPrefix
    Legen Sie auf ein gültiges IPv4- oder IPv6-Adresspräfix und eine gültige IPv6-Adressfamilie fest.

  • NextHop
    Legen Sie auf eine gültige IPv4- oder IPv6-Adresse und -Familie fest.

  • InterfaceLuid oder InterfaceIndex
    Diese Member werden in der zuvor aufgeführten Reihenfolge verwendet. Wenn Also InterfaceLuid angegeben ist, wird dieser Member verwendet, um die Schnittstelle zu bestimmen. Wenn kein Wert für das InterfaceLuid-Element festgelegt wurde (der Wert dieses Members wurde auf 0 festgelegt), wird als Nächstes das InterfaceIndex-Element verwendet, um die Schnittstelle zu bestimmen.

Wenn der Aufruf erfolgreich ist, ruft GetIpForwardEntry2 bei der Ausgabe die anderen Eigenschaften für den IP-Routeneintrag ab und füllt die MIB_IPFORWARD_ROW2 Struktur aus, auf die der Row-Parameter verweist.

Der Routenmetrikoffset, der im Metrikelement der MIB_IPFORWARD_ROW2-Struktur angegeben ist, auf die der Row-Parameter zeigt, stellt nur einen Teil der vollständigen Routenmetrik dar. Die vollständige Metrik ist eine Kombination dieser Routenmetrik, die der Schnittstellenmetrik hinzugefügt wird, die im Metrikelement der MIB_IPINTERFACE_ROW-Struktur der zugeordneten Schnittstelle angegeben ist. Ein Treiber kann die Schnittstellenmetrik abrufen, indem er die GetIpInterfaceEntry-Funktion aufruft .

Ihr Treiber kann die GetIpForwardTable2-Funktion aufrufen, um die IP-Routeneinträge auf einem lokalen Computer aufzulisten.

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

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetBestRoute2

GetIpForwardTable2

GetIpInterfaceEntry

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

NotifyRouteChange2

SetIpForwardEntry2