Home | Info | Community | Development | myReactOS | Contact Us
[static]
Definition at line 72 of file create.c.
Referenced by Create().
{ INT i, ArgIndex = 1; if (ArgCount < 1) return FALSE; ZeroMemory(lpServiceInfo, sizeof(SERVICE_CREATE_INFO)); lpServiceInfo->lpServiceName = ServiceArgs[0]; ArgCount--; while (ArgCount > 1) { if (!lstrcmpi(ServiceArgs[ArgIndex], _T("type="))) { for (i = 0; i < sizeof(TypeOpts) / sizeof(TypeOpts[0]); i++) if (!lstrcmpi(ServiceArgs[ArgIndex + 1], TypeOpts[i].lpOption)) { lpServiceInfo->dwServiceType |= TypeOpts[i].dwValue; break; } if (i == sizeof(TypeOpts) / sizeof(TypeOpts[0])) break; } else if (!lstrcmpi(ServiceArgs[ArgIndex], _T("start="))) { for (i = 0; i < sizeof(StartOpts) / sizeof(StartOpts[0]); i++) if (!lstrcmpi(ServiceArgs[ArgIndex + 1], StartOpts[i].lpOption)) { lpServiceInfo->dwStartType = StartOpts[i].dwValue; break; } if (i == sizeof(StartOpts) / sizeof(StartOpts[0])) break; } else if (!lstrcmpi(ServiceArgs[ArgIndex], _T("error="))) { for (i = 0; i < sizeof(ErrorOpts) / sizeof(ErrorOpts[0]); i++) if (!lstrcmpi(ServiceArgs[ArgIndex + 1], ErrorOpts[i].lpOption)) { lpServiceInfo->dwErrorControl = ErrorOpts[i].dwValue; break; } if (i == sizeof(ErrorOpts) / sizeof(ErrorOpts[0])) break; } else if (!lstrcmpi(ServiceArgs[ArgIndex], _T("tag="))) { for (i = 0; i < sizeof(TagOpts) / sizeof(TagOpts[0]); i++) if (!lstrcmpi(ServiceArgs[ArgIndex + 1], TagOpts[i].lpOption)) { lpServiceInfo->bTagId = TagOpts[i].dwValue; break; } if (i == sizeof(TagOpts) / sizeof(TagOpts[0])) break; } else if (!lstrcmpi(ServiceArgs[ArgIndex], _T("binpath="))) { lpServiceInfo->lpBinaryPathName = ServiceArgs[ArgIndex + 1]; } else if (!lstrcmpi(ServiceArgs[ArgIndex], _T("group="))) { lpServiceInfo->lpLoadOrderGroup = ServiceArgs[ArgIndex + 1]; } else if (!lstrcmpi(ServiceArgs[ArgIndex], _T("depend="))) { lpServiceInfo->lpDependencies = ServiceArgs[ArgIndex + 1]; } else if (!lstrcmpi(ServiceArgs[ArgIndex], _T("obj="))) { lpServiceInfo->lpServiceStartName = ServiceArgs[ArgIndex + 1]; } else if (!lstrcmpi(ServiceArgs[ArgIndex], _T("displayname="))) { lpServiceInfo->lpDisplayName = ServiceArgs[ArgIndex + 1]; } else if (!lstrcmpi(ServiceArgs[ArgIndex], _T("password="))) { lpServiceInfo->lpPassword = ServiceArgs[ArgIndex + 1]; } ArgIndex += 2; ArgCount -= 2; } return (ArgCount == 0); }