public static extern bool CopyFileEx( [In] [MarshalAs(UnmanagedType.LPTStr)] string lpExistingFileName, [In] [MarshalAs(UnmanagedType.LPTStr)] string lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, [In] IntPtr lpData, [In] IntPtr pbCancel, COPY_FILE dwCopyFlags);
public static extern bool CopyFileEx([MarshalAs(UnmanagedType.LPTStr)] string lpExistingFileName, [MarshalAs(UnmanagedType.LPTStr)] string lpNewFileName, [MarshalAs(UnmanagedType.FunctionPtr)] CopyProgressRoutine lpProgressRoutine, IntPtr lpData, [In, MarshalAs(UnmanagedType.Bool)] ref bool pbCancel, COPY_FILE dwCopyFlags);