Udostępnij przez


CreateIpNetEntry2, funkcja

Funkcja CreateIpNetEntry2 tworzy nowy wpis adresu IP sąsiada na komputerze lokalnym.

Składnia

NETIOAPI_API CreateIpNetEntry2(
  _In_ const MIB_IPNET_ROW2 *Row
);

Parametry

  • wiersza [in]
    Wskaźnik do wpisu struktury MIB_IPNET_ROW2 dla wpisu trasy IP.

Wartość zwracana

CreateIpNetEntry2 zwraca STATUS_SUCCESS, jeśli funkcja zakończy się pomyślnie.

Jeśli funkcja zakończy się niepowodzeniem, createIpNetEntry2 zwraca jeden z następujących kodów błędów:

Kod powrotny Opis
STATUS_INVALID_PARAMETER

Do funkcji przekazano nieprawidłowy parametr. Ten błąd jest zwracany, jeśli wystąpi jeden z następujących elementów:

  • Wskaźnik null jest przekazywany w parametrze wiersza.

  • Element Adres struktury MIB_IPNET_ROW2, do którego wskazuje parametr wiersza, nie został ustawiony na prawidłowy adres emisji pojedynczej, emisji ani multiemisji IPv4 lub IPv6.

  • Składowe PhysicalAddress i PhysicalAddressLength struktury MIB_IPNET_ROW2 nie zostały ustawione na prawidłowy adres fizyczny.

  • Obie InterfaceLuid i InterfaceIndex składowych struktury MIB_IPNET_ROW2 nie zostały określone.

  • Adres sprzężenia zwrotnego został przekazany w elemencie członkowskim adresu.

STATUS_NOT_FOUND

Nie można odnaleźć określonego interfejsu. Ten błąd jest zwracany, jeśli funkcja nie może odnaleźć interfejsu sieciowego określonego przez InterfaceLuid lub InterfaceIndex elementu członkowskiego struktury MIB_IPNET_ROW2 wskazuje parametr wiersza .

STATUS_NOT_SUPPORTED

Żądanie nie jest obsługiwane. Ten błąd jest zwracany, jeśli żaden stos IPv4 nie znajduje się na komputerze lokalnym, a adres IPv4 został określony w adres elementu członkowskiego MIB_IPNET_ROW2 struktury, że Row punktów parametrów lub jeśli żaden stos IPv6 nie znajduje się na komputerze lokalnym, a adres IPv6 został określony w elemencie Adres.

ERROR_OBJECT_ALREADY_EXISTS

Obiekt już istnieje. Ten błąd jest zwracany, jeśli element członkowski adresu struktury MIB_IPNET_ROW2, do którego wskazuje parametr wiersza jest duplikatem istniejącego adresu IP sąsiada w interfejsie określonym przez InterfaceLuid lub InterfaceIndex składową struktury MIB_IPNET_ROW2.

inne

Użyj funkcji FormatMessage, aby uzyskać ciąg komunikatu dla zwróconego błędu.

Uwagi

Sterownik musi zainicjować następujące elementy członkowskie struktury MIB_IPNET_ROW2, do których wskazuje parametr wiersza:

  • Ustaw element członkowski adresu na prawidłową emisję pojedynczą, emisję dowolną lub multiemisji IPv4 lub adres IPv6 i rodzinę.

  • Ustaw PhysicalAddress i PhysicalAddressLength elementów członkowskich MIB_IPNET_ROW2 w strukturze MIB_IPNET_ROW2 na prawidłowy adres fizyczny.

  • Ustaw InterfaceLuid lub InterfaceIndex na wartość LUID lub indeks interfejsu.

Składowe InterfaceLuid i InterfaceIndex są używane w podanej wcześniej kolejności. Dlatego jeśli określono InterfaceLuid, ten element członkowski jest używany do określenia interfejsu w celu dodania adresu IP emisji pojedynczej. Jeśli nie ustawiono wartości elementu członkowskiego InterfaceLuid (wartość tego elementu członkowskiego została ustawiona na zero), element członkowski InterfaceIndex jest następnie używany do określania interfejsu.

Funkcja CreateIpNetEntry2 kończy się niepowodzeniem, jeśli adres IP przekazany w elemencie Address elementu członkowskiego struktury MIB_IPNET_ROW2, do którego wskazuje parametr wiersza, jest duplikatem istniejącego adresu IP sąsiada w interfejsie.

Wymagania

Platforma docelowa

universal

Wersja

Dostępne w systemie Windows Vista i nowszych wersjach systemów operacyjnych Windows.

Nagłówek

Netioapi.h (include Netioapi.h)

Biblioteka

Netio.lib

IRQL

< DISPATCH_LEVEL

Zobacz też

DeleteIpNetEntry2

FlushIpNetTable2

GetIpNetEntry2

getIpNetTable2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

ResolveIpNetEntry2

SetIpNetEntry2