Share via


SetIpForwardEntry2-Funktion

Die SetIpForwardEntry2-Funktion legt die Eigenschaften eines IP-Routeneintrags auf einem lokalen Computer fest.

Syntax

NETIOAPI_API SetIpForwardEntry2(
  _In_ const MIB_IPFORWARD_ROW2 *Route
);

Parameter

  • Route [in]
    Ein Zeiger auf einen MIB_IPFORWARD_ROW2 Struktureintrag für einen IP-Routeneintrag. Ihr Treiber muss das DestinationPrefix-Mitglied der MIB_IPFORWARD_ROW2 Struktur auf ein gültiges IP-Zielpräfix und eine gültige Familie festlegen, das NextHop-Mitglied von MIB_IPFORWARD_ROW2 auf eine gültige IP-Adresse und Familie festlegen und das InterfaceLuid-Mitglied oder das InterfaceIndex-Mitglied von MIB_IPFORWARD_ROW2 angeben.

Rückgabewert

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

Wenn die Funktion fehlschlägt, gibt SetIpForwardEntry2 einen der folgenden Fehlercodes zurück:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER

Ein ungültiger Parameter wurde an die Funktion übergeben. Dieser Fehler wird zurückgegeben, wenn ein NULL-Zeiger im Parameter Route übergeben wird, das DestinationPrefix-Element der MIB_IPFORWARD_ROW2 Struktur, auf die der Route-Parameter verweist, nicht angegeben wurde, das NextHop-Element der MIB_IPFORWARD_ROW2-Struktur nicht angegeben wurde, oder sowohl InterfaceLuid- als auch InterfaceIndex-Elemente der MIB_IPFORWARD_ROW2 Struktur wurden nicht angegeben.

STATUS_NOT_FOUND

Die angegebene Schnittstelle kann nicht gefunden werden. Dieser Fehler wird zurückgegeben, wenn die Funktion die Vom InterfaceLuid- oder InterfaceIndex-Element der MIB_IPFORWARD_ROW2 Struktur angegebene Netzwerkschnittstelle nicht finden kann, auf die der Parameter Route verweist.

Andere

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

Hinweise

Die SetIpForwardEntry2-Funktion wird verwendet, um die Eigenschaften für einen vorhandenen IP-Routeneintrag auf einem lokalen Computer festzulegen.

Der Treiber muss die folgenden Elemente der MIB_IPFORWARD_ROW2 Struktur initialisieren, auf die der Row-Parameter verweist.

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

  • NextHop
    Auf eine gültige IPv4- oder IPv6-Adresse und -Familie festgelegt.

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

Der routingmetrische Offset, der im Metrischen Element der MIB_IPFORWARD_ROW2 Struktur angegeben ist, auf die der Route-Parameter verweist, um nur einen Teil der vollständigen Routenmetrik darzustellen. Die vollständige Metrik ist eine Kombination dieses Routingmetrikversatzs, der der Schnittstellenmetrik hinzugefügt wird, die im Metrischen Element der MIB_IPINTERFACE_ROW Struktur der zugeordneten Schnittstelle angegeben ist. Ein Treiber kann die Schnittstellenmetrik abrufen, indem die GetIpInterfaceEntry-Funktion aufgerufen wird.

SetIpForwardEntry2 ignoriert die Elemente "Age " und "Origin " der MIB_IPFORWARD_ROW2 Struktur, auf die der Parameter "Row" verweist. Diese Elemente werden vom Netzwerkstapel festgelegt und können nicht mithilfe der SetIpForwardEntry2-Funktion geändert werden.

Die SetIpForwardEntry2-Funktion schlägt fehl, wenn die Member DestinationPrefix und NextHop der MIB_IPFORWARD_ROW2 Struktur, auf die der Parameter Route verweist, nicht mit einem IP-Routeneintrag auf der angegebenen Schnittstelle übereinstimmen.

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

GetIpForwardEntry2

GetIpForwardTable2

GetIpInterfaceEntry

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

NotifyRouteChange2