[ADVAPI32/SERVICES]: Windows services (as per MSDN and
testing) must
always get at least one parameter -- the service name, in the
argument
vector. However, in ReactOS, unless optional custom parameters were sent
(when starting a service), services got 0 parameters and a NULL argument
vector. Since services on Windows know this is impossible, many
dereference the vector without checking for NULL (including Windows
Svchost.exe). Either way, it's bogus for us not ever sending the name as
the first parameter. So I fixed ScBuildUnicodeArgsVector to always
either pre-pend the service name (if the caller gave us some parameters
already), or do use the name as the sole parameter (if the caller sent
none). This now works as on Windows, and should greately help with 3rd
party service compatibility.
***NOTE THAT I ONLY DID THIS FOR UNICODE. I DID NOT
BOTHER TO FIX THE
ANSI VERSION. ERIC KOHL, PLEASE REVIEW & FIX AS
APPROPRIATE***
Alex,
if you have the time to rewrite svchost, you also have the time to fix
the little piece of ansi boredom! Finish the things you start!!!! Do not
stop right in the middle and leave the boring parts to others!!! FINISH
IT YOURSELF!!!!
PS: Btw, you might want to have a look at YOUR ntoskrnl rewrite! CM is
still unfinished! Finish it before you open yet another can of worms!
Regards,
Eric