RtmGetLessSpecificDestination-Funktion (rtmv2.h)
Die RtmGetLessSpecificDestination-Funktion durchsucht die Routingtabelle nach einem Ziel mit dem Präfix next-best-match (längst) und einem Zielpräfix. Die angeforderten Zielinformationen werden zurückgegeben.
Syntax
DWORD RtmGetLessSpecificDestination(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] RTM_DEST_HANDLE DestHandle,
[in] ULONG ProtocolId,
[in] RTM_VIEW_SET TargetViews,
[out] PRTM_DEST_INFO DestInfo
);
Parameter
[in] RtmRegHandle
Handle mit dem Client, der von einem vorherigen Aufruf von RtmRegisterEntity abgerufen wurde.
[in] DestHandle
Handle bis zum Ziel.
[in] ProtocolId
Gibt den Protokollbezeichner an. Die ProtocolID ist nicht Teil der Suchkriterien. Der Routingtabellen-Manager verwendet diesen Bezeichner, um zu bestimmen, welche Routeninformationen zurückgegeben werden sollen. Wenn ein Client beispielsweise den RIP-Protokollbezeichner angibt, wird die beste RIP-Route zurückgegeben, auch wenn eine Nicht-RIP-Route die beste Route zum Ziel ist.
Geben Sie RTM_BEST_PROTOCOL an, um eine Route zurückzugeben, unabhängig davon, welches Protokoll sie besitzt. Geben Sie RTM_THIS_PROTOCOL an, um die beste Route für das aufrufende Protokoll zurückzugeben.
[in] TargetViews
Gibt die Ansichten an, von denen Informationen zurückgegeben werden sollen. Wenn der Client RTM_VIEW_MASK_ANY angibt, werden Zielinformationen von allen Ansichten zurückgegeben. es werden jedoch keine sichtspezifischen Informationen zurückgegeben.
[out] DestInfo
Bei der Eingabe ist DestInfo ein Zeiger auf eine RTM_DEST_INFO-Struktur .
Bei der Ausgabe wird DestInfo mit den angeforderten Zielinformationen gefüllt.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert NO_ERROR.
Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden Fehlercodes.
Wert | Bedeutung |
---|---|
|
Ein Parameter enthält falsche Informationen. |
|
Das nächstbeste Ziel wurde nicht gefunden. |
Hinweise
Der DestInfo-Parameter ist eine RTM_DEST_INFO-Struktur mit variabler Größe. Wenn der Client mithilfe von TargetViews mehrere Ansichten angibt, erhöht sich die Größe von DestInfo für jede Ansicht. Verwenden Sie das Makro RTM_SIZE_OF_DEST_INFO , um zu bestimmen, wie viel Arbeitsspeicher für die DestInfo-Struktur zugewiesen werden soll, bevor Sie diese Funktion aufrufen. Verwenden Sie den für TargetViews angegebenen Wert als Parameter zum RTM_SIZE_OF_DEST_INFO.
Die RtmGetLessSpecificDestination-Funktion wird nach einem Aufruf von RtmGetMostSpecificDestination verwendet, um die nächstbeste Übereinstimmung für ein Ziel zurückzugeben. Dieser Aufruf wird auch nach einem vorherigen Aufruf von RtmGetLessSpecificDestination verwendet, um die nächste aufeinander folgende weniger spezifische Übereinstimmung zurückzugeben. Clients können diese Funktion verwenden, um die Präfixstruktur für ein Ziel zu "schreiten".
Dieser Aufruf wird auch nach Aufrufen von Funktionen verwendet, die eine RTM_DEST_INFO-Struktur zurückgeben, z. B . RtmGetDestInfo und RtmGetChangedDests.
Die RtmGetLessSpecificDestination-Funktion gibt Übereinstimmungen zurück, bis sie die Standardroute erreicht, sofern vorhanden. Sobald die Standardroute gefunden wurde, gibt RtmGetLessSpecificDestination ERROR_NOT_FOUND zurück.
Eine häufige Verwendung für die Funktionen RtmGetLessSpecificDestination und RtmGetMostSpecificDestination besteht darin, jedes der übereinstimmenden Ziele abzurufen.
Beispielcode mit dieser Funktion finden Sie unter Suchen nach Routen mithilfe einer Präfixstruktur.
Anforderungen
Unterstützte Mindestversion (Client) | Nicht unterstützt |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | rtmv2.h |
Bibliothek | Rtm.lib |
DLL | Rtm.dll |