Jump to content

DosFreeResource (OS/2 1.x): Difference between revisions

From EDM2
Ak120 (talk | contribs)
Ak120 (talk | contribs)
mNo edit summary
Line 1: Line 1:
==Description==
This call frees a resource loaded by [[DosGetResource2]].
This call frees a resource loaded by DosGetResource2.  


==Syntax==
==Syntax==
<PRE>
  DosFreeResource (ResAddr)
  DosFreeResource


    (ResAddr)
</PRE>
==Parameters==
==Parameters==
ResAddr (PBYTE) - input : The address of the resource to free.
;ResAddr (PBYTE) - input : The address of the resource to free.
 
==Return Code==
==Return Code==
  rc (USHORT) - return
  rc (USHORT) - return
Return code descriptions are:
Return code descriptions are:
* 0        NO_ERROR  
* 0        NO_ERROR  
* 6        ERROR_ACCESS_DENIED  
* 6        ERROR_ACCESS_DENIED  
Line 23: Line 18:
After the last reference to a resource is freed, the memory becomes available for reuse by the system. However, the memory is not reused until the system determines it cannot satisfy a memory allocation request. This allows the resource to remain in memory in case the process issues another DosGetResource2 call. The system thus avoids having to reread the contents of the resource from disk.  
After the last reference to a resource is freed, the memory becomes available for reuse by the system. However, the memory is not reused until the system determines it cannot satisfy a memory allocation request. This allows the resource to remain in memory in case the process issues another DosGetResource2 call. The system thus avoids having to reread the contents of the resource from disk.  


==Example Code==
===C Binding===
===C Binding===
<PRE>
<PRE>
Line 45: Line 39:
Returns WORD
Returns WORD
</PRE>
</PRE>
==Related Functions==
*


[[Category:The OS/2 API Project]]
[[Category:Dos]]

Revision as of 16:37, 1 March 2017

This call frees a resource loaded by DosGetResource2.

Syntax

DosFreeResource (ResAddr)

Parameters

ResAddr (PBYTE) - input
The address of the resource to free.

Return Code

rc (USHORT) - return

Return code descriptions are:

  • 0 NO_ERROR
  • 6 ERROR_ACCESS_DENIED

Remarks

DosFreeResource is used to free resources obtained with DosGetResource2.

After the last reference to a resource is freed, the memory becomes available for reuse by the system. However, the memory is not reused until the system determines it cannot satisfy a memory allocation request. This allows the resource to remain in memory in case the process issues another DosGetResource2 call. The system thus avoids having to reread the contents of the resource from disk.

C Binding

#define INCL_DOSFREERESOURCE

USHORT  rc = DosFreeResource(ResAddr);

PBYTE            ResAddr;       /* Resource address */

USHORT           rc;            /* return code */

MASM Binding

EXTRN  DosFreeResource:FAR
INCL_DOSFREERESOURCE   EQU 1

PUSH   DWORD   ResAddr       ;Resource address
CALL   DosFreeResource

Returns WORD