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 26 27 28 29
/*
 * Wine Digital Video extensions
 */

#ifdef __cplusplus
extern "C" {
#endif

30
#define MCI_TEST                            __MSABI_LONG(0x00000020)
31 32 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

/* 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 */

58 59 60 61
#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)
62

63 64 65 66
#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)
67

68 69 70 71 72 73
#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)
74

75 76 77 78
#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)
79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

/* 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 */

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

/* defines for known file formats */

103 104 105 106 107 108 109 110
#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)
111 112 113

/* values for dwItem field of MCI_CAPABILITY_PARMS structure */

114 115 116 117 118 119 120 121 122 123 124
#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)
125 126 127

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

128 129
#define MCI_DGV_CAPTURE_AS                  __MSABI_LONG(0x00010000)
#define MCI_DGV_CAPTURE_AT                  __MSABI_LONG(0x00020000)
130 131 132

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

133 134 135
#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)
136 137 138

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

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

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

145 146 147
#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)
148 149 150

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

151 152 153
#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)
154 155 156

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

157 158
#define MCI_DGV_FREEZE_AT                   __MSABI_LONG(0x00010000)
#define MCI_DGV_FREEZE_OUTSIDE              __MSABI_LONG(0x00020000)
159 160 161

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

162 163
#define MCI_DGV_INFO_TEXT                   __MSABI_LONG(0x00010000)
#define MCI_DGV_INFO_ITEM                   __MSABI_LONG(0x00020000)
164 165 166

/* values for dwItem field of MCI_DGV_INFO_PARMS structure */

167
#define MCI_INFO_VERSION                    __MSABI_LONG(0x00000400)
168

169 170 171 172 173 174 175
#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)
176 177 178

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

179 180 181 182
#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)
183 184 185

/* values for dwItem field of MCI_DGV_LIST_PARMS structure */

186 187 188 189 190 191 192 193 194
#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)
195 196 197 198


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

199 200
#define MCI_DGV_MONITOR_METHOD              __MSABI_LONG(0x00010000)
#define MCI_DGV_MONITOR_SOURCE              __MSABI_LONG(0x00020000)
201

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

204 205
#define MCI_DGV_MONITOR_INPUT               __MSABI_LONG(0x00004000)
#define MCI_DGV_MONITOR_FILE                __MSABI_LONG(0x00004001)
206 207 208

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

209 210 211 212 213
#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)
214 215 216

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

217 218 219 220 221
#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)
222 223 224

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

225 226
#define MCI_DGV_PLAY_REPEAT                 __MSABI_LONG(0x00010000)
#define MCI_DGV_PLAY_REVERSE                __MSABI_LONG(0x00020000)
227 228 229

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

230 231 232 233 234 235 236
#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)
237 238 239

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

240 241 242 243 244
#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)
245 246 247

/* values for dwItem field of MCI_QUALITY_PARMS structure */

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

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

254 255
#define MCI_DGV_REALIZE_NORM                __MSABI_LONG(0x00010000)
#define MCI_DGV_REALIZE_BKGD                __MSABI_LONG(0x00020000)
256 257 258

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

259 260 261
#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)
262 263 264

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

265 266
#define MCI_DGV_RESERVE_IN                  __MSABI_LONG(0x00010000)
#define MCI_DGV_RESERVE_SIZE                __MSABI_LONG(0x00020000)
267 268 269

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

270 271
#define MCI_DGV_RESTORE_FROM                __MSABI_LONG(0x00010000)
#define MCI_DGV_RESTORE_AT                  __MSABI_LONG(0x00020000)
272 273 274

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

275 276
#define MCI_DGV_SAVE_ABORT                  __MSABI_LONG(0x00020000)
#define MCI_DGV_SAVE_KEEPRESERVE            __MSABI_LONG(0x00040000)
277 278 279

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

280 281 282 283
#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)
284 285 286

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

287 288 289 290 291 292 293 294 295 296 297
#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)
298 299 300

/* values for the dwItem parameter of MCI_DGV_SETAUDIO_PARMS */

301 302 303 304 305 306 307 308 309
#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)
310 311 312 313

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

314 315 316 317
#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)
318 319 320

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

321 322 323 324 325 326 327 328 329 330 331
#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)
332 333 334 335

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

336 337 338 339 340 341
#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)
342 343 344

/* values for the dwItem field of MCI_SETVIDEO_PARMS */

345 346 347 348 349 350 351 352 353 354 355 356 357
#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)
358 359 360

/* flags for the dwFlags parameter of MCI_SIGNAL */

361 362 363 364 365
#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)
366 367 368

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

369 370 371 372 373 374 375 376
#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)
377 378 379

/* values for dwItem field of MCI_STATUS_PARMS structure */

380 381 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
#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)
425 426 427

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

428 429
#define MCI_DGV_STEP_REVERSE                __MSABI_LONG(0x00010000)
#define MCI_DGV_STEP_FRAMES                 __MSABI_LONG(0x00020000)
430 431 432

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

433
#define MCI_DGV_STOP_HOLD                   __MSABI_LONG(0x00010000)
434 435 436

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

437 438
#define MCI_DGV_UPDATE_HDC                  __MSABI_LONG(0x00020000)
#define MCI_DGV_UPDATE_PAINT                __MSABI_LONG(0x00040000)
439 440 441

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

442 443 444 445 446 447
#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)
448 449 450

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

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

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

457
#define MCI_DGV_WINDOW_DEFAULT              __MSABI_LONG(0x00000000)
458 459 460 461

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

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

/* parameter block for MCI_CAPTURE command message */

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

typedef struct {
475
    DWORD_PTR dwCallback;
476 477 478 479 480 481 482 483 484 485 486 487 488 489
    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 {
490
    DWORD_PTR dwCallback;
491 492 493 494 495 496 497 498 499 500
    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 {
501
    DWORD_PTR dwCallback;
502 503 504 505 506 507
    DWORD   dwTo;
} MCI_DGV_CUE_PARMS, *LPMCI_DGV_CUE_PARMS;

/* parameter block for MCI_CUT command message */

typedef struct {
508
    DWORD_PTR dwCallback;
509 510 511 512 513 514 515 516 517 518
    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 {
519
    DWORD_PTR dwCallback;
520 521 522 523 524 525 526 527 528 529 530 531 532 533
    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  {
534
    DWORD_PTR dwCallback;
535 536 537 538 539 540
    LPSTR   lpstrReturn;
    DWORD   dwRetSize;
    DWORD   dwItem;
} MCI_DGV_INFO_PARMSA, * LPMCI_DGV_INFO_PARMSA;

typedef struct  {
541
    DWORD_PTR dwCallback;
542 543 544 545 546 547 548 549 550 551 552
    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 {
553
    DWORD_PTR dwCallback;
554 555 556 557 558 559 560 561
    LPSTR   lpstrReturn;
    DWORD   dwLength;
    DWORD   dwNumber;
    DWORD   dwItem;
    LPSTR   lpstrAlgorithm;
} MCI_DGV_LIST_PARMSA, *LPMCI_DGV_LIST_PARMSA;

typedef struct {
562
    DWORD_PTR dwCallback;
563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583
    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 {
584
    DWORD_PTR dwCallback;
585 586 587 588 589 590 591
    DWORD   dwSource;
    DWORD   dwMethod;
} MCI_DGV_MONITOR_PARMS, * LPMCI_DGV_MONITOR_PARMS;

/* parameter block for MCI_OPEN command message */

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

typedef struct {
602
    DWORD_PTR dwCallback;
603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620
    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 {
621
    DWORD_PTR dwCallback;
622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638
    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 {
639
    DWORD_PTR   dwCallback;
640 641 642 643 644 645 646
    DWORD       dwItem;
    LPSTR       lpstrName;
    DWORD       lpstrAlgorithm;
    DWORD       dwHandle;
} MCI_DGV_QUALITY_PARMSA, *LPMCI_DGV_QUALITY_PARMSA;

typedef struct {
647
    DWORD_PTR   dwCallback;
648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663
    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 {
664
    DWORD_PTR dwCallback;
665 666 667 668 669 670 671 672 673 674
    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 {
675
    DWORD_PTR dwCallback;
676 677 678 679 680
    LPSTR   lpstrPath;
    DWORD   dwSize;
} MCI_DGV_RESERVE_PARMSA, *LPMCI_DGV_RESERVE_PARMSA;

typedef struct {
681
    DWORD_PTR dwCallback;
682 683 684 685 686 687 688 689 690 691
    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 {
692
    DWORD_PTR dwCallback;
693 694 695 696 697
    LPSTR   lpstrFileName;
    RECT    rc;
} MCI_DGV_RESTORE_PARMSA, *LPMCI_DGV_RESTORE_PARMSA;

typedef struct {
698
    DWORD_PTR dwCallback;
699 700 701 702 703 704 705 706 707 708 709 710 711 712
    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 {
713
    DWORD_PTR dwCallback;
714 715 716 717 718
    LPSTR   lpstrFileName;
    RECT    rc;
} MCI_DGV_SAVE_PARMSA, *LPMCI_DGV_SAVE_PARMSA;

typedef struct {
719
    DWORD_PTR dwCallback;
720 721 722 723 724 725 726 727 728 729
    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 {
730
    DWORD_PTR dwCallback;
731 732 733 734 735 736 737 738 739
    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 {
740
    DWORD_PTR dwCallback;
741 742 743 744 745 746 747 748
    DWORD   dwItem;
    DWORD   dwValue;
    DWORD   dwOver;
    LPSTR   lpstrAlgorithm;
    LPSTR   lpstrQuality;
} MCI_DGV_SETAUDIO_PARMSA, *LPMCI_DGV_SETAUDIO_PARMSA;

typedef struct {
749
    DWORD_PTR dwCallback;
750 751 752 753 754 755 756 757 758 759 760 761 762
    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 {
763
    DWORD_PTR dwCallback;
764 765 766 767 768 769 770 771
    DWORD   dwPosition;
    DWORD   dwPeriod;
    DWORD   dwUserParm;
} MCI_DGV_SIGNAL_PARMS, * LPMCI_DGV_SIGNAL_PARMS;

/* parameter block for MCI_SETVIDEO command message */

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

typedef struct {
782
    DWORD_PTR dwCallback;
783 784 785 786 787 788 789 790 791 792 793 794 795 796
    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 {
797 798
    DWORD_PTR dwCallback;
    DWORD_PTR dwReturn;
799 800 801 802 803 804 805
    DWORD   dwItem;
    DWORD   dwTrack;
    LPSTR   lpstrDrive;
    DWORD   dwReference;
} MCI_DGV_STATUS_PARMSA, *LPMCI_DGV_STATUS_PARMSA;

typedef struct {
806 807
    DWORD_PTR dwCallback;
    DWORD_PTR dwReturn;
808 809 810 811 812 813 814 815 816 817 818 819
    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 {
820
    DWORD_PTR dwCallback;
821 822 823 824 825 826 827 828 829 830 831 832 833 834
    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 {
835
    DWORD_PTR dwCallback;
836 837 838 839 840 841 842 843 844 845 846
    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 {
847
    DWORD_PTR dwCallback;
848 849 850 851 852 853
    HWND    hWnd;
    UINT    nCmdShow;
    LPSTR   lpstrText;
} MCI_DGV_WINDOW_PARMSA, *LPMCI_DGV_WINDOW_PARMSA;

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

860 861
DECL_WINELIB_TYPE_AW(MCI_DGV_WINDOW_PARMS)

862 863 864 865
#ifdef __cplusplus
}
#endif

866
#endif /* __WINE_DIGITALV_H */