https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e470b583761e392641def…
commit e470b583761e392641defc5b9b029e2889d02afc
Author: Jérôme Gardou <jerome.gardou(a)reactos.org>
AuthorDate: Thu Apr 22 17:28:52 2021 +0200
Commit: Jérôme Gardou <zefklop(a)users.noreply.github.com>
CommitDate: Wed Apr 28 13:10:23 2021 +0200
[REACTOS] Explicitly link against pseh & include pseh headers in a few places
---
base/applications/mscutils/eventvwr/eventvwr.c | 20 +++++++++++---------
base/system/services/CMakeLists.txt | 5 +----
base/system/services/rpcserver.c | 2 ++
dll/np/nfs/nfs41_np.c | 2 ++
dll/win32/advapi32/service/sctrl.c | 2 ++
dll/win32/kernel32/CMakeLists.txt | 2 +-
dll/win32/lsasrv/database.c | 2 ++
dll/win32/olecli32/CMakeLists.txt | 2 +-
dll/win32/samsrv/database.c | 2 ++
dll/win32/setupapi/cfgmgr.c | 2 ++
dll/win32/setupapi/devinst.c | 2 ++
modules/rostests/apitests/apphelp/apphelp.c | 4 +++-
modules/rostests/apitests/apphelp/db.cpp | 8 +++++---
modules/rostests/apitests/apphelp/env.c | 2 ++
.../rostests/apitests/compiler/ms/seh/CMakeLists.txt | 1 +
modules/rostests/apitests/gdi32/AddFontResourceEx.c | 2 ++
modules/rostests/apitests/gdi32/CreateDIBitmap.c | 2 ++
modules/rostests/apitests/gdi32/ExtCreatePen.c | 2 ++
modules/rostests/apitests/gdi32/GetObject.c | 2 ++
modules/rostests/apitests/gdi32/SetBrushOrgEx.c | 2 ++
modules/rostests/apitests/kernel32/FLS.c | 2 ++
modules/rostests/apitests/kernel32/SystemFirmware.c | 2 ++
.../rostests/apitests/localspl/dll/fpEnumPrinters.c | 2 ++
modules/rostests/apitests/ntdll/LdrEnumResources.c | 2 ++
.../apitests/ntdll/NtAllocateVirtualMemory.c | 2 ++
modules/rostests/apitests/ntdll/NtMapViewOfSection.c | 2 ++
modules/rostests/apitests/ntdll/RtlAllocateHeap.c | 2 ++
modules/rostests/apitests/ntdll/RtlBitmap.c | 2 ++
.../apitests/ntdll/RtlMultipleAllocateHeap.c | 2 ++
modules/rostests/apitests/ntdll/StackOverflow.c | 2 ++
modules/rostests/apitests/ntdll/load_notifications.c | 2 ++
modules/rostests/apitests/sdk/delayimp.cpp | 6 ++++--
modules/rostests/apitests/shlwapi/PathFindOnPath.c | 2 ++
modules/rostests/apitests/shlwapi/SHAreIconsEqual.c | 2 ++
.../rostests/apitests/shlwapi/SHLoadIndirectString.c | 2 ++
modules/rostests/apitests/spoolss/ReallocSplStr.c | 2 ++
modules/rostests/winetests/kernel32/CMakeLists.txt | 1 +
modules/rostests/winetests/ntdll/CMakeLists.txt | 2 ++
sdk/lib/atl/CMakeLists.txt | 2 ++
sdk/lib/atl/atlcom.h | 1 +
sdk/lib/crt/crt.cmake | 2 +-
sdk/lib/drivers/copysup/CMakeLists.txt | 1 +
sdk/lib/drivers/rdbsslib/CMakeLists.txt | 1 +
sdk/lib/drivers/rxce/CMakeLists.txt | 1 +
sdk/lib/rtl/CMakeLists.txt | 2 ++
win32ss/gdi/gdi32/objects/bitmap.c | 2 ++
win32ss/gdi/gdi32/wine/CMakeLists.txt | 1 +
win32ss/printing/base/winspool/utils.c | 4 +++-
win32ss/user/winsrv/consrv.cmake | 1 +
win32ss/user/winsrv/usersrv.cmake | 1 +
50 files changed, 103 insertions(+), 23 deletions(-)
diff --git a/base/applications/mscutils/eventvwr/eventvwr.c
b/base/applications/mscutils/eventvwr/eventvwr.c
index 5bc96ced583..94e67095b73 100644
--- a/base/applications/mscutils/eventvwr/eventvwr.c
+++ b/base/applications/mscutils/eventvwr/eventvwr.c
@@ -33,6 +33,8 @@
#include <shellapi.h>
#include <shlwapi.h>
+#include <pseh/pseh2.h>
+
// #include "resource.h"
#define LVM_PROGRESS (WM_APP + 1) // Used by the subclassed ListView
@@ -3895,7 +3897,7 @@ InitPropertiesDlg(HWND hDlg, PEVENTLOG EventLog)
/* By default, it is 604800 (secs) == 7 days. On Server, the retention is zeroed
out. */
dwRetention = 0;
}
- /* Convert in days, rounded up */
+ /* Convert in days, rounded up */
if (dwRetention != INFINITE)
dwRetention = (dwRetention + 24*3600 - 1) / (24*3600);
@@ -4023,7 +4025,7 @@ SavePropertiesDlg(HWND hDlg, PEVENTLOG EventLog)
LONG Result;
DWORD dwMaxSize = 0, dwRetention = 0;
HKEY hLogKey;
- WCHAR *KeyPath;
+ WCHAR *KeyPath;
SIZE_T cbKeyPath;
if (!EventLog->Permanent)
@@ -4054,7 +4056,7 @@ SavePropertiesDlg(HWND hDlg, PEVENTLOG EventLog)
0,
REG_DWORD,
(LPBYTE)&dwMaxSize,
- sizeof(dwMaxSize));
+ sizeof(dwMaxSize));
if (IsDlgButtonChecked(hDlg, IDC_OVERWRITE_AS_NEEDED) == BST_CHECKED)
dwRetention = 0;
@@ -4069,7 +4071,7 @@ SavePropertiesDlg(HWND hDlg, PEVENTLOG EventLog)
REG_DWORD,
(LPBYTE)&dwRetention,
sizeof(dwRetention));
-
+
RegCloseKey(hLogKey);
}
@@ -4100,14 +4102,14 @@ EventLogPropProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM
lParam)
case WM_NOTIFY:
switch (((LPNMHDR)lParam)->code)
- {
+ {
case PSN_APPLY:
PropSheet_UnChanged(GetParent(hDlg), hDlg);
SavePropertiesDlg(hDlg, EventLog);
return (INT_PTR)TRUE;
}
break;
-
+
case WM_COMMAND:
switch (LOWORD(wParam))
{
@@ -4126,7 +4128,7 @@ EventLogPropProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM
lParam)
}
return (INT_PTR)TRUE;
}
-
+
case IDC_EDIT_EVENTS_AGE:
case IDC_EDIT_MAXLOGSIZE:
if (HIWORD(wParam) == EN_CHANGE)
@@ -4134,7 +4136,7 @@ EventLogPropProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM
lParam)
PropSheet_Changed(GetParent(hDlg), hDlg);
}
return (INT_PTR)TRUE;
-
+
case IDC_OVERWRITE_AS_NEEDED:
{
CheckRadioButton(hDlg, IDC_OVERWRITE_AS_NEEDED, IDC_NO_OVERWRITE,
IDC_OVERWRITE_AS_NEEDED);
@@ -4161,7 +4163,7 @@ EventLogPropProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM
lParam)
PropSheet_Changed(GetParent(hDlg), hDlg);
return (INT_PTR)TRUE;
}
-
+
case IDC_RESTOREDEFAULTS:
{
LoadStringW(hInst, IDS_RESTOREDEFAULTS, szText, _countof(szText));
diff --git a/base/system/services/CMakeLists.txt b/base/system/services/CMakeLists.txt
index 0005294b04b..ba38f656da2 100644
--- a/base/system/services/CMakeLists.txt
+++ b/base/system/services/CMakeLists.txt
@@ -20,10 +20,7 @@ list(APPEND SOURCE
${CMAKE_CURRENT_BINARY_DIR}/svcctl_s.c)
add_executable(services ${SOURCE} services.rc)
-
-if(NOT MSVC)
- target_link_libraries(services ${PSEH_LIB})
-endif()
+target_link_libraries(services ${PSEH_LIB})
set_module_type(services win32gui UNICODE)
add_importlibs(services userenv user32 advapi32 rpcrt4 msvcrt kernel32 ntdll)
diff --git a/base/system/services/rpcserver.c b/base/system/services/rpcserver.c
index 0c1dbcfb08a..136d86b1e50 100644
--- a/base/system/services/rpcserver.c
+++ b/base/system/services/rpcserver.c
@@ -15,6 +15,8 @@
#include <winnls.h>
#include <strsafe.h>
+#include <pseh/pseh2.h>
+
#define NDEBUG
#include <debug.h>
diff --git a/dll/np/nfs/nfs41_np.c b/dll/np/nfs/nfs41_np.c
index ce03c419996..161f7407e6c 100644
--- a/dll/np/nfs/nfs41_np.c
+++ b/dll/np/nfs/nfs41_np.c
@@ -28,6 +28,8 @@
#include "nfs41_np.h"
#include "options.h"
+#include <pseh/pseh2.h>
+
#ifdef DBG
#define DbgP(_x_) NFS41DbgPrint _x_
#else
diff --git a/dll/win32/advapi32/service/sctrl.c b/dll/win32/advapi32/service/sctrl.c
index c0cf0f42288..f437d8e6ecc 100644
--- a/dll/win32/advapi32/service/sctrl.c
+++ b/dll/win32/advapi32/service/sctrl.c
@@ -12,6 +12,8 @@
/* INCLUDES ******************************************************************/
#include <advapi32.h>
+#include <pseh/pseh2.h>
+
WINE_DEFAULT_DEBUG_CHANNEL(advapi);
diff --git a/dll/win32/kernel32/CMakeLists.txt b/dll/win32/kernel32/CMakeLists.txt
index 4f4eddc4f8f..11339a91e60 100644
--- a/dll/win32/kernel32/CMakeLists.txt
+++ b/dll/win32/kernel32/CMakeLists.txt
@@ -10,7 +10,7 @@ add_library(kernel32_shared
client/shared_utils.c
client/file/fileutils.c
)
-
+target_link_libraries(kernel32_shared PRIVATE pseh)
add_dependencies(kernel32_shared psdk)
list(APPEND SOURCE
diff --git a/dll/win32/lsasrv/database.c b/dll/win32/lsasrv/database.c
index af35f3a9b5f..591cb0131e9 100644
--- a/dll/win32/lsasrv/database.c
+++ b/dll/win32/lsasrv/database.c
@@ -8,6 +8,8 @@
#include "lsasrv.h"
+#include <pseh/pseh2.h>
+
/* GLOBALS *****************************************************************/
static HANDLE SecurityKeyHandle = NULL;
diff --git a/dll/win32/olecli32/CMakeLists.txt b/dll/win32/olecli32/CMakeLists.txt
index 5ade3f7433b..e9f3f0cdc65 100644
--- a/dll/win32/olecli32/CMakeLists.txt
+++ b/dll/win32/olecli32/CMakeLists.txt
@@ -10,6 +10,6 @@ list(APPEND SOURCE
add_library(olecli32 MODULE ${SOURCE})
set_module_type(olecli32 win32dll)
-target_link_libraries(olecli32 wine)
+target_link_libraries(olecli32 wine ${PSEH_LIB})
add_importlibs(olecli32 ole32 gdi32 msvcrt kernel32 ntdll)
add_cd_file(TARGET olecli32 DESTINATION reactos/system32 FOR all)
diff --git a/dll/win32/samsrv/database.c b/dll/win32/samsrv/database.c
index 512e7e1f8a2..7887f613db7 100644
--- a/dll/win32/samsrv/database.c
+++ b/dll/win32/samsrv/database.c
@@ -8,6 +8,8 @@
#include "samsrv.h"
+#include <pseh/pseh2.h>
+
/* GLOBALS *****************************************************************/
static HANDLE SamKeyHandle = NULL;
diff --git a/dll/win32/setupapi/cfgmgr.c b/dll/win32/setupapi/cfgmgr.c
index b63feb46c44..923f16c2b2c 100644
--- a/dll/win32/setupapi/cfgmgr.c
+++ b/dll/win32/setupapi/cfgmgr.c
@@ -25,6 +25,8 @@
#include <pnp_c.h>
#include <winsvc.h>
+#include <pseh/pseh2.h>
+
#include "rpc_private.h"
DWORD
diff --git a/dll/win32/setupapi/devinst.c b/dll/win32/setupapi/devinst.c
index a20c96b9c07..c3d4a68f977 100644
--- a/dll/win32/setupapi/devinst.c
+++ b/dll/win32/setupapi/devinst.c
@@ -21,6 +21,8 @@
#include "setupapi_private.h"
+#include <pseh/pseh2.h>
+
/* Unicode constants */
static const WCHAR BackSlash[] = {'\\',0};
static const WCHAR DateFormat[] =
{'%','u','-','%','u','-','%','u',0};
diff --git a/modules/rostests/apitests/apphelp/apphelp.c
b/modules/rostests/apitests/apphelp/apphelp.c
index 7f4151289b9..13a52ca0f6f 100644
--- a/modules/rostests/apitests/apphelp/apphelp.c
+++ b/modules/rostests/apitests/apphelp/apphelp.c
@@ -24,6 +24,8 @@
#include <shlguid.h>
#include <shobjidl.h>
+#include <pseh/pseh2.h>
+
#include "wine/test.h"
#include "apphelp_apitest.h"
@@ -299,7 +301,7 @@ static struct
"PROBLEMSEVERITY", "LANGID", "VER_LANGUAGE",
"InvalidTag", "ENGINE", "HTMLHELPID",
"INDEX_FLAGS", "FLAGS",
"DATA_VALUETYPE", "DATA_DWORD", "LAYER_TAGID",
"MSI_TRANSFORM_TAGID", "LINKER_VERSION", "LINK_DATE",
"UPTO_LINK_DATE", "OS_SERVICE_PACK",
"FLAG_TAGID", "RUNTIME_PLATFORM", "OS_SKU",
"OS_PLATFORM", "APP_NAME_RC_ID", "VENDOR_NAME_RC_ID",
"SUMMARY_MSG_RC_ID", "VISTA_SKU",
- "DESCRIPTION_RC_ID", "PARAMETER1_RC_ID",
"InvalidTag", "InvalidTag", "InvalidTag",
"InvalidTag", "InvalidTag", "InvalidTag",
+ "DESCRIPTION_RC_ID", "PARAMETER1_RC_ID",
"InvalidTag", "InvalidTag", "InvalidTag",
"InvalidTag", "InvalidTag", "InvalidTag",
"CONTEXT_TAGID", "EXE_WRAPPER", "URL_ID", NULL
}
},
diff --git a/modules/rostests/apitests/apphelp/db.cpp
b/modules/rostests/apitests/apphelp/db.cpp
index 4f6f3b76423..a96fb463901 100644
--- a/modules/rostests/apitests/apphelp/db.cpp
+++ b/modules/rostests/apitests/apphelp/db.cpp
@@ -22,6 +22,8 @@
#include <stdio.h>
#include <initguid.h>
+#include <pseh/pseh2.h>
+
#include "wine/test.h"
#include "apphelp_apitest.h"
@@ -1081,7 +1083,7 @@ static void test_GetDatabaseInformation(PDB pdb)
ok(pInfo[1].dwSomething == 0xdededede, "Cookie1 corrupt: 0x%x\n",
pInfo[1].dwSomething);
ok(pInfo[1].dwMajor == 0xdededede, "Cookie2 corrupt: 0x%x\n",
pInfo[1].dwMajor);
}
-
+
}
free(pInfo);
}
@@ -1185,7 +1187,7 @@ static BOOL IsUserAdmin()
{
BOOL Result;
SID_IDENTIFIER_AUTHORITY NtAuthority = { SECURITY_NT_AUTHORITY };
- PSID AdministratorsGroup;
+ PSID AdministratorsGroup;
Result = AllocateAndInitializeSid(&NtAuthority, 2,
SECURITY_BUILTIN_DOMAIN_RID,
@@ -1196,7 +1198,7 @@ static BOOL IsUserAdmin()
{
if (!CheckTokenMembership( NULL, AdministratorsGroup, &Result))
Result = FALSE;
- FreeSid(AdministratorsGroup);
+ FreeSid(AdministratorsGroup);
}
return Result;
diff --git a/modules/rostests/apitests/apphelp/env.c
b/modules/rostests/apitests/apphelp/env.c
index 74e7d3b5dc1..26fcadbb611 100644
--- a/modules/rostests/apitests/apphelp/env.c
+++ b/modules/rostests/apitests/apphelp/env.c
@@ -21,6 +21,8 @@
#include "wine/test.h"
+#include <pseh/pseh2.h>
+
#include "apphelp_apitest.h"
typedef void* HSDB;
diff --git a/modules/rostests/apitests/compiler/ms/seh/CMakeLists.txt
b/modules/rostests/apitests/compiler/ms/seh/CMakeLists.txt
index 34da6e3e4bc..46df43a266a 100644
--- a/modules/rostests/apitests/compiler/ms/seh/CMakeLists.txt
+++ b/modules/rostests/apitests/compiler/ms/seh/CMakeLists.txt
@@ -12,6 +12,7 @@ foreach(num RANGE 10 58)
endforeach()
add_library(ms_seh_test ${SOURCE})
+target_link_libraries(ms_seh_test pseh)
add_dependencies(ms_seh_test psdk)
if(MSVC)
diff --git a/modules/rostests/apitests/gdi32/AddFontResourceEx.c
b/modules/rostests/apitests/gdi32/AddFontResourceEx.c
index 9448a6ff1c6..c65a00090d4 100644
--- a/modules/rostests/apitests/gdi32/AddFontResourceEx.c
+++ b/modules/rostests/apitests/gdi32/AddFontResourceEx.c
@@ -7,6 +7,8 @@
#include "precomp.h"
+#include <pseh/pseh2.h>
+
void Test_AddFontResourceExW()
{
WCHAR szFileName[MAX_PATH];
diff --git a/modules/rostests/apitests/gdi32/CreateDIBitmap.c
b/modules/rostests/apitests/gdi32/CreateDIBitmap.c
index cee2bb476d6..cc11cab28c5 100644
--- a/modules/rostests/apitests/gdi32/CreateDIBitmap.c
+++ b/modules/rostests/apitests/gdi32/CreateDIBitmap.c
@@ -9,6 +9,8 @@
#include "init.h"
+#include <pseh/pseh2.h>
+
#define CBM_CREATDIB 2
#define INVALID_POINTER ((PVOID)(ULONG_PTR)0xC0000000C0000000ULL)
diff --git a/modules/rostests/apitests/gdi32/ExtCreatePen.c
b/modules/rostests/apitests/gdi32/ExtCreatePen.c
index d565ad9306e..b82c34b8f23 100644
--- a/modules/rostests/apitests/gdi32/ExtCreatePen.c
+++ b/modules/rostests/apitests/gdi32/ExtCreatePen.c
@@ -7,6 +7,8 @@
#include "precomp.h"
+#include <pseh/pseh2.h>
+
#define ok_lasterror(err) \
ok(GetLastError() == err, "expected last error " #err " but got
0x%lx\n", GetLastError());
diff --git a/modules/rostests/apitests/gdi32/GetObject.c
b/modules/rostests/apitests/gdi32/GetObject.c
index df2a87170f7..6cd0d1c8ac5 100644
--- a/modules/rostests/apitests/gdi32/GetObject.c
+++ b/modules/rostests/apitests/gdi32/GetObject.c
@@ -7,6 +7,8 @@
#include "precomp.h"
+#include <pseh/pseh2.h>
+
#define INVALID_POINTER ((PVOID)(ULONG_PTR)0xdeadbeefdeadbeefULL)
void
diff --git a/modules/rostests/apitests/gdi32/SetBrushOrgEx.c
b/modules/rostests/apitests/gdi32/SetBrushOrgEx.c
index e708fef180d..9d510ab4ce8 100644
--- a/modules/rostests/apitests/gdi32/SetBrushOrgEx.c
+++ b/modules/rostests/apitests/gdi32/SetBrushOrgEx.c
@@ -7,6 +7,8 @@
#include "precomp.h"
+#include <pseh/pseh2.h>
+
void Test_Set(ULONG ulLine, HDC hdc, INT x, INT y, LPPOINT ppt, BOOL bExp, DWORD
dwErrExp)
{
BOOL bResult;
diff --git a/modules/rostests/apitests/kernel32/FLS.c
b/modules/rostests/apitests/kernel32/FLS.c
index 712a87403e8..44241b1e5a8 100644
--- a/modules/rostests/apitests/kernel32/FLS.c
+++ b/modules/rostests/apitests/kernel32/FLS.c
@@ -9,6 +9,8 @@
#include <ndk/pstypes.h>
#include <ndk/rtlfuncs.h>
+#include <pseh/pseh2.h>
+
/* XP does not have these functions */
static DWORD (WINAPI *pFlsAlloc)(PFLS_CALLBACK_FUNCTION);
static BOOL (WINAPI *pFlsFree)(DWORD);
diff --git a/modules/rostests/apitests/kernel32/SystemFirmware.c
b/modules/rostests/apitests/kernel32/SystemFirmware.c
index 47ef3a33bac..8a1ee03af4e 100644
--- a/modules/rostests/apitests/kernel32/SystemFirmware.c
+++ b/modules/rostests/apitests/kernel32/SystemFirmware.c
@@ -8,6 +8,8 @@
#include "precomp.h"
+#include <pseh/pseh2.h>
+
static UINT (WINAPI * pEnumSystemFirmwareTables)(DWORD, PVOID, DWORD);
static UINT (WINAPI * pGetSystemFirmwareTable)(DWORD, DWORD, PVOID, DWORD);
diff --git a/modules/rostests/apitests/localspl/dll/fpEnumPrinters.c
b/modules/rostests/apitests/localspl/dll/fpEnumPrinters.c
index b3d1625687d..346682ca946 100644
--- a/modules/rostests/apitests/localspl/dll/fpEnumPrinters.c
+++ b/modules/rostests/apitests/localspl/dll/fpEnumPrinters.c
@@ -15,6 +15,8 @@
#include <winspool.h>
#include <winsplp.h>
+#include <pseh/pseh2.h>
+
#include "../localspl_apitest.h"
#include <spoolss.h>
diff --git a/modules/rostests/apitests/ntdll/LdrEnumResources.c
b/modules/rostests/apitests/ntdll/LdrEnumResources.c
index e20cfd2bef5..1e0a0787f08 100644
--- a/modules/rostests/apitests/ntdll/LdrEnumResources.c
+++ b/modules/rostests/apitests/ntdll/LdrEnumResources.c
@@ -7,6 +7,8 @@
#include "precomp.h"
+#include <pseh/pseh2.h>
+
typedef struct _TEST_RESOURCES
{
IMAGE_RESOURCE_DIRECTORY TypeDirectory;
diff --git a/modules/rostests/apitests/ntdll/NtAllocateVirtualMemory.c
b/modules/rostests/apitests/ntdll/NtAllocateVirtualMemory.c
index aae94052e6b..235eaaf0095 100644
--- a/modules/rostests/apitests/ntdll/NtAllocateVirtualMemory.c
+++ b/modules/rostests/apitests/ntdll/NtAllocateVirtualMemory.c
@@ -10,6 +10,8 @@
#include "precomp.h"
+#include <pseh/pseh2.h>
+
static PVOID Allocations[4096] = { NULL };
static ULONG CurrentAllocation = 0;
diff --git a/modules/rostests/apitests/ntdll/NtMapViewOfSection.c
b/modules/rostests/apitests/ntdll/NtMapViewOfSection.c
index a191126df20..8723696c924 100644
--- a/modules/rostests/apitests/ntdll/NtMapViewOfSection.c
+++ b/modules/rostests/apitests/ntdll/NtMapViewOfSection.c
@@ -8,6 +8,8 @@
#include "precomp.h"
+#include <pseh/pseh2.h>
+
void
Test_PageFileSection(void)
{
diff --git a/modules/rostests/apitests/ntdll/RtlAllocateHeap.c
b/modules/rostests/apitests/ntdll/RtlAllocateHeap.c
index 6a327bb09f0..af3a8a7aecd 100644
--- a/modules/rostests/apitests/ntdll/RtlAllocateHeap.c
+++ b/modules/rostests/apitests/ntdll/RtlAllocateHeap.c
@@ -7,6 +7,8 @@
#include "precomp.h"
+#include <pseh/pseh2.h>
+
PVOID Buffers[0x100];
START_TEST(RtlAllocateHeap)
diff --git a/modules/rostests/apitests/ntdll/RtlBitmap.c
b/modules/rostests/apitests/ntdll/RtlBitmap.c
index 3b224be1e66..0c6bc7d59e5 100644
--- a/modules/rostests/apitests/ntdll/RtlBitmap.c
+++ b/modules/rostests/apitests/ntdll/RtlBitmap.c
@@ -2,6 +2,8 @@
#include "precomp.h"
#include <versionhelpers.h>
+#include <pseh/pseh2.h>
+
static BOOL IsBroken = FALSE;
void
diff --git a/modules/rostests/apitests/ntdll/RtlMultipleAllocateHeap.c
b/modules/rostests/apitests/ntdll/RtlMultipleAllocateHeap.c
index b2eb3132afa..1ae645facf5 100644
--- a/modules/rostests/apitests/ntdll/RtlMultipleAllocateHeap.c
+++ b/modules/rostests/apitests/ntdll/RtlMultipleAllocateHeap.c
@@ -6,6 +6,8 @@
*/
#include "precomp.h"
+#include <pseh/pseh2.h>
+
typedef ULONG (NTAPI *FN_RtlMultipleAllocateHeap)(IN PVOID, IN ULONG, IN SIZE_T, IN
ULONG, OUT PVOID *);
typedef ULONG (NTAPI *FN_RtlMultipleFreeHeap)(IN PVOID, IN ULONG, IN ULONG, OUT PVOID
*);
diff --git a/modules/rostests/apitests/ntdll/StackOverflow.c
b/modules/rostests/apitests/ntdll/StackOverflow.c
index 175142d01a3..1c3007079ee 100644
--- a/modules/rostests/apitests/ntdll/StackOverflow.c
+++ b/modules/rostests/apitests/ntdll/StackOverflow.c
@@ -7,6 +7,8 @@
#include "precomp.h"
+#include <pseh/pseh2.h>
+
#ifdef _MSC_VER
#pragma warning(disable : 4717) // disable warning about recursive function
#endif
diff --git a/modules/rostests/apitests/ntdll/load_notifications.c
b/modules/rostests/apitests/ntdll/load_notifications.c
index 8543f2f478a..6fca52939a5 100644
--- a/modules/rostests/apitests/ntdll/load_notifications.c
+++ b/modules/rostests/apitests/ntdll/load_notifications.c
@@ -7,6 +7,8 @@
#include "precomp.h"
+#include <pseh/pseh2.h>
+
WCHAR dllpath[MAX_PATH];
LONG g_TlsCalled = 0;
diff --git a/modules/rostests/apitests/sdk/delayimp.cpp
b/modules/rostests/apitests/sdk/delayimp.cpp
index ca8c76e1ffe..7073f001932 100644
--- a/modules/rostests/apitests/sdk/delayimp.cpp
+++ b/modules/rostests/apitests/sdk/delayimp.cpp
@@ -20,6 +20,8 @@
#include <imagehlp.h>
#include <mmddk.h>
+#include <pseh/pseh2.h>
+
/* Compatibility with the MS defines */
#ifndef FACILITY_VISUALCPP
@@ -198,7 +200,7 @@ FARPROC WINAPI DliHook(unsigned dliNotify, PDelayLoadInfo pdli)
g_VersionDll = LoadLibraryA("version.dll");
return (FARPROC)1;
}
-
+
}
else if (dliNotify == dliNotePreGetProcAddress)
{
@@ -482,7 +484,7 @@ START_TEST(delayimp)
ok(err == MMSYSERR_INVALHANDLE, "Expected err to be MMSYSERR_INVALHANDLE, was
0x%lx\n", err);
CheckDliDone();
ok(g_BreakFunctionName == false, "Expected the functionname to be
changed\n");
-
+
/* Make the LoadLib fail, manually load the library in the Failure Hook,
Respond to the dliNotePreGetProcAddress with an alternate function address */
SetExpectedDli(g_sfc_key);
diff --git a/modules/rostests/apitests/shlwapi/PathFindOnPath.c
b/modules/rostests/apitests/shlwapi/PathFindOnPath.c
index 9a4ba21ed6b..4b4f67d67b2 100644
--- a/modules/rostests/apitests/shlwapi/PathFindOnPath.c
+++ b/modules/rostests/apitests/shlwapi/PathFindOnPath.c
@@ -20,6 +20,8 @@
#include <shlwapi.h>
#include <assert.h>
+#include <pseh/pseh2.h>
+
#define EF_FULLPATH 1
#define EF_TESTDATA 2
#define EF_WIN_DIR 4
diff --git a/modules/rostests/apitests/shlwapi/SHAreIconsEqual.c
b/modules/rostests/apitests/shlwapi/SHAreIconsEqual.c
index 27592325c79..efaaea4d688 100644
--- a/modules/rostests/apitests/shlwapi/SHAreIconsEqual.c
+++ b/modules/rostests/apitests/shlwapi/SHAreIconsEqual.c
@@ -9,6 +9,8 @@
#include <shlwapi.h>
#include "resource.h"
+#include <pseh/pseh2.h>
+
static BOOL (WINAPI *pSHAreIconsEqual)(HICON hIcon1, HICON hIcon2);
static const char* names[] =
diff --git a/modules/rostests/apitests/shlwapi/SHLoadIndirectString.c
b/modules/rostests/apitests/shlwapi/SHLoadIndirectString.c
index 0eac5b04db6..5aeef6de517 100644
--- a/modules/rostests/apitests/shlwapi/SHLoadIndirectString.c
+++ b/modules/rostests/apitests/shlwapi/SHLoadIndirectString.c
@@ -9,6 +9,8 @@
#include <shlwapi.h>
#include "resource.h"
+#include <pseh/pseh2.h>
+
static void execute_test(LPCWSTR DllFile)
{
WCHAR DllBuffer[MAX_PATH + 20];
diff --git a/modules/rostests/apitests/spoolss/ReallocSplStr.c
b/modules/rostests/apitests/spoolss/ReallocSplStr.c
index 161d07070a9..a19aab3acbb 100644
--- a/modules/rostests/apitests/spoolss/ReallocSplStr.c
+++ b/modules/rostests/apitests/spoolss/ReallocSplStr.c
@@ -12,6 +12,8 @@
#include <winbase.h>
#include <spoolss.h>
+#include <pseh/pseh2.h>
+
START_TEST(ReallocSplStr)
{
const WCHAR wszTestString1[] = L"Test";
diff --git a/modules/rostests/winetests/kernel32/CMakeLists.txt
b/modules/rostests/winetests/kernel32/CMakeLists.txt
index d652970ff98..c46d3fdf669 100644
--- a/modules/rostests/winetests/kernel32/CMakeLists.txt
+++ b/modules/rostests/winetests/kernel32/CMakeLists.txt
@@ -55,6 +55,7 @@ if(USE_CLANG_CL OR (NOT MSVC))
endif()
set_module_type(kernel32_winetest win32cui)
+target_link_libraries(kernel32_winetest pseh)
add_importlibs(kernel32_winetest user32 advapi32 msvcrt kernel32 ntdll)
add_pch(kernel32_winetest precomp.h "${PCH_SKIP_SOURCE}")
add_rostests_file(TARGET kernel32_winetest)
diff --git a/modules/rostests/winetests/ntdll/CMakeLists.txt
b/modules/rostests/winetests/ntdll/CMakeLists.txt
index 21b6b7bdc97..33863166474 100644
--- a/modules/rostests/winetests/ntdll/CMakeLists.txt
+++ b/modules/rostests/winetests/ntdll/CMakeLists.txt
@@ -36,6 +36,8 @@ add_executable(ntdll_winetest
${SOURCE}
${PCH_SKIP_SOURCE})
+target_link_libraries(ntdll_winetest pseh)
+
if(USE_CLANG_CL OR (NOT MSVC))
target_compile_options(ntdll_winetest PRIVATE "-Wno-format")
endif()
diff --git a/sdk/lib/atl/CMakeLists.txt b/sdk/lib/atl/CMakeLists.txt
index 3a0fb3ce0dc..9fb5d548228 100644
--- a/sdk/lib/atl/CMakeLists.txt
+++ b/sdk/lib/atl/CMakeLists.txt
@@ -9,3 +9,5 @@ target_include_directories(atl_classes INTERFACE
target_compile_definitions(atl_classes INTERFACE
"$<$<AND:$<COMPILE_LANGUAGE:CXX>,$<NOT:$<BOOL:$<TARGET_PROPERTY:WITH_CXX_EXCEPTIONS>>>>:_ATL_NO_EXCEPTIONS>")
+
+target_link_libraries(atl_classes INTERFACE pseh)
diff --git a/sdk/lib/atl/atlcom.h b/sdk/lib/atl/atlcom.h
index 544de73244c..c9d92edbd9c 100644
--- a/sdk/lib/atl/atlcom.h
+++ b/sdk/lib/atl/atlcom.h
@@ -22,6 +22,7 @@
#pragma once
#include <cguid.h> // for GUID_NULL
+#include <pseh/pseh2.h>
namespace ATL
{
diff --git a/sdk/lib/crt/crt.cmake b/sdk/lib/crt/crt.cmake
index 3997ea778a9..6a1111789d7 100644
--- a/sdk/lib/crt/crt.cmake
+++ b/sdk/lib/crt/crt.cmake
@@ -603,7 +603,7 @@ if(USE_CLANG_CL)
endif()
add_library(crt ${CRT_SOURCE} ${CRT_WINE_SOURCE} ${crt_asm})
-target_link_libraries(crt chkstk)
+target_link_libraries(crt chkstk ${PSEH_LIB})
target_compile_definitions(crt
PRIVATE __MINGW_IMPORT=extern
USE_MSVCRT_PREFIX
diff --git a/sdk/lib/drivers/copysup/CMakeLists.txt
b/sdk/lib/drivers/copysup/CMakeLists.txt
index c84d41ed97d..fb009964639 100644
--- a/sdk/lib/drivers/copysup/CMakeLists.txt
+++ b/sdk/lib/drivers/copysup/CMakeLists.txt
@@ -4,4 +4,5 @@ list(APPEND SOURCE
copysup.c)
add_library(copysup ${SOURCE})
+target_link_libraries(copysup PRIVATE pseh)
add_dependencies(copysup bugcodes xdk)
diff --git a/sdk/lib/drivers/rdbsslib/CMakeLists.txt
b/sdk/lib/drivers/rdbsslib/CMakeLists.txt
index 7b6ec545500..5c1b9005f8c 100644
--- a/sdk/lib/drivers/rdbsslib/CMakeLists.txt
+++ b/sdk/lib/drivers/rdbsslib/CMakeLists.txt
@@ -7,4 +7,5 @@ list(APPEND SOURCE
rdbss.c)
add_library(rdbsslib ${SOURCE})
+target_link_libraries(rdbsslib PRIVATE pseh)
add_dependencies(rdbsslib bugcodes xdk)
diff --git a/sdk/lib/drivers/rxce/CMakeLists.txt b/sdk/lib/drivers/rxce/CMakeLists.txt
index 38168bf6022..905c08b8136 100644
--- a/sdk/lib/drivers/rxce/CMakeLists.txt
+++ b/sdk/lib/drivers/rxce/CMakeLists.txt
@@ -6,4 +6,5 @@ list(APPEND SOURCE
rxce.c)
add_library(rxce ${SOURCE})
+target_link_libraries(rxce PRIVATE pseh)
add_dependencies(rxce bugcodes xdk)
diff --git a/sdk/lib/rtl/CMakeLists.txt b/sdk/lib/rtl/CMakeLists.txt
index 1fe48a7817c..c2b2e5d1025 100644
--- a/sdk/lib/rtl/CMakeLists.txt
+++ b/sdk/lib/rtl/CMakeLists.txt
@@ -112,6 +112,7 @@ endif()
add_asm_files(rtl_asm ${ASM_SOURCE})
add_library(rtl ${SOURCE} ${rtl_asm})
+target_link_libraries(rtl PRIVATE pseh)
add_pch(rtl rtl.h SOURCE)
add_dependencies(rtl psdk asm)
@@ -124,3 +125,4 @@ list(APPEND SOURCE_VISTA
add_library(rtl_vista ${SOURCE_VISTA})
add_pch(rtl_vista rtl_vista.h SOURCE_VISTA)
add_dependencies(rtl_vista psdk)
+target_link_libraries(rtl_vista PRIVATE pseh)
diff --git a/win32ss/gdi/gdi32/objects/bitmap.c b/win32ss/gdi/gdi32/objects/bitmap.c
index 3e56194ce95..91e8a0be9ee 100644
--- a/win32ss/gdi/gdi32/objects/bitmap.c
+++ b/win32ss/gdi/gdi32/objects/bitmap.c
@@ -1,5 +1,7 @@
#include <precomp.h>
+#include <pseh/pseh2.h>
+
#define NDEBUG
#include <debug.h>
diff --git a/win32ss/gdi/gdi32/wine/CMakeLists.txt
b/win32ss/gdi/gdi32/wine/CMakeLists.txt
index 63e139cd8c9..4f70a336d05 100644
--- a/win32ss/gdi/gdi32/wine/CMakeLists.txt
+++ b/win32ss/gdi/gdi32/wine/CMakeLists.txt
@@ -23,4 +23,5 @@ list(APPEND SOURCE
rosglue.c)
add_library(winegdi ${SOURCE})
+target_link_libraries(winegdi PRIVATE pseh)
add_dependencies(winegdi psdk)
diff --git a/win32ss/printing/base/winspool/utils.c
b/win32ss/printing/base/winspool/utils.c
index 3fa4a37ef2d..1128f3d801e 100644
--- a/win32ss/printing/base/winspool/utils.c
+++ b/win32ss/printing/base/winspool/utils.c
@@ -9,6 +9,8 @@
#include <shlobj.h>
#include <undocshell.h>
+#include <pseh/pseh2.h>
+
#define MAX_GETPRINTER_SIZE 4096 - MAX_PATH
typedef void (WINAPI *PPfpSHChangeNotify)(LONG wEventId, UINT uFlags, LPCVOID dwItem1,
LPCVOID dwItem2);
@@ -160,7 +162,7 @@ IntProtectHandle( HANDLE hSpooler, BOOL Close )
// 2 : Close and/or shared
// 1 : Failed Handle
// 0 : In use.
- return Ret;
+ return Ret;
}
//
// This one too.
diff --git a/win32ss/user/winsrv/consrv.cmake b/win32ss/user/winsrv/consrv.cmake
index 48fb96d2de2..d2ef3a2b5ec 100644
--- a/win32ss/user/winsrv/consrv.cmake
+++ b/win32ss/user/winsrv/consrv.cmake
@@ -53,6 +53,7 @@ else()
endif()
add_library(consrv ${CONSRV_SOURCE})
+target_link_libraries(consrv pseh)
add_dependencies(consrv psdk)
add_pch(consrv consrv/consrv.h CONSRV_SOURCE)
#add_object_library(consrv ${CONSRV_SOURCE})
diff --git a/win32ss/user/winsrv/usersrv.cmake b/win32ss/user/winsrv/usersrv.cmake
index e7cbb1bae13..8db138e5a27 100644
--- a/win32ss/user/winsrv/usersrv.cmake
+++ b/win32ss/user/winsrv/usersrv.cmake
@@ -10,6 +10,7 @@ list(APPEND USERSRV_SOURCE
usersrv/usersrv.h)
add_library(usersrv ${USERSRV_SOURCE})
+target_link_libraries(usersrv pseh)
add_dependencies(usersrv xdk)
add_pch(usersrv usersrv/usersrv.h USERSRV_SOURCE)
#add_object_library(usersrv ${USERSRV_SOURCE})