ReactOS
0.4.15-dev-8614-gbc76250
mmioctl.h
Go to the documentation of this file.
1
/*
2
*
3
* COPYRIGHT: See COPYING in the top level directory
4
* PROJECT: ReactOS Multimedia
5
* FILE: dll/win32/mmdrv/mmioctl.h
6
* PURPOSE: Multimedia system NT4 compatibility
7
* PROGRAMMER: Andrew Greenwood
8
* UPDATE HISTORY:
9
* Jan 13, 2007: Split from mmdrv.h
10
*/
11
12
#ifndef MMDRV_IOCTLS
13
#define MMDRV_IOCTLS
14
15
/*
16
Base names of the supported devices, as provided by drivers running in
17
kernel mode.
18
19
\Device\WaveIn0 etc.
20
*/
21
22
#define WAVE_OUT_DEVICE_NAME L"\\Device\\WaveOut"
23
#define WAVE_IN_DEVICE_NAME L"\\Device\\WaveIn"
24
#define MIDI_OUT_DEVICE_NAME L"\\Device\\MidiOut"
25
#define MIDI_IN_DEVICE_NAME L"\\Device\\MidiIn"
26
#define AUX_DEVICE_NAME L"\\Device\\MMAux"
27
28
29
/*
30
Base IOCTL codes
31
*/
32
33
#define IOCTL_SOUND_BASE FILE_DEVICE_SOUND
34
#define IOCTL_WAVE_BASE 0x0000
35
#define IOCTL_MIDI_BASE 0x0080
36
#define IOCTL_AUX_BASE 0x0100
37
38
39
/*
40
Wave IOCTLs
41
*/
42
43
#define IOCTL_WAVE_QUERY_FORMAT \
44
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
45
46
#define IOCTL_WAVE_SET_FORMAT \
47
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0002, METHOD_BUFFERED, FILE_WRITE_ACCESS)
48
49
#define IOCTL_WAVE_GET_CAPABILITIES \
50
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
51
52
#define IOCTL_WAVE_SET_STATE \
53
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0004, METHOD_BUFFERED, FILE_WRITE_ACCESS)
54
55
#define IOCTL_WAVE_GET_STATE \
56
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0005, METHOD_BUFFERED, FILE_WRITE_ACCESS)
57
58
#define IOCTL_WAVE_GET_POSITION \
59
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0006, METHOD_BUFFERED, FILE_WRITE_ACCESS)
60
61
#define IOCTL_WAVE_SET_VOLUME \
62
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS)
63
64
#define IOCTL_WAVE_GET_VOLUME \
65
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0008, METHOD_BUFFERED, FILE_READ_ACCESS)
66
67
#define IOCTL_WAVE_SET_PITCH \
68
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0009, METHOD_BUFFERED, FILE_WRITE_ACCESS)
69
70
#define IOCTL_WAVE_GET_PITCH \
71
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000A, METHOD_BUFFERED, FILE_WRITE_ACCESS)
72
73
#define IOCTL_WAVE_SET_PLAYBACK_RATE \
74
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000B, METHOD_BUFFERED, FILE_WRITE_ACCESS)
75
76
#define IOCTL_WAVE_GET_PLAYBACK_RATE \
77
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000C, METHOD_BUFFERED, FILE_WRITE_ACCESS)
78
79
#define IOCTL_WAVE_PLAY \
80
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000D, METHOD_IN_DIRECT, FILE_WRITE_ACCESS)
81
82
#define IOCTL_WAVE_RECORD \
83
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000E, METHOD_OUT_DIRECT, FILE_WRITE_ACCESS)
84
85
#define IOCTL_WAVE_BREAK_LOOP \
86
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x000F, METHOD_BUFFERED, FILE_WRITE_ACCESS)
87
88
#define IOCTL_WAVE_SET_LOW_PRIORITY \
89
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_WAVE_BASE + 0x0010, METHOD_BUFFERED, FILE_WRITE_ACCESS)
90
91
92
/*
93
MIDI IOCTLs
94
*/
95
96
#define IOCTL_MIDI_GET_CAPABILITIES \
97
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
98
99
#define IOCTL_MIDI_SET_STATE \
100
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0002, METHOD_BUFFERED, FILE_WRITE_ACCESS)
101
102
#define IOCTL_MIDI_GET_STATE \
103
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0003, METHOD_BUFFERED, FILE_WRITE_ACCESS)
104
105
#define IOCTL_MIDI_SET_VOLUME \
106
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS)
107
108
#define IOCTL_MIDI_GET_VOLUME \
109
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0005, METHOD_BUFFERED, FILE_READ_ACCESS)
110
111
#define IOCTL_MIDI_PLAY \
112
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0006, METHOD_BUFFERED, FILE_WRITE_ACCESS)
113
114
#define IOCTL_MIDI_RECORD \
115
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0007, METHOD_BUFFERED, FILE_WRITE_ACCESS)
116
117
#define IOCTL_MIDI_CACHE_PATCHES \
118
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0008, METHOD_BUFFERED, FILE_WRITE_ACCESS)
119
120
#define IOCTL_MIDI_CACHE_DRUM_PATCHES \
121
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_MIDI_BASE + 0x0009, METHOD_BUFFERED, FILE_WRITE_ACCESS)
122
123
124
/*
125
Aux IOCTLs
126
*/
127
128
#define IOCTL_AUX_GET_CAPABILITIES \
129
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
130
131
#define IOCTL_AUX_SET_VOLUME \
132
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS)
133
134
#define IOCTL_AUX_GET_VOLUME \
135
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
136
137
#define IOCTL_SOUND_GET_CHANGED_VOLUME \
138
CTL_CODE(IOCTL_SOUND_BASE, IOCTL_AUX_BASE + 0x0004, METHOD_BUFFERED, FILE_READ_ACCESS)
139
140
#endif
/* MMDRV_IOCTLS */
dll
win32
mmdrv
mmioctl.h
Generated on Sat Sep 7 2024 06:04:02 for ReactOS by
1.9.6