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.
_CopyPageTable
◄Up► ◄Next► ◄Previous►
────────────────────────────────────────────────────────────────────────────
include vmm.inc
VMMcall _CopyPageTable, <LinPgNum, nPages, <OFFSET32 PageBuf>, flags>
mov [Copied], eax ; nonzero if copied, zero otherwise
The _CopyPageTable service copies one or more page-table entries to the
specified buffer. Virtual devices, such as the virtual DMA device, use this
service to analyze the mapping of linear to physical addresses.
Parameter Description
────────────────────────────────────────────────────────────────────────────
LinPgNum Specifies the number of the first page table entry to copy. This
parameter must be in the range 0 through 0FFFFFh. Numbers in the
range 0 through 10Fh specify pages in the 1 megabyte V86 address
space of the current virtual machine. Page numbers for other
virtual machines can be computed using the CB_High_Linear field
in the control block of each virtual machine.
nPages Specifies the number of page table entries to copy.
PageBuf Points to buffer to receive the page table entries. This buffer
must be large enough to receive the specified number of entries.
Each entry is 4 bytes.
flags Specifies the operation flags. This parameter must be set to 0.
Return Value
The EAX register contains a nonzero value if the copy is successful.
Otherwise, it contains zero indicating that at least one of the specified
page table entries was in a region where the corresponding page directory
entry is not present.
Comments
This service copies the page table, so writing to the buffer does not affect
the content of the actual page table. The system does not update the buffer
when changes to the actual page table are made, so no guarantees are made
about the length of time the information in the buffer remains accurate.
Uses
EAX
♦