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

mmdef.h
Go to the documentation of this file.
00001 /*
00002  *
00003  * COPYRIGHT:            See COPYING in the top level directory
00004  * PROJECT:              ReactOS kernel
00005  * FILE:                 lib/mmdrv/mmdef.h
00006  * PURPOSE:              Multimedia Definitions (for mmdrv.dll)
00007  * PROGRAMMER:           Andrew Greenwood
00008  *
00009  */
00010 
00011 #ifndef __INCLUDES_MMDEF_H__
00012 #define __INCLUDES_MMDEF_H__
00013 
00014 //#define UNICODE
00015 
00016 #define EXPORT __declspec(dllexport)
00017 
00018 
00019 //#include <stdio.h>
00020 //#include <windows.h>
00021 //#include <mmsystem.h>
00022 //#include <mmddk.h>
00023 
00024 // This needs to be done to get winioctl.h to work:
00025 //typedef unsigned __int64 DWORD64, *PDWORD64;
00026 
00027 //#include <winioctl.h>
00028 //#include "mmddk.h"
00029 
00030 
00031 #define SOUND_MAX_DEVICE_NAME 1024   // GUESSWORK
00032 #define SOUND_MAX_DEVICES 256       // GUESSWORK
00033 
00034 
00035 // If the root is \Device and the Device type is
00036 // WaveIn and the device number is 2, the full name is \Device\WaveIn2
00037 
00038 #define WAVE_IN_DEVICE_NAME     "\\Device\\WaveIn"
00039 #define WAVE_IN_DEVICE_NAME_U  L"\\Device\\WaveIn"
00040 #define WAVE_OUT_DEVICE_NAME    "\\Device\\WaveOut"
00041 #define WAVE_OUT_DEVICE_NAME_U L"\\Device\\WaveOut"
00042 
00043 #define MIDI_IN_DEVICE_NAME     "\\Device\\MidiIn"
00044 #define MIDI_IN_DEVICE_NAME_U  L"\\Device\\MidiIn"
00045 #define MIDI_OUT_DEVICE_NAME    "\\Device\\MidiOut"
00046 #define MIDI_OUT_DEVICE_NAME_U L"\\Device\\MidiOut"
00047 
00048 #define AUX_DEVICE_NAME     "\\Device\\MMAux"
00049 #define AUX_DEVICE_NAME_U  L"\\Device\\MMAux"
00050 
00051 
00052 #define IOCTL_SOUND_BASE    FILE_DEVICE_SOUND
00053 #define IOCTL_WAVE_BASE     0x0000
00054 #define IOCTL_MIDI_BASE     0x0080
00055 #define IOCTL_AUX_BASE      0x0100
00056 
00057 // Wave device driver IOCTLs
00058 
00059 #define IOCTL_WAVE_QUERY_FORMAT         CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
00060 #define IOCTL_WAVE_SET_FORMAT           CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0002, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00061 #define IOCTL_WAVE_GET_CAPABILITIES     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
00062 #define IOCTL_WAVE_SET_STATE            CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0004, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00063 #define IOCTL_WAVE_GET_STATE            CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0005, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00064 #define IOCTL_WAVE_GET_POSITION         CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0006, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00065 #define IOCTL_WAVE_SET_VOLUME           CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS)
00066 #define IOCTL_WAVE_GET_VOLUME           CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0008, METHOD_BUFFERED, FILE_READ_ACCESS)
00067 #define IOCTL_WAVE_SET_PITCH            CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0009, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00068 #define IOCTL_WAVE_GET_PITCH            CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000A, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00069 #define IOCTL_WAVE_SET_PLAYBACK_RATE    CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000B, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00070 #define IOCTL_WAVE_GET_PLAYBACK_RATE    CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000C, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00071 #define IOCTL_WAVE_PLAY                 CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000D, METHOD_IN_DIRECT, FILE_WRITE_ACCESS)
00072 #define IOCTL_WAVE_RECORD               CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000E, METHOD_OUT_DIRECT, FILE_WRITE_ACCESS)
00073 #define IOCTL_WAVE_BREAK_LOOP           CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000F, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00074 #define IOCTL_WAVE_SET_LOW_PRIORITY     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0010, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00075 
00076 // MIDI device driver IOCTLs
00077 
00078 #define IOCTL_MIDI_GET_CAPABILITIES   CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
00079 #define IOCTL_MIDI_SET_STATE          CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0002, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00080 #define IOCTL_MIDI_GET_STATE          CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0003, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00081 #define IOCTL_MIDI_SET_VOLUME         CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS)
00082 #define IOCTL_MIDI_GET_VOLUME         CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS)
00083 #define IOCTL_MIDI_PLAY               CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0006, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00084 #define IOCTL_MIDI_RECORD             CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0007, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00085 #define IOCTL_MIDI_CACHE_PATCHES      CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0008, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00086 #define IOCTL_MIDI_CACHE_DRUM_PATCHES CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0009, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00087 
00088 // AUX device driver IOCTLs
00089 #define IOCTL_AUX_GET_CAPABILITIES      CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
00090 #define IOCTL_AUX_SET_VOLUME            CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS)
00091 #define IOCTL_AUX_GET_VOLUME            CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
00092 #define IOCTL_SOUND_GET_CHANGED_VOLUME  CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS)
00093 
00094 #endif

Generated on Sun May 27 2012 04:24:43 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.