RtmCreateRouteEnum-Funktion (rtmv2.h)
Die RtmCreateRouteEnum-Funktion erstellt eine Enumeration der Routen für ein bestimmtes Ziel oder einen bestimmten Zielbereich in der Routingtabelle. Ein Client kann Routen für eine oder mehrere Ansichten oder für alle Ansichten auflisten.
Syntax
DWORD RtmCreateRouteEnum(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] RTM_DEST_HANDLE DestHandle,
[in] RTM_VIEW_SET TargetViews,
[in] RTM_ENUM_FLAGS EnumFlags,
[in] PRTM_NET_ADDRESS StartDest,
[in] RTM_MATCH_FLAGS MatchingFlags,
[in] PRTM_ROUTE_INFO CriteriaRoute,
[in] ULONG CriteriaInterface,
[out] PRTM_ENUM_HANDLE RtmEnumHandle
);
Parameter
[in] RtmRegHandle
Handle mit dem Client, der von einem vorherigen Aufruf von RtmRegisterEntity abgerufen wurde.
[in] DestHandle
Handle mit dem Ziel, für das Routen aufgelistet werden sollen. Dieser Parameter ist optional und kann auf NULL festgelegt werden. Wenn SIE NULL angeben, werden alle Routen für alle Ziele aufgelistet. Geben Sie NULL an, wenn EnumFlags RTM_ENUM_START enthält.
[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 Routen in die Enumeration eingeschlossen werden sollen. Es werden zwei Flags verwendet. verwenden Sie ein Flag aus jeder Gruppe (z. B. RTM_ENUM_ALL_ROUTES und RTM_ENUM_START).
Konstante | Bedeutung |
---|---|
|
Gibt alle Routen zurück. |
|
Gibt nur die Routen zurück, die der Client besitzt. |
[in] StartDest
Zeiger auf eine RTM_NET_ADDRESS-Struktur , die die Startadresse der Enumeration enthält. Dieser Parameter wird ignoriert, wenn EnumFlags RTM_ENUM_START enthält.
[in] MatchingFlags
Gibt die Elemente der Route an, die übereinstimmen sollen. Sofern nicht anders angegeben, werden nur Routen zurückgegeben, die den in CriteriaRoute und CriteriaInterface angegebenen Kriterien entsprechen. Die folgenden Flags werden verwendet.
[in] CriteriaRoute
Gibt an, welche Routen aufgelistet werden sollen. Dieser Parameter ist optional und kann auf NULL festgelegt werden, wenn MatchingFlags RTM_MATCH_INTERFACE oder RTM_MATCH_NONE enthält.
[in] CriteriaInterface
Zeiger auf einen ULONG-Wert , der angibt, auf welchen Schnittstellenrouten sich Routen befinden sollen. Dieser Parameter wird ignoriert, es sei denn , MatchingFlags enthält RTM_MATCH_INTERFACE.
[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 RtmGetEnumRoutes, RtmReleaseRoutes 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 Routes.
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 |