⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vfw.h

📁 MinGW+MSYS开发必用的api参考
💻 H
📖 第 1 页 / 共 3 页
字号:
#ifndef _VFW_H#define _VFW_H#if __GNUC__ >= 3#pragma GCC system_header#endif#ifndef _WINDOWS_H#include <windows.h>#endif#ifndef _MMSYSTEM_H#include <mmsystem.h>#endif#if !defined  (_OLE2_H) && !defined (_OBJC_NO_COM)#include <ole2.h>#endif#define VFWAPI WINAPI#define VFWAPIV WINAPIV#include <pshpack8.h>#ifdef __cplusplusextern "C" {#endif#define	ICERR_OK	0#define	ICERR_DONTDRAW	1#define	ICERR_NEWPALETTE	2#define	ICERR_GOTOKEYFRAME	3#define	ICERR_STOPDRAWING	4#define	ICERR_UNSUPPORTED	-1#define	ICERR_BADFORMAT	-2#define	ICERR_MEMORY	-3#define	ICERR_INTERNAL	-4#define	ICERR_BADFLAGS	-5#define	ICERR_BADPARAM	-6#define	ICERR_BADSIZE	-7#define	ICERR_BADHANDLE	-8#define	ICERR_CANTUPDATE	-9#define	ICERR_ABORT	-10#define	ICERR_ERROR	-100#define	ICERR_BADBITDEPTH	-200#define	ICERR_BADIMAGESIZE	-201#define	ICERR_CUSTOM	-400#define ICCOMPRESSFRAMES_PADDING	0x01#define	ICM_USER	(DRV_USER+0x0000)#define	ICM_RESERVED_LOW	(DRV_USER+0x1000)#define	ICM_RESERVED_HIGH	(DRV_USER+0x2000)#define	ICM_RESERVED	ICM_RESERVED_LOW#define	ICM_GETSTATE	(ICM_RESERVED+0)#define	ICM_SETSTATE	(ICM_RESERVED+1)#define	ICM_GETINFO	(ICM_RESERVED+2)#define	ICM_CONFIGURE	(ICM_RESERVED+10)#define	ICM_ABOUT	(ICM_RESERVED+11)#define	ICM_GETDEFAULTQUALITY	(ICM_RESERVED+30)#define	ICM_GETQUALITY	(ICM_RESERVED+31)#define	ICM_SETQUALITY	(ICM_RESERVED+32)#define	ICM_SET	(ICM_RESERVED+40)#define	ICM_GET	(ICM_RESERVED+41)#define ICM_FRAMERATE	mmioFOURCC('F','r','m','R')#define ICM_KEYFRAMERATE	mmioFOURCC('K','e','y','R')#define	ICM_COMPRESS_GET_FORMAT	(ICM_USER+4)#define	ICM_COMPRESS_GET_SIZE	(ICM_USER+5)#define	ICM_COMPRESS_QUERY	(ICM_USER+6)#define	ICM_COMPRESS_BEGIN	(ICM_USER+7)#define	ICM_COMPRESS	(ICM_USER+8)#define	ICM_COMPRESS_END	(ICM_USER+9)#define	ICM_DECOMPRESS_GET_FORMAT	(ICM_USER+10)#define	ICM_DECOMPRESS_QUERY	(ICM_USER+11)#define	ICM_DECOMPRESS_BEGIN	(ICM_USER+12)#define	ICM_DECOMPRESS	(ICM_USER+13)#define	ICM_DECOMPRESS_END	(ICM_USER+14)#define	ICM_DECOMPRESS_SET_PALETTE	(ICM_USER+29)#define	ICM_DECOMPRESS_GET_PALETTE	(ICM_USER+30)#define	ICM_DRAW_QUERY	(ICM_USER+31)#define	ICM_DRAW_BEGIN	(ICM_USER+15)#define	ICM_DRAW_GET_PALETTE	(ICM_USER+16)#define	ICM_DRAW_START	(ICM_USER+18)#define	ICM_DRAW_STOP	(ICM_USER+19)#define	ICM_DRAW_END	(ICM_USER+21)#define	ICM_DRAW_GETTIME	(ICM_USER+32)#define	ICM_DRAW	(ICM_USER+33)#define	ICM_DRAW_WINDOW	(ICM_USER+34)#define	ICM_DRAW_SETTIME	(ICM_USER+35)#define	ICM_DRAW_REALIZE	(ICM_USER+36)#define	ICM_DRAW_FLUSH	(ICM_USER+37)#define	ICM_DRAW_RENDERBUFFER	(ICM_USER+38)#define	ICM_DRAW_START_PLAY	(ICM_USER+39)#define	ICM_DRAW_STOP_PLAY	(ICM_USER+40)#define	ICM_DRAW_SUGGESTFORMAT	(ICM_USER+50)#define	ICM_DRAW_CHANGEPALETTE	(ICM_USER+51)#define	ICM_GETBUFFERSWANTED	(ICM_USER+41)#define	ICM_GETDEFAULTKEYFRAMERATE	(ICM_USER+42)#define	ICM_DECOMPRESSEX_BEGIN	(ICM_USER+60)#define	ICM_DECOMPRESSEX_QUERY	(ICM_USER+61)#define	ICM_DECOMPRESSEX	(ICM_USER+62)#define	ICM_DECOMPRESSEX_END	(ICM_USER+63)#define	ICM_COMPRESS_FRAMES_INFO	(ICM_USER+70)#define	ICM_SET_STATUS_PROC	(ICM_USER+72)#define ICMF_CONFIGURE_QUERY	0x01#define ICCOMPRESS_KEYFRAME	0x01#define ICSTATUS_START	0#define ICSTATUS_STATUS	1#define ICSTATUS_END	2#define ICSTATUS_ERROR	3#define ICSTATUS_YIELD	4#define	ICMODE_COMPRESS	1#define	ICMODE_DECOMPRESS	2#define	ICMODE_FASTDECOMPRESS	3#define	ICMODE_QUERY	4#define	ICMODE_FASTCOMPRESS	5#define	ICMODE_DRAW	8#define ICQUALITY_LOW	0#define ICQUALITY_HIGH	10000#define ICQUALITY_DEFAULT	-1#define	VIDCF_QUALITY	0x01#define	VIDCF_CRUNCH	0x02#define	VIDCF_TEMPORAL	0x04#define	VIDCF_COMPRESSFRAMES	0x08#define	VIDCF_DRAW	0x10#define	VIDCF_FASTTEMPORALC	0x20#define	VIDCF_FASTTEMPORALD	0x80#define	VIDCF_QUALITYTIME	0x40#define	VIDCF_FASTTEMPORAL	(VIDCF_FASTTEMPORALC|VIDCF_FASTTEMPORALD)#define ICMF_ABOUT_QUERY	0x01#define ICDECOMPRESS_HURRYUP	0x80000000#define ICDECOMPRESS_UPDATE	0x40000000#define ICDECOMPRESS_PREROLL	0x20000000#define ICDECOMPRESS_NULLFRAME	0x10000000#define ICDECOMPRESS_NOTKEYFRAME	0x8000000#define ICDRAW_QUERY	0x01L#define ICDRAW_FULLSCREEN	0x02L#define ICDRAW_HDC	0x04L#define ICDRAW_ANIMATE	0x08L#define ICDRAW_CONTINUE	0x10L#define ICDRAW_MEMORYDC	0x20L#define ICDRAW_UPDATING	0x40L#define ICDRAW_RENDER	0x80L#define ICDRAW_BUFFER	0x100L#define ICINSTALL_UNICODE	0x8000#define ICINSTALL_FUNCTION	0x01#define ICINSTALL_DRIVER	0x02#define ICINSTALL_HDRV	0x04#define ICINSTALL_DRIVERW	0x8002#define ICDRAW_HURRYUP	0x80000000L#define ICDRAW_UPDATE	0x40000000L#define ICDRAW_PREROLL	0x20000000L#define ICDRAW_NULLFRAME	0x10000000L#define ICDRAW_NOTKEYFRAME	0x8000000L#define ICMF_COMPVARS_VALID	0x01#define ICMF_CHOOSE_KEYFRAME	0x01#define ICMF_CHOOSE_DATARATE	0x02#define ICMF_CHOOSE_PREVIEW	0x04#define ICMF_CHOOSE_ALLCOMPRESSORS	0x08#define ICTYPE_VIDEO	mmioFOURCC('v','i','d','c')#define ICTYPE_AUDIO	mmioFOURCC('a','u','d','c')#define formtypeAVI	mmioFOURCC('A','V','I',' ')#define listtypeAVIHEADER	mmioFOURCC('h','d','r','l')#define ckidAVIMAINHDR	mmioFOURCC('a','v','i','h')#define listtypeSTREAMHEADER	mmioFOURCC('s','t','r','l')#define ckidSTREAMHEADER	mmioFOURCC('s','t','r','h')#define ckidSTREAMFORMAT	mmioFOURCC('s','t','r','f')#define ckidSTREAMHANDLERDATA	mmioFOURCC('s','t','r','d')#define ckidSTREAMNAME	mmioFOURCC('s','t','r','n')#define listtypeAVIMOVIE	mmioFOURCC('m','o','v','i')#define listtypeAVIRECORD	mmioFOURCC('r','e','c',' ')#define ckidAVINEWINDEX	mmioFOURCC('i', 'd', 'x', '1')#define streamtypeANY	0UL#define streamtypeVIDEO	mmioFOURCC('v','i','d','s')#define streamtypeAUDIO	mmioFOURCC('a','u','d','s')#define streamtypeMIDI	mmioFOURCC('m','i','d','s')#define streamtypeTEXT	mmioFOURCC('t','x','t','s')#define cktypeDIBbits	aviTWOCC('d','b')#define cktypeDIBcompressed	aviTWOCC('d','c')#define cktypePALchange	aviTWOCC('p','c')#define cktypeWAVEbytes	aviTWOCC('w','b')#define ckidAVIPADDING	mmioFOURCC('J','U','N','K')#define FromHex(n) (((n)>='A')?((n)+10-'A'):((n)-'0'))#define StreamFromFOURCC(fcc) ((WORD)((FromHex(LOBYTE(LOWORD(fcc)))<<4)+(FromHex(HIBYTE(LOWORD(fcc))))))#define TWOCCFromFOURCC(fcc) HIWORD(fcc)#define ToHex(n) ((BYTE)(((n)>9)?((n)-10+'A'):((n)+'0')))#define MAKEAVICKID(tcc, stream) MAKELONG((ToHex((stream)&0x0f)<<8)|(ToHex(((stream)&0xf0)>>4)),tcc)#define AVIF_HASINDEX	0x10#define AVIF_MUSTUSEINDEX	0x20#define AVIF_ISINTERLEAVED	0x100#define AVIF_TRUSTCKTYPE	0x800#define AVIF_WASCAPTUREFILE	0x10000#define AVIF_COPYRIGHTED	0x20000#define AVI_HEADERSIZE	2048#define AVISF_DISABLED	0x01#define AVISF_VIDEO_PALCHANGES	0x10000#define AVIIF_LIST	0x01#define AVIIF_TWOCC	0x02#define AVIIF_KEYFRAME	0x10#define AVIIF_NOTIME	0x100#define AVIIF_COMPUSE	0xfff0000#define AVIIF_KEYFRAME	0x10#define	AVIGETFRAMEF_BESTDISPLAYFMT	1#define AVISTREAMINFO_DISABLED	0x01#define AVISTREAMINFO_FORMATCHANGES	0x10000#define AVIFILEINFO_HASINDEX	0x10#define AVIFILEINFO_MUSTUSEINDEX	0x20#define AVIFILEINFO_ISINTERLEAVED	0x100#define AVIFILEINFO_TRUSTCKTYPE	0x800#define AVIFILEINFO_WASCAPTUREFILE	0x10000#define AVIFILEINFO_COPYRIGHTED	0x20000#define AVIFILECAPS_CANREAD	0x01#define AVIFILECAPS_CANWRITE	0x02#define AVIFILECAPS_ALLKEYFRAMES	0x10#define AVIFILECAPS_NOCOMPRESSION	0x20#define AVICOMPRESSF_INTERLEAVE	0x01#define AVICOMPRESSF_DATARATE	0x02#define AVICOMPRESSF_KEYFRAMES	0x04#define AVICOMPRESSF_VALID	0x08#define FIND_DIR	0x0000000fL#define FIND_NEXT	0x00000001L#define FIND_PREV	0x00000004L#define FIND_FROM_START	0x00000008L#define FIND_TYPE	0x000000f0L#define FIND_KEY	0x00000010L#define FIND_ANY	0x00000020L#define FIND_FORMAT	0x00000040L#define FIND_RET	0x0000f000L#define FIND_POS	0x00000000L#define FIND_LENGTH	0x00001000L#define FIND_OFFSET	0x00002000L#define FIND_SIZE	0x00003000L#define FIND_INDEX	0x00004000L#define AVIERR_OK	0#define MAKE_AVIERR(e)	MAKE_SCODE(SEVERITY_ERROR,FACILITY_ITF,0x4000+e)#define AVIERR_UNSUPPORTED	MAKE_AVIERR(101)#define AVIERR_BADFORMAT	MAKE_AVIERR(102)#define AVIERR_MEMORY	MAKE_AVIERR(103)#define AVIERR_INTERNAL	MAKE_AVIERR(104)#define AVIERR_BADFLAGS	MAKE_AVIERR(105)#define AVIERR_BADPARAM	MAKE_AVIERR(106)#define AVIERR_BADSIZE	MAKE_AVIERR(107)#define AVIERR_BADHANDLE	MAKE_AVIERR(108)#define AVIERR_FILEREAD	MAKE_AVIERR(109)#define AVIERR_FILEWRITE	MAKE_AVIERR(110)#define AVIERR_FILEOPEN	MAKE_AVIERR(111)#define AVIERR_COMPRESSOR	MAKE_AVIERR(112)#define AVIERR_NOCOMPRESSOR	MAKE_AVIERR(113)#define AVIERR_READONLY	MAKE_AVIERR(114)#define AVIERR_NODATA	MAKE_AVIERR(115)#define AVIERR_BUFFERTOOSMALL	MAKE_AVIERR(116)#define AVIERR_CANTCOMPRESS	MAKE_AVIERR(117)#define AVIERR_USERABORT	MAKE_AVIERR(198)#define AVIERR_ERROR	MAKE_AVIERR(199)#define MCIWNDOPENF_NEW	0x0001#define MCIWNDF_NOAUTOSIZEWINDOW	0x0001#define MCIWNDF_NOPLAYBAR	0x0002#define MCIWNDF_NOAUTOSIZEMOVIE	0x0004#define MCIWNDF_NOMENU	0x0008#define MCIWNDF_SHOWNAME	0x0010#define MCIWNDF_SHOWPOS	0x0020#define MCIWNDF_SHOWMODE	0x0040#define MCIWNDF_SHOWALL	0x0070#define MCIWNDF_NOTIFYMODE	0x0100#define MCIWNDF_NOTIFYPOS	0x0200#define MCIWNDF_NOTIFYSIZE	0x0400#define MCIWNDF_NOTIFYERROR	0x1000#define MCIWNDF_NOTIFYALL	0x1F00#define MCIWNDF_NOTIFYANSI	0x0080#define MCIWNDF_NOTIFYMEDIAA	0x0880#define MCIWNDF_NOTIFYMEDIAW	0x0800#define MCIWNDF_RECORD	0x2000#define MCIWNDF_NOERRORDLG	0x4000#define MCIWNDF_NOOPEN	0x8000#define MCIWNDM_GETDEVICEID	(WM_USER + 100)#define MCIWNDM_GETSTART	(WM_USER + 103)#define MCIWNDM_GETLENGTH	(WM_USER + 104)#define MCIWNDM_GETEND	(WM_USER + 105)#define MCIWNDM_EJECT	(WM_USER + 107)#define MCIWNDM_SETZOOM	(WM_USER + 108)#define MCIWNDM_GETZOOM	(WM_USER + 109)#define MCIWNDM_SETVOLUME	(WM_USER + 110)#define MCIWNDM_GETVOLUME	(WM_USER + 111)#define MCIWNDM_SETSPEED	(WM_USER + 112)#define MCIWNDM_GETSPEED	(WM_USER + 113)#define MCIWNDM_SETREPEAT	(WM_USER + 114)#define MCIWNDM_GETREPEAT	(WM_USER + 115)#define MCIWNDM_REALIZE	(WM_USER + 118)#define MCIWNDM_VALIDATEMEDIA	(WM_USER + 121)#define MCIWNDM_PLAYFROM	(WM_USER + 122)#define MCIWNDM_PLAYTO	(WM_USER + 123)#define MCIWNDM_GETPALETTE	(WM_USER + 126)#define MCIWNDM_SETPALETTE	(WM_USER + 127)#define MCIWNDM_SETTIMERS	(WM_USER + 129)#define MCIWNDM_SETACTIVETIMER	(WM_USER + 130)#define MCIWNDM_SETINACTIVETIMER	(WM_USER + 131)#define MCIWNDM_GETACTIVETIMER	(WM_USER + 132)#define MCIWNDM_GETINACTIVETIMER	(WM_USER + 133)#define MCIWNDM_CHANGESTYLES	(WM_USER + 135)#define MCIWNDM_GETSTYLES	(WM_USER + 136)#define MCIWNDM_GETALIAS	(WM_USER + 137)#define MCIWNDM_PLAYREVERSE	(WM_USER + 139)#define MCIWNDM_GET_SOURCE	(WM_USER + 140)#define MCIWNDM_PUT_SOURCE	(WM_USER + 141)#define MCIWNDM_GET_DEST	(WM_USER + 142)#define MCIWNDM_PUT_DEST	(WM_USER + 143)#define MCIWNDM_CAN_PLAY	(WM_USER + 144)#define MCIWNDM_CAN_WINDOW	(WM_USER + 145)#define MCIWNDM_CAN_RECORD	(WM_USER + 146)#define MCIWNDM_CAN_SAVE	(WM_USER + 147)#define MCIWNDM_CAN_EJECT	(WM_USER + 148)#define MCIWNDM_CAN_CONFIG	(WM_USER + 149)#define MCIWNDM_PALETTEKICK	(WM_USER + 150)#define MCIWNDM_OPENINTERFACE	(WM_USER + 151)#define MCIWNDM_SETOWNER	(WM_USER + 152)#define MCIWNDM_SENDSTRINGA	(WM_USER + 101)#define MCIWNDM_GETPOSITIONA	(WM_USER + 102)#define MCIWNDM_GETMODEA	(WM_USER + 106)#define MCIWNDM_SETTIMEFORMATA	(WM_USER + 119)#define MCIWNDM_GETTIMEFORMATA	(WM_USER + 120)#define MCIWNDM_GETFILENAMEA	(WM_USER + 124)#define MCIWNDM_GETDEVICEA	(WM_USER + 125)#define MCIWNDM_GETERRORA	(WM_USER + 128)#define MCIWNDM_NEWA	(WM_USER + 134)#define MCIWNDM_RETURNSTRINGA	(WM_USER + 138)#define MCIWNDM_OPENA	(WM_USER + 153)#define MCIWNDM_SENDSTRINGW	(WM_USER + 201)#define MCIWNDM_GETPOSITIONW	(WM_USER + 202)#define MCIWNDM_GETMODEW	(WM_USER + 206)#define MCIWNDM_SETTIMEFORMATW	(WM_USER + 219)#define MCIWNDM_GETTIMEFORMATW	(WM_USER + 220)#define MCIWNDM_GETFILENAMEW	(WM_USER + 224)#define MCIWNDM_GETDEVICEW	(WM_USER + 225)#define MCIWNDM_GETERRORW	(WM_USER + 228)#define MCIWNDM_NEWW	(WM_USER + 234)#define MCIWNDM_RETURNSTRINGW	(WM_USER + 238)#define MCIWNDM_OPENW	(WM_USER + 252)#define MCIWNDM_NOTIFYMODE	(WM_USER + 200)#define MCIWNDM_NOTIFYPOS	(WM_USER + 201)#define MCIWNDM_NOTIFYSIZE	(WM_USER + 202)#define MCIWNDM_NOTIFYMEDIA	(WM_USER + 203)#define MCIWNDM_NOTIFYERROR	(WM_USER + 205)#define MCIWND_START	-1#define MCIWND_END	-2#define DDF_UPDATE	0x02#define DDF_SAME_HDC	0x04#define DDF_SAME_DRAW	0x08#define DDF_DONTDRAW	0x10#define DDF_ANIMATE	0x20#define DDF_BUFFER	0x40#define DDF_JUSTDRAWIT	0x80#define DDF_FULLSCREEN	0x100#define DDF_BACKGROUNDPAL	0x200#define DDF_NOTKEYFRAME	0x400#define DDF_HURRYUP	0x800#define DDF_HALFTONE	0x1000#define DDF_PREROLL	DDF_DONTDRAW#define DDF_SAME_DIB	DDF_SAME_DRAW#define DDF_SAME_SIZE	DDF_SAME_DRAW#define PD_CAN_DRAW_DIB	0x01#define PD_CAN_STRETCHDIB	0x02#define PD_STRETCHDIB_1_1_OK	0x04#define PD_STRETCHDIB_1_2_OK	0x08#define PD_STRETCHDIB_1_N_OK	0x10#ifndef mmioFOURCC#define mmioFOURCC(c0,c1,c2,c3) ((DWORD)(BYTE)(c0)|((DWORD)(BYTE)(c1)<<8)|((DWORD)(BYTE)(c2)<<16)|((DWORD)(BYTE)(c3)<<24))#endif#ifndef aviTWOCC#define aviTWOCC(ch0,ch1) ((WORD)(BYTE)(ch0)|((WORD)(BYTE)(ch1)<<8))#endif#ifndef RC_INVOKEDDECLARE_HANDLE(HIC);DECLARE_HANDLE(HDRAWDIB);typedef WORD TWOCC;typedef BOOL (CALLBACK *AVISAVECALLBACK)(INT);typedef struct {	DWORD dwSize;	DWORD fccType;	DWORD fccHandler;	DWORD dwVersion;	DWORD dwFlags;	LRESULT dwError;	LPVOID pV1Reserved;	LPVOID pV2Reserved;	DWORD dnDevNode;} ICOPEN,*LPICOPEN;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -