digitalv.h 32.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
/*
 * Copyright (C) 1999 Eric Pouech
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * 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 20 21
#ifndef __WINE_DIGITALV_H
#define __WINE_DIGITALV_H

22 23 24 25
/*
 * Wine Digital Video extensions
 */

26 27
#include <pshpack1.h>

28 29 30 31
#ifdef __cplusplus
extern "C" {
#endif

32
#define MCI_TEST                            __MSABI_LONG(0x00000020)
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

/* Message values */

#define MCI_CAPTURE                         0x0870
#define MCI_MONITOR                         0x0871
#define MCI_RESERVE                         0x0872
#define MCI_SETAUDIO                        0x0873
#define MCI_SIGNAL                          0x0875
#define MCI_SETVIDEO                        0x0876
#define MCI_QUALITY                         0x0877
#define MCI_LIST                            0x0878
#define MCI_UNDO                            0x0879
#define MCI_CONFIGURE                       0x087A
#define MCI_RESTORE                         0x087B

/* Return and string constant values */

#define MCI_ON   1
#define MCI_OFF  0

#define MCI_DGV_FILE_MODE_SAVING            0x0001
#define MCI_DGV_FILE_MODE_LOADING           0x0002
#define MCI_DGV_FILE_MODE_EDITING           0x0003
#define MCI_DGV_FILE_MODE_IDLE              0x0004

/* These identifiers are used only by device drivers */

60 61 62 63
#define MCI_ON_S                            __MSABI_LONG(0x00008000)
#define MCI_OFF_S                           __MSABI_LONG(0x00008001)
#define MCI_DGV_FILE_S                      __MSABI_LONG(0x00008002)
#define MCI_DGV_INPUT_S                     __MSABI_LONG(0x00008003)
64

65 66 67 68
#define MCI_DGV_FILE_MODE_SAVING_S          __MSABI_LONG(0x00008004)
#define MCI_DGV_FILE_MODE_LOADING_S         __MSABI_LONG(0x00008005)
#define MCI_DGV_FILE_MODE_EDITING_S         __MSABI_LONG(0x00008006)
#define MCI_DGV_FILE_MODE_IDLE_S            __MSABI_LONG(0x00008007)
69

70 71 72 73 74 75
#define MCI_DGV_SETVIDEO_SRC_NTSC_S         __MSABI_LONG(0x00008010)
#define MCI_DGV_SETVIDEO_SRC_RGB_S          __MSABI_LONG(0x00008011)
#define MCI_DGV_SETVIDEO_SRC_SVIDEO_S       __MSABI_LONG(0x00008012)
#define MCI_DGV_SETVIDEO_SRC_PAL_S          __MSABI_LONG(0x00008013)
#define MCI_DGV_SETVIDEO_SRC_SECAM_S        __MSABI_LONG(0x00008014)
#define MCI_DGV_SETVIDEO_SRC_GENERIC_S      __MSABI_LONG(0x00008015)
76

77 78 79 80
#define MCI_DGV_SETAUDIO_SRC_LEFT_S         __MSABI_LONG(0x00008020)
#define MCI_DGV_SETAUDIO_SRC_RIGHT_S        __MSABI_LONG(0x00008021)
#define MCI_DGV_SETAUDIO_SRC_AVERAGE_S      __MSABI_LONG(0x00008022)
#define MCI_DGV_SETAUDIO_SRC_STEREO_S       __MSABI_LONG(0x00008023)
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98

/* Window message for signal notification */

#ifndef MM_MCISIGNAL
#define MM_MCISIGNAL                        0x3CB
#endif

/* error values */

#define MCIERR_DGV_DEVICE_LIMIT             (MCIERR_CUSTOM_DRIVER_BASE+0)
#define MCIERR_DGV_IOERR                    (MCIERR_CUSTOM_DRIVER_BASE+1)
#define MCIERR_DGV_WORKSPACE_EMPTY          (MCIERR_CUSTOM_DRIVER_BASE+2)
#define MCIERR_DGV_DISK_FULL                (MCIERR_CUSTOM_DRIVER_BASE+3)
#define MCIERR_DGV_DEVICE_MEMORY_FULL       (MCIERR_CUSTOM_DRIVER_BASE+4)
#define MCIERR_DGV_BAD_CLIPBOARD_RANGE      (MCIERR_CUSTOM_DRIVER_BASE+5)

/* defines for monitor methods */

99 100 101
#define MCI_DGV_METHOD_PRE                  __MSABI_LONG(0x0000a000)
#define MCI_DGV_METHOD_POST                 __MSABI_LONG(0x0000a001)
#define MCI_DGV_METHOD_DIRECT               __MSABI_LONG(0x0000a002)
102 103 104

/* defines for known file formats */

105 106 107 108 109 110 111 112
#define MCI_DGV_FF_AVSS                     __MSABI_LONG(0x00004000)
#define MCI_DGV_FF_AVI                      __MSABI_LONG(0x00004001)
#define MCI_DGV_FF_DIB                      __MSABI_LONG(0x00004002)
#define MCI_DGV_FF_RDIB                     __MSABI_LONG(0x00004003)
#define MCI_DGV_FF_JPEG                     __MSABI_LONG(0x00004004)
#define MCI_DGV_FF_RJPEG                    __MSABI_LONG(0x00004005)
#define MCI_DGV_FF_JFIF                     __MSABI_LONG(0x00004006)
#define MCI_DGV_FF_MPEG                     __MSABI_LONG(0x00004007)
113 114 115

/* values for dwItem field of MCI_CAPABILITY_PARMS structure */

116 117 118 119 120 121 122 123 124 125 126
#define MCI_DGV_GETDEVCAPS_CAN_LOCK         __MSABI_LONG(0x00004000)
#define MCI_DGV_GETDEVCAPS_CAN_STRETCH      __MSABI_LONG(0x00004001)
#define MCI_DGV_GETDEVCAPS_CAN_FREEZE       __MSABI_LONG(0x00004002)
#define MCI_DGV_GETDEVCAPS_MAX_WINDOWS      __MSABI_LONG(0x00004003)
#define MCI_DGV_GETDEVCAPS_CAN_REVERSE      __MSABI_LONG(0x00004004)
#define MCI_DGV_GETDEVCAPS_HAS_STILL        __MSABI_LONG(0x00004005)
#define MCI_DGV_GETDEVCAPS_PALETTES         __MSABI_LONG(0x00004006)
#define MCI_DGV_GETDEVCAPS_CAN_STR_IN       __MSABI_LONG(0x00004008)
#define MCI_DGV_GETDEVCAPS_CAN_TEST         __MSABI_LONG(0x00004009)
#define MCI_DGV_GETDEVCAPS_MAXIMUM_RATE     __MSABI_LONG(0x0000400a)
#define MCI_DGV_GETDEVCAPS_MINIMUM_RATE     __MSABI_LONG(0x0000400b)
127 128 129

/* flags for dwFlags parameter of MCI_CAPTURE command message */

130 131
#define MCI_DGV_CAPTURE_AS                  __MSABI_LONG(0x00010000)
#define MCI_DGV_CAPTURE_AT                  __MSABI_LONG(0x00020000)
132 133 134

/* flags for dwFlags parameter of MCI_COPY command message */

135 136 137
#define MCI_DGV_COPY_AT                     __MSABI_LONG(0x00010000)
#define MCI_DGV_COPY_AUDIO_STREAM           __MSABI_LONG(0x00020000)
#define MCI_DGV_COPY_VIDEO_STREAM           __MSABI_LONG(0x00040000)
138 139 140

/* flags for dwFlags parameter of MCI_CUE command message */

141 142 143
#define MCI_DGV_CUE_INPUT                   __MSABI_LONG(0x00010000)
#define MCI_DGV_CUE_OUTPUT                  __MSABI_LONG(0x00020000)
#define MCI_DGV_CUE_NOSHOW                  __MSABI_LONG(0x00040000)
144 145 146

/* flags for dwFlags parameter of MCI_CUT command message */

147 148 149
#define MCI_DGV_CUT_AT                      __MSABI_LONG(0x00010000)
#define MCI_DGV_CUT_AUDIO_STREAM            __MSABI_LONG(0x00020000)
#define MCI_DGV_CUT_VIDEO_STREAM            __MSABI_LONG(0x00040000)
150 151 152

/* flags for dwFlags parameter of MCI_DELETE command message */

153 154 155
#define MCI_DGV_DELETE_AT                   __MSABI_LONG(0x00010000)
#define MCI_DGV_DELETE_AUDIO_STREAM         __MSABI_LONG(0x00020000)
#define MCI_DGV_DELETE_VIDEO_STREAM         __MSABI_LONG(0x00040000)
156 157 158

/* flags for dwFlags parameter of MCI_FREEZE command message */

159 160
#define MCI_DGV_FREEZE_AT                   __MSABI_LONG(0x00010000)
#define MCI_DGV_FREEZE_OUTSIDE              __MSABI_LONG(0x00020000)
161 162 163

/* flags for dwFlags parameter of MCI_INFO command message */

164 165
#define MCI_DGV_INFO_TEXT                   __MSABI_LONG(0x00010000)
#define MCI_DGV_INFO_ITEM                   __MSABI_LONG(0x00020000)
166 167 168

/* values for dwItem field of MCI_DGV_INFO_PARMS structure */

169
#define MCI_INFO_VERSION                    __MSABI_LONG(0x00000400)
170

171 172 173 174 175 176 177
#define MCI_DGV_INFO_USAGE                  __MSABI_LONG(0x00004000)
#define MCI_DGV_INFO_AUDIO_QUALITY          __MSABI_LONG(0x00004001)
#define MCI_DGV_INFO_STILL_QUALITY          __MSABI_LONG(0x00004002)
#define MCI_DGV_INFO_VIDEO_QUALITY          __MSABI_LONG(0x00004003)
#define MCI_DGV_INFO_AUDIO_ALG              __MSABI_LONG(0x00004004)
#define MCI_DGV_INFO_STILL_ALG              __MSABI_LONG(0x00004005)
#define MCI_DGV_INFO_VIDEO_ALG              __MSABI_LONG(0x00004006)
178 179 180

/* flags for dwFlags parameter of MCI_LIST command message */

181 182 183 184
#define MCI_DGV_LIST_ITEM                   __MSABI_LONG(0x00010000)
#define MCI_DGV_LIST_COUNT                  __MSABI_LONG(0x00020000)
#define MCI_DGV_LIST_NUMBER                 __MSABI_LONG(0x00040000)
#define MCI_DGV_LIST_ALG                    __MSABI_LONG(0x00080000)
185 186 187

/* values for dwItem field of MCI_DGV_LIST_PARMS structure */

188 189 190 191 192 193 194 195 196
#define MCI_DGV_LIST_AUDIO_ALG              __MSABI_LONG(0x00004000)
#define MCI_DGV_LIST_AUDIO_QUALITY          __MSABI_LONG(0x00004001)
#define MCI_DGV_LIST_AUDIO_STREAM           __MSABI_LONG(0x00004002)
#define MCI_DGV_LIST_STILL_ALG              __MSABI_LONG(0x00004003)
#define MCI_DGV_LIST_STILL_QUALITY          __MSABI_LONG(0x00004004)
#define MCI_DGV_LIST_VIDEO_ALG              __MSABI_LONG(0x00004005)
#define MCI_DGV_LIST_VIDEO_QUALITY          __MSABI_LONG(0x00004006)
#define MCI_DGV_LIST_VIDEO_STREAM           __MSABI_LONG(0x00004007)
#define MCI_DGV_LIST_VIDEO_SOURCE           __MSABI_LONG(0x00004008)
197 198 199 200


/* flags for dwFlags parameter of MCI_MONITOR command message */

201 202
#define MCI_DGV_MONITOR_METHOD              __MSABI_LONG(0x00010000)
#define MCI_DGV_MONITOR_SOURCE              __MSABI_LONG(0x00020000)
203

Zach Goldberg's avatar
Zach Goldberg committed
204
/* values for dwSource parameter of the MCI_DGV_MONITOR_PARMS structure */
205

206 207
#define MCI_DGV_MONITOR_INPUT               __MSABI_LONG(0x00004000)
#define MCI_DGV_MONITOR_FILE                __MSABI_LONG(0x00004001)
208 209 210

/* flags for dwFlags parameter of MCI_OPEN command message */

211 212 213 214 215
#define MCI_DGV_OPEN_WS                     __MSABI_LONG(0x00010000)
#define MCI_DGV_OPEN_PARENT                 __MSABI_LONG(0x00020000)
#define MCI_DGV_OPEN_NOSTATIC               __MSABI_LONG(0x00040000)
#define MCI_DGV_OPEN_16BIT                  __MSABI_LONG(0x00080000)
#define MCI_DGV_OPEN_32BIT                  __MSABI_LONG(0x00100000)
216 217 218

/* flags for dwFlags parameter of MCI_PASTE command message */

219 220 221 222 223
#define MCI_DGV_PASTE_AT                    __MSABI_LONG(0x00010000)
#define MCI_DGV_PASTE_AUDIO_STREAM          __MSABI_LONG(0x00020000)
#define MCI_DGV_PASTE_VIDEO_STREAM          __MSABI_LONG(0x00040000)
#define MCI_DGV_PASTE_INSERT                __MSABI_LONG(0x00080000)
#define MCI_DGV_PASTE_OVERWRITE             __MSABI_LONG(0x00100000)
224 225 226

/* flags for dwFlags parameter of MCI_PLAY command message */

227 228
#define MCI_DGV_PLAY_REPEAT                 __MSABI_LONG(0x00010000)
#define MCI_DGV_PLAY_REVERSE                __MSABI_LONG(0x00020000)
229 230 231

/* flags for dwFlags parameter of MCI_PUT command message */

232 233 234 235 236 237 238
#define MCI_DGV_RECT                        __MSABI_LONG(0x00010000)
#define MCI_DGV_PUT_SOURCE                  __MSABI_LONG(0x00020000)
#define MCI_DGV_PUT_DESTINATION             __MSABI_LONG(0x00040000)
#define MCI_DGV_PUT_FRAME                   __MSABI_LONG(0x00080000)
#define MCI_DGV_PUT_VIDEO                   __MSABI_LONG(0x00100000)
#define MCI_DGV_PUT_WINDOW                  __MSABI_LONG(0x00200000)
#define MCI_DGV_PUT_CLIENT                  __MSABI_LONG(0x00400000)
239 240 241

/* flags for dwFlags parameter of MCI_QUALITY command message */

242 243 244 245 246
#define MCI_QUALITY_ITEM                    __MSABI_LONG(0x00010000)
#define MCI_QUALITY_NAME                    __MSABI_LONG(0x00020000)
#define MCI_QUALITY_ALG                     __MSABI_LONG(0x00040000)
#define MCI_QUALITY_DIALOG                  __MSABI_LONG(0x00080000)
#define MCI_QUALITY_HANDLE                  __MSABI_LONG(0x00100000)
247 248 249

/* values for dwItem field of MCI_QUALITY_PARMS structure */

250 251 252
#define MCI_QUALITY_ITEM_AUDIO              __MSABI_LONG(0x00004000)
#define MCI_QUALITY_ITEM_STILL              __MSABI_LONG(0x00004001)
#define MCI_QUALITY_ITEM_VIDEO              __MSABI_LONG(0x00004002)
253 254 255

/* flags for dwFlags parameter of MCI_REALIZE command message */

256 257
#define MCI_DGV_REALIZE_NORM                __MSABI_LONG(0x00010000)
#define MCI_DGV_REALIZE_BKGD                __MSABI_LONG(0x00020000)
258 259 260

/* flags for dwFlags parameter of MCI_RECORD command message */

261 262 263
#define MCI_DGV_RECORD_HOLD                 __MSABI_LONG(0x00020000)
#define MCI_DGV_RECORD_AUDIO_STREAM         __MSABI_LONG(0x00040000)
#define MCI_DGV_RECORD_VIDEO_STREAM         __MSABI_LONG(0x00080000)
264 265 266

/* flags for dwFlags parameters of MCI_RESERVE command message */

267 268
#define MCI_DGV_RESERVE_IN                  __MSABI_LONG(0x00010000)
#define MCI_DGV_RESERVE_SIZE                __MSABI_LONG(0x00020000)
269 270 271

/* flags for dwFlags parameter of MCI_RESTORE command message */

272 273
#define MCI_DGV_RESTORE_FROM                __MSABI_LONG(0x00010000)
#define MCI_DGV_RESTORE_AT                  __MSABI_LONG(0x00020000)
274 275 276

/* flags for dwFlags parameters of MCI_SAVE command message */

277 278
#define MCI_DGV_SAVE_ABORT                  __MSABI_LONG(0x00020000)
#define MCI_DGV_SAVE_KEEPRESERVE            __MSABI_LONG(0x00040000)
279 280 281

/* flags for dwFlags parameters of MCI_SET command message */

282 283 284 285
#define MCI_DGV_SET_SEEK_EXACTLY            __MSABI_LONG(0x00010000)
#define MCI_DGV_SET_SPEED                   __MSABI_LONG(0x00020000)
#define MCI_DGV_SET_STILL                   __MSABI_LONG(0x00040000)
#define MCI_DGV_SET_FILEFORMAT              __MSABI_LONG(0x00080000)
286 287 288

/* flags for the dwFlags parameter of MCI_SETAUDIO command message */

289 290 291 292 293 294 295 296 297 298 299
#define MCI_DGV_SETAUDIO_OVER               __MSABI_LONG(0x00010000)
#define MCI_DGV_SETAUDIO_CLOCKTIME          __MSABI_LONG(0x00020000)
#define MCI_DGV_SETAUDIO_ALG                __MSABI_LONG(0x00040000)
#define MCI_DGV_SETAUDIO_QUALITY            __MSABI_LONG(0x00080000)
#define MCI_DGV_SETAUDIO_RECORD             __MSABI_LONG(0x00100000)
#define MCI_DGV_SETAUDIO_LEFT               __MSABI_LONG(0x00200000)
#define MCI_DGV_SETAUDIO_RIGHT              __MSABI_LONG(0x00400000)
#define MCI_DGV_SETAUDIO_ITEM               __MSABI_LONG(0x00800000)
#define MCI_DGV_SETAUDIO_VALUE              __MSABI_LONG(0x01000000)
#define MCI_DGV_SETAUDIO_INPUT              __MSABI_LONG(0x02000000)
#define MCI_DGV_SETAUDIO_OUTPUT             __MSABI_LONG(0x04000000)
300 301 302

/* values for the dwItem parameter of MCI_DGV_SETAUDIO_PARMS */

303 304 305 306 307 308 309 310 311
#define MCI_DGV_SETAUDIO_TREBLE             __MSABI_LONG(0x00004000)
#define MCI_DGV_SETAUDIO_BASS               __MSABI_LONG(0x00004001)
#define MCI_DGV_SETAUDIO_VOLUME             __MSABI_LONG(0x00004002)
#define MCI_DGV_SETAUDIO_STREAM             __MSABI_LONG(0x00004003)
#define MCI_DGV_SETAUDIO_SOURCE             __MSABI_LONG(0x00004004)
#define MCI_DGV_SETAUDIO_SAMPLESPERSEC      __MSABI_LONG(0x00004005)
#define MCI_DGV_SETAUDIO_AVGBYTESPERSEC     __MSABI_LONG(0x00004006)
#define MCI_DGV_SETAUDIO_BLOCKALIGN         __MSABI_LONG(0x00004007)
#define MCI_DGV_SETAUDIO_BITSPERSAMPLE      __MSABI_LONG(0x00004008)
312 313 314 315

/* values for the dwValue parameter of MCI_DGV_SETAUDIO_PARMS
   used with MCI_DGV_SETAUDIO_SOURCE */

316 317 318 319
#define MCI_DGV_SETAUDIO_SOURCE_STEREO      __MSABI_LONG(0x00000000)
#define MCI_DGV_SETAUDIO_SOURCE_LEFT        __MSABI_LONG(0x00000001)
#define MCI_DGV_SETAUDIO_SOURCE_RIGHT       __MSABI_LONG(0x00000002)
#define MCI_DGV_SETAUDIO_SOURCE_AVERAGE     __MSABI_LONG(0x00004000)
320 321 322

/* flags for the dwFlags parameter of MCI_SETVIDEO command */

323 324 325 326 327 328 329 330 331 332 333
#define MCI_DGV_SETVIDEO_QUALITY            __MSABI_LONG(0x00010000)
#define MCI_DGV_SETVIDEO_ALG                __MSABI_LONG(0x00020000)
#define MCI_DGV_SETVIDEO_CLOCKTIME          __MSABI_LONG(0x00040000)
#define MCI_DGV_SETVIDEO_SRC_NUMBER         __MSABI_LONG(0x00080000)
#define MCI_DGV_SETVIDEO_ITEM               __MSABI_LONG(0x00100000)
#define MCI_DGV_SETVIDEO_OVER               __MSABI_LONG(0x00200000)
#define MCI_DGV_SETVIDEO_RECORD             __MSABI_LONG(0x00400000)
#define MCI_DGV_SETVIDEO_STILL              __MSABI_LONG(0x00800000)
#define MCI_DGV_SETVIDEO_VALUE              __MSABI_LONG(0x01000000)
#define MCI_DGV_SETVIDEO_INPUT              __MSABI_LONG(0x02000000)
#define MCI_DGV_SETVIDEO_OUTPUT             __MSABI_LONG(0x04000000)
334 335 336 337

/* values for the dwTo field of MCI_SETVIDEO_PARMS
   used with MCI_DGV_SETVIDEO_SOURCE */

338 339 340 341 342 343
#define MCI_DGV_SETVIDEO_SRC_NTSC           __MSABI_LONG(0x00004000)
#define MCI_DGV_SETVIDEO_SRC_RGB            __MSABI_LONG(0x00004001)
#define MCI_DGV_SETVIDEO_SRC_SVIDEO         __MSABI_LONG(0x00004002)
#define MCI_DGV_SETVIDEO_SRC_PAL            __MSABI_LONG(0x00004003)
#define MCI_DGV_SETVIDEO_SRC_SECAM          __MSABI_LONG(0x00004004)
#define MCI_DGV_SETVIDEO_SRC_GENERIC        __MSABI_LONG(0x00004005)
344 345 346

/* values for the dwItem field of MCI_SETVIDEO_PARMS */

347 348 349 350 351 352 353 354 355 356 357 358 359
#define MCI_DGV_SETVIDEO_BRIGHTNESS         __MSABI_LONG(0x00004000)
#define MCI_DGV_SETVIDEO_COLOR              __MSABI_LONG(0x00004001)
#define MCI_DGV_SETVIDEO_CONTRAST           __MSABI_LONG(0x00004002)
#define MCI_DGV_SETVIDEO_TINT               __MSABI_LONG(0x00004003)
#define MCI_DGV_SETVIDEO_SHARPNESS          __MSABI_LONG(0x00004004)
#define MCI_DGV_SETVIDEO_GAMMA              __MSABI_LONG(0x00004005)
#define MCI_DGV_SETVIDEO_STREAM             __MSABI_LONG(0x00004006)
#define MCI_DGV_SETVIDEO_PALHANDLE          __MSABI_LONG(0x00004007)
#define MCI_DGV_SETVIDEO_FRAME_RATE         __MSABI_LONG(0x00004008)
#define MCI_DGV_SETVIDEO_SOURCE             __MSABI_LONG(0x00004009)
#define MCI_DGV_SETVIDEO_KEY_INDEX          __MSABI_LONG(0x0000400a)
#define MCI_DGV_SETVIDEO_KEY_COLOR          __MSABI_LONG(0x0000400b)
#define MCI_DGV_SETVIDEO_BITSPERPEL         __MSABI_LONG(0x0000400c)
360 361 362

/* flags for the dwFlags parameter of MCI_SIGNAL */

363 364 365 366 367
#define MCI_DGV_SIGNAL_AT                   __MSABI_LONG(0x00010000)
#define MCI_DGV_SIGNAL_EVERY                __MSABI_LONG(0x00020000)
#define MCI_DGV_SIGNAL_USERVAL              __MSABI_LONG(0x00040000)
#define MCI_DGV_SIGNAL_CANCEL               __MSABI_LONG(0x00080000)
#define MCI_DGV_SIGNAL_POSITION             __MSABI_LONG(0x00100000)
368 369 370

/* flags for the dwFlags parameter of MCI_STATUS command */

371 372 373 374 375 376 377 378
#define MCI_DGV_STATUS_NOMINAL              __MSABI_LONG(0x00020000)
#define MCI_DGV_STATUS_REFERENCE            __MSABI_LONG(0x00040000)
#define MCI_DGV_STATUS_LEFT                 __MSABI_LONG(0x00080000)
#define MCI_DGV_STATUS_RIGHT                __MSABI_LONG(0x00100000)
#define MCI_DGV_STATUS_DISKSPACE            __MSABI_LONG(0x00200000)
#define MCI_DGV_STATUS_INPUT                __MSABI_LONG(0x00400000)
#define MCI_DGV_STATUS_OUTPUT               __MSABI_LONG(0x00800000)
#define MCI_DGV_STATUS_RECORD               __MSABI_LONG(0x01000000)
379 380 381

/* values for dwItem field of MCI_STATUS_PARMS structure */

382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426
#define MCI_DGV_STATUS_AUDIO_INPUT          __MSABI_LONG(0x00004000)
#define MCI_DGV_STATUS_HWND                 __MSABI_LONG(0x00004001)
#define MCI_DGV_STATUS_SPEED                __MSABI_LONG(0x00004003)
#define MCI_DGV_STATUS_HPAL                 __MSABI_LONG(0x00004004)
#define MCI_DGV_STATUS_BRIGHTNESS           __MSABI_LONG(0x00004005)
#define MCI_DGV_STATUS_COLOR                __MSABI_LONG(0x00004006)
#define MCI_DGV_STATUS_CONTRAST             __MSABI_LONG(0x00004007)
#define MCI_DGV_STATUS_FILEFORMAT           __MSABI_LONG(0x00004008)
#define MCI_DGV_STATUS_AUDIO_SOURCE         __MSABI_LONG(0x00004009)
#define MCI_DGV_STATUS_GAMMA                __MSABI_LONG(0x0000400a)
#define MCI_DGV_STATUS_MONITOR              __MSABI_LONG(0x0000400b)
#define MCI_DGV_STATUS_MONITOR_METHOD       __MSABI_LONG(0x0000400c)
#define MCI_DGV_STATUS_FRAME_RATE           __MSABI_LONG(0x0000400e)
#define MCI_DGV_STATUS_BASS                 __MSABI_LONG(0x0000400f)
#define MCI_DGV_STATUS_SIZE                 __MSABI_LONG(0x00004010)
#define MCI_DGV_STATUS_SEEK_EXACTLY         __MSABI_LONG(0x00004011)
#define MCI_DGV_STATUS_SHARPNESS            __MSABI_LONG(0x00004012)
#define MCI_DGV_STATUS_SMPTE                __MSABI_LONG(0x00004013)
#define MCI_DGV_STATUS_AUDIO                __MSABI_LONG(0x00004014)
#define MCI_DGV_STATUS_TINT                 __MSABI_LONG(0x00004015)
#define MCI_DGV_STATUS_TREBLE               __MSABI_LONG(0x00004016)
#define MCI_DGV_STATUS_UNSAVED              __MSABI_LONG(0x00004017)
#define MCI_DGV_STATUS_VIDEO                __MSABI_LONG(0x00004018)
#define MCI_DGV_STATUS_VOLUME               __MSABI_LONG(0x00004019)
#define MCI_DGV_STATUS_AUDIO_RECORD         __MSABI_LONG(0x0000401a)
#define MCI_DGV_STATUS_VIDEO_SOURCE         __MSABI_LONG(0x0000401b)
#define MCI_DGV_STATUS_VIDEO_RECORD         __MSABI_LONG(0x0000401c)
#define MCI_DGV_STATUS_STILL_FILEFORMAT     __MSABI_LONG(0x0000401d)
#define MCI_DGV_STATUS_VIDEO_SRC_NUM        __MSABI_LONG(0x0000401e)
#define MCI_DGV_STATUS_FILE_MODE            __MSABI_LONG(0x0000401f)
#define MCI_DGV_STATUS_FILE_COMPLETION      __MSABI_LONG(0x00004020)
#define MCI_DGV_STATUS_WINDOW_VISIBLE       __MSABI_LONG(0x00004021)
#define MCI_DGV_STATUS_WINDOW_MINIMIZED     __MSABI_LONG(0x00004022)
#define MCI_DGV_STATUS_WINDOW_MAXIMIZED     __MSABI_LONG(0x00004023)
#define MCI_DGV_STATUS_KEY_INDEX            __MSABI_LONG(0x00004024)
#define MCI_DGV_STATUS_KEY_COLOR            __MSABI_LONG(0x00004025)
#define MCI_DGV_STATUS_PAUSE_MODE           __MSABI_LONG(0x00004026)
#define MCI_DGV_STATUS_SAMPLESPERSEC        __MSABI_LONG(0x00004027)
#define MCI_DGV_STATUS_AVGBYTESPERSEC       __MSABI_LONG(0x00004028)
#define MCI_DGV_STATUS_BLOCKALIGN           __MSABI_LONG(0x00004029)
#define MCI_DGV_STATUS_BITSPERSAMPLE        __MSABI_LONG(0x0000402a)
#define MCI_DGV_STATUS_BITSPERPEL           __MSABI_LONG(0x0000402b)
#define MCI_DGV_STATUS_FORWARD              __MSABI_LONG(0x0000402c)
#define MCI_DGV_STATUS_AUDIO_STREAM         __MSABI_LONG(0x0000402d)
#define MCI_DGV_STATUS_VIDEO_STREAM         __MSABI_LONG(0x0000402e)
427 428 429

/* flags for dwFlags parameter of MCI_STEP command message */

430 431
#define MCI_DGV_STEP_REVERSE                __MSABI_LONG(0x00010000)
#define MCI_DGV_STEP_FRAMES                 __MSABI_LONG(0x00020000)
432 433 434

/* flags for dwFlags parameter of MCI_STOP command message */

435
#define MCI_DGV_STOP_HOLD                   __MSABI_LONG(0x00010000)
436 437 438

/* flags for dwFlags parameter of MCI_UPDATE command message */

439 440
#define MCI_DGV_UPDATE_HDC                  __MSABI_LONG(0x00020000)
#define MCI_DGV_UPDATE_PAINT                __MSABI_LONG(0x00040000)
441 442 443

/* flags for dwFlags parameter of MCI_WHERE command message */

444 445 446 447 448 449
#define MCI_DGV_WHERE_SOURCE                __MSABI_LONG(0x00020000)
#define MCI_DGV_WHERE_DESTINATION           __MSABI_LONG(0x00040000)
#define MCI_DGV_WHERE_FRAME                 __MSABI_LONG(0x00080000)
#define MCI_DGV_WHERE_VIDEO                 __MSABI_LONG(0x00100000)
#define MCI_DGV_WHERE_WINDOW                __MSABI_LONG(0x00200000)
#define MCI_DGV_WHERE_MAX                   __MSABI_LONG(0x00400000)
450 451 452

/* flags for dwFlags parameter of MCI_WINDOW command message */

453 454 455
#define MCI_DGV_WINDOW_HWND                 __MSABI_LONG(0x00010000)
#define MCI_DGV_WINDOW_STATE                __MSABI_LONG(0x00040000)
#define MCI_DGV_WINDOW_TEXT                 __MSABI_LONG(0x00080000)
456 457 458

/* flags for hWnd parameter of MCI_DGV_WINDOW_PARMS parameter block */

459
#define MCI_DGV_WINDOW_DEFAULT              __MSABI_LONG(0x00000000)
460 461 462 463

/* parameter block for MCI_WHERE, MCI_PUT, MCI_FREEZE, MCI_UNFREEZE cmds */

typedef struct {
464
    DWORD_PTR dwCallback;
465 466 467 468 469 470
    RECT    rc;
} MCI_DGV_RECT_PARMS, *LPMCI_DGV_RECT_PARMS;

/* parameter block for MCI_CAPTURE command message */

typedef struct {
471
    DWORD_PTR dwCallback;
472 473 474 475 476
    LPSTR   lpstrFileName;
    RECT    rc;
} MCI_DGV_CAPTURE_PARMSA, *LPMCI_DGV_CAPTURE_PARMSA;

typedef struct {
477
    DWORD_PTR dwCallback;
478 479 480 481 482 483 484 485 486 487 488 489 490 491
    LPWSTR  lpstrFileName;
    RECT    rc;
} MCI_DGV_CAPTURE_PARMSW, *LPMCI_DGV_CAPTURE_PARMSW;

DECL_WINELIB_TYPE_AW(MCI_DGV_CAPTURE_PARMS)
DECL_WINELIB_TYPE_AW(LPMCI_DGV_CAPTURE_PARMS)

/* parameter block for MCI_CLOSE command message */

typedef MCI_GENERIC_PARMS MCI_CLOSE_PARMS, *LPMCI_CLOSE_PARMS;

/* parameter block for MCI_COPY command message */

typedef struct {
492
    DWORD_PTR dwCallback;
493 494 495 496 497 498 499 500 501 502
    DWORD   dwFrom;
    DWORD   dwTo;
    RECT    rc;
    DWORD   dwAudioStream;
    DWORD   dwVideoStream;
} MCI_DGV_COPY_PARMS, *LPMCI_DGV_COPY_PARMS;

/* parameter block for MCI_CUE command message */

typedef struct {
503
    DWORD_PTR dwCallback;
504 505 506 507 508 509
    DWORD   dwTo;
} MCI_DGV_CUE_PARMS, *LPMCI_DGV_CUE_PARMS;

/* parameter block for MCI_CUT command message */

typedef struct {
510
    DWORD_PTR dwCallback;
511 512 513 514 515 516 517 518 519 520
    DWORD   dwFrom;
    DWORD   dwTo;
    RECT    rc;
    DWORD   dwAudioStream;
    DWORD   dwVideoStream;
} MCI_DGV_CUT_PARMS, * LPMCI_DGV_CUT_PARMS;

/* parameter block for MCI_DELETE command message */

typedef struct {
521
    DWORD_PTR dwCallback;
522 523 524 525 526 527 528 529 530 531 532 533 534 535
    DWORD   dwFrom;
    DWORD   dwTo;
    RECT    rc;
    DWORD   dwAudioStream;
    DWORD   dwVideoStream;
} MCI_DGV_DELETE_PARMS, * LPMCI_DGV_DELETE_PARMS;

/* parameter block for MCI_FREEZE command message */

typedef MCI_DGV_RECT_PARMS MCI_DGV_FREEZE_PARMS, * LPMCI_DGV_FREEZE_PARMS;

/* parameter block for MCI_INFO command message */

typedef struct  {
536
    DWORD_PTR dwCallback;
537 538 539 540 541 542
    LPSTR   lpstrReturn;
    DWORD   dwRetSize;
    DWORD   dwItem;
} MCI_DGV_INFO_PARMSA, * LPMCI_DGV_INFO_PARMSA;

typedef struct  {
543
    DWORD_PTR dwCallback;
544 545 546 547 548 549 550 551 552 553 554
    LPWSTR  lpstrReturn;
    DWORD   dwRetSize;
    DWORD   dwItem;
} MCI_DGV_INFO_PARMSW, *LPMCI_DGV_INFO_PARMSW;

DECL_WINELIB_TYPE_AW(MCI_DGV_INFO_PARMS)
DECL_WINELIB_TYPE_AW(LPMCI_DGV_INFO_PARMS)

/* parameter block for MCI_LIST command message */

typedef struct {
555
    DWORD_PTR dwCallback;
556 557 558 559 560 561 562 563
    LPSTR   lpstrReturn;
    DWORD   dwLength;
    DWORD   dwNumber;
    DWORD   dwItem;
    LPSTR   lpstrAlgorithm;
} MCI_DGV_LIST_PARMSA, *LPMCI_DGV_LIST_PARMSA;

typedef struct {
564
    DWORD_PTR dwCallback;
565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585
    LPWSTR  lpstrReturn;
    DWORD   dwLength;
    DWORD   dwNumber;
    DWORD   dwItem;
    LPWSTR  lpstrAlgorithm;
} MCI_DGV_LIST_PARMSW, *LPMCI_DGV_LIST_PARMSW;

DECL_WINELIB_TYPE_AW(MCI_DGV_LIST_PARMS)
DECL_WINELIB_TYPE_AW(LPMCI_DGV_LIST_PARMS)

/* parameter block for MCI_LOAD command message */

typedef MCI_LOAD_PARMSA MCI_DGV_LOAD_PARMSA, * LPMCI_DGV_LOAD_PARMSA;
typedef MCI_LOAD_PARMSW MCI_DGV_LOAD_PARMSW, * LPMCI_DGV_LOAD_PARMSW;

DECL_WINELIB_TYPE_AW(MCI_DGV_LOAD_PARMS)
DECL_WINELIB_TYPE_AW(LPMCI_DGV_LOAD_PARMS)

/* parameter block for MCI_MONITOR command message */

typedef struct {
586
    DWORD_PTR dwCallback;
587 588 589 590 591 592 593
    DWORD   dwSource;
    DWORD   dwMethod;
} MCI_DGV_MONITOR_PARMS, * LPMCI_DGV_MONITOR_PARMS;

/* parameter block for MCI_OPEN command message */

typedef struct {
594
    DWORD_PTR dwCallback;
595 596 597 598 599 600 601 602 603
    UINT    wDeviceID;
    LPSTR   lpstrDeviceType;
    LPSTR   lpstrElementName;
    LPSTR   lpstrAlias;
    DWORD   dwStyle;
    HWND  hWndParent;
} MCI_DGV_OPEN_PARMSA, *LPMCI_DGV_OPEN_PARMSA;

typedef struct {
604
    DWORD_PTR dwCallback;
605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622
    UINT    wDeviceID;
    LPWSTR  lpstrDeviceType;
    LPWSTR  lpstrElementName;
    LPWSTR  lpstrAlias;
    DWORD   dwStyle;
    HWND  hWndParent;
} MCI_DGV_OPEN_PARMSW, *LPMCI_DGV_OPEN_PARMSW;

DECL_WINELIB_TYPE_AW(MCI_DGV_OPEN_PARMS)
DECL_WINELIB_TYPE_AW(LPMCI_DGV_OPEN_PARMS)

/* parameter block for MCI_PAUSE command message */

typedef MCI_GENERIC_PARMS MCI_DGV_PAUSE_PARMS, * LPMCI_DGV_PAUSE_PARMS;

/* parameter block for MCI_PASTE command message */

typedef struct {
623
    DWORD_PTR dwCallback;
624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640
    DWORD   dwTo;
    RECT    rc;
    DWORD   dwAudioStream;
    DWORD   dwVideoStream;
} MCI_DGV_PASTE_PARMS, * LPMCI_DGV_PASTE_PARMS;

/* parameter block for MCI_PLAY command message */

typedef MCI_PLAY_PARMS MCI_DGV_PLAY_PARMS, * LPMCI_DGV_PLAY_PARMS;

/* parameter block for MCI_PUT command message */

typedef MCI_DGV_RECT_PARMS MCI_DGV_PUT_PARMS, * LPMCI_DGV_PUT_PARMS;

/* parameter block for MCI_QUALITY command message */

typedef struct {
641
    DWORD_PTR   dwCallback;
642 643 644 645 646 647 648
    DWORD       dwItem;
    LPSTR       lpstrName;
    DWORD       lpstrAlgorithm;
    DWORD       dwHandle;
} MCI_DGV_QUALITY_PARMSA, *LPMCI_DGV_QUALITY_PARMSA;

typedef struct {
649
    DWORD_PTR   dwCallback;
650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665
    DWORD       dwItem;
    LPWSTR      lpstrName;
    DWORD       lpstrAlgorithm;
    DWORD       dwHandle;
} MCI_DGV_QUALITY_PARMSW, *LPMCI_DGV_QUALITY_PARMSW;

DECL_WINELIB_TYPE_AW(MCI_DGV_QUALITY_PARMS)
DECL_WINELIB_TYPE_AW(LPMCI_DGV_QUALITY_PARMS)

/* parameter block for MCI_REALIZE command message */

typedef MCI_GENERIC_PARMS MCI_REALIZE_PARMS, * LPMCI_REALIZE_PARMS;

/* parameter block for MCI_RECORD command message */

typedef struct {
666
    DWORD_PTR dwCallback;
667 668 669 670 671 672 673 674 675 676
    DWORD   dwFrom;
    DWORD   dwTo;
    RECT    rc;
    DWORD   dwAudioStream;
    DWORD   dwVideoStream;
} MCI_DGV_RECORD_PARMS, * LPMCI_DGV_RECORD_PARMS;

/* parameter block for MCI_RESERVE command message */

typedef struct {
677
    DWORD_PTR dwCallback;
678 679 680 681 682
    LPSTR   lpstrPath;
    DWORD   dwSize;
} MCI_DGV_RESERVE_PARMSA, *LPMCI_DGV_RESERVE_PARMSA;

typedef struct {
683
    DWORD_PTR dwCallback;
684 685 686 687 688 689 690 691 692 693
    LPWSTR  lpstrPath;
    DWORD   dwSize;
} MCI_DGV_RESERVE_PARMSW, *LPMCI_DGV_RESERVE_PARMSW;

DECL_WINELIB_TYPE_AW(MCI_DGV_RESERVE_PARMS)
DECL_WINELIB_TYPE_AW(LPMCI_DGV_RESERVE_PARMS)

/* parameter block for MCI_RESTORE command message */

typedef struct {
694
    DWORD_PTR dwCallback;
695 696 697 698 699
    LPSTR   lpstrFileName;
    RECT    rc;
} MCI_DGV_RESTORE_PARMSA, *LPMCI_DGV_RESTORE_PARMSA;

typedef struct {
700
    DWORD_PTR dwCallback;
701 702 703 704 705 706 707 708 709 710 711 712 713 714
    LPWSTR  lpstrFileName;
    RECT    rc;
} MCI_DGV_RESTORE_PARMSW, *LPMCI_DGV_RESTORE_PARMSW;

DECL_WINELIB_TYPE_AW(MCI_DGV_RESTORE_PARMS)
DECL_WINELIB_TYPE_AW(LPMCI_DGV_RESTORE_PARMS)

/* parameter block for MCI_RESUME command message */

typedef MCI_GENERIC_PARMS MCI_DGV_RESUME_PARMS, * LPMCI_DGV_RESUME_PARMS;

/* parameter block for MCI_SAVE command message */

typedef struct {
715
    DWORD_PTR dwCallback;
716 717 718 719 720
    LPSTR   lpstrFileName;
    RECT    rc;
} MCI_DGV_SAVE_PARMSA, *LPMCI_DGV_SAVE_PARMSA;

typedef struct {
721
    DWORD_PTR dwCallback;
722 723 724 725 726 727 728 729 730 731
    LPWSTR  lpstrFileName;
    RECT    rc;
} MCI_DGV_SAVE_PARMSW, *LPMCI_DGV_SAVE_PARMSW;

DECL_WINELIB_TYPE_AW(MCI_DGV_SAVE_PARMS)
DECL_WINELIB_TYPE_AW(LPMCI_DGV_SAVE_PARMS)

/* parameter block for MCI_SET command message */

typedef struct {
732
    DWORD_PTR dwCallback;
733 734 735 736 737 738 739 740 741
    DWORD   dwTimeFormat;
    DWORD   dwAudio;
    DWORD   dwFileFormat;
    DWORD   dwSpeed;
} MCI_DGV_SET_PARMS, *LPMCI_DGV_SET_PARMS;

/* parameter block for MCI_SETAUDIO command message */

typedef struct {
742
    DWORD_PTR dwCallback;
743 744 745 746 747 748 749 750
    DWORD   dwItem;
    DWORD   dwValue;
    DWORD   dwOver;
    LPSTR   lpstrAlgorithm;
    LPSTR   lpstrQuality;
} MCI_DGV_SETAUDIO_PARMSA, *LPMCI_DGV_SETAUDIO_PARMSA;

typedef struct {
751
    DWORD_PTR dwCallback;
752 753 754 755 756 757 758 759 760 761 762 763 764
    DWORD   dwItem;
    DWORD   dwValue;
    DWORD   dwOver;
    LPWSTR  lpstrAlgorithm;
    LPWSTR  lpstrQuality;
} MCI_DGV_SETAUDIO_PARMSW, *LPMCI_DGV_SETAUDIO_PARMSW;

DECL_WINELIB_TYPE_AW(MCI_DGV_SETAUDIO_PARMS)
DECL_WINELIB_TYPE_AW(LPMCI_DGV_SETAUDIO_PARMS)

/* parameter block for MCI_SIGNAL command message */

typedef struct {
765
    DWORD_PTR dwCallback;
766 767 768 769 770 771 772 773
    DWORD   dwPosition;
    DWORD   dwPeriod;
    DWORD   dwUserParm;
} MCI_DGV_SIGNAL_PARMS, * LPMCI_DGV_SIGNAL_PARMS;

/* parameter block for MCI_SETVIDEO command message */

typedef struct {
774
    DWORD_PTR dwCallback;
775 776 777 778 779 780 781 782 783
    DWORD   dwItem;
    DWORD   dwValue;
    DWORD   dwOver;
    LPSTR   lpstrAlgorithm;
    LPSTR   lpstrQuality;
    DWORD   dwSourceNumber;
} MCI_DGV_SETVIDEO_PARMSA, *LPMCI_DGV_SETVIDEO_PARMSA;

typedef struct {
784
    DWORD_PTR dwCallback;
785 786 787 788 789 790 791 792 793 794 795 796 797 798
    DWORD   dwItem;
    DWORD   dwValue;
    DWORD   dwOver;
    LPWSTR  lpstrAlgorithm;
    LPWSTR  lpstrQuality;
    DWORD   dwSourceNumber;
} MCI_DGV_SETVIDEO_PARMSW, *LPMCI_DGV_SETVIDEO_PARMSW;

DECL_WINELIB_TYPE_AW(MCI_DGV_SETVIDEO_PARMS)
DECL_WINELIB_TYPE_AW(LPMCI_DGV_SETVIDEO_PARMS)

/* parameter block for MCI_STATUS command message */

typedef struct {
799 800
    DWORD_PTR dwCallback;
    DWORD_PTR dwReturn;
801 802 803 804 805 806 807
    DWORD   dwItem;
    DWORD   dwTrack;
    LPSTR   lpstrDrive;
    DWORD   dwReference;
} MCI_DGV_STATUS_PARMSA, *LPMCI_DGV_STATUS_PARMSA;

typedef struct {
808 809
    DWORD_PTR dwCallback;
    DWORD_PTR dwReturn;
810 811 812 813 814 815 816 817 818 819 820 821
    DWORD   dwItem;
    DWORD   dwTrack;
    LPWSTR  lpstrDrive;
    DWORD   dwReference;
} MCI_DGV_STATUS_PARMSW, *LPMCI_DGV_STATUS_PARMSW;

DECL_WINELIB_TYPE_AW(MCI_DGV_STATUS_PARMS)
DECL_WINELIB_TYPE_AW(LPMCI_DGV_STATUS_PARMS)

/* parameter block for MCI_STEP command message */

typedef struct {
822
    DWORD_PTR dwCallback;
823 824 825 826 827 828 829 830 831 832 833 834 835 836
    DWORD   dwFrames;
} MCI_DGV_STEP_PARMS, *LPMCI_DGV_STEP_PARMS;

/* parameter block for MCI_STOP command message */

typedef MCI_GENERIC_PARMS MCI_DGV_STOP_PARMS, * LPMCI_DGV_STOP_PARMS;

/* parameter block for MCI_UNFREEZE command message */

typedef MCI_DGV_RECT_PARMS MCI_DGV_UNFREEZE_PARMS, * LPMCI_DGV_UNFREEZE_PARMS;

/* parameter block for MCI_UPDATE command message */

typedef struct {
837
    DWORD_PTR dwCallback;
838 839 840 841 842 843 844 845 846 847 848
    RECT    rc;
    HDC     hDC;
} MCI_DGV_UPDATE_PARMS, * LPMCI_DGV_UPDATE_PARMS;

/* parameter block for MCI_WHERE command message */

typedef MCI_DGV_RECT_PARMS MCI_DGV_WHERE_PARMS, * LPMCI_DGV_WHERE_PARMS;

/* parameter block for MCI_WINDOW command message */

typedef struct {
849
    DWORD_PTR dwCallback;
850 851 852 853 854 855
    HWND    hWnd;
    UINT    nCmdShow;
    LPSTR   lpstrText;
} MCI_DGV_WINDOW_PARMSA, *LPMCI_DGV_WINDOW_PARMSA;

typedef struct {
856
    DWORD_PTR dwCallback;
857 858 859 860 861
    HWND    hWnd;
    UINT    nCmdShow;
    LPWSTR  lpstrText;
} MCI_DGV_WINDOW_PARMSW, *LPMCI_DGV_WINDOW_PARMSW;

862 863
DECL_WINELIB_TYPE_AW(MCI_DGV_WINDOW_PARMS)

864 865 866 867
#ifdef __cplusplus
}
#endif

868 869
#include <poppack.h>

870
#endif /* __WINE_DIGITALV_H */