// CodeGear C++Builder // Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc. // All rights reserved // (DO NOT EDIT: machine generated header) 'ievfw.pas' rev: 37.00 (Windows) #ifndef ievfwHPP #define ievfwHPP #pragma delphiheader begin #pragma option push #if defined(__BORLANDC__) && !defined(__clang__) #pragma option -w- // All warnings off #pragma option -Vx // Zero-length empty class member #endif #pragma pack(push,8) #include #include #include #include //-- user supplied ----------------------------------------------------------- namespace Ievfw { //-- forward type declarations ----------------------------------------------- class DELPHICLASS IUnknown; struct TAviStreamInfoA; struct TAviStreamInfoW; struct TAviFileInfoA; struct TAviFileInfoW; struct TAviCompressOptions; class DELPHICLASS IAVIStream; class DELPHICLASS IAVIEditStream; class DELPHICLASS IAVIFile; class DELPHICLASS IGetFrame; //-- type declarations ------------------------------------------------------- typedef System::PGUID PCLSID; typedef GUID TIID; class PASCALIMPLEMENTATION IUnknown : public System::TObject { typedef System::TObject inherited; public: virtual HRESULT __stdcall QueryInterface(const TIID &iid, void *obj) = 0 ; virtual System::LongInt __stdcall AddRef() = 0 ; virtual System::LongInt __stdcall Release() = 0 ; public: /* TObject.Create */ inline __fastcall IUnknown() : System::TObject() { } /* TObject.Destroy */ inline __fastcall virtual ~IUnknown() { } }; typedef System::LongInt LONG; typedef void * PVOID; typedef TAviStreamInfoA *PAviStreamInfoA; struct DECLSPEC_DRECORD TAviStreamInfoA { public: unsigned fccType; unsigned fccHandler; unsigned dwFlags; unsigned dwCaps; System::Word wPriority; System::Word wLanguage; unsigned dwScale; unsigned dwRate; unsigned dwStart; unsigned dwLength; unsigned dwInitialFrames; unsigned dwSuggestedBufferSize; unsigned dwQuality; unsigned dwSampleSize; Winapi::Windows::TRect rcFrame; unsigned dwEditCount; unsigned dwFormatChangeCount; System::StaticArray szName; }; typedef TAviStreamInfoW *PAviStreamInfoW; struct DECLSPEC_DRECORD TAviStreamInfoW { public: unsigned fccType; unsigned fccHandler; unsigned dwFlags; unsigned dwCaps; System::Word wPriority; System::Word wLanguage; unsigned dwScale; unsigned dwRate; unsigned dwStart; unsigned dwLength; unsigned dwInitialFrames; unsigned dwSuggestedBufferSize; unsigned dwQuality; unsigned dwSampleSize; Winapi::Windows::TRect rcFrame; unsigned dwEditCount; unsigned dwFormatChangeCount; System::StaticArray szName; }; typedef TAviStreamInfoW TAviStreamInfo; typedef TAviFileInfoA *PAviFileInfoA; struct DECLSPEC_DRECORD TAviFileInfoA { public: unsigned dwMaxBytesPerSec; unsigned dwFlags; unsigned dwCaps; unsigned dwStreams; unsigned dwSuggestedBufferSize; unsigned dwWidth; unsigned dwHeight; unsigned dwScale; unsigned dwRate; unsigned dwLength; unsigned dwEditCount; System::StaticArray szFileType; }; typedef TAviFileInfoA TAviFileInfo; typedef TAviFileInfoW *PAviFileInfoW; struct DECLSPEC_DRECORD TAviFileInfoW { public: unsigned dwMaxBytesPerSec; unsigned dwFlags; unsigned dwCaps; unsigned dwStreams; unsigned dwSuggestedBufferSize; unsigned dwWidth; unsigned dwHeight; unsigned dwScale; unsigned dwRate; unsigned dwLength; unsigned dwEditCount; System::StaticArray szFileType; }; typedef bool __stdcall (*TAVISaveCallBack)(int Percentage); typedef TAVISaveCallBack *AVISaveCallBack; typedef TAviCompressOptions *PAviCompressOptions; struct DECLSPEC_DRECORD TAviCompressOptions { public: unsigned fccType; unsigned fccHandler; unsigned dwKeyFrameEvery; unsigned dwQuality; unsigned dwBytesPerSecond; unsigned dwFlags; PVOID lpFormat; unsigned cbFormat; PVOID lpParms; unsigned cbParms; unsigned dwInterleaveEvery; }; class PASCALIMPLEMENTATION IAVIStream : public IUnknown { typedef IUnknown inherited; public: HIDESBASE virtual HRESULT __stdcall Create(__int64 lParam1, __int64 lParam2) = 0 ; virtual HRESULT __stdcall Info(TAviStreamInfoW &psi, LONG lSize) = 0 ; virtual LONG __stdcall FindSample(LONG lPos, LONG lFlags) = 0 ; virtual HRESULT __stdcall ReadFormat(LONG lPos, PVOID lpFormat, LONG &lpcbFormat) = 0 ; virtual HRESULT __stdcall SetFormat(LONG lPos, PVOID lpFormat, LONG lpcbFormat) = 0 ; virtual HRESULT __stdcall Read(LONG lStart, LONG lSamples, PVOID lpBuffer, LONG cbBuffer, LONG &plBytes, LONG &plSamples) = 0 ; virtual HRESULT __stdcall Write(LONG lStart, LONG lSamples, PVOID lpBuffer, LONG cbBuffer, unsigned dwFlags, LONG &plSampWritten, LONG &plBytesWritten) = 0 ; virtual HRESULT __stdcall Delete(LONG lStart, LONG lSamples) = 0 ; virtual HRESULT __stdcall ReadData(unsigned fcc, PVOID lp, LONG &lpcb) = 0 ; virtual HRESULT __stdcall WriteData(unsigned fcc, PVOID lp, LONG cb) = 0 ; virtual HRESULT __stdcall SetInfo(TAviStreamInfoW &lpInfo, LONG cbInfo) = 0 ; public: /* TObject.Create */ inline __fastcall IAVIStream() : IUnknown() { } /* TObject.Destroy */ inline __fastcall virtual ~IAVIStream() { } }; typedef IAVIStream* *PAVIStream; class PASCALIMPLEMENTATION IAVIEditStream : public IUnknown { typedef IUnknown inherited; public: virtual HRESULT __stdcall Info(TAviFileInfoW &pfi, LONG lSize) = 0 ; virtual HRESULT __stdcall Cut(LONG &plStart, LONG &plLength, PAVIStream &ppResult) = 0 ; virtual HRESULT __stdcall Copy(LONG &plLength, PAVIStream &ppResult) = 0 ; virtual HRESULT __stdcall Paste(LONG &plLength, PAVIStream pstream, LONG lStart, LONG lEnd) = 0 ; virtual HRESULT __stdcall Clone(PAVIStream &ppResult) = 0 ; virtual HRESULT __stdcall SetInfo(TAviStreamInfoW &lpInfo, LONG cbInfo) = 0 ; public: /* TObject.Create */ inline __fastcall IAVIEditStream() : IUnknown() { } /* TObject.Destroy */ inline __fastcall virtual ~IAVIEditStream() { } }; typedef IAVIEditStream* *PAVIEditStream; class PASCALIMPLEMENTATION IAVIFile : public IUnknown { typedef IUnknown inherited; public: virtual HRESULT __stdcall Open(char * szFile, unsigned mode) = 0 ; virtual HRESULT __stdcall Info(TAviFileInfo &pfi, LONG lSize) = 0 ; virtual HRESULT __stdcall GetStream(PAVIStream &ppStream, unsigned fccType, LONG lParam) = 0 ; virtual HRESULT __stdcall CreateStream(PAVIStream &ppStream, const TAviStreamInfo &psi) = 0 ; virtual HRESULT __stdcall Save(char * szFile, TAviCompressOptions &lpOptions, AVISaveCallBack lpfnCallback) = 0 ; virtual HRESULT __stdcall WriteData(unsigned ckid, PVOID lpData, LONG cbData) = 0 ; virtual HRESULT __stdcall ReadData(unsigned ckid, PVOID lpData, LONG &lpcbData) = 0 ; virtual HRESULT __stdcall EndRecord() = 0 ; public: /* TObject.Create */ inline __fastcall IAVIFile() : IUnknown() { } /* TObject.Destroy */ inline __fastcall virtual ~IAVIFile() { } }; typedef IAVIFile* *PAVIFile; class PASCALIMPLEMENTATION IGetFrame : public IUnknown { typedef IUnknown inherited; public: virtual PVOID __stdcall GetFrame(LONG lPos) = 0 ; virtual HRESULT __stdcall SetFormat(Winapi::Windows::PBitmapInfoHeader lpbi, PVOID lpBits, int x, int y, int dx, int dy) = 0 ; public: /* TObject.Create */ inline __fastcall IGetFrame() : IUnknown() { } /* TObject.Destroy */ inline __fastcall virtual ~IGetFrame() { } }; typedef IGetFrame* *PGetFrame; //-- var, const, procedure --------------------------------------------------- static _DELPHI_CONST int streamtypeVIDEO = int(0x73646976); static _DELPHI_CONST int streamtypeAUDIO = int(0x73647561); static _DELPHI_CONST int streamtypeMIDI = int(0x7364696d); static _DELPHI_CONST int streamtypeTEXT = int(0x73747874); static _DELPHI_CONST int comptypeDIB = int(0x20424944); static _DELPHI_CONST System::Int8 AVIIF_KEYFRAME = System::Int8(0x10); static _DELPHI_CONST System::Int8 AVISTREAMINFO_DISABLED = System::Int8(0x1); static _DELPHI_CONST int AVISTREAMINFO_FORMATCHANGES = int(0x10000); static _DELPHI_CONST System::Int8 AVIFILEINFO_HASINDEX = System::Int8(0x10); static _DELPHI_CONST System::Int8 AVIFILEINFO_MUSTUSEINDEX = System::Int8(0x20); static _DELPHI_CONST System::Word AVIFILEINFO_ISINTERLEAVED = System::Word(0x100); static _DELPHI_CONST int AVIFILEINFO_WASCAPTUREFILE = int(0x10000); static _DELPHI_CONST int AVIFILEINFO_COPYRIGHTED = int(0x20000); static _DELPHI_CONST System::Int8 AVIFILECAPS_CANREAD = System::Int8(0x1); static _DELPHI_CONST System::Int8 AVIFILECAPS_CANWRITE = System::Int8(0x2); static _DELPHI_CONST System::Int8 AVIFILECAPS_ALLKEYFRAMES = System::Int8(0x10); static _DELPHI_CONST System::Int8 AVIFILECAPS_NOCOMPRESSION = System::Int8(0x20); static _DELPHI_CONST System::Int8 ICMF_CHOOSE_KEYFRAME = System::Int8(0x1); static _DELPHI_CONST System::Int8 ICMF_CHOOSE_DATARATE = System::Int8(0x2); static _DELPHI_CONST System::Int8 ICMF_CHOOSE_PREVIEW = System::Int8(0x4); static _DELPHI_CONST System::Int8 ICMF_CHOOSE_ALLCOMPRESSORS = System::Int8(0x8); static _DELPHI_CONST System::Int8 AVICOMPRESSF_INTERLEAVE = System::Int8(0x1); static _DELPHI_CONST System::Int8 AVICOMPRESSF_DATARATE = System::Int8(0x2); static _DELPHI_CONST System::Int8 AVICOMPRESSF_KEYFRAMES = System::Int8(0x4); static _DELPHI_CONST System::Int8 AVICOMPRESSF_VALID = System::Int8(0x8); extern DELPHI_PACKAGE GUID IID_IAVIFile; extern DELPHI_PACKAGE GUID IID_IAVIStream; extern DELPHI_PACKAGE GUID IID_IAVIStreaming; extern DELPHI_PACKAGE GUID IID_IGetFrame; extern DELPHI_PACKAGE GUID IID_IAVIEditStream; extern DELPHI_PACKAGE GUID CLSID_AVISimpleUnMarshal; extern DELPHI_PACKAGE GUID CLSID_AVIFile; static _DELPHI_CONST System::Int8 AVIFILEHANDLER_CANREAD = System::Int8(0x1); static _DELPHI_CONST System::Int8 AVIFILEHANDLER_CANWRITE = System::Int8(0x2); static _DELPHI_CONST System::Int8 AVIFILEHANDLER_CANACCEPTNONRGB = System::Int8(0x4); static _DELPHI_CONST System::Int8 FIND_DIR = System::Int8(0xf); static _DELPHI_CONST System::Int8 FIND_NEXT = System::Int8(0x1); static _DELPHI_CONST System::Int8 FIND_PREV = System::Int8(0x4); static _DELPHI_CONST System::Byte FIND_TYPE = System::Byte(0xf0); static _DELPHI_CONST System::Int8 FIND_KEY = System::Int8(0x10); static _DELPHI_CONST System::Int8 FIND_ANY = System::Int8(0x20); static _DELPHI_CONST System::Int8 FIND_FORMAT = System::Int8(0x40); static _DELPHI_CONST System::Word FIND_RET = System::Word(0xf000); static _DELPHI_CONST System::Int8 FIND_POS = System::Int8(0x0); static _DELPHI_CONST System::Word FIND_LENGTH = System::Word(0x1000); static _DELPHI_CONST System::Word FIND_OFFSET = System::Word(0x2000); static _DELPHI_CONST System::Word FIND_SIZE = System::Word(0x3000); static _DELPHI_CONST System::Word FIND_INDEX = System::Word(0x4000); static _DELPHI_CONST System::Int8 AVIERR_OK = System::Int8(0x0); static _DELPHI_CONST System::Int8 AVIIF_LIST = System::Int8(0x1); static _DELPHI_CONST System::Int8 AVIIF_TWOCC = System::Int8(0x2); extern DELPHI_PACKAGE HRESULT AVIERR_NOCOMPRESSOR; extern DELPHI_PACKAGE HRESULT AVIERR_MEMORY; extern DELPHI_PACKAGE HRESULT AVIERR_UNSUPPORTED; extern "C" void __stdcall AVIFileInit(void); extern "C" void __stdcall AVIFileExit(void); extern "C" unsigned __stdcall AVIFileAddRef(PAVIFile pfile); extern "C" unsigned __stdcall AVIFileRelease(PAVIFile pfile); extern "C" HRESULT __stdcall AVIFileOpen(PAVIFile &ppfile, System::WideChar * szFile, unsigned uMode, PCLSID lpHandler); extern "C" HRESULT __stdcall AVIFileOpenW(PAVIFile &ppfile, System::WideChar * szFile, unsigned uMode, PCLSID lpHandler); extern "C" HRESULT __stdcall AVIFileInfo(PAVIFile pfile, TAviFileInfo &pfi, LONG lSize); extern "C" HRESULT __stdcall AVIFileGetStream(PAVIFile pfile, PAVIStream &ppavi, unsigned fccType, LONG lParam); extern "C" HRESULT __stdcall AVIFileCreateStream(PAVIFile pfile, PAVIStream &ppavi, TAviStreamInfo &psi); extern "C" HRESULT __stdcall AVIFileCreateStreamW(PAVIFile pfile, PAVIStream &ppavi, TAviStreamInfoW &psi); extern "C" HRESULT __stdcall AVIFileWriteData(PAVIFile pfile, unsigned ckid, PVOID lpData, LONG cbData); extern "C" HRESULT __stdcall AVIFileReadData(unsigned ckid, PVOID lpData, LONG &lpcbData); extern "C" HRESULT __stdcall AVIFileEndRecord(PAVIFile pfile); extern "C" unsigned __stdcall AVIStreamAddRef(PAVIStream pavi); extern "C" unsigned __stdcall AVIStreamRelease(PAVIStream pavi); extern "C" HRESULT __stdcall AVIStreamInfo(PAVIStream pavi, TAviStreamInfo &psi, LONG lSize); extern "C" HRESULT __stdcall AVIStreamInfoW(PAVIStream pavi, TAviStreamInfoW &psi, LONG lSize); extern "C" LONG __stdcall AVIStreamFindSample(PAVIStream pavi, LONG lPos, LONG lFlags); extern "C" HRESULT __stdcall AVIStreamReadFormat(PAVIStream pavi, LONG lPos, PVOID lpFormat, LONG &lpcbFormat); extern "C" HRESULT __stdcall AVIStreamSetFormat(PAVIStream pavi, LONG lPos, PVOID lpFormat, LONG cbFormat); extern "C" HRESULT __stdcall AVIStreamReadData(PAVIStream pavi, unsigned fcc, PVOID lp, LONG &lpcb); extern "C" HRESULT __stdcall AVIStreamWriteData(PAVIStream pavi, unsigned fcc, PVOID lp, LONG cb); extern "C" HRESULT __stdcall AVIStreamRead(PAVIStream pavi, LONG lStart, LONG lSamples, PVOID lpBuffer, LONG cbBuffer, LONG &plBytes, LONG &plSamples); extern "C" HRESULT __stdcall AVIStreamWrite(PAVIStream pavi, LONG lStart, LONG lSamples, PVOID lpBuffer, LONG cbBuffer, unsigned dwFlags, void * plSampWritten, void * plBytesWritten); extern "C" LONG __stdcall AVIStreamStart(PAVIStream pavi); extern "C" LONG __stdcall AVIStreamLength(PAVIStream pavi); extern "C" LONG __stdcall AVIStreamTimeToSample(PAVIStream pavi, LONG lTime); extern "C" LONG __stdcall AVIStreamSampleToTime(PAVIStream pavi, LONG lSample); extern "C" LONG __stdcall AVIStreamBeginStreaming(PAVIStream pavi, LONG lStart, LONG lEnd, LONG lRate); extern "C" LONG __stdcall AVIStreamEndStreaming(PAVIStream pavi); extern "C" PGetFrame __stdcall AVIStreamGetFrameOpen(PAVIStream pavi, Winapi::Windows::PBitmapInfoHeader lpbiWanted); extern "C" PVOID __stdcall AVIStreamGetFrame(PGetFrame pg, LONG lPos); extern "C" HRESULT __stdcall AVIStreamGetFrameClose(PGetFrame pg); extern "C" HRESULT __stdcall AVIStreamOpenFromFile(PAVIStream &ppavi, System::WideChar * szFile, unsigned fccType, LONG lParam, unsigned mode, PCLSID pclsidHandler); extern "C" HRESULT __stdcall AVIStreamOpenFromFileW(PAVIStream &ppavi, System::WideChar * szFile, unsigned fccType, LONG lParam, unsigned mode, PCLSID pclsidHandler); extern "C" HRESULT __stdcall AVIStreamCreate(PAVIStream &ppavi, LONG lParam1, LONG lParam2, PCLSID pclsidHandler); extern "C" HRESULT __stdcall AVISaveV(System::WideChar * szFile, PCLSID pclsidHandler, AVISaveCallBack lpfnCallback, int nStreams, PAVIStream &ppavi, PAviCompressOptions &plpOptions); extern "C" bool __stdcall AVISaveOptions(HWND hwnd, unsigned uiFlags, int nStreams, void * pavi, void * plpOptions); extern "C" bool __stdcall AVISaveOptionsFree(int nStreams, PAviCompressOptions &plpOptions); extern "C" HRESULT __stdcall CreateEditableStream(PAVIStream &ppsEditable, PAVIStream psSource); extern "C" HRESULT __stdcall EditStreamSetInfo(PAVIStream pavi, PAviStreamInfoA lpinfo, LONG cbinfo); extern "C" HRESULT __stdcall AVIMakeCompressedStream(PAVIStream &ppsCompressed, PAVIStream psSource, PAviCompressOptions lpOptions, PCLSID pclsid); extern DELPHI_PACKAGE int __fastcall mmioFOURCC(System::AnsiString cc); } /* namespace Ievfw */ #if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_IEVFW) using namespace Ievfw; #endif #pragma pack(pop) #pragma option pop #pragma delphiheader end. //-- end unit ---------------------------------------------------------------- #endif // ievfwHPP