_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.

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