Compartilhar via


A função type_free_inst

Os stubs chamam a função type_free_inst para liberar memória associada ao tipo apresentado. A função é definida como:

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

O parâmetro aponta para a instância de tipo apresentada. Esse objeto não deve ser liberado. Para obter uma discussão sobre quando chamar a função, consulte O atributo transmit_as.

No exemplo a seguir, a lista vinculada dupla é liberada percorrendo a lista até o final e, em seguida, fazendo backup e liberando cada elemento da 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;
    }
}