Added combase-GetRestrictedErrorInfo patchset

This commit is contained in:
Alistair Leslie-Hughes 2019-04-15 09:02:09 +10:00
parent 3f8edce509
commit cbb09031a6
4 changed files with 197 additions and 0 deletions

View File

@ -0,0 +1,68 @@
From e72b9a5931139e2d4c651e62f9b5ac226af2bedd Mon Sep 17 00:00:00 2001
From: Louis Lenders <xerox.xerox2000x@gmail.com>
Date: Mon, 8 Apr 2019 08:26:43 +0200
Subject: [PATCH 1/2] include: Add restrictederrorinfo.idl.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
---
include/Makefile.in | 1 +
include/restrictederrorinfo.idl | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 36 insertions(+)
create mode 100644 include/restrictederrorinfo.idl
diff --git a/include/Makefile.in b/include/Makefile.in
index b03b967..5bc8dde 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -545,6 +545,7 @@ SOURCES = \
reason.h \
regstr.h \
restartmanager.h \
+ restrictederrorinfo.idl \
richedit.h \
richole.idl \
rmxfguid.h \
diff --git a/include/restrictederrorinfo.idl b/include/restrictederrorinfo.idl
new file mode 100644
index 0000000..e444256
--- /dev/null
+++ b/include/restrictederrorinfo.idl
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2019 Louis Lenders
+ *
+ * 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";
+
+[
+ object,
+ uuid(82ba7092-4c88-427d-a7bc-16dd93feb67e),
+ pointer_default(unique)
+]
+interface IRestrictedErrorInfo : IUnknown
+{
+ HRESULT GetErrorDetails (
+ [out] BSTR *desc,
+ [out] HRESULT *error,
+ [out] BSTR *restricted_desc,
+ [out] BSTR *sid);
+
+ HRESULT GetReference ([out] BSTR *reference);
+}
--
1.9.1

View File

@ -0,0 +1,105 @@
From 61b96f3dab24d3aec26237c8760d75f964474bc5 Mon Sep 17 00:00:00 2001
From: Louis Lenders <xerox.xerox2000x@gmail.com>
Date: Mon, 8 Apr 2019 17:06:58 +0200
Subject: [PATCH 2/2] combase: Add GetRestrictedErrorInfo and
RoOriginateLanguageException stubs.
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
---
.../api-ms-win-core-winrt-error-l1-1-0.spec | 2 +-
.../api-ms-win-core-winrt-error-l1-1-1.spec | 4 ++--
dlls/combase/combase.spec | 4 ++--
dlls/combase/roapi.c | 19 +++++++++++++++++++
4 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/dlls/api-ms-win-core-winrt-error-l1-1-0/api-ms-win-core-winrt-error-l1-1-0.spec b/dlls/api-ms-win-core-winrt-error-l1-1-0/api-ms-win-core-winrt-error-l1-1-0.spec
index de0a6d8..99f1ca3 100644
--- a/dlls/api-ms-win-core-winrt-error-l1-1-0/api-ms-win-core-winrt-error-l1-1-0.spec
+++ b/dlls/api-ms-win-core-winrt-error-l1-1-0/api-ms-win-core-winrt-error-l1-1-0.spec
@@ -1,4 +1,4 @@
-@ stub GetRestrictedErrorInfo
+@ stdcall GetRestrictedErrorInfo(ptr) combase.GetRestrictedErrorInfo
@ stub RoCaptureErrorContext
@ stub RoFailFastWithErrorContext
@ stub RoGetErrorReportingFlags
diff --git a/dlls/api-ms-win-core-winrt-error-l1-1-1/api-ms-win-core-winrt-error-l1-1-1.spec b/dlls/api-ms-win-core-winrt-error-l1-1-1/api-ms-win-core-winrt-error-l1-1-1.spec
index b1ad813..0b390f1 100644
--- a/dlls/api-ms-win-core-winrt-error-l1-1-1/api-ms-win-core-winrt-error-l1-1-1.spec
+++ b/dlls/api-ms-win-core-winrt-error-l1-1-1/api-ms-win-core-winrt-error-l1-1-1.spec
@@ -1,4 +1,4 @@
-@ stub GetRestrictedErrorInfo
+@ stdcall GetRestrictedErrorInfo(ptr) combase.GetRestrictedErrorInfo
@ stub IsErrorPropagationEnabled
@ stub RoCaptureErrorContext
@ stub RoClearError
@@ -9,7 +9,7 @@
@ stub RoInspectThreadErrorInfo
@ stub RoOriginateError
@ stub RoOriginateErrorW
-@ stub RoOriginateLanguageException
+@ stdcall RoOriginateLanguageException(long ptr ptr) combase.RoOriginateLanguageException
@ stub RoReportFailedDelegate
@ stub RoReportUnhandledError
@ stub RoResolveRestrictedErrorInfoReference
diff --git a/dlls/combase/combase.spec b/dlls/combase/combase.spec
index 93575d5..f67527a 100644
--- a/dlls/combase/combase.spec
+++ b/dlls/combase/combase.spec
@@ -180,7 +180,7 @@
@ stub GetFuncDescs
@ stdcall GetHGlobalFromStream(ptr ptr) ole32.GetHGlobalFromStream
@ stub GetHookInterface
-@ stub GetRestrictedErrorInfo
+@ stdcall GetRestrictedErrorInfo(ptr)
@ stub HSTRING_UserFree
@ stub HSTRING_UserFree64
@ stub HSTRING_UserMarshal
@@ -260,7 +260,7 @@
@ stub RoInspectThreadErrorInfo
@ stub RoOriginateError
@ stub RoOriginateErrorW
-@ stub RoOriginateLanguageException
+@ stdcall RoOriginateLanguageException(long ptr ptr)
@ stub RoParameterizedTypeExtraGetTypeSignature
@ stdcall RoRegisterActivationFactories(ptr ptr long ptr)
@ stdcall RoRegisterForApartmentShutdown(ptr ptr ptr)
diff --git a/dlls/combase/roapi.c b/dlls/combase/roapi.c
index c9fe80f..2a6dcdf 100644
--- a/dlls/combase/roapi.c
+++ b/dlls/combase/roapi.c
@@ -21,6 +21,7 @@
#include "initguid.h"
#include "roapi.h"
#include "roparameterizediid.h"
+#include "restrictederrorinfo.h"
#include "winstring.h"
#include "wine/debug.h"
@@ -276,6 +277,24 @@ HRESULT WINAPI RoRegisterActivationFactories(HSTRING *classes, PFNGETACTIVATIONF
}
/***********************************************************************
+ * GetRestrictedErrorInfo (combase.@)
+ */
+HRESULT WINAPI GetRestrictedErrorInfo( IRestrictedErrorInfo **info )
+{
+ FIXME( "(%p)\n", info );
+ return E_NOTIMPL;
+}
+
+/***********************************************************************
+ * RoOriginateLanguageException (combase.@)
+ */
+BOOL WINAPI RoOriginateLanguageException( HRESULT error, HSTRING message, IUnknown *language_exception )
+{
+ FIXME("(%x %s %p) stub\n", error, debugstr_hstring(message), language_exception);
+ return FALSE;
+}
+
+/***********************************************************************
* CleanupTlsOleState (combase.@)
*/
void WINAPI CleanupTlsOleState(void *unknown)
--
1.9.1

View File

@ -0,0 +1 @@
Fixes: [46972] combase: Add GetRestrictedErrorInfo/RoOriginateLanguageException stubs.

View File

@ -96,6 +96,7 @@ patch_enable_all ()
enable_avifil32_IGetFrame_fnSetFormat="$1"
enable_avifile_dll16_AVIStreamGetFrame="$1"
enable_bcrypt_BCryptSecretAgreement="$1"
enable_combase_GetRestrictedErrorInfo="$1"
enable_comctl32_Listview_DrawItem="$1"
enable_comctrl_rebar_capture="$1"
enable_comdlg32_lpstrFileTitle="$1"
@ -428,6 +429,9 @@ patch_enable ()
bcrypt-BCryptSecretAgreement)
enable_bcrypt_BCryptSecretAgreement="$2"
;;
combase-GetRestrictedErrorInfo)
enable_combase_GetRestrictedErrorInfo="$2"
;;
comctl32-Listview_DrawItem)
enable_comctl32_Listview_DrawItem="$2"
;;
@ -2390,6 +2394,25 @@ if test "$enable_bcrypt_BCryptSecretAgreement" -eq 1; then
) >> "$patchlist"
fi
# Patchset combase-GetRestrictedErrorInfo
# |
# | This patchset fixes the following Wine bugs:
# | * [#46972] combase: Add GetRestrictedErrorInfo/RoOriginateLanguageException stubs.
# |
# | Modified files:
# | * dlls/api-ms-win-core-winrt-error-l1-1-0/api-ms-win-core-winrt-error-l1-1-0.spec, dlls/api-ms-win-core-winrt-error-l1-1-1
# | /api-ms-win-core-winrt-error-l1-1-1.spec, dlls/combase/combase.spec, dlls/combase/roapi.c, include/Makefile.in,
# | include/restrictederrorinfo.idl
# |
if test "$enable_combase_GetRestrictedErrorInfo" -eq 1; then
patch_apply combase-GetRestrictedErrorInfo/0001-include-Add-restrictederrorinfo.idl.patch
patch_apply combase-GetRestrictedErrorInfo/0002-combase-Add-GetRestrictedErrorInfo-and-RoOriginateLa.patch
(
printf '%s\n' '+ { "Louis Lenders", "include: Add restrictederrorinfo.idl.", 1 },';
printf '%s\n' '+ { "Louis Lenders", "combase: Add GetRestrictedErrorInfo and RoOriginateLanguageException stubs.", 1 },';
) >> "$patchlist"
fi
# Patchset comctl32-Listview_DrawItem
# |
# | This patchset fixes the following Wine bugs: