Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenmmioctl.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
1.7.6.1
|