Jump to content

DosFreeMem

From EDM2
Revision as of 00:11, 17 May 2016 by Martini (talk | contribs) (Created page with "=== Syntax === rc = DosFreeMem( ''pBaseAddress'' ); === Parameters === PVOID ''pBaseAddress'' (input) This variable should contain the base address of the private/shared...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Syntax

rc = DosFreeMem( pBaseAddress );


Parameters

 PVOID pBaseAddress (input)

This variable should contain the base address of the private/shared memory object, whose reference is to be freed.

Returns

 APIRET rc

The following values can be returned

0 NO_ERROR
5 ERROR_ACCESS_DENIED
95 ERROR_INTERRUPT
487 ERROR_INVALID_ADDRESS

Include Info

#define INCL_DOSMEMMGR
#include <os2.h>


Usage Explanation

DosFreeMem will free the private or shared memory block from the process. The released page will automaticly get an access protection of 'no access'. If no other references to this memory block exists throughout the system, it will be discarded, and can later be reused.


Relevant Structures

Gotchas

Sample Code

#define INCL_DOSMEMMGR
#include 

PVOID BaseAddress;  /* Pointer to the allocated memory block */

/* We allocate a memory block, and put the base address of it in BaseAddress */

	rc = DosFreeMem( BaseAddress);

	if (rc != 0)
	{
	  /* We got an error to take care of. */
	}

See Also

DosAllocSharedMem, DosAllocMem