_Assign_Device_V86_Pages


include vmm.inc

VMMcall _Assign_Device_V86_Pages, <VMLinrPage, nPages, VM, flags>

or      eax, eax            ; nonzero if assigned, zero if error
jz      not_assigned

Assigns to a virtual device one or more pages of the V86 address space. Uses EAX, ECX, EDX, and Flags.

VMLinrPage

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

Number of pages to assign. 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 already assigned.

VM

Handle of a virtual machine, or zero. If this parameter is a valid handle, the page assignments are made in the context of the specified virtual machine. If this parameter is zero, the page assignments are made globally.

flags

Operation flags. Must be 0.

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.

See also _DeAssign_Device_V86_Pages