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