_lmemcpy


include vmm.inc

cld
VMMcall _lmemcpy, <OFFSET32 pvDst, OFFSET32 pvSrc, dwNumBytes>
mov     OFFSET32 pBuf, eax
mov     OFFSET32 pEndBuf, edx

Performs a forward memory move. Unlike the KERNEL function of a similar name, this service does not support backward memory moves. If the source and destination buffers overlap, the results of this service are undefined. Uses the C calling convention. Uses EAX, ECX, EDX, and Flags. The direction flag must be clear.

pvDst

Address of the destination buffer.

pvSrc

Address of the source buffer.

dwNumBytes

Number of bytes to move to the destination buffer.

Note that the VxD that calls this service is responsible for enabling or disabling interrupts as appropriate. Interrupts must be disabled if atomicity is desired, enabled if pageable data is involved.

No validation is done on any of the parameters of this service.

This is an asynchronous service.