DosFreeMem: Difference between revisions
Appearance
Created page with "=== Syntax === rc = DosFreeMem( ''pBaseAddress'' ); === Parameters === PVOID ''pBaseAddress'' (input) This variable should contain the base address of the private/shared..." |
mNo edit summary |
||
Line 1: | Line 1: | ||
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. | |||
=== Syntax === | === Syntax === | ||
rc = DosFreeMem( ''pBaseAddress'' ); | |||
rc = DosFreeMem( ''pBaseAddress'' ); | |||
=== Parameters === | === Parameters === | ||
;PVOID ''pBaseAddress'' (input):This variable should contain the base address of the private/shared memory object, whose reference is to be freed. | |||
This variable should contain the base address of the private/shared memory object, | |||
whose reference is to be freed. | |||
=== Returns === | === Returns === | ||
APIRET rc | |||
The following values can be returned | The following values can be returned | ||
{|class="wikitable" | |||
{| | |0||NO_ERROR | ||
|- | |- | ||
| | |5||ERROR_ACCESS_DENIED | ||
| | |||
|- | |- | ||
| | |95||ERROR_INTERRUPT | ||
| | |||
|- | |- | ||
| | |487||ERROR_INVALID_ADDRESS | ||
| | |} | ||
|ERROR_INVALID_ADDRESS | |||
|} | |||
=== Include Info === | === Include Info === | ||
#define INCL_DOSMEMMGR | #define INCL_DOSMEMMGR | ||
#include | #include <os2.h> | ||
=== Sample Code === | === Sample Code === | ||
<pre> | <pre> | ||
#define INCL_DOSMEMMGR | #define INCL_DOSMEMMGR | ||
#include | #include <os2.h> | ||
PVOID BaseAddress; /* Pointer to the allocated memory block */ | PVOID BaseAddress; /* Pointer to the allocated memory block */ | ||
/* We allocate a memory block, and put the base address of it in BaseAddress */ | /* We allocate a memory block, and put the base address of it in BaseAddress */ | ||
rc = DosFreeMem( BaseAddress); | rc = DosFreeMem( BaseAddress); | ||
if (rc != 0) | if (rc != 0) | ||
{ | { | ||
Line 64: | Line 41: | ||
=== See Also === | === See Also === | ||
[[ | *[[DosAllocSharedMem]] | ||
*[[DosAllocMem]] | |||
[[Category: | [[Category:Dos]] |
Revision as of 16:06, 6 December 2016
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.
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>
Sample Code
#define INCL_DOSMEMMGR #include <os2.h> 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. */ }