On 9/30/2013 00:51, Daniel JeliĆski wrote:
+struct progress_list { + const DWORD progress_retval_init; /* value to return from progress routine */ + const BOOL cancel_init; /* value to set Cancel flag to */ + const DWORD progress_retval_end; /* value to return from progress routine */ + const BOOL cancel_end; /* value to set Cancel flag to */ + const DWORD progress_count; /* number of times progress is invoked */ + const BOOL copy_retval; /* expected CopyFileEx result */ + const DWORD lastError; /* expected CopyFileEx error code */ +} ; I don't see a point making them 'const'.
+static DWORD WINAPI progress(LARGE_INTEGER TotalFileSize, + LARGE_INTEGER TotalBytesTransferred, + LARGE_INTEGER StreamSize, + LARGE_INTEGER StreamBytesTransferred, + DWORD dwStreamNumber, + DWORD dwCallbackReason, + HANDLE hSourceFile, + HANDLE hDestinationFile, + LPVOID lpData) +{ + progressInvoked++; Please pass all globals as context data with lpData, and please use 'void*' instead of LPVOID.