EVENT_CALL_TO_FUNCTION_FAILED is the most common use (26 uses) of ScLogEvent - add a wrapper function for this and simplify the calls. Unify codepaths in ScTerminateServiceProcess -- two blocks of duplicated code. Slight shutdown perf improvements? 1. Make special stop message asynchronous 2. Don't wait for the process to terminate on shutdown 3. Use a separate transact critsec per image record sc.exe -- When sc query (or enumdepend) fails b/c buffer is too small, print out command line that the user should use to get all the info (or the remaining info) Client -- StartServiceCtrlDispatcher[A,W] need to be more similar. They're currently very different. Release locks around calls to ReportEvent and srvsvc portion of SetServiceBits? GetDefaultDomainName -- is there a Win32 API for this?