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.

44 lines
1.3 KiB

  1. //==========================================================================;
  2. //
  3. // devsegimpl.h : additional infrastructure to support implementing device segments
  4. // virtual base class used by devimpl and segimpl to store shared data
  5. // nicely from c++
  6. // Copyright (c) Microsoft Corporation 1999.
  7. //
  8. /////////////////////////////////////////////////////////////////////////////
  9. #pragma once
  10. #ifndef DEVICESEGMENTIMPL_H
  11. #define DEVICESEGMENTIMPL_H
  12. #include <segment.h>
  13. #include <seg.h>
  14. #include <filterenum.h>
  15. #include <errsupp.h>
  16. #ifndef DECLSPEC_NOVTABLE
  17. #define DECLSPEC_NOVTABLE __declspec(novtable)
  18. #endif
  19. namespace MSVideoControl {
  20. class DECLSPEC_NOVTABLE CMSVidDeviceSegmentImpl {
  21. public:
  22. bool m_fInit;
  23. VWSegmentContainer m_pContainer;
  24. DSGraph m_pGraph;
  25. DSFilterList m_Filters;
  26. DSFilterMoniker m_pDev;
  27. CMSVidDeviceSegmentImpl() : m_fInit(false), m_Filters(DSFilterList()) {}
  28. virtual ~CMSVidDeviceSegmentImpl() {
  29. m_pContainer.p = NULL; // we didn't addref to avoid circular ref counts(we're guaranteed nested lifetimes) and
  30. // we don't want to cause an unmatched release so manually clear the pointer
  31. }
  32. };
  33. }; // namespace
  34. #endif
  35. // end of file - devsegimpl.h