3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: base/services/audiosrv/services.c
5 * PURPOSE: Audio Service Plug and Play
6 * COPYRIGHT: Copyright 2009 Johannes Anderwald
18 SERVICE_STATUS_PROCESS Info
;
22 if (!QueryServiceStatusEx(hService
, SC_STATUS_PROCESS_INFO
, (LPBYTE
)&Info
, sizeof(SERVICE_STATUS_PROCESS
), &dwSize
))
24 logmsg("QueryServiceStatusEx failed %x\n", GetLastError());
28 if (Info
.dwCurrentState
== SERVICE_RUNNING
)
33 }while(Index
++ < RetryCount
);
35 logmsg("Timeout while waiting for service to become ready %p\n", hService
);
49 hService
= OpenService(hSCManager
, ServiceName
, SERVICE_ALL_ACCESS
);
53 logmsg("Failed to open service %S %x\n", ServiceName
, GetLastError());
57 if (!StartService(hService
, 0, NULL
))
59 logmsg("Failed to start service %S %x\n", ServiceName
, GetLastError());
60 CloseServiceHandle(hService
);
64 ret
= WaitForService(hService
, RetryCount
);
66 CloseServiceHandle(hService
);
74 StartSystemAudioServices()
78 logmsg("Starting system audio services\n");
80 hSCManager
= OpenSCManager(NULL
, NULL
, SC_MANAGER_CONNECT
);
83 logmsg("Failed to open service manager %x\n", GetLastError());
87 logmsg("Starting sysaudio service\n");
88 StartAudioService(hSCManager
, L
"sysaudio", 20);
89 logmsg("Starting wdmaud service\n");
90 StartAudioService(hSCManager
, L
"wdmaud", 20);
92 CloseServiceHandle(hSCManager
);