Author: akhaldi
Date: Fri Apr 18 22:57:46 2014
New Revision: 62789
URL:
http://svn.reactos.org/svn/reactos?rev=62789&view=rev
Log:
[PSDK]
* Add some missing definition from Wine 1.7.17
CORE-8080
Modified:
trunk/reactos/include/psdk/winbase.h
Modified: trunk/reactos/include/psdk/winbase.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winbase.h?rev…
==============================================================================
--- trunk/reactos/include/psdk/winbase.h [iso-8859-1] (original)
+++ trunk/reactos/include/psdk/winbase.h [iso-8859-1] Fri Apr 18 22:57:46 2014
@@ -3641,6 +3641,124 @@
_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