Sync to trunk revision 61757.
[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 <stdarg.h>
10
11 #include <windef.h>
12 #include <winbase.h>
13 #include <malloc.h>
14 #include <dbt.h>
15 #include <audiosrv/audiosrv.h>
16
17 #ifndef AUDIOSRV_PRIVATE_H
18 #define AUDIOSRV_PRIVATE_H
19
20 extern SERVICE_STATUS_HANDLE service_status_handle;
21
22
23 /* List management (pnp_list_manager.c) */
24
25 VOID*
26 CreateDeviceDescriptor(WCHAR* path, BOOL is_enabled);
27
28 #define DestroyDeviceDescriptor(descriptor) free(descriptor)
29
30 BOOL
31 AppendAudioDeviceToList(PnP_AudioDevice* device);
32
33 BOOL
34 CreateAudioDeviceList(DWORD max_size);
35
36 VOID
37 DestroyAudioDeviceList(VOID);
38
39
40 /* Plug and Play (pnp.c) */
41
42 BOOL
43 ProcessExistingDevices(VOID);
44
45 DWORD
46 ProcessDeviceArrival(DEV_BROADCAST_DEVICEINTERFACE* device);
47
48 BOOL
49 RegisterForDeviceNotifications(VOID);
50
51 VOID
52 UnregisterDeviceNotifications(VOID);
53
54 DWORD
55 HandleDeviceEvent(
56 DWORD dwEventType,
57 LPVOID lpEventData);
58
59 BOOL
60 StartSystemAudioServices(VOID);
61
62 /* Debugging */
63
64 void logmsg(char* string, ...);
65
66 #endif