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

📄 vfwmod.h

📁 用于机器人自动低分辨路的地图测绘程序。用于机器人控制测绘。分为远端控制端和本地控制端。控制电机为标准舵机。
💻 H
📖 第 1 页 / 共 5 页
字号:
    DWORD		dwFlags;    DWORD		dwChunkOffset;		// Position of chunk    DWORD		dwChunkLength;		// Length of chunk} AVIINDEXENTRY;/*** Palette change chunk**** Used in video streams.*/typedef struct{    BYTE		bFirstEntry;	/* first entry to change */    BYTE		bNumEntries;	/* # entries to change (0 if 256) */    WORD		wFlags;		/* Mostly to preserve alignment... */    PALETTEENTRY	peNew[];	/* New color specifications */} AVIPALCHANGE;#else    #include <avifmt.h>#endif  /* not _WIN32 */#endif /* NOAVIFMT *//**************************************************************************** * *  MMREG.H (standard include file for MM defines, like FOURCC and things) * ***************************************************************************/#ifdef _WIN32#ifndef RC_INVOKED#include "pshpack8.h"#endif#endif#ifndef NOMMREG    #include <mmreg.h>#endif/**************************************************************************** * *  AVIFile - routines for reading/writing standard AVI files * ***************************************************************************/#ifndef NOAVIFILE#ifdef _WIN32/* * Ansi - Unicode thunking. * * Unicode or Ansi-only apps can call the avifile APIs. * any Win32 app who wants to use * any of the AVI COM interfaces must be UNICODE - the AVISTREAMINFO and * AVIFILEINFO structures used in the Info methods of these interfaces are * the unicode variants, and no thunking to or from ansi takes place * except in the AVIFILE api entrypoints. * * For Ansi/Unicode thunking: for each entrypoint or structure that * uses chars or strings, two versions are declared in the Win32 version, * ApiNameW and ApiNameA. The default name ApiName is #defined to one or * other of these depending on whether UNICODE is defined (during * compilation of the app that is including this header). The source will * contain ApiName and ApiNameA (with ApiName being the Win16 implementation, * and also #defined to ApiNameW, and ApiNameA being the thunk entrypoint). * */#ifndef mmioFOURCC    #define mmioFOURCC( ch0, ch1, ch2, ch3 ) \	( (DWORD)(BYTE)(ch0) | ( (DWORD)(BYTE)(ch1) << 8 ) |	\	( (DWORD)(BYTE)(ch2) << 16 ) | ( (DWORD)(BYTE)(ch3) << 24 ) )#endif#ifndef streamtypeVIDEO#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')#endif#ifndef AVIIF_KEYFRAME#define AVIIF_KEYFRAME      0x00000010L // this frame is a key frame.#endif// For GetFrame::SetFormat - use the best format for the display#define AVIGETFRAMEF_BESTDISPLAYFMT	1//// Structures used by AVIStreamInfo & AVIFileInfo.//// These are related to, but not identical to, the header chunks// in an AVI file.///* * * --- AVISTREAMINFO ------------------------------------------------ * * for Unicode/Ansi thunking we need to declare three versions of this! */typedef struct _AVISTREAMINFOW {    DWORD		fccType;    DWORD               fccHandler;    DWORD               dwFlags;        /* Contains AVITF_* flags */    DWORD		dwCaps;    WORD		wPriority;    WORD		wLanguage;    DWORD               dwScale;    DWORD               dwRate; /* dwRate / dwScale == samples/second */    DWORD               dwStart;    DWORD               dwLength; /* In units above... */    DWORD		dwInitialFrames;    DWORD               dwSuggestedBufferSize;    DWORD               dwQuality;    DWORD               dwSampleSize;    RECT                rcFrame;    DWORD		dwEditCount;    DWORD		dwFormatChangeCount;    WCHAR		szName[64];} AVISTREAMINFOW, FAR * LPAVISTREAMINFOW;typedef struct _AVISTREAMINFOA {    DWORD		fccType;    DWORD               fccHandler;    DWORD               dwFlags;        /* Contains AVITF_* flags */    DWORD		dwCaps;    WORD		wPriority;    WORD		wLanguage;    DWORD               dwScale;    DWORD               dwRate; /* dwRate / dwScale == samples/second */    DWORD               dwStart;    DWORD               dwLength; /* In units above... */    DWORD		dwInitialFrames;    DWORD               dwSuggestedBufferSize;    DWORD               dwQuality;    DWORD               dwSampleSize;    RECT                rcFrame;    DWORD		dwEditCount;    DWORD		dwFormatChangeCount;    char		szName[64];} AVISTREAMINFOA, FAR * LPAVISTREAMINFOA;#ifdef UNICODE#define AVISTREAMINFO	AVISTREAMINFOW#define LPAVISTREAMINFO	LPAVISTREAMINFOW#else#define AVISTREAMINFO	AVISTREAMINFOA#define LPAVISTREAMINFO	LPAVISTREAMINFOA#endif#define AVISTREAMINFO_DISABLED			0x00000001#define AVISTREAMINFO_FORMATCHANGES		0x00010000/* * --- AVIFILEINFO ---------------------------------------------------- * */typedef struct _AVIFILEINFOW {    DWORD		dwMaxBytesPerSec;	// max. transfer rate    DWORD		dwFlags;		// the ever-present flags    DWORD		dwCaps;    DWORD		dwStreams;    DWORD		dwSuggestedBufferSize;    DWORD		dwWidth;    DWORD		dwHeight;    DWORD		dwScale;	    DWORD		dwRate;	/* dwRate / dwScale == samples/second */    DWORD		dwLength;    DWORD		dwEditCount;    WCHAR		szFileType[64];		// descriptive string for file type?} AVIFILEINFOW, FAR * LPAVIFILEINFOW;typedef struct _AVIFILEINFOA {    DWORD		dwMaxBytesPerSec;	// max. transfer rate    DWORD		dwFlags;		// the ever-present flags    DWORD		dwCaps;    DWORD		dwStreams;    DWORD		dwSuggestedBufferSize;    DWORD		dwWidth;    DWORD		dwHeight;    DWORD		dwScale;	    DWORD		dwRate;	/* dwRate / dwScale == samples/second */    DWORD		dwLength;    DWORD		dwEditCount;    char		szFileType[64];		// descriptive string for file type?} AVIFILEINFOA, FAR * LPAVIFILEINFOA;#ifdef UNICODE#define AVIFILEINFO	AVIFILEINFOW#define LPAVIFILEINFO	LPAVIFILEINFOW#else#define AVIFILEINFO	AVIFILEINFOA#define LPAVIFILEINFO	LPAVIFILEINFOA#endif// Flags for dwFlags#define AVIFILEINFO_HASINDEX		0x00000010#define AVIFILEINFO_MUSTUSEINDEX	0x00000020#define AVIFILEINFO_ISINTERLEAVED	0x00000100#define AVIFILEINFO_WASCAPTUREFILE	0x00010000#define AVIFILEINFO_COPYRIGHTED		0x00020000// Flags for dwCaps#define AVIFILECAPS_CANREAD		0x00000001#define AVIFILECAPS_CANWRITE		0x00000002#define AVIFILECAPS_ALLKEYFRAMES	0x00000010#define AVIFILECAPS_NOCOMPRESSION	0x00000020typedef BOOL (FAR PASCAL * AVISAVECALLBACK)(int);/************************************************************************//* Declaration for the AVICOMPRESSOPTIONS structure.  Make sure it 	*//* matches the AutoDoc in avisave.c !!!                            	*//************************************************************************/typedef struct {    DWORD	fccType;		    /* stream type, for consistency */    DWORD       fccHandler;                 /* compressor */    DWORD       dwKeyFrameEvery;            /* keyframe rate */    DWORD       dwQuality;                  /* compress quality 0-10,000 */    DWORD       dwBytesPerSecond;           /* bytes per second */    DWORD       dwFlags;                    /* flags... see below */    LPVOID      lpFormat;                   /* save format */    DWORD       cbFormat;    LPVOID      lpParms;                    /* compressor options */    DWORD       cbParms;    DWORD       dwInterleaveEvery;          /* for non-video streams only */} AVICOMPRESSOPTIONS, FAR *LPAVICOMPRESSOPTIONS;//// Defines for the dwFlags field of the AVICOMPRESSOPTIONS struct// Each of these flags determines if the appropriate field in the structure// (dwInterleaveEvery, dwBytesPerSecond, and dwKeyFrameEvery) is payed// attention to.  See the autodoc in avisave.c for details.//#define AVICOMPRESSF_INTERLEAVE		0x00000001    // interleave#define AVICOMPRESSF_DATARATE		0x00000002    // use a data rate#define AVICOMPRESSF_KEYFRAMES		0x00000004    // use keyframes#define AVICOMPRESSF_VALID		0x00000008    // has valid data?#include <ole2.h>/*	-	-	-	-	-	-	-	-	*//****** AVI Stream Interface *******************************************/#undef  INTERFACE#define INTERFACE   IAVIStreamDECLARE_INTERFACE_(IAVIStream, IUnknown){    // *** IUnknown methods ***    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;    STDMETHOD_(ULONG,Release) (THIS) PURE;    // *** IAVIStream methods ***    STDMETHOD(Create)      (THIS_ LPARAM lParam1, LPARAM lParam2) PURE ;    STDMETHOD(Info)        (THIS_ AVISTREAMINFOW FAR * psi, LONG lSize) PURE ;    STDMETHOD_(LONG, FindSample)(THIS_ LONG lPos, LONG lFlags) PURE ;    STDMETHOD(ReadFormat)  (THIS_ LONG lPos,			    LPVOID lpFormat, LONG FAR *lpcbFormat) PURE ;    STDMETHOD(SetFormat)   (THIS_ LONG lPos,			    LPVOID lpFormat, LONG cbFormat) PURE ;    STDMETHOD(Read)        (THIS_ LONG lStart, LONG lSamples,			    LPVOID lpBuffer, LONG cbBuffer,			    LONG FAR * plBytes, LONG FAR * plSamples) PURE ;    STDMETHOD(Write)       (THIS_ LONG lStart, LONG lSamples,			    LPVOID lpBuffer, LONG cbBuffer,			    DWORD dwFlags,			    LONG FAR *plSampWritten,			    LONG FAR *plBytesWritten) PURE ;    STDMETHOD(Delete)      (THIS_ LONG lStart, LONG lSamples) PURE;    STDMETHOD(ReadData)    (THIS_ DWORD fcc, LPVOID lp, LONG FAR *lpcb) PURE ;    STDMETHOD(WriteData)   (THIS_ DWORD fcc, LPVOID lp, LONG cb) PURE ;#ifdef _WIN32    STDMETHOD(SetInfo) (THIS_ AVISTREAMINFOW FAR * lpInfo,			    LONG cbInfo) PURE;#else    STDMETHOD(Reserved1)            (THIS) PURE;    STDMETHOD(Reserved2)            (THIS) PURE;    STDMETHOD(Reserved3)            (THIS) PURE;    STDMETHOD(Reserved4)            (THIS) PURE;    STDMETHOD(Reserved5)            (THIS) PURE;#endif};typedef       IAVIStream FAR* PAVISTREAM;#undef  INTERFACE#define INTERFACE   IAVIStreamingDECLARE_INTERFACE_(IAVIStreaming, IUnknown){    // *** IUnknown methods ***    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;    STDMETHOD_(ULONG,Release) (THIS) PURE;    // *** IAVIStreaming methods ***    STDMETHOD(Begin) (THIS_		      LONG  lStart,		    // start of what we expect						    // to play		      LONG  lEnd,		    // expected end, or -1		      LONG  lRate) PURE;	    // Should this be a float?    STDMETHOD(End)   (THIS) PURE;};typedef       IAVIStreaming FAR* PAVISTREAMING;#undef  INTERFACE#define INTERFACE   IAVIEditStreamDECLARE_INTERFACE_(IAVIEditStream, IUnknown){    // *** IUnknown methods ***    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;    STDMETHOD_(ULONG,Release) (THIS) PURE;    // *** IAVIEditStream methods ***    STDMETHOD(Cut) (THIS_ LONG FAR *plStart,			  LONG FAR *plLength,			  PAVISTREAM FAR * ppResult) PURE;    STDMETHOD(Copy) (THIS_ LONG FAR *plStart,			   LONG FAR *plLength,			   PAVISTREAM FAR * ppResult) PURE;    STDMETHOD(Paste) (THIS_ LONG FAR *plPos,			    LONG FAR *plLength,			    PAVISTREAM pstream,			    LONG lStart,			    LONG lEnd) PURE;    STDMETHOD(Clone) (THIS_ PAVISTREAM FAR *ppResult) PURE;    STDMETHOD(SetInfo) (THIS_ AVISTREAMINFOW FAR * lpInfo,			    LONG cbInfo) PURE;};typedef       IAVIEditStream FAR* PAVIEDITSTREAM;/****** AVI File Interface *******************************************/#undef  INTERFACE#define INTERFACE   IAVIFile#define PAVIFILE IAVIFile FAR*DECLARE_INTERFACE_(IAVIFile, IUnknown){    // *** IUnknown methods ***    STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;    STDMETHOD_(ULONG,AddRef) (THIS)  PURE;    STDMETHOD_(ULONG,Release) (THIS) PURE;    // *** IAVIFile methods ***    STDMETHOD(Info)                 (THIS_                                     AVIFILEINFOW FAR * pfi,                                     LONG lSize) PURE;    STDMETHOD(GetStream)            (THIS_                                     PAVISTREAM FAR * ppStream,				     DWORD fccType,                                     LONG lParam) PURE;    STDMETHOD(CreateStream)         (THIS_                                     PAVISTREAM FAR * ppStream,                                     AVISTREAMINFOW FAR * psi) PURE;    STDMETHOD(WriteData)            (THIS_                                     DWORD ckid,                                     LPVOID lpData,                                     LONG cbData) PURE;    STDMETHOD(ReadData)             (THIS_                                     DWORD ckid,                                     LPVOID lpData,                                     LONG FAR *lpcbData) PURE;    STDMETHOD(EndRecord)            (THIS) PURE;    STD

⌨️ 快捷键说明

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