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.

55 lines
1.4 KiB

  1. // FrameworkNotifySink.h: interface for the CFrameworkNotifySink class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_FRAMEWORKNOTIFYSINK_H__E5927148_521E_11D1_9B97_00C04FA3B60C__INCLUDED_)
  5. #define AFX_FRAMEWORKNOTIFYSINK_H__E5927148_521E_11D1_9B97_00C04FA3B60C__INCLUDED_
  6. #if _MSC_VER >= 1000
  7. #pragma once
  8. #endif // _MSC_VER >= 1000
  9. #include "mmfw.h"
  10. #include "..\cdopt\cdopt.h"
  11. #define WM_DISCCHANGED WM_USER + 1500
  12. typedef struct CompNode
  13. {
  14. IMMComponent* pComp;
  15. HWND hwndComp;
  16. HMENU hmenuComp;
  17. IMMFWNotifySink* pSink;
  18. struct CompNode* pNext;
  19. TCHAR szTitle[MAX_PATH*2];
  20. } COMPNODE, *PCOMPNODE;
  21. LPCDOPT GetCDOpt();
  22. LPCDDATA GetCDData();
  23. class CFrameworkNotifySink : public IMMFWNotifySink
  24. {
  25. public:
  26. CFrameworkNotifySink(PCOMPNODE pNode);
  27. virtual ~CFrameworkNotifySink();
  28. STDMETHOD (QueryInterface)(REFIID riid, LPVOID *ppvObj);
  29. STDMETHOD_(ULONG,AddRef)();
  30. STDMETHOD_(ULONG,Release)();
  31. STDMETHOD (OnEvent)(MMEVENTS mmEventID, LPVOID pEvent);
  32. STDMETHOD_(void*,GetCustomMenu)();
  33. STDMETHOD_(HPALETTE,GetPalette)();
  34. STDMETHOD_(void*,GetOptions)();
  35. STDMETHOD_(void*,GetData)();
  36. public:
  37. static HWND m_hwndTitle;
  38. private:
  39. DWORD m_dwRef;
  40. PCOMPNODE m_pNode;
  41. TCHAR m_szAppName[MAX_PATH/2];
  42. };
  43. #endif // !defined(AFX_FRAMEWORKNOTIFYSINK_H__E5927148_521E_11D1_9B97_00C04FA3B60C__INCLUDED_)