73 lines
1.8 KiB
C
73 lines
1.8 KiB
C
|
/* - - - - - - - - */
|
||
|
|
||
|
/*
|
||
|
** Copyright (C) Microsoft Corporation 1993. All rights reserved.
|
||
|
*/
|
||
|
|
||
|
/* - - - - - - - - */
|
||
|
|
||
|
/*
|
||
|
** _StdClassImplementations
|
||
|
** Defines the standard implementations for a class object.
|
||
|
*/
|
||
|
|
||
|
#define _StdClassImplementations(Impl) \
|
||
|
STDMETHODIMP QueryInterface(const IID FAR& riid, void FAR* FAR* ppv); \
|
||
|
STDMETHODIMP_(ULONG) AddRef(); \
|
||
|
STDMETHODIMP_(ULONG) Release()
|
||
|
|
||
|
|
||
|
/* - - - - - - - - */
|
||
|
|
||
|
class FAR CFakeFile : IAVIFile {
|
||
|
public:
|
||
|
CFakeFile(int nStreams, PAVISTREAM FAR * papStreams);
|
||
|
|
||
|
_StdClassImplementations(CUnknownImpl);
|
||
|
|
||
|
STDMETHODIMP Open (THIS_
|
||
|
LPCSTR szFile,
|
||
|
UINT mode);
|
||
|
STDMETHODIMP Info (THIS_
|
||
|
AVIFILEINFO FAR * pfi,
|
||
|
LONG lSize);
|
||
|
STDMETHODIMP GetStream (THIS_
|
||
|
PAVISTREAM FAR * ppStream,
|
||
|
DWORD fccType,
|
||
|
LONG lParam);
|
||
|
STDMETHODIMP CreateStream (THIS_
|
||
|
PAVISTREAM FAR * ppStream,
|
||
|
AVISTREAMINFO FAR * psi);
|
||
|
STDMETHODIMP Save (THIS_
|
||
|
LPCSTR szFile,
|
||
|
AVICOMPRESSOPTIONS FAR *lpOptions,
|
||
|
AVISAVECALLBACK lpfnCallback);
|
||
|
STDMETHODIMP WriteData (THIS_
|
||
|
DWORD ckid,
|
||
|
LPVOID lpData,
|
||
|
LONG cbData);
|
||
|
STDMETHODIMP ReadData (THIS_
|
||
|
DWORD ckid,
|
||
|
LPVOID lpData,
|
||
|
LONG FAR *lpcbData);
|
||
|
STDMETHODIMP EndRecord (THIS);
|
||
|
STDMETHODIMP Reserved1 (THIS);
|
||
|
STDMETHODIMP Reserved2 (THIS);
|
||
|
STDMETHODIMP Reserved3 (THIS);
|
||
|
STDMETHODIMP Reserved4 (THIS);
|
||
|
STDMETHODIMP Reserved5 (THIS);
|
||
|
|
||
|
public:
|
||
|
IUnknown FAR* m_pUnknownOuter;
|
||
|
|
||
|
//
|
||
|
// AVIFile instance data
|
||
|
//
|
||
|
AVIFILEINFO FARSTRUCT avihdr; // file info
|
||
|
ULONG m_refs;
|
||
|
PAVISTREAM NEAR * aps;
|
||
|
};
|
||
|
|
||
|
|
||
|
|