From be75d0f7aab4bdb5e02d36a2811fd11b636ad726 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Thu, 26 Feb 2009 19:15:35 +0000 Subject: [PATCH] - Change service type of RosAudioSrv to automatically start when an audio adapter is installed - Also start RosAudioSrv svn path=/trunk/; revision=39776 --- reactos/dll/cpl/mmsys/mmsys.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/reactos/dll/cpl/mmsys/mmsys.c b/reactos/dll/cpl/mmsys/mmsys.c index 5161bcc1a3d..5ec70a4aaaf 100644 --- a/reactos/dll/cpl/mmsys/mmsys.c +++ b/reactos/dll/cpl/mmsys/mmsys.c @@ -165,6 +165,7 @@ MMSYS_InstallDevice(HDEVINFO hDevInfo, PSP_DEVINFO_DATA pspDevInfoData) HINF hInf; PVOID Context; BOOL Result; + SC_HANDLE hSCManager, hService; if (!IsEqualIID(&pspDevInfoData->ClassGuid, &GUID_DEVCLASS_SOUND) && !IsEqualIID(&pspDevInfoData->ClassGuid, &GUID_DEVCLASS_MEDIA)) @@ -223,6 +224,25 @@ MMSYS_InstallDevice(HDEVINFO hDevInfo, PSP_DEVINFO_DATA pspDevInfoData) SetupTermDefaultQueueCallback(Context); SetupCloseInfFile(hInf); + + + hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_CONNECT); + if (!hSCManager) + { + return ERROR_DI_DO_DEFAULT; + } + + hService = OpenService(hSCManager, L"RosAudioSrv", SERVICE_ALL_ACCESS); + if (hService) + { + /* make RosAudioSrv start automatically */ + ChangeServiceConfig(hService, SERVICE_NO_CHANGE, SERVICE_AUTO_START, SERVICE_NO_CHANGE, NULL, NULL, NULL, NULL, NULL, NULL, NULL); + + StartService(hService, 0, NULL); + CloseServiceHandle(hService); + } + CloseServiceHandle(hSCManager); + return ERROR_DI_DO_DEFAULT; }