Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die GetBestRoute2--Funktion ruft den IP-Routeneintrag auf einem lokalen Computer ab, um die beste Route zur angegebenen Ziel-IP-Adresse zu erhalten.
Syntax
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
);
Parameter
InterfaceLuid- [in, optional]
Die lokal eindeutige ID (LUID), um die Netzwerkschnittstelle anzugeben, die einem IP-Routeneintrag zugeordnet ist.InterfaceIndex- [in]
Der lokale Indexwert, um die Netzwerkschnittstelle anzugeben, die einem IP-Routeneintrag zugeordnet ist. Dieser Indexwert kann sich ändern, wenn ein Netzwerkadapter deaktiviert und dann aktiviert ist, oder unter anderen Umständen, sodass dieser Wert nicht dauerhaft ist.SourceAddress- [in, optional]
Die QUELL-IP-Adresse. Der Treiber kann diesen Parameter weglassen und einen NULL- Zeiger übergeben.DestinationAddress- [in]
Die Ziel-IP-Adresse.AddressSortOptions- [in]
Eine Reihe von Optionen, die sich darauf auswirken, wie IP-Adressen sortiert werden. Dieser Parameter wird derzeit nicht verwendet.BestRoute [out]
Ein Zeiger auf die MIB_IPFORWARD_ROW2 Struktur, um die beste Route von der Quell-IP-Adresse zur Ziel-IP-Adresse zu erhalten.BestSourceAddress [out]
Ein Zeiger auf die beste IP-Adresse der Quelle.
Rückgabewert
GetBestRoute2- gibt STATUS_SUCCESS zurück, wenn die Funktion erfolgreich ist.
Wenn die Funktion fehlschlägt, gibt GetBestRoute2- einen der folgenden Fehlercodes zurück:
Rückgabecode | Beschreibung |
---|---|
STATUS_INVALID_PARAMETER | An die Funktion wurde ein ungültiger Parameter übergeben. Dieser Fehler wird zurückgegeben, wenn ein NULL- Zeiger in den Parametern DestinationAddress, BestSourceAddressoder BestRoute übergeben wird. Dieser Fehler wird auch zurückgegeben, wenn sowohl InterfaceLuid als auch InterfaceIndex Parameter nicht angegeben wurden. Dieser Fehler wird auch zurückgegeben, wenn der parameter DestinationAddress keine IPv4- oder IPv6-Adresse und -Familie angibt. |
STATUS_NOT_FOUND | Die angegebene Schnittstelle konnte nicht gefunden werden. Dieser Fehler wird zurückgegeben, wenn die Netzwerkschnittstelle, die die InterfaceLuid oder InterfaceIndex- parameter angibt, nicht gefunden werden konnte. |
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 und Familie im parameter DestinationAddress angegeben wurde oder wenn sich kein IPv6-Stapel auf dem lokalen Computer befindet und eine IPv4-Adresse und Familie im DestinationAddress Parameter angegeben wurde. |
Andere | Verwenden Sie die FormatMessage--Funktion, um die Nachrichtenzeichenfolge für den zurückgegebenen Fehler abzurufen. |
Bemerkungen
Die GetBestRoute2--Funktion wird verwendet, um einen MIB_IPFORWARD_ROW2 Struktureintrag für die beste Route von einer Quell-IP-Adresse an eine Ziel-IP-Adresse abzurufen.
Bei der Eingabe muss der Treiber die folgenden Parameter initialisieren.
DestinationAddress-
Auf eine gültige IPv4- oder IPv6-Adresse und -Familie festgelegt.InterfaceLuid oder InterfaceIndex-
Diese Parameter werden in der Reihenfolge verwendet, die zuvor aufgeführt ist. Wenn also InterfaceLuid- angegeben wird, wird dieser Parameter verwendet, um die Schnittstelle zu bestimmen. Wenn kein Wert für das InterfaceLuid Member festgelegt wurde (der Wert dieses Parameters wurde auf Null festgelegt), wird der InterfaceIndex Parameter als Nächstes verwendet, um die Schnittstelle zu bestimmen.
Darüber hinaus kann Ihr Treiber bei der Eingabe den SourceAddress Parameter für die bevorzugte IPv4- oder IPv6-Adresse und -Familie initialisieren.
Wenn der Anruf erfolgreich ist, ruft GetBestRoute2 eine MIB_IPFORWARD_ROW2 Struktur für die beste Route von der Quell-IP-Adresse der Ziel-IP-Adresse ab.
Anforderungen
Zielplattform |
universelle |
Version |
Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme. |
Kopfball |
Netioapi.h (include Netioapi.h) |
Bibliothek |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |