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.