Dela via


Hantera referenser

Routningstabellhanteraren upprätthåller ett referensantal för all information som den underhåller. Detta förhindrar att routningshanteraren tilldelar en klient några referenser till minne som har frigjorts. Varje gång en referens returneras till anroparen, antingen som ett explicit handtag eller som en del av en informationsstruktur, till exempel RTM_DEST_INFO, ökas referensantalet för objektet som motsvarar handtaget. När handtaget eller informationsstrukturen släpps minskas den aktuella referensräkningen. När referensantalet blir noll frigörs objektet.

Funktionerna RtmGetDestInfo, RtmGetEntityInfo, RtmGetRouteInfo och RtmGetNextHopInfo returnerar informationsstrukturer. Dessa funktioner motsvarar RtmReleaseDestInfo, RtmReleaseEntityInfo, RtmReleaseRouteInfo respektive RtmRelaseNextHopInfo funktioner.

Not

Funktionen RtmReleaseChangedDests ska användas för att släppa referenser som har returnerats av ett anrop till RtmGetChangedDests. Använd inte RtmReleaseDests för ändrade målstrukturer.

 

Om en klient måste ha ett specifikt handtag i en informationsstruktur när resten frigörs, kan klienten anropa RtmReferenceHandles med det handtaget innan informationsstrukturen släpps. Handtaget kan sedan släppas genom ett anrop till funktionerna RtmReleaseDestInfo, RtmReleaseEntityInfo, RtmReleaseRouteInfo och RtmRelaseNextHopInfo.