ReactOS 0.4.16-dev-2274-gc61d98f
moveansi.c File Reference
#include <k32.h>
Include dependency graph for moveansi.c:

Go to the source code of this file.

Functions

BOOL WINAPI MoveFileA (IN LPCSTR lpExistingFileName, IN LPCSTR lpNewFileName)
 
BOOL WINAPI MoveFileExA (IN LPCSTR lpExistingFileName, IN LPCSTR lpNewFileName OPTIONAL, IN DWORD dwFlags)
 
BOOL WINAPI ReplaceFileA (IN LPCSTR lpReplacedFileName, IN LPCSTR lpReplacementFileName, IN LPCSTR lpBackupFileName OPTIONAL, IN DWORD dwReplaceFlags, IN LPVOID lpExclude, IN LPVOID lpReserved)
 
BOOL WINAPI MoveFileWithProgressA (IN LPCSTR lpExistingFileName, IN LPCSTR lpNewFileName OPTIONAL, IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL, IN LPVOID lpData OPTIONAL, IN DWORD dwFlags)
 

Function Documentation

◆ MoveFileA()

BOOL WINAPI MoveFileA ( IN LPCSTR  lpExistingFileName,
IN LPCSTR  lpNewFileName 
)

Definition at line 23 of file moveansi.c.

25{
26 return MoveFileWithProgressA(lpExistingFileName,
27 lpNewFileName,
28 NULL,
29 NULL,
31}
#define NULL
Definition: types.h:112
#define MOVEFILE_COPY_ALLOWED
Definition: filesup.h:29
BOOL WINAPI MoveFileWithProgressA(IN LPCSTR lpExistingFileName, IN LPCSTR lpNewFileName OPTIONAL, IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL, IN LPVOID lpData OPTIONAL, IN DWORD dwFlags)
Definition: moveansi.c:118

Referenced by DosInt21h(), mmioDosIOProc(), test_continuouscabs(), test_delete(), test_file_readonly_access(), test_filenames(), test_FindFirstChangeNotification(), test_LdrGetDllHandleEx(), test_move_file(), test_MoveFileA(), and VerInstallFileA().

◆ MoveFileExA()

BOOL WINAPI MoveFileExA ( IN LPCSTR  lpExistingFileName,
IN LPCSTR lpNewFileName  OPTIONAL,
IN DWORD  dwFlags 
)

Definition at line 39 of file moveansi.c.

42{
43 return MoveFileWithProgressA(lpExistingFileName,
44 lpNewFileName,
45 NULL,
46 NULL,
47 dwFlags);
48}
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141

Referenced by cleanup_eventlog(), process_pending_renames(), rename(), test_move_file(), and test_MoveFileA().

◆ MoveFileWithProgressA()

BOOL WINAPI MoveFileWithProgressA ( IN LPCSTR  lpExistingFileName,
IN LPCSTR lpNewFileName  OPTIONAL,
IN LPPROGRESS_ROUTINE lpProgressRoutine  OPTIONAL,
IN LPVOID lpData  OPTIONAL,
IN DWORD  dwFlags 
)

Definition at line 118 of file moveansi.c.

123{
124 BOOL Ret;
125 UNICODE_STRING ExistingFileNameW, NewFileNameW;
126
127 if (!Basep8BitStringToDynamicUnicodeString(&ExistingFileNameW, lpExistingFileName))
128 {
129 return FALSE;
130 }
131
132 if (lpNewFileName)
133 {
134 if (!Basep8BitStringToDynamicUnicodeString(&NewFileNameW, lpNewFileName))
135 {
136 RtlFreeUnicodeString(&ExistingFileNameW);
137 return FALSE;
138 }
139 }
140 else
141 {
142 NewFileNameW.Buffer = NULL;
143 }
144
145 Ret = MoveFileWithProgressW(ExistingFileNameW.Buffer,
146 NewFileNameW.Buffer,
147 lpProgressRoutine,
148 lpData,
149 dwFlags);
150
151 RtlFreeUnicodeString(&ExistingFileNameW);
152 RtlFreeUnicodeString(&NewFileNameW);
153
154 return Ret;
155}
#define FALSE
Definition: types.h:117
BOOL WINAPI MoveFileWithProgressW(IN LPCWSTR lpExistingFileName, IN LPCWSTR lpNewFileName, IN LPPROGRESS_ROUTINE lpProgressRoutine, IN LPVOID lpData, IN DWORD dwFlags)
Definition: move.c:718
BOOLEAN WINAPI Basep8BitStringToDynamicUnicodeString(OUT PUNICODE_STRING UnicodeString, IN LPCSTR String)
Definition: utils.c:226
unsigned int BOOL
Definition: ntddk_ex.h:94
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)

Referenced by MoveFileA(), and MoveFileExA().

◆ ReplaceFileA()

BOOL WINAPI ReplaceFileA ( IN LPCSTR  lpReplacedFileName,
IN LPCSTR  lpReplacementFileName,
IN LPCSTR lpBackupFileName  OPTIONAL,
IN DWORD  dwReplaceFlags,
IN LPVOID  lpExclude,
IN LPVOID  lpReserved 
)

Definition at line 55 of file moveansi.c.

61{
62 BOOL Ret;
63 UNICODE_STRING ReplacedFileNameW, ReplacementFileNameW, BackupFileNameW;
64
65 if (!lpReplacedFileName || !lpReplacementFileName || lpExclude || lpReserved ||
66 (dwReplaceFlags & ~(REPLACEFILE_WRITE_THROUGH | REPLACEFILE_IGNORE_MERGE_ERRORS)))
67 {
69 return FALSE;
70 }
71
72 if (!Basep8BitStringToDynamicUnicodeString(&ReplacedFileNameW, lpReplacedFileName))
73 {
74 return FALSE;
75 }
76
77 if (!Basep8BitStringToDynamicUnicodeString(&ReplacementFileNameW, lpReplacementFileName))
78 {
79 RtlFreeUnicodeString(&ReplacedFileNameW);
80 return FALSE;
81 }
82
83 if (lpBackupFileName)
84 {
85 if (!Basep8BitStringToDynamicUnicodeString(&BackupFileNameW, lpBackupFileName))
86 {
87 RtlFreeUnicodeString(&ReplacementFileNameW);
88 RtlFreeUnicodeString(&ReplacedFileNameW);
89 return FALSE;
90 }
91 }
92 else
93 {
94 BackupFileNameW.Buffer = NULL;
95 }
96
97 Ret = ReplaceFileW(ReplacedFileNameW.Buffer,
98 ReplacementFileNameW.Buffer,
99 BackupFileNameW.Buffer,
100 dwReplaceFlags, 0, 0);
101
102 if (lpBackupFileName)
103 {
104 RtlFreeUnicodeString(&BackupFileNameW);
105 }
106 RtlFreeUnicodeString(&ReplacementFileNameW);
107 RtlFreeUnicodeString(&ReplacedFileNameW);
108
109 return Ret;
110}
#define ERROR_INVALID_PARAMETER
Definition: compat.h:101
#define SetLastError(x)
Definition: compat.h:752
BOOL WINAPI ReplaceFileW(LPCWSTR lpReplacedFileName, LPCWSTR lpReplacementFileName, LPCWSTR lpBackupFileName, DWORD dwReplaceFlags, LPVOID lpExclude, LPVOID lpReserved)
Definition: move.c:1090
_In_ DWORD _In_ int _In_ int _In_opt_ LPNLSVERSIONINFO _In_opt_ LPVOID lpReserved
Definition: winnls.h:1268

Referenced by test_ReplaceFileA().