Make sure winsock.h gets included before stdlib.h.
[wine/multimedia.git] / include / digitalv.h
blob6c36995e43bb8cf00b8615b4675408f4b3627844
1 /*
2 * Copyright (C) 1999 Eric Pouech
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #ifndef __WINE_DIGITALV_H
20 #define __WINE_DIGITALV_H
23 * Wine Digital Video extensions
26 #include "mmsystem.h"
27 #include "windef.h"
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
33 #define MCI_TEST 0x00000020L
35 /* Message values */
37 #define MCI_CAPTURE 0x0870
38 #define MCI_MONITOR 0x0871
39 #define MCI_RESERVE 0x0872
40 #define MCI_SETAUDIO 0x0873
41 #define MCI_SIGNAL 0x0875
42 #define MCI_SETVIDEO 0x0876
43 #define MCI_QUALITY 0x0877
44 #define MCI_LIST 0x0878
45 #define MCI_UNDO 0x0879
46 #define MCI_CONFIGURE 0x087A
47 #define MCI_RESTORE 0x087B
49 /* Return and string constant values */
51 #define MCI_ON 1
52 #define MCI_OFF 0
54 #define MCI_DGV_FILE_MODE_SAVING 0x0001
55 #define MCI_DGV_FILE_MODE_LOADING 0x0002
56 #define MCI_DGV_FILE_MODE_EDITING 0x0003
57 #define MCI_DGV_FILE_MODE_IDLE 0x0004
59 /* These identifiers are used only by device drivers */
61 #define MCI_ON_S 0x00008000L
62 #define MCI_OFF_S 0x00008001L
63 #define MCI_DGV_FILE_S 0x00008002L
64 #define MCI_DGV_INPUT_S 0x00008003L
66 #define MCI_DGV_FILE_MODE_SAVING_S 0x00008004L
67 #define MCI_DGV_FILE_MODE_LOADING_S 0x00008005L
68 #define MCI_DGV_FILE_MODE_EDITING_S 0x00008006L
69 #define MCI_DGV_FILE_MODE_IDLE_S 0x00008007L
71 #define MCI_DGV_SETVIDEO_SRC_NTSC_S 0x00008010L
72 #define MCI_DGV_SETVIDEO_SRC_RGB_S 0x00008011L
73 #define MCI_DGV_SETVIDEO_SRC_SVIDEO_S 0x00008012L
74 #define MCI_DGV_SETVIDEO_SRC_PAL_S 0x00008013L
75 #define MCI_DGV_SETVIDEO_SRC_SECAM_S 0x00008014L
76 #define MCI_DGV_SETVIDEO_SRC_GENERIC_S 0x00008015L
78 #define MCI_DGV_SETAUDIO_SRC_LEFT_S 0x00008020L
79 #define MCI_DGV_SETAUDIO_SRC_RIGHT_S 0x00008021L
80 #define MCI_DGV_SETAUDIO_SRC_AVERAGE_S 0x00008022L
81 #define MCI_DGV_SETAUDIO_SRC_STEREO_S 0x00008023L
83 /* Window message for signal notification */
85 #ifndef MM_MCISIGNAL
86 #define MM_MCISIGNAL 0x3CB
87 #endif
89 /* error values */
91 #define MCIERR_DGV_DEVICE_LIMIT (MCIERR_CUSTOM_DRIVER_BASE+0)
92 #define MCIERR_DGV_IOERR (MCIERR_CUSTOM_DRIVER_BASE+1)
93 #define MCIERR_DGV_WORKSPACE_EMPTY (MCIERR_CUSTOM_DRIVER_BASE+2)
94 #define MCIERR_DGV_DISK_FULL (MCIERR_CUSTOM_DRIVER_BASE+3)
95 #define MCIERR_DGV_DEVICE_MEMORY_FULL (MCIERR_CUSTOM_DRIVER_BASE+4)
96 #define MCIERR_DGV_BAD_CLIPBOARD_RANGE (MCIERR_CUSTOM_DRIVER_BASE+5)
98 /* defines for monitor methods */
100 #define MCI_DGV_METHOD_PRE 0x0000a000L
101 #define MCI_DGV_METHOD_POST 0x0000a001L
102 #define MCI_DGV_METHOD_DIRECT 0x0000a002L
104 /* defines for known file formats */
106 #define MCI_DGV_FF_AVSS 0x00004000L
107 #define MCI_DGV_FF_AVI 0x00004001L
108 #define MCI_DGV_FF_DIB 0x00004002L
109 #define MCI_DGV_FF_RDIB 0x00004003L
110 #define MCI_DGV_FF_JPEG 0x00004004L
111 #define MCI_DGV_FF_RJPEG 0x00004005L
112 #define MCI_DGV_FF_JFIF 0x00004006L
113 #define MCI_DGV_FF_MPEG 0x00004007L
115 /* values for dwItem field of MCI_CAPABILITY_PARMS structure */
117 #define MCI_DGV_GETDEVCAPS_CAN_LOCK 0x00004000L
118 #define MCI_DGV_GETDEVCAPS_CAN_STRETCH 0x00004001L
119 #define MCI_DGV_GETDEVCAPS_CAN_FREEZE 0x00004002L
120 #define MCI_DGV_GETDEVCAPS_MAX_WINDOWS 0x00004003L
121 #define MCI_DGV_GETDEVCAPS_CAN_REVERSE 0x00004004L
122 #define MCI_DGV_GETDEVCAPS_HAS_STILL 0x00004005L
123 #define MCI_DGV_GETDEVCAPS_PALETTES 0x00004006L
124 #define MCI_DGV_GETDEVCAPS_CAN_STR_IN 0x00004008L
125 #define MCI_DGV_GETDEVCAPS_CAN_TEST 0x00004009L
126 #define MCI_DGV_GETDEVCAPS_MAXIMUM_RATE 0x0000400aL
127 #define MCI_DGV_GETDEVCAPS_MINIMUM_RATE 0x0000400bL
129 /* flags for dwFlags parameter of MCI_CAPTURE command message */
131 #define MCI_DGV_CAPTURE_AS 0x00010000L
132 #define MCI_DGV_CAPTURE_AT 0x00020000L
134 /* flags for dwFlags parameter of MCI_COPY command message */
136 #define MCI_DGV_COPY_AT 0x00010000L
137 #define MCI_DGV_COPY_AUDIO_STREAM 0x00020000L
138 #define MCI_DGV_COPY_VIDEO_STREAM 0x00040000L
140 /* flags for dwFlags parameter of MCI_CUE command message */
142 #define MCI_DGV_CUE_INPUT 0x00010000L
143 #define MCI_DGV_CUE_OUTPUT 0x00020000L
144 #define MCI_DGV_CUE_NOSHOW 0x00040000L
146 /* flags for dwFlags parameter of MCI_CUT command message */
148 #define MCI_DGV_CUT_AT 0x00010000L
149 #define MCI_DGV_CUT_AUDIO_STREAM 0x00020000L
150 #define MCI_DGV_CUT_VIDEO_STREAM 0x00040000L
152 /* flags for dwFlags parameter of MCI_DELETE command message */
154 #define MCI_DGV_DELETE_AT 0x00010000L
155 #define MCI_DGV_DELETE_AUDIO_STREAM 0x00020000L
156 #define MCI_DGV_DELETE_VIDEO_STREAM 0x00040000L
158 /* flags for dwFlags parameter of MCI_FREEZE command message */
160 #define MCI_DGV_FREEZE_AT 0x00010000L
161 #define MCI_DGV_FREEZE_OUTSIDE 0x00020000L
163 /* flags for dwFlags parameter of MCI_INFO command message */
165 #define MCI_DGV_INFO_TEXT 0x00010000L
166 #define MCI_DGV_INFO_ITEM 0X00020000L
168 /* values for dwItem field of MCI_DGV_INFO_PARMS structure */
170 #define MCI_INFO_VERSION 0x00000400L
172 #define MCI_DGV_INFO_USAGE 0x00004000L
173 #define MCI_DGV_INFO_AUDIO_QUALITY 0x00004001L
174 #define MCI_DGV_INFO_STILL_QUALITY 0x00004002L
175 #define MCI_DGV_INFO_VIDEO_QUALITY 0x00004003L
176 #define MCI_DGV_INFO_AUDIO_ALG 0x00004004L
177 #define MCI_DGV_INFO_STILL_ALG 0x00004005L
178 #define MCI_DGV_INFO_VIDEO_ALG 0x00004006L
180 /* flags for dwFlags parameter of MCI_LIST command message */
182 #define MCI_DGV_LIST_ITEM 0x00010000L
183 #define MCI_DGV_LIST_COUNT 0x00020000L
184 #define MCI_DGV_LIST_NUMBER 0x00040000L
185 #define MCI_DGV_LIST_ALG 0x00080000L
187 /* values for dwItem field of MCI_DGV_LIST_PARMS structure */
189 #define MCI_DGV_LIST_AUDIO_ALG 0x00004000L
190 #define MCI_DGV_LIST_AUDIO_QUALITY 0x00004001L
191 #define MCI_DGV_LIST_AUDIO_STREAM 0x00004002L
192 #define MCI_DGV_LIST_STILL_ALG 0x00004003L
193 #define MCI_DGV_LIST_STILL_QUALITY 0x00004004L
194 #define MCI_DGV_LIST_VIDEO_ALG 0x00004005L
195 #define MCI_DGV_LIST_VIDEO_QUALITY 0x00004006L
196 #define MCI_DGV_LIST_VIDEO_STREAM 0x00004007L
197 #define MCI_DGV_LIST_VIDEO_SOURCE 0x00004008L
200 /* flags for dwFlags parameter of MCI_MONITOR command message */
202 #define MCI_DGV_MONITOR_METHOD 0x00010000L
203 #define MCI_DGV_MONITOR_SOURCE 0x00020000L
205 /* values for dwSource parameter of the MCI_DGV_MONITOR_PARMS struture */
207 #define MCI_DGV_MONITOR_INPUT 0x00004000L
208 #define MCI_DGV_MONITOR_FILE 0x00004001L
210 /* flags for dwFlags parameter of MCI_OPEN command message */
212 #define MCI_DGV_OPEN_WS 0x00010000L
213 #define MCI_DGV_OPEN_PARENT 0x00020000L
214 #define MCI_DGV_OPEN_NOSTATIC 0x00040000L
215 #define MCI_DGV_OPEN_16BIT 0x00080000L
216 #define MCI_DGV_OPEN_32BIT 0x00100000L
218 /* flags for dwFlags parameter of MCI_PASTE command message */
220 #define MCI_DGV_PASTE_AT 0x00010000L
221 #define MCI_DGV_PASTE_AUDIO_STREAM 0x00020000L
222 #define MCI_DGV_PASTE_VIDEO_STREAM 0x00040000L
223 #define MCI_DGV_PASTE_INSERT 0x00080000L
224 #define MCI_DGV_PASTE_OVERWRITE 0x00100000L
226 /* flags for dwFlags parameter of MCI_PLAY command message */
228 #define MCI_DGV_PLAY_REPEAT 0x00010000L
229 #define MCI_DGV_PLAY_REVERSE 0x00020000L
231 /* flags for dwFlags parameter of MCI_PUT command message */
233 #define MCI_DGV_RECT 0x00010000L
234 #define MCI_DGV_PUT_SOURCE 0x00020000L
235 #define MCI_DGV_PUT_DESTINATION 0x00040000L
236 #define MCI_DGV_PUT_FRAME 0x00080000L
237 #define MCI_DGV_PUT_VIDEO 0x00100000L
238 #define MCI_DGV_PUT_WINDOW 0x00200000L
239 #define MCI_DGV_PUT_CLIENT 0x00400000L
241 /* flags for dwFlags parameter of MCI_QUALITY command message */
243 #define MCI_QUALITY_ITEM 0x00010000L
244 #define MCI_QUALITY_NAME 0x00020000L
245 #define MCI_QUALITY_ALG 0x00040000L
246 #define MCI_QUALITY_DIALOG 0x00080000L
247 #define MCI_QUALITY_HANDLE 0x00100000L
249 /* values for dwItem field of MCI_QUALITY_PARMS structure */
251 #define MCI_QUALITY_ITEM_AUDIO 0x00004000L
252 #define MCI_QUALITY_ITEM_STILL 0x00004001L
253 #define MCI_QUALITY_ITEM_VIDEO 0x00004002L
255 /* flags for dwFlags parameter of MCI_REALIZE command message */
257 #define MCI_DGV_REALIZE_NORM 0x00010000L
258 #define MCI_DGV_REALIZE_BKGD 0x00020000L
260 /* flags for dwFlags parameter of MCI_RECORD command message */
262 #define MCI_DGV_RECORD_HOLD 0x00020000L
263 #define MCI_DGV_RECORD_AUDIO_STREAM 0x00040000L
264 #define MCI_DGV_RECORD_VIDEO_STREAM 0x00080000L
266 /* flags for dwFlags parameters of MCI_RESERVE command message */
268 #define MCI_DGV_RESERVE_IN 0x00010000L
269 #define MCI_DGV_RESERVE_SIZE 0x00020000L
271 /* flags for dwFlags parameter of MCI_RESTORE command message */
273 #define MCI_DGV_RESTORE_FROM 0x00010000L
274 #define MCI_DGV_RESTORE_AT 0x00020000L
276 /* flags for dwFlags parameters of MCI_SAVE command message */
278 #define MCI_DGV_SAVE_ABORT 0x00020000L
279 #define MCI_DGV_SAVE_KEEPRESERVE 0x00040000L
281 /* flags for dwFlags parameters of MCI_SET command message */
283 #define MCI_DGV_SET_SEEK_EXACTLY 0x00010000L
284 #define MCI_DGV_SET_SPEED 0x00020000L
285 #define MCI_DGV_SET_STILL 0x00040000L
286 #define MCI_DGV_SET_FILEFORMAT 0x00080000L
288 /* flags for the dwFlags parameter of MCI_SETAUDIO command message */
290 #define MCI_DGV_SETAUDIO_OVER 0x00010000L
291 #define MCI_DGV_SETAUDIO_CLOCKTIME 0x00020000L
292 #define MCI_DGV_SETAUDIO_ALG 0x00040000L
293 #define MCI_DGV_SETAUDIO_QUALITY 0x00080000L
294 #define MCI_DGV_SETAUDIO_RECORD 0x00100000L
295 #define MCI_DGV_SETAUDIO_LEFT 0x00200000L
296 #define MCI_DGV_SETAUDIO_RIGHT 0x00400000L
297 #define MCI_DGV_SETAUDIO_ITEM 0x00800000L
298 #define MCI_DGV_SETAUDIO_VALUE 0x01000000L
299 #define MCI_DGV_SETAUDIO_INPUT 0x02000000L
300 #define MCI_DGV_SETAUDIO_OUTPUT 0x04000000L
302 /* values for the dwItem parameter of MCI_DGV_SETAUDIO_PARMS */
304 #define MCI_DGV_SETAUDIO_TREBLE 0x00004000L
305 #define MCI_DGV_SETAUDIO_BASS 0x00004001L
306 #define MCI_DGV_SETAUDIO_VOLUME 0x00004002L
307 #define MCI_DGV_SETAUDIO_STREAM 0x00004003L
308 #define MCI_DGV_SETAUDIO_SOURCE 0x00004004L
309 #define MCI_DGV_SETAUDIO_SAMPLESPERSEC 0x00004005L
310 #define MCI_DGV_SETAUDIO_AVGBYTESPERSEC 0x00004006L
311 #define MCI_DGV_SETAUDIO_BLOCKALIGN 0x00004007L
312 #define MCI_DGV_SETAUDIO_BITSPERSAMPLE 0x00004008L
314 /* values for the dwValue parameter of MCI_DGV_SETAUDIO_PARMS
315 used with MCI_DGV_SETAUDIO_SOURCE */
317 #define MCI_DGV_SETAUDIO_SOURCE_STEREO 0x00000000L
318 #define MCI_DGV_SETAUDIO_SOURCE_LEFT 0x00000001L
319 #define MCI_DGV_SETAUDIO_SOURCE_RIGHT 0x00000002L
320 #define MCI_DGV_SETAUDIO_SOURCE_AVERAGE 0x00004000L
322 /* flags for the dwFlags parameter of MCI_SETVIDEO command */
324 #define MCI_DGV_SETVIDEO_QUALITY 0x00010000L
325 #define MCI_DGV_SETVIDEO_ALG 0x00020000L
326 #define MCI_DGV_SETVIDEO_CLOCKTIME 0x00040000L
327 #define MCI_DGV_SETVIDEO_SRC_NUMBER 0x00080000L
328 #define MCI_DGV_SETVIDEO_ITEM 0x00100000L
329 #define MCI_DGV_SETVIDEO_OVER 0x00200000L
330 #define MCI_DGV_SETVIDEO_RECORD 0x00400000L
331 #define MCI_DGV_SETVIDEO_STILL 0x00800000L
332 #define MCI_DGV_SETVIDEO_VALUE 0x01000000L
333 #define MCI_DGV_SETVIDEO_INPUT 0x02000000L
334 #define MCI_DGV_SETVIDEO_OUTPUT 0x04000000L
336 /* values for the dwTo field of MCI_SETVIDEO_PARMS
337 used with MCI_DGV_SETVIDEO_SOURCE */
339 #define MCI_DGV_SETVIDEO_SRC_NTSC 0x00004000L
340 #define MCI_DGV_SETVIDEO_SRC_RGB 0x00004001L
341 #define MCI_DGV_SETVIDEO_SRC_SVIDEO 0x00004002L
342 #define MCI_DGV_SETVIDEO_SRC_PAL 0x00004003L
343 #define MCI_DGV_SETVIDEO_SRC_SECAM 0x00004004L
344 #define MCI_DGV_SETVIDEO_SRC_GENERIC 0x00004005L
346 /* values for the dwItem field of MCI_SETVIDEO_PARMS */
348 #define MCI_DGV_SETVIDEO_BRIGHTNESS 0x00004000L
349 #define MCI_DGV_SETVIDEO_COLOR 0x00004001L
350 #define MCI_DGV_SETVIDEO_CONTRAST 0x00004002L
351 #define MCI_DGV_SETVIDEO_TINT 0x00004003L
352 #define MCI_DGV_SETVIDEO_SHARPNESS 0x00004004L
353 #define MCI_DGV_SETVIDEO_GAMMA 0x00004005L
354 #define MCI_DGV_SETVIDEO_STREAM 0x00004006L
355 #define MCI_DGV_SETVIDEO_PALHANDLE 0x00004007L
356 #define MCI_DGV_SETVIDEO_FRAME_RATE 0x00004008L
357 #define MCI_DGV_SETVIDEO_SOURCE 0x00004009L
358 #define MCI_DGV_SETVIDEO_KEY_INDEX 0x0000400aL
359 #define MCI_DGV_SETVIDEO_KEY_COLOR 0x0000400bL
360 #define MCI_DGV_SETVIDEO_BITSPERPEL 0x0000400cL
362 /* flags for the dwFlags parameter of MCI_SIGNAL */
364 #define MCI_DGV_SIGNAL_AT 0x00010000L
365 #define MCI_DGV_SIGNAL_EVERY 0x00020000L
366 #define MCI_DGV_SIGNAL_USERVAL 0x00040000L
367 #define MCI_DGV_SIGNAL_CANCEL 0x00080000L
368 #define MCI_DGV_SIGNAL_POSITION 0x00100000L
370 /* flags for the dwFlags parameter of MCI_STATUS command */
372 #define MCI_DGV_STATUS_NOMINAL 0x00020000L
373 #define MCI_DGV_STATUS_REFERENCE 0x00040000L
374 #define MCI_DGV_STATUS_LEFT 0x00080000L
375 #define MCI_DGV_STATUS_RIGHT 0x00100000L
376 #define MCI_DGV_STATUS_DISKSPACE 0x00200000L
377 #define MCI_DGV_STATUS_INPUT 0x00400000L
378 #define MCI_DGV_STATUS_OUTPUT 0x00800000L
379 #define MCI_DGV_STATUS_RECORD 0x01000000L
381 /* values for dwItem field of MCI_STATUS_PARMS structure */
383 #define MCI_DGV_STATUS_AUDIO_INPUT 0x00004000L
384 #define MCI_DGV_STATUS_HWND 0x00004001L
385 #define MCI_DGV_STATUS_SPEED 0x00004003L
386 #define MCI_DGV_STATUS_HPAL 0x00004004L
387 #define MCI_DGV_STATUS_BRIGHTNESS 0x00004005L
388 #define MCI_DGV_STATUS_COLOR 0x00004006L
389 #define MCI_DGV_STATUS_CONTRAST 0x00004007L
390 #define MCI_DGV_STATUS_FILEFORMAT 0x00004008L
391 #define MCI_DGV_STATUS_AUDIO_SOURCE 0x00004009L
392 #define MCI_DGV_STATUS_GAMMA 0x0000400aL
393 #define MCI_DGV_STATUS_MONITOR 0x0000400bL
394 #define MCI_DGV_STATUS_MONITOR_METHOD 0x0000400cL
395 #define MCI_DGV_STATUS_FRAME_RATE 0x0000400eL
396 #define MCI_DGV_STATUS_BASS 0x0000400fL
397 #define MCI_DGV_STATUS_SIZE 0x00004010L
398 #define MCI_DGV_STATUS_SEEK_EXACTLY 0x00004011L
399 #define MCI_DGV_STATUS_SHARPNESS 0x00004012L
400 #define MCI_DGV_STATUS_SMPTE 0x00004013L
401 #define MCI_DGV_STATUS_AUDIO 0x00004014L
402 #define MCI_DGV_STATUS_TINT 0x00004015L
403 #define MCI_DGV_STATUS_TREBLE 0x00004016L
404 #define MCI_DGV_STATUS_UNSAVED 0x00004017L
405 #define MCI_DGV_STATUS_VIDEO 0x00004018L
406 #define MCI_DGV_STATUS_VOLUME 0x00004019L
407 #define MCI_DGV_STATUS_AUDIO_RECORD 0x0000401aL
408 #define MCI_DGV_STATUS_VIDEO_SOURCE 0x0000401bL
409 #define MCI_DGV_STATUS_VIDEO_RECORD 0x0000401cL
410 #define MCI_DGV_STATUS_STILL_FILEFORMAT 0x0000401dL
411 #define MCI_DGV_STATUS_VIDEO_SRC_NUM 0x0000401eL
412 #define MCI_DGV_STATUS_FILE_MODE 0x0000401fL
413 #define MCI_DGV_STATUS_FILE_COMPLETION 0x00004020L
414 #define MCI_DGV_STATUS_WINDOW_VISIBLE 0x00004021L
415 #define MCI_DGV_STATUS_WINDOW_MINIMIZED 0x00004022L
416 #define MCI_DGV_STATUS_WINDOW_MAXIMIZED 0x00004023L
417 #define MCI_DGV_STATUS_KEY_INDEX 0x00004024L
418 #define MCI_DGV_STATUS_KEY_COLOR 0x00004025L
419 #define MCI_DGV_STATUS_PAUSE_MODE 0x00004026L
420 #define MCI_DGV_STATUS_SAMPLESPERSEC 0x00004027L
421 #define MCI_DGV_STATUS_AVGBYTESPERSEC 0x00004028L
422 #define MCI_DGV_STATUS_BLOCKALIGN 0x00004029L
423 #define MCI_DGV_STATUS_BITSPERSAMPLE 0x0000402aL
424 #define MCI_DGV_STATUS_BITSPERPEL 0x0000402bL
425 #define MCI_DGV_STATUS_FORWARD 0x0000402cL
426 #define MCI_DGV_STATUS_AUDIO_STREAM 0x0000402dL
427 #define MCI_DGV_STATUS_VIDEO_STREAM 0x0000402eL
429 /* flags for dwFlags parameter of MCI_STEP command message */
431 #define MCI_DGV_STEP_REVERSE 0x00010000L
432 #define MCI_DGV_STEP_FRAMES 0x00020000L
434 /* flags for dwFlags parameter of MCI_STOP command message */
436 #define MCI_DGV_STOP_HOLD 0x00010000L
438 /* flags for dwFlags parameter of MCI_UPDATE command message */
440 #define MCI_DGV_UPDATE_HDC 0x00020000L
441 #define MCI_DGV_UPDATE_PAINT 0x00040000L
443 /* flags for dwFlags parameter of MCI_WHERE command message */
445 #define MCI_DGV_WHERE_SOURCE 0x00020000L
446 #define MCI_DGV_WHERE_DESTINATION 0x00040000L
447 #define MCI_DGV_WHERE_FRAME 0x00080000L
448 #define MCI_DGV_WHERE_VIDEO 0x00100000L
449 #define MCI_DGV_WHERE_WINDOW 0x00200000L
450 #define MCI_DGV_WHERE_MAX 0x00400000L
452 /* flags for dwFlags parameter of MCI_WINDOW command message */
454 #define MCI_DGV_WINDOW_HWND 0x00010000L
455 #define MCI_DGV_WINDOW_STATE 0x00040000L
456 #define MCI_DGV_WINDOW_TEXT 0x00080000L
458 /* flags for hWnd parameter of MCI_DGV_WINDOW_PARMS parameter block */
460 #define MCI_DGV_WINDOW_DEFAULT 0x00000000L
462 /* parameter block for MCI_WHERE, MCI_PUT, MCI_FREEZE, MCI_UNFREEZE cmds */
464 typedef struct {
465 DWORD dwCallback;
466 RECT rc;
467 } MCI_DGV_RECT_PARMS, *LPMCI_DGV_RECT_PARMS;
469 /* parameter block for MCI_CAPTURE command message */
471 typedef struct {
472 DWORD dwCallback;
473 LPSTR lpstrFileName;
474 RECT rc;
475 } MCI_DGV_CAPTURE_PARMSA, *LPMCI_DGV_CAPTURE_PARMSA;
477 typedef struct {
478 DWORD dwCallback;
479 LPWSTR lpstrFileName;
480 RECT rc;
481 } MCI_DGV_CAPTURE_PARMSW, *LPMCI_DGV_CAPTURE_PARMSW;
483 DECL_WINELIB_TYPE_AW(MCI_DGV_CAPTURE_PARMS)
484 DECL_WINELIB_TYPE_AW(LPMCI_DGV_CAPTURE_PARMS)
486 /* parameter block for MCI_CLOSE command message */
488 typedef MCI_GENERIC_PARMS MCI_CLOSE_PARMS, *LPMCI_CLOSE_PARMS;
490 /* parameter block for MCI_COPY command message */
492 typedef struct {
493 DWORD dwCallback;
494 DWORD dwFrom;
495 DWORD dwTo;
496 RECT rc;
497 DWORD dwAudioStream;
498 DWORD dwVideoStream;
499 } MCI_DGV_COPY_PARMS, *LPMCI_DGV_COPY_PARMS;
501 /* parameter block for MCI_CUE command message */
503 typedef struct {
504 DWORD dwCallback;
505 DWORD dwTo;
506 } MCI_DGV_CUE_PARMS, *LPMCI_DGV_CUE_PARMS;
508 /* parameter block for MCI_CUT command message */
510 typedef struct {
511 DWORD dwCallback;
512 DWORD dwFrom;
513 DWORD dwTo;
514 RECT rc;
515 DWORD dwAudioStream;
516 DWORD dwVideoStream;
517 } MCI_DGV_CUT_PARMS, * LPMCI_DGV_CUT_PARMS;
519 /* parameter block for MCI_DELETE command message */
521 typedef struct {
522 DWORD dwCallback;
523 DWORD dwFrom;
524 DWORD dwTo;
525 RECT rc;
526 DWORD dwAudioStream;
527 DWORD dwVideoStream;
528 } MCI_DGV_DELETE_PARMS, * LPMCI_DGV_DELETE_PARMS;
530 /* parameter block for MCI_FREEZE command message */
532 typedef MCI_DGV_RECT_PARMS MCI_DGV_FREEZE_PARMS, * LPMCI_DGV_FREEZE_PARMS;
534 /* parameter block for MCI_INFO command message */
536 typedef struct {
537 DWORD dwCallback;
538 LPSTR lpstrReturn;
539 DWORD dwRetSize;
540 DWORD dwItem;
541 } MCI_DGV_INFO_PARMSA, * LPMCI_DGV_INFO_PARMSA;
543 typedef struct {
544 DWORD dwCallback;
545 LPWSTR lpstrReturn;
546 DWORD dwRetSize;
547 DWORD dwItem;
548 } MCI_DGV_INFO_PARMSW, *LPMCI_DGV_INFO_PARMSW;
550 DECL_WINELIB_TYPE_AW(MCI_DGV_INFO_PARMS)
551 DECL_WINELIB_TYPE_AW(LPMCI_DGV_INFO_PARMS)
553 /* parameter block for MCI_LIST command message */
555 typedef struct {
556 DWORD dwCallback;
557 LPSTR lpstrReturn;
558 DWORD dwLength;
559 DWORD dwNumber;
560 DWORD dwItem;
561 LPSTR lpstrAlgorithm;
562 } MCI_DGV_LIST_PARMSA, *LPMCI_DGV_LIST_PARMSA;
564 typedef struct {
565 DWORD dwCallback;
566 LPWSTR lpstrReturn;
567 DWORD dwLength;
568 DWORD dwNumber;
569 DWORD dwItem;
570 LPWSTR lpstrAlgorithm;
571 } MCI_DGV_LIST_PARMSW, *LPMCI_DGV_LIST_PARMSW;
573 DECL_WINELIB_TYPE_AW(MCI_DGV_LIST_PARMS)
574 DECL_WINELIB_TYPE_AW(LPMCI_DGV_LIST_PARMS)
576 /* parameter block for MCI_LOAD command message */
578 typedef MCI_LOAD_PARMSA MCI_DGV_LOAD_PARMSA, * LPMCI_DGV_LOAD_PARMSA;
579 typedef MCI_LOAD_PARMSW MCI_DGV_LOAD_PARMSW, * LPMCI_DGV_LOAD_PARMSW;
581 DECL_WINELIB_TYPE_AW(MCI_DGV_LOAD_PARMS)
582 DECL_WINELIB_TYPE_AW(LPMCI_DGV_LOAD_PARMS)
584 /* parameter block for MCI_MONITOR command message */
586 typedef struct {
587 DWORD dwCallback;
588 DWORD dwSource;
589 DWORD dwMethod;
590 } MCI_DGV_MONITOR_PARMS, * LPMCI_DGV_MONITOR_PARMS;
592 /* parameter block for MCI_OPEN command message */
594 typedef struct {
595 DWORD dwCallback;
596 UINT wDeviceID;
597 LPSTR lpstrDeviceType;
598 LPSTR lpstrElementName;
599 LPSTR lpstrAlias;
600 DWORD dwStyle;
601 HWND hWndParent;
602 } MCI_DGV_OPEN_PARMSA, *LPMCI_DGV_OPEN_PARMSA;
604 typedef struct {
605 DWORD dwCallback;
606 UINT wDeviceID;
607 LPWSTR lpstrDeviceType;
608 LPWSTR lpstrElementName;
609 LPWSTR lpstrAlias;
610 DWORD dwStyle;
611 HWND hWndParent;
612 } MCI_DGV_OPEN_PARMSW, *LPMCI_DGV_OPEN_PARMSW;
614 DECL_WINELIB_TYPE_AW(MCI_DGV_OPEN_PARMS)
615 DECL_WINELIB_TYPE_AW(LPMCI_DGV_OPEN_PARMS)
617 /* parameter block for MCI_PAUSE command message */
619 typedef MCI_GENERIC_PARMS MCI_DGV_PAUSE_PARMS, * LPMCI_DGV_PAUSE_PARMS;
621 /* parameter block for MCI_PASTE command message */
623 typedef struct {
624 DWORD dwCallback;
625 DWORD dwTo;
626 RECT rc;
627 DWORD dwAudioStream;
628 DWORD dwVideoStream;
629 } MCI_DGV_PASTE_PARMS, * LPMCI_DGV_PASTE_PARMS;
631 /* parameter block for MCI_PLAY command message */
633 typedef MCI_PLAY_PARMS MCI_DGV_PLAY_PARMS, * LPMCI_DGV_PLAY_PARMS;
635 /* parameter block for MCI_PUT command message */
637 typedef MCI_DGV_RECT_PARMS MCI_DGV_PUT_PARMS, * LPMCI_DGV_PUT_PARMS;
639 /* parameter block for MCI_QUALITY command message */
641 typedef struct {
642 DWORD dwCallback;
643 DWORD dwItem;
644 LPSTR lpstrName;
645 DWORD lpstrAlgorithm;
646 DWORD dwHandle;
647 } MCI_DGV_QUALITY_PARMSA, *LPMCI_DGV_QUALITY_PARMSA;
649 typedef struct {
650 DWORD dwCallback;
651 DWORD dwItem;
652 LPWSTR lpstrName;
653 DWORD lpstrAlgorithm;
654 DWORD dwHandle;
655 } MCI_DGV_QUALITY_PARMSW, *LPMCI_DGV_QUALITY_PARMSW;
657 DECL_WINELIB_TYPE_AW(MCI_DGV_QUALITY_PARMS)
658 DECL_WINELIB_TYPE_AW(LPMCI_DGV_QUALITY_PARMS)
660 /* parameter block for MCI_REALIZE command message */
662 typedef MCI_GENERIC_PARMS MCI_REALIZE_PARMS, * LPMCI_REALIZE_PARMS;
664 /* parameter block for MCI_RECORD command message */
666 typedef struct {
667 DWORD dwCallback;
668 DWORD dwFrom;
669 DWORD dwTo;
670 RECT rc;
671 DWORD dwAudioStream;
672 DWORD dwVideoStream;
673 } MCI_DGV_RECORD_PARMS, * LPMCI_DGV_RECORD_PARMS;
675 /* parameter block for MCI_RESERVE command message */
677 typedef struct {
678 DWORD dwCallback;
679 LPSTR lpstrPath;
680 DWORD dwSize;
681 } MCI_DGV_RESERVE_PARMSA, *LPMCI_DGV_RESERVE_PARMSA;
683 typedef struct {
684 DWORD dwCallback;
685 LPWSTR lpstrPath;
686 DWORD dwSize;
687 } MCI_DGV_RESERVE_PARMSW, *LPMCI_DGV_RESERVE_PARMSW;
689 DECL_WINELIB_TYPE_AW(MCI_DGV_RESERVE_PARMS)
690 DECL_WINELIB_TYPE_AW(LPMCI_DGV_RESERVE_PARMS)
692 /* parameter block for MCI_RESTORE command message */
694 typedef struct {
695 DWORD dwCallback;
696 LPSTR lpstrFileName;
697 RECT rc;
698 } MCI_DGV_RESTORE_PARMSA, *LPMCI_DGV_RESTORE_PARMSA;
700 typedef struct {
701 DWORD dwCallback;
702 LPWSTR lpstrFileName;
703 RECT rc;
704 } MCI_DGV_RESTORE_PARMSW, *LPMCI_DGV_RESTORE_PARMSW;
706 DECL_WINELIB_TYPE_AW(MCI_DGV_RESTORE_PARMS)
707 DECL_WINELIB_TYPE_AW(LPMCI_DGV_RESTORE_PARMS)
709 /* parameter block for MCI_RESUME command message */
711 typedef MCI_GENERIC_PARMS MCI_DGV_RESUME_PARMS, * LPMCI_DGV_RESUME_PARMS;
713 /* parameter block for MCI_SAVE command message */
715 typedef struct {
716 DWORD dwCallback;
717 LPSTR lpstrFileName;
718 RECT rc;
719 } MCI_DGV_SAVE_PARMSA, *LPMCI_DGV_SAVE_PARMSA;
721 typedef struct {
722 DWORD dwCallback;
723 LPWSTR lpstrFileName;
724 RECT rc;
725 } MCI_DGV_SAVE_PARMSW, *LPMCI_DGV_SAVE_PARMSW;
727 DECL_WINELIB_TYPE_AW(MCI_DGV_SAVE_PARMS)
728 DECL_WINELIB_TYPE_AW(LPMCI_DGV_SAVE_PARMS)
730 /* parameter block for MCI_SET command message */
732 typedef struct {
733 DWORD dwCallback;
734 DWORD dwTimeFormat;
735 DWORD dwAudio;
736 DWORD dwFileFormat;
737 DWORD dwSpeed;
738 } MCI_DGV_SET_PARMS, *LPMCI_DGV_SET_PARMS;
740 /* parameter block for MCI_SETAUDIO command message */
742 typedef struct {
743 DWORD dwCallback;
744 DWORD dwItem;
745 DWORD dwValue;
746 DWORD dwOver;
747 LPSTR lpstrAlgorithm;
748 LPSTR lpstrQuality;
749 } MCI_DGV_SETAUDIO_PARMSA, *LPMCI_DGV_SETAUDIO_PARMSA;
751 typedef struct {
752 DWORD dwCallback;
753 DWORD dwItem;
754 DWORD dwValue;
755 DWORD dwOver;
756 LPWSTR lpstrAlgorithm;
757 LPWSTR lpstrQuality;
758 } MCI_DGV_SETAUDIO_PARMSW, *LPMCI_DGV_SETAUDIO_PARMSW;
760 DECL_WINELIB_TYPE_AW(MCI_DGV_SETAUDIO_PARMS)
761 DECL_WINELIB_TYPE_AW(LPMCI_DGV_SETAUDIO_PARMS)
763 /* parameter block for MCI_SIGNAL command message */
765 typedef struct {
766 DWORD dwCallback;
767 DWORD dwPosition;
768 DWORD dwPeriod;
769 DWORD dwUserParm;
770 } MCI_DGV_SIGNAL_PARMS, * LPMCI_DGV_SIGNAL_PARMS;
772 /* parameter block for MCI_SETVIDEO command message */
774 typedef struct {
775 DWORD dwCallback;
776 DWORD dwItem;
777 DWORD dwValue;
778 DWORD dwOver;
779 LPSTR lpstrAlgorithm;
780 LPSTR lpstrQuality;
781 DWORD dwSourceNumber;
782 } MCI_DGV_SETVIDEO_PARMSA, *LPMCI_DGV_SETVIDEO_PARMSA;
784 typedef struct {
785 DWORD dwCallback;
786 DWORD dwItem;
787 DWORD dwValue;
788 DWORD dwOver;
789 LPWSTR lpstrAlgorithm;
790 LPWSTR lpstrQuality;
791 DWORD dwSourceNumber;
792 } MCI_DGV_SETVIDEO_PARMSW, *LPMCI_DGV_SETVIDEO_PARMSW;
794 DECL_WINELIB_TYPE_AW(MCI_DGV_SETVIDEO_PARMS)
795 DECL_WINELIB_TYPE_AW(LPMCI_DGV_SETVIDEO_PARMS)
797 /* parameter block for MCI_STATUS command message */
799 typedef struct {
800 DWORD dwCallback;
801 DWORD dwReturn;
802 DWORD dwItem;
803 DWORD dwTrack;
804 LPSTR lpstrDrive;
805 DWORD dwReference;
806 } MCI_DGV_STATUS_PARMSA, *LPMCI_DGV_STATUS_PARMSA;
808 typedef struct {
809 DWORD dwCallback;
810 DWORD dwReturn;
811 DWORD dwItem;
812 DWORD dwTrack;
813 LPWSTR lpstrDrive;
814 DWORD dwReference;
815 } MCI_DGV_STATUS_PARMSW, *LPMCI_DGV_STATUS_PARMSW;
817 DECL_WINELIB_TYPE_AW(MCI_DGV_STATUS_PARMS)
818 DECL_WINELIB_TYPE_AW(LPMCI_DGV_STATUS_PARMS)
820 /* parameter block for MCI_STEP command message */
822 typedef struct {
823 DWORD dwCallback;
824 DWORD dwFrames;
825 } MCI_DGV_STEP_PARMS, *LPMCI_DGV_STEP_PARMS;
827 /* parameter block for MCI_STOP command message */
829 typedef MCI_GENERIC_PARMS MCI_DGV_STOP_PARMS, * LPMCI_DGV_STOP_PARMS;
831 /* parameter block for MCI_UNFREEZE command message */
833 typedef MCI_DGV_RECT_PARMS MCI_DGV_UNFREEZE_PARMS, * LPMCI_DGV_UNFREEZE_PARMS;
835 /* parameter block for MCI_UPDATE command message */
837 typedef struct {
838 DWORD dwCallback;
839 RECT rc;
840 HDC hDC;
841 } MCI_DGV_UPDATE_PARMS, * LPMCI_DGV_UPDATE_PARMS;
843 /* parameter block for MCI_WHERE command message */
845 typedef MCI_DGV_RECT_PARMS MCI_DGV_WHERE_PARMS, * LPMCI_DGV_WHERE_PARMS;
847 /* parameter block for MCI_WINDOW command message */
849 typedef struct {
850 DWORD dwCallback;
851 HWND hWnd;
852 UINT nCmdShow;
853 LPSTR lpstrText;
854 } MCI_DGV_WINDOW_PARMSA, *LPMCI_DGV_WINDOW_PARMSA;
856 typedef struct {
857 DWORD dwCallback;
858 HWND hWnd;
859 UINT nCmdShow;
860 LPWSTR lpstrText;
861 } MCI_DGV_WINDOW_PARMSW, *LPMCI_DGV_WINDOW_PARMSW;
863 #ifdef __cplusplus
865 #endif
867 #endif /* __WINE_DIGITALV_H */