[PATCH 0/1] MR10578: shell32: add stub for `SHEvaluateSystemCommandTemplate`
Sysinternals' "Autoruns" utility would call this function as indicated by winedbg `wine: Call from 00006FFFFFC58628 to unimplemented function SHELL32.dll.SHEvaluateSystemCommandTemplate, aborting` Adding a stub for it would fix running the utility. This is my first Wine contribution. Please let me know if anything is wrong! -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10578
From: Stephan Seitz <stephan.seitz@fau.de> --- dlls/shell32/shell32.spec | 1 + dlls/shell32/shell32_main.c | 13 +++++++++++++ include/shellapi.h | 1 + 3 files changed, 15 insertions(+) diff --git a/dlls/shell32/shell32.spec b/dlls/shell32/shell32.spec index 70eb2422f39..15cf4592a74 100644 --- a/dlls/shell32/shell32.spec +++ b/dlls/shell32/shell32.spec @@ -362,6 +362,7 @@ @ stdcall SHEmptyRecycleBinA(long str long) @ stdcall SHEmptyRecycleBinW(long wstr long) @ stdcall SHEnumerateUnreadMailAccountsW(ptr long ptr long) +@ stdcall SHEvaluateSystemCommandTemplate(ptr ptr ptr ptr) @ stdcall SHExtractIconsW(wstr long long long ptr ptr long long) user32.PrivateExtractIconsW @ stdcall SHFileOperation(ptr) SHFileOperationA @ stdcall SHFileOperationA(ptr) diff --git a/dlls/shell32/shell32_main.c b/dlls/shell32/shell32_main.c index 6bd46eb4f80..3f738ed1e5e 100644 --- a/dlls/shell32/shell32_main.c +++ b/dlls/shell32/shell32_main.c @@ -1188,6 +1188,19 @@ HRESULT WINAPI SHEnumerateUnreadMailAccountsW(HKEY user, DWORD idx, LPWSTR maila return E_NOTIMPL; } +/*********************************************************************** + * SHEvaluateSystemCommandTemplate (SHELL32.@) + */ +HRESULT WINAPI SHEvaluateSystemCommandTemplate(PCWSTR cmdtemplate, + PWSTR *application, + PWSTR *commandline, + PWSTR *parameters) { + FIXME("(%p %p %p %p) stub!\n", cmdtemplate, application, commandline, + parameters); + + return E_NOTIMPL; +} + /*********************************************************************** * SHQueryUserNotificationState (SHELL32.@) */ diff --git a/include/shellapi.h b/include/shellapi.h index fc646820eba..1516e7a7ac5 100644 --- a/include/shellapi.h +++ b/include/shellapi.h @@ -711,6 +711,7 @@ WINSHELLAPI DWORD WINAPI DoEnvironmentSubstW(LPWSTR, UINT); WINSHELLAPI HRESULT WINAPI SHEnumerateUnreadMailAccountsA(HKEY,DWORD,LPSTR,INT); WINSHELLAPI HRESULT WINAPI SHEnumerateUnreadMailAccountsW(HKEY,DWORD,LPWSTR,INT); #define SHEnumerateUnreadMailAccounts WINELIB_NAME_AW(SHEnumerateUnreadMailAccounts) +WINSHELLAPI HRESULT WINAPI SHEvaluateSystemCommandTemplate(PCWSTR, PWSTR*, PWSTR*, PWSTR*); WINSHELLAPI HRESULT WINAPI SHGetPropertyStoreForWindow(HWND,REFIID,void **); #ifdef __cplusplus -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10578
Stephan Seitz (@theHamsta) commented about dlls/shell32/shell32.spec:
@ stdcall SHEmptyRecycleBinA(long str long) @ stdcall SHEmptyRecycleBinW(long wstr long) @ stdcall SHEnumerateUnreadMailAccountsW(ptr long ptr long) +@ stdcall SHEvaluateSystemCommandTemplate(ptr ptr ptr ptr) is this signature correct? or should the first parameter be `wstr`?
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/10578#note_135135
participants (2)
-
Stephan Seitz -
Stephan Seitz (@theHamsta)