From 225f8bea79e0c5daf58b2d00c3303625ba91bdeb Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Wed, 24 Jan 2018 01:19:03 -0700 Subject: [PATCH] shcore: Add stub dll and GetProcessDpiAwareness stub. Signed-off-by: Alex Henrie Signed-off-by: Alexandre Julliard --- configure | 2 + configure.ac | 1 + .../api-ms-win-shcore-scaling-l1-1-1.spec | 2 +- dlls/shcore/Makefile.in | 4 + dlls/shcore/main.c | 50 +++++ dlls/shcore/shcore.spec | 181 ++++++++++++++++++ tools/make_specfiles | 7 +- 7 files changed, 245 insertions(+), 2 deletions(-) create mode 100644 dlls/shcore/Makefile.in create mode 100644 dlls/shcore/main.c create mode 100644 dlls/shcore/shcore.spec diff --git a/configure b/configure index 96225801ca0..1eeb841b1c8 100755 --- a/configure +++ b/configure @@ -1456,6 +1456,7 @@ enable_serialui enable_setupapi enable_sfc enable_sfc_os +enable_shcore enable_shdoclc enable_shdocvw enable_shell32 @@ -19063,6 +19064,7 @@ wine_fn_config_test dlls/setupapi/tests setupapi_test wine_fn_config_dll setupx.dll16 enable_win16 wine_fn_config_dll sfc enable_sfc implib wine_fn_config_dll sfc_os enable_sfc_os implib +wine_fn_config_dll shcore enable_shcore wine_fn_config_dll shdoclc enable_shdoclc clean wine_fn_config_dll shdocvw enable_shdocvw clean,implib wine_fn_config_test dlls/shdocvw/tests shdocvw_test diff --git a/configure.ac b/configure.ac index cb7a4d36d82..e2554f76744 100644 --- a/configure.ac +++ b/configure.ac @@ -3548,6 +3548,7 @@ WINE_CONFIG_TEST(dlls/setupapi/tests) WINE_CONFIG_DLL(setupx.dll16,enable_win16) WINE_CONFIG_DLL(sfc,,[implib]) WINE_CONFIG_DLL(sfc_os,,[implib]) +WINE_CONFIG_DLL(shcore) WINE_CONFIG_DLL(shdoclc,,[clean]) WINE_CONFIG_DLL(shdocvw,,[clean,implib]) WINE_CONFIG_TEST(dlls/shdocvw/tests) diff --git a/dlls/api-ms-win-shcore-scaling-l1-1-1/api-ms-win-shcore-scaling-l1-1-1.spec b/dlls/api-ms-win-shcore-scaling-l1-1-1/api-ms-win-shcore-scaling-l1-1-1.spec index 2c4ab9e27c7..acf194ac33f 100644 --- a/dlls/api-ms-win-shcore-scaling-l1-1-1/api-ms-win-shcore-scaling-l1-1-1.spec +++ b/dlls/api-ms-win-shcore-scaling-l1-1-1/api-ms-win-shcore-scaling-l1-1-1.spec @@ -1,5 +1,5 @@ @ stub GetDpiForMonitor -@ stub GetProcessDpiAwareness +@ stdcall GetProcessDpiAwareness(long ptr) shcore.GetProcessDpiAwareness @ stub GetScaleFactorForDevice @ stub GetScaleFactorForMonitor @ stub RegisterScaleChangeEvent diff --git a/dlls/shcore/Makefile.in b/dlls/shcore/Makefile.in new file mode 100644 index 00000000000..ec2e95f526f --- /dev/null +++ b/dlls/shcore/Makefile.in @@ -0,0 +1,4 @@ +MODULE = shcore.dll + +C_SRCS = \ + main.c diff --git a/dlls/shcore/main.c b/dlls/shcore/main.c new file mode 100644 index 00000000000..9075a38e1b4 --- /dev/null +++ b/dlls/shcore/main.c @@ -0,0 +1,50 @@ +/* + * Copyright 2016 Sebastian Lackner + * + * 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 + */ + +#include "config.h" +#include + +#include "windef.h" +#include "winbase.h" +#include "shellscalingapi.h" +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(shcore); + +BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, void *reserved) +{ + TRACE("(%p, %u, %p)\n", instance, reason, reserved); + + switch (reason) + { + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls(instance); + break; + } + + return TRUE; +} + +HRESULT WINAPI GetProcessDpiAwareness(HANDLE process, PROCESS_DPI_AWARENESS *value) +{ + FIXME("(%p, %p): stub\n", process, value); + if (value) *value = PROCESS_DPI_UNAWARE; + return S_OK; +} diff --git a/dlls/shcore/shcore.spec b/dlls/shcore/shcore.spec new file mode 100644 index 00000000000..374fafbceb2 --- /dev/null +++ b/dlls/shcore/shcore.spec @@ -0,0 +1,181 @@ +1 stub @ +@ stdcall CommandLineToArgvW(wstr ptr) shell32.CommandLineToArgvW +@ stub CreateRandomAccessStreamOnFile +@ stub CreateRandomAccessStreamOverStream +@ stub CreateStreamOverRandomAccessStream +@ stdcall -private DllCanUnloadNow() shell32.DllCanUnloadNow +@ stub DllGetActivationFactory +@ stdcall -private DllGetClassObject(ptr ptr ptr) shell32.DllGetClassObject +@ stdcall GetCurrentProcessExplicitAppUserModelID(ptr) shell32.GetCurrentProcessExplicitAppUserModelID +@ stub GetDpiForMonitor +@ stub GetDpiForShellUIComponent +@ stdcall GetProcessDpiAwareness(long ptr) +@ stub GetProcessReference +@ stub GetScaleFactorForDevice +@ stub GetScaleFactorForMonitor +@ stub IStream_Copy +@ stdcall IStream_Read(ptr ptr long) shlwapi.IStream_Read +@ stub IStream_ReadStr +@ stdcall IStream_Reset(ptr) shlwapi.IStream_Reset +@ stdcall IStream_Size(ptr ptr) shlwapi.IStream_Size +@ stdcall IStream_Write(ptr ptr long) shlwapi.IStream_Write +@ stub IStream_WriteStr +@ stdcall IUnknown_AtomicRelease(long) shlwapi.IUnknown_AtomicRelease +@ stdcall IUnknown_GetSite(ptr ptr ptr) shlwapi.IUnknown_GetSite +@ stdcall IUnknown_QueryService(ptr ptr ptr ptr) shlwapi.IUnknown_QueryService +@ stdcall IUnknown_Set(ptr ptr) shlwapi.IUnknown_Set +@ stdcall IUnknown_SetSite(ptr ptr) shlwapi.IUnknown_SetSite +@ stdcall IsOS(long) shlwapi.IsOS +@ stub RegisterScaleChangeEvent +@ stub RegisterScaleChangeNotifications +@ stub RevokeScaleChangeNotifications +@ stdcall SHAnsiToAnsi(str ptr long) shlwapi.SHAnsiToAnsi +@ stdcall SHAnsiToUnicode(str ptr long) shlwapi.SHAnsiToUnicode +@ stdcall SHCopyKeyA(long str long long) shlwapi.SHCopyKeyA +@ stdcall SHCopyKeyW(long wstr long long) shlwapi.SHCopyKeyW +@ stdcall SHCreateMemStream(ptr long) shlwapi.SHCreateMemStream +@ stdcall SHCreateStreamOnFileA(str long ptr) shlwapi.SHCreateStreamOnFileA +@ stdcall SHCreateStreamOnFileEx(wstr long long long ptr ptr) shlwapi.SHCreateStreamOnFileEx +@ stdcall SHCreateStreamOnFileW(wstr long ptr) shlwapi.SHCreateStreamOnFileW +@ stdcall SHCreateThread(ptr ptr long ptr) shlwapi.SHCreateThread +@ stdcall SHCreateThreadRef(ptr ptr) shlwapi.SHCreateThreadRef +@ stub SHCreateThreadWithHandle +@ stdcall SHDeleteEmptyKeyA(long ptr) shlwapi.SHDeleteEmptyKeyA +@ stdcall SHDeleteEmptyKeyW(long ptr) shlwapi.SHDeleteEmptyKeyW +@ stdcall SHDeleteKeyA(long str) shlwapi.SHDeleteKeyA +@ stdcall SHDeleteKeyW(long wstr) shlwapi.SHDeleteKeyW +@ stdcall SHDeleteValueA(long str str) shlwapi.SHDeleteValueA +@ stdcall SHDeleteValueW(long wstr wstr) shlwapi.SHDeleteValueW +@ stdcall SHEnumKeyExA(long long str ptr) shlwapi.SHEnumKeyExA +@ stdcall SHEnumKeyExW(long long wstr ptr) shlwapi.SHEnumKeyExW +@ stdcall SHEnumValueA(long long str ptr ptr ptr ptr) shlwapi.SHEnumValueA +@ stdcall SHEnumValueW(long long wstr ptr ptr ptr ptr) shlwapi.SHEnumValueW +@ stdcall SHGetThreadRef(ptr) shlwapi.SHGetThreadRef +@ stdcall SHGetValueA( long str str ptr ptr ptr ) shlwapi.SHGetValueA +@ stdcall SHGetValueW( long wstr wstr ptr ptr ptr ) shlwapi.SHGetValueW +@ stdcall SHOpenRegStream2A(long str str long) shlwapi.SHOpenRegStream2A +@ stdcall SHOpenRegStream2W(long wstr wstr long) shlwapi.SHOpenRegStream2W +@ stdcall SHOpenRegStreamA(long str str long) shlwapi.SHOpenRegStreamA +@ stdcall SHOpenRegStreamW(long wstr wstr long) shlwapi.SHOpenRegStreamW +@ stdcall SHQueryInfoKeyA(long ptr ptr ptr ptr) shlwapi.SHQueryInfoKeyA +@ stdcall SHQueryInfoKeyW(long ptr ptr ptr ptr) shlwapi.SHQueryInfoKeyW +@ stdcall SHQueryValueExA(long str ptr ptr ptr ptr) shlwapi.SHQueryValueExA +@ stdcall SHQueryValueExW(long wstr ptr ptr ptr ptr) shlwapi.SHQueryValueExW +@ stdcall SHRegDuplicateHKey(long) shlwapi.SHRegDuplicateHKey +@ stdcall SHRegGetIntW(ptr wstr long) shlwapi.SHRegGetIntW +@ stdcall SHRegGetPathA(long str str ptr long) shlwapi.SHRegGetPathA +@ stdcall SHRegGetPathW(long wstr wstr ptr long) shlwapi.SHRegGetPathW +@ stdcall SHRegGetValueA( long str str long ptr ptr ptr ) shlwapi.SHRegGetValueA +@ stdcall SHRegGetValueW( long wstr wstr long ptr ptr ptr ) shlwapi.SHRegGetValueW +@ stdcall SHRegSetPathA(long str str str long) shlwapi.SHRegSetPathA +@ stdcall SHRegSetPathW(long wstr wstr wstr long) shlwapi.SHRegSetPathW +@ stdcall SHReleaseThreadRef() shlwapi.SHReleaseThreadRef +@ stdcall SHSetThreadRef(ptr) shlwapi.SHSetThreadRef +@ stdcall SHSetValueA(long str str long ptr long) shlwapi.SHSetValueA +@ stdcall SHSetValueW(long wstr wstr long ptr long) shlwapi.SHSetValueW +@ stdcall SHStrDupA(str ptr) shlwapi.SHStrDupA +@ stdcall SHStrDupW(wstr ptr) shlwapi.SHStrDupW +@ stdcall SHUnicodeToAnsi(wstr ptr ptr) shlwapi.SHUnicodeToAnsi +@ stdcall SHUnicodeToUnicode(wstr ptr long) shlwapi.SHUnicodeToUnicode +@ stdcall SetCurrentProcessExplicitAppUserModelID(wstr) shell32.SetCurrentProcessExplicitAppUserModelID +@ stub SetProcessDpiAwareness +@ stub SetProcessReference +@ stub UnregisterScaleChangeEvent + +100 stub @ +101 stub @ +102 stub @ +103 stub @ +104 stub @ +105 stub @ +106 stub @ +107 stub @ +108 stub @ +109 stub @ +110 stub @ +111 stub @ +115 stub @ +116 stub @ +117 stub @ +120 stub @ +121 stub @ +122 stub SHRegGetValueFromHKCUHKLM +123 stub @ +124 stub @ +125 stub @ +126 stub @ +127 stub @ +130 stub @ +131 stub @ +132 stub @ +133 stub @ +140 stub @ +141 stub @ +142 stub @ +143 stub @ +144 stub @ +145 stub @ +150 stub @ +151 stub @ +152 stub @ +153 stub @ +160 stub @ +161 stub @ +162 stub @ +170 stub @ +171 stub @ +172 stub @ +173 stub @ +181 stub @ +182 stub @ +183 stub @ +184 stub @ +185 stub @ +186 stub @ +187 stub @ +188 stub @ +190 stub @ +191 stub @ +192 stub @ +193 stub @ +200 stub @ +220 stub @ +221 stub @ +222 stub @ +223 stub @ +224 stub @ +225 stub @ +226 stub @ +227 stub @ +228 stub @ +230 stub @ +231 stub @ +232 stub @ +233 stub @ +234 stub @ +240 stub @ +241 stub @ +242 stub @ +243 stub @ +244 stub @ +245 stub @ +246 stub @ +247 stub @ +248 stub @ +250 stub @ +251 stub @ +252 stub @ +253 stub @ +254 stub @ +255 stub @ +260 stub @ +261 stub @ +270 stub @ +280 stub @ +281 stub @ +282 stub @ +283 stub @ +284 stub @ +290 stub @ +291 stub @ +292 stub @ diff --git a/tools/make_specfiles b/tools/make_specfiles index 1833cb6d1b0..417cf50ac3b 100755 --- a/tools/make_specfiles +++ b/tools/make_specfiles @@ -322,9 +322,14 @@ my @dll_groups = "api-ms-win-core-shlwapi-legacy-l1-1-0", "api-ms-win-core-shlwapi-obsolete-l1-1-0", "api-ms-win-core-shlwapi-obsolete-l1-2-0", - "api-ms-win-shcore-scaling-l1-1-1", "api-ms-win-core-url-l1-1-0", ], + [ + "shell32", + "shlwapi", + "shcore", + "api-ms-win-shcore-scaling-l1-1-1", + ], [ "user32", "api-ms-win-core-stringansi-l1-1-0",