- UNICODE_STRING ExistingFileNameU;
- UNICODE_STRING NewFileNameU;
- ANSI_STRING ExistingFileName;
- ANSI_STRING NewFileName;
- BOOL Result;
-
- RtlInitAnsiString (&ExistingFileName,
- (LPSTR)lpExistingFileName);
-
- RtlInitAnsiString (&NewFileName,
- (LPSTR)lpNewFileName);
-
- /* convert ansi (or oem) string to unicode */
- if (bIsFileApiAnsi)
- {
- RtlAnsiStringToUnicodeString (&ExistingFileNameU,
- &ExistingFileName,
- TRUE);
- RtlAnsiStringToUnicodeString (&NewFileNameU,
- &NewFileName,
- TRUE);
- }
- else
- {
- RtlOemStringToUnicodeString (&ExistingFileNameU,
- &ExistingFileName,
- TRUE);
- RtlOemStringToUnicodeString (&NewFileNameU,
- &NewFileName,
- TRUE);
- }
-
- Result = MoveFileWithProgressW (ExistingFileNameU.Buffer,
- NewFileNameU.Buffer,
+ PWCHAR ExistingFileNameW;
+ PWCHAR NewFileNameW;
+ BOOL ret;
+
+ if (!(ExistingFileNameW = FilenameA2W(lpExistingFileName, FALSE)))
+ return FALSE;
+
+ if (!(NewFileNameW= FilenameA2W(lpNewFileName, TRUE)))
+ return FALSE;
+
+ ret = MoveFileWithProgressW (ExistingFileNameW ,
+ NewFileNameW,