[HEADERS]
[reactos.git] / reactos / include / ddk / ntddsnd.h
index 888ac55..0de798e 100644 (file)
@@ -2,6 +2,8 @@
     ReactOS Sound System
     NT4 Multimedia Audio Support (ntddsnd.h)
 
+    This file is in the public domain.
+
     Author:
         Andrew Greenwood (andrew.greenwood@silverblade.co.uk)
 
@@ -9,6 +11,7 @@
         24 May 2008 - Created
         2 July 2008 - Added device names as seen from user-mode
         5 July 2008 - Added macros for checking device type
+        14 Feb 2009 - Added base control codes for nonstandard extensions
 
     This file contains definitions and structures for Windows NT4 style
     multimedia drivers. The NT4 DDK has these split across multiple header
     type IDs).
 */
 
-#ifndef NTDDWAVE
-#define NTDDWAVE
+#ifndef NTDDSND_H
+#define NTDDSND_H
 
 #define SOUND_MAX_DEVICES           100
-
-
-/*
-    Device types
-
-    Not part of the original DDK header, but based on the values stored in
-    registry by sndblst
-*/
-
-#define WAVE_IN_DEVICE_TYPE     1
-#define WAVE_OUT_DEVICE_TYPE    2
-#define MIDI_IN_DEVICE_TYPE     3
-#define MIDI_OUT_DEVICE_TYPE    4
-#define AUX_DEVICE_TYPE         5
-#define MIXER_DEVICE_TYPE       6
-
-#define MIN_SOUND_DEVICE_TYPE   WAVE_IN_DEVICE_TYPE
-#define MAX_SOUND_DEVICE_TYPE   MIXER_DEVICE_TYPE
-#define SOUND_DEVICE_TYPES      6
-
-#define IS_VALID_SOUND_DEVICE_TYPE(x) \
-    ( ( x >= MIN_SOUND_DEVICE_TYPE ) && ( x <= MAX_SOUND_DEVICE_TYPE ) )
-
-#define IS_WAVE_DEVICE_TYPE(x) \
-    ( ( x == WAVE_IN_DEVICE_TYPE ) || ( x == WAVE_OUT_DEVICE_TYPE ) )
-
-#define IS_MIDI_DEVICE_TYPE(x) \
-    ( ( x == MIDI_IN_DEVICE_TYPE ) || ( x == MIDI_OUT_DEVICE_TYPE ) )
-
-#define IS_AUX_DEVICE_TYPE(x) \
-    ( x == AUX_DEVICE_TYPE )
-
-#define IS_MIXER_DEVICE_TYPE(x) \
-    ( x == MIXER_DEVICE_TYPE )
-
-
-/*
-    Base device names
-
-    Each device name should be given a numerical suffix identifying that
-    unique device, eg:
-
-    \Device\WaveOut0    - First wave output device
-    \Device\WaveOut1    - Second wave output device
-*/
-
-#define SOUND_MAX_DEVICE_NAME           80
-
-#define DD_WAVE_IN_DEVICE_NAME              "\\Device\\WaveIn"
-#define DD_WAVE_IN_DEVICE_NAME_U           L"\\Device\\WaveIn"
-#define DD_WAVE_IN_DOS_DEVICE_NAME          "\\DosDevices\\WaveIn"
-#define DD_WAVE_IN_DOS_DEVICE_NAME_U       L"\\DosDevices\\WaveIn"
-#define DD_WAVE_IN_WIN32_DEVICE_NAME        "\\\\.\\WaveIn"
-#define DD_WAVE_IN_WIN32_DEVICE_NAME_U     L"\\\\.\\WaveIn"
-
-#define DD_WAVE_OUT_DEVICE_NAME             "\\Device\\WaveOut"
-#define DD_WAVE_OUT_DEVICE_NAME_U          L"\\Device\\WaveOut"
-#define DD_WAVE_OUT_DOS_DEVICE_NAME         "\\DosDevices\\WaveOut"
-#define DD_WAVE_OUT_DOS_DEVICE_NAME_U      L"\\DosDevices\\WaveOut"
-#define DD_WAVE_OUT_WIN32_DEVICE_NAME       "\\\\.\\WaveOut"
-#define DD_WAVE_OUT_WIN32_DEVICE_NAME_U    L"\\\\.\\WaveOut"
-
-#define DD_MIDI_IN_DEVICE_NAME              "\\Device\\MidiIn"
-#define DD_MIDI_IN_DEVICE_NAME_U           L"\\Device\\MidiIn"
-#define DD_MIDI_IN_DOS_DEVICE_NAME          "\\DosDevices\\MidiIn"
-#define DD_MIDI_IN_DOS_DEVICE_NAME_U       L"\\DosDevices\\MidiIn"
-#define DD_MIDI_IN_WIN32_DEVICE_NAME        "\\\\.\\MidiIn"
-#define DD_MIDI_IN_WIN32_DEVICE_NAME_U     L"\\\\.\\MidiIn"
-
-#define DD_MIDI_OUT_DEVICE_NAME             "\\Device\\MidiOut"
-#define DD_MIDI_OUT_DEVICE_NAME_U          L"\\Device\\MidiOut"
-#define DD_MIDI_OUT_DOS_DEVICE_NAME         "\\DosDevices\\MidiOut"
-#define DD_MIDI_OUT_DOS_DEVICE_NAME_U      L"\\DosDevices\\MidiOut"
-#define DD_MIDI_OUT_WIN32_DEVICE_NAME       "\\\\.\\MidiOut"
-#define DD_MIDI_OUT_WIN32_DEVICE_NAME_U    L"\\\\.\\MidiOut"
-
-#define DD_MIX_DEVICE_NAME                  "\\Device\\MMMix"
-#define DD_MIX_DEVICE_NAME_U               L"\\Device\\MMMix"
-#define DD_MIX_DOS_DEVICE_NAME              "\\DosDevices\\MMMix"
-#define DD_MIX_DOS_DEVICE_NAME_U           L"\\DosDevices\\MMMix"
-#define DD_MIX_WIN32_DEVICE_NAME            "\\\\.\\MMMix"
-#define DD_MIX_WIN32_DEVICE_NAME_U         L"\\\\.\\MMMix"
-
-#define DD_AUX_DEVICE_NAME                  "\\Device\\MMAux"
-#define DD_AUX_DEVICE_NAME_U               L"\\Device\\MMAux"
-#define DD_AUX_DOS_DEVICE_NAME              "\\DosDevices\\MMAux"
-#define DD_AUX_DOS_DEVICE_NAME_U           L"\\DosDevices\\MMAux"
-#define DD_AUX_WIN32_DEVICE_NAME            "\\\\.\\MMAux"
-#define DD_AUX_WIN32_DEVICE_NAME_U         L"\\\\.\\MMAux"
-
-/*
-    Registry keys
-*/
-
-#define REG_SERVICES_KEY_NAME_U            L"System\\CurrentControlSet\\Services"
-#define REG_PARAMETERS_KEY_NAME_U          L"Parameters"
-#define REG_DEVICE_KEY_NAME_U              L"Device"
-#define REG_DEVICES_KEY_NAME_U             L"Devices"
+#define SOUND_MAX_DEVICE_NAME       80
 
 
 /*