Sync with trunk (r48123)
[reactos.git] / base / services / audiosrv / audiosrv.h
1 /*
2 * PROJECT: ReactOS
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: base/services/audiosrv/audiosrv.h
5 * PURPOSE: Audio Service (private header)
6 * COPYRIGHT: Copyright 2007 Andrew Greenwood
7 */
8
9 #include <dbt.h>
10 #include <audiosrv/audiosrv.h>
11
12 #ifndef AUDIOSRV_PRIVATE_H
13 #define AUDIOSRV_PRIVATE_H
14
15 extern SERVICE_STATUS_HANDLE service_status_handle;
16
17
18 /* List management (pnp_list_manager.c) */
19
20 VOID*
21 CreateDeviceDescriptor(WCHAR* path, BOOL is_enabled);
22
23 #define DestroyDeviceDescriptor(descriptor) free(descriptor)
24
25 BOOL
26 AppendAudioDeviceToList(PnP_AudioDevice* device);
27
28 BOOL
29 CreateAudioDeviceList(DWORD max_size);
30
31 VOID
32 DestroyAudioDeviceList();
33
34
35 /* Plug and Play (pnp.c) */
36
37 BOOL
38 ProcessExistingDevices();
39
40 DWORD
41 ProcessDeviceArrival(DEV_BROADCAST_DEVICEINTERFACE* device);
42
43 BOOL
44 RegisterForDeviceNotifications();
45
46 VOID
47 UnregisterDeviceNotifications();
48
49 DWORD
50 HandleDeviceEvent(
51 DWORD dwEventType,
52 LPVOID lpEventData);
53
54 BOOL
55 StartSystemAudioServices();
56
57 /* Debugging */
58
59 void logmsg(char* string, ...);
60
61 #endif