ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

audiosrv.h
Go to the documentation of this file.
00001 /*
00002  * PROJECT:          ReactOS
00003  * LICENSE:          GPL - See COPYING in the top level directory
00004  * FILE:             include/reactos/libs/audiosrv/audiosrv.h
00005  * PURPOSE:          Audio Service Plug and Play list
00006  * COPYRIGHT:        Copyright 2007 Andrew Greenwood
00007  */
00008 
00009 #include <windows.h>
00010 
00011 #ifndef AUDIOSRV_H
00012 #define AUDIOSRV_H
00013 
00014 /* This is currently set to avoid conflicting service names in Windows! */
00015 #define SERVICE_NAME                L"RosAudioSrv"
00016 
00017 /* A named mutex is used for synchronizing access to the device list.
00018    If this mutex doesn't exist, it means the audio service isn't running. */
00019 #define AUDIO_LIST_LOCK_NAME        L"Global\\AudioDeviceListLock"
00020 
00021 /* ...and this is where the device list will be available */
00022 #define AUDIO_LIST_NAME             L"Global\\AudioDeviceList"
00023 
00024 /* Amount of shared memory to allocate */
00025 #define AUDIO_LIST_MAX_SIZE         65536
00026 
00027 typedef struct
00028 {
00029     DWORD enabled;
00030     WCHAR path[];       /* The device object path (excluded from sizeof) */
00031 } PnP_AudioDevice;
00032 
00033 typedef struct
00034 {
00035     DWORD size;         /* Size of the shared mem */
00036     DWORD max_size;     /* Amount of mem available */
00037     DWORD device_count; /* Number of devices */
00038     PnP_AudioDevice *first_device;
00039 } PnP_AudioHeader;
00040 
00041 
00042 /* Calculate amount of memory consumed by a wide string - this includes the
00043    terminating NULL. */
00044 
00045 #define WideStringSize(str) \
00046     ( (lstrlenW(str) + 1) * sizeof(WCHAR) )
00047 
00048 BOOL
00049 InitializeAudioDeviceListLock(VOID);
00050 
00051 VOID
00052 KillAudioDeviceListLock(VOID);
00053 
00054 VOID
00055 LockAudioDeviceList(VOID);
00056 
00057 VOID
00058 UnlockAudioDeviceList(VOID);
00059 
00060 #endif

Generated on Sat May 26 2012 04:16:33 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.