Avoid list corruption when linking window with HWND_BOTTOM (thanks to
[wine/multimedia.git] / include / digitalv.h
blob2adf5eaafa85eedfd2cc985e00bd4b9f4afe1c93
1 /* -*- tab-width: 8; c-basic-offset: 4 -*- */
3 #ifndef __WINE_DIGITALV_H
4 #define __WINE_DIGITALV_H
6 /*
7 * Wine Digital Video extensions
8 */
10 #include "mmsystem.h"
11 #include "windef.h"
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
17 #define MCI_TEST 0x00000020L
19 /* Message values */
21 #define MCI_CAPTURE 0x0870
22 #define MCI_MONITOR 0x0871
23 #define MCI_RESERVE 0x0872
24 #define MCI_SETAUDIO 0x0873
25 #define MCI_SIGNAL 0x0875
26 #define MCI_SETVIDEO 0x0876
27 #define MCI_QUALITY 0x0877
28 #define MCI_LIST 0x0878
29 #define MCI_UNDO 0x0879
30 #define MCI_CONFIGURE 0x087A
31 #define MCI_RESTORE 0x087B
33 /* Return and string constant values */
35 #define MCI_ON 1
36 #define MCI_OFF 0
38 #define MCI_DGV_FILE_MODE_SAVING 0x0001
39 #define MCI_DGV_FILE_MODE_LOADING 0x0002
40 #define MCI_DGV_FILE_MODE_EDITING 0x0003
41 #define MCI_DGV_FILE_MODE_IDLE 0x0004
43 /* These identifiers are used only by device drivers */
45 #define MCI_ON_S 0x00008000L
46 #define MCI_OFF_S 0x00008001L
47 #define MCI_DGV_FILE_S 0x00008002L
48 #define MCI_DGV_INPUT_S 0x00008003L
50 #define MCI_DGV_FILE_MODE_SAVING_S 0x00008004L
51 #define MCI_DGV_FILE_MODE_LOADING_S 0x00008005L
52 #define MCI_DGV_FILE_MODE_EDITING_S 0x00008006L
53 #define MCI_DGV_FILE_MODE_IDLE_S 0x00008007L
55 #define MCI_DGV_SETVIDEO_SRC_NTSC_S 0x00008010L
56 #define MCI_DGV_SETVIDEO_SRC_RGB_S 0x00008011L
57 #define MCI_DGV_SETVIDEO_SRC_SVIDEO_S 0x00008012L
58 #define MCI_DGV_SETVIDEO_SRC_PAL_S 0x00008013L
59 #define MCI_DGV_SETVIDEO_SRC_SECAM_S 0x00008014L
60 #define MCI_DGV_SETVIDEO_SRC_GENERIC_S 0x00008015L
62 #define MCI_DGV_SETAUDIO_SRC_LEFT_S 0x00008020L
63 #define MCI_DGV_SETAUDIO_SRC_RIGHT_S 0x00008021L
64 #define MCI_DGV_SETAUDIO_SRC_AVERAGE_S 0x00008022L
65 #define MCI_DGV_SETAUDIO_SRC_STEREO_S 0x00008023L
67 /* Window message for signal notification */
69 #ifndef MM_MCISIGNAL
70 #define MM_MCISIGNAL 0x3CB
71 #endif
73 /* error values */
75 #define MCIERR_DGV_DEVICE_LIMIT (MCIERR_CUSTOM_DRIVER_BASE+0)
76 #define MCIERR_DGV_IOERR (MCIERR_CUSTOM_DRIVER_BASE+1)
77 #define MCIERR_DGV_WORKSPACE_EMPTY (MCIERR_CUSTOM_DRIVER_BASE+2)
78 #define MCIERR_DGV_DISK_FULL (MCIERR_CUSTOM_DRIVER_BASE+3)
79 #define MCIERR_DGV_DEVICE_MEMORY_FULL (MCIERR_CUSTOM_DRIVER_BASE+4)
80 #define MCIERR_DGV_BAD_CLIPBOARD_RANGE (MCIERR_CUSTOM_DRIVER_BASE+5)
82 /* defines for monitor methods */
84 #define MCI_DGV_METHOD_PRE 0x0000a000L
85 #define MCI_DGV_METHOD_POST 0x0000a001L
86 #define MCI_DGV_METHOD_DIRECT 0x0000a002L
88 /* defines for known file formats */
90 #define MCI_DGV_FF_AVSS 0x00004000L
91 #define MCI_DGV_FF_AVI 0x00004001L
92 #define MCI_DGV_FF_DIB 0x00004002L
93 #define MCI_DGV_FF_RDIB 0x00004003L
94 #define MCI_DGV_FF_JPEG 0x00004004L
95 #define MCI_DGV_FF_RJPEG 0x00004005L
96 #define MCI_DGV_FF_JFIF 0x00004006L
97 #define MCI_DGV_FF_MPEG 0x00004007L
99 /* values for dwItem field of MCI_CAPABILITY_PARMS structure */
101 #define MCI_DGV_GETDEVCAPS_CAN_LOCK 0x00004000L
102 #define MCI_DGV_GETDEVCAPS_CAN_STRETCH 0x00004001L
103 #define MCI_DGV_GETDEVCAPS_CAN_FREEZE 0x00004002L
104 #define MCI_DGV_GETDEVCAPS_MAX_WINDOWS 0x00004003L
105 #define MCI_DGV_GETDEVCAPS_CAN_REVERSE 0x00004004L
106 #define MCI_DGV_GETDEVCAPS_HAS_STILL 0x00004005L
107 #define MCI_DGV_GETDEVCAPS_PALETTES 0x00004006L
108 #define MCI_DGV_GETDEVCAPS_CAN_STR_IN 0x00004008L
109 #define MCI_DGV_GETDEVCAPS_CAN_TEST 0x00004009L
110 #define MCI_DGV_GETDEVCAPS_MAXIMUM_RATE 0x0000400aL
111 #define MCI_DGV_GETDEVCAPS_MINIMUM_RATE 0x0000400bL
113 /* flags for dwFlags parameter of MCI_CAPTURE command message */
115 #define MCI_DGV_CAPTURE_AS 0x00010000L
116 #define MCI_DGV_CAPTURE_AT 0x00020000L
118 /* flags for dwFlags parameter of MCI_COPY command message */
120 #define MCI_DGV_COPY_AT 0x00010000L
121 #define MCI_DGV_COPY_AUDIO_STREAM 0x00020000L
122 #define MCI_DGV_COPY_VIDEO_STREAM 0x00040000L
124 /* flags for dwFlags parameter of MCI_CUE command message */
126 #define MCI_DGV_CUE_INPUT 0x00010000L
127 #define MCI_DGV_CUE_OUTPUT 0x00020000L
128 #define MCI_DGV_CUE_NOSHOW 0x00040000L
130 /* flags for dwFlags parameter of MCI_CUT command message */
132 #define MCI_DGV_CUT_AT 0x00010000L
133 #define MCI_DGV_CUT_AUDIO_STREAM 0x00020000L
134 #define MCI_DGV_CUT_VIDEO_STREAM 0x00040000L
136 /* flags for dwFlags parameter of MCI_DELETE command message */
138 #define MCI_DGV_DELETE_AT 0x00010000L
139 #define MCI_DGV_DELETE_AUDIO_STREAM 0x00020000L
140 #define MCI_DGV_DELETE_VIDEO_STREAM 0x00040000L
142 /* flags for dwFlags parameter of MCI_FREEZE command message */
144 #define MCI_DGV_FREEZE_AT 0x00010000L
145 #define MCI_DGV_FREEZE_OUTSIDE 0x00020000L
147 /* flags for dwFlags parameter of MCI_INFO command message */
149 #define MCI_DGV_INFO_TEXT 0x00010000L
150 #define MCI_DGV_INFO_ITEM 0X00020000L
152 /* values for dwItem field of MCI_DGV_INFO_PARMS structure */
154 #define MCI_INFO_VERSION 0x00000400L
156 #define MCI_DGV_INFO_USAGE 0x00004000L
157 #define MCI_DGV_INFO_AUDIO_QUALITY 0x00004001L
158 #define MCI_DGV_INFO_STILL_QUALITY 0x00004002L
159 #define MCI_DGV_INFO_VIDEO_QUALITY 0x00004003L
160 #define MCI_DGV_INFO_AUDIO_ALG 0x00004004L
161 #define MCI_DGV_INFO_STILL_ALG 0x00004005L
162 #define MCI_DGV_INFO_VIDEO_ALG 0x00004006L
164 /* flags for dwFlags parameter of MCI_LIST command message */
166 #define MCI_DGV_LIST_ITEM 0x00010000L
167 #define MCI_DGV_LIST_COUNT 0x00020000L
168 #define MCI_DGV_LIST_NUMBER 0x00040000L
169 #define MCI_DGV_LIST_ALG 0x00080000L
171 /* values for dwItem field of MCI_DGV_LIST_PARMS structure */
173 #define MCI_DGV_LIST_AUDIO_ALG 0x00004000L
174 #define MCI_DGV_LIST_AUDIO_QUALITY 0x00004001L
175 #define MCI_DGV_LIST_AUDIO_STREAM 0x00004002L
176 #define MCI_DGV_LIST_STILL_ALG 0x00004003L
177 #define MCI_DGV_LIST_STILL_QUALITY 0x00004004L
178 #define MCI_DGV_LIST_VIDEO_ALG 0x00004005L
179 #define MCI_DGV_LIST_VIDEO_QUALITY 0x00004006L
180 #define MCI_DGV_LIST_VIDEO_STREAM 0x00004007L
181 #define MCI_DGV_LIST_VIDEO_SOURCE 0x00004008L
184 /* flags for dwFlags parameter of MCI_MONITOR command message */
186 #define MCI_DGV_MONITOR_METHOD 0x00010000L
187 #define MCI_DGV_MONITOR_SOURCE 0x00020000L
189 /* values for dwSource parameter of the MCI_DGV_MONITOR_PARMS struture */
191 #define MCI_DGV_MONITOR_INPUT 0x00004000L
192 #define MCI_DGV_MONITOR_FILE 0x00004001L
194 /* flags for dwFlags parameter of MCI_OPEN command message */
196 #define MCI_DGV_OPEN_WS 0x00010000L
197 #define MCI_DGV_OPEN_PARENT 0x00020000L
198 #define MCI_DGV_OPEN_NOSTATIC 0x00040000L
199 #define MCI_DGV_OPEN_16BIT 0x00080000L
200 #define MCI_DGV_OPEN_32BIT 0x00100000L
202 /* flags for dwFlags parameter of MCI_PASTE command message */
204 #define MCI_DGV_PASTE_AT 0x00010000L
205 #define MCI_DGV_PASTE_AUDIO_STREAM 0x00020000L
206 #define MCI_DGV_PASTE_VIDEO_STREAM 0x00040000L
207 #define MCI_DGV_PASTE_INSERT 0x00080000L
208 #define MCI_DGV_PASTE_OVERWRITE 0x00100000L
210 /* flags for dwFlags parameter of MCI_PLAY command message */
212 #define MCI_DGV_PLAY_REPEAT 0x00010000L
213 #define MCI_DGV_PLAY_REVERSE 0x00020000L
215 /* flags for dwFlags parameter of MCI_PUT command message */
217 #define MCI_DGV_RECT 0x00010000L
218 #define MCI_DGV_PUT_SOURCE 0x00020000L
219 #define MCI_DGV_PUT_DESTINATION 0x00040000L
220 #define MCI_DGV_PUT_FRAME 0x00080000L
221 #define MCI_DGV_PUT_VIDEO 0x00100000L
222 #define MCI_DGV_PUT_WINDOW 0x00200000L
223 #define MCI_DGV_PUT_CLIENT 0x00400000L
225 /* flags for dwFlags parameter of MCI_QUALITY command message */
227 #define MCI_QUALITY_ITEM 0x00010000L
228 #define MCI_QUALITY_NAME 0x00020000L
229 #define MCI_QUALITY_ALG 0x00040000L
230 #define MCI_QUALITY_DIALOG 0x00080000L
231 #define MCI_QUALITY_HANDLE 0x00100000L
233 /* values for dwItem field of MCI_QUALITY_PARMS structure */
235 #define MCI_QUALITY_ITEM_AUDIO 0x00004000L
236 #define MCI_QUALITY_ITEM_STILL 0x00004001L
237 #define MCI_QUALITY_ITEM_VIDEO 0x00004002L
239 /* flags for dwFlags parameter of MCI_REALIZE command message */
241 #define MCI_DGV_REALIZE_NORM 0x00010000L
242 #define MCI_DGV_REALIZE_BKGD 0x00020000L
244 /* flags for dwFlags parameter of MCI_RECORD command message */
246 #define MCI_DGV_RECORD_HOLD 0x00020000L
247 #define MCI_DGV_RECORD_AUDIO_STREAM 0x00040000L
248 #define MCI_DGV_RECORD_VIDEO_STREAM 0x00080000L
250 /* flags for dwFlags parameters of MCI_RESERVE command message */
252 #define MCI_DGV_RESERVE_IN 0x00010000L
253 #define MCI_DGV_RESERVE_SIZE 0x00020000L
255 /* flags for dwFlags parameter of MCI_RESTORE command message */
257 #define MCI_DGV_RESTORE_FROM 0x00010000L
258 #define MCI_DGV_RESTORE_AT 0x00020000L
260 /* flags for dwFlags parameters of MCI_SAVE command message */
262 #define MCI_DGV_SAVE_ABORT 0x00020000L
263 #define MCI_DGV_SAVE_KEEPRESERVE 0x00040000L
265 /* flags for dwFlags parameters of MCI_SET command message */
267 #define MCI_DGV_SET_SEEK_EXACTLY 0x00010000L
268 #define MCI_DGV_SET_SPEED 0x00020000L
269 #define MCI_DGV_SET_STILL 0x00040000L
270 #define MCI_DGV_SET_FILEFORMAT 0x00080000L
272 /* flags for the dwFlags parameter of MCI_SETAUDIO command message */
274 #define MCI_DGV_SETAUDIO_OVER 0x00010000L
275 #define MCI_DGV_SETAUDIO_CLOCKTIME 0x00020000L
276 #define MCI_DGV_SETAUDIO_ALG 0x00040000L
277 #define MCI_DGV_SETAUDIO_QUALITY 0x00080000L
278 #define MCI_DGV_SETAUDIO_RECORD 0x00100000L
279 #define MCI_DGV_SETAUDIO_LEFT 0x00200000L
280 #define MCI_DGV_SETAUDIO_RIGHT 0x00400000L
281 #define MCI_DGV_SETAUDIO_ITEM 0x00800000L
282 #define MCI_DGV_SETAUDIO_VALUE 0x01000000L
283 #define MCI_DGV_SETAUDIO_INPUT 0x02000000L
284 #define MCI_DGV_SETAUDIO_OUTPUT 0x04000000L
286 /* values for the dwItem parameter of MCI_DGV_SETAUDIO_PARMS */
288 #define MCI_DGV_SETAUDIO_TREBLE 0x00004000L
289 #define MCI_DGV_SETAUDIO_BASS 0x00004001L
290 #define MCI_DGV_SETAUDIO_VOLUME 0x00004002L
291 #define MCI_DGV_SETAUDIO_STREAM 0x00004003L
292 #define MCI_DGV_SETAUDIO_SOURCE 0x00004004L
293 #define MCI_DGV_SETAUDIO_SAMPLESPERSEC 0x00004005L
294 #define MCI_DGV_SETAUDIO_AVGBYTESPERSEC 0x00004006L
295 #define MCI_DGV_SETAUDIO_BLOCKALIGN 0x00004007L
296 #define MCI_DGV_SETAUDIO_BITSPERSAMPLE 0x00004008L
298 /* values for the dwValue parameter of MCI_DGV_SETAUDIO_PARMS
299 used with MCI_DGV_SETAUDIO_SOURCE */
301 #define MCI_DGV_SETAUDIO_SOURCE_STEREO 0x00000000L
302 #define MCI_DGV_SETAUDIO_SOURCE_LEFT 0x00000001L
303 #define MCI_DGV_SETAUDIO_SOURCE_RIGHT 0x00000002L
304 #define MCI_DGV_SETAUDIO_SOURCE_AVERAGE 0x00004000L
306 /* flags for the dwFlags parameter of MCI_SETVIDEO command */
308 #define MCI_DGV_SETVIDEO_QUALITY 0x00010000L
309 #define MCI_DGV_SETVIDEO_ALG 0x00020000L
310 #define MCI_DGV_SETVIDEO_CLOCKTIME 0x00040000L
311 #define MCI_DGV_SETVIDEO_SRC_NUMBER 0x00080000L
312 #define MCI_DGV_SETVIDEO_ITEM 0x00100000L
313 #define MCI_DGV_SETVIDEO_OVER 0x00200000L
314 #define MCI_DGV_SETVIDEO_RECORD 0x00400000L
315 #define MCI_DGV_SETVIDEO_STILL 0x00800000L
316 #define MCI_DGV_SETVIDEO_VALUE 0x01000000L
317 #define MCI_DGV_SETVIDEO_INPUT 0x02000000L
318 #define MCI_DGV_SETVIDEO_OUTPUT 0x04000000L
320 /* values for the dwTo field of MCI_SETVIDEO_PARMS
321 used with MCI_DGV_SETVIDEO_SOURCE */
323 #define MCI_DGV_SETVIDEO_SRC_NTSC 0x00004000L
324 #define MCI_DGV_SETVIDEO_SRC_RGB 0x00004001L
325 #define MCI_DGV_SETVIDEO_SRC_SVIDEO 0x00004002L
326 #define MCI_DGV_SETVIDEO_SRC_PAL 0x00004003L
327 #define MCI_DGV_SETVIDEO_SRC_SECAM 0x00004004L
328 #define MCI_DGV_SETVIDEO_SRC_GENERIC 0x00004005L
330 /* values for the dwItem field of MCI_SETVIDEO_PARMS */
332 #define MCI_DGV_SETVIDEO_BRIGHTNESS 0x00004000L
333 #define MCI_DGV_SETVIDEO_COLOR 0x00004001L
334 #define MCI_DGV_SETVIDEO_CONTRAST 0x00004002L
335 #define MCI_DGV_SETVIDEO_TINT 0x00004003L
336 #define MCI_DGV_SETVIDEO_SHARPNESS 0x00004004L
337 #define MCI_DGV_SETVIDEO_GAMMA 0x00004005L
338 #define MCI_DGV_SETVIDEO_STREAM 0x00004006L
339 #define MCI_DGV_SETVIDEO_PALHANDLE 0x00004007L
340 #define MCI_DGV_SETVIDEO_FRAME_RATE 0x00004008L
341 #define MCI_DGV_SETVIDEO_SOURCE 0x00004009L
342 #define MCI_DGV_SETVIDEO_KEY_INDEX 0x0000400aL
343 #define MCI_DGV_SETVIDEO_KEY_COLOR 0x0000400bL
344 #define MCI_DGV_SETVIDEO_BITSPERPEL 0x0000400cL
346 /* flags for the dwFlags parameter of MCI_SIGNAL */
348 #define MCI_DGV_SIGNAL_AT 0x00010000L
349 #define MCI_DGV_SIGNAL_EVERY 0x00020000L
350 #define MCI_DGV_SIGNAL_USERVAL 0x00040000L
351 #define MCI_DGV_SIGNAL_CANCEL 0x00080000L
352 #define MCI_DGV_SIGNAL_POSITION 0x00100000L
354 /* flags for the dwFlags parameter of MCI_STATUS command */
356 #define MCI_DGV_STATUS_NOMINAL 0x00020000L
357 #define MCI_DGV_STATUS_REFERENCE 0x00040000L
358 #define MCI_DGV_STATUS_LEFT 0x00080000L
359 #define MCI_DGV_STATUS_RIGHT 0x00100000L
360 #define MCI_DGV_STATUS_DISKSPACE 0x00200000L
361 #define MCI_DGV_STATUS_INPUT 0x00400000L
362 #define MCI_DGV_STATUS_OUTPUT 0x00800000L
363 #define MCI_DGV_STATUS_RECORD 0x01000000L
365 /* values for dwItem field of MCI_STATUS_PARMS structure */
367 #define MCI_DGV_STATUS_AUDIO_INPUT 0x00004000L
368 #define MCI_DGV_STATUS_HWND 0x00004001L
369 #define MCI_DGV_STATUS_SPEED 0x00004003L
370 #define MCI_DGV_STATUS_HPAL 0x00004004L
371 #define MCI_DGV_STATUS_BRIGHTNESS 0x00004005L
372 #define MCI_DGV_STATUS_COLOR 0x00004006L
373 #define MCI_DGV_STATUS_CONTRAST 0x00004007L
374 #define MCI_DGV_STATUS_FILEFORMAT 0x00004008L
375 #define MCI_DGV_STATUS_AUDIO_SOURCE 0x00004009L
376 #define MCI_DGV_STATUS_GAMMA 0x0000400aL
377 #define MCI_DGV_STATUS_MONITOR 0x0000400bL
378 #define MCI_DGV_STATUS_MONITOR_METHOD 0x0000400cL
379 #define MCI_DGV_STATUS_FRAME_RATE 0x0000400eL
380 #define MCI_DGV_STATUS_BASS 0x0000400fL
381 #define MCI_DGV_STATUS_SIZE 0x00004010L
382 #define MCI_DGV_STATUS_SEEK_EXACTLY 0x00004011L
383 #define MCI_DGV_STATUS_SHARPNESS 0x00004012L
384 #define MCI_DGV_STATUS_SMPTE 0x00004013L
385 #define MCI_DGV_STATUS_AUDIO 0x00004014L
386 #define MCI_DGV_STATUS_TINT 0x00004015L
387 #define MCI_DGV_STATUS_TREBLE 0x00004016L
388 #define MCI_DGV_STATUS_UNSAVED 0x00004017L
389 #define MCI_DGV_STATUS_VIDEO 0x00004018L
390 #define MCI_DGV_STATUS_VOLUME 0x00004019L
391 #define MCI_DGV_STATUS_AUDIO_RECORD 0x0000401aL
392 #define MCI_DGV_STATUS_VIDEO_SOURCE 0x0000401bL
393 #define MCI_DGV_STATUS_VIDEO_RECORD 0x0000401cL
394 #define MCI_DGV_STATUS_STILL_FILEFORMAT 0x0000401dL
395 #define MCI_DGV_STATUS_VIDEO_SRC_NUM 0x0000401eL
396 #define MCI_DGV_STATUS_FILE_MODE 0x0000401fL
397 #define MCI_DGV_STATUS_FILE_COMPLETION 0x00004020L
398 #define MCI_DGV_STATUS_WINDOW_VISIBLE 0x00004021L
399 #define MCI_DGV_STATUS_WINDOW_MINIMIZED 0x00004022L
400 #define MCI_DGV_STATUS_WINDOW_MAXIMIZED 0x00004023L
401 #define MCI_DGV_STATUS_KEY_INDEX 0x00004024L
402 #define MCI_DGV_STATUS_KEY_COLOR 0x00004025L
403 #define MCI_DGV_STATUS_PAUSE_MODE 0x00004026L
404 #define MCI_DGV_STATUS_SAMPLESPERSEC 0x00004027L
405 #define MCI_DGV_STATUS_AVGBYTESPERSEC 0x00004028L
406 #define MCI_DGV_STATUS_BLOCKALIGN 0x00004029L
407 #define MCI_DGV_STATUS_BITSPERSAMPLE 0x0000402aL
408 #define MCI_DGV_STATUS_BITSPERPEL 0x0000402bL
409 #define MCI_DGV_STATUS_FORWARD 0x0000402cL
410 #define MCI_DGV_STATUS_AUDIO_STREAM 0x0000402dL
411 #define MCI_DGV_STATUS_VIDEO_STREAM 0x0000402eL
413 /* flags for dwFlags parameter of MCI_STEP command message */
415 #define MCI_DGV_STEP_REVERSE 0x00010000L
416 #define MCI_DGV_STEP_FRAMES 0x00020000L
418 /* flags for dwFlags parameter of MCI_STOP command message */
420 #define MCI_DGV_STOP_HOLD 0x00010000L
422 /* flags for dwFlags parameter of MCI_UPDATE command message */
424 #define MCI_DGV_UPDATE_HDC 0x00020000L
425 #define MCI_DGV_UPDATE_PAINT 0x00040000L
427 /* flags for dwFlags parameter of MCI_WHERE command message */
429 #define MCI_DGV_WHERE_SOURCE 0x00020000L
430 #define MCI_DGV_WHERE_DESTINATION 0x00040000L
431 #define MCI_DGV_WHERE_FRAME 0x00080000L
432 #define MCI_DGV_WHERE_VIDEO 0x00100000L
433 #define MCI_DGV_WHERE_WINDOW 0x00200000L
434 #define MCI_DGV_WHERE_MAX 0x00400000L
436 /* flags for dwFlags parameter of MCI_WINDOW command message */
438 #define MCI_DGV_WINDOW_HWND 0x00010000L
439 #define MCI_DGV_WINDOW_STATE 0x00040000L
440 #define MCI_DGV_WINDOW_TEXT 0x00080000L
442 /* flags for hWnd parameter of MCI_DGV_WINDOW_PARMS parameter block */
444 #define MCI_DGV_WINDOW_DEFAULT 0x00000000L
446 /* parameter block for MCI_WHERE, MCI_PUT, MCI_FREEZE, MCI_UNFREEZE cmds */
448 typedef struct {
449 DWORD dwCallback;
450 RECT16 rc;
451 } MCI_DGV_RECT_PARMS16, *LPMCI_DGV_RECT_PARMS16;
453 typedef struct {
454 DWORD dwCallback;
455 RECT rc;
456 } MCI_DGV_RECT_PARMS, *LPMCI_DGV_RECT_PARMS;
458 /* parameter block for MCI_CAPTURE command message */
460 typedef struct {
461 DWORD dwCallback;
462 LPSTR lpstrFileName;
463 RECT16 rc;
464 } MCI_DGV_CAPTURE_PARMS16, *LPMCI_DGV_CAPTURE_PARMS16;
466 typedef struct {
467 DWORD dwCallback;
468 LPSTR lpstrFileName;
469 RECT rc;
470 } MCI_DGV_CAPTURE_PARMSA, *LPMCI_DGV_CAPTURE_PARMSA;
472 typedef struct {
473 DWORD dwCallback;
474 LPWSTR lpstrFileName;
475 RECT rc;
476 } MCI_DGV_CAPTURE_PARMSW, *LPMCI_DGV_CAPTURE_PARMSW;
478 DECL_WINELIB_TYPE_AW(MCI_DGV_CAPTURE_PARMS)
479 DECL_WINELIB_TYPE_AW(LPMCI_DGV_CAPTURE_PARMS)
481 /* parameter block for MCI_CLOSE command message */
483 typedef MCI_GENERIC_PARMS MCI_CLOSE_PARMS, *LPMCI_CLOSE_PARMS;
485 /* parameter block for MCI_COPY command message */
487 typedef struct {
488 DWORD dwCallback;
489 DWORD dwFrom;
490 DWORD dwTo;
491 RECT16 rc;
492 DWORD dwAudioStream;
493 DWORD dwVideoStream;
494 } MCI_DGV_COPY_PARMS16, *LPMCI_DGV_COPY_PARMS16;
496 typedef struct {
497 DWORD dwCallback;
498 DWORD dwFrom;
499 DWORD dwTo;
500 RECT rc;
501 DWORD dwAudioStream;
502 DWORD dwVideoStream;
503 } MCI_DGV_COPY_PARMS, *LPMCI_DGV_COPY_PARMS;
505 /* parameter block for MCI_CUE command message */
507 typedef struct {
508 DWORD dwCallback;
509 DWORD dwTo;
510 } MCI_DGV_CUE_PARMS, *LPMCI_DGV_CUE_PARMS;
512 /* parameter block for MCI_CUT command message */
514 typedef struct {
515 DWORD dwCallback;
516 DWORD dwFrom;
517 DWORD dwTo;
518 RECT16 rc;
519 DWORD dwAudioStream;
520 DWORD dwVideoStream;
521 } MCI_DGV_CUT_PARMS16, * LPMCI_DGV_CUT_PARMS16;
523 typedef struct {
524 DWORD dwCallback;
525 DWORD dwFrom;
526 DWORD dwTo;
527 RECT rc;
528 DWORD dwAudioStream;
529 DWORD dwVideoStream;
530 } MCI_DGV_CUT_PARMS, * LPMCI_DGV_CUT_PARMS;
532 /* parameter block for MCI_DELETE command message */
534 typedef struct {
535 DWORD dwCallback;
536 DWORD dwFrom;
537 DWORD dwTo;
538 RECT16 rc;
539 DWORD dwAudioStream;
540 DWORD dwVideoStream;
541 } MCI_DGV_DELETE_PARMS16, * LPMCI_DGV_DELETE_PARMS16;
543 typedef struct {
544 DWORD dwCallback;
545 DWORD dwFrom;
546 DWORD dwTo;
547 RECT rc;
548 DWORD dwAudioStream;
549 DWORD dwVideoStream;
550 } MCI_DGV_DELETE_PARMS, * LPMCI_DGV_DELETE_PARMS;
552 /* parameter block for MCI_FREEZE command message */
554 typedef MCI_DGV_RECT_PARMS16 MCI_DGV_FREEZE_PARMS16, * LPMCI_DGV_FREEZE_PARMS16;
555 typedef MCI_DGV_RECT_PARMS MCI_DGV_FREEZE_PARMS, * LPMCI_DGV_FREEZE_PARMS;
557 /* parameter block for MCI_INFO command message */
559 typedef struct {
560 DWORD dwCallback;
561 LPSTR lpstrReturn;
562 DWORD dwRetSize;
563 DWORD dwItem;
564 } MCI_DGV_INFO_PARMS16, * LPMCI_DGV_INFO_PARMS16;
566 typedef struct {
567 DWORD dwCallback;
568 LPSTR lpstrReturn;
569 DWORD dwRetSize;
570 DWORD dwItem;
571 } MCI_DGV_INFO_PARMSA, * LPMCI_DGV_INFO_PARMSA;
573 typedef struct {
574 DWORD dwCallback;
575 LPWSTR lpstrReturn;
576 DWORD dwRetSize;
577 DWORD dwItem;
578 } MCI_DGV_INFO_PARMSW, *LPMCI_DGV_INFO_PARMSW;
580 DECL_WINELIB_TYPE_AW(MCI_DGV_INFO_PARMS)
581 DECL_WINELIB_TYPE_AW(LPMCI_DGV_INFO_PARMS)
583 /* parameter block for MCI_LIST command message */
585 typedef struct {
586 DWORD dwCallback;
587 LPSTR lpstrReturn;
588 DWORD dwLength;
589 DWORD dwNumber;
590 DWORD dwItem;
591 LPSTR lpstrAlgorithm;
592 } MCI_DGV_LIST_PARMS16, *LPMCI_DGV_LIST_PARMS16;
594 typedef struct {
595 DWORD dwCallback;
596 LPSTR lpstrReturn;
597 DWORD dwLength;
598 DWORD dwNumber;
599 DWORD dwItem;
600 LPSTR lpstrAlgorithm;
601 } MCI_DGV_LIST_PARMSA, *LPMCI_DGV_LIST_PARMSA;
603 typedef struct {
604 DWORD dwCallback;
605 LPWSTR lpstrReturn;
606 DWORD dwLength;
607 DWORD dwNumber;
608 DWORD dwItem;
609 LPWSTR lpstrAlgorithm;
610 } MCI_DGV_LIST_PARMSW, *LPMCI_DGV_LIST_PARMSW;
612 DECL_WINELIB_TYPE_AW(MCI_DGV_LIST_PARMS)
613 DECL_WINELIB_TYPE_AW(LPMCI_DGV_LIST_PARMS)
615 /* parameter block for MCI_LOAD command message */
617 typedef MCI_LOAD_PARMS16 MCI_DGV_LOAD_PARMS16 , * LPMCI_DGV_LOAD_PARMS16;
618 typedef MCI_LOAD_PARMSA MCI_DGV_LOAD_PARMSA, * LPMCI_DGV_LOAD_PARMSA;
619 typedef MCI_LOAD_PARMSW MCI_DGV_LOAD_PARMSW, * LPMCI_DGV_LOAD_PARMSW;
621 DECL_WINELIB_TYPE_AW(MCI_DGV_LOAD_PARMS)
622 DECL_WINELIB_TYPE_AW(LPMCI_DGV_LOAD_PARMS)
624 /* parameter block for MCI_MONITOR command message */
626 typedef struct {
627 DWORD dwCallback;
628 DWORD dwSource;
629 DWORD dwMethod;
630 } MCI_DGV_MONITOR_PARMS, * LPMCI_DGV_MONITOR_PARMS;
632 /* parameter block for MCI_OPEN command message */
634 typedef struct {
635 DWORD dwCallback;
636 UINT16 wDeviceID;
637 UINT16 wReserved0;
638 LPSTR lpstrDeviceType;
639 LPSTR lpstrElementName;
640 LPSTR lpstrAlias;
641 DWORD dwStyle;
642 HWND16 hWndParent;
643 UINT16 wReserved1;
644 } MCI_DGV_OPEN_PARMS16, *LPMCI_DGV_OPEN_PARMS16;
646 typedef struct {
647 DWORD dwCallback;
648 UINT wDeviceID;
649 LPSTR lpstrDeviceType;
650 LPSTR lpstrElementName;
651 LPSTR lpstrAlias;
652 DWORD dwStyle;
653 HWND hWndParent;
654 } MCI_DGV_OPEN_PARMSA, *LPMCI_DGV_OPEN_PARMSA;
656 typedef struct {
657 DWORD dwCallback;
658 UINT wDeviceID;
659 LPWSTR lpstrDeviceType;
660 LPWSTR lpstrElementName;
661 LPWSTR lpstrAlias;
662 DWORD dwStyle;
663 HWND hWndParent;
664 } MCI_DGV_OPEN_PARMSW, *LPMCI_DGV_OPEN_PARMSW;
666 DECL_WINELIB_TYPE_AW(MCI_DGV_OPEN_PARMS)
667 DECL_WINELIB_TYPE_AW(LPMCI_DGV_OPEN_PARMS)
669 /* parameter block for MCI_PAUSE command message */
671 typedef MCI_GENERIC_PARMS MCI_DGV_PAUSE_PARMS, * LPMCI_DGV_PAUSE_PARMS;
673 /* parameter block for MCI_PASTE command message */
675 typedef struct {
676 DWORD dwCallback;
677 DWORD dwTo;
678 RECT16 rc;
679 DWORD dwAudioStream;
680 DWORD dwVideoStream;
681 } MCI_DGV_PASTE_PARMS16, * LPMCI_DGV_PASTE_PARMS16;
683 typedef struct {
684 DWORD dwCallback;
685 DWORD dwTo;
686 RECT rc;
687 DWORD dwAudioStream;
688 DWORD dwVideoStream;
689 } MCI_DGV_PASTE_PARMS, * LPMCI_DGV_PASTE_PARMS;
691 /* parameter block for MCI_PLAY command message */
693 typedef MCI_PLAY_PARMS MCI_DGV_PLAY_PARMS, * LPMCI_DGV_PLAY_PARMS;
695 /* parameter block for MCI_PUT command message */
697 typedef MCI_DGV_RECT_PARMS16 MCI_DGV_PUT_PARMS16, * LPMCI_DGV_PUT_PARMS16;
698 typedef MCI_DGV_RECT_PARMS MCI_DGV_PUT_PARMS, * LPMCI_DGV_PUT_PARMS;
700 /* parameter block for MCI_QUALITY command message */
702 typedef struct {
703 DWORD dwCallback;
704 DWORD dwItem;
705 LPSTR lpstrName;
706 DWORD lpstrAlgorithm;
707 DWORD dwHandle;
708 } MCI_DGV_QUALITY_PARMS16, *LPMCI_DGV_QUALITY_PARMS16;
710 typedef struct {
711 DWORD dwCallback;
712 DWORD dwItem;
713 LPSTR lpstrName;
714 DWORD lpstrAlgorithm;
715 DWORD dwHandle;
716 } MCI_DGV_QUALITY_PARMSA, *LPMCI_DGV_QUALITY_PARMSA;
718 typedef struct {
719 DWORD dwCallback;
720 DWORD dwItem;
721 LPWSTR lpstrName;
722 DWORD lpstrAlgorithm;
723 DWORD dwHandle;
724 } MCI_DGV_QUALITY_PARMSW, *LPMCI_DGV_QUALITY_PARMSW;
726 DECL_WINELIB_TYPE_AW(MCI_DGV_QUALITY_PARMS)
727 DECL_WINELIB_TYPE_AW(LPMCI_DGV_QUALITY_PARMS)
729 /* parameter block for MCI_REALIZE command message */
731 typedef MCI_GENERIC_PARMS MCI_REALIZE_PARMS, * LPMCI_REALIZE_PARMS;
733 /* parameter block for MCI_RECORD command message */
735 typedef struct {
736 DWORD dwCallback;
737 DWORD dwFrom;
738 DWORD dwTo;
739 RECT16 rc;
740 DWORD dwAudioStream;
741 DWORD dwVideoStream;
742 } MCI_DGV_RECORD_PARMS16, * LPMCI_DGV_RECORD_PARMS16;
744 typedef struct {
745 DWORD dwCallback;
746 DWORD dwFrom;
747 DWORD dwTo;
748 RECT rc;
749 DWORD dwAudioStream;
750 DWORD dwVideoStream;
751 } MCI_DGV_RECORD_PARMS, * LPMCI_DGV_RECORD_PARMS;
753 /* parameter block for MCI_RESERVE command message */
755 typedef struct {
756 DWORD dwCallback;
757 LPSTR lpstrPath;
758 DWORD dwSize;
759 } MCI_DGV_RESERVE_PARMS16, *LPMCI_DGV_RESERVE_PARMS16A;
761 typedef struct {
762 DWORD dwCallback;
763 LPSTR lpstrPath;
764 DWORD dwSize;
765 } MCI_DGV_RESERVE_PARMSA, *LPMCI_DGV_RESERVE_PARMSA;
767 typedef struct {
768 DWORD dwCallback;
769 LPWSTR lpstrPath;
770 DWORD dwSize;
771 } MCI_DGV_RESERVE_PARMSW, *LPMCI_DGV_RESERVE_PARMSW;
773 DECL_WINELIB_TYPE_AW(MCI_DGV_RESERVE_PARMS)
774 DECL_WINELIB_TYPE_AW(LPMCI_DGV_RESERVE_PARMS)
776 /* parameter block for MCI_RESTORE command message */
778 typedef struct {
779 DWORD dwCallback;
780 LPSTR lpstrFileName;
781 RECT16 rc;
782 } MCI_DGV_RESTORE_PARMS16, *LPMCI_DGV_RESTORE_PARMS16;
784 typedef struct {
785 DWORD dwCallback;
786 LPSTR lpstrFileName;
787 RECT rc;
788 } MCI_DGV_RESTORE_PARMSA, *LPMCI_DGV_RESTORE_PARMSA;
790 typedef struct {
791 DWORD dwCallback;
792 LPWSTR lpstrFileName;
793 RECT rc;
794 } MCI_DGV_RESTORE_PARMSW, *LPMCI_DGV_RESTORE_PARMSW;
796 DECL_WINELIB_TYPE_AW(MCI_DGV_RESTORE_PARMS)
797 DECL_WINELIB_TYPE_AW(LPMCI_DGV_RESTORE_PARMS)
799 /* parameter block for MCI_RESUME command message */
801 typedef MCI_GENERIC_PARMS MCI_DGV_RESUME_PARMS, * LPMCI_DGV_RESUME_PARMS;
803 /* parameter block for MCI_SAVE command message */
805 typedef struct {
806 DWORD dwCallback;
807 LPSTR lpstrFileName;
808 RECT16 rc;
809 } MCI_DGV_SAVE_PARMS16, *LPMCI_DGV_SAVE_PARMS16;
811 typedef struct {
812 DWORD dwCallback;
813 LPSTR lpstrFileName;
814 RECT rc;
815 } MCI_DGV_SAVE_PARMSA, *LPMCI_DGV_SAVE_PARMSA;
817 typedef struct {
818 DWORD dwCallback;
819 LPWSTR lpstrFileName;
820 RECT rc;
821 } MCI_DGV_SAVE_PARMSW, *LPMCI_DGV_SAVE_PARMSW;
823 DECL_WINELIB_TYPE_AW(MCI_DGV_SAVE_PARMS)
824 DECL_WINELIB_TYPE_AW(LPMCI_DGV_SAVE_PARMS)
826 /* parameter block for MCI_SET command message */
828 typedef struct {
829 DWORD dwCallback;
830 DWORD dwTimeFormat;
831 DWORD dwAudio;
832 DWORD dwFileFormat;
833 DWORD dwSpeed;
834 } MCI_DGV_SET_PARMS, *LPMCI_DGV_SET_PARMS;
836 /* parameter block for MCI_SETAUDIO command message */
838 typedef struct {
839 DWORD dwCallback;
840 DWORD dwItem;
841 DWORD dwValue;
842 DWORD dwOver;
843 LPSTR lpstrAlgorithm;
844 LPSTR lpstrQuality;
845 } MCI_DGV_SETAUDIO_PARMS16, *LPMCI_DGV_SETAUDIO_PARMS16;
847 typedef struct {
848 DWORD dwCallback;
849 DWORD dwItem;
850 DWORD dwValue;
851 DWORD dwOver;
852 LPSTR lpstrAlgorithm;
853 LPSTR lpstrQuality;
854 } MCI_DGV_SETAUDIO_PARMSA, *LPMCI_DGV_SETAUDIO_PARMSA;
856 typedef struct {
857 DWORD dwCallback;
858 DWORD dwItem;
859 DWORD dwValue;
860 DWORD dwOver;
861 LPWSTR lpstrAlgorithm;
862 LPWSTR lpstrQuality;
863 } MCI_DGV_SETAUDIO_PARMSW, *LPMCI_DGV_SETAUDIO_PARMSW;
865 DECL_WINELIB_TYPE_AW(MCI_DGV_SETAUDIO_PARMS)
866 DECL_WINELIB_TYPE_AW(LPMCI_DGV_SETAUDIO_PARMS)
868 /* parameter block for MCI_SIGNAL command message */
870 typedef struct {
871 DWORD dwCallback;
872 DWORD dwPosition;
873 DWORD dwPeriod;
874 DWORD dwUserParm;
875 } MCI_DGV_SIGNAL_PARMS, * LPMCI_DGV_SIGNAL_PARMS;
877 /* parameter block for MCI_SETVIDEO command message */
879 typedef struct {
880 DWORD dwCallback;
881 DWORD dwItem;
882 DWORD dwValue;
883 DWORD dwOver;
884 LPSTR lpstrAlgorithm;
885 LPSTR lpstrQuality;
886 DWORD dwSourceNumber;
887 } MCI_DGV_SETVIDEO_PARMS16, *LPMCI_DGV_SETVIDEO_PARMS16;
889 typedef struct {
890 DWORD dwCallback;
891 DWORD dwItem;
892 DWORD dwValue;
893 DWORD dwOver;
894 LPSTR lpstrAlgorithm;
895 LPSTR lpstrQuality;
896 DWORD dwSourceNumber;
897 } MCI_DGV_SETVIDEO_PARMSA, *LPMCI_DGV_SETVIDEO_PARMSA;
899 typedef struct {
900 DWORD dwCallback;
901 DWORD dwItem;
902 DWORD dwValue;
903 DWORD dwOver;
904 LPWSTR lpstrAlgorithm;
905 LPWSTR lpstrQuality;
906 DWORD dwSourceNumber;
907 } MCI_DGV_SETVIDEO_PARMSW, *LPMCI_DGV_SETVIDEO_PARMSW;
909 DECL_WINELIB_TYPE_AW(MCI_DGV_SETVIDEO_PARMS)
910 DECL_WINELIB_TYPE_AW(LPMCI_DGV_SETVIDEO_PARMS)
912 /* parameter block for MCI_STATUS command message */
914 typedef struct {
915 DWORD dwCallback;
916 DWORD dwReturn;
917 DWORD dwItem;
918 DWORD dwTrack;
919 SEGPTR lpstrDrive;
920 DWORD dwReference;
921 } MCI_DGV_STATUS_PARMS16, *LPMCI_DGV_STATUS_PARMS16;
923 typedef struct {
924 DWORD dwCallback;
925 DWORD dwReturn;
926 DWORD dwItem;
927 DWORD dwTrack;
928 LPSTR lpstrDrive;
929 DWORD dwReference;
930 } MCI_DGV_STATUS_PARMSA, *LPMCI_DGV_STATUS_PARMSA;
932 typedef struct {
933 DWORD dwCallback;
934 DWORD dwReturn;
935 DWORD dwItem;
936 DWORD dwTrack;
937 LPWSTR lpstrDrive;
938 DWORD dwReference;
939 } MCI_DGV_STATUS_PARMSW, *LPMCI_DGV_STATUS_PARMSW;
941 DECL_WINELIB_TYPE_AW(MCI_DGV_STATUS_PARMS)
942 DECL_WINELIB_TYPE_AW(LPMCI_DGV_STATUS_PARMS)
944 /* parameter block for MCI_STEP command message */
946 typedef struct {
947 DWORD dwCallback;
948 DWORD dwFrames;
949 } MCI_DGV_STEP_PARMS, *LPMCI_DGV_STEP_PARMS;
951 /* parameter block for MCI_STOP command message */
953 typedef MCI_GENERIC_PARMS MCI_DGV_STOP_PARMS, * LPMCI_DGV_STOP_PARMS;
955 /* parameter block for MCI_UNFREEZE command message */
957 typedef MCI_DGV_RECT_PARMS16 MCI_DGV_UNFREEZE_PARMS16, * LPMCI_DGV_UNFREEZE_PARMS16;
958 typedef MCI_DGV_RECT_PARMS MCI_DGV_UNFREEZE_PARMS, * LPMCI_DGV_UNFREEZE_PARMS;
960 /* parameter block for MCI_UPDATE command message */
962 typedef struct {
963 DWORD dwCallback;
964 RECT16 rc;
965 HDC16 hDC;
966 UINT16 wReserved0;
967 } MCI_DGV_UPDATE_PARMS16, * LPMCI_DGV_UPDATE_PARMS16;
969 typedef struct {
970 DWORD dwCallback;
971 RECT rc;
972 HDC hDC;
973 } MCI_DGV_UPDATE_PARMS, * LPMCI_DGV_UPDATE_PARMS;
975 /* parameter block for MCI_WHERE command message */
977 typedef MCI_DGV_RECT_PARMS16 MCI_DGV_WHERE_PARMS16, * LPMCI_DGV_WHERE_PARMS16;
978 typedef MCI_DGV_RECT_PARMS MCI_DGV_WHERE_PARMS, * LPMCI_DGV_WHERE_PARMS;
980 /* parameter block for MCI_WINDOW command message */
982 typedef struct {
983 DWORD dwCallback;
984 HWND16 hWnd;
985 UINT16 wReserved1;
986 UINT16 nCmdShow;
987 UINT16 wReserved2;
988 LPSTR lpstrText;
989 } MCI_DGV_WINDOW_PARMS16, *LPMCI_DGV_WINDOW_PARMS16;
991 typedef struct {
992 DWORD dwCallback;
993 HWND hWnd;
994 UINT nCmdShow;
995 LPSTR lpstrText;
996 } MCI_DGV_WINDOW_PARMSA, *LPMCI_DGV_WINDOW_PARMSA;
998 typedef struct {
999 DWORD dwCallback;
1000 HWND hWnd;
1001 UINT nCmdShow;
1002 LPWSTR lpstrText;
1003 } MCI_DGV_WINDOW_PARMSW, *LPMCI_DGV_WINDOW_PARMSW;
1005 #ifdef __cplusplus
1007 #endif
1009 #endif /* __WINE_DIGITALV_H */