Megosztás a következőn keresztül:


A midl_user_free függvény

A midl_user_free függvényt RPC-fejlesztőknek kell megadniuk. Felszabadítja a midl_user_allocate által lefoglalt memóriát az RPC-csonkok és a tár rutinjai számára. A midl_user_free függvénynek a következő prototípusnak kell megfelelnie:

void __RPC_USER midl_user_free(void * pBuffer);

A pBuffer paraméter a felszabadítani kívánt memória mutatóját adja meg. Az ügyfélalkalmazásnak és a kiszolgálóalkalmazásnak egyaránt implementálnia kell a midl_user_free függvényt, kivéve, ha OSF-kompatibilitási (/osf) módban van összeállítva. A midl_user_free függvénynek képesnek kell lennie a midl_user_allocateáltal lefoglalt összes tárterület felszabadítására.

Az alkalmazások és csonkok meghívják midl_user_free a lefoglalt objektumok kezelésekor:

  • A kiszolgálóalkalmazásnak meghívnia kell midl_user_free az alkalmazás által lefoglalt memória felszabadítására, például egy dinamikusan lefoglalt adatcsomópont törlésekor.
  • A kiszolgálói csonk meghívja a midl_user_free, hogy felszabadítsa a memóriát a kiszolgálón az összes [out] argumentum, [in],[out] argumentum és a függvény visszatérési értéke után.

A "Hello, world" kifejezést megjelenítő RPC Windows-mintaprogram például a C függvény ingyenességével valósítja meg a midl_user_free:

void __RPC_USER midl_user_free(void __RPC_FAR * p)
{
    free(p);
}

Jegyzet

Ha az RpcSs-csomag engedélyezve van (például a [ enable_allocate] attribútum használata miatt), a kiszolgálóprogramnak RpcSmFree kell használnia a memória felszabadításához. További információ: RpcSs Memóriakezelési csomag.