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

mmioctl.h
Go to the documentation of this file.
00001 /*
00002  *
00003  * COPYRIGHT:            See COPYING in the top level directory
00004  * PROJECT:              ReactOS Multimedia
00005  * FILE:                 dll/win32/mmdrv/mmioctl.h
00006  * PURPOSE:              Multimedia system NT4 compatibility
00007  * PROGRAMMER:           Andrew Greenwood
00008  * UPDATE HISTORY:
00009  *                       Jan 13, 2007: Split from mmdrv.h
00010  */
00011 
00012 #ifndef MMDRV_IOCTLS
00013 #define MMDRV_IOCTLS
00014 
00015 
00016 #include <windows.h>
00017 #include <mmsystem.h>
00018 #include <mmddk.h>
00019 #include <winioctl.h>
00020 
00021 
00022 /*
00023     Base names of the supported devices, as provided by drivers running in
00024     kernel mode.
00025 
00026     \Device\WaveIn0 etc.
00027 */
00028 
00029 #define WAVE_OUT_DEVICE_NAME    L"\\Device\\WaveOut"
00030 #define WAVE_IN_DEVICE_NAME     L"\\Device\\WaveIn"
00031 #define MIDI_OUT_DEVICE_NAME    L"\\Device\\MidiOut"
00032 #define MIDI_IN_DEVICE_NAME     L"\\Device\\MidiIn"
00033 #define AUX_DEVICE_NAME         L"\\Device\\MMAux"
00034 
00035 
00036 /*
00037     Base IOCTL codes
00038 */
00039 
00040 #define IOCTL_SOUND_BASE    FILE_DEVICE_SOUND
00041 #define IOCTL_WAVE_BASE     0x0000
00042 #define IOCTL_MIDI_BASE     0x0080
00043 #define IOCTL_AUX_BASE      0x0100
00044 
00045 
00046 /*
00047     Wave IOCTLs
00048 */
00049 
00050 #define IOCTL_WAVE_QUERY_FORMAT \
00051     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
00052 
00053 #define IOCTL_WAVE_SET_FORMAT \
00054     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0002, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00055 
00056 #define IOCTL_WAVE_GET_CAPABILITIES \
00057     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
00058 
00059 #define IOCTL_WAVE_SET_STATE \
00060     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0004, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00061 
00062 #define IOCTL_WAVE_GET_STATE \
00063     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0005, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00064 
00065 #define IOCTL_WAVE_GET_POSITION \
00066     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0006, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00067 
00068 #define IOCTL_WAVE_SET_VOLUME \
00069     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS)
00070 
00071 #define IOCTL_WAVE_GET_VOLUME \
00072     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0008, METHOD_BUFFERED, FILE_READ_ACCESS)
00073 
00074 #define IOCTL_WAVE_SET_PITCH \
00075     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0009, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00076 
00077 #define IOCTL_WAVE_GET_PITCH \
00078     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000A, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00079 
00080 #define IOCTL_WAVE_SET_PLAYBACK_RATE \
00081     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000B, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00082 
00083 #define IOCTL_WAVE_GET_PLAYBACK_RATE \
00084     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000C, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00085 
00086 #define IOCTL_WAVE_PLAY \
00087     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000D, METHOD_IN_DIRECT, FILE_WRITE_ACCESS)
00088 
00089 #define IOCTL_WAVE_RECORD \
00090     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000E, METHOD_OUT_DIRECT, FILE_WRITE_ACCESS)
00091 
00092 #define IOCTL_WAVE_BREAK_LOOP \
00093     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000F, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00094 
00095 #define IOCTL_WAVE_SET_LOW_PRIORITY \
00096     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0010, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00097 
00098 
00099 /*
00100     MIDI IOCTLs
00101 */
00102 
00103 #define IOCTL_MIDI_GET_CAPABILITIES \
00104     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
00105 
00106 #define IOCTL_MIDI_SET_STATE \
00107     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0002, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00108 
00109 #define IOCTL_MIDI_GET_STATE \
00110     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0003, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00111 
00112 #define IOCTL_MIDI_SET_VOLUME \
00113     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS)
00114 
00115 #define IOCTL_MIDI_GET_VOLUME \
00116     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS)
00117 
00118 #define IOCTL_MIDI_PLAY \
00119     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0006, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00120 
00121 #define IOCTL_MIDI_RECORD \
00122     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0007, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00123 
00124 #define IOCTL_MIDI_CACHE_PATCHES \
00125     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0008, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00126 
00127 #define IOCTL_MIDI_CACHE_DRUM_PATCHES \
00128     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0009, METHOD_BUFFERED, FILE_WRITE_ACCESS)
00129 
00130 
00131 /*
00132     Aux IOCTLs
00133 */
00134 
00135 #define IOCTL_AUX_GET_CAPABILITIES \
00136     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
00137 
00138 #define IOCTL_AUX_SET_VOLUME \
00139     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS)
00140 
00141 #define IOCTL_AUX_GET_VOLUME \
00142     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
00143 
00144 #define IOCTL_SOUND_GET_CHANGED_VOLUME \
00145     CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS)
00146 
00147 #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.