title: Use VirtualProtect to mark pages as copy-on-write (poor-man's fork on windows)
body: <p>I use VirtualAlloc(Ex) to allocate and commit a large range of pages.</p>
  
  <p>Later in the execution I wish to "fork" that memory, launch a new process that can read it in it's current state, while the parent process treats it as copy-on-write memory.</p>
  
  <p>Can this be done with VirtualAlloc(Ex) and VirtualProtect(Ex)?</p>
  
  <p>This is trivial on posix systems thanks to fork(). Can I emulate just this part of fork efficiently on windows?</p>
  
  <p>Thanks,
  -Dan</p>