Jump to content

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

From EDM2
Ak120 (talk | contribs)
mNo edit summary
Ak120 (talk | contribs)
mNo edit summary
Line 1: Line 1:
{{Legacy
|RepFunc=[[DosFreeResource]]
|Remarks=This page list the older version of the function for reference.
}}
This call frees a resource loaded by [[DosGetResource2]].
This call frees a resource loaded by [[DosGetResource2]].


Line 29: Line 25:


PBYTE  ResAddr;      /* Resource address */
PBYTE  ResAddr;      /* Resource address */
USHORT  rc;            /* return code */
USHORT  rc;            /* return code */
</PRE>
</PRE>
Line 44: Line 39:
</PRE>
</PRE>


[[Category:Dos]]
[[Category:Dos16]]

Revision as of 03:49, 26 January 2020

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.

Bindings

C

#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