De functie midl_user_free
De midl_user_free-functie moet worden geleverd door RPC-ontwikkelaars. Er wordt geheugen vrijgemaakt dat is toegewezen door midl_user_allocate voor de RPC-stubs en bibliotheekroutines. Uw midl_user_free-functie moet overeenkomen met het volgende prototype:
void __RPC_USER midl_user_free(void * pBuffer);
De parameter pBuffer geeft een aanwijzer op naar het geheugen dat moet worden vrijgemaakt. Zowel clienttoepassing als servertoepassing moeten de midl_user_free-functie implementeren, tenzij u de osF-compatibiliteitsmodus (/osf) compileert. De functie midl_user_free moet alle opslag die door midl_user_allocateis toegewezen, kunnen vrijmaken.
Toepassingen en stubs roepen midl_user_free aan bij het verwerken van toegewezen objecten:
- De servertoepassing moet midl_user_free aanroepen om geheugen vrij te maken dat door de toepassing is toegewezen, bijvoorbeeld bij het verwijderen van een dynamisch toegewezen knooppunt met gegevens.
- De server-stub roept midl_user_free aan om geheugen vrij te geven op de server nadat alle [out] argumenten, [in],[out] argumenten en de retourwaarde van de functie zijn geretourneerd.
Het RPC Windows-voorbeeldprogramma waarin 'Hallo, wereld' wordt weergegeven, implementeert bijvoorbeeld midl_user_free in termen van de C-functie gratis:
void __RPC_USER midl_user_free(void __RPC_FAR * p)
{
free(p);
}
Notitie
Als het RpcSs-pakket is ingeschakeld (bijvoorbeeld als gevolg van het gebruik van het kenmerk [enable_allocate]), moet uw serverprogramma RpcSmFree gebruiken om geheugen vrij te maken. Zie RpcSs Memory Management Packagevoor meer informatie.