Freigeben über


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
ERROR_INVALID_PARAMETER
Ein Parameter enthält falsche Informationen.
ERROR_NOT_FOUND
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

Weitere Informationen

RTM_DEST_INFO

RtmGetExactMatchDestination

RtmGetExactMatchRoute

RtmGetMostSpecificDestination

RtmIsBestRoute