Author: janderwald Date: Thu Feb 26 21:29:15 2009 New Revision: 39775
URL: http://svn.reactos.org/svn/reactos?rev=39775&view=rev Log: - Start automatically sysaudio / wdmaud when audiosrv is started
Added: trunk/reactos/base/services/audiosrv/services.c (with props) Modified: trunk/reactos/base/services/audiosrv/audiosrv.h trunk/reactos/base/services/audiosrv/audiosrv.rbuild trunk/reactos/base/services/audiosrv/main.c
Modified: trunk/reactos/base/services/audiosrv/audiosrv.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/audiosrv/audi... ============================================================================== --- trunk/reactos/base/services/audiosrv/audiosrv.h [iso-8859-1] (original) +++ trunk/reactos/base/services/audiosrv/audiosrv.h [iso-8859-1] Thu Feb 26 21:29:15 2009 @@ -51,6 +51,8 @@ DWORD dwEventType, LPVOID lpEventData);
+BOOL +StartSystemAudioServices();
/* Debugging */
Modified: trunk/reactos/base/services/audiosrv/audiosrv.rbuild URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/audiosrv/audi... ============================================================================== --- trunk/reactos/base/services/audiosrv/audiosrv.rbuild [iso-8859-1] (original) +++ trunk/reactos/base/services/audiosrv/audiosrv.rbuild [iso-8859-1] Thu Feb 26 21:29:15 2009 @@ -10,6 +10,7 @@ <file>pnp_list_manager.c</file> <file>pnp_list_lock.c</file> <file>pnp.c</file> + <file>services.c</file> <file>debug.c</file> <file>audiosrv.rc</file> </module>
Modified: trunk/reactos/base/services/audiosrv/main.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/audiosrv/main... ============================================================================== --- trunk/reactos/base/services/audiosrv/main.c [iso-8859-1] (original) +++ trunk/reactos/base/services/audiosrv/main.c [iso-8859-1] Thu Feb 26 21:29:15 2009 @@ -132,6 +132,9 @@ return; */ } + /* start system audio services */ + StartSystemAudioServices(); +
InitializeFakeDevice();
Added: trunk/reactos/base/services/audiosrv/services.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/audiosrv/serv... ============================================================================== --- trunk/reactos/base/services/audiosrv/services.c (added) +++ trunk/reactos/base/services/audiosrv/services.c [iso-8859-1] Thu Feb 26 21:29:15 2009 @@ -1,0 +1,79 @@ +/* + * PROJECT: ReactOS + * LICENSE: GPL - See COPYING in the top level directory + * FILE: base/services/audiosrv/services.c + * PURPOSE: Audio Service Plug and Play + * COPYRIGHT: Copyright 2009 Johannes Anderwald + */ + +#include <windows.h> +#include <winuser.h> +#include <dbt.h> +#include <setupapi.h> + +#include <ks.h> +#include <ksmedia.h> + +#include <audiosrv/audiosrv.h> +#include "audiosrv.h" + + +BOOL +StartSystemAudioServices() +{ + SC_HANDLE hSCManager, hService; + + logmsg("Starting system audio services\n"); + + hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_CONNECT); + if (!hSCManager) + { + logmsg("Failed to open service manager\n"); + return FALSE; + } + + hService = OpenService(hSCManager, L"sysaudio", SERVICE_ALL_ACCESS); + if (hService) + { + if (!StartService(hService, 0, NULL)) + { + logmsg("Failed to start sysaudio service\n"); + CloseServiceHandle(hService); + CloseServiceHandle(hSCManager); + return FALSE; + } + CloseServiceHandle(hService); + logmsg("Sysaudio service started\n"); + // FIXME + // wait untill service is started + } + + hService = OpenService(hSCManager, L"wdmaud", SERVICE_ALL_ACCESS); + if (hService) + { + if (!StartService(hService, 0, NULL)) + { + logmsg("Failed to start sysaudio service\n"); + CloseServiceHandle(hService); + CloseServiceHandle(hSCManager); + return FALSE; + } + CloseServiceHandle(hService); + logmsg("Wdmaud service started\n"); + } + + + CloseServiceHandle(hSCManager); + return TRUE; +} + + + + + + + + + + +
Propchange: trunk/reactos/base/services/audiosrv/services.c ------------------------------------------------------------------------------ svn:eol-style = native