Thanks for the review, made most of these changes. One question.
On 8/18/16 4:35 AM, Sebastian Lackner wrote:
driver = load_device_driver(szService, szMatch);
if (!driver)
ERR("failed to load driver %s\n", debugstr_w(szService));
StartServiceW(service, 0, NULL);
CloseServiceHandle(service);
The registry parsing code is probably fine, but wouldn't it be easier to handle this similar to other autostart services in services.exe? Then there would also be no need to spawn a separate thread for initialization.
I don't get what you mean. Instead of using StartServiceW duplicating the code from services.exe? I don't feel like that is the correct plan. Part of the reason for doing all the work in services.exe and winedevice.exe was to prevent code duplication and to be able to do that StartServiceW instead. If I was going to duplicate code I would duplicate winedevice.exe and just do it that way instead.
-aric