From: Dmitry Timoshkov dmitry@baikal.ru
Signed-off-by: Dmitry Timoshkov dmitry@baikal.ru --- programs/services/rpc.c | 8 ++++++++ programs/services/services.c | 8 ++++++++ 2 files changed, 16 insertions(+)
diff --git a/programs/services/rpc.c b/programs/services/rpc.c index 835516861f0..d725c6510b4 100644 --- a/programs/services/rpc.c +++ b/programs/services/rpc.c @@ -975,6 +975,14 @@ DWORD __cdecl svcctl_ChangeServiceConfig2W( SC_RPC_HANDLE hService, SC_RPC_CONFI save_service_config( service->service_entry ); service_unlock( service->service_entry ); break; + case SERVICE_CONFIG_DELAYED_AUTO_START_INFO: + WINE_TRACE( "SERVICE_CONFIG_DELAYED_AUTO_START_INFO not implemented: fDelayedAutostart %d\n", + config.delayedstart->fDelayedAutostart); + service_lock( service->service_entry ); + service->service_entry->delayed_autostart = config.delayedstart->fDelayedAutostart; + save_service_config( service->service_entry ); + service_unlock( service->service_entry ); + break; default: WINE_FIXME("level %lu not implemented\n", config.dwInfoLevel); err = ERROR_INVALID_LEVEL; diff --git a/programs/services/services.c b/programs/services/services.c index 273a146c784..9636752438e 100644 --- a/programs/services/services.c +++ b/programs/services/services.c @@ -275,6 +275,14 @@ DWORD save_service_config(struct service_entry *entry) goto cleanup; if ((err = RegSetValueExW(hKey, SZ_PRESHUTDOWN, 0, REG_DWORD, (LPBYTE)&entry->preshutdown_timeout, sizeof(DWORD))) != 0) goto cleanup; + + if (entry->delayed_autostart) + err = RegSetValueExW(hKey, SZ_DELAYED_AUTOSTART, 0, REG_DWORD, (LPBYTE)&entry->delayed_autostart, sizeof(DWORD)); + else + err = RegDeleteValueW(hKey, SZ_DELAYED_AUTOSTART); + if (err != 0 && err != ERROR_FILE_NOT_FOUND) + goto cleanup; + if (entry->is_wow64) { const DWORD is_wow64 = 1;
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=148436
Your paranoid android.
=== debian11b (64 bit WoW report) ===
user32: input.c:4305: Test succeeded inside todo block: button_down_hwnd_todo 1: got MSG_TEST_WIN hwnd 00000000015400F2, msg WM_LBUTTONDOWN, wparam 0x1, lparam 0x320032
Aida Jonikienė (@DodoGTA) commented about programs/services/rpc.c:
save_service_config( service->service_entry ); service_unlock( service->service_entry ); break;
- case SERVICE_CONFIG_DELAYED_AUTO_START_INFO:
WINE_TRACE( "SERVICE_CONFIG_DELAYED_AUTO_START_INFO not implemented: fDelayedAutostart %d\n",
I'm not sure why the not implemented message has a TRACE level
Also a small test for this function call would be nice (SERVICE_CONFIG_PRESHUTDOWN_INFO already has them)
On Sun Sep 15 13:31:32 2024 +0000, Aida Jonikienė wrote:
I'm not sure why the not implemented message has a TRACE level
"not implemented" part is there because initiallly it was added as a stub. Thanks for spotting that.
On Sun Sep 15 16:59:49 2024 +0000, Aida Jonikienė wrote:
Also a small test for this function call would be nice (SERVICE_CONFIG_PRESHUTDOWN_INFO already has them)
That's a valid request, thanks.