Alexandre Julliard : services: Propagate the WINEBOOTSTRAPMODE variable to spawned services.

Alexandre Julliard julliard at winehq.org
Thu Apr 8 16:14:03 CDT 2021


Module: wine
Branch: master
Commit: 7cea94349a48b5e4ff5a015175d7e27922323b13
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=7cea94349a48b5e4ff5a015175d7e27922323b13

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Thu Apr  8 12:23:09 2021 +0200

services: Propagate the WINEBOOTSTRAPMODE variable to spawned services.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 programs/services/services.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/programs/services/services.c b/programs/services/services.c
index d9c4e484e42..39cd9ee4ffa 100644
--- a/programs/services/services.c
+++ b/programs/services/services.c
@@ -25,6 +25,7 @@
 #include <assert.h>
 #include <windows.h>
 #include <winsvc.h>
+#include <winternl.h>
 #include <rpc.h>
 #include <userenv.h>
 #include <setupapi.h>
@@ -1069,7 +1070,16 @@ found:
 
     if (!environment && OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY | TOKEN_DUPLICATE, &token))
     {
+        WCHAR val[16];
         CreateEnvironmentBlock(&environment, token, FALSE);
+        if (GetEnvironmentVariableW( L"WINEBOOTSTRAPMODE", val, ARRAY_SIZE(val) ))
+        {
+            UNICODE_STRING name, value;
+
+            RtlInitUnicodeString( &name, L"WINEBOOTSTRAPMODE" );
+            RtlInitUnicodeString( &value, val );
+            RtlSetEnvironmentVariable( (WCHAR **)&environment, &name, &value );
+        }
         CloseHandle(token);
     }
 




More information about the wine-cvs mailing list