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