Freigeben über


CreateIpNetEntry2-Funktion

Die CreateIpNetEntry2-Funktion erstellt einen neuen Ip-Adresseintrag für nachbarn auf dem lokalen Computer.

Syntax

NETIOAPI_API CreateIpNetEntry2(
  _In_ const MIB_IPNET_ROW2 *Row
);

Parameter

Rückgabewert

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

Wenn die Funktion fehlschlägt, gibt CreateIpNetEntry2 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 eines der folgenden Elemente auftritt:

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

  • Der Address-Member der MIB_IPNET_ROW2 Struktur, auf die der Row-Parameter verweist, wurde nicht auf eine gültige Unicast-, Anycast- oder Multicast-IPv4- oder IPv6-Adresse festgelegt.

  • Die Member PhysicalAddress und PhysicalAddressLength der MIB_IPNET_ROW2-Struktur wurden nicht auf eine gültige physische Adresse festgelegt.

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

  • Im Adresselement wurde eine Loopbackadresse übergeben.

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_IPNET_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 eine IPv4-Adresse im Adresselement der MIB_IPNET_ROW2 Struktur angegeben wurde, auf die der Row-Parameter verweist, oder wenn sich kein IPv6-Stapel auf dem lokalen Computer befindet und eine IPv6-Adresse im Adresselement angegeben wurde.

ERROR_OBJECT_ALREADY_EXISTS

Das Objekt ist bereits vorhanden. Dieser Fehler wird zurückgegeben, wenn der Address-Member der MIB_IPNET_ROW2-Struktur, auf die der Row-Parameter verweist, ein Duplikat einer vorhandenen benachbarten IP-Adresse auf der Schnittstelle ist, die vom InterfaceLuid - oder InterfaceIndex-Member der MIB_IPNET_ROW2-Struktur angegeben wird.

Andere

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

Bemerkungen

Ihr Treiber muss die folgenden Member der MIB_IPNET_ROW2-Struktur initialisieren, auf die der Row-Parameter verweist:

  • Legen Sie das Adresselement auf eine gültige Unicast-, Anycast- oder Multicast-IPv4- oder IPv6-Adresse und -Familie fest.

  • Legen Sie die Member PhysicalAddress und PhysicalAddressLength in der MIB_IPNET_ROW2-Struktur auf eine gültige physische Adresse fest.

  • Legen Sie InterfaceLuid oder InterfaceIndex auf die LUID oder den Indexwert der Schnittstelle fest.

Die Member InterfaceLuid und InterfaceIndex werden in der zuvor aufgeführten Reihenfolge verwendet. Wenn also InterfaceLuid angegeben ist, wird dieser Member verwendet, um die Schnittstelle zu bestimmen, auf der die Unicast-IP-Adresse hinzugefügt werden soll. 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.

Die CreateIpNetEntry2-Funktion schlägt fehl, wenn die IP-Adresse, die im Member Address der MIB_IPNET_ROW2-Struktur übergeben wird, auf die der Row-Parameter verweist, ein Duplikat einer vorhandenen benachbarten IP-Adresse auf der Schnittstelle ist.

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

DeleteIpNetEntry2

FlushIpNetTable2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

ResolveIpNetEntry2

SetIpNetEntry2