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