in src/ServiceMonitor/ServiceMonitor.cpp [20:42]
HRESULT Service_Monitor::EnsureInitialized()
{
HRESULT hr = S_OK;
if (!_fInitialized)
{
AcquireSRWLockExclusive(&_srwLock);
if (!_fInitialized)
{
_hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_CONNECT);
if (_hSCManager == NULL)
{
hr = HRESULT_FROM_WIN32(GetLastError());
_tprintf(L"\nERROR:Could NOT open server control manager [%x]\n", hr);
}
else
{
_fInitialized = TRUE;
}
}
ReleaseSRWLockExclusive(&_srwLock);
}
return hr;
}