VDMAD_Copy_From_Buffer

include vdmad.inc

mov ebx, BufferID
mov esi, OFFSET32 Region
mov edi, OFFSET32 BufferOffset
mov ecx, BufferSize
VxDcall VDMAD_Copy_From_Buffer
jc ErrorHandler
 

Allows another device to copy data from the VDMAD buffer to the DMA region associated with that buffer. Uses EAX, flags

0Ah DMA_Invalid_Buffer: invalid buffer ID supplied.
0Bh DMA_Copy_Out_Range: (ESI + ECX) is greater than buffer size.

BufferID
Buffer identifier.
Region
Address of linear region.
BufferOffset
Offset within the buffer to the start of copying.
BufferSize
Buffer size in bytes.

This service is called after the VDMAD_Request_Buffer service, after a memory write transfer and before the VDMAD_Release_Buffer service.