Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
1.9 KiB

  1. /* - - - - - - - - */
  2. /*
  3. ** Copyright (C) Microsoft Corporation 1993. All rights reserved.
  4. */
  5. /* - - - - - - - - */
  6. /*
  7. ** _StdClassImplementations
  8. ** Defines the standard implementations for a class object.
  9. */
  10. #define _StdClassImplementations(Impl) \
  11. STDMETHODIMP QueryInterface(const IID FAR& riid, void FAR* FAR* ppv); \
  12. STDMETHODIMP_(ULONG) AddRef(); \
  13. STDMETHODIMP_(ULONG) Release()
  14. /* - - - - - - - - */
  15. class FAR CFakeFile : IAVIFile {
  16. public:
  17. CFakeFile(int nStreams, PAVISTREAM FAR * papStreams);
  18. _StdClassImplementations(CUnknownImpl);
  19. STDMETHODIMP Open (THIS_
  20. LPCSTR szFile,
  21. UINT mode);
  22. STDMETHODIMP Info (THIS_
  23. AVIFILEINFO FAR * pfi,
  24. LONG lSize);
  25. STDMETHODIMP GetStream (THIS_
  26. PAVISTREAM FAR * ppStream,
  27. DWORD fccType,
  28. LONG lParam);
  29. STDMETHODIMP CreateStream (THIS_
  30. PAVISTREAM FAR * ppStream,
  31. AVISTREAMINFO FAR * psi);
  32. STDMETHODIMP Save (THIS_
  33. LPCSTR szFile,
  34. AVICOMPRESSOPTIONS FAR *lpOptions,
  35. AVISAVECALLBACK lpfnCallback);
  36. STDMETHODIMP WriteData (THIS_
  37. DWORD ckid,
  38. LPVOID lpData,
  39. LONG cbData);
  40. STDMETHODIMP ReadData (THIS_
  41. DWORD ckid,
  42. LPVOID lpData,
  43. LONG FAR *lpcbData);
  44. STDMETHODIMP EndRecord (THIS);
  45. STDMETHODIMP Reserved1 (THIS);
  46. STDMETHODIMP Reserved2 (THIS);
  47. STDMETHODIMP Reserved3 (THIS);
  48. STDMETHODIMP Reserved4 (THIS);
  49. STDMETHODIMP Reserved5 (THIS);
  50. public:
  51. IUnknown FAR* m_pUnknownOuter;
  52. //
  53. // AVIFile instance data
  54. //
  55. AVIFILEINFO FARSTRUCT avihdr; // file info
  56. ULONG m_refs;
  57. PAVISTREAM NEAR * aps;
  58. };