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.
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.
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.
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.
Flags