mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-11-21 16:46:54 -08:00
Added vssapi-CreateVssBackupComponents patchset
This commit is contained in:
parent
54f9a82de8
commit
50f0724f43
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "5b72f909bb80c690e21bb33cadd3913903c38019"
|
||||
echo "8e0139af2a1cd1ac12aadfa18c8bb04552433ce4"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
@ -325,6 +325,7 @@ patch_enable_all ()
|
||||
enable_version_VerFindFileA="$1"
|
||||
enable_version_VerQueryValue="$1"
|
||||
enable_virtdisk_OpenVirtualDisk="$1"
|
||||
enable_vssapi_CreateVssBackupComponents="$1"
|
||||
enable_widl_SLTG_Typelib_Support="$1"
|
||||
enable_windowscodecs_32bppPRGBA="$1"
|
||||
enable_windowscodecs_GIF_Encoder="$1"
|
||||
@ -1136,6 +1137,9 @@ patch_enable ()
|
||||
virtdisk-OpenVirtualDisk)
|
||||
enable_virtdisk_OpenVirtualDisk="$2"
|
||||
;;
|
||||
vssapi-CreateVssBackupComponents)
|
||||
enable_vssapi_CreateVssBackupComponents="$2"
|
||||
;;
|
||||
widl-SLTG_Typelib_Support)
|
||||
enable_widl_SLTG_Typelib_Support="$2"
|
||||
;;
|
||||
@ -6688,6 +6692,33 @@ if test "$enable_virtdisk_OpenVirtualDisk" -eq 1; then
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset vssapi-CreateVssBackupComponents
|
||||
# |
|
||||
# | This patchset fixes the following Wine bugs:
|
||||
# | * [#37639] vssapi: Add ?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@ stub
|
||||
# | * [#46088] vssapi: Add CreateVssBackupComponentsInternal stub
|
||||
# |
|
||||
# | Modified files:
|
||||
# | * dlls/vssapi/main.c, dlls/vssapi/vssapi.spec, include/Makefile.in, include/vsbackup.idl, include/vss.idl,
|
||||
# | include/vswriter.h, include/vswriter.idl
|
||||
# |
|
||||
if test "$enable_vssapi_CreateVssBackupComponents" -eq 1; then
|
||||
patch_apply vssapi-CreateVssBackupComponents/0001-include-Add-more-VSS_-typedefs.patch
|
||||
patch_apply vssapi-CreateVssBackupComponents/0002-include-Add-VSS-writer-enum.patch
|
||||
patch_apply vssapi-CreateVssBackupComponents/0003-include-Convert-header-vswriter-to-an-idl.patch
|
||||
patch_apply vssapi-CreateVssBackupComponents/0004-include-Add-vsbackup.idl.patch
|
||||
patch_apply vssapi-CreateVssBackupComponents/0005-vssapi-Add-CreateVssBackupComponentsInternal-stub.patch
|
||||
patch_apply vssapi-CreateVssBackupComponents/0006-vssapi-Add-CreateVssBackupComponents-YGJPAPAVIVssBac.patch
|
||||
(
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "include: Add more VSS_* typedefs.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "include: Add VSS writer enum.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "include: Convert header vswriter to an idl.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "include: Add vsbackup.idl.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "vssapi: Add CreateVssBackupComponentsInternal stub.", 1 },';
|
||||
printf '%s\n' '+ { "Alistair Leslie-Hughes", "vssapi: Add ?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z stub.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
# Patchset windowscodecs-GIF_Encoder
|
||||
# |
|
||||
# | Modified files:
|
||||
|
@ -0,0 +1,118 @@
|
||||
From b07afce983260fac437bf17d16c61200a1dc8bd3 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 14 Jan 2019 11:02:10 +1100
|
||||
Subject: [PATCH 1/6] include: Add more VSS_* typedefs
|
||||
|
||||
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
---
|
||||
include/vss.idl | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 90 insertions(+)
|
||||
|
||||
diff --git a/include/vss.idl b/include/vss.idl
|
||||
index 62335ea..a190e66 100644
|
||||
--- a/include/vss.idl
|
||||
+++ b/include/vss.idl
|
||||
@@ -19,6 +19,8 @@
|
||||
import "oaidl.idl";
|
||||
|
||||
typedef GUID VSS_ID;
|
||||
+typedef [unique, string] WCHAR *VSS_PWSZ;
|
||||
+typedef LONGLONG VSS_TIMESTAMP;
|
||||
|
||||
typedef enum _VSS_APPLICATION_LEVEL
|
||||
{
|
||||
@@ -29,3 +31,91 @@ typedef enum _VSS_APPLICATION_LEVEL
|
||||
VSS_APP_FRONT_END = 3,
|
||||
VSS_APP_SYSTEM_RM = 4
|
||||
} VSS_APPLICATION_LEVEL;
|
||||
+
|
||||
+typedef enum _VSS_BACKUP_TYPE
|
||||
+{
|
||||
+ VSS_BT_UNDEFINED,
|
||||
+ VSS_BT_FULL,
|
||||
+ VSS_BT_INCREMENTAL,
|
||||
+ VSS_BT_DIFFERENTIAL,
|
||||
+ VSS_BT_LOG,
|
||||
+ VSS_BT_COPY,
|
||||
+ VSS_BT_OTHER
|
||||
+} VSS_BACKUP_TYPE, *PVSS_BACKUP_TYPE;
|
||||
+
|
||||
+typedef enum _VSS_RESTORE_TYPE
|
||||
+{
|
||||
+ VSS_RTYPE_UNDEFINED,
|
||||
+ VSS_RTYPE_BY_COPY,
|
||||
+ VSS_RTYPE_IMPORT,
|
||||
+ VSS_RTYPE_OTHER
|
||||
+} VSS_RESTORE_TYPE, *PVSS_RESTORE_TYPE;
|
||||
+
|
||||
+typedef enum _VSS_WRITER_STATE
|
||||
+{
|
||||
+ VSS_WS_UNKNOWN = 0,
|
||||
+ VSS_WS_STABLE,
|
||||
+ VSS_WS_WAITING_FOR_FREEZE,
|
||||
+ VSS_WS_WAITING_FOR_THAW,
|
||||
+ VSS_WS_WAITING_FOR_POST_SNAPSHOT,
|
||||
+ VSS_WS_WAITING_FOR_BACKUP_COMPLETE,
|
||||
+ VSS_WS_FAILED_AT_IDENTIFY,
|
||||
+ VSS_WS_FAILED_AT_PREPARE_BACKUP,
|
||||
+ VSS_WS_FAILED_AT_PREPARE_SNAPSHOT,
|
||||
+ VSS_WS_FAILED_AT_FREEZE,
|
||||
+ VSS_WS_FAILED_AT_THAW,
|
||||
+ VSS_WS_FAILED_AT_POST_SNAPSHOT,
|
||||
+ VSS_WS_FAILED_AT_BACKUP_COMPLETE,
|
||||
+ VSS_WS_FAILED_AT_PRE_RESTORE,
|
||||
+ VSS_WS_FAILED_AT_POST_RESTORE,
|
||||
+ VSS_WS_FAILED_AT_BACKUPSHUTDOWN,
|
||||
+ VSS_WS_COUNT
|
||||
+} VSS_WRITER_STATE, *PVSS_WRITER_STATE;
|
||||
+
|
||||
+typedef enum _VSS_OBJECT_TYPE
|
||||
+{
|
||||
+ VSS_OBJECT_UNKNOWN = 0,
|
||||
+ VSS_OBJECT_NONE,
|
||||
+ VSS_OBJECT_SNAPSHOT_SET,
|
||||
+ VSS_OBJECT_SNAPSHOT,
|
||||
+ VSS_OBJECT_PROVIDER,
|
||||
+ VSS_OBJECT_TYPE_COUNT
|
||||
+} VSS_OBJECT_TYPE, *PVSS_OBJECT_TYPE;
|
||||
+
|
||||
+typedef enum _VSS_SNAPSHOT_STATE
|
||||
+{
|
||||
+ VSS_SS_UNKNOWN = 0,
|
||||
+ VSS_SS_PREPARING,
|
||||
+ VSS_SS_PROCESSING_PREPARE,
|
||||
+ VSS_SS_PREPARED,
|
||||
+ VSS_SS_PROCESSING_PRECOMMIT,
|
||||
+ VSS_SS_PRECOMMITTED,
|
||||
+ VSS_SS_PROCESSING_COMMIT,
|
||||
+ VSS_SS_COMMITTED,
|
||||
+ VSS_SS_PROCESSING_POSTCOMMIT,
|
||||
+ VSS_SS_PROCESSING_PREFINALCOMMIT,
|
||||
+ VSS_SS_PREFINALCOMMITTED,
|
||||
+ VSS_SS_PROCESSING_POSTFINALCOMMIT,
|
||||
+ VSS_SS_CREATED,
|
||||
+ VSS_SS_ABORTED,
|
||||
+ VSS_SS_DELETED,
|
||||
+ VSS_SS_POSTCOMMITTED,
|
||||
+ VSS_SS_COUNT
|
||||
+} VSS_SNAPSHOT_STATE, *PVSS_SNAPSHOT_STATE;
|
||||
+
|
||||
+typedef struct _VSS_SNAPSHOT_PROP
|
||||
+{
|
||||
+ VSS_ID m_SnapshotId;
|
||||
+ VSS_ID m_SnapshotSetId;
|
||||
+ LONG m_lSnapshotsCount;
|
||||
+ VSS_PWSZ m_pwszSnapshotDeviceObject;
|
||||
+ VSS_PWSZ m_pwszOriginalVolumeName;
|
||||
+ VSS_PWSZ m_pwszOriginatingMachine;
|
||||
+ VSS_PWSZ m_pwszServiceMachine;
|
||||
+ VSS_PWSZ m_pwszExposedName;
|
||||
+ VSS_PWSZ m_pwszExposedPath;
|
||||
+ VSS_ID m_ProviderId;
|
||||
+ LONG m_lSnapshotAttributes;
|
||||
+ VSS_TIMESTAMP m_tsCreationTimestamp;
|
||||
+ VSS_SNAPSHOT_STATE m_eStatus;
|
||||
+} VSS_SNAPSHOT_PROP, *PVSS_SNAPSHOT_PROP;
|
||||
--
|
||||
1.9.1
|
||||
|
@ -0,0 +1,37 @@
|
||||
From caa20a89174dcf17cd2bd561f20841d4cfb0b7bb Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 14 Jan 2019 11:07:43 +1100
|
||||
Subject: [PATCH 2/6] include: Add VSS writer enum
|
||||
|
||||
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
---
|
||||
include/vswriter.h | 15 +++++++++++++++
|
||||
1 file changed, 15 insertions(+)
|
||||
|
||||
diff --git a/include/vswriter.h b/include/vswriter.h
|
||||
index 043b871..ac23861 100644
|
||||
--- a/include/vswriter.h
|
||||
+++ b/include/vswriter.h
|
||||
@@ -44,4 +44,19 @@ typedef enum
|
||||
VSS_AWS_THIS_IS_ALTERNATE_WRITER
|
||||
} VSS_ALTERNATE_WRITER_STATE;
|
||||
|
||||
+typedef enum VSS_COMPONENT_TYPE
|
||||
+{
|
||||
+ VSS_CT_UNDEFINED = 0,
|
||||
+ VSS_CT_DATABASE,
|
||||
+ VSS_CT_FILEGROUP
|
||||
+} VSS_COMPONENT_TYPE;
|
||||
+
|
||||
+typedef enum VSS_FILE_RESTORE_STATUS
|
||||
+{
|
||||
+ VSS_RS_UNDEFINED = 0,
|
||||
+ VSS_RS_NONE,
|
||||
+ VSS_RS_ALL,
|
||||
+ VSS_RS_FAILED
|
||||
+} VSS_FILE_RESTORE_STATUS;
|
||||
+
|
||||
#endif /* ___WINE_VSWRITER_H */
|
||||
--
|
||||
1.9.1
|
||||
|
@ -0,0 +1,162 @@
|
||||
From 409e9bf5055717c010e0f45cd085dbb78f1f4c35 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 14 Jan 2019 12:08:52 +1100
|
||||
Subject: [PATCH 3/6] include: Convert header vswriter to an idl.
|
||||
|
||||
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
---
|
||||
include/Makefile.in | 2 +-
|
||||
include/vswriter.h | 62 ----------------------------------------------------
|
||||
include/vswriter.idl | 58 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 59 insertions(+), 63 deletions(-)
|
||||
delete mode 100644 include/vswriter.h
|
||||
create mode 100644 include/vswriter.idl
|
||||
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index fd47078..a4642ce 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -649,7 +649,7 @@ SOURCES = \
|
||||
vss.idl \
|
||||
vsstyle.h \
|
||||
vssym32.h \
|
||||
- vswriter.h \
|
||||
+ vswriter.idl \
|
||||
wbemcli.idl \
|
||||
wbemdisp.idl \
|
||||
wbemprov.idl \
|
||||
diff --git a/include/vswriter.h b/include/vswriter.h
|
||||
deleted file mode 100644
|
||||
index ac23861..0000000
|
||||
--- a/include/vswriter.h
|
||||
+++ /dev/null
|
||||
@@ -1,62 +0,0 @@
|
||||
-/*
|
||||
- * Copyright 2014 Hans Leidekker for CodeWeavers
|
||||
- *
|
||||
- * This library is free software; you can redistribute it and/or
|
||||
- * modify it under the terms of the GNU Lesser General Public
|
||||
- * License as published by the Free Software Foundation; either
|
||||
- * version 2.1 of the License, or (at your option) any later version.
|
||||
- *
|
||||
- * This library is distributed in the hope that it will be useful,
|
||||
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
- * Lesser General Public License for more details.
|
||||
- *
|
||||
- * You should have received a copy of the GNU Lesser General Public
|
||||
- * License along with this library; if not, write to the Free Software
|
||||
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
- */
|
||||
-
|
||||
-#ifndef __WINE_VSWRITER_H
|
||||
-#define __WINE_VSWRITER_H
|
||||
-
|
||||
-typedef enum
|
||||
-{
|
||||
- VSS_UT_UNDEFINED,
|
||||
- VSS_UT_BOOTABLESYSTEMSTATE,
|
||||
- VSS_UT_SYSTEMSERVICE,
|
||||
- VSS_UT_USERDATA,
|
||||
- VSS_UT_OTHER
|
||||
-} VSS_USAGE_TYPE;
|
||||
-
|
||||
-typedef enum
|
||||
-{
|
||||
- VSS_ST_UNDEFINED,
|
||||
- VSS_ST_TRANSACTEDDB,
|
||||
- VSS_ST_NONTRANSACTEDDB,
|
||||
- VSS_ST_OTHER
|
||||
-} VSS_SOURCE_TYPE;
|
||||
-
|
||||
-typedef enum
|
||||
-{
|
||||
- VSS_AWS_UNDEFINED,
|
||||
- VSS_AWS_NO_ALTERNATE_WRITER,
|
||||
- VSS_AWS_ALTERNATE_WRITER_EXISTS,
|
||||
- VSS_AWS_THIS_IS_ALTERNATE_WRITER
|
||||
-} VSS_ALTERNATE_WRITER_STATE;
|
||||
-
|
||||
-typedef enum VSS_COMPONENT_TYPE
|
||||
-{
|
||||
- VSS_CT_UNDEFINED = 0,
|
||||
- VSS_CT_DATABASE,
|
||||
- VSS_CT_FILEGROUP
|
||||
-} VSS_COMPONENT_TYPE;
|
||||
-
|
||||
-typedef enum VSS_FILE_RESTORE_STATUS
|
||||
-{
|
||||
- VSS_RS_UNDEFINED = 0,
|
||||
- VSS_RS_NONE,
|
||||
- VSS_RS_ALL,
|
||||
- VSS_RS_FAILED
|
||||
-} VSS_FILE_RESTORE_STATUS;
|
||||
-
|
||||
-#endif /* ___WINE_VSWRITER_H */
|
||||
diff --git a/include/vswriter.idl b/include/vswriter.idl
|
||||
new file mode 100644
|
||||
index 0000000..6bc6890
|
||||
--- /dev/null
|
||||
+++ b/include/vswriter.idl
|
||||
@@ -0,0 +1,58 @@
|
||||
+/*
|
||||
+ * Copyright 2014 Hans Leidekker for CodeWeavers
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Lesser General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2.1 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
+ */
|
||||
+import "oaidl.idl";
|
||||
+
|
||||
+typedef enum
|
||||
+{
|
||||
+ VSS_UT_UNDEFINED,
|
||||
+ VSS_UT_BOOTABLESYSTEMSTATE,
|
||||
+ VSS_UT_SYSTEMSERVICE,
|
||||
+ VSS_UT_USERDATA,
|
||||
+ VSS_UT_OTHER
|
||||
+} VSS_USAGE_TYPE;
|
||||
+
|
||||
+typedef enum
|
||||
+{
|
||||
+ VSS_ST_UNDEFINED,
|
||||
+ VSS_ST_TRANSACTEDDB,
|
||||
+ VSS_ST_NONTRANSACTEDDB,
|
||||
+ VSS_ST_OTHER
|
||||
+} VSS_SOURCE_TYPE;
|
||||
+
|
||||
+typedef enum
|
||||
+{
|
||||
+ VSS_AWS_UNDEFINED,
|
||||
+ VSS_AWS_NO_ALTERNATE_WRITER,
|
||||
+ VSS_AWS_ALTERNATE_WRITER_EXISTS,
|
||||
+ VSS_AWS_THIS_IS_ALTERNATE_WRITER
|
||||
+} VSS_ALTERNATE_WRITER_STATE;
|
||||
+
|
||||
+typedef enum VSS_COMPONENT_TYPE
|
||||
+{
|
||||
+ VSS_CT_UNDEFINED = 0,
|
||||
+ VSS_CT_DATABASE,
|
||||
+ VSS_CT_FILEGROUP
|
||||
+} VSS_COMPONENT_TYPE;
|
||||
+
|
||||
+typedef enum VSS_FILE_RESTORE_STATUS
|
||||
+{
|
||||
+ VSS_RS_UNDEFINED = 0,
|
||||
+ VSS_RS_NONE,
|
||||
+ VSS_RS_ALL,
|
||||
+ VSS_RS_FAILED
|
||||
+} VSS_FILE_RESTORE_STATUS;
|
||||
--
|
||||
1.9.1
|
||||
|
@ -0,0 +1,130 @@
|
||||
From 8f4976596db8e71f79e592ad092eceba6191ce06 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 14 Jan 2019 12:13:04 +1100
|
||||
Subject: [PATCH 4/6] include: Add vsbackup.idl
|
||||
|
||||
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
---
|
||||
include/Makefile.in | 1 +
|
||||
include/vsbackup.idl | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 98 insertions(+)
|
||||
create mode 100644 include/vsbackup.idl
|
||||
|
||||
diff --git a/include/Makefile.in b/include/Makefile.in
|
||||
index a4642ce..eaf3114 100644
|
||||
--- a/include/Makefile.in
|
||||
+++ b/include/Makefile.in
|
||||
@@ -646,6 +646,7 @@ SOURCES = \
|
||||
virtdisk.h \
|
||||
vmr9.idl \
|
||||
vmrender.idl \
|
||||
+ vsbackup.idl \
|
||||
vss.idl \
|
||||
vsstyle.h \
|
||||
vssym32.h \
|
||||
diff --git a/include/vsbackup.idl b/include/vsbackup.idl
|
||||
new file mode 100644
|
||||
index 0000000..0b5a2d3
|
||||
--- /dev/null
|
||||
+++ b/include/vsbackup.idl
|
||||
@@ -0,0 +1,97 @@
|
||||
+/*
|
||||
+ * Copyright 2019 Alistair Leslie-Hughes
|
||||
+ *
|
||||
+ * This library is free software; you can redistribute it and/or
|
||||
+ * modify it under the terms of the GNU Lesser General Public
|
||||
+ * License as published by the Free Software Foundation; either
|
||||
+ * version 2.1 of the License, or (at your option) any later version.
|
||||
+ *
|
||||
+ * This library is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
+ * Lesser General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU Lesser General Public
|
||||
+ * License along with this library; if not, write to the Free Software
|
||||
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
+ */
|
||||
+
|
||||
+import "oaidl.idl";
|
||||
+import "vswriter.idl";
|
||||
+import "vss.idl";
|
||||
+
|
||||
+interface IVssAsync;
|
||||
+interface IVssEnumObject;
|
||||
+interface IVssExamineWriterMetadata;
|
||||
+interface IVssWriterComponentsExt;
|
||||
+
|
||||
+[
|
||||
+ uuid("665c1d5f-c218-414d-a05d-7fef5f9d5c86"),
|
||||
+ local
|
||||
+]
|
||||
+interface IVssBackupComponents : IUnknown
|
||||
+{
|
||||
+ HRESULT GetWriterComponentsCount([out] UINT *components);
|
||||
+ HRESULT GetWriterComponents([in] UINT index, [out] IVssWriterComponentsExt **writer);
|
||||
+ HRESULT InitializeForBackup( [in, optional, defaultvalue(NULL)] BSTR bstrXML);
|
||||
+ HRESULT SetBackupState([in] BOOL select_components, [in] BOOL state,
|
||||
+ [in] VSS_BACKUP_TYPE type, [in, defaultvalue(FALSE)] BOOL partial_support);
|
||||
+ HRESULT InitializeForRestore([in] BSTR xml);
|
||||
+ HRESULT SetRestoreState([in] VSS_RESTORE_TYPE restore);
|
||||
+ HRESULT GatherWriterMetadata([out] IVssAsync **async);
|
||||
+ HRESULT GetWriterMetadataCount([out] UINT *count);
|
||||
+ HRESULT GetWriterMetadata([in] UINT index, [out] VSS_ID *instance, [out] IVssExamineWriterMetadata **metadata);
|
||||
+ HRESULT FreeWriterMetadata();
|
||||
+ HRESULT AddComponent([in] VSS_ID instance, [in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR wszLogicalPath,
|
||||
+ [in] LPCWSTR name);
|
||||
+ HRESULT PrepareForBackup([out] IVssAsync **async);
|
||||
+ HRESULT AbortBackup();
|
||||
+ HRESULT GatherWriterStatus([out] IVssAsync **async);
|
||||
+ HRESULT GetWriterStatusCount([out] UINT *count);
|
||||
+ HRESULT FreeWriterStatus();
|
||||
+ HRESULT GetWriterStatus([in] UINT index, [out] VSS_ID *instance, [out] VSS_ID *id, [out] BSTR *writer,
|
||||
+ [out] VSS_WRITER_STATE *status, [out] HRESULT *failure);
|
||||
+ HRESULT SetBackupSucceeded([in] VSS_ID instance, [in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct,
|
||||
+ [in] LPCWSTR path, [in] LPCWSTR name, [in] BOOL succeded);
|
||||
+ HRESULT SetBackupOptions([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR path,
|
||||
+ [in] LPCWSTR name, [in] LPCWSTR options);
|
||||
+ HRESULT SetSelectedForRestore([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR path,
|
||||
+ [in] LPCWSTR name, [in] BOOL selected_restore);
|
||||
+ HRESULT SetRestoreOptions([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR path, [in] LPCWSTR name,
|
||||
+ [in] LPCWSTR options);
|
||||
+ HRESULT SetAdditionalRestores([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR path, [in] LPCWSTR name,
|
||||
+ [in] BOOL additional);
|
||||
+ HRESULT SetPreviousBackupStamp([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR path, [in] LPCWSTR name,
|
||||
+ [in] LPCWSTR stamp);
|
||||
+ HRESULT SaveAsXML([in] BSTR *xml);
|
||||
+ HRESULT BackupComplete([out] IVssAsync **async);
|
||||
+ HRESULT AddAlternativeLocationMapping([in] VSS_ID id, [in] VSS_COMPONENT_TYPE type, [in] LPCWSTR logical,
|
||||
+ [in] LPCWSTR name, [in] LPCWSTR path, [in] LPCWSTR filespec, [in] BOOL recursive, [in] LPCWSTR destination);
|
||||
+ HRESULT AddRestoreSubcomponent([in] VSS_ID id, [in] VSS_COMPONENT_TYPE type, [in] LPCWSTR logical, [in] LPCWSTR name,
|
||||
+ [in] LPCWSTR path, [in] LPCWSTR sub_name, [in] BOOL repair);
|
||||
+ HRESULT SetFileRestoreStatus([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR path, [in] LPCWSTR name,
|
||||
+ [in] VSS_FILE_RESTORE_STATUS status);
|
||||
+ HRESULT AddNewTarget([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR logical, [in] LPCWSTR component,
|
||||
+ [in] LPCWSTR path, [in] LPCWSTR filename, [in] BOOL recursive, [in] LPCWSTR alternate);
|
||||
+ HRESULT SetRangesFilePath([in] VSS_ID id, [in] VSS_COMPONENT_TYPE ct, [in] LPCWSTR logical, [in] LPCWSTR component,
|
||||
+ [in] UINT partial, [in] LPCWSTR ranges);
|
||||
+ HRESULT PreRestore([out] IVssAsync **async);
|
||||
+ HRESULT PostRestore([out] IVssAsync **async);
|
||||
+ HRESULT SetContext([in] LONG context);
|
||||
+ HRESULT StartSnapshotSet([out] VSS_ID *id);
|
||||
+ HRESULT AddToSnapshotSet([in] VSS_PWSZ volume,[in] VSS_ID id,[out] VSS_ID *snapshot);
|
||||
+ HRESULT DoSnapshotSet([out] IVssAsync ** async);
|
||||
+ HRESULT DeleteSnapshots([in] VSS_ID object, [in] VSS_OBJECT_TYPE type, [in] BOOL force, [in] LONG *snapshots, [in] VSS_ID *id);
|
||||
+ HRESULT ImportSnapshots([out] IVssAsync **async);
|
||||
+ HRESULT BreakSnapshotSet([in] VSS_ID snapshot);
|
||||
+ HRESULT GetSnapshotProperties([in] VSS_ID snapshot, [out] VSS_SNAPSHOT_PROP *prop);
|
||||
+ HRESULT Query([in] VSS_ID queried, [in] VSS_OBJECT_TYPE queried_type, [in] VSS_OBJECT_TYPE returned_type, [in] IVssEnumObject **enums);
|
||||
+ HRESULT IsVolumeSupported([in] VSS_ID provider, [in] VSS_PWSZ volume,[in] BOOL *supported);
|
||||
+ HRESULT DisableWriterClasses([in] const VSS_ID *writer_id, [in] UINT class_id);
|
||||
+ HRESULT EnableWriterClasses([in] const VSS_ID *classid, [in] UINT id);
|
||||
+ HRESULT DisableWriterInstances([in] const VSS_ID *instance, [in] UINT id);
|
||||
+ HRESULT ExposeSnapshot([in] VSS_ID snapshot, [in] VSS_PWSZ path, [in] LONG attributes,
|
||||
+ [in] VSS_PWSZ expose, [out] VSS_PWSZ *exposed);
|
||||
+ HRESULT RevertToSnapshot([in] VSS_ID snapshot, [in] BOOL force);
|
||||
+ HRESULT QueryRevertStatus([in] VSS_PWSZ volume, [out] IVssAsync **async);
|
||||
+};
|
||||
--
|
||||
1.9.1
|
||||
|
@ -0,0 +1,71 @@
|
||||
From 3d0f1e5a448ac667c3d9f3bd9ca09e467fa53871 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Mon, 14 Jan 2019 12:18:26 +1100
|
||||
Subject: [PATCH 5/6] vssapi: Add CreateVssBackupComponentsInternal stub
|
||||
|
||||
---
|
||||
dlls/vssapi/main.c | 7 +++++++
|
||||
dlls/vssapi/vssapi.spec | 2 +-
|
||||
include/vsbackup.idl | 11 +++++++++++
|
||||
3 files changed, 19 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/vssapi/main.c b/dlls/vssapi/main.c
|
||||
index 9234544..a24b320 100644
|
||||
--- a/dlls/vssapi/main.c
|
||||
+++ b/dlls/vssapi/main.c
|
||||
@@ -22,6 +22,7 @@
|
||||
#include "winbase.h"
|
||||
#include "vss.h"
|
||||
#include "vswriter.h"
|
||||
+#include "vsbackup.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL( vssapi );
|
||||
@@ -107,3 +108,9 @@ HRESULT __thiscall VSSAPI_CVssWriter_Unsubscribe( struct CVssWriter *writer )
|
||||
FIXME( "%p\n", writer );
|
||||
return S_OK;
|
||||
}
|
||||
+
|
||||
+HRESULT WINAPI CreateVssBackupComponentsInternal(IVssBackupComponents **backup)
|
||||
+{
|
||||
+ FIXME("%p\n", backup);
|
||||
+ return E_NOTIMPL;
|
||||
+}
|
||||
diff --git a/dlls/vssapi/vssapi.spec b/dlls/vssapi/vssapi.spec
|
||||
index 146feb4..7bd47e8 100644
|
||||
--- a/dlls/vssapi/vssapi.spec
|
||||
+++ b/dlls/vssapi/vssapi.spec
|
||||
@@ -75,7 +75,7 @@
|
||||
@ stub ?Uninitialize@CVssJetWriter@@QAGXXZ
|
||||
@ thiscall -arch=i386 ?Unsubscribe@CVssWriter@@QAGJXZ(ptr) VSSAPI_CVssWriter_Unsubscribe
|
||||
@ cdecl -arch=win64 ?Unsubscribe@CVssWriter@@QEAAJXZ(ptr) VSSAPI_CVssWriter_Unsubscribe
|
||||
-@ stub CreateVssBackupComponentsInternal
|
||||
+@ stdcall CreateVssBackupComponentsInternal(ptr)
|
||||
@ stub CreateVssExamineWriterMetadataInternal
|
||||
@ stub CreateVssExpressWriterInternal
|
||||
@ stub CreateWriter
|
||||
diff --git a/include/vsbackup.idl b/include/vsbackup.idl
|
||||
index 0b5a2d3..e2f5a54 100644
|
||||
--- a/include/vsbackup.idl
|
||||
+++ b/include/vsbackup.idl
|
||||
@@ -25,6 +25,17 @@ interface IVssEnumObject;
|
||||
interface IVssExamineWriterMetadata;
|
||||
interface IVssWriterComponentsExt;
|
||||
|
||||
+cpp_quote("#ifdef _cplusplus")
|
||||
+cpp_quote("extern \"C\" {")
|
||||
+cpp_quote("#endif")
|
||||
+cpp_quote("HRESULT WINAPI CreateVssBackupComponentsInternal(IVssBackupComponents **backup);")
|
||||
+cpp_quote("#ifdef _cplusplus")
|
||||
+cpp_quote("}")
|
||||
+cpp_quote("#endif")
|
||||
+
|
||||
+cpp_quote("static inline HRESULT CreateVssBackupComponents(IVssBackupComponents **backup)")
|
||||
+cpp_quote(" { return CreateVssBackupComponentsInternal(backup); }")
|
||||
+
|
||||
[
|
||||
uuid("665c1d5f-c218-414d-a05d-7fef5f9d5c86"),
|
||||
local
|
||||
--
|
||||
1.9.1
|
||||
|
@ -0,0 +1,45 @@
|
||||
From 2672c7b782026df87cd3007c8006811f021d4545 Mon Sep 17 00:00:00 2001
|
||||
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
|
||||
Date: Tue, 15 Jan 2019 10:38:28 +1100
|
||||
Subject: [PATCH 6/6] vssapi: Add
|
||||
?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z stub
|
||||
|
||||
---
|
||||
dlls/vssapi/main.c | 10 ++++++++++
|
||||
dlls/vssapi/vssapi.spec | 2 +-
|
||||
2 files changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/vssapi/main.c b/dlls/vssapi/main.c
|
||||
index a24b320..7617c0d 100644
|
||||
--- a/dlls/vssapi/main.c
|
||||
+++ b/dlls/vssapi/main.c
|
||||
@@ -114,3 +114,13 @@ HRESULT WINAPI CreateVssBackupComponentsInternal(IVssBackupComponents **backup)
|
||||
FIXME("%p\n", backup);
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
+
|
||||
+/******************************************************************
|
||||
+ * ?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z
|
||||
+ */
|
||||
+HRESULT VSSAPI_CreateVssBackupComponents( IVssBackupComponents **backup )
|
||||
+{
|
||||
+ FIXME( "%p\n", backup );
|
||||
+
|
||||
+ return CreateVssBackupComponentsInternal(backup);
|
||||
+}
|
||||
diff --git a/dlls/vssapi/vssapi.spec b/dlls/vssapi/vssapi.spec
|
||||
index 7bd47e8..c759c11 100644
|
||||
--- a/dlls/vssapi/vssapi.spec
|
||||
+++ b/dlls/vssapi/vssapi.spec
|
||||
@@ -9,7 +9,7 @@
|
||||
@ cdecl -arch=win64 ??1CVssWriter@@UEAA@XZ(ptr) VSSAPI_CVssWriter_dtor
|
||||
@ stub ?AreComponentsSelected@CVssJetWriter@@IBG_NXZ
|
||||
@ stub ?AreComponentsSelected@CVssWriter@@IBG_NXZ
|
||||
-@ stub ?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z
|
||||
+@ stdcall ?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z(ptr) VSSAPI_CreateVssBackupComponents
|
||||
@ stub ?CreateVssExamineWriterMetadata@@YGJPAGPAPAVIVssExamineWriterMetadata@@@Z
|
||||
@ stub ?CreateVssSnapshotSetDescription@@YGJU_GUID@@JPAPAVIVssSnapshotSetDescription@@@Z
|
||||
@ stub ?GetBackupType@CVssJetWriter@@IBG?AW4_VSS_BACKUP_TYPE@@XZ
|
||||
--
|
||||
1.9.1
|
||||
|
2
patches/vssapi-CreateVssBackupComponents/definition
Normal file
2
patches/vssapi-CreateVssBackupComponents/definition
Normal file
@ -0,0 +1,2 @@
|
||||
Fixes: [37639] vssapi: Add ?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@ stub
|
||||
Fixes: [46088] vssapi: Add CreateVssBackupComponentsInternal stub
|
Loading…
Reference in New Issue
Block a user