ShObjIdl.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:286k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for shobjidl.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __shobjidl_h__
  27. #define __shobjidl_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IPersistFolder_FWD_DEFINED__
  33. #define __IPersistFolder_FWD_DEFINED__
  34. typedef interface IPersistFolder IPersistFolder;
  35. #endif  /* __IPersistFolder_FWD_DEFINED__ */
  36. #ifndef __IPersistFolder2_FWD_DEFINED__
  37. #define __IPersistFolder2_FWD_DEFINED__
  38. typedef interface IPersistFolder2 IPersistFolder2;
  39. #endif  /* __IPersistFolder2_FWD_DEFINED__ */
  40. #ifndef __IPersistIDList_FWD_DEFINED__
  41. #define __IPersistIDList_FWD_DEFINED__
  42. typedef interface IPersistIDList IPersistIDList;
  43. #endif  /* __IPersistIDList_FWD_DEFINED__ */
  44. #ifndef __IEnumIDList_FWD_DEFINED__
  45. #define __IEnumIDList_FWD_DEFINED__
  46. typedef interface IEnumIDList IEnumIDList;
  47. #endif  /* __IEnumIDList_FWD_DEFINED__ */
  48. #ifndef __IShellFolder_FWD_DEFINED__
  49. #define __IShellFolder_FWD_DEFINED__
  50. typedef interface IShellFolder IShellFolder;
  51. #endif  /* __IShellFolder_FWD_DEFINED__ */
  52. #ifndef __IEnumExtraSearch_FWD_DEFINED__
  53. #define __IEnumExtraSearch_FWD_DEFINED__
  54. typedef interface IEnumExtraSearch IEnumExtraSearch;
  55. #endif  /* __IEnumExtraSearch_FWD_DEFINED__ */
  56. #ifndef __IShellFolder2_FWD_DEFINED__
  57. #define __IShellFolder2_FWD_DEFINED__
  58. typedef interface IShellFolder2 IShellFolder2;
  59. #endif  /* __IShellFolder2_FWD_DEFINED__ */
  60. #ifndef __IShellView_FWD_DEFINED__
  61. #define __IShellView_FWD_DEFINED__
  62. typedef interface IShellView IShellView;
  63. #endif  /* __IShellView_FWD_DEFINED__ */
  64. #ifndef __IShellView2_FWD_DEFINED__
  65. #define __IShellView2_FWD_DEFINED__
  66. typedef interface IShellView2 IShellView2;
  67. #endif  /* __IShellView2_FWD_DEFINED__ */
  68. #ifndef __IFolderView_FWD_DEFINED__
  69. #define __IFolderView_FWD_DEFINED__
  70. typedef interface IFolderView IFolderView;
  71. #endif  /* __IFolderView_FWD_DEFINED__ */
  72. #ifndef __IFolderFilterSite_FWD_DEFINED__
  73. #define __IFolderFilterSite_FWD_DEFINED__
  74. typedef interface IFolderFilterSite IFolderFilterSite;
  75. #endif  /* __IFolderFilterSite_FWD_DEFINED__ */
  76. #ifndef __IFolderFilter_FWD_DEFINED__
  77. #define __IFolderFilter_FWD_DEFINED__
  78. typedef interface IFolderFilter IFolderFilter;
  79. #endif  /* __IFolderFilter_FWD_DEFINED__ */
  80. #ifndef __IShellBrowser_FWD_DEFINED__
  81. #define __IShellBrowser_FWD_DEFINED__
  82. typedef interface IShellBrowser IShellBrowser;
  83. #endif  /* __IShellBrowser_FWD_DEFINED__ */
  84. #ifndef __IProfferService_FWD_DEFINED__
  85. #define __IProfferService_FWD_DEFINED__
  86. typedef interface IProfferService IProfferService;
  87. #endif  /* __IProfferService_FWD_DEFINED__ */
  88. #ifndef __IPropertyUI_FWD_DEFINED__
  89. #define __IPropertyUI_FWD_DEFINED__
  90. typedef interface IPropertyUI IPropertyUI;
  91. #endif  /* __IPropertyUI_FWD_DEFINED__ */
  92. #ifndef __ICategoryProvider_FWD_DEFINED__
  93. #define __ICategoryProvider_FWD_DEFINED__
  94. typedef interface ICategoryProvider ICategoryProvider;
  95. #endif  /* __ICategoryProvider_FWD_DEFINED__ */
  96. #ifndef __ICategorizer_FWD_DEFINED__
  97. #define __ICategorizer_FWD_DEFINED__
  98. typedef interface ICategorizer ICategorizer;
  99. #endif  /* __ICategorizer_FWD_DEFINED__ */
  100. #ifndef __IShellLinkA_FWD_DEFINED__
  101. #define __IShellLinkA_FWD_DEFINED__
  102. typedef interface IShellLinkA IShellLinkA;
  103. #endif  /* __IShellLinkA_FWD_DEFINED__ */
  104. #ifndef __IShellLinkW_FWD_DEFINED__
  105. #define __IShellLinkW_FWD_DEFINED__
  106. typedef interface IShellLinkW IShellLinkW;
  107. #endif  /* __IShellLinkW_FWD_DEFINED__ */
  108. #ifndef __IActionProgressDialog_FWD_DEFINED__
  109. #define __IActionProgressDialog_FWD_DEFINED__
  110. typedef interface IActionProgressDialog IActionProgressDialog;
  111. #endif  /* __IActionProgressDialog_FWD_DEFINED__ */
  112. #ifndef __IHWEventHandler_FWD_DEFINED__
  113. #define __IHWEventHandler_FWD_DEFINED__
  114. typedef interface IHWEventHandler IHWEventHandler;
  115. #endif  /* __IHWEventHandler_FWD_DEFINED__ */
  116. #ifndef __IQueryCancelAutoPlay_FWD_DEFINED__
  117. #define __IQueryCancelAutoPlay_FWD_DEFINED__
  118. typedef interface IQueryCancelAutoPlay IQueryCancelAutoPlay;
  119. #endif  /* __IQueryCancelAutoPlay_FWD_DEFINED__ */
  120. #ifndef __IActionProgress_FWD_DEFINED__
  121. #define __IActionProgress_FWD_DEFINED__
  122. typedef interface IActionProgress IActionProgress;
  123. #endif  /* __IActionProgress_FWD_DEFINED__ */
  124. #ifndef __IShellExtInit_FWD_DEFINED__
  125. #define __IShellExtInit_FWD_DEFINED__
  126. typedef interface IShellExtInit IShellExtInit;
  127. #endif  /* __IShellExtInit_FWD_DEFINED__ */
  128. #ifndef __IShellPropSheetExt_FWD_DEFINED__
  129. #define __IShellPropSheetExt_FWD_DEFINED__
  130. typedef interface IShellPropSheetExt IShellPropSheetExt;
  131. #endif  /* __IShellPropSheetExt_FWD_DEFINED__ */
  132. #ifndef __IRemoteComputer_FWD_DEFINED__
  133. #define __IRemoteComputer_FWD_DEFINED__
  134. typedef interface IRemoteComputer IRemoteComputer;
  135. #endif  /* __IRemoteComputer_FWD_DEFINED__ */
  136. #ifndef __IQueryContinue_FWD_DEFINED__
  137. #define __IQueryContinue_FWD_DEFINED__
  138. typedef interface IQueryContinue IQueryContinue;
  139. #endif  /* __IQueryContinue_FWD_DEFINED__ */
  140. #ifndef __IUserNotification_FWD_DEFINED__
  141. #define __IUserNotification_FWD_DEFINED__
  142. typedef interface IUserNotification IUserNotification;
  143. #endif  /* __IUserNotification_FWD_DEFINED__ */
  144. #ifndef __IItemNameLimits_FWD_DEFINED__
  145. #define __IItemNameLimits_FWD_DEFINED__
  146. typedef interface IItemNameLimits IItemNameLimits;
  147. #endif  /* __IItemNameLimits_FWD_DEFINED__ */
  148. #ifndef __INetCrawler_FWD_DEFINED__
  149. #define __INetCrawler_FWD_DEFINED__
  150. typedef interface INetCrawler INetCrawler;
  151. #endif  /* __INetCrawler_FWD_DEFINED__ */
  152. #ifndef __IExtractImage_FWD_DEFINED__
  153. #define __IExtractImage_FWD_DEFINED__
  154. typedef interface IExtractImage IExtractImage;
  155. #endif  /* __IExtractImage_FWD_DEFINED__ */
  156. #ifndef __IExtractImage2_FWD_DEFINED__
  157. #define __IExtractImage2_FWD_DEFINED__
  158. typedef interface IExtractImage2 IExtractImage2;
  159. #endif  /* __IExtractImage2_FWD_DEFINED__ */
  160. #ifndef __IUserEventTimerCallback_FWD_DEFINED__
  161. #define __IUserEventTimerCallback_FWD_DEFINED__
  162. typedef interface IUserEventTimerCallback IUserEventTimerCallback;
  163. #endif  /* __IUserEventTimerCallback_FWD_DEFINED__ */
  164. #ifndef __IUserEventTimer_FWD_DEFINED__
  165. #define __IUserEventTimer_FWD_DEFINED__
  166. typedef interface IUserEventTimer IUserEventTimer;
  167. #endif  /* __IUserEventTimer_FWD_DEFINED__ */
  168. #ifndef __IDockingWindow_FWD_DEFINED__
  169. #define __IDockingWindow_FWD_DEFINED__
  170. typedef interface IDockingWindow IDockingWindow;
  171. #endif  /* __IDockingWindow_FWD_DEFINED__ */
  172. #ifndef __IDeskBand_FWD_DEFINED__
  173. #define __IDeskBand_FWD_DEFINED__
  174. typedef interface IDeskBand IDeskBand;
  175. #endif  /* __IDeskBand_FWD_DEFINED__ */
  176. #ifndef __ITaskbarList_FWD_DEFINED__
  177. #define __ITaskbarList_FWD_DEFINED__
  178. typedef interface ITaskbarList ITaskbarList;
  179. #endif  /* __ITaskbarList_FWD_DEFINED__ */
  180. #ifndef __ITaskbarList2_FWD_DEFINED__
  181. #define __ITaskbarList2_FWD_DEFINED__
  182. typedef interface ITaskbarList2 ITaskbarList2;
  183. #endif  /* __ITaskbarList2_FWD_DEFINED__ */
  184. #ifndef __ICDBurn_FWD_DEFINED__
  185. #define __ICDBurn_FWD_DEFINED__
  186. typedef interface ICDBurn ICDBurn;
  187. #endif  /* __ICDBurn_FWD_DEFINED__ */
  188. #ifndef __IAddressBarParser_FWD_DEFINED__
  189. #define __IAddressBarParser_FWD_DEFINED__
  190. typedef interface IAddressBarParser IAddressBarParser;
  191. #endif  /* __IAddressBarParser_FWD_DEFINED__ */
  192. #ifndef __IWizardSite_FWD_DEFINED__
  193. #define __IWizardSite_FWD_DEFINED__
  194. typedef interface IWizardSite IWizardSite;
  195. #endif  /* __IWizardSite_FWD_DEFINED__ */
  196. #ifndef __IWizardExtension_FWD_DEFINED__
  197. #define __IWizardExtension_FWD_DEFINED__
  198. typedef interface IWizardExtension IWizardExtension;
  199. #endif  /* __IWizardExtension_FWD_DEFINED__ */
  200. #ifndef __IWebWizardExtension_FWD_DEFINED__
  201. #define __IWebWizardExtension_FWD_DEFINED__
  202. typedef interface IWebWizardExtension IWebWizardExtension;
  203. #endif  /* __IWebWizardExtension_FWD_DEFINED__ */
  204. #ifndef __IPublishingWizard_FWD_DEFINED__
  205. #define __IPublishingWizard_FWD_DEFINED__
  206. typedef interface IPublishingWizard IPublishingWizard;
  207. #endif  /* __IPublishingWizard_FWD_DEFINED__ */
  208. #ifndef __IFolderViewHost_FWD_DEFINED__
  209. #define __IFolderViewHost_FWD_DEFINED__
  210. typedef interface IFolderViewHost IFolderViewHost;
  211. #endif  /* __IFolderViewHost_FWD_DEFINED__ */
  212. #ifndef __IAutoCompleteDropDown_FWD_DEFINED__
  213. #define __IAutoCompleteDropDown_FWD_DEFINED__
  214. typedef interface IAutoCompleteDropDown IAutoCompleteDropDown;
  215. #endif  /* __IAutoCompleteDropDown_FWD_DEFINED__ */
  216. #ifndef __QueryCancelAutoPlay_FWD_DEFINED__
  217. #define __QueryCancelAutoPlay_FWD_DEFINED__
  218. #ifdef __cplusplus
  219. typedef class QueryCancelAutoPlay QueryCancelAutoPlay;
  220. #else
  221. typedef struct QueryCancelAutoPlay QueryCancelAutoPlay;
  222. #endif /* __cplusplus */
  223. #endif  /* __QueryCancelAutoPlay_FWD_DEFINED__ */
  224. #ifndef __DriveSizeCategorizer_FWD_DEFINED__
  225. #define __DriveSizeCategorizer_FWD_DEFINED__
  226. #ifdef __cplusplus
  227. typedef class DriveSizeCategorizer DriveSizeCategorizer;
  228. #else
  229. typedef struct DriveSizeCategorizer DriveSizeCategorizer;
  230. #endif /* __cplusplus */
  231. #endif  /* __DriveSizeCategorizer_FWD_DEFINED__ */
  232. #ifndef __DriveTypeCategorizer_FWD_DEFINED__
  233. #define __DriveTypeCategorizer_FWD_DEFINED__
  234. #ifdef __cplusplus
  235. typedef class DriveTypeCategorizer DriveTypeCategorizer;
  236. #else
  237. typedef struct DriveTypeCategorizer DriveTypeCategorizer;
  238. #endif /* __cplusplus */
  239. #endif  /* __DriveTypeCategorizer_FWD_DEFINED__ */
  240. #ifndef __FreeSpaceCategorizer_FWD_DEFINED__
  241. #define __FreeSpaceCategorizer_FWD_DEFINED__
  242. #ifdef __cplusplus
  243. typedef class FreeSpaceCategorizer FreeSpaceCategorizer;
  244. #else
  245. typedef struct FreeSpaceCategorizer FreeSpaceCategorizer;
  246. #endif /* __cplusplus */
  247. #endif  /* __FreeSpaceCategorizer_FWD_DEFINED__ */
  248. #ifndef __TimeCategorizer_FWD_DEFINED__
  249. #define __TimeCategorizer_FWD_DEFINED__
  250. #ifdef __cplusplus
  251. typedef class TimeCategorizer TimeCategorizer;
  252. #else
  253. typedef struct TimeCategorizer TimeCategorizer;
  254. #endif /* __cplusplus */
  255. #endif  /* __TimeCategorizer_FWD_DEFINED__ */
  256. #ifndef __SizeCategorizer_FWD_DEFINED__
  257. #define __SizeCategorizer_FWD_DEFINED__
  258. #ifdef __cplusplus
  259. typedef class SizeCategorizer SizeCategorizer;
  260. #else
  261. typedef struct SizeCategorizer SizeCategorizer;
  262. #endif /* __cplusplus */
  263. #endif  /* __SizeCategorizer_FWD_DEFINED__ */
  264. #ifndef __AlphabeticalCategorizer_FWD_DEFINED__
  265. #define __AlphabeticalCategorizer_FWD_DEFINED__
  266. #ifdef __cplusplus
  267. typedef class AlphabeticalCategorizer AlphabeticalCategorizer;
  268. #else
  269. typedef struct AlphabeticalCategorizer AlphabeticalCategorizer;
  270. #endif /* __cplusplus */
  271. #endif  /* __AlphabeticalCategorizer_FWD_DEFINED__ */
  272. #ifndef __MergedCategorizer_FWD_DEFINED__
  273. #define __MergedCategorizer_FWD_DEFINED__
  274. #ifdef __cplusplus
  275. typedef class MergedCategorizer MergedCategorizer;
  276. #else
  277. typedef struct MergedCategorizer MergedCategorizer;
  278. #endif /* __cplusplus */
  279. #endif  /* __MergedCategorizer_FWD_DEFINED__ */
  280. #ifndef __ImageProperties_FWD_DEFINED__
  281. #define __ImageProperties_FWD_DEFINED__
  282. #ifdef __cplusplus
  283. typedef class ImageProperties ImageProperties;
  284. #else
  285. typedef struct ImageProperties ImageProperties;
  286. #endif /* __cplusplus */
  287. #endif  /* __ImageProperties_FWD_DEFINED__ */
  288. #ifndef __PropertiesUI_FWD_DEFINED__
  289. #define __PropertiesUI_FWD_DEFINED__
  290. #ifdef __cplusplus
  291. typedef class PropertiesUI PropertiesUI;
  292. #else
  293. typedef struct PropertiesUI PropertiesUI;
  294. #endif /* __cplusplus */
  295. #endif  /* __PropertiesUI_FWD_DEFINED__ */
  296. #ifndef __UserNotification_FWD_DEFINED__
  297. #define __UserNotification_FWD_DEFINED__
  298. #ifdef __cplusplus
  299. typedef class UserNotification UserNotification;
  300. #else
  301. typedef struct UserNotification UserNotification;
  302. #endif /* __cplusplus */
  303. #endif  /* __UserNotification_FWD_DEFINED__ */
  304. #ifndef __UserEventTimerCallback_FWD_DEFINED__
  305. #define __UserEventTimerCallback_FWD_DEFINED__
  306. #ifdef __cplusplus
  307. typedef class UserEventTimerCallback UserEventTimerCallback;
  308. #else
  309. typedef struct UserEventTimerCallback UserEventTimerCallback;
  310. #endif /* __cplusplus */
  311. #endif  /* __UserEventTimerCallback_FWD_DEFINED__ */
  312. #ifndef __UserEventTimer_FWD_DEFINED__
  313. #define __UserEventTimer_FWD_DEFINED__
  314. #ifdef __cplusplus
  315. typedef class UserEventTimer UserEventTimer;
  316. #else
  317. typedef struct UserEventTimer UserEventTimer;
  318. #endif /* __cplusplus */
  319. #endif  /* __UserEventTimer_FWD_DEFINED__ */
  320. #ifndef __NetCrawler_FWD_DEFINED__
  321. #define __NetCrawler_FWD_DEFINED__
  322. #ifdef __cplusplus
  323. typedef class NetCrawler NetCrawler;
  324. #else
  325. typedef struct NetCrawler NetCrawler;
  326. #endif /* __cplusplus */
  327. #endif  /* __NetCrawler_FWD_DEFINED__ */
  328. #ifndef __CDBurn_FWD_DEFINED__
  329. #define __CDBurn_FWD_DEFINED__
  330. #ifdef __cplusplus
  331. typedef class CDBurn CDBurn;
  332. #else
  333. typedef struct CDBurn CDBurn;
  334. #endif /* __cplusplus */
  335. #endif  /* __CDBurn_FWD_DEFINED__ */
  336. #ifndef __AddressBarParser_FWD_DEFINED__
  337. #define __AddressBarParser_FWD_DEFINED__
  338. #ifdef __cplusplus
  339. typedef class AddressBarParser AddressBarParser;
  340. #else
  341. typedef struct AddressBarParser AddressBarParser;
  342. #endif /* __cplusplus */
  343. #endif  /* __AddressBarParser_FWD_DEFINED__ */
  344. #ifndef __TaskbarList_FWD_DEFINED__
  345. #define __TaskbarList_FWD_DEFINED__
  346. #ifdef __cplusplus
  347. typedef class TaskbarList TaskbarList;
  348. #else
  349. typedef struct TaskbarList TaskbarList;
  350. #endif /* __cplusplus */
  351. #endif  /* __TaskbarList_FWD_DEFINED__ */
  352. #ifndef __WebWizardHost_FWD_DEFINED__
  353. #define __WebWizardHost_FWD_DEFINED__
  354. #ifdef __cplusplus
  355. typedef class WebWizardHost WebWizardHost;
  356. #else
  357. typedef struct WebWizardHost WebWizardHost;
  358. #endif /* __cplusplus */
  359. #endif  /* __WebWizardHost_FWD_DEFINED__ */
  360. #ifndef __PublishDropTarget_FWD_DEFINED__
  361. #define __PublishDropTarget_FWD_DEFINED__
  362. #ifdef __cplusplus
  363. typedef class PublishDropTarget PublishDropTarget;
  364. #else
  365. typedef struct PublishDropTarget PublishDropTarget;
  366. #endif /* __cplusplus */
  367. #endif  /* __PublishDropTarget_FWD_DEFINED__ */
  368. #ifndef __PublishingWizard_FWD_DEFINED__
  369. #define __PublishingWizard_FWD_DEFINED__
  370. #ifdef __cplusplus
  371. typedef class PublishingWizard PublishingWizard;
  372. #else
  373. typedef struct PublishingWizard PublishingWizard;
  374. #endif /* __cplusplus */
  375. #endif  /* __PublishingWizard_FWD_DEFINED__ */
  376. #ifndef __InternetPrintOrdering_FWD_DEFINED__
  377. #define __InternetPrintOrdering_FWD_DEFINED__
  378. #ifdef __cplusplus
  379. typedef class InternetPrintOrdering InternetPrintOrdering;
  380. #else
  381. typedef struct InternetPrintOrdering InternetPrintOrdering;
  382. #endif /* __cplusplus */
  383. #endif  /* __InternetPrintOrdering_FWD_DEFINED__ */
  384. #ifndef __FolderViewHost_FWD_DEFINED__
  385. #define __FolderViewHost_FWD_DEFINED__
  386. #ifdef __cplusplus
  387. typedef class FolderViewHost FolderViewHost;
  388. #else
  389. typedef struct FolderViewHost FolderViewHost;
  390. #endif /* __cplusplus */
  391. #endif  /* __FolderViewHost_FWD_DEFINED__ */
  392. /* header files for imported files */
  393. #include "objidl.h"
  394. #include "oleidl.h"
  395. #include "oaidl.h"
  396. #include "shtypes.h"
  397. #include "servprov.h"
  398. #include "comcat.h"
  399. #include "propidl.h"
  400. #include "prsht.h"
  401. #include "msxml.h"
  402. #ifdef __cplusplus
  403. extern "C"{
  404. #endif 
  405. void * __RPC_USER MIDL_user_allocate(size_t);
  406. void __RPC_USER MIDL_user_free( void * ); 
  407. /* interface __MIDL_itf_shobjidl_0000 */
  408. /* [local] */ 
  409. #ifndef _WINRESRC_
  410. #ifndef _WIN32_IE
  411. #define _WIN32_IE 0x0501
  412. #else
  413. #if (_WIN32_IE < 0x0400) && defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0500)
  414. #error _WIN32_IE setting conflicts with _WIN32_WINNT setting
  415. #endif
  416. #endif
  417. #endif
  418. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0000_v0_0_c_ifspec;
  419. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0000_v0_0_s_ifspec;
  420. #ifndef __IPersistFolder_INTERFACE_DEFINED__
  421. #define __IPersistFolder_INTERFACE_DEFINED__
  422. /* interface IPersistFolder */
  423. /* [unique][uuid][object] */ 
  424. EXTERN_C const IID IID_IPersistFolder;
  425. #if defined(__cplusplus) && !defined(CINTERFACE)
  426.     
  427.     MIDL_INTERFACE("000214EA-0000-0000-C000-000000000046")
  428.     IPersistFolder : public IPersist
  429.     {
  430.     public:
  431.         virtual HRESULT STDMETHODCALLTYPE Initialize( 
  432.             /* [in] */ LPCITEMIDLIST pidl) = 0;
  433.         
  434.     };
  435.     
  436. #else  /* C style interface */
  437.     typedef struct IPersistFolderVtbl
  438.     {
  439.         BEGIN_INTERFACE
  440.         
  441.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  442.             IPersistFolder * This,
  443.             /* [in] */ REFIID riid,
  444.             /* [iid_is][out] */ void **ppvObject);
  445.         
  446.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  447.             IPersistFolder * This);
  448.         
  449.         ULONG ( STDMETHODCALLTYPE *Release )( 
  450.             IPersistFolder * This);
  451.         
  452.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  453.             IPersistFolder * This,
  454.             /* [out] */ CLSID *pClassID);
  455.         
  456.         HRESULT ( STDMETHODCALLTYPE *Initialize )( 
  457.             IPersistFolder * This,
  458.             /* [in] */ LPCITEMIDLIST pidl);
  459.         
  460.         END_INTERFACE
  461.     } IPersistFolderVtbl;
  462.     interface IPersistFolder
  463.     {
  464.         CONST_VTBL struct IPersistFolderVtbl *lpVtbl;
  465.     };
  466.     
  467. #ifdef COBJMACROS
  468. #define IPersistFolder_QueryInterface(This,riid,ppvObject)
  469.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  470. #define IPersistFolder_AddRef(This)
  471.     (This)->lpVtbl -> AddRef(This)
  472. #define IPersistFolder_Release(This)
  473.     (This)->lpVtbl -> Release(This)
  474. #define IPersistFolder_GetClassID(This,pClassID)
  475.     (This)->lpVtbl -> GetClassID(This,pClassID)
  476. #define IPersistFolder_Initialize(This,pidl)
  477.     (This)->lpVtbl -> Initialize(This,pidl)
  478. #endif /* COBJMACROS */
  479. #endif  /* C style interface */
  480. HRESULT STDMETHODCALLTYPE IPersistFolder_Initialize_Proxy( 
  481.     IPersistFolder * This,
  482.     /* [in] */ LPCITEMIDLIST pidl);
  483. void __RPC_STUB IPersistFolder_Initialize_Stub(
  484.     IRpcStubBuffer *This,
  485.     IRpcChannelBuffer *_pRpcChannelBuffer,
  486.     PRPC_MESSAGE _pRpcMessage,
  487.     DWORD *_pdwStubPhase);
  488. #endif  /* __IPersistFolder_INTERFACE_DEFINED__ */
  489. /* interface __MIDL_itf_shobjidl_0191 */
  490. /* [local] */ 
  491. typedef IPersistFolder *LPPERSISTFOLDER;
  492. #if (_WIN32_IE >= 0x0400)
  493. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0191_v0_0_c_ifspec;
  494. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0191_v0_0_s_ifspec;
  495. #ifndef __IPersistFolder2_INTERFACE_DEFINED__
  496. #define __IPersistFolder2_INTERFACE_DEFINED__
  497. /* interface IPersistFolder2 */
  498. /* [unique][uuid][object] */ 
  499. EXTERN_C const IID IID_IPersistFolder2;
  500. #if defined(__cplusplus) && !defined(CINTERFACE)
  501.     
  502.     MIDL_INTERFACE("1AC3D9F0-175C-11d1-95BE-00609797EA4F")
  503.     IPersistFolder2 : public IPersistFolder
  504.     {
  505.     public:
  506.         virtual HRESULT STDMETHODCALLTYPE GetCurFolder( 
  507.             /* [out] */ LPITEMIDLIST *ppidl) = 0;
  508.         
  509.     };
  510.     
  511. #else  /* C style interface */
  512.     typedef struct IPersistFolder2Vtbl
  513.     {
  514.         BEGIN_INTERFACE
  515.         
  516.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  517.             IPersistFolder2 * This,
  518.             /* [in] */ REFIID riid,
  519.             /* [iid_is][out] */ void **ppvObject);
  520.         
  521.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  522.             IPersistFolder2 * This);
  523.         
  524.         ULONG ( STDMETHODCALLTYPE *Release )( 
  525.             IPersistFolder2 * This);
  526.         
  527.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  528.             IPersistFolder2 * This,
  529.             /* [out] */ CLSID *pClassID);
  530.         
  531.         HRESULT ( STDMETHODCALLTYPE *Initialize )( 
  532.             IPersistFolder2 * This,
  533.             /* [in] */ LPCITEMIDLIST pidl);
  534.         
  535.         HRESULT ( STDMETHODCALLTYPE *GetCurFolder )( 
  536.             IPersistFolder2 * This,
  537.             /* [out] */ LPITEMIDLIST *ppidl);
  538.         
  539.         END_INTERFACE
  540.     } IPersistFolder2Vtbl;
  541.     interface IPersistFolder2
  542.     {
  543.         CONST_VTBL struct IPersistFolder2Vtbl *lpVtbl;
  544.     };
  545.     
  546. #ifdef COBJMACROS
  547. #define IPersistFolder2_QueryInterface(This,riid,ppvObject)
  548.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  549. #define IPersistFolder2_AddRef(This)
  550.     (This)->lpVtbl -> AddRef(This)
  551. #define IPersistFolder2_Release(This)
  552.     (This)->lpVtbl -> Release(This)
  553. #define IPersistFolder2_GetClassID(This,pClassID)
  554.     (This)->lpVtbl -> GetClassID(This,pClassID)
  555. #define IPersistFolder2_Initialize(This,pidl)
  556.     (This)->lpVtbl -> Initialize(This,pidl)
  557. #define IPersistFolder2_GetCurFolder(This,ppidl)
  558.     (This)->lpVtbl -> GetCurFolder(This,ppidl)
  559. #endif /* COBJMACROS */
  560. #endif  /* C style interface */
  561. HRESULT STDMETHODCALLTYPE IPersistFolder2_GetCurFolder_Proxy( 
  562.     IPersistFolder2 * This,
  563.     /* [out] */ LPITEMIDLIST *ppidl);
  564. void __RPC_STUB IPersistFolder2_GetCurFolder_Stub(
  565.     IRpcStubBuffer *This,
  566.     IRpcChannelBuffer *_pRpcChannelBuffer,
  567.     PRPC_MESSAGE _pRpcMessage,
  568.     DWORD *_pdwStubPhase);
  569. #endif  /* __IPersistFolder2_INTERFACE_DEFINED__ */
  570. /* interface __MIDL_itf_shobjidl_0192 */
  571. /* [local] */ 
  572. typedef IPersistFolder2 *LPPERSISTFOLDER2;
  573. #endif
  574. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0192_v0_0_c_ifspec;
  575. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0192_v0_0_s_ifspec;
  576. #ifndef __IPersistIDList_INTERFACE_DEFINED__
  577. #define __IPersistIDList_INTERFACE_DEFINED__
  578. /* interface IPersistIDList */
  579. /* [unique][uuid][object] */ 
  580. EXTERN_C const IID IID_IPersistIDList;
  581. #if defined(__cplusplus) && !defined(CINTERFACE)
  582.     
  583.     MIDL_INTERFACE("1079acfc-29bd-11d3-8e0d-00c04f6837d5")
  584.     IPersistIDList : public IPersist
  585.     {
  586.     public:
  587.         virtual HRESULT STDMETHODCALLTYPE SetIDList( 
  588.             /* [in] */ LPCITEMIDLIST pidl) = 0;
  589.         
  590.         virtual HRESULT STDMETHODCALLTYPE GetIDList( 
  591.             /* [out] */ LPITEMIDLIST *ppidl) = 0;
  592.         
  593.     };
  594.     
  595. #else  /* C style interface */
  596.     typedef struct IPersistIDListVtbl
  597.     {
  598.         BEGIN_INTERFACE
  599.         
  600.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  601.             IPersistIDList * This,
  602.             /* [in] */ REFIID riid,
  603.             /* [iid_is][out] */ void **ppvObject);
  604.         
  605.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  606.             IPersistIDList * This);
  607.         
  608.         ULONG ( STDMETHODCALLTYPE *Release )( 
  609.             IPersistIDList * This);
  610.         
  611.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  612.             IPersistIDList * This,
  613.             /* [out] */ CLSID *pClassID);
  614.         
  615.         HRESULT ( STDMETHODCALLTYPE *SetIDList )( 
  616.             IPersistIDList * This,
  617.             /* [in] */ LPCITEMIDLIST pidl);
  618.         
  619.         HRESULT ( STDMETHODCALLTYPE *GetIDList )( 
  620.             IPersistIDList * This,
  621.             /* [out] */ LPITEMIDLIST *ppidl);
  622.         
  623.         END_INTERFACE
  624.     } IPersistIDListVtbl;
  625.     interface IPersistIDList
  626.     {
  627.         CONST_VTBL struct IPersistIDListVtbl *lpVtbl;
  628.     };
  629.     
  630. #ifdef COBJMACROS
  631. #define IPersistIDList_QueryInterface(This,riid,ppvObject)
  632.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  633. #define IPersistIDList_AddRef(This)
  634.     (This)->lpVtbl -> AddRef(This)
  635. #define IPersistIDList_Release(This)
  636.     (This)->lpVtbl -> Release(This)
  637. #define IPersistIDList_GetClassID(This,pClassID)
  638.     (This)->lpVtbl -> GetClassID(This,pClassID)
  639. #define IPersistIDList_SetIDList(This,pidl)
  640.     (This)->lpVtbl -> SetIDList(This,pidl)
  641. #define IPersistIDList_GetIDList(This,ppidl)
  642.     (This)->lpVtbl -> GetIDList(This,ppidl)
  643. #endif /* COBJMACROS */
  644. #endif  /* C style interface */
  645. HRESULT STDMETHODCALLTYPE IPersistIDList_SetIDList_Proxy( 
  646.     IPersistIDList * This,
  647.     /* [in] */ LPCITEMIDLIST pidl);
  648. void __RPC_STUB IPersistIDList_SetIDList_Stub(
  649.     IRpcStubBuffer *This,
  650.     IRpcChannelBuffer *_pRpcChannelBuffer,
  651.     PRPC_MESSAGE _pRpcMessage,
  652.     DWORD *_pdwStubPhase);
  653. HRESULT STDMETHODCALLTYPE IPersistIDList_GetIDList_Proxy( 
  654.     IPersistIDList * This,
  655.     /* [out] */ LPITEMIDLIST *ppidl);
  656. void __RPC_STUB IPersistIDList_GetIDList_Stub(
  657.     IRpcStubBuffer *This,
  658.     IRpcChannelBuffer *_pRpcChannelBuffer,
  659.     PRPC_MESSAGE _pRpcMessage,
  660.     DWORD *_pdwStubPhase);
  661. #endif  /* __IPersistIDList_INTERFACE_DEFINED__ */
  662. #ifndef __IEnumIDList_INTERFACE_DEFINED__
  663. #define __IEnumIDList_INTERFACE_DEFINED__
  664. /* interface IEnumIDList */
  665. /* [unique][object][uuid][helpstring] */ 
  666. EXTERN_C const IID IID_IEnumIDList;
  667. #if defined(__cplusplus) && !defined(CINTERFACE)
  668.     
  669.     MIDL_INTERFACE("000214F2-0000-0000-C000-000000000046")
  670.     IEnumIDList : public IUnknown
  671.     {
  672.     public:
  673.         virtual HRESULT STDMETHODCALLTYPE Next( 
  674.             /* [in] */ ULONG celt,
  675.             /* [length_is][size_is][out] */ LPITEMIDLIST *rgelt,
  676.             /* [out] */ ULONG *pceltFetched) = 0;
  677.         
  678.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  679.             /* [in] */ ULONG celt) = 0;
  680.         
  681.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  682.         
  683.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  684.             /* [out] */ IEnumIDList **ppenum) = 0;
  685.         
  686.     };
  687.     
  688. #else  /* C style interface */
  689.     typedef struct IEnumIDListVtbl
  690.     {
  691.         BEGIN_INTERFACE
  692.         
  693.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  694.             IEnumIDList * This,
  695.             /* [in] */ REFIID riid,
  696.             /* [iid_is][out] */ void **ppvObject);
  697.         
  698.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  699.             IEnumIDList * This);
  700.         
  701.         ULONG ( STDMETHODCALLTYPE *Release )( 
  702.             IEnumIDList * This);
  703.         
  704.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  705.             IEnumIDList * This,
  706.             /* [in] */ ULONG celt,
  707.             /* [length_is][size_is][out] */ LPITEMIDLIST *rgelt,
  708.             /* [out] */ ULONG *pceltFetched);
  709.         
  710.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  711.             IEnumIDList * This,
  712.             /* [in] */ ULONG celt);
  713.         
  714.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  715.             IEnumIDList * This);
  716.         
  717.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  718.             IEnumIDList * This,
  719.             /* [out] */ IEnumIDList **ppenum);
  720.         
  721.         END_INTERFACE
  722.     } IEnumIDListVtbl;
  723.     interface IEnumIDList
  724.     {
  725.         CONST_VTBL struct IEnumIDListVtbl *lpVtbl;
  726.     };
  727.     
  728. #ifdef COBJMACROS
  729. #define IEnumIDList_QueryInterface(This,riid,ppvObject)
  730.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  731. #define IEnumIDList_AddRef(This)
  732.     (This)->lpVtbl -> AddRef(This)
  733. #define IEnumIDList_Release(This)
  734.     (This)->lpVtbl -> Release(This)
  735. #define IEnumIDList_Next(This,celt,rgelt,pceltFetched)
  736.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  737. #define IEnumIDList_Skip(This,celt)
  738.     (This)->lpVtbl -> Skip(This,celt)
  739. #define IEnumIDList_Reset(This)
  740.     (This)->lpVtbl -> Reset(This)
  741. #define IEnumIDList_Clone(This,ppenum)
  742.     (This)->lpVtbl -> Clone(This,ppenum)
  743. #endif /* COBJMACROS */
  744. #endif  /* C style interface */
  745. HRESULT STDMETHODCALLTYPE IEnumIDList_Next_Proxy( 
  746.     IEnumIDList * This,
  747.     /* [in] */ ULONG celt,
  748.     /* [length_is][size_is][out] */ LPITEMIDLIST *rgelt,
  749.     /* [out] */ ULONG *pceltFetched);
  750. void __RPC_STUB IEnumIDList_Next_Stub(
  751.     IRpcStubBuffer *This,
  752.     IRpcChannelBuffer *_pRpcChannelBuffer,
  753.     PRPC_MESSAGE _pRpcMessage,
  754.     DWORD *_pdwStubPhase);
  755. HRESULT STDMETHODCALLTYPE IEnumIDList_Skip_Proxy( 
  756.     IEnumIDList * This,
  757.     /* [in] */ ULONG celt);
  758. void __RPC_STUB IEnumIDList_Skip_Stub(
  759.     IRpcStubBuffer *This,
  760.     IRpcChannelBuffer *_pRpcChannelBuffer,
  761.     PRPC_MESSAGE _pRpcMessage,
  762.     DWORD *_pdwStubPhase);
  763. HRESULT STDMETHODCALLTYPE IEnumIDList_Reset_Proxy( 
  764.     IEnumIDList * This);
  765. void __RPC_STUB IEnumIDList_Reset_Stub(
  766.     IRpcStubBuffer *This,
  767.     IRpcChannelBuffer *_pRpcChannelBuffer,
  768.     PRPC_MESSAGE _pRpcMessage,
  769.     DWORD *_pdwStubPhase);
  770. HRESULT STDMETHODCALLTYPE IEnumIDList_Clone_Proxy( 
  771.     IEnumIDList * This,
  772.     /* [out] */ IEnumIDList **ppenum);
  773. void __RPC_STUB IEnumIDList_Clone_Stub(
  774.     IRpcStubBuffer *This,
  775.     IRpcChannelBuffer *_pRpcChannelBuffer,
  776.     PRPC_MESSAGE _pRpcMessage,
  777.     DWORD *_pdwStubPhase);
  778. #endif  /* __IEnumIDList_INTERFACE_DEFINED__ */
  779. /* interface __MIDL_itf_shobjidl_0194 */
  780. /* [local] */ 
  781. typedef IEnumIDList *LPENUMIDLIST;
  782. typedef enum tagSHGDN
  783. {
  784.     SHGDN_NORMAL             = 0x0000,  // default (display purpose)
  785.     SHGDN_INFOLDER           = 0x0001,  // displayed under a folder (relative)
  786.     SHGDN_FOREDITING         = 0x1000,  // for in-place editing
  787.     SHGDN_FORADDRESSBAR      = 0x4000,  // UI friendly parsing name (remove ugly stuff)
  788.     SHGDN_FORPARSING         = 0x8000,  // parsing name for ParseDisplayName()
  789. } SHGNO;
  790. typedef DWORD SHGDNF;
  791. typedef enum tagSHCONTF
  792. {
  793.     SHCONTF_FOLDERS             = 0x0020,   // only want folders enumerated (SFGAO_FOLDER)
  794.     SHCONTF_NONFOLDERS          = 0x0040,   // include non folders
  795.     SHCONTF_INCLUDEHIDDEN       = 0x0080,   // show items normally hidden
  796.     SHCONTF_INIT_ON_FIRST_NEXT  = 0x0100,   // allow EnumObject() to return before validating enum
  797.     SHCONTF_NETPRINTERSRCH      = 0x0200,   // hint that client is looking for printers
  798.     SHCONTF_SHAREABLE           = 0x0400,   // hint that client is looking sharable resources (remote shares)
  799.     SHCONTF_STORAGE             = 0x0800,   // include all items with accessible storage and their ancestors
  800. };
  801. typedef DWORD SHCONTF;
  802. #define SHCIDS_ALLFIELDS        0x80000000L
  803. #define SHCIDS_CANONICALONLY    0x10000000L
  804. #define SHCIDS_BITMASK          0xFFFF0000L
  805. #define SHCIDS_COLUMNMASK       0x0000FFFFL
  806. #define SFGAO_CANCOPY           DROPEFFECT_COPY // Objects can be copied    (0x1)
  807. #define SFGAO_CANMOVE           DROPEFFECT_MOVE // Objects can be moved     (0x2)
  808. #define SFGAO_CANLINK           DROPEFFECT_LINK // Objects can be linked    (0x4)
  809. #define SFGAO_STORAGE           0x00000008L     // supports BindToObject(IID_IStorage)
  810. #define SFGAO_CANRENAME         0x00000010L     // Objects can be renamed
  811. #define SFGAO_CANDELETE         0x00000020L     // Objects can be deleted
  812. #define SFGAO_HASPROPSHEET      0x00000040L     // Objects have property sheets
  813. #define SFGAO_DROPTARGET        0x00000100L     // Objects are drop target
  814. #define SFGAO_CAPABILITYMASK    0x00000177L
  815. #define SFGAO_ENCRYPTED         0x00002000L     // object is encrypted (use alt color)
  816. #define SFGAO_ISSLOW            0x00004000L     // 'slow' object
  817. #define SFGAO_GHOSTED           0x00008000L     // ghosted icon
  818. #define SFGAO_LINK              0x00010000L     // Shortcut (link)
  819. #define SFGAO_SHARE             0x00020000L     // shared
  820. #define SFGAO_READONLY          0x00040000L     // read-only
  821. #define SFGAO_HIDDEN            0x00080000L     // hidden object
  822. #define SFGAO_DISPLAYATTRMASK   0x000FC000L
  823. #define SFGAO_FILESYSANCESTOR   0x10000000L     // may contain children with SFGAO_FILESYSTEM
  824. #define SFGAO_FOLDER            0x20000000L     // support BindToObject(IID_IShellFolder)
  825. #define SFGAO_FILESYSTEM        0x40000000L     // is a win32 file system object (file/folder/root)
  826. #define SFGAO_HASSUBFOLDER      0x80000000L     // may contain children with SFGAO_FOLDER
  827. #define SFGAO_CONTENTSMASK      0x80000000L
  828. #define SFGAO_VALIDATE          0x01000000L     // invalidate cached information
  829. #define SFGAO_REMOVABLE         0x02000000L     // is this removeable media?
  830. #define SFGAO_COMPRESSED        0x04000000L     // Object is compressed (use alt color)
  831. #define SFGAO_BROWSABLE         0x08000000L     // supports IShellFolder, but only implements CreateViewObject() (non-folder view)
  832. #define SFGAO_NONENUMERATED     0x00100000L     // is a non-enumerated object
  833. #define SFGAO_NEWCONTENT        0x00200000L     // should show bold in explorer tree
  834. #define SFGAO_CANMONIKER        0x00400000L     // defunct
  835. #define SFGAO_HASSTORAGE        0x00400000L     // defunct
  836. #define SFGAO_STREAM            0x00400000L     // supports BindToObject(IID_IStream)
  837. #define SFGAO_STORAGEANCESTOR   0x00800000L     // may contain children with SFGAO_STORAGE or SFGAO_STREAM
  838. #define SFGAO_STORAGECAPMASK    0x70C50008L     // for determining storage capabilities, ie for open/save semantics
  839. typedef ULONG SFGAOF;
  840. #define STR_SKIP_BINDING_CLSID      L"Skip Binding CLSID"
  841. #define STR_PARSE_PREFER_FOLDER_BROWSING     L"Parse Prefer Folder Browsing"
  842. #define STR_DONT_PARSE_RELATIVE              L"Don't Parse Relative"
  843. #define STR_PARSE_TRANSLATE_ALIASES          L"Parse Translate Aliases"
  844. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0194_v0_0_c_ifspec;
  845. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0194_v0_0_s_ifspec;
  846. #ifndef __IShellFolder_INTERFACE_DEFINED__
  847. #define __IShellFolder_INTERFACE_DEFINED__
  848. /* interface IShellFolder */
  849. /* [unique][object][uuid][helpstring] */ 
  850. EXTERN_C const IID IID_IShellFolder;
  851. #if defined(__cplusplus) && !defined(CINTERFACE)
  852.     
  853.     MIDL_INTERFACE("000214E6-0000-0000-C000-000000000046")
  854.     IShellFolder : public IUnknown
  855.     {
  856.     public:
  857.         virtual HRESULT STDMETHODCALLTYPE ParseDisplayName( 
  858.             /* [in] */ HWND hwnd,
  859.             /* [in] */ LPBC pbc,
  860.             /* [string][in] */ LPOLESTR pszDisplayName,
  861.             /* [out] */ ULONG *pchEaten,
  862.             /* [out] */ LPITEMIDLIST *ppidl,
  863.             /* [unique][out][in] */ ULONG *pdwAttributes) = 0;
  864.         
  865.         virtual HRESULT STDMETHODCALLTYPE EnumObjects( 
  866.             /* [in] */ HWND hwnd,
  867.             /* [in] */ SHCONTF grfFlags,
  868.             /* [out] */ IEnumIDList **ppenumIDList) = 0;
  869.         
  870.         virtual HRESULT STDMETHODCALLTYPE BindToObject( 
  871.             /* [in] */ LPCITEMIDLIST pidl,
  872.             /* [in] */ LPBC pbc,
  873.             /* [in] */ REFIID riid,
  874.             /* [iid_is][out] */ void **ppv) = 0;
  875.         
  876.         virtual HRESULT STDMETHODCALLTYPE BindToStorage( 
  877.             /* [in] */ LPCITEMIDLIST pidl,
  878.             /* [in] */ LPBC pbc,
  879.             /* [in] */ REFIID riid,
  880.             /* [iid_is][out] */ void **ppv) = 0;
  881.         
  882.         virtual HRESULT STDMETHODCALLTYPE CompareIDs( 
  883.             /* [in] */ LPARAM lParam,
  884.             /* [in] */ LPCITEMIDLIST pidl1,
  885.             /* [in] */ LPCITEMIDLIST pidl2) = 0;
  886.         
  887.         virtual HRESULT STDMETHODCALLTYPE CreateViewObject( 
  888.             /* [in] */ HWND hwndOwner,
  889.             /* [in] */ REFIID riid,
  890.             /* [iid_is][out] */ void **ppv) = 0;
  891.         
  892.         virtual HRESULT STDMETHODCALLTYPE GetAttributesOf( 
  893.             /* [in] */ UINT cidl,
  894.             /* [size_is][in] */ LPCITEMIDLIST *apidl,
  895.             /* [out][in] */ SFGAOF *rgfInOut) = 0;
  896.         
  897.         virtual HRESULT STDMETHODCALLTYPE GetUIObjectOf( 
  898.             /* [in] */ HWND hwndOwner,
  899.             /* [in] */ UINT cidl,
  900.             /* [size_is][in] */ LPCITEMIDLIST *apidl,
  901.             /* [in] */ REFIID riid,
  902.             /* [unique][out][in] */ UINT *rgfReserved,
  903.             /* [iid_is][out] */ void **ppv) = 0;
  904.         
  905.         virtual HRESULT STDMETHODCALLTYPE GetDisplayNameOf( 
  906.             /* [in] */ LPCITEMIDLIST pidl,
  907.             /* [in] */ SHGDNF uFlags,
  908.             /* [out] */ STRRET *pName) = 0;
  909.         
  910.         virtual HRESULT STDMETHODCALLTYPE SetNameOf( 
  911.             /* [in] */ HWND hwnd,
  912.             /* [in] */ LPCITEMIDLIST pidl,
  913.             /* [string][in] */ LPCOLESTR pszName,
  914.             /* [in] */ SHGDNF uFlags,
  915.             /* [out] */ LPITEMIDLIST *ppidlOut) = 0;
  916.         
  917.     };
  918.     
  919. #else  /* C style interface */
  920.     typedef struct IShellFolderVtbl
  921.     {
  922.         BEGIN_INTERFACE
  923.         
  924.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  925.             IShellFolder * This,
  926.             /* [in] */ REFIID riid,
  927.             /* [iid_is][out] */ void **ppvObject);
  928.         
  929.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  930.             IShellFolder * This);
  931.         
  932.         ULONG ( STDMETHODCALLTYPE *Release )( 
  933.             IShellFolder * This);
  934.         
  935.         HRESULT ( STDMETHODCALLTYPE *ParseDisplayName )( 
  936.             IShellFolder * This,
  937.             /* [in] */ HWND hwnd,
  938.             /* [in] */ LPBC pbc,
  939.             /* [string][in] */ LPOLESTR pszDisplayName,
  940.             /* [out] */ ULONG *pchEaten,
  941.             /* [out] */ LPITEMIDLIST *ppidl,
  942.             /* [unique][out][in] */ ULONG *pdwAttributes);
  943.         
  944.         HRESULT ( STDMETHODCALLTYPE *EnumObjects )( 
  945.             IShellFolder * This,
  946.             /* [in] */ HWND hwnd,
  947.             /* [in] */ SHCONTF grfFlags,
  948.             /* [out] */ IEnumIDList **ppenumIDList);
  949.         
  950.         HRESULT ( STDMETHODCALLTYPE *BindToObject )( 
  951.             IShellFolder * This,
  952.             /* [in] */ LPCITEMIDLIST pidl,
  953.             /* [in] */ LPBC pbc,
  954.             /* [in] */ REFIID riid,
  955.             /* [iid_is][out] */ void **ppv);
  956.         
  957.         HRESULT ( STDMETHODCALLTYPE *BindToStorage )( 
  958.             IShellFolder * This,
  959.             /* [in] */ LPCITEMIDLIST pidl,
  960.             /* [in] */ LPBC pbc,
  961.             /* [in] */ REFIID riid,
  962.             /* [iid_is][out] */ void **ppv);
  963.         
  964.         HRESULT ( STDMETHODCALLTYPE *CompareIDs )( 
  965.             IShellFolder * This,
  966.             /* [in] */ LPARAM lParam,
  967.             /* [in] */ LPCITEMIDLIST pidl1,
  968.             /* [in] */ LPCITEMIDLIST pidl2);
  969.         
  970.         HRESULT ( STDMETHODCALLTYPE *CreateViewObject )( 
  971.             IShellFolder * This,
  972.             /* [in] */ HWND hwndOwner,
  973.             /* [in] */ REFIID riid,
  974.             /* [iid_is][out] */ void **ppv);
  975.         
  976.         HRESULT ( STDMETHODCALLTYPE *GetAttributesOf )( 
  977.             IShellFolder * This,
  978.             /* [in] */ UINT cidl,
  979.             /* [size_is][in] */ LPCITEMIDLIST *apidl,
  980.             /* [out][in] */ SFGAOF *rgfInOut);
  981.         
  982.         HRESULT ( STDMETHODCALLTYPE *GetUIObjectOf )( 
  983.             IShellFolder * This,
  984.             /* [in] */ HWND hwndOwner,
  985.             /* [in] */ UINT cidl,
  986.             /* [size_is][in] */ LPCITEMIDLIST *apidl,
  987.             /* [in] */ REFIID riid,
  988.             /* [unique][out][in] */ UINT *rgfReserved,
  989.             /* [iid_is][out] */ void **ppv);
  990.         
  991.         HRESULT ( STDMETHODCALLTYPE *GetDisplayNameOf )( 
  992.             IShellFolder * This,
  993.             /* [in] */ LPCITEMIDLIST pidl,
  994.             /* [in] */ SHGDNF uFlags,
  995.             /* [out] */ STRRET *pName);
  996.         
  997.         HRESULT ( STDMETHODCALLTYPE *SetNameOf )( 
  998.             IShellFolder * This,
  999.             /* [in] */ HWND hwnd,
  1000.             /* [in] */ LPCITEMIDLIST pidl,
  1001.             /* [string][in] */ LPCOLESTR pszName,
  1002.             /* [in] */ SHGDNF uFlags,
  1003.             /* [out] */ LPITEMIDLIST *ppidlOut);
  1004.         
  1005.         END_INTERFACE
  1006.     } IShellFolderVtbl;
  1007.     interface IShellFolder
  1008.     {
  1009.         CONST_VTBL struct IShellFolderVtbl *lpVtbl;
  1010.     };
  1011.     
  1012. #ifdef COBJMACROS
  1013. #define IShellFolder_QueryInterface(This,riid,ppvObject)
  1014.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1015. #define IShellFolder_AddRef(This)
  1016.     (This)->lpVtbl -> AddRef(This)
  1017. #define IShellFolder_Release(This)
  1018.     (This)->lpVtbl -> Release(This)
  1019. #define IShellFolder_ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes)
  1020.     (This)->lpVtbl -> ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes)
  1021. #define IShellFolder_EnumObjects(This,hwnd,grfFlags,ppenumIDList)
  1022.     (This)->lpVtbl -> EnumObjects(This,hwnd,grfFlags,ppenumIDList)
  1023. #define IShellFolder_BindToObject(This,pidl,pbc,riid,ppv)
  1024.     (This)->lpVtbl -> BindToObject(This,pidl,pbc,riid,ppv)
  1025. #define IShellFolder_BindToStorage(This,pidl,pbc,riid,ppv)
  1026.     (This)->lpVtbl -> BindToStorage(This,pidl,pbc,riid,ppv)
  1027. #define IShellFolder_CompareIDs(This,lParam,pidl1,pidl2)
  1028.     (This)->lpVtbl -> CompareIDs(This,lParam,pidl1,pidl2)
  1029. #define IShellFolder_CreateViewObject(This,hwndOwner,riid,ppv)
  1030.     (This)->lpVtbl -> CreateViewObject(This,hwndOwner,riid,ppv)
  1031. #define IShellFolder_GetAttributesOf(This,cidl,apidl,rgfInOut)
  1032.     (This)->lpVtbl -> GetAttributesOf(This,cidl,apidl,rgfInOut)
  1033. #define IShellFolder_GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv)
  1034.     (This)->lpVtbl -> GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv)
  1035. #define IShellFolder_GetDisplayNameOf(This,pidl,uFlags,pName)
  1036.     (This)->lpVtbl -> GetDisplayNameOf(This,pidl,uFlags,pName)
  1037. #define IShellFolder_SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut)
  1038.     (This)->lpVtbl -> SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut)
  1039. #endif /* COBJMACROS */
  1040. #endif  /* C style interface */
  1041. HRESULT STDMETHODCALLTYPE IShellFolder_ParseDisplayName_Proxy( 
  1042.     IShellFolder * This,
  1043.     /* [in] */ HWND hwnd,
  1044.     /* [in] */ LPBC pbc,
  1045.     /* [string][in] */ LPOLESTR pszDisplayName,
  1046.     /* [out] */ ULONG *pchEaten,
  1047.     /* [out] */ LPITEMIDLIST *ppidl,
  1048.     /* [unique][out][in] */ ULONG *pdwAttributes);
  1049. void __RPC_STUB IShellFolder_ParseDisplayName_Stub(
  1050.     IRpcStubBuffer *This,
  1051.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1052.     PRPC_MESSAGE _pRpcMessage,
  1053.     DWORD *_pdwStubPhase);
  1054. HRESULT STDMETHODCALLTYPE IShellFolder_EnumObjects_Proxy( 
  1055.     IShellFolder * This,
  1056.     /* [in] */ HWND hwnd,
  1057.     /* [in] */ SHCONTF grfFlags,
  1058.     /* [out] */ IEnumIDList **ppenumIDList);
  1059. void __RPC_STUB IShellFolder_EnumObjects_Stub(
  1060.     IRpcStubBuffer *This,
  1061.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1062.     PRPC_MESSAGE _pRpcMessage,
  1063.     DWORD *_pdwStubPhase);
  1064. HRESULT STDMETHODCALLTYPE IShellFolder_BindToObject_Proxy( 
  1065.     IShellFolder * This,
  1066.     /* [in] */ LPCITEMIDLIST pidl,
  1067.     /* [in] */ LPBC pbc,
  1068.     /* [in] */ REFIID riid,
  1069.     /* [iid_is][out] */ void **ppv);
  1070. void __RPC_STUB IShellFolder_BindToObject_Stub(
  1071.     IRpcStubBuffer *This,
  1072.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1073.     PRPC_MESSAGE _pRpcMessage,
  1074.     DWORD *_pdwStubPhase);
  1075. HRESULT STDMETHODCALLTYPE IShellFolder_BindToStorage_Proxy( 
  1076.     IShellFolder * This,
  1077.     /* [in] */ LPCITEMIDLIST pidl,
  1078.     /* [in] */ LPBC pbc,
  1079.     /* [in] */ REFIID riid,
  1080.     /* [iid_is][out] */ void **ppv);
  1081. void __RPC_STUB IShellFolder_BindToStorage_Stub(
  1082.     IRpcStubBuffer *This,
  1083.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1084.     PRPC_MESSAGE _pRpcMessage,
  1085.     DWORD *_pdwStubPhase);
  1086. HRESULT STDMETHODCALLTYPE IShellFolder_CompareIDs_Proxy( 
  1087.     IShellFolder * This,
  1088.     /* [in] */ LPARAM lParam,
  1089.     /* [in] */ LPCITEMIDLIST pidl1,
  1090.     /* [in] */ LPCITEMIDLIST pidl2);
  1091. void __RPC_STUB IShellFolder_CompareIDs_Stub(
  1092.     IRpcStubBuffer *This,
  1093.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1094.     PRPC_MESSAGE _pRpcMessage,
  1095.     DWORD *_pdwStubPhase);
  1096. HRESULT STDMETHODCALLTYPE IShellFolder_CreateViewObject_Proxy( 
  1097.     IShellFolder * This,
  1098.     /* [in] */ HWND hwndOwner,
  1099.     /* [in] */ REFIID riid,
  1100.     /* [iid_is][out] */ void **ppv);
  1101. void __RPC_STUB IShellFolder_CreateViewObject_Stub(
  1102.     IRpcStubBuffer *This,
  1103.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1104.     PRPC_MESSAGE _pRpcMessage,
  1105.     DWORD *_pdwStubPhase);
  1106. HRESULT STDMETHODCALLTYPE IShellFolder_GetAttributesOf_Proxy( 
  1107.     IShellFolder * This,
  1108.     /* [in] */ UINT cidl,
  1109.     /* [size_is][in] */ LPCITEMIDLIST *apidl,
  1110.     /* [out][in] */ SFGAOF *rgfInOut);
  1111. void __RPC_STUB IShellFolder_GetAttributesOf_Stub(
  1112.     IRpcStubBuffer *This,
  1113.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1114.     PRPC_MESSAGE _pRpcMessage,
  1115.     DWORD *_pdwStubPhase);
  1116. HRESULT STDMETHODCALLTYPE IShellFolder_GetUIObjectOf_Proxy( 
  1117.     IShellFolder * This,
  1118.     /* [in] */ HWND hwndOwner,
  1119.     /* [in] */ UINT cidl,
  1120.     /* [size_is][in] */ LPCITEMIDLIST *apidl,
  1121.     /* [in] */ REFIID riid,
  1122.     /* [unique][out][in] */ UINT *rgfReserved,
  1123.     /* [iid_is][out] */ void **ppv);
  1124. void __RPC_STUB IShellFolder_GetUIObjectOf_Stub(
  1125.     IRpcStubBuffer *This,
  1126.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1127.     PRPC_MESSAGE _pRpcMessage,
  1128.     DWORD *_pdwStubPhase);
  1129. HRESULT STDMETHODCALLTYPE IShellFolder_GetDisplayNameOf_Proxy( 
  1130.     IShellFolder * This,
  1131.     /* [in] */ LPCITEMIDLIST pidl,
  1132.     /* [in] */ SHGDNF uFlags,
  1133.     /* [out] */ STRRET *pName);
  1134. void __RPC_STUB IShellFolder_GetDisplayNameOf_Stub(
  1135.     IRpcStubBuffer *This,
  1136.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1137.     PRPC_MESSAGE _pRpcMessage,
  1138.     DWORD *_pdwStubPhase);
  1139. HRESULT STDMETHODCALLTYPE IShellFolder_SetNameOf_Proxy( 
  1140.     IShellFolder * This,
  1141.     /* [in] */ HWND hwnd,
  1142.     /* [in] */ LPCITEMIDLIST pidl,
  1143.     /* [string][in] */ LPCOLESTR pszName,
  1144.     /* [in] */ SHGDNF uFlags,
  1145.     /* [out] */ LPITEMIDLIST *ppidlOut);
  1146. void __RPC_STUB IShellFolder_SetNameOf_Stub(
  1147.     IRpcStubBuffer *This,
  1148.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1149.     PRPC_MESSAGE _pRpcMessage,
  1150.     DWORD *_pdwStubPhase);
  1151. #endif  /* __IShellFolder_INTERFACE_DEFINED__ */
  1152. /* interface __MIDL_itf_shobjidl_0195 */
  1153. /* [local] */ 
  1154. typedef IShellFolder *LPSHELLFOLDER;
  1155. #if (_WIN32_IE >= 0x0500)
  1156. typedef struct tagEXTRASEARCH
  1157.     {
  1158.     GUID guidSearch;
  1159.     WCHAR wszFriendlyName[ 80 ];
  1160.     WCHAR wszUrl[ 2084 ];
  1161.     }  EXTRASEARCH;
  1162. typedef struct tagEXTRASEARCH *LPEXTRASEARCH;
  1163. typedef struct IEnumExtraSearch *LPENUMEXTRASEARCH;
  1164. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0195_v0_0_c_ifspec;
  1165. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0195_v0_0_s_ifspec;
  1166. #ifndef __IEnumExtraSearch_INTERFACE_DEFINED__
  1167. #define __IEnumExtraSearch_INTERFACE_DEFINED__
  1168. /* interface IEnumExtraSearch */
  1169. /* [unique][object][uuid][helpstring] */ 
  1170. EXTERN_C const IID IID_IEnumExtraSearch;
  1171. #if defined(__cplusplus) && !defined(CINTERFACE)
  1172.     
  1173.     MIDL_INTERFACE("0E700BE1-9DB6-11d1-A1CE-00C04FD75D13")
  1174.     IEnumExtraSearch : public IUnknown
  1175.     {
  1176.     public:
  1177.         virtual HRESULT STDMETHODCALLTYPE Next( 
  1178.             /* [in] */ ULONG celt,
  1179.             /* [length_is][size_is][out] */ EXTRASEARCH *rgelt,
  1180.             /* [out] */ ULONG *pceltFetched) = 0;
  1181.         
  1182.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1183.             /* [in] */ ULONG celt) = 0;
  1184.         
  1185.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1186.         
  1187.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1188.             /* [out] */ IEnumExtraSearch **ppenum) = 0;
  1189.         
  1190.     };
  1191.     
  1192. #else  /* C style interface */
  1193.     typedef struct IEnumExtraSearchVtbl
  1194.     {
  1195.         BEGIN_INTERFACE
  1196.         
  1197.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1198.             IEnumExtraSearch * This,
  1199.             /* [in] */ REFIID riid,
  1200.             /* [iid_is][out] */ void **ppvObject);
  1201.         
  1202.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1203.             IEnumExtraSearch * This);
  1204.         
  1205.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1206.             IEnumExtraSearch * This);
  1207.         
  1208.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  1209.             IEnumExtraSearch * This,
  1210.             /* [in] */ ULONG celt,
  1211.             /* [length_is][size_is][out] */ EXTRASEARCH *rgelt,
  1212.             /* [out] */ ULONG *pceltFetched);
  1213.         
  1214.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1215.             IEnumExtraSearch * This,
  1216.             /* [in] */ ULONG celt);
  1217.         
  1218.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1219.             IEnumExtraSearch * This);
  1220.         
  1221.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1222.             IEnumExtraSearch * This,
  1223.             /* [out] */ IEnumExtraSearch **ppenum);
  1224.         
  1225.         END_INTERFACE
  1226.     } IEnumExtraSearchVtbl;
  1227.     interface IEnumExtraSearch
  1228.     {
  1229.         CONST_VTBL struct IEnumExtraSearchVtbl *lpVtbl;
  1230.     };
  1231.     
  1232. #ifdef COBJMACROS
  1233. #define IEnumExtraSearch_QueryInterface(This,riid,ppvObject)
  1234.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1235. #define IEnumExtraSearch_AddRef(This)
  1236.     (This)->lpVtbl -> AddRef(This)
  1237. #define IEnumExtraSearch_Release(This)
  1238.     (This)->lpVtbl -> Release(This)
  1239. #define IEnumExtraSearch_Next(This,celt,rgelt,pceltFetched)
  1240.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  1241. #define IEnumExtraSearch_Skip(This,celt)
  1242.     (This)->lpVtbl -> Skip(This,celt)
  1243. #define IEnumExtraSearch_Reset(This)
  1244.     (This)->lpVtbl -> Reset(This)
  1245. #define IEnumExtraSearch_Clone(This,ppenum)
  1246.     (This)->lpVtbl -> Clone(This,ppenum)
  1247. #endif /* COBJMACROS */
  1248. #endif  /* C style interface */
  1249. HRESULT STDMETHODCALLTYPE IEnumExtraSearch_Next_Proxy( 
  1250.     IEnumExtraSearch * This,
  1251.     /* [in] */ ULONG celt,
  1252.     /* [length_is][size_is][out] */ EXTRASEARCH *rgelt,
  1253.     /* [out] */ ULONG *pceltFetched);
  1254. void __RPC_STUB IEnumExtraSearch_Next_Stub(
  1255.     IRpcStubBuffer *This,
  1256.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1257.     PRPC_MESSAGE _pRpcMessage,
  1258.     DWORD *_pdwStubPhase);
  1259. HRESULT STDMETHODCALLTYPE IEnumExtraSearch_Skip_Proxy( 
  1260.     IEnumExtraSearch * This,
  1261.     /* [in] */ ULONG celt);
  1262. void __RPC_STUB IEnumExtraSearch_Skip_Stub(
  1263.     IRpcStubBuffer *This,
  1264.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1265.     PRPC_MESSAGE _pRpcMessage,
  1266.     DWORD *_pdwStubPhase);
  1267. HRESULT STDMETHODCALLTYPE IEnumExtraSearch_Reset_Proxy( 
  1268.     IEnumExtraSearch * This);
  1269. void __RPC_STUB IEnumExtraSearch_Reset_Stub(
  1270.     IRpcStubBuffer *This,
  1271.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1272.     PRPC_MESSAGE _pRpcMessage,
  1273.     DWORD *_pdwStubPhase);
  1274. HRESULT STDMETHODCALLTYPE IEnumExtraSearch_Clone_Proxy( 
  1275.     IEnumExtraSearch * This,
  1276.     /* [out] */ IEnumExtraSearch **ppenum);
  1277. void __RPC_STUB IEnumExtraSearch_Clone_Stub(
  1278.     IRpcStubBuffer *This,
  1279.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1280.     PRPC_MESSAGE _pRpcMessage,
  1281.     DWORD *_pdwStubPhase);
  1282. #endif  /* __IEnumExtraSearch_INTERFACE_DEFINED__ */
  1283. /* interface __MIDL_itf_shobjidl_0196 */
  1284. /* [local] */ 
  1285. typedef /* [public][v1_enum] */ 
  1286. enum __MIDL___MIDL_itf_shobjidl_0196_0001
  1287.     { SHCOLSTATE_TYPE_STR = 0x1,
  1288. SHCOLSTATE_TYPE_INT = 0x2,
  1289. SHCOLSTATE_TYPE_DATE = 0x3,
  1290. SHCOLSTATE_TYPEMASK = 0xf,
  1291. SHCOLSTATE_ONBYDEFAULT = 0x10,
  1292. SHCOLSTATE_SLOW = 0x20,
  1293. SHCOLSTATE_EXTENDED = 0x40,
  1294. SHCOLSTATE_SECONDARYUI = 0x80,
  1295. SHCOLSTATE_HIDDEN = 0x100,
  1296. SHCOLSTATE_PREFER_VARCMP = 0x200
  1297.     }  SHCOLSTATE;
  1298. typedef DWORD SHCOLSTATEF;
  1299. typedef /* [public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_shobjidl_0196_0002
  1300.     {
  1301.     GUID fmtid;
  1302.     DWORD pid;
  1303.     }  SHCOLUMNID;
  1304. typedef struct __MIDL___MIDL_itf_shobjidl_0196_0002 *LPSHCOLUMNID;
  1305. typedef const SHCOLUMNID *LPCSHCOLUMNID;
  1306. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0196_v0_0_c_ifspec;
  1307. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0196_v0_0_s_ifspec;
  1308. #ifndef __IShellFolder2_INTERFACE_DEFINED__
  1309. #define __IShellFolder2_INTERFACE_DEFINED__
  1310. /* interface IShellFolder2 */
  1311. /* [unique][object][uuid][helpstring] */ 
  1312. EXTERN_C const IID IID_IShellFolder2;
  1313. #if defined(__cplusplus) && !defined(CINTERFACE)
  1314.     
  1315.     MIDL_INTERFACE("93F2F68C-1D1B-11d3-A30E-00C04F79ABD1")
  1316.     IShellFolder2 : public IShellFolder
  1317.     {
  1318.     public:
  1319.         virtual HRESULT STDMETHODCALLTYPE GetDefaultSearchGUID( 
  1320.             /* [out] */ GUID *pguid) = 0;
  1321.         
  1322.         virtual HRESULT STDMETHODCALLTYPE EnumSearches( 
  1323.             /* [out] */ IEnumExtraSearch **ppenum) = 0;
  1324.         
  1325.         virtual HRESULT STDMETHODCALLTYPE GetDefaultColumn( 
  1326.             /* [in] */ DWORD dwRes,
  1327.             /* [out] */ ULONG *pSort,
  1328.             /* [out] */ ULONG *pDisplay) = 0;
  1329.         
  1330.         virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnState( 
  1331.             /* [in] */ UINT iColumn,
  1332.             /* [out] */ SHCOLSTATEF *pcsFlags) = 0;
  1333.         
  1334.         virtual HRESULT STDMETHODCALLTYPE GetDetailsEx( 
  1335.             /* [in] */ LPCITEMIDLIST pidl,
  1336.             /* [in] */ const SHCOLUMNID *pscid,
  1337.             /* [out] */ VARIANT *pv) = 0;
  1338.         
  1339.         virtual HRESULT STDMETHODCALLTYPE GetDetailsOf( 
  1340.             /* [in] */ LPCITEMIDLIST pidl,
  1341.             /* [in] */ UINT iColumn,
  1342.             /* [out] */ SHELLDETAILS *psd) = 0;
  1343.         
  1344.         virtual HRESULT STDMETHODCALLTYPE MapColumnToSCID( 
  1345.             /* [in] */ UINT iColumn,
  1346.             /* [in] */ SHCOLUMNID *pscid) = 0;
  1347.         
  1348.     };
  1349.     
  1350. #else  /* C style interface */
  1351.     typedef struct IShellFolder2Vtbl
  1352.     {
  1353.         BEGIN_INTERFACE
  1354.         
  1355.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1356.             IShellFolder2 * This,
  1357.             /* [in] */ REFIID riid,
  1358.             /* [iid_is][out] */ void **ppvObject);
  1359.         
  1360.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1361.             IShellFolder2 * This);
  1362.         
  1363.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1364.             IShellFolder2 * This);
  1365.         
  1366.         HRESULT ( STDMETHODCALLTYPE *ParseDisplayName )( 
  1367.             IShellFolder2 * This,
  1368.             /* [in] */ HWND hwnd,
  1369.             /* [in] */ LPBC pbc,
  1370.             /* [string][in] */ LPOLESTR pszDisplayName,
  1371.             /* [out] */ ULONG *pchEaten,
  1372.             /* [out] */ LPITEMIDLIST *ppidl,
  1373.             /* [unique][out][in] */ ULONG *pdwAttributes);
  1374.         
  1375.         HRESULT ( STDMETHODCALLTYPE *EnumObjects )( 
  1376.             IShellFolder2 * This,
  1377.             /* [in] */ HWND hwnd,
  1378.             /* [in] */ SHCONTF grfFlags,
  1379.             /* [out] */ IEnumIDList **ppenumIDList);
  1380.         
  1381.         HRESULT ( STDMETHODCALLTYPE *BindToObject )( 
  1382.             IShellFolder2 * This,
  1383.             /* [in] */ LPCITEMIDLIST pidl,
  1384.             /* [in] */ LPBC pbc,
  1385.             /* [in] */ REFIID riid,
  1386.             /* [iid_is][out] */ void **ppv);
  1387.         
  1388.         HRESULT ( STDMETHODCALLTYPE *BindToStorage )( 
  1389.             IShellFolder2 * This,
  1390.             /* [in] */ LPCITEMIDLIST pidl,
  1391.             /* [in] */ LPBC pbc,
  1392.             /* [in] */ REFIID riid,
  1393.             /* [iid_is][out] */ void **ppv);
  1394.         
  1395.         HRESULT ( STDMETHODCALLTYPE *CompareIDs )( 
  1396.             IShellFolder2 * This,
  1397.             /* [in] */ LPARAM lParam,
  1398.             /* [in] */ LPCITEMIDLIST pidl1,
  1399.             /* [in] */ LPCITEMIDLIST pidl2);
  1400.         
  1401.         HRESULT ( STDMETHODCALLTYPE *CreateViewObject )( 
  1402.             IShellFolder2 * This,
  1403.             /* [in] */ HWND hwndOwner,
  1404.             /* [in] */ REFIID riid,
  1405.             /* [iid_is][out] */ void **ppv);
  1406.         
  1407.         HRESULT ( STDMETHODCALLTYPE *GetAttributesOf )( 
  1408.             IShellFolder2 * This,
  1409.             /* [in] */ UINT cidl,
  1410.             /* [size_is][in] */ LPCITEMIDLIST *apidl,
  1411.             /* [out][in] */ SFGAOF *rgfInOut);
  1412.         
  1413.         HRESULT ( STDMETHODCALLTYPE *GetUIObjectOf )( 
  1414.             IShellFolder2 * This,
  1415.             /* [in] */ HWND hwndOwner,
  1416.             /* [in] */ UINT cidl,
  1417.             /* [size_is][in] */ LPCITEMIDLIST *apidl,
  1418.             /* [in] */ REFIID riid,
  1419.             /* [unique][out][in] */ UINT *rgfReserved,
  1420.             /* [iid_is][out] */ void **ppv);
  1421.         
  1422.         HRESULT ( STDMETHODCALLTYPE *GetDisplayNameOf )( 
  1423.             IShellFolder2 * This,
  1424.             /* [in] */ LPCITEMIDLIST pidl,
  1425.             /* [in] */ SHGDNF uFlags,
  1426.             /* [out] */ STRRET *pName);
  1427.         
  1428.         HRESULT ( STDMETHODCALLTYPE *SetNameOf )( 
  1429.             IShellFolder2 * This,
  1430.             /* [in] */ HWND hwnd,
  1431.             /* [in] */ LPCITEMIDLIST pidl,
  1432.             /* [string][in] */ LPCOLESTR pszName,
  1433.             /* [in] */ SHGDNF uFlags,
  1434.             /* [out] */ LPITEMIDLIST *ppidlOut);
  1435.         
  1436.         HRESULT ( STDMETHODCALLTYPE *GetDefaultSearchGUID )( 
  1437.             IShellFolder2 * This,
  1438.             /* [out] */ GUID *pguid);
  1439.         
  1440.         HRESULT ( STDMETHODCALLTYPE *EnumSearches )( 
  1441.             IShellFolder2 * This,
  1442.             /* [out] */ IEnumExtraSearch **ppenum);
  1443.         
  1444.         HRESULT ( STDMETHODCALLTYPE *GetDefaultColumn )( 
  1445.             IShellFolder2 * This,
  1446.             /* [in] */ DWORD dwRes,
  1447.             /* [out] */ ULONG *pSort,
  1448.             /* [out] */ ULONG *pDisplay);
  1449.         
  1450.         HRESULT ( STDMETHODCALLTYPE *GetDefaultColumnState )( 
  1451.             IShellFolder2 * This,
  1452.             /* [in] */ UINT iColumn,
  1453.             /* [out] */ SHCOLSTATEF *pcsFlags);
  1454.         
  1455.         HRESULT ( STDMETHODCALLTYPE *GetDetailsEx )( 
  1456.             IShellFolder2 * This,
  1457.             /* [in] */ LPCITEMIDLIST pidl,
  1458.             /* [in] */ const SHCOLUMNID *pscid,
  1459.             /* [out] */ VARIANT *pv);
  1460.         
  1461.         HRESULT ( STDMETHODCALLTYPE *GetDetailsOf )( 
  1462.             IShellFolder2 * This,
  1463.             /* [in] */ LPCITEMIDLIST pidl,
  1464.             /* [in] */ UINT iColumn,
  1465.             /* [out] */ SHELLDETAILS *psd);
  1466.         
  1467.         HRESULT ( STDMETHODCALLTYPE *MapColumnToSCID )( 
  1468.             IShellFolder2 * This,
  1469.             /* [in] */ UINT iColumn,
  1470.             /* [in] */ SHCOLUMNID *pscid);
  1471.         
  1472.         END_INTERFACE
  1473.     } IShellFolder2Vtbl;
  1474.     interface IShellFolder2
  1475.     {
  1476.         CONST_VTBL struct IShellFolder2Vtbl *lpVtbl;
  1477.     };
  1478.     
  1479. #ifdef COBJMACROS
  1480. #define IShellFolder2_QueryInterface(This,riid,ppvObject)
  1481.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1482. #define IShellFolder2_AddRef(This)
  1483.     (This)->lpVtbl -> AddRef(This)
  1484. #define IShellFolder2_Release(This)
  1485.     (This)->lpVtbl -> Release(This)
  1486. #define IShellFolder2_ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes)
  1487.     (This)->lpVtbl -> ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes)
  1488. #define IShellFolder2_EnumObjects(This,hwnd,grfFlags,ppenumIDList)
  1489.     (This)->lpVtbl -> EnumObjects(This,hwnd,grfFlags,ppenumIDList)
  1490. #define IShellFolder2_BindToObject(This,pidl,pbc,riid,ppv)
  1491.     (This)->lpVtbl -> BindToObject(This,pidl,pbc,riid,ppv)
  1492. #define IShellFolder2_BindToStorage(This,pidl,pbc,riid,ppv)
  1493.     (This)->lpVtbl -> BindToStorage(This,pidl,pbc,riid,ppv)
  1494. #define IShellFolder2_CompareIDs(This,lParam,pidl1,pidl2)
  1495.     (This)->lpVtbl -> CompareIDs(This,lParam,pidl1,pidl2)
  1496. #define IShellFolder2_CreateViewObject(This,hwndOwner,riid,ppv)
  1497.     (This)->lpVtbl -> CreateViewObject(This,hwndOwner,riid,ppv)
  1498. #define IShellFolder2_GetAttributesOf(This,cidl,apidl,rgfInOut)
  1499.     (This)->lpVtbl -> GetAttributesOf(This,cidl,apidl,rgfInOut)
  1500. #define IShellFolder2_GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv)
  1501.     (This)->lpVtbl -> GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv)
  1502. #define IShellFolder2_GetDisplayNameOf(This,pidl,uFlags,pName)
  1503.     (This)->lpVtbl -> GetDisplayNameOf(This,pidl,uFlags,pName)
  1504. #define IShellFolder2_SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut)
  1505.     (This)->lpVtbl -> SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut)
  1506. #define IShellFolder2_GetDefaultSearchGUID(This,pguid)
  1507.     (This)->lpVtbl -> GetDefaultSearchGUID(This,pguid)
  1508. #define IShellFolder2_EnumSearches(This,ppenum)
  1509.     (This)->lpVtbl -> EnumSearches(This,ppenum)
  1510. #define IShellFolder2_GetDefaultColumn(This,dwRes,pSort,pDisplay)
  1511.     (This)->lpVtbl -> GetDefaultColumn(This,dwRes,pSort,pDisplay)
  1512. #define IShellFolder2_GetDefaultColumnState(This,iColumn,pcsFlags)
  1513.     (This)->lpVtbl -> GetDefaultColumnState(This,iColumn,pcsFlags)
  1514. #define IShellFolder2_GetDetailsEx(This,pidl,pscid,pv)
  1515.     (This)->lpVtbl -> GetDetailsEx(This,pidl,pscid,pv)
  1516. #define IShellFolder2_GetDetailsOf(This,pidl,iColumn,psd)
  1517.     (This)->lpVtbl -> GetDetailsOf(This,pidl,iColumn,psd)
  1518. #define IShellFolder2_MapColumnToSCID(This,iColumn,pscid)
  1519.     (This)->lpVtbl -> MapColumnToSCID(This,iColumn,pscid)
  1520. #endif /* COBJMACROS */
  1521. #endif  /* C style interface */
  1522. HRESULT STDMETHODCALLTYPE IShellFolder2_GetDefaultSearchGUID_Proxy( 
  1523.     IShellFolder2 * This,
  1524.     /* [out] */ GUID *pguid);
  1525. void __RPC_STUB IShellFolder2_GetDefaultSearchGUID_Stub(
  1526.     IRpcStubBuffer *This,
  1527.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1528.     PRPC_MESSAGE _pRpcMessage,
  1529.     DWORD *_pdwStubPhase);
  1530. HRESULT STDMETHODCALLTYPE IShellFolder2_EnumSearches_Proxy( 
  1531.     IShellFolder2 * This,
  1532.     /* [out] */ IEnumExtraSearch **ppenum);
  1533. void __RPC_STUB IShellFolder2_EnumSearches_Stub(
  1534.     IRpcStubBuffer *This,
  1535.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1536.     PRPC_MESSAGE _pRpcMessage,
  1537.     DWORD *_pdwStubPhase);
  1538. HRESULT STDMETHODCALLTYPE IShellFolder2_GetDefaultColumn_Proxy( 
  1539.     IShellFolder2 * This,
  1540.     /* [in] */ DWORD dwRes,
  1541.     /* [out] */ ULONG *pSort,
  1542.     /* [out] */ ULONG *pDisplay);
  1543. void __RPC_STUB IShellFolder2_GetDefaultColumn_Stub(
  1544.     IRpcStubBuffer *This,
  1545.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1546.     PRPC_MESSAGE _pRpcMessage,
  1547.     DWORD *_pdwStubPhase);
  1548. HRESULT STDMETHODCALLTYPE IShellFolder2_GetDefaultColumnState_Proxy( 
  1549.     IShellFolder2 * This,
  1550.     /* [in] */ UINT iColumn,
  1551.     /* [out] */ SHCOLSTATEF *pcsFlags);
  1552. void __RPC_STUB IShellFolder2_GetDefaultColumnState_Stub(
  1553.     IRpcStubBuffer *This,
  1554.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1555.     PRPC_MESSAGE _pRpcMessage,
  1556.     DWORD *_pdwStubPhase);
  1557. HRESULT STDMETHODCALLTYPE IShellFolder2_GetDetailsEx_Proxy( 
  1558.     IShellFolder2 * This,
  1559.     /* [in] */ LPCITEMIDLIST pidl,
  1560.     /* [in] */ const SHCOLUMNID *pscid,
  1561.     /* [out] */ VARIANT *pv);
  1562. void __RPC_STUB IShellFolder2_GetDetailsEx_Stub(
  1563.     IRpcStubBuffer *This,
  1564.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1565.     PRPC_MESSAGE _pRpcMessage,
  1566.     DWORD *_pdwStubPhase);
  1567. HRESULT STDMETHODCALLTYPE IShellFolder2_GetDetailsOf_Proxy( 
  1568.     IShellFolder2 * This,
  1569.     /* [in] */ LPCITEMIDLIST pidl,
  1570.     /* [in] */ UINT iColumn,
  1571.     /* [out] */ SHELLDETAILS *psd);
  1572. void __RPC_STUB IShellFolder2_GetDetailsOf_Stub(
  1573.     IRpcStubBuffer *This,
  1574.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1575.     PRPC_MESSAGE _pRpcMessage,
  1576.     DWORD *_pdwStubPhase);
  1577. HRESULT STDMETHODCALLTYPE IShellFolder2_MapColumnToSCID_Proxy( 
  1578.     IShellFolder2 * This,
  1579.     /* [in] */ UINT iColumn,
  1580.     /* [in] */ SHCOLUMNID *pscid);
  1581. void __RPC_STUB IShellFolder2_MapColumnToSCID_Stub(
  1582.     IRpcStubBuffer *This,
  1583.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1584.     PRPC_MESSAGE _pRpcMessage,
  1585.     DWORD *_pdwStubPhase);
  1586. #endif  /* __IShellFolder2_INTERFACE_DEFINED__ */
  1587. /* interface __MIDL_itf_shobjidl_0197 */
  1588. /* [local] */ 
  1589. #endif // _WIN32_IE >= 0x0500)
  1590. typedef char *LPVIEWSETTINGS;
  1591. typedef /* [public][v1_enum] */ 
  1592. enum __MIDL___MIDL_itf_shobjidl_0197_0001
  1593.     { FWF_AUTOARRANGE = 0x1,
  1594. FWF_ABBREVIATEDNAMES = 0x2,
  1595. FWF_SNAPTOGRID = 0x4,
  1596. FWF_OWNERDATA = 0x8,
  1597. FWF_BESTFITWINDOW = 0x10,
  1598. FWF_DESKTOP = 0x20,
  1599. FWF_SINGLESEL = 0x40,
  1600. FWF_NOSUBFOLDERS = 0x80,
  1601. FWF_TRANSPARENT = 0x100,
  1602. FWF_NOCLIENTEDGE = 0x200,
  1603. FWF_NOSCROLL = 0x400,
  1604. FWF_ALIGNLEFT = 0x800,
  1605. FWF_NOICONS = 0x1000,
  1606. FWF_SHOWSELALWAYS = 0x2000,
  1607. FWF_NOVISIBLE = 0x4000,
  1608. FWF_SINGLECLICKACTIVATE = 0x8000,
  1609. FWF_NOWEBVIEW = 0x10000,
  1610. FWF_HIDEFILENAMES = 0x20000,
  1611. FWF_CHECKSELECT = 0x40000
  1612.     }  FOLDERFLAGS;
  1613. typedef /* [public][v1_enum] */ 
  1614. enum __MIDL___MIDL_itf_shobjidl_0197_0002
  1615.     { FVM_FIRST = 1,
  1616. FVM_ICON = 1,
  1617. FVM_SMALLICON = 2,
  1618. FVM_LIST = 3,
  1619. FVM_DETAILS = 4,
  1620. FVM_THUMBNAIL = 5,
  1621. FVM_TILE = 6,
  1622. FVM_THUMBSTRIP = 7,
  1623. FVM_LAST = 7
  1624.     }  FOLDERVIEWMODE;
  1625. typedef /* [public][public][public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_shobjidl_0197_0003
  1626.     {
  1627.     UINT ViewMode;
  1628.     UINT fFlags;
  1629.     }  FOLDERSETTINGS;
  1630. typedef FOLDERSETTINGS *LPFOLDERSETTINGS;
  1631. typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS;
  1632. typedef FOLDERSETTINGS *PFOLDERSETTINGS;
  1633. #define SVSI_DESELECT       0x00000000
  1634. #define SVSI_SELECT         0x00000001
  1635. #define SVSI_EDIT           0x00000003  // includes select
  1636. #define SVSI_DESELECTOTHERS 0x00000004
  1637. #define SVSI_ENSUREVISIBLE  0x00000008
  1638. #define SVSI_FOCUSED        0x00000010
  1639. #define SVSI_TRANSLATEPT    0x00000020
  1640. #define SVSI_SELECTIONMARK  0x00000040
  1641. #define SVSI_POSITIONITEM   0x00000080
  1642. #define SVSI_CHECK          0x00000100
  1643. #define SVSI_NOSTATECHANGE  0x80000000
  1644. typedef UINT SVSIF;
  1645. typedef /* [public][v1_enum] */ 
  1646. enum __MIDL___MIDL_itf_shobjidl_0197_0004
  1647.     { SVGIO_BACKGROUND = 0,
  1648. SVGIO_SELECTION = 0x1,
  1649. SVGIO_ALLVIEW = 0x2,
  1650. SVGIO_CHECKED = 0x3,
  1651. SVGIO_TYPE_MASK = 0xf,
  1652. SVGIO_FLAG_VIEWORDER = 0x80000000
  1653.     }  SVGIO;
  1654. typedef /* [public][v1_enum] */ 
  1655. enum __MIDL___MIDL_itf_shobjidl_0197_0005
  1656.     { SVUIA_DEACTIVATE = 0,
  1657. SVUIA_ACTIVATE_NOFOCUS = 1,
  1658. SVUIA_ACTIVATE_FOCUS = 2,
  1659. SVUIA_INPLACEACTIVATE = 3
  1660.     }  SVUIA_STATUS;
  1661. #ifdef _FIX_ENABLEMODELESS_CONFLICT
  1662. #define    EnableModeless EnableModelessSV
  1663. #endif
  1664. #ifdef _NEVER_
  1665. typedef LPARAM LPFNSVADDPROPSHEETPAGE;
  1666. #else //!_NEVER_
  1667. #include <prsht.h>
  1668. typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE;
  1669. #endif //_NEVER_
  1670. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0197_v0_0_c_ifspec;
  1671. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0197_v0_0_s_ifspec;
  1672. #ifndef __IShellView_INTERFACE_DEFINED__
  1673. #define __IShellView_INTERFACE_DEFINED__
  1674. /* interface IShellView */
  1675. /* [unique][object][uuid][helpstring] */ 
  1676. typedef IShellView *LPSHELLVIEW;
  1677. EXTERN_C const IID IID_IShellView;
  1678. #if defined(__cplusplus) && !defined(CINTERFACE)
  1679.     
  1680.     MIDL_INTERFACE("000214E3-0000-0000-C000-000000000046")
  1681.     IShellView : public IOleWindow
  1682.     {
  1683.     public:
  1684.         virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator( 
  1685.             /* [in] */ MSG *pmsg) = 0;
  1686.         
  1687.         virtual HRESULT STDMETHODCALLTYPE EnableModeless( 
  1688.             /* [in] */ BOOL fEnable) = 0;
  1689.         
  1690.         virtual HRESULT STDMETHODCALLTYPE UIActivate( 
  1691.             /* [in] */ UINT uState) = 0;
  1692.         
  1693.         virtual HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
  1694.         
  1695.         virtual HRESULT STDMETHODCALLTYPE CreateViewWindow( 
  1696.             /* [in] */ IShellView *psvPrevious,
  1697.             /* [in] */ LPCFOLDERSETTINGS pfs,
  1698.             /* [in] */ IShellBrowser *psb,
  1699.             /* [out] */ RECT *prcView,
  1700.             /* [out] */ HWND *phWnd) = 0;
  1701.         
  1702.         virtual HRESULT STDMETHODCALLTYPE DestroyViewWindow( void) = 0;
  1703.         
  1704.         virtual HRESULT STDMETHODCALLTYPE GetCurrentInfo( 
  1705.             /* [out] */ LPFOLDERSETTINGS pfs) = 0;
  1706.         
  1707.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddPropertySheetPages( 
  1708.             /* [in] */ DWORD dwReserved,
  1709.             /* [in] */ LPFNSVADDPROPSHEETPAGE pfn,
  1710.             /* [in] */ LPARAM lparam) = 0;
  1711.         
  1712.         virtual HRESULT STDMETHODCALLTYPE SaveViewState( void) = 0;
  1713.         
  1714.         virtual HRESULT STDMETHODCALLTYPE SelectItem( 
  1715.             /* [in] */ LPCITEMIDLIST pidlItem,
  1716.             /* [in] */ SVSIF uFlags) = 0;
  1717.         
  1718.         virtual HRESULT STDMETHODCALLTYPE GetItemObject( 
  1719.             /* [in] */ UINT uItem,
  1720.             /* [in] */ REFIID riid,
  1721.             /* [iid_is][out] */ void **ppv) = 0;
  1722.         
  1723.     };
  1724.     
  1725. #else  /* C style interface */
  1726.     typedef struct IShellViewVtbl
  1727.     {
  1728.         BEGIN_INTERFACE
  1729.         
  1730.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1731.             IShellView * This,
  1732.             /* [in] */ REFIID riid,
  1733.             /* [iid_is][out] */ void **ppvObject);
  1734.         
  1735.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1736.             IShellView * This);
  1737.         
  1738.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1739.             IShellView * This);
  1740.         
  1741.         /* [input_sync] */ HRESULT ( STDMETHODCALLTYPE *GetWindow )( 
  1742.             IShellView * This,
  1743.             /* [out] */ HWND *phwnd);
  1744.         
  1745.         HRESULT ( STDMETHODCALLTYPE *ContextSensitiveHelp )( 
  1746.             IShellView * This,
  1747.             /* [in] */ BOOL fEnterMode);
  1748.         
  1749.         HRESULT ( STDMETHODCALLTYPE *TranslateAccelerator )( 
  1750.             IShellView * This,
  1751.             /* [in] */ MSG *pmsg);
  1752.         
  1753.         HRESULT ( STDMETHODCALLTYPE *EnableModeless )( 
  1754.             IShellView * This,
  1755.             /* [in] */ BOOL fEnable);
  1756.         
  1757.         HRESULT ( STDMETHODCALLTYPE *UIActivate )( 
  1758.             IShellView * This,
  1759.             /* [in] */ UINT uState);
  1760.         
  1761.         HRESULT ( STDMETHODCALLTYPE *Refresh )( 
  1762.             IShellView * This);
  1763.         
  1764.         HRESULT ( STDMETHODCALLTYPE *CreateViewWindow )( 
  1765.             IShellView * This,
  1766.             /* [in] */ IShellView *psvPrevious,
  1767.             /* [in] */ LPCFOLDERSETTINGS pfs,
  1768.             /* [in] */ IShellBrowser *psb,
  1769.             /* [out] */ RECT *prcView,
  1770.             /* [out] */ HWND *phWnd);
  1771.         
  1772.         HRESULT ( STDMETHODCALLTYPE *DestroyViewWindow )( 
  1773.             IShellView * This);
  1774.         
  1775.         HRESULT ( STDMETHODCALLTYPE *GetCurrentInfo )( 
  1776.             IShellView * This,
  1777.             /* [out] */ LPFOLDERSETTINGS pfs);
  1778.         
  1779.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *AddPropertySheetPages )( 
  1780.             IShellView * This,
  1781.             /* [in] */ DWORD dwReserved,
  1782.             /* [in] */ LPFNSVADDPROPSHEETPAGE pfn,
  1783.             /* [in] */ LPARAM lparam);
  1784.         
  1785.         HRESULT ( STDMETHODCALLTYPE *SaveViewState )( 
  1786.             IShellView * This);
  1787.         
  1788.         HRESULT ( STDMETHODCALLTYPE *SelectItem )( 
  1789.             IShellView * This,
  1790.             /* [in] */ LPCITEMIDLIST pidlItem,
  1791.             /* [in] */ SVSIF uFlags);
  1792.         
  1793.         HRESULT ( STDMETHODCALLTYPE *GetItemObject )( 
  1794.             IShellView * This,
  1795.             /* [in] */ UINT uItem,
  1796.             /* [in] */ REFIID riid,
  1797.             /* [iid_is][out] */ void **ppv);
  1798.         
  1799.         END_INTERFACE
  1800.     } IShellViewVtbl;
  1801.     interface IShellView
  1802.     {
  1803.         CONST_VTBL struct IShellViewVtbl *lpVtbl;
  1804.     };
  1805.     
  1806. #ifdef COBJMACROS
  1807. #define IShellView_QueryInterface(This,riid,ppvObject)
  1808.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1809. #define IShellView_AddRef(This)
  1810.     (This)->lpVtbl -> AddRef(This)
  1811. #define IShellView_Release(This)
  1812.     (This)->lpVtbl -> Release(This)
  1813. #define IShellView_GetWindow(This,phwnd)
  1814.     (This)->lpVtbl -> GetWindow(This,phwnd)
  1815. #define IShellView_ContextSensitiveHelp(This,fEnterMode)
  1816.     (This)->lpVtbl -> ContextSensitiveHelp(This,fEnterMode)
  1817. #define IShellView_TranslateAccelerator(This,pmsg)
  1818.     (This)->lpVtbl -> TranslateAccelerator(This,pmsg)
  1819. #define IShellView_EnableModeless(This,fEnable)
  1820.     (This)->lpVtbl -> EnableModeless(This,fEnable)
  1821. #define IShellView_UIActivate(This,uState)
  1822.     (This)->lpVtbl -> UIActivate(This,uState)
  1823. #define IShellView_Refresh(This)
  1824.     (This)->lpVtbl -> Refresh(This)
  1825. #define IShellView_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd)
  1826.     (This)->lpVtbl -> CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd)
  1827. #define IShellView_DestroyViewWindow(This)
  1828.     (This)->lpVtbl -> DestroyViewWindow(This)
  1829. #define IShellView_GetCurrentInfo(This,pfs)
  1830.     (This)->lpVtbl -> GetCurrentInfo(This,pfs)
  1831. #define IShellView_AddPropertySheetPages(This,dwReserved,pfn,lparam)
  1832.     (This)->lpVtbl -> AddPropertySheetPages(This,dwReserved,pfn,lparam)
  1833. #define IShellView_SaveViewState(This)
  1834.     (This)->lpVtbl -> SaveViewState(This)
  1835. #define IShellView_SelectItem(This,pidlItem,uFlags)
  1836.     (This)->lpVtbl -> SelectItem(This,pidlItem,uFlags)
  1837. #define IShellView_GetItemObject(This,uItem,riid,ppv)
  1838.     (This)->lpVtbl -> GetItemObject(This,uItem,riid,ppv)
  1839. #endif /* COBJMACROS */
  1840. #endif  /* C style interface */
  1841. HRESULT STDMETHODCALLTYPE IShellView_TranslateAccelerator_Proxy( 
  1842.     IShellView * This,
  1843.     /* [in] */ MSG *pmsg);
  1844. void __RPC_STUB IShellView_TranslateAccelerator_Stub(
  1845.     IRpcStubBuffer *This,
  1846.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1847.     PRPC_MESSAGE _pRpcMessage,
  1848.     DWORD *_pdwStubPhase);
  1849. HRESULT STDMETHODCALLTYPE IShellView_EnableModeless_Proxy( 
  1850.     IShellView * This,
  1851.     /* [in] */ BOOL fEnable);
  1852. void __RPC_STUB IShellView_EnableModeless_Stub(
  1853.     IRpcStubBuffer *This,
  1854.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1855.     PRPC_MESSAGE _pRpcMessage,
  1856.     DWORD *_pdwStubPhase);
  1857. HRESULT STDMETHODCALLTYPE IShellView_UIActivate_Proxy( 
  1858.     IShellView * This,
  1859.     /* [in] */ UINT uState);
  1860. void __RPC_STUB IShellView_UIActivate_Stub(
  1861.     IRpcStubBuffer *This,
  1862.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1863.     PRPC_MESSAGE _pRpcMessage,
  1864.     DWORD *_pdwStubPhase);
  1865. HRESULT STDMETHODCALLTYPE IShellView_Refresh_Proxy( 
  1866.     IShellView * This);
  1867. void __RPC_STUB IShellView_Refresh_Stub(
  1868.     IRpcStubBuffer *This,
  1869.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1870.     PRPC_MESSAGE _pRpcMessage,
  1871.     DWORD *_pdwStubPhase);
  1872. HRESULT STDMETHODCALLTYPE IShellView_CreateViewWindow_Proxy( 
  1873.     IShellView * This,
  1874.     /* [in] */ IShellView *psvPrevious,
  1875.     /* [in] */ LPCFOLDERSETTINGS pfs,
  1876.     /* [in] */ IShellBrowser *psb,
  1877.     /* [out] */ RECT *prcView,
  1878.     /* [out] */ HWND *phWnd);
  1879. void __RPC_STUB IShellView_CreateViewWindow_Stub(
  1880.     IRpcStubBuffer *This,
  1881.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1882.     PRPC_MESSAGE _pRpcMessage,
  1883.     DWORD *_pdwStubPhase);
  1884. HRESULT STDMETHODCALLTYPE IShellView_DestroyViewWindow_Proxy( 
  1885.     IShellView * This);
  1886. void __RPC_STUB IShellView_DestroyViewWindow_Stub(
  1887.     IRpcStubBuffer *This,
  1888.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1889.     PRPC_MESSAGE _pRpcMessage,
  1890.     DWORD *_pdwStubPhase);
  1891. HRESULT STDMETHODCALLTYPE IShellView_GetCurrentInfo_Proxy( 
  1892.     IShellView * This,
  1893.     /* [out] */ LPFOLDERSETTINGS pfs);
  1894. void __RPC_STUB IShellView_GetCurrentInfo_Stub(
  1895.     IRpcStubBuffer *This,
  1896.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1897.     PRPC_MESSAGE _pRpcMessage,
  1898.     DWORD *_pdwStubPhase);
  1899. /* [local] */ HRESULT STDMETHODCALLTYPE IShellView_AddPropertySheetPages_Proxy( 
  1900.     IShellView * This,
  1901.     /* [in] */ DWORD dwReserved,
  1902.     /* [in] */ LPFNSVADDPROPSHEETPAGE pfn,
  1903.     /* [in] */ LPARAM lparam);
  1904. void __RPC_STUB IShellView_AddPropertySheetPages_Stub(
  1905.     IRpcStubBuffer *This,
  1906.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1907.     PRPC_MESSAGE _pRpcMessage,
  1908.     DWORD *_pdwStubPhase);
  1909. HRESULT STDMETHODCALLTYPE IShellView_SaveViewState_Proxy( 
  1910.     IShellView * This);
  1911. void __RPC_STUB IShellView_SaveViewState_Stub(
  1912.     IRpcStubBuffer *This,
  1913.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1914.     PRPC_MESSAGE _pRpcMessage,
  1915.     DWORD *_pdwStubPhase);
  1916. HRESULT STDMETHODCALLTYPE IShellView_SelectItem_Proxy( 
  1917.     IShellView * This,
  1918.     /* [in] */ LPCITEMIDLIST pidlItem,
  1919.     /* [in] */ SVSIF uFlags);
  1920. void __RPC_STUB IShellView_SelectItem_Stub(
  1921.     IRpcStubBuffer *This,
  1922.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1923.     PRPC_MESSAGE _pRpcMessage,
  1924.     DWORD *_pdwStubPhase);
  1925. HRESULT STDMETHODCALLTYPE IShellView_GetItemObject_Proxy( 
  1926.     IShellView * This,
  1927.     /* [in] */ UINT uItem,
  1928.     /* [in] */ REFIID riid,
  1929.     /* [iid_is][out] */ void **ppv);
  1930. void __RPC_STUB IShellView_GetItemObject_Stub(
  1931.     IRpcStubBuffer *This,
  1932.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1933.     PRPC_MESSAGE _pRpcMessage,
  1934.     DWORD *_pdwStubPhase);
  1935. #endif  /* __IShellView_INTERFACE_DEFINED__ */
  1936. #ifndef __IShellView2_INTERFACE_DEFINED__
  1937. #define __IShellView2_INTERFACE_DEFINED__
  1938. /* interface IShellView2 */
  1939. /* [unique][object][uuid][helpstring] */ 
  1940. typedef GUID SHELLVIEWID;
  1941. #define SV2GV_CURRENTVIEW ((UINT)-1)
  1942. #define SV2GV_DEFAULTVIEW ((UINT)-2)
  1943. #include <pshpack8.h>
  1944. typedef struct _SV2CVW2_PARAMS
  1945.     {
  1946.     DWORD cbSize;
  1947.     IShellView *psvPrev;
  1948.     LPCFOLDERSETTINGS pfs;
  1949.     IShellBrowser *psbOwner;
  1950.     RECT *prcView;
  1951.     const SHELLVIEWID *pvid;
  1952.     HWND hwndView;
  1953.     }  SV2CVW2_PARAMS;
  1954. typedef struct _SV2CVW2_PARAMS *LPSV2CVW2_PARAMS;
  1955. #include <poppack.h>
  1956. EXTERN_C const IID IID_IShellView2;
  1957. #if defined(__cplusplus) && !defined(CINTERFACE)
  1958.     
  1959.     MIDL_INTERFACE("88E39E80-3578-11CF-AE69-08002B2E1262")
  1960.     IShellView2 : public IShellView
  1961.     {
  1962.     public:
  1963.         virtual HRESULT STDMETHODCALLTYPE GetView( 
  1964.             /* [out][in] */ SHELLVIEWID *pvid,
  1965.             /* [in] */ ULONG uView) = 0;
  1966.         
  1967.         virtual HRESULT STDMETHODCALLTYPE CreateViewWindow2( 
  1968.             /* [in] */ LPSV2CVW2_PARAMS lpParams) = 0;
  1969.         
  1970.         virtual HRESULT STDMETHODCALLTYPE HandleRename( 
  1971.             /* [in] */ LPCITEMIDLIST pidlNew) = 0;
  1972.         
  1973.         virtual HRESULT STDMETHODCALLTYPE SelectAndPositionItem( 
  1974.             /* [in] */ LPCITEMIDLIST pidlItem,
  1975.             /* [in] */ UINT uFlags,
  1976.             /* [in] */ POINT *ppt) = 0;
  1977.         
  1978.     };
  1979.     
  1980. #else  /* C style interface */
  1981.     typedef struct IShellView2Vtbl
  1982.     {
  1983.         BEGIN_INTERFACE
  1984.         
  1985.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1986.             IShellView2 * This,
  1987.             /* [in] */ REFIID riid,
  1988.             /* [iid_is][out] */ void **ppvObject);
  1989.         
  1990.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1991.             IShellView2 * This);
  1992.         
  1993.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1994.             IShellView2 * This);
  1995.         
  1996.         /* [input_sync] */ HRESULT ( STDMETHODCALLTYPE *GetWindow )( 
  1997.             IShellView2 * This,
  1998.             /* [out] */ HWND *phwnd);
  1999.         
  2000.         HRESULT ( STDMETHODCALLTYPE *ContextSensitiveHelp )( 
  2001.             IShellView2 * This,
  2002.             /* [in] */ BOOL fEnterMode);
  2003.         
  2004.         HRESULT ( STDMETHODCALLTYPE *TranslateAccelerator )( 
  2005.             IShellView2 * This,
  2006.             /* [in] */ MSG *pmsg);
  2007.         
  2008.         HRESULT ( STDMETHODCALLTYPE *EnableModeless )( 
  2009.             IShellView2 * This,
  2010.             /* [in] */ BOOL fEnable);
  2011.         
  2012.         HRESULT ( STDMETHODCALLTYPE *UIActivate )( 
  2013.             IShellView2 * This,
  2014.             /* [in] */ UINT uState);
  2015.         
  2016.         HRESULT ( STDMETHODCALLTYPE *Refresh )( 
  2017.             IShellView2 * This);
  2018.         
  2019.         HRESULT ( STDMETHODCALLTYPE *CreateViewWindow )( 
  2020.             IShellView2 * This,
  2021.             /* [in] */ IShellView *psvPrevious,
  2022.             /* [in] */ LPCFOLDERSETTINGS pfs,
  2023.             /* [in] */ IShellBrowser *psb,
  2024.             /* [out] */ RECT *prcView,
  2025.             /* [out] */ HWND *phWnd);
  2026.         
  2027.         HRESULT ( STDMETHODCALLTYPE *DestroyViewWindow )( 
  2028.             IShellView2 * This);
  2029.         
  2030.         HRESULT ( STDMETHODCALLTYPE *GetCurrentInfo )( 
  2031.             IShellView2 * This,
  2032.             /* [out] */ LPFOLDERSETTINGS pfs);
  2033.         
  2034.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *AddPropertySheetPages )( 
  2035.             IShellView2 * This,
  2036.             /* [in] */ DWORD dwReserved,
  2037.             /* [in] */ LPFNSVADDPROPSHEETPAGE pfn,
  2038.             /* [in] */ LPARAM lparam);
  2039.         
  2040.         HRESULT ( STDMETHODCALLTYPE *SaveViewState )( 
  2041.             IShellView2 * This);
  2042.         
  2043.         HRESULT ( STDMETHODCALLTYPE *SelectItem )( 
  2044.             IShellView2 * This,
  2045.             /* [in] */ LPCITEMIDLIST pidlItem,
  2046.             /* [in] */ SVSIF uFlags);
  2047.         
  2048.         HRESULT ( STDMETHODCALLTYPE *GetItemObject )( 
  2049.             IShellView2 * This,
  2050.             /* [in] */ UINT uItem,
  2051.             /* [in] */ REFIID riid,
  2052.             /* [iid_is][out] */ void **ppv);
  2053.         
  2054.         HRESULT ( STDMETHODCALLTYPE *GetView )( 
  2055.             IShellView2 * This,
  2056.             /* [out][in] */ SHELLVIEWID *pvid,
  2057.             /* [in] */ ULONG uView);
  2058.         
  2059.         HRESULT ( STDMETHODCALLTYPE *CreateViewWindow2 )( 
  2060.             IShellView2 * This,
  2061.             /* [in] */ LPSV2CVW2_PARAMS lpParams);
  2062.         
  2063.         HRESULT ( STDMETHODCALLTYPE *HandleRename )( 
  2064.             IShellView2 * This,
  2065.             /* [in] */ LPCITEMIDLIST pidlNew);
  2066.         
  2067.         HRESULT ( STDMETHODCALLTYPE *SelectAndPositionItem )( 
  2068.             IShellView2 * This,
  2069.             /* [in] */ LPCITEMIDLIST pidlItem,
  2070.             /* [in] */ UINT uFlags,
  2071.             /* [in] */ POINT *ppt);
  2072.         
  2073.         END_INTERFACE
  2074.     } IShellView2Vtbl;
  2075.     interface IShellView2
  2076.     {
  2077.         CONST_VTBL struct IShellView2Vtbl *lpVtbl;
  2078.     };
  2079.     
  2080. #ifdef COBJMACROS
  2081. #define IShellView2_QueryInterface(This,riid,ppvObject)
  2082.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2083. #define IShellView2_AddRef(This)
  2084.     (This)->lpVtbl -> AddRef(This)
  2085. #define IShellView2_Release(This)
  2086.     (This)->lpVtbl -> Release(This)
  2087. #define IShellView2_GetWindow(This,phwnd)
  2088.     (This)->lpVtbl -> GetWindow(This,phwnd)
  2089. #define IShellView2_ContextSensitiveHelp(This,fEnterMode)
  2090.     (This)->lpVtbl -> ContextSensitiveHelp(This,fEnterMode)
  2091. #define IShellView2_TranslateAccelerator(This,pmsg)
  2092.     (This)->lpVtbl -> TranslateAccelerator(This,pmsg)
  2093. #define IShellView2_EnableModeless(This,fEnable)
  2094.     (This)->lpVtbl -> EnableModeless(This,fEnable)
  2095. #define IShellView2_UIActivate(This,uState)
  2096.     (This)->lpVtbl -> UIActivate(This,uState)
  2097. #define IShellView2_Refresh(This)
  2098.     (This)->lpVtbl -> Refresh(This)
  2099. #define IShellView2_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd)
  2100.     (This)->lpVtbl -> CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd)
  2101. #define IShellView2_DestroyViewWindow(This)
  2102.     (This)->lpVtbl -> DestroyViewWindow(This)
  2103. #define IShellView2_GetCurrentInfo(This,pfs)
  2104.     (This)->lpVtbl -> GetCurrentInfo(This,pfs)
  2105. #define IShellView2_AddPropertySheetPages(This,dwReserved,pfn,lparam)
  2106.     (This)->lpVtbl -> AddPropertySheetPages(This,dwReserved,pfn,lparam)
  2107. #define IShellView2_SaveViewState(This)
  2108.     (This)->lpVtbl -> SaveViewState(This)
  2109. #define IShellView2_SelectItem(This,pidlItem,uFlags)
  2110.     (This)->lpVtbl -> SelectItem(This,pidlItem,uFlags)
  2111. #define IShellView2_GetItemObject(This,uItem,riid,ppv)
  2112.     (This)->lpVtbl -> GetItemObject(This,uItem,riid,ppv)
  2113. #define IShellView2_GetView(This,pvid,uView)
  2114.     (This)->lpVtbl -> GetView(This,pvid,uView)
  2115. #define IShellView2_CreateViewWindow2(This,lpParams)
  2116.     (This)->lpVtbl -> CreateViewWindow2(This,lpParams)
  2117. #define IShellView2_HandleRename(This,pidlNew)
  2118.     (This)->lpVtbl -> HandleRename(This,pidlNew)
  2119. #define IShellView2_SelectAndPositionItem(This,pidlItem,uFlags,ppt)
  2120.     (This)->lpVtbl -> SelectAndPositionItem(This,pidlItem,uFlags,ppt)
  2121. #endif /* COBJMACROS */
  2122. #endif  /* C style interface */
  2123. HRESULT STDMETHODCALLTYPE IShellView2_GetView_Proxy( 
  2124.     IShellView2 * This,
  2125.     /* [out][in] */ SHELLVIEWID *pvid,
  2126.     /* [in] */ ULONG uView);
  2127. void __RPC_STUB IShellView2_GetView_Stub(
  2128.     IRpcStubBuffer *This,
  2129.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2130.     PRPC_MESSAGE _pRpcMessage,
  2131.     DWORD *_pdwStubPhase);
  2132. HRESULT STDMETHODCALLTYPE IShellView2_CreateViewWindow2_Proxy( 
  2133.     IShellView2 * This,
  2134.     /* [in] */ LPSV2CVW2_PARAMS lpParams);
  2135. void __RPC_STUB IShellView2_CreateViewWindow2_Stub(
  2136.     IRpcStubBuffer *This,
  2137.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2138.     PRPC_MESSAGE _pRpcMessage,
  2139.     DWORD *_pdwStubPhase);
  2140. HRESULT STDMETHODCALLTYPE IShellView2_HandleRename_Proxy( 
  2141.     IShellView2 * This,
  2142.     /* [in] */ LPCITEMIDLIST pidlNew);
  2143. void __RPC_STUB IShellView2_HandleRename_Stub(
  2144.     IRpcStubBuffer *This,
  2145.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2146.     PRPC_MESSAGE _pRpcMessage,
  2147.     DWORD *_pdwStubPhase);
  2148. HRESULT STDMETHODCALLTYPE IShellView2_SelectAndPositionItem_Proxy( 
  2149.     IShellView2 * This,
  2150.     /* [in] */ LPCITEMIDLIST pidlItem,
  2151.     /* [in] */ UINT uFlags,
  2152.     /* [in] */ POINT *ppt);
  2153. void __RPC_STUB IShellView2_SelectAndPositionItem_Stub(
  2154.     IRpcStubBuffer *This,
  2155.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2156.     PRPC_MESSAGE _pRpcMessage,
  2157.     DWORD *_pdwStubPhase);
  2158. #endif  /* __IShellView2_INTERFACE_DEFINED__ */
  2159. #ifndef __IFolderView_INTERFACE_DEFINED__
  2160. #define __IFolderView_INTERFACE_DEFINED__
  2161. /* interface IFolderView */
  2162. /* [unique][object][uuid][helpstring] */ 
  2163. EXTERN_C const IID IID_IFolderView;
  2164. #if defined(__cplusplus) && !defined(CINTERFACE)
  2165.     
  2166.     MIDL_INTERFACE("cde725b0-ccc9-4519-917e-325d72fab4ce")
  2167.     IFolderView : public IUnknown
  2168.     {
  2169.     public:
  2170.         virtual HRESULT STDMETHODCALLTYPE GetCurrentViewMode( 
  2171.             /* [out][in] */ UINT *pViewMode) = 0;
  2172.         
  2173.         virtual HRESULT STDMETHODCALLTYPE SetCurrentViewMode( 
  2174.             /* [in] */ UINT ViewMode) = 0;
  2175.         
  2176.         virtual HRESULT STDMETHODCALLTYPE GetFolder( 
  2177.             /* [in] */ REFIID riid,
  2178.             /* [iid_is][out] */ void **ppv) = 0;
  2179.         
  2180.         virtual HRESULT STDMETHODCALLTYPE Item( 
  2181.             /* [in] */ int iItemIndex,
  2182.             /* [out] */ LPITEMIDLIST *ppidl) = 0;
  2183.         
  2184.         virtual HRESULT STDMETHODCALLTYPE ItemCount( 
  2185.             /* [in] */ UINT uFlags,
  2186.             /* [out] */ int *pcItems) = 0;
  2187.         
  2188.         virtual HRESULT STDMETHODCALLTYPE Items( 
  2189.             /* [in] */ UINT uFlags,
  2190.             /* [in] */ REFIID riid,
  2191.             /* [iid_is][out] */ void **ppv) = 0;
  2192.         
  2193.         virtual HRESULT STDMETHODCALLTYPE GetSelectionMarkedItem( 
  2194.             /* [out] */ int *piItem) = 0;
  2195.         
  2196.         virtual HRESULT STDMETHODCALLTYPE GetFocusedItem( 
  2197.             /* [out] */ int *piItem) = 0;
  2198.         
  2199.         virtual HRESULT STDMETHODCALLTYPE GetItemPosition( 
  2200.             /* [in] */ LPCITEMIDLIST pidl,
  2201.             /* [out] */ POINT *ppt) = 0;
  2202.         
  2203.         virtual HRESULT STDMETHODCALLTYPE GetSpacing( 
  2204.             /* [full][out][in] */ POINT *ppt) = 0;
  2205.         
  2206.         virtual HRESULT STDMETHODCALLTYPE GetDefaultSpacing( 
  2207.             /* [out] */ POINT *ppt) = 0;
  2208.         
  2209.         virtual HRESULT STDMETHODCALLTYPE GetAutoArrange( void) = 0;
  2210.         
  2211.         virtual HRESULT STDMETHODCALLTYPE SelectItem( 
  2212.             /* [in] */ int iItem,
  2213.             /* [in] */ DWORD dwFlags) = 0;
  2214.         
  2215.         virtual HRESULT STDMETHODCALLTYPE SelectAndPositionItems( 
  2216.             /* [in] */ UINT cidl,
  2217.             /* [size_is][in] */ LPCITEMIDLIST *apidl,
  2218.             /* [size_is][full][in] */ POINT *apt,
  2219.             /* [in] */ DWORD dwFlags) = 0;
  2220.         
  2221.     };
  2222.     
  2223. #else  /* C style interface */
  2224.     typedef struct IFolderViewVtbl
  2225.     {
  2226.         BEGIN_INTERFACE
  2227.         
  2228.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2229.             IFolderView * This,
  2230.             /* [in] */ REFIID riid,
  2231.             /* [iid_is][out] */ void **ppvObject);
  2232.         
  2233.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2234.             IFolderView * This);
  2235.         
  2236.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2237.             IFolderView * This);
  2238.         
  2239.         HRESULT ( STDMETHODCALLTYPE *GetCurrentViewMode )( 
  2240.             IFolderView * This,
  2241.             /* [out][in] */ UINT *pViewMode);
  2242.         
  2243.         HRESULT ( STDMETHODCALLTYPE *SetCurrentViewMode )( 
  2244.             IFolderView * This,
  2245.             /* [in] */ UINT ViewMode);
  2246.         
  2247.         HRESULT ( STDMETHODCALLTYPE *GetFolder )( 
  2248.             IFolderView * This,
  2249.             /* [in] */ REFIID riid,
  2250.             /* [iid_is][out] */ void **ppv);
  2251.         
  2252.         HRESULT ( STDMETHODCALLTYPE *Item )( 
  2253.             IFolderView * This,
  2254.             /* [in] */ int iItemIndex,
  2255.             /* [out] */ LPITEMIDLIST *ppidl);
  2256.         
  2257.         HRESULT ( STDMETHODCALLTYPE *ItemCount )( 
  2258.             IFolderView * This,
  2259.             /* [in] */ UINT uFlags,
  2260.             /* [out] */ int *pcItems);
  2261.         
  2262.         HRESULT ( STDMETHODCALLTYPE *Items )( 
  2263.             IFolderView * This,
  2264.             /* [in] */ UINT uFlags,
  2265.             /* [in] */ REFIID riid,
  2266.             /* [iid_is][out] */ void **ppv);
  2267.         
  2268.         HRESULT ( STDMETHODCALLTYPE *GetSelectionMarkedItem )( 
  2269.             IFolderView * This,
  2270.             /* [out] */ int *piItem);
  2271.         
  2272.         HRESULT ( STDMETHODCALLTYPE *GetFocusedItem )( 
  2273.             IFolderView * This,
  2274.             /* [out] */ int *piItem);
  2275.         
  2276.         HRESULT ( STDMETHODCALLTYPE *GetItemPosition )( 
  2277.             IFolderView * This,
  2278.             /* [in] */ LPCITEMIDLIST pidl,
  2279.             /* [out] */ POINT *ppt);
  2280.         
  2281.         HRESULT ( STDMETHODCALLTYPE *GetSpacing )( 
  2282.             IFolderView * This,
  2283.             /* [full][out][in] */ POINT *ppt);
  2284.         
  2285.         HRESULT ( STDMETHODCALLTYPE *GetDefaultSpacing )( 
  2286.             IFolderView * This,
  2287.             /* [out] */ POINT *ppt);
  2288.         
  2289.         HRESULT ( STDMETHODCALLTYPE *GetAutoArrange )( 
  2290.             IFolderView * This);
  2291.         
  2292.         HRESULT ( STDMETHODCALLTYPE *SelectItem )( 
  2293.             IFolderView * This,
  2294.             /* [in] */ int iItem,
  2295.             /* [in] */ DWORD dwFlags);
  2296.         
  2297.         HRESULT ( STDMETHODCALLTYPE *SelectAndPositionItems )( 
  2298.             IFolderView * This,
  2299.             /* [in] */ UINT cidl,
  2300.             /* [size_is][in] */ LPCITEMIDLIST *apidl,
  2301.             /* [size_is][full][in] */ POINT *apt,
  2302.             /* [in] */ DWORD dwFlags);
  2303.         
  2304.         END_INTERFACE
  2305.     } IFolderViewVtbl;
  2306.     interface IFolderView
  2307.     {
  2308.         CONST_VTBL struct IFolderViewVtbl *lpVtbl;
  2309.     };
  2310.     
  2311. #ifdef COBJMACROS
  2312. #define IFolderView_QueryInterface(This,riid,ppvObject)
  2313.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2314. #define IFolderView_AddRef(This)
  2315.     (This)->lpVtbl -> AddRef(This)
  2316. #define IFolderView_Release(This)
  2317.     (This)->lpVtbl -> Release(This)
  2318. #define IFolderView_GetCurrentViewMode(This,pViewMode)
  2319.     (This)->lpVtbl -> GetCurrentViewMode(This,pViewMode)
  2320. #define IFolderView_SetCurrentViewMode(This,ViewMode)
  2321.     (This)->lpVtbl -> SetCurrentViewMode(This,ViewMode)
  2322. #define IFolderView_GetFolder(This,riid,ppv)
  2323.     (This)->lpVtbl -> GetFolder(This,riid,ppv)
  2324. #define IFolderView_Item(This,iItemIndex,ppidl)
  2325.     (This)->lpVtbl -> Item(This,iItemIndex,ppidl)
  2326. #define IFolderView_ItemCount(This,uFlags,pcItems)
  2327.     (This)->lpVtbl -> ItemCount(This,uFlags,pcItems)
  2328. #define IFolderView_Items(This,uFlags,riid,ppv)
  2329.     (This)->lpVtbl -> Items(This,uFlags,riid,ppv)
  2330. #define IFolderView_GetSelectionMarkedItem(This,piItem)
  2331.     (This)->lpVtbl -> GetSelectionMarkedItem(This,piItem)
  2332. #define IFolderView_GetFocusedItem(This,piItem)
  2333.     (This)->lpVtbl -> GetFocusedItem(This,piItem)
  2334. #define IFolderView_GetItemPosition(This,pidl,ppt)
  2335.     (This)->lpVtbl -> GetItemPosition(This,pidl,ppt)
  2336. #define IFolderView_GetSpacing(This,ppt)
  2337.     (This)->lpVtbl -> GetSpacing(This,ppt)
  2338. #define IFolderView_GetDefaultSpacing(This,ppt)
  2339.     (This)->lpVtbl -> GetDefaultSpacing(This,ppt)
  2340. #define IFolderView_GetAutoArrange(This)
  2341.     (This)->lpVtbl -> GetAutoArrange(This)
  2342. #define IFolderView_SelectItem(This,iItem,dwFlags)
  2343.     (This)->lpVtbl -> SelectItem(This,iItem,dwFlags)
  2344. #define IFolderView_SelectAndPositionItems(This,cidl,apidl,apt,dwFlags)
  2345.     (This)->lpVtbl -> SelectAndPositionItems(This,cidl,apidl,apt,dwFlags)
  2346. #endif /* COBJMACROS */
  2347. #endif  /* C style interface */
  2348. HRESULT STDMETHODCALLTYPE IFolderView_GetCurrentViewMode_Proxy( 
  2349.     IFolderView * This,
  2350.     /* [out][in] */ UINT *pViewMode);
  2351. void __RPC_STUB IFolderView_GetCurrentViewMode_Stub(
  2352.     IRpcStubBuffer *This,
  2353.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2354.     PRPC_MESSAGE _pRpcMessage,
  2355.     DWORD *_pdwStubPhase);
  2356. HRESULT STDMETHODCALLTYPE IFolderView_SetCurrentViewMode_Proxy( 
  2357.     IFolderView * This,
  2358.     /* [in] */ UINT ViewMode);
  2359. void __RPC_STUB IFolderView_SetCurrentViewMode_Stub(
  2360.     IRpcStubBuffer *This,
  2361.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2362.     PRPC_MESSAGE _pRpcMessage,
  2363.     DWORD *_pdwStubPhase);
  2364. HRESULT STDMETHODCALLTYPE IFolderView_GetFolder_Proxy( 
  2365.     IFolderView * This,
  2366.     /* [in] */ REFIID riid,
  2367.     /* [iid_is][out] */ void **ppv);
  2368. void __RPC_STUB IFolderView_GetFolder_Stub(
  2369.     IRpcStubBuffer *This,
  2370.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2371.     PRPC_MESSAGE _pRpcMessage,
  2372.     DWORD *_pdwStubPhase);
  2373. HRESULT STDMETHODCALLTYPE IFolderView_Item_Proxy( 
  2374.     IFolderView * This,
  2375.     /* [in] */ int iItemIndex,
  2376.     /* [out] */ LPITEMIDLIST *ppidl);
  2377. void __RPC_STUB IFolderView_Item_Stub(
  2378.     IRpcStubBuffer *This,
  2379.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2380.     PRPC_MESSAGE _pRpcMessage,
  2381.     DWORD *_pdwStubPhase);
  2382. HRESULT STDMETHODCALLTYPE IFolderView_ItemCount_Proxy( 
  2383.     IFolderView * This,
  2384.     /* [in] */ UINT uFlags,
  2385.     /* [out] */ int *pcItems);
  2386. void __RPC_STUB IFolderView_ItemCount_Stub(
  2387.     IRpcStubBuffer *This,
  2388.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2389.     PRPC_MESSAGE _pRpcMessage,
  2390.     DWORD *_pdwStubPhase);
  2391. HRESULT STDMETHODCALLTYPE IFolderView_Items_Proxy( 
  2392.     IFolderView * This,
  2393.     /* [in] */ UINT uFlags,
  2394.     /* [in] */ REFIID riid,
  2395.     /* [iid_is][out] */ void **ppv);
  2396. void __RPC_STUB IFolderView_Items_Stub(
  2397.     IRpcStubBuffer *This,
  2398.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2399.     PRPC_MESSAGE _pRpcMessage,
  2400.     DWORD *_pdwStubPhase);
  2401. HRESULT STDMETHODCALLTYPE IFolderView_GetSelectionMarkedItem_Proxy( 
  2402.     IFolderView * This,
  2403.     /* [out] */ int *piItem);
  2404. void __RPC_STUB IFolderView_GetSelectionMarkedItem_Stub(
  2405.     IRpcStubBuffer *This,
  2406.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2407.     PRPC_MESSAGE _pRpcMessage,
  2408.     DWORD *_pdwStubPhase);
  2409. HRESULT STDMETHODCALLTYPE IFolderView_GetFocusedItem_Proxy( 
  2410.     IFolderView * This,
  2411.     /* [out] */ int *piItem);
  2412. void __RPC_STUB IFolderView_GetFocusedItem_Stub(
  2413.     IRpcStubBuffer *This,
  2414.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2415.     PRPC_MESSAGE _pRpcMessage,
  2416.     DWORD *_pdwStubPhase);
  2417. HRESULT STDMETHODCALLTYPE IFolderView_GetItemPosition_Proxy( 
  2418.     IFolderView * This,
  2419.     /* [in] */ LPCITEMIDLIST pidl,
  2420.     /* [out] */ POINT *ppt);
  2421. void __RPC_STUB IFolderView_GetItemPosition_Stub(
  2422.     IRpcStubBuffer *This,
  2423.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2424.     PRPC_MESSAGE _pRpcMessage,
  2425.     DWORD *_pdwStubPhase);
  2426. HRESULT STDMETHODCALLTYPE IFolderView_GetSpacing_Proxy( 
  2427.     IFolderView * This,
  2428.     /* [full][out][in] */ POINT *ppt);
  2429. void __RPC_STUB IFolderView_GetSpacing_Stub(
  2430.     IRpcStubBuffer *This,
  2431.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2432.     PRPC_MESSAGE _pRpcMessage,
  2433.     DWORD *_pdwStubPhase);
  2434. HRESULT STDMETHODCALLTYPE IFolderView_GetDefaultSpacing_Proxy( 
  2435.     IFolderView * This,
  2436.     /* [out] */ POINT *ppt);
  2437. void __RPC_STUB IFolderView_GetDefaultSpacing_Stub(
  2438.     IRpcStubBuffer *This,
  2439.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2440.     PRPC_MESSAGE _pRpcMessage,
  2441.     DWORD *_pdwStubPhase);
  2442. HRESULT STDMETHODCALLTYPE IFolderView_GetAutoArrange_Proxy( 
  2443.     IFolderView * This);
  2444. void __RPC_STUB IFolderView_GetAutoArrange_Stub(
  2445.     IRpcStubBuffer *This,
  2446.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2447.     PRPC_MESSAGE _pRpcMessage,
  2448.     DWORD *_pdwStubPhase);
  2449. HRESULT STDMETHODCALLTYPE IFolderView_SelectItem_Proxy( 
  2450.     IFolderView * This,
  2451.     /* [in] */ int iItem,
  2452.     /* [in] */ DWORD dwFlags);
  2453. void __RPC_STUB IFolderView_SelectItem_Stub(
  2454.     IRpcStubBuffer *This,
  2455.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2456.     PRPC_MESSAGE _pRpcMessage,
  2457.     DWORD *_pdwStubPhase);
  2458. HRESULT STDMETHODCALLTYPE IFolderView_SelectAndPositionItems_Proxy( 
  2459.     IFolderView * This,
  2460.     /* [in] */ UINT cidl,
  2461.     /* [size_is][in] */ LPCITEMIDLIST *apidl,
  2462.     /* [size_is][full][in] */ POINT *apt,
  2463.     /* [in] */ DWORD dwFlags);
  2464. void __RPC_STUB IFolderView_SelectAndPositionItems_Stub(
  2465.     IRpcStubBuffer *This,
  2466.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2467.     PRPC_MESSAGE _pRpcMessage,
  2468.     DWORD *_pdwStubPhase);
  2469. #endif  /* __IFolderView_INTERFACE_DEFINED__ */
  2470. /* interface __MIDL_itf_shobjidl_0200 */
  2471. /* [local] */ 
  2472. #define SID_SFolderView IID_IFolderView    // folder view, usuaally IFolderView
  2473. #ifdef _FIX_ENABLEMODELESS_CONFLICT
  2474. #undef    EnableModeless 
  2475. #endif
  2476. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0200_v0_0_c_ifspec;
  2477. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0200_v0_0_s_ifspec;
  2478. #ifndef __IFolderFilterSite_INTERFACE_DEFINED__
  2479. #define __IFolderFilterSite_INTERFACE_DEFINED__
  2480. /* interface IFolderFilterSite */
  2481. /* [unique][object][uuid][helpstring] */ 
  2482. EXTERN_C const IID IID_IFolderFilterSite;
  2483. #if defined(__cplusplus) && !defined(CINTERFACE)
  2484.     
  2485.     MIDL_INTERFACE("C0A651F5-B48B-11d2-B5ED-006097C686F6")
  2486.     IFolderFilterSite : public IUnknown
  2487.     {
  2488.     public:
  2489.         virtual HRESULT STDMETHODCALLTYPE SetFilter( 
  2490.             /* [in] */ IUnknown *punk) = 0;
  2491.         
  2492.     };
  2493.     
  2494. #else  /* C style interface */
  2495.     typedef struct IFolderFilterSiteVtbl
  2496.     {
  2497.         BEGIN_INTERFACE
  2498.         
  2499.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2500.             IFolderFilterSite * This,
  2501.             /* [in] */ REFIID riid,
  2502.             /* [iid_is][out] */ void **ppvObject);
  2503.         
  2504.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2505.             IFolderFilterSite * This);
  2506.         
  2507.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2508.             IFolderFilterSite * This);
  2509.         
  2510.         HRESULT ( STDMETHODCALLTYPE *SetFilter )( 
  2511.             IFolderFilterSite * This,
  2512.             /* [in] */ IUnknown *punk);
  2513.         
  2514.         END_INTERFACE
  2515.     } IFolderFilterSiteVtbl;
  2516.     interface IFolderFilterSite
  2517.     {
  2518.         CONST_VTBL struct IFolderFilterSiteVtbl *lpVtbl;
  2519.     };
  2520.     
  2521. #ifdef COBJMACROS