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