1ReactOS Audio Service (audiosrv.exe) 2==================================== 3 4This is intended to operate in a similar manner to how the Windows Audio 5Service does. 6 7NOTE: The service filename is audiosrv.dll on Windows XP. This shouldn't 8have any impact on functionality. 9 10AudioSrv on Windows creates a mapped file at: 11Global\mmGlobalPnpInfo 12 13The ReactOS audio device list lives at: 14Global\AudioDeviceList 15 16This file appears to contain a list of devices that WinMM accesses and 17subsequently passes to wdmaud.drv 18 19It is not necessary to duplicate the exact structure of this mapped 20file, since it appears to only be used internally by Windows components. 21 22The ROS Audio Service (AudioSrv) is intended to be able to run 23alongside the Windows Audio Service on XP/Vista, so it should be 24possible to test in a "known working environment" ;) 25 26It will create a mutex, to: 271) Allow synchronization when accessing the device list 282) Provide a simple method of identifying if AudioSrv is running 29 30(It might be worth using an event to notify WinMM when things are 31happening?) 32 33The intention is to make AudioSrv receive PnP notifications for 34relevant audio devices, and also let AudioSrv in Windows do this. Then 35it should be possible to create a small application that imitates 36WinMM's actions :) 37 38 39Current Status 40============== 41 42AudioSrv registers for device notifications and obtains a list of the 43current audio devices in the system (devices registered against the 44KSCATEGORY_AUDIO interface). 45 46ReactOS does not currently have RegisterDeviceNotification implemented, 47so for the moment this service considers the failure of this API call 48to be non-fatal and will proceed without device event notification. This 49behaviour will be amended in a future revision (ie once this API call 50is implemented!) 51 52 53Testing the Service 54=================== 55 56The service can be installed on Windows XP (possibly also Vista) like so: 57sc create AudioSrv <path to audiosrv.exe> 58net start AudioSrv 59 60...and can be removed like so: 61net stop AudioSrv 62sc delete AudioSrv 63 64You can view a list of the currently available devices (device list is 65identical to the one offered by Windows' own AudioSrv) by running 66my READER.EXE test utility, available in the following package: 67 68http://stuff.silverblade.co.uk/reactos/sharedlist.tar.gz 69 70That's all for now, folks ;) 71 72 73Andrew Greenwood 74September 2007 75