include vmm.inc VMMcall _Assign_Device_V86_Pages, <VMLinrPage, nPages, VM, flags> or eax, eax ; nonzero if assigned, zero if error jz not_assigned |
The _Assign_Device_V86_Pages service assigns to a virtual device one or more pages of the V86 address space.
VMLinrPage
Specifies the linear page number of the first page of V86 address space to assign. The page number must be in the range 0 through 10Fh.
nPages
Specifies the number of pages to assign. All pages to assign must be within the V86 address space. If a page is already assigned, this service returns an error value.
VM
Specifies a handle identifying a virtual machine. If this parameter is a valid handle, the assignments apply only to the specified virtual machine. If this parameter is zero, the assignments apply to all virtual machines.
flags
Specifies the operation flags. This parameter must be set to 0.
The EAX register contains a nonzero value if the service is successful. Otherwise, EAX contains zero to indicate an error, such as a specified page already assigned or an invalid page range.
A virtual device can make global assignments at any time, including during device initialization. For global assignments, the VM parameter must be zero. The virtual device must not attempt to assign a page that is already assigned. A virtual device can make local assignments only after device initialization is complete.
EAX