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

📄 vfw.h

📁 MinGW+MSYS开发必用的api参考
💻 H
📖 第 1 页 / 共 3 页
字号:
typedef struct {	DWORD dwFlags;	LPBITMAPINFOHEADER lpbiOutput;	LPVOID lpOutput;	LPBITMAPINFOHEADER lpbiInput;	LPVOID lpInput;	LPDWORD lpckid;	LPDWORD lpdwFlags;	LONG lFrameNum;	DWORD dwFrameSize;	DWORD dwQuality;	LPBITMAPINFOHEADER lpbiPrev;	LPVOID lpPrev;} ICCOMPRESS;typedef struct {	DWORD dwFlags;	LPBITMAPINFOHEADER lpbiOutput;	LPARAM lOutput;	LPBITMAPINFOHEADER lpbiInput;	LPARAM lInput;	LONG lStartFrame;	LONG lFrameCount;	LONG lQuality;	LONG lDataRate;	LONG lKeyRate;	DWORD dwRate;	DWORD dwScale;	DWORD dwOverheadPerFrame;	DWORD dwReserved2;	LONG (CALLBACK *GetData)(LPARAM,LONG,LPVOID,LONG);	LONG (CALLBACK *PutData)(LPARAM,LONG,LPVOID,LONG);} ICCOMPRESSFRAMES;typedef struct {	DWORD dwFlags;	LPARAM lParam;	LONG (CALLBACK *Status)(LPARAM,UINT,LONG);} ICSETSTATUSPROC;typedef struct {	DWORD dwSize;	DWORD fccType;	DWORD fccHandler;	DWORD dwFlags;	DWORD dwVersion;	DWORD dwVersionICM;	WCHAR szName[16];	WCHAR szDescription[128];	WCHAR szDriver[128];} ICINFO;typedef struct {	DWORD dwFlags;	LPBITMAPINFOHEADER lpbiInput;	LPVOID lpInput;	LPBITMAPINFOHEADER lpbiOutput;	LPVOID lpOutput;	DWORD ckid;} ICDECOMPRESS;typedef struct {	DWORD dwFlags;	LPBITMAPINFOHEADER lpbiSrc;	LPVOID lpSrc;	LPBITMAPINFOHEADER lpbiDst;	LPVOID lpDst;	INT xDst;	INT yDst;	INT dxDst;	INT dyDst;	INT xSrc;	INT ySrc;	INT dxSrc;	INT dySrc;} ICDECOMPRESSEX;typedef struct {	DWORD dwFlags;	LPBITMAPINFOHEADER lpbiIn;	LPBITMAPINFOHEADER lpbiSuggest;	INT dxSrc;	INT dySrc;	INT dxDst;	INT dyDst;	HIC hicDecompressor;} ICDRAWSUGGEST;typedef struct {	DWORD dwFlags;	INT iStart;	INT iLen;	LPPALETTEENTRY lppe;} ICPALETTE;typedef struct {	DWORD dwFlags;	HPALETTE hpal;	HWND hwnd;	HDC hdc;	INT xDst;	INT yDst;	INT dxDst;	INT dyDst;	LPBITMAPINFOHEADER lpbi;	INT xSrc;	INT ySrc;	INT dxSrc;	INT dySrc;	DWORD dwRate;	DWORD dwScale;} ICDRAWBEGIN;typedef struct {	DWORD dwFlags;	LPVOID lpFormat;	LPVOID lpData;	DWORD cbData;	LONG lTime;} ICDRAW;typedef struct {	LONG cbSize;	DWORD dwFlags;	HIC hic;	DWORD fccType;	DWORD fccHandler;	LPBITMAPINFO lpbiIn;	LPBITMAPINFO lpbiOut;	LPVOID lpBitsOut;	LPVOID lpBitsPrev;	LONG lFrame;	LONG lKey;	LONG lDataRate;	LONG lQ;	LONG lKeyCount;	LPVOID lpState;	LONG cbState;} COMPVARS, *PCOMPVARS;typedef struct _MainAVIHeader{	DWORD dwMicroSecPerFrame;	DWORD dwMaxBytesPerSec;	DWORD dwPaddingGranularity;	DWORD dwFlags;	DWORD dwTotalFrames;	DWORD dwInitialFrames;	DWORD dwStreams;	DWORD dwSuggestedBufferSize;	DWORD dwWidth;	DWORD dwHeight;	DWORD dwReserved[4];} MainAVIHeader;typedef struct {	FOURCC fccType;	FOURCC fccHandler;	DWORD dwFlags;	WORD wPriority;	WORD wLanguage;	DWORD dwInitialFrames;	DWORD dwScale;	DWORD dwRate;	DWORD dwStart;	DWORD dwLength;	DWORD dwSuggestedBufferSize;	DWORD dwQuality;	DWORD dwSampleSize;	RECT rcFrame;} AVIStreamHeader;typedef struct _AVIINDEXENTRY {	DWORD ckid;	DWORD dwFlags;	DWORD dwChunkOffset;	DWORD dwChunkLength;} AVIINDEXENTRY;typedef struct _AVIPALCHANGE {	BYTE bFirstEntry;	BYTE bNumEntries;	WORD wFlags;	PALETTEENTRY peNew[1];} AVIPALCHANGE;typedef struct _AVISTREAMINFOA {	DWORD fccType;	DWORD fccHandler;	DWORD dwFlags;	DWORD dwCaps;	WORD wPriority;	WORD wLanguage;	DWORD dwScale;	DWORD dwRate;	DWORD dwStart;	DWORD dwLength;	DWORD dwInitialFrames;	DWORD dwSuggestedBufferSize;	DWORD dwQuality;	DWORD dwSampleSize;	RECT rcFrame;	DWORD dwEditCount;	DWORD dwFormatChangeCount;	CHAR szName[64];} AVISTREAMINFOA, * LPAVISTREAMINFOA, *PAVISTREAMINFOA;typedef struct _AVISTREAMINFOW {	DWORD fccType;	DWORD fccHandler;	DWORD dwFlags;	DWORD dwCaps;	WORD wPriority;	WORD wLanguage;	DWORD dwScale;	DWORD dwRate;	DWORD dwStart;	DWORD dwLength;	DWORD dwInitialFrames;	DWORD dwSuggestedBufferSize;	DWORD dwQuality;	DWORD dwSampleSize;	RECT rcFrame;	DWORD dwEditCount;	DWORD dwFormatChangeCount;	WCHAR szName[64];} AVISTREAMINFOW, * LPAVISTREAMINFOW, *PAVISTREAMINFOW;typedef struct _AVIFILEINFOW {	DWORD dwMaxBytesPerSec;	DWORD dwFlags;	DWORD dwCaps;	DWORD dwStreams;	DWORD dwSuggestedBufferSize;	DWORD dwWidth;	DWORD dwHeight;	DWORD dwScale;	DWORD dwRate;	DWORD dwLength;	DWORD dwEditCount;	WCHAR szFileType[64];} AVIFILEINFOW, *LPAVIFILEINFOW, *PAVIFILEINFOW;typedef struct _AVIFILEINFOA {	DWORD dwMaxBytesPerSec;	DWORD dwFlags;	DWORD dwCaps;	DWORD dwStreams;	DWORD dwSuggestedBufferSize;	DWORD dwWidth;	DWORD dwHeight;	DWORD dwScale;	DWORD dwRate;	DWORD dwLength;	DWORD dwEditCount;	CHAR szFileType[64];} AVIFILEINFOA, *LPAVIFILEINFOA, *PAVIFILEINFOA;typedef struct _AVICOMPRESSOPTIONS {	DWORD fccType;	DWORD fccHandler;	DWORD dwKeyFrameEvery;	DWORD dwQuality;	DWORD dwBytesPerSecond;	DWORD dwFlags;	LPVOID lpFormat;	DWORD cbFormat;	LPVOID lpParms;	DWORD cbParms;	DWORD dwInterleaveEvery;} AVICOMPRESSOPTIONS, *LPAVICOMPRESSOPTIONS,*PAVICOMPRESSOPTIONS;#if !defined (_OBJC_NO_COM)#define DEFINE_AVIGUID(name,l,w1,w2) DEFINE_GUID(name,l,w1,w2,0xC0,0,0,0,0,0,0,0x46)DEFINE_AVIGUID(IID_IAVIFile,0x00020020,0,0);DEFINE_AVIGUID(IID_IAVIStream,0x00020021,0,0);DEFINE_AVIGUID(IID_IAVIStreaming,0x00020022,0,0);DEFINE_AVIGUID(IID_IGetFrame,0x00020023,0,0);DEFINE_AVIGUID(IID_IAVIEditStream,0x00020024,0,0);DEFINE_AVIGUID(CLSID_AVIFile,0x00020000,0,0);#define INTERFACE IAVIStreamDECLARE_INTERFACE_(IAVIStream, IUnknown){	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;	STDMETHOD_(ULONG,AddRef)(THIS) PURE;	STDMETHOD_(ULONG,Release)(THIS) PURE;	STDMETHOD(Create)(THIS_ LPARAM,LPARAM) PURE;	STDMETHOD(Info)(THIS_ AVISTREAMINFOW*,LONG) PURE;	STDMETHOD_(LONG,FindSample)(THIS_ LONG,LONG) PURE;	STDMETHOD(ReadFormat)(THIS_ LONG,LPVOID,LONG*) PURE;	STDMETHOD(SetFormat)(THIS_ LONG,LPVOID,LONG) PURE;	STDMETHOD(Read)(THIS_ LONG,LONG,LPVOID,LONG,LONG*,LONG*) PURE;	STDMETHOD(Write)(THIS_ LONG,LONG,LPVOID,LONG,DWORD,LONG*,LONG*) PURE;	STDMETHOD(Delete)(THIS_ LONG,LONG) PURE;	STDMETHOD(ReadData)(THIS_ DWORD,LPVOID,LONG*) PURE;	STDMETHOD(WriteData)(THIS_ DWORD,LPVOID,LONG) PURE;	STDMETHOD(SetInfo)(THIS_ AVISTREAMINFOW*,LONG) PURE;};#undef INTERFACEtypedef IAVIStream *PAVISTREAM;#define INTERFACE IAVIStreamingDECLARE_INTERFACE_(IAVIStreaming, IUnknown){	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;	STDMETHOD_(ULONG,AddRef)(THIS) PURE;	STDMETHOD_(ULONG,Release)(THIS) PURE;	STDMETHOD(Begin)(THIS_ LONG,LONG,LONG) PURE;	 	STDMETHOD(End)(THIS) PURE;};#undef INTERFACEtypedef IAVIStreaming *PAVISTREAMING;#define INTERFACE IAVIEditStreamDECLARE_INTERFACE_(IAVIEditStream, IUnknown){	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;	STDMETHOD_(ULONG,AddRef)(THIS) PURE;	STDMETHOD_(ULONG,Release)(THIS) PURE;	STDMETHOD(Cut)(THIS_ LONG*,LONG*,PAVISTREAM*) PURE;	STDMETHOD(Copy)(THIS_ LONG*,LONG*,PAVISTREAM*) PURE;	STDMETHOD(Paste)(THIS_ LONG*,LONG*,PAVISTREAM,LONG,LONG) PURE;	STDMETHOD(Clone)(THIS_ PAVISTREAM*) PURE;	STDMETHOD(SetInfo)(THIS_ LPAVISTREAMINFOW,LONG) PURE;};#undef INTERFACEtypedef IAVIEditStream *PAVIEDITSTREAM;#define INTERFACE IAVIFileDECLARE_INTERFACE_(IAVIFile, IUnknown){	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;	STDMETHOD_(ULONG,AddRef)(THIS) PURE;	STDMETHOD_(ULONG,Release)(THIS) PURE;	STDMETHOD(Info)(THIS_ AVIFILEINFOW*,LONG) PURE;	STDMETHOD(GetStream)(THIS_ PAVISTREAM*,DWORD,LONG) PURE;	STDMETHOD(CreateStream)(THIS_ PAVISTREAM*,AVISTREAMINFOW*) PURE;	STDMETHOD(WriteData)(THIS_ DWORD,LPVOID,LONG) PURE;	STDMETHOD(ReadData)(THIS_ DWORD,LPVOID,LONG*) PURE;	STDMETHOD(EndRecord)(THIS) PURE;	STDMETHOD(DeleteStream)(THIS_ DWORD,LONG) PURE;};#undef INTERFACEtypedef IAVIFile *PAVIFILE;#define INTERFACE IGetFrameDECLARE_INTERFACE_(IGetFrame, IUnknown){	STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;	STDMETHOD_(ULONG,AddRef)(THIS) PURE;	STDMETHOD_(ULONG,Release)(THIS) PURE;	STDMETHOD_(LPVOID,GetFrame)(THIS_ LONG) PURE;	STDMETHOD(Begin)(THIS_ LONG,LONG,LONG) PURE;	STDMETHOD(End)(THIS) PURE;	STDMETHOD(SetFormat)(THIS_ LPBITMAPINFOHEADER,LPVOID,INT,INT,INT,INT) PURE;};#undef INTERFACEtypedef IGetFrame *PGETFRAME;#endif /* !defined (_OBJC_NO_COM) */DWORD VFWAPI VideoForWindowsVersion(VOID);LONG VFWAPI InitVFW(VOID);LONG VFWAPI TermVFW(VOID);DWORD VFWAPIV ICCompress(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID,LPDWORD,LPDWORD,LONG,DWORD,DWORD,LPBITMAPINFOHEADER,LPVOID);DWORD VFWAPIV ICDecompress(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID);LRESULT	VFWAPI ICSendMessage(HIC,UINT,DWORD,DWORD);HANDLE VFWAPI ICImageCompress(HIC,UINT,LPBITMAPINFO,LPVOID,LPBITMAPINFO,LONG,LONG*);HANDLE VFWAPI ICImageDecompress(HIC,UINT,LPBITMAPINFO,LPVOID,LPBITMAPINFO);BOOL VFWAPI ICInfo(DWORD,DWORD,ICINFO*);BOOL VFWAPI ICInstall(DWORD,DWORD,LPARAM,LPSTR,UINT);BOOL VFWAPI ICRemove(DWORD,DWORD,UINT);LRESULT VFWAPI ICGetInfo(HIC,ICINFO*,DWORD);HIC VFWAPI ICOpen(DWORD,DWORD,UINT);HIC VFWAPI ICOpenFunction(DWORD,DWORD,UINT,FARPROC);LRESULT VFWAPI ICClose(HIC hic);HIC VFWAPI ICLocate(DWORD,DWORD,LPBITMAPINFOHEADER,LPBITMAPINFOHEADER,WORD);HIC VFWAPI ICGetDisplayFormat(HIC,LPBITMAPINFOHEADER,LPBITMAPINFOHEADER,INT,INT,INT);DWORD VFWAPIV ICDrawBegin(HIC,DWORD,HPALETTE,HWND,HDC,INT,INT,INT,INT,LPBITMAPINFOHEADER,INT,INT,INT,INT,DWORD,DWORD);DWORD VFWAPIV ICDraw(HIC,DWORD,LPVOID,LPVOID,DWORD,LONG);BOOL VFWAPI ICCompressorChoose(HWND,UINT,LPVOID,LPVOID,PCOMPVARS,LPSTR);BOOL VFWAPI ICSeqCompressFrameStart(PCOMPVARS,LPBITMAPINFO);void VFWAPI ICSeqCompressFrameEnd(PCOMPVARS);LPVOID VFWAPI ICSeqCompressFrame(PCOMPVARS,UINT,LPVOID,BOOL*,LONG*);void VFWAPI ICCompressorFree(PCOMPVARS);#if !defined (_OBJC_NO_COM)ULONG WINAPI AVIStreamAddRef(PAVISTREAM);ULONG WINAPI AVIStreamRelease(PAVISTREAM);HRESULT WINAPI AVIStreamCreate(PAVISTREAM*,LONG,LONG,CLSID*);HRESULT WINAPI AVIStreamInfoA(PAVISTREAM,AVISTREAMINFOA*,LONG);HRESULT WINAPI AVIStreamInfoW(PAVISTREAM,AVISTREAMINFOW*,LONG);HRESULT WINAPI AVIStreamFindSample(PAVISTREAM,LONG,DWORD);HRESULT WINAPI AVIStreamReadFormat(PAVISTREAM,LONG,LPVOID,LONG*);HRESULT WINAPI AVIStreamSetFormat(PAVISTREAM,LONG,LPVOID,LONG);HRESULT WINAPI AVIStreamRead(PAVISTREAM,LONG,LONG,LPVOID,LONG,LONG*,LONG*);HRESULT WINAPI AVIStreamWrite(PAVISTREAM,LONG,LONG,LPVOID,LONG,DWORD,LONG*,LONG*);HRESULT WINAPI AVIStreamReadData(PAVISTREAM,DWORD,LPVOID,LONG*);HRESULT WINAPI AVIStreamWriteData(PAVISTREAM,DWORD,LPVOID,LONG);PGETFRAME WINAPI AVIStreamGetFrameOpen(PAVISTREAM,LPBITMAPINFOHEADER);LPVOID WINAPI AVIStreamGetFrame(PGETFRAME,LONG);HRESULT WINAPI AVIStreamGetFrameClose(PGETFRAME);

⌨️ 快捷键说明

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