ReactOS 0.4.16-dev-300-g2aadf2e
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
27typedef struct
28{
30 WCHAR path[]; /* The device object path (excluded from sizeof) */
32
33typedef 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
48BOOL
50
51VOID
53
54VOID
56
57VOID
59
60#endif
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
BOOL InitializeAudioDeviceListLock(VOID)
Definition: pnp_list_lock.c:15
VOID LockAudioDeviceList(VOID)
Definition: pnp_list_lock.c:45
VOID KillAudioDeviceListLock(VOID)
Definition: pnp_list_lock.c:38
VOID UnlockAudioDeviceList(VOID)
Definition: pnp_list_lock.c:52
DWORD enabled
Definition: audiosrv.h:29
PnP_AudioDevice * first_device
Definition: audiosrv.h:38
DWORD max_size
Definition: audiosrv.h:36
DWORD device_count
Definition: audiosrv.h:37
__wchar_t WCHAR
Definition: xmlstorage.h:180