RtmCreateDestEnum-Funktion (rtmv2.h)
Die RtmCreateDestEnum-Funktion startet eine Enumeration der Ziele in der Routingtabelle. Ein Client kann Ziele für eine oder mehrere Ansichten oder für alle Ansichten auflisten.
Syntax
DWORD RtmCreateDestEnum(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] RTM_VIEW_SET TargetViews,
[in] RTM_ENUM_FLAGS EnumFlags,
[in] PRTM_NET_ADDRESS NetAddress,
[in] ULONG ProtocolId,
[out] PRTM_ENUM_HANDLE RtmEnumHandle
);
Parameter
[in] RtmRegHandle
Handle mit dem Client, der von einem vorherigen Aufruf von RtmRegisterEntity abgerufen wurde.
[in] TargetViews
Gibt den Satz von Ansichten an, die beim Erstellen der Enumeration verwendet werden sollen. Die folgenden Flags werden verwendet.
[in] EnumFlags
Gibt an, welche Ziele in die Enumeration eingeschlossen werden sollen. Es werden zwei Flags verwendet. verwenden Sie ein Flag aus jeder Gruppe (z. B. RTM_ENUM_ALL_DESTS und RTM_ENUM_START).
Konstante | Bedeutung |
---|---|
|
Gibt alle Ziele zurück. |
|
Gibt Ziele zurück, für die der Client die beste Route zu einem Ziel in einer der angegebenen Ansichten besitzt. |
[in] NetAddress
Zeiger auf eine RTM_NET_ADDRESS-Struktur , die die Startadresse der Enumeration enthält. Geben Sie NULL an, wenn EnumFlags RTM_ENUM_START enthält.
[in] ProtocolId
Gibt den Protokollbezeichner an, mit dem die besten Routeninformationen ermittelt werden, die von der RtmGetEnumDests-Funktion zurückgegeben werden. Die ProtocolID ist nicht Teil der Suchkriterien. Der Routingtabellen-Manager verwendet diesen Bezeichner, um zu bestimmen, welche Routeninformationen zurückgegeben werden sollen (wenn z. B. ein Client 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.
[out] RtmEnumHandle
Bei der Eingabe ist RtmEnumHandle ein Zeiger auf NULL.
Bei der Ausgabe empfängt RtmEnumHandle einen Zeiger auf ein Handle auf die Enumeration. Verwenden Sie dieses Handle in allen nachfolgenden Aufrufen von RtmGetEnumDests, RtmReleaseDests und RtmDeleteEnumHandle.
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. |
|
Es ist nicht genügend Arbeitsspeicher vorhanden, um diesen Vorgang abzuschließen. |
|
Mindestens eine der angegebenen Ansichten wird nicht unterstützt. |
Hinweise
Wenn EnumFlags RTM_ENUM_RANGE enthält, verwenden Sie NetAddress , um den Bereich der Routingtabelle anzugeben, die aufgelistet werden soll. Wenn ein Client netAddress beispielsweise auf 10/8 festlegt, werden Ziele im Bereich 10.0.0.0/8 bis 10.255.255.255/32 zurückgegeben.
Wenn das Enumerationshandle nicht mehr erforderlich ist, geben Sie es frei, indem Sie RtmDeleteEnumHandle aufrufen.
Beispielcode mit dieser Funktion finden Sie unter Enumerate All Destinations.
Anforderungen
Anforderung | Wert |
---|---|
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 |