_DeAssign_Device_V86_Pages
include vmm.inc
VMMCall _DeAssign_Device_V86_Pages, <VMLinrPage, nPages, VM, flags>
or eax, eax ; nonzero if unassigned, zero if error
jz not_unassigned
Frees a region in the V86 address space which was previously assigned using the _Assign_Device_V86_Pages service. Uses EAX, ECX, EDX, and Flags.
- Returns a nonzero value in the EAX register if successful, zero otherwise.
- VMLinrPage
- Linear page number of the first page to free. The page number must be in the range 0 through 10Fh.
- nPages
- Number of pages to free. The service returns an error if the page range does not fall entirely within the V86 address space, or if any page in the range is not assigned.
- VM
- Handle of a virtual machine, or zero. If this parameter is a valid handle, the assigned pages are freed in the context of the specified virtual machine. If this parameter is zero, the page assignments are freed globally.
- flags
- Operation flags. Must be 0.
This service only works after device initialization is complete.
A virtual device must not attempt to free pages that have not been assigned, or attempt to globally free pages that were only assigned in the context of a specific virtual machine.
See Also
_Assign_Device_V86_Pages