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.
_SetDescriptor
◄Up► ◄Next► ◄Previous►
────────────────────────────────────────────────────────────────────────────
include vmm.inc
VMMcall _SetDescriptor, <Selector, VM, DescDWORD1, DescDWORD2, flags>
or eax, eax ; nonzero if set, zero if error
jz not_set
The _SetDescriptor service sets (changes) the descriptor of the given
selector.
Parameter Description
────────────────────────────────────────────────────────────────────────────
Selector Specifies the GDT or LDT selector to set.
VM Specifies a handle identifying the virtual machine to which the
specified LDT selector belongs. The service ignores this
parameter if Selector is a GDT selector. Otherwise, the handle
must be valid for LDT selectors.
DescDWORD1 Specifies the high doubleword of the descriptor for the
selector. This parameter contains the high 16 bits of the base
address, the high 4 bits of the limit, and the status and type
bits.
DescDWORD2 Specifies the low doubleword of the descriptor for the selector.
This parameter contains the low 16 bits of the base address and
limit.
flags Specifies the operation flags. This parameter must be set to 0.
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
selector or an invalid virtual machine handle.
Comments
This service ignores the high 16-bits of the Selector parameter; the 80386
CPU often sets these bits to random values when doubleword operations are
performed on segment registers.
The service ignores the RPL bits of the selector.
Uses
EAX
See Also
_GetDescriptor
♦