As Si pointed out copy memory copies what is pointed to to a new location not the pointer.

Uses in VB are limited. It is usually used when working with API function that return a UDT. Do a search for copymemory in these forums and you'll see examples of when it is used.