title: Is an atomic file rename (with overwrite) possible on Windows?
body: <p>On POSIX systems rename(2) provides for an atomic rename operation, including overwriting of the destination file if it exists and if permissions allow.</p>
  
  <p>Is there any way to get the same semantics on Windows? I know about MoveFileTransacted() on Vista and Server 2008, but I need this to support Win2k and up.</p>
  
  <p>The key word here is <em>atomic</em>... the solution must not be able to fail in any way that leaves the operation in an inconsistent state.</p>
  
  <p>I've seen a lot of people say this is impossible on win32, but I ask you, is it really? </p>
  
  <p>Please provide reliable citations if possible.</p>