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.

56 lines
1.2 KiB

  1. //
  2. // syshelp.h
  3. //
  4. #ifndef _SYSHELP_H_
  5. #define _SYSHELP_H_
  6. #include "msctf.h"
  7. //
  8. // CSysHelpSink
  9. //
  10. typedef HRESULT (*SYSHELPINITMENU)(void *pv, ITfMenu *pMenu);
  11. typedef HRESULT (*SYSHELPMENUSELECT)(void *pv, UINT wID);
  12. //////////////////////////////////////////////////////////////////////////////
  13. //
  14. // CSysHelpSink
  15. //
  16. //////////////////////////////////////////////////////////////////////////////
  17. class CSysHelpSink : public ITfSystemLangBarItemSink
  18. {
  19. public:
  20. CSysHelpSink(SYSHELPINITMENU pfnInitMenu, SYSHELPMENUSELECT pfnMenuSelect, void *pv);
  21. ~CSysHelpSink();
  22. //
  23. // IUnknown methods
  24. //
  25. STDMETHODIMP QueryInterface(REFIID riid, void **ppvObj);
  26. STDMETHODIMP_(ULONG) AddRef(void);
  27. STDMETHODIMP_(ULONG) Release(void);
  28. //
  29. // ITfSource
  30. //
  31. STDMETHODIMP InitMenu(ITfMenu *pMenu);
  32. STDMETHODIMP OnMenuSelect(UINT wID);
  33. HRESULT _Advise(ITfLangBarItemMgr *plbimgr, REFGUID rguid);
  34. HRESULT _Unadvise(ITfLangBarItemMgr *plbimgr);
  35. private:
  36. SYSHELPINITMENU _pfnInitMenu;
  37. SYSHELPMENUSELECT _pfnMenuSelect;
  38. DWORD _dwCookie;
  39. void *_pv;
  40. GUID _guid;
  41. long _cRef;
  42. };
  43. #endif // _SYSHELP_H_