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.

82 lines
2.1 KiB

  1. /* - - - - - - - - */
  2. /*
  3. ** Copyright (C) Microsoft Corporation 1993 - 1995. 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. #ifndef _WIN32
  20. STDMETHODIMP Open (THIS_
  21. LPCTSTR szFile,
  22. UINT mode);
  23. #endif
  24. STDMETHODIMP Info (THIS_
  25. AVIFILEINFOW FAR * pfi,
  26. LONG lSize);
  27. STDMETHODIMP GetStream (THIS_
  28. PAVISTREAM FAR * ppStream,
  29. DWORD fccType,
  30. LONG lParam);
  31. STDMETHODIMP CreateStream (THIS_
  32. PAVISTREAM FAR * ppStream,
  33. AVISTREAMINFOW FAR * psi);
  34. #ifndef _WIN32
  35. STDMETHODIMP Save (THIS_
  36. LPCTSTR szFile,
  37. AVICOMPRESSOPTIONS FAR *lpOptions,
  38. AVISAVECALLBACK lpfnCallback);
  39. #endif
  40. STDMETHODIMP WriteData (THIS_
  41. DWORD ckid,
  42. LPVOID lpData,
  43. LONG cbData);
  44. STDMETHODIMP ReadData (THIS_
  45. DWORD ckid,
  46. LPVOID lpData,
  47. LONG FAR *lpcbData);
  48. STDMETHODIMP EndRecord (THIS);
  49. #ifdef _WIN32
  50. STDMETHODIMP DeleteStream (THIS_
  51. DWORD fccType,
  52. LONG lParam);
  53. #else
  54. STDMETHODIMP Reserved1 (THIS);
  55. STDMETHODIMP Reserved2 (THIS);
  56. STDMETHODIMP Reserved3 (THIS);
  57. STDMETHODIMP Reserved4 (THIS);
  58. STDMETHODIMP Reserved5 (THIS);
  59. #endif
  60. public:
  61. IUnknown FAR* m_pUnknownOuter;
  62. //
  63. // AVIFile instance data
  64. //
  65. AVIFILEINFOW FARSTRUCT avihdr; // file info
  66. ULONG m_refs;
  67. PAVISTREAM NEAR * aps;
  68. };