ReactOS  0.4.14-dev-552-g2fad488
audiosrv.h
Go to the documentation of this file.
1 /*
2  * PROJECT: ReactOS
3  * LICENSE: GPL - See COPYING in the top level directory
4  * FILE: include/reactos/libs/audiosrv/audiosrv.h
5  * PURPOSE: Audio Service Plug and Play list
6  * COPYRIGHT: Copyright 2007 Andrew Greenwood
7  */
8 
9 #include <winsvc.h>
10 
11 #ifndef AUDIOSRV_H
12 #define AUDIOSRV_H
13 
14 /* The service name */
15 #define SERVICE_NAME L"AudioSrv"
16 
17 /* A named mutex is used for synchronizing access to the device list.
18  If this mutex doesn't exist, it means the audio service isn't running. */
19 #define AUDIO_LIST_LOCK_NAME L"Global\\AudioDeviceListLock"
20 
21 /* ...and this is where the device list will be available */
22 #define AUDIO_LIST_NAME L"Global\\AudioDeviceList"
23 
24 /* Amount of shared memory to allocate */
25 #define AUDIO_LIST_MAX_SIZE 65536
26 
27 typedef struct
28 {
30  WCHAR path[]; /* The device object path (excluded from sizeof) */
32 
33 typedef struct
34 {
35  DWORD size; /* Size of the shared mem */
36  DWORD max_size; /* Amount of mem available */
37  DWORD device_count; /* Number of devices */
40 
41 
42 /* Calculate amount of memory consumed by a wide string - this includes the
43  terminating NULL. */
44 
45 #define WideStringSize(str) \
46  ( (lstrlenW(str) + 1) * sizeof(WCHAR) )
47 
48 BOOL
50 
51 VOID
53 
54 VOID
56 
57 VOID
59 
60 #endif
BOOL InitializeAudioDeviceListLock(VOID)
Definition: pnp_list_lock.c:16
unsigned int BOOL
Definition: ntddk_ex.h:94
VOID LockAudioDeviceList(VOID)
Definition: pnp_list_lock.c:46
__wchar_t WCHAR
Definition: xmlstorage.h:180
VOID KillAudioDeviceListLock(VOID)
Definition: pnp_list_lock.c:39
unsigned long DWORD
Definition: ntddk_ex.h:95
DWORD device_count
Definition: audiosrv.h:37
PnP_AudioDevice * first_device
Definition: audiosrv.h:38
DWORD max_size
Definition: audiosrv.h:36
VOID UnlockAudioDeviceList(VOID)
Definition: pnp_list_lock.c:53
DWORD enabled
Definition: audiosrv.h:29