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.
VDMAD_Scatter_Unlock
                                                     Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
include vdmad.inc
 
VxDcall VDMAD_Scatter_Unlock
 
The VDMAD_Scatter_Unlock service attempts to unlock all pages locked by a
previous call to the VDMAD_Scatter_Lock service.
 
Parameter  Description
────────────────────────────────────────────────────────────────────────────
 
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.
 
           4      Prevents pages from being marked as dirty. If bits 0 and 1
                  are set but 2 is clear, then not-present pages are not
                  marked.
 
EDI        Points to the extended DDS (DMA Descriptor Structure) to receive
           the information.
 
Return Value
 
The carry flag is clear if the lock counts have been decremented. If no
other virtual devices had pages locked, the pages have been unlocked. The
carry flag is set if the memory was not locked.
 
Comments
 
If Bits 0 and 1 in the AL register are set, the table at the end of the DDS
is not required to unlock the previously locked pages; otherwise the table
is not used and caller need not maintain the table after the lock call.
 
Uses
 
Flags
 
                                      ♦