Source code of Windows XP (NT5)
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.

60 lines
1.8 KiB

  1. /* - - - - - - - - */
  2. /*
  3. ** Copyright (C) Microsoft Corporation 1993 - 1995. All rights reserved.
  4. */
  5. #ifdef __cplusplus
  6. class FAR CAVIMemStream : public IAVIStream {
  7. public:
  8. CAVIMemStream();
  9. public:
  10. STDMETHODIMP QueryInterface(const IID FAR& riid, void FAR* FAR* ppv); \
  11. STDMETHODIMP_(ULONG) AddRef(); \
  12. STDMETHODIMP_(ULONG) Release();
  13. STDMETHODIMP Create (THIS_ LPARAM lParam1, LPARAM lParam2);
  14. STDMETHODIMP Info (THIS_ AVISTREAMINFOW FAR * psi, LONG lSize);
  15. STDMETHODIMP_(LONG) FindSample (THIS_ LONG lPos, LONG lFlags);
  16. STDMETHODIMP ReadFormat (THIS_ LONG lPos,
  17. LPVOID lpFormat, LONG FAR *cbFormat);
  18. STDMETHODIMP SetFormat (THIS_ LONG lPos,
  19. LPVOID lpFormat, LONG cbFormat);
  20. STDMETHODIMP Read (THIS_ LONG lStart, LONG lSamples,
  21. LPVOID lpBuffer, LONG cbBuffer,
  22. LONG FAR * plBytes, LONG FAR * plSamples);
  23. STDMETHODIMP Write (THIS_ LONG lStart, LONG lSamples,
  24. LPVOID lpBuffer, LONG cbBuffer,
  25. DWORD dwFlags,
  26. LONG FAR *plSampWritten,
  27. LONG FAR *plBytesWritten);
  28. STDMETHODIMP Delete (THIS_ LONG lStart, LONG lSamples);
  29. STDMETHODIMP ReadData (THIS_ DWORD fcc, LPVOID lp, LONG FAR *lpcb);
  30. STDMETHODIMP WriteData (THIS_ DWORD fcc, LPVOID lp, LONG cb);
  31. #ifdef _WIN32
  32. STDMETHODIMP SetInfo(AVISTREAMINFOW FAR *lpInfo, LONG cbInfo);
  33. #else
  34. STDMETHODIMP Reserved1 (THIS);
  35. STDMETHODIMP Reserved2 (THIS);
  36. STDMETHODIMP Reserved3 (THIS);
  37. STDMETHODIMP Reserved4 (THIS);
  38. STDMETHODIMP Reserved5 (THIS);
  39. #endif
  40. public:
  41. ULONG m_refs;
  42. LPVOID m_lpMemory;
  43. LPVOID m_lpFormat;
  44. LONG m_cbFormat;
  45. LPVOID m_lpData;
  46. LONG m_cbData;
  47. AVISTREAMINFOW m_avistream; // stream info
  48. };
  49. #endif
  50. #ifdef __cplusplus
  51. extern "C"
  52. #endif