Sdílet prostřednictvím


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.