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.

115 lines
2.2 KiB

  1. /*++
  2. Copyright (C) Microsoft Corporation, 1998 - 1999
  3. Module Name:
  4. ctextshl.h
  5. Abstract:
  6. This is the header for the Cert Type shell extension object.
  7. Author:
  8. petesk 27-aug-98
  9. Environment:
  10. NT only.
  11. --*/
  12. #ifndef __CTSHLEXT_H_
  13. #define __CTSHLEXT_H_
  14. #include <shlobj.h>
  15. /////////////////////////////////////////////////////////////////////////////
  16. // CDfsShell
  17. class ATL_NO_VTABLE CCertTypeShlExt :
  18. public CComObjectRootEx<CComSingleThreadModel>,
  19. public CComCoClass<CCertTypeShlExt, &CLSID_CertTypeShellExt>,
  20. public IShellExtInit,
  21. public IShellPropSheetExt,
  22. public IContextMenu
  23. {
  24. public:
  25. CCertTypeShlExt()
  26. {
  27. }
  28. ~CCertTypeShlExt()
  29. {
  30. }
  31. //Simple ALL 1.0 based registry entry
  32. DECLARE_REGISTRY( CCertTypeShlExt,
  33. _T("CAPESNPN.CCTShellExt.1"),
  34. _T("CAPESNPN.CCTShellExt"),
  35. IDS_CCTSHELLEXT_DESC,
  36. THREADFLAGS_APARTMENT)
  37. BEGIN_COM_MAP(CCertTypeShlExt)
  38. COM_INTERFACE_ENTRY(IShellExtInit)
  39. COM_INTERFACE_ENTRY(IShellPropSheetExt)
  40. COM_INTERFACE_ENTRY(IContextMenu)
  41. END_COM_MAP()
  42. // IDfsShell
  43. public:
  44. // IShellExtInit Methods
  45. STDMETHOD (Initialize)
  46. (
  47. IN LPCITEMIDLIST pidlFolder, // Points to an ITEMIDLIST structure
  48. IN LPDATAOBJECT lpdobj, // Points to an IDataObject interface
  49. IN HKEY hkeyProgID // Registry key for the file object or folder type
  50. );
  51. //IShellPropSheetExt methods
  52. STDMETHODIMP AddPages
  53. (
  54. IN LPFNADDPROPSHEETPAGE lpfnAddPage,
  55. IN LPARAM lParam
  56. );
  57. STDMETHODIMP ReplacePage
  58. (
  59. IN UINT uPageID,
  60. IN LPFNADDPROPSHEETPAGE lpfnReplaceWith,
  61. IN LPARAM lParam
  62. );
  63. // IContextMenu methods
  64. STDMETHODIMP GetCommandString
  65. (
  66. UINT_PTR idCmd,
  67. UINT uFlags,
  68. UINT *pwReserved,
  69. LPSTR pszName,
  70. UINT cchMax
  71. );
  72. STDMETHODIMP InvokeCommand
  73. (
  74. LPCMINVOKECOMMANDINFO lpici
  75. );
  76. STDMETHODIMP QueryContextMenu
  77. (
  78. HMENU hmenu,
  79. UINT indexMenu,
  80. UINT idCmdFirst,
  81. UINT idCmdLast,
  82. UINT uFlags
  83. );
  84. };
  85. #endif //__CTSHLEXT_H_