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.

79 lines
2.2 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1997 - 1999
  6. //
  7. // File: cryptpko.h
  8. //
  9. //--------------------------------------------------------------------------
  10. // CryptPKO.h : Declaration of the CCryptPKO
  11. #ifndef __CRYPTPKO_H_
  12. #define __CRYPTPKO_H_
  13. #include "resource.h" // main symbols
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CCryptPKO
  16. class ATL_NO_VTABLE CCryptPKO :
  17. public CComObjectRootEx<CComSingleThreadModel>,
  18. public CComCoClass<CCryptPKO, &CLSID_CryptPKO>,
  19. public ICryptPKO,
  20. public IContextMenu,
  21. public IShellPropSheetExt,
  22. public IShellExtInit
  23. {
  24. protected:
  25. LPDATAOBJECT m_pDataObj;
  26. public:
  27. DECLARE_REGISTRY_RESOURCEID(IDR_CRYPTPKO)
  28. DECLARE_NOT_AGGREGATABLE(CCryptPKO)
  29. BEGIN_COM_MAP(CCryptPKO)
  30. COM_INTERFACE_ENTRY(ICryptPKO)
  31. COM_INTERFACE_ENTRY(IContextMenu)
  32. COM_INTERFACE_ENTRY(IShellPropSheetExt)
  33. COM_INTERFACE_ENTRY(IShellExtInit)
  34. END_COM_MAP()
  35. // ICryptPKO
  36. public:
  37. CCryptPKO();
  38. ~CCryptPKO();
  39. //IShell members
  40. STDMETHODIMP QueryContextMenu(HMENU hMenu,
  41. UINT indexMenu,
  42. UINT idCmdFirst,
  43. UINT idCmdLast,
  44. UINT uFlags);
  45. STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO lpcmi);
  46. STDMETHODIMP GetCommandString(UINT_PTR idCmd,
  47. UINT uFlags,
  48. UINT FAR *reserved,
  49. LPSTR pszName,
  50. UINT cchMax);
  51. //IShellPropSheetExt methods
  52. STDMETHODIMP AddPages(LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam);
  53. STDMETHODIMP ReplacePage(UINT uPageID,
  54. LPFNADDPROPSHEETPAGE lpfnReplaceWith,
  55. LPARAM lParam);
  56. //IShellExtInit methods
  57. STDMETHODIMP Initialize(LPCITEMIDLIST pIDFolder,
  58. LPDATAOBJECT pDataObj,
  59. HKEY hKeyID);
  60. };
  61. #endif //__CRYPTPKO_H_