Added LGPL standard comment, and copyright notices where necessary.
[wine/multimedia.git] / include / digitalv.h
blob1d2356f5f6f7f5af1a99e6bc50ac3116b1d15f3a
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 RECT16 rc;
467 } MCI_DGV_RECT_PARMS16, *LPMCI_DGV_RECT_PARMS16;
469 typedef struct {
470 DWORD dwCallback;
471 RECT rc;
472 } MCI_DGV_RECT_PARMS, *LPMCI_DGV_RECT_PARMS;
474 /* parameter block for MCI_CAPTURE command message */
476 typedef struct {
477 DWORD dwCallback;
478 LPSTR lpstrFileName;
479 RECT16 rc;
480 } MCI_DGV_CAPTURE_PARMS16, *LPMCI_DGV_CAPTURE_PARMS16;
482 typedef struct {
483 DWORD dwCallback;
484 LPSTR lpstrFileName;
485 RECT rc;
486 } MCI_DGV_CAPTURE_PARMSA, *LPMCI_DGV_CAPTURE_PARMSA;
488 typedef struct {
489 DWORD dwCallback;
490 LPWSTR lpstrFileName;
491 RECT rc;
492 } MCI_DGV_CAPTURE_PARMSW, *LPMCI_DGV_CAPTURE_PARMSW;
494 DECL_WINELIB_TYPE_AW(MCI_DGV_CAPTURE_PARMS)
495 DECL_WINELIB_TYPE_AW(LPMCI_DGV_CAPTURE_PARMS)
497 /* parameter block for MCI_CLOSE command message */
499 typedef MCI_GENERIC_PARMS MCI_CLOSE_PARMS, *LPMCI_CLOSE_PARMS;
501 /* parameter block for MCI_COPY command message */
503 typedef struct {
504 DWORD dwCallback;
505 DWORD dwFrom;
506 DWORD dwTo;
507 RECT16 rc;
508 DWORD dwAudioStream;
509 DWORD dwVideoStream;
510 } MCI_DGV_COPY_PARMS16, *LPMCI_DGV_COPY_PARMS16;
512 typedef struct {
513 DWORD dwCallback;
514 DWORD dwFrom;
515 DWORD dwTo;
516 RECT rc;
517 DWORD dwAudioStream;
518 DWORD dwVideoStream;
519 } MCI_DGV_COPY_PARMS, *LPMCI_DGV_COPY_PARMS;
521 /* parameter block for MCI_CUE command message */
523 typedef struct {
524 DWORD dwCallback;
525 DWORD dwTo;
526 } MCI_DGV_CUE_PARMS, *LPMCI_DGV_CUE_PARMS;
528 /* parameter block for MCI_CUT command message */
530 typedef struct {
531 DWORD dwCallback;
532 DWORD dwFrom;
533 DWORD dwTo;
534 RECT16 rc;
535 DWORD dwAudioStream;
536 DWORD dwVideoStream;
537 } MCI_DGV_CUT_PARMS16, * LPMCI_DGV_CUT_PARMS16;
539 typedef struct {
540 DWORD dwCallback;
541 DWORD dwFrom;
542 DWORD dwTo;
543 RECT rc;
544 DWORD dwAudioStream;
545 DWORD dwVideoStream;
546 } MCI_DGV_CUT_PARMS, * LPMCI_DGV_CUT_PARMS;
548 /* parameter block for MCI_DELETE command message */
550 typedef struct {
551 DWORD dwCallback;
552 DWORD dwFrom;
553 DWORD dwTo;
554 RECT16 rc;
555 DWORD dwAudioStream;
556 DWORD dwVideoStream;
557 } MCI_DGV_DELETE_PARMS16, * LPMCI_DGV_DELETE_PARMS16;
559 typedef struct {
560 DWORD dwCallback;
561 DWORD dwFrom;
562 DWORD dwTo;
563 RECT rc;
564 DWORD dwAudioStream;
565 DWORD dwVideoStream;
566 } MCI_DGV_DELETE_PARMS, * LPMCI_DGV_DELETE_PARMS;
568 /* parameter block for MCI_FREEZE command message */
570 typedef MCI_DGV_RECT_PARMS16 MCI_DGV_FREEZE_PARMS16, * LPMCI_DGV_FREEZE_PARMS16;
571 typedef MCI_DGV_RECT_PARMS MCI_DGV_FREEZE_PARMS, * LPMCI_DGV_FREEZE_PARMS;
573 /* parameter block for MCI_INFO command message */
575 typedef struct {
576 DWORD dwCallback;
577 LPSTR lpstrReturn;
578 DWORD dwRetSize;
579 DWORD dwItem;
580 } MCI_DGV_INFO_PARMS16, * LPMCI_DGV_INFO_PARMS16;
582 typedef struct {
583 DWORD dwCallback;
584 LPSTR lpstrReturn;
585 DWORD dwRetSize;
586 DWORD dwItem;
587 } MCI_DGV_INFO_PARMSA, * LPMCI_DGV_INFO_PARMSA;
589 typedef struct {
590 DWORD dwCallback;
591 LPWSTR lpstrReturn;
592 DWORD dwRetSize;
593 DWORD dwItem;
594 } MCI_DGV_INFO_PARMSW, *LPMCI_DGV_INFO_PARMSW;
596 DECL_WINELIB_TYPE_AW(MCI_DGV_INFO_PARMS)
597 DECL_WINELIB_TYPE_AW(LPMCI_DGV_INFO_PARMS)
599 /* parameter block for MCI_LIST command message */
601 typedef struct {
602 DWORD dwCallback;
603 LPSTR lpstrReturn;
604 DWORD dwLength;
605 DWORD dwNumber;
606 DWORD dwItem;
607 LPSTR lpstrAlgorithm;
608 } MCI_DGV_LIST_PARMS16, *LPMCI_DGV_LIST_PARMS16;
610 typedef struct {
611 DWORD dwCallback;
612 LPSTR lpstrReturn;
613 DWORD dwLength;
614 DWORD dwNumber;
615 DWORD dwItem;
616 LPSTR lpstrAlgorithm;
617 } MCI_DGV_LIST_PARMSA, *LPMCI_DGV_LIST_PARMSA;
619 typedef struct {
620 DWORD dwCallback;
621 LPWSTR lpstrReturn;
622 DWORD dwLength;
623 DWORD dwNumber;
624 DWORD dwItem;
625 LPWSTR lpstrAlgorithm;
626 } MCI_DGV_LIST_PARMSW, *LPMCI_DGV_LIST_PARMSW;
628 DECL_WINELIB_TYPE_AW(MCI_DGV_LIST_PARMS)
629 DECL_WINELIB_TYPE_AW(LPMCI_DGV_LIST_PARMS)
631 /* parameter block for MCI_LOAD command message */
633 typedef MCI_LOAD_PARMS16 MCI_DGV_LOAD_PARMS16 , * LPMCI_DGV_LOAD_PARMS16;
634 typedef MCI_LOAD_PARMSA MCI_DGV_LOAD_PARMSA, * LPMCI_DGV_LOAD_PARMSA;
635 typedef MCI_LOAD_PARMSW MCI_DGV_LOAD_PARMSW, * LPMCI_DGV_LOAD_PARMSW;
637 DECL_WINELIB_TYPE_AW(MCI_DGV_LOAD_PARMS)
638 DECL_WINELIB_TYPE_AW(LPMCI_DGV_LOAD_PARMS)
640 /* parameter block for MCI_MONITOR command message */
642 typedef struct {
643 DWORD dwCallback;
644 DWORD dwSource;
645 DWORD dwMethod;
646 } MCI_DGV_MONITOR_PARMS, * LPMCI_DGV_MONITOR_PARMS;
648 /* parameter block for MCI_OPEN command message */
650 typedef struct {
651 DWORD dwCallback;
652 UINT16 wDeviceID;
653 UINT16 wReserved0;
654 LPSTR lpstrDeviceType;
655 LPSTR lpstrElementName;
656 LPSTR lpstrAlias;
657 DWORD dwStyle;
658 HWND16 hWndParent;
659 UINT16 wReserved1;
660 } MCI_DGV_OPEN_PARMS16, *LPMCI_DGV_OPEN_PARMS16;
662 typedef struct {
663 DWORD dwCallback;
664 UINT wDeviceID;
665 LPSTR lpstrDeviceType;
666 LPSTR lpstrElementName;
667 LPSTR lpstrAlias;
668 DWORD dwStyle;
669 HWND hWndParent;
670 } MCI_DGV_OPEN_PARMSA, *LPMCI_DGV_OPEN_PARMSA;
672 typedef struct {
673 DWORD dwCallback;
674 UINT wDeviceID;
675 LPWSTR lpstrDeviceType;
676 LPWSTR lpstrElementName;
677 LPWSTR lpstrAlias;
678 DWORD dwStyle;
679 HWND hWndParent;
680 } MCI_DGV_OPEN_PARMSW, *LPMCI_DGV_OPEN_PARMSW;
682 DECL_WINELIB_TYPE_AW(MCI_DGV_OPEN_PARMS)
683 DECL_WINELIB_TYPE_AW(LPMCI_DGV_OPEN_PARMS)
685 /* parameter block for MCI_PAUSE command message */
687 typedef MCI_GENERIC_PARMS MCI_DGV_PAUSE_PARMS, * LPMCI_DGV_PAUSE_PARMS;
689 /* parameter block for MCI_PASTE command message */
691 typedef struct {
692 DWORD dwCallback;
693 DWORD dwTo;
694 RECT16 rc;
695 DWORD dwAudioStream;
696 DWORD dwVideoStream;
697 } MCI_DGV_PASTE_PARMS16, * LPMCI_DGV_PASTE_PARMS16;
699 typedef struct {
700 DWORD dwCallback;
701 DWORD dwTo;
702 RECT rc;
703 DWORD dwAudioStream;
704 DWORD dwVideoStream;
705 } MCI_DGV_PASTE_PARMS, * LPMCI_DGV_PASTE_PARMS;
707 /* parameter block for MCI_PLAY command message */
709 typedef MCI_PLAY_PARMS MCI_DGV_PLAY_PARMS, * LPMCI_DGV_PLAY_PARMS;
711 /* parameter block for MCI_PUT command message */
713 typedef MCI_DGV_RECT_PARMS16 MCI_DGV_PUT_PARMS16, * LPMCI_DGV_PUT_PARMS16;
714 typedef MCI_DGV_RECT_PARMS MCI_DGV_PUT_PARMS, * LPMCI_DGV_PUT_PARMS;
716 /* parameter block for MCI_QUALITY command message */
718 typedef struct {
719 DWORD dwCallback;
720 DWORD dwItem;
721 LPSTR lpstrName;
722 DWORD lpstrAlgorithm;
723 DWORD dwHandle;
724 } MCI_DGV_QUALITY_PARMS16, *LPMCI_DGV_QUALITY_PARMS16;
726 typedef struct {
727 DWORD dwCallback;
728 DWORD dwItem;
729 LPSTR lpstrName;
730 DWORD lpstrAlgorithm;
731 DWORD dwHandle;
732 } MCI_DGV_QUALITY_PARMSA, *LPMCI_DGV_QUALITY_PARMSA;
734 typedef struct {
735 DWORD dwCallback;
736 DWORD dwItem;
737 LPWSTR lpstrName;
738 DWORD lpstrAlgorithm;
739 DWORD dwHandle;
740 } MCI_DGV_QUALITY_PARMSW, *LPMCI_DGV_QUALITY_PARMSW;
742 DECL_WINELIB_TYPE_AW(MCI_DGV_QUALITY_PARMS)
743 DECL_WINELIB_TYPE_AW(LPMCI_DGV_QUALITY_PARMS)
745 /* parameter block for MCI_REALIZE command message */
747 typedef MCI_GENERIC_PARMS MCI_REALIZE_PARMS, * LPMCI_REALIZE_PARMS;
749 /* parameter block for MCI_RECORD command message */
751 typedef struct {
752 DWORD dwCallback;
753 DWORD dwFrom;
754 DWORD dwTo;
755 RECT16 rc;
756 DWORD dwAudioStream;
757 DWORD dwVideoStream;
758 } MCI_DGV_RECORD_PARMS16, * LPMCI_DGV_RECORD_PARMS16;
760 typedef struct {
761 DWORD dwCallback;
762 DWORD dwFrom;
763 DWORD dwTo;
764 RECT rc;
765 DWORD dwAudioStream;
766 DWORD dwVideoStream;
767 } MCI_DGV_RECORD_PARMS, * LPMCI_DGV_RECORD_PARMS;
769 /* parameter block for MCI_RESERVE command message */
771 typedef struct {
772 DWORD dwCallback;
773 LPSTR lpstrPath;
774 DWORD dwSize;
775 } MCI_DGV_RESERVE_PARMS16, *LPMCI_DGV_RESERVE_PARMS16A;
777 typedef struct {
778 DWORD dwCallback;
779 LPSTR lpstrPath;
780 DWORD dwSize;
781 } MCI_DGV_RESERVE_PARMSA, *LPMCI_DGV_RESERVE_PARMSA;
783 typedef struct {
784 DWORD dwCallback;
785 LPWSTR lpstrPath;
786 DWORD dwSize;
787 } MCI_DGV_RESERVE_PARMSW, *LPMCI_DGV_RESERVE_PARMSW;
789 DECL_WINELIB_TYPE_AW(MCI_DGV_RESERVE_PARMS)
790 DECL_WINELIB_TYPE_AW(LPMCI_DGV_RESERVE_PARMS)
792 /* parameter block for MCI_RESTORE command message */
794 typedef struct {
795 DWORD dwCallback;
796 LPSTR lpstrFileName;
797 RECT16 rc;
798 } MCI_DGV_RESTORE_PARMS16, *LPMCI_DGV_RESTORE_PARMS16;
800 typedef struct {
801 DWORD dwCallback;
802 LPSTR lpstrFileName;
803 RECT rc;
804 } MCI_DGV_RESTORE_PARMSA, *LPMCI_DGV_RESTORE_PARMSA;
806 typedef struct {
807 DWORD dwCallback;
808 LPWSTR lpstrFileName;
809 RECT rc;
810 } MCI_DGV_RESTORE_PARMSW, *LPMCI_DGV_RESTORE_PARMSW;
812 DECL_WINELIB_TYPE_AW(MCI_DGV_RESTORE_PARMS)
813 DECL_WINELIB_TYPE_AW(LPMCI_DGV_RESTORE_PARMS)
815 /* parameter block for MCI_RESUME command message */
817 typedef MCI_GENERIC_PARMS MCI_DGV_RESUME_PARMS, * LPMCI_DGV_RESUME_PARMS;
819 /* parameter block for MCI_SAVE command message */
821 typedef struct {
822 DWORD dwCallback;
823 LPSTR lpstrFileName;
824 RECT16 rc;
825 } MCI_DGV_SAVE_PARMS16, *LPMCI_DGV_SAVE_PARMS16;
827 typedef struct {
828 DWORD dwCallback;
829 LPSTR lpstrFileName;
830 RECT rc;
831 } MCI_DGV_SAVE_PARMSA, *LPMCI_DGV_SAVE_PARMSA;
833 typedef struct {
834 DWORD dwCallback;
835 LPWSTR lpstrFileName;
836 RECT rc;
837 } MCI_DGV_SAVE_PARMSW, *LPMCI_DGV_SAVE_PARMSW;
839 DECL_WINELIB_TYPE_AW(MCI_DGV_SAVE_PARMS)
840 DECL_WINELIB_TYPE_AW(LPMCI_DGV_SAVE_PARMS)
842 /* parameter block for MCI_SET command message */
844 typedef struct {
845 DWORD dwCallback;
846 DWORD dwTimeFormat;
847 DWORD dwAudio;
848 DWORD dwFileFormat;
849 DWORD dwSpeed;
850 } MCI_DGV_SET_PARMS, *LPMCI_DGV_SET_PARMS;
852 /* parameter block for MCI_SETAUDIO command message */
854 typedef struct {
855 DWORD dwCallback;
856 DWORD dwItem;
857 DWORD dwValue;
858 DWORD dwOver;
859 LPSTR lpstrAlgorithm;
860 LPSTR lpstrQuality;
861 } MCI_DGV_SETAUDIO_PARMS16, *LPMCI_DGV_SETAUDIO_PARMS16;
863 typedef struct {
864 DWORD dwCallback;
865 DWORD dwItem;
866 DWORD dwValue;
867 DWORD dwOver;
868 LPSTR lpstrAlgorithm;
869 LPSTR lpstrQuality;
870 } MCI_DGV_SETAUDIO_PARMSA, *LPMCI_DGV_SETAUDIO_PARMSA;
872 typedef struct {
873 DWORD dwCallback;
874 DWORD dwItem;
875 DWORD dwValue;
876 DWORD dwOver;
877 LPWSTR lpstrAlgorithm;
878 LPWSTR lpstrQuality;
879 } MCI_DGV_SETAUDIO_PARMSW, *LPMCI_DGV_SETAUDIO_PARMSW;
881 DECL_WINELIB_TYPE_AW(MCI_DGV_SETAUDIO_PARMS)
882 DECL_WINELIB_TYPE_AW(LPMCI_DGV_SETAUDIO_PARMS)
884 /* parameter block for MCI_SIGNAL command message */
886 typedef struct {
887 DWORD dwCallback;
888 DWORD dwPosition;
889 DWORD dwPeriod;
890 DWORD dwUserParm;
891 } MCI_DGV_SIGNAL_PARMS, * LPMCI_DGV_SIGNAL_PARMS;
893 /* parameter block for MCI_SETVIDEO command message */
895 typedef struct {
896 DWORD dwCallback;
897 DWORD dwItem;
898 DWORD dwValue;
899 DWORD dwOver;
900 LPSTR lpstrAlgorithm;
901 LPSTR lpstrQuality;
902 DWORD dwSourceNumber;
903 } MCI_DGV_SETVIDEO_PARMS16, *LPMCI_DGV_SETVIDEO_PARMS16;
905 typedef struct {
906 DWORD dwCallback;
907 DWORD dwItem;
908 DWORD dwValue;
909 DWORD dwOver;
910 LPSTR lpstrAlgorithm;
911 LPSTR lpstrQuality;
912 DWORD dwSourceNumber;
913 } MCI_DGV_SETVIDEO_PARMSA, *LPMCI_DGV_SETVIDEO_PARMSA;
915 typedef struct {
916 DWORD dwCallback;
917 DWORD dwItem;
918 DWORD dwValue;
919 DWORD dwOver;
920 LPWSTR lpstrAlgorithm;
921 LPWSTR lpstrQuality;
922 DWORD dwSourceNumber;
923 } MCI_DGV_SETVIDEO_PARMSW, *LPMCI_DGV_SETVIDEO_PARMSW;
925 DECL_WINELIB_TYPE_AW(MCI_DGV_SETVIDEO_PARMS)
926 DECL_WINELIB_TYPE_AW(LPMCI_DGV_SETVIDEO_PARMS)
928 /* parameter block for MCI_STATUS command message */
930 typedef struct {
931 DWORD dwCallback;
932 DWORD dwReturn;
933 DWORD dwItem;
934 DWORD dwTrack;
935 SEGPTR lpstrDrive;
936 DWORD dwReference;
937 } MCI_DGV_STATUS_PARMS16, *LPMCI_DGV_STATUS_PARMS16;
939 typedef struct {
940 DWORD dwCallback;
941 DWORD dwReturn;
942 DWORD dwItem;
943 DWORD dwTrack;
944 LPSTR lpstrDrive;
945 DWORD dwReference;
946 } MCI_DGV_STATUS_PARMSA, *LPMCI_DGV_STATUS_PARMSA;
948 typedef struct {
949 DWORD dwCallback;
950 DWORD dwReturn;
951 DWORD dwItem;
952 DWORD dwTrack;
953 LPWSTR lpstrDrive;
954 DWORD dwReference;
955 } MCI_DGV_STATUS_PARMSW, *LPMCI_DGV_STATUS_PARMSW;
957 DECL_WINELIB_TYPE_AW(MCI_DGV_STATUS_PARMS)
958 DECL_WINELIB_TYPE_AW(LPMCI_DGV_STATUS_PARMS)
960 /* parameter block for MCI_STEP command message */
962 typedef struct {
963 DWORD dwCallback;
964 DWORD dwFrames;
965 } MCI_DGV_STEP_PARMS, *LPMCI_DGV_STEP_PARMS;
967 /* parameter block for MCI_STOP command message */
969 typedef MCI_GENERIC_PARMS MCI_DGV_STOP_PARMS, * LPMCI_DGV_STOP_PARMS;
971 /* parameter block for MCI_UNFREEZE command message */
973 typedef MCI_DGV_RECT_PARMS16 MCI_DGV_UNFREEZE_PARMS16, * LPMCI_DGV_UNFREEZE_PARMS16;
974 typedef MCI_DGV_RECT_PARMS MCI_DGV_UNFREEZE_PARMS, * LPMCI_DGV_UNFREEZE_PARMS;
976 /* parameter block for MCI_UPDATE command message */
978 typedef struct {
979 DWORD dwCallback;
980 RECT16 rc;
981 HDC16 hDC;
982 UINT16 wReserved0;
983 } MCI_DGV_UPDATE_PARMS16, * LPMCI_DGV_UPDATE_PARMS16;
985 typedef struct {
986 DWORD dwCallback;
987 RECT rc;
988 HDC hDC;
989 } MCI_DGV_UPDATE_PARMS, * LPMCI_DGV_UPDATE_PARMS;
991 /* parameter block for MCI_WHERE command message */
993 typedef MCI_DGV_RECT_PARMS16 MCI_DGV_WHERE_PARMS16, * LPMCI_DGV_WHERE_PARMS16;
994 typedef MCI_DGV_RECT_PARMS MCI_DGV_WHERE_PARMS, * LPMCI_DGV_WHERE_PARMS;
996 /* parameter block for MCI_WINDOW command message */
998 typedef struct {
999 DWORD dwCallback;
1000 HWND16 hWnd;
1001 UINT16 wReserved1;
1002 UINT16 nCmdShow;
1003 UINT16 wReserved2;
1004 LPSTR lpstrText;
1005 } MCI_DGV_WINDOW_PARMS16, *LPMCI_DGV_WINDOW_PARMS16;
1007 typedef struct {
1008 DWORD dwCallback;
1009 HWND hWnd;
1010 UINT nCmdShow;
1011 LPSTR lpstrText;
1012 } MCI_DGV_WINDOW_PARMSA, *LPMCI_DGV_WINDOW_PARMSA;
1014 typedef struct {
1015 DWORD dwCallback;
1016 HWND hWnd;
1017 UINT nCmdShow;
1018 LPWSTR lpstrText;
1019 } MCI_DGV_WINDOW_PARMSW, *LPMCI_DGV_WINDOW_PARMSW;
1021 #ifdef __cplusplus
1023 #endif
1025 #endif /* __WINE_DIGITALV_H */