Virtual Devices (3.1) (vdag31qh.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
_PageFree
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
include vmm.inc
 
VMMcall _PageFree, <hMem, flags>
 
or      eax, eax        ; nonzero if freed, zero if error
jz      not_freed
 
The _PageFree service frees the specified memory block.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
hMem       Specifies a handle identifying the memory block to free. This
           handle must have been previously created using the _PageAllocate
           or _PageReAllocate service.
 
flags      Specifies the operation flags. This parameter must be set to
           zero.
 
Return Value
 
The EAX register contains a nonzero value if the service is successful.
Otherwise, EAX contains zero to indicate an error, such as an invalid memory
handle.
 
Comments
 
Virtual devices that allocate PG_VM or PG_HOOKED pages must free these pages
when the associated virtual machine is destroyed. PG_SYS pages do not need
to be freed when Windows exits.
 
If a virtual device maps a memory block into the V86 address space (using
the _MapIntoV86 service), it should unmap the memory block before attempting
to free it.
 
It is not an error to free memory which is all or partially locked.
 
Uses
 
EAX
 
See Also
 
_PageAllocate, _PageReAllocate