GetBestRoute2 függvény

A GetBestRoute2 függvény lekéri az IP-útvonal bejegyzését egy helyi számítógépen a megadott cél IP-címhez vezető legjobb útvonal érdekében.

Szintaxis

NETIOAPI_API GetBestRoute2(
  _In_opt_       NET_LUID            *InterfaceLuid,
  _In_           NET_IFINDEX         InterfaceIndex,
  _In_opt_ const SOCKADDR_INET       *SourceAddress,
  _In_     const SOCKADDR_INET       *DestinationAddress,
  _In_           ULONG               AddressSortOptions,
  _Out_          PMIB_IPFORWARD_ROW2 BestRoute,
  _Out_          SOCKADDR_INET       *BestSourceAddress
);

Paraméterek

  • InterfaceLuid [be, nem kötelező]
    A helyileg egyedi azonosító (LUID) az IP-útvonalbejegyzéshez társított hálózati adapter megadásához.

  • InterfaceIndex [in]
    Az IP-útvonalbejegyzéshez társított hálózati adaptert meghatározó helyi indexérték. Ez az indexérték megváltozhat, ha egy hálózati adapter le van tiltva, majd engedélyezve van, vagy más körülmények között, így ez az érték nem állandó.

  • SourceAddress [be, nem kötelező]
    A forrás IP-címe. Az illesztőprogram kihagyhatja ezt a paramétert, és átadhat egy NULL mutatót.

  • DestinationAddress [in]
    A cél IP-címe.

  • AddressSortOptions [in]
    Az IP-címek rendezését befolyásoló beállítások készlete. Ez a paraméter jelenleg nincs használatban.

  • BestRoute [ki]
    A forrás IP-címtől a cél IP-címig vezető legjobb útvonal MIB_IPFORWARD_ROW2 struktúrára mutató mutató.

  • BestSourceAddress [ki]
    Mutató a legjobb forrás IP-címére.

Visszaadott érték

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

Ha a függvény meghiúsul, GetBestRoute2 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 NULL mutatót ad át a DestinationAddress, BestSourceAddressvagy BestRoute paraméterekben. Ezt a hibát akkor is visszaadja a rendszer, ha InterfaceLuid és InterfaceIndex paraméterek nem voltak meghatározva. Ez a hiba akkor is megjelenik, ha a DestinationAddress paraméter nem ad meg IPv4- vagy IPv6-címet és -családot

STATUS_NOT_FOUND

A megadott felület nem található. Ez a hiba akkor jelenik meg, ha a InterfaceLuid vagy InterfaceIndex paraméter által megadott hálózati adapter nem található.

STATUS_NOT_SUPPORTED

A kérés nem támogatott. Ez a hiba akkor jelenik meg, ha nem található IPv4-verem a helyi számítógépen, és egy IPv4-cím és család van megadva a DestinationAddress paraméterben, vagy ha nem található IPv6-verem a helyi számítógépen, és egy IPv4-cím és család van megadva a DestinationAddress paraméterben.

Egyéb

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

Megjegyzések

A GetBestRoute2 függvény egy MIB_IPFORWARD_ROW2 struktúrabejegyzés lekérésére szolgál a forrás IP-címről a cél IP-címre való legjobb útvonalhoz.

Bemenetkor az illesztőprogramnak inicializálnia kell a következő paramétereket.

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

  • InterfaceLuid vagy InterfaceIndex
    Ezeket a paramétereket a korábban felsorolt sorrendben használja a rendszer. Ha tehát InterfaceLuid van megadva, a rendszer ezt a paramétert használja az interfész meghatározásához. Ha a InterfaceLuid taghoz nem állított be értéket (ennek a paraméternek az értéke nulla volt), akkor a rendszer a InterfaceIndex paramétert használja a felület meghatározásához.

Ezenkívül a bemeneten az illesztőprogram inicializálhatja a SourceAddress paramétert az előnyben részesített IPv4- vagy IPv6-címre és családra.

Ha a hívás sikeres, GetBestRoute2 lekéri a MIB_IPFORWARD_ROW2 struktúrát a cél IP-cím forrás IP-címéről.

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:

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetIpForwardEntry2

GetIpForwardTable2

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

NotifyRouteChange2

SetIpForwardEntry2