> MoveFileTransacted is only available under Vista or later. You should be able to use MoveFileEx for the same effect.
Nice.
> "The solution? Let's remember that metadata changes are atomic. Rename is such a case."
>
Hmmm.
Is he referring to the "standard" rename? The blog doesn't evoke a
specific function, but if it was the case, then why bother at all?
By the way:
"""
- MoveFileEx() with MOVEFILE_REPLACE_EXISTING and
MOVEFILE_WRITE_THROUGH flags: not atomic (eg. "If the file is to be
moved to a different volume, the function simulates the move by using
the CopyFile and DeleteFile functions."), version >= Windows 2000
"""
There's exactly the same limitation with the POSIX version (except
that it'll fail with EXDEV instead of silently doing the copy+unlink). |