Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcja CreateIpForwardEntry2 tworzy nowy wpis trasy IP na komputerze lokalnym.
Składnia
NETIOAPI_API CreateIpForwardEntry2(
_In_ const MIB_IPFORWARD_ROW2 *Row
);
Parametry
-
wiersza [in]
Wskaźnik do wpisu struktury MIB_IPFORWARD_ROW2 dla wpisu trasy IP.
Wartość zwracana
createIpForwardEntry2 zwraca STATUS_SUCCESS, jeśli funkcja powiedzie się.
Jeśli funkcja nie powiedzie się, CreateIpForwardEntry2 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 jedna z następujących sytuacji:
Ten błąd jest zwracany, jeśli wskaźnik NULL jest przekazywany w parametrze wiersza, nie określono elementu członkowskiego DestinationPrefix struktury MIB_IPFORWARD_ROW2 wskazywanej przez parametr wiersza, nie określono elementu członkowskiego NextHop struktury MIB_IPFORWARD_ROW2, lub oba InterfaceLuid i InterfaceIndex składowych struktury MIB_IPFORWARD_ROW2 nie zostały określone. Ten błąd jest również zwracany, jeśli element członkowski PreferredLife time określony w strukturze MIB_IPFORWARD_ROW2 jest większy niż element członkowski ValidLifetime lub jeśli element członkowski SitePrefixLength w strukturze MIB_IPFORWARD_ROW2 jest większy niż długość prefiksu określona w elementu członkowskiego DestinationPrefix. |
| 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 określony interfejs nie obsługuje tras. Ten błąd jest zwracany, jeśli na komputerze lokalnym nie znajduje się stos IPv4 i AF_INET został określony w rodzinie adresów w DestinationPrefix elementu członkowskiego MIB_IPFORWARD_ROW2 struktury MIB_IPFORWARD_ROW2, do którego wskazuje wiersz parametr lub jeśli na komputerze lokalnym nie znajduje się żaden stos IPv6 i AF_INET6 został określony dla rodziny adresów w elementu członkowskiego DestinationPrefix. |
| ERROR_OBJECT_ALREADY_EXISTS | Obiekt już istnieje. Ten błąd jest zwracany, jeśli element członkowski DestinationPrefix struktury MIB_IPFORWARD_ROW2, do którego wskazuje parametr wiersza, jest duplikatem istniejącego wpisu trasy IP w interfejsie określonym przez InterfaceLuid lub InterfaceIndex składowej struktury MIB_IPFORWARD_ROW2. |
| inne | Użyj funkcji FormatMessage, aby uzyskać ciąg komunikatu dla zwróconego błędu. |
Uwagi
Funkcja CreateIpForwardEntry2 służy do dodawania nowego wpisu adresu IP sąsiada na komputerze lokalnym. Użyj funkcji InitializeIpForwardEntry, aby zainicjować elementy członkowskie wpisu struktury MIB_IPFORWARD_ROW2 z wartościami domyślnymi. Sterownik może następnie zmienić elementy członkowskie we wpisie MIB_IPFORWARD_ROW2, który chce zmodyfikować, a następnie wywołać CreateIpForwardEntry2.
Sterownik musi zainicjować następujące elementy członkowskie struktury MIB_IPFORWARD_ROW2, do których wskazuje parametr Row:
Ustaw DestinationPrefix na prawidłowy prefiks adresu IPv4 lub IPv6.
Ustaw NextHop na prawidłowy adres IPv4 lub IPv6 i rodzinę.
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 wpisu trasy IP. 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.
Przesunięcie metryki trasy określone w elemencie Metric struktury MIB_IPFORWARD_ROW2 wskazuje parametr Row wskazuje tylko część pełnej metryki trasy. Metryka kompletna jest kombinacją tego przesunięcia metryki trasy dodanego do metryki interfejsu określonej w elementu członkowskiego Metryka struktury MIB_IPINTERFACE_ROW skojarzonego interfejsu. Sterownik może pobrać metrykę interfejsu, wywołując funkcję GetIpInterfaceEntry.
Elementy członkowskie Age Age i Origin struktury MIB_IPFORWARD_ROW2 są ignorowane , gdy wywoływana jest funkcja createIpForwardEntry2 Row. Te elementy członkowskie są ustawiane przez stos sieciowy i nie można ich ustawić przy użyciu funkcji CreateIpForwardEntry2.
Funkcja CreateIpForwardEntry2 kończy się niepowodzeniem, jeśli DestinationPrefix i NextHop składowych struktury MIB_IPFORWARD_ROW2, do których wskazuje wiersz, są duplikatem istniejącego wpisu trasy IP w interfejsie określonym w InterfaceLuid lub InterfaceIndex elementów członkowskich.
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 |