DeleteIpForwardEntry2-Funktion (netioapi.h)

Die DeleteIpForwardEntry2-Funktion löscht einen IP-Routeneintrag auf dem lokalen Computer.

Syntax

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API DeleteIpForwardEntry2(
  [in] const MIB_IPFORWARD_ROW2 *Row
);

Parameter

[in] Row

Ein Zeiger auf einen MIB_IPFORWARD_ROW2-Struktureintrag für einen IP-Routeneintrag. Bei erfolgreicher Rückgabe wird dieser Eintrag gelöscht.

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_ACCESS_DENIED
Zugriff verweigert.“ Dieser Fehler wird unter folgenden Bedingungen zurückgegeben: Dem Benutzer fehlen die erforderlichen Administratorrechte auf dem lokalen Computer, oder die Anwendung wird nicht in einer erweiterten Shell als integrierter Administrator (RunAs-Administrator) ausgeführt.
ERROR_INVALID_PARAMETER
Es wurde ein ungültiger Parameter an die Funktion übergeben. Dieser Fehler wird zurückgegeben, wenn im Row-Parameter ein NULL-Zeiger übergeben wird, das DestinationPrefix-Element des MIB_IPFORWARD_ROW2, auf das der Row-Parameter verweist, nicht angegeben wurde, das NextHop-Element des MIB_IPFORWARD_ROW2, auf das der Row-Parameter verweist, oder sowohl die Member InterfaceLuid oder InterfaceIndex des MIB_IPFORWARD_ROW2, auf die vom Row-Parameter verwiesen wird. -Parameter wurden nicht angegeben.
ERROR_NOT_FOUND
Die angegebene Schnittstelle konnte nicht gefunden werden. Dieser Fehler wird zurückgegeben, wenn die netzwerkschnittstelle, die vom InterfaceLuid - oder InterfaceIndex-Member der MIB_IPFORWARD_ROW2 angegeben wurde, auf die der Row-Parameter verweist, nicht gefunden werden konnte.
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 eine IPv4-Adresse im Adresselement des MIB_IPFORWARD_ROW2 durch den Row-Parameter angegeben wurde. Dieser Fehler wird auch zurückgegeben, wenn sich kein IPv6-Stapel auf dem lokalen Computer befindet und eine IPv6-Adresse im Adresselement angegeben wurde.
Andere
Verwenden Sie FormatMessage , um die Meldungszeichenfolge für den zurückgegebenen Fehler abzurufen.

Hinweise

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

Die DeleteIpForwardEntry2-Funktion wird verwendet, um einen MIB_IPFORWARD_ROW2-Struktureintrag zu löschen.

Bei der Eingabe muss das DestinationPrefix-Element in der MIB_IPFORWARD_ROW2 Struktur, auf die der Row-Parameter verweist, mit einem gültigen IPv4- oder IPv6-Adresspräfix und einer gültigen IPv6-Adressfamilie initialisiert werden. Bei der Eingabe muss das NextHop-Element in der MIB_IPFORWARD_ROW2-Struktur , auf die der Row-Parameter verweist, mit einer gültigen IPv4- oder IPv6-Adresse und -Familie initialisiert werden. Darüber hinaus muss mindestens einer der folgenden Member in der MIB_IPFORWARD_ROW2 Struktur, die auf den Row-Parameter verweist, initialisiert werden: InterfaceLuid oder InterfaceIndex.

Die Felder werden in der oben aufgeführten Reihenfolge verwendet. Wenn also InterfaceLuid angegeben wird, wird dieser Member verwendet, um die Schnittstelle zu bestimmen. Wenn kein Wert für das InterfaceLuid-Element festgelegt wurde (die Werte dieses Members wurden auf 0 festgelegt), wird als Nächstes das InterfaceIndex-Element verwendet, um die Schnittstelle zu bestimmen.

Bei der Ausgabe, wenn der Aufruf erfolgreich ist, löscht DeleteIpForwardEntry2 den IP-Routeneintrag.

Die DeleteIpForwardEntry2-Funktion schlägt fehl, wenn die Member DestinationPrefix und NextHop der MIB_IPFORWARD_ROW2 , auf die der Row-Parameter verweist, nicht mit einem vorhandenen IP-Routeneintrag auf der schnittstelle übereinstimmen, die in den Membern InterfaceLuid oder InterfaceIndex angegeben ist.

Die GetIpForwardTable2-Funktion kann aufgerufen werden, um die IP-Routeneinträge auf einem lokalen Computer aufzulisten.

Die DeleteIpForwardEntry2-Funktion kann nur von einem Benutzer aufgerufen werden, der als Mitglied der Gruppe Administratoren angemeldet ist. Wenn DeleteIpForwardEntry2 von einem Benutzer aufgerufen wird, der kein Mitglied der Gruppe Administratoren ist, schlägt der Funktionsaufruf fehl, und ERROR_ACCESS_DENIED wird zurückgegeben. Diese Funktion kann auch aufgrund der Benutzerkontensteuerung (User Account Control, UAC) unter Windows Vista und höher fehlschlagen. Wenn eine Anwendung, die diese Funktion enthält, von einem Benutzer ausgeführt wird, der als Mitglied der Gruppe Administratoren angemeldet ist, die nicht der integrierten Administratorgruppe angehört, schlägt dieser Aufruf fehl, es sei denn, die Anwendung wurde in der Manifestdatei mit einem requestedExecutionLevel gekennzeichnet, der auf requireAdministrator festgelegt ist. Wenn der Anwendung diese Manifestdatei fehlt, muss ein Benutzer, der sich als Mitglied der Gruppe Administratoren angemeldet hat, als der integrierte Administrator, die Anwendung dann in einer erweiterten Shell als integrierter Administrator (RunAs-Administrator) ausführen, damit diese Funktion erfolgreich 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

GetBestRoute2

GetIpForwardEntry2

GetIpForwardTable2

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

NotifyRouteChange2

SetIpForwardEntry2