Partager via


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 l’instance de type présentée. Cet objet ne doit pas être libéré. Pour une discussion sur le moment où appeler la fonction, consultez l'Attribut transmit_as .

Dans l’exemple suivant, la liste double liée est libérée en parcourant la liste jusqu’à sa fin, puis en sauvegarde 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;
    }
}