Mutatók és memóriafoglalás
A memória mutatókon keresztüli módosításához gyakran szükséges, hogy a kiszolgáló és az ügyfél elegendő memóriát foglaljon le a tömb elemeihez.
Amikor egy csonknak lefoglalnia vagy szabad memóriát kell felszabadítania, futásidejű kódtárfüggvényeket hív meg, amelyek meghívják a függvényeket midl_user_allocate és midl_user_free. Ezek a függvények nem szerepelnek a futásidejű kódtárban. Meg kell írnia ezeknek a függvényeknek a saját verzióit, és össze kell kapcsolnia őket az alkalmazással. Így eldöntheti, hogyan kezelheti a memóriát. Az IDL-fájl OSF-kompatibilis (/osf) módban történő összeállításakor nem kell implementálnia ezeket a függvényeket. Ezeket a függvényeket a következő prototípusokhoz kell írnia:
void __RPC_FAR * __RPC_API midl_user_allocate(size_t len)
void __RPC_API midl_user_free(void __RPC_FAR * ptr)
Az alkalmazásokhoz tartozó függvények verziói például egyszerűen szabványos kódtárfüggvényeket hívhatnak meg:
void __RPC_FAR * __RPC_API midl_user_allocate(size_t len)
{
return(malloc(len));
}
void __RPC_API midl_user_free(void __RPC_FAR * ptr)
{
free(ptr);
}