Funkce midl_user_free
Vývojáři rpc musí zadat funkci midl_user_free. Uvolní paměť přidělenou midl_user_allocate pro procedury RPC a rutiny knihovny. Vaše funkce midl_user_free musí odpovídat následujícímu prototypu:
void __RPC_USER midl_user_free(void * pBuffer);
Parametr pBuffer určuje ukazatel na paměť, která se má uvolnit. Klientská aplikace i serverová aplikace musí implementovat funkci midl_user_free, pokud nekompilujete v režimu kompatibility OSF (/osf). Funkce midl_user_free musí být schopna uvolnit všechna úložiště přidělená midl_user_allocate.
Aplikace a zástupné procedury volají midl_user_free při práci s přidělenými objekty:
- Serverová aplikace by měla volat midl_user_free uvolnit paměť přidělenou aplikací, například při odstraňování dynamicky přiděleného uzlu dat.
- Procedura serveru volá midl_user_free uvolnit paměť na serveru po zařazování všech argumentů [out], [in],[out] a návratové hodnoty funkce.
Například ukázkový program RPC pro Windows, který zobrazuje "Hello, world", implementuje midl_user_free z hlediska funkce C zdarma:
void __RPC_USER midl_user_free(void __RPC_FAR * p)
{
free(p);
}
Poznámka
Pokud je povolen balíček RpcSs (například v důsledku použití atributu [ enable_allocate] ), serverový program by měl použít RpcSmFree uvolnit paměť. Další informace naleznete v tématu RpcSs Memory Management Package.