RtmAddNextHop-Funktion (rtmv2.h)
Die RtmAddNextHop-Funktion fügt einen neuen Next-Hop-Eintrag hinzu oder aktualisiert einen vorhandenen Next-Hop-Eintrag zur Next-Hop-Liste eines Clients. Wenn bereits ein nächster Hop vorhanden ist, gibt der Routingtabellen-Manager ein Handle an den nächsten Hop zurück. Dieses Handle kann dann verwendet werden, um einen nächsten Hop zu einem Ziel anzugeben, wenn eine Route hinzugefügt oder aktualisiert wird.
Syntax
DWORD RtmAddNextHop(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] PRTM_NEXTHOP_INFO NextHopInfo,
[in, out] PRTM_NEXTHOP_HANDLE NextHopHandle,
[out] PRTM_NEXTHOP_CHANGE_FLAGS ChangeFlags
);
Parameter
[in] RtmRegHandle
Handle an den Client, der von einem vorherigen Aufruf von RtmRegisterEntity abgerufen wurde.
[in] NextHopInfo
Zeiger auf eine Struktur, die Informationen enthält, die den nächsten Hop identifizieren, der hinzugefügt oder aktualisiert werden soll. Die Member NextHopOwner und State werden ignoriert. diese Member werden vom Routingtabellen-Manager festgelegt. Das Flags-Element kann einer der folgenden Werte sein.
[in, out] NextHopHandle
Wenn der Client über ein Handle verfügt (der Client aktualisiert einen nächsten Hop): Bei der Eingabe ist NextHopHandle ein Zeiger auf das Handle für den nächsten Hop. Bei der Ausgabe bleibt NextHopHandle unverändert.
Wenn der Client über kein Handle verfügt und ein Handle zurückgegeben werden muss (der Client fügt einen nächsten Hop hinzu oder aktualisiert diese): Bei der Eingabe ist NextHopHandle ein Zeiger auf NULL. Bei der Ausgabe empfängt NextHopHandle einen Zeiger auf das Handle für den nächsten Hop. Die Werte in NextHopInfo werden verwendet, um den nächsten zu aktualisierenden Hop zu identifizieren.
Wenn kein Handle zurückgegeben werden muss (client fügt einen nächsten Hop hinzu oder aktualisiert): Bei der Eingabe ist NextHopHandleNULL. Die Werte in NextHopInfo werden verwendet, um den nächsten zu aktualisierenden Hop zu identifizieren.
[out] ChangeFlags
Bei der Eingabe ist ChangeFlags ein Zeiger auf einen RTM_NEXTHOP_CHANGE_FLAGS Datentyp.
Bei der Ausgabe empfängt ChangeFlags ein Flag, das angibt, ob ein nächster Hop hinzugefügt oder aktualisiert wurde. Wenn ChangeFlags null ist, wurde ein nächster Hop aktualisiert. Wenn ChangeFlagsRTM_NEXTHOP_CHANGE_NEW ist, wurde ein nächster Hop hinzugefügt.
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 |
---|---|
|
Der aufrufende Client besitzt diesen nächsten Hop nicht. |
|
Es ist nicht genügend Arbeitsspeicher vorhanden, um diesen Vorgang abzuschließen. |
Hinweise
Wenn NextHopHandle auf ein Handle ohne NULL zeigt, wird der nächste Hop aktualisiert, der durch das Handle angegeben wird. Andernfalls wird nach der von NextHopInfo angegebenen Adresse gesucht. Wenn ein nächster Hop gefunden wird, wird er aktualisiert. Wenn keine Übereinstimmung gefunden wird, wird ein neuer nächster Hop hinzugefügt.
Wenn ein Handle zurückgegeben wurde, geben Sie das Handle frei, wenn es nicht mehr benötigt wird, indem Sie RtmReleaseNextHops aufrufen.
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 |