Compartir a través de


Función type_free_inst

Los códigos auxiliares llaman a la función type_free_inst para liberar memoria asociada al tipo presentado. La función se define como:

void __RPC_USER <type>_free_inst(<type> __RPC_FAR *)

El parámetro apunta a la instancia de tipo presentada. Este objeto no debe liberarse. Para obtener una explicación sobre cuándo llamar a la función, vea El atributo transmit_as.

En el ejemplo siguiente, la lista vinculada doble se libera al recorrer la lista hasta su final y, a continuación, realizar copias de seguridad y liberar cada elemento de la lista.

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;
    }
}