include vdmad.inc VxDcall VDMAD_Scatter_Lock |
The VDMAD_Scatter_Lock service attempts to lock all pages mapped to a DMA region, and return the actual physical addresses of the pages.
EBX
Specifies the virtual machine handle.
AL
Specifies the operation flags. The parameter can be one of the following values:
Value | Meaning |
0 | Fills the DDS table with physical addresses and sizes of the physical regions that make up the DMA region. |
1 | Fills the DDS table with the actual page table entries. |
2 | Prevents not-present pages from being locked. This value is ignored if bit 0 is not set. |
EDI
Points to the extended DDS (DMA Descriptor Structure) to receive the information.
The carry flag is clear, and the zero flag is set if the entire region is locked. The zero flag is clear if only a portion of the region is locked. If the carry flag is set, nothing is locked.
The EDX register contains the number of table entries needed to describe whole region, and the DDS_size field specifies the number of bytes locked.
If the request was for page table copy (AL set to 1 or 3), then The ESI register contains an offset into first page for start of the region.
EDX, ESI, Flags