Administración de identificadores
El administrador de tablas de enrutamiento mantiene un recuento de referencias para toda la información que mantiene. Esto impide que el administrador de tablas de enrutamiento vuelva a un cliente cualquier identificador de memoria que se haya liberado. Cada vez que se devuelve un identificador al autor de la llamada, ya sea como un identificador explícito o como parte de una estructura de información, como RTM_DEST_INFO, se incrementa el recuento de referencias del objeto que corresponde al identificador. Cuando se libera el identificador o la estructura de información, se reduce el recuento de referencias adecuado. Cuando el recuento de referencias se convierte en cero, el objeto se libera.
Las funciones RtmGetDestInfo, RtmGetEntityInfo, RtmGetRouteInfo y RtmGetNextHopInfo devuelven estructuras de información. Estas funciones corresponden a las funciones RtmReleaseDestInfo, RtmReleaseEntityInfo, RtmReleaseRouteInfo y RtmRelaseNextHopInfo , respectivamente.
Nota
La función RtmReleaseChangedDests debe usarse para liberar identificadores devueltos por una llamada a RtmGetChangedDests. No use RtmReleaseDests para las estructuras de destino modificadas.
Si un cliente debe mantener un identificador específico en una estructura de información al liberar el resto, el cliente puede llamar a RtmReferenceHandles con ese identificador antes de liberar la estructura de información. A continuación, el identificador se puede liberar mediante una llamada a las funciones RtmReleaseDestInfo, RtmReleaseEntityInfo, RtmReleaseRouteInfo y RtmRelaseNextHopInfo .