2 * MMSYSTEM - Multimedia Wine Extension ... :-)
4 * Copyright (C) the Wine project
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #ifndef __WINE_WINE_MMSYSTEM16_H
22 #define __WINE_WINE_MMSYSTEM16_H
25 #include <wine/windef16.h>
30 typedef UINT16 MMVERSION16
;
31 typedef UINT16 MCIDEVICEID16
;
32 typedef UINT16 MMRESULT16
;
35 UINT16 wType
; /* indicates the contents of the union */
37 DWORD ms
; /* milliseconds */
38 DWORD sample
; /* samples */
39 DWORD cb
; /* byte count */
41 BYTE hour
; /* hours */
42 BYTE min
; /* minutes */
43 BYTE sec
; /* seconds */
44 BYTE frame
; /* frames */
45 BYTE fps
; /* frames per second */
49 DWORD songptrpos
; /* song pointer position */
52 } MMTIME16
, *LPMMTIME16
;
56 SEGPTR lpszDCISectionName
;
57 SEGPTR lpszDCIAliasName
;
58 } DRVCONFIGINFO16
, *LPDRVCONFIGINFO16
;
60 /* GetDriverInfo16 references this structure, so this a struct defined
62 * GetDriverInfo has been deprecated in Win32.
69 CHAR szAliasName
[128];
70 } DRIVERINFOSTRUCT16
, *LPDRIVERINFOSTRUCT16
;
72 LRESULT WINAPI
DefDriverProc16(DWORD
,HDRVR16
,UINT16
,LPARAM
,LPARAM
);
73 HDRVR16 WINAPI
OpenDriver16(LPCSTR
,LPCSTR
,LPARAM
);
74 LRESULT WINAPI
CloseDriver16(HDRVR16
,LPARAM
,LPARAM
);
75 LRESULT WINAPI
SendDriverMessage16(HDRVR16
,UINT16
,LPARAM
,LPARAM
);
76 HMODULE16 WINAPI
GetDriverModuleHandle16(HDRVR16
);
77 HDRVR16 WINAPI
GetNextDriver16(HDRVR16
,DWORD
);
78 BOOL16 WINAPI
GetDriverInfo16(HDRVR16
,DRIVERINFOSTRUCT16
*);
80 typedef void (CALLBACK
*LPDRVCALLBACK16
) (HDRVR16
,UINT16
,DWORD
,DWORD
,DWORD
);
81 typedef LPDRVCALLBACK16 LPWAVECALLBACK16
;
83 UINT16 WINAPI
mmsystemGetVersion16(void);
84 BOOL16 WINAPI
sndPlaySound16(LPCSTR
,UINT16
);
87 WORD wMid
; /* manufacturer ID */
88 WORD wPid
; /* product ID */
89 MMVERSION16 vDriverVersion
; /* version of the driver */
90 CHAR szPname
[MAXPNAMELEN
]; /* product name (0 terminated string) */
91 DWORD dwFormats
; /* formats supported */
92 WORD wChannels
; /* number of sources supported */
93 DWORD dwSupport
; /* functionality supported by driver */
94 } WAVEOUTCAPS16
, *LPWAVEOUTCAPS16
;
97 WORD wMid
; /* manufacturer ID */
98 WORD wPid
; /* product ID */
99 MMVERSION16 vDriverVersion
; /* version of the driver */
100 CHAR szPname
[MAXPNAMELEN
]; /* product name (0 terminated string) */
101 DWORD dwFormats
; /* formats supported */
102 WORD wChannels
; /* number of channels supported */
103 } WAVEINCAPS16
, *LPWAVEINCAPS16
;
107 LPWAVEFORMATEX lpFormat
;
110 UINT16 uMappedDeviceID
;
112 } WAVEOPENDESC16
, *LPWAVEOPENDESC16
;
114 UINT16 WINAPI
waveOutGetNumDevs16(void);
115 UINT16 WINAPI
waveOutGetDevCaps16(UINT16
,LPWAVEOUTCAPS16
,UINT16
);
116 UINT16 WINAPI
waveOutGetVolume16(UINT16
,DWORD
*);
117 UINT16 WINAPI
waveOutSetVolume16(UINT16
,DWORD
);
118 UINT16 WINAPI
waveOutGetErrorText16(UINT16
,LPSTR
,UINT16
);
119 UINT16 WINAPI
waveOutOpen16(HWAVEOUT16
*,UINT16
,const WAVEFORMATEX
*,DWORD
,DWORD
,DWORD
);
120 UINT16 WINAPI
waveOutClose16(HWAVEOUT16
);
121 UINT16 WINAPI
waveOutPrepareHeader16(HWAVEOUT16
,SEGPTR
,UINT16
);
122 UINT16 WINAPI
waveOutUnprepareHeader16(HWAVEOUT16
,SEGPTR
,UINT16
);
123 UINT16 WINAPI
waveOutWrite16(HWAVEOUT16
,WAVEHDR
*,UINT16
);
124 UINT16 WINAPI
waveOutPause16(HWAVEOUT16
);
125 UINT16 WINAPI
waveOutRestart16(HWAVEOUT16
);
126 UINT16 WINAPI
waveOutReset16(HWAVEOUT16
);
127 UINT16 WINAPI
waveOutBreakLoop16(HWAVEOUT16
);
128 UINT16 WINAPI
waveOutGetPosition16(HWAVEOUT16
,LPMMTIME16
,UINT16
);
129 UINT16 WINAPI
waveOutGetPitch16(HWAVEOUT16
,DWORD
*);
130 UINT16 WINAPI
waveOutSetPitch16(HWAVEOUT16
,DWORD
);
131 UINT16 WINAPI
waveOutGetPlaybackRate16(HWAVEOUT16
,DWORD
*);
132 UINT16 WINAPI
waveOutSetPlaybackRate16(HWAVEOUT16
,DWORD
);
133 UINT16 WINAPI
waveOutGetID16(HWAVEOUT16
,UINT16
*);
134 DWORD WINAPI
waveOutMessage16(HWAVEOUT16
,UINT16
,DWORD
,DWORD
);
135 UINT16 WINAPI
waveInGetNumDevs16(void);
136 UINT16 WINAPI
waveInGetDevCaps16(UINT16
,LPWAVEINCAPS16
,UINT16
);
137 UINT16 WINAPI
waveInGetErrorText16(UINT16
,LPSTR
,UINT16
);
138 UINT16 WINAPI
waveInOpen16(HWAVEIN16
*,UINT16
,const WAVEFORMATEX
*,DWORD
,DWORD
,DWORD
);
139 UINT16 WINAPI
waveInClose16(HWAVEIN16
);
140 UINT16 WINAPI
waveInPrepareHeader16(HWAVEIN16
,SEGPTR
,UINT16
);
141 UINT16 WINAPI
waveInUnprepareHeader16(HWAVEIN16
,SEGPTR
,UINT16
);
142 UINT16 WINAPI
waveInAddBuffer16(HWAVEIN16
,WAVEHDR
*,UINT16
);
143 UINT16 WINAPI
waveInStart16(HWAVEIN16
);
144 UINT16 WINAPI
waveInStop16(HWAVEIN16
);
145 UINT16 WINAPI
waveInReset16(HWAVEIN16
);
146 UINT16 WINAPI
waveInGetPosition16(HWAVEIN16
,LPMMTIME16
,UINT16
);
147 UINT16 WINAPI
waveInGetID16(HWAVEIN16
,UINT16
*);
148 DWORD WINAPI
waveInMessage16(HWAVEIN16
,UINT16
,DWORD
,DWORD
);
150 typedef LPDRVCALLBACK16 LPMIDICALLBACK16
;
153 WORD wMid
; /* manufacturer ID */
154 WORD wPid
; /* product ID */
155 MMVERSION16 vDriverVersion
; /* version of the driver */
156 CHAR szPname
[MAXPNAMELEN
];/* product name (NULL terminated string) */
157 WORD wTechnology
; /* type of device */
158 WORD wVoices
; /* # of voices (internal synth only) */
159 WORD wNotes
; /* max # of notes (internal synth only) */
160 WORD wChannelMask
; /* channels used (internal synth only) */
161 DWORD dwSupport
; /* functionality supported by driver */
162 } MIDIOUTCAPS16
, *LPMIDIOUTCAPS16
;
165 WORD wMid
; /* manufacturer ID */
166 WORD wPid
; /* product ID */
167 MMVERSION16 vDriverVersion
; /* version of the driver */
168 CHAR szPname
[MAXPNAMELEN
];/* product name (NULL terminated string) */
169 DWORD dwSupport
; /* included in win95 and higher */
170 } MIDIINCAPS16
, *LPMIDIINCAPS16
;
172 typedef struct midihdr16_tag
{
173 LPSTR lpData
; /* pointer to locked data block */
174 DWORD dwBufferLength
; /* length of data in data block */
175 DWORD dwBytesRecorded
;/* used for input only */
176 DWORD dwUser
; /* for client's use */
177 DWORD dwFlags
; /* assorted flags (see defines) */
178 struct midihdr16_tag
*lpNext
; /* reserved for driver */
179 DWORD reserved
; /* reserved for driver */
180 } MIDIHDR16
, *LPMIDIHDR16
;
189 MIDIOPENSTRMID rgIds
;
190 } MIDIOPENDESC16
, *LPMIDIOPENDESC16
;
192 UINT16 WINAPI
midiOutGetNumDevs16(void);
193 UINT16 WINAPI
midiOutGetDevCaps16(UINT16
,LPMIDIOUTCAPS16
,UINT16
);
194 UINT16 WINAPI
midiOutGetVolume16(UINT16
,DWORD
*);
195 UINT16 WINAPI
midiOutSetVolume16(UINT16
,DWORD
);
196 UINT16 WINAPI
midiOutGetErrorText16(UINT16
,LPSTR
,UINT16
);
197 UINT16 WINAPI
midiOutOpen16(HMIDIOUT16
*,UINT16
,DWORD
,DWORD
,DWORD
);
198 UINT16 WINAPI
midiOutClose16(HMIDIOUT16
);
199 UINT16 WINAPI
midiOutPrepareHeader16(HMIDIOUT16
,SEGPTR
,UINT16
);
200 UINT16 WINAPI
midiOutUnprepareHeader16(HMIDIOUT16
,SEGPTR
,UINT16
);
201 UINT16 WINAPI
midiOutShortMsg16(HMIDIOUT16
,DWORD
);
202 UINT16 WINAPI
midiOutLongMsg16(HMIDIOUT16
,MIDIHDR16
*,UINT16
);
203 UINT16 WINAPI
midiOutReset16(HMIDIOUT16
);
204 UINT16 WINAPI
midiOutCachePatches16(HMIDIOUT16
,UINT16
,WORD
*,UINT16
);
205 UINT16 WINAPI
midiOutCacheDrumPatches16(HMIDIOUT16
,UINT16
,WORD
*,UINT16
);
206 UINT16 WINAPI
midiOutGetID16(HMIDIOUT16
,UINT16
*);
207 DWORD WINAPI
midiOutMessage16(HMIDIOUT16
,UINT16
,DWORD
,DWORD
);
208 UINT16 WINAPI
midiInGetNumDevs16(void);
209 UINT16 WINAPI
midiInGetDevCaps16(UINT16
,LPMIDIINCAPS16
,UINT16
);
210 UINT16 WINAPI
midiInGetErrorText16(UINT16
,LPSTR
,UINT16
);
211 UINT16 WINAPI
midiInOpen16(HMIDIIN16
*,UINT16
,DWORD
,DWORD
,DWORD
);
212 UINT16 WINAPI
midiInClose16(HMIDIIN16
);
213 UINT16 WINAPI
midiInPrepareHeader16(HMIDIIN16
,SEGPTR
,UINT16
);
214 UINT16 WINAPI
midiInUnprepareHeader16(HMIDIIN16
,SEGPTR
,UINT16
);
215 UINT16 WINAPI
midiInAddBuffer16(HMIDIIN16
,MIDIHDR16
*,UINT16
);
216 UINT16 WINAPI
midiInStart16(HMIDIIN16
);
217 UINT16 WINAPI
midiInStop16(HMIDIIN16
);
218 UINT16 WINAPI
midiInReset16(HMIDIIN16
);
219 UINT16 WINAPI
midiInGetID16(HMIDIIN16
,UINT16
*);
220 DWORD WINAPI
midiInMessage16(HMIDIIN16
,UINT16
,DWORD
,DWORD
);
221 MMRESULT16 WINAPI
midiStreamClose16(HMIDISTRM16 hms
);
222 MMRESULT16 WINAPI
midiStreamOpen16(HMIDISTRM16
*,LPUINT16
,DWORD
,DWORD
,DWORD
,DWORD
);
223 MMRESULT16 WINAPI
midiStreamOut16(HMIDISTRM16
,LPMIDIHDR16
,UINT16
);
224 MMRESULT16 WINAPI
midiStreamPause16(HMIDISTRM16
);
225 MMRESULT16 WINAPI
midiStreamPosition16(HMIDISTRM16
,LPMMTIME16
,UINT16
);
226 MMRESULT16 WINAPI
midiStreamProperty16(HMIDISTRM16
,LPBYTE
,DWORD
);
227 MMRESULT16 WINAPI
midiStreamRestart16(HMIDISTRM16
);
228 MMRESULT16 WINAPI
midiStreamStop16(HMIDISTRM16
);
231 WORD wMid
; /* manufacturer ID */
232 WORD wPid
; /* product ID */
233 MMVERSION16 vDriverVersion
; /* version of the driver */
234 CHAR szPname
[MAXPNAMELEN
]; /* product name (NULL terminated string) */
235 WORD wTechnology
; /* type of device */
236 DWORD dwSupport
; /* functionality supported by driver */
237 } AUXCAPS16
, *LPAUXCAPS16
;
239 typedef void (CALLBACK
*LPTIMECALLBACK16
)(UINT16
,UINT16
,DWORD
,DWORD
,DWORD
);
242 UINT16 wPeriodMin
; /* minimum period supported */
243 UINT16 wPeriodMax
; /* maximum period supported */
244 } TIMECAPS16
,*LPTIMECAPS16
;
247 WORD wMid
; /* manufacturer ID */
248 WORD wPid
; /* product ID */
249 char szPname
[MAXPNAMELEN
]; /* product name (NULL terminated string) */
250 UINT16 wXmin
; /* minimum x position value */
251 UINT16 wXmax
; /* maximum x position value */
252 UINT16 wYmin
; /* minimum y position value */
253 UINT16 wYmax
; /* maximum y position value */
254 UINT16 wZmin
; /* minimum z position value */
255 UINT16 wZmax
; /* maximum z position value */
256 UINT16 wNumButtons
; /* number of buttons */
257 UINT16 wPeriodMin
; /* minimum message period when captured */
258 UINT16 wPeriodMax
; /* maximum message period when captured */
259 /* win95,nt4 additions: */
260 UINT16 wRmin
; /* minimum r position value */
261 UINT16 wRmax
; /* maximum r position value */
262 UINT16 wUmin
; /* minimum u (5th axis) position value */
263 UINT16 wUmax
; /* maximum u (5th axis) position value */
264 UINT16 wVmin
; /* minimum v (6th axis) position value */
265 UINT16 wVmax
; /* maximum v (6th axis) position value */
266 UINT16 wCaps
; /* joystick capabilities */
267 UINT16 wMaxAxes
; /* maximum number of axes supported */
268 UINT16 wNumAxes
; /* number of axes in use */
269 UINT16 wMaxButtons
; /* maximum number of buttons supported */
270 CHAR szRegKey
[MAXPNAMELEN
]; /* registry key */
271 CHAR szOEMVxD
[MAX_JOYSTICKOEMVXDNAME
]; /* OEM VxD in use */
272 } JOYCAPS16
, *LPJOYCAPS16
;
275 UINT16 wXpos
; /* x position */
276 UINT16 wYpos
; /* y position */
277 UINT16 wZpos
; /* z position */
278 UINT16 wButtons
; /* button states */
279 } JOYINFO16
, *LPJOYINFO16
;
282 WORD wMid
; /* manufacturer id */
283 WORD wPid
; /* product id */
284 MMVERSION16 vDriverVersion
; /* version of the driver */
285 CHAR szPname
[MAXPNAMELEN
]; /* product name */
286 DWORD fdwSupport
; /* misc. support bits */
287 DWORD cDestinations
; /* count of destinations */
288 } MIXERCAPS16
,*LPMIXERCAPS16
;
290 typedef struct tMIXEROPENDESC16
296 } MIXEROPENDESC16
, *LPMIXEROPENDESC16
;
299 DWORD cbStruct
; /* size of MIXERLINE structure */
300 DWORD dwDestination
; /* zero based destination index */
301 DWORD dwSource
; /* zero based source index (if source) */
302 DWORD dwLineID
; /* unique line id for mixer device */
303 DWORD fdwLine
; /* state/information about line */
304 DWORD dwUser
; /* driver specific information */
305 DWORD dwComponentType
; /* component type line connects to */
306 DWORD cChannels
; /* number of channels line supports */
307 DWORD cConnections
; /* number of connections [possible] */
308 DWORD cControls
; /* number of controls at this line */
309 CHAR szShortName
[MIXER_SHORT_NAME_CHARS
];
310 CHAR szName
[MIXER_LONG_NAME_CHARS
];
312 DWORD dwType
; /* MIXERLINE_TARGETTYPE_xxxx */
313 DWORD dwDeviceID
; /* target device ID of device type */
314 WORD wMid
; /* of target device */
316 MMVERSION16 vDriverVersion
; /* " */
317 CHAR szPname
[MAXPNAMELEN
]; /* " */
319 } MIXERLINE16
, *LPMIXERLINE16
;
322 DWORD cbStruct
; /* size in bytes of MIXERCONTROL */
323 DWORD dwControlID
; /* unique control id for mixer device */
324 DWORD dwControlType
; /* MIXERCONTROL_CONTROLTYPE_xxx */
325 DWORD fdwControl
; /* MIXERCONTROL_CONTROLF_xxx */
326 DWORD cMultipleItems
; /* if MIXERCONTROL_CONTROLF_MULTIPLE set */
327 CHAR szShortName
[MIXER_SHORT_NAME_CHARS
];
328 CHAR szName
[MIXER_LONG_NAME_CHARS
];
331 LONG lMinimum
; /* signed minimum for this control */
332 LONG lMaximum
; /* signed maximum for this control */
335 DWORD dwMinimum
; /* unsigned minimum for this control */
336 DWORD dwMaximum
; /* unsigned maximum for this control */
341 DWORD cSteps
; /* # of steps between min & max */
342 DWORD cbCustomData
; /* size in bytes of custom data */
343 DWORD dwReserved
[6]; /* !!! needed? we have cbStruct.... */
345 } MIXERCONTROL16
, *LPMIXERCONTROL16
;
348 DWORD cbStruct
; /* size in bytes of MIXERLINECONTROLS */
349 DWORD dwLineID
; /* line id (from MIXERLINE.dwLineID) */
351 DWORD dwControlID
; /* MIXER_GETLINECONTROLSF_ONEBYID */
352 DWORD dwControlType
; /* MIXER_GETLINECONTROLSF_ONEBYTYPE */
354 DWORD cControls
; /* count of controls pmxctrl points to */
355 DWORD cbmxctrl
; /* size in bytes of _one_ MIXERCONTROL */
356 SEGPTR pamxctrl
; /* pointer to first MIXERCONTROL array */
357 } MIXERLINECONTROLS16
, *LPMIXERLINECONTROLS16
;
360 DWORD cbStruct
; /* size in bytes of MIXERCONTROLDETAILS */
361 DWORD dwControlID
; /* control id to get/set details on */
362 DWORD cChannels
; /* number of channels in paDetails array */
364 HWND16 hwndOwner
; /* for MIXER_SETCONTROLDETAILSF_CUSTOM */
365 DWORD cMultipleItems
; /* if _MULTIPLE, the number of items per channel */
367 DWORD cbDetails
; /* size of _one_ details_XX struct */
368 LPVOID paDetails
; /* pointer to array of details_XX structs */
369 } MIXERCONTROLDETAILS16
,*LPMIXERCONTROLDETAILS16
;
374 CHAR szName
[MIXER_LONG_NAME_CHARS
];
375 } MIXERCONTROLDETAILS_LISTTEXT16
,*LPMIXERCONTROLDETAILS_LISTTEXT16
;
377 typedef LRESULT (CALLBACK
*LPMMIOPROC16
)(LPSTR lpmmioinfo
,UINT16 uMessage
,
378 LPARAM lParam1
,LPARAM lParam2
);
381 DWORD dwFlags
; /* general status flags */
382 FOURCC fccIOProc
; /* pointer to I/O procedure */
383 LPMMIOPROC16 pIOProc
; /* pointer to I/O procedure */
384 UINT16 wErrorRet
; /* place for error to be returned */
385 HTASK16 hTask
; /* alternate local task */
386 /* fields maintained by MMIO functions during buffered I/O */
387 LONG cchBuffer
; /* size of I/O buffer (or 0L) */
388 HPSTR pchBuffer
; /* start of I/O buffer (or NULL) */
389 HPSTR pchNext
; /* pointer to next byte to read/write */
390 HPSTR pchEndRead
; /* pointer to last valid byte to read */
391 HPSTR pchEndWrite
; /* pointer to last byte to write */
392 LONG lBufOffset
; /* disk offset of start of buffer */
393 /* fields maintained by I/O procedure */
394 LONG lDiskOffset
; /* disk offset of next read or write */
395 DWORD adwInfo
[3]; /* data specific to type of MMIOPROC */
396 /* other fields maintained by MMIO */
397 DWORD dwReserved1
; /* reserved for MMIO use */
398 DWORD dwReserved2
; /* reserved for MMIO use */
399 HMMIO16 hmmio
; /* handle to open file */
400 } MMIOINFO16
, *LPMMIOINFO16
;
402 typedef UINT16 (CALLBACK
*YIELDPROC16
)(UINT16
,DWORD
);
404 UINT16 WINAPI
auxGetNumDevs16(void);
405 UINT16 WINAPI
auxGetDevCaps16 (UINT16
,LPAUXCAPS16
,UINT16
);
406 UINT16 WINAPI
auxSetVolume16(UINT16
,DWORD
);
407 UINT16 WINAPI
auxGetVolume16(UINT16
,LPDWORD
);
408 DWORD WINAPI
auxOutMessage16(UINT16
,UINT16
,DWORD
,DWORD
);
409 MMRESULT16 WINAPI
timeGetSystemTime16(LPMMTIME16
,UINT16
);
410 MMRESULT16 WINAPI
timeSetEvent16(UINT16
,UINT16
,LPTIMECALLBACK16
,DWORD
,UINT16
);
411 MMRESULT16 WINAPI
timeKillEvent16(UINT16
);
412 MMRESULT16 WINAPI
timeGetDevCaps16(LPTIMECAPS16
,UINT16
);
413 MMRESULT16 WINAPI
timeBeginPeriod16(UINT16
);
414 MMRESULT16 WINAPI
timeEndPeriod16(UINT16
);
415 MMRESULT16 WINAPI
joyGetDevCaps16 (UINT16
,LPJOYCAPS16
,UINT16
);
416 UINT16 WINAPI
joyGetNumDevs16(void);
417 MMRESULT16 WINAPI
joyGetPos16(UINT16
,LPJOYINFO16
);
418 MMRESULT16 WINAPI
joyGetPosEx16(UINT16
,LPJOYINFOEX
);
419 MMRESULT16 WINAPI
joyGetThreshold16(UINT16
,UINT16
*);
420 MMRESULT16 WINAPI
joyReleaseCapture16(UINT16
);
421 MMRESULT16 WINAPI
joySetCapture16(HWND16
,UINT16
,UINT16
,BOOL16
);
422 MMRESULT16 WINAPI
joySetThreshold16(UINT16
,UINT16
);
423 UINT16 WINAPI
mixerGetNumDevs16(void);
424 UINT16 WINAPI
mixerOpen16(LPHMIXER16
,UINT16
,DWORD
,DWORD
,DWORD
);
425 UINT16 WINAPI
mixerClose16(HMIXER16
);
426 DWORD WINAPI
mixerMessage16(HMIXER16
,UINT16
,DWORD
,DWORD
);
427 UINT16 WINAPI
mixerGetDevCaps16(UINT16
,LPMIXERCAPS16
,UINT16
);
428 UINT16 WINAPI
mixerGetLineInfo16(HMIXEROBJ16
,LPMIXERLINE16
,DWORD
);
429 UINT16 WINAPI
mixerGetID16(HMIXEROBJ16
,LPUINT16
,DWORD
);
430 UINT16 WINAPI
mixerGetLineControls16(HMIXEROBJ16
,LPMIXERLINECONTROLS16
,DWORD
);
431 UINT16 WINAPI
mixerGetControlDetails16(HMIXEROBJ16
,LPMIXERCONTROLDETAILS16
,DWORD
);
432 UINT16 WINAPI
mixerSetControlDetails16(HMIXEROBJ16
,LPMIXERCONTROLDETAILS16
,DWORD
);
433 LPMMIOPROC16 WINAPI
mmioInstallIOProc16(FOURCC
,LPMMIOPROC16
,DWORD
);
434 FOURCC WINAPI
mmioStringToFOURCC16(LPCSTR
,UINT16
);
435 HMMIO16 WINAPI
mmioOpen16(LPSTR
,MMIOINFO16
*,DWORD
);
436 UINT16 WINAPI
mmioRename16(LPCSTR
,LPCSTR
,MMIOINFO16
*,DWORD
);
437 MMRESULT16 WINAPI
mmioClose16(HMMIO16
,UINT16
);
438 LONG WINAPI
mmioRead16(HMMIO16
,HPSTR
,LONG
);
439 LONG WINAPI
mmioWrite16(HMMIO16
,HPCSTR
,LONG
);
440 LONG WINAPI
mmioSeek16(HMMIO16
,LONG
,INT16
);
441 MMRESULT16 WINAPI
mmioGetInfo16(HMMIO16
,MMIOINFO16
*,UINT16
);
442 MMRESULT16 WINAPI
mmioSetInfo16(HMMIO16
,const MMIOINFO16
*,UINT16
);
443 UINT16 WINAPI
mmioSetBuffer16(HMMIO16
,LPSTR
,LONG
,UINT16
);
444 UINT16 WINAPI
mmioFlush16(HMMIO16
,UINT16
);
445 UINT16 WINAPI
mmioAdvance16(HMMIO16
,MMIOINFO16
*,UINT16
);
446 LRESULT WINAPI
mmioSendMessage16(HMMIO16
,UINT16
,LPARAM
,LPARAM
);
447 UINT16 WINAPI
mmioDescend16(HMMIO16
,MMCKINFO
*,const MMCKINFO
*,UINT16
);
448 UINT16 WINAPI
mmioAscend16(HMMIO16
,MMCKINFO
*,UINT16
);
449 UINT16 WINAPI
mmioCreateChunk16(HMMIO16
,MMCKINFO
*,UINT16
);
450 DWORD WINAPI
mciSendCommand16(UINT16
,UINT16
,DWORD
,DWORD
);
451 DWORD WINAPI
mciSendString16(LPCSTR
,LPSTR
,UINT16
,HWND16
);
452 UINT16 WINAPI
mciGetDeviceID16(LPCSTR
);
453 UINT16 WINAPI
mciGetDeviceIDFromElementID16(DWORD
,LPCSTR
);
454 BOOL16 WINAPI
mciGetErrorString16 (DWORD
,LPSTR
,UINT16
);
455 BOOL16 WINAPI
mciSetYieldProc16(UINT16
,YIELDPROC16
,DWORD
);
456 HTASK16 WINAPI
mciGetCreatorTask16(UINT16
);
457 YIELDPROC16 WINAPI
mciGetYieldProc16(UINT16
,DWORD
*);
458 DWORD WINAPI
mciGetDriverData16(UINT16 uDeviceID
);
459 BOOL16 WINAPI
mciSetDriverData16(UINT16 uDeviceID
, DWORD dwData
);
460 UINT16 WINAPI
mciDriverYield16(UINT16 uDeviceID
);
461 BOOL16 WINAPI
mciDriverNotify16(HWND16 hwndCallback
, UINT16 uDeviceID
,
463 UINT16 WINAPI
mciLoadCommandResource16(HINSTANCE16 hInstance
,
464 LPCSTR lpResName
, UINT16 uType
);
465 BOOL16 WINAPI
mciFreeCommandResource16(UINT16 uTable
);
467 HINSTANCE16 WINAPI
mmTaskCreate16(SEGPTR spProc
, HINSTANCE16
*lphMmTask
, DWORD dwPmt
);
468 void WINAPI
mmTaskBlock16(HINSTANCE16 hInst
);
469 LRESULT WINAPI
mmTaskSignal16(HTASK16 ht
);
470 void WINAPI
mmTaskYield16(void);
471 LRESULT WINAPI
mmThreadCreate16(FARPROC16 fpThreadAddr
, LPHANDLE16 lpHndl
,
472 DWORD dwPmt
, DWORD dwFlags
);
473 void WINAPI
mmThreadSignal16(HANDLE16 hndl
);
474 void WINAPI
mmThreadBlock16(HANDLE16 hndl
);
475 HANDLE16 WINAPI
mmThreadGetTask16(HANDLE16 hndl
);
476 BOOL16 WINAPI
mmThreadIsValid16(HANDLE16 hndl
);
477 BOOL16 WINAPI
mmThreadIsCurrent16(HANDLE16 hndl
);
479 BOOL16 WINAPI
DriverCallback16(DWORD dwCallBack
, UINT16 uFlags
, HANDLE16 hDev
,
480 WORD wMsg
, DWORD dwUser
, DWORD dwParam1
, DWORD dwParam2
);
486 SEGPTR lpstrDeviceType
;
487 SEGPTR lpstrElementName
;
489 } MCI_OPEN_PARMS16
, *LPMCI_OPEN_PARMS16
;
495 } MCI_INFO_PARMS16
, *LPMCI_INFO_PARMS16
;
504 } MCI_SYSINFO_PARMS16
, *LPMCI_SYSINFO_PARMS16
;
512 } MCI_BREAK_PARMS16
, *LPMCI_BREAK_PARMS16
;
517 } MCI_LOAD_PARMS16
, *LPMCI_LOAD_PARMS16
;
521 SEGPTR lpstrSoundName
;
522 } MCI_SOUND_PARMS16
, *LPMCI_SOUND_PARMS16
;
527 } MCI_VD_ESCAPE_PARMS16
, *LPMCI_VD_ESCAPE_PARMS16
;
530 UINT16 wDeviceID
; /* device ID */
531 SEGPTR lpstrParams
; /* parameter string for entry in SYSTEM.INI */
532 UINT16 wCustomCommandTable
; /* custom command table (0xFFFF if none)
533 * filled in by the driver */
534 UINT16 wType
; /* driver type (filled in by the driver) */
535 } MCI_OPEN_DRIVER_PARMS16
, *LPMCI_OPEN_DRIVER_PARMS16
;
539 MCIDEVICEID16 wDeviceID
;
541 SEGPTR lpstrDeviceType
;
542 SEGPTR lpstrElementName
;
544 DWORD dwBufferSeconds
;
545 } MCI_WAVE_OPEN_PARMS16
, *LPMCI_WAVE_OPEN_PARMS16
;
559 DWORD nSamplesPerSec
;
560 DWORD nAvgBytesPerSec
;
563 UINT16 wBitsPerSample
;
565 } MCI_WAVE_SET_PARMS16
, * LPMCI_WAVE_SET_PARMS16
;
571 SEGPTR lpstrDeviceType
;
572 SEGPTR lpstrElementName
;
577 } MCI_ANIM_OPEN_PARMS16
, *LPMCI_ANIM_OPEN_PARMS16
;
586 } MCI_ANIM_WINDOW_PARMS16
, *LPMCI_ANIM_WINDOW_PARMS16
;
590 #ifdef MCI_USE_OFFEXT
593 #else /* ifdef MCI_USE_OFFEXT */
595 #endif /* ifdef MCI_USE_OFFEXT */
596 } MCI_ANIM_RECT_PARMS16
, *LPMCI_ANIM_RECT_PARMS16
;
602 } MCI_ANIM_UPDATE_PARMS16
, *LPMCI_ANIM_UPDATE_PARMS16
;
606 MCIDEVICEID16 wDeviceID
;
608 LPCSTR lpstrDeviceType
;
609 LPCSTR lpstrElementName
;
614 } MCI_OVLY_OPEN_PARMS16
, *LPMCI_OVLY_OPEN_PARMS16
;
623 } MCI_OVLY_WINDOW_PARMS16
, *LPMCI_OVLY_WINDOW_PARMS16
;
627 #ifdef MCI_USE_OFFEXT
630 #else /* ifdef MCI_USE_OFFEXT */
632 #endif /* ifdef MCI_USE_OFFEXT */
633 } MCI_OVLY_RECT_PARMS16
, *LPMCI_OVLY_RECT_PARMS16
;
639 } MCI_OVLY_SAVE_PARMS16
, *LPMCI_OVLY_SAVE_PARMS16
;
645 } MCI_OVLY_LOAD_PARMS16
, *LPMCI_OVLY_LOAD_PARMS16
;
647 /* from digitalv / 16 bit */
651 } MCI_DGV_RECT_PARMS16
, *LPMCI_DGV_RECT_PARMS16
;
657 } MCI_DGV_CAPTURE_PARMS16
, *LPMCI_DGV_CAPTURE_PARMS16
;
666 } MCI_DGV_COPY_PARMS16
, *LPMCI_DGV_COPY_PARMS16
;
675 } MCI_DGV_CUT_PARMS16
, * LPMCI_DGV_CUT_PARMS16
;
684 } MCI_DGV_DELETE_PARMS16
, * LPMCI_DGV_DELETE_PARMS16
;
686 typedef MCI_DGV_RECT_PARMS16 MCI_DGV_FREEZE_PARMS16
, * LPMCI_DGV_FREEZE_PARMS16
;
693 } MCI_DGV_INFO_PARMS16
, * LPMCI_DGV_INFO_PARMS16
;
701 LPSTR lpstrAlgorithm
;
702 } MCI_DGV_LIST_PARMS16
, *LPMCI_DGV_LIST_PARMS16
;
704 typedef MCI_LOAD_PARMS16 MCI_DGV_LOAD_PARMS16
, * LPMCI_DGV_LOAD_PARMS16
;
710 LPSTR lpstrDeviceType
;
711 LPSTR lpstrElementName
;
716 } MCI_DGV_OPEN_PARMS16
, *LPMCI_DGV_OPEN_PARMS16
;
724 } MCI_DGV_PASTE_PARMS16
, * LPMCI_DGV_PASTE_PARMS16
;
726 typedef MCI_DGV_RECT_PARMS16 MCI_DGV_PUT_PARMS16
, * LPMCI_DGV_PUT_PARMS16
;
732 DWORD lpstrAlgorithm
;
734 } MCI_DGV_QUALITY_PARMS16
, *LPMCI_DGV_QUALITY_PARMS16
;
743 } MCI_DGV_RECORD_PARMS16
, * LPMCI_DGV_RECORD_PARMS16
;
749 } MCI_DGV_RESERVE_PARMS16
, *LPMCI_DGV_RESERVE_PARMS16A
;
755 } MCI_DGV_RESTORE_PARMS16
, *LPMCI_DGV_RESTORE_PARMS16
;
761 } MCI_DGV_SAVE_PARMS16
, *LPMCI_DGV_SAVE_PARMS16
;
768 LPSTR lpstrAlgorithm
;
770 } MCI_DGV_SETAUDIO_PARMS16
, *LPMCI_DGV_SETAUDIO_PARMS16
;
777 LPSTR lpstrAlgorithm
;
779 DWORD dwSourceNumber
;
780 } MCI_DGV_SETVIDEO_PARMS16
, *LPMCI_DGV_SETVIDEO_PARMS16
;
789 } MCI_DGV_STATUS_PARMS16
, *LPMCI_DGV_STATUS_PARMS16
;
796 } MCI_DGV_UPDATE_PARMS16
, * LPMCI_DGV_UPDATE_PARMS16
;
798 typedef MCI_DGV_RECT_PARMS16 MCI_DGV_UNFREEZE_PARMS16
, * LPMCI_DGV_UNFREEZE_PARMS16
;
800 typedef MCI_DGV_RECT_PARMS16 MCI_DGV_WHERE_PARMS16
, * LPMCI_DGV_WHERE_PARMS16
;
809 } MCI_DGV_WINDOW_PARMS16
, *LPMCI_DGV_WINDOW_PARMS16
;
813 #endif /* __WINE_WINE_MMSYSTEM16_H */