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.

77 lines
1.6 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1995 - 1995.
  5. //
  6. // File: menu.hxx
  7. //
  8. // Contents: Declaration of CSharesCM, implementing IContextMenu
  9. //
  10. // History: 20-Dec-95 BruceFo Created
  11. //
  12. //----------------------------------------------------------------------------
  13. #ifndef __MENU_HXX__
  14. #define __MENU_HXX__
  15. class CSharesCM : public IContextMenu
  16. {
  17. public:
  18. CSharesCM(
  19. IN HWND hwnd
  20. );
  21. HRESULT
  22. InitInstance(
  23. IN PWSTR pszMachine,
  24. IN UINT cidl,
  25. IN LPCITEMIDLIST* apidl,
  26. IN IShellFolder* psf
  27. );
  28. ~CSharesCM();
  29. //
  30. // IUnknown methods
  31. //
  32. STDMETHOD(QueryInterface)(REFIID riid, LPVOID * ppvObj);
  33. STDMETHOD_(ULONG,AddRef)();
  34. STDMETHOD_(ULONG,Release)();
  35. //
  36. // IContextMenu methods
  37. //
  38. STDMETHOD(QueryContextMenu)(
  39. HMENU hmenu,
  40. UINT indexMenu,
  41. UINT idCmdFirst,
  42. UINT idCmdLast,
  43. UINT uFlags
  44. );
  45. STDMETHOD(InvokeCommand)(
  46. LPCMINVOKECOMMANDINFO lpici
  47. );
  48. STDMETHOD(GetCommandString)(
  49. UINT_PTR idCmd,
  50. UINT uType,
  51. UINT * pwReserved,
  52. LPSTR pszName,
  53. UINT cchMax
  54. );
  55. private:
  56. PWSTR m_pszMachine;
  57. UINT m_cidl;
  58. LPITEMIDLIST* m_apidl;
  59. HWND m_hwnd;
  60. IShellFolder* m_psf;
  61. ULONG m_ulRefs;
  62. };
  63. #endif // __MENU_HXX__