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