Delen via


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.