Wait for the asynchronous update thread to complete if the app
[wine] / include / 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19 #ifndef __WINE_DIGITALV_H
20 #define __WINE_DIGITALV_H
21
22 /*
23  * Wine Digital Video extensions
24  */
25
26 #include "mmsystem.h"
27 #include "windef.h"
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 #define MCI_TEST                            0x00000020L
34
35 /* Message values */
36
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
48
49 /* Return and string constant values */
50
51 #define MCI_ON   1
52 #define MCI_OFF  0
53
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
58
59 /* These identifiers are used only by device drivers */
60
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
65
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
70
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
77
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
82
83 /* Window message for signal notification */
84
85 #ifndef MM_MCISIGNAL
86 #define MM_MCISIGNAL                        0x3CB
87 #endif
88
89 /* error values */
90
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)
97
98 /* defines for monitor methods */
99
100 #define MCI_DGV_METHOD_PRE                  0x0000a000L
101 #define MCI_DGV_METHOD_POST                 0x0000a001L
102 #define MCI_DGV_METHOD_DIRECT               0x0000a002L
103
104 /* defines for known file formats */
105
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
114
115 /* values for dwItem field of MCI_CAPABILITY_PARMS structure */
116
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
128
129 /* flags for dwFlags parameter of MCI_CAPTURE command message */
130
131 #define MCI_DGV_CAPTURE_AS                  0x00010000L
132 #define MCI_DGV_CAPTURE_AT                  0x00020000L
133
134 /* flags for dwFlags parameter of MCI_COPY command message */
135
136 #define MCI_DGV_COPY_AT                     0x00010000L
137 #define MCI_DGV_COPY_AUDIO_STREAM           0x00020000L
138 #define MCI_DGV_COPY_VIDEO_STREAM           0x00040000L
139
140 /* flags for dwFlags parameter of MCI_CUE command message */
141
142 #define MCI_DGV_CUE_INPUT                   0x00010000L
143 #define MCI_DGV_CUE_OUTPUT                  0x00020000L
144 #define MCI_DGV_CUE_NOSHOW                  0x00040000L
145
146 /* flags for dwFlags parameter of MCI_CUT command message */
147
148 #define MCI_DGV_CUT_AT                      0x00010000L
149 #define MCI_DGV_CUT_AUDIO_STREAM            0x00020000L
150 #define MCI_DGV_CUT_VIDEO_STREAM            0x00040000L
151
152 /* flags for dwFlags parameter of MCI_DELETE command message */
153
154 #define MCI_DGV_DELETE_AT                   0x00010000L
155 #define MCI_DGV_DELETE_AUDIO_STREAM         0x00020000L
156 #define MCI_DGV_DELETE_VIDEO_STREAM         0x00040000L
157
158 /* flags for dwFlags parameter of MCI_FREEZE command message */
159
160 #define MCI_DGV_FREEZE_AT                   0x00010000L
161 #define MCI_DGV_FREEZE_OUTSIDE              0x00020000L
162
163 /* flags for dwFlags parameter of MCI_INFO command message */
164
165 #define MCI_DGV_INFO_TEXT                   0x00010000L
166 #define MCI_DGV_INFO_ITEM                   0X00020000L
167
168 /* values for dwItem field of MCI_DGV_INFO_PARMS structure */
169
170 #define MCI_INFO_VERSION                    0x00000400L
171
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
179
180 /* flags for dwFlags parameter of MCI_LIST command message */
181
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
186
187 /* values for dwItem field of MCI_DGV_LIST_PARMS structure */
188
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
198
199
200 /* flags for dwFlags parameter of MCI_MONITOR command message */
201
202 #define MCI_DGV_MONITOR_METHOD              0x00010000L
203 #define MCI_DGV_MONITOR_SOURCE              0x00020000L
204
205 /* values for dwSource parameter of the MCI_DGV_MONITOR_PARMS struture */
206
207 #define MCI_DGV_MONITOR_INPUT               0x00004000L
208 #define MCI_DGV_MONITOR_FILE                0x00004001L
209
210 /* flags for dwFlags parameter of MCI_OPEN command message */
211
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
217
218 /* flags for dwFlags parameter of MCI_PASTE command message */
219
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
225
226 /* flags for dwFlags parameter of MCI_PLAY command message */
227
228 #define MCI_DGV_PLAY_REPEAT                 0x00010000L
229 #define MCI_DGV_PLAY_REVERSE                0x00020000L
230
231 /* flags for dwFlags parameter of MCI_PUT command message */
232
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
240
241 /* flags for dwFlags parameter of MCI_QUALITY command message */
242
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
248
249 /* values for dwItem field of MCI_QUALITY_PARMS structure */
250
251 #define MCI_QUALITY_ITEM_AUDIO              0x00004000L
252 #define MCI_QUALITY_ITEM_STILL              0x00004001L
253 #define MCI_QUALITY_ITEM_VIDEO              0x00004002L
254
255 /* flags for dwFlags parameter of MCI_REALIZE command message */
256
257 #define MCI_DGV_REALIZE_NORM                0x00010000L
258 #define MCI_DGV_REALIZE_BKGD                0x00020000L
259
260 /* flags for dwFlags parameter of MCI_RECORD command message */
261
262 #define MCI_DGV_RECORD_HOLD                 0x00020000L
263 #define MCI_DGV_RECORD_AUDIO_STREAM         0x00040000L
264 #define MCI_DGV_RECORD_VIDEO_STREAM         0x00080000L
265
266 /* flags for dwFlags parameters of MCI_RESERVE command message */
267
268 #define MCI_DGV_RESERVE_IN                  0x00010000L
269 #define MCI_DGV_RESERVE_SIZE                0x00020000L
270
271 /* flags for dwFlags parameter of MCI_RESTORE command message */
272
273 #define MCI_DGV_RESTORE_FROM                0x00010000L
274 #define MCI_DGV_RESTORE_AT                  0x00020000L
275
276 /* flags for dwFlags parameters of MCI_SAVE command message */
277
278 #define MCI_DGV_SAVE_ABORT                  0x00020000L
279 #define MCI_DGV_SAVE_KEEPRESERVE            0x00040000L
280
281 /* flags for dwFlags parameters of MCI_SET command message */
282
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
287
288 /* flags for the dwFlags parameter of MCI_SETAUDIO command message */
289
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
301
302 /* values for the dwItem parameter of MCI_DGV_SETAUDIO_PARMS */
303
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
313
314 /* values for the dwValue parameter of MCI_DGV_SETAUDIO_PARMS
315    used with MCI_DGV_SETAUDIO_SOURCE */
316
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
321
322 /* flags for the dwFlags parameter of MCI_SETVIDEO command */
323
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
335
336 /* values for the dwTo field of MCI_SETVIDEO_PARMS
337    used with MCI_DGV_SETVIDEO_SOURCE */
338
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
345
346 /* values for the dwItem field of MCI_SETVIDEO_PARMS */
347
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
361
362 /* flags for the dwFlags parameter of MCI_SIGNAL */
363
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
369
370 /* flags for the dwFlags parameter of MCI_STATUS command */
371
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
380
381 /* values for dwItem field of MCI_STATUS_PARMS structure */
382
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
428
429 /* flags for dwFlags parameter of MCI_STEP command message */
430
431 #define MCI_DGV_STEP_REVERSE                0x00010000L
432 #define MCI_DGV_STEP_FRAMES                 0x00020000L
433
434 /* flags for dwFlags parameter of MCI_STOP command message */
435
436 #define MCI_DGV_STOP_HOLD                   0x00010000L
437
438 /* flags for dwFlags parameter of MCI_UPDATE command message */
439
440 #define MCI_DGV_UPDATE_HDC                  0x00020000L
441 #define MCI_DGV_UPDATE_PAINT                0x00040000L
442
443 /* flags for dwFlags parameter of MCI_WHERE command message */
444
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
451
452 /* flags for dwFlags parameter of MCI_WINDOW command message */
453
454 #define MCI_DGV_WINDOW_HWND                 0x00010000L
455 #define MCI_DGV_WINDOW_STATE                0x00040000L
456 #define MCI_DGV_WINDOW_TEXT                 0x00080000L
457
458 /* flags for hWnd parameter of MCI_DGV_WINDOW_PARMS parameter block */
459
460 #define MCI_DGV_WINDOW_DEFAULT              0x00000000L
461
462 /* parameter block for MCI_WHERE, MCI_PUT, MCI_FREEZE, MCI_UNFREEZE cmds */
463
464 typedef struct {
465     DWORD   dwCallback;
466     RECT16  rc;
467 } MCI_DGV_RECT_PARMS16, *LPMCI_DGV_RECT_PARMS16;
468
469 typedef struct {
470     DWORD   dwCallback;
471     RECT    rc;
472 } MCI_DGV_RECT_PARMS, *LPMCI_DGV_RECT_PARMS;
473
474 /* parameter block for MCI_CAPTURE command message */
475
476 typedef struct {
477     DWORD   dwCallback;
478     LPSTR   lpstrFileName;
479     RECT16  rc;
480 } MCI_DGV_CAPTURE_PARMS16, *LPMCI_DGV_CAPTURE_PARMS16;
481
482 typedef struct {
483     DWORD   dwCallback;
484     LPSTR   lpstrFileName;
485     RECT    rc;
486 } MCI_DGV_CAPTURE_PARMSA, *LPMCI_DGV_CAPTURE_PARMSA;
487
488 typedef struct {
489     DWORD   dwCallback;
490     LPWSTR  lpstrFileName;
491     RECT    rc;
492 } MCI_DGV_CAPTURE_PARMSW, *LPMCI_DGV_CAPTURE_PARMSW;
493
494 DECL_WINELIB_TYPE_AW(MCI_DGV_CAPTURE_PARMS)
495 DECL_WINELIB_TYPE_AW(LPMCI_DGV_CAPTURE_PARMS)
496
497 /* parameter block for MCI_CLOSE command message */
498
499 typedef MCI_GENERIC_PARMS MCI_CLOSE_PARMS, *LPMCI_CLOSE_PARMS;
500
501 /* parameter block for MCI_COPY command message */
502
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;
511
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;
520
521 /* parameter block for MCI_CUE command message */
522
523 typedef struct {
524     DWORD   dwCallback;
525     DWORD   dwTo;
526 } MCI_DGV_CUE_PARMS, *LPMCI_DGV_CUE_PARMS;
527
528 /* parameter block for MCI_CUT command message */
529
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;
538
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;
547
548 /* parameter block for MCI_DELETE command message */
549
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;
558
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;
567
568 /* parameter block for MCI_FREEZE command message */
569
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;
572
573 /* parameter block for MCI_INFO command message */
574
575 typedef struct  {
576     DWORD   dwCallback;
577     LPSTR   lpstrReturn;
578     DWORD   dwRetSize;
579     DWORD   dwItem;
580 } MCI_DGV_INFO_PARMS16, * LPMCI_DGV_INFO_PARMS16;
581
582 typedef struct  {
583     DWORD   dwCallback;
584     LPSTR   lpstrReturn;
585     DWORD   dwRetSize;
586     DWORD   dwItem;
587 } MCI_DGV_INFO_PARMSA, * LPMCI_DGV_INFO_PARMSA;
588
589 typedef struct  {
590     DWORD   dwCallback;
591     LPWSTR  lpstrReturn;
592     DWORD   dwRetSize;
593     DWORD   dwItem;
594 } MCI_DGV_INFO_PARMSW, *LPMCI_DGV_INFO_PARMSW;
595
596 DECL_WINELIB_TYPE_AW(MCI_DGV_INFO_PARMS)
597 DECL_WINELIB_TYPE_AW(LPMCI_DGV_INFO_PARMS)
598
599 /* parameter block for MCI_LIST command message */
600
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;
609
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;
618
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;
627
628 DECL_WINELIB_TYPE_AW(MCI_DGV_LIST_PARMS)
629 DECL_WINELIB_TYPE_AW(LPMCI_DGV_LIST_PARMS)
630
631 /* parameter block for MCI_LOAD command message */
632
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;
636
637 DECL_WINELIB_TYPE_AW(MCI_DGV_LOAD_PARMS)
638 DECL_WINELIB_TYPE_AW(LPMCI_DGV_LOAD_PARMS)
639
640 /* parameter block for MCI_MONITOR command message */
641
642 typedef struct {
643     DWORD   dwCallback;
644     DWORD   dwSource;
645     DWORD   dwMethod;
646 } MCI_DGV_MONITOR_PARMS, * LPMCI_DGV_MONITOR_PARMS;
647
648 /* parameter block for MCI_OPEN command message */
649
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;
661
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;
671
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;
681
682 DECL_WINELIB_TYPE_AW(MCI_DGV_OPEN_PARMS)
683 DECL_WINELIB_TYPE_AW(LPMCI_DGV_OPEN_PARMS)
684
685 /* parameter block for MCI_PAUSE command message */
686
687 typedef MCI_GENERIC_PARMS MCI_DGV_PAUSE_PARMS, * LPMCI_DGV_PAUSE_PARMS;
688
689 /* parameter block for MCI_PASTE command message */
690
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;
698
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;
706
707 /* parameter block for MCI_PLAY command message */
708
709 typedef MCI_PLAY_PARMS MCI_DGV_PLAY_PARMS, * LPMCI_DGV_PLAY_PARMS;
710
711 /* parameter block for MCI_PUT command message */
712
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;
715
716 /* parameter block for MCI_QUALITY command message */
717
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;
725
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;
733
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;
741
742 DECL_WINELIB_TYPE_AW(MCI_DGV_QUALITY_PARMS)
743 DECL_WINELIB_TYPE_AW(LPMCI_DGV_QUALITY_PARMS)
744
745 /* parameter block for MCI_REALIZE command message */
746
747 typedef MCI_GENERIC_PARMS MCI_REALIZE_PARMS, * LPMCI_REALIZE_PARMS;
748
749 /* parameter block for MCI_RECORD command message */
750
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;
759
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;
768
769 /* parameter block for MCI_RESERVE command message */
770
771 typedef struct {
772     DWORD   dwCallback;
773     LPSTR   lpstrPath;
774     DWORD   dwSize;
775 } MCI_DGV_RESERVE_PARMS16, *LPMCI_DGV_RESERVE_PARMS16A;
776
777 typedef struct {
778     DWORD   dwCallback;
779     LPSTR   lpstrPath;
780     DWORD   dwSize;
781 } MCI_DGV_RESERVE_PARMSA, *LPMCI_DGV_RESERVE_PARMSA;
782
783 typedef struct {
784     DWORD   dwCallback;
785     LPWSTR  lpstrPath;
786     DWORD   dwSize;
787 } MCI_DGV_RESERVE_PARMSW, *LPMCI_DGV_RESERVE_PARMSW;
788
789 DECL_WINELIB_TYPE_AW(MCI_DGV_RESERVE_PARMS)
790 DECL_WINELIB_TYPE_AW(LPMCI_DGV_RESERVE_PARMS)
791
792 /* parameter block for MCI_RESTORE command message */
793
794 typedef struct {
795     DWORD   dwCallback;
796     LPSTR   lpstrFileName;
797     RECT16  rc;
798 } MCI_DGV_RESTORE_PARMS16, *LPMCI_DGV_RESTORE_PARMS16;
799
800 typedef struct {
801     DWORD   dwCallback;
802     LPSTR   lpstrFileName;
803     RECT    rc;
804 } MCI_DGV_RESTORE_PARMSA, *LPMCI_DGV_RESTORE_PARMSA;
805
806 typedef struct {
807     DWORD   dwCallback;
808     LPWSTR  lpstrFileName;
809     RECT    rc;
810 } MCI_DGV_RESTORE_PARMSW, *LPMCI_DGV_RESTORE_PARMSW;
811
812 DECL_WINELIB_TYPE_AW(MCI_DGV_RESTORE_PARMS)
813 DECL_WINELIB_TYPE_AW(LPMCI_DGV_RESTORE_PARMS)
814
815 /* parameter block for MCI_RESUME command message */
816
817 typedef MCI_GENERIC_PARMS MCI_DGV_RESUME_PARMS, * LPMCI_DGV_RESUME_PARMS;
818
819 /* parameter block for MCI_SAVE command message */
820
821 typedef struct {
822     DWORD   dwCallback;
823     LPSTR   lpstrFileName;
824     RECT16  rc;
825 } MCI_DGV_SAVE_PARMS16, *LPMCI_DGV_SAVE_PARMS16;
826
827 typedef struct {
828     DWORD   dwCallback;
829     LPSTR   lpstrFileName;
830     RECT    rc;
831 } MCI_DGV_SAVE_PARMSA, *LPMCI_DGV_SAVE_PARMSA;
832
833 typedef struct {
834     DWORD   dwCallback;
835     LPWSTR  lpstrFileName;
836     RECT    rc;
837 } MCI_DGV_SAVE_PARMSW, *LPMCI_DGV_SAVE_PARMSW;
838
839 DECL_WINELIB_TYPE_AW(MCI_DGV_SAVE_PARMS)
840 DECL_WINELIB_TYPE_AW(LPMCI_DGV_SAVE_PARMS)
841
842 /* parameter block for MCI_SET command message */
843
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;
851
852 /* parameter block for MCI_SETAUDIO command message */
853
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;
862
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;
871
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;
880
881 DECL_WINELIB_TYPE_AW(MCI_DGV_SETAUDIO_PARMS)
882 DECL_WINELIB_TYPE_AW(LPMCI_DGV_SETAUDIO_PARMS)
883
884 /* parameter block for MCI_SIGNAL command message */
885
886 typedef struct {
887     DWORD   dwCallback;
888     DWORD   dwPosition;
889     DWORD   dwPeriod;
890     DWORD   dwUserParm;
891 } MCI_DGV_SIGNAL_PARMS, * LPMCI_DGV_SIGNAL_PARMS;
892
893 /* parameter block for MCI_SETVIDEO command message */
894
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;
904
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;
914
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;
924
925 DECL_WINELIB_TYPE_AW(MCI_DGV_SETVIDEO_PARMS)
926 DECL_WINELIB_TYPE_AW(LPMCI_DGV_SETVIDEO_PARMS)
927
928 /* parameter block for MCI_STATUS command message */
929
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;
938
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;
947
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;
956
957 DECL_WINELIB_TYPE_AW(MCI_DGV_STATUS_PARMS)
958 DECL_WINELIB_TYPE_AW(LPMCI_DGV_STATUS_PARMS)
959
960 /* parameter block for MCI_STEP command message */
961
962 typedef struct {
963     DWORD   dwCallback;
964     DWORD   dwFrames;
965 } MCI_DGV_STEP_PARMS, *LPMCI_DGV_STEP_PARMS;
966
967 /* parameter block for MCI_STOP command message */
968
969 typedef MCI_GENERIC_PARMS MCI_DGV_STOP_PARMS, * LPMCI_DGV_STOP_PARMS;
970
971 /* parameter block for MCI_UNFREEZE command message */
972
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;
975
976 /* parameter block for MCI_UPDATE command message */
977
978 typedef struct {
979     DWORD   dwCallback;
980     RECT16  rc;
981     HDC16   hDC;
982     UINT16  wReserved0;
983 } MCI_DGV_UPDATE_PARMS16, * LPMCI_DGV_UPDATE_PARMS16;
984
985 typedef struct {
986     DWORD   dwCallback;
987     RECT    rc;
988     HDC     hDC;
989 } MCI_DGV_UPDATE_PARMS, * LPMCI_DGV_UPDATE_PARMS;
990
991 /* parameter block for MCI_WHERE command message */
992
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;
995
996 /* parameter block for MCI_WINDOW command message */
997
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;
1006
1007 typedef struct {
1008     DWORD   dwCallback;
1009     HWND    hWnd;
1010     UINT    nCmdShow;
1011     LPSTR   lpstrText;
1012 } MCI_DGV_WINDOW_PARMSA, *LPMCI_DGV_WINDOW_PARMSA;
1013
1014 typedef struct {
1015     DWORD   dwCallback;
1016     HWND    hWnd;
1017     UINT    nCmdShow;
1018     LPWSTR  lpstrText;
1019 } MCI_DGV_WINDOW_PARMSW, *LPMCI_DGV_WINDOW_PARMSW;
1020
1021 #ifdef __cplusplus
1022 }
1023 #endif
1024
1025 #endif /* __WINE_DIGITALV_H */