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.

145 lines
2.7 KiB

  1. // Interfaces.h: Definition of the TSUserExInterfaces class
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(__TSUSEREX_INTERFACES__)
  5. #define __TSUSEREX_INTERFACES__
  6. #include "resource.h"
  7. #include "tsusrsht.h"
  8. //#include "configdlg.h"
  9. #if _MSC_VER >= 1000
  10. #pragma once
  11. #endif // _MSC_VER >= 1000
  12. // #include "ConfigDlg.h" // for ConfigDlg
  13. class TSUserExInterfaces :
  14. public IExtendPropertySheet,
  15. public ISnapinHelp,
  16. public IShellExtInit,
  17. public IShellPropSheetExt,
  18. #ifdef _RTM_
  19. public ISnapinAbout,
  20. #endif
  21. public CComObjectRoot,
  22. public CComCoClass<TSUserExInterfaces, &CLSID_TSUserExInterfaces>
  23. {
  24. public:
  25. TSUserExInterfaces();
  26. ~TSUserExInterfaces();
  27. BEGIN_COM_MAP(TSUserExInterfaces)
  28. COM_INTERFACE_ENTRY(IExtendPropertySheet)
  29. COM_INTERFACE_ENTRY(ISnapinHelp)
  30. COM_INTERFACE_ENTRY(IShellExtInit)
  31. COM_INTERFACE_ENTRY(IShellPropSheetExt)
  32. #ifdef _RTM_
  33. COM_INTERFACE_ENTRY(ISnapinAbout)
  34. #endif
  35. END_COM_MAP()
  36. DECLARE_REGISTRY_RESOURCEID(IDR_USEREX_INTERFACES)
  37. //
  38. // IExtendPropertySheet
  39. //
  40. STDMETHOD( CreatePropertyPages )(
  41. LPPROPERTYSHEETCALLBACK lpProvider, // pointer to the callback interface
  42. LONG_PTR handle, // handle for routing notification
  43. LPDATAOBJECT lpIDataObject // pointer to the data object);
  44. );
  45. STDMETHOD( QueryPagesFor )(
  46. LPDATAOBJECT lpDataObject // pointer to the data object
  47. );
  48. //
  49. // ISnapinHelp
  50. //
  51. STDMETHOD( GetHelpTopic )(
  52. LPOLESTR *
  53. );
  54. //
  55. // IShellExtInit
  56. //
  57. STDMETHOD( Initialize )(
  58. LPCITEMIDLIST pidlFolder,
  59. LPDATAOBJECT lpdobj,
  60. HKEY hkeyProgID
  61. );
  62. //
  63. // IShellPropSheetExt
  64. //
  65. STDMETHOD( AddPages )(
  66. LPFNADDPROPSHEETPAGE lpfnAddPage,
  67. LPARAM lParam
  68. );
  69. STDMETHOD( ReplacePage )(
  70. UINT uPageID,
  71. LPFNADDPROPSHEETPAGE lpfnReplacePage,
  72. LPARAM lParam
  73. );
  74. #ifdef _RTM_
  75. //
  76. // ISnapinAbout
  77. //
  78. STDMETHOD( GetSnapinDescription )(
  79. LPOLESTR * );
  80. STDMETHOD( GetProvider )(
  81. LPOLESTR * );
  82. STDMETHOD( GetSnapinVersion )(
  83. LPOLESTR *lpVersion );
  84. STDMETHOD( GetSnapinImage )(
  85. HICON *hAppIcon );
  86. STDMETHOD( GetStaticFolderImage )(
  87. /* [out] */ HBITMAP *,
  88. /* [out] */ HBITMAP *,
  89. /* [out] */ HBITMAP *,
  90. /* [out] */ COLORREF *);
  91. #endif
  92. private:
  93. // TSConfigDlg *m_pUserConfigPage;
  94. CTSUserSheet *m_pTSUserSheet;
  95. LPDATAOBJECT m_pDsadataobj;
  96. //ConfigDlg *m_pMergedPage;
  97. };
  98. #endif // __TSUSEREX_INTERFACES__