DWORD dwError = ERROR_SUCCESS;
PSERVICE_HANDLE hSvc;
PSERVICE lpService = NULL;
- SC_RPC_LOCK Lock = NULL;
#ifndef NDEBUG
DWORD i;
if (lpService->bDeleted)
return ERROR_SERVICE_MARKED_FOR_DELETE;
- /* Acquire the service start lock until the service has been started */
- dwError = ScmAcquireServiceStartLock(TRUE, &Lock);
- if (dwError != ERROR_SUCCESS)
- return dwError;
-
/* Start the service */
dwError = ScmStartService(lpService, argc, (LPWSTR*)argv);
- /* Release the service start lock */
- ScmReleaseServiceStartLock(&Lock);
-
return dwError;
}
DWORD dwError = ERROR_SUCCESS;
PSERVICE_HANDLE hSvc;
PSERVICE lpService = NULL;
- SC_RPC_LOCK Lock = NULL;
LPWSTR *lpVector = NULL;
DWORD i;
DWORD dwLength;
}
}
- /* Acquire the service start lock until the service has been started */
- dwError = ScmAcquireServiceStartLock(TRUE, &Lock);
- if (dwError != ERROR_SUCCESS)
- goto done;
-
/* Start the service */
dwError = ScmStartService(lpService, argc, lpVector);
- /* Release the service start lock */
- ScmReleaseServiceStartLock(&Lock);
-
done:
/* Free the Unicode argument vector */
if (lpVector != NULL)