* copyfileexw (mantis #29729)

git-svn-id: trunk@33227 -
This commit is contained in:
marco 2016-03-12 22:30:23 +00:00
parent 18296c258f
commit 3ca2c1553d
3 changed files with 59 additions and 0 deletions

View File

@ -6044,6 +6044,58 @@ const
MBIFB_BAR_FOCUSED = $00000001;
MBIFB_FOCUSED = $00000002;
const
//
// Define possible return codes from the CopyFileEx callback routine
//
PROGRESS_CONTINUE = 0;
PROGRESS_CANCEL = 1;
PROGRESS_STOP = 2;
PROGRESS_QUIET = 3;
//
// Define CopyFileEx callback routine state change values
//
CALLBACK_CHUNK_FINISHED = $00000000;
CALLBACK_STREAM_SWITCH = $00000001;
//
// Define CopyFileEx option flags
//
COPY_FILE_FAIL_IF_EXISTS = $00000001;
COPY_FILE_RESTARTABLE = $00000002;
COPY_FILE_OPEN_SOURCE_FOR_WRITE = $00000004;
COPY_FILE_ALLOW_DECRYPTED_DESTINATION = $00000008;
//
// Gap for private copyfile flags
//
COPY_FILE_COPY_SYMLINK = $00000800;
COPY_FILE_NO_BUFFERING = $00001000;
//
// CopyFile2 flags
//
COPY_FILE_REQUEST_SECURITY_PRIVILEGES = $00002000;
COPY_FILE_RESUME_FROM_PAUSE = $00004000;
COPY_FILE_NO_OFFLOAD = $00040000;
//
// Define ReplaceFile option flags
//
REPLACEFILE_WRITE_THROUGH = $00000001;
REPLACEFILE_IGNORE_MERGE_ERRORS = $00000002;
REPLACEFILE_IGNORE_ACL_ERRORS = $00000004;
{$endif read_interface}
{$ifdef read_implementation}

View File

@ -9103,6 +9103,12 @@ type
PMENUBARINFO = ^tagMENUBARINFO;
LPMENUBARINFO = ^tagMENUBARINFO;
// defined here because large_integer is defined in struct.inc
LPPROGRESS_ROUTINE = function(TotalFileSize,TotalBytesTransferred,StreamSize,StreamBytesTransferred:LARGE_INTEGER;dwStreamNumber,dwCallbackReason:DWord;hSourceFile,hDestinationFile :THandle;lpdata:pointer):Dword; Stdcall;
TPROGRESS_ROUTINE = LPPROGRESS_ROUTINE;
{$endif read_interface}

View File

@ -481,6 +481,7 @@ function OpenWaitableTimerW(dwDesiredAccess:DWORD;bInheritHandle:BOOL;lpTimerNam
function FindFirstFileExW(lpfilename : LPCWStr;fInfoLevelId:FINDEX_INFO_LEVELS ;lpFindFileData:pointer;fSearchOp : FINDEX_SEARCH_OPS;lpSearchFilter:pointer;dwAdditionalFlags:dword):Handle; stdcall; external 'kernel32' name 'FindFirstFileExW';
// winver>$0600
function FindFirstFileTransactedW(lpfilename : LPCWStr;fInfoLevelId:FINDEX_INFO_LEVELS ;lpFindFileData:pointer;fSearchOp : FINDEX_SEARCH_OPS;lpSearchFilter:pointer;dwAdditionalFlags:dword;htransaction : HANDLE):Handle; stdcall; external 'kernel32' name 'FindFirstFileTransactedW';
function CopyFileExW(lpExistingFileName,lpNewFileName : LPCWSTR;lpProgressRoutine:LPPROGRESS_ROUTINE;lpdata:Pointer;pbcancel:LPBOOL;dwCopyFlags:DWord):DWord; stdcall; external 'kernel32' name 'CopyFileExW';
{$endif read_interface}