diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index e17ee975f79..52120dd1437 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -1088,8 +1088,8 @@ @ stdcall MoveFileA(str str) @ stdcall MoveFileExA(str str long) @ stdcall MoveFileExW(wstr wstr long) -# @ stub MoveFileTransactedA -# @ stub MoveFileTransactedW +@ stdcall MoveFileTransactedA(str str ptr ptr long ptr) +@ stdcall MoveFileTransactedW(wstr wstr ptr ptr long ptr) @ stdcall MoveFileW(wstr wstr) @ stdcall MoveFileWithProgressA(str str ptr ptr long) @ stdcall MoveFileWithProgressW(wstr wstr ptr ptr long) diff --git a/dlls/kernel32/path.c b/dlls/kernel32/path.c index 841a12b16b1..7dcb9374307 100644 --- a/dlls/kernel32/path.c +++ b/dlls/kernel32/path.c @@ -1268,6 +1268,25 @@ BOOL WINAPI CopyFileExA(LPCSTR sourceFilename, LPCSTR destFilename, return ret; } +/************************************************************************** + * MoveFileTransactedA (KERNEL32.@) + */ +BOOL WINAPI MoveFileTransactedA(const char *source, const char *dest, LPPROGRESS_ROUTINE progress, void *data, DWORD flags, HANDLE handle) +{ + FIXME("(%s, %s, %p, %p, %d, %p)\n", debugstr_a(source), debugstr_a(dest), progress, data, flags, handle); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + +/************************************************************************** + * MoveFileTransactedW (KERNEL32.@) + */ +BOOL WINAPI MoveFileTransactedW(const WCHAR *source, const WCHAR *dest, LPPROGRESS_ROUTINE progress, void *data, DWORD flags, HANDLE handle) +{ + FIXME("(%s, %s, %p, %p, %d, %p)\n", debugstr_w(source), debugstr_w(dest), progress, data, flags, handle); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} /************************************************************************** * MoveFileWithProgressW (KERNEL32.@) diff --git a/include/winbase.h b/include/winbase.h index ea450e1ce7b..7b99424fc12 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -2425,6 +2425,9 @@ WINBASEAPI BOOL WINAPI MoveFileW(LPCWSTR,LPCWSTR); WINBASEAPI BOOL WINAPI MoveFileExA(LPCSTR,LPCSTR,DWORD); WINBASEAPI BOOL WINAPI MoveFileExW(LPCWSTR,LPCWSTR,DWORD); #define MoveFileEx WINELIB_NAME_AW(MoveFileEx) +WINBASEAPI BOOL WINAPI MoveFileTransactedA(const char*,const char*,LPPROGRESS_ROUTINE,void*,DWORD,HANDLE); +WINBASEAPI BOOL WINAPI MoveFileTransactedW(const WCHAR*,const WCHAR*,LPPROGRESS_ROUTINE,void*,DWORD,HANDLE); +#define MoveFileTransacted WINELIB_NAME_AW(MoveFiletransacted) WINBASEAPI BOOL WINAPI MoveFileWithProgressA(LPCSTR,LPCSTR,LPPROGRESS_ROUTINE,LPVOID,DWORD); WINBASEAPI BOOL WINAPI MoveFileWithProgressW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,DWORD); #define MoveFileWithProgress WINELIB_NAME_AW(MoveFileWithProgress)