xref: /reactos/sdk/include/psdk/digitalv.h (revision 40462c92)
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 */
869