Fonction type_free_inst
Les stubs appellent la fonction type_free_inst pour libérer de la mémoire associée au type présenté. La fonction est définie comme suit :
void __RPC_USER <type>_free_inst(<type> __RPC_FAR *)
Le paramètre pointe vers le type présenté instance. Cet objet ne doit pas être libéré. Pour savoir quand appeler la fonction, consultez Attribut transmit_as.
Dans l’exemple suivant, la liste doublement liée est libérée en parcourant la liste jusqu’à sa fin, puis en sauvegardant et en libérant chaque élément de la liste.
void __RPC_USER DOUBLE_LINK_TYPE_free_inst(
DOUBLE_LINK_TYPE __RPC_FAR * pList)
{
while (pList->pNext != NULL) // go to end of the list
pList = pList->pNext;
pList = pList->pPrevious;
while (pList != NULL)
{
// back through the list
midl_user_free(pList->pNext);
pList = pList->pPrevious;
}
}