| 1 | 
 #ifndef _VFW_H | 
 
 
 
 
 
 | 2 | 
 #define _VFW_H | 
 
 
 
 
 
 | 3 | 
 #if __GNUC__ >= 3 | 
 
 
 
 
 
 | 4 | 
 #pragma GCC system_header | 
 
 
 
 
 
 | 5 | 
 #endif | 
 
 
 
 
 
 | 6 | 
  | 
 
 
 
 
 
 | 7 | 
 #ifndef _WINDOWS_H | 
 
 
 
 
 
 | 8 | 
 #include <windows.h> | 
 
 
 
 
 
 | 9 | 
 #endif | 
 
 
 
 
 
 | 10 | 
 #ifndef _MMSYSTEM_H | 
 
 
 
 
 
 | 11 | 
 #include <mmsystem.h> | 
 
 
 
 
 
 | 12 | 
 #endif | 
 
 
 
 
 
 | 13 | 
 #if !defined  (_OLE2_H) && !defined (_OBJC_NO_COM) | 
 
 
 
 
 
 | 14 | 
 #include <ole2.h> | 
 
 
 
 
 
 | 15 | 
 #endif | 
 
 
 
 
 
 | 16 | 
  | 
 
 
 
 
 
 | 17 | 
 #define VFWAPI WINAPI | 
 
 
 
 
 
 | 18 | 
 #define VFWAPIV WINAPIV | 
 
 
 
 
 
 | 19 | 
  | 
 
 
 
 
 
 | 20 | 
 #include <pshpack8.h> | 
 
 
 
 
 
 | 21 | 
  | 
 
 
 
 
 
 | 22 | 
 #ifdef __cplusplus | 
 
 
 
 
 
 | 23 | 
 extern "C" { | 
 
 
 
 
 
 | 24 | 
 #endif | 
 
 
 
 
 
 | 25 | 
  | 
 
 
 
 
 
 | 26 | 
 #define ICERR_OK        0 | 
 
 
 
 
 
 | 27 | 
 #define ICERR_DONTDRAW  1 | 
 
 
 
 
 
 | 28 | 
 #define ICERR_NEWPALETTE        2 | 
 
 
 
 
 
 | 29 | 
 #define ICERR_GOTOKEYFRAME      3 | 
 
 
 
 
 
 | 30 | 
 #define ICERR_STOPDRAWING       4 | 
 
 
 
 
 
 | 31 | 
 #define ICERR_UNSUPPORTED       -1 | 
 
 
 
 
 
 | 32 | 
 #define ICERR_BADFORMAT -2 | 
 
 
 
 
 
 | 33 | 
 #define ICERR_MEMORY    -3 | 
 
 
 
 
 
 | 34 | 
 #define ICERR_INTERNAL  -4 | 
 
 
 
 
 
 | 35 | 
 #define ICERR_BADFLAGS  -5 | 
 
 
 
 
 
 | 36 | 
 #define ICERR_BADPARAM  -6 | 
 
 
 
 
 
 | 37 | 
 #define ICERR_BADSIZE   -7 | 
 
 
 
 
 
 | 38 | 
 #define ICERR_BADHANDLE -8 | 
 
 
 
 
 
 | 39 | 
 #define ICERR_CANTUPDATE        -9 | 
 
 
 
 
 
 | 40 | 
 #define ICERR_ABORT     -10 | 
 
 
 
 
 
 | 41 | 
 #define ICERR_ERROR     -100 | 
 
 
 
 
 
 | 42 | 
 #define ICERR_BADBITDEPTH       -200 | 
 
 
 
 
 
 | 43 | 
 #define ICERR_BADIMAGESIZE      -201 | 
 
 
 
 
 
 | 44 | 
 #define ICERR_CUSTOM    -400 | 
 
 
 
 
 
 | 45 | 
 #define ICCOMPRESSFRAMES_PADDING        0x01 | 
 
 
 
 
 
 | 46 | 
 #define ICM_USER        (DRV_USER+0x0000) | 
 
 
 
 
 
 | 47 | 
 #define ICM_RESERVED_LOW        (DRV_USER+0x1000) | 
 
 
 
 
 
 | 48 | 
 #define ICM_RESERVED_HIGH       (DRV_USER+0x2000) | 
 
 
 
 
 
 | 49 | 
 #define ICM_RESERVED    ICM_RESERVED_LOW | 
 
 
 
 
 
 | 50 | 
 #define ICM_GETSTATE    (ICM_RESERVED+0) | 
 
 
 
 
 
 | 51 | 
 #define ICM_SETSTATE    (ICM_RESERVED+1) | 
 
 
 
 
 
 | 52 | 
 #define ICM_GETINFO     (ICM_RESERVED+2) | 
 
 
 
 
 
 | 53 | 
 #define ICM_CONFIGURE   (ICM_RESERVED+10) | 
 
 
 
 
 
 | 54 | 
 #define ICM_ABOUT       (ICM_RESERVED+11) | 
 
 
 
 
 
 | 55 | 
 #define ICM_GETDEFAULTQUALITY   (ICM_RESERVED+30) | 
 
 
 
 
 
 | 56 | 
 #define ICM_GETQUALITY  (ICM_RESERVED+31) | 
 
 
 
 
 
 | 57 | 
 #define ICM_SETQUALITY  (ICM_RESERVED+32) | 
 
 
 
 
 
 | 58 | 
 #define ICM_SET (ICM_RESERVED+40) | 
 
 
 
 
 
 | 59 | 
 #define ICM_GET (ICM_RESERVED+41) | 
 
 
 
 
 
 | 60 | 
 #define ICM_FRAMERATE   mmioFOURCC('F','r','m','R') | 
 
 
 
 
 
 | 61 | 
 #define ICM_KEYFRAMERATE        mmioFOURCC('K','e','y','R') | 
 
 
 
 
 
 | 62 | 
 #define ICM_COMPRESS_GET_FORMAT (ICM_USER+4) | 
 
 
 
 
 
 | 63 | 
 #define ICM_COMPRESS_GET_SIZE   (ICM_USER+5) | 
 
 
 
 
 
 | 64 | 
 #define ICM_COMPRESS_QUERY      (ICM_USER+6) | 
 
 
 
 
 
 | 65 | 
 #define ICM_COMPRESS_BEGIN      (ICM_USER+7) | 
 
 
 
 
 
 | 66 | 
 #define ICM_COMPRESS    (ICM_USER+8) | 
 
 
 
 
 
 | 67 | 
 #define ICM_COMPRESS_END        (ICM_USER+9) | 
 
 
 
 
 
 | 68 | 
 #define ICM_DECOMPRESS_GET_FORMAT       (ICM_USER+10) | 
 
 
 
 
 
 | 69 | 
 #define ICM_DECOMPRESS_QUERY    (ICM_USER+11) | 
 
 
 
 
 
 | 70 | 
 #define ICM_DECOMPRESS_BEGIN    (ICM_USER+12) | 
 
 
 
 
 
 | 71 | 
 #define ICM_DECOMPRESS  (ICM_USER+13) | 
 
 
 
 
 
 | 72 | 
 #define ICM_DECOMPRESS_END      (ICM_USER+14) | 
 
 
 
 
 
 | 73 | 
 #define ICM_DECOMPRESS_SET_PALETTE      (ICM_USER+29) | 
 
 
 
 
 
 | 74 | 
 #define ICM_DECOMPRESS_GET_PALETTE      (ICM_USER+30) | 
 
 
 
 
 
 | 75 | 
 #define ICM_DRAW_QUERY  (ICM_USER+31) | 
 
 
 
 
 
 | 76 | 
 #define ICM_DRAW_BEGIN  (ICM_USER+15) | 
 
 
 
 
 
 | 77 | 
 #define ICM_DRAW_GET_PALETTE    (ICM_USER+16) | 
 
 
 
 
 
 | 78 | 
 #define ICM_DRAW_START  (ICM_USER+18) | 
 
 
 
 
 
 | 79 | 
 #define ICM_DRAW_STOP   (ICM_USER+19) | 
 
 
 
 
 
 | 80 | 
 #define ICM_DRAW_END    (ICM_USER+21) | 
 
 
 
 
 
 | 81 | 
 #define ICM_DRAW_GETTIME        (ICM_USER+32) | 
 
 
 
 
 
 | 82 | 
 #define ICM_DRAW        (ICM_USER+33) | 
 
 
 
 
 
 | 83 | 
 #define ICM_DRAW_WINDOW (ICM_USER+34) | 
 
 
 
 
 
 | 84 | 
 #define ICM_DRAW_SETTIME        (ICM_USER+35) | 
 
 
 
 
 
 | 85 | 
 #define ICM_DRAW_REALIZE        (ICM_USER+36) | 
 
 
 
 
 
 | 86 | 
 #define ICM_DRAW_FLUSH  (ICM_USER+37) | 
 
 
 
 
 
 | 87 | 
 #define ICM_DRAW_RENDERBUFFER   (ICM_USER+38) | 
 
 
 
 
 
 | 88 | 
 #define ICM_DRAW_START_PLAY     (ICM_USER+39) | 
 
 
 
 
 
 | 89 | 
 #define ICM_DRAW_STOP_PLAY      (ICM_USER+40) | 
 
 
 
 
 
 | 90 | 
 #define ICM_DRAW_SUGGESTFORMAT  (ICM_USER+50) | 
 
 
 
 
 
 | 91 | 
 #define ICM_DRAW_CHANGEPALETTE  (ICM_USER+51) | 
 
 
 
 
 
 | 92 | 
 #define ICM_GETBUFFERSWANTED    (ICM_USER+41) | 
 
 
 
 
 
 | 93 | 
 #define ICM_GETDEFAULTKEYFRAMERATE      (ICM_USER+42) | 
 
 
 
 
 
 | 94 | 
 #define ICM_DECOMPRESSEX_BEGIN  (ICM_USER+60) | 
 
 
 
 
 
 | 95 | 
 #define ICM_DECOMPRESSEX_QUERY  (ICM_USER+61) | 
 
 
 
 
 
 | 96 | 
 #define ICM_DECOMPRESSEX        (ICM_USER+62) | 
 
 
 
 
 
 | 97 | 
 #define ICM_DECOMPRESSEX_END    (ICM_USER+63) | 
 
 
 
 
 
 | 98 | 
 #define ICM_COMPRESS_FRAMES_INFO        (ICM_USER+70) | 
 
 
 
 
 
 | 99 | 
 #define ICM_SET_STATUS_PROC     (ICM_USER+72) | 
 
 
 
 
 
 | 100 | 
 #define ICMF_CONFIGURE_QUERY    0x01 | 
 
 
 
 
 
 | 101 | 
 #define ICCOMPRESS_KEYFRAME     0x01 | 
 
 
 
 
 
 | 102 | 
 #define ICSTATUS_START  0 | 
 
 
 
 
 
 | 103 | 
 #define ICSTATUS_STATUS 1 | 
 
 
 
 
 
 | 104 | 
 #define ICSTATUS_END    2 | 
 
 
 
 
 
 | 105 | 
 #define ICSTATUS_ERROR  3 | 
 
 
 
 
 
 | 106 | 
 #define ICSTATUS_YIELD  4 | 
 
 
 
 
 
 | 107 | 
 #define ICMODE_COMPRESS 1 | 
 
 
 
 
 
 | 108 | 
 #define ICMODE_DECOMPRESS       2 | 
 
 
 
 
 
 | 109 | 
 #define ICMODE_FASTDECOMPRESS   3 | 
 
 
 
 
 
 | 110 | 
 #define ICMODE_QUERY    4 | 
 
 
 
 
 
 | 111 | 
 #define ICMODE_FASTCOMPRESS     5 | 
 
 
 
 
 
 | 112 | 
 #define ICMODE_DRAW     8 | 
 
 
 
 
 
 | 113 | 
 #define ICQUALITY_LOW   0 | 
 
 
 
 
 
 | 114 | 
 #define ICQUALITY_HIGH  10000 | 
 
 
 
 
 
 | 115 | 
 #define ICQUALITY_DEFAULT       -1 | 
 
 
 
 
 
 | 116 | 
 #define VIDCF_QUALITY   0x01 | 
 
 
 
 
 
 | 117 | 
 #define VIDCF_CRUNCH    0x02 | 
 
 
 
 
 
 | 118 | 
 #define VIDCF_TEMPORAL  0x04 | 
 
 
 
 
 
 | 119 | 
 #define VIDCF_COMPRESSFRAMES    0x08 | 
 
 
 
 
 
 | 120 | 
 #define VIDCF_DRAW      0x10 | 
 
 
 
 
 
 | 121 | 
 #define VIDCF_FASTTEMPORALC     0x20 | 
 
 
 
 
 
 | 122 | 
 #define VIDCF_FASTTEMPORALD     0x80 | 
 
 
 
 
 
 | 123 | 
 #define VIDCF_QUALITYTIME       0x40 | 
 
 
 
 
 
 | 124 | 
 #define VIDCF_FASTTEMPORAL      (VIDCF_FASTTEMPORALC|VIDCF_FASTTEMPORALD) | 
 
 
 
 
 
 | 125 | 
 #define ICMF_ABOUT_QUERY        0x01 | 
 
 
 
 
 
 | 126 | 
 #define ICDECOMPRESS_HURRYUP    0x80000000 | 
 
 
 
 
 
 | 127 | 
 #define ICDECOMPRESS_UPDATE     0x40000000 | 
 
 
 
 
 
 | 128 | 
 #define ICDECOMPRESS_PREROLL    0x20000000 | 
 
 
 
 
 
 | 129 | 
 #define ICDECOMPRESS_NULLFRAME  0x10000000 | 
 
 
 
 
 
 | 130 | 
 #define ICDECOMPRESS_NOTKEYFRAME        0x8000000 | 
 
 
 
 
 
 | 131 | 
 #define ICDRAW_QUERY    0x01L | 
 
 
 
 
 
 | 132 | 
 #define ICDRAW_FULLSCREEN       0x02L | 
 
 
 
 
 
 | 133 | 
 #define ICDRAW_HDC      0x04L | 
 
 
 
 
 
 | 134 | 
 #define ICDRAW_ANIMATE  0x08L | 
 
 
 
 
 
 | 135 | 
 #define ICDRAW_CONTINUE 0x10L | 
 
 
 
 
 
 | 136 | 
 #define ICDRAW_MEMORYDC 0x20L | 
 
 
 
 
 
 | 137 | 
 #define ICDRAW_UPDATING 0x40L | 
 
 
 
 
 
 | 138 | 
 #define ICDRAW_RENDER   0x80L | 
 
 
 
 
 
 | 139 | 
 #define ICDRAW_BUFFER   0x100L | 
 
 
 
 
 
 | 140 | 
 #define ICINSTALL_UNICODE       0x8000 | 
 
 
 
 
 
 | 141 | 
 #define ICINSTALL_FUNCTION      0x01 | 
 
 
 
 
 
 | 142 | 
 #define ICINSTALL_DRIVER        0x02 | 
 
 
 
 
 
 | 143 | 
 #define ICINSTALL_HDRV  0x04 | 
 
 
 
 
 
 | 144 | 
 #define ICINSTALL_DRIVERW       0x8002 | 
 
 
 
 
 
 | 145 | 
 #define ICDRAW_HURRYUP  0x80000000L | 
 
 
 
 
 
 | 146 | 
 #define ICDRAW_UPDATE   0x40000000L | 
 
 
 
 
 
 | 147 | 
 #define ICDRAW_PREROLL  0x20000000L | 
 
 
 
 
 
 | 148 | 
 #define ICDRAW_NULLFRAME        0x10000000L | 
 
 
 
 
 
 | 149 | 
 #define ICDRAW_NOTKEYFRAME      0x8000000L | 
 
 
 
 
 
 | 150 | 
 #define ICMF_COMPVARS_VALID     0x01 | 
 
 
 
 
 
 | 151 | 
 #define ICMF_CHOOSE_KEYFRAME    0x01 | 
 
 
 
 
 
 | 152 | 
 #define ICMF_CHOOSE_DATARATE    0x02 | 
 
 
 
 
 
 | 153 | 
 #define ICMF_CHOOSE_PREVIEW     0x04 | 
 
 
 
 
 
 | 154 | 
 #define ICMF_CHOOSE_ALLCOMPRESSORS      0x08 | 
 
 
 
 
 
 | 155 | 
 #define ICTYPE_VIDEO    mmioFOURCC('v','i','d','c') | 
 
 
 
 
 
 | 156 | 
 #define ICTYPE_AUDIO    mmioFOURCC('a','u','d','c') | 
 
 
 
 
 
 | 157 | 
 #define formtypeAVI     mmioFOURCC('A','V','I',' ') | 
 
 
 
 
 
 | 158 | 
 #define listtypeAVIHEADER       mmioFOURCC('h','d','r','l') | 
 
 
 
 
 
 | 159 | 
 #define ckidAVIMAINHDR  mmioFOURCC('a','v','i','h') | 
 
 
 
 
 
 | 160 | 
 #define listtypeSTREAMHEADER    mmioFOURCC('s','t','r','l') | 
 
 
 
 
 
 | 161 | 
 #define ckidSTREAMHEADER        mmioFOURCC('s','t','r','h') | 
 
 
 
 
 
 | 162 | 
 #define ckidSTREAMFORMAT        mmioFOURCC('s','t','r','f') | 
 
 
 
 
 
 | 163 | 
 #define ckidSTREAMHANDLERDATA   mmioFOURCC('s','t','r','d') | 
 
 
 
 
 
 | 164 | 
 #define ckidSTREAMNAME  mmioFOURCC('s','t','r','n') | 
 
 
 
 
 
 | 165 | 
 #define listtypeAVIMOVIE        mmioFOURCC('m','o','v','i') | 
 
 
 
 
 
 | 166 | 
 #define listtypeAVIRECORD       mmioFOURCC('r','e','c',' ') | 
 
 
 
 
 
 | 167 | 
 #define ckidAVINEWINDEX mmioFOURCC('i', 'd', 'x', '1') | 
 
 
 
 
 
 | 168 | 
 #define streamtypeANY   0UL | 
 
 
 
 
 
 | 169 | 
 #define streamtypeVIDEO mmioFOURCC('v','i','d','s') | 
 
 
 
 
 
 | 170 | 
 #define streamtypeAUDIO mmioFOURCC('a','u','d','s') | 
 
 
 
 
 
 | 171 | 
 #define streamtypeMIDI  mmioFOURCC('m','i','d','s') | 
 
 
 
 
 
 | 172 | 
 #define streamtypeTEXT  mmioFOURCC('t','x','t','s') | 
 
 
 
 
 
 | 173 | 
 #define cktypeDIBbits   aviTWOCC('d','b') | 
 
 
 
 
 
 | 174 | 
 #define cktypeDIBcompressed     aviTWOCC('d','c') | 
 
 
 
 
 
 | 175 | 
 #define cktypePALchange aviTWOCC('p','c') | 
 
 
 
 
 
 | 176 | 
 #define cktypeWAVEbytes aviTWOCC('w','b') | 
 
 
 
 
 
 | 177 | 
 #define ckidAVIPADDING  mmioFOURCC('J','U','N','K') | 
 
 
 
 
 
 | 178 | 
 #define FromHex(n) (((n)>='A')?((n)+10-'A'):((n)-'0')) | 
 
 
 
 
 
 | 179 | 
 #define StreamFromFOURCC(fcc) ((WORD)((FromHex(LOBYTE(LOWORD(fcc)))<<4)+(FromHex(HIBYTE(LOWORD(fcc)))))) | 
 
 
 
 
 
 | 180 | 
 #define TWOCCFromFOURCC(fcc) HIWORD(fcc) | 
 
 
 
 
 
 | 181 | 
 #define ToHex(n) ((BYTE)(((n)>9)?((n)-10+'A'):((n)+'0'))) | 
 
 
 
 
 
 | 182 | 
 #define MAKEAVICKID(tcc, stream) MAKELONG((ToHex((stream)&0x0f)<<8)|(ToHex(((stream)&0xf0)>>4)),tcc) | 
 
 
 
 
 
 | 183 | 
 #define AVIF_HASINDEX   0x10 | 
 
 
 
 
 
 | 184 | 
 #define AVIF_MUSTUSEINDEX       0x20 | 
 
 
 
 
 
 | 185 | 
 #define AVIF_ISINTERLEAVED      0x100 | 
 
 
 
 
 
 | 186 | 
 #define AVIF_TRUSTCKTYPE        0x800 | 
 
 
 
 
 
 | 187 | 
 #define AVIF_WASCAPTUREFILE     0x10000 | 
 
 
 
 
 
 | 188 | 
 #define AVIF_COPYRIGHTED        0x20000 | 
 
 
 
 
 
 | 189 | 
 #define AVI_HEADERSIZE  2048 | 
 
 
 
 
 
 | 190 | 
 #define AVISF_DISABLED  0x01 | 
 
 
 
 
 
 | 191 | 
 #define AVISF_VIDEO_PALCHANGES  0x10000 | 
 
 
 
 
 
 | 192 | 
 #define AVIIF_LIST      0x01 | 
 
 
 
 
 
 | 193 | 
 #define AVIIF_TWOCC     0x02 | 
 
 
 
 
 
 | 194 | 
 #define AVIIF_KEYFRAME  0x10 | 
 
 
 
 
 
 | 195 | 
 #define AVIIF_NOTIME    0x100 | 
 
 
 
 
 
 | 196 | 
 #define AVIIF_COMPUSE   0xfff0000 | 
 
 
 
 
 
 | 197 | 
 #define AVIIF_KEYFRAME  0x10 | 
 
 
 
 
 
 | 198 | 
 #define AVIGETFRAMEF_BESTDISPLAYFMT     1 | 
 
 
 
 
 
 | 199 | 
 #define AVISTREAMINFO_DISABLED  0x01 | 
 
 
 
 
 
 | 200 | 
 #define AVISTREAMINFO_FORMATCHANGES     0x10000 | 
 
 
 
 
 
 | 201 | 
 #define AVIFILEINFO_HASINDEX    0x10 | 
 
 
 
 
 
 | 202 | 
 #define AVIFILEINFO_MUSTUSEINDEX        0x20 | 
 
 
 
 
 
 | 203 | 
 #define AVIFILEINFO_ISINTERLEAVED       0x100 | 
 
 
 
 
 
 | 204 | 
 #define AVIFILEINFO_TRUSTCKTYPE 0x800 | 
 
 
 
 
 
 | 205 | 
 #define AVIFILEINFO_WASCAPTUREFILE      0x10000 | 
 
 
 
 
 
 | 206 | 
 #define AVIFILEINFO_COPYRIGHTED 0x20000 | 
 
 
 
 
 
 | 207 | 
 #define AVIFILECAPS_CANREAD     0x01 | 
 
 
 
 
 
 | 208 | 
 #define AVIFILECAPS_CANWRITE    0x02 | 
 
 
 
 
 
 | 209 | 
 #define AVIFILECAPS_ALLKEYFRAMES        0x10 | 
 
 
 
 
 
 | 210 | 
 #define AVIFILECAPS_NOCOMPRESSION       0x20 | 
 
 
 
 
 
 | 211 | 
 #define AVICOMPRESSF_INTERLEAVE 0x01 | 
 
 
 
 
 
 | 212 | 
 #define AVICOMPRESSF_DATARATE   0x02 | 
 
 
 
 
 
 | 213 | 
 #define AVICOMPRESSF_KEYFRAMES  0x04 | 
 
 
 
 
 
 | 214 | 
 #define AVICOMPRESSF_VALID      0x08 | 
 
 
 
 
 
 | 215 | 
 #define FIND_DIR        0x0000000fL | 
 
 
 
 
 
 | 216 | 
 #define FIND_NEXT       0x00000001L | 
 
 
 
 
 
 | 217 | 
 #define FIND_PREV       0x00000004L | 
 
 
 
 
 
 | 218 | 
 #define FIND_FROM_START 0x00000008L | 
 
 
 
 
 
 | 219 | 
 #define FIND_TYPE       0x000000f0L | 
 
 
 
 
 
 | 220 | 
 #define FIND_KEY        0x00000010L | 
 
 
 
 
 
 | 221 | 
 #define FIND_ANY        0x00000020L | 
 
 
 
 
 
 | 222 | 
 #define FIND_FORMAT     0x00000040L | 
 
 
 
 
 
 | 223 | 
 #define FIND_RET        0x0000f000L | 
 
 
 
 
 
 | 224 | 
 #define FIND_POS        0x00000000L | 
 
 
 
 
 
 | 225 | 
 #define FIND_LENGTH     0x00001000L | 
 
 
 
 
 
 | 226 | 
 #define FIND_OFFSET     0x00002000L | 
 
 
 
 
 
 | 227 | 
 #define FIND_SIZE       0x00003000L | 
 
 
 
 
 
 | 228 | 
 #define FIND_INDEX      0x00004000L | 
 
 
 
 
 
 | 229 | 
 #define AVIERR_OK       0 | 
 
 
 
 
 
 | 230 | 
 #define MAKE_AVIERR(e)  MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x4000+e) | 
 
 
 
 
 
 | 231 | 
 #define AVIERR_UNSUPPORTED      MAKE_AVIERR(101) | 
 
 
 
 
 
 | 232 | 
 #define AVIERR_BADFORMAT        MAKE_AVIERR(102) | 
 
 
 
 
 
 | 233 | 
 #define AVIERR_MEMORY   MAKE_AVIERR(103) | 
 
 
 
 
 
 | 234 | 
 #define AVIERR_INTERNAL MAKE_AVIERR(104) | 
 
 
 
 
 
 | 235 | 
 #define AVIERR_BADFLAGS MAKE_AVIERR(105) | 
 
 
 
 
 
 | 236 | 
 #define AVIERR_BADPARAM MAKE_AVIERR(106) | 
 
 
 
 
 
 | 237 | 
 #define AVIERR_BADSIZE  MAKE_AVIERR(107) | 
 
 
 
 
 
 | 238 | 
 #define AVIERR_BADHANDLE        MAKE_AVIERR(108) | 
 
 
 
 
 
 | 239 | 
 #define AVIERR_FILEREAD MAKE_AVIERR(109) | 
 
 
 
 
 
 | 240 | 
 #define AVIERR_FILEWRITE        MAKE_AVIERR(110) | 
 
 
 
 
 
 | 241 | 
 #define AVIERR_FILEOPEN MAKE_AVIERR(111) | 
 
 
 
 
 
 | 242 | 
 #define AVIERR_COMPRESSOR       MAKE_AVIERR(112) | 
 
 
 
 
 
 | 243 | 
 #define AVIERR_NOCOMPRESSOR     MAKE_AVIERR(113) | 
 
 
 
 
 
 | 244 | 
 #define AVIERR_READONLY MAKE_AVIERR(114) | 
 
 
 
 
 
 | 245 | 
 #define AVIERR_NODATA   MAKE_AVIERR(115) | 
 
 
 
 
 
 | 246 | 
 #define AVIERR_BUFFERTOOSMALL   MAKE_AVIERR(116) | 
 
 
 
 
 
 | 247 | 
 #define AVIERR_CANTCOMPRESS     MAKE_AVIERR(117) | 
 
 
 
 
 
 | 248 | 
 #define AVIERR_USERABORT        MAKE_AVIERR(198) | 
 
 
 
 
 
 | 249 | 
 #define AVIERR_ERROR    MAKE_AVIERR(199) | 
 
 
 
 
 
 | 250 | 
 #define MCIWNDOPENF_NEW 0x0001 | 
 
 
 
 
 
 | 251 | 
 #define MCIWNDF_NOAUTOSIZEWINDOW        0x0001 | 
 
 
 
 
 
 | 252 | 
 #define MCIWNDF_NOPLAYBAR       0x0002 | 
 
 
 
 
 
 | 253 | 
 #define MCIWNDF_NOAUTOSIZEMOVIE 0x0004 | 
 
 
 
 
 
 | 254 | 
 #define MCIWNDF_NOMENU  0x0008 | 
 
 
 
 
 
 | 255 | 
 #define MCIWNDF_SHOWNAME        0x0010 | 
 
 
 
 
 
 | 256 | 
 #define MCIWNDF_SHOWPOS 0x0020 | 
 
 
 
 
 
 | 257 | 
 #define MCIWNDF_SHOWMODE        0x0040 | 
 
 
 
 
 
 | 258 | 
 #define MCIWNDF_SHOWALL 0x0070 | 
 
 
 
 
 
 | 259 | 
 #define MCIWNDF_NOTIFYMODE      0x0100 | 
 
 
 
 
 
 | 260 | 
 #define MCIWNDF_NOTIFYPOS       0x0200 | 
 
 
 
 
 
 | 261 | 
 #define MCIWNDF_NOTIFYSIZE      0x0400 | 
 
 
 
 
 
 | 262 | 
 #define MCIWNDF_NOTIFYERROR     0x1000 | 
 
 
 
 
 
 | 263 | 
 #define MCIWNDF_NOTIFYALL       0x1F00 | 
 
 
 
 
 
 | 264 | 
 #define MCIWNDF_NOTIFYANSI      0x0080 | 
 
 
 
 
 
 | 265 | 
 #define MCIWNDF_NOTIFYMEDIAA    0x0880 | 
 
 
 
 
 
 | 266 | 
 #define MCIWNDF_NOTIFYMEDIAW    0x0800 | 
 
 
 
 
 
 | 267 | 
 #define MCIWNDF_RECORD  0x2000 | 
 
 
 
 
 
 | 268 | 
 #define MCIWNDF_NOERRORDLG      0x4000 | 
 
 
 
 
 
 | 269 | 
 #define MCIWNDF_NOOPEN  0x8000 | 
 
 
 
 
 
 | 270 | 
 #define MCIWNDM_GETDEVICEID     (WM_USER + 100) | 
 
 
 
 
 
 | 271 | 
 #define MCIWNDM_GETSTART        (WM_USER + 103) | 
 
 
 
 
 
 | 272 | 
 #define MCIWNDM_GETLENGTH       (WM_USER + 104) | 
 
 
 
 
 
 | 273 | 
 #define MCIWNDM_GETEND  (WM_USER + 105) | 
 
 
 
 
 
 | 274 | 
 #define MCIWNDM_EJECT   (WM_USER + 107) | 
 
 
 
 
 
 | 275 | 
 #define MCIWNDM_SETZOOM (WM_USER + 108) | 
 
 
 
 
 
 | 276 | 
 #define MCIWNDM_GETZOOM (WM_USER + 109) | 
 
 
 
 
 
 | 277 | 
 #define MCIWNDM_SETVOLUME       (WM_USER + 110) | 
 
 
 
 
 
 | 278 | 
 #define MCIWNDM_GETVOLUME       (WM_USER + 111) | 
 
 
 
 
 
 | 279 | 
 #define MCIWNDM_SETSPEED        (WM_USER + 112) | 
 
 
 
 
 
 | 280 | 
 #define MCIWNDM_GETSPEED        (WM_USER + 113) | 
 
 
 
 
 
 | 281 | 
 #define MCIWNDM_SETREPEAT       (WM_USER + 114) | 
 
 
 
 
 
 | 282 | 
 #define MCIWNDM_GETREPEAT       (WM_USER + 115) | 
 
 
 
 
 
 | 283 | 
 #define MCIWNDM_REALIZE (WM_USER + 118) | 
 
 
 
 
 
 | 284 | 
 #define MCIWNDM_VALIDATEMEDIA   (WM_USER + 121) | 
 
 
 
 
 
 | 285 | 
 #define MCIWNDM_PLAYFROM        (WM_USER + 122) | 
 
 
 
 
 
 | 286 | 
 #define MCIWNDM_PLAYTO  (WM_USER + 123) | 
 
 
 
 
 
 | 287 | 
 #define MCIWNDM_GETPALETTE      (WM_USER + 126) | 
 
 
 
 
 
 | 288 | 
 #define MCIWNDM_SETPALETTE      (WM_USER + 127) | 
 
 
 
 
 
 | 289 | 
 #define MCIWNDM_SETTIMERS       (WM_USER + 129) | 
 
 
 
 
 
 | 290 | 
 #define MCIWNDM_SETACTIVETIMER  (WM_USER + 130) | 
 
 
 
 
 
 | 291 | 
 #define MCIWNDM_SETINACTIVETIMER        (WM_USER + 131) | 
 
 
 
 
 
 | 292 | 
 #define MCIWNDM_GETACTIVETIMER  (WM_USER + 132) | 
 
 
 
 
 
 | 293 | 
 #define MCIWNDM_GETINACTIVETIMER        (WM_USER + 133) | 
 
 
 
 
 
 | 294 | 
 #define MCIWNDM_CHANGESTYLES    (WM_USER + 135) | 
 
 
 
 
 
 | 295 | 
 #define MCIWNDM_GETSTYLES       (WM_USER + 136) | 
 
 
 
 
 
 | 296 | 
 #define MCIWNDM_GETALIAS        (WM_USER + 137) | 
 
 
 
 
 
 | 297 | 
 #define MCIWNDM_PLAYREVERSE     (WM_USER + 139) | 
 
 
 
 
 
 | 298 | 
 #define MCIWNDM_GET_SOURCE      (WM_USER + 140) | 
 
 
 
 
 
 | 299 | 
 #define MCIWNDM_PUT_SOURCE      (WM_USER + 141) | 
 
 
 
 
 
 | 300 | 
 #define MCIWNDM_GET_DEST        (WM_USER + 142) | 
 
 
 
 
 
 | 301 | 
 #define MCIWNDM_PUT_DEST        (WM_USER + 143) | 
 
 
 
 
 
 | 302 | 
 #define MCIWNDM_CAN_PLAY        (WM_USER + 144) | 
 
 
 
 
 
 | 303 | 
 #define MCIWNDM_CAN_WINDOW      (WM_USER + 145) | 
 
 
 
 
 
 | 304 | 
 #define MCIWNDM_CAN_RECORD      (WM_USER + 146) | 
 
 
 
 
 
 | 305 | 
 #define MCIWNDM_CAN_SAVE        (WM_USER + 147) | 
 
 
 
 
 
 | 306 | 
 #define MCIWNDM_CAN_EJECT       (WM_USER + 148) | 
 
 
 
 
 
 | 307 | 
 #define MCIWNDM_CAN_CONFIG      (WM_USER + 149) | 
 
 
 
 
 
 | 308 | 
 #define MCIWNDM_PALETTEKICK     (WM_USER + 150) | 
 
 
 
 
 
 | 309 | 
 #define MCIWNDM_OPENINTERFACE   (WM_USER + 151) | 
 
 
 
 
 
 | 310 | 
 #define MCIWNDM_SETOWNER        (WM_USER + 152) | 
 
 
 
 
 
 | 311 | 
 #define MCIWNDM_SENDSTRINGA     (WM_USER + 101) | 
 
 
 
 
 
 | 312 | 
 #define MCIWNDM_GETPOSITIONA    (WM_USER + 102) | 
 
 
 
 
 
 | 313 | 
 #define MCIWNDM_GETMODEA        (WM_USER + 106) | 
 
 
 
 
 
 | 314 | 
 #define MCIWNDM_SETTIMEFORMATA  (WM_USER + 119) | 
 
 
 
 
 
 | 315 | 
 #define MCIWNDM_GETTIMEFORMATA  (WM_USER + 120) | 
 
 
 
 
 
 | 316 | 
 #define MCIWNDM_GETFILENAMEA    (WM_USER + 124) | 
 
 
 
 
 
 | 317 | 
 #define MCIWNDM_GETDEVICEA      (WM_USER + 125) | 
 
 
 
 
 
 | 318 | 
 #define MCIWNDM_GETERRORA       (WM_USER + 128) | 
 
 
 
 
 
 | 319 | 
 #define MCIWNDM_NEWA    (WM_USER + 134) | 
 
 
 
 
 
 | 320 | 
 #define MCIWNDM_RETURNSTRINGA   (WM_USER + 138) | 
 
 
 
 
 
 | 321 | 
 #define MCIWNDM_OPENA   (WM_USER + 153) | 
 
 
 
 
 
 | 322 | 
 #define MCIWNDM_SENDSTRINGW     (WM_USER + 201) | 
 
 
 
 
 
 | 323 | 
 #define MCIWNDM_GETPOSITIONW    (WM_USER + 202) | 
 
 
 
 
 
 | 324 | 
 #define MCIWNDM_GETMODEW        (WM_USER + 206) | 
 
 
 
 
 
 | 325 | 
 #define MCIWNDM_SETTIMEFORMATW  (WM_USER + 219) | 
 
 
 
 
 
 | 326 | 
 #define MCIWNDM_GETTIMEFORMATW  (WM_USER + 220) | 
 
 
 
 
 
 | 327 | 
 #define MCIWNDM_GETFILENAMEW    (WM_USER + 224) | 
 
 
 
 
 
 | 328 | 
 #define MCIWNDM_GETDEVICEW      (WM_USER + 225) | 
 
 
 
 
 
 | 329 | 
 #define MCIWNDM_GETERRORW       (WM_USER + 228) | 
 
 
 
 
 
 | 330 | 
 #define MCIWNDM_NEWW    (WM_USER + 234) | 
 
 
 
 
 
 | 331 | 
 #define MCIWNDM_RETURNSTRINGW   (WM_USER + 238) | 
 
 
 
 
 
 | 332 | 
 #define MCIWNDM_OPENW   (WM_USER + 252) | 
 
 
 
 
 
 | 333 | 
 #define MCIWNDM_NOTIFYMODE      (WM_USER + 200) | 
 
 
 
 
 
 | 334 | 
 #define MCIWNDM_NOTIFYPOS       (WM_USER + 201) | 
 
 
 
 
 
 | 335 | 
 #define MCIWNDM_NOTIFYSIZE      (WM_USER + 202) | 
 
 
 
 
 
 | 336 | 
 #define MCIWNDM_NOTIFYMEDIA     (WM_USER + 203) | 
 
 
 
 
 
 | 337 | 
 #define MCIWNDM_NOTIFYERROR     (WM_USER + 205) | 
 
 
 
 
 
 | 338 | 
 #define MCIWND_START    -1 | 
 
 
 
 
 
 | 339 | 
 #define MCIWND_END      -2 | 
 
 
 
 
 
 | 340 | 
 #define DDF_UPDATE      0x02 | 
 
 
 
 
 
 | 341 | 
 #define DDF_SAME_HDC    0x04 | 
 
 
 
 
 
 | 342 | 
 #define DDF_SAME_DRAW   0x08 | 
 
 
 
 
 
 | 343 | 
 #define DDF_DONTDRAW    0x10 | 
 
 
 
 
 
 | 344 | 
 #define DDF_ANIMATE     0x20 | 
 
 
 
 
 
 | 345 | 
 #define DDF_BUFFER      0x40 | 
 
 
 
 
 
 | 346 | 
 #define DDF_JUSTDRAWIT  0x80 | 
 
 
 
 
 
 | 347 | 
 #define DDF_FULLSCREEN  0x100 | 
 
 
 
 
 
 | 348 | 
 #define DDF_BACKGROUNDPAL       0x200 | 
 
 
 
 
 
 | 349 | 
 #define DDF_NOTKEYFRAME 0x400 | 
 
 
 
 
 
 | 350 | 
 #define DDF_HURRYUP     0x800 | 
 
 
 
 
 
 | 351 | 
 #define DDF_HALFTONE    0x1000 | 
 
 
 
 
 
 | 352 | 
 #define DDF_PREROLL     DDF_DONTDRAW | 
 
 
 
 
 
 | 353 | 
 #define DDF_SAME_DIB    DDF_SAME_DRAW | 
 
 
 
 
 
 | 354 | 
 #define DDF_SAME_SIZE   DDF_SAME_DRAW | 
 
 
 
 
 
 | 355 | 
 #define PD_CAN_DRAW_DIB 0x01 | 
 
 
 
 
 
 | 356 | 
 #define PD_CAN_STRETCHDIB       0x02 | 
 
 
 
 
 
 | 357 | 
 #define PD_STRETCHDIB_1_1_OK    0x04 | 
 
 
 
 
 
 | 358 | 
 #define PD_STRETCHDIB_1_2_OK    0x08 | 
 
 
 
 
 
 | 359 | 
 #define PD_STRETCHDIB_1_N_OK    0x10 | 
 
 
 
 
 
 | 360 | 
 #ifndef mmioFOURCC | 
 
 
 
 
 
 | 361 | 
 #define mmioFOURCC(c0,c1,c2,c3) ((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)|((DWORD)(BYTE)(c2)<<16)|((DWORD)(BYTE)(c3)<<24)) | 
 
 
 
 
 
 | 362 | 
 #endif | 
 
 
 
 
 
 | 363 | 
 #ifndef aviTWOCC | 
 
 
 
 
 
 | 364 | 
 #define aviTWOCC(ch0,ch1) ((WORD)(BYTE)(ch0)|((WORD)(BYTE)(ch1)<<8)) | 
 
 
 
 
 
 | 365 | 
 #endif | 
 
 
 
 
 
 | 366 | 
  | 
 
 
 
 
 
 | 367 | 
 #ifndef RC_INVOKED | 
 
 
 
 
 
 | 368 | 
 DECLARE_HANDLE(HIC); | 
 
 
 
 
 
 | 369 | 
 DECLARE_HANDLE(HDRAWDIB); | 
 
 
 
 
 
 | 370 | 
 typedef WORD TWOCC; | 
 
 
 
 
 
 | 371 | 
 typedef BOOL (CALLBACK *AVISAVECALLBACK)(INT); | 
 
 
 
 
 
 | 372 | 
 typedef struct { | 
 
 
 
 
 
 | 373 | 
         DWORD dwSize; | 
 
 
 
 
 
 | 374 | 
         DWORD fccType; | 
 
 
 
 
 
 | 375 | 
         DWORD fccHandler; | 
 
 
 
 
 
 | 376 | 
         DWORD dwVersion; | 
 
 
 
 
 
 | 377 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 378 | 
         LRESULT dwError; | 
 
 
 
 
 
 | 379 | 
         LPVOID pV1Reserved; | 
 
 
 
 
 
 | 380 | 
         LPVOID pV2Reserved; | 
 
 
 
 
 
 | 381 | 
         DWORD dnDevNode; | 
 
 
 
 
 
 | 382 | 
 } ICOPEN,*LPICOPEN; | 
 
 
 
 
 
 | 383 | 
 typedef struct { | 
 
 
 
 
 
 | 384 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 385 | 
         LPBITMAPINFOHEADER lpbiOutput; | 
 
 
 
 
 
 | 386 | 
         LPVOID lpOutput; | 
 
 
 
 
 
 | 387 | 
         LPBITMAPINFOHEADER lpbiInput; | 
 
 
 
 
 
 | 388 | 
         LPVOID lpInput; | 
 
 
 
 
 
 | 389 | 
         LPDWORD lpckid; | 
 
 
 
 
 
 | 390 | 
         LPDWORD lpdwFlags; | 
 
 
 
 
 
 | 391 | 
         LONG lFrameNum; | 
 
 
 
 
 
 | 392 | 
         DWORD dwFrameSize; | 
 
 
 
 
 
 | 393 | 
         DWORD dwQuality; | 
 
 
 
 
 
 | 394 | 
         LPBITMAPINFOHEADER lpbiPrev; | 
 
 
 
 
 
 | 395 | 
         LPVOID lpPrev; | 
 
 
 
 
 
 | 396 | 
 } ICCOMPRESS; | 
 
 
 
 
 
 | 397 | 
 typedef struct { | 
 
 
 
 
 
 | 398 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 399 | 
         LPBITMAPINFOHEADER lpbiOutput; | 
 
 
 
 
 
 | 400 | 
         LPARAM lOutput; | 
 
 
 
 
 
 | 401 | 
         LPBITMAPINFOHEADER lpbiInput; | 
 
 
 
 
 
 | 402 | 
         LPARAM lInput; | 
 
 
 
 
 
 | 403 | 
         LONG lStartFrame; | 
 
 
 
 
 
 | 404 | 
         LONG lFrameCount; | 
 
 
 
 
 
 | 405 | 
         LONG lQuality; | 
 
 
 
 
 
 | 406 | 
         LONG lDataRate; | 
 
 
 
 
 
 | 407 | 
         LONG lKeyRate; | 
 
 
 
 
 
 | 408 | 
         DWORD dwRate; | 
 
 
 
 
 
 | 409 | 
         DWORD dwScale; | 
 
 
 
 
 
 | 410 | 
         DWORD dwOverheadPerFrame; | 
 
 
 
 
 
 | 411 | 
         DWORD dwReserved2; | 
 
 
 
 
 
 | 412 | 
         LONG (CALLBACK *GetData)(LPARAM,LONG,LPVOID,LONG); | 
 
 
 
 
 
 | 413 | 
         LONG (CALLBACK *PutData)(LPARAM,LONG,LPVOID,LONG); | 
 
 
 
 
 
 | 414 | 
 } ICCOMPRESSFRAMES; | 
 
 
 
 
 
 | 415 | 
 typedef struct { | 
 
 
 
 
 
 | 416 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 417 | 
         LPARAM lParam; | 
 
 
 
 
 
 | 418 | 
         LONG (CALLBACK *Status)(LPARAM,UINT,LONG); | 
 
 
 
 
 
 | 419 | 
 } ICSETSTATUSPROC; | 
 
 
 
 
 
 | 420 | 
 typedef struct { | 
 
 
 
 
 
 | 421 | 
         DWORD dwSize; | 
 
 
 
 
 
 | 422 | 
         DWORD fccType; | 
 
 
 
 
 
 | 423 | 
         DWORD fccHandler; | 
 
 
 
 
 
 | 424 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 425 | 
         DWORD dwVersion; | 
 
 
 
 
 
 | 426 | 
         DWORD dwVersionICM; | 
 
 
 
 
 
 | 427 | 
         WCHAR szName[16]; | 
 
 
 
 
 
 | 428 | 
         WCHAR szDescription[128]; | 
 
 
 
 
 
 | 429 | 
         WCHAR szDriver[128]; | 
 
 
 
 
 
 | 430 | 
 } ICINFO; | 
 
 
 
 
 
 | 431 | 
 typedef struct { | 
 
 
 
 
 
 | 432 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 433 | 
         LPBITMAPINFOHEADER lpbiInput; | 
 
 
 
 
 
 | 434 | 
         LPVOID lpInput; | 
 
 
 
 
 
 | 435 | 
         LPBITMAPINFOHEADER lpbiOutput; | 
 
 
 
 
 
 | 436 | 
         LPVOID lpOutput; | 
 
 
 
 
 
 | 437 | 
         DWORD ckid; | 
 
 
 
 
 
 | 438 | 
 } ICDECOMPRESS; | 
 
 
 
 
 
 | 439 | 
 typedef struct { | 
 
 
 
 
 
 | 440 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 441 | 
         LPBITMAPINFOHEADER lpbiSrc; | 
 
 
 
 
 
 | 442 | 
         LPVOID lpSrc; | 
 
 
 
 
 
 | 443 | 
         LPBITMAPINFOHEADER lpbiDst; | 
 
 
 
 
 
 | 444 | 
         LPVOID lpDst; | 
 
 
 
 
 
 | 445 | 
         INT xDst; | 
 
 
 
 
 
 | 446 | 
         INT yDst; | 
 
 
 
 
 
 | 447 | 
         INT dxDst; | 
 
 
 
 
 
 | 448 | 
         INT dyDst; | 
 
 
 
 
 
 | 449 | 
         INT xSrc; | 
 
 
 
 
 
 | 450 | 
         INT ySrc; | 
 
 
 
 
 
 | 451 | 
         INT dxSrc; | 
 
 
 
 
 
 | 452 | 
         INT dySrc; | 
 
 
 
 
 
 | 453 | 
 } ICDECOMPRESSEX; | 
 
 
 
 
 
 | 454 | 
 typedef struct { | 
 
 
 
 
 
 | 455 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 456 | 
         LPBITMAPINFOHEADER lpbiIn; | 
 
 
 
 
 
 | 457 | 
         LPBITMAPINFOHEADER lpbiSuggest; | 
 
 
 
 
 
 | 458 | 
         INT dxSrc; | 
 
 
 
 
 
 | 459 | 
         INT dySrc; | 
 
 
 
 
 
 | 460 | 
         INT dxDst; | 
 
 
 
 
 
 | 461 | 
         INT dyDst; | 
 
 
 
 
 
 | 462 | 
         HIC hicDecompressor; | 
 
 
 
 
 
 | 463 | 
 } ICDRAWSUGGEST; | 
 
 
 
 
 
 | 464 | 
 typedef struct { | 
 
 
 
 
 
 | 465 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 466 | 
         INT iStart; | 
 
 
 
 
 
 | 467 | 
         INT iLen; | 
 
 
 
 
 
 | 468 | 
         LPPALETTEENTRY lppe; | 
 
 
 
 
 
 | 469 | 
 } ICPALETTE; | 
 
 
 
 
 
 | 470 | 
 typedef struct { | 
 
 
 
 
 
 | 471 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 472 | 
         HPALETTE hpal; | 
 
 
 
 
 
 | 473 | 
         HWND hwnd; | 
 
 
 
 
 
 | 474 | 
         HDC hdc; | 
 
 
 
 
 
 | 475 | 
         INT xDst; | 
 
 
 
 
 
 | 476 | 
         INT yDst; | 
 
 
 
 
 
 | 477 | 
         INT dxDst; | 
 
 
 
 
 
 | 478 | 
         INT dyDst; | 
 
 
 
 
 
 | 479 | 
         LPBITMAPINFOHEADER lpbi; | 
 
 
 
 
 
 | 480 | 
         INT xSrc; | 
 
 
 
 
 
 | 481 | 
         INT ySrc; | 
 
 
 
 
 
 | 482 | 
         INT dxSrc; | 
 
 
 
 
 
 | 483 | 
         INT dySrc; | 
 
 
 
 
 
 | 484 | 
         DWORD dwRate; | 
 
 
 
 
 
 | 485 | 
         DWORD dwScale; | 
 
 
 
 
 
 | 486 | 
 } ICDRAWBEGIN; | 
 
 
 
 
 
 | 487 | 
 typedef struct { | 
 
 
 
 
 
 | 488 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 489 | 
         LPVOID lpFormat; | 
 
 
 
 
 
 | 490 | 
         LPVOID lpData; | 
 
 
 
 
 
 | 491 | 
         DWORD cbData; | 
 
 
 
 
 
 | 492 | 
         LONG lTime; | 
 
 
 
 
 
 | 493 | 
 } ICDRAW; | 
 
 
 
 
 
 | 494 | 
 typedef struct { | 
 
 
 
 
 
 | 495 | 
         LONG cbSize; | 
 
 
 
 
 
 | 496 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 497 | 
         HIC hic; | 
 
 
 
 
 
 | 498 | 
         DWORD fccType; | 
 
 
 
 
 
 | 499 | 
         DWORD fccHandler; | 
 
 
 
 
 
 | 500 | 
         LPBITMAPINFO lpbiIn; | 
 
 
 
 
 
 | 501 | 
         LPBITMAPINFO lpbiOut; | 
 
 
 
 
 
 | 502 | 
         LPVOID lpBitsOut; | 
 
 
 
 
 
 | 503 | 
         LPVOID lpBitsPrev; | 
 
 
 
 
 
 | 504 | 
         LONG lFrame; | 
 
 
 
 
 
 | 505 | 
         LONG lKey; | 
 
 
 
 
 
 | 506 | 
         LONG lDataRate; | 
 
 
 
 
 
 | 507 | 
         LONG lQ; | 
 
 
 
 
 
 | 508 | 
         LONG lKeyCount; | 
 
 
 
 
 
 | 509 | 
         LPVOID lpState; | 
 
 
 
 
 
 | 510 | 
         LONG cbState; | 
 
 
 
 
 
 | 511 | 
 } COMPVARS, *PCOMPVARS; | 
 
 
 
 
 
 | 512 | 
 typedef struct _MainAVIHeader | 
 
 
 
 
 
 | 513 | 
 { | 
 
 
 
 
 
 | 514 | 
         DWORD dwMicroSecPerFrame; | 
 
 
 
 
 
 | 515 | 
         DWORD dwMaxBytesPerSec; | 
 
 
 
 
 
 | 516 | 
         DWORD dwPaddingGranularity; | 
 
 
 
 
 
 | 517 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 518 | 
         DWORD dwTotalFrames; | 
 
 
 
 
 
 | 519 | 
         DWORD dwInitialFrames; | 
 
 
 
 
 
 | 520 | 
         DWORD dwStreams; | 
 
 
 
 
 
 | 521 | 
         DWORD dwSuggestedBufferSize; | 
 
 
 
 
 
 | 522 | 
         DWORD dwWidth; | 
 
 
 
 
 
 | 523 | 
         DWORD dwHeight; | 
 
 
 
 
 
 | 524 | 
         DWORD dwReserved[4]; | 
 
 
 
 
 
 | 525 | 
 } MainAVIHeader; | 
 
 
 
 
 
 | 526 | 
 typedef struct { | 
 
 
 
 
 
 | 527 | 
         FOURCC fccType; | 
 
 
 
 
 
 | 528 | 
         FOURCC fccHandler; | 
 
 
 
 
 
 | 529 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 530 | 
         WORD wPriority; | 
 
 
 
 
 
 | 531 | 
         WORD wLanguage; | 
 
 
 
 
 
 | 532 | 
         DWORD dwInitialFrames; | 
 
 
 
 
 
 | 533 | 
         DWORD dwScale; | 
 
 
 
 
 
 | 534 | 
         DWORD dwRate; | 
 
 
 
 
 
 | 535 | 
         DWORD dwStart; | 
 
 
 
 
 
 | 536 | 
         DWORD dwLength; | 
 
 
 
 
 
 | 537 | 
         DWORD dwSuggestedBufferSize; | 
 
 
 
 
 
 | 538 | 
         DWORD dwQuality; | 
 
 
 
 
 
 | 539 | 
         DWORD dwSampleSize; | 
 
 
 
 
 
 | 540 | 
         RECT rcFrame; | 
 
 
 
 
 
 | 541 | 
 } AVIStreamHeader; | 
 
 
 
 
 
 | 542 | 
 typedef struct _AVIINDEXENTRY { | 
 
 
 
 
 
 | 543 | 
         DWORD ckid; | 
 
 
 
 
 
 | 544 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 545 | 
         DWORD dwChunkOffset; | 
 
 
 
 
 
 | 546 | 
         DWORD dwChunkLength; | 
 
 
 
 
 
 | 547 | 
 } AVIINDEXENTRY; | 
 
 
 
 
 
 | 548 | 
 typedef struct _AVIPALCHANGE { | 
 
 
 
 
 
 | 549 | 
         BYTE bFirstEntry; | 
 
 
 
 
 
 | 550 | 
         BYTE bNumEntries; | 
 
 
 
 
 
 | 551 | 
         WORD wFlags; | 
 
 
 
 
 
 | 552 | 
         PALETTEENTRY peNew[1]; | 
 
 
 
 
 
 | 553 | 
 } AVIPALCHANGE; | 
 
 
 
 
 
 | 554 | 
 typedef struct _AVISTREAMINFOA { | 
 
 
 
 
 
 | 555 | 
         DWORD fccType; | 
 
 
 
 
 
 | 556 | 
         DWORD fccHandler; | 
 
 
 
 
 
 | 557 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 558 | 
         DWORD dwCaps; | 
 
 
 
 
 
 | 559 | 
         WORD wPriority; | 
 
 
 
 
 
 | 560 | 
         WORD wLanguage; | 
 
 
 
 
 
 | 561 | 
         DWORD dwScale; | 
 
 
 
 
 
 | 562 | 
         DWORD dwRate; | 
 
 
 
 
 
 | 563 | 
         DWORD dwStart; | 
 
 
 
 
 
 | 564 | 
         DWORD dwLength; | 
 
 
 
 
 
 | 565 | 
         DWORD dwInitialFrames; | 
 
 
 
 
 
 | 566 | 
         DWORD dwSuggestedBufferSize; | 
 
 
 
 
 
 | 567 | 
         DWORD dwQuality; | 
 
 
 
 
 
 | 568 | 
         DWORD dwSampleSize; | 
 
 
 
 
 
 | 569 | 
         RECT rcFrame; | 
 
 
 
 
 
 | 570 | 
         DWORD dwEditCount; | 
 
 
 
 
 
 | 571 | 
         DWORD dwFormatChangeCount; | 
 
 
 
 
 
 | 572 | 
         CHAR szName[64]; | 
 
 
 
 
 
 | 573 | 
 } AVISTREAMINFOA, * LPAVISTREAMINFOA, *PAVISTREAMINFOA; | 
 
 
 
 
 
 | 574 | 
 typedef struct _AVISTREAMINFOW { | 
 
 
 
 
 
 | 575 | 
         DWORD fccType; | 
 
 
 
 
 
 | 576 | 
         DWORD fccHandler; | 
 
 
 
 
 
 | 577 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 578 | 
         DWORD dwCaps; | 
 
 
 
 
 
 | 579 | 
         WORD wPriority; | 
 
 
 
 
 
 | 580 | 
         WORD wLanguage; | 
 
 
 
 
 
 | 581 | 
         DWORD dwScale; | 
 
 
 
 
 
 | 582 | 
         DWORD dwRate; | 
 
 
 
 
 
 | 583 | 
         DWORD dwStart; | 
 
 
 
 
 
 | 584 | 
         DWORD dwLength; | 
 
 
 
 
 
 | 585 | 
         DWORD dwInitialFrames; | 
 
 
 
 
 
 | 586 | 
         DWORD dwSuggestedBufferSize; | 
 
 
 
 
 
 | 587 | 
         DWORD dwQuality; | 
 
 
 
 
 
 | 588 | 
         DWORD dwSampleSize; | 
 
 
 
 
 
 | 589 | 
         RECT rcFrame; | 
 
 
 
 
 
 | 590 | 
         DWORD dwEditCount; | 
 
 
 
 
 
 | 591 | 
         DWORD dwFormatChangeCount; | 
 
 
 
 
 
 | 592 | 
         WCHAR szName[64]; | 
 
 
 
 
 
 | 593 | 
 } AVISTREAMINFOW, * LPAVISTREAMINFOW, *PAVISTREAMINFOW; | 
 
 
 
 
 
 | 594 | 
 typedef struct _AVIFILEINFOW { | 
 
 
 
 
 
 | 595 | 
         DWORD dwMaxBytesPerSec; | 
 
 
 
 
 
 | 596 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 597 | 
         DWORD dwCaps; | 
 
 
 
 
 
 | 598 | 
         DWORD dwStreams; | 
 
 
 
 
 
 | 599 | 
         DWORD dwSuggestedBufferSize; | 
 
 
 
 
 
 | 600 | 
         DWORD dwWidth; | 
 
 
 
 
 
 | 601 | 
         DWORD dwHeight; | 
 
 
 
 
 
 | 602 | 
         DWORD dwScale; | 
 
 
 
 
 
 | 603 | 
         DWORD dwRate; | 
 
 
 
 
 
 | 604 | 
         DWORD dwLength; | 
 
 
 
 
 
 | 605 | 
         DWORD dwEditCount; | 
 
 
 
 
 
 | 606 | 
         WCHAR szFileType[64]; | 
 
 
 
 
 
 | 607 | 
 } AVIFILEINFOW, *LPAVIFILEINFOW, *PAVIFILEINFOW; | 
 
 
 
 
 
 | 608 | 
 typedef struct _AVIFILEINFOA { | 
 
 
 
 
 
 | 609 | 
         DWORD dwMaxBytesPerSec; | 
 
 
 
 
 
 | 610 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 611 | 
         DWORD dwCaps; | 
 
 
 
 
 
 | 612 | 
         DWORD dwStreams; | 
 
 
 
 
 
 | 613 | 
         DWORD dwSuggestedBufferSize; | 
 
 
 
 
 
 | 614 | 
         DWORD dwWidth; | 
 
 
 
 
 
 | 615 | 
         DWORD dwHeight; | 
 
 
 
 
 
 | 616 | 
         DWORD dwScale; | 
 
 
 
 
 
 | 617 | 
         DWORD dwRate; | 
 
 
 
 
 
 | 618 | 
         DWORD dwLength; | 
 
 
 
 
 
 | 619 | 
         DWORD dwEditCount; | 
 
 
 
 
 
 | 620 | 
         CHAR szFileType[64]; | 
 
 
 
 
 
 | 621 | 
 } AVIFILEINFOA, *LPAVIFILEINFOA, *PAVIFILEINFOA; | 
 
 
 
 
 
 | 622 | 
 typedef struct _AVICOMPRESSOPTIONS { | 
 
 
 
 
 
 | 623 | 
         DWORD fccType; | 
 
 
 
 
 
 | 624 | 
         DWORD fccHandler; | 
 
 
 
 
 
 | 625 | 
         DWORD dwKeyFrameEvery; | 
 
 
 
 
 
 | 626 | 
         DWORD dwQuality; | 
 
 
 
 
 
 | 627 | 
         DWORD dwBytesPerSecond; | 
 
 
 
 
 
 | 628 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 629 | 
         LPVOID lpFormat; | 
 
 
 
 
 
 | 630 | 
         DWORD cbFormat; | 
 
 
 
 
 
 | 631 | 
         LPVOID lpParms; | 
 
 
 
 
 
 | 632 | 
         DWORD cbParms; | 
 
 
 
 
 
 | 633 | 
         DWORD dwInterleaveEvery; | 
 
 
 
 
 
 | 634 | 
 } AVICOMPRESSOPTIONS, *LPAVICOMPRESSOPTIONS,*PAVICOMPRESSOPTIONS; | 
 
 
 
 
 
 | 635 | 
 typedef struct _CAPDRIVERCAPS { | 
 
 
 
 
 
 | 636 | 
         UINT wDeviceIndex; | 
 
 
 
 
 
 | 637 | 
         BOOL fHasOverlay; | 
 
 
 
 
 
 | 638 | 
         BOOL fHasDlgVideoSource; | 
 
 
 
 
 
 | 639 | 
         BOOL fHasDlgVideoFormat; | 
 
 
 
 
 
 | 640 | 
         BOOL fHasDlgVideoDisplay; | 
 
 
 
 
 
 | 641 | 
         BOOL fCaptureInitialized; | 
 
 
 
 
 
 | 642 | 
         BOOL fDriverSuppliesPalettes; | 
 
 
 
 
 
 | 643 | 
         HANDLE hVideoIn; | 
 
 
 
 
 
 | 644 | 
         HANDLE hVideoOut; | 
 
 
 
 
 
 | 645 | 
         HANDLE hVideoExtIn; | 
 
 
 
 
 
 | 646 | 
         HANDLE hVideoExtOut; | 
 
 
 
 
 
 | 647 | 
 } CAPDRIVERCAPS, *LPCAPDRIVERCAPS; | 
 
 
 
 
 
 | 648 | 
 typedef struct _CAPINFOCHUNK { | 
 
 
 
 
 
 | 649 | 
         FOURCC fccInfoID; | 
 
 
 
 
 
 | 650 | 
         LPVOID lpData; | 
 
 
 
 
 
 | 651 | 
         LONG cbData; | 
 
 
 
 
 
 | 652 | 
 } CAPINFOCHUNK, *LPCAPINFOCHUNK; | 
 
 
 
 
 
 | 653 | 
 typedef struct _CAPSTATUS { | 
 
 
 
 
 
 | 654 | 
         UINT uiImageWidth; | 
 
 
 
 
 
 | 655 | 
         UINT uiImageHeight; | 
 
 
 
 
 
 | 656 | 
         BOOL fLiveWindow; | 
 
 
 
 
 
 | 657 | 
         BOOL fOverlayWindow; | 
 
 
 
 
 
 | 658 | 
         BOOL fScale; | 
 
 
 
 
 
 | 659 | 
         POINT ptScroll; | 
 
 
 
 
 
 | 660 | 
         BOOL fUsingDefaultPalette; | 
 
 
 
 
 
 | 661 | 
         BOOL fAudioHardware; | 
 
 
 
 
 
 | 662 | 
         BOOL fCapFileExists; | 
 
 
 
 
 
 | 663 | 
         DWORD dwCurrentVideoFrame; | 
 
 
 
 
 
 | 664 | 
         DWORD dwCurrentVideoFramesDropped; | 
 
 
 
 
 
 | 665 | 
         DWORD dwCurrentWaveSamples; | 
 
 
 
 
 
 | 666 | 
         DWORD dwCurrentTimeElapsedMS; | 
 
 
 
 
 
 | 667 | 
         HPALETTE hPalCurrent; | 
 
 
 
 
 
 | 668 | 
         BOOL fCapturingNow; | 
 
 
 
 
 
 | 669 | 
         DWORD dwReturn; | 
 
 
 
 
 
 | 670 | 
         UINT wNumVideoAllocated; | 
 
 
 
 
 
 | 671 | 
         UINT wNumAudioAllocated; | 
 
 
 
 
 
 | 672 | 
 } CAPSTATUS, *LPCAPSTATUS; | 
 
 
 
 
 
 | 673 | 
 typedef struct _CAPTUREPARMS { | 
 
 
 
 
 
 | 674 | 
         DWORD dwRequestMicroSecPerFrame; | 
 
 
 
 
 
 | 675 | 
         BOOL fMakeUserHitOKToCapture; | 
 
 
 
 
 
 | 676 | 
         UINT wPercentDropForError; | 
 
 
 
 
 
 | 677 | 
         BOOL fYield; | 
 
 
 
 
 
 | 678 | 
         DWORD dwIndexSize; | 
 
 
 
 
 
 | 679 | 
         UINT wChunkGranularity; | 
 
 
 
 
 
 | 680 | 
         BOOL fUsingDOSMemory; | 
 
 
 
 
 
 | 681 | 
         UINT wNumVideoRequested; | 
 
 
 
 
 
 | 682 | 
         BOOL fCaptureAudio; | 
 
 
 
 
 
 | 683 | 
         UINT wNumAudioRequested; | 
 
 
 
 
 
 | 684 | 
         UINT vKeyAbort; | 
 
 
 
 
 
 | 685 | 
         BOOL fAbortLeftMouse; | 
 
 
 
 
 
 | 686 | 
         BOOL fAbortRightMouse; | 
 
 
 
 
 
 | 687 | 
         BOOL fLimitEnabled; | 
 
 
 
 
 
 | 688 | 
         UINT wTimeLimit; | 
 
 
 
 
 
 | 689 | 
         BOOL fMCIControl; | 
 
 
 
 
 
 | 690 | 
         BOOL fStepMCIDevice; | 
 
 
 
 
 
 | 691 | 
         DWORD dwMCIStartTime; | 
 
 
 
 
 
 | 692 | 
         DWORD dwMCIStopTime; | 
 
 
 
 
 
 | 693 | 
         BOOL fStepCaptureAt2x; | 
 
 
 
 
 
 | 694 | 
         UINT wStepCaptureAverageFrames; | 
 
 
 
 
 
 | 695 | 
         DWORD dwAudioBufferSize; | 
 
 
 
 
 
 | 696 | 
         BOOL fDisableWriteCache; | 
 
 
 
 
 
 | 697 | 
         UINT AVStreamMaster; | 
 
 
 
 
 
 | 698 | 
 } CAPTUREPARMS, *LPCAPTUREPARMS; | 
 
 
 
 
 
 | 699 | 
  | 
 
 
 
 
 
 | 700 | 
 typedef struct videohdr_tag { | 
 
 
 
 
 
 | 701 | 
         LPBYTE lpData; | 
 
 
 
 
 
 | 702 | 
         DWORD dwBufferLength; | 
 
 
 
 
 
 | 703 | 
         DWORD dwBytesUsed; | 
 
 
 
 
 
 | 704 | 
         DWORD dwTimeCaptured; | 
 
 
 
 
 
 | 705 | 
         DWORD dwUser; | 
 
 
 
 
 
 | 706 | 
         DWORD dwFlags; | 
 
 
 
 
 
 | 707 | 
         DWORD_PTR dwReserved[4]; | 
 
 
 
 
 
 | 708 | 
 } VIDEOHDR, *LPVIDEOHDR; | 
 
 
 
 
 
 | 709 | 
  | 
 
 
 
 
 
 | 710 | 
 #if !defined (_OBJC_NO_COM) | 
 
 
 
 
 
 | 711 | 
 #define DEFINE_AVIGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46) | 
 
 
 
 
 
 | 712 | 
 DEFINE_AVIGUID(IID_IAVIFile,0x00020020,0,0); | 
 
 
 
 
 
 | 713 | 
 DEFINE_AVIGUID(IID_IAVIStream,0x00020021,0,0); | 
 
 
 
 
 
 | 714 | 
 DEFINE_AVIGUID(IID_IAVIStreaming,0x00020022,0,0); | 
 
 
 
 
 
 | 715 | 
 DEFINE_AVIGUID(IID_IGetFrame,0x00020023,0,0); | 
 
 
 
 
 
 | 716 | 
 DEFINE_AVIGUID(IID_IAVIEditStream,0x00020024,0,0); | 
 
 
 
 
 
 | 717 | 
 DEFINE_AVIGUID(CLSID_AVIFile,0x00020000,0,0); | 
 
 
 
 
 
 | 718 | 
  | 
 
 
 
 
 
 | 719 | 
 #define INTERFACE IAVIStream | 
 
 
 
 
 
 | 720 | 
 DECLARE_INTERFACE_(IAVIStream, IUnknown) | 
 
 
 
 
 
 | 721 | 
 { | 
 
 
 
 
 
 | 722 | 
         STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 
 | 723 | 
         STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 
 | 724 | 
         STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 
 | 725 | 
         STDMETHOD(Create)(THIS_ LPARAM,LPARAM) PURE; | 
 
 
 
 
 
 | 726 | 
         STDMETHOD(Info)(THIS_ AVISTREAMINFOW*,LONG) PURE; | 
 
 
 
 
 
 | 727 | 
         STDMETHOD_(LONG,FindSample)(THIS_ LONG,LONG) PURE; | 
 
 
 
 
 
 | 728 | 
         STDMETHOD(ReadFormat)(THIS_ LONG,LPVOID,LONG*) PURE; | 
 
 
 
 
 
 | 729 | 
         STDMETHOD(SetFormat)(THIS_ LONG,LPVOID,LONG) PURE; | 
 
 
 
 
 
 | 730 | 
         STDMETHOD(Read)(THIS_ LONG,LONG,LPVOID,LONG,LONG*,LONG*) PURE; | 
 
 
 
 
 
 | 731 | 
         STDMETHOD(Write)(THIS_ LONG,LONG,LPVOID,LONG,DWORD,LONG*,LONG*) PURE; | 
 
 
 
 
 
 | 732 | 
         STDMETHOD(Delete)(THIS_ LONG,LONG) PURE; | 
 
 
 
 
 
 | 733 | 
         STDMETHOD(ReadData)(THIS_ DWORD,LPVOID,LONG*) PURE; | 
 
 
 
 
 
 | 734 | 
         STDMETHOD(WriteData)(THIS_ DWORD,LPVOID,LONG) PURE; | 
 
 
 
 
 
 | 735 | 
         STDMETHOD(SetInfo)(THIS_ AVISTREAMINFOW*,LONG) PURE; | 
 
 
 
 
 
 | 736 | 
 }; | 
 
 
 
 
 
 | 737 | 
 #undef INTERFACE | 
 
 
 
 
 
 | 738 | 
 typedef IAVIStream *PAVISTREAM; | 
 
 
 
 
 
 | 739 | 
  | 
 
 
 
 
 
 | 740 | 
 #define INTERFACE IAVIStreaming | 
 
 
 
 
 
 | 741 | 
 DECLARE_INTERFACE_(IAVIStreaming, IUnknown) | 
 
 
 
 
 
 | 742 | 
 { | 
 
 
 
 
 
 | 743 | 
         STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 
 | 744 | 
         STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 
 | 745 | 
         STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 
 | 746 | 
         STDMETHOD(Begin)(THIS_ LONG,LONG,LONG) PURE; | 
 
 
 
 
 
 | 747 | 
         STDMETHOD(End)(THIS) PURE; | 
 
 
 
 
 
 | 748 | 
 }; | 
 
 
 
 
 
 | 749 | 
 #undef INTERFACE | 
 
 
 
 
 
 | 750 | 
 typedef IAVIStreaming *PAVISTREAMING; | 
 
 
 
 
 
 | 751 | 
  | 
 
 
 
 
 
 | 752 | 
 #define INTERFACE IAVIEditStream | 
 
 
 
 
 
 | 753 | 
 DECLARE_INTERFACE_(IAVIEditStream, IUnknown) | 
 
 
 
 
 
 | 754 | 
 { | 
 
 
 
 
 
 | 755 | 
         STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 
 | 756 | 
         STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 
 | 757 | 
         STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 
 | 758 | 
         STDMETHOD(Cut)(THIS_ LONG*,LONG*,PAVISTREAM*) PURE; | 
 
 
 
 
 
 | 759 | 
         STDMETHOD(Copy)(THIS_ LONG*,LONG*,PAVISTREAM*) PURE; | 
 
 
 
 
 
 | 760 | 
         STDMETHOD(Paste)(THIS_ LONG*,LONG*,PAVISTREAM,LONG,LONG) PURE; | 
 
 
 
 
 
 | 761 | 
         STDMETHOD(Clone)(THIS_ PAVISTREAM*) PURE; | 
 
 
 
 
 
 | 762 | 
         STDMETHOD(SetInfo)(THIS_ LPAVISTREAMINFOW,LONG) PURE; | 
 
 
 
 
 
 | 763 | 
 }; | 
 
 
 
 
 
 | 764 | 
 #undef INTERFACE | 
 
 
 
 
 
 | 765 | 
 typedef IAVIEditStream *PAVIEDITSTREAM; | 
 
 
 
 
 
 | 766 | 
  | 
 
 
 
 
 
 | 767 | 
 #define INTERFACE IAVIFile | 
 
 
 
 
 
 | 768 | 
 DECLARE_INTERFACE_(IAVIFile, IUnknown) | 
 
 
 
 
 
 | 769 | 
 { | 
 
 
 
 
 
 | 770 | 
         STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 
 | 771 | 
         STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 
 | 772 | 
         STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 
 | 773 | 
         STDMETHOD(Info)(THIS_ AVIFILEINFOW*,LONG) PURE; | 
 
 
 
 
 
 | 774 | 
         STDMETHOD(GetStream)(THIS_ PAVISTREAM*,DWORD,LONG) PURE; | 
 
 
 
 
 
 | 775 | 
         STDMETHOD(CreateStream)(THIS_ PAVISTREAM*,AVISTREAMINFOW*) PURE; | 
 
 
 
 
 
 | 776 | 
         STDMETHOD(WriteData)(THIS_ DWORD,LPVOID,LONG) PURE; | 
 
 
 
 
 
 | 777 | 
         STDMETHOD(ReadData)(THIS_ DWORD,LPVOID,LONG*) PURE; | 
 
 
 
 
 
 | 778 | 
         STDMETHOD(EndRecord)(THIS) PURE; | 
 
 
 
 
 
 | 779 | 
         STDMETHOD(DeleteStream)(THIS_ DWORD,LONG) PURE; | 
 
 
 
 
 
 | 780 | 
 }; | 
 
 
 
 
 
 | 781 | 
 #undef INTERFACE | 
 
 
 
 
 
 | 782 | 
 typedef IAVIFile *PAVIFILE; | 
 
 
 
 
 
 | 783 | 
  | 
 
 
 
 
 
 | 784 | 
 #define INTERFACE IGetFrame | 
 
 
 
 
 
 | 785 | 
 DECLARE_INTERFACE_(IGetFrame, IUnknown) | 
 
 
 
 
 
 | 786 | 
 { | 
 
 
 
 
 
 | 787 | 
         STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; | 
 
 
 
 
 
 | 788 | 
         STDMETHOD_(ULONG,AddRef)(THIS) PURE; | 
 
 
 
 
 
 | 789 | 
         STDMETHOD_(ULONG,Release)(THIS) PURE; | 
 
 
 
 
 
 | 790 | 
         STDMETHOD_(LPVOID,GetFrame)(THIS_ LONG) PURE; | 
 
 
 
 
 
 | 791 | 
         STDMETHOD(Begin)(THIS_ LONG,LONG,LONG) PURE; | 
 
 
 
 
 
 | 792 | 
         STDMETHOD(End)(THIS) PURE; | 
 
 
 
 
 
 | 793 | 
         STDMETHOD(SetFormat)(THIS_ LPBITMAPINFOHEADER,LPVOID,INT,INT,INT,INT) PURE; | 
 
 
 
 
 
 | 794 | 
 }; | 
 
 
 
 
 
 | 795 | 
 #undef INTERFACE | 
 
 
 
 
 
 | 796 | 
 typedef IGetFrame *PGETFRAME; | 
 
 
 
 
 
 | 797 | 
 #endif /* !defined (_OBJC_NO_COM) */ | 
 
 
 
 
 
 | 798 | 
  | 
 
 
 
 
 
 | 799 | 
 DWORD VFWAPI VideoForWindowsVersion(VOID); | 
 
 
 
 
 
 | 800 | 
 LONG VFWAPI InitVFW(VOID); | 
 
 
 
 
 
 | 801 | 
 LONG VFWAPI TermVFW(VOID); | 
 
 
 
 
 
 | 802 | 
 DWORD VFWAPIV ICCompress(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID,LPDWORD,LPDWORD,LONG,DWORD,DWORD,LPBITMAPINFOHEADER,LPVOID); | 
 
 
 
 
 
 | 803 | 
 DWORD VFWAPIV ICDecompress(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID); | 
 
 
 
 
 
 | 804 | 
 LRESULT VFWAPI ICSendMessage(HIC,UINT,DWORD,DWORD); | 
 
 
 
 
 
 | 805 | 
 HANDLE VFWAPI ICImageCompress(HIC,UINT,LPBITMAPINFO,LPVOID,LPBITMAPINFO,LONG,LONG*); | 
 
 
 
 
 
 | 806 | 
 HANDLE VFWAPI ICImageDecompress(HIC,UINT,LPBITMAPINFO,LPVOID,LPBITMAPINFO); | 
 
 
 
 
 
 | 807 | 
 BOOL VFWAPI ICInfo(DWORD,DWORD,ICINFO*); | 
 
 
 
 
 
 | 808 | 
 BOOL VFWAPI ICInstall(DWORD,DWORD,LPARAM,LPSTR,UINT); | 
 
 
 
 
 
 | 809 | 
 BOOL VFWAPI ICRemove(DWORD,DWORD,UINT); | 
 
 
 
 
 
 | 810 | 
 LRESULT VFWAPI ICGetInfo(HIC,ICINFO*,DWORD); | 
 
 
 
 
 
 | 811 | 
 HIC VFWAPI ICOpen(DWORD,DWORD,UINT); | 
 
 
 
 
 
 | 812 | 
 HIC VFWAPI ICOpenFunction(DWORD,DWORD,UINT,FARPROC); | 
 
 
 
 
 
 | 813 | 
 LRESULT VFWAPI ICClose(HIC hic); | 
 
 
 
 
 
 | 814 | 
 HIC VFWAPI ICLocate(DWORD,DWORD,LPBITMAPINFOHEADER,LPBITMAPINFOHEADER,WORD); | 
 
 
 
 
 
 | 815 | 
 HIC VFWAPI ICGetDisplayFormat(HIC,LPBITMAPINFOHEADER,LPBITMAPINFOHEADER,INT,INT,INT); | 
 
 
 
 
 
 | 816 | 
 DWORD VFWAPIV ICDrawBegin(HIC,DWORD,HPALETTE,HWND,HDC,INT,INT,INT,INT,LPBITMAPINFOHEADER,INT,INT,INT,INT,DWORD,DWORD); | 
 
 
 
 
 
 | 817 | 
 DWORD VFWAPIV ICDraw(HIC,DWORD,LPVOID,LPVOID,DWORD,LONG); | 
 
 
 
 
 
 | 818 | 
 BOOL VFWAPI ICCompressorChoose(HWND,UINT,LPVOID,LPVOID,PCOMPVARS,LPSTR); | 
 
 
 
 
 
 | 819 | 
 BOOL VFWAPI ICSeqCompressFrameStart(PCOMPVARS,LPBITMAPINFO); | 
 
 
 
 
 
 | 820 | 
 void VFWAPI ICSeqCompressFrameEnd(PCOMPVARS); | 
 
 
 
 
 
 | 821 | 
 LPVOID VFWAPI ICSeqCompressFrame(PCOMPVARS,UINT,LPVOID,BOOL*,LONG*); | 
 
 
 
 
 
 | 822 | 
 void VFWAPI ICCompressorFree(PCOMPVARS); | 
 
 
 
 
 
 | 823 | 
 #if !defined (_OBJC_NO_COM) | 
 
 
 
 
 
 | 824 | 
 ULONG WINAPI AVIStreamAddRef(PAVISTREAM); | 
 
 
 
 
 
 | 825 | 
 ULONG WINAPI AVIStreamRelease(PAVISTREAM); | 
 
 
 
 
 
 | 826 | 
 HRESULT WINAPI AVIStreamCreate(PAVISTREAM*,LONG,LONG,CLSID*); | 
 
 
 
 
 
 | 827 | 
 HRESULT WINAPI AVIStreamInfoA(PAVISTREAM,AVISTREAMINFOA*,LONG); | 
 
 
 
 
 
 | 828 | 
 HRESULT WINAPI AVIStreamInfoW(PAVISTREAM,AVISTREAMINFOW*,LONG); | 
 
 
 
 
 
 | 829 | 
 HRESULT WINAPI AVIStreamFindSample(PAVISTREAM,LONG,DWORD); | 
 
 
 
 
 
 | 830 | 
 HRESULT WINAPI AVIStreamReadFormat(PAVISTREAM,LONG,LPVOID,LONG*); | 
 
 
 
 
 
 | 831 | 
 HRESULT WINAPI AVIStreamSetFormat(PAVISTREAM,LONG,LPVOID,LONG); | 
 
 
 
 
 
 | 832 | 
 HRESULT WINAPI AVIStreamRead(PAVISTREAM,LONG,LONG,LPVOID,LONG,LONG*,LONG*); | 
 
 
 
 
 
 | 833 | 
 HRESULT WINAPI AVIStreamWrite(PAVISTREAM,LONG,LONG,LPVOID,LONG,DWORD,LONG*,LONG*); | 
 
 
 
 
 
 | 834 | 
 HRESULT WINAPI AVIStreamReadData(PAVISTREAM,DWORD,LPVOID,LONG*); | 
 
 
 
 
 
 | 835 | 
 HRESULT WINAPI AVIStreamWriteData(PAVISTREAM,DWORD,LPVOID,LONG); | 
 
 
 
 
 
 | 836 | 
 PGETFRAME WINAPI AVIStreamGetFrameOpen(PAVISTREAM,LPBITMAPINFOHEADER); | 
 
 
 
 
 
 | 837 | 
 LPVOID WINAPI AVIStreamGetFrame(PGETFRAME,LONG); | 
 
 
 
 
 
 | 838 | 
 HRESULT WINAPI AVIStreamGetFrameClose(PGETFRAME); | 
 
 
 
 
 
 | 839 | 
 HRESULT WINAPI AVIMakeCompressedStream(PAVISTREAM*,PAVISTREAM,AVICOMPRESSOPTIONS*,CLSID*); | 
 
 
 
 
 
 | 840 | 
 HRESULT WINAPI AVIMakeFileFromStreams(PAVIFILE*,INT,PAVISTREAM*); | 
 
 
 
 
 
 | 841 | 
 HRESULT WINAPI AVIStreamOpenFromFileA(PAVISTREAM*,LPCSTR,DWORD,LONG,UINT,CLSID*); | 
 
 
 
 
 
 | 842 | 
 HRESULT WINAPI AVIStreamOpenFromFileW(PAVISTREAM*,LPCWSTR,DWORD,LONG,UINT,CLSID*); | 
 
 
 
 
 
 | 843 | 
 HRESULT WINAPI AVIBuildFilterA(LPSTR,LONG,BOOL); | 
 
 
 
 
 
 | 844 | 
 HRESULT WINAPI AVIBuildFilterW(LPWSTR,LONG,BOOL); | 
 
 
 
 
 
 | 845 | 
 BOOL WINAPI AVISaveOptions(HWND,UINT,INT,PAVISTREAM*,LPAVICOMPRESSOPTIONS*); | 
 
 
 
 
 
 | 846 | 
 HRESULT WINAPI AVISaveOptionsFree(INT,LPAVICOMPRESSOPTIONS*); | 
 
 
 
 
 
 | 847 | 
 HRESULT WINAPI AVISaveVA(LPCSTR,CLSID*,AVISAVECALLBACK,INT,PAVISTREAM*,LPAVICOMPRESSOPTIONS*); | 
 
 
 
 
 
 | 848 | 
 HRESULT WINAPI AVISaveVW(LPCWSTR,CLSID*,AVISAVECALLBACK,INT,PAVISTREAM*,LPAVICOMPRESSOPTIONS*); | 
 
 
 
 
 
 | 849 | 
 LONG WINAPI AVIStreamStart(PAVISTREAM); | 
 
 
 
 
 
 | 850 | 
 LONG WINAPI AVIStreamLength(PAVISTREAM); | 
 
 
 
 
 
 | 851 | 
 LONG WINAPI AVIStreamSampleToTime(PAVISTREAM,LONG); | 
 
 
 
 
 
 | 852 | 
 LONG WINAPI AVIStreamTimeToSample(PAVISTREAM,LONG); | 
 
 
 
 
 
 | 853 | 
 HRESULT WINAPI CreateEditableStream(PAVISTREAM*,PAVISTREAM); | 
 
 
 
 
 
 | 854 | 
 HRESULT WINAPI EditStreamClone(PAVISTREAM,PAVISTREAM*); | 
 
 
 
 
 
 | 855 | 
 HRESULT WINAPI EditStreamCopy(PAVISTREAM,LONG*,LONG*,PAVISTREAM*); | 
 
 
 
 
 
 | 856 | 
 HRESULT WINAPI EditStreamCut(PAVISTREAM,LONG*,LONG*,PAVISTREAM*); | 
 
 
 
 
 
 | 857 | 
 HRESULT WINAPI EditStreamPaste(PAVISTREAM,LONG*,LONG*,PAVISTREAM,LONG,LONG); | 
 
 
 
 
 
 | 858 | 
 HRESULT WINAPI EditStreamSetInfoA(PAVISTREAM,LPAVISTREAMINFOA,LONG); | 
 
 
 
 
 
 | 859 | 
 HRESULT WINAPI EditStreamSetInfoW(PAVISTREAM,LPAVISTREAMINFOW,LONG); | 
 
 
 
 
 
 | 860 | 
 HRESULT WINAPI EditStreamSetNameA(PAVISTREAM,LPCSTR); | 
 
 
 
 
 
 | 861 | 
 HRESULT WINAPI EditStreamSetNameW(PAVISTREAM,LPCWSTR); | 
 
 
 
 
 
 | 862 | 
 HRESULT WINAPI CreateEditableStream(PAVISTREAM*,PAVISTREAM); | 
 
 
 
 
 
 | 863 | 
 HRESULT WINAPI EditStreamClone(PAVISTREAM,PAVISTREAM*); | 
 
 
 
 
 
 | 864 | 
 HRESULT WINAPI EditStreamCopy(PAVISTREAM,LONG*,LONG*,PAVISTREAM*); | 
 
 
 
 
 
 | 865 | 
 HRESULT WINAPI EditStreamCut(PAVISTREAM,LONG*,LONG*,PAVISTREAM*); | 
 
 
 
 
 
 | 866 | 
 HRESULT WINAPI EditStreamPaste(PAVISTREAM,LONG*,LONG*,PAVISTREAM,LONG,LONG); | 
 
 
 
 
 
 | 867 | 
 HRESULT WINAPI EditStreamSetInfoA(PAVISTREAM,LPAVISTREAMINFOA,LONG); | 
 
 
 
 
 
 | 868 | 
 HRESULT WINAPI EditStreamSetInfoW(PAVISTREAM,LPAVISTREAMINFOW,LONG); | 
 
 
 
 
 
 | 869 | 
 HRESULT WINAPI EditStreamSetNameA(PAVISTREAM,LPCSTR); | 
 
 
 
 
 
 | 870 | 
 HRESULT WINAPI EditStreamSetNameW(PAVISTREAM,LPCWSTR); | 
 
 
 
 
 
 | 871 | 
 VOID WINAPI AVIFileInit(void); | 
 
 
 
 
 
 | 872 | 
 VOID WINAPI AVIFileExit(void); | 
 
 
 
 
 
 | 873 | 
 HRESULT WINAPI AVIFileOpenA(PAVIFILE*,LPCSTR,UINT,LPCLSID); | 
 
 
 
 
 
 | 874 | 
 HRESULT WINAPI AVIFileOpenW(PAVIFILE*,LPCWSTR,UINT,LPCLSID); | 
 
 
 
 
 
 | 875 | 
 ULONG WINAPI AVIFileAddRef(PAVIFILE); | 
 
 
 
 
 
 | 876 | 
 ULONG WINAPI AVIFileRelease(PAVIFILE); | 
 
 
 
 
 
 | 877 | 
 HRESULT WINAPI AVIFileInfoA(PAVIFILE,PAVIFILEINFOA,LONG); | 
 
 
 
 
 
 | 878 | 
 HRESULT WINAPI AVIFileInfoW(PAVIFILE,PAVIFILEINFOW,LONG); | 
 
 
 
 
 
 | 879 | 
 HRESULT WINAPI AVIFileGetStream(PAVIFILE,PAVISTREAM*,DWORD,LONG); | 
 
 
 
 
 
 | 880 | 
 HRESULT WINAPI AVIFileCreateStreamA(PAVIFILE,PAVISTREAM*,AVISTREAMINFOA*); | 
 
 
 
 
 
 | 881 | 
 HRESULT WINAPI AVIFileCreateStreamW(PAVIFILE,PAVISTREAM*,AVISTREAMINFOW*); | 
 
 
 
 
 
 | 882 | 
 HRESULT WINAPI AVIFileWriteData(PAVIFILE,DWORD,LPVOID,LONG); | 
 
 
 
 
 
 | 883 | 
 HRESULT WINAPI AVIFileReadData(PAVIFILE,DWORD,LPVOID,LPLONG); | 
 
 
 
 
 
 | 884 | 
 HRESULT WINAPI AVIFileEndRecord(PAVIFILE); | 
 
 
 
 
 
 | 885 | 
 HRESULT WINAPI AVIClearClipboard(VOID); | 
 
 
 
 
 
 | 886 | 
 HRESULT WINAPI AVIGetFromClipboard(PAVIFILE*); | 
 
 
 
 
 
 | 887 | 
 HRESULT WINAPI AVIPutFileOnClipboard(PAVIFILE); | 
 
 
 
 
 
 | 888 | 
 #endif /* _OBJC_NO_COM */ | 
 
 
 
 
 
 | 889 | 
 #ifdef OFN_READONLY | 
 
 
 
 
 
 | 890 | 
 BOOL WINAPI GetOpenFileNamePreviewA(LPOPENFILENAMEA); | 
 
 
 
 
 
 | 891 | 
 BOOL WINAPI GetOpenFileNamePreviewW(LPOPENFILENAMEW); | 
 
 
 
 
 
 | 892 | 
 BOOL WINAPI GetSaveFileNamePreviewA(LPOPENFILENAMEA); | 
 
 
 
 
 
 | 893 | 
 BOOL WINAPI GetSaveFileNamePreviewW(LPOPENFILENAMEW); | 
 
 
 
 
 
 | 894 | 
 #endif | 
 
 
 
 
 
 | 895 | 
 HWND VFWAPIV MCIWndCreateA(HWND,HINSTANCE,DWORD,LPCSTR); | 
 
 
 
 
 
 | 896 | 
 HWND VFWAPIV MCIWndCreateW(HWND,HINSTANCE,DWORD,LPCWSTR); | 
 
 
 
 
 
 | 897 | 
 HDRAWDIB VFWAPI DrawDibOpen(VOID); | 
 
 
 
 
 
 | 898 | 
 UINT VFWAPI DrawDibRealize(HDRAWDIB,HDC,BOOL); | 
 
 
 
 
 
 | 899 | 
 BOOL VFWAPI DrawDibBegin(HDRAWDIB,HDC,INT,INT,LPBITMAPINFOHEADER,INT,INT,UINT); | 
 
 
 
 
 
 | 900 | 
 BOOL VFWAPI DrawDibDraw(HDRAWDIB,HDC,INT,INT,INT,INT,LPBITMAPINFOHEADER,LPVOID,INT,INT,INT,INT,UINT); | 
 
 
 
 
 
 | 901 | 
 BOOL VFWAPI DrawDibSetPalette(HDRAWDIB,HPALETTE); | 
 
 
 
 
 
 | 902 | 
 HPALETTE VFWAPI DrawDibGetPalette(HDRAWDIB); | 
 
 
 
 
 
 | 903 | 
 BOOL VFWAPI DrawDibChangePalette(HDRAWDIB,int,int,LPPALETTEENTRY); | 
 
 
 
 
 
 | 904 | 
 LPVOID VFWAPI DrawDibGetBuffer(HDRAWDIB,LPBITMAPINFOHEADER,DWORD,DWORD); | 
 
 
 
 
 
 | 905 | 
 BOOL VFWAPI DrawDibStart(HDRAWDIB,DWORD); | 
 
 
 
 
 
 | 906 | 
 BOOL VFWAPI DrawDibStop(HDRAWDIB); | 
 
 
 
 
 
 | 907 | 
 BOOL VFWAPI DrawDibEnd(HDRAWDIB); | 
 
 
 
 
 
 | 908 | 
 BOOL VFWAPI DrawDibClose(HDRAWDIB); | 
 
 
 
 
 
 | 909 | 
 DWORD VFWAPI DrawDibProfileDisplay(LPBITMAPINFOHEADER); | 
 
 
 
 
 
 | 910 | 
  | 
 
 
 
 
 
 | 911 | 
 #define ICCompressGetFormat(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_GET_FORMAT,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) | 
 
 
 
 
 
 | 912 | 
 #define ICCompressGetFormatSize(hic,lpbi) ICCompressGetFormat(hic,lpbi,NULL) | 
 
 
 
 
 
 | 913 | 
 #define ICCompressBegin(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_BEGIN,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) | 
 
 
 
 
 
 | 914 | 
 #define ICCompressGetSize(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_GET_SIZE,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) | 
 
 
 
 
 
 | 915 | 
 #define ICCompressQuery(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_QUERY,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) | 
 
 
 
 
 
 | 916 | 
 #define ICCompressEnd(hic) ICSendMessage(hic,ICM_COMPRESS_END,0,0) | 
 
 
 
 
 
 | 917 | 
 #define ICQueryAbout(hic) (ICSendMessage(hic,ICM_ABOUT,(DWORD)-1,ICMF_ABOUT_QUERY)==ICERR_OK) | 
 
 
 
 
 
 | 918 | 
 #define ICAbout(hic,hwnd) ICSendMessage(hic,ICM_ABOUT,(DWORD)(hwnd),0) | 
 
 
 
 
 
 | 919 | 
 #define ICQueryConfigure(hic) (ICSendMessage(hic,ICM_CONFIGURE,(DWORD)-1,ICMF_CONFIGURE_QUERY)==ICERR_OK) | 
 
 
 
 
 
 | 920 | 
 #define ICConfigure(hic,hwnd) ICSendMessage(hic,ICM_CONFIGURE,(DWORD)(hwnd),0) | 
 
 
 
 
 
 | 921 | 
 #define ICDecompressBegin(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_BEGIN,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) | 
 
 
 
 
 
 | 922 | 
 #define ICDecompressQuery(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_QUERY,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) | 
 
 
 
 
 
 | 923 | 
 #define ICDecompressGetFormat(hic,lpbiInput,lpbiOutput) (LONG)ICSendMessage(hic,ICM_DECOMPRESS_GET_FORMAT,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) | 
 
 
 
 
 
 | 924 | 
 #define ICDecompressGetFormatSize(hic,lpbi) ICDecompressGetFormat(hic, lpbi, NULL) | 
 
 
 
 
 
 | 925 | 
 #define ICDecompressGetPalette(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_GET_PALETTE,(DWORD)(lpbiInput),(DWORD)(lpbiOutput)) | 
 
 
 
 
 
 | 926 | 
 #define ICDecompressSetPalette(hic,lpbiPalette) ICSendMessage(hic,ICM_DECOMPRESS_SET_PALETTE,(DWORD)(lpbiPalette),0) | 
 
 
 
 
 
 | 927 | 
 #define ICDecompressEnd(hic) ICSendMessage(hic,ICM_DECOMPRESS_END,0,0) | 
 
 
 
 
 
 | 928 | 
 #define ICDecompressExEnd(hic) ICSendMessage(hic,ICM_DECOMPRESSEX_END,0,0) | 
 
 
 
 
 
 | 929 | 
 #define ICDecompressOpen(fccType,fccHandler,lpbiIn,lpbiOut) ICLocate(fccType,fccHandler,lpbiIn,lpbiOut,ICMODE_DECOMPRESS) | 
 
 
 
 
 
 | 930 | 
 #define ICDrawOpen(fccType,fccHandler,lpbiIn) ICLocate(fccType,fccHandler,lpbiIn,NULL,ICMODE_DRAW) | 
 
 
 
 
 
 | 931 | 
 #define ICGetState(hic,pv,cb) ICSendMessage(hic,ICM_GETSTATE,(DWORD)(pv),(DWORD)(cb)) | 
 
 
 
 
 
 | 932 | 
 #define ICSetState(hic,pv,cb) ICSendMessage(hic,ICM_SETSTATE,(DWORD)(pv),(DWORD)(cb)) | 
 
 
 
 
 
 | 933 | 
 #define ICGetStateSize(hic) ICGetState(hic,NULL,0) | 
 
 
 
 
 
 | 934 | 
 #define ICDrawWindow(hic,prc) ICSendMessage(hic,ICM_DRAW_WINDOW,(DWORD)(prc),sizeof(RECT)) | 
 
 
 
 
 
 | 935 | 
 #define ICDrawQuery(hic,lpbiInput) ICSendMessage(hic,ICM_DRAW_QUERY,(DWORD)(lpbiInput),0) | 
 
 
 
 
 
 | 936 | 
 #define ICDrawChangePalette(hic,lpbiInput) ICSendMessage(hic,ICM_DRAW_CHANGEPALETTE,(DWORD)(lpbiInput),0) | 
 
 
 
 
 
 | 937 | 
 #define ICGetBuffersWanted(hic,lpdwBuffers) ICSendMessage(hic,ICM_GETBUFFERSWANTED,(DWORD)(lpdwBuffers),0) | 
 
 
 
 
 
 | 938 | 
 #define ICDrawEnd(hic) ICSendMessage(hic,ICM_DRAW_END,0,0) | 
 
 
 
 
 
 | 939 | 
 #define ICDrawStart(hic) ICSendMessage(hic,ICM_DRAW_START,0,0) | 
 
 
 
 
 
 | 940 | 
 #define ICDrawStartPlay(hic,lFrom,lTo) ICSendMessage(hic,ICM_DRAW_START_PLAY,(DWORD)(lFrom),(DWORD)(lTo)) | 
 
 
 
 
 
 | 941 | 
 #define ICDrawStop(hic) ICSendMessage(hic,ICM_DRAW_STOP,0,0) | 
 
 
 
 
 
 | 942 | 
 #define ICDrawStopPlay(hic) ICSendMessage(hic,ICM_DRAW_STOP_PLAY,0,0) | 
 
 
 
 
 
 | 943 | 
 #define ICDrawGetTime(hic,lplTime) ICSendMessage(hic,ICM_DRAW_GETTIME,(DWORD)(lplTime),0) | 
 
 
 
 
 
 | 944 | 
 #define ICDrawSetTime(hic,lTime) ICSendMessage(hic,ICM_DRAW_SETTIME,(DWORD)lTime,0) | 
 
 
 
 
 
 | 945 | 
 #define ICDrawRealize(hic,hdc,fBackground) ICSendMessage(hic,ICM_DRAW_REALIZE,(DWORD)(hdc),(DWORD)(fBackground)) | 
 
 
 
 
 
 | 946 | 
 #define ICDrawFlush(hic) ICSendMessage(hic,ICM_DRAW_FLUSH,0,0) | 
 
 
 
 
 
 | 947 | 
 #define ICDrawRenderBuffer(hic) ICSendMessage(hic,ICM_DRAW_RENDERBUFFER,0,0) | 
 
 
 
 
 
 | 948 | 
 #define AVIFileClose(pavi) AVIFileRelease(pavi) | 
 
 
 
 
 
 | 949 | 
 #define AVIStreamClose(pavi) AVIStreamRelease(pavi); | 
 
 
 
 
 
 | 950 | 
 #define AVIStreamEnd(pavi) (AVIStreamStart(pavi)+AVIStreamLength(pavi)) | 
 
 
 
 
 
 | 951 | 
 #define AVIStreamEndTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamEnd(pavi)) | 
 
 
 
 
 
 | 952 | 
 #define AVIStreamFormatSize(pavi,lPos,plSize) AVIStreamReadFormat(pavi,lPos,NULL,plSize) | 
 
 
 
 
 
 | 953 | 
 #define AVIStreamLengthTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamLength(pavi)) | 
 
 
 
 
 
 | 954 | 
 #define AVIStreamSampleSize(pavi,pos,psize) AVIStreamRead(pavi,pos,1,NULL,0,psize,NULL) | 
 
 
 
 
 
 | 955 | 
 #define AVIStreamSampleToSample(pavi1,pavi2,samp2) AVIStreamTimeToSample(pavi1,AVIStreamSampleToTime(pavi2,samp2)) | 
 
 
 
 
 
 | 956 | 
 #define AVIStreamStartTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamStart(pavi)) | 
 
 
 
 
 
 | 957 | 
 #define AVIStreamNextSample(pavi,pos) AVIStreamFindSample(pavi,pos+1,FIND_NEXT|FIND_ANY) | 
 
 
 
 
 
 | 958 | 
 #define AVIStreamPrevSample(pavi,pos) AVIStreamFindSample(pavi,pos-1,FIND_PREV|FIND_ANY) | 
 
 
 
 
 
 | 959 | 
 #define AVIStreamNearestSample(pavi, pos) AVIStreamFindSample(pavi,pos,FIND_PREV|FIND_ANY) | 
 
 
 
 
 
 | 960 | 
 #define AVStreamNextKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos+1,FIND_NEXT|FIND_KEY) | 
 
 
 
 
 
 | 961 | 
 #define AVStreamPrevKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos-1,FIND_NEXT|FIND_KEY) | 
 
 
 
 
 
 | 962 | 
 #define AVIStreamNearestKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos,FIND_PREV|FIND_KEY) | 
 
 
 
 
 
 | 963 | 
 #define AVIStreamIsKeyFrame(pavi, pos) (AVIStreamNearestKeyFrame(pavi,pos) == pos) | 
 
 
 
 
 
 | 964 | 
 #ifdef __cplusplus | 
 
 
 
 
 
 | 965 | 
 #define MCIWndSM ::SendMessage | 
 
 
 
 
 
 | 966 | 
 #else | 
 
 
 
 
 
 | 967 | 
 #define MCIWndSM SendMessage | 
 
 
 
 
 
 | 968 | 
 #endif | 
 
 
 
 
 
 | 969 | 
 #define MCIWndCanPlay(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_PLAY,0,0) | 
 
 
 
 
 
 | 970 | 
 #define MCIWndCanRecord(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_RECORD,0,0) | 
 
 
 
 
 
 | 971 | 
 #define MCIWndCanSave(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_SAVE,0,0) | 
 
 
 
 
 
 | 972 | 
 #define MCIWndCanWindow(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_WINDOW,0,0) | 
 
 
 
 
 
 | 973 | 
 #define MCIWndCanEject(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_EJECT,0,0) | 
 
 
 
 
 
 | 974 | 
 #define MCIWndCanConfig(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_CONFIG,0,0) | 
 
 
 
 
 
 | 975 | 
 #define MCIWndPaletteKick(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_PALETTEKICK,0,0) | 
 
 
 
 
 
 | 976 | 
 #define MCIWndSave(hWnd,szFile) (LONG)MCIWndSM(hWnd,MCI_SAVE,0,(LPARAM)(LPVOID)(szFile)) | 
 
 
 
 
 
 | 977 | 
 #define MCIWndSaveDialog(hWnd) MCIWndSave(hWnd,-1) | 
 
 
 
 
 
 | 978 | 
 #define MCIWndNew(hWnd,lp) (LONG)MCIWndSM(hWnd,MCIWNDM_NEW,0,(LPARAM)(LPVOID)(lp)) | 
 
 
 
 
 
 | 979 | 
 #define MCIWndRecord(hWnd) (LONG)MCIWndSM(hWnd,MCI_RECORD,0,0) | 
 
 
 
 
 
 | 980 | 
 #define MCIWndOpen(hWnd,sz,f) (LONG)MCIWndSM(hWnd,MCIWNDM_OPEN,(WPARAM)(UINT)(f),(LPARAM)(LPVOID)(sz)) | 
 
 
 
 
 
 | 981 | 
 #define MCIWndOpenDialog(hWnd) MCIWndOpen(hWnd,-1,0) | 
 
 
 
 
 
 | 982 | 
 #define MCIWndClose(hWnd) (LONG)MCIWndSM(hWnd,MCI_CLOSE,0,0) | 
 
 
 
 
 
 | 983 | 
 #define MCIWndPlay(hWnd) (LONG)MCIWndSM(hWnd,MCI_PLAY,0,0) | 
 
 
 
 
 
 | 984 | 
 #define MCIWndStop(hWnd) (LONG)MCIWndSM(hWnd,MCI_STOP,0,0) | 
 
 
 
 
 
 | 985 | 
 #define MCIWndPause(hWnd) (LONG)MCIWndSM(hWnd,MCI_PAUSE,0,0) | 
 
 
 
 
 
 | 986 | 
 #define MCIWndResume(hWnd) (LONG)MCIWndSM(hWnd,MCI_RESUME,0,0) | 
 
 
 
 
 
 | 987 | 
 #define MCIWndSeek(hWnd,lPos) (LONG)MCIWndSM(hWnd,MCI_SEEK,0,(LPARAM)(LONG)(lPos)) | 
 
 
 
 
 
 | 988 | 
 #define MCIWndEject(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_EJECT,0,0) | 
 
 
 
 
 
 | 989 | 
 #define MCIWndHome(hWnd) MCIWndSeek(hWnd,MCIWND_START) | 
 
 
 
 
 
 | 990 | 
 #define MCIWndEnd(hWnd) MCIWndSeek(hWnd,MCIWND_END) | 
 
 
 
 
 
 | 991 | 
 #define MCIWndGetSource(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_GET_SOURCE,0,(LPARAM)(LPRECT)(prc)) | 
 
 
 
 
 
 | 992 | 
 #define MCIWndPutSource(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_PUT_SOURCE,0,(LPARAM)(LPRECT)(prc)) | 
 
 
 
 
 
 | 993 | 
 #define MCIWndGetDest(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_GET_DEST,0,(LPARAM)(LPRECT)(prc)) | 
 
 
 
 
 
 | 994 | 
 #define MCIWndPutDest(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_PUT_DEST,0,(LPARAM)(LPRECT)(prc)) | 
 
 
 
 
 
 | 995 | 
 #define MCIWndPlayReverse(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_PLAYREVERSE,0,0) | 
 
 
 
 
 
 | 996 | 
 #define MCIWndPlayFrom(hWnd,lPos) (LONG)MCIWndSM(hWnd,MCIWNDM_PLAYFROM,0,(LPARAM)(LONG)(lPos)) | 
 
 
 
 
 
 | 997 | 
 #define MCIWndPlayTo(hWnd,lPos) (LONG)MCIWndSM(hWnd,MCIWNDM_PLAYTO,  0,(LPARAM)(LONG)(lPos)) | 
 
 
 
 
 
 | 998 | 
 #define MCIWndPlayFromTo(hWnd,lStart,lEnd) (MCIWndSeek(hWnd,lStart),MCIWndPlayTo(hWnd,lEnd)) | 
 
 
 
 
 
 | 999 | 
 #define MCIWndGetDeviceID(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETDEVICEID,0,0) | 
 
 
 
 
 
 | 1000 | 
 #define MCIWndGetAlias(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETALIAS,0,0) | 
 
 
 
 
 
 | 1001 | 
 #define MCIWndGetMode(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETMODE,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp)) | 
 
 
 
 
 
 | 1002 | 
 #define MCIWndGetPosition(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETPOSITION,0,0) | 
 
 
 
 
 
 | 1003 | 
 #define MCIWndGetPositionString(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETPOSITION,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp)) | 
 
 
 
 
 
 | 1004 | 
 #define MCIWndGetStart(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETSTART,0,0) | 
 
 
 
 
 
 | 1005 | 
 #define MCIWndGetLength(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETLENGTH,0,0) | 
 
 
 
 
 
 | 1006 | 
 #define MCIWndGetEnd(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETEND,0,0) | 
 
 
 
 
 
 | 1007 | 
 #define MCIWndStep(hWnd,n) (LONG)MCIWndSM(hWnd,MCI_STEP,0,(LPARAM)(long)(n)) | 
 
 
 
 
 
 | 1008 | 
 #define MCIWndDestroy(hWnd) (VOID)MCIWndSM(hWnd,WM_CLOSE,0,0) | 
 
 
 
 
 
 | 1009 | 
 #define MCIWndSetZoom(hWnd,iZoom) (VOID)MCIWndSM(hWnd,MCIWNDM_SETZOOM,0,(LPARAM)(UINT)(iZoom)) | 
 
 
 
 
 
 | 1010 | 
 #define MCIWndGetZoom(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETZOOM,0,0) | 
 
 
 
 
 
 | 1011 | 
 #define MCIWndSetVolume(hWnd,iVol) (LONG)MCIWndSM(hWnd,MCIWNDM_SETVOLUME,0,(LPARAM)(UINT)(iVol)) | 
 
 
 
 
 
 | 1012 | 
 #define MCIWndGetVolume(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETVOLUME,0,0) | 
 
 
 
 
 
 | 1013 | 
 #define MCIWndSetSpeed(hWnd,iSpeed) (LONG)MCIWndSM(hWnd,MCIWNDM_SETSPEED,0,(LPARAM)(UINT)(iSpeed)) | 
 
 
 
 
 
 | 1014 | 
 #define MCIWndGetSpeed(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETSPEED,0,0) | 
 
 
 
 
 
 | 1015 | 
 #define MCIWndSetTimeFormat(hWnd,lp) (LONG)MCIWndSM(hWnd,MCIWNDM_SETTIMEFORMAT,0,(LPARAM)(LPTSTR)(lp)) | 
 
 
 
 
 
 | 1016 | 
 #define MCIWndGetTimeFormat(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETTIMEFORMAT,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp)) | 
 
 
 
 
 
 | 1017 | 
 #define MCIWndValidateMedia(hWnd) (VOID)MCIWndSM(hWnd,MCIWNDM_VALIDATEMEDIA,0,0) | 
 
 
 
 
 
 | 1018 | 
 #define MCIWndSetRepeat(hWnd,f) (void)MCIWndSM(hWnd,MCIWNDM_SETREPEAT,0,(LPARAM)(BOOL)(f)) | 
 
 
 
 
 
 | 1019 | 
 #define MCIWndGetRepeat(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_GETREPEAT,0,0) | 
 
 
 
 
 
 | 1020 | 
 #define MCIWndUseFrames(hWnd) MCIWndSetTimeFormat(hWnd,TEXT("frames")) | 
 
 
 
 
 
 | 1021 | 
 #define MCIWndUseTime(hWnd) MCIWndSetTimeFormat(hWnd,TEXT("ms")) | 
 
 
 
 
 
 | 1022 | 
 #define MCIWndSetActiveTimer(hWnd,active) (VOID)MCIWndSM(hWnd,MCIWNDM_SETACTIVETIMER,(WPARAM)(UINT)(active),0L) | 
 
 
 
 
 
 | 1023 | 
 #define MCIWndSetInactiveTimer(hWnd,inactive) (VOID)MCIWndSM(hWnd,MCIWNDM_SETINACTIVETIMER,(WPARAM)(UINT)(inactive),0L) | 
 
 
 
 
 
 | 1024 | 
 #define MCIWndSetTimers(hWnd,active,inactive) (VOID)MCIWndSM(hWnd,MCIWNDM_SETTIMERS,(WPARAM)(UINT)(active),(LPARAM)(UINT)(inactive)) | 
 
 
 
 
 
 | 1025 | 
 #define MCIWndGetActiveTimer(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETACTIVETIMER,0,0L); | 
 
 
 
 
 
 | 1026 | 
 #define MCIWndGetInactiveTimer(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETINACTIVETIMER,0,0L); | 
 
 
 
 
 
 | 1027 | 
 #define MCIWndRealize(hWnd,fBkgnd) (LONG)MCIWndSM(hWnd,MCIWNDM_REALIZE,(WPARAM)(BOOL)(fBkgnd),0) | 
 
 
 
 
 
 | 1028 | 
 #define MCIWndSendString(hWnd,sz) (LONG)MCIWndSM(hWnd,MCIWNDM_SENDSTRING,0,(LPARAM)(LPTSTR)(sz)) | 
 
 
 
 
 
 | 1029 | 
 #define MCIWndReturnString(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_RETURNSTRING,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) | 
 
 
 
 
 
 | 1030 | 
 #define MCIWndGetError(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETERROR,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) | 
 
 
 
 
 
 | 1031 | 
 #define MCIWndGetPalette(hWnd) (HPALETTE)MCIWndSM(hWnd,MCIWNDM_GETPALETTE,0,0) | 
 
 
 
 
 
 | 1032 | 
 #define MCIWndSetPalette(hWnd,hpal) (LONG)MCIWndSM(hWnd,MCIWNDM_SETPALETTE,(WPARAM)(HPALETTE)(hpal),0) | 
 
 
 
 
 
 | 1033 | 
 #define MCIWndGetFileName(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETFILENAME,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) | 
 
 
 
 
 
 | 1034 | 
 #define MCIWndGetDevice(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETDEVICE,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp)) | 
 
 
 
 
 
 | 1035 | 
 #define MCIWndGetStyles(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETSTYLES,0,0L) | 
 
 
 
 
 
 | 1036 | 
 #define MCIWndChangeStyles(hWnd,mask,value) (LONG)MCIWndSM(hWnd,MCIWNDM_CHANGESTYLES,(WPARAM)(UINT)(mask),(LPARAM)(LONG)(value)) | 
 
 
 
 
 
 | 1037 | 
 #define MCIWndOpenInterface(hWnd,pUnk) (LONG)MCIWndSM(hWnd,MCIWNDM_OPENINTERFACE,0,(LPARAM)(LPUNKNOWN)(pUnk)) | 
 
 
 
 
 
 | 1038 | 
 #define MCIWndSetOwner(hWnd,hWndP) (LONG)MCIWndSM(hWnd,MCIWNDM_SETOWNER,(WPARAM)(hWndP),0) | 
 
 
 
 
 
 | 1039 | 
 #define DrawDibUpdate(hdd,hdc,x,y) DrawDibDraw(hdd,hdc,x,y,0,0,NULL,NULL,0,0,0,0,DDF_UPDATE) | 
 
 
 
 
 
 | 1040 | 
 static __inline DWORD | 
 
 
 
 
 
 | 1041 | 
 ICGetDefaultQuality(HIC hic) | 
 
 
 
 
 
 | 1042 | 
 { | 
 
 
 
 
 
 | 1043 | 
    DWORD dwICValue; | 
 
 
 
 
 
 | 1044 | 
    ICSendMessage(hic, ICM_GETDEFAULTQUALITY, (DWORD)(LPVOID)&dwICValue, sizeof(DWORD)); | 
 
 
 
 
 
 | 1045 | 
    return dwICValue; | 
 
 
 
 
 
 | 1046 | 
 } | 
 
 
 
 
 
 | 1047 | 
 static __inline DWORD | 
 
 
 
 
 
 | 1048 | 
 ICGetDefaultKeyFrameRate(HIC hic) | 
 
 
 
 
 
 | 1049 | 
 { | 
 
 
 
 
 
 | 1050 | 
    DWORD dwICValue; | 
 
 
 
 
 
 | 1051 | 
    ICSendMessage(hic, ICM_GETDEFAULTKEYFRAMERATE, (DWORD)(LPVOID)&dwICValue, sizeof(DWORD)); | 
 
 
 
 
 
 | 1052 | 
    return dwICValue; | 
 
 
 
 
 
 | 1053 | 
 } | 
 
 
 
 
 
 | 1054 | 
 static __inline LRESULT | 
 
 
 
 
 
 | 1055 | 
 ICDrawSuggestFormat(HIC hic,LPBITMAPINFOHEADER lpbiIn,LPBITMAPINFOHEADER lpbiOut,INT dxSrc,INT dySrc,INT dxDst,INT dyDst,HIC hicDecomp) | 
 
 
 
 
 
 | 1056 | 
 { | 
 
 
 
 
 
 | 1057 | 
         ICDRAWSUGGEST ic; | 
 
 
 
 
 
 | 1058 | 
         ic.lpbiIn = lpbiIn; | 
 
 
 
 
 
 | 1059 | 
         ic.lpbiSuggest = lpbiOut; | 
 
 
 
 
 
 | 1060 | 
         ic.dxSrc = dxSrc; | 
 
 
 
 
 
 | 1061 | 
         ic.dySrc = dySrc; | 
 
 
 
 
 
 | 1062 | 
         ic.dxDst = dxDst; | 
 
 
 
 
 
 | 1063 | 
         ic.dyDst = dyDst; | 
 
 
 
 
 
 | 1064 | 
         ic.hicDecompressor = hicDecomp; | 
 
 
 
 
 
 | 1065 | 
         return ICSendMessage(hic,ICM_DRAW_SUGGESTFORMAT,(DWORD)&ic,sizeof(ic)); | 
 
 
 
 
 
 | 1066 | 
 } | 
 
 
 
 
 
 | 1067 | 
 static __inline LRESULT | 
 
 
 
 
 
 | 1068 | 
 ICSetStatusProc(HIC hic,DWORD dwFlags,LRESULT lParam,LONG (CALLBACK *fpfnStatus)(LPARAM,UINT,LONG)) | 
 
 
 
 
 
 | 1069 | 
 { | 
 
 
 
 
 
 | 1070 | 
         ICSETSTATUSPROC ic; | 
 
 
 
 
 
 | 1071 | 
         ic.dwFlags = dwFlags; | 
 
 
 
 
 
 | 1072 | 
         ic.lParam = lParam; | 
 
 
 
 
 
 | 1073 | 
         ic.Status = fpfnStatus; | 
 
 
 
 
 
 | 1074 | 
         return ICSendMessage(hic,ICM_SET_STATUS_PROC,(DWORD)&ic,sizeof(ic)); | 
 
 
 
 
 
 | 1075 | 
 } | 
 
 
 
 
 
 | 1076 | 
 static __inline LRESULT | 
 
 
 
 
 
 | 1077 | 
 ICDecompressEx(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSrc,INT xSrc,INT ySrc,INT dxSrc,INT dySrc,LPBITMAPINFOHEADER lpbiDst,LPVOID lpDst,INT xDst,INT yDst,INT dxDst,INT dyDst) | 
 
 
 
 
 
 | 1078 | 
 { | 
 
 
 
 
 
 | 1079 | 
         ICDECOMPRESSEX ic; | 
 
 
 
 
 
 | 1080 | 
         ic.dwFlags = dwFlags; | 
 
 
 
 
 
 | 1081 | 
         ic.lpbiSrc = lpbiSrc; | 
 
 
 
 
 
 | 1082 | 
         ic.lpSrc = lpSrc; | 
 
 
 
 
 
 | 1083 | 
         ic.xSrc = xSrc; | 
 
 
 
 
 
 | 1084 | 
         ic.ySrc = ySrc; | 
 
 
 
 
 
 | 1085 | 
         ic.dxSrc = dxSrc; | 
 
 
 
 
 
 | 1086 | 
         ic.dySrc = dySrc; | 
 
 
 
 
 
 | 1087 | 
         ic.lpbiDst = lpbiDst; | 
 
 
 
 
 
 | 1088 | 
         ic.lpDst = lpDst; | 
 
 
 
 
 
 | 1089 | 
         ic.xDst = xDst; | 
 
 
 
 
 
 | 1090 | 
         ic.yDst = yDst; | 
 
 
 
 
 
 | 1091 | 
         ic.dxDst = dxDst; | 
 
 
 
 
 
 | 1092 | 
         ic.dyDst = dyDst; | 
 
 
 
 
 
 | 1093 | 
         return ICSendMessage(hic,ICM_DECOMPRESSEX,(DWORD)&ic,sizeof(ic)); | 
 
 
 
 
 
 | 1094 | 
 } | 
 
 
 
 
 
 | 1095 | 
 static __inline LRESULT | 
 
 
 
 
 
 | 1096 | 
 ICDecompressExBegin(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSrc,INT xSrc,INT ySrc,INT dxSrc,INT dySrc,LPBITMAPINFOHEADER lpbiDst,LPVOID lpDst,INT xDst,INT yDst,INT dxDst,INT dyDst) | 
 
 
 
 
 
 | 1097 | 
 { | 
 
 
 
 
 
 | 1098 | 
         ICDECOMPRESSEX ic; | 
 
 
 
 
 
 | 1099 | 
         ic.dwFlags = dwFlags; | 
 
 
 
 
 
 | 1100 | 
         ic.lpbiSrc = lpbiSrc; | 
 
 
 
 
 
 | 1101 | 
         ic.lpSrc = lpSrc; | 
 
 
 
 
 
 | 1102 | 
         ic.xSrc = xSrc; | 
 
 
 
 
 
 | 1103 | 
         ic.ySrc = ySrc; | 
 
 
 
 
 
 | 1104 | 
         ic.dxSrc = dxSrc; | 
 
 
 
 
 
 | 1105 | 
         ic.dySrc = dySrc; | 
 
 
 
 
 
 | 1106 | 
         ic.lpbiDst = lpbiDst; | 
 
 
 
 
 
 | 1107 | 
         ic.lpDst = lpDst; | 
 
 
 
 
 
 | 1108 | 
         ic.xDst = xDst; | 
 
 
 
 
 
 | 1109 | 
         ic.yDst = yDst; | 
 
 
 
 
 
 | 1110 | 
         ic.dxDst = dxDst; | 
 
 
 
 
 
 | 1111 | 
         ic.dyDst = dyDst; | 
 
 
 
 
 
 | 1112 | 
         return ICSendMessage(hic,ICM_DECOMPRESSEX_BEGIN,(DWORD)&ic,sizeof(ic)); | 
 
 
 
 
 
 | 1113 | 
 } | 
 
 
 
 
 
 | 1114 | 
 static __inline LRESULT | 
 
 
 
 
 
 | 1115 | 
 ICDecompressExQuery(HIC hic,DWORD dwFlags,LPBITMAPINFOHEADER lpbiSrc,LPVOID lpSrc,INT xSrc,INT ySrc,INT dxSrc,INT dySrc,LPBITMAPINFOHEADER lpbiDst,LPVOID lpDst,INT xDst,INT yDst,INT dxDst,INT dyDst) | 
 
 
 
 
 
 | 1116 | 
 { | 
 
 
 
 
 
 | 1117 | 
         ICDECOMPRESSEX ic; | 
 
 
 
 
 
 | 1118 | 
         ic.dwFlags = dwFlags; | 
 
 
 
 
 
 | 1119 | 
         ic.lpbiSrc = lpbiSrc; | 
 
 
 
 
 
 | 1120 | 
         ic.lpSrc = lpSrc; | 
 
 
 
 
 
 | 1121 | 
         ic.xSrc = xSrc; | 
 
 
 
 
 
 | 1122 | 
         ic.ySrc = ySrc; | 
 
 
 
 
 
 | 1123 | 
         ic.dxSrc = dxSrc; | 
 
 
 
 
 
 | 1124 | 
         ic.dySrc = dySrc; | 
 
 
 
 
 
 | 1125 | 
         ic.lpbiDst = lpbiDst; | 
 
 
 
 
 
 | 1126 | 
         ic.lpDst = lpDst; | 
 
 
 
 
 
 | 1127 | 
         ic.xDst = xDst; | 
 
 
 
 
 
 | 1128 | 
         ic.yDst = yDst; | 
 
 
 
 
 
 | 1129 | 
         ic.dxDst = dxDst; | 
 
 
 
 
 
 | 1130 | 
         ic.dyDst = dyDst; | 
 
 
 
 
 
 | 1131 | 
         return ICSendMessage(hic,ICM_DECOMPRESSEX_QUERY,(DWORD)&ic,sizeof(ic)); | 
 
 
 
 
 
 | 1132 | 
 } | 
 
 
 
 
 
 | 1133 | 
  | 
 
 
 
 
 
 | 1134 | 
 #define WM_CAP_SET_CALLBACK_ERRORA      (WM_USER + 2) | 
 
 
 
 
 
 | 1135 | 
 #define WM_CAP_SET_CALLBACK_ERRORW      (WM_CAP_SET_CALLBACK_ERRORA + 100) | 
 
 
 
 
 
 | 1136 | 
 #define WM_CAP_SET_CALLBACK_STATUS      (WM_USER + 3) | 
 
 
 
 
 
 | 1137 | 
 #define WM_CAP_SET_CALLBACK_YIELD       (WM_USER + 4) | 
 
 
 
 
 
 | 1138 | 
 #define WM_CAP_SET_CALLBACK_FRAMEA      (WM_USER + 5) | 
 
 
 
 
 
 | 1139 | 
 #define WM_CAP_SET_CALLBACK_FRAMEW      (WM_CAP_SET_CALLBACK_FRAMEA + 100) | 
 
 
 
 
 
 | 1140 | 
 #define WM_CAP_SET_CALLBACK_VIDEOSTREAM (WM_USER + 6) | 
 
 
 
 
 
 | 1141 | 
 #define WM_CAP_SET_CALLBACK_WAVESTREAM  (WM_USER + 7) | 
 
 
 
 
 
 | 1142 | 
 #define WM_CAP_GET_USER_DATA            (WM_USER + 8) | 
 
 
 
 
 
 | 1143 | 
 #define WM_CAP_SET_USER_DATA            (WM_USER + 9) | 
 
 
 
 
 
 | 1144 | 
 #define WM_CAP_DRIVER_CONNECT           (WM_USER + 10) | 
 
 
 
 
 
 | 1145 | 
 #define WM_CAP_DRIVER_DISCONNECT        (WM_USER + 11) | 
 
 
 
 
 
 | 1146 | 
 #define WM_CAP_DRIVER_GET_NAMEA         (WM_USER + 12) | 
 
 
 
 
 
 | 1147 | 
 #define WM_CAP_DRIVER_GET_NAMEW         (WM_CAP_DRIVER_GET_NAMEA + 100) | 
 
 
 
 
 
 | 1148 | 
 #define WM_CAP_DRIVER_GET_VERSIONA      (WM_USER + 13) | 
 
 
 
 
 
 | 1149 | 
 #define WM_CAP_DRIVER_GET_VERSIONW      (WM_CAP_DRIVER_GET_VERSIONA + 100) | 
 
 
 
 
 
 | 1150 | 
 #define WM_CAP_DRIVER_GET_CAPS          (WM_USER + 14) | 
 
 
 
 
 
 | 1151 | 
 #define WM_CAP_FILE_SET_CAPTURE_FILEA   (WM_USER + 20) | 
 
 
 
 
 
 | 1152 | 
 #define WM_CAP_FILE_SET_CAPTURE_FILEW   (WM_CAP_FILE_SET_CAPTURE_FILEA + 100) | 
 
 
 
 
 
 | 1153 | 
 #define WM_CAP_FILE_GET_CAPTURE_FILEA   (WM_USER + 21) | 
 
 
 
 
 
 | 1154 | 
 #define WM_CAP_FILE_GET_CAPTURE_FILEW   (WM_CAP_FILE_GET_CAPTURE_FILEA + 100) | 
 
 
 
 
 
 | 1155 | 
 #define WM_CAP_FILE_ALLOCATE            (WM_USER + 22) | 
 
 
 
 
 
 | 1156 | 
 #define WM_CAP_FILE_SAVEASA             (WM_USER + 23) | 
 
 
 
 
 
 | 1157 | 
 #define WM_CAP_FILE_SAVEASW             (WM_CAP_FILE_SAVEASA + 100) | 
 
 
 
 
 
 | 1158 | 
 #define WM_CAP_FILE_SET_INFOCHUNK       (WM_USER + 24) | 
 
 
 
 
 
 | 1159 | 
 #define WM_CAP_FILE_SAVEDIBA            (WM_USER + 25) | 
 
 
 
 
 
 | 1160 | 
 #define WM_CAP_FILE_SAVEDIBW            (WM_CAP_FILE_SAVEDIBA + 100) | 
 
 
 
 
 
 | 1161 | 
 #define WM_CAP_EDIT_COPY                (WM_USER + 30) | 
 
 
 
 
 
 | 1162 | 
 #define WM_CAP_SET_AUDIOFORMAT          (WM_USER + 35) | 
 
 
 
 
 
 | 1163 | 
 #define WM_CAP_GET_AUDIOFORMAT          (WM_USER + 36) | 
 
 
 
 
 
 | 1164 | 
 #define WM_CAP_DLG_VIDEOFORMAT          (WM_USER + 41) | 
 
 
 
 
 
 | 1165 | 
 #define WM_CAP_DLG_VIDEOSOURCE          (WM_USER + 42) | 
 
 
 
 
 
 | 1166 | 
 #define WM_CAP_DLG_VIDEODISPLAY         (WM_USER + 43) | 
 
 
 
 
 
 | 1167 | 
 #define WM_CAP_GET_VIDEOFORMAT          (WM_USER + 44) | 
 
 
 
 
 
 | 1168 | 
 #define WM_CAP_SET_VIDEOFORMAT          (WM_USER + 45) | 
 
 
 
 
 
 | 1169 | 
 #define WM_CAP_DLG_VIDEOCOMPRESSION     (WM_USER + 46) | 
 
 
 
 
 
 | 1170 | 
 #define WM_CAP_SET_PREVIEW              (WM_USER + 50) | 
 
 
 
 
 
 | 1171 | 
 #define WM_CAP_SET_OVERLAY              (WM_USER + 51) | 
 
 
 
 
 
 | 1172 | 
 #define WM_CAP_SET_PREVIEWRATE          (WM_USER + 52) | 
 
 
 
 
 
 | 1173 | 
 #define WM_CAP_SET_SCALE                (WM_USER + 53) | 
 
 
 
 
 
 | 1174 | 
 #define WM_CAP_GET_STATUS               (WM_USER + 54) | 
 
 
 
 
 
 | 1175 | 
 #define WM_CAP_SET_SCROLL               (WM_USER + 55) | 
 
 
 
 
 
 | 1176 | 
 #define WM_CAP_GRAB_FRAME               (WM_USER + 60) | 
 
 
 
 
 
 | 1177 | 
 #define WM_CAP_GRAB_FRAME_NOSTOP        (WM_USER + 61) | 
 
 
 
 
 
 | 1178 | 
 #define WM_CAP_SEQUENCE                 (WM_USER + 62) | 
 
 
 
 
 
 | 1179 | 
 #define WM_CAP_SEQUENCE_NOFILE          (WM_USER + 63) | 
 
 
 
 
 
 | 1180 | 
 #define WM_CAP_SET_SEQUENCE_SETUP       (WM_USER + 64) | 
 
 
 
 
 
 | 1181 | 
 #define WM_CAP_GET_SEQUENCE_SETUP       (WM_USER + 65) | 
 
 
 
 
 
 | 1182 | 
 #define WM_CAP_SET_MCI_DEVICEA          (WM_USER + 66) | 
 
 
 
 
 
 | 1183 | 
 #define WM_CAP_SET_MCI_DEVICEW          (WM_CAP_SET_MCI_DEVICEA + 100) | 
 
 
 
 
 
 | 1184 | 
 #define WM_CAP_GET_MCI_DEVICEA          (WM_USER + 67) | 
 
 
 
 
 
 | 1185 | 
 #define WM_CAP_GET_MCI_DEVICEW          (WM_CAP_GET_MCI_DEVICEA + 100) | 
 
 
 
 
 
 | 1186 | 
 #define WM_CAP_STOP                     (WM_USER + 68) | 
 
 
 
 
 
 | 1187 | 
 #define WM_CAP_ABORT                    (WM_USER + 69) | 
 
 
 
 
 
 | 1188 | 
 #define WM_CAP_SINGLE_FRAME_OPEN        (WM_USER + 70) | 
 
 
 
 
 
 | 1189 | 
 #define WM_CAP_SINGLE_FRAME_CLOSE       (WM_USER + 71) | 
 
 
 
 
 
 | 1190 | 
 #define WM_CAP_SINGLE_FRAME             (WM_USER + 72) | 
 
 
 
 
 
 | 1191 | 
 #define WM_CAP_PAL_OPENA                (WM_USER + 80) | 
 
 
 
 
 
 | 1192 | 
 #define WM_CAP_PAL_OPENW                (WM_CAP_PAL_OPENA + 100) | 
 
 
 
 
 
 | 1193 | 
 #define WM_CAP_PAL_SAVEA                (WM_USER + 81) | 
 
 
 
 
 
 | 1194 | 
 #define WM_CAP_PAL_SAVEW                (WM_CAP_PAL_SAVEA + 100) | 
 
 
 
 
 
 | 1195 | 
 #define WM_CAP_PAL_PASTE                (WM_USER + 82) | 
 
 
 
 
 
 | 1196 | 
 #define WM_CAP_PAL_AUTOCREATE           (WM_USER + 83) | 
 
 
 
 
 
 | 1197 | 
 #define WM_CAP_PAL_MANUALCREATE         (WM_USER + 84) | 
 
 
 
 
 
 | 1198 | 
 #define WM_CAP_SET_CALLBACK_CAPCONTROL  (WM_USER + 85) | 
 
 
 
 
 
 | 1199 | 
  | 
 
 
 
 
 
 | 1200 | 
 #ifdef UNICODE | 
 
 
 
 
 
 | 1201 | 
 #define WM_CAP_SET_CALLBACK_ERROR       WM_CAP_SET_CALLBACK_ERRORW | 
 
 
 
 
 
 | 1202 | 
 #define WM_CAP_SET_CALLBACK_FRAME       WM_CAP_SET_CALLBACK_FRAMEW | 
 
 
 
 
 
 | 1203 | 
 #define WM_CAP_DRIVER_GET_NAME          WM_CAP_DRIVER_GET_NAMEW | 
 
 
 
 
 
 | 1204 | 
 #define WM_CAP_DRIVER_GET_VERSION       WM_CAP_DRIVER_GET_VERSIONW | 
 
 
 
 
 
 | 1205 | 
 #define WM_CAP_FILE_SET_CAPTURE_FILE    WM_CAP_FILE_SET_CAPTURE_FILEW | 
 
 
 
 
 
 | 1206 | 
 #define WM_CAP_FILE_GET_CAPTURE_FILE    WM_CAP_FILE_GET_CAPTURE_FILEW | 
 
 
 
 
 
 | 1207 | 
 #define WM_CAP_FILE_SAVEAS              WM_CAP_FILE_SAVEASW | 
 
 
 
 
 
 | 1208 | 
 #define WM_CAP_FILE_SAVEDIB             WM_CAP_FILE_SAVEDIBW | 
 
 
 
 
 
 | 1209 | 
 #define WM_CAP_SET_MCI_DEVICE           WM_CAP_SET_MCI_DEVICEW | 
 
 
 
 
 
 | 1210 | 
 #define WM_CAP_GET_MCI_DEVICE           WM_CAP_GET_MCI_DEVICEW | 
 
 
 
 
 
 | 1211 | 
 #define WM_CAP_PAL_OPEN                 WM_CAP_PAL_OPENW | 
 
 
 
 
 
 | 1212 | 
 #define WM_CAP_PAL_SAVE                 WM_CAP_PAL_SAVEW | 
 
 
 
 
 
 | 1213 | 
 #else | 
 
 
 
 
 
 | 1214 | 
 #define WM_CAP_SET_CALLBACK_ERROR       WM_CAP_SET_CALLBACK_ERRORA | 
 
 
 
 
 
 | 1215 | 
 #define WM_CAP_SET_CALLBACK_FRAME       WM_CAP_SET_CALLBACK_FRAMEA | 
 
 
 
 
 
 | 1216 | 
 #define WM_CAP_DRIVER_GET_NAME          WM_CAP_DRIVER_GET_NAMEA | 
 
 
 
 
 
 | 1217 | 
 #define WM_CAP_DRIVER_GET_VERSION       WM_CAP_DRIVER_GET_VERSIONA | 
 
 
 
 
 
 | 1218 | 
 #define WM_CAP_FILE_SET_CAPTURE_FILE    WM_CAP_FILE_SET_CAPTURE_FILEA | 
 
 
 
 
 
 | 1219 | 
 #define WM_CAP_FILE_GET_CAPTURE_FILE    WM_CAP_FILE_GET_CAPTURE_FILEA | 
 
 
 
 
 
 | 1220 | 
 #define WM_CAP_FILE_SAVEAS              WM_CAP_FILE_SAVEASA | 
 
 
 
 
 
 | 1221 | 
 #define WM_CAP_FILE_SAVEDIB             WM_CAP_FILE_SAVEDIBA | 
 
 
 
 
 
 | 1222 | 
 #define WM_CAP_SET_MCI_DEVICE           WM_CAP_SET_MCI_DEVICEA | 
 
 
 
 
 
 | 1223 | 
 #define WM_CAP_GET_MCI_DEVICE           WM_CAP_GET_MCI_DEVICEA | 
 
 
 
 
 
 | 1224 | 
 #define WM_CAP_PAL_OPEN                 WM_CAP_PAL_OPENA | 
 
 
 
 
 
 | 1225 | 
 #define WM_CAP_PAL_SAVE                 WM_CAP_PAL_SAVEA | 
 
 
 
 
 
 | 1226 | 
 #endif | 
 
 
 
 
 
 | 1227 | 
  | 
 
 
 
 
 
 | 1228 | 
 #define __capSendMessage(hwnd,m,w,l) (IsWindow(hwnd)?SendMessage(hwnd,m,w,l):0) | 
 
 
 
 
 
 | 1229 | 
  | 
 
 
 
 
 
 | 1230 | 
 #define capSetCallbackOnError(hwnd,fpProc)          ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_CALLBACK_ERROR,0,(LPARAM)(LPVOID)(fpProc))) | 
 
 
 
 
 
 | 1231 | 
 #define capSetCallbackOnStatus(hwnd,fpProc)         ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_CALLBACK_STATUS,0,(LPARAM)(LPVOID)(fpProc))) | 
 
 
 
 
 
 | 1232 | 
 #define capSetCallbackOnYield(hwnd,fpProc)          ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_CALLBACK_YIELD,0,(LPARAM)(LPVOID)(fpProc))) | 
 
 
 
 
 
 | 1233 | 
 #define capSetCallbackOnFrame(hwnd,fpProc)          ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_CALLBACK_FRAME,0,(LPARAM)(LPVOID)(fpProc))) | 
 
 
 
 
 
 | 1234 | 
 #define capSetCallbackOnVideoStream(hwnd,fpProc)    ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_CALLBACK_VIDEOSTREAM,0,(LPARAM)(LPVOID)(fpProc))) | 
 
 
 
 
 
 | 1235 | 
 #define capSetCallbackOnWaveStream(hwnd,fpProc)     ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_CALLBACK_WAVESTREAM,0,(LPARAM)(LPVOID)(fpProc))) | 
 
 
 
 
 
 | 1236 | 
 #define capGetUserData(hwnd)                        ((LONG) __capSendMessage(hwnd,WM_CAP_GET_USER_DATA,0,0)) | 
 
 
 
 
 
 | 1237 | 
 #define capSetUserData(hwnd,lUser)                  ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_USER_DATA,0,(LPARAM)lUser)) | 
 
 
 
 
 
 | 1238 | 
 #define capDriverConnect(hwnd,i)                    ((BOOL) __capSendMessage(hwnd,WM_CAP_DRIVER_CONNECT,(WPARAM)(i),0)) | 
 
 
 
 
 
 | 1239 | 
 #define capDriverDisconnect(hwnd)                   ((BOOL) __capSendMessage(hwnd,WM_CAP_DRIVER_DISCONNECT,0,0)) | 
 
 
 
 
 
 | 1240 | 
 #define capDriverGetName(hwnd,szName,wSize)         ((BOOL) __capSendMessage(hwnd,WM_CAP_DRIVER_GET_NAME,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPTSTR)(szName))) | 
 
 
 
 
 
 | 1241 | 
 #define capDriverGetVersion(hwnd,szVer,wSize)       ((BOOL) __capSendMessage(hwnd,WM_CAP_DRIVER_GET_VERSION,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPTSTR)(szVer))) | 
 
 
 
 
 
 | 1242 | 
 #define capDriverGetCaps(hwnd,psCaps,wSize)         ((BOOL) __capSendMessage(hwnd,WM_CAP_DRIVER_GET_CAPS,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPDRIVERCAPS)(psCaps))) | 
 
 
 
 
 
 | 1243 | 
 #define capFileSetCaptureFile(hwnd,szName)          ((BOOL) __capSendMessage(hwnd,WM_CAP_FILE_SET_CAPTURE_FILE,0,(LPARAM)(LPVOID)(LPTSTR)(szName))) | 
 
 
 
 
 
 | 1244 | 
 #define capFileGetCaptureFile(hwnd,szName,wSize)    ((BOOL) __capSendMessage(hwnd,WM_CAP_FILE_GET_CAPTURE_FILE,(WPARAM)(wSize), (LPARAM)(LPVOID)(LPTSTR)(szName))) | 
 
 
 
 
 
 | 1245 | 
 #define capFileAlloc(hwnd,dwSize)                   ((BOOL) __capSendMessage(hwnd,WM_CAP_FILE_ALLOCATE,0,(LPARAM)(DWORD)(dwSize))) | 
 
 
 
 
 
 | 1246 | 
 #define capFileSaveAs(hwnd,szName)                  ((BOOL) __capSendMessage(hwnd,WM_CAP_FILE_SAVEAS,0,(LPARAM)(LPVOID)(LPTSTR)(szName))) | 
 
 
 
 
 
 | 1247 | 
 #define capFileSetInfoChunk(hwnd,lpInfoChunk)       ((BOOL) __capSendMessage(hwnd,WM_CAP_FILE_SET_INFOCHUNK,0,(LPARAM)(LPCAPINFOCHUNK)(lpInfoChunk))) | 
 
 
 
 
 
 | 1248 | 
 #define capFileSaveDIB(hwnd, szName)                ((BOOL) __capSendMessage(hwnd,WM_CAP_FILE_SAVEDIB,0,(LPARAM)(LPVOID)(LPTSTR)(szName))) | 
 
 
 
 
 
 | 1249 | 
 #define capEditCopy(hwnd)                           ((BOOL) __capSendMessage(hwnd,WM_CAP_EDIT_COPY,0,0)) | 
 
 
 
 
 
 | 1250 | 
 #define capSetAudioFormat(hwnd,psAudioFormat,wSize) ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_AUDIOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPWAVEFORMATEX)(psAudioFormat))) | 
 
 
 
 
 
 | 1251 | 
 #define capGetAudioFormat(hwnd,psAudioFormat,wSize) ((DWORD)__capSendMessage(hwnd,WM_CAP_GET_AUDIOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPWAVEFORMATEX)(psAudioFormat))) | 
 
 
 
 
 
 | 1252 | 
 #define capGetAudioFormatSize(hwnd)                 ((DWORD)__capSendMessage(hwnd,WM_CAP_GET_AUDIOFORMAT,0,0)) | 
 
 
 
 
 
 | 1253 | 
 #define capDlgVideoFormat(hwnd)                     ((BOOL) __capSendMessage(hwnd,WM_CAP_DLG_VIDEOFORMAT,0,0)) | 
 
 
 
 
 
 | 1254 | 
 #define capDlgVideoSource(hwnd)                     ((BOOL) __capSendMessage(hwnd,WM_CAP_DLG_VIDEOSOURCE,0,0)) | 
 
 
 
 
 
 | 1255 | 
 #define capDlgVideoDisplay(hwnd)                    ((BOOL) __capSendMessage(hwnd,WM_CAP_DLG_VIDEODISPLAY,0,0)) | 
 
 
 
 
 
 | 1256 | 
 #define capGetVideoFormat(hwnd,psVideoFormat,wSize) ((DWORD)__capSendMessage(hwnd,WM_CAP_GET_VIDEOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(psVideoFormat))) | 
 
 
 
 
 
 | 1257 | 
 #define capGetVideoFormatSize(hwnd)                 ((DWORD)__capSendMessage(hwnd,WM_CAP_GET_VIDEOFORMAT,0,0)) | 
 
 
 
 
 
 | 1258 | 
 #define capSetVideoFormat(hwnd,psVideoFormat,wSize) ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_VIDEOFORMAT,(WPARAM)(wSize),(LPARAM)(LPVOID)(psVideoFormat))) | 
 
 
 
 
 
 | 1259 | 
 #define capDlgVideoCompression(hwnd)                ((BOOL) __capSendMessage(hwnd,WM_CAP_DLG_VIDEOCOMPRESSION,0,0)) | 
 
 
 
 
 
 | 1260 | 
 #define capPreview(hwnd,f)                          ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_PREVIEW,(WPARAM)(BOOL)(f),0)) | 
 
 
 
 
 
 | 1261 | 
 #define capOverlay(hwnd,f)                          ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_OVERLAY,(WPARAM)(BOOL)(f),0)) | 
 
 
 
 
 
 | 1262 | 
 #define capPreviewRate(hwnd,wMS)                    ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_PREVIEWRATE,(WPARAM)(wMS),0)) | 
 
 
 
 
 
 | 1263 | 
 #define capPreviewScale(hwnd,f)                     ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_SCALE,(WPARAM)(BOOL)f,0)) | 
 
 
 
 
 
 | 1264 | 
 #define capGetStatus(hwnd,s,wSize)                  ((BOOL) __capSendMessage(hwnd,WM_CAP_GET_STATUS,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPSTATUS)(s))) | 
 
 
 
 
 
 | 1265 | 
 #define capSetScrollPos(hwnd,lpP)                   ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_SCROLL,0,(LPARAM)(LPPOINT)(lpP))) | 
 
 
 
 
 
 | 1266 | 
 #define capGrabFrame(hwnd)                          ((BOOL) __capSendMessage(hwnd,WM_CAP_GRAB_FRAME,0,0)) | 
 
 
 
 
 
 | 1267 | 
 #define capGrabFrameNoStop(hwnd)                    ((BOOL) __capSendMessage(hwnd,WM_CAP_GRAB_FRAME_NOSTOP,0,0)) | 
 
 
 
 
 
 | 1268 | 
 #define capCaptureSequence(hwnd)                    ((BOOL) __capSendMessage(hwnd,WM_CAP_SEQUENCE,0,0)) | 
 
 
 
 
 
 | 1269 | 
 #define capCaptureSequenceNoFile(hwnd)              ((BOOL) __capSendMessage(hwnd,WM_CAP_SEQUENCE_NOFILE,0,0)) | 
 
 
 
 
 
 | 1270 | 
 #define capCaptureSetSetup(hwnd,s,wSize)            ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_SEQUENCE_SETUP,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPTUREPARMS)(s))) | 
 
 
 
 
 
 | 1271 | 
 #define capCaptureGetSetup(hwnd,s,wSize)            ((BOOL) __capSendMessage(hwnd,WM_CAP_GET_SEQUENCE_SETUP,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPCAPTUREPARMS)(s))) | 
 
 
 
 
 
 | 1272 | 
 #define capSetMCIDeviceName(hwnd,szName)            ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_MCI_DEVICE,0,(LPARAM)(LPVOID)(LPTSTR)(szName))) | 
 
 
 
 
 
 | 1273 | 
 #define capGetMCIDeviceName(hwnd,szName,wSize)      ((BOOL) __capSendMessage(hwnd,WM_CAP_GET_MCI_DEVICE,(WPARAM)(wSize),(LPARAM)(LPVOID)(LPTSTR)(szName))) | 
 
 
 
 
 
 | 1274 | 
 #define capCaptureStop(hwnd)                        ((BOOL) __capSendMessage(hwnd,WM_CAP_STOP,0,0)) | 
 
 
 
 
 
 | 1275 | 
 #define capCaptureAbort(hwnd)                       ((BOOL) __capSendMessage(hwnd,WM_CAP_ABORT,0,0)) | 
 
 
 
 
 
 | 1276 | 
 #define capCaptureSingleFrameOpen(hwnd)             ((BOOL) __capSendMessage(hwnd,WM_CAP_SINGLE_FRAME_OPEN,0,0)) | 
 
 
 
 
 
 | 1277 | 
 #define capCaptureSingleFrameClose(hwnd)            ((BOOL) __capSendMessage(hwnd,WM_CAP_SINGLE_FRAME_CLOSE,0,0)) | 
 
 
 
 
 
 | 1278 | 
 #define capCaptureSingleFrame(hwnd)                 ((BOOL) __capSendMessage(hwnd,WM_CAP_SINGLE_FRAME,0,0)) | 
 
 
 
 
 
 | 1279 | 
 #define capPaletteOpen(hwnd,szName)                 ((BOOL) __capSendMessage(hwnd,WM_CAP_PAL_OPEN,0,(LPARAM)(LPVOID)(LPTSTR)(szName))) | 
 
 
 
 
 
 | 1280 | 
 #define capPaletteSave(hwnd,szName)                 ((BOOL) __capSendMessage(hwnd,WM_CAP_PAL_SAVE,0,(LPARAM)(LPVOID)(LPTSTR)(szName))) | 
 
 
 
 
 
 | 1281 | 
 #define capPalettePaste(hwnd)                       ((BOOL) __capSendMessage(hwnd,WM_CAP_PAL_PASTE,0,0)) | 
 
 
 
 
 
 | 1282 | 
 #define capPaletteAuto(hwnd,iFrames,iColors)        ((BOOL) __capSendMessage(hwnd,WM_CAP_PAL_AUTOCREATE,(WPARAM)(iFrames),(LPARAM)(DWORD)(iColors))) | 
 
 
 
 
 
 | 1283 | 
 #define capPaletteManual(hwnd,fGrab,iColors)        ((BOOL) __capSendMessage(hwnd,WM_CAP_PAL_MANUALCREATE,(WPARAM)(fGrab),(LPARAM)(DWORD)(iColors))) | 
 
 
 
 
 
 | 1284 | 
 #define capSetCallbackOnCapControl(hwnd,fpProc)     ((BOOL) __capSendMessage(hwnd,WM_CAP_SET_CALLBACK_CAPCONTROL,0,(LPARAM)(LPVOID)(fpProc))) | 
 
 
 
 
 
 | 1285 | 
  | 
 
 
 
 
 
 | 1286 | 
 /* AVICAP32 exports */ | 
 
 
 
 
 
 | 1287 | 
 HWND VFWAPI capCreateCaptureWindowA (LPCSTR,DWORD,int,int,int,int,HWND,int); | 
 
 
 
 
 
 | 1288 | 
 HWND VFWAPI capCreateCaptureWindowW (LPCWSTR,DWORD,int,int,int,int,HWND,int); | 
 
 
 
 
 
 | 1289 | 
 BOOL VFWAPI capGetDriverDescriptionA (UINT,LPSTR,int,LPSTR,int); | 
 
 
 
 
 
 | 1290 | 
 BOOL VFWAPI capGetDriverDescriptionW (UINT,LPWSTR,int,LPWSTR,int); | 
 
 
 
 
 
 | 1291 | 
  | 
 
 
 
 
 
 | 1292 | 
 #ifdef UNICODE | 
 
 
 
 
 
 | 1293 | 
 #define AVISTREAMINFO AVISTREAMINFOW | 
 
 
 
 
 
 | 1294 | 
 #define LPAVISTREAMINFO LPAVISTREAMINFOW | 
 
 
 
 
 
 | 1295 | 
 #define PAVISTREAMINFO PAVISTREAMINFOW | 
 
 
 
 
 
 | 1296 | 
 #define AVIFILEINFO AVIFILEINFOW | 
 
 
 
 
 
 | 1297 | 
 #define PAVIFILEINFO PAVIFILEINFOW | 
 
 
 
 
 
 | 1298 | 
 #define LPAVIFILEINFO LPAVIFILEINFOW | 
 
 
 
 
 
 | 1299 | 
 #define AVIStreamInfo AVIStreamInfoW | 
 
 
 
 
 
 | 1300 | 
 #define AVIStreamOpenFromFile AVIStreamOpenFromFileW | 
 
 
 
 
 
 | 1301 | 
 #define AVIBuildFilter AVIBuildFilterW | 
 
 
 
 
 
 | 1302 | 
 #define AVISaveV AVISaveVW | 
 
 
 
 
 
 | 1303 | 
 #define EditStreamSetInfo EditStreamSetInfoW | 
 
 
 
 
 
 | 1304 | 
 #define EditStreamSetName EditStreamSetNameW | 
 
 
 
 
 
 | 1305 | 
 #define AVIFileOpen AVIFileOpenW | 
 
 
 
 
 
 | 1306 | 
 #define AVIFileInfo AVIFileInfoW | 
 
 
 
 
 
 | 1307 | 
 #define AVIFileCreateStream AVIFileCreateStreamW | 
 
 
 
 
 
 | 1308 | 
 #define GetOpenFileNamePreview GetOpenFileNamePreviewW | 
 
 
 
 
 
 | 1309 | 
 #define GetSaveFileNamePreview GetSaveFileNamePreviewW | 
 
 
 
 
 
 | 1310 | 
 #define MCIWndCreate MCIWndCreateW | 
 
 
 
 
 
 | 1311 | 
 #define MCIWNDF_NOTIFYMEDIA MCIWNDF_NOTIFYMEDIAW | 
 
 
 
 
 
 | 1312 | 
 #define MCIWNDM_SENDSTRING MCIWNDM_SENDSTRINGW | 
 
 
 
 
 
 | 1313 | 
 #define MCIWNDM_GETPOSITION MCIWNDM_GETPOSITIONW | 
 
 
 
 
 
 | 1314 | 
 #define MCIWNDM_GETMODE MCIWNDM_GETMODEW | 
 
 
 
 
 
 | 1315 | 
 #define MCIWNDM_SETTIMEFORMAT MCIWNDM_SETTIMEFORMATW | 
 
 
 
 
 
 | 1316 | 
 #define MCIWNDM_GETTIMEFORMAT MCIWNDM_GETTIMEFORMATW | 
 
 
 
 
 
 | 1317 | 
 #define MCIWNDM_GETFILENAME MCIWNDM_GETFILENAMEW | 
 
 
 
 
 
 | 1318 | 
 #define MCIWNDM_GETDEVICE MCIWNDM_GETDEVICEW | 
 
 
 
 
 
 | 1319 | 
 #define MCIWNDM_GETERROR MCIWNDM_GETERRORW | 
 
 
 
 
 
 | 1320 | 
 #define MCIWNDM_NEW MCIWNDM_NEWW | 
 
 
 
 
 
 | 1321 | 
 #define MCIWNDM_RETURNSTRING MCIWNDM_RETURNSTRINGW | 
 
 
 
 
 
 | 1322 | 
 #define MCIWNDM_OPEN MCIWNDM_OPENW | 
 
 
 
 
 
 | 1323 | 
  | 
 
 
 
 
 
 | 1324 | 
 #define capCreateCaptureWindow  capCreateCaptureWindowW | 
 
 
 
 
 
 | 1325 | 
 #define capGetDriverDescription capGetDriverDescriptionW | 
 
 
 
 
 
 | 1326 | 
  | 
 
 
 
 
 
 | 1327 | 
 #else | 
 
 
 
 
 
 | 1328 | 
 #define AVISTREAMINFO AVISTREAMINFOA | 
 
 
 
 
 
 | 1329 | 
 #define LPAVISTREAMINFO LPAVISTREAMINFOA | 
 
 
 
 
 
 | 1330 | 
 #define PAVISTREAMINFO PAVISTREAMINFOA | 
 
 
 
 
 
 | 1331 | 
 #define AVIFILEINFO AVIFILEINFOA | 
 
 
 
 
 
 | 1332 | 
 #define PAVIFILEINFO PAVIFILEINFOA | 
 
 
 
 
 
 | 1333 | 
 #define LPAVIFILEINFO LPAVIFILEINFOA | 
 
 
 
 
 
 | 1334 | 
 #define AVIStreamInfo AVIStreamInfoA | 
 
 
 
 
 
 | 1335 | 
 #define AVIStreamOpenFromFile AVIStreamOpenFromFileA | 
 
 
 
 
 
 | 1336 | 
 #define AVIBuildFilter AVIBuildFilterA | 
 
 
 
 
 
 | 1337 | 
 #define AVISaveV AVISaveVA | 
 
 
 
 
 
 | 1338 | 
 #define EditStreamSetInfo EditStreamSetInfoA | 
 
 
 
 
 
 | 1339 | 
 #define EditStreamSetName EditStreamSetNameA | 
 
 
 
 
 
 | 1340 | 
 #define AVIFileOpen AVIFileOpenA | 
 
 
 
 
 
 | 1341 | 
 #define AVIFileInfo AVIFileInfoA | 
 
 
 
 
 
 | 1342 | 
 #define AVIFileCreateStream AVIFileCreateStreamA | 
 
 
 
 
 
 | 1343 | 
 #define GetOpenFileNamePreview GetOpenFileNamePreviewA | 
 
 
 
 
 
 | 1344 | 
 #define GetSaveFileNamePreview GetSaveFileNamePreviewA | 
 
 
 
 
 
 | 1345 | 
 #define MCIWndCreate MCIWndCreateA | 
 
 
 
 
 
 | 1346 | 
 #define MCIWNDF_NOTIFYMEDIA MCIWNDF_NOTIFYMEDIAA | 
 
 
 
 
 
 | 1347 | 
 #define MCIWNDM_SENDSTRING MCIWNDM_SENDSTRINGA | 
 
 
 
 
 
 | 1348 | 
 #define MCIWNDM_GETPOSITION MCIWNDM_GETPOSITIONA | 
 
 
 
 
 
 | 1349 | 
 #define MCIWNDM_GETMODE MCIWNDM_GETMODEA | 
 
 
 
 
 
 | 1350 | 
 #define MCIWNDM_SETTIMEFORMAT MCIWNDM_SETTIMEFORMATA | 
 
 
 
 
 
 | 1351 | 
 #define MCIWNDM_GETTIMEFORMAT MCIWNDM_GETTIMEFORMATA | 
 
 
 
 
 
 | 1352 | 
 #define MCIWNDM_GETFILENAME MCIWNDM_GETFILENAMEA | 
 
 
 
 
 
 | 1353 | 
 #define MCIWNDM_GETDEVICE MCIWNDM_GETDEVICEA | 
 
 
 
 
 
 | 1354 | 
 #define MCIWNDM_GETERROR MCIWNDM_GETERRORA | 
 
 
 
 
 
 | 1355 | 
 #define MCIWNDM_NEW MCIWNDM_NEWA | 
 
 
 
 
 
 | 1356 | 
 #define MCIWNDM_RETURNSTRING MCIWNDM_RETURNSTRINGA | 
 
 
 
 
 
 | 1357 | 
 #define MCIWNDM_OPEN MCIWNDM_OPENA | 
 
 
 
 
 
 | 1358 | 
  | 
 
 
 
 
 
 | 1359 | 
 #define capCreateCaptureWindow  capCreateCaptureWindowA | 
 
 
 
 
 
 | 1360 | 
 #define capGetDriverDescription capGetDriverDescriptionA | 
 
 
 
 
 
 | 1361 | 
  | 
 
 
 
 
 
 | 1362 | 
 #endif | 
 
 
 
 
 
 | 1363 | 
  | 
 
 
 
 
 
 | 1364 | 
 #endif /* RC_INVOKED */ | 
 
 
 
 
 
 | 1365 | 
  | 
 
 
 
 
 
 | 1366 | 
 #ifdef __cplusplus | 
 
 
 
 
 
 | 1367 | 
 } | 
 
 
 
 
 
 | 1368 | 
 #endif | 
 
 
 
 
 
 | 1369 | 
 #include <poppack.h> | 
 
 
 
 
 
 | 1370 | 
 #endif /* _VFW_H */ |