wine-wine/include/digitalv.h

871 lines
32 KiB
C

/*
* 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
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef __WINE_DIGITALV_H
#define __WINE_DIGITALV_H
/*
* Wine Digital Video extensions
*/
#include <pshpack1.h>
#ifdef __cplusplus
extern "C" {
#endif
#define MCI_TEST __MSABI_LONG(0x00000020)
/* 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 */
#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)
#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)
#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)
#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)
/* 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 */
#define MCI_DGV_METHOD_PRE __MSABI_LONG(0x0000a000)
#define MCI_DGV_METHOD_POST __MSABI_LONG(0x0000a001)
#define MCI_DGV_METHOD_DIRECT __MSABI_LONG(0x0000a002)
/* defines for known file formats */
#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)
/* values for dwItem field of MCI_CAPABILITY_PARMS structure */
#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)
/* flags for dwFlags parameter of MCI_CAPTURE command message */
#define MCI_DGV_CAPTURE_AS __MSABI_LONG(0x00010000)
#define MCI_DGV_CAPTURE_AT __MSABI_LONG(0x00020000)
/* flags for dwFlags parameter of MCI_COPY command message */
#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)
/* flags for dwFlags parameter of MCI_CUE command message */
#define MCI_DGV_CUE_INPUT __MSABI_LONG(0x00010000)
#define MCI_DGV_CUE_OUTPUT __MSABI_LONG(0x00020000)
#define MCI_DGV_CUE_NOSHOW __MSABI_LONG(0x00040000)
/* flags for dwFlags parameter of MCI_CUT command message */
#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)
/* flags for dwFlags parameter of MCI_DELETE command message */
#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)
/* flags for dwFlags parameter of MCI_FREEZE command message */
#define MCI_DGV_FREEZE_AT __MSABI_LONG(0x00010000)
#define MCI_DGV_FREEZE_OUTSIDE __MSABI_LONG(0x00020000)
/* flags for dwFlags parameter of MCI_INFO command message */
#define MCI_DGV_INFO_TEXT __MSABI_LONG(0x00010000)
#define MCI_DGV_INFO_ITEM __MSABI_LONG(0x00020000)
/* values for dwItem field of MCI_DGV_INFO_PARMS structure */
#define MCI_INFO_VERSION __MSABI_LONG(0x00000400)
#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)
/* flags for dwFlags parameter of MCI_LIST command message */
#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)
/* values for dwItem field of MCI_DGV_LIST_PARMS structure */
#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)
/* flags for dwFlags parameter of MCI_MONITOR command message */
#define MCI_DGV_MONITOR_METHOD __MSABI_LONG(0x00010000)
#define MCI_DGV_MONITOR_SOURCE __MSABI_LONG(0x00020000)
/* values for dwSource parameter of the MCI_DGV_MONITOR_PARMS structure */
#define MCI_DGV_MONITOR_INPUT __MSABI_LONG(0x00004000)
#define MCI_DGV_MONITOR_FILE __MSABI_LONG(0x00004001)
/* flags for dwFlags parameter of MCI_OPEN command message */
#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)
/* flags for dwFlags parameter of MCI_PASTE command message */
#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)
/* flags for dwFlags parameter of MCI_PLAY command message */
#define MCI_DGV_PLAY_REPEAT __MSABI_LONG(0x00010000)
#define MCI_DGV_PLAY_REVERSE __MSABI_LONG(0x00020000)
/* flags for dwFlags parameter of MCI_PUT command message */
#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)
/* flags for dwFlags parameter of MCI_QUALITY command message */
#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)
/* values for dwItem field of MCI_QUALITY_PARMS structure */
#define MCI_QUALITY_ITEM_AUDIO __MSABI_LONG(0x00004000)
#define MCI_QUALITY_ITEM_STILL __MSABI_LONG(0x00004001)
#define MCI_QUALITY_ITEM_VIDEO __MSABI_LONG(0x00004002)
/* flags for dwFlags parameter of MCI_REALIZE command message */
#define MCI_DGV_REALIZE_NORM __MSABI_LONG(0x00010000)
#define MCI_DGV_REALIZE_BKGD __MSABI_LONG(0x00020000)
/* flags for dwFlags parameter of MCI_RECORD command message */
#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)
/* flags for dwFlags parameters of MCI_RESERVE command message */
#define MCI_DGV_RESERVE_IN __MSABI_LONG(0x00010000)
#define MCI_DGV_RESERVE_SIZE __MSABI_LONG(0x00020000)
/* flags for dwFlags parameter of MCI_RESTORE command message */
#define MCI_DGV_RESTORE_FROM __MSABI_LONG(0x00010000)
#define MCI_DGV_RESTORE_AT __MSABI_LONG(0x00020000)
/* flags for dwFlags parameters of MCI_SAVE command message */
#define MCI_DGV_SAVE_ABORT __MSABI_LONG(0x00020000)
#define MCI_DGV_SAVE_KEEPRESERVE __MSABI_LONG(0x00040000)
/* flags for dwFlags parameters of MCI_SET command message */
#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)
/* flags for the dwFlags parameter of MCI_SETAUDIO command message */
#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)
/* values for the dwItem parameter of MCI_DGV_SETAUDIO_PARMS */
#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)
/* values for the dwValue parameter of MCI_DGV_SETAUDIO_PARMS
used with MCI_DGV_SETAUDIO_SOURCE */
#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)
/* flags for the dwFlags parameter of MCI_SETVIDEO command */
#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)
/* values for the dwTo field of MCI_SETVIDEO_PARMS
used with MCI_DGV_SETVIDEO_SOURCE */
#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)
/* values for the dwItem field of MCI_SETVIDEO_PARMS */
#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)
/* flags for the dwFlags parameter of MCI_SIGNAL */
#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)
/* flags for the dwFlags parameter of MCI_STATUS command */
#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)
/* values for dwItem field of MCI_STATUS_PARMS structure */
#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)
/* flags for dwFlags parameter of MCI_STEP command message */
#define MCI_DGV_STEP_REVERSE __MSABI_LONG(0x00010000)
#define MCI_DGV_STEP_FRAMES __MSABI_LONG(0x00020000)
/* flags for dwFlags parameter of MCI_STOP command message */
#define MCI_DGV_STOP_HOLD __MSABI_LONG(0x00010000)
/* flags for dwFlags parameter of MCI_UPDATE command message */
#define MCI_DGV_UPDATE_HDC __MSABI_LONG(0x00020000)
#define MCI_DGV_UPDATE_PAINT __MSABI_LONG(0x00040000)
/* flags for dwFlags parameter of MCI_WHERE command message */
#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)
/* flags for dwFlags parameter of MCI_WINDOW command message */
#define MCI_DGV_WINDOW_HWND __MSABI_LONG(0x00010000)
#define MCI_DGV_WINDOW_STATE __MSABI_LONG(0x00040000)
#define MCI_DGV_WINDOW_TEXT __MSABI_LONG(0x00080000)
/* flags for hWnd parameter of MCI_DGV_WINDOW_PARMS parameter block */
#define MCI_DGV_WINDOW_DEFAULT __MSABI_LONG(0x00000000)
/* parameter block for MCI_WHERE, MCI_PUT, MCI_FREEZE, MCI_UNFREEZE cmds */
typedef struct {
DWORD_PTR dwCallback;
RECT rc;
} MCI_DGV_RECT_PARMS, *LPMCI_DGV_RECT_PARMS;
/* parameter block for MCI_CAPTURE command message */
typedef struct {
DWORD_PTR dwCallback;
LPSTR lpstrFileName;
RECT rc;
} MCI_DGV_CAPTURE_PARMSA, *LPMCI_DGV_CAPTURE_PARMSA;
typedef struct {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
DWORD dwTo;
} MCI_DGV_CUE_PARMS, *LPMCI_DGV_CUE_PARMS;
/* parameter block for MCI_CUT command message */
typedef struct {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
LPSTR lpstrReturn;
DWORD dwRetSize;
DWORD dwItem;
} MCI_DGV_INFO_PARMSA, * LPMCI_DGV_INFO_PARMSA;
typedef struct {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
LPSTR lpstrReturn;
DWORD dwLength;
DWORD dwNumber;
DWORD dwItem;
LPSTR lpstrAlgorithm;
} MCI_DGV_LIST_PARMSA, *LPMCI_DGV_LIST_PARMSA;
typedef struct {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
DWORD dwSource;
DWORD dwMethod;
} MCI_DGV_MONITOR_PARMS, * LPMCI_DGV_MONITOR_PARMS;
/* parameter block for MCI_OPEN command message */
typedef struct {
DWORD_PTR dwCallback;
UINT wDeviceID;
LPSTR lpstrDeviceType;
LPSTR lpstrElementName;
LPSTR lpstrAlias;
DWORD dwStyle;
HWND hWndParent;
} MCI_DGV_OPEN_PARMSA, *LPMCI_DGV_OPEN_PARMSA;
typedef struct {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
DWORD dwItem;
LPSTR lpstrName;
DWORD lpstrAlgorithm;
DWORD dwHandle;
} MCI_DGV_QUALITY_PARMSA, *LPMCI_DGV_QUALITY_PARMSA;
typedef struct {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
LPSTR lpstrPath;
DWORD dwSize;
} MCI_DGV_RESERVE_PARMSA, *LPMCI_DGV_RESERVE_PARMSA;
typedef struct {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
LPSTR lpstrFileName;
RECT rc;
} MCI_DGV_RESTORE_PARMSA, *LPMCI_DGV_RESTORE_PARMSA;
typedef struct {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
LPSTR lpstrFileName;
RECT rc;
} MCI_DGV_SAVE_PARMSA, *LPMCI_DGV_SAVE_PARMSA;
typedef struct {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
DWORD dwItem;
DWORD dwValue;
DWORD dwOver;
LPSTR lpstrAlgorithm;
LPSTR lpstrQuality;
} MCI_DGV_SETAUDIO_PARMSA, *LPMCI_DGV_SETAUDIO_PARMSA;
typedef struct {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
DWORD dwPosition;
DWORD dwPeriod;
DWORD dwUserParm;
} MCI_DGV_SIGNAL_PARMS, * LPMCI_DGV_SIGNAL_PARMS;
/* parameter block for MCI_SETVIDEO command message */
typedef struct {
DWORD_PTR dwCallback;
DWORD dwItem;
DWORD dwValue;
DWORD dwOver;
LPSTR lpstrAlgorithm;
LPSTR lpstrQuality;
DWORD dwSourceNumber;
} MCI_DGV_SETVIDEO_PARMSA, *LPMCI_DGV_SETVIDEO_PARMSA;
typedef struct {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
DWORD_PTR dwReturn;
DWORD dwItem;
DWORD dwTrack;
LPSTR lpstrDrive;
DWORD dwReference;
} MCI_DGV_STATUS_PARMSA, *LPMCI_DGV_STATUS_PARMSA;
typedef struct {
DWORD_PTR dwCallback;
DWORD_PTR dwReturn;
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 {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
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 {
DWORD_PTR dwCallback;
HWND hWnd;
UINT nCmdShow;
LPSTR lpstrText;
} MCI_DGV_WINDOW_PARMSA, *LPMCI_DGV_WINDOW_PARMSA;
typedef struct {
DWORD_PTR dwCallback;
HWND hWnd;
UINT nCmdShow;
LPWSTR lpstrText;
} MCI_DGV_WINDOW_PARMSW, *LPMCI_DGV_WINDOW_PARMSW;
DECL_WINELIB_TYPE_AW(MCI_DGV_WINDOW_PARMS)
#ifdef __cplusplus
}
#endif
#include <poppack.h>
#endif /* __WINE_DIGITALV_H */