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.

65 lines
1.8 KiB

  1. // $$ClassType$$CM.h : Declaration of the C$$ClassType$$CM
  2. #ifndef __$$ClassType$$CM_H_
  3. #define __$$ClassType$$CM_H_
  4. #include "resource.h" // main symbols
  5. #include "shlobj.h"
  6. /////////////////////////////////////////////////////////////////////////////
  7. // CCM
  8. class ATL_NO_VTABLE C$$ClassType$$CM :
  9. public CComObjectRootEx<CComSingleThreadModel>,
  10. public CComCoClass<C$$ClassType$$CM, &CLSID_$$ClassType$$CM>,
  11. public IContextMenu3,
  12. public IShellExtInit
  13. {
  14. public:
  15. C$$ClassType$$CM()
  16. {
  17. }
  18. STDMETHODIMP Initialize ( LPCITEMIDLIST pidlFolder,
  19. LPDATAOBJECT lpdobj,
  20. HKEY hkeyProgID);
  21. STDMETHODIMP QueryContextMenu( HMENU hmenu,
  22. UINT indexMenu,
  23. UINT idCmdFirst,
  24. UINT idCmdLast,
  25. UINT uFlags);
  26. STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO lpici);
  27. STDMETHODIMP GetCommandString( UINT idCmd,
  28. UINT uType,
  29. UINT* pwReserved,
  30. LPSTR pszName,
  31. UINT cchMax);
  32. STDMETHODIMP HandleMenuMsg(UINT uMsg,
  33. WPARAM wParam,
  34. LPARAM lParam)
  35. { return HandleMenuMsg2(uMsg, wParam, lParam, NULL); }
  36. STDMETHODIMP HandleMenuMsg2(UINT uMsg,
  37. WPARAM wParam,
  38. LPARAM lParam,
  39. LRESULT* plResult);
  40. DECLARE_REGISTRY_RESOURCEID(IDR_SHELLEXTENSIONS)
  41. BEGIN_COM_MAP(C$$ClassType$$CM)
  42. COM_INTERFACE_ENTRY(IShellExtInit)
  43. COM_INTERFACE_ENTRY(IContextMenu)
  44. COM_INTERFACE_ENTRY(IContextMenu2)
  45. COM_INTERFACE_ENTRY(IContextMenu3)
  46. END_COM_MAP()
  47. public:
  48. };
  49. #endif //__$$ClassType$$CM_H_