次の方法で共有


type_free_inst関数

スタブは 、type_free_inst 関数を呼び出して、提示された型に関連付けられているメモリを解放します。 関数は次のように定義されます。

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

パラメーターは、提示された型インスタンスを指します。 このオブジェクトは解放しないでください。 関数を呼び出すタイミングについては、「 transmit_as属性」を参照してください。

次の例では、リストを最後まで歩き、リストの各要素をバックアップして解放することで、二重リンクリストが解放されます。

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