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.

136 lines
2.6 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1995 - 1995.
  5. //
  6. // File: sfolder.hxx
  7. //
  8. // Contents: Declaration of CSharesSF, an implementation of IShellFolder
  9. //
  10. // History: 13-Dec-95 BruceFo Created
  11. //
  12. //----------------------------------------------------------------------------
  13. #ifndef __SFOLDER_HXX__
  14. #define __SFOLDER_HXX__
  15. #include "shares.h"
  16. //////////////////////////////////////////////////////////////////////////////
  17. class CSharesSF : public IShellFolder
  18. {
  19. public:
  20. CSharesSF() {}
  21. ~CSharesSF() {}
  22. //
  23. // IUnknown methods
  24. //
  25. STDMETHOD(QueryInterface)(REFIID riid, LPVOID* ppvObj);
  26. STDMETHOD_(ULONG,AddRef)();
  27. STDMETHOD_(ULONG,Release)();
  28. //
  29. // IShellFolder methods
  30. //
  31. STDMETHOD(ParseDisplayName)(
  32. HWND hwndOwner,
  33. LPBC pbcReserved,
  34. LPOLESTR lpszDisplayName,
  35. ULONG* pchEaten,
  36. LPITEMIDLIST* ppidl,
  37. ULONG* pdwAttributes
  38. );
  39. STDMETHOD(EnumObjects)(
  40. HWND hwndOwner,
  41. DWORD grfFlags,
  42. LPENUMIDLIST* ppenumIDList
  43. );
  44. STDMETHOD(BindToObject)(
  45. LPCITEMIDLIST pidl,
  46. LPBC pbcReserved,
  47. REFIID riid,
  48. LPVOID* ppvOut
  49. );
  50. STDMETHOD(BindToStorage)(
  51. LPCITEMIDLIST pidl,
  52. LPBC pbcReserved,
  53. REFIID riid,
  54. LPVOID* ppvObj
  55. );
  56. STDMETHOD(CompareIDs)(
  57. LPARAM lParam,
  58. LPCITEMIDLIST pidl1,
  59. LPCITEMIDLIST pidl2
  60. );
  61. STDMETHOD(CreateViewObject)(
  62. HWND hwndOwner,
  63. REFIID riid,
  64. LPVOID* ppvOut
  65. );
  66. STDMETHOD(GetAttributesOf)(
  67. UINT cidl,
  68. LPCITEMIDLIST* apidl,
  69. ULONG* pdwInOut
  70. );
  71. STDMETHOD(GetUIObjectOf)(
  72. HWND hwndOwner,
  73. UINT cidl,
  74. LPCITEMIDLIST* apidl,
  75. REFIID riid,
  76. UINT* prgfInOut,
  77. LPVOID* ppvOut
  78. );
  79. STDMETHOD(GetDisplayNameOf)(
  80. LPCITEMIDLIST pidl,
  81. DWORD uFlags,
  82. LPSTRRET lpName
  83. );
  84. STDMETHOD(SetNameOf)(
  85. HWND hwndOwner,
  86. LPCITEMIDLIST pidl,
  87. LPCOLESTR lpszName,
  88. DWORD uFlags,
  89. LPITEMIDLIST* ppidlOut
  90. );
  91. private:
  92. //
  93. // Other
  94. //
  95. static
  96. HRESULT CALLBACK
  97. _SFVCallBack(
  98. LPSHELLVIEW psvOuter,
  99. LPSHELLFOLDER psf,
  100. HWND hwndOwner,
  101. UINT uMsg,
  102. WPARAM wParam,
  103. LPARAM lParam
  104. );
  105. int
  106. _CompareOne(
  107. DWORD iCol,
  108. LPIDSHARE pids1,
  109. LPIDSHARE pids2
  110. );
  111. };
  112. #endif // __SFOLDER_HXX__