Die _ typfreie _ inst-Funktion

Die Stubs rufen die Funktion _ type free _ inst auf, um Arbeitsspeicher freizugeben, der dem dargestellten Typ zugeordnet ist. Die Funktion ist wie folgt definiert:

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

Der Parameter zeigt auf die dargestellte Typinstanz. Dieses Objekt sollte nicht freigegeben werden. Eine Erläuterung dazu, wann die Funktion aufgerufen werden soll, finden Sie unter Die Übertragung _ als Attribut.

Im folgenden Beispiel wird die doppelt verknüpfte Liste freigegeben, indem die Liste bis zum Ende durchläuft, dann gesichert und jedes Element der Liste freigegeben wird.

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