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.

62 lines
1.5 KiB

  1. // PropShellExt.h: Definition of the CPropShellExt class
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(_PROPSHELLEXT_H)
  5. #define _PROPSHELLEXT_H
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "resource.h" // main symbols
  10. #include "common.h"
  11. #include "mdkeys.h"
  12. #include "W3PropPage.h"
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CPropShellExt
  15. class CPropShellExt :
  16. public CComObjectRootEx<CComSingleThreadModel>,
  17. public CComCoClass<CPropShellExt,&CLSID_PropShellExt>,
  18. public IShellExtInit,
  19. public IShellPropSheetExt
  20. {
  21. public:
  22. CPropShellExt()
  23. {
  24. }
  25. BEGIN_COM_MAP(CPropShellExt)
  26. COM_INTERFACE_ENTRY(IShellExtInit)
  27. COM_INTERFACE_ENTRY(IShellPropSheetExt)
  28. END_COM_MAP()
  29. //DECLARE_NOT_AGGREGATABLE(CPropShellExt)
  30. DECLARE_REGISTRY_RESOURCEID(IDR_PROP_SHELL_EXT)
  31. public:
  32. // IShellExtInit Methods
  33. STDMETHOD(Initialize)(LPCITEMIDLIST pIDFolder, LPDATAOBJECT pDataObj, HKEY hKeyID );
  34. //IShellPropSheetExt methods
  35. STDMETHODIMP AddPages(LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam);
  36. STDMETHODIMP ReplacePage(UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam);
  37. // const CComAuthInfo * GetAuthentication() const
  38. // {
  39. // return &m_auth;
  40. // }
  41. LPCTSTR GetPath()
  42. {
  43. return m_szFileName;
  44. }
  45. private:
  46. TCHAR m_szFileName[MAX_PATH];
  47. // CComAuthInfo m_auth;
  48. CW3PropPage m_psW3ShellExtProp;
  49. };
  50. #endif // !defined(_PROPSHELLEXT_H)