Reactos
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at master 87 lines 2.3 kB view raw
1/* 2 * COPYRIGHT: See COPYING in the top level directory 3 * PROJECT: ReactOS system libraries 4 * FILE: dll/win32/kernel32/client/file/copyansi.c 5 * PURPOSE: Copying files 6 * PROGRAMMER: Ariadne (ariadne@xs4all.nl) 7 */ 8 9/* INCLUDES ****************************************************************/ 10 11#include <k32.h> 12 13/* FUNCTIONS ****************************************************************/ 14 15/* 16 * @implemented 17 */ 18BOOL 19WINAPI 20CopyFileExA(IN LPCSTR lpExistingFileName, 21 IN LPCSTR lpNewFileName, 22 IN LPPROGRESS_ROUTINE lpProgressRoutine OPTIONAL, 23 IN LPVOID lpData OPTIONAL, 24 IN LPBOOL pbCancel OPTIONAL, 25 IN DWORD dwCopyFlags) 26{ 27 BOOL Result = FALSE; 28 UNICODE_STRING lpNewFileNameW; 29 PUNICODE_STRING lpExistingFileNameW; 30 31 lpExistingFileNameW = Basep8BitStringToStaticUnicodeString(lpExistingFileName); 32 if (!lpExistingFileNameW) 33 { 34 return FALSE; 35 } 36 37 if (Basep8BitStringToDynamicUnicodeString(&lpNewFileNameW, lpNewFileName)) 38 { 39 Result = CopyFileExW(lpExistingFileNameW->Buffer, 40 lpNewFileNameW.Buffer, 41 lpProgressRoutine, 42 lpData, 43 pbCancel, 44 dwCopyFlags); 45 46 RtlFreeUnicodeString(&lpNewFileNameW); 47 } 48 49 return Result; 50} 51 52 53/* 54 * @implemented 55 */ 56BOOL 57WINAPI 58CopyFileA(IN LPCSTR lpExistingFileName, 59 IN LPCSTR lpNewFileName, 60 IN BOOL bFailIfExists) 61{ 62 BOOL Result = FALSE; 63 UNICODE_STRING lpNewFileNameW; 64 PUNICODE_STRING lpExistingFileNameW; 65 66 lpExistingFileNameW = Basep8BitStringToStaticUnicodeString(lpExistingFileName); 67 if (!lpExistingFileNameW) 68 { 69 return FALSE; 70 } 71 72 if (Basep8BitStringToDynamicUnicodeString(&lpNewFileNameW, lpNewFileName)) 73 { 74 Result = CopyFileExW(lpExistingFileNameW->Buffer, 75 lpNewFileNameW.Buffer, 76 NULL, 77 NULL, 78 NULL, 79 (bFailIfExists ? COPY_FILE_FAIL_IF_EXISTS : 0)); 80 81 RtlFreeUnicodeString(&lpNewFileNameW); 82 } 83 84 return Result; 85} 86 87/* EOF */