Freigeben über


Verwalten von Handles

Der Routingtabellen-Manager verwaltet eine Verweisanzahl für alle Informationen, die er verwaltet. Dadurch wird verhindert, dass der Routingtabellen-Manager alle freigegebenen Handles an einen Client zurückgibt. Jedes Mal, wenn ein Handle an den Aufrufer zurückgegeben wird, entweder als explizites Handle oder als Teil einer Informationsstruktur, z. B. RTM_DEST_INFO, wird die Verweisanzahl für das Objekt erhöht, das dem Handle entspricht. Wenn das Handle oder die Informationsstruktur freigegeben wird, wird die entsprechende Verweisanzahl verringert. Wenn die Verweisanzahl null ist, wird das Objekt freigegeben.

Die Funktionen RtmGetDestInfo, RtmGetEntityInfo, RtmGetRouteInfo und RtmGetNextHopInfo geben Informationsstrukturen zurück. Diese Funktionen entsprechen den Funktionen RtmReleaseDestInfo, RtmReleaseEntityInfo, RtmReleaseRouteInfo bzw . RtmRelaseNextHopInfo .

Hinweis

Die RtmReleaseChangedDests-Funktion sollte verwendet werden, um Handles freizugeben, die von einem Aufruf von RtmGetChangedDests zurückgegeben wurden. Verwenden Sie RtmReleaseDests nicht für geänderte Zielstrukturen.

 

Wenn ein Client ein bestimmtes Handle in einer Informationsstruktur beibehalten muss, während der Rest freigegeben wird, kann der Client RtmReferenceHandles mit diesem Handle aufrufen, bevor die Informationsstruktur freigegeben wird. Das Handle kann dann durch einen Aufruf der Funktionen RtmReleaseDestInfo, RtmReleaseEntityInfo, RtmReleaseRouteInfo und RtmRelaseNextHopInfo freigegeben werden.