Rolf Kalbermatter <r.kalbermatter(a)hccnet.nl> writes:
+ r = QueryServiceStatusEx(handle, SC_STATUS_PROCESS_INFO, (LPBYTE)&svcStatusData, + sizeof(SERVICE_STATUS_PROCESS), &sz); + if (r) + { + switch (dwServiceType) + { + case SERVICE_DRIVER: + r = SERVICE_KERNEL_DRIVER == svcStatusData.dwServiceType || + SERVICE_FILE_SYSTEM_DRIVER == svcStatusData.dwServiceType; + break; + case SERVICE_WIN32: + r = SERVICE_WIN32_OWN_PROCESS == svcStatusData.dwServiceType || + SERVICE_WIN32_SHARE_PROCESS == svcStatusData.dwServiceType; + break; + default: + FIXME("Unknown dwServiceType: %x", dwServiceType); + r = FALSE; + break; + } + } + + if (r) + {
Some sort of 'goto next' would be cleaner than this complex code to set r and then test it again and again.
+ } + sz = sizeof(name);
You probably meant namesz here. -- Alexandre Julliard julliard(a)winehq.org