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.5 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1999-2000 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // CPINotifyUI.h
  7. //
  8. // Description:
  9. // INotifyUI Connection Point implementation.
  10. //
  11. // Maintained By:
  12. // Geoffrey Pease (GPease) 04-AUG-2000
  13. //
  14. //////////////////////////////////////////////////////////////////////////////
  15. #pragma once
  16. class CEnumCPINotifyUI;
  17. // CCPINotifyUI
  18. class
  19. CCPINotifyUI:
  20. public IConnectionPoint,
  21. public INotifyUI
  22. {
  23. private:
  24. // IUnknown
  25. LONG m_cRef; // Reference count
  26. // IConnectionPoint
  27. CEnumCPINotifyUI * m_penum; // Connection enumerator
  28. // INotifyUI
  29. private: // Methods
  30. CCPINotifyUI( );
  31. ~CCPINotifyUI();
  32. STDMETHOD(Init)( );
  33. public: // Methods
  34. static HRESULT
  35. S_HrCreateInstance( IUnknown ** ppunkOut );
  36. // IUnknown
  37. STDMETHOD( QueryInterface )( REFIID riid, LPVOID *ppv );
  38. STDMETHOD_( ULONG, AddRef )(void);
  39. STDMETHOD_( ULONG, Release )(void);
  40. // IConnectionPoint
  41. STDMETHOD( GetConnectionInterface )( IID * pIIDOut );
  42. STDMETHOD( GetConnectionPointContainer )( IConnectionPointContainer * * ppcpcOut );
  43. STDMETHOD( Advise )( IUnknown * pUnkSinkIn, DWORD * pdwCookieOut );
  44. STDMETHOD( Unadvise )( DWORD dwCookieIn );
  45. STDMETHOD( EnumConnections )( IEnumConnections * * ppEnumOut );
  46. // INotifyUI
  47. STDMETHOD( ObjectChanged )( OBJECTCOOKIE cookieIn );
  48. }; // class CCPINotifyUI