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 LPWAVEFORMATEX,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 LPWAVEFORMATEX,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 capabilites */
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 */