4 #pragma GCC system_header
13 #if !defined (_OLE2_H) && !defined (_OBJC_NO_COM)
18 #define VFWAPIV WINAPIV
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
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
361 #define mmioFOURCC(c0,c1,c2,c3) ((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)|((DWORD)(BYTE)(c2)<<16)|((DWORD)(BYTE)(c3)<<24))
364 #define aviTWOCC(ch0,ch1) ((WORD)(BYTE)(ch0)|((WORD)(BYTE)(ch1)<<8))
369 DECLARE_HANDLE(HDRAWDIB
);
371 typedef BOOL (CALLBACK
*AVISAVECALLBACK
)(INT
);
385 LPBITMAPINFOHEADER lpbiOutput
;
387 LPBITMAPINFOHEADER lpbiInput
;
394 LPBITMAPINFOHEADER lpbiPrev
;
399 LPBITMAPINFOHEADER lpbiOutput
;
401 LPBITMAPINFOHEADER lpbiInput
;
410 DWORD dwOverheadPerFrame
;
412 LONG (CALLBACK
*GetData
)(LPARAM
,LONG
,LPVOID
,LONG
);
413 LONG (CALLBACK
*PutData
)(LPARAM
,LONG
,LPVOID
,LONG
);
418 LONG (CALLBACK
*Status
)(LPARAM
,UINT
,LONG
);
428 WCHAR szDescription
[128];
433 LPBITMAPINFOHEADER lpbiInput
;
435 LPBITMAPINFOHEADER lpbiOutput
;
441 LPBITMAPINFOHEADER lpbiSrc
;
443 LPBITMAPINFOHEADER lpbiDst
;
456 LPBITMAPINFOHEADER lpbiIn
;
457 LPBITMAPINFOHEADER lpbiSuggest
;
479 LPBITMAPINFOHEADER lpbi
;
501 LPBITMAPINFO lpbiOut
;
511 } COMPVARS
, *PCOMPVARS
;
512 typedef struct _MainAVIHeader
514 DWORD dwMicroSecPerFrame
;
515 DWORD dwMaxBytesPerSec
;
516 DWORD dwPaddingGranularity
;
519 DWORD dwInitialFrames
;
521 DWORD dwSuggestedBufferSize
;
532 DWORD dwInitialFrames
;
537 DWORD dwSuggestedBufferSize
;
542 typedef struct _AVIINDEXENTRY
{
548 typedef struct _AVIPALCHANGE
{
552 PALETTEENTRY peNew
[1];
554 typedef struct _AVISTREAMINFOA
{
565 DWORD dwInitialFrames
;
566 DWORD dwSuggestedBufferSize
;
571 DWORD dwFormatChangeCount
;
573 } AVISTREAMINFOA
, * LPAVISTREAMINFOA
, *PAVISTREAMINFOA
;
574 typedef struct _AVISTREAMINFOW
{
585 DWORD dwInitialFrames
;
586 DWORD dwSuggestedBufferSize
;
591 DWORD dwFormatChangeCount
;
593 } AVISTREAMINFOW
, * LPAVISTREAMINFOW
, *PAVISTREAMINFOW
;
594 typedef struct _AVIFILEINFOW
{
595 DWORD dwMaxBytesPerSec
;
599 DWORD dwSuggestedBufferSize
;
606 WCHAR szFileType
[64];
607 } AVIFILEINFOW
, *LPAVIFILEINFOW
, *PAVIFILEINFOW
;
608 typedef struct _AVIFILEINFOA
{
609 DWORD dwMaxBytesPerSec
;
613 DWORD dwSuggestedBufferSize
;
621 } AVIFILEINFOA
, *LPAVIFILEINFOA
, *PAVIFILEINFOA
;
622 typedef struct _AVICOMPRESSOPTIONS
{
625 DWORD dwKeyFrameEvery
;
627 DWORD dwBytesPerSecond
;
633 DWORD dwInterleaveEvery
;
634 } AVICOMPRESSOPTIONS
, *LPAVICOMPRESSOPTIONS
,*PAVICOMPRESSOPTIONS
;
636 #if !defined (_OBJC_NO_COM)
637 #define DEFINE_AVIGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)
638 DEFINE_AVIGUID(IID_IAVIFile
,0x00020020,0,0);
639 DEFINE_AVIGUID(IID_IAVIStream
,0x00020021,0,0);
640 DEFINE_AVIGUID(IID_IAVIStreaming
,0x00020022,0,0);
641 DEFINE_AVIGUID(IID_IGetFrame
,0x00020023,0,0);
642 DEFINE_AVIGUID(IID_IAVIEditStream
,0x00020024,0,0);
643 DEFINE_AVIGUID(CLSID_AVIFile
,0x00020000,0,0);
645 #define INTERFACE IAVIStream
646 DECLARE_INTERFACE_(IAVIStream
, IUnknown
)
648 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
649 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
650 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
651 STDMETHOD(Create
)(THIS_ LPARAM
,LPARAM
) PURE
;
652 STDMETHOD(Info
)(THIS_ AVISTREAMINFOW
*,LONG
) PURE
;
653 STDMETHOD_(LONG
,FindSample
)(THIS_ LONG
,LONG
) PURE
;
654 STDMETHOD(ReadFormat
)(THIS_ LONG
,LPVOID
,LONG
*) PURE
;
655 STDMETHOD(SetFormat
)(THIS_ LONG
,LPVOID
,LONG
) PURE
;
656 STDMETHOD(Read
)(THIS_ LONG
,LONG
,LPVOID
,LONG
,LONG
*,LONG
*) PURE
;
657 STDMETHOD(Write
)(THIS_ LONG
,LONG
,LPVOID
,LONG
,DWORD
,LONG
*,LONG
*) PURE
;
658 STDMETHOD(Delete
)(THIS_ LONG
,LONG
) PURE
;
659 STDMETHOD(ReadData
)(THIS_ DWORD
,LPVOID
,LONG
*) PURE
;
660 STDMETHOD(WriteData
)(THIS_ DWORD
,LPVOID
,LONG
) PURE
;
661 STDMETHOD(SetInfo
)(THIS_ AVISTREAMINFOW
*,LONG
) PURE
;
664 typedef IAVIStream
*PAVISTREAM
;
666 #define INTERFACE IAVIStreaming
667 DECLARE_INTERFACE_(IAVIStreaming
, IUnknown
)
669 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
670 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
671 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
672 STDMETHOD(Begin
)(THIS_ LONG
,LONG
,LONG
) PURE
;
673 STDMETHOD(End
)(THIS
) PURE
;
676 typedef IAVIStreaming
*PAVISTREAMING
;
678 #define INTERFACE IAVIEditStream
679 DECLARE_INTERFACE_(IAVIEditStream
, IUnknown
)
681 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
682 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
683 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
684 STDMETHOD(Cut
)(THIS_ LONG
*,LONG
*,PAVISTREAM
*) PURE
;
685 STDMETHOD(Copy
)(THIS_ LONG
*,LONG
*,PAVISTREAM
*) PURE
;
686 STDMETHOD(Paste
)(THIS_ LONG
*,LONG
*,PAVISTREAM
,LONG
,LONG
) PURE
;
687 STDMETHOD(Clone
)(THIS_ PAVISTREAM
*) PURE
;
688 STDMETHOD(SetInfo
)(THIS_ LPAVISTREAMINFOW
,LONG
) PURE
;
691 typedef IAVIEditStream
*PAVIEDITSTREAM
;
693 #define INTERFACE IAVIFile
694 DECLARE_INTERFACE_(IAVIFile
, IUnknown
)
696 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
697 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
698 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
699 STDMETHOD(Info
)(THIS_ AVIFILEINFOW
*,LONG
) PURE
;
700 STDMETHOD(GetStream
)(THIS_ PAVISTREAM
*,DWORD
,LONG
) PURE
;
701 STDMETHOD(CreateStream
)(THIS_ PAVISTREAM
*,AVISTREAMINFOW
*) PURE
;
702 STDMETHOD(WriteData
)(THIS_ DWORD
,LPVOID
,LONG
) PURE
;
703 STDMETHOD(ReadData
)(THIS_ DWORD
,LPVOID
,LONG
*) PURE
;
704 STDMETHOD(EndRecord
)(THIS
) PURE
;
705 STDMETHOD(DeleteStream
)(THIS_ DWORD
,LONG
) PURE
;
708 typedef IAVIFile
*PAVIFILE
;
710 #define INTERFACE IGetFrame
711 DECLARE_INTERFACE_(IGetFrame
, IUnknown
)
713 STDMETHOD(QueryInterface
)(THIS_ REFIID
,PVOID
*) PURE
;
714 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
715 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
716 STDMETHOD_(LPVOID
,GetFrame
)(THIS_ LONG
) PURE
;
717 STDMETHOD(Begin
)(THIS_ LONG
,LONG
,LONG
) PURE
;
718 STDMETHOD(End
)(THIS
) PURE
;
719 STDMETHOD(SetFormat
)(THIS_ LPBITMAPINFOHEADER
,LPVOID
,INT
,INT
,INT
,INT
) PURE
;
722 typedef IGetFrame
*PGETFRAME
;
723 #endif /* !defined (_OBJC_NO_COM) */
725 DWORD VFWAPI
VideoForWindowsVersion(VOID
);
726 LONG VFWAPI
InitVFW(VOID
);
727 LONG VFWAPI
TermVFW(VOID
);
728 DWORD VFWAPIV
ICCompress(HIC
,DWORD
,LPBITMAPINFOHEADER
,LPVOID
,LPBITMAPINFOHEADER
,LPVOID
,LPDWORD
,LPDWORD
,LONG
,DWORD
,DWORD
,LPBITMAPINFOHEADER
,LPVOID
);
729 DWORD VFWAPIV
ICDecompress(HIC
,DWORD
,LPBITMAPINFOHEADER
,LPVOID
,LPBITMAPINFOHEADER
,LPVOID
);
730 LRESULT VFWAPI
ICSendMessage(HIC
,UINT
,DWORD
,DWORD
);
731 HANDLE VFWAPI
ICImageCompress(HIC
,UINT
,LPBITMAPINFO
,LPVOID
,LPBITMAPINFO
,LONG
,LONG
*);
732 HANDLE VFWAPI
ICImageDecompress(HIC
,UINT
,LPBITMAPINFO
,LPVOID
,LPBITMAPINFO
);
733 BOOL VFWAPI
ICInfo(DWORD
,DWORD
,ICINFO
*);
734 BOOL VFWAPI
ICInstall(DWORD
,DWORD
,LPARAM
,LPSTR
,UINT
);
735 BOOL VFWAPI
ICRemove(DWORD
,DWORD
,UINT
);
736 LRESULT VFWAPI
ICGetInfo(HIC
,ICINFO
*,DWORD
);
737 HIC VFWAPI
ICOpen(DWORD
,DWORD
,UINT
);
738 HIC VFWAPI
ICOpenFunction(DWORD
,DWORD
,UINT
,FARPROC
);
739 LRESULT VFWAPI
ICClose(HIC hic
);
740 HIC VFWAPI
ICLocate(DWORD
,DWORD
,LPBITMAPINFOHEADER
,LPBITMAPINFOHEADER
,WORD
);
741 HIC VFWAPI
ICGetDisplayFormat(HIC
,LPBITMAPINFOHEADER
,LPBITMAPINFOHEADER
,INT
,INT
,INT
);
742 DWORD VFWAPIV
ICDrawBegin(HIC
,DWORD
,HPALETTE
,HWND
,HDC
,INT
,INT
,INT
,INT
,LPBITMAPINFOHEADER
,INT
,INT
,INT
,INT
,DWORD
,DWORD
);
743 DWORD VFWAPIV
ICDraw(HIC
,DWORD
,LPVOID
,LPVOID
,DWORD
,LONG
);
744 BOOL VFWAPI
ICCompressorChoose(HWND
,UINT
,LPVOID
,LPVOID
,PCOMPVARS
,LPSTR
);
745 BOOL VFWAPI
ICSeqCompressFrameStart(PCOMPVARS
,LPBITMAPINFO
);
746 void VFWAPI
ICSeqCompressFrameEnd(PCOMPVARS
);
747 LPVOID VFWAPI
ICSeqCompressFrame(PCOMPVARS
,UINT
,LPVOID
,BOOL
*,LONG
*);
748 void VFWAPI
ICCompressorFree(PCOMPVARS
);
749 #if !defined (_OBJC_NO_COM)
750 ULONG WINAPI
AVIStreamAddRef(PAVISTREAM
);
751 ULONG WINAPI
AVIStreamRelease(PAVISTREAM
);
752 HRESULT WINAPI
AVIStreamCreate(PAVISTREAM
*,LONG
,LONG
,CLSID
*);
753 HRESULT WINAPI
AVIStreamInfoA(PAVISTREAM
,AVISTREAMINFOA
*,LONG
);
754 HRESULT WINAPI
AVIStreamInfoW(PAVISTREAM
,AVISTREAMINFOW
*,LONG
);
755 HRESULT WINAPI
AVIStreamFindSample(PAVISTREAM
,LONG
,DWORD
);
756 HRESULT WINAPI
AVIStreamReadFormat(PAVISTREAM
,LONG
,LPVOID
,LONG
*);
757 HRESULT WINAPI
AVIStreamSetFormat(PAVISTREAM
,LONG
,LPVOID
,LONG
);
758 HRESULT WINAPI
AVIStreamRead(PAVISTREAM
,LONG
,LONG
,LPVOID
,LONG
,LONG
*,LONG
*);
759 HRESULT WINAPI
AVIStreamWrite(PAVISTREAM
,LONG
,LONG
,LPVOID
,LONG
,DWORD
,LONG
*,LONG
*);
760 HRESULT WINAPI
AVIStreamReadData(PAVISTREAM
,DWORD
,LPVOID
,LONG
*);
761 HRESULT WINAPI
AVIStreamWriteData(PAVISTREAM
,DWORD
,LPVOID
,LONG
);
762 PGETFRAME WINAPI
AVIStreamGetFrameOpen(PAVISTREAM
,LPBITMAPINFOHEADER
);
763 LPVOID WINAPI
AVIStreamGetFrame(PGETFRAME
,LONG
);
764 HRESULT WINAPI
AVIStreamGetFrameClose(PGETFRAME
);
765 HRESULT WINAPI
AVIMakeCompressedStream(PAVISTREAM
*,PAVISTREAM
,AVICOMPRESSOPTIONS
*,CLSID
*);
766 HRESULT WINAPI
AVIMakeFileFromStreams(PAVIFILE
*,INT
,PAVISTREAM
*);
767 HRESULT WINAPI
AVIStreamOpenFromFileA(PAVISTREAM
*,LPCSTR
,DWORD
,LONG
,UINT
,CLSID
*);
768 HRESULT WINAPI
AVIStreamOpenFromFileW(PAVISTREAM
*,LPCWSTR
,DWORD
,LONG
,UINT
,CLSID
*);
769 HRESULT WINAPI
AVIBuildFilterA(LPSTR
,LONG
,BOOL
);
770 HRESULT WINAPI
AVIBuildFilterW(LPWSTR
,LONG
,BOOL
);
771 BOOL WINAPI
AVISaveOptions(HWND
,UINT
,INT
,PAVISTREAM
*,LPAVICOMPRESSOPTIONS
*);
772 HRESULT WINAPI
AVISaveOptionsFree(INT
,LPAVICOMPRESSOPTIONS
*);
773 HRESULT WINAPI
AVISaveVA(LPCSTR
,CLSID
*,AVISAVECALLBACK
,INT
,PAVISTREAM
*,LPAVICOMPRESSOPTIONS
*);
774 HRESULT WINAPI
AVISaveVW(LPCWSTR
,CLSID
*,AVISAVECALLBACK
,INT
,PAVISTREAM
*,LPAVICOMPRESSOPTIONS
*);
775 LONG WINAPI
AVIStreamStart(PAVISTREAM
);
776 LONG WINAPI
AVIStreamLength(PAVISTREAM
);
777 LONG WINAPI
AVIStreamSampleToTime(PAVISTREAM
,LONG
);
778 LONG WINAPI
AVIStreamTimeToSample(PAVISTREAM
,LONG
);
779 HRESULT WINAPI
CreateEditableStream(PAVISTREAM
*,PAVISTREAM
);
780 HRESULT WINAPI
EditStreamClone(PAVISTREAM
,PAVISTREAM
*);
781 HRESULT WINAPI
EditStreamCopy(PAVISTREAM
,LONG
*,LONG
*,PAVISTREAM
*);
782 HRESULT WINAPI
EditStreamCut(PAVISTREAM
,LONG
*,LONG
*,PAVISTREAM
*);
783 HRESULT WINAPI
EditStreamPaste(PAVISTREAM
,LONG
*,LONG
*,PAVISTREAM
,LONG
,LONG
);
784 HRESULT WINAPI
EditStreamSetInfoA(PAVISTREAM
,LPAVISTREAMINFOA
,LONG
);
785 HRESULT WINAPI
EditStreamSetInfoW(PAVISTREAM
,LPAVISTREAMINFOW
,LONG
);
786 HRESULT WINAPI
EditStreamSetNameA(PAVISTREAM
,LPCSTR
);
787 HRESULT WINAPI
EditStreamSetNameW(PAVISTREAM
,LPCWSTR
);
788 HRESULT WINAPI
CreateEditableStream(PAVISTREAM
*,PAVISTREAM
);
789 HRESULT WINAPI
EditStreamClone(PAVISTREAM
,PAVISTREAM
*);
790 HRESULT WINAPI
EditStreamCopy(PAVISTREAM
,LONG
*,LONG
*,PAVISTREAM
*);
791 HRESULT WINAPI
EditStreamCut(PAVISTREAM
,LONG
*,LONG
*,PAVISTREAM
*);
792 HRESULT WINAPI
EditStreamPaste(PAVISTREAM
,LONG
*,LONG
*,PAVISTREAM
,LONG
,LONG
);
793 HRESULT WINAPI
EditStreamSetInfoA(PAVISTREAM
,LPAVISTREAMINFOA
,LONG
);
794 HRESULT WINAPI
EditStreamSetInfoW(PAVISTREAM
,LPAVISTREAMINFOW
,LONG
);
795 HRESULT WINAPI
EditStreamSetNameA(PAVISTREAM
,LPCSTR
);
796 HRESULT WINAPI
EditStreamSetNameW(PAVISTREAM
,LPCWSTR
);
797 VOID WINAPI
AVIFileInit(void);
798 VOID WINAPI
AVIFileExit(void);
799 HRESULT WINAPI
AVIFileOpenA(PAVIFILE
*,LPCSTR
,UINT
,LPCLSID
);
800 HRESULT WINAPI
AVIFileOpenW(PAVIFILE
*,LPCWSTR
,UINT
,LPCLSID
);
801 ULONG WINAPI
AVIFileAddRef(PAVIFILE
);
802 ULONG WINAPI
AVIFileRelease(PAVIFILE
);
803 HRESULT WINAPI
AVIFileInfoA(PAVIFILE
,PAVIFILEINFOA
,LONG
);
804 HRESULT WINAPI
AVIFileInfoW(PAVIFILE
,PAVIFILEINFOW
,LONG
);
805 HRESULT WINAPI
AVIFileGetStream(PAVIFILE
,PAVISTREAM
*,DWORD
,LONG
);
806 HRESULT WINAPI
AVIFileCreateStreamA(PAVIFILE
,PAVISTREAM
*,AVISTREAMINFOA
*);
807 HRESULT WINAPI
AVIFileCreateStreamW(PAVIFILE
,PAVISTREAM
*,AVISTREAMINFOW
*);
808 HRESULT WINAPI
AVIFileWriteData(PAVIFILE
,DWORD
,LPVOID
,LONG
);
809 HRESULT WINAPI
AVIFileReadData(PAVIFILE
,DWORD
,LPVOID
,LPLONG
);
810 HRESULT WINAPI
AVIFileEndRecord(PAVIFILE
);
811 HRESULT WINAPI
AVIClearClipboard(VOID
);
812 HRESULT WINAPI
AVIGetFromClipboard(PAVIFILE
*);
813 HRESULT WINAPI
AVIPutFileOnClipboard(PAVIFILE
);
814 #endif /* _OBJC_NO_COM */
816 BOOL WINAPI
GetOpenFileNamePreviewA(LPOPENFILENAMEA
);
817 BOOL WINAPI
GetOpenFileNamePreviewW(LPOPENFILENAMEW
);
818 BOOL WINAPI
GetSaveFileNamePreviewA(LPOPENFILENAMEA
);
819 BOOL WINAPI
GetSaveFileNamePreviewW(LPOPENFILENAMEW
);
821 HWND VFWAPIV
MCIWndCreateA(HWND
,HINSTANCE
,DWORD
,LPCSTR
);
822 HWND VFWAPIV
MCIWndCreateW(HWND
,HINSTANCE
,DWORD
,LPCWSTR
);
823 HDRAWDIB VFWAPI
DrawDibOpen(VOID
);
824 UINT VFWAPI
DrawDibRealize(HDRAWDIB
,HDC
,BOOL
);
825 BOOL VFWAPI
DrawDibBegin(HDRAWDIB
,HDC
,INT
,INT
,LPBITMAPINFOHEADER
,INT
,INT
,UINT
);
826 BOOL VFWAPI
DrawDibDraw(HDRAWDIB
,HDC
,INT
,INT
,INT
,INT
,LPBITMAPINFOHEADER
,LPVOID
,INT
,INT
,INT
,INT
,UINT
);
827 BOOL VFWAPI
DrawDibSetPalette(HDRAWDIB
,HPALETTE
);
828 HPALETTE VFWAPI
DrawDibGetPalette(HDRAWDIB
);
829 BOOL VFWAPI
DrawDibChangePalette(HDRAWDIB
,int,int,LPPALETTEENTRY
);
830 LPVOID VFWAPI
DrawDibGetBuffer(HDRAWDIB
,LPBITMAPINFOHEADER
,DWORD
,DWORD
);
831 BOOL VFWAPI
DrawDibStart(HDRAWDIB
,DWORD
);
832 BOOL VFWAPI
DrawDibStop(HDRAWDIB
);
833 BOOL VFWAPI
DrawDibEnd(HDRAWDIB
);
834 BOOL VFWAPI
DrawDibClose(HDRAWDIB
);
835 DWORD VFWAPI
DrawDibProfileDisplay(LPBITMAPINFOHEADER
);
837 #define ICCompressGetFormat(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_GET_FORMAT,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
838 #define ICCompressGetFormatSize(hic,lpbi) ICCompressGetFormat(hic,lpbi,NULL)
839 #define ICCompressBegin(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_BEGIN,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
840 #define ICCompressGetSize(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_GET_SIZE,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
841 #define ICCompressQuery(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_COMPRESS_QUERY,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
842 #define ICCompressEnd(hic) ICSendMessage(hic,ICM_COMPRESS_END,0,0)
843 #define ICQueryAbout(hic) (ICSendMessage(hic,ICM_ABOUT,(DWORD)-1,ICMF_ABOUT_QUERY)==ICERR_OK)
844 #define ICAbout(hic,hwnd) ICSendMessage(hic,ICM_ABOUT,(DWORD)(hwnd),0)
845 #define ICQueryConfigure(hic) (ICSendMessage(hic,ICM_CONFIGURE,(DWORD)-1,ICMF_CONFIGURE_QUERY)==ICERR_OK)
846 #define ICConfigure(hic,hwnd) ICSendMessage(hic,ICM_CONFIGURE,(DWORD)(hwnd),0)
847 #define ICDecompressBegin(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_BEGIN,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
848 #define ICDecompressQuery(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_QUERY,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
849 #define ICDecompressGetFormat(hic,lpbiInput,lpbiOutput) (LONG)ICSendMessage(hic,ICM_DECOMPRESS_GET_FORMAT,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
850 #define ICDecompressGetFormatSize(hic,lpbi) ICDecompressGetFormat(hic, lpbi, NULL)
851 #define ICDecompressGetPalette(hic,lpbiInput,lpbiOutput) ICSendMessage(hic,ICM_DECOMPRESS_GET_PALETTE,(DWORD)(lpbiInput),(DWORD)(lpbiOutput))
852 #define ICDecompressSetPalette(hic,lpbiPalette) ICSendMessage(hic,ICM_DECOMPRESS_SET_PALETTE,(DWORD)(lpbiPalette),0)
853 #define ICDecompressEnd(hic) ICSendMessage(hic,ICM_DECOMPRESS_END,0,0)
854 #define ICDecompressExEnd(hic) ICSendMessage(hic,ICM_DECOMPRESSEX_END,0,0)
855 #define ICDecompressOpen(fccType,fccHandler,lpbiIn,lpbiOut) ICLocate(fccType,fccHandler,lpbiIn,lpbiOut,ICMODE_DECOMPRESS)
856 #define ICDrawOpen(fccType,fccHandler,lpbiIn) ICLocate(fccType,fccHandler,lpbiIn,NULL,ICMODE_DRAW)
857 #define ICGetState(hic,pv,cb) ICSendMessage(hic,ICM_GETSTATE,(DWORD)(pv),(DWORD)(cb))
858 #define ICSetState(hic,pv,cb) ICSendMessage(hic,ICM_SETSTATE,(DWORD)(pv),(DWORD)(cb))
859 #define ICGetStateSize(hic) ICGetState(hic,NULL,0)
860 #define ICDrawWindow(hic,prc) ICSendMessage(hic,ICM_DRAW_WINDOW,(DWORD)(prc),sizeof(RECT))
861 #define ICDrawQuery(hic,lpbiInput) ICSendMessage(hic,ICM_DRAW_QUERY,(DWORD)(lpbiInput),0)
862 #define ICDrawChangePalette(hic,lpbiInput) ICSendMessage(hic,ICM_DRAW_CHANGEPALETTE,(DWORD)(lpbiInput),0)
863 #define ICGetBuffersWanted(hic,lpdwBuffers) ICSendMessage(hic,ICM_GETBUFFERSWANTED,(DWORD)(lpdwBuffers),0)
864 #define ICDrawEnd(hic) ICSendMessage(hic,ICM_DRAW_END,0,0)
865 #define ICDrawStart(hic) ICSendMessage(hic,ICM_DRAW_START,0,0)
866 #define ICDrawStartPlay(hic,lFrom,lTo) ICSendMessage(hic,ICM_DRAW_START_PLAY,(DWORD)(lFrom),(DWORD)(lTo))
867 #define ICDrawStop(hic) ICSendMessage(hic,ICM_DRAW_STOP,0,0)
868 #define ICDrawStopPlay(hic) ICSendMessage(hic,ICM_DRAW_STOP_PLAY,0,0)
869 #define ICDrawGetTime(hic,lplTime) ICSendMessage(hic,ICM_DRAW_GETTIME,(DWORD)(lplTime),0)
870 #define ICDrawSetTime(hic,lTime) ICSendMessage(hic,ICM_DRAW_SETTIME,(DWORD)lTime,0)
871 #define ICDrawRealize(hic,hdc,fBackground) ICSendMessage(hic,ICM_DRAW_REALIZE,(DWORD)(hdc),(DWORD)(fBackground))
872 #define ICDrawFlush(hic) ICSendMessage(hic,ICM_DRAW_FLUSH,0,0)
873 #define ICDrawRenderBuffer(hic) ICSendMessage(hic,ICM_DRAW_RENDERBUFFER,0,0)
874 #define AVIFileClose(pavi) AVIFileRelease(pavi)
875 #define AVIStreamClose(pavi) AVIStreamRelease(pavi);
876 #define AVIStreamEnd(pavi) (AVIStreamStart(pavi)+AVIStreamLength(pavi))
877 #define AVIStreamEndTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamEnd(pavi))
878 #define AVIStreamFormatSize(pavi,lPos,plSize) AVIStreamReadFormat(pavi,lPos,NULL,plSize)
879 #define AVIStreamLengthTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamLength(pavi))
880 #define AVIStreamSampleSize(pavi,pos,psize) AVIStreamRead(pavi,pos,1,NULL,0,psize,NULL)
881 #define AVIStreamSampleToSample(pavi1,pavi2,samp2) AVIStreamTimeToSample(pavi1,AVIStreamSampleToTime(pavi2,samp2))
882 #define AVIStreamStartTime(pavi) AVIStreamSampleToTime(pavi,AVIStreamStart(pavi))
883 #define AVIStreamNextSample(pavi,pos) AVIStreamFindSample(pavi,pos+1,FIND_NEXT|FIND_ANY)
884 #define AVIStreamPrevSample(pavi,pos) AVIStreamFindSample(pavi,pos-1,FIND_PREV|FIND_ANY)
885 #define AVIStreamNearestSample(pavi, pos) AVIStreamFindSample(pavi,pos,FIND_PREV|FIND_ANY)
886 #define AVStreamNextKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos+1,FIND_NEXT|FIND_KEY)
887 #define AVStreamPrevKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos-1,FIND_NEXT|FIND_KEY)
888 #define AVIStreamNearestKeyFrame(pavi,pos) AVIStreamFindSample(pavi,pos,FIND_PREV|FIND_KEY)
889 #define AVIStreamIsKeyFrame(pavi, pos) (AVIStreamNearestKeyFrame(pavi,pos) == pos)
891 #define MCIWndSM ::SendMessage
893 #define MCIWndSM SendMessage
895 #define MCIWndCanPlay(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_PLAY,0,0)
896 #define MCIWndCanRecord(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_RECORD,0,0)
897 #define MCIWndCanSave(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_SAVE,0,0)
898 #define MCIWndCanWindow(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_WINDOW,0,0)
899 #define MCIWndCanEject(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_EJECT,0,0)
900 #define MCIWndCanConfig(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_CAN_CONFIG,0,0)
901 #define MCIWndPaletteKick(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_PALETTEKICK,0,0)
902 #define MCIWndSave(hWnd,szFile) (LONG)MCIWndSM(hWnd,MCI_SAVE,0,(LPARAM)(LPVOID)(szFile))
903 #define MCIWndSaveDialog(hWnd) MCIWndSave(hWnd,-1)
904 #define MCIWndNew(hWnd,lp) (LONG)MCIWndSM(hWnd,MCIWNDM_NEW,0,(LPARAM)(LPVOID)(lp))
905 #define MCIWndRecord(hWnd) (LONG)MCIWndSM(hWnd,MCI_RECORD,0,0)
906 #define MCIWndOpen(hWnd,sz,f) (LONG)MCIWndSM(hWnd,MCIWNDM_OPEN,(WPARAM)(UINT)(f),(LPARAM)(LPVOID)(sz))
907 #define MCIWndOpenDialog(hWnd) MCIWndOpen(hWnd,-1,0)
908 #define MCIWndClose(hWnd) (LONG)MCIWndSM(hWnd,MCI_CLOSE,0,0)
909 #define MCIWndPlay(hWnd) (LONG)MCIWndSM(hWnd,MCI_PLAY,0,0)
910 #define MCIWndStop(hWnd) (LONG)MCIWndSM(hWnd,MCI_STOP,0,0)
911 #define MCIWndPause(hWnd) (LONG)MCIWndSM(hWnd,MCI_PAUSE,0,0)
912 #define MCIWndResume(hWnd) (LONG)MCIWndSM(hWnd,MCI_RESUME,0,0)
913 #define MCIWndSeek(hWnd,lPos) (LONG)MCIWndSM(hWnd,MCI_SEEK,0,(LPARAM)(LONG)(lPos))
914 #define MCIWndEject(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_EJECT,0,0)
915 #define MCIWndHome(hWnd) MCIWndSeek(hWnd,MCIWND_START)
916 #define MCIWndEnd(hWnd) MCIWndSeek(hWnd,MCIWND_END)
917 #define MCIWndGetSource(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_GET_SOURCE,0,(LPARAM)(LPRECT)(prc))
918 #define MCIWndPutSource(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_PUT_SOURCE,0,(LPARAM)(LPRECT)(prc))
919 #define MCIWndGetDest(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_GET_DEST,0,(LPARAM)(LPRECT)(prc))
920 #define MCIWndPutDest(hWnd,prc) (LONG)MCIWndSM(hWnd,MCIWNDM_PUT_DEST,0,(LPARAM)(LPRECT)(prc))
921 #define MCIWndPlayReverse(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_PLAYREVERSE,0,0)
922 #define MCIWndPlayFrom(hWnd,lPos) (LONG)MCIWndSM(hWnd,MCIWNDM_PLAYFROM,0,(LPARAM)(LONG)(lPos))
923 #define MCIWndPlayTo(hWnd,lPos) (LONG)MCIWndSM(hWnd,MCIWNDM_PLAYTO, 0,(LPARAM)(LONG)(lPos))
924 #define MCIWndPlayFromTo(hWnd,lStart,lEnd) (MCIWndSeek(hWnd,lStart),MCIWndPlayTo(hWnd,lEnd))
925 #define MCIWndGetDeviceID(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETDEVICEID,0,0)
926 #define MCIWndGetAlias(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETALIAS,0,0)
927 #define MCIWndGetMode(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETMODE,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp))
928 #define MCIWndGetPosition(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETPOSITION,0,0)
929 #define MCIWndGetPositionString(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETPOSITION,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp))
930 #define MCIWndGetStart(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETSTART,0,0)
931 #define MCIWndGetLength(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETLENGTH,0,0)
932 #define MCIWndGetEnd(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETEND,0,0)
933 #define MCIWndStep(hWnd,n) (LONG)MCIWndSM(hWnd,MCI_STEP,0,(LPARAM)(long)(n))
934 #define MCIWndDestroy(hWnd) (VOID)MCIWndSM(hWnd,WM_CLOSE,0,0)
935 #define MCIWndSetZoom(hWnd,iZoom) (VOID)MCIWndSM(hWnd,MCIWNDM_SETZOOM,0,(LPARAM)(UINT)(iZoom))
936 #define MCIWndGetZoom(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETZOOM,0,0)
937 #define MCIWndSetVolume(hWnd,iVol) (LONG)MCIWndSM(hWnd,MCIWNDM_SETVOLUME,0,(LPARAM)(UINT)(iVol))
938 #define MCIWndGetVolume(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETVOLUME,0,0)
939 #define MCIWndSetSpeed(hWnd,iSpeed) (LONG)MCIWndSM(hWnd,MCIWNDM_SETSPEED,0,(LPARAM)(UINT)(iSpeed))
940 #define MCIWndGetSpeed(hWnd) (LONG)MCIWndSM(hWnd,MCIWNDM_GETSPEED,0,0)
941 #define MCIWndSetTimeFormat(hWnd,lp) (LONG)MCIWndSM(hWnd,MCIWNDM_SETTIMEFORMAT,0,(LPARAM)(LPTSTR)(lp))
942 #define MCIWndGetTimeFormat(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETTIMEFORMAT,(WPARAM)(UINT)(len),(LPARAM)(LPTSTR)(lp))
943 #define MCIWndValidateMedia(hWnd) (VOID)MCIWndSM(hWnd,MCIWNDM_VALIDATEMEDIA,0,0)
944 #define MCIWndSetRepeat(hWnd,f) (void)MCIWndSM(hWnd,MCIWNDM_SETREPEAT,0,(LPARAM)(BOOL)(f))
945 #define MCIWndGetRepeat(hWnd) (BOOL)MCIWndSM(hWnd,MCIWNDM_GETREPEAT,0,0)
946 #define MCIWndUseFrames(hWnd) MCIWndSetTimeFormat(hWnd,TEXT("frames"))
947 #define MCIWndUseTime(hWnd) MCIWndSetTimeFormat(hWnd,TEXT("ms"))
948 #define MCIWndSetActiveTimer(hWnd,active) (VOID)MCIWndSM(hWnd,MCIWNDM_SETACTIVETIMER,(WPARAM)(UINT)(active),0L)
949 #define MCIWndSetInactiveTimer(hWnd,inactive) (VOID)MCIWndSM(hWnd,MCIWNDM_SETINACTIVETIMER,(WPARAM)(UINT)(inactive),0L)
950 #define MCIWndSetTimers(hWnd,active,inactive) (VOID)MCIWndSM(hWnd,MCIWNDM_SETTIMERS,(WPARAM)(UINT)(active),(LPARAM)(UINT)(inactive))
951 #define MCIWndGetActiveTimer(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETACTIVETIMER,0,0L);
952 #define MCIWndGetInactiveTimer(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETINACTIVETIMER,0,0L);
953 #define MCIWndRealize(hWnd,fBkgnd) (LONG)MCIWndSM(hWnd,MCIWNDM_REALIZE,(WPARAM)(BOOL)(fBkgnd),0)
954 #define MCIWndSendString(hWnd,sz) (LONG)MCIWndSM(hWnd,MCIWNDM_SENDSTRING,0,(LPARAM)(LPTSTR)(sz))
955 #define MCIWndReturnString(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_RETURNSTRING,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp))
956 #define MCIWndGetError(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETERROR,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp))
957 #define MCIWndGetPalette(hWnd) (HPALETTE)MCIWndSM(hWnd,MCIWNDM_GETPALETTE,0,0)
958 #define MCIWndSetPalette(hWnd,hpal) (LONG)MCIWndSM(hWnd,MCIWNDM_SETPALETTE,(WPARAM)(HPALETTE)(hpal),0)
959 #define MCIWndGetFileName(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETFILENAME,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp))
960 #define MCIWndGetDevice(hWnd,lp,len) (LONG)MCIWndSM(hWnd,MCIWNDM_GETDEVICE,(WPARAM)(UINT)(len),(LPARAM)(LPVOID)(lp))
961 #define MCIWndGetStyles(hWnd) (UINT)MCIWndSM(hWnd,MCIWNDM_GETSTYLES,0,0L)
962 #define MCIWndChangeStyles(hWnd,mask,value) (LONG)MCIWndSM(hWnd,MCIWNDM_CHANGESTYLES,(WPARAM)(UINT)(mask),(LPARAM)(LONG)(value))
963 #define MCIWndOpenInterface(hWnd,pUnk) (LONG)MCIWndSM(hWnd,MCIWNDM_OPENINTERFACE,0,(LPARAM)(LPUNKNOWN)(pUnk))
964 #define MCIWndSetOwner(hWnd,hWndP) (LONG)MCIWndSM(hWnd,MCIWNDM_SETOWNER,(WPARAM)(hWndP),0)
965 #define DrawDibUpdate(hdd,hdc,x,y) DrawDibDraw(hdd,hdc,x,y,0,0,NULL,NULL,0,0,0,0,DDF_UPDATE)
966 static __inline DWORD
967 ICGetDefaultQuality(HIC hic
)
970 ICSendMessage(hic
, ICM_GETDEFAULTQUALITY
, (DWORD
)(LPVOID
)&dwICValue
, sizeof(DWORD
));
973 static __inline DWORD
974 ICGetDefaultKeyFrameRate(HIC hic
)
977 ICSendMessage(hic
, ICM_GETDEFAULTKEYFRAMERATE
, (DWORD
)(LPVOID
)&dwICValue
, sizeof(DWORD
));
980 static __inline LRESULT
981 ICDrawSuggestFormat(HIC hic
,LPBITMAPINFOHEADER lpbiIn
,LPBITMAPINFOHEADER lpbiOut
,INT dxSrc
,INT dySrc
,INT dxDst
,INT dyDst
,HIC hicDecomp
)
985 ic
.lpbiSuggest
= lpbiOut
;
990 ic
.hicDecompressor
= hicDecomp
;
991 return ICSendMessage(hic
,ICM_DRAW_SUGGESTFORMAT
,(DWORD
)&ic
,sizeof(ic
));
993 static __inline LRESULT
994 ICSetStatusProc(HIC hic
,DWORD dwFlags
,LRESULT lParam
,LONG (CALLBACK
*fpfnStatus
)(LPARAM
,UINT
,LONG
))
997 ic
.dwFlags
= dwFlags
;
999 ic
.Status
= fpfnStatus
;
1000 return ICSendMessage(hic
,ICM_SET_STATUS_PROC
,(DWORD
)&ic
,sizeof(ic
));
1002 static __inline LRESULT
1003 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
)
1006 ic
.dwFlags
= dwFlags
;
1007 ic
.lpbiSrc
= lpbiSrc
;
1013 ic
.lpbiDst
= lpbiDst
;
1019 return ICSendMessage(hic
,ICM_DECOMPRESSEX
,(DWORD
)&ic
,sizeof(ic
));
1021 static __inline LRESULT
1022 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
)
1025 ic
.dwFlags
= dwFlags
;
1026 ic
.lpbiSrc
= lpbiSrc
;
1032 ic
.lpbiDst
= lpbiDst
;
1038 return ICSendMessage(hic
,ICM_DECOMPRESSEX_BEGIN
,(DWORD
)&ic
,sizeof(ic
));
1040 static __inline LRESULT
1041 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
)
1044 ic
.dwFlags
= dwFlags
;
1045 ic
.lpbiSrc
= lpbiSrc
;
1051 ic
.lpbiDst
= lpbiDst
;
1057 return ICSendMessage(hic
,ICM_DECOMPRESSEX_QUERY
,(DWORD
)&ic
,sizeof(ic
));
1060 /* AVICAP32 exports */
1061 HWND VFWAPI
capCreateCaptureWindowA (LPCSTR
,DWORD
,int,int,int,int,HWND
,int);
1062 HWND VFWAPI
capCreateCaptureWindowW (LPCWSTR
,DWORD
,int,int,int,int,HWND
,int);
1063 BOOL VFWAPI
capGetDriverDescriptionA (UINT
,LPSTR
,int,LPSTR
,int);
1064 BOOL VFWAPI
capGetDriverDescriptionW (UINT
,LPWSTR
,int,LPWSTR
,int);
1067 #define AVISTREAMINFO AVISTREAMINFOW
1068 #define LPAVISTREAMINFO LPAVISTREAMINFOW
1069 #define PAVISTREAMINFO PAVISTREAMINFOW
1070 #define AVIFILEINFO AVIFILEINFOW
1071 #define PAVIFILEINFO PAVIFILEINFOW
1072 #define LPAVIFILEINFO LPAVIFILEINFOW
1073 #define AVIStreamInfo AVIStreamInfoW
1074 #define AVIStreamOpenFromFile AVIStreamOpenFromFileW
1075 #define AVIBuildFilter AVIBuildFilterW
1076 #define AVISaveV AVISaveVW
1077 #define EditStreamSetInfo EditStreamSetInfoW
1078 #define EditStreamSetName EditStreamSetNameW
1079 #define AVIFileOpen AVIFileOpenW
1080 #define AVIFileInfo AVIFileInfoW
1081 #define AVIFileCreateStream AVIFileCreateStreamW
1082 #define GetOpenFileNamePreview GetOpenFileNamePreviewW
1083 #define GetSaveFileNamePreview GetSaveFileNamePreviewW
1084 #define MCIWndCreate MCIWndCreateW
1085 #define MCIWNDF_NOTIFYMEDIA MCIWNDF_NOTIFYMEDIAW
1086 #define MCIWNDM_SENDSTRING MCIWNDM_SENDSTRINGW
1087 #define MCIWNDM_GETPOSITION MCIWNDM_GETPOSITIONW
1088 #define MCIWNDM_GETMODE MCIWNDM_GETMODEW
1089 #define MCIWNDM_SETTIMEFORMAT MCIWNDM_SETTIMEFORMATW
1090 #define MCIWNDM_GETTIMEFORMAT MCIWNDM_GETTIMEFORMATW
1091 #define MCIWNDM_GETFILENAME MCIWNDM_GETFILENAMEW
1092 #define MCIWNDM_GETDEVICE MCIWNDM_GETDEVICEW
1093 #define MCIWNDM_GETERROR MCIWNDM_GETERRORW
1094 #define MCIWNDM_NEW MCIWNDM_NEWW
1095 #define MCIWNDM_RETURNSTRING MCIWNDM_RETURNSTRINGW
1096 #define MCIWNDM_OPEN MCIWNDM_OPENW
1098 #define capCreateCaptureWindow capCreateCaptureWindowW
1099 #define capGetDriverDescription capGetDriverDescriptionW
1102 #define AVISTREAMINFO AVISTREAMINFOA
1103 #define LPAVISTREAMINFO LPAVISTREAMINFOA
1104 #define PAVISTREAMINFO PAVISTREAMINFOA
1105 #define AVIFILEINFO AVIFILEINFOA
1106 #define PAVIFILEINFO PAVIFILEINFOA
1107 #define LPAVIFILEINFO LPAVIFILEINFOA
1108 #define AVIStreamInfo AVIStreamInfoA
1109 #define AVIStreamOpenFromFile AVIStreamOpenFromFileA
1110 #define AVIBuildFilter AVIBuildFilterA
1111 #define AVISaveV AVISaveVA
1112 #define EditStreamSetInfo EditStreamSetInfoA
1113 #define EditStreamSetName EditStreamSetNameA
1114 #define AVIFileOpen AVIFileOpenA
1115 #define AVIFileInfo AVIFileInfoA
1116 #define AVIFileCreateStream AVIFileCreateStreamA
1117 #define GetOpenFileNamePreview GetOpenFileNamePreviewA
1118 #define GetSaveFileNamePreview GetSaveFileNamePreviewA
1119 #define MCIWndCreate MCIWndCreateA
1120 #define MCIWNDF_NOTIFYMEDIA MCIWNDF_NOTIFYMEDIAA
1121 #define MCIWNDM_SENDSTRING MCIWNDM_SENDSTRINGA
1122 #define MCIWNDM_GETPOSITION MCIWNDM_GETPOSITIONA
1123 #define MCIWNDM_GETMODE MCIWNDM_GETMODEA
1124 #define MCIWNDM_SETTIMEFORMAT MCIWNDM_SETTIMEFORMATA
1125 #define MCIWNDM_GETTIMEFORMAT MCIWNDM_GETTIMEFORMATA
1126 #define MCIWNDM_GETFILENAME MCIWNDM_GETFILENAMEA
1127 #define MCIWNDM_GETDEVICE MCIWNDM_GETDEVICEA
1128 #define MCIWNDM_GETERROR MCIWNDM_GETERRORA
1129 #define MCIWNDM_NEW MCIWNDM_NEWA
1130 #define MCIWNDM_RETURNSTRING MCIWNDM_RETURNSTRINGA
1131 #define MCIWNDM_OPEN MCIWNDM_OPENA
1133 #define capCreateCaptureWindow capCreateCaptureWindowA
1134 #define capGetDriverDescription capGetDriverDescriptionA
1138 #endif /* RC_INVOKED */
1143 #include <poppack.h>