* Add some missing definition from Wine 1.7.17
CORE-8080

svn path=/trunk/; revision=62789
This commit is contained in:
Amine Khaldi
2014-04-18 22:57:46 +00:00
parent 8f27232d24
commit 35550fac67
+118
View File
@@ -3641,6 +3641,124 @@ typedef BOOL
_Inout_opt_ PVOID Parameter,
_Outptr_opt_result_maybenull_ PVOID *Context);
#if _WIN32_WINNT >= 0x0601
#define COPYFILE2_MESSAGE_COPY_OFFLOAD 0x00000001L
typedef enum _COPYFILE2_MESSAGE_TYPE {
COPYFILE2_CALLBACK_NONE = 0,
COPYFILE2_CALLBACK_CHUNK_STARTED,
COPYFILE2_CALLBACK_CHUNK_FINISHED,
COPYFILE2_CALLBACK_STREAM_STARTED,
COPYFILE2_CALLBACK_STREAM_FINISHED,
COPYFILE2_CALLBACK_POLL_CONTINUE,
COPYFILE2_CALLBACK_ERROR,
COPYFILE2_CALLBACK_MAX,
} COPYFILE2_MESSAGE_TYPE;
typedef enum _COPYFILE2_MESSAGE_ACTION {
COPYFILE2_PROGRESS_CONTINUE = 0,
COPYFILE2_PROGRESS_CANCEL,
COPYFILE2_PROGRESS_STOP,
COPYFILE2_PROGRESS_QUIET,
COPYFILE2_PROGRESS_PAUSE,
} COPYFILE2_MESSAGE_ACTION;
typedef enum _COPYFILE2_COPY_PHASE {
COPYFILE2_PHASE_NONE = 0,
COPYFILE2_PHASE_PREPARE_SOURCE,
COPYFILE2_PHASE_PREPARE_DEST,
COPYFILE2_PHASE_READ_SOURCE,
COPYFILE2_PHASE_WRITE_DESTINATION,
COPYFILE2_PHASE_SERVER_COPY,
COPYFILE2_PHASE_NAMEGRAFT_COPY,
COPYFILE2_PHASE_MAX,
} COPYFILE2_COPY_PHASE;
typedef struct COPYFILE2_MESSAGE {
COPYFILE2_MESSAGE_TYPE Type;
DWORD dwPadding;
union {
struct {
DWORD dwStreamNumber;
DWORD dwReserved;
HANDLE hSourceFile;
HANDLE hDestinationFile;
ULARGE_INTEGER uliChunkNumber;
ULARGE_INTEGER uliChunkSize;
ULARGE_INTEGER uliStreamSize;
ULARGE_INTEGER uliTotalFileSize;
} ChunkStarted;
struct {
DWORD dwStreamNumber;
DWORD dwFlags;
HANDLE hSourceFile;
HANDLE hDestinationFile;
ULARGE_INTEGER uliChunkNumber;
ULARGE_INTEGER uliChunkSize;
ULARGE_INTEGER uliStreamSize;
ULARGE_INTEGER uliStreamBytesTransferred;
ULARGE_INTEGER uliTotalFileSize;
ULARGE_INTEGER uliTotalBytesTransferred;
} ChunkFinished;
struct {
DWORD dwStreamNumber;
DWORD dwReserved;
HANDLE hSourceFile;
HANDLE hDestinationFile;
ULARGE_INTEGER uliStreamSize;
ULARGE_INTEGER uliTotalFileSize;
} StreamStarted;
struct {
DWORD dwStreamNumber;
DWORD dwReserved;
HANDLE hSourceFile;
HANDLE hDestinationFile;
ULARGE_INTEGER uliStreamSize;
ULARGE_INTEGER uliStreamBytesTransferred;
ULARGE_INTEGER uliTotalFileSize;
ULARGE_INTEGER uliTotalBytesTransferred;
} StreamFinished;
struct {
DWORD dwReserved;
} PollContinue;
struct {
COPYFILE2_COPY_PHASE CopyPhase;
DWORD dwStreamNumber;
HRESULT hrFailure;
DWORD dwReserved;
ULARGE_INTEGER uliChunkNumber;
ULARGE_INTEGER uliStreamSize;
ULARGE_INTEGER uliStreamBytesTransferred;
ULARGE_INTEGER uliTotalFileSize;
ULARGE_INTEGER uliTotalBytesTransferred;
} Error;
} Info;
} COPYFILE2_MESSAGE;
typedef COPYFILE2_MESSAGE_ACTION
(CALLBACK *PCOPYFILE2_PROGRESS_ROUTINE)(
_In_ const COPYFILE2_MESSAGE *pMessage,
_In_opt_ PVOID pvCallbackContext);
typedef struct COPYFILE2_EXTENDED_PARAMETERS {
DWORD dwSize;
DWORD dwCopyFlags;
BOOL *pfCancel;
PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine;
PVOID pvCallbackContext;
} COPYFILE2_EXTENDED_PARAMETERS;
WINBASEAPI
HRESULT
WINAPI
CopyFile2(
_In_ PCWSTR pwszExistingFileName,
_In_ PCWSTR pwszNewFileName,
_In_opt_ COPYFILE2_EXTENDED_PARAMETERS *pExtendedParameters);
#endif /* _WIN32_WINNT >= 0x0601 */
#ifdef _MSC_VER
#pragma warning(pop)
#endif