Robert Shearman rob@codeweavers.com writes:
- /*
* Open the replacement file for reading, writing, and deleting
* (writing and deleting are needed when finished)
*/
- if ((hReplacement = CreateFileW(lpReplacementFileName,
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
NULL, OPEN_EXISTING, 0, 0)) == INVALID_HANDLE_VALUE)
- {
error = GetLastError(); /* Use error returned by CreateFileW */
goto fail;
- }
Files should be opened with NtOpenFile the same way MoveFile does, to avoid having to convert path names twice.