VDMAD_Scatter_Unlock


include vdmad.inc

mov ebx, VMHandle
mov al, Flags
mov edi, OFFSET32 DDS
VxDcall VDMAD_Scatter_Unlock
jc ErrorHandler

Attempts to unlock all pages locked by a previous call to the VDMAD_Scatter_Lock service. Uses flags

VMHandle

Specifies the virtual machine handle.

Flags

Specifies the operation flags. The parameter can be one of the following values:

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.


DDS

Points to the extended DDS (DMA Descriptor Structure) to receive the information.

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.