CreateIpForwardEntry2 függvény

A CreateIpForwardEntry2 függvény új IP-útvonalbejegyzést hoz létre egy helyi számítógépen.

Szintaxis

NETIOAPI_API CreateIpForwardEntry2(
  _In_ const MIB_IPFORWARD_ROW2 *Row
);

Paraméterek

  • sor [in]
    Egy IP-útvonalbejegyzés MIB_IPFORWARD_ROW2 struktúrájának bejegyzésére mutató mutató.

Visszaadott érték

CreateIpForwardEntry2 a függvény sikeres működése esetén STATUS_SUCCESS ad vissza.

Ha a függvény meghiúsul, CreateIpForwardEntry2 a következő hibakódok egyikét adja vissza:

Kód visszaadása Leírás
STATUS_INVALID_PARAMETER

Érvénytelen paraméter lett átadva a függvénynek. Ez a hiba akkor jelenik meg, ha az alábbi helyzetek valamelyike fordul elő:

  • A Sor paraméterben egy NULL mutatót ad át.

  • A DestinationPrefix annak a MIB_IPFORWARD_ROW2 struktúrának a tagját, amelynek a Sor paramétere nincs megadva.

  • A MIB_IPFORWARD_ROW2 struktúra NextHop-tag nincs megadva.

  • InterfaceLuid és InterfaceIndex MIB_IPFORWARD_ROW2 struktúrájának tagjai nem voltak meghatározva.

  • A MIB_IPFORWARD_ROW2 struktúrájának PreferredLifetime tagja nagyobb, mint ValidLifetime tag.

  • A MIB_IPFORWARD_ROW2 szerkezet SitePrefixLength tagja nagyobb, mint a DestinationPrefix tag által megadott előtaghossz.

Ez a hiba akkor jelenik meg, ha NULL mutatót ad át a Sor paraméterben, a Sor paraméter által mutatott MIB_IPFORWARD_ROW2DestinationPrefix tag nincs megadva, a MIB_IPFORWARD_ROW2 struktúra NextHop tagja nincs megadva, vagy InterfaceLuid és InterfaceIndex MIB_IPFORWARD_ROW2 struktúrájának tagjai nem voltak meghatározva. Ezt a hibát akkor is visszaadja a rendszer, ha a MIB_IPFORWARD_ROW2 struktúrában megadott PreferredLifetime tag nagyobb, mint a ValidLifetime tag, vagy ha a MIB_IPFORWARD_ROW2 struktúrában SitePrefixLength nagyobb, mint a DestinationPrefix tagban megadott előtaghossz.

STATUS_NOT_FOUND

A megadott felület nem található. Ez a hiba akkor jelenik meg, ha a függvény nem találja a InterfaceLuid vagy InterfaceIndex MIB_IPNET_ROW2 struktúra azon tagja által megadott hálózati adaptert, amelyre a Sor paraméter mutat.

STATUS_NOT_SUPPORTED

A kérés nem támogatott. Ez a hiba akkor jelenik meg, ha a megadott felület nem támogatja az útvonalakat. Ez a hiba akkor jelenik meg, ha nem található IPv4-verem a helyi számítógépen, és AF_INET a DestinationPrefix azon MIB_IPFORWARD_ROW2 szerkezet címcsaládjában, amelyre a Sor paraméter mutat, vagy ha nem található IPv6-verem a helyi számítógépen, és AF_INET6 lett megadva a DestinationPrefix tag címcsaládjához.

ERROR_OBJECT_ALREADY_EXISTS

Az objektum már létezik. Ez a hiba akkor jelenik meg, ha a DestinationPrefix tagja annak a MIB_IPFORWARD_ROW2 struktúrának, amelyre a Sor paraméter hivatkozik, a InterfaceLuid vagy InterfaceIndex MIB_IPFORWARD_ROW2 struktúra által megadott meglévő IP-útvonal-bejegyzés duplikálása.

Egyéb

A FormatMessage függvénnyel szerezze be a visszaadott hiba üzenetsztringét.

Megjegyzések

A CreateIpForwardEntry2 függvény egy új szomszéd IP-cím bejegyzésének hozzáadására szolgál egy helyi számítógépen. Az InitializeIpForwardEntry függvénnyel inicializálhatja az alapértelmezett értékekkel rendelkező MIB_IPFORWARD_ROW2 struktúrabejegyzés tagjait. Az illesztőprogram ezután módosíthatja a módosítani kívánt MIB_IPFORWARD_ROW2 bejegyzés tagjait, majd meghívhatja CreateIpForwardEntry2.

Az illesztőprogramnak inicializálnia kell a MIB_IPFORWARD_ROW2 struktúra alábbi tagjait, amelyekre a Sor paraméter mutat:

  • Állítsa DestinationPrefix egy érvényes IPv4- vagy IPv6-címelőtagra.

  • Állítsa NextHop egy érvényes IPv4- vagy IPv6-címre és családra.

  • Állítsa InterfaceLuid vagy InterfaceIndex a felület LUID- vagy indexértékére.

A InterfaceLuid és InterfaceIndex tagjai a korábban felsorolt sorrendben vannak használva. Ha tehát a InterfaceLuid van megadva, a rendszer ennek a tagnak a segítségével határozza meg az IP-útvonal bejegyzésének hozzáadásához használt felületet. Ha a InterfaceLuid taghoz nem állított be értéket (ennek a tagnak az értéke nulla volt), a InterfaceIndex tagot használja a rendszer a felület meghatározásához.

A Metrika azon MIB_IPFORWARD_ROW2 struktúrában megadott útvonalmetrika-eltolás, amelyet a Sor paraméter a teljes útvonalmetrika csak egy részére mutat. A teljes metrika a társított felület MIB_IPINTERFACE_ROW struktúrájának MIB_IPINTERFACE_ROW tagjának metrikájában megadott illesztőmetrikához hozzáadott útvonal metrika kombinációja. Az illesztő a GetIpInterfaceEntry függvény meghívásával lekérheti az interfészmetrikát.

Az Age és Origin azon MIB_IPFORWARD_ROW2 struktúra azon tagjait, amelyekre a Sor paraméter hivatkozik, figyelmen kívül lesznek hagyva a CreateIpForwardEntry2 függvény meghívásakor. Ezeket a tagokat a hálózati verem állítja be, és nem állítható be a CreateIpForwardEntry2 függvény használatával.

A CreateIpForwardEntry2 függvény meghiúsul, ha a DestinationPrefix és NextHop azon MIB_IPFORWARD_ROW2 struktúrának a tagjai, amelyekre a Sor paraméter mutat, a InterfaceLuid vagy InterfaceIndex tagokban megadott meglévő IP-útvonal-bejegyzés duplikálása.

Követelmények

Célplatform

Univerzális

Verzió

Elérhető a Windows Vista és a Windows operációs rendszerek újabb verzióiban.

Fejléc

Netioapi.h (netioapi.h)

Könyvtár

Netio.lib

IRQL

< DISPATCH_LEVEL

Lásd még:

DeleteIpForwardEntry2

GetBestRoute2

GetIpForwardEntry2

GetIpForwardTable2

GetIpInterfaceEntry

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

NotifyRouteChange2

SetIpForwardEntry2