/* INCLUDES ****************************************************************/
#include <k32.h>
-
#define NDEBUG
#include <debug.h>
+#if DBG
+DEBUG_CHANNEL(kernel32file);
+#endif
/* FUNCTIONS ****************************************************************/
switch (ProgressResult)
{
case PROGRESS_CANCEL:
- DPRINT("Progress callback requested cancel\n");
+ TRACE("Progress callback requested cancel\n");
errCode = STATUS_REQUEST_ABORTED;
break;
case PROGRESS_STOP:
- DPRINT("Progress callback requested stop\n");
+ TRACE("Progress callback requested stop\n");
errCode = STATUS_REQUEST_ABORTED;
*KeepDest = TRUE;
break;
}
else
{
- DPRINT("Error 0x%08x reading writing to dest\n", errCode);
+ WARN("Error 0x%08x reading writing to dest\n", errCode);
}
}
else if (!NT_SUCCESS(errCode))
}
else
{
- DPRINT("Error 0x%08x reading from source\n", errCode);
+ WARN("Error 0x%08x reading from source\n", errCode);
}
}
}
if (! EndOfFileFound && (NULL != pbCancel && *pbCancel))
{
- DPRINT("User requested cancel\n");
+ TRACE("User requested cancel\n");
errCode = STATUS_REQUEST_ABORTED;
}
}
else
{
- DPRINT("Error 0x%08x allocating buffer of %d bytes\n", errCode, RegionSize);
+ TRACE("Error 0x%08x allocating buffer of %d bytes\n", errCode, RegionSize);
}
return errCode;
FileBasicInformation);
if (!NT_SUCCESS(errCode))
{
- DPRINT("Error 0x%08x obtaining FileBasicInformation\n", errCode);
+ WARN("Error 0x%08x obtaining FileBasicInformation\n", errCode);
}
else
{
FileBasicInformation);
if (!NT_SUCCESS(errCode))
{
- DPRINT("Error 0x%0x setting LastWriteTime\n", errCode);
+ WARN("Error 0x%0x setting LastWriteTime\n", errCode);
}
}
* @implemented
*/
BOOL
-STDCALL
+WINAPI
CopyFileExW (
LPCWSTR lpExistingFileName,
LPCWSTR lpNewFileName,
FileHandleSource = CreateFileW(lpExistingFileName,
GENERIC_READ,
- FILE_SHARE_READ,
+ FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL|FILE_FLAG_NO_BUFFERING,
FileStandardInformation);
if (!NT_SUCCESS(errCode))
{
- DPRINT("Status 0x%08x obtaining FileStandardInformation for source\n", errCode);
+ TRACE("Status 0x%08x obtaining FileStandardInformation for source\n", errCode);
SetLastErrorByStatus(errCode);
}
else
FileBasicInformation);
if (!NT_SUCCESS(errCode))
{
- DPRINT("Status 0x%08x obtaining FileBasicInformation for source\n", errCode);
+ TRACE("Status 0x%08x obtaining FileBasicInformation for source\n", errCode);
SetLastErrorByStatus(errCode);
}
else
}
else
{
- DPRINT("Error %d during opening of dest file\n", GetLastError());
+ WARN("Error %d during opening of dest file\n", GetLastError());
}
}
}
}
else
{
- DPRINT("Error %d during opening of source file\n", GetLastError());
+ WARN("Error %d during opening of source file\n", GetLastError());
}
return RC;
* @implemented
*/
BOOL
-STDCALL
-CopyFileExA (
- LPCSTR lpExistingFileName,
- LPCSTR lpNewFileName,
- LPPROGRESS_ROUTINE lpProgressRoutine,
- LPVOID lpData,
- BOOL *pbCancel,
- DWORD dwCopyFlags
- )
+WINAPI
+CopyFileExA(IN LPCSTR lpExistingFileName,
+ IN LPCSTR lpNewFileName,
+ IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL,
+ IN LPVOID lpData OPTIONAL,
+ IN LPBOOL pbCancel OPTIONAL,
+ IN DWORD dwCopyFlags)
{
- PWCHAR ExistingFileNameW;
- PWCHAR NewFileNameW;
- BOOL Result;
-
- if (!(ExistingFileNameW = FilenameA2W(lpExistingFileName, FALSE)))
- return FALSE;
-
- if (!(NewFileNameW = FilenameA2W(lpNewFileName, TRUE)))
- return FALSE;
-
- Result = CopyFileExW (ExistingFileNameW ,
- NewFileNameW ,
- lpProgressRoutine,
- lpData,
- pbCancel,
- dwCopyFlags);
-
- RtlFreeHeap (RtlGetProcessHeap (),
- 0,
- NewFileNameW);
-
- return Result;
+ BOOL Result = FALSE;
+ UNICODE_STRING lpNewFileNameW;
+ PUNICODE_STRING lpExistingFileNameW;
+
+ lpExistingFileNameW = Basep8BitStringToStaticUnicodeString(lpExistingFileName);
+ if (!lpExistingFileName)
+ {
+ return FALSE;
+ }
+
+ if (Basep8BitStringToDynamicUnicodeString(&lpNewFileNameW, lpNewFileName))
+ {
+ Result = CopyFileExW(lpExistingFileNameW->Buffer,
+ lpNewFileNameW.Buffer,
+ lpProgressRoutine,
+ lpData,
+ pbCancel,
+ dwCopyFlags);
+
+ RtlFreeUnicodeString(&lpNewFileNameW);
+ }
+
+ return Result;
}
* @implemented
*/
BOOL
-STDCALL
+WINAPI
CopyFileA (
LPCSTR lpExistingFileName,
LPCSTR lpNewFileName,
* @implemented
*/
BOOL
-STDCALL
+WINAPI
CopyFileW (
LPCWSTR lpExistingFileName,
LPCWSTR lpNewFileName,
* @implemented
*/
BOOL
-STDCALL
+WINAPI
PrivCopyFileExW (
LPCWSTR lpExistingFileName,
LPCWSTR lpNewFileName,