Bisogna solo aggiungere che la CopyMemory, in un sistema Win32, non legge effettivamente dalla RAM fisica come faceva la Peek del Basic in DOS.
Questa legge soltanto da indirizzi mappati dal sistema al processo. In quanto tali, sono virtuali e non corrispondono agli indirizzi della RAM.
Insomma ... se vuoi leggere/scrivere, ad esempio, la memoria video, non puoi farlo con la CopyMemory (anzi, in modalità utente, è complesso farlo in Windows).