xref: /reactos/base/services/audiosrv/audiosrv.txt (revision cdf90707)
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