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.

56 lines
1.5 KiB

  1. #ifndef __CConnectionPoint_h__
  2. #define __CConnectionPoint_h__
  3. ///////////////////////////////////////////////////////////
  4. //
  5. // CntPoint.h - CTangramModelConnectionPoint
  6. //
  7. // Defines the connection point object used by CTangramModel.
  8. //
  9. #include <ocidl.h> //For IConnectionPoint
  10. //#include "ConData.h"
  11. ///////////////////////////////////////////////////////////
  12. //
  13. // CConnectionPoint
  14. //
  15. class CConnectionPoint : public IConnectionPoint
  16. {
  17. public:
  18. // IUnknown
  19. virtual HRESULT __stdcall QueryInterface(const IID& iid, void** ppv) ;
  20. virtual ULONG __stdcall AddRef() ;
  21. virtual ULONG __stdcall Release() ;
  22. // Interface IConnectionPoint methods.
  23. virtual HRESULT __stdcall GetConnectionInterface(IID*);
  24. virtual HRESULT __stdcall GetConnectionPointContainer(IConnectionPointContainer**);
  25. virtual HRESULT __stdcall Advise(IUnknown*, DWORD*);
  26. virtual HRESULT __stdcall Unadvise(DWORD);
  27. virtual HRESULT __stdcall EnumConnections(IEnumConnections**);
  28. // Construction
  29. CConnectionPoint(IConnectionPointContainer*, const IID*) ;
  30. // Destruction
  31. ~CConnectionPoint() ;
  32. // Member variables
  33. public:
  34. // Interface ID of the outgoing interface supported by this connection point.
  35. const IID* m_piid ;
  36. // Point to the ConnectionPointerContainer
  37. IConnectionPointContainer* m_pIConnectionPointContainer ;
  38. // Cookie Incrementor
  39. DWORD m_dwNextCookie ;
  40. // Reference Count
  41. // Not required --- delegated to container long m_cRef;
  42. // STL List which holds points to the interfaces to call
  43. CONNECTDATA m_Cd;
  44. };
  45. #endif //__CConnectionPoint_h__