Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12609 lines
340 KiB

  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 __IModalWindow_FWD_DEFINED__
  217. #define __IModalWindow_FWD_DEFINED__
  218. typedef interface IModalWindow IModalWindow;
  219. #endif /* __IModalWindow_FWD_DEFINED__ */
  220. #ifndef __IPassportWizard_FWD_DEFINED__
  221. #define __IPassportWizard_FWD_DEFINED__
  222. typedef interface IPassportWizard IPassportWizard;
  223. #endif /* __IPassportWizard_FWD_DEFINED__ */
  224. #ifndef __IContextMenuSite_FWD_DEFINED__
  225. #define __IContextMenuSite_FWD_DEFINED__
  226. typedef interface IContextMenuSite IContextMenuSite;
  227. #endif /* __IContextMenuSite_FWD_DEFINED__ */
  228. #ifndef __IDVGetEnum_FWD_DEFINED__
  229. #define __IDVGetEnum_FWD_DEFINED__
  230. typedef interface IDVGetEnum IDVGetEnum;
  231. #endif /* __IDVGetEnum_FWD_DEFINED__ */
  232. #ifndef __IInsertItem_FWD_DEFINED__
  233. #define __IInsertItem_FWD_DEFINED__
  234. typedef interface IInsertItem IInsertItem;
  235. #endif /* __IInsertItem_FWD_DEFINED__ */
  236. #ifndef __IDeskBar_FWD_DEFINED__
  237. #define __IDeskBar_FWD_DEFINED__
  238. typedef interface IDeskBar IDeskBar;
  239. #endif /* __IDeskBar_FWD_DEFINED__ */
  240. #ifndef __IMenuBand_FWD_DEFINED__
  241. #define __IMenuBand_FWD_DEFINED__
  242. typedef interface IMenuBand IMenuBand;
  243. #endif /* __IMenuBand_FWD_DEFINED__ */
  244. #ifndef __IFolderBandPriv_FWD_DEFINED__
  245. #define __IFolderBandPriv_FWD_DEFINED__
  246. typedef interface IFolderBandPriv IFolderBandPriv;
  247. #endif /* __IFolderBandPriv_FWD_DEFINED__ */
  248. #ifndef __IBandSite_FWD_DEFINED__
  249. #define __IBandSite_FWD_DEFINED__
  250. typedef interface IBandSite IBandSite;
  251. #endif /* __IBandSite_FWD_DEFINED__ */
  252. #ifndef __INamespaceWalkCB_FWD_DEFINED__
  253. #define __INamespaceWalkCB_FWD_DEFINED__
  254. typedef interface INamespaceWalkCB INamespaceWalkCB;
  255. #endif /* __INamespaceWalkCB_FWD_DEFINED__ */
  256. #ifndef __INamespaceWalk_FWD_DEFINED__
  257. #define __INamespaceWalk_FWD_DEFINED__
  258. typedef interface INamespaceWalk INamespaceWalk;
  259. #endif /* __INamespaceWalk_FWD_DEFINED__ */
  260. #ifndef __IRegTreeItem_FWD_DEFINED__
  261. #define __IRegTreeItem_FWD_DEFINED__
  262. typedef interface IRegTreeItem IRegTreeItem;
  263. #endif /* __IRegTreeItem_FWD_DEFINED__ */
  264. #ifndef __IMenuPopup_FWD_DEFINED__
  265. #define __IMenuPopup_FWD_DEFINED__
  266. typedef interface IMenuPopup IMenuPopup;
  267. #endif /* __IMenuPopup_FWD_DEFINED__ */
  268. #ifndef __IShellItem_FWD_DEFINED__
  269. #define __IShellItem_FWD_DEFINED__
  270. typedef interface IShellItem IShellItem;
  271. #endif /* __IShellItem_FWD_DEFINED__ */
  272. #ifndef __IImageRecompress_FWD_DEFINED__
  273. #define __IImageRecompress_FWD_DEFINED__
  274. typedef interface IImageRecompress IImageRecompress;
  275. #endif /* __IImageRecompress_FWD_DEFINED__ */
  276. #ifndef __IDefViewSafety_FWD_DEFINED__
  277. #define __IDefViewSafety_FWD_DEFINED__
  278. typedef interface IDefViewSafety IDefViewSafety;
  279. #endif /* __IDefViewSafety_FWD_DEFINED__ */
  280. #ifndef __ICDBurnExt_FWD_DEFINED__
  281. #define __ICDBurnExt_FWD_DEFINED__
  282. typedef interface ICDBurnExt ICDBurnExt;
  283. #endif /* __ICDBurnExt_FWD_DEFINED__ */
  284. #ifndef __QueryCancelAutoPlay_FWD_DEFINED__
  285. #define __QueryCancelAutoPlay_FWD_DEFINED__
  286. #ifdef __cplusplus
  287. typedef class QueryCancelAutoPlay QueryCancelAutoPlay;
  288. #else
  289. typedef struct QueryCancelAutoPlay QueryCancelAutoPlay;
  290. #endif /* __cplusplus */
  291. #endif /* __QueryCancelAutoPlay_FWD_DEFINED__ */
  292. #ifndef __DriveSizeCategorizer_FWD_DEFINED__
  293. #define __DriveSizeCategorizer_FWD_DEFINED__
  294. #ifdef __cplusplus
  295. typedef class DriveSizeCategorizer DriveSizeCategorizer;
  296. #else
  297. typedef struct DriveSizeCategorizer DriveSizeCategorizer;
  298. #endif /* __cplusplus */
  299. #endif /* __DriveSizeCategorizer_FWD_DEFINED__ */
  300. #ifndef __DriveTypeCategorizer_FWD_DEFINED__
  301. #define __DriveTypeCategorizer_FWD_DEFINED__
  302. #ifdef __cplusplus
  303. typedef class DriveTypeCategorizer DriveTypeCategorizer;
  304. #else
  305. typedef struct DriveTypeCategorizer DriveTypeCategorizer;
  306. #endif /* __cplusplus */
  307. #endif /* __DriveTypeCategorizer_FWD_DEFINED__ */
  308. #ifndef __FreeSpaceCategorizer_FWD_DEFINED__
  309. #define __FreeSpaceCategorizer_FWD_DEFINED__
  310. #ifdef __cplusplus
  311. typedef class FreeSpaceCategorizer FreeSpaceCategorizer;
  312. #else
  313. typedef struct FreeSpaceCategorizer FreeSpaceCategorizer;
  314. #endif /* __cplusplus */
  315. #endif /* __FreeSpaceCategorizer_FWD_DEFINED__ */
  316. #ifndef __TimeCategorizer_FWD_DEFINED__
  317. #define __TimeCategorizer_FWD_DEFINED__
  318. #ifdef __cplusplus
  319. typedef class TimeCategorizer TimeCategorizer;
  320. #else
  321. typedef struct TimeCategorizer TimeCategorizer;
  322. #endif /* __cplusplus */
  323. #endif /* __TimeCategorizer_FWD_DEFINED__ */
  324. #ifndef __SizeCategorizer_FWD_DEFINED__
  325. #define __SizeCategorizer_FWD_DEFINED__
  326. #ifdef __cplusplus
  327. typedef class SizeCategorizer SizeCategorizer;
  328. #else
  329. typedef struct SizeCategorizer SizeCategorizer;
  330. #endif /* __cplusplus */
  331. #endif /* __SizeCategorizer_FWD_DEFINED__ */
  332. #ifndef __AlphabeticalCategorizer_FWD_DEFINED__
  333. #define __AlphabeticalCategorizer_FWD_DEFINED__
  334. #ifdef __cplusplus
  335. typedef class AlphabeticalCategorizer AlphabeticalCategorizer;
  336. #else
  337. typedef struct AlphabeticalCategorizer AlphabeticalCategorizer;
  338. #endif /* __cplusplus */
  339. #endif /* __AlphabeticalCategorizer_FWD_DEFINED__ */
  340. #ifndef __MergedCategorizer_FWD_DEFINED__
  341. #define __MergedCategorizer_FWD_DEFINED__
  342. #ifdef __cplusplus
  343. typedef class MergedCategorizer MergedCategorizer;
  344. #else
  345. typedef struct MergedCategorizer MergedCategorizer;
  346. #endif /* __cplusplus */
  347. #endif /* __MergedCategorizer_FWD_DEFINED__ */
  348. #ifndef __ImageProperties_FWD_DEFINED__
  349. #define __ImageProperties_FWD_DEFINED__
  350. #ifdef __cplusplus
  351. typedef class ImageProperties ImageProperties;
  352. #else
  353. typedef struct ImageProperties ImageProperties;
  354. #endif /* __cplusplus */
  355. #endif /* __ImageProperties_FWD_DEFINED__ */
  356. #ifndef __PropertiesUI_FWD_DEFINED__
  357. #define __PropertiesUI_FWD_DEFINED__
  358. #ifdef __cplusplus
  359. typedef class PropertiesUI PropertiesUI;
  360. #else
  361. typedef struct PropertiesUI PropertiesUI;
  362. #endif /* __cplusplus */
  363. #endif /* __PropertiesUI_FWD_DEFINED__ */
  364. #ifndef __UserNotification_FWD_DEFINED__
  365. #define __UserNotification_FWD_DEFINED__
  366. #ifdef __cplusplus
  367. typedef class UserNotification UserNotification;
  368. #else
  369. typedef struct UserNotification UserNotification;
  370. #endif /* __cplusplus */
  371. #endif /* __UserNotification_FWD_DEFINED__ */
  372. #ifndef __UserEventTimerCallback_FWD_DEFINED__
  373. #define __UserEventTimerCallback_FWD_DEFINED__
  374. #ifdef __cplusplus
  375. typedef class UserEventTimerCallback UserEventTimerCallback;
  376. #else
  377. typedef struct UserEventTimerCallback UserEventTimerCallback;
  378. #endif /* __cplusplus */
  379. #endif /* __UserEventTimerCallback_FWD_DEFINED__ */
  380. #ifndef __UserEventTimer_FWD_DEFINED__
  381. #define __UserEventTimer_FWD_DEFINED__
  382. #ifdef __cplusplus
  383. typedef class UserEventTimer UserEventTimer;
  384. #else
  385. typedef struct UserEventTimer UserEventTimer;
  386. #endif /* __cplusplus */
  387. #endif /* __UserEventTimer_FWD_DEFINED__ */
  388. #ifndef __NetCrawler_FWD_DEFINED__
  389. #define __NetCrawler_FWD_DEFINED__
  390. #ifdef __cplusplus
  391. typedef class NetCrawler NetCrawler;
  392. #else
  393. typedef struct NetCrawler NetCrawler;
  394. #endif /* __cplusplus */
  395. #endif /* __NetCrawler_FWD_DEFINED__ */
  396. #ifndef __CDBurn_FWD_DEFINED__
  397. #define __CDBurn_FWD_DEFINED__
  398. #ifdef __cplusplus
  399. typedef class CDBurn CDBurn;
  400. #else
  401. typedef struct CDBurn CDBurn;
  402. #endif /* __cplusplus */
  403. #endif /* __CDBurn_FWD_DEFINED__ */
  404. #ifndef __AddressBarParser_FWD_DEFINED__
  405. #define __AddressBarParser_FWD_DEFINED__
  406. #ifdef __cplusplus
  407. typedef class AddressBarParser AddressBarParser;
  408. #else
  409. typedef struct AddressBarParser AddressBarParser;
  410. #endif /* __cplusplus */
  411. #endif /* __AddressBarParser_FWD_DEFINED__ */
  412. #ifndef __TaskbarList_FWD_DEFINED__
  413. #define __TaskbarList_FWD_DEFINED__
  414. #ifdef __cplusplus
  415. typedef class TaskbarList TaskbarList;
  416. #else
  417. typedef struct TaskbarList TaskbarList;
  418. #endif /* __cplusplus */
  419. #endif /* __TaskbarList_FWD_DEFINED__ */
  420. #ifndef __WebWizardHost_FWD_DEFINED__
  421. #define __WebWizardHost_FWD_DEFINED__
  422. #ifdef __cplusplus
  423. typedef class WebWizardHost WebWizardHost;
  424. #else
  425. typedef struct WebWizardHost WebWizardHost;
  426. #endif /* __cplusplus */
  427. #endif /* __WebWizardHost_FWD_DEFINED__ */
  428. #ifndef __PublishDropTarget_FWD_DEFINED__
  429. #define __PublishDropTarget_FWD_DEFINED__
  430. #ifdef __cplusplus
  431. typedef class PublishDropTarget PublishDropTarget;
  432. #else
  433. typedef struct PublishDropTarget PublishDropTarget;
  434. #endif /* __cplusplus */
  435. #endif /* __PublishDropTarget_FWD_DEFINED__ */
  436. #ifndef __PublishingWizard_FWD_DEFINED__
  437. #define __PublishingWizard_FWD_DEFINED__
  438. #ifdef __cplusplus
  439. typedef class PublishingWizard PublishingWizard;
  440. #else
  441. typedef struct PublishingWizard PublishingWizard;
  442. #endif /* __cplusplus */
  443. #endif /* __PublishingWizard_FWD_DEFINED__ */
  444. #ifndef __InternetPrintOrdering_FWD_DEFINED__
  445. #define __InternetPrintOrdering_FWD_DEFINED__
  446. #ifdef __cplusplus
  447. typedef class InternetPrintOrdering InternetPrintOrdering;
  448. #else
  449. typedef struct InternetPrintOrdering InternetPrintOrdering;
  450. #endif /* __cplusplus */
  451. #endif /* __InternetPrintOrdering_FWD_DEFINED__ */
  452. #ifndef __FolderViewHost_FWD_DEFINED__
  453. #define __FolderViewHost_FWD_DEFINED__
  454. #ifdef __cplusplus
  455. typedef class FolderViewHost FolderViewHost;
  456. #else
  457. typedef struct FolderViewHost FolderViewHost;
  458. #endif /* __cplusplus */
  459. #endif /* __FolderViewHost_FWD_DEFINED__ */
  460. #ifndef __NamespaceWalker_FWD_DEFINED__
  461. #define __NamespaceWalker_FWD_DEFINED__
  462. #ifdef __cplusplus
  463. typedef class NamespaceWalker NamespaceWalker;
  464. #else
  465. typedef struct NamespaceWalker NamespaceWalker;
  466. #endif /* __cplusplus */
  467. #endif /* __NamespaceWalker_FWD_DEFINED__ */
  468. #ifndef __ImageRecompress_FWD_DEFINED__
  469. #define __ImageRecompress_FWD_DEFINED__
  470. #ifdef __cplusplus
  471. typedef class ImageRecompress ImageRecompress;
  472. #else
  473. typedef struct ImageRecompress ImageRecompress;
  474. #endif /* __cplusplus */
  475. #endif /* __ImageRecompress_FWD_DEFINED__ */
  476. #ifndef __TrayBandSiteService_FWD_DEFINED__
  477. #define __TrayBandSiteService_FWD_DEFINED__
  478. #ifdef __cplusplus
  479. typedef class TrayBandSiteService TrayBandSiteService;
  480. #else
  481. typedef struct TrayBandSiteService TrayBandSiteService;
  482. #endif /* __cplusplus */
  483. #endif /* __TrayBandSiteService_FWD_DEFINED__ */
  484. #ifndef __PassportWizard_FWD_DEFINED__
  485. #define __PassportWizard_FWD_DEFINED__
  486. #ifdef __cplusplus
  487. typedef class PassportWizard PassportWizard;
  488. #else
  489. typedef struct PassportWizard PassportWizard;
  490. #endif /* __cplusplus */
  491. #endif /* __PassportWizard_FWD_DEFINED__ */
  492. /* header files for imported files */
  493. #include "objidl.h"
  494. #include "oleidl.h"
  495. #include "oaidl.h"
  496. #include "shtypes.h"
  497. #include "servprov.h"
  498. #include "comcat.h"
  499. #include "propidl.h"
  500. #include "prsht.h"
  501. #include "msxml.h"
  502. #ifdef __cplusplus
  503. extern "C"{
  504. #endif
  505. void * __RPC_USER MIDL_user_allocate(size_t);
  506. void __RPC_USER MIDL_user_free( void * );
  507. /* interface __MIDL_itf_shobjidl_0000 */
  508. /* [local] */
  509. #ifndef _WINRESRC_
  510. #ifndef _WIN32_IE
  511. #define _WIN32_IE 0x0501
  512. #else
  513. #if (_WIN32_IE < 0x0400) && defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0500)
  514. #error _WIN32_IE setting conflicts with _WIN32_WINNT setting
  515. #endif
  516. #endif
  517. #endif
  518. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0000_v0_0_c_ifspec;
  519. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0000_v0_0_s_ifspec;
  520. #ifndef __IPersistFolder_INTERFACE_DEFINED__
  521. #define __IPersistFolder_INTERFACE_DEFINED__
  522. /* interface IPersistFolder */
  523. /* [unique][uuid][object] */
  524. EXTERN_C const IID IID_IPersistFolder;
  525. #if defined(__cplusplus) && !defined(CINTERFACE)
  526. MIDL_INTERFACE("000214EA-0000-0000-C000-000000000046")
  527. IPersistFolder : public IPersist
  528. {
  529. public:
  530. virtual HRESULT STDMETHODCALLTYPE Initialize(
  531. /* [in] */ LPCITEMIDLIST pidl) = 0;
  532. };
  533. #else /* C style interface */
  534. typedef struct IPersistFolderVtbl
  535. {
  536. BEGIN_INTERFACE
  537. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  538. IPersistFolder * This,
  539. /* [in] */ REFIID riid,
  540. /* [iid_is][out] */ void **ppvObject);
  541. ULONG ( STDMETHODCALLTYPE *AddRef )(
  542. IPersistFolder * This);
  543. ULONG ( STDMETHODCALLTYPE *Release )(
  544. IPersistFolder * This);
  545. HRESULT ( STDMETHODCALLTYPE *GetClassID )(
  546. IPersistFolder * This,
  547. /* [out] */ CLSID *pClassID);
  548. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  549. IPersistFolder * This,
  550. /* [in] */ LPCITEMIDLIST pidl);
  551. END_INTERFACE
  552. } IPersistFolderVtbl;
  553. interface IPersistFolder
  554. {
  555. CONST_VTBL struct IPersistFolderVtbl *lpVtbl;
  556. };
  557. #ifdef COBJMACROS
  558. #define IPersistFolder_QueryInterface(This,riid,ppvObject) \
  559. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  560. #define IPersistFolder_AddRef(This) \
  561. (This)->lpVtbl -> AddRef(This)
  562. #define IPersistFolder_Release(This) \
  563. (This)->lpVtbl -> Release(This)
  564. #define IPersistFolder_GetClassID(This,pClassID) \
  565. (This)->lpVtbl -> GetClassID(This,pClassID)
  566. #define IPersistFolder_Initialize(This,pidl) \
  567. (This)->lpVtbl -> Initialize(This,pidl)
  568. #endif /* COBJMACROS */
  569. #endif /* C style interface */
  570. HRESULT STDMETHODCALLTYPE IPersistFolder_Initialize_Proxy(
  571. IPersistFolder * This,
  572. /* [in] */ LPCITEMIDLIST pidl);
  573. void __RPC_STUB IPersistFolder_Initialize_Stub(
  574. IRpcStubBuffer *This,
  575. IRpcChannelBuffer *_pRpcChannelBuffer,
  576. PRPC_MESSAGE _pRpcMessage,
  577. DWORD *_pdwStubPhase);
  578. #endif /* __IPersistFolder_INTERFACE_DEFINED__ */
  579. /* interface __MIDL_itf_shobjidl_0192 */
  580. /* [local] */
  581. typedef IPersistFolder *LPPERSISTFOLDER;
  582. #if (_WIN32_IE >= 0x0400)
  583. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0192_v0_0_c_ifspec;
  584. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0192_v0_0_s_ifspec;
  585. #ifndef __IPersistFolder2_INTERFACE_DEFINED__
  586. #define __IPersistFolder2_INTERFACE_DEFINED__
  587. /* interface IPersistFolder2 */
  588. /* [unique][uuid][object] */
  589. EXTERN_C const IID IID_IPersistFolder2;
  590. #if defined(__cplusplus) && !defined(CINTERFACE)
  591. MIDL_INTERFACE("1AC3D9F0-175C-11d1-95BE-00609797EA4F")
  592. IPersistFolder2 : public IPersistFolder
  593. {
  594. public:
  595. virtual HRESULT STDMETHODCALLTYPE GetCurFolder(
  596. /* [out] */ LPITEMIDLIST *ppidl) = 0;
  597. };
  598. #else /* C style interface */
  599. typedef struct IPersistFolder2Vtbl
  600. {
  601. BEGIN_INTERFACE
  602. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  603. IPersistFolder2 * This,
  604. /* [in] */ REFIID riid,
  605. /* [iid_is][out] */ void **ppvObject);
  606. ULONG ( STDMETHODCALLTYPE *AddRef )(
  607. IPersistFolder2 * This);
  608. ULONG ( STDMETHODCALLTYPE *Release )(
  609. IPersistFolder2 * This);
  610. HRESULT ( STDMETHODCALLTYPE *GetClassID )(
  611. IPersistFolder2 * This,
  612. /* [out] */ CLSID *pClassID);
  613. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  614. IPersistFolder2 * This,
  615. /* [in] */ LPCITEMIDLIST pidl);
  616. HRESULT ( STDMETHODCALLTYPE *GetCurFolder )(
  617. IPersistFolder2 * This,
  618. /* [out] */ LPITEMIDLIST *ppidl);
  619. END_INTERFACE
  620. } IPersistFolder2Vtbl;
  621. interface IPersistFolder2
  622. {
  623. CONST_VTBL struct IPersistFolder2Vtbl *lpVtbl;
  624. };
  625. #ifdef COBJMACROS
  626. #define IPersistFolder2_QueryInterface(This,riid,ppvObject) \
  627. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  628. #define IPersistFolder2_AddRef(This) \
  629. (This)->lpVtbl -> AddRef(This)
  630. #define IPersistFolder2_Release(This) \
  631. (This)->lpVtbl -> Release(This)
  632. #define IPersistFolder2_GetClassID(This,pClassID) \
  633. (This)->lpVtbl -> GetClassID(This,pClassID)
  634. #define IPersistFolder2_Initialize(This,pidl) \
  635. (This)->lpVtbl -> Initialize(This,pidl)
  636. #define IPersistFolder2_GetCurFolder(This,ppidl) \
  637. (This)->lpVtbl -> GetCurFolder(This,ppidl)
  638. #endif /* COBJMACROS */
  639. #endif /* C style interface */
  640. HRESULT STDMETHODCALLTYPE IPersistFolder2_GetCurFolder_Proxy(
  641. IPersistFolder2 * This,
  642. /* [out] */ LPITEMIDLIST *ppidl);
  643. void __RPC_STUB IPersistFolder2_GetCurFolder_Stub(
  644. IRpcStubBuffer *This,
  645. IRpcChannelBuffer *_pRpcChannelBuffer,
  646. PRPC_MESSAGE _pRpcMessage,
  647. DWORD *_pdwStubPhase);
  648. #endif /* __IPersistFolder2_INTERFACE_DEFINED__ */
  649. /* interface __MIDL_itf_shobjidl_0193 */
  650. /* [local] */
  651. typedef IPersistFolder2 *LPPERSISTFOLDER2;
  652. #endif
  653. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0193_v0_0_c_ifspec;
  654. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0193_v0_0_s_ifspec;
  655. #ifndef __IPersistIDList_INTERFACE_DEFINED__
  656. #define __IPersistIDList_INTERFACE_DEFINED__
  657. /* interface IPersistIDList */
  658. /* [unique][uuid][object] */
  659. EXTERN_C const IID IID_IPersistIDList;
  660. #if defined(__cplusplus) && !defined(CINTERFACE)
  661. MIDL_INTERFACE("1079acfc-29bd-11d3-8e0d-00c04f6837d5")
  662. IPersistIDList : public IPersist
  663. {
  664. public:
  665. virtual HRESULT STDMETHODCALLTYPE SetIDList(
  666. /* [in] */ LPCITEMIDLIST pidl) = 0;
  667. virtual HRESULT STDMETHODCALLTYPE GetIDList(
  668. /* [out] */ LPITEMIDLIST *ppidl) = 0;
  669. };
  670. #else /* C style interface */
  671. typedef struct IPersistIDListVtbl
  672. {
  673. BEGIN_INTERFACE
  674. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  675. IPersistIDList * This,
  676. /* [in] */ REFIID riid,
  677. /* [iid_is][out] */ void **ppvObject);
  678. ULONG ( STDMETHODCALLTYPE *AddRef )(
  679. IPersistIDList * This);
  680. ULONG ( STDMETHODCALLTYPE *Release )(
  681. IPersistIDList * This);
  682. HRESULT ( STDMETHODCALLTYPE *GetClassID )(
  683. IPersistIDList * This,
  684. /* [out] */ CLSID *pClassID);
  685. HRESULT ( STDMETHODCALLTYPE *SetIDList )(
  686. IPersistIDList * This,
  687. /* [in] */ LPCITEMIDLIST pidl);
  688. HRESULT ( STDMETHODCALLTYPE *GetIDList )(
  689. IPersistIDList * This,
  690. /* [out] */ LPITEMIDLIST *ppidl);
  691. END_INTERFACE
  692. } IPersistIDListVtbl;
  693. interface IPersistIDList
  694. {
  695. CONST_VTBL struct IPersistIDListVtbl *lpVtbl;
  696. };
  697. #ifdef COBJMACROS
  698. #define IPersistIDList_QueryInterface(This,riid,ppvObject) \
  699. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  700. #define IPersistIDList_AddRef(This) \
  701. (This)->lpVtbl -> AddRef(This)
  702. #define IPersistIDList_Release(This) \
  703. (This)->lpVtbl -> Release(This)
  704. #define IPersistIDList_GetClassID(This,pClassID) \
  705. (This)->lpVtbl -> GetClassID(This,pClassID)
  706. #define IPersistIDList_SetIDList(This,pidl) \
  707. (This)->lpVtbl -> SetIDList(This,pidl)
  708. #define IPersistIDList_GetIDList(This,ppidl) \
  709. (This)->lpVtbl -> GetIDList(This,ppidl)
  710. #endif /* COBJMACROS */
  711. #endif /* C style interface */
  712. HRESULT STDMETHODCALLTYPE IPersistIDList_SetIDList_Proxy(
  713. IPersistIDList * This,
  714. /* [in] */ LPCITEMIDLIST pidl);
  715. void __RPC_STUB IPersistIDList_SetIDList_Stub(
  716. IRpcStubBuffer *This,
  717. IRpcChannelBuffer *_pRpcChannelBuffer,
  718. PRPC_MESSAGE _pRpcMessage,
  719. DWORD *_pdwStubPhase);
  720. HRESULT STDMETHODCALLTYPE IPersistIDList_GetIDList_Proxy(
  721. IPersistIDList * This,
  722. /* [out] */ LPITEMIDLIST *ppidl);
  723. void __RPC_STUB IPersistIDList_GetIDList_Stub(
  724. IRpcStubBuffer *This,
  725. IRpcChannelBuffer *_pRpcChannelBuffer,
  726. PRPC_MESSAGE _pRpcMessage,
  727. DWORD *_pdwStubPhase);
  728. #endif /* __IPersistIDList_INTERFACE_DEFINED__ */
  729. #ifndef __IEnumIDList_INTERFACE_DEFINED__
  730. #define __IEnumIDList_INTERFACE_DEFINED__
  731. /* interface IEnumIDList */
  732. /* [unique][object][uuid][helpstring] */
  733. EXTERN_C const IID IID_IEnumIDList;
  734. #if defined(__cplusplus) && !defined(CINTERFACE)
  735. MIDL_INTERFACE("000214F2-0000-0000-C000-000000000046")
  736. IEnumIDList : public IUnknown
  737. {
  738. public:
  739. virtual HRESULT STDMETHODCALLTYPE Next(
  740. /* [in] */ ULONG celt,
  741. /* [length_is][size_is][out] */ LPITEMIDLIST *rgelt,
  742. /* [out] */ ULONG *pceltFetched) = 0;
  743. virtual HRESULT STDMETHODCALLTYPE Skip(
  744. /* [in] */ ULONG celt) = 0;
  745. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  746. virtual HRESULT STDMETHODCALLTYPE Clone(
  747. /* [out] */ IEnumIDList **ppenum) = 0;
  748. };
  749. #else /* C style interface */
  750. typedef struct IEnumIDListVtbl
  751. {
  752. BEGIN_INTERFACE
  753. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  754. IEnumIDList * This,
  755. /* [in] */ REFIID riid,
  756. /* [iid_is][out] */ void **ppvObject);
  757. ULONG ( STDMETHODCALLTYPE *AddRef )(
  758. IEnumIDList * This);
  759. ULONG ( STDMETHODCALLTYPE *Release )(
  760. IEnumIDList * This);
  761. HRESULT ( STDMETHODCALLTYPE *Next )(
  762. IEnumIDList * This,
  763. /* [in] */ ULONG celt,
  764. /* [length_is][size_is][out] */ LPITEMIDLIST *rgelt,
  765. /* [out] */ ULONG *pceltFetched);
  766. HRESULT ( STDMETHODCALLTYPE *Skip )(
  767. IEnumIDList * This,
  768. /* [in] */ ULONG celt);
  769. HRESULT ( STDMETHODCALLTYPE *Reset )(
  770. IEnumIDList * This);
  771. HRESULT ( STDMETHODCALLTYPE *Clone )(
  772. IEnumIDList * This,
  773. /* [out] */ IEnumIDList **ppenum);
  774. END_INTERFACE
  775. } IEnumIDListVtbl;
  776. interface IEnumIDList
  777. {
  778. CONST_VTBL struct IEnumIDListVtbl *lpVtbl;
  779. };
  780. #ifdef COBJMACROS
  781. #define IEnumIDList_QueryInterface(This,riid,ppvObject) \
  782. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  783. #define IEnumIDList_AddRef(This) \
  784. (This)->lpVtbl -> AddRef(This)
  785. #define IEnumIDList_Release(This) \
  786. (This)->lpVtbl -> Release(This)
  787. #define IEnumIDList_Next(This,celt,rgelt,pceltFetched) \
  788. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  789. #define IEnumIDList_Skip(This,celt) \
  790. (This)->lpVtbl -> Skip(This,celt)
  791. #define IEnumIDList_Reset(This) \
  792. (This)->lpVtbl -> Reset(This)
  793. #define IEnumIDList_Clone(This,ppenum) \
  794. (This)->lpVtbl -> Clone(This,ppenum)
  795. #endif /* COBJMACROS */
  796. #endif /* C style interface */
  797. HRESULT STDMETHODCALLTYPE IEnumIDList_Next_Proxy(
  798. IEnumIDList * This,
  799. /* [in] */ ULONG celt,
  800. /* [length_is][size_is][out] */ LPITEMIDLIST *rgelt,
  801. /* [out] */ ULONG *pceltFetched);
  802. void __RPC_STUB IEnumIDList_Next_Stub(
  803. IRpcStubBuffer *This,
  804. IRpcChannelBuffer *_pRpcChannelBuffer,
  805. PRPC_MESSAGE _pRpcMessage,
  806. DWORD *_pdwStubPhase);
  807. HRESULT STDMETHODCALLTYPE IEnumIDList_Skip_Proxy(
  808. IEnumIDList * This,
  809. /* [in] */ ULONG celt);
  810. void __RPC_STUB IEnumIDList_Skip_Stub(
  811. IRpcStubBuffer *This,
  812. IRpcChannelBuffer *_pRpcChannelBuffer,
  813. PRPC_MESSAGE _pRpcMessage,
  814. DWORD *_pdwStubPhase);
  815. HRESULT STDMETHODCALLTYPE IEnumIDList_Reset_Proxy(
  816. IEnumIDList * This);
  817. void __RPC_STUB IEnumIDList_Reset_Stub(
  818. IRpcStubBuffer *This,
  819. IRpcChannelBuffer *_pRpcChannelBuffer,
  820. PRPC_MESSAGE _pRpcMessage,
  821. DWORD *_pdwStubPhase);
  822. HRESULT STDMETHODCALLTYPE IEnumIDList_Clone_Proxy(
  823. IEnumIDList * This,
  824. /* [out] */ IEnumIDList **ppenum);
  825. void __RPC_STUB IEnumIDList_Clone_Stub(
  826. IRpcStubBuffer *This,
  827. IRpcChannelBuffer *_pRpcChannelBuffer,
  828. PRPC_MESSAGE _pRpcMessage,
  829. DWORD *_pdwStubPhase);
  830. #endif /* __IEnumIDList_INTERFACE_DEFINED__ */
  831. /* interface __MIDL_itf_shobjidl_0195 */
  832. /* [local] */
  833. typedef IEnumIDList *LPENUMIDLIST;
  834. typedef enum tagSHGDN
  835. {
  836. SHGDN_NORMAL = 0x0000, // default (display purpose)
  837. SHGDN_INFOLDER = 0x0001, // displayed under a folder (relative)
  838. SHGDN_FOREDITING = 0x1000, // for in-place editing
  839. SHGDN_FORADDRESSBAR = 0x4000, // UI friendly parsing name (remove ugly stuff)
  840. SHGDN_FORPARSING = 0x8000, // parsing name for ParseDisplayName()
  841. } SHGNO;
  842. typedef DWORD SHGDNF;
  843. typedef enum tagSHCONTF
  844. {
  845. SHCONTF_FOLDERS = 0x0020, // only want folders enumerated (SFGAO_FOLDER)
  846. SHCONTF_NONFOLDERS = 0x0040, // include non folders
  847. SHCONTF_INCLUDEHIDDEN = 0x0080, // show items normally hidden
  848. SHCONTF_INIT_ON_FIRST_NEXT = 0x0100, // allow EnumObject() to return before validating enum
  849. SHCONTF_NETPRINTERSRCH = 0x0200, // hint that client is looking for printers
  850. SHCONTF_SHAREABLE = 0x0400, // hint that client is looking sharable resources (remote shares)
  851. SHCONTF_STORAGE = 0x0800, // include all items with accessible storage and their ancestors
  852. };
  853. typedef DWORD SHCONTF;
  854. #define SHCIDS_ALLFIELDS 0x80000000L
  855. #define SHCIDS_CANONICALONLY 0x10000000L
  856. #define SHCIDS_BITMASK 0xFFFF0000L
  857. #define SHCIDS_COLUMNMASK 0x0000FFFFL
  858. #define SFGAO_CANCOPY DROPEFFECT_COPY // Objects can be copied (0x1)
  859. #define SFGAO_CANMOVE DROPEFFECT_MOVE // Objects can be moved (0x2)
  860. #define SFGAO_CANLINK DROPEFFECT_LINK // Objects can be linked (0x4)
  861. #define SFGAO_STORAGE 0x00000008L // supports BindToObject(IID_IStorage)
  862. #define SFGAO_CANRENAME 0x00000010L // Objects can be renamed
  863. #define SFGAO_CANDELETE 0x00000020L // Objects can be deleted
  864. #define SFGAO_HASPROPSHEET 0x00000040L // Objects have property sheets
  865. #define SFGAO_DROPTARGET 0x00000100L // Objects are drop target
  866. #define SFGAO_CAPABILITYMASK 0x00000177L
  867. #define SFGAO_ENCRYPTED 0x00002000L // object is encrypted (use alt color)
  868. #define SFGAO_ISSLOW 0x00004000L // 'slow' object
  869. #define SFGAO_GHOSTED 0x00008000L // ghosted icon
  870. #define SFGAO_LINK 0x00010000L // Shortcut (link)
  871. #define SFGAO_SHARE 0x00020000L // shared
  872. #define SFGAO_READONLY 0x00040000L // read-only
  873. #define SFGAO_HIDDEN 0x00080000L // hidden object
  874. #define SFGAO_DISPLAYATTRMASK 0x000FC000L
  875. #define SFGAO_FILESYSANCESTOR 0x10000000L // may contain children with SFGAO_FILESYSTEM
  876. #define SFGAO_FOLDER 0x20000000L // support BindToObject(IID_IShellFolder)
  877. #define SFGAO_FILESYSTEM 0x40000000L // is a win32 file system object (file/folder/root)
  878. #define SFGAO_HASSUBFOLDER 0x80000000L // may contain children with SFGAO_FOLDER
  879. #define SFGAO_CONTENTSMASK 0x80000000L
  880. #define SFGAO_VALIDATE 0x01000000L // invalidate cached information
  881. #define SFGAO_REMOVABLE 0x02000000L // is this removeable media?
  882. #define SFGAO_COMPRESSED 0x04000000L // Object is compressed (use alt color)
  883. #define SFGAO_BROWSABLE 0x08000000L // supports IShellFolder, but only implements CreateViewObject() (non-folder view)
  884. #define SFGAO_NONENUMERATED 0x00100000L // is a non-enumerated object
  885. #define SFGAO_NEWCONTENT 0x00200000L // should show bold in explorer tree
  886. #define SFGAO_CANMONIKER 0x00400000L // defunct
  887. #define SFGAO_HASSTORAGE 0x00400000L // defunct
  888. #define SFGAO_STREAM 0x00400000L // supports BindToObject(IID_IStream)
  889. #define SFGAO_STORAGEANCESTOR 0x00800000L // may contain children with SFGAO_STORAGE or SFGAO_STREAM
  890. #define SFGAO_STORAGECAPMASK 0x70C50008L // for determining storage capabilities, ie for open/save semantics
  891. typedef ULONG SFGAOF;
  892. #define STR_SKIP_BINDING_CLSID L"Skip Binding CLSID"
  893. #define STR_PARSE_PREFER_FOLDER_BROWSING L"Parse Prefer Folder Browsing"
  894. #define STR_DONT_PARSE_RELATIVE L"Don't Parse Relative"
  895. #define STR_PARSE_TRANSLATE_ALIASES L"Parse Translate Aliases"
  896. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0195_v0_0_c_ifspec;
  897. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0195_v0_0_s_ifspec;
  898. #ifndef __IShellFolder_INTERFACE_DEFINED__
  899. #define __IShellFolder_INTERFACE_DEFINED__
  900. /* interface IShellFolder */
  901. /* [unique][object][uuid][helpstring] */
  902. EXTERN_C const IID IID_IShellFolder;
  903. #if defined(__cplusplus) && !defined(CINTERFACE)
  904. MIDL_INTERFACE("000214E6-0000-0000-C000-000000000046")
  905. IShellFolder : public IUnknown
  906. {
  907. public:
  908. virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
  909. /* [in] */ HWND hwnd,
  910. /* [in] */ LPBC pbc,
  911. /* [string][in] */ LPOLESTR pszDisplayName,
  912. /* [out] */ ULONG *pchEaten,
  913. /* [out] */ LPITEMIDLIST *ppidl,
  914. /* [unique][out][in] */ ULONG *pdwAttributes) = 0;
  915. virtual HRESULT STDMETHODCALLTYPE EnumObjects(
  916. /* [in] */ HWND hwnd,
  917. /* [in] */ SHCONTF grfFlags,
  918. /* [out] */ IEnumIDList **ppenumIDList) = 0;
  919. virtual HRESULT STDMETHODCALLTYPE BindToObject(
  920. /* [in] */ LPCITEMIDLIST pidl,
  921. /* [in] */ LPBC pbc,
  922. /* [in] */ REFIID riid,
  923. /* [iid_is][out] */ void **ppv) = 0;
  924. virtual HRESULT STDMETHODCALLTYPE BindToStorage(
  925. /* [in] */ LPCITEMIDLIST pidl,
  926. /* [in] */ LPBC pbc,
  927. /* [in] */ REFIID riid,
  928. /* [iid_is][out] */ void **ppv) = 0;
  929. virtual HRESULT STDMETHODCALLTYPE CompareIDs(
  930. /* [in] */ LPARAM lParam,
  931. /* [in] */ LPCITEMIDLIST pidl1,
  932. /* [in] */ LPCITEMIDLIST pidl2) = 0;
  933. virtual HRESULT STDMETHODCALLTYPE CreateViewObject(
  934. /* [in] */ HWND hwndOwner,
  935. /* [in] */ REFIID riid,
  936. /* [iid_is][out] */ void **ppv) = 0;
  937. virtual HRESULT STDMETHODCALLTYPE GetAttributesOf(
  938. /* [in] */ UINT cidl,
  939. /* [size_is][in] */ LPCITEMIDLIST *apidl,
  940. /* [out][in] */ SFGAOF *rgfInOut) = 0;
  941. virtual HRESULT STDMETHODCALLTYPE GetUIObjectOf(
  942. /* [in] */ HWND hwndOwner,
  943. /* [in] */ UINT cidl,
  944. /* [size_is][in] */ LPCITEMIDLIST *apidl,
  945. /* [in] */ REFIID riid,
  946. /* [unique][out][in] */ UINT *rgfReserved,
  947. /* [iid_is][out] */ void **ppv) = 0;
  948. virtual HRESULT STDMETHODCALLTYPE GetDisplayNameOf(
  949. /* [in] */ LPCITEMIDLIST pidl,
  950. /* [in] */ SHGDNF uFlags,
  951. /* [out] */ STRRET *pName) = 0;
  952. virtual HRESULT STDMETHODCALLTYPE SetNameOf(
  953. /* [in] */ HWND hwnd,
  954. /* [in] */ LPCITEMIDLIST pidl,
  955. /* [string][in] */ LPCOLESTR pszName,
  956. /* [in] */ SHGDNF uFlags,
  957. /* [out] */ LPITEMIDLIST *ppidlOut) = 0;
  958. };
  959. #else /* C style interface */
  960. typedef struct IShellFolderVtbl
  961. {
  962. BEGIN_INTERFACE
  963. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  964. IShellFolder * This,
  965. /* [in] */ REFIID riid,
  966. /* [iid_is][out] */ void **ppvObject);
  967. ULONG ( STDMETHODCALLTYPE *AddRef )(
  968. IShellFolder * This);
  969. ULONG ( STDMETHODCALLTYPE *Release )(
  970. IShellFolder * This);
  971. HRESULT ( STDMETHODCALLTYPE *ParseDisplayName )(
  972. IShellFolder * This,
  973. /* [in] */ HWND hwnd,
  974. /* [in] */ LPBC pbc,
  975. /* [string][in] */ LPOLESTR pszDisplayName,
  976. /* [out] */ ULONG *pchEaten,
  977. /* [out] */ LPITEMIDLIST *ppidl,
  978. /* [unique][out][in] */ ULONG *pdwAttributes);
  979. HRESULT ( STDMETHODCALLTYPE *EnumObjects )(
  980. IShellFolder * This,
  981. /* [in] */ HWND hwnd,
  982. /* [in] */ SHCONTF grfFlags,
  983. /* [out] */ IEnumIDList **ppenumIDList);
  984. HRESULT ( STDMETHODCALLTYPE *BindToObject )(
  985. IShellFolder * This,
  986. /* [in] */ LPCITEMIDLIST pidl,
  987. /* [in] */ LPBC pbc,
  988. /* [in] */ REFIID riid,
  989. /* [iid_is][out] */ void **ppv);
  990. HRESULT ( STDMETHODCALLTYPE *BindToStorage )(
  991. IShellFolder * This,
  992. /* [in] */ LPCITEMIDLIST pidl,
  993. /* [in] */ LPBC pbc,
  994. /* [in] */ REFIID riid,
  995. /* [iid_is][out] */ void **ppv);
  996. HRESULT ( STDMETHODCALLTYPE *CompareIDs )(
  997. IShellFolder * This,
  998. /* [in] */ LPARAM lParam,
  999. /* [in] */ LPCITEMIDLIST pidl1,
  1000. /* [in] */ LPCITEMIDLIST pidl2);
  1001. HRESULT ( STDMETHODCALLTYPE *CreateViewObject )(
  1002. IShellFolder * This,
  1003. /* [in] */ HWND hwndOwner,
  1004. /* [in] */ REFIID riid,
  1005. /* [iid_is][out] */ void **ppv);
  1006. HRESULT ( STDMETHODCALLTYPE *GetAttributesOf )(
  1007. IShellFolder * This,
  1008. /* [in] */ UINT cidl,
  1009. /* [size_is][in] */ LPCITEMIDLIST *apidl,
  1010. /* [out][in] */ SFGAOF *rgfInOut);
  1011. HRESULT ( STDMETHODCALLTYPE *GetUIObjectOf )(
  1012. IShellFolder * This,
  1013. /* [in] */ HWND hwndOwner,
  1014. /* [in] */ UINT cidl,
  1015. /* [size_is][in] */ LPCITEMIDLIST *apidl,
  1016. /* [in] */ REFIID riid,
  1017. /* [unique][out][in] */ UINT *rgfReserved,
  1018. /* [iid_is][out] */ void **ppv);
  1019. HRESULT ( STDMETHODCALLTYPE *GetDisplayNameOf )(
  1020. IShellFolder * This,
  1021. /* [in] */ LPCITEMIDLIST pidl,
  1022. /* [in] */ SHGDNF uFlags,
  1023. /* [out] */ STRRET *pName);
  1024. HRESULT ( STDMETHODCALLTYPE *SetNameOf )(
  1025. IShellFolder * This,
  1026. /* [in] */ HWND hwnd,
  1027. /* [in] */ LPCITEMIDLIST pidl,
  1028. /* [string][in] */ LPCOLESTR pszName,
  1029. /* [in] */ SHGDNF uFlags,
  1030. /* [out] */ LPITEMIDLIST *ppidlOut);
  1031. END_INTERFACE
  1032. } IShellFolderVtbl;
  1033. interface IShellFolder
  1034. {
  1035. CONST_VTBL struct IShellFolderVtbl *lpVtbl;
  1036. };
  1037. #ifdef COBJMACROS
  1038. #define IShellFolder_QueryInterface(This,riid,ppvObject) \
  1039. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1040. #define IShellFolder_AddRef(This) \
  1041. (This)->lpVtbl -> AddRef(This)
  1042. #define IShellFolder_Release(This) \
  1043. (This)->lpVtbl -> Release(This)
  1044. #define IShellFolder_ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) \
  1045. (This)->lpVtbl -> ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes)
  1046. #define IShellFolder_EnumObjects(This,hwnd,grfFlags,ppenumIDList) \
  1047. (This)->lpVtbl -> EnumObjects(This,hwnd,grfFlags,ppenumIDList)
  1048. #define IShellFolder_BindToObject(This,pidl,pbc,riid,ppv) \
  1049. (This)->lpVtbl -> BindToObject(This,pidl,pbc,riid,ppv)
  1050. #define IShellFolder_BindToStorage(This,pidl,pbc,riid,ppv) \
  1051. (This)->lpVtbl -> BindToStorage(This,pidl,pbc,riid,ppv)
  1052. #define IShellFolder_CompareIDs(This,lParam,pidl1,pidl2) \
  1053. (This)->lpVtbl -> CompareIDs(This,lParam,pidl1,pidl2)
  1054. #define IShellFolder_CreateViewObject(This,hwndOwner,riid,ppv) \
  1055. (This)->lpVtbl -> CreateViewObject(This,hwndOwner,riid,ppv)
  1056. #define IShellFolder_GetAttributesOf(This,cidl,apidl,rgfInOut) \
  1057. (This)->lpVtbl -> GetAttributesOf(This,cidl,apidl,rgfInOut)
  1058. #define IShellFolder_GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) \
  1059. (This)->lpVtbl -> GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv)
  1060. #define IShellFolder_GetDisplayNameOf(This,pidl,uFlags,pName) \
  1061. (This)->lpVtbl -> GetDisplayNameOf(This,pidl,uFlags,pName)
  1062. #define IShellFolder_SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) \
  1063. (This)->lpVtbl -> SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut)
  1064. #endif /* COBJMACROS */
  1065. #endif /* C style interface */
  1066. HRESULT STDMETHODCALLTYPE IShellFolder_ParseDisplayName_Proxy(
  1067. IShellFolder * This,
  1068. /* [in] */ HWND hwnd,
  1069. /* [in] */ LPBC pbc,
  1070. /* [string][in] */ LPOLESTR pszDisplayName,
  1071. /* [out] */ ULONG *pchEaten,
  1072. /* [out] */ LPITEMIDLIST *ppidl,
  1073. /* [unique][out][in] */ ULONG *pdwAttributes);
  1074. void __RPC_STUB IShellFolder_ParseDisplayName_Stub(
  1075. IRpcStubBuffer *This,
  1076. IRpcChannelBuffer *_pRpcChannelBuffer,
  1077. PRPC_MESSAGE _pRpcMessage,
  1078. DWORD *_pdwStubPhase);
  1079. HRESULT STDMETHODCALLTYPE IShellFolder_EnumObjects_Proxy(
  1080. IShellFolder * This,
  1081. /* [in] */ HWND hwnd,
  1082. /* [in] */ SHCONTF grfFlags,
  1083. /* [out] */ IEnumIDList **ppenumIDList);
  1084. void __RPC_STUB IShellFolder_EnumObjects_Stub(
  1085. IRpcStubBuffer *This,
  1086. IRpcChannelBuffer *_pRpcChannelBuffer,
  1087. PRPC_MESSAGE _pRpcMessage,
  1088. DWORD *_pdwStubPhase);
  1089. HRESULT STDMETHODCALLTYPE IShellFolder_BindToObject_Proxy(
  1090. IShellFolder * This,
  1091. /* [in] */ LPCITEMIDLIST pidl,
  1092. /* [in] */ LPBC pbc,
  1093. /* [in] */ REFIID riid,
  1094. /* [iid_is][out] */ void **ppv);
  1095. void __RPC_STUB IShellFolder_BindToObject_Stub(
  1096. IRpcStubBuffer *This,
  1097. IRpcChannelBuffer *_pRpcChannelBuffer,
  1098. PRPC_MESSAGE _pRpcMessage,
  1099. DWORD *_pdwStubPhase);
  1100. HRESULT STDMETHODCALLTYPE IShellFolder_BindToStorage_Proxy(
  1101. IShellFolder * This,
  1102. /* [in] */ LPCITEMIDLIST pidl,
  1103. /* [in] */ LPBC pbc,
  1104. /* [in] */ REFIID riid,
  1105. /* [iid_is][out] */ void **ppv);
  1106. void __RPC_STUB IShellFolder_BindToStorage_Stub(
  1107. IRpcStubBuffer *This,
  1108. IRpcChannelBuffer *_pRpcChannelBuffer,
  1109. PRPC_MESSAGE _pRpcMessage,
  1110. DWORD *_pdwStubPhase);
  1111. HRESULT STDMETHODCALLTYPE IShellFolder_CompareIDs_Proxy(
  1112. IShellFolder * This,
  1113. /* [in] */ LPARAM lParam,
  1114. /* [in] */ LPCITEMIDLIST pidl1,
  1115. /* [in] */ LPCITEMIDLIST pidl2);
  1116. void __RPC_STUB IShellFolder_CompareIDs_Stub(
  1117. IRpcStubBuffer *This,
  1118. IRpcChannelBuffer *_pRpcChannelBuffer,
  1119. PRPC_MESSAGE _pRpcMessage,
  1120. DWORD *_pdwStubPhase);
  1121. HRESULT STDMETHODCALLTYPE IShellFolder_CreateViewObject_Proxy(
  1122. IShellFolder * This,
  1123. /* [in] */ HWND hwndOwner,
  1124. /* [in] */ REFIID riid,
  1125. /* [iid_is][out] */ void **ppv);
  1126. void __RPC_STUB IShellFolder_CreateViewObject_Stub(
  1127. IRpcStubBuffer *This,
  1128. IRpcChannelBuffer *_pRpcChannelBuffer,
  1129. PRPC_MESSAGE _pRpcMessage,
  1130. DWORD *_pdwStubPhase);
  1131. HRESULT STDMETHODCALLTYPE IShellFolder_GetAttributesOf_Proxy(
  1132. IShellFolder * This,
  1133. /* [in] */ UINT cidl,
  1134. /* [size_is][in] */ LPCITEMIDLIST *apidl,
  1135. /* [out][in] */ SFGAOF *rgfInOut);
  1136. void __RPC_STUB IShellFolder_GetAttributesOf_Stub(
  1137. IRpcStubBuffer *This,
  1138. IRpcChannelBuffer *_pRpcChannelBuffer,
  1139. PRPC_MESSAGE _pRpcMessage,
  1140. DWORD *_pdwStubPhase);
  1141. HRESULT STDMETHODCALLTYPE IShellFolder_GetUIObjectOf_Proxy(
  1142. IShellFolder * This,
  1143. /* [in] */ HWND hwndOwner,
  1144. /* [in] */ UINT cidl,
  1145. /* [size_is][in] */ LPCITEMIDLIST *apidl,
  1146. /* [in] */ REFIID riid,
  1147. /* [unique][out][in] */ UINT *rgfReserved,
  1148. /* [iid_is][out] */ void **ppv);
  1149. void __RPC_STUB IShellFolder_GetUIObjectOf_Stub(
  1150. IRpcStubBuffer *This,
  1151. IRpcChannelBuffer *_pRpcChannelBuffer,
  1152. PRPC_MESSAGE _pRpcMessage,
  1153. DWORD *_pdwStubPhase);
  1154. HRESULT STDMETHODCALLTYPE IShellFolder_GetDisplayNameOf_Proxy(
  1155. IShellFolder * This,
  1156. /* [in] */ LPCITEMIDLIST pidl,
  1157. /* [in] */ SHGDNF uFlags,
  1158. /* [out] */ STRRET *pName);
  1159. void __RPC_STUB IShellFolder_GetDisplayNameOf_Stub(
  1160. IRpcStubBuffer *This,
  1161. IRpcChannelBuffer *_pRpcChannelBuffer,
  1162. PRPC_MESSAGE _pRpcMessage,
  1163. DWORD *_pdwStubPhase);
  1164. HRESULT STDMETHODCALLTYPE IShellFolder_SetNameOf_Proxy(
  1165. IShellFolder * This,
  1166. /* [in] */ HWND hwnd,
  1167. /* [in] */ LPCITEMIDLIST pidl,
  1168. /* [string][in] */ LPCOLESTR pszName,
  1169. /* [in] */ SHGDNF uFlags,
  1170. /* [out] */ LPITEMIDLIST *ppidlOut);
  1171. void __RPC_STUB IShellFolder_SetNameOf_Stub(
  1172. IRpcStubBuffer *This,
  1173. IRpcChannelBuffer *_pRpcChannelBuffer,
  1174. PRPC_MESSAGE _pRpcMessage,
  1175. DWORD *_pdwStubPhase);
  1176. #endif /* __IShellFolder_INTERFACE_DEFINED__ */
  1177. /* interface __MIDL_itf_shobjidl_0196 */
  1178. /* [local] */
  1179. typedef IShellFolder *LPSHELLFOLDER;
  1180. #if (_WIN32_IE >= 0x0500)
  1181. typedef struct tagEXTRASEARCH
  1182. {
  1183. GUID guidSearch;
  1184. WCHAR wszFriendlyName[ 80 ];
  1185. WCHAR wszUrl[ 2084 ];
  1186. } EXTRASEARCH;
  1187. typedef struct tagEXTRASEARCH *LPEXTRASEARCH;
  1188. typedef struct IEnumExtraSearch *LPENUMEXTRASEARCH;
  1189. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0196_v0_0_c_ifspec;
  1190. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0196_v0_0_s_ifspec;
  1191. #ifndef __IEnumExtraSearch_INTERFACE_DEFINED__
  1192. #define __IEnumExtraSearch_INTERFACE_DEFINED__
  1193. /* interface IEnumExtraSearch */
  1194. /* [unique][object][uuid][helpstring] */
  1195. EXTERN_C const IID IID_IEnumExtraSearch;
  1196. #if defined(__cplusplus) && !defined(CINTERFACE)
  1197. MIDL_INTERFACE("0E700BE1-9DB6-11d1-A1CE-00C04FD75D13")
  1198. IEnumExtraSearch : public IUnknown
  1199. {
  1200. public:
  1201. virtual HRESULT STDMETHODCALLTYPE Next(
  1202. /* [in] */ ULONG celt,
  1203. /* [length_is][size_is][out] */ EXTRASEARCH *rgelt,
  1204. /* [out] */ ULONG *pceltFetched) = 0;
  1205. virtual HRESULT STDMETHODCALLTYPE Skip(
  1206. /* [in] */ ULONG celt) = 0;
  1207. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1208. virtual HRESULT STDMETHODCALLTYPE Clone(
  1209. /* [out] */ IEnumExtraSearch **ppenum) = 0;
  1210. };
  1211. #else /* C style interface */
  1212. typedef struct IEnumExtraSearchVtbl
  1213. {
  1214. BEGIN_INTERFACE
  1215. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1216. IEnumExtraSearch * This,
  1217. /* [in] */ REFIID riid,
  1218. /* [iid_is][out] */ void **ppvObject);
  1219. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1220. IEnumExtraSearch * This);
  1221. ULONG ( STDMETHODCALLTYPE *Release )(
  1222. IEnumExtraSearch * This);
  1223. HRESULT ( STDMETHODCALLTYPE *Next )(
  1224. IEnumExtraSearch * This,
  1225. /* [in] */ ULONG celt,
  1226. /* [length_is][size_is][out] */ EXTRASEARCH *rgelt,
  1227. /* [out] */ ULONG *pceltFetched);
  1228. HRESULT ( STDMETHODCALLTYPE *Skip )(
  1229. IEnumExtraSearch * This,
  1230. /* [in] */ ULONG celt);
  1231. HRESULT ( STDMETHODCALLTYPE *Reset )(
  1232. IEnumExtraSearch * This);
  1233. HRESULT ( STDMETHODCALLTYPE *Clone )(
  1234. IEnumExtraSearch * This,
  1235. /* [out] */ IEnumExtraSearch **ppenum);
  1236. END_INTERFACE
  1237. } IEnumExtraSearchVtbl;
  1238. interface IEnumExtraSearch
  1239. {
  1240. CONST_VTBL struct IEnumExtraSearchVtbl *lpVtbl;
  1241. };
  1242. #ifdef COBJMACROS
  1243. #define IEnumExtraSearch_QueryInterface(This,riid,ppvObject) \
  1244. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1245. #define IEnumExtraSearch_AddRef(This) \
  1246. (This)->lpVtbl -> AddRef(This)
  1247. #define IEnumExtraSearch_Release(This) \
  1248. (This)->lpVtbl -> Release(This)
  1249. #define IEnumExtraSearch_Next(This,celt,rgelt,pceltFetched) \
  1250. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  1251. #define IEnumExtraSearch_Skip(This,celt) \
  1252. (This)->lpVtbl -> Skip(This,celt)
  1253. #define IEnumExtraSearch_Reset(This) \
  1254. (This)->lpVtbl -> Reset(This)
  1255. #define IEnumExtraSearch_Clone(This,ppenum) \
  1256. (This)->lpVtbl -> Clone(This,ppenum)
  1257. #endif /* COBJMACROS */
  1258. #endif /* C style interface */
  1259. HRESULT STDMETHODCALLTYPE IEnumExtraSearch_Next_Proxy(
  1260. IEnumExtraSearch * This,
  1261. /* [in] */ ULONG celt,
  1262. /* [length_is][size_is][out] */ EXTRASEARCH *rgelt,
  1263. /* [out] */ ULONG *pceltFetched);
  1264. void __RPC_STUB IEnumExtraSearch_Next_Stub(
  1265. IRpcStubBuffer *This,
  1266. IRpcChannelBuffer *_pRpcChannelBuffer,
  1267. PRPC_MESSAGE _pRpcMessage,
  1268. DWORD *_pdwStubPhase);
  1269. HRESULT STDMETHODCALLTYPE IEnumExtraSearch_Skip_Proxy(
  1270. IEnumExtraSearch * This,
  1271. /* [in] */ ULONG celt);
  1272. void __RPC_STUB IEnumExtraSearch_Skip_Stub(
  1273. IRpcStubBuffer *This,
  1274. IRpcChannelBuffer *_pRpcChannelBuffer,
  1275. PRPC_MESSAGE _pRpcMessage,
  1276. DWORD *_pdwStubPhase);
  1277. HRESULT STDMETHODCALLTYPE IEnumExtraSearch_Reset_Proxy(
  1278. IEnumExtraSearch * This);
  1279. void __RPC_STUB IEnumExtraSearch_Reset_Stub(
  1280. IRpcStubBuffer *This,
  1281. IRpcChannelBuffer *_pRpcChannelBuffer,
  1282. PRPC_MESSAGE _pRpcMessage,
  1283. DWORD *_pdwStubPhase);
  1284. HRESULT STDMETHODCALLTYPE IEnumExtraSearch_Clone_Proxy(
  1285. IEnumExtraSearch * This,
  1286. /* [out] */ IEnumExtraSearch **ppenum);
  1287. void __RPC_STUB IEnumExtraSearch_Clone_Stub(
  1288. IRpcStubBuffer *This,
  1289. IRpcChannelBuffer *_pRpcChannelBuffer,
  1290. PRPC_MESSAGE _pRpcMessage,
  1291. DWORD *_pdwStubPhase);
  1292. #endif /* __IEnumExtraSearch_INTERFACE_DEFINED__ */
  1293. /* interface __MIDL_itf_shobjidl_0197 */
  1294. /* [local] */
  1295. typedef /* [public][v1_enum] */
  1296. enum __MIDL___MIDL_itf_shobjidl_0197_0001
  1297. { SHCOLSTATE_TYPE_STR = 0x1,
  1298. SHCOLSTATE_TYPE_INT = 0x2,
  1299. SHCOLSTATE_TYPE_DATE = 0x3,
  1300. SHCOLSTATE_TYPEMASK = 0xf,
  1301. SHCOLSTATE_ONBYDEFAULT = 0x10,
  1302. SHCOLSTATE_SLOW = 0x20,
  1303. SHCOLSTATE_EXTENDED = 0x40,
  1304. SHCOLSTATE_SECONDARYUI = 0x80,
  1305. SHCOLSTATE_HIDDEN = 0x100,
  1306. SHCOLSTATE_PREFER_VARCMP = 0x200
  1307. } SHCOLSTATE;
  1308. typedef DWORD SHCOLSTATEF;
  1309. typedef /* [public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_shobjidl_0197_0002
  1310. {
  1311. GUID fmtid;
  1312. DWORD pid;
  1313. } SHCOLUMNID;
  1314. typedef struct __MIDL___MIDL_itf_shobjidl_0197_0002 *LPSHCOLUMNID;
  1315. typedef const SHCOLUMNID *LPCSHCOLUMNID;
  1316. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0197_v0_0_c_ifspec;
  1317. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0197_v0_0_s_ifspec;
  1318. #ifndef __IShellFolder2_INTERFACE_DEFINED__
  1319. #define __IShellFolder2_INTERFACE_DEFINED__
  1320. /* interface IShellFolder2 */
  1321. /* [unique][object][uuid][helpstring] */
  1322. EXTERN_C const IID IID_IShellFolder2;
  1323. #if defined(__cplusplus) && !defined(CINTERFACE)
  1324. MIDL_INTERFACE("93F2F68C-1D1B-11d3-A30E-00C04F79ABD1")
  1325. IShellFolder2 : public IShellFolder
  1326. {
  1327. public:
  1328. virtual HRESULT STDMETHODCALLTYPE GetDefaultSearchGUID(
  1329. /* [out] */ GUID *pguid) = 0;
  1330. virtual HRESULT STDMETHODCALLTYPE EnumSearches(
  1331. /* [out] */ IEnumExtraSearch **ppenum) = 0;
  1332. virtual HRESULT STDMETHODCALLTYPE GetDefaultColumn(
  1333. /* [in] */ DWORD dwRes,
  1334. /* [out] */ ULONG *pSort,
  1335. /* [out] */ ULONG *pDisplay) = 0;
  1336. virtual HRESULT STDMETHODCALLTYPE GetDefaultColumnState(
  1337. /* [in] */ UINT iColumn,
  1338. /* [out] */ SHCOLSTATEF *pcsFlags) = 0;
  1339. virtual HRESULT STDMETHODCALLTYPE GetDetailsEx(
  1340. /* [in] */ LPCITEMIDLIST pidl,
  1341. /* [in] */ const SHCOLUMNID *pscid,
  1342. /* [out] */ VARIANT *pv) = 0;
  1343. virtual HRESULT STDMETHODCALLTYPE GetDetailsOf(
  1344. /* [in] */ LPCITEMIDLIST pidl,
  1345. /* [in] */ UINT iColumn,
  1346. /* [out] */ SHELLDETAILS *psd) = 0;
  1347. virtual HRESULT STDMETHODCALLTYPE MapColumnToSCID(
  1348. /* [in] */ UINT iColumn,
  1349. /* [in] */ SHCOLUMNID *pscid) = 0;
  1350. };
  1351. #else /* C style interface */
  1352. typedef struct IShellFolder2Vtbl
  1353. {
  1354. BEGIN_INTERFACE
  1355. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1356. IShellFolder2 * This,
  1357. /* [in] */ REFIID riid,
  1358. /* [iid_is][out] */ void **ppvObject);
  1359. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1360. IShellFolder2 * This);
  1361. ULONG ( STDMETHODCALLTYPE *Release )(
  1362. IShellFolder2 * This);
  1363. HRESULT ( STDMETHODCALLTYPE *ParseDisplayName )(
  1364. IShellFolder2 * This,
  1365. /* [in] */ HWND hwnd,
  1366. /* [in] */ LPBC pbc,
  1367. /* [string][in] */ LPOLESTR pszDisplayName,
  1368. /* [out] */ ULONG *pchEaten,
  1369. /* [out] */ LPITEMIDLIST *ppidl,
  1370. /* [unique][out][in] */ ULONG *pdwAttributes);
  1371. HRESULT ( STDMETHODCALLTYPE *EnumObjects )(
  1372. IShellFolder2 * This,
  1373. /* [in] */ HWND hwnd,
  1374. /* [in] */ SHCONTF grfFlags,
  1375. /* [out] */ IEnumIDList **ppenumIDList);
  1376. HRESULT ( STDMETHODCALLTYPE *BindToObject )(
  1377. IShellFolder2 * This,
  1378. /* [in] */ LPCITEMIDLIST pidl,
  1379. /* [in] */ LPBC pbc,
  1380. /* [in] */ REFIID riid,
  1381. /* [iid_is][out] */ void **ppv);
  1382. HRESULT ( STDMETHODCALLTYPE *BindToStorage )(
  1383. IShellFolder2 * This,
  1384. /* [in] */ LPCITEMIDLIST pidl,
  1385. /* [in] */ LPBC pbc,
  1386. /* [in] */ REFIID riid,
  1387. /* [iid_is][out] */ void **ppv);
  1388. HRESULT ( STDMETHODCALLTYPE *CompareIDs )(
  1389. IShellFolder2 * This,
  1390. /* [in] */ LPARAM lParam,
  1391. /* [in] */ LPCITEMIDLIST pidl1,
  1392. /* [in] */ LPCITEMIDLIST pidl2);
  1393. HRESULT ( STDMETHODCALLTYPE *CreateViewObject )(
  1394. IShellFolder2 * This,
  1395. /* [in] */ HWND hwndOwner,
  1396. /* [in] */ REFIID riid,
  1397. /* [iid_is][out] */ void **ppv);
  1398. HRESULT ( STDMETHODCALLTYPE *GetAttributesOf )(
  1399. IShellFolder2 * This,
  1400. /* [in] */ UINT cidl,
  1401. /* [size_is][in] */ LPCITEMIDLIST *apidl,
  1402. /* [out][in] */ SFGAOF *rgfInOut);
  1403. HRESULT ( STDMETHODCALLTYPE *GetUIObjectOf )(
  1404. IShellFolder2 * This,
  1405. /* [in] */ HWND hwndOwner,
  1406. /* [in] */ UINT cidl,
  1407. /* [size_is][in] */ LPCITEMIDLIST *apidl,
  1408. /* [in] */ REFIID riid,
  1409. /* [unique][out][in] */ UINT *rgfReserved,
  1410. /* [iid_is][out] */ void **ppv);
  1411. HRESULT ( STDMETHODCALLTYPE *GetDisplayNameOf )(
  1412. IShellFolder2 * This,
  1413. /* [in] */ LPCITEMIDLIST pidl,
  1414. /* [in] */ SHGDNF uFlags,
  1415. /* [out] */ STRRET *pName);
  1416. HRESULT ( STDMETHODCALLTYPE *SetNameOf )(
  1417. IShellFolder2 * This,
  1418. /* [in] */ HWND hwnd,
  1419. /* [in] */ LPCITEMIDLIST pidl,
  1420. /* [string][in] */ LPCOLESTR pszName,
  1421. /* [in] */ SHGDNF uFlags,
  1422. /* [out] */ LPITEMIDLIST *ppidlOut);
  1423. HRESULT ( STDMETHODCALLTYPE *GetDefaultSearchGUID )(
  1424. IShellFolder2 * This,
  1425. /* [out] */ GUID *pguid);
  1426. HRESULT ( STDMETHODCALLTYPE *EnumSearches )(
  1427. IShellFolder2 * This,
  1428. /* [out] */ IEnumExtraSearch **ppenum);
  1429. HRESULT ( STDMETHODCALLTYPE *GetDefaultColumn )(
  1430. IShellFolder2 * This,
  1431. /* [in] */ DWORD dwRes,
  1432. /* [out] */ ULONG *pSort,
  1433. /* [out] */ ULONG *pDisplay);
  1434. HRESULT ( STDMETHODCALLTYPE *GetDefaultColumnState )(
  1435. IShellFolder2 * This,
  1436. /* [in] */ UINT iColumn,
  1437. /* [out] */ SHCOLSTATEF *pcsFlags);
  1438. HRESULT ( STDMETHODCALLTYPE *GetDetailsEx )(
  1439. IShellFolder2 * This,
  1440. /* [in] */ LPCITEMIDLIST pidl,
  1441. /* [in] */ const SHCOLUMNID *pscid,
  1442. /* [out] */ VARIANT *pv);
  1443. HRESULT ( STDMETHODCALLTYPE *GetDetailsOf )(
  1444. IShellFolder2 * This,
  1445. /* [in] */ LPCITEMIDLIST pidl,
  1446. /* [in] */ UINT iColumn,
  1447. /* [out] */ SHELLDETAILS *psd);
  1448. HRESULT ( STDMETHODCALLTYPE *MapColumnToSCID )(
  1449. IShellFolder2 * This,
  1450. /* [in] */ UINT iColumn,
  1451. /* [in] */ SHCOLUMNID *pscid);
  1452. END_INTERFACE
  1453. } IShellFolder2Vtbl;
  1454. interface IShellFolder2
  1455. {
  1456. CONST_VTBL struct IShellFolder2Vtbl *lpVtbl;
  1457. };
  1458. #ifdef COBJMACROS
  1459. #define IShellFolder2_QueryInterface(This,riid,ppvObject) \
  1460. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1461. #define IShellFolder2_AddRef(This) \
  1462. (This)->lpVtbl -> AddRef(This)
  1463. #define IShellFolder2_Release(This) \
  1464. (This)->lpVtbl -> Release(This)
  1465. #define IShellFolder2_ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes) \
  1466. (This)->lpVtbl -> ParseDisplayName(This,hwnd,pbc,pszDisplayName,pchEaten,ppidl,pdwAttributes)
  1467. #define IShellFolder2_EnumObjects(This,hwnd,grfFlags,ppenumIDList) \
  1468. (This)->lpVtbl -> EnumObjects(This,hwnd,grfFlags,ppenumIDList)
  1469. #define IShellFolder2_BindToObject(This,pidl,pbc,riid,ppv) \
  1470. (This)->lpVtbl -> BindToObject(This,pidl,pbc,riid,ppv)
  1471. #define IShellFolder2_BindToStorage(This,pidl,pbc,riid,ppv) \
  1472. (This)->lpVtbl -> BindToStorage(This,pidl,pbc,riid,ppv)
  1473. #define IShellFolder2_CompareIDs(This,lParam,pidl1,pidl2) \
  1474. (This)->lpVtbl -> CompareIDs(This,lParam,pidl1,pidl2)
  1475. #define IShellFolder2_CreateViewObject(This,hwndOwner,riid,ppv) \
  1476. (This)->lpVtbl -> CreateViewObject(This,hwndOwner,riid,ppv)
  1477. #define IShellFolder2_GetAttributesOf(This,cidl,apidl,rgfInOut) \
  1478. (This)->lpVtbl -> GetAttributesOf(This,cidl,apidl,rgfInOut)
  1479. #define IShellFolder2_GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv) \
  1480. (This)->lpVtbl -> GetUIObjectOf(This,hwndOwner,cidl,apidl,riid,rgfReserved,ppv)
  1481. #define IShellFolder2_GetDisplayNameOf(This,pidl,uFlags,pName) \
  1482. (This)->lpVtbl -> GetDisplayNameOf(This,pidl,uFlags,pName)
  1483. #define IShellFolder2_SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut) \
  1484. (This)->lpVtbl -> SetNameOf(This,hwnd,pidl,pszName,uFlags,ppidlOut)
  1485. #define IShellFolder2_GetDefaultSearchGUID(This,pguid) \
  1486. (This)->lpVtbl -> GetDefaultSearchGUID(This,pguid)
  1487. #define IShellFolder2_EnumSearches(This,ppenum) \
  1488. (This)->lpVtbl -> EnumSearches(This,ppenum)
  1489. #define IShellFolder2_GetDefaultColumn(This,dwRes,pSort,pDisplay) \
  1490. (This)->lpVtbl -> GetDefaultColumn(This,dwRes,pSort,pDisplay)
  1491. #define IShellFolder2_GetDefaultColumnState(This,iColumn,pcsFlags) \
  1492. (This)->lpVtbl -> GetDefaultColumnState(This,iColumn,pcsFlags)
  1493. #define IShellFolder2_GetDetailsEx(This,pidl,pscid,pv) \
  1494. (This)->lpVtbl -> GetDetailsEx(This,pidl,pscid,pv)
  1495. #define IShellFolder2_GetDetailsOf(This,pidl,iColumn,psd) \
  1496. (This)->lpVtbl -> GetDetailsOf(This,pidl,iColumn,psd)
  1497. #define IShellFolder2_MapColumnToSCID(This,iColumn,pscid) \
  1498. (This)->lpVtbl -> MapColumnToSCID(This,iColumn,pscid)
  1499. #endif /* COBJMACROS */
  1500. #endif /* C style interface */
  1501. HRESULT STDMETHODCALLTYPE IShellFolder2_GetDefaultSearchGUID_Proxy(
  1502. IShellFolder2 * This,
  1503. /* [out] */ GUID *pguid);
  1504. void __RPC_STUB IShellFolder2_GetDefaultSearchGUID_Stub(
  1505. IRpcStubBuffer *This,
  1506. IRpcChannelBuffer *_pRpcChannelBuffer,
  1507. PRPC_MESSAGE _pRpcMessage,
  1508. DWORD *_pdwStubPhase);
  1509. HRESULT STDMETHODCALLTYPE IShellFolder2_EnumSearches_Proxy(
  1510. IShellFolder2 * This,
  1511. /* [out] */ IEnumExtraSearch **ppenum);
  1512. void __RPC_STUB IShellFolder2_EnumSearches_Stub(
  1513. IRpcStubBuffer *This,
  1514. IRpcChannelBuffer *_pRpcChannelBuffer,
  1515. PRPC_MESSAGE _pRpcMessage,
  1516. DWORD *_pdwStubPhase);
  1517. HRESULT STDMETHODCALLTYPE IShellFolder2_GetDefaultColumn_Proxy(
  1518. IShellFolder2 * This,
  1519. /* [in] */ DWORD dwRes,
  1520. /* [out] */ ULONG *pSort,
  1521. /* [out] */ ULONG *pDisplay);
  1522. void __RPC_STUB IShellFolder2_GetDefaultColumn_Stub(
  1523. IRpcStubBuffer *This,
  1524. IRpcChannelBuffer *_pRpcChannelBuffer,
  1525. PRPC_MESSAGE _pRpcMessage,
  1526. DWORD *_pdwStubPhase);
  1527. HRESULT STDMETHODCALLTYPE IShellFolder2_GetDefaultColumnState_Proxy(
  1528. IShellFolder2 * This,
  1529. /* [in] */ UINT iColumn,
  1530. /* [out] */ SHCOLSTATEF *pcsFlags);
  1531. void __RPC_STUB IShellFolder2_GetDefaultColumnState_Stub(
  1532. IRpcStubBuffer *This,
  1533. IRpcChannelBuffer *_pRpcChannelBuffer,
  1534. PRPC_MESSAGE _pRpcMessage,
  1535. DWORD *_pdwStubPhase);
  1536. HRESULT STDMETHODCALLTYPE IShellFolder2_GetDetailsEx_Proxy(
  1537. IShellFolder2 * This,
  1538. /* [in] */ LPCITEMIDLIST pidl,
  1539. /* [in] */ const SHCOLUMNID *pscid,
  1540. /* [out] */ VARIANT *pv);
  1541. void __RPC_STUB IShellFolder2_GetDetailsEx_Stub(
  1542. IRpcStubBuffer *This,
  1543. IRpcChannelBuffer *_pRpcChannelBuffer,
  1544. PRPC_MESSAGE _pRpcMessage,
  1545. DWORD *_pdwStubPhase);
  1546. HRESULT STDMETHODCALLTYPE IShellFolder2_GetDetailsOf_Proxy(
  1547. IShellFolder2 * This,
  1548. /* [in] */ LPCITEMIDLIST pidl,
  1549. /* [in] */ UINT iColumn,
  1550. /* [out] */ SHELLDETAILS *psd);
  1551. void __RPC_STUB IShellFolder2_GetDetailsOf_Stub(
  1552. IRpcStubBuffer *This,
  1553. IRpcChannelBuffer *_pRpcChannelBuffer,
  1554. PRPC_MESSAGE _pRpcMessage,
  1555. DWORD *_pdwStubPhase);
  1556. HRESULT STDMETHODCALLTYPE IShellFolder2_MapColumnToSCID_Proxy(
  1557. IShellFolder2 * This,
  1558. /* [in] */ UINT iColumn,
  1559. /* [in] */ SHCOLUMNID *pscid);
  1560. void __RPC_STUB IShellFolder2_MapColumnToSCID_Stub(
  1561. IRpcStubBuffer *This,
  1562. IRpcChannelBuffer *_pRpcChannelBuffer,
  1563. PRPC_MESSAGE _pRpcMessage,
  1564. DWORD *_pdwStubPhase);
  1565. #endif /* __IShellFolder2_INTERFACE_DEFINED__ */
  1566. /* interface __MIDL_itf_shobjidl_0198 */
  1567. /* [local] */
  1568. #endif // _WIN32_IE >= 0x0500)
  1569. typedef char *LPVIEWSETTINGS;
  1570. typedef /* [public][v1_enum] */
  1571. enum __MIDL___MIDL_itf_shobjidl_0198_0001
  1572. { FWF_AUTOARRANGE = 0x1,
  1573. FWF_ABBREVIATEDNAMES = 0x2,
  1574. FWF_SNAPTOGRID = 0x4,
  1575. FWF_OWNERDATA = 0x8,
  1576. FWF_BESTFITWINDOW = 0x10,
  1577. FWF_DESKTOP = 0x20,
  1578. FWF_SINGLESEL = 0x40,
  1579. FWF_NOSUBFOLDERS = 0x80,
  1580. FWF_TRANSPARENT = 0x100,
  1581. FWF_NOCLIENTEDGE = 0x200,
  1582. FWF_NOSCROLL = 0x400,
  1583. FWF_ALIGNLEFT = 0x800,
  1584. FWF_NOICONS = 0x1000,
  1585. FWF_SHOWSELALWAYS = 0x2000,
  1586. FWF_NOVISIBLE = 0x4000,
  1587. FWF_SINGLECLICKACTIVATE = 0x8000,
  1588. FWF_NOWEBVIEW = 0x10000,
  1589. FWF_HIDEFILENAMES = 0x20000,
  1590. FWF_CHECKSELECT = 0x40000
  1591. } FOLDERFLAGS;
  1592. typedef /* [public][v1_enum] */
  1593. enum __MIDL___MIDL_itf_shobjidl_0198_0002
  1594. { FVM_FIRST = 1,
  1595. FVM_ICON = 1,
  1596. FVM_SMALLICON = 2,
  1597. FVM_LIST = 3,
  1598. FVM_DETAILS = 4,
  1599. FVM_THUMBNAIL = 5,
  1600. FVM_TILE = 6,
  1601. FVM_THUMBSTRIP = 7,
  1602. FVM_LAST = 7
  1603. } FOLDERVIEWMODE;
  1604. typedef /* [public][public][public][public][public][public][public][public][public] */ struct __MIDL___MIDL_itf_shobjidl_0198_0003
  1605. {
  1606. UINT ViewMode;
  1607. UINT fFlags;
  1608. } FOLDERSETTINGS;
  1609. typedef FOLDERSETTINGS *LPFOLDERSETTINGS;
  1610. typedef const FOLDERSETTINGS *LPCFOLDERSETTINGS;
  1611. typedef FOLDERSETTINGS *PFOLDERSETTINGS;
  1612. #define SVSI_DESELECT 0x00000000
  1613. #define SVSI_SELECT 0x00000001
  1614. #define SVSI_EDIT 0x00000003 // includes select
  1615. #define SVSI_DESELECTOTHERS 0x00000004
  1616. #define SVSI_ENSUREVISIBLE 0x00000008
  1617. #define SVSI_FOCUSED 0x00000010
  1618. #define SVSI_TRANSLATEPT 0x00000020
  1619. #define SVSI_SELECTIONMARK 0x00000040
  1620. #define SVSI_POSITIONITEM 0x00000080
  1621. #define SVSI_CHECK 0x00000100
  1622. #define SVSI_NOSTATECHANGE 0x80000000
  1623. typedef UINT SVSIF;
  1624. typedef /* [public][v1_enum] */
  1625. enum __MIDL___MIDL_itf_shobjidl_0198_0004
  1626. { SVGIO_BACKGROUND = 0,
  1627. SVGIO_SELECTION = 0x1,
  1628. SVGIO_ALLVIEW = 0x2,
  1629. SVGIO_CHECKED = 0x3,
  1630. SVGIO_TYPE_MASK = 0xf,
  1631. SVGIO_FLAG_VIEWORDER = 0x80000000
  1632. } SVGIO;
  1633. typedef /* [public][v1_enum] */
  1634. enum __MIDL___MIDL_itf_shobjidl_0198_0005
  1635. { SVUIA_DEACTIVATE = 0,
  1636. SVUIA_ACTIVATE_NOFOCUS = 1,
  1637. SVUIA_ACTIVATE_FOCUS = 2,
  1638. SVUIA_INPLACEACTIVATE = 3
  1639. } SVUIA_STATUS;
  1640. #ifdef _FIX_ENABLEMODELESS_CONFLICT
  1641. #define EnableModeless EnableModelessSV
  1642. #endif
  1643. #ifdef _NEVER_
  1644. typedef LPARAM LPFNSVADDPROPSHEETPAGE;
  1645. #else //!_NEVER_
  1646. #include <prsht.h>
  1647. typedef LPFNADDPROPSHEETPAGE LPFNSVADDPROPSHEETPAGE;
  1648. #endif //_NEVER_
  1649. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0198_v0_0_c_ifspec;
  1650. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0198_v0_0_s_ifspec;
  1651. #ifndef __IShellView_INTERFACE_DEFINED__
  1652. #define __IShellView_INTERFACE_DEFINED__
  1653. /* interface IShellView */
  1654. /* [unique][object][uuid][helpstring] */
  1655. typedef IShellView *LPSHELLVIEW;
  1656. EXTERN_C const IID IID_IShellView;
  1657. #if defined(__cplusplus) && !defined(CINTERFACE)
  1658. MIDL_INTERFACE("000214E3-0000-0000-C000-000000000046")
  1659. IShellView : public IOleWindow
  1660. {
  1661. public:
  1662. virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
  1663. /* [in] */ MSG *pmsg) = 0;
  1664. virtual HRESULT STDMETHODCALLTYPE EnableModeless(
  1665. /* [in] */ BOOL fEnable) = 0;
  1666. virtual HRESULT STDMETHODCALLTYPE UIActivate(
  1667. /* [in] */ UINT uState) = 0;
  1668. virtual HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
  1669. virtual HRESULT STDMETHODCALLTYPE CreateViewWindow(
  1670. /* [in] */ IShellView *psvPrevious,
  1671. /* [in] */ LPCFOLDERSETTINGS pfs,
  1672. /* [in] */ IShellBrowser *psb,
  1673. /* [out] */ RECT *prcView,
  1674. /* [out] */ HWND *phWnd) = 0;
  1675. virtual HRESULT STDMETHODCALLTYPE DestroyViewWindow( void) = 0;
  1676. virtual HRESULT STDMETHODCALLTYPE GetCurrentInfo(
  1677. /* [out] */ LPFOLDERSETTINGS pfs) = 0;
  1678. virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddPropertySheetPages(
  1679. /* [in] */ DWORD dwReserved,
  1680. /* [in] */ LPFNSVADDPROPSHEETPAGE pfn,
  1681. /* [in] */ LPARAM lparam) = 0;
  1682. virtual HRESULT STDMETHODCALLTYPE SaveViewState( void) = 0;
  1683. virtual HRESULT STDMETHODCALLTYPE SelectItem(
  1684. /* [in] */ LPCITEMIDLIST pidlItem,
  1685. /* [in] */ SVSIF uFlags) = 0;
  1686. virtual HRESULT STDMETHODCALLTYPE GetItemObject(
  1687. /* [in] */ UINT uItem,
  1688. /* [in] */ REFIID riid,
  1689. /* [iid_is][out] */ void **ppv) = 0;
  1690. };
  1691. #else /* C style interface */
  1692. typedef struct IShellViewVtbl
  1693. {
  1694. BEGIN_INTERFACE
  1695. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1696. IShellView * This,
  1697. /* [in] */ REFIID riid,
  1698. /* [iid_is][out] */ void **ppvObject);
  1699. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1700. IShellView * This);
  1701. ULONG ( STDMETHODCALLTYPE *Release )(
  1702. IShellView * This);
  1703. /* [input_sync] */ HRESULT ( STDMETHODCALLTYPE *GetWindow )(
  1704. IShellView * This,
  1705. /* [out] */ HWND *phwnd);
  1706. HRESULT ( STDMETHODCALLTYPE *ContextSensitiveHelp )(
  1707. IShellView * This,
  1708. /* [in] */ BOOL fEnterMode);
  1709. HRESULT ( STDMETHODCALLTYPE *TranslateAccelerator )(
  1710. IShellView * This,
  1711. /* [in] */ MSG *pmsg);
  1712. HRESULT ( STDMETHODCALLTYPE *EnableModeless )(
  1713. IShellView * This,
  1714. /* [in] */ BOOL fEnable);
  1715. HRESULT ( STDMETHODCALLTYPE *UIActivate )(
  1716. IShellView * This,
  1717. /* [in] */ UINT uState);
  1718. HRESULT ( STDMETHODCALLTYPE *Refresh )(
  1719. IShellView * This);
  1720. HRESULT ( STDMETHODCALLTYPE *CreateViewWindow )(
  1721. IShellView * This,
  1722. /* [in] */ IShellView *psvPrevious,
  1723. /* [in] */ LPCFOLDERSETTINGS pfs,
  1724. /* [in] */ IShellBrowser *psb,
  1725. /* [out] */ RECT *prcView,
  1726. /* [out] */ HWND *phWnd);
  1727. HRESULT ( STDMETHODCALLTYPE *DestroyViewWindow )(
  1728. IShellView * This);
  1729. HRESULT ( STDMETHODCALLTYPE *GetCurrentInfo )(
  1730. IShellView * This,
  1731. /* [out] */ LPFOLDERSETTINGS pfs);
  1732. /* [local] */ HRESULT ( STDMETHODCALLTYPE *AddPropertySheetPages )(
  1733. IShellView * This,
  1734. /* [in] */ DWORD dwReserved,
  1735. /* [in] */ LPFNSVADDPROPSHEETPAGE pfn,
  1736. /* [in] */ LPARAM lparam);
  1737. HRESULT ( STDMETHODCALLTYPE *SaveViewState )(
  1738. IShellView * This);
  1739. HRESULT ( STDMETHODCALLTYPE *SelectItem )(
  1740. IShellView * This,
  1741. /* [in] */ LPCITEMIDLIST pidlItem,
  1742. /* [in] */ SVSIF uFlags);
  1743. HRESULT ( STDMETHODCALLTYPE *GetItemObject )(
  1744. IShellView * This,
  1745. /* [in] */ UINT uItem,
  1746. /* [in] */ REFIID riid,
  1747. /* [iid_is][out] */ void **ppv);
  1748. END_INTERFACE
  1749. } IShellViewVtbl;
  1750. interface IShellView
  1751. {
  1752. CONST_VTBL struct IShellViewVtbl *lpVtbl;
  1753. };
  1754. #ifdef COBJMACROS
  1755. #define IShellView_QueryInterface(This,riid,ppvObject) \
  1756. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1757. #define IShellView_AddRef(This) \
  1758. (This)->lpVtbl -> AddRef(This)
  1759. #define IShellView_Release(This) \
  1760. (This)->lpVtbl -> Release(This)
  1761. #define IShellView_GetWindow(This,phwnd) \
  1762. (This)->lpVtbl -> GetWindow(This,phwnd)
  1763. #define IShellView_ContextSensitiveHelp(This,fEnterMode) \
  1764. (This)->lpVtbl -> ContextSensitiveHelp(This,fEnterMode)
  1765. #define IShellView_TranslateAccelerator(This,pmsg) \
  1766. (This)->lpVtbl -> TranslateAccelerator(This,pmsg)
  1767. #define IShellView_EnableModeless(This,fEnable) \
  1768. (This)->lpVtbl -> EnableModeless(This,fEnable)
  1769. #define IShellView_UIActivate(This,uState) \
  1770. (This)->lpVtbl -> UIActivate(This,uState)
  1771. #define IShellView_Refresh(This) \
  1772. (This)->lpVtbl -> Refresh(This)
  1773. #define IShellView_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) \
  1774. (This)->lpVtbl -> CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd)
  1775. #define IShellView_DestroyViewWindow(This) \
  1776. (This)->lpVtbl -> DestroyViewWindow(This)
  1777. #define IShellView_GetCurrentInfo(This,pfs) \
  1778. (This)->lpVtbl -> GetCurrentInfo(This,pfs)
  1779. #define IShellView_AddPropertySheetPages(This,dwReserved,pfn,lparam) \
  1780. (This)->lpVtbl -> AddPropertySheetPages(This,dwReserved,pfn,lparam)
  1781. #define IShellView_SaveViewState(This) \
  1782. (This)->lpVtbl -> SaveViewState(This)
  1783. #define IShellView_SelectItem(This,pidlItem,uFlags) \
  1784. (This)->lpVtbl -> SelectItem(This,pidlItem,uFlags)
  1785. #define IShellView_GetItemObject(This,uItem,riid,ppv) \
  1786. (This)->lpVtbl -> GetItemObject(This,uItem,riid,ppv)
  1787. #endif /* COBJMACROS */
  1788. #endif /* C style interface */
  1789. HRESULT STDMETHODCALLTYPE IShellView_TranslateAccelerator_Proxy(
  1790. IShellView * This,
  1791. /* [in] */ MSG *pmsg);
  1792. void __RPC_STUB IShellView_TranslateAccelerator_Stub(
  1793. IRpcStubBuffer *This,
  1794. IRpcChannelBuffer *_pRpcChannelBuffer,
  1795. PRPC_MESSAGE _pRpcMessage,
  1796. DWORD *_pdwStubPhase);
  1797. HRESULT STDMETHODCALLTYPE IShellView_EnableModeless_Proxy(
  1798. IShellView * This,
  1799. /* [in] */ BOOL fEnable);
  1800. void __RPC_STUB IShellView_EnableModeless_Stub(
  1801. IRpcStubBuffer *This,
  1802. IRpcChannelBuffer *_pRpcChannelBuffer,
  1803. PRPC_MESSAGE _pRpcMessage,
  1804. DWORD *_pdwStubPhase);
  1805. HRESULT STDMETHODCALLTYPE IShellView_UIActivate_Proxy(
  1806. IShellView * This,
  1807. /* [in] */ UINT uState);
  1808. void __RPC_STUB IShellView_UIActivate_Stub(
  1809. IRpcStubBuffer *This,
  1810. IRpcChannelBuffer *_pRpcChannelBuffer,
  1811. PRPC_MESSAGE _pRpcMessage,
  1812. DWORD *_pdwStubPhase);
  1813. HRESULT STDMETHODCALLTYPE IShellView_Refresh_Proxy(
  1814. IShellView * This);
  1815. void __RPC_STUB IShellView_Refresh_Stub(
  1816. IRpcStubBuffer *This,
  1817. IRpcChannelBuffer *_pRpcChannelBuffer,
  1818. PRPC_MESSAGE _pRpcMessage,
  1819. DWORD *_pdwStubPhase);
  1820. HRESULT STDMETHODCALLTYPE IShellView_CreateViewWindow_Proxy(
  1821. IShellView * This,
  1822. /* [in] */ IShellView *psvPrevious,
  1823. /* [in] */ LPCFOLDERSETTINGS pfs,
  1824. /* [in] */ IShellBrowser *psb,
  1825. /* [out] */ RECT *prcView,
  1826. /* [out] */ HWND *phWnd);
  1827. void __RPC_STUB IShellView_CreateViewWindow_Stub(
  1828. IRpcStubBuffer *This,
  1829. IRpcChannelBuffer *_pRpcChannelBuffer,
  1830. PRPC_MESSAGE _pRpcMessage,
  1831. DWORD *_pdwStubPhase);
  1832. HRESULT STDMETHODCALLTYPE IShellView_DestroyViewWindow_Proxy(
  1833. IShellView * This);
  1834. void __RPC_STUB IShellView_DestroyViewWindow_Stub(
  1835. IRpcStubBuffer *This,
  1836. IRpcChannelBuffer *_pRpcChannelBuffer,
  1837. PRPC_MESSAGE _pRpcMessage,
  1838. DWORD *_pdwStubPhase);
  1839. HRESULT STDMETHODCALLTYPE IShellView_GetCurrentInfo_Proxy(
  1840. IShellView * This,
  1841. /* [out] */ LPFOLDERSETTINGS pfs);
  1842. void __RPC_STUB IShellView_GetCurrentInfo_Stub(
  1843. IRpcStubBuffer *This,
  1844. IRpcChannelBuffer *_pRpcChannelBuffer,
  1845. PRPC_MESSAGE _pRpcMessage,
  1846. DWORD *_pdwStubPhase);
  1847. /* [local] */ HRESULT STDMETHODCALLTYPE IShellView_AddPropertySheetPages_Proxy(
  1848. IShellView * This,
  1849. /* [in] */ DWORD dwReserved,
  1850. /* [in] */ LPFNSVADDPROPSHEETPAGE pfn,
  1851. /* [in] */ LPARAM lparam);
  1852. void __RPC_STUB IShellView_AddPropertySheetPages_Stub(
  1853. IRpcStubBuffer *This,
  1854. IRpcChannelBuffer *_pRpcChannelBuffer,
  1855. PRPC_MESSAGE _pRpcMessage,
  1856. DWORD *_pdwStubPhase);
  1857. HRESULT STDMETHODCALLTYPE IShellView_SaveViewState_Proxy(
  1858. IShellView * This);
  1859. void __RPC_STUB IShellView_SaveViewState_Stub(
  1860. IRpcStubBuffer *This,
  1861. IRpcChannelBuffer *_pRpcChannelBuffer,
  1862. PRPC_MESSAGE _pRpcMessage,
  1863. DWORD *_pdwStubPhase);
  1864. HRESULT STDMETHODCALLTYPE IShellView_SelectItem_Proxy(
  1865. IShellView * This,
  1866. /* [in] */ LPCITEMIDLIST pidlItem,
  1867. /* [in] */ SVSIF uFlags);
  1868. void __RPC_STUB IShellView_SelectItem_Stub(
  1869. IRpcStubBuffer *This,
  1870. IRpcChannelBuffer *_pRpcChannelBuffer,
  1871. PRPC_MESSAGE _pRpcMessage,
  1872. DWORD *_pdwStubPhase);
  1873. HRESULT STDMETHODCALLTYPE IShellView_GetItemObject_Proxy(
  1874. IShellView * This,
  1875. /* [in] */ UINT uItem,
  1876. /* [in] */ REFIID riid,
  1877. /* [iid_is][out] */ void **ppv);
  1878. void __RPC_STUB IShellView_GetItemObject_Stub(
  1879. IRpcStubBuffer *This,
  1880. IRpcChannelBuffer *_pRpcChannelBuffer,
  1881. PRPC_MESSAGE _pRpcMessage,
  1882. DWORD *_pdwStubPhase);
  1883. #endif /* __IShellView_INTERFACE_DEFINED__ */
  1884. #ifndef __IShellView2_INTERFACE_DEFINED__
  1885. #define __IShellView2_INTERFACE_DEFINED__
  1886. /* interface IShellView2 */
  1887. /* [unique][object][uuid][helpstring] */
  1888. typedef GUID SHELLVIEWID;
  1889. #define SV2GV_CURRENTVIEW ((UINT)-1)
  1890. #define SV2GV_DEFAULTVIEW ((UINT)-2)
  1891. #include <pshpack8.h>
  1892. typedef struct _SV2CVW2_PARAMS
  1893. {
  1894. DWORD cbSize;
  1895. IShellView *psvPrev;
  1896. LPCFOLDERSETTINGS pfs;
  1897. IShellBrowser *psbOwner;
  1898. RECT *prcView;
  1899. const SHELLVIEWID *pvid;
  1900. HWND hwndView;
  1901. } SV2CVW2_PARAMS;
  1902. typedef struct _SV2CVW2_PARAMS *LPSV2CVW2_PARAMS;
  1903. #include <poppack.h>
  1904. EXTERN_C const IID IID_IShellView2;
  1905. #if defined(__cplusplus) && !defined(CINTERFACE)
  1906. MIDL_INTERFACE("88E39E80-3578-11CF-AE69-08002B2E1262")
  1907. IShellView2 : public IShellView
  1908. {
  1909. public:
  1910. virtual HRESULT STDMETHODCALLTYPE GetView(
  1911. /* [out][in] */ SHELLVIEWID *pvid,
  1912. /* [in] */ ULONG uView) = 0;
  1913. virtual HRESULT STDMETHODCALLTYPE CreateViewWindow2(
  1914. /* [in] */ LPSV2CVW2_PARAMS lpParams) = 0;
  1915. virtual HRESULT STDMETHODCALLTYPE HandleRename(
  1916. /* [in] */ LPCITEMIDLIST pidlNew) = 0;
  1917. virtual HRESULT STDMETHODCALLTYPE SelectAndPositionItem(
  1918. /* [in] */ LPCITEMIDLIST pidlItem,
  1919. /* [in] */ UINT uFlags,
  1920. /* [in] */ POINT *ppt) = 0;
  1921. };
  1922. #else /* C style interface */
  1923. typedef struct IShellView2Vtbl
  1924. {
  1925. BEGIN_INTERFACE
  1926. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1927. IShellView2 * This,
  1928. /* [in] */ REFIID riid,
  1929. /* [iid_is][out] */ void **ppvObject);
  1930. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1931. IShellView2 * This);
  1932. ULONG ( STDMETHODCALLTYPE *Release )(
  1933. IShellView2 * This);
  1934. /* [input_sync] */ HRESULT ( STDMETHODCALLTYPE *GetWindow )(
  1935. IShellView2 * This,
  1936. /* [out] */ HWND *phwnd);
  1937. HRESULT ( STDMETHODCALLTYPE *ContextSensitiveHelp )(
  1938. IShellView2 * This,
  1939. /* [in] */ BOOL fEnterMode);
  1940. HRESULT ( STDMETHODCALLTYPE *TranslateAccelerator )(
  1941. IShellView2 * This,
  1942. /* [in] */ MSG *pmsg);
  1943. HRESULT ( STDMETHODCALLTYPE *EnableModeless )(
  1944. IShellView2 * This,
  1945. /* [in] */ BOOL fEnable);
  1946. HRESULT ( STDMETHODCALLTYPE *UIActivate )(
  1947. IShellView2 * This,
  1948. /* [in] */ UINT uState);
  1949. HRESULT ( STDMETHODCALLTYPE *Refresh )(
  1950. IShellView2 * This);
  1951. HRESULT ( STDMETHODCALLTYPE *CreateViewWindow )(
  1952. IShellView2 * This,
  1953. /* [in] */ IShellView *psvPrevious,
  1954. /* [in] */ LPCFOLDERSETTINGS pfs,
  1955. /* [in] */ IShellBrowser *psb,
  1956. /* [out] */ RECT *prcView,
  1957. /* [out] */ HWND *phWnd);
  1958. HRESULT ( STDMETHODCALLTYPE *DestroyViewWindow )(
  1959. IShellView2 * This);
  1960. HRESULT ( STDMETHODCALLTYPE *GetCurrentInfo )(
  1961. IShellView2 * This,
  1962. /* [out] */ LPFOLDERSETTINGS pfs);
  1963. /* [local] */ HRESULT ( STDMETHODCALLTYPE *AddPropertySheetPages )(
  1964. IShellView2 * This,
  1965. /* [in] */ DWORD dwReserved,
  1966. /* [in] */ LPFNSVADDPROPSHEETPAGE pfn,
  1967. /* [in] */ LPARAM lparam);
  1968. HRESULT ( STDMETHODCALLTYPE *SaveViewState )(
  1969. IShellView2 * This);
  1970. HRESULT ( STDMETHODCALLTYPE *SelectItem )(
  1971. IShellView2 * This,
  1972. /* [in] */ LPCITEMIDLIST pidlItem,
  1973. /* [in] */ SVSIF uFlags);
  1974. HRESULT ( STDMETHODCALLTYPE *GetItemObject )(
  1975. IShellView2 * This,
  1976. /* [in] */ UINT uItem,
  1977. /* [in] */ REFIID riid,
  1978. /* [iid_is][out] */ void **ppv);
  1979. HRESULT ( STDMETHODCALLTYPE *GetView )(
  1980. IShellView2 * This,
  1981. /* [out][in] */ SHELLVIEWID *pvid,
  1982. /* [in] */ ULONG uView);
  1983. HRESULT ( STDMETHODCALLTYPE *CreateViewWindow2 )(
  1984. IShellView2 * This,
  1985. /* [in] */ LPSV2CVW2_PARAMS lpParams);
  1986. HRESULT ( STDMETHODCALLTYPE *HandleRename )(
  1987. IShellView2 * This,
  1988. /* [in] */ LPCITEMIDLIST pidlNew);
  1989. HRESULT ( STDMETHODCALLTYPE *SelectAndPositionItem )(
  1990. IShellView2 * This,
  1991. /* [in] */ LPCITEMIDLIST pidlItem,
  1992. /* [in] */ UINT uFlags,
  1993. /* [in] */ POINT *ppt);
  1994. END_INTERFACE
  1995. } IShellView2Vtbl;
  1996. interface IShellView2
  1997. {
  1998. CONST_VTBL struct IShellView2Vtbl *lpVtbl;
  1999. };
  2000. #ifdef COBJMACROS
  2001. #define IShellView2_QueryInterface(This,riid,ppvObject) \
  2002. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2003. #define IShellView2_AddRef(This) \
  2004. (This)->lpVtbl -> AddRef(This)
  2005. #define IShellView2_Release(This) \
  2006. (This)->lpVtbl -> Release(This)
  2007. #define IShellView2_GetWindow(This,phwnd) \
  2008. (This)->lpVtbl -> GetWindow(This,phwnd)
  2009. #define IShellView2_ContextSensitiveHelp(This,fEnterMode) \
  2010. (This)->lpVtbl -> ContextSensitiveHelp(This,fEnterMode)
  2011. #define IShellView2_TranslateAccelerator(This,pmsg) \
  2012. (This)->lpVtbl -> TranslateAccelerator(This,pmsg)
  2013. #define IShellView2_EnableModeless(This,fEnable) \
  2014. (This)->lpVtbl -> EnableModeless(This,fEnable)
  2015. #define IShellView2_UIActivate(This,uState) \
  2016. (This)->lpVtbl -> UIActivate(This,uState)
  2017. #define IShellView2_Refresh(This) \
  2018. (This)->lpVtbl -> Refresh(This)
  2019. #define IShellView2_CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd) \
  2020. (This)->lpVtbl -> CreateViewWindow(This,psvPrevious,pfs,psb,prcView,phWnd)
  2021. #define IShellView2_DestroyViewWindow(This) \
  2022. (This)->lpVtbl -> DestroyViewWindow(This)
  2023. #define IShellView2_GetCurrentInfo(This,pfs) \
  2024. (This)->lpVtbl -> GetCurrentInfo(This,pfs)
  2025. #define IShellView2_AddPropertySheetPages(This,dwReserved,pfn,lparam) \
  2026. (This)->lpVtbl -> AddPropertySheetPages(This,dwReserved,pfn,lparam)
  2027. #define IShellView2_SaveViewState(This) \
  2028. (This)->lpVtbl -> SaveViewState(This)
  2029. #define IShellView2_SelectItem(This,pidlItem,uFlags) \
  2030. (This)->lpVtbl -> SelectItem(This,pidlItem,uFlags)
  2031. #define IShellView2_GetItemObject(This,uItem,riid,ppv) \
  2032. (This)->lpVtbl -> GetItemObject(This,uItem,riid,ppv)
  2033. #define IShellView2_GetView(This,pvid,uView) \
  2034. (This)->lpVtbl -> GetView(This,pvid,uView)
  2035. #define IShellView2_CreateViewWindow2(This,lpParams) \
  2036. (This)->lpVtbl -> CreateViewWindow2(This,lpParams)
  2037. #define IShellView2_HandleRename(This,pidlNew) \
  2038. (This)->lpVtbl -> HandleRename(This,pidlNew)
  2039. #define IShellView2_SelectAndPositionItem(This,pidlItem,uFlags,ppt) \
  2040. (This)->lpVtbl -> SelectAndPositionItem(This,pidlItem,uFlags,ppt)
  2041. #endif /* COBJMACROS */
  2042. #endif /* C style interface */
  2043. HRESULT STDMETHODCALLTYPE IShellView2_GetView_Proxy(
  2044. IShellView2 * This,
  2045. /* [out][in] */ SHELLVIEWID *pvid,
  2046. /* [in] */ ULONG uView);
  2047. void __RPC_STUB IShellView2_GetView_Stub(
  2048. IRpcStubBuffer *This,
  2049. IRpcChannelBuffer *_pRpcChannelBuffer,
  2050. PRPC_MESSAGE _pRpcMessage,
  2051. DWORD *_pdwStubPhase);
  2052. HRESULT STDMETHODCALLTYPE IShellView2_CreateViewWindow2_Proxy(
  2053. IShellView2 * This,
  2054. /* [in] */ LPSV2CVW2_PARAMS lpParams);
  2055. void __RPC_STUB IShellView2_CreateViewWindow2_Stub(
  2056. IRpcStubBuffer *This,
  2057. IRpcChannelBuffer *_pRpcChannelBuffer,
  2058. PRPC_MESSAGE _pRpcMessage,
  2059. DWORD *_pdwStubPhase);
  2060. HRESULT STDMETHODCALLTYPE IShellView2_HandleRename_Proxy(
  2061. IShellView2 * This,
  2062. /* [in] */ LPCITEMIDLIST pidlNew);
  2063. void __RPC_STUB IShellView2_HandleRename_Stub(
  2064. IRpcStubBuffer *This,
  2065. IRpcChannelBuffer *_pRpcChannelBuffer,
  2066. PRPC_MESSAGE _pRpcMessage,
  2067. DWORD *_pdwStubPhase);
  2068. HRESULT STDMETHODCALLTYPE IShellView2_SelectAndPositionItem_Proxy(
  2069. IShellView2 * This,
  2070. /* [in] */ LPCITEMIDLIST pidlItem,
  2071. /* [in] */ UINT uFlags,
  2072. /* [in] */ POINT *ppt);
  2073. void __RPC_STUB IShellView2_SelectAndPositionItem_Stub(
  2074. IRpcStubBuffer *This,
  2075. IRpcChannelBuffer *_pRpcChannelBuffer,
  2076. PRPC_MESSAGE _pRpcMessage,
  2077. DWORD *_pdwStubPhase);
  2078. #endif /* __IShellView2_INTERFACE_DEFINED__ */
  2079. #ifndef __IFolderView_INTERFACE_DEFINED__
  2080. #define __IFolderView_INTERFACE_DEFINED__
  2081. /* interface IFolderView */
  2082. /* [unique][object][uuid][helpstring] */
  2083. EXTERN_C const IID IID_IFolderView;
  2084. #if defined(__cplusplus) && !defined(CINTERFACE)
  2085. MIDL_INTERFACE("cde725b0-ccc9-4519-917e-325d72fab4ce")
  2086. IFolderView : public IUnknown
  2087. {
  2088. public:
  2089. virtual HRESULT STDMETHODCALLTYPE GetCurrentViewMode(
  2090. /* [out][in] */ UINT *pViewMode) = 0;
  2091. virtual HRESULT STDMETHODCALLTYPE SetCurrentViewMode(
  2092. /* [in] */ UINT ViewMode) = 0;
  2093. virtual HRESULT STDMETHODCALLTYPE GetFolder(
  2094. /* [in] */ REFIID riid,
  2095. /* [iid_is][out] */ void **ppv) = 0;
  2096. virtual HRESULT STDMETHODCALLTYPE Item(
  2097. /* [in] */ int iItemIndex,
  2098. /* [out] */ LPITEMIDLIST *ppidl) = 0;
  2099. virtual HRESULT STDMETHODCALLTYPE ItemCount(
  2100. /* [in] */ UINT uFlags,
  2101. /* [out] */ int *pcItems) = 0;
  2102. virtual HRESULT STDMETHODCALLTYPE Items(
  2103. /* [in] */ UINT uFlags,
  2104. /* [in] */ REFIID riid,
  2105. /* [iid_is][out] */ void **ppv) = 0;
  2106. virtual HRESULT STDMETHODCALLTYPE GetSelectionMarkedItem(
  2107. /* [out] */ int *piItem) = 0;
  2108. virtual HRESULT STDMETHODCALLTYPE GetFocusedItem(
  2109. /* [out] */ int *piItem) = 0;
  2110. virtual HRESULT STDMETHODCALLTYPE GetItemPosition(
  2111. /* [in] */ LPCITEMIDLIST pidl,
  2112. /* [out] */ POINT *ppt) = 0;
  2113. virtual HRESULT STDMETHODCALLTYPE GetSpacing(
  2114. /* [full][out][in] */ POINT *ppt) = 0;
  2115. virtual HRESULT STDMETHODCALLTYPE GetDefaultSpacing(
  2116. /* [out] */ POINT *ppt) = 0;
  2117. virtual HRESULT STDMETHODCALLTYPE GetAutoArrange( void) = 0;
  2118. virtual HRESULT STDMETHODCALLTYPE SelectItem(
  2119. /* [in] */ int iItem,
  2120. /* [in] */ DWORD dwFlags) = 0;
  2121. virtual HRESULT STDMETHODCALLTYPE SelectAndPositionItems(
  2122. /* [in] */ UINT cidl,
  2123. /* [size_is][in] */ LPCITEMIDLIST *apidl,
  2124. /* [size_is][full][in] */ POINT *apt,
  2125. /* [in] */ DWORD dwFlags) = 0;
  2126. };
  2127. #else /* C style interface */
  2128. typedef struct IFolderViewVtbl
  2129. {
  2130. BEGIN_INTERFACE
  2131. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2132. IFolderView * This,
  2133. /* [in] */ REFIID riid,
  2134. /* [iid_is][out] */ void **ppvObject);
  2135. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2136. IFolderView * This);
  2137. ULONG ( STDMETHODCALLTYPE *Release )(
  2138. IFolderView * This);
  2139. HRESULT ( STDMETHODCALLTYPE *GetCurrentViewMode )(
  2140. IFolderView * This,
  2141. /* [out][in] */ UINT *pViewMode);
  2142. HRESULT ( STDMETHODCALLTYPE *SetCurrentViewMode )(
  2143. IFolderView * This,
  2144. /* [in] */ UINT ViewMode);
  2145. HRESULT ( STDMETHODCALLTYPE *GetFolder )(
  2146. IFolderView * This,
  2147. /* [in] */ REFIID riid,
  2148. /* [iid_is][out] */ void **ppv);
  2149. HRESULT ( STDMETHODCALLTYPE *Item )(
  2150. IFolderView * This,
  2151. /* [in] */ int iItemIndex,
  2152. /* [out] */ LPITEMIDLIST *ppidl);
  2153. HRESULT ( STDMETHODCALLTYPE *ItemCount )(
  2154. IFolderView * This,
  2155. /* [in] */ UINT uFlags,
  2156. /* [out] */ int *pcItems);
  2157. HRESULT ( STDMETHODCALLTYPE *Items )(
  2158. IFolderView * This,
  2159. /* [in] */ UINT uFlags,
  2160. /* [in] */ REFIID riid,
  2161. /* [iid_is][out] */ void **ppv);
  2162. HRESULT ( STDMETHODCALLTYPE *GetSelectionMarkedItem )(
  2163. IFolderView * This,
  2164. /* [out] */ int *piItem);
  2165. HRESULT ( STDMETHODCALLTYPE *GetFocusedItem )(
  2166. IFolderView * This,
  2167. /* [out] */ int *piItem);
  2168. HRESULT ( STDMETHODCALLTYPE *GetItemPosition )(
  2169. IFolderView * This,
  2170. /* [in] */ LPCITEMIDLIST pidl,
  2171. /* [out] */ POINT *ppt);
  2172. HRESULT ( STDMETHODCALLTYPE *GetSpacing )(
  2173. IFolderView * This,
  2174. /* [full][out][in] */ POINT *ppt);
  2175. HRESULT ( STDMETHODCALLTYPE *GetDefaultSpacing )(
  2176. IFolderView * This,
  2177. /* [out] */ POINT *ppt);
  2178. HRESULT ( STDMETHODCALLTYPE *GetAutoArrange )(
  2179. IFolderView * This);
  2180. HRESULT ( STDMETHODCALLTYPE *SelectItem )(
  2181. IFolderView * This,
  2182. /* [in] */ int iItem,
  2183. /* [in] */ DWORD dwFlags);
  2184. HRESULT ( STDMETHODCALLTYPE *SelectAndPositionItems )(
  2185. IFolderView * This,
  2186. /* [in] */ UINT cidl,
  2187. /* [size_is][in] */ LPCITEMIDLIST *apidl,
  2188. /* [size_is][full][in] */ POINT *apt,
  2189. /* [in] */ DWORD dwFlags);
  2190. END_INTERFACE
  2191. } IFolderViewVtbl;
  2192. interface IFolderView
  2193. {
  2194. CONST_VTBL struct IFolderViewVtbl *lpVtbl;
  2195. };
  2196. #ifdef COBJMACROS
  2197. #define IFolderView_QueryInterface(This,riid,ppvObject) \
  2198. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2199. #define IFolderView_AddRef(This) \
  2200. (This)->lpVtbl -> AddRef(This)
  2201. #define IFolderView_Release(This) \
  2202. (This)->lpVtbl -> Release(This)
  2203. #define IFolderView_GetCurrentViewMode(This,pViewMode) \
  2204. (This)->lpVtbl -> GetCurrentViewMode(This,pViewMode)
  2205. #define IFolderView_SetCurrentViewMode(This,ViewMode) \
  2206. (This)->lpVtbl -> SetCurrentViewMode(This,ViewMode)
  2207. #define IFolderView_GetFolder(This,riid,ppv) \
  2208. (This)->lpVtbl -> GetFolder(This,riid,ppv)
  2209. #define IFolderView_Item(This,iItemIndex,ppidl) \
  2210. (This)->lpVtbl -> Item(This,iItemIndex,ppidl)
  2211. #define IFolderView_ItemCount(This,uFlags,pcItems) \
  2212. (This)->lpVtbl -> ItemCount(This,uFlags,pcItems)
  2213. #define IFolderView_Items(This,uFlags,riid,ppv) \
  2214. (This)->lpVtbl -> Items(This,uFlags,riid,ppv)
  2215. #define IFolderView_GetSelectionMarkedItem(This,piItem) \
  2216. (This)->lpVtbl -> GetSelectionMarkedItem(This,piItem)
  2217. #define IFolderView_GetFocusedItem(This,piItem) \
  2218. (This)->lpVtbl -> GetFocusedItem(This,piItem)
  2219. #define IFolderView_GetItemPosition(This,pidl,ppt) \
  2220. (This)->lpVtbl -> GetItemPosition(This,pidl,ppt)
  2221. #define IFolderView_GetSpacing(This,ppt) \
  2222. (This)->lpVtbl -> GetSpacing(This,ppt)
  2223. #define IFolderView_GetDefaultSpacing(This,ppt) \
  2224. (This)->lpVtbl -> GetDefaultSpacing(This,ppt)
  2225. #define IFolderView_GetAutoArrange(This) \
  2226. (This)->lpVtbl -> GetAutoArrange(This)
  2227. #define IFolderView_SelectItem(This,iItem,dwFlags) \
  2228. (This)->lpVtbl -> SelectItem(This,iItem,dwFlags)
  2229. #define IFolderView_SelectAndPositionItems(This,cidl,apidl,apt,dwFlags) \
  2230. (This)->lpVtbl -> SelectAndPositionItems(This,cidl,apidl,apt,dwFlags)
  2231. #endif /* COBJMACROS */
  2232. #endif /* C style interface */
  2233. HRESULT STDMETHODCALLTYPE IFolderView_GetCurrentViewMode_Proxy(
  2234. IFolderView * This,
  2235. /* [out][in] */ UINT *pViewMode);
  2236. void __RPC_STUB IFolderView_GetCurrentViewMode_Stub(
  2237. IRpcStubBuffer *This,
  2238. IRpcChannelBuffer *_pRpcChannelBuffer,
  2239. PRPC_MESSAGE _pRpcMessage,
  2240. DWORD *_pdwStubPhase);
  2241. HRESULT STDMETHODCALLTYPE IFolderView_SetCurrentViewMode_Proxy(
  2242. IFolderView * This,
  2243. /* [in] */ UINT ViewMode);
  2244. void __RPC_STUB IFolderView_SetCurrentViewMode_Stub(
  2245. IRpcStubBuffer *This,
  2246. IRpcChannelBuffer *_pRpcChannelBuffer,
  2247. PRPC_MESSAGE _pRpcMessage,
  2248. DWORD *_pdwStubPhase);
  2249. HRESULT STDMETHODCALLTYPE IFolderView_GetFolder_Proxy(
  2250. IFolderView * This,
  2251. /* [in] */ REFIID riid,
  2252. /* [iid_is][out] */ void **ppv);
  2253. void __RPC_STUB IFolderView_GetFolder_Stub(
  2254. IRpcStubBuffer *This,
  2255. IRpcChannelBuffer *_pRpcChannelBuffer,
  2256. PRPC_MESSAGE _pRpcMessage,
  2257. DWORD *_pdwStubPhase);
  2258. HRESULT STDMETHODCALLTYPE IFolderView_Item_Proxy(
  2259. IFolderView * This,
  2260. /* [in] */ int iItemIndex,
  2261. /* [out] */ LPITEMIDLIST *ppidl);
  2262. void __RPC_STUB IFolderView_Item_Stub(
  2263. IRpcStubBuffer *This,
  2264. IRpcChannelBuffer *_pRpcChannelBuffer,
  2265. PRPC_MESSAGE _pRpcMessage,
  2266. DWORD *_pdwStubPhase);
  2267. HRESULT STDMETHODCALLTYPE IFolderView_ItemCount_Proxy(
  2268. IFolderView * This,
  2269. /* [in] */ UINT uFlags,
  2270. /* [out] */ int *pcItems);
  2271. void __RPC_STUB IFolderView_ItemCount_Stub(
  2272. IRpcStubBuffer *This,
  2273. IRpcChannelBuffer *_pRpcChannelBuffer,
  2274. PRPC_MESSAGE _pRpcMessage,
  2275. DWORD *_pdwStubPhase);
  2276. HRESULT STDMETHODCALLTYPE IFolderView_Items_Proxy(
  2277. IFolderView * This,
  2278. /* [in] */ UINT uFlags,
  2279. /* [in] */ REFIID riid,
  2280. /* [iid_is][out] */ void **ppv);
  2281. void __RPC_STUB IFolderView_Items_Stub(
  2282. IRpcStubBuffer *This,
  2283. IRpcChannelBuffer *_pRpcChannelBuffer,
  2284. PRPC_MESSAGE _pRpcMessage,
  2285. DWORD *_pdwStubPhase);
  2286. HRESULT STDMETHODCALLTYPE IFolderView_GetSelectionMarkedItem_Proxy(
  2287. IFolderView * This,
  2288. /* [out] */ int *piItem);
  2289. void __RPC_STUB IFolderView_GetSelectionMarkedItem_Stub(
  2290. IRpcStubBuffer *This,
  2291. IRpcChannelBuffer *_pRpcChannelBuffer,
  2292. PRPC_MESSAGE _pRpcMessage,
  2293. DWORD *_pdwStubPhase);
  2294. HRESULT STDMETHODCALLTYPE IFolderView_GetFocusedItem_Proxy(
  2295. IFolderView * This,
  2296. /* [out] */ int *piItem);
  2297. void __RPC_STUB IFolderView_GetFocusedItem_Stub(
  2298. IRpcStubBuffer *This,
  2299. IRpcChannelBuffer *_pRpcChannelBuffer,
  2300. PRPC_MESSAGE _pRpcMessage,
  2301. DWORD *_pdwStubPhase);
  2302. HRESULT STDMETHODCALLTYPE IFolderView_GetItemPosition_Proxy(
  2303. IFolderView * This,
  2304. /* [in] */ LPCITEMIDLIST pidl,
  2305. /* [out] */ POINT *ppt);
  2306. void __RPC_STUB IFolderView_GetItemPosition_Stub(
  2307. IRpcStubBuffer *This,
  2308. IRpcChannelBuffer *_pRpcChannelBuffer,
  2309. PRPC_MESSAGE _pRpcMessage,
  2310. DWORD *_pdwStubPhase);
  2311. HRESULT STDMETHODCALLTYPE IFolderView_GetSpacing_Proxy(
  2312. IFolderView * This,
  2313. /* [full][out][in] */ POINT *ppt);
  2314. void __RPC_STUB IFolderView_GetSpacing_Stub(
  2315. IRpcStubBuffer *This,
  2316. IRpcChannelBuffer *_pRpcChannelBuffer,
  2317. PRPC_MESSAGE _pRpcMessage,
  2318. DWORD *_pdwStubPhase);
  2319. HRESULT STDMETHODCALLTYPE IFolderView_GetDefaultSpacing_Proxy(
  2320. IFolderView * This,
  2321. /* [out] */ POINT *ppt);
  2322. void __RPC_STUB IFolderView_GetDefaultSpacing_Stub(
  2323. IRpcStubBuffer *This,
  2324. IRpcChannelBuffer *_pRpcChannelBuffer,
  2325. PRPC_MESSAGE _pRpcMessage,
  2326. DWORD *_pdwStubPhase);
  2327. HRESULT STDMETHODCALLTYPE IFolderView_GetAutoArrange_Proxy(
  2328. IFolderView * This);
  2329. void __RPC_STUB IFolderView_GetAutoArrange_Stub(
  2330. IRpcStubBuffer *This,
  2331. IRpcChannelBuffer *_pRpcChannelBuffer,
  2332. PRPC_MESSAGE _pRpcMessage,
  2333. DWORD *_pdwStubPhase);
  2334. HRESULT STDMETHODCALLTYPE IFolderView_SelectItem_Proxy(
  2335. IFolderView * This,
  2336. /* [in] */ int iItem,
  2337. /* [in] */ DWORD dwFlags);
  2338. void __RPC_STUB IFolderView_SelectItem_Stub(
  2339. IRpcStubBuffer *This,
  2340. IRpcChannelBuffer *_pRpcChannelBuffer,
  2341. PRPC_MESSAGE _pRpcMessage,
  2342. DWORD *_pdwStubPhase);
  2343. HRESULT STDMETHODCALLTYPE IFolderView_SelectAndPositionItems_Proxy(
  2344. IFolderView * This,
  2345. /* [in] */ UINT cidl,
  2346. /* [size_is][in] */ LPCITEMIDLIST *apidl,
  2347. /* [size_is][full][in] */ POINT *apt,
  2348. /* [in] */ DWORD dwFlags);
  2349. void __RPC_STUB IFolderView_SelectAndPositionItems_Stub(
  2350. IRpcStubBuffer *This,
  2351. IRpcChannelBuffer *_pRpcChannelBuffer,
  2352. PRPC_MESSAGE _pRpcMessage,
  2353. DWORD *_pdwStubPhase);
  2354. #endif /* __IFolderView_INTERFACE_DEFINED__ */
  2355. /* interface __MIDL_itf_shobjidl_0201 */
  2356. /* [local] */
  2357. #define SID_SFolderView IID_IFolderView // folder view, usuaally IFolderView
  2358. #ifdef _FIX_ENABLEMODELESS_CONFLICT
  2359. #undef EnableModeless
  2360. #endif
  2361. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0201_v0_0_c_ifspec;
  2362. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0201_v0_0_s_ifspec;
  2363. #ifndef __IFolderFilterSite_INTERFACE_DEFINED__
  2364. #define __IFolderFilterSite_INTERFACE_DEFINED__
  2365. /* interface IFolderFilterSite */
  2366. /* [unique][object][uuid][helpstring] */
  2367. EXTERN_C const IID IID_IFolderFilterSite;
  2368. #if defined(__cplusplus) && !defined(CINTERFACE)
  2369. MIDL_INTERFACE("C0A651F5-B48B-11d2-B5ED-006097C686F6")
  2370. IFolderFilterSite : public IUnknown
  2371. {
  2372. public:
  2373. virtual HRESULT STDMETHODCALLTYPE SetFilter(
  2374. /* [in] */ IUnknown *punk) = 0;
  2375. };
  2376. #else /* C style interface */
  2377. typedef struct IFolderFilterSiteVtbl
  2378. {
  2379. BEGIN_INTERFACE
  2380. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2381. IFolderFilterSite * This,
  2382. /* [in] */ REFIID riid,
  2383. /* [iid_is][out] */ void **ppvObject);
  2384. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2385. IFolderFilterSite * This);
  2386. ULONG ( STDMETHODCALLTYPE *Release )(
  2387. IFolderFilterSite * This);
  2388. HRESULT ( STDMETHODCALLTYPE *SetFilter )(
  2389. IFolderFilterSite * This,
  2390. /* [in] */ IUnknown *punk);
  2391. END_INTERFACE
  2392. } IFolderFilterSiteVtbl;
  2393. interface IFolderFilterSite
  2394. {
  2395. CONST_VTBL struct IFolderFilterSiteVtbl *lpVtbl;
  2396. };
  2397. #ifdef COBJMACROS
  2398. #define IFolderFilterSite_QueryInterface(This,riid,ppvObject) \
  2399. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2400. #define IFolderFilterSite_AddRef(This) \
  2401. (This)->lpVtbl -> AddRef(This)
  2402. #define IFolderFilterSite_Release(This) \
  2403. (This)->lpVtbl -> Release(This)
  2404. #define IFolderFilterSite_SetFilter(This,punk) \
  2405. (This)->lpVtbl -> SetFilter(This,punk)
  2406. #endif /* COBJMACROS */
  2407. #endif /* C style interface */
  2408. HRESULT STDMETHODCALLTYPE IFolderFilterSite_SetFilter_Proxy(
  2409. IFolderFilterSite * This,
  2410. /* [in] */ IUnknown *punk);
  2411. void __RPC_STUB IFolderFilterSite_SetFilter_Stub(
  2412. IRpcStubBuffer *This,
  2413. IRpcChannelBuffer *_pRpcChannelBuffer,
  2414. PRPC_MESSAGE _pRpcMessage,
  2415. DWORD *_pdwStubPhase);
  2416. #endif /* __IFolderFilterSite_INTERFACE_DEFINED__ */
  2417. #ifndef __IFolderFilter_INTERFACE_DEFINED__
  2418. #define __IFolderFilter_INTERFACE_DEFINED__
  2419. /* interface IFolderFilter */
  2420. /* [unique][object][uuid][helpstring] */
  2421. EXTERN_C const IID IID_IFolderFilter;
  2422. #if defined(__cplusplus) && !defined(CINTERFACE)
  2423. MIDL_INTERFACE("9CC22886-DC8E-11d2-B1D0-00C04F8EEB3E")
  2424. IFolderFilter : public IUnknown
  2425. {
  2426. public:
  2427. virtual HRESULT STDMETHODCALLTYPE ShouldShow(
  2428. /* [in] */ IShellFolder *psf,
  2429. /* [in] */ LPCITEMIDLIST pidlFolder,
  2430. /* [in] */ LPCITEMIDLIST pidlItem) = 0;
  2431. virtual HRESULT STDMETHODCALLTYPE GetEnumFlags(
  2432. /* [in] */ IShellFolder *psf,
  2433. /* [in] */ LPCITEMIDLIST pidlFolder,
  2434. /* [in] */ HWND *phwnd,
  2435. /* [out] */ DWORD *pgrfFlags) = 0;
  2436. };
  2437. #else /* C style interface */
  2438. typedef struct IFolderFilterVtbl
  2439. {
  2440. BEGIN_INTERFACE
  2441. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2442. IFolderFilter * This,
  2443. /* [in] */ REFIID riid,
  2444. /* [iid_is][out] */ void **ppvObject);
  2445. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2446. IFolderFilter * This);
  2447. ULONG ( STDMETHODCALLTYPE *Release )(
  2448. IFolderFilter * This);
  2449. HRESULT ( STDMETHODCALLTYPE *ShouldShow )(
  2450. IFolderFilter * This,
  2451. /* [in] */ IShellFolder *psf,
  2452. /* [in] */ LPCITEMIDLIST pidlFolder,
  2453. /* [in] */ LPCITEMIDLIST pidlItem);
  2454. HRESULT ( STDMETHODCALLTYPE *GetEnumFlags )(
  2455. IFolderFilter * This,
  2456. /* [in] */ IShellFolder *psf,
  2457. /* [in] */ LPCITEMIDLIST pidlFolder,
  2458. /* [in] */ HWND *phwnd,
  2459. /* [out] */ DWORD *pgrfFlags);
  2460. END_INTERFACE
  2461. } IFolderFilterVtbl;
  2462. interface IFolderFilter
  2463. {
  2464. CONST_VTBL struct IFolderFilterVtbl *lpVtbl;
  2465. };
  2466. #ifdef COBJMACROS
  2467. #define IFolderFilter_QueryInterface(This,riid,ppvObject) \
  2468. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2469. #define IFolderFilter_AddRef(This) \
  2470. (This)->lpVtbl -> AddRef(This)
  2471. #define IFolderFilter_Release(This) \
  2472. (This)->lpVtbl -> Release(This)
  2473. #define IFolderFilter_ShouldShow(This,psf,pidlFolder,pidlItem) \
  2474. (This)->lpVtbl -> ShouldShow(This,psf,pidlFolder,pidlItem)
  2475. #define IFolderFilter_GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags) \
  2476. (This)->lpVtbl -> GetEnumFlags(This,psf,pidlFolder,phwnd,pgrfFlags)
  2477. #endif /* COBJMACROS */
  2478. #endif /* C style interface */
  2479. HRESULT STDMETHODCALLTYPE IFolderFilter_ShouldShow_Proxy(
  2480. IFolderFilter * This,
  2481. /* [in] */ IShellFolder *psf,
  2482. /* [in] */ LPCITEMIDLIST pidlFolder,
  2483. /* [in] */ LPCITEMIDLIST pidlItem);
  2484. void __RPC_STUB IFolderFilter_ShouldShow_Stub(
  2485. IRpcStubBuffer *This,
  2486. IRpcChannelBuffer *_pRpcChannelBuffer,
  2487. PRPC_MESSAGE _pRpcMessage,
  2488. DWORD *_pdwStubPhase);
  2489. HRESULT STDMETHODCALLTYPE IFolderFilter_GetEnumFlags_Proxy(
  2490. IFolderFilter * This,
  2491. /* [in] */ IShellFolder *psf,
  2492. /* [in] */ LPCITEMIDLIST pidlFolder,
  2493. /* [in] */ HWND *phwnd,
  2494. /* [out] */ DWORD *pgrfFlags);
  2495. void __RPC_STUB IFolderFilter_GetEnumFlags_Stub(
  2496. IRpcStubBuffer *This,
  2497. IRpcChannelBuffer *_pRpcChannelBuffer,
  2498. PRPC_MESSAGE _pRpcMessage,
  2499. DWORD *_pdwStubPhase);
  2500. #endif /* __IFolderFilter_INTERFACE_DEFINED__ */
  2501. /* interface __MIDL_itf_shobjidl_0203 */
  2502. /* [local] */
  2503. #define SBSP_DEFBROWSER 0x0000
  2504. #define SBSP_SAMEBROWSER 0x0001
  2505. #define SBSP_NEWBROWSER 0x0002
  2506. #define SBSP_DEFMODE 0x0000
  2507. #define SBSP_OPENMODE 0x0010
  2508. #define SBSP_EXPLOREMODE 0x0020
  2509. #define SBSP_HELPMODE 0x0040 // IEUNIX : Help window uses this.
  2510. #define SBSP_NOTRANSFERHIST 0x0080
  2511. #define SBSP_ABSOLUTE 0x0000
  2512. #define SBSP_RELATIVE 0x1000
  2513. #define SBSP_PARENT 0x2000
  2514. #define SBSP_NAVIGATEBACK 0x4000
  2515. #define SBSP_NAVIGATEFORWARD 0x8000
  2516. #define SBSP_ALLOW_AUTONAVIGATE 0x10000
  2517. #define SBSP_NOAUTOSELECT 0x04000000
  2518. #define SBSP_WRITENOHISTORY 0x08000000
  2519. #define SBSP_REDIRECT 0x40000000
  2520. #define SBSP_INITIATEDBYHLINKFRAME 0x80000000
  2521. #define FCW_STATUS 0x0001
  2522. #define FCW_TOOLBAR 0x0002
  2523. #define FCW_TREE 0x0003
  2524. #define FCW_INTERNETBAR 0x0006
  2525. #define FCW_PROGRESS 0x0008
  2526. #define FCT_MERGE 0x0001
  2527. #define FCT_CONFIGABLE 0x0002
  2528. #define FCT_ADDTOEND 0x0004
  2529. #ifdef _NEVER_
  2530. typedef LPARAM LPTBBUTTONSB;
  2531. #else //!_NEVER_
  2532. #include <commctrl.h>
  2533. typedef LPTBBUTTON LPTBBUTTONSB;
  2534. #endif //_NEVER_
  2535. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0203_v0_0_c_ifspec;
  2536. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0203_v0_0_s_ifspec;
  2537. #ifndef __IShellBrowser_INTERFACE_DEFINED__
  2538. #define __IShellBrowser_INTERFACE_DEFINED__
  2539. /* interface IShellBrowser */
  2540. /* [unique][object][uuid][helpstring] */
  2541. EXTERN_C const IID IID_IShellBrowser;
  2542. #if defined(__cplusplus) && !defined(CINTERFACE)
  2543. MIDL_INTERFACE("000214E2-0000-0000-C000-000000000046")
  2544. IShellBrowser : public IOleWindow
  2545. {
  2546. public:
  2547. virtual HRESULT STDMETHODCALLTYPE InsertMenusSB(
  2548. /* [in] */ HMENU hmenuShared,
  2549. /* [out][in] */ LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0;
  2550. virtual HRESULT STDMETHODCALLTYPE SetMenuSB(
  2551. /* [in] */ HMENU hmenuShared,
  2552. /* [in] */ HOLEMENU holemenuRes,
  2553. /* [in] */ HWND hwndActiveObject) = 0;
  2554. virtual HRESULT STDMETHODCALLTYPE RemoveMenusSB(
  2555. /* [in] */ HMENU hmenuShared) = 0;
  2556. virtual HRESULT STDMETHODCALLTYPE SetStatusTextSB(
  2557. /* [unique][in] */ LPCOLESTR pszStatusText) = 0;
  2558. virtual HRESULT STDMETHODCALLTYPE EnableModelessSB(
  2559. /* [in] */ BOOL fEnable) = 0;
  2560. virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorSB(
  2561. /* [in] */ MSG *pmsg,
  2562. /* [in] */ WORD wID) = 0;
  2563. virtual HRESULT STDMETHODCALLTYPE BrowseObject(
  2564. /* [in] */ LPCITEMIDLIST pidl,
  2565. /* [in] */ UINT wFlags) = 0;
  2566. virtual HRESULT STDMETHODCALLTYPE GetViewStateStream(
  2567. /* [in] */ DWORD grfMode,
  2568. /* [out] */ IStream **ppStrm) = 0;
  2569. virtual HRESULT STDMETHODCALLTYPE GetControlWindow(
  2570. /* [in] */ UINT id,
  2571. /* [out] */ HWND *phwnd) = 0;
  2572. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SendControlMsg(
  2573. /* [in] */ UINT id,
  2574. /* [in] */ UINT uMsg,
  2575. /* [in] */ WPARAM wParam,
  2576. /* [in] */ LPARAM lParam,
  2577. /* [in] */ LRESULT *pret) = 0;
  2578. virtual HRESULT STDMETHODCALLTYPE QueryActiveShellView(
  2579. /* [out] */ IShellView **ppshv) = 0;
  2580. virtual HRESULT STDMETHODCALLTYPE OnViewWindowActive(
  2581. /* [in] */ IShellView *pshv) = 0;
  2582. virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetToolbarItems(
  2583. /* [in] */ LPTBBUTTONSB lpButtons,
  2584. /* [in] */ UINT nButtons,
  2585. /* [in] */ UINT uFlags) = 0;
  2586. };
  2587. #else /* C style interface */
  2588. typedef struct IShellBrowserVtbl
  2589. {
  2590. BEGIN_INTERFACE
  2591. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2592. IShellBrowser * This,
  2593. /* [in] */ REFIID riid,
  2594. /* [iid_is][out] */ void **ppvObject);
  2595. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2596. IShellBrowser * This);
  2597. ULONG ( STDMETHODCALLTYPE *Release )(
  2598. IShellBrowser * This);
  2599. /* [input_sync] */ HRESULT ( STDMETHODCALLTYPE *GetWindow )(
  2600. IShellBrowser * This,
  2601. /* [out] */ HWND *phwnd);
  2602. HRESULT ( STDMETHODCALLTYPE *ContextSensitiveHelp )(
  2603. IShellBrowser * This,
  2604. /* [in] */ BOOL fEnterMode);
  2605. HRESULT ( STDMETHODCALLTYPE *InsertMenusSB )(
  2606. IShellBrowser * This,
  2607. /* [in] */ HMENU hmenuShared,
  2608. /* [out][in] */ LPOLEMENUGROUPWIDTHS lpMenuWidths);
  2609. HRESULT ( STDMETHODCALLTYPE *SetMenuSB )(
  2610. IShellBrowser * This,
  2611. /* [in] */ HMENU hmenuShared,
  2612. /* [in] */ HOLEMENU holemenuRes,
  2613. /* [in] */ HWND hwndActiveObject);
  2614. HRESULT ( STDMETHODCALLTYPE *RemoveMenusSB )(
  2615. IShellBrowser * This,
  2616. /* [in] */ HMENU hmenuShared);
  2617. HRESULT ( STDMETHODCALLTYPE *SetStatusTextSB )(
  2618. IShellBrowser * This,
  2619. /* [unique][in] */ LPCOLESTR pszStatusText);
  2620. HRESULT ( STDMETHODCALLTYPE *EnableModelessSB )(
  2621. IShellBrowser * This,
  2622. /* [in] */ BOOL fEnable);
  2623. HRESULT ( STDMETHODCALLTYPE *TranslateAcceleratorSB )(
  2624. IShellBrowser * This,
  2625. /* [in] */ MSG *pmsg,
  2626. /* [in] */ WORD wID);
  2627. HRESULT ( STDMETHODCALLTYPE *BrowseObject )(
  2628. IShellBrowser * This,
  2629. /* [in] */ LPCITEMIDLIST pidl,
  2630. /* [in] */ UINT wFlags);
  2631. HRESULT ( STDMETHODCALLTYPE *GetViewStateStream )(
  2632. IShellBrowser * This,
  2633. /* [in] */ DWORD grfMode,
  2634. /* [out] */ IStream **ppStrm);
  2635. HRESULT ( STDMETHODCALLTYPE *GetControlWindow )(
  2636. IShellBrowser * This,
  2637. /* [in] */ UINT id,
  2638. /* [out] */ HWND *phwnd);
  2639. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SendControlMsg )(
  2640. IShellBrowser * This,
  2641. /* [in] */ UINT id,
  2642. /* [in] */ UINT uMsg,
  2643. /* [in] */ WPARAM wParam,
  2644. /* [in] */ LPARAM lParam,
  2645. /* [in] */ LRESULT *pret);
  2646. HRESULT ( STDMETHODCALLTYPE *QueryActiveShellView )(
  2647. IShellBrowser * This,
  2648. /* [out] */ IShellView **ppshv);
  2649. HRESULT ( STDMETHODCALLTYPE *OnViewWindowActive )(
  2650. IShellBrowser * This,
  2651. /* [in] */ IShellView *pshv);
  2652. /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetToolbarItems )(
  2653. IShellBrowser * This,
  2654. /* [in] */ LPTBBUTTONSB lpButtons,
  2655. /* [in] */ UINT nButtons,
  2656. /* [in] */ UINT uFlags);
  2657. END_INTERFACE
  2658. } IShellBrowserVtbl;
  2659. interface IShellBrowser
  2660. {
  2661. CONST_VTBL struct IShellBrowserVtbl *lpVtbl;
  2662. };
  2663. #ifdef COBJMACROS
  2664. #define IShellBrowser_QueryInterface(This,riid,ppvObject) \
  2665. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2666. #define IShellBrowser_AddRef(This) \
  2667. (This)->lpVtbl -> AddRef(This)
  2668. #define IShellBrowser_Release(This) \
  2669. (This)->lpVtbl -> Release(This)
  2670. #define IShellBrowser_GetWindow(This,phwnd) \
  2671. (This)->lpVtbl -> GetWindow(This,phwnd)
  2672. #define IShellBrowser_ContextSensitiveHelp(This,fEnterMode) \
  2673. (This)->lpVtbl -> ContextSensitiveHelp(This,fEnterMode)
  2674. #define IShellBrowser_InsertMenusSB(This,hmenuShared,lpMenuWidths) \
  2675. (This)->lpVtbl -> InsertMenusSB(This,hmenuShared,lpMenuWidths)
  2676. #define IShellBrowser_SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject) \
  2677. (This)->lpVtbl -> SetMenuSB(This,hmenuShared,holemenuRes,hwndActiveObject)
  2678. #define IShellBrowser_RemoveMenusSB(This,hmenuShared) \
  2679. (This)->lpVtbl -> RemoveMenusSB(This,hmenuShared)
  2680. #define IShellBrowser_SetStatusTextSB(This,pszStatusText) \
  2681. (This)->lpVtbl -> SetStatusTextSB(This,pszStatusText)
  2682. #define IShellBrowser_EnableModelessSB(This,fEnable) \
  2683. (This)->lpVtbl -> EnableModelessSB(This,fEnable)
  2684. #define IShellBrowser_TranslateAcceleratorSB(This,pmsg,wID) \
  2685. (This)->lpVtbl -> TranslateAcceleratorSB(This,pmsg,wID)
  2686. #define IShellBrowser_BrowseObject(This,pidl,wFlags) \
  2687. (This)->lpVtbl -> BrowseObject(This,pidl,wFlags)
  2688. #define IShellBrowser_GetViewStateStream(This,grfMode,ppStrm) \
  2689. (This)->lpVtbl -> GetViewStateStream(This,grfMode,ppStrm)
  2690. #define IShellBrowser_GetControlWindow(This,id,phwnd) \
  2691. (This)->lpVtbl -> GetControlWindow(This,id,phwnd)
  2692. #define IShellBrowser_SendControlMsg(This,id,uMsg,wParam,lParam,pret) \
  2693. (This)->lpVtbl -> SendControlMsg(This,id,uMsg,wParam,lParam,pret)
  2694. #define IShellBrowser_QueryActiveShellView(This,ppshv) \
  2695. (This)->lpVtbl -> QueryActiveShellView(This,ppshv)
  2696. #define IShellBrowser_OnViewWindowActive(This,pshv) \
  2697. (This)->lpVtbl -> OnViewWindowActive(This,pshv)
  2698. #define IShellBrowser_SetToolbarItems(This,lpButtons,nButtons,uFlags) \
  2699. (This)->lpVtbl -> SetToolbarItems(This,lpButtons,nButtons,uFlags)
  2700. #endif /* COBJMACROS */
  2701. #endif /* C style interface */
  2702. HRESULT STDMETHODCALLTYPE IShellBrowser_InsertMenusSB_Proxy(
  2703. IShellBrowser * This,
  2704. /* [in] */ HMENU hmenuShared,
  2705. /* [out][in] */ LPOLEMENUGROUPWIDTHS lpMenuWidths);
  2706. void __RPC_STUB IShellBrowser_InsertMenusSB_Stub(
  2707. IRpcStubBuffer *This,
  2708. IRpcChannelBuffer *_pRpcChannelBuffer,
  2709. PRPC_MESSAGE _pRpcMessage,
  2710. DWORD *_pdwStubPhase);
  2711. HRESULT STDMETHODCALLTYPE IShellBrowser_SetMenuSB_Proxy(
  2712. IShellBrowser * This,
  2713. /* [in] */ HMENU hmenuShared,
  2714. /* [in] */ HOLEMENU holemenuRes,
  2715. /* [in] */ HWND hwndActiveObject);
  2716. void __RPC_STUB IShellBrowser_SetMenuSB_Stub(
  2717. IRpcStubBuffer *This,
  2718. IRpcChannelBuffer *_pRpcChannelBuffer,
  2719. PRPC_MESSAGE _pRpcMessage,
  2720. DWORD *_pdwStubPhase);
  2721. HRESULT STDMETHODCALLTYPE IShellBrowser_RemoveMenusSB_Proxy(
  2722. IShellBrowser * This,
  2723. /* [in] */ HMENU hmenuShared);
  2724. void __RPC_STUB IShellBrowser_RemoveMenusSB_Stub(
  2725. IRpcStubBuffer *This,
  2726. IRpcChannelBuffer *_pRpcChannelBuffer,
  2727. PRPC_MESSAGE _pRpcMessage,
  2728. DWORD *_pdwStubPhase);
  2729. HRESULT STDMETHODCALLTYPE IShellBrowser_SetStatusTextSB_Proxy(
  2730. IShellBrowser * This,
  2731. /* [unique][in] */ LPCOLESTR pszStatusText);
  2732. void __RPC_STUB IShellBrowser_SetStatusTextSB_Stub(
  2733. IRpcStubBuffer *This,
  2734. IRpcChannelBuffer *_pRpcChannelBuffer,
  2735. PRPC_MESSAGE _pRpcMessage,
  2736. DWORD *_pdwStubPhase);
  2737. HRESULT STDMETHODCALLTYPE IShellBrowser_EnableModelessSB_Proxy(
  2738. IShellBrowser * This,
  2739. /* [in] */ BOOL fEnable);
  2740. void __RPC_STUB IShellBrowser_EnableModelessSB_Stub(
  2741. IRpcStubBuffer *This,
  2742. IRpcChannelBuffer *_pRpcChannelBuffer,
  2743. PRPC_MESSAGE _pRpcMessage,
  2744. DWORD *_pdwStubPhase);
  2745. HRESULT STDMETHODCALLTYPE IShellBrowser_TranslateAcceleratorSB_Proxy(
  2746. IShellBrowser * This,
  2747. /* [in] */ MSG *pmsg,
  2748. /* [in] */ WORD wID);
  2749. void __RPC_STUB IShellBrowser_TranslateAcceleratorSB_Stub(
  2750. IRpcStubBuffer *This,
  2751. IRpcChannelBuffer *_pRpcChannelBuffer,
  2752. PRPC_MESSAGE _pRpcMessage,
  2753. DWORD *_pdwStubPhase);
  2754. HRESULT STDMETHODCALLTYPE IShellBrowser_BrowseObject_Proxy(
  2755. IShellBrowser * This,
  2756. /* [in] */ LPCITEMIDLIST pidl,
  2757. /* [in] */ UINT wFlags);
  2758. void __RPC_STUB IShellBrowser_BrowseObject_Stub(
  2759. IRpcStubBuffer *This,
  2760. IRpcChannelBuffer *_pRpcChannelBuffer,
  2761. PRPC_MESSAGE _pRpcMessage,
  2762. DWORD *_pdwStubPhase);
  2763. HRESULT STDMETHODCALLTYPE IShellBrowser_GetViewStateStream_Proxy(
  2764. IShellBrowser * This,
  2765. /* [in] */ DWORD grfMode,
  2766. /* [out] */ IStream **ppStrm);
  2767. void __RPC_STUB IShellBrowser_GetViewStateStream_Stub(
  2768. IRpcStubBuffer *This,
  2769. IRpcChannelBuffer *_pRpcChannelBuffer,
  2770. PRPC_MESSAGE _pRpcMessage,
  2771. DWORD *_pdwStubPhase);
  2772. HRESULT STDMETHODCALLTYPE IShellBrowser_GetControlWindow_Proxy(
  2773. IShellBrowser * This,
  2774. /* [in] */ UINT id,
  2775. /* [out] */ HWND *phwnd);
  2776. void __RPC_STUB IShellBrowser_GetControlWindow_Stub(
  2777. IRpcStubBuffer *This,
  2778. IRpcChannelBuffer *_pRpcChannelBuffer,
  2779. PRPC_MESSAGE _pRpcMessage,
  2780. DWORD *_pdwStubPhase);
  2781. /* [local] */ HRESULT STDMETHODCALLTYPE IShellBrowser_SendControlMsg_Proxy(
  2782. IShellBrowser * This,
  2783. /* [in] */ UINT id,
  2784. /* [in] */ UINT uMsg,
  2785. /* [in] */ WPARAM wParam,
  2786. /* [in] */ LPARAM lParam,
  2787. /* [in] */ LRESULT *pret);
  2788. void __RPC_STUB IShellBrowser_SendControlMsg_Stub(
  2789. IRpcStubBuffer *This,
  2790. IRpcChannelBuffer *_pRpcChannelBuffer,
  2791. PRPC_MESSAGE _pRpcMessage,
  2792. DWORD *_pdwStubPhase);
  2793. HRESULT STDMETHODCALLTYPE IShellBrowser_QueryActiveShellView_Proxy(
  2794. IShellBrowser * This,
  2795. /* [out] */ IShellView **ppshv);
  2796. void __RPC_STUB IShellBrowser_QueryActiveShellView_Stub(
  2797. IRpcStubBuffer *This,
  2798. IRpcChannelBuffer *_pRpcChannelBuffer,
  2799. PRPC_MESSAGE _pRpcMessage,
  2800. DWORD *_pdwStubPhase);
  2801. HRESULT STDMETHODCALLTYPE IShellBrowser_OnViewWindowActive_Proxy(
  2802. IShellBrowser * This,
  2803. /* [in] */ IShellView *pshv);
  2804. void __RPC_STUB IShellBrowser_OnViewWindowActive_Stub(
  2805. IRpcStubBuffer *This,
  2806. IRpcChannelBuffer *_pRpcChannelBuffer,
  2807. PRPC_MESSAGE _pRpcMessage,
  2808. DWORD *_pdwStubPhase);
  2809. /* [local] */ HRESULT STDMETHODCALLTYPE IShellBrowser_SetToolbarItems_Proxy(
  2810. IShellBrowser * This,
  2811. /* [in] */ LPTBBUTTONSB lpButtons,
  2812. /* [in] */ UINT nButtons,
  2813. /* [in] */ UINT uFlags);
  2814. void __RPC_STUB IShellBrowser_SetToolbarItems_Stub(
  2815. IRpcStubBuffer *This,
  2816. IRpcChannelBuffer *_pRpcChannelBuffer,
  2817. PRPC_MESSAGE _pRpcMessage,
  2818. DWORD *_pdwStubPhase);
  2819. #endif /* __IShellBrowser_INTERFACE_DEFINED__ */
  2820. /* interface __MIDL_itf_shobjidl_0204 */
  2821. /* [local] */
  2822. typedef IShellBrowser *LPSHELLBROWSER;
  2823. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0204_v0_0_c_ifspec;
  2824. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0204_v0_0_s_ifspec;
  2825. #ifndef __IProfferService_INTERFACE_DEFINED__
  2826. #define __IProfferService_INTERFACE_DEFINED__
  2827. /* interface IProfferService */
  2828. /* [unique][object][uuid][helpstring] */
  2829. EXTERN_C const IID IID_IProfferService;
  2830. #if defined(__cplusplus) && !defined(CINTERFACE)
  2831. MIDL_INTERFACE("cb728b20-f786-11ce-92ad-00aa00a74cd0")
  2832. IProfferService : public IUnknown
  2833. {
  2834. public:
  2835. virtual HRESULT STDMETHODCALLTYPE ProfferService(
  2836. /* [in] */ REFGUID rguidService,
  2837. /* [in] */ IServiceProvider *psp,
  2838. /* [out] */ DWORD *pdwCookie) = 0;
  2839. virtual HRESULT STDMETHODCALLTYPE RevokeService(
  2840. /* [in] */ DWORD dwCookie) = 0;
  2841. };
  2842. #else /* C style interface */
  2843. typedef struct IProfferServiceVtbl
  2844. {
  2845. BEGIN_INTERFACE
  2846. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2847. IProfferService * This,
  2848. /* [in] */ REFIID riid,
  2849. /* [iid_is][out] */ void **ppvObject);
  2850. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2851. IProfferService * This);
  2852. ULONG ( STDMETHODCALLTYPE *Release )(
  2853. IProfferService * This);
  2854. HRESULT ( STDMETHODCALLTYPE *ProfferService )(
  2855. IProfferService * This,
  2856. /* [in] */ REFGUID rguidService,
  2857. /* [in] */ IServiceProvider *psp,
  2858. /* [out] */ DWORD *pdwCookie);
  2859. HRESULT ( STDMETHODCALLTYPE *RevokeService )(
  2860. IProfferService * This,
  2861. /* [in] */ DWORD dwCookie);
  2862. END_INTERFACE
  2863. } IProfferServiceVtbl;
  2864. interface IProfferService
  2865. {
  2866. CONST_VTBL struct IProfferServiceVtbl *lpVtbl;
  2867. };
  2868. #ifdef COBJMACROS
  2869. #define IProfferService_QueryInterface(This,riid,ppvObject) \
  2870. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2871. #define IProfferService_AddRef(This) \
  2872. (This)->lpVtbl -> AddRef(This)
  2873. #define IProfferService_Release(This) \
  2874. (This)->lpVtbl -> Release(This)
  2875. #define IProfferService_ProfferService(This,rguidService,psp,pdwCookie) \
  2876. (This)->lpVtbl -> ProfferService(This,rguidService,psp,pdwCookie)
  2877. #define IProfferService_RevokeService(This,dwCookie) \
  2878. (This)->lpVtbl -> RevokeService(This,dwCookie)
  2879. #endif /* COBJMACROS */
  2880. #endif /* C style interface */
  2881. HRESULT STDMETHODCALLTYPE IProfferService_ProfferService_Proxy(
  2882. IProfferService * This,
  2883. /* [in] */ REFGUID rguidService,
  2884. /* [in] */ IServiceProvider *psp,
  2885. /* [out] */ DWORD *pdwCookie);
  2886. void __RPC_STUB IProfferService_ProfferService_Stub(
  2887. IRpcStubBuffer *This,
  2888. IRpcChannelBuffer *_pRpcChannelBuffer,
  2889. PRPC_MESSAGE _pRpcMessage,
  2890. DWORD *_pdwStubPhase);
  2891. HRESULT STDMETHODCALLTYPE IProfferService_RevokeService_Proxy(
  2892. IProfferService * This,
  2893. /* [in] */ DWORD dwCookie);
  2894. void __RPC_STUB IProfferService_RevokeService_Stub(
  2895. IRpcStubBuffer *This,
  2896. IRpcChannelBuffer *_pRpcChannelBuffer,
  2897. PRPC_MESSAGE _pRpcMessage,
  2898. DWORD *_pdwStubPhase);
  2899. #endif /* __IProfferService_INTERFACE_DEFINED__ */
  2900. /* interface __MIDL_itf_shobjidl_0205 */
  2901. /* [local] */
  2902. #define SID_SProfferService IID_IProfferService // nearest service that you can proffer to
  2903. typedef /* [public][public][v1_enum] */
  2904. enum __MIDL___MIDL_itf_shobjidl_0205_0001
  2905. { PUIFNF_DEFAULT = 0,
  2906. PUIFNF_MNEMONIC = 0x1
  2907. } PROPERTYUI_NAME_FLAGS;
  2908. typedef /* [public][public][v1_enum] */
  2909. enum __MIDL___MIDL_itf_shobjidl_0205_0002
  2910. { PUIF_DEFAULT = 0,
  2911. PUIF_RIGHTALIGN = 0x1,
  2912. PUIF_NOLABELININFOTIP = 0x2
  2913. } PROPERTYUI_FLAGS;
  2914. typedef /* [public][public][v1_enum] */
  2915. enum __MIDL___MIDL_itf_shobjidl_0205_0003
  2916. { PUIFFDF_DEFAULT = 0,
  2917. PUIFFDF_RIGHTTOLEFT = 0x1,
  2918. PUIFFDF_SHORTFORMAT = 0x2,
  2919. PUIFFDF_NOTIME = 0x4,
  2920. PUIFFDF_FRIENDLYDATE = 0x8,
  2921. PUIFFDF_NOUNITS = 0x10
  2922. } PROPERTYUI_FORMAT_FLAGS;
  2923. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0205_v0_0_c_ifspec;
  2924. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0205_v0_0_s_ifspec;
  2925. #ifndef __IPropertyUI_INTERFACE_DEFINED__
  2926. #define __IPropertyUI_INTERFACE_DEFINED__
  2927. /* interface IPropertyUI */
  2928. /* [unique][object][uuid][helpstring] */
  2929. EXTERN_C const IID IID_IPropertyUI;
  2930. #if defined(__cplusplus) && !defined(CINTERFACE)
  2931. MIDL_INTERFACE("757a7d9f-919a-4118-99d7-dbb208c8cc66")
  2932. IPropertyUI : public IUnknown
  2933. {
  2934. public:
  2935. virtual HRESULT STDMETHODCALLTYPE ParsePropertyName(
  2936. /* [in] */ LPCWSTR pszName,
  2937. /* [out] */ FMTID *pfmtid,
  2938. /* [out] */ PROPID *ppid,
  2939. /* [out][in] */ ULONG *pchEaten) = 0;
  2940. virtual HRESULT STDMETHODCALLTYPE GetCannonicalName(
  2941. /* [in] */ REFFMTID fmtid,
  2942. /* [in] */ PROPID pid,
  2943. /* [size_is][out] */ LPWSTR pwszText,
  2944. /* [in] */ DWORD cchText) = 0;
  2945. virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
  2946. /* [in] */ REFFMTID fmtid,
  2947. /* [in] */ PROPID pid,
  2948. /* [in] */ PROPERTYUI_NAME_FLAGS flags,
  2949. /* [size_is][out] */ LPWSTR pwszText,
  2950. /* [in] */ DWORD cchText) = 0;
  2951. virtual HRESULT STDMETHODCALLTYPE GetPropertyDescription(
  2952. /* [in] */ REFFMTID fmtid,
  2953. /* [in] */ PROPID pid,
  2954. /* [size_is][out] */ LPWSTR pwszText,
  2955. /* [in] */ DWORD cchText) = 0;
  2956. virtual HRESULT STDMETHODCALLTYPE GetDefaultWidth(
  2957. /* [in] */ REFFMTID fmtid,
  2958. /* [in] */ PROPID pid,
  2959. /* [out] */ ULONG *pcxChars) = 0;
  2960. virtual HRESULT STDMETHODCALLTYPE GetFlags(
  2961. /* [in] */ REFFMTID fmtid,
  2962. /* [in] */ PROPID pid,
  2963. /* [out] */ PROPERTYUI_FLAGS *pFlags) = 0;
  2964. virtual HRESULT STDMETHODCALLTYPE FormatForDisplay(
  2965. /* [in] */ REFFMTID fmtid,
  2966. /* [in] */ PROPID pid,
  2967. /* [in] */ const PROPVARIANT *pvar,
  2968. /* [in] */ PROPERTYUI_FORMAT_FLAGS flags,
  2969. /* [size_is][out] */ LPWSTR pwszText,
  2970. /* [in] */ DWORD cchText) = 0;
  2971. virtual HRESULT STDMETHODCALLTYPE GetHelpInfo(
  2972. /* [in] */ REFFMTID fmtid,
  2973. /* [in] */ PROPID pid,
  2974. /* [size_is][out] */ LPWSTR pwszHelpFile,
  2975. /* [in] */ DWORD cch,
  2976. /* [out] */ UINT *puHelpID) = 0;
  2977. };
  2978. #else /* C style interface */
  2979. typedef struct IPropertyUIVtbl
  2980. {
  2981. BEGIN_INTERFACE
  2982. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2983. IPropertyUI * This,
  2984. /* [in] */ REFIID riid,
  2985. /* [iid_is][out] */ void **ppvObject);
  2986. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2987. IPropertyUI * This);
  2988. ULONG ( STDMETHODCALLTYPE *Release )(
  2989. IPropertyUI * This);
  2990. HRESULT ( STDMETHODCALLTYPE *ParsePropertyName )(
  2991. IPropertyUI * This,
  2992. /* [in] */ LPCWSTR pszName,
  2993. /* [out] */ FMTID *pfmtid,
  2994. /* [out] */ PROPID *ppid,
  2995. /* [out][in] */ ULONG *pchEaten);
  2996. HRESULT ( STDMETHODCALLTYPE *GetCannonicalName )(
  2997. IPropertyUI * This,
  2998. /* [in] */ REFFMTID fmtid,
  2999. /* [in] */ PROPID pid,
  3000. /* [size_is][out] */ LPWSTR pwszText,
  3001. /* [in] */ DWORD cchText);
  3002. HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
  3003. IPropertyUI * This,
  3004. /* [in] */ REFFMTID fmtid,
  3005. /* [in] */ PROPID pid,
  3006. /* [in] */ PROPERTYUI_NAME_FLAGS flags,
  3007. /* [size_is][out] */ LPWSTR pwszText,
  3008. /* [in] */ DWORD cchText);
  3009. HRESULT ( STDMETHODCALLTYPE *GetPropertyDescription )(
  3010. IPropertyUI * This,
  3011. /* [in] */ REFFMTID fmtid,
  3012. /* [in] */ PROPID pid,
  3013. /* [size_is][out] */ LPWSTR pwszText,
  3014. /* [in] */ DWORD cchText);
  3015. HRESULT ( STDMETHODCALLTYPE *GetDefaultWidth )(
  3016. IPropertyUI * This,
  3017. /* [in] */ REFFMTID fmtid,
  3018. /* [in] */ PROPID pid,
  3019. /* [out] */ ULONG *pcxChars);
  3020. HRESULT ( STDMETHODCALLTYPE *GetFlags )(
  3021. IPropertyUI * This,
  3022. /* [in] */ REFFMTID fmtid,
  3023. /* [in] */ PROPID pid,
  3024. /* [out] */ PROPERTYUI_FLAGS *pFlags);
  3025. HRESULT ( STDMETHODCALLTYPE *FormatForDisplay )(
  3026. IPropertyUI * This,
  3027. /* [in] */ REFFMTID fmtid,
  3028. /* [in] */ PROPID pid,
  3029. /* [in] */ const PROPVARIANT *pvar,
  3030. /* [in] */ PROPERTYUI_FORMAT_FLAGS flags,
  3031. /* [size_is][out] */ LPWSTR pwszText,
  3032. /* [in] */ DWORD cchText);
  3033. HRESULT ( STDMETHODCALLTYPE *GetHelpInfo )(
  3034. IPropertyUI * This,
  3035. /* [in] */ REFFMTID fmtid,
  3036. /* [in] */ PROPID pid,
  3037. /* [size_is][out] */ LPWSTR pwszHelpFile,
  3038. /* [in] */ DWORD cch,
  3039. /* [out] */ UINT *puHelpID);
  3040. END_INTERFACE
  3041. } IPropertyUIVtbl;
  3042. interface IPropertyUI
  3043. {
  3044. CONST_VTBL struct IPropertyUIVtbl *lpVtbl;
  3045. };
  3046. #ifdef COBJMACROS
  3047. #define IPropertyUI_QueryInterface(This,riid,ppvObject) \
  3048. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3049. #define IPropertyUI_AddRef(This) \
  3050. (This)->lpVtbl -> AddRef(This)
  3051. #define IPropertyUI_Release(This) \
  3052. (This)->lpVtbl -> Release(This)
  3053. #define IPropertyUI_ParsePropertyName(This,pszName,pfmtid,ppid,pchEaten) \
  3054. (This)->lpVtbl -> ParsePropertyName(This,pszName,pfmtid,ppid,pchEaten)
  3055. #define IPropertyUI_GetCannonicalName(This,fmtid,pid,pwszText,cchText) \
  3056. (This)->lpVtbl -> GetCannonicalName(This,fmtid,pid,pwszText,cchText)
  3057. #define IPropertyUI_GetDisplayName(This,fmtid,pid,flags,pwszText,cchText) \
  3058. (This)->lpVtbl -> GetDisplayName(This,fmtid,pid,flags,pwszText,cchText)
  3059. #define IPropertyUI_GetPropertyDescription(This,fmtid,pid,pwszText,cchText) \
  3060. (This)->lpVtbl -> GetPropertyDescription(This,fmtid,pid,pwszText,cchText)
  3061. #define IPropertyUI_GetDefaultWidth(This,fmtid,pid,pcxChars) \
  3062. (This)->lpVtbl -> GetDefaultWidth(This,fmtid,pid,pcxChars)
  3063. #define IPropertyUI_GetFlags(This,fmtid,pid,pFlags) \
  3064. (This)->lpVtbl -> GetFlags(This,fmtid,pid,pFlags)
  3065. #define IPropertyUI_FormatForDisplay(This,fmtid,pid,pvar,flags,pwszText,cchText) \
  3066. (This)->lpVtbl -> FormatForDisplay(This,fmtid,pid,pvar,flags,pwszText,cchText)
  3067. #define IPropertyUI_GetHelpInfo(This,fmtid,pid,pwszHelpFile,cch,puHelpID) \
  3068. (This)->lpVtbl -> GetHelpInfo(This,fmtid,pid,pwszHelpFile,cch,puHelpID)
  3069. #endif /* COBJMACROS */
  3070. #endif /* C style interface */
  3071. HRESULT STDMETHODCALLTYPE IPropertyUI_ParsePropertyName_Proxy(
  3072. IPropertyUI * This,
  3073. /* [in] */ LPCWSTR pszName,
  3074. /* [out] */ FMTID *pfmtid,
  3075. /* [out] */ PROPID *ppid,
  3076. /* [out][in] */ ULONG *pchEaten);
  3077. void __RPC_STUB IPropertyUI_ParsePropertyName_Stub(
  3078. IRpcStubBuffer *This,
  3079. IRpcChannelBuffer *_pRpcChannelBuffer,
  3080. PRPC_MESSAGE _pRpcMessage,
  3081. DWORD *_pdwStubPhase);
  3082. HRESULT STDMETHODCALLTYPE IPropertyUI_GetCannonicalName_Proxy(
  3083. IPropertyUI * This,
  3084. /* [in] */ REFFMTID fmtid,
  3085. /* [in] */ PROPID pid,
  3086. /* [size_is][out] */ LPWSTR pwszText,
  3087. /* [in] */ DWORD cchText);
  3088. void __RPC_STUB IPropertyUI_GetCannonicalName_Stub(
  3089. IRpcStubBuffer *This,
  3090. IRpcChannelBuffer *_pRpcChannelBuffer,
  3091. PRPC_MESSAGE _pRpcMessage,
  3092. DWORD *_pdwStubPhase);
  3093. HRESULT STDMETHODCALLTYPE IPropertyUI_GetDisplayName_Proxy(
  3094. IPropertyUI * This,
  3095. /* [in] */ REFFMTID fmtid,
  3096. /* [in] */ PROPID pid,
  3097. /* [in] */ PROPERTYUI_NAME_FLAGS flags,
  3098. /* [size_is][out] */ LPWSTR pwszText,
  3099. /* [in] */ DWORD cchText);
  3100. void __RPC_STUB IPropertyUI_GetDisplayName_Stub(
  3101. IRpcStubBuffer *This,
  3102. IRpcChannelBuffer *_pRpcChannelBuffer,
  3103. PRPC_MESSAGE _pRpcMessage,
  3104. DWORD *_pdwStubPhase);
  3105. HRESULT STDMETHODCALLTYPE IPropertyUI_GetPropertyDescription_Proxy(
  3106. IPropertyUI * This,
  3107. /* [in] */ REFFMTID fmtid,
  3108. /* [in] */ PROPID pid,
  3109. /* [size_is][out] */ LPWSTR pwszText,
  3110. /* [in] */ DWORD cchText);
  3111. void __RPC_STUB IPropertyUI_GetPropertyDescription_Stub(
  3112. IRpcStubBuffer *This,
  3113. IRpcChannelBuffer *_pRpcChannelBuffer,
  3114. PRPC_MESSAGE _pRpcMessage,
  3115. DWORD *_pdwStubPhase);
  3116. HRESULT STDMETHODCALLTYPE IPropertyUI_GetDefaultWidth_Proxy(
  3117. IPropertyUI * This,
  3118. /* [in] */ REFFMTID fmtid,
  3119. /* [in] */ PROPID pid,
  3120. /* [out] */ ULONG *pcxChars);
  3121. void __RPC_STUB IPropertyUI_GetDefaultWidth_Stub(
  3122. IRpcStubBuffer *This,
  3123. IRpcChannelBuffer *_pRpcChannelBuffer,
  3124. PRPC_MESSAGE _pRpcMessage,
  3125. DWORD *_pdwStubPhase);
  3126. HRESULT STDMETHODCALLTYPE IPropertyUI_GetFlags_Proxy(
  3127. IPropertyUI * This,
  3128. /* [in] */ REFFMTID fmtid,
  3129. /* [in] */ PROPID pid,
  3130. /* [out] */ PROPERTYUI_FLAGS *pFlags);
  3131. void __RPC_STUB IPropertyUI_GetFlags_Stub(
  3132. IRpcStubBuffer *This,
  3133. IRpcChannelBuffer *_pRpcChannelBuffer,
  3134. PRPC_MESSAGE _pRpcMessage,
  3135. DWORD *_pdwStubPhase);
  3136. HRESULT STDMETHODCALLTYPE IPropertyUI_FormatForDisplay_Proxy(
  3137. IPropertyUI * This,
  3138. /* [in] */ REFFMTID fmtid,
  3139. /* [in] */ PROPID pid,
  3140. /* [in] */ const PROPVARIANT *pvar,
  3141. /* [in] */ PROPERTYUI_FORMAT_FLAGS flags,
  3142. /* [size_is][out] */ LPWSTR pwszText,
  3143. /* [in] */ DWORD cchText);
  3144. void __RPC_STUB IPropertyUI_FormatForDisplay_Stub(
  3145. IRpcStubBuffer *This,
  3146. IRpcChannelBuffer *_pRpcChannelBuffer,
  3147. PRPC_MESSAGE _pRpcMessage,
  3148. DWORD *_pdwStubPhase);
  3149. HRESULT STDMETHODCALLTYPE IPropertyUI_GetHelpInfo_Proxy(
  3150. IPropertyUI * This,
  3151. /* [in] */ REFFMTID fmtid,
  3152. /* [in] */ PROPID pid,
  3153. /* [size_is][out] */ LPWSTR pwszHelpFile,
  3154. /* [in] */ DWORD cch,
  3155. /* [out] */ UINT *puHelpID);
  3156. void __RPC_STUB IPropertyUI_GetHelpInfo_Stub(
  3157. IRpcStubBuffer *This,
  3158. IRpcChannelBuffer *_pRpcChannelBuffer,
  3159. PRPC_MESSAGE _pRpcMessage,
  3160. DWORD *_pdwStubPhase);
  3161. #endif /* __IPropertyUI_INTERFACE_DEFINED__ */
  3162. /* interface __MIDL_itf_shobjidl_0206 */
  3163. /* [local] */
  3164. #if (_WIN32_IE >= 0x0500)
  3165. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0206_v0_0_c_ifspec;
  3166. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0206_v0_0_s_ifspec;
  3167. #ifndef __ICategoryProvider_INTERFACE_DEFINED__
  3168. #define __ICategoryProvider_INTERFACE_DEFINED__
  3169. /* interface ICategoryProvider */
  3170. /* [unique][object][uuid][helpstring] */
  3171. EXTERN_C const IID IID_ICategoryProvider;
  3172. #if defined(__cplusplus) && !defined(CINTERFACE)
  3173. MIDL_INTERFACE("9af64809-5864-4c26-a720-c1f78c086ee3")
  3174. ICategoryProvider : public IUnknown
  3175. {
  3176. public:
  3177. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CanCategorizeOnSCID(
  3178. SHCOLUMNID *pscid) = 0;
  3179. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDefaultCategory(
  3180. GUID *pguid,
  3181. SHCOLUMNID *pscid) = 0;
  3182. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCategoryForSCID(
  3183. SHCOLUMNID *pscid,
  3184. GUID *pguid) = 0;
  3185. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EnumCategories(
  3186. IEnumGUID **penum) = 0;
  3187. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCategoryName(
  3188. GUID *pguid,
  3189. LPWSTR pszName,
  3190. UINT cch) = 0;
  3191. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateCategory(
  3192. GUID *pguid,
  3193. REFIID riid,
  3194. /* [iid_is] */ void **ppv) = 0;
  3195. };
  3196. #else /* C style interface */
  3197. typedef struct ICategoryProviderVtbl
  3198. {
  3199. BEGIN_INTERFACE
  3200. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3201. ICategoryProvider * This,
  3202. /* [in] */ REFIID riid,
  3203. /* [iid_is][out] */ void **ppvObject);
  3204. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3205. ICategoryProvider * This);
  3206. ULONG ( STDMETHODCALLTYPE *Release )(
  3207. ICategoryProvider * This);
  3208. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CanCategorizeOnSCID )(
  3209. ICategoryProvider * This,
  3210. SHCOLUMNID *pscid);
  3211. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDefaultCategory )(
  3212. ICategoryProvider * This,
  3213. GUID *pguid,
  3214. SHCOLUMNID *pscid);
  3215. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCategoryForSCID )(
  3216. ICategoryProvider * This,
  3217. SHCOLUMNID *pscid,
  3218. GUID *pguid);
  3219. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *EnumCategories )(
  3220. ICategoryProvider * This,
  3221. IEnumGUID **penum);
  3222. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCategoryName )(
  3223. ICategoryProvider * This,
  3224. GUID *pguid,
  3225. LPWSTR pszName,
  3226. UINT cch);
  3227. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CreateCategory )(
  3228. ICategoryProvider * This,
  3229. GUID *pguid,
  3230. REFIID riid,
  3231. /* [iid_is] */ void **ppv);
  3232. END_INTERFACE
  3233. } ICategoryProviderVtbl;
  3234. interface ICategoryProvider
  3235. {
  3236. CONST_VTBL struct ICategoryProviderVtbl *lpVtbl;
  3237. };
  3238. #ifdef COBJMACROS
  3239. #define ICategoryProvider_QueryInterface(This,riid,ppvObject) \
  3240. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3241. #define ICategoryProvider_AddRef(This) \
  3242. (This)->lpVtbl -> AddRef(This)
  3243. #define ICategoryProvider_Release(This) \
  3244. (This)->lpVtbl -> Release(This)
  3245. #define ICategoryProvider_CanCategorizeOnSCID(This,pscid) \
  3246. (This)->lpVtbl -> CanCategorizeOnSCID(This,pscid)
  3247. #define ICategoryProvider_GetDefaultCategory(This,pguid,pscid) \
  3248. (This)->lpVtbl -> GetDefaultCategory(This,pguid,pscid)
  3249. #define ICategoryProvider_GetCategoryForSCID(This,pscid,pguid) \
  3250. (This)->lpVtbl -> GetCategoryForSCID(This,pscid,pguid)
  3251. #define ICategoryProvider_EnumCategories(This,penum) \
  3252. (This)->lpVtbl -> EnumCategories(This,penum)
  3253. #define ICategoryProvider_GetCategoryName(This,pguid,pszName,cch) \
  3254. (This)->lpVtbl -> GetCategoryName(This,pguid,pszName,cch)
  3255. #define ICategoryProvider_CreateCategory(This,pguid,riid,ppv) \
  3256. (This)->lpVtbl -> CreateCategory(This,pguid,riid,ppv)
  3257. #endif /* COBJMACROS */
  3258. #endif /* C style interface */
  3259. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ICategoryProvider_CanCategorizeOnSCID_Proxy(
  3260. ICategoryProvider * This,
  3261. SHCOLUMNID *pscid);
  3262. void __RPC_STUB ICategoryProvider_CanCategorizeOnSCID_Stub(
  3263. IRpcStubBuffer *This,
  3264. IRpcChannelBuffer *_pRpcChannelBuffer,
  3265. PRPC_MESSAGE _pRpcMessage,
  3266. DWORD *_pdwStubPhase);
  3267. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ICategoryProvider_GetDefaultCategory_Proxy(
  3268. ICategoryProvider * This,
  3269. GUID *pguid,
  3270. SHCOLUMNID *pscid);
  3271. void __RPC_STUB ICategoryProvider_GetDefaultCategory_Stub(
  3272. IRpcStubBuffer *This,
  3273. IRpcChannelBuffer *_pRpcChannelBuffer,
  3274. PRPC_MESSAGE _pRpcMessage,
  3275. DWORD *_pdwStubPhase);
  3276. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ICategoryProvider_GetCategoryForSCID_Proxy(
  3277. ICategoryProvider * This,
  3278. SHCOLUMNID *pscid,
  3279. GUID *pguid);
  3280. void __RPC_STUB ICategoryProvider_GetCategoryForSCID_Stub(
  3281. IRpcStubBuffer *This,
  3282. IRpcChannelBuffer *_pRpcChannelBuffer,
  3283. PRPC_MESSAGE _pRpcMessage,
  3284. DWORD *_pdwStubPhase);
  3285. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ICategoryProvider_EnumCategories_Proxy(
  3286. ICategoryProvider * This,
  3287. IEnumGUID **penum);
  3288. void __RPC_STUB ICategoryProvider_EnumCategories_Stub(
  3289. IRpcStubBuffer *This,
  3290. IRpcChannelBuffer *_pRpcChannelBuffer,
  3291. PRPC_MESSAGE _pRpcMessage,
  3292. DWORD *_pdwStubPhase);
  3293. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ICategoryProvider_GetCategoryName_Proxy(
  3294. ICategoryProvider * This,
  3295. GUID *pguid,
  3296. LPWSTR pszName,
  3297. UINT cch);
  3298. void __RPC_STUB ICategoryProvider_GetCategoryName_Stub(
  3299. IRpcStubBuffer *This,
  3300. IRpcChannelBuffer *_pRpcChannelBuffer,
  3301. PRPC_MESSAGE _pRpcMessage,
  3302. DWORD *_pdwStubPhase);
  3303. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ICategoryProvider_CreateCategory_Proxy(
  3304. ICategoryProvider * This,
  3305. GUID *pguid,
  3306. REFIID riid,
  3307. /* [iid_is] */ void **ppv);
  3308. void __RPC_STUB ICategoryProvider_CreateCategory_Stub(
  3309. IRpcStubBuffer *This,
  3310. IRpcChannelBuffer *_pRpcChannelBuffer,
  3311. PRPC_MESSAGE _pRpcMessage,
  3312. DWORD *_pdwStubPhase);
  3313. #endif /* __ICategoryProvider_INTERFACE_DEFINED__ */
  3314. /* interface __MIDL_itf_shobjidl_0207 */
  3315. /* [local] */
  3316. typedef /* [public][public][public][v1_enum] */
  3317. enum __MIDL___MIDL_itf_shobjidl_0207_0001
  3318. { CATINFO_NORMAL = 0,
  3319. CATINFO_COLLAPSED = 0x1,
  3320. CATINFO_HIDDEN = 0x2
  3321. } CATEGORYINFO_FLAGS;
  3322. typedef /* [public][public][v1_enum] */
  3323. enum __MIDL___MIDL_itf_shobjidl_0207_0002
  3324. { CATSORT_DEFAULT = 0,
  3325. CATSORT_NAME = 0x1
  3326. } CATSORT_FLAGS;
  3327. typedef /* [public][public] */ struct __MIDL___MIDL_itf_shobjidl_0207_0003
  3328. {
  3329. CATEGORYINFO_FLAGS cif;
  3330. WCHAR wszName[ 260 ];
  3331. } CATEGORY_INFO;
  3332. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0207_v0_0_c_ifspec;
  3333. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0207_v0_0_s_ifspec;
  3334. #ifndef __ICategorizer_INTERFACE_DEFINED__
  3335. #define __ICategorizer_INTERFACE_DEFINED__
  3336. /* interface ICategorizer */
  3337. /* [unique][object][uuid][helpstring] */
  3338. EXTERN_C const IID IID_ICategorizer;
  3339. #if defined(__cplusplus) && !defined(CINTERFACE)
  3340. MIDL_INTERFACE("a3b14589-9174-49a8-89a3-06a1ae2b9ba7")
  3341. ICategorizer : public IUnknown
  3342. {
  3343. public:
  3344. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDescription(
  3345. LPWSTR pszDesc,
  3346. UINT cch) = 0;
  3347. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCategory(
  3348. /* [in] */ UINT cidl,
  3349. /* [size_is][in] */ LPCITEMIDLIST *apidl,
  3350. /* [size_is][out][in] */ DWORD *rgCategoryIds) = 0;
  3351. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetCategoryInfo(
  3352. DWORD dwCategoryId,
  3353. CATEGORY_INFO *pci) = 0;
  3354. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CompareCategory(
  3355. CATSORT_FLAGS csfFlags,
  3356. DWORD dwCategoryId1,
  3357. DWORD dwCategoryId2) = 0;
  3358. };
  3359. #else /* C style interface */
  3360. typedef struct ICategorizerVtbl
  3361. {
  3362. BEGIN_INTERFACE
  3363. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3364. ICategorizer * This,
  3365. /* [in] */ REFIID riid,
  3366. /* [iid_is][out] */ void **ppvObject);
  3367. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3368. ICategorizer * This);
  3369. ULONG ( STDMETHODCALLTYPE *Release )(
  3370. ICategorizer * This);
  3371. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetDescription )(
  3372. ICategorizer * This,
  3373. LPWSTR pszDesc,
  3374. UINT cch);
  3375. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCategory )(
  3376. ICategorizer * This,
  3377. /* [in] */ UINT cidl,
  3378. /* [size_is][in] */ LPCITEMIDLIST *apidl,
  3379. /* [size_is][out][in] */ DWORD *rgCategoryIds);
  3380. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *GetCategoryInfo )(
  3381. ICategorizer * This,
  3382. DWORD dwCategoryId,
  3383. CATEGORY_INFO *pci);
  3384. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *CompareCategory )(
  3385. ICategorizer * This,
  3386. CATSORT_FLAGS csfFlags,
  3387. DWORD dwCategoryId1,
  3388. DWORD dwCategoryId2);
  3389. END_INTERFACE
  3390. } ICategorizerVtbl;
  3391. interface ICategorizer
  3392. {
  3393. CONST_VTBL struct ICategorizerVtbl *lpVtbl;
  3394. };
  3395. #ifdef COBJMACROS
  3396. #define ICategorizer_QueryInterface(This,riid,ppvObject) \
  3397. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3398. #define ICategorizer_AddRef(This) \
  3399. (This)->lpVtbl -> AddRef(This)
  3400. #define ICategorizer_Release(This) \
  3401. (This)->lpVtbl -> Release(This)
  3402. #define ICategorizer_GetDescription(This,pszDesc,cch) \
  3403. (This)->lpVtbl -> GetDescription(This,pszDesc,cch)
  3404. #define ICategorizer_GetCategory(This,cidl,apidl,rgCategoryIds) \
  3405. (This)->lpVtbl -> GetCategory(This,cidl,apidl,rgCategoryIds)
  3406. #define ICategorizer_GetCategoryInfo(This,dwCategoryId,pci) \
  3407. (This)->lpVtbl -> GetCategoryInfo(This,dwCategoryId,pci)
  3408. #define ICategorizer_CompareCategory(This,csfFlags,dwCategoryId1,dwCategoryId2) \
  3409. (This)->lpVtbl -> CompareCategory(This,csfFlags,dwCategoryId1,dwCategoryId2)
  3410. #endif /* COBJMACROS */
  3411. #endif /* C style interface */
  3412. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ICategorizer_GetDescription_Proxy(
  3413. ICategorizer * This,
  3414. LPWSTR pszDesc,
  3415. UINT cch);
  3416. void __RPC_STUB ICategorizer_GetDescription_Stub(
  3417. IRpcStubBuffer *This,
  3418. IRpcChannelBuffer *_pRpcChannelBuffer,
  3419. PRPC_MESSAGE _pRpcMessage,
  3420. DWORD *_pdwStubPhase);
  3421. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ICategorizer_GetCategory_Proxy(
  3422. ICategorizer * This,
  3423. /* [in] */ UINT cidl,
  3424. /* [size_is][in] */ LPCITEMIDLIST *apidl,
  3425. /* [size_is][out][in] */ DWORD *rgCategoryIds);
  3426. void __RPC_STUB ICategorizer_GetCategory_Stub(
  3427. IRpcStubBuffer *This,
  3428. IRpcChannelBuffer *_pRpcChannelBuffer,
  3429. PRPC_MESSAGE _pRpcMessage,
  3430. DWORD *_pdwStubPhase);
  3431. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ICategorizer_GetCategoryInfo_Proxy(
  3432. ICategorizer * This,
  3433. DWORD dwCategoryId,
  3434. CATEGORY_INFO *pci);
  3435. void __RPC_STUB ICategorizer_GetCategoryInfo_Stub(
  3436. IRpcStubBuffer *This,
  3437. IRpcChannelBuffer *_pRpcChannelBuffer,
  3438. PRPC_MESSAGE _pRpcMessage,
  3439. DWORD *_pdwStubPhase);
  3440. /* [helpstring] */ HRESULT STDMETHODCALLTYPE ICategorizer_CompareCategory_Proxy(
  3441. ICategorizer * This,
  3442. CATSORT_FLAGS csfFlags,
  3443. DWORD dwCategoryId1,
  3444. DWORD dwCategoryId2);
  3445. void __RPC_STUB ICategorizer_CompareCategory_Stub(
  3446. IRpcStubBuffer *This,
  3447. IRpcChannelBuffer *_pRpcChannelBuffer,
  3448. PRPC_MESSAGE _pRpcMessage,
  3449. DWORD *_pdwStubPhase);
  3450. #endif /* __ICategorizer_INTERFACE_DEFINED__ */
  3451. /* interface __MIDL_itf_shobjidl_0208 */
  3452. /* [local] */
  3453. #endif // (_WIN32_IE >= 0x0500)
  3454. #ifdef UNICODE
  3455. #define IShellLink IShellLinkW
  3456. #else
  3457. #define IShellLink IShellLinkA
  3458. #endif
  3459. typedef /* [public] */
  3460. enum __MIDL___MIDL_itf_shobjidl_0208_0001
  3461. { SLR_NO_UI = 0x1,
  3462. SLR_ANY_MATCH = 0x2,
  3463. SLR_UPDATE = 0x4,
  3464. SLR_NOUPDATE = 0x8,
  3465. SLR_NOSEARCH = 0x10,
  3466. SLR_NOTRACK = 0x20,
  3467. SLR_NOLINKINFO = 0x40,
  3468. SLR_INVOKE_MSI = 0x80,
  3469. SLR_NO_UI_WITH_MSG_PUMP = 0x101
  3470. } SLR_FLAGS;
  3471. typedef /* [public] */
  3472. enum __MIDL___MIDL_itf_shobjidl_0208_0002
  3473. { SLGP_SHORTPATH = 0x1,
  3474. SLGP_UNCPRIORITY = 0x2,
  3475. SLGP_RAWPATH = 0x4
  3476. } SLGP_FLAGS;
  3477. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0208_v0_0_c_ifspec;
  3478. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0208_v0_0_s_ifspec;
  3479. #ifndef __IShellLinkA_INTERFACE_DEFINED__
  3480. #define __IShellLinkA_INTERFACE_DEFINED__
  3481. /* interface IShellLinkA */
  3482. /* [unique][object][uuid] */
  3483. EXTERN_C const IID IID_IShellLinkA;
  3484. #if defined(__cplusplus) && !defined(CINTERFACE)
  3485. MIDL_INTERFACE("000214EE-0000-0000-C000-000000000046")
  3486. IShellLinkA : public IUnknown
  3487. {
  3488. public:
  3489. virtual HRESULT STDMETHODCALLTYPE GetPath(
  3490. /* [size_is][out] */ LPSTR pszFile,
  3491. /* [in] */ int cch,
  3492. /* [full][out][in] */ WIN32_FIND_DATAA *pfd,
  3493. /* [in] */ DWORD fFlags) = 0;
  3494. virtual HRESULT STDMETHODCALLTYPE GetIDList(
  3495. /* [out] */ LPITEMIDLIST *ppidl) = 0;
  3496. virtual HRESULT STDMETHODCALLTYPE SetIDList(
  3497. /* [in] */ LPCITEMIDLIST pidl) = 0;
  3498. virtual HRESULT STDMETHODCALLTYPE GetDescription(
  3499. /* [size_is][out] */ LPSTR pszName,
  3500. /* [in] */ int cch) = 0;
  3501. virtual HRESULT STDMETHODCALLTYPE SetDescription(
  3502. /* [in] */ LPCSTR pszName) = 0;
  3503. virtual HRESULT STDMETHODCALLTYPE GetWorkingDirectory(
  3504. /* [size_is][out] */ LPSTR pszDir,
  3505. /* [in] */ int cch) = 0;
  3506. virtual HRESULT STDMETHODCALLTYPE SetWorkingDirectory(
  3507. /* [in] */ LPCSTR pszDir) = 0;
  3508. virtual HRESULT STDMETHODCALLTYPE GetArguments(
  3509. /* [size_is][out] */ LPSTR pszArgs,
  3510. /* [in] */ int cch) = 0;
  3511. virtual HRESULT STDMETHODCALLTYPE SetArguments(
  3512. /* [in] */ LPCSTR pszArgs) = 0;
  3513. virtual HRESULT STDMETHODCALLTYPE GetHotkey(
  3514. /* [out] */ WORD *pwHotkey) = 0;
  3515. virtual HRESULT STDMETHODCALLTYPE SetHotkey(
  3516. /* [in] */ WORD wHotkey) = 0;
  3517. virtual HRESULT STDMETHODCALLTYPE GetShowCmd(
  3518. /* [out] */ int *piShowCmd) = 0;
  3519. virtual HRESULT STDMETHODCALLTYPE SetShowCmd(
  3520. /* [in] */ int iShowCmd) = 0;
  3521. virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
  3522. /* [size_is][out] */ LPSTR pszIconPath,
  3523. /* [in] */ int cch,
  3524. /* [out] */ int *piIcon) = 0;
  3525. virtual HRESULT STDMETHODCALLTYPE SetIconLocation(
  3526. /* [in] */ LPCSTR pszIconPath,
  3527. /* [in] */ int iIcon) = 0;
  3528. virtual HRESULT STDMETHODCALLTYPE SetRelativePath(
  3529. /* [in] */ LPCSTR pszPathRel,
  3530. /* [in] */ DWORD dwReserved) = 0;
  3531. virtual HRESULT STDMETHODCALLTYPE Resolve(
  3532. /* [in] */ HWND hwnd,
  3533. /* [in] */ DWORD fFlags) = 0;
  3534. virtual HRESULT STDMETHODCALLTYPE SetPath(
  3535. /* [in] */ LPCSTR pszFile) = 0;
  3536. };
  3537. #else /* C style interface */
  3538. typedef struct IShellLinkAVtbl
  3539. {
  3540. BEGIN_INTERFACE
  3541. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3542. IShellLinkA * This,
  3543. /* [in] */ REFIID riid,
  3544. /* [iid_is][out] */ void **ppvObject);
  3545. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3546. IShellLinkA * This);
  3547. ULONG ( STDMETHODCALLTYPE *Release )(
  3548. IShellLinkA * This);
  3549. HRESULT ( STDMETHODCALLTYPE *GetPath )(
  3550. IShellLinkA * This,
  3551. /* [size_is][out] */ LPSTR pszFile,
  3552. /* [in] */ int cch,
  3553. /* [full][out][in] */ WIN32_FIND_DATAA *pfd,
  3554. /* [in] */ DWORD fFlags);
  3555. HRESULT ( STDMETHODCALLTYPE *GetIDList )(
  3556. IShellLinkA * This,
  3557. /* [out] */ LPITEMIDLIST *ppidl);
  3558. HRESULT ( STDMETHODCALLTYPE *SetIDList )(
  3559. IShellLinkA * This,
  3560. /* [in] */ LPCITEMIDLIST pidl);
  3561. HRESULT ( STDMETHODCALLTYPE *GetDescription )(
  3562. IShellLinkA * This,
  3563. /* [size_is][out] */ LPSTR pszName,
  3564. /* [in] */ int cch);
  3565. HRESULT ( STDMETHODCALLTYPE *SetDescription )(
  3566. IShellLinkA * This,
  3567. /* [in] */ LPCSTR pszName);
  3568. HRESULT ( STDMETHODCALLTYPE *GetWorkingDirectory )(
  3569. IShellLinkA * This,
  3570. /* [size_is][out] */ LPSTR pszDir,
  3571. /* [in] */ int cch);
  3572. HRESULT ( STDMETHODCALLTYPE *SetWorkingDirectory )(
  3573. IShellLinkA * This,
  3574. /* [in] */ LPCSTR pszDir);
  3575. HRESULT ( STDMETHODCALLTYPE *GetArguments )(
  3576. IShellLinkA * This,
  3577. /* [size_is][out] */ LPSTR pszArgs,
  3578. /* [in] */ int cch);
  3579. HRESULT ( STDMETHODCALLTYPE *SetArguments )(
  3580. IShellLinkA * This,
  3581. /* [in] */ LPCSTR pszArgs);
  3582. HRESULT ( STDMETHODCALLTYPE *GetHotkey )(
  3583. IShellLinkA * This,
  3584. /* [out] */ WORD *pwHotkey);
  3585. HRESULT ( STDMETHODCALLTYPE *SetHotkey )(
  3586. IShellLinkA * This,
  3587. /* [in] */ WORD wHotkey);
  3588. HRESULT ( STDMETHODCALLTYPE *GetShowCmd )(
  3589. IShellLinkA * This,
  3590. /* [out] */ int *piShowCmd);
  3591. HRESULT ( STDMETHODCALLTYPE *SetShowCmd )(
  3592. IShellLinkA * This,
  3593. /* [in] */ int iShowCmd);
  3594. HRESULT ( STDMETHODCALLTYPE *GetIconLocation )(
  3595. IShellLinkA * This,
  3596. /* [size_is][out] */ LPSTR pszIconPath,
  3597. /* [in] */ int cch,
  3598. /* [out] */ int *piIcon);
  3599. HRESULT ( STDMETHODCALLTYPE *SetIconLocation )(
  3600. IShellLinkA * This,
  3601. /* [in] */ LPCSTR pszIconPath,
  3602. /* [in] */ int iIcon);
  3603. HRESULT ( STDMETHODCALLTYPE *SetRelativePath )(
  3604. IShellLinkA * This,
  3605. /* [in] */ LPCSTR pszPathRel,
  3606. /* [in] */ DWORD dwReserved);
  3607. HRESULT ( STDMETHODCALLTYPE *Resolve )(
  3608. IShellLinkA * This,
  3609. /* [in] */ HWND hwnd,
  3610. /* [in] */ DWORD fFlags);
  3611. HRESULT ( STDMETHODCALLTYPE *SetPath )(
  3612. IShellLinkA * This,
  3613. /* [in] */ LPCSTR pszFile);
  3614. END_INTERFACE
  3615. } IShellLinkAVtbl;
  3616. interface IShellLinkA
  3617. {
  3618. CONST_VTBL struct IShellLinkAVtbl *lpVtbl;
  3619. };
  3620. #ifdef COBJMACROS
  3621. #define IShellLinkA_QueryInterface(This,riid,ppvObject) \
  3622. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3623. #define IShellLinkA_AddRef(This) \
  3624. (This)->lpVtbl -> AddRef(This)
  3625. #define IShellLinkA_Release(This) \
  3626. (This)->lpVtbl -> Release(This)
  3627. #define IShellLinkA_GetPath(This,pszFile,cch,pfd,fFlags) \
  3628. (This)->lpVtbl -> GetPath(This,pszFile,cch,pfd,fFlags)
  3629. #define IShellLinkA_GetIDList(This,ppidl) \
  3630. (This)->lpVtbl -> GetIDList(This,ppidl)
  3631. #define IShellLinkA_SetIDList(This,pidl) \
  3632. (This)->lpVtbl -> SetIDList(This,pidl)
  3633. #define IShellLinkA_GetDescription(This,pszName,cch) \
  3634. (This)->lpVtbl -> GetDescription(This,pszName,cch)
  3635. #define IShellLinkA_SetDescription(This,pszName) \
  3636. (This)->lpVtbl -> SetDescription(This,pszName)
  3637. #define IShellLinkA_GetWorkingDirectory(This,pszDir,cch) \
  3638. (This)->lpVtbl -> GetWorkingDirectory(This,pszDir,cch)
  3639. #define IShellLinkA_SetWorkingDirectory(This,pszDir) \
  3640. (This)->lpVtbl -> SetWorkingDirectory(This,pszDir)
  3641. #define IShellLinkA_GetArguments(This,pszArgs,cch) \
  3642. (This)->lpVtbl -> GetArguments(This,pszArgs,cch)
  3643. #define IShellLinkA_SetArguments(This,pszArgs) \
  3644. (This)->lpVtbl -> SetArguments(This,pszArgs)
  3645. #define IShellLinkA_GetHotkey(This,pwHotkey) \
  3646. (This)->lpVtbl -> GetHotkey(This,pwHotkey)
  3647. #define IShellLinkA_SetHotkey(This,wHotkey) \
  3648. (This)->lpVtbl -> SetHotkey(This,wHotkey)
  3649. #define IShellLinkA_GetShowCmd(This,piShowCmd) \
  3650. (This)->lpVtbl -> GetShowCmd(This,piShowCmd)
  3651. #define IShellLinkA_SetShowCmd(This,iShowCmd) \
  3652. (This)->lpVtbl -> SetShowCmd(This,iShowCmd)
  3653. #define IShellLinkA_GetIconLocation(This,pszIconPath,cch,piIcon) \
  3654. (This)->lpVtbl -> GetIconLocation(This,pszIconPath,cch,piIcon)
  3655. #define IShellLinkA_SetIconLocation(This,pszIconPath,iIcon) \
  3656. (This)->lpVtbl -> SetIconLocation(This,pszIconPath,iIcon)
  3657. #define IShellLinkA_SetRelativePath(This,pszPathRel,dwReserved) \
  3658. (This)->lpVtbl -> SetRelativePath(This,pszPathRel,dwReserved)
  3659. #define IShellLinkA_Resolve(This,hwnd,fFlags) \
  3660. (This)->lpVtbl -> Resolve(This,hwnd,fFlags)
  3661. #define IShellLinkA_SetPath(This,pszFile) \
  3662. (This)->lpVtbl -> SetPath(This,pszFile)
  3663. #endif /* COBJMACROS */
  3664. #endif /* C style interface */
  3665. HRESULT STDMETHODCALLTYPE IShellLinkA_GetPath_Proxy(
  3666. IShellLinkA * This,
  3667. /* [size_is][out] */ LPSTR pszFile,
  3668. /* [in] */ int cch,
  3669. /* [full][out][in] */ WIN32_FIND_DATAA *pfd,
  3670. /* [in] */ DWORD fFlags);
  3671. void __RPC_STUB IShellLinkA_GetPath_Stub(
  3672. IRpcStubBuffer *This,
  3673. IRpcChannelBuffer *_pRpcChannelBuffer,
  3674. PRPC_MESSAGE _pRpcMessage,
  3675. DWORD *_pdwStubPhase);
  3676. HRESULT STDMETHODCALLTYPE IShellLinkA_GetIDList_Proxy(
  3677. IShellLinkA * This,
  3678. /* [out] */ LPITEMIDLIST *ppidl);
  3679. void __RPC_STUB IShellLinkA_GetIDList_Stub(
  3680. IRpcStubBuffer *This,
  3681. IRpcChannelBuffer *_pRpcChannelBuffer,
  3682. PRPC_MESSAGE _pRpcMessage,
  3683. DWORD *_pdwStubPhase);
  3684. HRESULT STDMETHODCALLTYPE IShellLinkA_SetIDList_Proxy(
  3685. IShellLinkA * This,
  3686. /* [in] */ LPCITEMIDLIST pidl);
  3687. void __RPC_STUB IShellLinkA_SetIDList_Stub(
  3688. IRpcStubBuffer *This,
  3689. IRpcChannelBuffer *_pRpcChannelBuffer,
  3690. PRPC_MESSAGE _pRpcMessage,
  3691. DWORD *_pdwStubPhase);
  3692. HRESULT STDMETHODCALLTYPE IShellLinkA_GetDescription_Proxy(
  3693. IShellLinkA * This,
  3694. /* [size_is][out] */ LPSTR pszName,
  3695. /* [in] */ int cch);
  3696. void __RPC_STUB IShellLinkA_GetDescription_Stub(
  3697. IRpcStubBuffer *This,
  3698. IRpcChannelBuffer *_pRpcChannelBuffer,
  3699. PRPC_MESSAGE _pRpcMessage,
  3700. DWORD *_pdwStubPhase);
  3701. HRESULT STDMETHODCALLTYPE IShellLinkA_SetDescription_Proxy(
  3702. IShellLinkA * This,
  3703. /* [in] */ LPCSTR pszName);
  3704. void __RPC_STUB IShellLinkA_SetDescription_Stub(
  3705. IRpcStubBuffer *This,
  3706. IRpcChannelBuffer *_pRpcChannelBuffer,
  3707. PRPC_MESSAGE _pRpcMessage,
  3708. DWORD *_pdwStubPhase);
  3709. HRESULT STDMETHODCALLTYPE IShellLinkA_GetWorkingDirectory_Proxy(
  3710. IShellLinkA * This,
  3711. /* [size_is][out] */ LPSTR pszDir,
  3712. /* [in] */ int cch);
  3713. void __RPC_STUB IShellLinkA_GetWorkingDirectory_Stub(
  3714. IRpcStubBuffer *This,
  3715. IRpcChannelBuffer *_pRpcChannelBuffer,
  3716. PRPC_MESSAGE _pRpcMessage,
  3717. DWORD *_pdwStubPhase);
  3718. HRESULT STDMETHODCALLTYPE IShellLinkA_SetWorkingDirectory_Proxy(
  3719. IShellLinkA * This,
  3720. /* [in] */ LPCSTR pszDir);
  3721. void __RPC_STUB IShellLinkA_SetWorkingDirectory_Stub(
  3722. IRpcStubBuffer *This,
  3723. IRpcChannelBuffer *_pRpcChannelBuffer,
  3724. PRPC_MESSAGE _pRpcMessage,
  3725. DWORD *_pdwStubPhase);
  3726. HRESULT STDMETHODCALLTYPE IShellLinkA_GetArguments_Proxy(
  3727. IShellLinkA * This,
  3728. /* [size_is][out] */ LPSTR pszArgs,
  3729. /* [in] */ int cch);
  3730. void __RPC_STUB IShellLinkA_GetArguments_Stub(
  3731. IRpcStubBuffer *This,
  3732. IRpcChannelBuffer *_pRpcChannelBuffer,
  3733. PRPC_MESSAGE _pRpcMessage,
  3734. DWORD *_pdwStubPhase);
  3735. HRESULT STDMETHODCALLTYPE IShellLinkA_SetArguments_Proxy(
  3736. IShellLinkA * This,
  3737. /* [in] */ LPCSTR pszArgs);
  3738. void __RPC_STUB IShellLinkA_SetArguments_Stub(
  3739. IRpcStubBuffer *This,
  3740. IRpcChannelBuffer *_pRpcChannelBuffer,
  3741. PRPC_MESSAGE _pRpcMessage,
  3742. DWORD *_pdwStubPhase);
  3743. HRESULT STDMETHODCALLTYPE IShellLinkA_GetHotkey_Proxy(
  3744. IShellLinkA * This,
  3745. /* [out] */ WORD *pwHotkey);
  3746. void __RPC_STUB IShellLinkA_GetHotkey_Stub(
  3747. IRpcStubBuffer *This,
  3748. IRpcChannelBuffer *_pRpcChannelBuffer,
  3749. PRPC_MESSAGE _pRpcMessage,
  3750. DWORD *_pdwStubPhase);
  3751. HRESULT STDMETHODCALLTYPE IShellLinkA_SetHotkey_Proxy(
  3752. IShellLinkA * This,
  3753. /* [in] */ WORD wHotkey);
  3754. void __RPC_STUB IShellLinkA_SetHotkey_Stub(
  3755. IRpcStubBuffer *This,
  3756. IRpcChannelBuffer *_pRpcChannelBuffer,
  3757. PRPC_MESSAGE _pRpcMessage,
  3758. DWORD *_pdwStubPhase);
  3759. HRESULT STDMETHODCALLTYPE IShellLinkA_GetShowCmd_Proxy(
  3760. IShellLinkA * This,
  3761. /* [out] */ int *piShowCmd);
  3762. void __RPC_STUB IShellLinkA_GetShowCmd_Stub(
  3763. IRpcStubBuffer *This,
  3764. IRpcChannelBuffer *_pRpcChannelBuffer,
  3765. PRPC_MESSAGE _pRpcMessage,
  3766. DWORD *_pdwStubPhase);
  3767. HRESULT STDMETHODCALLTYPE IShellLinkA_SetShowCmd_Proxy(
  3768. IShellLinkA * This,
  3769. /* [in] */ int iShowCmd);
  3770. void __RPC_STUB IShellLinkA_SetShowCmd_Stub(
  3771. IRpcStubBuffer *This,
  3772. IRpcChannelBuffer *_pRpcChannelBuffer,
  3773. PRPC_MESSAGE _pRpcMessage,
  3774. DWORD *_pdwStubPhase);
  3775. HRESULT STDMETHODCALLTYPE IShellLinkA_GetIconLocation_Proxy(
  3776. IShellLinkA * This,
  3777. /* [size_is][out] */ LPSTR pszIconPath,
  3778. /* [in] */ int cch,
  3779. /* [out] */ int *piIcon);
  3780. void __RPC_STUB IShellLinkA_GetIconLocation_Stub(
  3781. IRpcStubBuffer *This,
  3782. IRpcChannelBuffer *_pRpcChannelBuffer,
  3783. PRPC_MESSAGE _pRpcMessage,
  3784. DWORD *_pdwStubPhase);
  3785. HRESULT STDMETHODCALLTYPE IShellLinkA_SetIconLocation_Proxy(
  3786. IShellLinkA * This,
  3787. /* [in] */ LPCSTR pszIconPath,
  3788. /* [in] */ int iIcon);
  3789. void __RPC_STUB IShellLinkA_SetIconLocation_Stub(
  3790. IRpcStubBuffer *This,
  3791. IRpcChannelBuffer *_pRpcChannelBuffer,
  3792. PRPC_MESSAGE _pRpcMessage,
  3793. DWORD *_pdwStubPhase);
  3794. HRESULT STDMETHODCALLTYPE IShellLinkA_SetRelativePath_Proxy(
  3795. IShellLinkA * This,
  3796. /* [in] */ LPCSTR pszPathRel,
  3797. /* [in] */ DWORD dwReserved);
  3798. void __RPC_STUB IShellLinkA_SetRelativePath_Stub(
  3799. IRpcStubBuffer *This,
  3800. IRpcChannelBuffer *_pRpcChannelBuffer,
  3801. PRPC_MESSAGE _pRpcMessage,
  3802. DWORD *_pdwStubPhase);
  3803. HRESULT STDMETHODCALLTYPE IShellLinkA_Resolve_Proxy(
  3804. IShellLinkA * This,
  3805. /* [in] */ HWND hwnd,
  3806. /* [in] */ DWORD fFlags);
  3807. void __RPC_STUB IShellLinkA_Resolve_Stub(
  3808. IRpcStubBuffer *This,
  3809. IRpcChannelBuffer *_pRpcChannelBuffer,
  3810. PRPC_MESSAGE _pRpcMessage,
  3811. DWORD *_pdwStubPhase);
  3812. HRESULT STDMETHODCALLTYPE IShellLinkA_SetPath_Proxy(
  3813. IShellLinkA * This,
  3814. /* [in] */ LPCSTR pszFile);
  3815. void __RPC_STUB IShellLinkA_SetPath_Stub(
  3816. IRpcStubBuffer *This,
  3817. IRpcChannelBuffer *_pRpcChannelBuffer,
  3818. PRPC_MESSAGE _pRpcMessage,
  3819. DWORD *_pdwStubPhase);
  3820. #endif /* __IShellLinkA_INTERFACE_DEFINED__ */
  3821. #ifndef __IShellLinkW_INTERFACE_DEFINED__
  3822. #define __IShellLinkW_INTERFACE_DEFINED__
  3823. /* interface IShellLinkW */
  3824. /* [unique][object][uuid] */
  3825. EXTERN_C const IID IID_IShellLinkW;
  3826. #if defined(__cplusplus) && !defined(CINTERFACE)
  3827. MIDL_INTERFACE("000214F9-0000-0000-C000-000000000046")
  3828. IShellLinkW : public IUnknown
  3829. {
  3830. public:
  3831. virtual HRESULT STDMETHODCALLTYPE GetPath(
  3832. /* [size_is][out] */ LPWSTR pszFile,
  3833. /* [in] */ int cch,
  3834. /* [full][out][in] */ WIN32_FIND_DATAW *pfd,
  3835. /* [in] */ DWORD fFlags) = 0;
  3836. virtual HRESULT STDMETHODCALLTYPE GetIDList(
  3837. /* [out] */ LPITEMIDLIST *ppidl) = 0;
  3838. virtual HRESULT STDMETHODCALLTYPE SetIDList(
  3839. /* [in] */ LPCITEMIDLIST pidl) = 0;
  3840. virtual HRESULT STDMETHODCALLTYPE GetDescription(
  3841. /* [size_is][out] */ LPWSTR pszName,
  3842. int cch) = 0;
  3843. virtual HRESULT STDMETHODCALLTYPE SetDescription(
  3844. /* [in] */ LPCWSTR pszName) = 0;
  3845. virtual HRESULT STDMETHODCALLTYPE GetWorkingDirectory(
  3846. /* [size_is][out] */ LPWSTR pszDir,
  3847. int cch) = 0;
  3848. virtual HRESULT STDMETHODCALLTYPE SetWorkingDirectory(
  3849. /* [in] */ LPCWSTR pszDir) = 0;
  3850. virtual HRESULT STDMETHODCALLTYPE GetArguments(
  3851. /* [size_is][out] */ LPWSTR pszArgs,
  3852. int cch) = 0;
  3853. virtual HRESULT STDMETHODCALLTYPE SetArguments(
  3854. /* [in] */ LPCWSTR pszArgs) = 0;
  3855. virtual HRESULT STDMETHODCALLTYPE GetHotkey(
  3856. /* [out] */ WORD *pwHotkey) = 0;
  3857. virtual HRESULT STDMETHODCALLTYPE SetHotkey(
  3858. /* [in] */ WORD wHotkey) = 0;
  3859. virtual HRESULT STDMETHODCALLTYPE GetShowCmd(
  3860. /* [out] */ int *piShowCmd) = 0;
  3861. virtual HRESULT STDMETHODCALLTYPE SetShowCmd(
  3862. /* [in] */ int iShowCmd) = 0;
  3863. virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
  3864. /* [size_is][out] */ LPWSTR pszIconPath,
  3865. /* [in] */ int cch,
  3866. /* [out] */ int *piIcon) = 0;
  3867. virtual HRESULT STDMETHODCALLTYPE SetIconLocation(
  3868. /* [in] */ LPCWSTR pszIconPath,
  3869. /* [in] */ int iIcon) = 0;
  3870. virtual HRESULT STDMETHODCALLTYPE SetRelativePath(
  3871. /* [in] */ LPCWSTR pszPathRel,
  3872. /* [in] */ DWORD dwReserved) = 0;
  3873. virtual HRESULT STDMETHODCALLTYPE Resolve(
  3874. /* [in] */ HWND hwnd,
  3875. /* [in] */ DWORD fFlags) = 0;
  3876. virtual HRESULT STDMETHODCALLTYPE SetPath(
  3877. /* [in] */ LPCWSTR pszFile) = 0;
  3878. };
  3879. #else /* C style interface */
  3880. typedef struct IShellLinkWVtbl
  3881. {
  3882. BEGIN_INTERFACE
  3883. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3884. IShellLinkW * This,
  3885. /* [in] */ REFIID riid,
  3886. /* [iid_is][out] */ void **ppvObject);
  3887. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3888. IShellLinkW * This);
  3889. ULONG ( STDMETHODCALLTYPE *Release )(
  3890. IShellLinkW * This);
  3891. HRESULT ( STDMETHODCALLTYPE *GetPath )(
  3892. IShellLinkW * This,
  3893. /* [size_is][out] */ LPWSTR pszFile,
  3894. /* [in] */ int cch,
  3895. /* [full][out][in] */ WIN32_FIND_DATAW *pfd,
  3896. /* [in] */ DWORD fFlags);
  3897. HRESULT ( STDMETHODCALLTYPE *GetIDList )(
  3898. IShellLinkW * This,
  3899. /* [out] */ LPITEMIDLIST *ppidl);
  3900. HRESULT ( STDMETHODCALLTYPE *SetIDList )(
  3901. IShellLinkW * This,
  3902. /* [in] */ LPCITEMIDLIST pidl);
  3903. HRESULT ( STDMETHODCALLTYPE *GetDescription )(
  3904. IShellLinkW * This,
  3905. /* [size_is][out] */ LPWSTR pszName,
  3906. int cch);
  3907. HRESULT ( STDMETHODCALLTYPE *SetDescription )(
  3908. IShellLinkW * This,
  3909. /* [in] */ LPCWSTR pszName);
  3910. HRESULT ( STDMETHODCALLTYPE *GetWorkingDirectory )(
  3911. IShellLinkW * This,
  3912. /* [size_is][out] */ LPWSTR pszDir,
  3913. int cch);
  3914. HRESULT ( STDMETHODCALLTYPE *SetWorkingDirectory )(
  3915. IShellLinkW * This,
  3916. /* [in] */ LPCWSTR pszDir);
  3917. HRESULT ( STDMETHODCALLTYPE *GetArguments )(
  3918. IShellLinkW * This,
  3919. /* [size_is][out] */ LPWSTR pszArgs,
  3920. int cch);
  3921. HRESULT ( STDMETHODCALLTYPE *SetArguments )(
  3922. IShellLinkW * This,
  3923. /* [in] */ LPCWSTR pszArgs);
  3924. HRESULT ( STDMETHODCALLTYPE *GetHotkey )(
  3925. IShellLinkW * This,
  3926. /* [out] */ WORD *pwHotkey);
  3927. HRESULT ( STDMETHODCALLTYPE *SetHotkey )(
  3928. IShellLinkW * This,
  3929. /* [in] */ WORD wHotkey);
  3930. HRESULT ( STDMETHODCALLTYPE *GetShowCmd )(
  3931. IShellLinkW * This,
  3932. /* [out] */ int *piShowCmd);
  3933. HRESULT ( STDMETHODCALLTYPE *SetShowCmd )(
  3934. IShellLinkW * This,
  3935. /* [in] */ int iShowCmd);
  3936. HRESULT ( STDMETHODCALLTYPE *GetIconLocation )(
  3937. IShellLinkW * This,
  3938. /* [size_is][out] */ LPWSTR pszIconPath,
  3939. /* [in] */ int cch,
  3940. /* [out] */ int *piIcon);
  3941. HRESULT ( STDMETHODCALLTYPE *SetIconLocation )(
  3942. IShellLinkW * This,
  3943. /* [in] */ LPCWSTR pszIconPath,
  3944. /* [in] */ int iIcon);
  3945. HRESULT ( STDMETHODCALLTYPE *SetRelativePath )(
  3946. IShellLinkW * This,
  3947. /* [in] */ LPCWSTR pszPathRel,
  3948. /* [in] */ DWORD dwReserved);
  3949. HRESULT ( STDMETHODCALLTYPE *Resolve )(
  3950. IShellLinkW * This,
  3951. /* [in] */ HWND hwnd,
  3952. /* [in] */ DWORD fFlags);
  3953. HRESULT ( STDMETHODCALLTYPE *SetPath )(
  3954. IShellLinkW * This,
  3955. /* [in] */ LPCWSTR pszFile);
  3956. END_INTERFACE
  3957. } IShellLinkWVtbl;
  3958. interface IShellLinkW
  3959. {
  3960. CONST_VTBL struct IShellLinkWVtbl *lpVtbl;
  3961. };
  3962. #ifdef COBJMACROS
  3963. #define IShellLinkW_QueryInterface(This,riid,ppvObject) \
  3964. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3965. #define IShellLinkW_AddRef(This) \
  3966. (This)->lpVtbl -> AddRef(This)
  3967. #define IShellLinkW_Release(This) \
  3968. (This)->lpVtbl -> Release(This)
  3969. #define IShellLinkW_GetPath(This,pszFile,cch,pfd,fFlags) \
  3970. (This)->lpVtbl -> GetPath(This,pszFile,cch,pfd,fFlags)
  3971. #define IShellLinkW_GetIDList(This,ppidl) \
  3972. (This)->lpVtbl -> GetIDList(This,ppidl)
  3973. #define IShellLinkW_SetIDList(This,pidl) \
  3974. (This)->lpVtbl -> SetIDList(This,pidl)
  3975. #define IShellLinkW_GetDescription(This,pszName,cch) \
  3976. (This)->lpVtbl -> GetDescription(This,pszName,cch)
  3977. #define IShellLinkW_SetDescription(This,pszName) \
  3978. (This)->lpVtbl -> SetDescription(This,pszName)
  3979. #define IShellLinkW_GetWorkingDirectory(This,pszDir,cch) \
  3980. (This)->lpVtbl -> GetWorkingDirectory(This,pszDir,cch)
  3981. #define IShellLinkW_SetWorkingDirectory(This,pszDir) \
  3982. (This)->lpVtbl -> SetWorkingDirectory(This,pszDir)
  3983. #define IShellLinkW_GetArguments(This,pszArgs,cch) \
  3984. (This)->lpVtbl -> GetArguments(This,pszArgs,cch)
  3985. #define IShellLinkW_SetArguments(This,pszArgs) \
  3986. (This)->lpVtbl -> SetArguments(This,pszArgs)
  3987. #define IShellLinkW_GetHotkey(This,pwHotkey) \
  3988. (This)->lpVtbl -> GetHotkey(This,pwHotkey)
  3989. #define IShellLinkW_SetHotkey(This,wHotkey) \
  3990. (This)->lpVtbl -> SetHotkey(This,wHotkey)
  3991. #define IShellLinkW_GetShowCmd(This,piShowCmd) \
  3992. (This)->lpVtbl -> GetShowCmd(This,piShowCmd)
  3993. #define IShellLinkW_SetShowCmd(This,iShowCmd) \
  3994. (This)->lpVtbl -> SetShowCmd(This,iShowCmd)
  3995. #define IShellLinkW_GetIconLocation(This,pszIconPath,cch,piIcon) \
  3996. (This)->lpVtbl -> GetIconLocation(This,pszIconPath,cch,piIcon)
  3997. #define IShellLinkW_SetIconLocation(This,pszIconPath,iIcon) \
  3998. (This)->lpVtbl -> SetIconLocation(This,pszIconPath,iIcon)
  3999. #define IShellLinkW_SetRelativePath(This,pszPathRel,dwReserved) \
  4000. (This)->lpVtbl -> SetRelativePath(This,pszPathRel,dwReserved)
  4001. #define IShellLinkW_Resolve(This,hwnd,fFlags) \
  4002. (This)->lpVtbl -> Resolve(This,hwnd,fFlags)
  4003. #define IShellLinkW_SetPath(This,pszFile) \
  4004. (This)->lpVtbl -> SetPath(This,pszFile)
  4005. #endif /* COBJMACROS */
  4006. #endif /* C style interface */
  4007. HRESULT STDMETHODCALLTYPE IShellLinkW_GetPath_Proxy(
  4008. IShellLinkW * This,
  4009. /* [size_is][out] */ LPWSTR pszFile,
  4010. /* [in] */ int cch,
  4011. /* [full][out][in] */ WIN32_FIND_DATAW *pfd,
  4012. /* [in] */ DWORD fFlags);
  4013. void __RPC_STUB IShellLinkW_GetPath_Stub(
  4014. IRpcStubBuffer *This,
  4015. IRpcChannelBuffer *_pRpcChannelBuffer,
  4016. PRPC_MESSAGE _pRpcMessage,
  4017. DWORD *_pdwStubPhase);
  4018. HRESULT STDMETHODCALLTYPE IShellLinkW_GetIDList_Proxy(
  4019. IShellLinkW * This,
  4020. /* [out] */ LPITEMIDLIST *ppidl);
  4021. void __RPC_STUB IShellLinkW_GetIDList_Stub(
  4022. IRpcStubBuffer *This,
  4023. IRpcChannelBuffer *_pRpcChannelBuffer,
  4024. PRPC_MESSAGE _pRpcMessage,
  4025. DWORD *_pdwStubPhase);
  4026. HRESULT STDMETHODCALLTYPE IShellLinkW_SetIDList_Proxy(
  4027. IShellLinkW * This,
  4028. /* [in] */ LPCITEMIDLIST pidl);
  4029. void __RPC_STUB IShellLinkW_SetIDList_Stub(
  4030. IRpcStubBuffer *This,
  4031. IRpcChannelBuffer *_pRpcChannelBuffer,
  4032. PRPC_MESSAGE _pRpcMessage,
  4033. DWORD *_pdwStubPhase);
  4034. HRESULT STDMETHODCALLTYPE IShellLinkW_GetDescription_Proxy(
  4035. IShellLinkW * This,
  4036. /* [size_is][out] */ LPWSTR pszName,
  4037. int cch);
  4038. void __RPC_STUB IShellLinkW_GetDescription_Stub(
  4039. IRpcStubBuffer *This,
  4040. IRpcChannelBuffer *_pRpcChannelBuffer,
  4041. PRPC_MESSAGE _pRpcMessage,
  4042. DWORD *_pdwStubPhase);
  4043. HRESULT STDMETHODCALLTYPE IShellLinkW_SetDescription_Proxy(
  4044. IShellLinkW * This,
  4045. /* [in] */ LPCWSTR pszName);
  4046. void __RPC_STUB IShellLinkW_SetDescription_Stub(
  4047. IRpcStubBuffer *This,
  4048. IRpcChannelBuffer *_pRpcChannelBuffer,
  4049. PRPC_MESSAGE _pRpcMessage,
  4050. DWORD *_pdwStubPhase);
  4051. HRESULT STDMETHODCALLTYPE IShellLinkW_GetWorkingDirectory_Proxy(
  4052. IShellLinkW * This,
  4053. /* [size_is][out] */ LPWSTR pszDir,
  4054. int cch);
  4055. void __RPC_STUB IShellLinkW_GetWorkingDirectory_Stub(
  4056. IRpcStubBuffer *This,
  4057. IRpcChannelBuffer *_pRpcChannelBuffer,
  4058. PRPC_MESSAGE _pRpcMessage,
  4059. DWORD *_pdwStubPhase);
  4060. HRESULT STDMETHODCALLTYPE IShellLinkW_SetWorkingDirectory_Proxy(
  4061. IShellLinkW * This,
  4062. /* [in] */ LPCWSTR pszDir);
  4063. void __RPC_STUB IShellLinkW_SetWorkingDirectory_Stub(
  4064. IRpcStubBuffer *This,
  4065. IRpcChannelBuffer *_pRpcChannelBuffer,
  4066. PRPC_MESSAGE _pRpcMessage,
  4067. DWORD *_pdwStubPhase);
  4068. HRESULT STDMETHODCALLTYPE IShellLinkW_GetArguments_Proxy(
  4069. IShellLinkW * This,
  4070. /* [size_is][out] */ LPWSTR pszArgs,
  4071. int cch);
  4072. void __RPC_STUB IShellLinkW_GetArguments_Stub(
  4073. IRpcStubBuffer *This,
  4074. IRpcChannelBuffer *_pRpcChannelBuffer,
  4075. PRPC_MESSAGE _pRpcMessage,
  4076. DWORD *_pdwStubPhase);
  4077. HRESULT STDMETHODCALLTYPE IShellLinkW_SetArguments_Proxy(
  4078. IShellLinkW * This,
  4079. /* [in] */ LPCWSTR pszArgs);
  4080. void __RPC_STUB IShellLinkW_SetArguments_Stub(
  4081. IRpcStubBuffer *This,
  4082. IRpcChannelBuffer *_pRpcChannelBuffer,
  4083. PRPC_MESSAGE _pRpcMessage,
  4084. DWORD *_pdwStubPhase);
  4085. HRESULT STDMETHODCALLTYPE IShellLinkW_GetHotkey_Proxy(
  4086. IShellLinkW * This,
  4087. /* [out] */ WORD *pwHotkey);
  4088. void __RPC_STUB IShellLinkW_GetHotkey_Stub(
  4089. IRpcStubBuffer *This,
  4090. IRpcChannelBuffer *_pRpcChannelBuffer,
  4091. PRPC_MESSAGE _pRpcMessage,
  4092. DWORD *_pdwStubPhase);
  4093. HRESULT STDMETHODCALLTYPE IShellLinkW_SetHotkey_Proxy(
  4094. IShellLinkW * This,
  4095. /* [in] */ WORD wHotkey);
  4096. void __RPC_STUB IShellLinkW_SetHotkey_Stub(
  4097. IRpcStubBuffer *This,
  4098. IRpcChannelBuffer *_pRpcChannelBuffer,
  4099. PRPC_MESSAGE _pRpcMessage,
  4100. DWORD *_pdwStubPhase);
  4101. HRESULT STDMETHODCALLTYPE IShellLinkW_GetShowCmd_Proxy(
  4102. IShellLinkW * This,
  4103. /* [out] */ int *piShowCmd);
  4104. void __RPC_STUB IShellLinkW_GetShowCmd_Stub(
  4105. IRpcStubBuffer *This,
  4106. IRpcChannelBuffer *_pRpcChannelBuffer,
  4107. PRPC_MESSAGE _pRpcMessage,
  4108. DWORD *_pdwStubPhase);
  4109. HRESULT STDMETHODCALLTYPE IShellLinkW_SetShowCmd_Proxy(
  4110. IShellLinkW * This,
  4111. /* [in] */ int iShowCmd);
  4112. void __RPC_STUB IShellLinkW_SetShowCmd_Stub(
  4113. IRpcStubBuffer *This,
  4114. IRpcChannelBuffer *_pRpcChannelBuffer,
  4115. PRPC_MESSAGE _pRpcMessage,
  4116. DWORD *_pdwStubPhase);
  4117. HRESULT STDMETHODCALLTYPE IShellLinkW_GetIconLocation_Proxy(
  4118. IShellLinkW * This,
  4119. /* [size_is][out] */ LPWSTR pszIconPath,
  4120. /* [in] */ int cch,
  4121. /* [out] */ int *piIcon);
  4122. void __RPC_STUB IShellLinkW_GetIconLocation_Stub(
  4123. IRpcStubBuffer *This,
  4124. IRpcChannelBuffer *_pRpcChannelBuffer,
  4125. PRPC_MESSAGE _pRpcMessage,
  4126. DWORD *_pdwStubPhase);
  4127. HRESULT STDMETHODCALLTYPE IShellLinkW_SetIconLocation_Proxy(
  4128. IShellLinkW * This,
  4129. /* [in] */ LPCWSTR pszIconPath,
  4130. /* [in] */ int iIcon);
  4131. void __RPC_STUB IShellLinkW_SetIconLocation_Stub(
  4132. IRpcStubBuffer *This,
  4133. IRpcChannelBuffer *_pRpcChannelBuffer,
  4134. PRPC_MESSAGE _pRpcMessage,
  4135. DWORD *_pdwStubPhase);
  4136. HRESULT STDMETHODCALLTYPE IShellLinkW_SetRelativePath_Proxy(
  4137. IShellLinkW * This,
  4138. /* [in] */ LPCWSTR pszPathRel,
  4139. /* [in] */ DWORD dwReserved);
  4140. void __RPC_STUB IShellLinkW_SetRelativePath_Stub(
  4141. IRpcStubBuffer *This,
  4142. IRpcChannelBuffer *_pRpcChannelBuffer,
  4143. PRPC_MESSAGE _pRpcMessage,
  4144. DWORD *_pdwStubPhase);
  4145. HRESULT STDMETHODCALLTYPE IShellLinkW_Resolve_Proxy(
  4146. IShellLinkW * This,
  4147. /* [in] */ HWND hwnd,
  4148. /* [in] */ DWORD fFlags);
  4149. void __RPC_STUB IShellLinkW_Resolve_Stub(
  4150. IRpcStubBuffer *This,
  4151. IRpcChannelBuffer *_pRpcChannelBuffer,
  4152. PRPC_MESSAGE _pRpcMessage,
  4153. DWORD *_pdwStubPhase);
  4154. HRESULT STDMETHODCALLTYPE IShellLinkW_SetPath_Proxy(
  4155. IShellLinkW * This,
  4156. /* [in] */ LPCWSTR pszFile);
  4157. void __RPC_STUB IShellLinkW_SetPath_Stub(
  4158. IRpcStubBuffer *This,
  4159. IRpcChannelBuffer *_pRpcChannelBuffer,
  4160. PRPC_MESSAGE _pRpcMessage,
  4161. DWORD *_pdwStubPhase);
  4162. #endif /* __IShellLinkW_INTERFACE_DEFINED__ */
  4163. #ifndef __IActionProgressDialog_INTERFACE_DEFINED__
  4164. #define __IActionProgressDialog_INTERFACE_DEFINED__
  4165. /* interface IActionProgressDialog */
  4166. /* [unique][helpstring][uuid][object] */
  4167. /* [v1_enum] */
  4168. enum __MIDL_IActionProgressDialog_0001
  4169. { SPINITF_NORMAL = 0,
  4170. SPINITF_MODAL = 0x1,
  4171. SPINITF_NOMINIMIZE = 0x8
  4172. } ;
  4173. typedef DWORD SPINITF;
  4174. EXTERN_C const IID IID_IActionProgressDialog;
  4175. #if defined(__cplusplus) && !defined(CINTERFACE)
  4176. MIDL_INTERFACE("49ff1172-eadc-446d-9285-156453a6431c")
  4177. IActionProgressDialog : public IUnknown
  4178. {
  4179. public:
  4180. virtual HRESULT STDMETHODCALLTYPE Initialize(
  4181. /* [in] */ SPINITF flags,
  4182. /* [string][in] */ LPCWSTR pszTitle,
  4183. /* [string][in] */ LPCWSTR pszCancel) = 0;
  4184. virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  4185. };
  4186. #else /* C style interface */
  4187. typedef struct IActionProgressDialogVtbl
  4188. {
  4189. BEGIN_INTERFACE
  4190. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4191. IActionProgressDialog * This,
  4192. /* [in] */ REFIID riid,
  4193. /* [iid_is][out] */ void **ppvObject);
  4194. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4195. IActionProgressDialog * This);
  4196. ULONG ( STDMETHODCALLTYPE *Release )(
  4197. IActionProgressDialog * This);
  4198. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  4199. IActionProgressDialog * This,
  4200. /* [in] */ SPINITF flags,
  4201. /* [string][in] */ LPCWSTR pszTitle,
  4202. /* [string][in] */ LPCWSTR pszCancel);
  4203. HRESULT ( STDMETHODCALLTYPE *Stop )(
  4204. IActionProgressDialog * This);
  4205. END_INTERFACE
  4206. } IActionProgressDialogVtbl;
  4207. interface IActionProgressDialog
  4208. {
  4209. CONST_VTBL struct IActionProgressDialogVtbl *lpVtbl;
  4210. };
  4211. #ifdef COBJMACROS
  4212. #define IActionProgressDialog_QueryInterface(This,riid,ppvObject) \
  4213. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4214. #define IActionProgressDialog_AddRef(This) \
  4215. (This)->lpVtbl -> AddRef(This)
  4216. #define IActionProgressDialog_Release(This) \
  4217. (This)->lpVtbl -> Release(This)
  4218. #define IActionProgressDialog_Initialize(This,flags,pszTitle,pszCancel) \
  4219. (This)->lpVtbl -> Initialize(This,flags,pszTitle,pszCancel)
  4220. #define IActionProgressDialog_Stop(This) \
  4221. (This)->lpVtbl -> Stop(This)
  4222. #endif /* COBJMACROS */
  4223. #endif /* C style interface */
  4224. HRESULT STDMETHODCALLTYPE IActionProgressDialog_Initialize_Proxy(
  4225. IActionProgressDialog * This,
  4226. /* [in] */ SPINITF flags,
  4227. /* [string][in] */ LPCWSTR pszTitle,
  4228. /* [string][in] */ LPCWSTR pszCancel);
  4229. void __RPC_STUB IActionProgressDialog_Initialize_Stub(
  4230. IRpcStubBuffer *This,
  4231. IRpcChannelBuffer *_pRpcChannelBuffer,
  4232. PRPC_MESSAGE _pRpcMessage,
  4233. DWORD *_pdwStubPhase);
  4234. HRESULT STDMETHODCALLTYPE IActionProgressDialog_Stop_Proxy(
  4235. IActionProgressDialog * This);
  4236. void __RPC_STUB IActionProgressDialog_Stop_Stub(
  4237. IRpcStubBuffer *This,
  4238. IRpcChannelBuffer *_pRpcChannelBuffer,
  4239. PRPC_MESSAGE _pRpcMessage,
  4240. DWORD *_pdwStubPhase);
  4241. #endif /* __IActionProgressDialog_INTERFACE_DEFINED__ */
  4242. #ifndef __IHWEventHandler_INTERFACE_DEFINED__
  4243. #define __IHWEventHandler_INTERFACE_DEFINED__
  4244. /* interface IHWEventHandler */
  4245. /* [unique][helpstring][uuid][object] */
  4246. EXTERN_C const IID IID_IHWEventHandler;
  4247. #if defined(__cplusplus) && !defined(CINTERFACE)
  4248. MIDL_INTERFACE("C1FB73D0-EC3A-4ba2-B512-8CDB9187B6D1")
  4249. IHWEventHandler : public IUnknown
  4250. {
  4251. public:
  4252. virtual HRESULT STDMETHODCALLTYPE Initialize(
  4253. /* [string][in] */ LPCWSTR pszParams) = 0;
  4254. virtual HRESULT STDMETHODCALLTYPE HandleEvent(
  4255. /* [string][in] */ LPCWSTR pszDeviceID,
  4256. /* [string][in] */ LPCWSTR pszAltDeviceID,
  4257. /* [string][in] */ LPCWSTR pszEventType) = 0;
  4258. virtual HRESULT STDMETHODCALLTYPE HandleEventWithContent(
  4259. /* [string][in] */ LPCWSTR pszDeviceID,
  4260. /* [string][in] */ LPCWSTR pszAltDeviceID,
  4261. /* [string][in] */ LPCWSTR pszEventType,
  4262. /* [string][in] */ LPCWSTR pszContentTypeHandler,
  4263. /* [in] */ IDataObject *pdataobject) = 0;
  4264. };
  4265. #else /* C style interface */
  4266. typedef struct IHWEventHandlerVtbl
  4267. {
  4268. BEGIN_INTERFACE
  4269. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4270. IHWEventHandler * This,
  4271. /* [in] */ REFIID riid,
  4272. /* [iid_is][out] */ void **ppvObject);
  4273. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4274. IHWEventHandler * This);
  4275. ULONG ( STDMETHODCALLTYPE *Release )(
  4276. IHWEventHandler * This);
  4277. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  4278. IHWEventHandler * This,
  4279. /* [string][in] */ LPCWSTR pszParams);
  4280. HRESULT ( STDMETHODCALLTYPE *HandleEvent )(
  4281. IHWEventHandler * This,
  4282. /* [string][in] */ LPCWSTR pszDeviceID,
  4283. /* [string][in] */ LPCWSTR pszAltDeviceID,
  4284. /* [string][in] */ LPCWSTR pszEventType);
  4285. HRESULT ( STDMETHODCALLTYPE *HandleEventWithContent )(
  4286. IHWEventHandler * This,
  4287. /* [string][in] */ LPCWSTR pszDeviceID,
  4288. /* [string][in] */ LPCWSTR pszAltDeviceID,
  4289. /* [string][in] */ LPCWSTR pszEventType,
  4290. /* [string][in] */ LPCWSTR pszContentTypeHandler,
  4291. /* [in] */ IDataObject *pdataobject);
  4292. END_INTERFACE
  4293. } IHWEventHandlerVtbl;
  4294. interface IHWEventHandler
  4295. {
  4296. CONST_VTBL struct IHWEventHandlerVtbl *lpVtbl;
  4297. };
  4298. #ifdef COBJMACROS
  4299. #define IHWEventHandler_QueryInterface(This,riid,ppvObject) \
  4300. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4301. #define IHWEventHandler_AddRef(This) \
  4302. (This)->lpVtbl -> AddRef(This)
  4303. #define IHWEventHandler_Release(This) \
  4304. (This)->lpVtbl -> Release(This)
  4305. #define IHWEventHandler_Initialize(This,pszParams) \
  4306. (This)->lpVtbl -> Initialize(This,pszParams)
  4307. #define IHWEventHandler_HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType) \
  4308. (This)->lpVtbl -> HandleEvent(This,pszDeviceID,pszAltDeviceID,pszEventType)
  4309. #define IHWEventHandler_HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject) \
  4310. (This)->lpVtbl -> HandleEventWithContent(This,pszDeviceID,pszAltDeviceID,pszEventType,pszContentTypeHandler,pdataobject)
  4311. #endif /* COBJMACROS */
  4312. #endif /* C style interface */
  4313. HRESULT STDMETHODCALLTYPE IHWEventHandler_Initialize_Proxy(
  4314. IHWEventHandler * This,
  4315. /* [string][in] */ LPCWSTR pszParams);
  4316. void __RPC_STUB IHWEventHandler_Initialize_Stub(
  4317. IRpcStubBuffer *This,
  4318. IRpcChannelBuffer *_pRpcChannelBuffer,
  4319. PRPC_MESSAGE _pRpcMessage,
  4320. DWORD *_pdwStubPhase);
  4321. HRESULT STDMETHODCALLTYPE IHWEventHandler_HandleEvent_Proxy(
  4322. IHWEventHandler * This,
  4323. /* [string][in] */ LPCWSTR pszDeviceID,
  4324. /* [string][in] */ LPCWSTR pszAltDeviceID,
  4325. /* [string][in] */ LPCWSTR pszEventType);
  4326. void __RPC_STUB IHWEventHandler_HandleEvent_Stub(
  4327. IRpcStubBuffer *This,
  4328. IRpcChannelBuffer *_pRpcChannelBuffer,
  4329. PRPC_MESSAGE _pRpcMessage,
  4330. DWORD *_pdwStubPhase);
  4331. HRESULT STDMETHODCALLTYPE IHWEventHandler_HandleEventWithContent_Proxy(
  4332. IHWEventHandler * This,
  4333. /* [string][in] */ LPCWSTR pszDeviceID,
  4334. /* [string][in] */ LPCWSTR pszAltDeviceID,
  4335. /* [string][in] */ LPCWSTR pszEventType,
  4336. /* [string][in] */ LPCWSTR pszContentTypeHandler,
  4337. /* [in] */ IDataObject *pdataobject);
  4338. void __RPC_STUB IHWEventHandler_HandleEventWithContent_Stub(
  4339. IRpcStubBuffer *This,
  4340. IRpcChannelBuffer *_pRpcChannelBuffer,
  4341. PRPC_MESSAGE _pRpcMessage,
  4342. DWORD *_pdwStubPhase);
  4343. #endif /* __IHWEventHandler_INTERFACE_DEFINED__ */
  4344. /* interface __MIDL_itf_shobjidl_0212 */
  4345. /* [local] */
  4346. #define ARCONTENT_AUTORUNINF 0x00000002
  4347. #define ARCONTENT_AUDIOCD 0x00000004
  4348. #define ARCONTENT_DVDMOVIE 0x00000008
  4349. #define ARCONTENT_BLANKCD 0x00000010
  4350. #define ARCONTENT_BLANKDVD 0x00000020
  4351. #define ARCONTENT_UNKNOWNCONTENT 0x00000040
  4352. #define ARCONTENT_AUTOPLAYPIX 0x00000080
  4353. #define ARCONTENT_AUTOPLAYMUSIC 0x00000100
  4354. #define ARCONTENT_AUTOPLAYVIDEO 0x00000200
  4355. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0212_v0_0_c_ifspec;
  4356. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0212_v0_0_s_ifspec;
  4357. #ifndef __IQueryCancelAutoPlay_INTERFACE_DEFINED__
  4358. #define __IQueryCancelAutoPlay_INTERFACE_DEFINED__
  4359. /* interface IQueryCancelAutoPlay */
  4360. /* [unique][helpstring][uuid][object] */
  4361. EXTERN_C const IID IID_IQueryCancelAutoPlay;
  4362. #if defined(__cplusplus) && !defined(CINTERFACE)
  4363. MIDL_INTERFACE("DDEFE873-6997-4e68-BE26-39B633ADBE12")
  4364. IQueryCancelAutoPlay : public IUnknown
  4365. {
  4366. public:
  4367. virtual HRESULT STDMETHODCALLTYPE AllowAutoPlay(
  4368. /* [string][in] */ LPCWSTR pszPath,
  4369. /* [in] */ DWORD dwContentType,
  4370. /* [string][in] */ LPCWSTR pszLabel,
  4371. /* [in] */ DWORD dwSerialNumber) = 0;
  4372. };
  4373. #else /* C style interface */
  4374. typedef struct IQueryCancelAutoPlayVtbl
  4375. {
  4376. BEGIN_INTERFACE
  4377. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4378. IQueryCancelAutoPlay * This,
  4379. /* [in] */ REFIID riid,
  4380. /* [iid_is][out] */ void **ppvObject);
  4381. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4382. IQueryCancelAutoPlay * This);
  4383. ULONG ( STDMETHODCALLTYPE *Release )(
  4384. IQueryCancelAutoPlay * This);
  4385. HRESULT ( STDMETHODCALLTYPE *AllowAutoPlay )(
  4386. IQueryCancelAutoPlay * This,
  4387. /* [string][in] */ LPCWSTR pszPath,
  4388. /* [in] */ DWORD dwContentType,
  4389. /* [string][in] */ LPCWSTR pszLabel,
  4390. /* [in] */ DWORD dwSerialNumber);
  4391. END_INTERFACE
  4392. } IQueryCancelAutoPlayVtbl;
  4393. interface IQueryCancelAutoPlay
  4394. {
  4395. CONST_VTBL struct IQueryCancelAutoPlayVtbl *lpVtbl;
  4396. };
  4397. #ifdef COBJMACROS
  4398. #define IQueryCancelAutoPlay_QueryInterface(This,riid,ppvObject) \
  4399. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4400. #define IQueryCancelAutoPlay_AddRef(This) \
  4401. (This)->lpVtbl -> AddRef(This)
  4402. #define IQueryCancelAutoPlay_Release(This) \
  4403. (This)->lpVtbl -> Release(This)
  4404. #define IQueryCancelAutoPlay_AllowAutoPlay(This,pszPath,dwContentType,pszLabel,dwSerialNumber) \
  4405. (This)->lpVtbl -> AllowAutoPlay(This,pszPath,dwContentType,pszLabel,dwSerialNumber)
  4406. #endif /* COBJMACROS */
  4407. #endif /* C style interface */
  4408. HRESULT STDMETHODCALLTYPE IQueryCancelAutoPlay_AllowAutoPlay_Proxy(
  4409. IQueryCancelAutoPlay * This,
  4410. /* [string][in] */ LPCWSTR pszPath,
  4411. /* [in] */ DWORD dwContentType,
  4412. /* [string][in] */ LPCWSTR pszLabel,
  4413. /* [in] */ DWORD dwSerialNumber);
  4414. void __RPC_STUB IQueryCancelAutoPlay_AllowAutoPlay_Stub(
  4415. IRpcStubBuffer *This,
  4416. IRpcChannelBuffer *_pRpcChannelBuffer,
  4417. PRPC_MESSAGE _pRpcMessage,
  4418. DWORD *_pdwStubPhase);
  4419. #endif /* __IQueryCancelAutoPlay_INTERFACE_DEFINED__ */
  4420. #ifndef __IActionProgress_INTERFACE_DEFINED__
  4421. #define __IActionProgress_INTERFACE_DEFINED__
  4422. /* interface IActionProgress */
  4423. /* [unique][helpstring][uuid][object] */
  4424. /* [v1_enum] */
  4425. enum __MIDL_IActionProgress_0001
  4426. { SPBEGINF_NORMAL = 0,
  4427. SPBEGINF_AUTOTIME = 0x2,
  4428. SPBEGINF_NOPROGRESSBAR = 0x10,
  4429. SPBEGINF_MARQUEEPROGRESS = 0x20
  4430. } ;
  4431. typedef DWORD SPBEGINF;
  4432. typedef /* [v1_enum] */
  4433. enum _SPACTION
  4434. { SPACTION_NONE = 0,
  4435. SPACTION_MOVING = SPACTION_NONE + 1,
  4436. SPACTION_COPYING = SPACTION_MOVING + 1,
  4437. SPACTION_RECYCLING = SPACTION_COPYING + 1,
  4438. SPACTION_APPLYINGATTRIBS = SPACTION_RECYCLING + 1,
  4439. SPACTION_DOWNLOADING = SPACTION_APPLYINGATTRIBS + 1,
  4440. SPACTION_SEARCHING_INTERNET = SPACTION_DOWNLOADING + 1,
  4441. SPACTION_CALCULATING = SPACTION_SEARCHING_INTERNET + 1,
  4442. SPACTION_UPLOADING = SPACTION_CALCULATING + 1,
  4443. SPACTION_SEARCHING_FILES = SPACTION_UPLOADING + 1
  4444. } SPACTION;
  4445. typedef /* [v1_enum] */
  4446. enum _SPTEXT
  4447. { SPTEXT_ACTIONDESCRIPTION = 1,
  4448. SPTEXT_ACTIONDETAIL = SPTEXT_ACTIONDESCRIPTION + 1
  4449. } SPTEXT;
  4450. EXTERN_C const IID IID_IActionProgress;
  4451. #if defined(__cplusplus) && !defined(CINTERFACE)
  4452. MIDL_INTERFACE("49ff1173-eadc-446d-9285-156453a6431c")
  4453. IActionProgress : public IUnknown
  4454. {
  4455. public:
  4456. virtual HRESULT STDMETHODCALLTYPE Begin(
  4457. /* [in] */ SPACTION action,
  4458. /* [in] */ SPBEGINF flags) = 0;
  4459. virtual HRESULT STDMETHODCALLTYPE UpdateProgress(
  4460. /* [in] */ ULONGLONG ulCompleted,
  4461. /* [in] */ ULONGLONG ulTotal) = 0;
  4462. virtual HRESULT STDMETHODCALLTYPE UpdateText(
  4463. /* [in] */ SPTEXT sptext,
  4464. /* [string][in] */ LPCWSTR pszText,
  4465. /* [in] */ BOOL fMayCompact) = 0;
  4466. virtual HRESULT STDMETHODCALLTYPE QueryCancel(
  4467. /* [out] */ BOOL *pfCancelled) = 0;
  4468. virtual HRESULT STDMETHODCALLTYPE ResetCancel( void) = 0;
  4469. virtual HRESULT STDMETHODCALLTYPE End( void) = 0;
  4470. };
  4471. #else /* C style interface */
  4472. typedef struct IActionProgressVtbl
  4473. {
  4474. BEGIN_INTERFACE
  4475. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4476. IActionProgress * This,
  4477. /* [in] */ REFIID riid,
  4478. /* [iid_is][out] */ void **ppvObject);
  4479. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4480. IActionProgress * This);
  4481. ULONG ( STDMETHODCALLTYPE *Release )(
  4482. IActionProgress * This);
  4483. HRESULT ( STDMETHODCALLTYPE *Begin )(
  4484. IActionProgress * This,
  4485. /* [in] */ SPACTION action,
  4486. /* [in] */ SPBEGINF flags);
  4487. HRESULT ( STDMETHODCALLTYPE *UpdateProgress )(
  4488. IActionProgress * This,
  4489. /* [in] */ ULONGLONG ulCompleted,
  4490. /* [in] */ ULONGLONG ulTotal);
  4491. HRESULT ( STDMETHODCALLTYPE *UpdateText )(
  4492. IActionProgress * This,
  4493. /* [in] */ SPTEXT sptext,
  4494. /* [string][in] */ LPCWSTR pszText,
  4495. /* [in] */ BOOL fMayCompact);
  4496. HRESULT ( STDMETHODCALLTYPE *QueryCancel )(
  4497. IActionProgress * This,
  4498. /* [out] */ BOOL *pfCancelled);
  4499. HRESULT ( STDMETHODCALLTYPE *ResetCancel )(
  4500. IActionProgress * This);
  4501. HRESULT ( STDMETHODCALLTYPE *End )(
  4502. IActionProgress * This);
  4503. END_INTERFACE
  4504. } IActionProgressVtbl;
  4505. interface IActionProgress
  4506. {
  4507. CONST_VTBL struct IActionProgressVtbl *lpVtbl;
  4508. };
  4509. #ifdef COBJMACROS
  4510. #define IActionProgress_QueryInterface(This,riid,ppvObject) \
  4511. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4512. #define IActionProgress_AddRef(This) \
  4513. (This)->lpVtbl -> AddRef(This)
  4514. #define IActionProgress_Release(This) \
  4515. (This)->lpVtbl -> Release(This)
  4516. #define IActionProgress_Begin(This,action,flags) \
  4517. (This)->lpVtbl -> Begin(This,action,flags)
  4518. #define IActionProgress_UpdateProgress(This,ulCompleted,ulTotal) \
  4519. (This)->lpVtbl -> UpdateProgress(This,ulCompleted,ulTotal)
  4520. #define IActionProgress_UpdateText(This,sptext,pszText,fMayCompact) \
  4521. (This)->lpVtbl -> UpdateText(This,sptext,pszText,fMayCompact)
  4522. #define IActionProgress_QueryCancel(This,pfCancelled) \
  4523. (This)->lpVtbl -> QueryCancel(This,pfCancelled)
  4524. #define IActionProgress_ResetCancel(This) \
  4525. (This)->lpVtbl -> ResetCancel(This)
  4526. #define IActionProgress_End(This) \
  4527. (This)->lpVtbl -> End(This)
  4528. #endif /* COBJMACROS */
  4529. #endif /* C style interface */
  4530. HRESULT STDMETHODCALLTYPE IActionProgress_Begin_Proxy(
  4531. IActionProgress * This,
  4532. /* [in] */ SPACTION action,
  4533. /* [in] */ SPBEGINF flags);
  4534. void __RPC_STUB IActionProgress_Begin_Stub(
  4535. IRpcStubBuffer *This,
  4536. IRpcChannelBuffer *_pRpcChannelBuffer,
  4537. PRPC_MESSAGE _pRpcMessage,
  4538. DWORD *_pdwStubPhase);
  4539. HRESULT STDMETHODCALLTYPE IActionProgress_UpdateProgress_Proxy(
  4540. IActionProgress * This,
  4541. /* [in] */ ULONGLONG ulCompleted,
  4542. /* [in] */ ULONGLONG ulTotal);
  4543. void __RPC_STUB IActionProgress_UpdateProgress_Stub(
  4544. IRpcStubBuffer *This,
  4545. IRpcChannelBuffer *_pRpcChannelBuffer,
  4546. PRPC_MESSAGE _pRpcMessage,
  4547. DWORD *_pdwStubPhase);
  4548. HRESULT STDMETHODCALLTYPE IActionProgress_UpdateText_Proxy(
  4549. IActionProgress * This,
  4550. /* [in] */ SPTEXT sptext,
  4551. /* [string][in] */ LPCWSTR pszText,
  4552. /* [in] */ BOOL fMayCompact);
  4553. void __RPC_STUB IActionProgress_UpdateText_Stub(
  4554. IRpcStubBuffer *This,
  4555. IRpcChannelBuffer *_pRpcChannelBuffer,
  4556. PRPC_MESSAGE _pRpcMessage,
  4557. DWORD *_pdwStubPhase);
  4558. HRESULT STDMETHODCALLTYPE IActionProgress_QueryCancel_Proxy(
  4559. IActionProgress * This,
  4560. /* [out] */ BOOL *pfCancelled);
  4561. void __RPC_STUB IActionProgress_QueryCancel_Stub(
  4562. IRpcStubBuffer *This,
  4563. IRpcChannelBuffer *_pRpcChannelBuffer,
  4564. PRPC_MESSAGE _pRpcMessage,
  4565. DWORD *_pdwStubPhase);
  4566. HRESULT STDMETHODCALLTYPE IActionProgress_ResetCancel_Proxy(
  4567. IActionProgress * This);
  4568. void __RPC_STUB IActionProgress_ResetCancel_Stub(
  4569. IRpcStubBuffer *This,
  4570. IRpcChannelBuffer *_pRpcChannelBuffer,
  4571. PRPC_MESSAGE _pRpcMessage,
  4572. DWORD *_pdwStubPhase);
  4573. HRESULT STDMETHODCALLTYPE IActionProgress_End_Proxy(
  4574. IActionProgress * This);
  4575. void __RPC_STUB IActionProgress_End_Stub(
  4576. IRpcStubBuffer *This,
  4577. IRpcChannelBuffer *_pRpcChannelBuffer,
  4578. PRPC_MESSAGE _pRpcMessage,
  4579. DWORD *_pdwStubPhase);
  4580. #endif /* __IActionProgress_INTERFACE_DEFINED__ */
  4581. #ifndef __IShellExtInit_INTERFACE_DEFINED__
  4582. #define __IShellExtInit_INTERFACE_DEFINED__
  4583. /* interface IShellExtInit */
  4584. /* [unique][local][object][uuid] */
  4585. EXTERN_C const IID IID_IShellExtInit;
  4586. #if defined(__cplusplus) && !defined(CINTERFACE)
  4587. MIDL_INTERFACE("000214E8-0000-0000-C000-000000000046")
  4588. IShellExtInit : public IUnknown
  4589. {
  4590. public:
  4591. virtual HRESULT STDMETHODCALLTYPE Initialize(
  4592. /* [in] */ LPCITEMIDLIST pidlFolder,
  4593. /* [in] */ IDataObject *pdtobj,
  4594. /* [in] */ HKEY hkeyProgID) = 0;
  4595. };
  4596. #else /* C style interface */
  4597. typedef struct IShellExtInitVtbl
  4598. {
  4599. BEGIN_INTERFACE
  4600. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4601. IShellExtInit * This,
  4602. /* [in] */ REFIID riid,
  4603. /* [iid_is][out] */ void **ppvObject);
  4604. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4605. IShellExtInit * This);
  4606. ULONG ( STDMETHODCALLTYPE *Release )(
  4607. IShellExtInit * This);
  4608. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  4609. IShellExtInit * This,
  4610. /* [in] */ LPCITEMIDLIST pidlFolder,
  4611. /* [in] */ IDataObject *pdtobj,
  4612. /* [in] */ HKEY hkeyProgID);
  4613. END_INTERFACE
  4614. } IShellExtInitVtbl;
  4615. interface IShellExtInit
  4616. {
  4617. CONST_VTBL struct IShellExtInitVtbl *lpVtbl;
  4618. };
  4619. #ifdef COBJMACROS
  4620. #define IShellExtInit_QueryInterface(This,riid,ppvObject) \
  4621. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4622. #define IShellExtInit_AddRef(This) \
  4623. (This)->lpVtbl -> AddRef(This)
  4624. #define IShellExtInit_Release(This) \
  4625. (This)->lpVtbl -> Release(This)
  4626. #define IShellExtInit_Initialize(This,pidlFolder,pdtobj,hkeyProgID) \
  4627. (This)->lpVtbl -> Initialize(This,pidlFolder,pdtobj,hkeyProgID)
  4628. #endif /* COBJMACROS */
  4629. #endif /* C style interface */
  4630. HRESULT STDMETHODCALLTYPE IShellExtInit_Initialize_Proxy(
  4631. IShellExtInit * This,
  4632. /* [in] */ LPCITEMIDLIST pidlFolder,
  4633. /* [in] */ IDataObject *pdtobj,
  4634. /* [in] */ HKEY hkeyProgID);
  4635. void __RPC_STUB IShellExtInit_Initialize_Stub(
  4636. IRpcStubBuffer *This,
  4637. IRpcChannelBuffer *_pRpcChannelBuffer,
  4638. PRPC_MESSAGE _pRpcMessage,
  4639. DWORD *_pdwStubPhase);
  4640. #endif /* __IShellExtInit_INTERFACE_DEFINED__ */
  4641. /* interface __MIDL_itf_shobjidl_0215 */
  4642. /* [local] */
  4643. typedef IShellExtInit *LPSHELLEXTINIT;
  4644. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0215_v0_0_c_ifspec;
  4645. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0215_v0_0_s_ifspec;
  4646. #ifndef __IShellPropSheetExt_INTERFACE_DEFINED__
  4647. #define __IShellPropSheetExt_INTERFACE_DEFINED__
  4648. /* interface IShellPropSheetExt */
  4649. /* [unique][local][object][uuid] */
  4650. enum __MIDL_IShellPropSheetExt_0001
  4651. { EXPPS_FILETYPES = 0x1
  4652. } ;
  4653. typedef UINT EXPPS;
  4654. EXTERN_C const IID IID_IShellPropSheetExt;
  4655. #if defined(__cplusplus) && !defined(CINTERFACE)
  4656. MIDL_INTERFACE("000214E9-0000-0000-C000-000000000046")
  4657. IShellPropSheetExt : public IUnknown
  4658. {
  4659. public:
  4660. virtual HRESULT STDMETHODCALLTYPE AddPages(
  4661. /* [in] */ LPFNSVADDPROPSHEETPAGE pfnAddPage,
  4662. /* [in] */ LPARAM lParam) = 0;
  4663. virtual HRESULT STDMETHODCALLTYPE ReplacePage(
  4664. /* [in] */ EXPPS uPageID,
  4665. /* [in] */ LPFNSVADDPROPSHEETPAGE pfnReplaceWith,
  4666. /* [in] */ LPARAM lParam) = 0;
  4667. };
  4668. #else /* C style interface */
  4669. typedef struct IShellPropSheetExtVtbl
  4670. {
  4671. BEGIN_INTERFACE
  4672. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4673. IShellPropSheetExt * This,
  4674. /* [in] */ REFIID riid,
  4675. /* [iid_is][out] */ void **ppvObject);
  4676. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4677. IShellPropSheetExt * This);
  4678. ULONG ( STDMETHODCALLTYPE *Release )(
  4679. IShellPropSheetExt * This);
  4680. HRESULT ( STDMETHODCALLTYPE *AddPages )(
  4681. IShellPropSheetExt * This,
  4682. /* [in] */ LPFNSVADDPROPSHEETPAGE pfnAddPage,
  4683. /* [in] */ LPARAM lParam);
  4684. HRESULT ( STDMETHODCALLTYPE *ReplacePage )(
  4685. IShellPropSheetExt * This,
  4686. /* [in] */ EXPPS uPageID,
  4687. /* [in] */ LPFNSVADDPROPSHEETPAGE pfnReplaceWith,
  4688. /* [in] */ LPARAM lParam);
  4689. END_INTERFACE
  4690. } IShellPropSheetExtVtbl;
  4691. interface IShellPropSheetExt
  4692. {
  4693. CONST_VTBL struct IShellPropSheetExtVtbl *lpVtbl;
  4694. };
  4695. #ifdef COBJMACROS
  4696. #define IShellPropSheetExt_QueryInterface(This,riid,ppvObject) \
  4697. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4698. #define IShellPropSheetExt_AddRef(This) \
  4699. (This)->lpVtbl -> AddRef(This)
  4700. #define IShellPropSheetExt_Release(This) \
  4701. (This)->lpVtbl -> Release(This)
  4702. #define IShellPropSheetExt_AddPages(This,pfnAddPage,lParam) \
  4703. (This)->lpVtbl -> AddPages(This,pfnAddPage,lParam)
  4704. #define IShellPropSheetExt_ReplacePage(This,uPageID,pfnReplaceWith,lParam) \
  4705. (This)->lpVtbl -> ReplacePage(This,uPageID,pfnReplaceWith,lParam)
  4706. #endif /* COBJMACROS */
  4707. #endif /* C style interface */
  4708. HRESULT STDMETHODCALLTYPE IShellPropSheetExt_AddPages_Proxy(
  4709. IShellPropSheetExt * This,
  4710. /* [in] */ LPFNSVADDPROPSHEETPAGE pfnAddPage,
  4711. /* [in] */ LPARAM lParam);
  4712. void __RPC_STUB IShellPropSheetExt_AddPages_Stub(
  4713. IRpcStubBuffer *This,
  4714. IRpcChannelBuffer *_pRpcChannelBuffer,
  4715. PRPC_MESSAGE _pRpcMessage,
  4716. DWORD *_pdwStubPhase);
  4717. HRESULT STDMETHODCALLTYPE IShellPropSheetExt_ReplacePage_Proxy(
  4718. IShellPropSheetExt * This,
  4719. /* [in] */ EXPPS uPageID,
  4720. /* [in] */ LPFNSVADDPROPSHEETPAGE pfnReplaceWith,
  4721. /* [in] */ LPARAM lParam);
  4722. void __RPC_STUB IShellPropSheetExt_ReplacePage_Stub(
  4723. IRpcStubBuffer *This,
  4724. IRpcChannelBuffer *_pRpcChannelBuffer,
  4725. PRPC_MESSAGE _pRpcMessage,
  4726. DWORD *_pdwStubPhase);
  4727. #endif /* __IShellPropSheetExt_INTERFACE_DEFINED__ */
  4728. /* interface __MIDL_itf_shobjidl_0216 */
  4729. /* [local] */
  4730. typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT;
  4731. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0216_v0_0_c_ifspec;
  4732. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0216_v0_0_s_ifspec;
  4733. #ifndef __IRemoteComputer_INTERFACE_DEFINED__
  4734. #define __IRemoteComputer_INTERFACE_DEFINED__
  4735. /* interface IRemoteComputer */
  4736. /* [unique][object][uuid][helpstring] */
  4737. EXTERN_C const IID IID_IRemoteComputer;
  4738. #if defined(__cplusplus) && !defined(CINTERFACE)
  4739. MIDL_INTERFACE("000214FE-0000-0000-C000-000000000046")
  4740. IRemoteComputer : public IUnknown
  4741. {
  4742. public:
  4743. virtual HRESULT STDMETHODCALLTYPE Initialize(
  4744. /* [in] */ LPCWSTR pszMachine,
  4745. /* [in] */ BOOL bEnumerating) = 0;
  4746. };
  4747. #else /* C style interface */
  4748. typedef struct IRemoteComputerVtbl
  4749. {
  4750. BEGIN_INTERFACE
  4751. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4752. IRemoteComputer * This,
  4753. /* [in] */ REFIID riid,
  4754. /* [iid_is][out] */ void **ppvObject);
  4755. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4756. IRemoteComputer * This);
  4757. ULONG ( STDMETHODCALLTYPE *Release )(
  4758. IRemoteComputer * This);
  4759. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  4760. IRemoteComputer * This,
  4761. /* [in] */ LPCWSTR pszMachine,
  4762. /* [in] */ BOOL bEnumerating);
  4763. END_INTERFACE
  4764. } IRemoteComputerVtbl;
  4765. interface IRemoteComputer
  4766. {
  4767. CONST_VTBL struct IRemoteComputerVtbl *lpVtbl;
  4768. };
  4769. #ifdef COBJMACROS
  4770. #define IRemoteComputer_QueryInterface(This,riid,ppvObject) \
  4771. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4772. #define IRemoteComputer_AddRef(This) \
  4773. (This)->lpVtbl -> AddRef(This)
  4774. #define IRemoteComputer_Release(This) \
  4775. (This)->lpVtbl -> Release(This)
  4776. #define IRemoteComputer_Initialize(This,pszMachine,bEnumerating) \
  4777. (This)->lpVtbl -> Initialize(This,pszMachine,bEnumerating)
  4778. #endif /* COBJMACROS */
  4779. #endif /* C style interface */
  4780. HRESULT STDMETHODCALLTYPE IRemoteComputer_Initialize_Proxy(
  4781. IRemoteComputer * This,
  4782. /* [in] */ LPCWSTR pszMachine,
  4783. /* [in] */ BOOL bEnumerating);
  4784. void __RPC_STUB IRemoteComputer_Initialize_Stub(
  4785. IRpcStubBuffer *This,
  4786. IRpcChannelBuffer *_pRpcChannelBuffer,
  4787. PRPC_MESSAGE _pRpcMessage,
  4788. DWORD *_pdwStubPhase);
  4789. #endif /* __IRemoteComputer_INTERFACE_DEFINED__ */
  4790. #ifndef __IQueryContinue_INTERFACE_DEFINED__
  4791. #define __IQueryContinue_INTERFACE_DEFINED__
  4792. /* interface IQueryContinue */
  4793. /* [unique][object][uuid] */
  4794. EXTERN_C const IID IID_IQueryContinue;
  4795. #if defined(__cplusplus) && !defined(CINTERFACE)
  4796. MIDL_INTERFACE("7307055c-b24a-486b-9f25-163e597a28a9")
  4797. IQueryContinue : public IUnknown
  4798. {
  4799. public:
  4800. virtual HRESULT STDMETHODCALLTYPE QueryContinue( void) = 0;
  4801. };
  4802. #else /* C style interface */
  4803. typedef struct IQueryContinueVtbl
  4804. {
  4805. BEGIN_INTERFACE
  4806. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4807. IQueryContinue * This,
  4808. /* [in] */ REFIID riid,
  4809. /* [iid_is][out] */ void **ppvObject);
  4810. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4811. IQueryContinue * This);
  4812. ULONG ( STDMETHODCALLTYPE *Release )(
  4813. IQueryContinue * This);
  4814. HRESULT ( STDMETHODCALLTYPE *QueryContinue )(
  4815. IQueryContinue * This);
  4816. END_INTERFACE
  4817. } IQueryContinueVtbl;
  4818. interface IQueryContinue
  4819. {
  4820. CONST_VTBL struct IQueryContinueVtbl *lpVtbl;
  4821. };
  4822. #ifdef COBJMACROS
  4823. #define IQueryContinue_QueryInterface(This,riid,ppvObject) \
  4824. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4825. #define IQueryContinue_AddRef(This) \
  4826. (This)->lpVtbl -> AddRef(This)
  4827. #define IQueryContinue_Release(This) \
  4828. (This)->lpVtbl -> Release(This)
  4829. #define IQueryContinue_QueryContinue(This) \
  4830. (This)->lpVtbl -> QueryContinue(This)
  4831. #endif /* COBJMACROS */
  4832. #endif /* C style interface */
  4833. HRESULT STDMETHODCALLTYPE IQueryContinue_QueryContinue_Proxy(
  4834. IQueryContinue * This);
  4835. void __RPC_STUB IQueryContinue_QueryContinue_Stub(
  4836. IRpcStubBuffer *This,
  4837. IRpcChannelBuffer *_pRpcChannelBuffer,
  4838. PRPC_MESSAGE _pRpcMessage,
  4839. DWORD *_pdwStubPhase);
  4840. #endif /* __IQueryContinue_INTERFACE_DEFINED__ */
  4841. #ifndef __IUserNotification_INTERFACE_DEFINED__
  4842. #define __IUserNotification_INTERFACE_DEFINED__
  4843. /* interface IUserNotification */
  4844. /* [unique][object][uuid] */
  4845. EXTERN_C const IID IID_IUserNotification;
  4846. #if defined(__cplusplus) && !defined(CINTERFACE)
  4847. MIDL_INTERFACE("ba9711ba-5893-4787-a7e1-41277151550b")
  4848. IUserNotification : public IUnknown
  4849. {
  4850. public:
  4851. virtual HRESULT STDMETHODCALLTYPE SetBalloonInfo(
  4852. /* [string][in] */ LPCWSTR pszTitle,
  4853. /* [string][in] */ LPCWSTR pszText,
  4854. /* [in] */ DWORD dwInfoFlags) = 0;
  4855. virtual HRESULT STDMETHODCALLTYPE SetBalloonRetry(
  4856. /* [in] */ DWORD dwShowTime,
  4857. /* [in] */ DWORD dwInterval,
  4858. /* [in] */ UINT cRetryCount) = 0;
  4859. virtual HRESULT STDMETHODCALLTYPE SetIconInfo(
  4860. /* [in] */ HICON hIcon,
  4861. /* [string][in] */ LPCWSTR pszToolTip) = 0;
  4862. virtual HRESULT STDMETHODCALLTYPE Show(
  4863. /* [in] */ IQueryContinue *pqc,
  4864. /* [in] */ DWORD dwContinuePollInterval) = 0;
  4865. virtual HRESULT STDMETHODCALLTYPE PlaySound(
  4866. /* [string][in] */ LPCWSTR pszSoundName) = 0;
  4867. };
  4868. #else /* C style interface */
  4869. typedef struct IUserNotificationVtbl
  4870. {
  4871. BEGIN_INTERFACE
  4872. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4873. IUserNotification * This,
  4874. /* [in] */ REFIID riid,
  4875. /* [iid_is][out] */ void **ppvObject);
  4876. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4877. IUserNotification * This);
  4878. ULONG ( STDMETHODCALLTYPE *Release )(
  4879. IUserNotification * This);
  4880. HRESULT ( STDMETHODCALLTYPE *SetBalloonInfo )(
  4881. IUserNotification * This,
  4882. /* [string][in] */ LPCWSTR pszTitle,
  4883. /* [string][in] */ LPCWSTR pszText,
  4884. /* [in] */ DWORD dwInfoFlags);
  4885. HRESULT ( STDMETHODCALLTYPE *SetBalloonRetry )(
  4886. IUserNotification * This,
  4887. /* [in] */ DWORD dwShowTime,
  4888. /* [in] */ DWORD dwInterval,
  4889. /* [in] */ UINT cRetryCount);
  4890. HRESULT ( STDMETHODCALLTYPE *SetIconInfo )(
  4891. IUserNotification * This,
  4892. /* [in] */ HICON hIcon,
  4893. /* [string][in] */ LPCWSTR pszToolTip);
  4894. HRESULT ( STDMETHODCALLTYPE *Show )(
  4895. IUserNotification * This,
  4896. /* [in] */ IQueryContinue *pqc,
  4897. /* [in] */ DWORD dwContinuePollInterval);
  4898. HRESULT ( STDMETHODCALLTYPE *PlaySound )(
  4899. IUserNotification * This,
  4900. /* [string][in] */ LPCWSTR pszSoundName);
  4901. END_INTERFACE
  4902. } IUserNotificationVtbl;
  4903. interface IUserNotification
  4904. {
  4905. CONST_VTBL struct IUserNotificationVtbl *lpVtbl;
  4906. };
  4907. #ifdef COBJMACROS
  4908. #define IUserNotification_QueryInterface(This,riid,ppvObject) \
  4909. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4910. #define IUserNotification_AddRef(This) \
  4911. (This)->lpVtbl -> AddRef(This)
  4912. #define IUserNotification_Release(This) \
  4913. (This)->lpVtbl -> Release(This)
  4914. #define IUserNotification_SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags) \
  4915. (This)->lpVtbl -> SetBalloonInfo(This,pszTitle,pszText,dwInfoFlags)
  4916. #define IUserNotification_SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount) \
  4917. (This)->lpVtbl -> SetBalloonRetry(This,dwShowTime,dwInterval,cRetryCount)
  4918. #define IUserNotification_SetIconInfo(This,hIcon,pszToolTip) \
  4919. (This)->lpVtbl -> SetIconInfo(This,hIcon,pszToolTip)
  4920. #define IUserNotification_Show(This,pqc,dwContinuePollInterval) \
  4921. (This)->lpVtbl -> Show(This,pqc,dwContinuePollInterval)
  4922. #define IUserNotification_PlaySound(This,pszSoundName) \
  4923. (This)->lpVtbl -> PlaySound(This,pszSoundName)
  4924. #endif /* COBJMACROS */
  4925. #endif /* C style interface */
  4926. HRESULT STDMETHODCALLTYPE IUserNotification_SetBalloonInfo_Proxy(
  4927. IUserNotification * This,
  4928. /* [string][in] */ LPCWSTR pszTitle,
  4929. /* [string][in] */ LPCWSTR pszText,
  4930. /* [in] */ DWORD dwInfoFlags);
  4931. void __RPC_STUB IUserNotification_SetBalloonInfo_Stub(
  4932. IRpcStubBuffer *This,
  4933. IRpcChannelBuffer *_pRpcChannelBuffer,
  4934. PRPC_MESSAGE _pRpcMessage,
  4935. DWORD *_pdwStubPhase);
  4936. HRESULT STDMETHODCALLTYPE IUserNotification_SetBalloonRetry_Proxy(
  4937. IUserNotification * This,
  4938. /* [in] */ DWORD dwShowTime,
  4939. /* [in] */ DWORD dwInterval,
  4940. /* [in] */ UINT cRetryCount);
  4941. void __RPC_STUB IUserNotification_SetBalloonRetry_Stub(
  4942. IRpcStubBuffer *This,
  4943. IRpcChannelBuffer *_pRpcChannelBuffer,
  4944. PRPC_MESSAGE _pRpcMessage,
  4945. DWORD *_pdwStubPhase);
  4946. HRESULT STDMETHODCALLTYPE IUserNotification_SetIconInfo_Proxy(
  4947. IUserNotification * This,
  4948. /* [in] */ HICON hIcon,
  4949. /* [string][in] */ LPCWSTR pszToolTip);
  4950. void __RPC_STUB IUserNotification_SetIconInfo_Stub(
  4951. IRpcStubBuffer *This,
  4952. IRpcChannelBuffer *_pRpcChannelBuffer,
  4953. PRPC_MESSAGE _pRpcMessage,
  4954. DWORD *_pdwStubPhase);
  4955. HRESULT STDMETHODCALLTYPE IUserNotification_Show_Proxy(
  4956. IUserNotification * This,
  4957. /* [in] */ IQueryContinue *pqc,
  4958. /* [in] */ DWORD dwContinuePollInterval);
  4959. void __RPC_STUB IUserNotification_Show_Stub(
  4960. IRpcStubBuffer *This,
  4961. IRpcChannelBuffer *_pRpcChannelBuffer,
  4962. PRPC_MESSAGE _pRpcMessage,
  4963. DWORD *_pdwStubPhase);
  4964. HRESULT STDMETHODCALLTYPE IUserNotification_PlaySound_Proxy(
  4965. IUserNotification * This,
  4966. /* [string][in] */ LPCWSTR pszSoundName);
  4967. void __RPC_STUB IUserNotification_PlaySound_Stub(
  4968. IRpcStubBuffer *This,
  4969. IRpcChannelBuffer *_pRpcChannelBuffer,
  4970. PRPC_MESSAGE _pRpcMessage,
  4971. DWORD *_pdwStubPhase);
  4972. #endif /* __IUserNotification_INTERFACE_DEFINED__ */
  4973. #ifndef __IItemNameLimits_INTERFACE_DEFINED__
  4974. #define __IItemNameLimits_INTERFACE_DEFINED__
  4975. /* interface IItemNameLimits */
  4976. /* [object][uuid] */
  4977. EXTERN_C const IID IID_IItemNameLimits;
  4978. #if defined(__cplusplus) && !defined(CINTERFACE)
  4979. MIDL_INTERFACE("1df0d7f1-b267-4d28-8b10-12e23202a5c4")
  4980. IItemNameLimits : public IUnknown
  4981. {
  4982. public:
  4983. virtual HRESULT STDMETHODCALLTYPE GetValidCharacters(
  4984. /* [out] */ LPWSTR *ppwszValidChars,
  4985. /* [out] */ LPWSTR *ppwszInvalidChars) = 0;
  4986. virtual HRESULT STDMETHODCALLTYPE GetMaxLength(
  4987. /* [in] */ LPCWSTR pszName,
  4988. /* [out] */ int *piMaxNameLen) = 0;
  4989. };
  4990. #else /* C style interface */
  4991. typedef struct IItemNameLimitsVtbl
  4992. {
  4993. BEGIN_INTERFACE
  4994. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4995. IItemNameLimits * This,
  4996. /* [in] */ REFIID riid,
  4997. /* [iid_is][out] */ void **ppvObject);
  4998. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4999. IItemNameLimits * This);
  5000. ULONG ( STDMETHODCALLTYPE *Release )(
  5001. IItemNameLimits * This);
  5002. HRESULT ( STDMETHODCALLTYPE *GetValidCharacters )(
  5003. IItemNameLimits * This,
  5004. /* [out] */ LPWSTR *ppwszValidChars,
  5005. /* [out] */ LPWSTR *ppwszInvalidChars);
  5006. HRESULT ( STDMETHODCALLTYPE *GetMaxLength )(
  5007. IItemNameLimits * This,
  5008. /* [in] */ LPCWSTR pszName,
  5009. /* [out] */ int *piMaxNameLen);
  5010. END_INTERFACE
  5011. } IItemNameLimitsVtbl;
  5012. interface IItemNameLimits
  5013. {
  5014. CONST_VTBL struct IItemNameLimitsVtbl *lpVtbl;
  5015. };
  5016. #ifdef COBJMACROS
  5017. #define IItemNameLimits_QueryInterface(This,riid,ppvObject) \
  5018. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5019. #define IItemNameLimits_AddRef(This) \
  5020. (This)->lpVtbl -> AddRef(This)
  5021. #define IItemNameLimits_Release(This) \
  5022. (This)->lpVtbl -> Release(This)
  5023. #define IItemNameLimits_GetValidCharacters(This,ppwszValidChars,ppwszInvalidChars) \
  5024. (This)->lpVtbl -> GetValidCharacters(This,ppwszValidChars,ppwszInvalidChars)
  5025. #define IItemNameLimits_GetMaxLength(This,pszName,piMaxNameLen) \
  5026. (This)->lpVtbl -> GetMaxLength(This,pszName,piMaxNameLen)
  5027. #endif /* COBJMACROS */
  5028. #endif /* C style interface */
  5029. HRESULT STDMETHODCALLTYPE IItemNameLimits_GetValidCharacters_Proxy(
  5030. IItemNameLimits * This,
  5031. /* [out] */ LPWSTR *ppwszValidChars,
  5032. /* [out] */ LPWSTR *ppwszInvalidChars);
  5033. void __RPC_STUB IItemNameLimits_GetValidCharacters_Stub(
  5034. IRpcStubBuffer *This,
  5035. IRpcChannelBuffer *_pRpcChannelBuffer,
  5036. PRPC_MESSAGE _pRpcMessage,
  5037. DWORD *_pdwStubPhase);
  5038. HRESULT STDMETHODCALLTYPE IItemNameLimits_GetMaxLength_Proxy(
  5039. IItemNameLimits * This,
  5040. /* [in] */ LPCWSTR pszName,
  5041. /* [out] */ int *piMaxNameLen);
  5042. void __RPC_STUB IItemNameLimits_GetMaxLength_Stub(
  5043. IRpcStubBuffer *This,
  5044. IRpcChannelBuffer *_pRpcChannelBuffer,
  5045. PRPC_MESSAGE _pRpcMessage,
  5046. DWORD *_pdwStubPhase);
  5047. #endif /* __IItemNameLimits_INTERFACE_DEFINED__ */
  5048. /* interface __MIDL_itf_shobjidl_0220 */
  5049. /* [local] */
  5050. #define SNCF_REFRESHLIST 0x00000001 // refresh the list (eg. from F5 or opening a folder)
  5051. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0220_v0_0_c_ifspec;
  5052. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0220_v0_0_s_ifspec;
  5053. #ifndef __INetCrawler_INTERFACE_DEFINED__
  5054. #define __INetCrawler_INTERFACE_DEFINED__
  5055. /* interface INetCrawler */
  5056. /* [unique][object][uuid][helpstring] */
  5057. EXTERN_C const IID IID_INetCrawler;
  5058. #if defined(__cplusplus) && !defined(CINTERFACE)
  5059. MIDL_INTERFACE("49c929ee-a1b7-4c58-b539-e63be392b6f3")
  5060. INetCrawler : public IUnknown
  5061. {
  5062. public:
  5063. virtual HRESULT STDMETHODCALLTYPE Update(
  5064. /* [in] */ DWORD dwFlags) = 0;
  5065. };
  5066. #else /* C style interface */
  5067. typedef struct INetCrawlerVtbl
  5068. {
  5069. BEGIN_INTERFACE
  5070. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5071. INetCrawler * This,
  5072. /* [in] */ REFIID riid,
  5073. /* [iid_is][out] */ void **ppvObject);
  5074. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5075. INetCrawler * This);
  5076. ULONG ( STDMETHODCALLTYPE *Release )(
  5077. INetCrawler * This);
  5078. HRESULT ( STDMETHODCALLTYPE *Update )(
  5079. INetCrawler * This,
  5080. /* [in] */ DWORD dwFlags);
  5081. END_INTERFACE
  5082. } INetCrawlerVtbl;
  5083. interface INetCrawler
  5084. {
  5085. CONST_VTBL struct INetCrawlerVtbl *lpVtbl;
  5086. };
  5087. #ifdef COBJMACROS
  5088. #define INetCrawler_QueryInterface(This,riid,ppvObject) \
  5089. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5090. #define INetCrawler_AddRef(This) \
  5091. (This)->lpVtbl -> AddRef(This)
  5092. #define INetCrawler_Release(This) \
  5093. (This)->lpVtbl -> Release(This)
  5094. #define INetCrawler_Update(This,dwFlags) \
  5095. (This)->lpVtbl -> Update(This,dwFlags)
  5096. #endif /* COBJMACROS */
  5097. #endif /* C style interface */
  5098. HRESULT STDMETHODCALLTYPE INetCrawler_Update_Proxy(
  5099. INetCrawler * This,
  5100. /* [in] */ DWORD dwFlags);
  5101. void __RPC_STUB INetCrawler_Update_Stub(
  5102. IRpcStubBuffer *This,
  5103. IRpcChannelBuffer *_pRpcChannelBuffer,
  5104. PRPC_MESSAGE _pRpcMessage,
  5105. DWORD *_pdwStubPhase);
  5106. #endif /* __INetCrawler_INTERFACE_DEFINED__ */
  5107. /* interface __MIDL_itf_shobjidl_0221 */
  5108. /* [local] */
  5109. #if (_WIN32_IE >= 0x0400)
  5110. #define IEI_PRIORITY_MAX ITSAT_MAX_PRIORITY
  5111. #define IEI_PRIORITY_MIN ITSAT_MIN_PRIORITY
  5112. #define IEIT_PRIORITY_NORMAL ITSAT_DEFAULT_PRIORITY
  5113. #define IEIFLAG_ASYNC 0x0001 // ask the extractor if it supports ASYNC extract (free threaded)
  5114. #define IEIFLAG_CACHE 0x0002 // returned from the extractor if it does NOT cache the thumbnail
  5115. #define IEIFLAG_ASPECT 0x0004 // passed to the extractor to beg it to render to the aspect ratio of the supplied rect
  5116. #define IEIFLAG_OFFLINE 0x0008 // if the extractor shouldn't hit the net to get any content neede for the rendering
  5117. #define IEIFLAG_GLEAM 0x0010 // does the image have a gleam ? this will be returned if it does
  5118. #define IEIFLAG_SCREEN 0x0020 // render as if for the screen (this is exlusive with IEIFLAG_ASPECT )
  5119. #define IEIFLAG_ORIGSIZE 0x0040 // render to the approx size passed, but crop if neccessary
  5120. #define IEIFLAG_NOSTAMP 0x0080 // returned from the extractor if it does NOT want an icon stamp on the thumbnail
  5121. #define IEIFLAG_NOBORDER 0x0100 // returned from the extractor if it does NOT want an a border around the thumbnail
  5122. #define IEIFLAG_QUALITY 0x0200 // passed to the Extract method to indicate that a slower, higher quality image is desired, re-compute the thumbnail
  5123. #define IEIFLAG_REFRESH 0x0400 // returned from the extractor if it would like to have Refresh Thumbnail available
  5124. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0221_v0_0_c_ifspec;
  5125. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0221_v0_0_s_ifspec;
  5126. #ifndef __IExtractImage_INTERFACE_DEFINED__
  5127. #define __IExtractImage_INTERFACE_DEFINED__
  5128. /* interface IExtractImage */
  5129. /* [unique][object][uuid][helpstring] */
  5130. EXTERN_C const IID IID_IExtractImage;
  5131. #if defined(__cplusplus) && !defined(CINTERFACE)
  5132. MIDL_INTERFACE("BB2E617C-0920-11d1-9A0B-00C04FC2D6C1")
  5133. IExtractImage : public IUnknown
  5134. {
  5135. public:
  5136. virtual HRESULT STDMETHODCALLTYPE GetLocation(
  5137. /* [size_is][out] */ LPWSTR pszPathBuffer,
  5138. /* [in] */ DWORD cch,
  5139. /* [unique][out][in] */ DWORD *pdwPriority,
  5140. /* [in] */ const SIZE *prgSize,
  5141. /* [in] */ DWORD dwRecClrDepth,
  5142. /* [out][in] */ DWORD *pdwFlags) = 0;
  5143. virtual HRESULT STDMETHODCALLTYPE Extract(
  5144. /* [out] */ HBITMAP *phBmpThumbnail) = 0;
  5145. };
  5146. #else /* C style interface */
  5147. typedef struct IExtractImageVtbl
  5148. {
  5149. BEGIN_INTERFACE
  5150. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5151. IExtractImage * This,
  5152. /* [in] */ REFIID riid,
  5153. /* [iid_is][out] */ void **ppvObject);
  5154. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5155. IExtractImage * This);
  5156. ULONG ( STDMETHODCALLTYPE *Release )(
  5157. IExtractImage * This);
  5158. HRESULT ( STDMETHODCALLTYPE *GetLocation )(
  5159. IExtractImage * This,
  5160. /* [size_is][out] */ LPWSTR pszPathBuffer,
  5161. /* [in] */ DWORD cch,
  5162. /* [unique][out][in] */ DWORD *pdwPriority,
  5163. /* [in] */ const SIZE *prgSize,
  5164. /* [in] */ DWORD dwRecClrDepth,
  5165. /* [out][in] */ DWORD *pdwFlags);
  5166. HRESULT ( STDMETHODCALLTYPE *Extract )(
  5167. IExtractImage * This,
  5168. /* [out] */ HBITMAP *phBmpThumbnail);
  5169. END_INTERFACE
  5170. } IExtractImageVtbl;
  5171. interface IExtractImage
  5172. {
  5173. CONST_VTBL struct IExtractImageVtbl *lpVtbl;
  5174. };
  5175. #ifdef COBJMACROS
  5176. #define IExtractImage_QueryInterface(This,riid,ppvObject) \
  5177. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5178. #define IExtractImage_AddRef(This) \
  5179. (This)->lpVtbl -> AddRef(This)
  5180. #define IExtractImage_Release(This) \
  5181. (This)->lpVtbl -> Release(This)
  5182. #define IExtractImage_GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags) \
  5183. (This)->lpVtbl -> GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags)
  5184. #define IExtractImage_Extract(This,phBmpThumbnail) \
  5185. (This)->lpVtbl -> Extract(This,phBmpThumbnail)
  5186. #endif /* COBJMACROS */
  5187. #endif /* C style interface */
  5188. HRESULT STDMETHODCALLTYPE IExtractImage_GetLocation_Proxy(
  5189. IExtractImage * This,
  5190. /* [size_is][out] */ LPWSTR pszPathBuffer,
  5191. /* [in] */ DWORD cch,
  5192. /* [unique][out][in] */ DWORD *pdwPriority,
  5193. /* [in] */ const SIZE *prgSize,
  5194. /* [in] */ DWORD dwRecClrDepth,
  5195. /* [out][in] */ DWORD *pdwFlags);
  5196. void __RPC_STUB IExtractImage_GetLocation_Stub(
  5197. IRpcStubBuffer *This,
  5198. IRpcChannelBuffer *_pRpcChannelBuffer,
  5199. PRPC_MESSAGE _pRpcMessage,
  5200. DWORD *_pdwStubPhase);
  5201. HRESULT STDMETHODCALLTYPE IExtractImage_Extract_Proxy(
  5202. IExtractImage * This,
  5203. /* [out] */ HBITMAP *phBmpThumbnail);
  5204. void __RPC_STUB IExtractImage_Extract_Stub(
  5205. IRpcStubBuffer *This,
  5206. IRpcChannelBuffer *_pRpcChannelBuffer,
  5207. PRPC_MESSAGE _pRpcMessage,
  5208. DWORD *_pdwStubPhase);
  5209. #endif /* __IExtractImage_INTERFACE_DEFINED__ */
  5210. /* interface __MIDL_itf_shobjidl_0222 */
  5211. /* [local] */
  5212. typedef IExtractImage *LPEXTRACTIMAGE;
  5213. #endif
  5214. #if (_WIN32_IE >= 0x0500)
  5215. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0222_v0_0_c_ifspec;
  5216. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0222_v0_0_s_ifspec;
  5217. #ifndef __IExtractImage2_INTERFACE_DEFINED__
  5218. #define __IExtractImage2_INTERFACE_DEFINED__
  5219. /* interface IExtractImage2 */
  5220. /* [unique][object][uuid][helpstring] */
  5221. EXTERN_C const IID IID_IExtractImage2;
  5222. #if defined(__cplusplus) && !defined(CINTERFACE)
  5223. MIDL_INTERFACE("953BB1EE-93B4-11d1-98A3-00C04FB687DA")
  5224. IExtractImage2 : public IExtractImage
  5225. {
  5226. public:
  5227. virtual HRESULT STDMETHODCALLTYPE GetDateStamp(
  5228. /* [out] */ FILETIME *pDateStamp) = 0;
  5229. };
  5230. #else /* C style interface */
  5231. typedef struct IExtractImage2Vtbl
  5232. {
  5233. BEGIN_INTERFACE
  5234. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5235. IExtractImage2 * This,
  5236. /* [in] */ REFIID riid,
  5237. /* [iid_is][out] */ void **ppvObject);
  5238. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5239. IExtractImage2 * This);
  5240. ULONG ( STDMETHODCALLTYPE *Release )(
  5241. IExtractImage2 * This);
  5242. HRESULT ( STDMETHODCALLTYPE *GetLocation )(
  5243. IExtractImage2 * This,
  5244. /* [size_is][out] */ LPWSTR pszPathBuffer,
  5245. /* [in] */ DWORD cch,
  5246. /* [unique][out][in] */ DWORD *pdwPriority,
  5247. /* [in] */ const SIZE *prgSize,
  5248. /* [in] */ DWORD dwRecClrDepth,
  5249. /* [out][in] */ DWORD *pdwFlags);
  5250. HRESULT ( STDMETHODCALLTYPE *Extract )(
  5251. IExtractImage2 * This,
  5252. /* [out] */ HBITMAP *phBmpThumbnail);
  5253. HRESULT ( STDMETHODCALLTYPE *GetDateStamp )(
  5254. IExtractImage2 * This,
  5255. /* [out] */ FILETIME *pDateStamp);
  5256. END_INTERFACE
  5257. } IExtractImage2Vtbl;
  5258. interface IExtractImage2
  5259. {
  5260. CONST_VTBL struct IExtractImage2Vtbl *lpVtbl;
  5261. };
  5262. #ifdef COBJMACROS
  5263. #define IExtractImage2_QueryInterface(This,riid,ppvObject) \
  5264. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5265. #define IExtractImage2_AddRef(This) \
  5266. (This)->lpVtbl -> AddRef(This)
  5267. #define IExtractImage2_Release(This) \
  5268. (This)->lpVtbl -> Release(This)
  5269. #define IExtractImage2_GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags) \
  5270. (This)->lpVtbl -> GetLocation(This,pszPathBuffer,cch,pdwPriority,prgSize,dwRecClrDepth,pdwFlags)
  5271. #define IExtractImage2_Extract(This,phBmpThumbnail) \
  5272. (This)->lpVtbl -> Extract(This,phBmpThumbnail)
  5273. #define IExtractImage2_GetDateStamp(This,pDateStamp) \
  5274. (This)->lpVtbl -> GetDateStamp(This,pDateStamp)
  5275. #endif /* COBJMACROS */
  5276. #endif /* C style interface */
  5277. HRESULT STDMETHODCALLTYPE IExtractImage2_GetDateStamp_Proxy(
  5278. IExtractImage2 * This,
  5279. /* [out] */ FILETIME *pDateStamp);
  5280. void __RPC_STUB IExtractImage2_GetDateStamp_Stub(
  5281. IRpcStubBuffer *This,
  5282. IRpcChannelBuffer *_pRpcChannelBuffer,
  5283. PRPC_MESSAGE _pRpcMessage,
  5284. DWORD *_pdwStubPhase);
  5285. #endif /* __IExtractImage2_INTERFACE_DEFINED__ */
  5286. /* interface __MIDL_itf_shobjidl_0223 */
  5287. /* [local] */
  5288. typedef IExtractImage2 *LPEXTRACTIMAGE2;
  5289. #endif
  5290. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0223_v0_0_c_ifspec;
  5291. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0223_v0_0_s_ifspec;
  5292. #ifndef __IUserEventTimerCallback_INTERFACE_DEFINED__
  5293. #define __IUserEventTimerCallback_INTERFACE_DEFINED__
  5294. /* interface IUserEventTimerCallback */
  5295. /* [unique][object][uuid][helpstring] */
  5296. EXTERN_C const IID IID_IUserEventTimerCallback;
  5297. #if defined(__cplusplus) && !defined(CINTERFACE)
  5298. MIDL_INTERFACE("e9ead8e6-2a25-410e-9b58-a9fbef1dd1a2")
  5299. IUserEventTimerCallback : public IUnknown
  5300. {
  5301. public:
  5302. virtual HRESULT STDMETHODCALLTYPE UserEventTimerProc(
  5303. /* [in] */ ULONG uUserEventTimerID,
  5304. /* [in] */ UINT uTimerElapse) = 0;
  5305. };
  5306. #else /* C style interface */
  5307. typedef struct IUserEventTimerCallbackVtbl
  5308. {
  5309. BEGIN_INTERFACE
  5310. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5311. IUserEventTimerCallback * This,
  5312. /* [in] */ REFIID riid,
  5313. /* [iid_is][out] */ void **ppvObject);
  5314. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5315. IUserEventTimerCallback * This);
  5316. ULONG ( STDMETHODCALLTYPE *Release )(
  5317. IUserEventTimerCallback * This);
  5318. HRESULT ( STDMETHODCALLTYPE *UserEventTimerProc )(
  5319. IUserEventTimerCallback * This,
  5320. /* [in] */ ULONG uUserEventTimerID,
  5321. /* [in] */ UINT uTimerElapse);
  5322. END_INTERFACE
  5323. } IUserEventTimerCallbackVtbl;
  5324. interface IUserEventTimerCallback
  5325. {
  5326. CONST_VTBL struct IUserEventTimerCallbackVtbl *lpVtbl;
  5327. };
  5328. #ifdef COBJMACROS
  5329. #define IUserEventTimerCallback_QueryInterface(This,riid,ppvObject) \
  5330. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5331. #define IUserEventTimerCallback_AddRef(This) \
  5332. (This)->lpVtbl -> AddRef(This)
  5333. #define IUserEventTimerCallback_Release(This) \
  5334. (This)->lpVtbl -> Release(This)
  5335. #define IUserEventTimerCallback_UserEventTimerProc(This,uUserEventTimerID,uTimerElapse) \
  5336. (This)->lpVtbl -> UserEventTimerProc(This,uUserEventTimerID,uTimerElapse)
  5337. #endif /* COBJMACROS */
  5338. #endif /* C style interface */
  5339. HRESULT STDMETHODCALLTYPE IUserEventTimerCallback_UserEventTimerProc_Proxy(
  5340. IUserEventTimerCallback * This,
  5341. /* [in] */ ULONG uUserEventTimerID,
  5342. /* [in] */ UINT uTimerElapse);
  5343. void __RPC_STUB IUserEventTimerCallback_UserEventTimerProc_Stub(
  5344. IRpcStubBuffer *This,
  5345. IRpcChannelBuffer *_pRpcChannelBuffer,
  5346. PRPC_MESSAGE _pRpcMessage,
  5347. DWORD *_pdwStubPhase);
  5348. #endif /* __IUserEventTimerCallback_INTERFACE_DEFINED__ */
  5349. /* interface __MIDL_itf_shobjidl_0224 */
  5350. /* [local] */
  5351. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0224_v0_0_c_ifspec;
  5352. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0224_v0_0_s_ifspec;
  5353. #ifndef __IUserEventTimer_INTERFACE_DEFINED__
  5354. #define __IUserEventTimer_INTERFACE_DEFINED__
  5355. /* interface IUserEventTimer */
  5356. /* [unique][object][uuid][helpstring] */
  5357. EXTERN_C const IID IID_IUserEventTimer;
  5358. #if defined(__cplusplus) && !defined(CINTERFACE)
  5359. MIDL_INTERFACE("0F504B94-6E42-42E6-99E0-E20FAFE52AB4")
  5360. IUserEventTimer : public IUnknown
  5361. {
  5362. public:
  5363. virtual HRESULT STDMETHODCALLTYPE SetUserEventTimer(
  5364. /* [in] */ HWND hWnd,
  5365. /* [in] */ UINT uCallbackMessage,
  5366. /* [in] */ UINT uTimerElapse,
  5367. /* [in] */ IUserEventTimerCallback *pUserEventTimerCallback,
  5368. /* [out][in] */ ULONG *puUserEventTimerID) = 0;
  5369. virtual HRESULT STDMETHODCALLTYPE KillUserEventTimer(
  5370. /* [in] */ HWND hWnd,
  5371. /* [in] */ ULONG uUserEventTimerID) = 0;
  5372. virtual HRESULT STDMETHODCALLTYPE GetUserEventTimerElapsed(
  5373. /* [in] */ HWND hWnd,
  5374. /* [in] */ ULONG uUserEventTimerID,
  5375. /* [out] */ UINT *puTimerElapsed) = 0;
  5376. virtual HRESULT STDMETHODCALLTYPE InitTimerTickInterval(
  5377. /* [in] */ UINT uTimerTickIntervalMs) = 0;
  5378. };
  5379. #else /* C style interface */
  5380. typedef struct IUserEventTimerVtbl
  5381. {
  5382. BEGIN_INTERFACE
  5383. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5384. IUserEventTimer * This,
  5385. /* [in] */ REFIID riid,
  5386. /* [iid_is][out] */ void **ppvObject);
  5387. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5388. IUserEventTimer * This);
  5389. ULONG ( STDMETHODCALLTYPE *Release )(
  5390. IUserEventTimer * This);
  5391. HRESULT ( STDMETHODCALLTYPE *SetUserEventTimer )(
  5392. IUserEventTimer * This,
  5393. /* [in] */ HWND hWnd,
  5394. /* [in] */ UINT uCallbackMessage,
  5395. /* [in] */ UINT uTimerElapse,
  5396. /* [in] */ IUserEventTimerCallback *pUserEventTimerCallback,
  5397. /* [out][in] */ ULONG *puUserEventTimerID);
  5398. HRESULT ( STDMETHODCALLTYPE *KillUserEventTimer )(
  5399. IUserEventTimer * This,
  5400. /* [in] */ HWND hWnd,
  5401. /* [in] */ ULONG uUserEventTimerID);
  5402. HRESULT ( STDMETHODCALLTYPE *GetUserEventTimerElapsed )(
  5403. IUserEventTimer * This,
  5404. /* [in] */ HWND hWnd,
  5405. /* [in] */ ULONG uUserEventTimerID,
  5406. /* [out] */ UINT *puTimerElapsed);
  5407. HRESULT ( STDMETHODCALLTYPE *InitTimerTickInterval )(
  5408. IUserEventTimer * This,
  5409. /* [in] */ UINT uTimerTickIntervalMs);
  5410. END_INTERFACE
  5411. } IUserEventTimerVtbl;
  5412. interface IUserEventTimer
  5413. {
  5414. CONST_VTBL struct IUserEventTimerVtbl *lpVtbl;
  5415. };
  5416. #ifdef COBJMACROS
  5417. #define IUserEventTimer_QueryInterface(This,riid,ppvObject) \
  5418. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5419. #define IUserEventTimer_AddRef(This) \
  5420. (This)->lpVtbl -> AddRef(This)
  5421. #define IUserEventTimer_Release(This) \
  5422. (This)->lpVtbl -> Release(This)
  5423. #define IUserEventTimer_SetUserEventTimer(This,hWnd,uCallbackMessage,uTimerElapse,pUserEventTimerCallback,puUserEventTimerID) \
  5424. (This)->lpVtbl -> SetUserEventTimer(This,hWnd,uCallbackMessage,uTimerElapse,pUserEventTimerCallback,puUserEventTimerID)
  5425. #define IUserEventTimer_KillUserEventTimer(This,hWnd,uUserEventTimerID) \
  5426. (This)->lpVtbl -> KillUserEventTimer(This,hWnd,uUserEventTimerID)
  5427. #define IUserEventTimer_GetUserEventTimerElapsed(This,hWnd,uUserEventTimerID,puTimerElapsed) \
  5428. (This)->lpVtbl -> GetUserEventTimerElapsed(This,hWnd,uUserEventTimerID,puTimerElapsed)
  5429. #define IUserEventTimer_InitTimerTickInterval(This,uTimerTickIntervalMs) \
  5430. (This)->lpVtbl -> InitTimerTickInterval(This,uTimerTickIntervalMs)
  5431. #endif /* COBJMACROS */
  5432. #endif /* C style interface */
  5433. HRESULT STDMETHODCALLTYPE IUserEventTimer_SetUserEventTimer_Proxy(
  5434. IUserEventTimer * This,
  5435. /* [in] */ HWND hWnd,
  5436. /* [in] */ UINT uCallbackMessage,
  5437. /* [in] */ UINT uTimerElapse,
  5438. /* [in] */ IUserEventTimerCallback *pUserEventTimerCallback,
  5439. /* [out][in] */ ULONG *puUserEventTimerID);
  5440. void __RPC_STUB IUserEventTimer_SetUserEventTimer_Stub(
  5441. IRpcStubBuffer *This,
  5442. IRpcChannelBuffer *_pRpcChannelBuffer,
  5443. PRPC_MESSAGE _pRpcMessage,
  5444. DWORD *_pdwStubPhase);
  5445. HRESULT STDMETHODCALLTYPE IUserEventTimer_KillUserEventTimer_Proxy(
  5446. IUserEventTimer * This,
  5447. /* [in] */ HWND hWnd,
  5448. /* [in] */ ULONG uUserEventTimerID);
  5449. void __RPC_STUB IUserEventTimer_KillUserEventTimer_Stub(
  5450. IRpcStubBuffer *This,
  5451. IRpcChannelBuffer *_pRpcChannelBuffer,
  5452. PRPC_MESSAGE _pRpcMessage,
  5453. DWORD *_pdwStubPhase);
  5454. HRESULT STDMETHODCALLTYPE IUserEventTimer_GetUserEventTimerElapsed_Proxy(
  5455. IUserEventTimer * This,
  5456. /* [in] */ HWND hWnd,
  5457. /* [in] */ ULONG uUserEventTimerID,
  5458. /* [out] */ UINT *puTimerElapsed);
  5459. void __RPC_STUB IUserEventTimer_GetUserEventTimerElapsed_Stub(
  5460. IRpcStubBuffer *This,
  5461. IRpcChannelBuffer *_pRpcChannelBuffer,
  5462. PRPC_MESSAGE _pRpcMessage,
  5463. DWORD *_pdwStubPhase);
  5464. HRESULT STDMETHODCALLTYPE IUserEventTimer_InitTimerTickInterval_Proxy(
  5465. IUserEventTimer * This,
  5466. /* [in] */ UINT uTimerTickIntervalMs);
  5467. void __RPC_STUB IUserEventTimer_InitTimerTickInterval_Stub(
  5468. IRpcStubBuffer *This,
  5469. IRpcChannelBuffer *_pRpcChannelBuffer,
  5470. PRPC_MESSAGE _pRpcMessage,
  5471. DWORD *_pdwStubPhase);
  5472. #endif /* __IUserEventTimer_INTERFACE_DEFINED__ */
  5473. #ifndef __IDockingWindow_INTERFACE_DEFINED__
  5474. #define __IDockingWindow_INTERFACE_DEFINED__
  5475. /* interface IDockingWindow */
  5476. /* [object][uuid] */
  5477. EXTERN_C const IID IID_IDockingWindow;
  5478. #if defined(__cplusplus) && !defined(CINTERFACE)
  5479. MIDL_INTERFACE("012dd920-7b26-11d0-8ca9-00a0c92dbfe8")
  5480. IDockingWindow : public IOleWindow
  5481. {
  5482. public:
  5483. virtual HRESULT STDMETHODCALLTYPE ShowDW(
  5484. /* [in] */ BOOL fShow) = 0;
  5485. virtual HRESULT STDMETHODCALLTYPE CloseDW(
  5486. /* [in] */ DWORD dwReserved) = 0;
  5487. virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(
  5488. /* [in] */ LPCRECT prcBorder,
  5489. /* [in] */ IUnknown *punkToolbarSite,
  5490. /* [in] */ BOOL fReserved) = 0;
  5491. };
  5492. #else /* C style interface */
  5493. typedef struct IDockingWindowVtbl
  5494. {
  5495. BEGIN_INTERFACE
  5496. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5497. IDockingWindow * This,
  5498. /* [in] */ REFIID riid,
  5499. /* [iid_is][out] */ void **ppvObject);
  5500. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5501. IDockingWindow * This);
  5502. ULONG ( STDMETHODCALLTYPE *Release )(
  5503. IDockingWindow * This);
  5504. /* [input_sync] */ HRESULT ( STDMETHODCALLTYPE *GetWindow )(
  5505. IDockingWindow * This,
  5506. /* [out] */ HWND *phwnd);
  5507. HRESULT ( STDMETHODCALLTYPE *ContextSensitiveHelp )(
  5508. IDockingWindow * This,
  5509. /* [in] */ BOOL fEnterMode);
  5510. HRESULT ( STDMETHODCALLTYPE *ShowDW )(
  5511. IDockingWindow * This,
  5512. /* [in] */ BOOL fShow);
  5513. HRESULT ( STDMETHODCALLTYPE *CloseDW )(
  5514. IDockingWindow * This,
  5515. /* [in] */ DWORD dwReserved);
  5516. HRESULT ( STDMETHODCALLTYPE *ResizeBorderDW )(
  5517. IDockingWindow * This,
  5518. /* [in] */ LPCRECT prcBorder,
  5519. /* [in] */ IUnknown *punkToolbarSite,
  5520. /* [in] */ BOOL fReserved);
  5521. END_INTERFACE
  5522. } IDockingWindowVtbl;
  5523. interface IDockingWindow
  5524. {
  5525. CONST_VTBL struct IDockingWindowVtbl *lpVtbl;
  5526. };
  5527. #ifdef COBJMACROS
  5528. #define IDockingWindow_QueryInterface(This,riid,ppvObject) \
  5529. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5530. #define IDockingWindow_AddRef(This) \
  5531. (This)->lpVtbl -> AddRef(This)
  5532. #define IDockingWindow_Release(This) \
  5533. (This)->lpVtbl -> Release(This)
  5534. #define IDockingWindow_GetWindow(This,phwnd) \
  5535. (This)->lpVtbl -> GetWindow(This,phwnd)
  5536. #define IDockingWindow_ContextSensitiveHelp(This,fEnterMode) \
  5537. (This)->lpVtbl -> ContextSensitiveHelp(This,fEnterMode)
  5538. #define IDockingWindow_ShowDW(This,fShow) \
  5539. (This)->lpVtbl -> ShowDW(This,fShow)
  5540. #define IDockingWindow_CloseDW(This,dwReserved) \
  5541. (This)->lpVtbl -> CloseDW(This,dwReserved)
  5542. #define IDockingWindow_ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) \
  5543. (This)->lpVtbl -> ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved)
  5544. #endif /* COBJMACROS */
  5545. #endif /* C style interface */
  5546. HRESULT STDMETHODCALLTYPE IDockingWindow_ShowDW_Proxy(
  5547. IDockingWindow * This,
  5548. /* [in] */ BOOL fShow);
  5549. void __RPC_STUB IDockingWindow_ShowDW_Stub(
  5550. IRpcStubBuffer *This,
  5551. IRpcChannelBuffer *_pRpcChannelBuffer,
  5552. PRPC_MESSAGE _pRpcMessage,
  5553. DWORD *_pdwStubPhase);
  5554. HRESULT STDMETHODCALLTYPE IDockingWindow_CloseDW_Proxy(
  5555. IDockingWindow * This,
  5556. /* [in] */ DWORD dwReserved);
  5557. void __RPC_STUB IDockingWindow_CloseDW_Stub(
  5558. IRpcStubBuffer *This,
  5559. IRpcChannelBuffer *_pRpcChannelBuffer,
  5560. PRPC_MESSAGE _pRpcMessage,
  5561. DWORD *_pdwStubPhase);
  5562. HRESULT STDMETHODCALLTYPE IDockingWindow_ResizeBorderDW_Proxy(
  5563. IDockingWindow * This,
  5564. /* [in] */ LPCRECT prcBorder,
  5565. /* [in] */ IUnknown *punkToolbarSite,
  5566. /* [in] */ BOOL fReserved);
  5567. void __RPC_STUB IDockingWindow_ResizeBorderDW_Stub(
  5568. IRpcStubBuffer *This,
  5569. IRpcChannelBuffer *_pRpcChannelBuffer,
  5570. PRPC_MESSAGE _pRpcMessage,
  5571. DWORD *_pdwStubPhase);
  5572. #endif /* __IDockingWindow_INTERFACE_DEFINED__ */
  5573. /* interface __MIDL_itf_shobjidl_0226 */
  5574. /* [local] */
  5575. #define DBIM_MINSIZE 0x0001
  5576. #define DBIM_MAXSIZE 0x0002
  5577. #define DBIM_INTEGRAL 0x0004
  5578. #define DBIM_ACTUAL 0x0008
  5579. #define DBIM_TITLE 0x0010
  5580. #define DBIM_MODEFLAGS 0x0020
  5581. #define DBIM_BKCOLOR 0x0040
  5582. #include <pshpack8.h>
  5583. typedef /* [public][public] */ struct __MIDL___MIDL_itf_shobjidl_0226_0001
  5584. {
  5585. DWORD dwMask;
  5586. POINTL ptMinSize;
  5587. POINTL ptMaxSize;
  5588. POINTL ptIntegral;
  5589. POINTL ptActual;
  5590. WCHAR wszTitle[ 256 ];
  5591. DWORD dwModeFlags;
  5592. COLORREF crBkgnd;
  5593. } DESKBANDINFO;
  5594. #include <poppack.h>
  5595. #define DBIMF_NORMAL 0x0000
  5596. #define DBIMF_FIXED 0x0001
  5597. #define DBIMF_FIXEDBMP 0x0004 // a fixed background bitmap (if supported)
  5598. #define DBIMF_VARIABLEHEIGHT 0x0008
  5599. #define DBIMF_UNDELETEABLE 0x0010
  5600. #define DBIMF_DEBOSSED 0x0020
  5601. #define DBIMF_BKCOLOR 0x0040
  5602. #define DBIMF_USECHEVRON 0x0080
  5603. #define DBIMF_BREAK 0x0100
  5604. #define DBIMF_ADDTOFRONT 0x0200
  5605. #define DBIMF_TOPALIGN 0x0400
  5606. #define DBIF_VIEWMODE_NORMAL 0x0000
  5607. #define DBIF_VIEWMODE_VERTICAL 0x0001
  5608. #define DBIF_VIEWMODE_FLOATING 0x0002
  5609. #define DBIF_VIEWMODE_TRANSPARENT 0x0004
  5610. enum __MIDL___MIDL_itf_shobjidl_0226_0002
  5611. { DBID_BANDINFOCHANGED = 0,
  5612. DBID_SHOWONLY = 1,
  5613. DBID_MAXIMIZEBAND = 2,
  5614. DBID_PUSHCHEVRON = 3,
  5615. DBID_DELAYINIT = 4,
  5616. DBID_FINISHINIT = 5,
  5617. DBID_SETWINDOWTHEME = 6,
  5618. DBID_PERMITAUTOHIDE = 7
  5619. } ;
  5620. #define DBPC_SELECTFIRST (DWORD)-1
  5621. #define DBPC_SELECTLAST (DWORD)-2
  5622. #define CGID_DeskBand IID_IDeskBand
  5623. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0226_v0_0_c_ifspec;
  5624. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0226_v0_0_s_ifspec;
  5625. #ifndef __IDeskBand_INTERFACE_DEFINED__
  5626. #define __IDeskBand_INTERFACE_DEFINED__
  5627. /* interface IDeskBand */
  5628. /* [object][uuid] */
  5629. EXTERN_C const IID IID_IDeskBand;
  5630. #if defined(__cplusplus) && !defined(CINTERFACE)
  5631. MIDL_INTERFACE("EB0FE172-1A3A-11D0-89B3-00A0C90A90AC")
  5632. IDeskBand : public IDockingWindow
  5633. {
  5634. public:
  5635. virtual HRESULT STDMETHODCALLTYPE GetBandInfo(
  5636. /* [in] */ DWORD dwBandID,
  5637. /* [in] */ DWORD dwViewMode,
  5638. /* [out][in] */ DESKBANDINFO *pdbi) = 0;
  5639. };
  5640. #else /* C style interface */
  5641. typedef struct IDeskBandVtbl
  5642. {
  5643. BEGIN_INTERFACE
  5644. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5645. IDeskBand * This,
  5646. /* [in] */ REFIID riid,
  5647. /* [iid_is][out] */ void **ppvObject);
  5648. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5649. IDeskBand * This);
  5650. ULONG ( STDMETHODCALLTYPE *Release )(
  5651. IDeskBand * This);
  5652. /* [input_sync] */ HRESULT ( STDMETHODCALLTYPE *GetWindow )(
  5653. IDeskBand * This,
  5654. /* [out] */ HWND *phwnd);
  5655. HRESULT ( STDMETHODCALLTYPE *ContextSensitiveHelp )(
  5656. IDeskBand * This,
  5657. /* [in] */ BOOL fEnterMode);
  5658. HRESULT ( STDMETHODCALLTYPE *ShowDW )(
  5659. IDeskBand * This,
  5660. /* [in] */ BOOL fShow);
  5661. HRESULT ( STDMETHODCALLTYPE *CloseDW )(
  5662. IDeskBand * This,
  5663. /* [in] */ DWORD dwReserved);
  5664. HRESULT ( STDMETHODCALLTYPE *ResizeBorderDW )(
  5665. IDeskBand * This,
  5666. /* [in] */ LPCRECT prcBorder,
  5667. /* [in] */ IUnknown *punkToolbarSite,
  5668. /* [in] */ BOOL fReserved);
  5669. HRESULT ( STDMETHODCALLTYPE *GetBandInfo )(
  5670. IDeskBand * This,
  5671. /* [in] */ DWORD dwBandID,
  5672. /* [in] */ DWORD dwViewMode,
  5673. /* [out][in] */ DESKBANDINFO *pdbi);
  5674. END_INTERFACE
  5675. } IDeskBandVtbl;
  5676. interface IDeskBand
  5677. {
  5678. CONST_VTBL struct IDeskBandVtbl *lpVtbl;
  5679. };
  5680. #ifdef COBJMACROS
  5681. #define IDeskBand_QueryInterface(This,riid,ppvObject) \
  5682. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5683. #define IDeskBand_AddRef(This) \
  5684. (This)->lpVtbl -> AddRef(This)
  5685. #define IDeskBand_Release(This) \
  5686. (This)->lpVtbl -> Release(This)
  5687. #define IDeskBand_GetWindow(This,phwnd) \
  5688. (This)->lpVtbl -> GetWindow(This,phwnd)
  5689. #define IDeskBand_ContextSensitiveHelp(This,fEnterMode) \
  5690. (This)->lpVtbl -> ContextSensitiveHelp(This,fEnterMode)
  5691. #define IDeskBand_ShowDW(This,fShow) \
  5692. (This)->lpVtbl -> ShowDW(This,fShow)
  5693. #define IDeskBand_CloseDW(This,dwReserved) \
  5694. (This)->lpVtbl -> CloseDW(This,dwReserved)
  5695. #define IDeskBand_ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved) \
  5696. (This)->lpVtbl -> ResizeBorderDW(This,prcBorder,punkToolbarSite,fReserved)
  5697. #define IDeskBand_GetBandInfo(This,dwBandID,dwViewMode,pdbi) \
  5698. (This)->lpVtbl -> GetBandInfo(This,dwBandID,dwViewMode,pdbi)
  5699. #endif /* COBJMACROS */
  5700. #endif /* C style interface */
  5701. HRESULT STDMETHODCALLTYPE IDeskBand_GetBandInfo_Proxy(
  5702. IDeskBand * This,
  5703. /* [in] */ DWORD dwBandID,
  5704. /* [in] */ DWORD dwViewMode,
  5705. /* [out][in] */ DESKBANDINFO *pdbi);
  5706. void __RPC_STUB IDeskBand_GetBandInfo_Stub(
  5707. IRpcStubBuffer *This,
  5708. IRpcChannelBuffer *_pRpcChannelBuffer,
  5709. PRPC_MESSAGE _pRpcMessage,
  5710. DWORD *_pdwStubPhase);
  5711. #endif /* __IDeskBand_INTERFACE_DEFINED__ */
  5712. #ifndef __ITaskbarList_INTERFACE_DEFINED__
  5713. #define __ITaskbarList_INTERFACE_DEFINED__
  5714. /* interface ITaskbarList */
  5715. /* [object][uuid] */
  5716. EXTERN_C const IID IID_ITaskbarList;
  5717. #if defined(__cplusplus) && !defined(CINTERFACE)
  5718. MIDL_INTERFACE("56FDF342-FD6D-11d0-958A-006097C9A090")
  5719. ITaskbarList : public IUnknown
  5720. {
  5721. public:
  5722. virtual HRESULT STDMETHODCALLTYPE HrInit( void) = 0;
  5723. virtual HRESULT STDMETHODCALLTYPE AddTab(
  5724. /* [in] */ HWND hwnd) = 0;
  5725. virtual HRESULT STDMETHODCALLTYPE DeleteTab(
  5726. /* [in] */ HWND hwnd) = 0;
  5727. virtual HRESULT STDMETHODCALLTYPE ActivateTab(
  5728. /* [in] */ HWND hwnd) = 0;
  5729. virtual HRESULT STDMETHODCALLTYPE SetActiveAlt(
  5730. /* [in] */ HWND hwnd) = 0;
  5731. };
  5732. #else /* C style interface */
  5733. typedef struct ITaskbarListVtbl
  5734. {
  5735. BEGIN_INTERFACE
  5736. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5737. ITaskbarList * This,
  5738. /* [in] */ REFIID riid,
  5739. /* [iid_is][out] */ void **ppvObject);
  5740. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5741. ITaskbarList * This);
  5742. ULONG ( STDMETHODCALLTYPE *Release )(
  5743. ITaskbarList * This);
  5744. HRESULT ( STDMETHODCALLTYPE *HrInit )(
  5745. ITaskbarList * This);
  5746. HRESULT ( STDMETHODCALLTYPE *AddTab )(
  5747. ITaskbarList * This,
  5748. /* [in] */ HWND hwnd);
  5749. HRESULT ( STDMETHODCALLTYPE *DeleteTab )(
  5750. ITaskbarList * This,
  5751. /* [in] */ HWND hwnd);
  5752. HRESULT ( STDMETHODCALLTYPE *ActivateTab )(
  5753. ITaskbarList * This,
  5754. /* [in] */ HWND hwnd);
  5755. HRESULT ( STDMETHODCALLTYPE *SetActiveAlt )(
  5756. ITaskbarList * This,
  5757. /* [in] */ HWND hwnd);
  5758. END_INTERFACE
  5759. } ITaskbarListVtbl;
  5760. interface ITaskbarList
  5761. {
  5762. CONST_VTBL struct ITaskbarListVtbl *lpVtbl;
  5763. };
  5764. #ifdef COBJMACROS
  5765. #define ITaskbarList_QueryInterface(This,riid,ppvObject) \
  5766. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5767. #define ITaskbarList_AddRef(This) \
  5768. (This)->lpVtbl -> AddRef(This)
  5769. #define ITaskbarList_Release(This) \
  5770. (This)->lpVtbl -> Release(This)
  5771. #define ITaskbarList_HrInit(This) \
  5772. (This)->lpVtbl -> HrInit(This)
  5773. #define ITaskbarList_AddTab(This,hwnd) \
  5774. (This)->lpVtbl -> AddTab(This,hwnd)
  5775. #define ITaskbarList_DeleteTab(This,hwnd) \
  5776. (This)->lpVtbl -> DeleteTab(This,hwnd)
  5777. #define ITaskbarList_ActivateTab(This,hwnd) \
  5778. (This)->lpVtbl -> ActivateTab(This,hwnd)
  5779. #define ITaskbarList_SetActiveAlt(This,hwnd) \
  5780. (This)->lpVtbl -> SetActiveAlt(This,hwnd)
  5781. #endif /* COBJMACROS */
  5782. #endif /* C style interface */
  5783. HRESULT STDMETHODCALLTYPE ITaskbarList_HrInit_Proxy(
  5784. ITaskbarList * This);
  5785. void __RPC_STUB ITaskbarList_HrInit_Stub(
  5786. IRpcStubBuffer *This,
  5787. IRpcChannelBuffer *_pRpcChannelBuffer,
  5788. PRPC_MESSAGE _pRpcMessage,
  5789. DWORD *_pdwStubPhase);
  5790. HRESULT STDMETHODCALLTYPE ITaskbarList_AddTab_Proxy(
  5791. ITaskbarList * This,
  5792. /* [in] */ HWND hwnd);
  5793. void __RPC_STUB ITaskbarList_AddTab_Stub(
  5794. IRpcStubBuffer *This,
  5795. IRpcChannelBuffer *_pRpcChannelBuffer,
  5796. PRPC_MESSAGE _pRpcMessage,
  5797. DWORD *_pdwStubPhase);
  5798. HRESULT STDMETHODCALLTYPE ITaskbarList_DeleteTab_Proxy(
  5799. ITaskbarList * This,
  5800. /* [in] */ HWND hwnd);
  5801. void __RPC_STUB ITaskbarList_DeleteTab_Stub(
  5802. IRpcStubBuffer *This,
  5803. IRpcChannelBuffer *_pRpcChannelBuffer,
  5804. PRPC_MESSAGE _pRpcMessage,
  5805. DWORD *_pdwStubPhase);
  5806. HRESULT STDMETHODCALLTYPE ITaskbarList_ActivateTab_Proxy(
  5807. ITaskbarList * This,
  5808. /* [in] */ HWND hwnd);
  5809. void __RPC_STUB ITaskbarList_ActivateTab_Stub(
  5810. IRpcStubBuffer *This,
  5811. IRpcChannelBuffer *_pRpcChannelBuffer,
  5812. PRPC_MESSAGE _pRpcMessage,
  5813. DWORD *_pdwStubPhase);
  5814. HRESULT STDMETHODCALLTYPE ITaskbarList_SetActiveAlt_Proxy(
  5815. ITaskbarList * This,
  5816. /* [in] */ HWND hwnd);
  5817. void __RPC_STUB ITaskbarList_SetActiveAlt_Stub(
  5818. IRpcStubBuffer *This,
  5819. IRpcChannelBuffer *_pRpcChannelBuffer,
  5820. PRPC_MESSAGE _pRpcMessage,
  5821. DWORD *_pdwStubPhase);
  5822. #endif /* __ITaskbarList_INTERFACE_DEFINED__ */
  5823. #ifndef __ITaskbarList2_INTERFACE_DEFINED__
  5824. #define __ITaskbarList2_INTERFACE_DEFINED__
  5825. /* interface ITaskbarList2 */
  5826. /* [object][uuid] */
  5827. EXTERN_C const IID IID_ITaskbarList2;
  5828. #if defined(__cplusplus) && !defined(CINTERFACE)
  5829. MIDL_INTERFACE("602D4995-B13A-429b-A66E-1935E44F4317")
  5830. ITaskbarList2 : public ITaskbarList
  5831. {
  5832. public:
  5833. virtual HRESULT STDMETHODCALLTYPE MarkFullscreenWindow(
  5834. /* [in] */ HWND hwnd,
  5835. /* [in] */ BOOL fFullscreen) = 0;
  5836. };
  5837. #else /* C style interface */
  5838. typedef struct ITaskbarList2Vtbl
  5839. {
  5840. BEGIN_INTERFACE
  5841. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5842. ITaskbarList2 * This,
  5843. /* [in] */ REFIID riid,
  5844. /* [iid_is][out] */ void **ppvObject);
  5845. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5846. ITaskbarList2 * This);
  5847. ULONG ( STDMETHODCALLTYPE *Release )(
  5848. ITaskbarList2 * This);
  5849. HRESULT ( STDMETHODCALLTYPE *HrInit )(
  5850. ITaskbarList2 * This);
  5851. HRESULT ( STDMETHODCALLTYPE *AddTab )(
  5852. ITaskbarList2 * This,
  5853. /* [in] */ HWND hwnd);
  5854. HRESULT ( STDMETHODCALLTYPE *DeleteTab )(
  5855. ITaskbarList2 * This,
  5856. /* [in] */ HWND hwnd);
  5857. HRESULT ( STDMETHODCALLTYPE *ActivateTab )(
  5858. ITaskbarList2 * This,
  5859. /* [in] */ HWND hwnd);
  5860. HRESULT ( STDMETHODCALLTYPE *SetActiveAlt )(
  5861. ITaskbarList2 * This,
  5862. /* [in] */ HWND hwnd);
  5863. HRESULT ( STDMETHODCALLTYPE *MarkFullscreenWindow )(
  5864. ITaskbarList2 * This,
  5865. /* [in] */ HWND hwnd,
  5866. /* [in] */ BOOL fFullscreen);
  5867. END_INTERFACE
  5868. } ITaskbarList2Vtbl;
  5869. interface ITaskbarList2
  5870. {
  5871. CONST_VTBL struct ITaskbarList2Vtbl *lpVtbl;
  5872. };
  5873. #ifdef COBJMACROS
  5874. #define ITaskbarList2_QueryInterface(This,riid,ppvObject) \
  5875. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5876. #define ITaskbarList2_AddRef(This) \
  5877. (This)->lpVtbl -> AddRef(This)
  5878. #define ITaskbarList2_Release(This) \
  5879. (This)->lpVtbl -> Release(This)
  5880. #define ITaskbarList2_HrInit(This) \
  5881. (This)->lpVtbl -> HrInit(This)
  5882. #define ITaskbarList2_AddTab(This,hwnd) \
  5883. (This)->lpVtbl -> AddTab(This,hwnd)
  5884. #define ITaskbarList2_DeleteTab(This,hwnd) \
  5885. (This)->lpVtbl -> DeleteTab(This,hwnd)
  5886. #define ITaskbarList2_ActivateTab(This,hwnd) \
  5887. (This)->lpVtbl -> ActivateTab(This,hwnd)
  5888. #define ITaskbarList2_SetActiveAlt(This,hwnd) \
  5889. (This)->lpVtbl -> SetActiveAlt(This,hwnd)
  5890. #define ITaskbarList2_MarkFullscreenWindow(This,hwnd,fFullscreen) \
  5891. (This)->lpVtbl -> MarkFullscreenWindow(This,hwnd,fFullscreen)
  5892. #endif /* COBJMACROS */
  5893. #endif /* C style interface */
  5894. HRESULT STDMETHODCALLTYPE ITaskbarList2_MarkFullscreenWindow_Proxy(
  5895. ITaskbarList2 * This,
  5896. /* [in] */ HWND hwnd,
  5897. /* [in] */ BOOL fFullscreen);
  5898. void __RPC_STUB ITaskbarList2_MarkFullscreenWindow_Stub(
  5899. IRpcStubBuffer *This,
  5900. IRpcChannelBuffer *_pRpcChannelBuffer,
  5901. PRPC_MESSAGE _pRpcMessage,
  5902. DWORD *_pdwStubPhase);
  5903. #endif /* __ITaskbarList2_INTERFACE_DEFINED__ */
  5904. #ifndef __ICDBurn_INTERFACE_DEFINED__
  5905. #define __ICDBurn_INTERFACE_DEFINED__
  5906. /* interface ICDBurn */
  5907. /* [unique][uuid][object] */
  5908. EXTERN_C const IID IID_ICDBurn;
  5909. #if defined(__cplusplus) && !defined(CINTERFACE)
  5910. MIDL_INTERFACE("3d73a659-e5d0-4d42-afc0-5121ba425c8d")
  5911. ICDBurn : public IUnknown
  5912. {
  5913. public:
  5914. virtual HRESULT STDMETHODCALLTYPE GetRecorderDriveLetter(
  5915. /* [size_is][out] */ LPWSTR pszDrive,
  5916. /* [in] */ UINT cch) = 0;
  5917. virtual HRESULT STDMETHODCALLTYPE Burn(
  5918. /* [in] */ HWND hwnd) = 0;
  5919. virtual HRESULT STDMETHODCALLTYPE HasRecordableDrive(
  5920. /* [out] */ BOOL *pfHasRecorder) = 0;
  5921. };
  5922. #else /* C style interface */
  5923. typedef struct ICDBurnVtbl
  5924. {
  5925. BEGIN_INTERFACE
  5926. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5927. ICDBurn * This,
  5928. /* [in] */ REFIID riid,
  5929. /* [iid_is][out] */ void **ppvObject);
  5930. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5931. ICDBurn * This);
  5932. ULONG ( STDMETHODCALLTYPE *Release )(
  5933. ICDBurn * This);
  5934. HRESULT ( STDMETHODCALLTYPE *GetRecorderDriveLetter )(
  5935. ICDBurn * This,
  5936. /* [size_is][out] */ LPWSTR pszDrive,
  5937. /* [in] */ UINT cch);
  5938. HRESULT ( STDMETHODCALLTYPE *Burn )(
  5939. ICDBurn * This,
  5940. /* [in] */ HWND hwnd);
  5941. HRESULT ( STDMETHODCALLTYPE *HasRecordableDrive )(
  5942. ICDBurn * This,
  5943. /* [out] */ BOOL *pfHasRecorder);
  5944. END_INTERFACE
  5945. } ICDBurnVtbl;
  5946. interface ICDBurn
  5947. {
  5948. CONST_VTBL struct ICDBurnVtbl *lpVtbl;
  5949. };
  5950. #ifdef COBJMACROS
  5951. #define ICDBurn_QueryInterface(This,riid,ppvObject) \
  5952. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5953. #define ICDBurn_AddRef(This) \
  5954. (This)->lpVtbl -> AddRef(This)
  5955. #define ICDBurn_Release(This) \
  5956. (This)->lpVtbl -> Release(This)
  5957. #define ICDBurn_GetRecorderDriveLetter(This,pszDrive,cch) \
  5958. (This)->lpVtbl -> GetRecorderDriveLetter(This,pszDrive,cch)
  5959. #define ICDBurn_Burn(This,hwnd) \
  5960. (This)->lpVtbl -> Burn(This,hwnd)
  5961. #define ICDBurn_HasRecordableDrive(This,pfHasRecorder) \
  5962. (This)->lpVtbl -> HasRecordableDrive(This,pfHasRecorder)
  5963. #endif /* COBJMACROS */
  5964. #endif /* C style interface */
  5965. HRESULT STDMETHODCALLTYPE ICDBurn_GetRecorderDriveLetter_Proxy(
  5966. ICDBurn * This,
  5967. /* [size_is][out] */ LPWSTR pszDrive,
  5968. /* [in] */ UINT cch);
  5969. void __RPC_STUB ICDBurn_GetRecorderDriveLetter_Stub(
  5970. IRpcStubBuffer *This,
  5971. IRpcChannelBuffer *_pRpcChannelBuffer,
  5972. PRPC_MESSAGE _pRpcMessage,
  5973. DWORD *_pdwStubPhase);
  5974. HRESULT STDMETHODCALLTYPE ICDBurn_Burn_Proxy(
  5975. ICDBurn * This,
  5976. /* [in] */ HWND hwnd);
  5977. void __RPC_STUB ICDBurn_Burn_Stub(
  5978. IRpcStubBuffer *This,
  5979. IRpcChannelBuffer *_pRpcChannelBuffer,
  5980. PRPC_MESSAGE _pRpcMessage,
  5981. DWORD *_pdwStubPhase);
  5982. HRESULT STDMETHODCALLTYPE ICDBurn_HasRecordableDrive_Proxy(
  5983. ICDBurn * This,
  5984. /* [out] */ BOOL *pfHasRecorder);
  5985. void __RPC_STUB ICDBurn_HasRecordableDrive_Stub(
  5986. IRpcStubBuffer *This,
  5987. IRpcChannelBuffer *_pRpcChannelBuffer,
  5988. PRPC_MESSAGE _pRpcMessage,
  5989. DWORD *_pdwStubPhase);
  5990. #endif /* __ICDBurn_INTERFACE_DEFINED__ */
  5991. #ifndef __IAddressBarParser_INTERFACE_DEFINED__
  5992. #define __IAddressBarParser_INTERFACE_DEFINED__
  5993. /* interface IAddressBarParser */
  5994. /* [unique][object][uuid] */
  5995. EXTERN_C const IID IID_IAddressBarParser;
  5996. #if defined(__cplusplus) && !defined(CINTERFACE)
  5997. MIDL_INTERFACE("C9D81948-443A-40C7-945C-5E171B8C66B4")
  5998. IAddressBarParser : public IUnknown
  5999. {
  6000. public:
  6001. virtual HRESULT STDMETHODCALLTYPE ParseFromOutsideSource(
  6002. /* [string][in] */ LPCWSTR pcszUrlIn,
  6003. /* [in] */ DWORD dwParseFlags,
  6004. /* [out] */ BOOL *pfWasCorrected) = 0;
  6005. virtual HRESULT STDMETHODCALLTYPE GetUrl(
  6006. /* [size_is][out] */ LPWSTR pszUrlOut,
  6007. /* [in] */ DWORD cchUrlOutSize) = 0;
  6008. virtual HRESULT STDMETHODCALLTYPE SetUrl(
  6009. /* [string][in] */ LPCWSTR pcszUrlIn,
  6010. /* [in] */ DWORD dwGenType) = 0;
  6011. virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
  6012. /* [size_is][out] */ LPWSTR pszUrlOut,
  6013. /* [in] */ DWORD cchUrlOutSize) = 0;
  6014. virtual HRESULT STDMETHODCALLTYPE GetPidl(
  6015. /* [out] */ LPITEMIDLIST *ppidl) = 0;
  6016. virtual HRESULT STDMETHODCALLTYPE SetPidl(
  6017. /* [in] */ LPCITEMIDLIST pidl) = 0;
  6018. virtual HRESULT STDMETHODCALLTYPE GetArgs(
  6019. /* [size_is][out] */ LPWSTR pszArgsOut,
  6020. /* [in] */ DWORD cchArgsOutSize) = 0;
  6021. virtual HRESULT STDMETHODCALLTYPE AddPath(
  6022. /* [in] */ LPCITEMIDLIST pidl) = 0;
  6023. };
  6024. #else /* C style interface */
  6025. typedef struct IAddressBarParserVtbl
  6026. {
  6027. BEGIN_INTERFACE
  6028. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6029. IAddressBarParser * This,
  6030. /* [in] */ REFIID riid,
  6031. /* [iid_is][out] */ void **ppvObject);
  6032. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6033. IAddressBarParser * This);
  6034. ULONG ( STDMETHODCALLTYPE *Release )(
  6035. IAddressBarParser * This);
  6036. HRESULT ( STDMETHODCALLTYPE *ParseFromOutsideSource )(
  6037. IAddressBarParser * This,
  6038. /* [string][in] */ LPCWSTR pcszUrlIn,
  6039. /* [in] */ DWORD dwParseFlags,
  6040. /* [out] */ BOOL *pfWasCorrected);
  6041. HRESULT ( STDMETHODCALLTYPE *GetUrl )(
  6042. IAddressBarParser * This,
  6043. /* [size_is][out] */ LPWSTR pszUrlOut,
  6044. /* [in] */ DWORD cchUrlOutSize);
  6045. HRESULT ( STDMETHODCALLTYPE *SetUrl )(
  6046. IAddressBarParser * This,
  6047. /* [string][in] */ LPCWSTR pcszUrlIn,
  6048. /* [in] */ DWORD dwGenType);
  6049. HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
  6050. IAddressBarParser * This,
  6051. /* [size_is][out] */ LPWSTR pszUrlOut,
  6052. /* [in] */ DWORD cchUrlOutSize);
  6053. HRESULT ( STDMETHODCALLTYPE *GetPidl )(
  6054. IAddressBarParser * This,
  6055. /* [out] */ LPITEMIDLIST *ppidl);
  6056. HRESULT ( STDMETHODCALLTYPE *SetPidl )(
  6057. IAddressBarParser * This,
  6058. /* [in] */ LPCITEMIDLIST pidl);
  6059. HRESULT ( STDMETHODCALLTYPE *GetArgs )(
  6060. IAddressBarParser * This,
  6061. /* [size_is][out] */ LPWSTR pszArgsOut,
  6062. /* [in] */ DWORD cchArgsOutSize);
  6063. HRESULT ( STDMETHODCALLTYPE *AddPath )(
  6064. IAddressBarParser * This,
  6065. /* [in] */ LPCITEMIDLIST pidl);
  6066. END_INTERFACE
  6067. } IAddressBarParserVtbl;
  6068. interface IAddressBarParser
  6069. {
  6070. CONST_VTBL struct IAddressBarParserVtbl *lpVtbl;
  6071. };
  6072. #ifdef COBJMACROS
  6073. #define IAddressBarParser_QueryInterface(This,riid,ppvObject) \
  6074. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6075. #define IAddressBarParser_AddRef(This) \
  6076. (This)->lpVtbl -> AddRef(This)
  6077. #define IAddressBarParser_Release(This) \
  6078. (This)->lpVtbl -> Release(This)
  6079. #define IAddressBarParser_ParseFromOutsideSource(This,pcszUrlIn,dwParseFlags,pfWasCorrected) \
  6080. (This)->lpVtbl -> ParseFromOutsideSource(This,pcszUrlIn,dwParseFlags,pfWasCorrected)
  6081. #define IAddressBarParser_GetUrl(This,pszUrlOut,cchUrlOutSize) \
  6082. (This)->lpVtbl -> GetUrl(This,pszUrlOut,cchUrlOutSize)
  6083. #define IAddressBarParser_SetUrl(This,pcszUrlIn,dwGenType) \
  6084. (This)->lpVtbl -> SetUrl(This,pcszUrlIn,dwGenType)
  6085. #define IAddressBarParser_GetDisplayName(This,pszUrlOut,cchUrlOutSize) \
  6086. (This)->lpVtbl -> GetDisplayName(This,pszUrlOut,cchUrlOutSize)
  6087. #define IAddressBarParser_GetPidl(This,ppidl) \
  6088. (This)->lpVtbl -> GetPidl(This,ppidl)
  6089. #define IAddressBarParser_SetPidl(This,pidl) \
  6090. (This)->lpVtbl -> SetPidl(This,pidl)
  6091. #define IAddressBarParser_GetArgs(This,pszArgsOut,cchArgsOutSize) \
  6092. (This)->lpVtbl -> GetArgs(This,pszArgsOut,cchArgsOutSize)
  6093. #define IAddressBarParser_AddPath(This,pidl) \
  6094. (This)->lpVtbl -> AddPath(This,pidl)
  6095. #endif /* COBJMACROS */
  6096. #endif /* C style interface */
  6097. HRESULT STDMETHODCALLTYPE IAddressBarParser_ParseFromOutsideSource_Proxy(
  6098. IAddressBarParser * This,
  6099. /* [string][in] */ LPCWSTR pcszUrlIn,
  6100. /* [in] */ DWORD dwParseFlags,
  6101. /* [out] */ BOOL *pfWasCorrected);
  6102. void __RPC_STUB IAddressBarParser_ParseFromOutsideSource_Stub(
  6103. IRpcStubBuffer *This,
  6104. IRpcChannelBuffer *_pRpcChannelBuffer,
  6105. PRPC_MESSAGE _pRpcMessage,
  6106. DWORD *_pdwStubPhase);
  6107. HRESULT STDMETHODCALLTYPE IAddressBarParser_GetUrl_Proxy(
  6108. IAddressBarParser * This,
  6109. /* [size_is][out] */ LPWSTR pszUrlOut,
  6110. /* [in] */ DWORD cchUrlOutSize);
  6111. void __RPC_STUB IAddressBarParser_GetUrl_Stub(
  6112. IRpcStubBuffer *This,
  6113. IRpcChannelBuffer *_pRpcChannelBuffer,
  6114. PRPC_MESSAGE _pRpcMessage,
  6115. DWORD *_pdwStubPhase);
  6116. HRESULT STDMETHODCALLTYPE IAddressBarParser_SetUrl_Proxy(
  6117. IAddressBarParser * This,
  6118. /* [string][in] */ LPCWSTR pcszUrlIn,
  6119. /* [in] */ DWORD dwGenType);
  6120. void __RPC_STUB IAddressBarParser_SetUrl_Stub(
  6121. IRpcStubBuffer *This,
  6122. IRpcChannelBuffer *_pRpcChannelBuffer,
  6123. PRPC_MESSAGE _pRpcMessage,
  6124. DWORD *_pdwStubPhase);
  6125. HRESULT STDMETHODCALLTYPE IAddressBarParser_GetDisplayName_Proxy(
  6126. IAddressBarParser * This,
  6127. /* [size_is][out] */ LPWSTR pszUrlOut,
  6128. /* [in] */ DWORD cchUrlOutSize);
  6129. void __RPC_STUB IAddressBarParser_GetDisplayName_Stub(
  6130. IRpcStubBuffer *This,
  6131. IRpcChannelBuffer *_pRpcChannelBuffer,
  6132. PRPC_MESSAGE _pRpcMessage,
  6133. DWORD *_pdwStubPhase);
  6134. HRESULT STDMETHODCALLTYPE IAddressBarParser_GetPidl_Proxy(
  6135. IAddressBarParser * This,
  6136. /* [out] */ LPITEMIDLIST *ppidl);
  6137. void __RPC_STUB IAddressBarParser_GetPidl_Stub(
  6138. IRpcStubBuffer *This,
  6139. IRpcChannelBuffer *_pRpcChannelBuffer,
  6140. PRPC_MESSAGE _pRpcMessage,
  6141. DWORD *_pdwStubPhase);
  6142. HRESULT STDMETHODCALLTYPE IAddressBarParser_SetPidl_Proxy(
  6143. IAddressBarParser * This,
  6144. /* [in] */ LPCITEMIDLIST pidl);
  6145. void __RPC_STUB IAddressBarParser_SetPidl_Stub(
  6146. IRpcStubBuffer *This,
  6147. IRpcChannelBuffer *_pRpcChannelBuffer,
  6148. PRPC_MESSAGE _pRpcMessage,
  6149. DWORD *_pdwStubPhase);
  6150. HRESULT STDMETHODCALLTYPE IAddressBarParser_GetArgs_Proxy(
  6151. IAddressBarParser * This,
  6152. /* [size_is][out] */ LPWSTR pszArgsOut,
  6153. /* [in] */ DWORD cchArgsOutSize);
  6154. void __RPC_STUB IAddressBarParser_GetArgs_Stub(
  6155. IRpcStubBuffer *This,
  6156. IRpcChannelBuffer *_pRpcChannelBuffer,
  6157. PRPC_MESSAGE _pRpcMessage,
  6158. DWORD *_pdwStubPhase);
  6159. HRESULT STDMETHODCALLTYPE IAddressBarParser_AddPath_Proxy(
  6160. IAddressBarParser * This,
  6161. /* [in] */ LPCITEMIDLIST pidl);
  6162. void __RPC_STUB IAddressBarParser_AddPath_Stub(
  6163. IRpcStubBuffer *This,
  6164. IRpcChannelBuffer *_pRpcChannelBuffer,
  6165. PRPC_MESSAGE _pRpcMessage,
  6166. DWORD *_pdwStubPhase);
  6167. #endif /* __IAddressBarParser_INTERFACE_DEFINED__ */
  6168. /* interface __MIDL_itf_shobjidl_0231 */
  6169. /* [local] */
  6170. #define IDD_WIZEXTN_FIRST 0x5000
  6171. #define IDD_WIZEXTN_LAST 0x5100
  6172. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0231_v0_0_c_ifspec;
  6173. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0231_v0_0_s_ifspec;
  6174. #ifndef __IWizardSite_INTERFACE_DEFINED__
  6175. #define __IWizardSite_INTERFACE_DEFINED__
  6176. /* interface IWizardSite */
  6177. /* [object][local][helpstring][uuid] */
  6178. EXTERN_C const IID IID_IWizardSite;
  6179. #if defined(__cplusplus) && !defined(CINTERFACE)
  6180. MIDL_INTERFACE("88960f5b-422f-4e7b-8013-73415381c3c3")
  6181. IWizardSite : public IUnknown
  6182. {
  6183. public:
  6184. virtual HRESULT STDMETHODCALLTYPE GetPreviousPage(
  6185. /* [out] */ HPROPSHEETPAGE *phpage) = 0;
  6186. virtual HRESULT STDMETHODCALLTYPE GetNextPage(
  6187. /* [out] */ HPROPSHEETPAGE *phpage) = 0;
  6188. virtual HRESULT STDMETHODCALLTYPE GetCancelledPage(
  6189. /* [out] */ HPROPSHEETPAGE *phpage) = 0;
  6190. };
  6191. #else /* C style interface */
  6192. typedef struct IWizardSiteVtbl
  6193. {
  6194. BEGIN_INTERFACE
  6195. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6196. IWizardSite * This,
  6197. /* [in] */ REFIID riid,
  6198. /* [iid_is][out] */ void **ppvObject);
  6199. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6200. IWizardSite * This);
  6201. ULONG ( STDMETHODCALLTYPE *Release )(
  6202. IWizardSite * This);
  6203. HRESULT ( STDMETHODCALLTYPE *GetPreviousPage )(
  6204. IWizardSite * This,
  6205. /* [out] */ HPROPSHEETPAGE *phpage);
  6206. HRESULT ( STDMETHODCALLTYPE *GetNextPage )(
  6207. IWizardSite * This,
  6208. /* [out] */ HPROPSHEETPAGE *phpage);
  6209. HRESULT ( STDMETHODCALLTYPE *GetCancelledPage )(
  6210. IWizardSite * This,
  6211. /* [out] */ HPROPSHEETPAGE *phpage);
  6212. END_INTERFACE
  6213. } IWizardSiteVtbl;
  6214. interface IWizardSite
  6215. {
  6216. CONST_VTBL struct IWizardSiteVtbl *lpVtbl;
  6217. };
  6218. #ifdef COBJMACROS
  6219. #define IWizardSite_QueryInterface(This,riid,ppvObject) \
  6220. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6221. #define IWizardSite_AddRef(This) \
  6222. (This)->lpVtbl -> AddRef(This)
  6223. #define IWizardSite_Release(This) \
  6224. (This)->lpVtbl -> Release(This)
  6225. #define IWizardSite_GetPreviousPage(This,phpage) \
  6226. (This)->lpVtbl -> GetPreviousPage(This,phpage)
  6227. #define IWizardSite_GetNextPage(This,phpage) \
  6228. (This)->lpVtbl -> GetNextPage(This,phpage)
  6229. #define IWizardSite_GetCancelledPage(This,phpage) \
  6230. (This)->lpVtbl -> GetCancelledPage(This,phpage)
  6231. #endif /* COBJMACROS */
  6232. #endif /* C style interface */
  6233. HRESULT STDMETHODCALLTYPE IWizardSite_GetPreviousPage_Proxy(
  6234. IWizardSite * This,
  6235. /* [out] */ HPROPSHEETPAGE *phpage);
  6236. void __RPC_STUB IWizardSite_GetPreviousPage_Stub(
  6237. IRpcStubBuffer *This,
  6238. IRpcChannelBuffer *_pRpcChannelBuffer,
  6239. PRPC_MESSAGE _pRpcMessage,
  6240. DWORD *_pdwStubPhase);
  6241. HRESULT STDMETHODCALLTYPE IWizardSite_GetNextPage_Proxy(
  6242. IWizardSite * This,
  6243. /* [out] */ HPROPSHEETPAGE *phpage);
  6244. void __RPC_STUB IWizardSite_GetNextPage_Stub(
  6245. IRpcStubBuffer *This,
  6246. IRpcChannelBuffer *_pRpcChannelBuffer,
  6247. PRPC_MESSAGE _pRpcMessage,
  6248. DWORD *_pdwStubPhase);
  6249. HRESULT STDMETHODCALLTYPE IWizardSite_GetCancelledPage_Proxy(
  6250. IWizardSite * This,
  6251. /* [out] */ HPROPSHEETPAGE *phpage);
  6252. void __RPC_STUB IWizardSite_GetCancelledPage_Stub(
  6253. IRpcStubBuffer *This,
  6254. IRpcChannelBuffer *_pRpcChannelBuffer,
  6255. PRPC_MESSAGE _pRpcMessage,
  6256. DWORD *_pdwStubPhase);
  6257. #endif /* __IWizardSite_INTERFACE_DEFINED__ */
  6258. #ifndef __IWizardExtension_INTERFACE_DEFINED__
  6259. #define __IWizardExtension_INTERFACE_DEFINED__
  6260. /* interface IWizardExtension */
  6261. /* [object][local][helpstring][uuid] */
  6262. EXTERN_C const IID IID_IWizardExtension;
  6263. #if defined(__cplusplus) && !defined(CINTERFACE)
  6264. MIDL_INTERFACE("c02ea696-86cc-491e-9b23-74394a0444a8")
  6265. IWizardExtension : public IUnknown
  6266. {
  6267. public:
  6268. virtual HRESULT STDMETHODCALLTYPE AddPages(
  6269. /* [out][in] */ HPROPSHEETPAGE *aPages,
  6270. /* [in] */ UINT cPages,
  6271. /* [out] */ UINT *pnPagesAdded) = 0;
  6272. virtual HRESULT STDMETHODCALLTYPE GetFirstPage(
  6273. /* [out] */ HPROPSHEETPAGE *phpage) = 0;
  6274. virtual HRESULT STDMETHODCALLTYPE GetLastPage(
  6275. /* [out] */ HPROPSHEETPAGE *phpage) = 0;
  6276. };
  6277. #else /* C style interface */
  6278. typedef struct IWizardExtensionVtbl
  6279. {
  6280. BEGIN_INTERFACE
  6281. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6282. IWizardExtension * This,
  6283. /* [in] */ REFIID riid,
  6284. /* [iid_is][out] */ void **ppvObject);
  6285. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6286. IWizardExtension * This);
  6287. ULONG ( STDMETHODCALLTYPE *Release )(
  6288. IWizardExtension * This);
  6289. HRESULT ( STDMETHODCALLTYPE *AddPages )(
  6290. IWizardExtension * This,
  6291. /* [out][in] */ HPROPSHEETPAGE *aPages,
  6292. /* [in] */ UINT cPages,
  6293. /* [out] */ UINT *pnPagesAdded);
  6294. HRESULT ( STDMETHODCALLTYPE *GetFirstPage )(
  6295. IWizardExtension * This,
  6296. /* [out] */ HPROPSHEETPAGE *phpage);
  6297. HRESULT ( STDMETHODCALLTYPE *GetLastPage )(
  6298. IWizardExtension * This,
  6299. /* [out] */ HPROPSHEETPAGE *phpage);
  6300. END_INTERFACE
  6301. } IWizardExtensionVtbl;
  6302. interface IWizardExtension
  6303. {
  6304. CONST_VTBL struct IWizardExtensionVtbl *lpVtbl;
  6305. };
  6306. #ifdef COBJMACROS
  6307. #define IWizardExtension_QueryInterface(This,riid,ppvObject) \
  6308. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6309. #define IWizardExtension_AddRef(This) \
  6310. (This)->lpVtbl -> AddRef(This)
  6311. #define IWizardExtension_Release(This) \
  6312. (This)->lpVtbl -> Release(This)
  6313. #define IWizardExtension_AddPages(This,aPages,cPages,pnPagesAdded) \
  6314. (This)->lpVtbl -> AddPages(This,aPages,cPages,pnPagesAdded)
  6315. #define IWizardExtension_GetFirstPage(This,phpage) \
  6316. (This)->lpVtbl -> GetFirstPage(This,phpage)
  6317. #define IWizardExtension_GetLastPage(This,phpage) \
  6318. (This)->lpVtbl -> GetLastPage(This,phpage)
  6319. #endif /* COBJMACROS */
  6320. #endif /* C style interface */
  6321. HRESULT STDMETHODCALLTYPE IWizardExtension_AddPages_Proxy(
  6322. IWizardExtension * This,
  6323. /* [out][in] */ HPROPSHEETPAGE *aPages,
  6324. /* [in] */ UINT cPages,
  6325. /* [out] */ UINT *pnPagesAdded);
  6326. void __RPC_STUB IWizardExtension_AddPages_Stub(
  6327. IRpcStubBuffer *This,
  6328. IRpcChannelBuffer *_pRpcChannelBuffer,
  6329. PRPC_MESSAGE _pRpcMessage,
  6330. DWORD *_pdwStubPhase);
  6331. HRESULT STDMETHODCALLTYPE IWizardExtension_GetFirstPage_Proxy(
  6332. IWizardExtension * This,
  6333. /* [out] */ HPROPSHEETPAGE *phpage);
  6334. void __RPC_STUB IWizardExtension_GetFirstPage_Stub(
  6335. IRpcStubBuffer *This,
  6336. IRpcChannelBuffer *_pRpcChannelBuffer,
  6337. PRPC_MESSAGE _pRpcMessage,
  6338. DWORD *_pdwStubPhase);
  6339. HRESULT STDMETHODCALLTYPE IWizardExtension_GetLastPage_Proxy(
  6340. IWizardExtension * This,
  6341. /* [out] */ HPROPSHEETPAGE *phpage);
  6342. void __RPC_STUB IWizardExtension_GetLastPage_Stub(
  6343. IRpcStubBuffer *This,
  6344. IRpcChannelBuffer *_pRpcChannelBuffer,
  6345. PRPC_MESSAGE _pRpcMessage,
  6346. DWORD *_pdwStubPhase);
  6347. #endif /* __IWizardExtension_INTERFACE_DEFINED__ */
  6348. #ifndef __IWebWizardExtension_INTERFACE_DEFINED__
  6349. #define __IWebWizardExtension_INTERFACE_DEFINED__
  6350. /* interface IWebWizardExtension */
  6351. /* [unique][object][uuid][helpstring] */
  6352. EXTERN_C const IID IID_IWebWizardExtension;
  6353. #if defined(__cplusplus) && !defined(CINTERFACE)
  6354. MIDL_INTERFACE("0e6b3f66-98d1-48c0-a222-fbde74e2fbc5")
  6355. IWebWizardExtension : public IWizardExtension
  6356. {
  6357. public:
  6358. virtual HRESULT STDMETHODCALLTYPE SetInitialURL(
  6359. /* [string][in] */ LPCWSTR pszURL) = 0;
  6360. virtual HRESULT STDMETHODCALLTYPE SetErrorURL(
  6361. /* [string][in] */ LPCWSTR pszErrorURL) = 0;
  6362. };
  6363. #else /* C style interface */
  6364. typedef struct IWebWizardExtensionVtbl
  6365. {
  6366. BEGIN_INTERFACE
  6367. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6368. IWebWizardExtension * This,
  6369. /* [in] */ REFIID riid,
  6370. /* [iid_is][out] */ void **ppvObject);
  6371. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6372. IWebWizardExtension * This);
  6373. ULONG ( STDMETHODCALLTYPE *Release )(
  6374. IWebWizardExtension * This);
  6375. HRESULT ( STDMETHODCALLTYPE *AddPages )(
  6376. IWebWizardExtension * This,
  6377. /* [out][in] */ HPROPSHEETPAGE *aPages,
  6378. /* [in] */ UINT cPages,
  6379. /* [out] */ UINT *pnPagesAdded);
  6380. HRESULT ( STDMETHODCALLTYPE *GetFirstPage )(
  6381. IWebWizardExtension * This,
  6382. /* [out] */ HPROPSHEETPAGE *phpage);
  6383. HRESULT ( STDMETHODCALLTYPE *GetLastPage )(
  6384. IWebWizardExtension * This,
  6385. /* [out] */ HPROPSHEETPAGE *phpage);
  6386. HRESULT ( STDMETHODCALLTYPE *SetInitialURL )(
  6387. IWebWizardExtension * This,
  6388. /* [string][in] */ LPCWSTR pszURL);
  6389. HRESULT ( STDMETHODCALLTYPE *SetErrorURL )(
  6390. IWebWizardExtension * This,
  6391. /* [string][in] */ LPCWSTR pszErrorURL);
  6392. END_INTERFACE
  6393. } IWebWizardExtensionVtbl;
  6394. interface IWebWizardExtension
  6395. {
  6396. CONST_VTBL struct IWebWizardExtensionVtbl *lpVtbl;
  6397. };
  6398. #ifdef COBJMACROS
  6399. #define IWebWizardExtension_QueryInterface(This,riid,ppvObject) \
  6400. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6401. #define IWebWizardExtension_AddRef(This) \
  6402. (This)->lpVtbl -> AddRef(This)
  6403. #define IWebWizardExtension_Release(This) \
  6404. (This)->lpVtbl -> Release(This)
  6405. #define IWebWizardExtension_AddPages(This,aPages,cPages,pnPagesAdded) \
  6406. (This)->lpVtbl -> AddPages(This,aPages,cPages,pnPagesAdded)
  6407. #define IWebWizardExtension_GetFirstPage(This,phpage) \
  6408. (This)->lpVtbl -> GetFirstPage(This,phpage)
  6409. #define IWebWizardExtension_GetLastPage(This,phpage) \
  6410. (This)->lpVtbl -> GetLastPage(This,phpage)
  6411. #define IWebWizardExtension_SetInitialURL(This,pszURL) \
  6412. (This)->lpVtbl -> SetInitialURL(This,pszURL)
  6413. #define IWebWizardExtension_SetErrorURL(This,pszErrorURL) \
  6414. (This)->lpVtbl -> SetErrorURL(This,pszErrorURL)
  6415. #endif /* COBJMACROS */
  6416. #endif /* C style interface */
  6417. HRESULT STDMETHODCALLTYPE IWebWizardExtension_SetInitialURL_Proxy(
  6418. IWebWizardExtension * This,
  6419. /* [string][in] */ LPCWSTR pszURL);
  6420. void __RPC_STUB IWebWizardExtension_SetInitialURL_Stub(
  6421. IRpcStubBuffer *This,
  6422. IRpcChannelBuffer *_pRpcChannelBuffer,
  6423. PRPC_MESSAGE _pRpcMessage,
  6424. DWORD *_pdwStubPhase);
  6425. HRESULT STDMETHODCALLTYPE IWebWizardExtension_SetErrorURL_Proxy(
  6426. IWebWizardExtension * This,
  6427. /* [string][in] */ LPCWSTR pszErrorURL);
  6428. void __RPC_STUB IWebWizardExtension_SetErrorURL_Stub(
  6429. IRpcStubBuffer *This,
  6430. IRpcChannelBuffer *_pRpcChannelBuffer,
  6431. PRPC_MESSAGE _pRpcMessage,
  6432. DWORD *_pdwStubPhase);
  6433. #endif /* __IWebWizardExtension_INTERFACE_DEFINED__ */
  6434. /* interface __MIDL_itf_shobjidl_0234 */
  6435. /* [local] */
  6436. #define SID_WebWizardHost IID_IWebWizardExtension
  6437. #define SHPWHF_NORECOMPRESS 0x00000001 // don't allow/prompt for recompress of streams
  6438. #define SHPWHF_NONETPLACECREATE 0x00000002 // don't create a network place when transfer is complete
  6439. #define SHPWHF_NOFILESELECTOR 0x00000004 // don't show the file selector
  6440. #define SHPWHF_VALIDATEVIAWEBFOLDERS 0x00010000 // enable web folders to validate network places (ANP support)
  6441. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0234_v0_0_c_ifspec;
  6442. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0234_v0_0_s_ifspec;
  6443. #ifndef __IPublishingWizard_INTERFACE_DEFINED__
  6444. #define __IPublishingWizard_INTERFACE_DEFINED__
  6445. /* interface IPublishingWizard */
  6446. /* [unique][object][uuid][helpstring] */
  6447. EXTERN_C const IID IID_IPublishingWizard;
  6448. #if defined(__cplusplus) && !defined(CINTERFACE)
  6449. MIDL_INTERFACE("aa9198bb-ccec-472d-beed-19a4f6733f7a")
  6450. IPublishingWizard : public IWizardExtension
  6451. {
  6452. public:
  6453. virtual HRESULT STDMETHODCALLTYPE Initialize(
  6454. /* [in] */ IDataObject *pdo,
  6455. /* [in] */ DWORD dwOptions,
  6456. /* [string][in] */ LPCWSTR pszServiceProvider) = 0;
  6457. virtual HRESULT STDMETHODCALLTYPE GetTransferManifest(
  6458. /* [out] */ HRESULT *phrFromTransfer,
  6459. /* [out] */ IXMLDOMDocument **pdocManifest) = 0;
  6460. };
  6461. #else /* C style interface */
  6462. typedef struct IPublishingWizardVtbl
  6463. {
  6464. BEGIN_INTERFACE
  6465. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6466. IPublishingWizard * This,
  6467. /* [in] */ REFIID riid,
  6468. /* [iid_is][out] */ void **ppvObject);
  6469. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6470. IPublishingWizard * This);
  6471. ULONG ( STDMETHODCALLTYPE *Release )(
  6472. IPublishingWizard * This);
  6473. HRESULT ( STDMETHODCALLTYPE *AddPages )(
  6474. IPublishingWizard * This,
  6475. /* [out][in] */ HPROPSHEETPAGE *aPages,
  6476. /* [in] */ UINT cPages,
  6477. /* [out] */ UINT *pnPagesAdded);
  6478. HRESULT ( STDMETHODCALLTYPE *GetFirstPage )(
  6479. IPublishingWizard * This,
  6480. /* [out] */ HPROPSHEETPAGE *phpage);
  6481. HRESULT ( STDMETHODCALLTYPE *GetLastPage )(
  6482. IPublishingWizard * This,
  6483. /* [out] */ HPROPSHEETPAGE *phpage);
  6484. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  6485. IPublishingWizard * This,
  6486. /* [in] */ IDataObject *pdo,
  6487. /* [in] */ DWORD dwOptions,
  6488. /* [string][in] */ LPCWSTR pszServiceProvider);
  6489. HRESULT ( STDMETHODCALLTYPE *GetTransferManifest )(
  6490. IPublishingWizard * This,
  6491. /* [out] */ HRESULT *phrFromTransfer,
  6492. /* [out] */ IXMLDOMDocument **pdocManifest);
  6493. END_INTERFACE
  6494. } IPublishingWizardVtbl;
  6495. interface IPublishingWizard
  6496. {
  6497. CONST_VTBL struct IPublishingWizardVtbl *lpVtbl;
  6498. };
  6499. #ifdef COBJMACROS
  6500. #define IPublishingWizard_QueryInterface(This,riid,ppvObject) \
  6501. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6502. #define IPublishingWizard_AddRef(This) \
  6503. (This)->lpVtbl -> AddRef(This)
  6504. #define IPublishingWizard_Release(This) \
  6505. (This)->lpVtbl -> Release(This)
  6506. #define IPublishingWizard_AddPages(This,aPages,cPages,pnPagesAdded) \
  6507. (This)->lpVtbl -> AddPages(This,aPages,cPages,pnPagesAdded)
  6508. #define IPublishingWizard_GetFirstPage(This,phpage) \
  6509. (This)->lpVtbl -> GetFirstPage(This,phpage)
  6510. #define IPublishingWizard_GetLastPage(This,phpage) \
  6511. (This)->lpVtbl -> GetLastPage(This,phpage)
  6512. #define IPublishingWizard_Initialize(This,pdo,dwOptions,pszServiceProvider) \
  6513. (This)->lpVtbl -> Initialize(This,pdo,dwOptions,pszServiceProvider)
  6514. #define IPublishingWizard_GetTransferManifest(This,phrFromTransfer,pdocManifest) \
  6515. (This)->lpVtbl -> GetTransferManifest(This,phrFromTransfer,pdocManifest)
  6516. #endif /* COBJMACROS */
  6517. #endif /* C style interface */
  6518. HRESULT STDMETHODCALLTYPE IPublishingWizard_Initialize_Proxy(
  6519. IPublishingWizard * This,
  6520. /* [in] */ IDataObject *pdo,
  6521. /* [in] */ DWORD dwOptions,
  6522. /* [string][in] */ LPCWSTR pszServiceProvider);
  6523. void __RPC_STUB IPublishingWizard_Initialize_Stub(
  6524. IRpcStubBuffer *This,
  6525. IRpcChannelBuffer *_pRpcChannelBuffer,
  6526. PRPC_MESSAGE _pRpcMessage,
  6527. DWORD *_pdwStubPhase);
  6528. HRESULT STDMETHODCALLTYPE IPublishingWizard_GetTransferManifest_Proxy(
  6529. IPublishingWizard * This,
  6530. /* [out] */ HRESULT *phrFromTransfer,
  6531. /* [out] */ IXMLDOMDocument **pdocManifest);
  6532. void __RPC_STUB IPublishingWizard_GetTransferManifest_Stub(
  6533. IRpcStubBuffer *This,
  6534. IRpcChannelBuffer *_pRpcChannelBuffer,
  6535. PRPC_MESSAGE _pRpcMessage,
  6536. DWORD *_pdwStubPhase);
  6537. #endif /* __IPublishingWizard_INTERFACE_DEFINED__ */
  6538. #ifndef __IFolderViewHost_INTERFACE_DEFINED__
  6539. #define __IFolderViewHost_INTERFACE_DEFINED__
  6540. /* interface IFolderViewHost */
  6541. /* [object][local][helpstring][uuid] */
  6542. EXTERN_C const IID IID_IFolderViewHost;
  6543. #if defined(__cplusplus) && !defined(CINTERFACE)
  6544. MIDL_INTERFACE("1ea58f02-d55a-411d-b09e-9e65ac21605b")
  6545. IFolderViewHost : public IUnknown
  6546. {
  6547. public:
  6548. virtual HRESULT STDMETHODCALLTYPE Initialize(
  6549. /* [in] */ HWND hwndParent,
  6550. /* [in] */ IDataObject *pdo,
  6551. /* [in] */ RECT *prc) = 0;
  6552. };
  6553. #else /* C style interface */
  6554. typedef struct IFolderViewHostVtbl
  6555. {
  6556. BEGIN_INTERFACE
  6557. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6558. IFolderViewHost * This,
  6559. /* [in] */ REFIID riid,
  6560. /* [iid_is][out] */ void **ppvObject);
  6561. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6562. IFolderViewHost * This);
  6563. ULONG ( STDMETHODCALLTYPE *Release )(
  6564. IFolderViewHost * This);
  6565. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  6566. IFolderViewHost * This,
  6567. /* [in] */ HWND hwndParent,
  6568. /* [in] */ IDataObject *pdo,
  6569. /* [in] */ RECT *prc);
  6570. END_INTERFACE
  6571. } IFolderViewHostVtbl;
  6572. interface IFolderViewHost
  6573. {
  6574. CONST_VTBL struct IFolderViewHostVtbl *lpVtbl;
  6575. };
  6576. #ifdef COBJMACROS
  6577. #define IFolderViewHost_QueryInterface(This,riid,ppvObject) \
  6578. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6579. #define IFolderViewHost_AddRef(This) \
  6580. (This)->lpVtbl -> AddRef(This)
  6581. #define IFolderViewHost_Release(This) \
  6582. (This)->lpVtbl -> Release(This)
  6583. #define IFolderViewHost_Initialize(This,hwndParent,pdo,prc) \
  6584. (This)->lpVtbl -> Initialize(This,hwndParent,pdo,prc)
  6585. #endif /* COBJMACROS */
  6586. #endif /* C style interface */
  6587. HRESULT STDMETHODCALLTYPE IFolderViewHost_Initialize_Proxy(
  6588. IFolderViewHost * This,
  6589. /* [in] */ HWND hwndParent,
  6590. /* [in] */ IDataObject *pdo,
  6591. /* [in] */ RECT *prc);
  6592. void __RPC_STUB IFolderViewHost_Initialize_Stub(
  6593. IRpcStubBuffer *This,
  6594. IRpcChannelBuffer *_pRpcChannelBuffer,
  6595. PRPC_MESSAGE _pRpcMessage,
  6596. DWORD *_pdwStubPhase);
  6597. #endif /* __IFolderViewHost_INTERFACE_DEFINED__ */
  6598. /* interface __MIDL_itf_shobjidl_0236 */
  6599. /* [local] */
  6600. #define ACDD_VISIBLE 0x0001
  6601. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0236_v0_0_c_ifspec;
  6602. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0236_v0_0_s_ifspec;
  6603. #ifndef __IAutoCompleteDropDown_INTERFACE_DEFINED__
  6604. #define __IAutoCompleteDropDown_INTERFACE_DEFINED__
  6605. /* interface IAutoCompleteDropDown */
  6606. /* [unique][object][uuid] */
  6607. EXTERN_C const IID IID_IAutoCompleteDropDown;
  6608. #if defined(__cplusplus) && !defined(CINTERFACE)
  6609. MIDL_INTERFACE("3CD141F4-3C6A-11d2-BCAA-00C04FD929DB")
  6610. IAutoCompleteDropDown : public IUnknown
  6611. {
  6612. public:
  6613. virtual HRESULT STDMETHODCALLTYPE GetDropDownStatus(
  6614. /* [out] */ DWORD *pdwFlags,
  6615. /* [string][out] */ LPWSTR *ppwszString) = 0;
  6616. virtual HRESULT STDMETHODCALLTYPE ResetEnumerator( void) = 0;
  6617. };
  6618. #else /* C style interface */
  6619. typedef struct IAutoCompleteDropDownVtbl
  6620. {
  6621. BEGIN_INTERFACE
  6622. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6623. IAutoCompleteDropDown * This,
  6624. /* [in] */ REFIID riid,
  6625. /* [iid_is][out] */ void **ppvObject);
  6626. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6627. IAutoCompleteDropDown * This);
  6628. ULONG ( STDMETHODCALLTYPE *Release )(
  6629. IAutoCompleteDropDown * This);
  6630. HRESULT ( STDMETHODCALLTYPE *GetDropDownStatus )(
  6631. IAutoCompleteDropDown * This,
  6632. /* [out] */ DWORD *pdwFlags,
  6633. /* [string][out] */ LPWSTR *ppwszString);
  6634. HRESULT ( STDMETHODCALLTYPE *ResetEnumerator )(
  6635. IAutoCompleteDropDown * This);
  6636. END_INTERFACE
  6637. } IAutoCompleteDropDownVtbl;
  6638. interface IAutoCompleteDropDown
  6639. {
  6640. CONST_VTBL struct IAutoCompleteDropDownVtbl *lpVtbl;
  6641. };
  6642. #ifdef COBJMACROS
  6643. #define IAutoCompleteDropDown_QueryInterface(This,riid,ppvObject) \
  6644. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6645. #define IAutoCompleteDropDown_AddRef(This) \
  6646. (This)->lpVtbl -> AddRef(This)
  6647. #define IAutoCompleteDropDown_Release(This) \
  6648. (This)->lpVtbl -> Release(This)
  6649. #define IAutoCompleteDropDown_GetDropDownStatus(This,pdwFlags,ppwszString) \
  6650. (This)->lpVtbl -> GetDropDownStatus(This,pdwFlags,ppwszString)
  6651. #define IAutoCompleteDropDown_ResetEnumerator(This) \
  6652. (This)->lpVtbl -> ResetEnumerator(This)
  6653. #endif /* COBJMACROS */
  6654. #endif /* C style interface */
  6655. HRESULT STDMETHODCALLTYPE IAutoCompleteDropDown_GetDropDownStatus_Proxy(
  6656. IAutoCompleteDropDown * This,
  6657. /* [out] */ DWORD *pdwFlags,
  6658. /* [string][out] */ LPWSTR *ppwszString);
  6659. void __RPC_STUB IAutoCompleteDropDown_GetDropDownStatus_Stub(
  6660. IRpcStubBuffer *This,
  6661. IRpcChannelBuffer *_pRpcChannelBuffer,
  6662. PRPC_MESSAGE _pRpcMessage,
  6663. DWORD *_pdwStubPhase);
  6664. HRESULT STDMETHODCALLTYPE IAutoCompleteDropDown_ResetEnumerator_Proxy(
  6665. IAutoCompleteDropDown * This);
  6666. void __RPC_STUB IAutoCompleteDropDown_ResetEnumerator_Stub(
  6667. IRpcStubBuffer *This,
  6668. IRpcChannelBuffer *_pRpcChannelBuffer,
  6669. PRPC_MESSAGE _pRpcMessage,
  6670. DWORD *_pdwStubPhase);
  6671. #endif /* __IAutoCompleteDropDown_INTERFACE_DEFINED__ */
  6672. /* interface __MIDL_itf_shobjidl_0237 */
  6673. /* [local] */
  6674. #define PPW_LAUNCHEDBYUSER 0x00000001 // The wizard was launch explicitly by the user, not on demand by the key manager
  6675. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0237_v0_0_c_ifspec;
  6676. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0237_v0_0_s_ifspec;
  6677. #ifndef __IModalWindow_INTERFACE_DEFINED__
  6678. #define __IModalWindow_INTERFACE_DEFINED__
  6679. /* interface IModalWindow */
  6680. /* [unique][object][uuid][helpstring] */
  6681. EXTERN_C const IID IID_IModalWindow;
  6682. #if defined(__cplusplus) && !defined(CINTERFACE)
  6683. MIDL_INTERFACE("b4db1657-70d7-485e-8e3e-6fcb5a5c1802")
  6684. IModalWindow : public IUnknown
  6685. {
  6686. public:
  6687. virtual HRESULT STDMETHODCALLTYPE Show(
  6688. /* [in] */ HWND hwndParent) = 0;
  6689. };
  6690. #else /* C style interface */
  6691. typedef struct IModalWindowVtbl
  6692. {
  6693. BEGIN_INTERFACE
  6694. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6695. IModalWindow * This,
  6696. /* [in] */ REFIID riid,
  6697. /* [iid_is][out] */ void **ppvObject);
  6698. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6699. IModalWindow * This);
  6700. ULONG ( STDMETHODCALLTYPE *Release )(
  6701. IModalWindow * This);
  6702. HRESULT ( STDMETHODCALLTYPE *Show )(
  6703. IModalWindow * This,
  6704. /* [in] */ HWND hwndParent);
  6705. END_INTERFACE
  6706. } IModalWindowVtbl;
  6707. interface IModalWindow
  6708. {
  6709. CONST_VTBL struct IModalWindowVtbl *lpVtbl;
  6710. };
  6711. #ifdef COBJMACROS
  6712. #define IModalWindow_QueryInterface(This,riid,ppvObject) \
  6713. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6714. #define IModalWindow_AddRef(This) \
  6715. (This)->lpVtbl -> AddRef(This)
  6716. #define IModalWindow_Release(This) \
  6717. (This)->lpVtbl -> Release(This)
  6718. #define IModalWindow_Show(This,hwndParent) \
  6719. (This)->lpVtbl -> Show(This,hwndParent)
  6720. #endif /* COBJMACROS */
  6721. #endif /* C style interface */
  6722. HRESULT STDMETHODCALLTYPE IModalWindow_Show_Proxy(
  6723. IModalWindow * This,
  6724. /* [in] */ HWND hwndParent);
  6725. void __RPC_STUB IModalWindow_Show_Stub(
  6726. IRpcStubBuffer *This,
  6727. IRpcChannelBuffer *_pRpcChannelBuffer,
  6728. PRPC_MESSAGE _pRpcMessage,
  6729. DWORD *_pdwStubPhase);
  6730. #endif /* __IModalWindow_INTERFACE_DEFINED__ */
  6731. #ifndef __IPassportWizard_INTERFACE_DEFINED__
  6732. #define __IPassportWizard_INTERFACE_DEFINED__
  6733. /* interface IPassportWizard */
  6734. /* [unique][object][uuid][helpstring] */
  6735. EXTERN_C const IID IID_IPassportWizard;
  6736. #if defined(__cplusplus) && !defined(CINTERFACE)
  6737. MIDL_INTERFACE("a09db586-9180-41ac-9114-460a7f362b76")
  6738. IPassportWizard : public IModalWindow
  6739. {
  6740. public:
  6741. virtual HRESULT STDMETHODCALLTYPE SetOptions(
  6742. /* [in] */ DWORD dwOptions) = 0;
  6743. };
  6744. #else /* C style interface */
  6745. typedef struct IPassportWizardVtbl
  6746. {
  6747. BEGIN_INTERFACE
  6748. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6749. IPassportWizard * This,
  6750. /* [in] */ REFIID riid,
  6751. /* [iid_is][out] */ void **ppvObject);
  6752. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6753. IPassportWizard * This);
  6754. ULONG ( STDMETHODCALLTYPE *Release )(
  6755. IPassportWizard * This);
  6756. HRESULT ( STDMETHODCALLTYPE *Show )(
  6757. IPassportWizard * This,
  6758. /* [in] */ HWND hwndParent);
  6759. HRESULT ( STDMETHODCALLTYPE *SetOptions )(
  6760. IPassportWizard * This,
  6761. /* [in] */ DWORD dwOptions);
  6762. END_INTERFACE
  6763. } IPassportWizardVtbl;
  6764. interface IPassportWizard
  6765. {
  6766. CONST_VTBL struct IPassportWizardVtbl *lpVtbl;
  6767. };
  6768. #ifdef COBJMACROS
  6769. #define IPassportWizard_QueryInterface(This,riid,ppvObject) \
  6770. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6771. #define IPassportWizard_AddRef(This) \
  6772. (This)->lpVtbl -> AddRef(This)
  6773. #define IPassportWizard_Release(This) \
  6774. (This)->lpVtbl -> Release(This)
  6775. #define IPassportWizard_Show(This,hwndParent) \
  6776. (This)->lpVtbl -> Show(This,hwndParent)
  6777. #define IPassportWizard_SetOptions(This,dwOptions) \
  6778. (This)->lpVtbl -> SetOptions(This,dwOptions)
  6779. #endif /* COBJMACROS */
  6780. #endif /* C style interface */
  6781. HRESULT STDMETHODCALLTYPE IPassportWizard_SetOptions_Proxy(
  6782. IPassportWizard * This,
  6783. /* [in] */ DWORD dwOptions);
  6784. void __RPC_STUB IPassportWizard_SetOptions_Stub(
  6785. IRpcStubBuffer *This,
  6786. IRpcChannelBuffer *_pRpcChannelBuffer,
  6787. PRPC_MESSAGE _pRpcMessage,
  6788. DWORD *_pdwStubPhase);
  6789. #endif /* __IPassportWizard_INTERFACE_DEFINED__ */
  6790. #ifndef __IContextMenuSite_INTERFACE_DEFINED__
  6791. #define __IContextMenuSite_INTERFACE_DEFINED__
  6792. /* interface IContextMenuSite */
  6793. /* [unique][object][uuid] */
  6794. EXTERN_C const IID IID_IContextMenuSite;
  6795. #if defined(__cplusplus) && !defined(CINTERFACE)
  6796. MIDL_INTERFACE("0811AEBE-0B87-4C54-9E72-548CF649016B")
  6797. IContextMenuSite : public IUnknown
  6798. {
  6799. public:
  6800. virtual HRESULT STDMETHODCALLTYPE DoContextMenuPopup(
  6801. /* [in] */ IUnknown *punkContextMenu,
  6802. /* [in] */ UINT fFlags,
  6803. /* [in] */ POINT pt) = 0;
  6804. };
  6805. #else /* C style interface */
  6806. typedef struct IContextMenuSiteVtbl
  6807. {
  6808. BEGIN_INTERFACE
  6809. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6810. IContextMenuSite * This,
  6811. /* [in] */ REFIID riid,
  6812. /* [iid_is][out] */ void **ppvObject);
  6813. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6814. IContextMenuSite * This);
  6815. ULONG ( STDMETHODCALLTYPE *Release )(
  6816. IContextMenuSite * This);
  6817. HRESULT ( STDMETHODCALLTYPE *DoContextMenuPopup )(
  6818. IContextMenuSite * This,
  6819. /* [in] */ IUnknown *punkContextMenu,
  6820. /* [in] */ UINT fFlags,
  6821. /* [in] */ POINT pt);
  6822. END_INTERFACE
  6823. } IContextMenuSiteVtbl;
  6824. interface IContextMenuSite
  6825. {
  6826. CONST_VTBL struct IContextMenuSiteVtbl *lpVtbl;
  6827. };
  6828. #ifdef COBJMACROS
  6829. #define IContextMenuSite_QueryInterface(This,riid,ppvObject) \
  6830. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6831. #define IContextMenuSite_AddRef(This) \
  6832. (This)->lpVtbl -> AddRef(This)
  6833. #define IContextMenuSite_Release(This) \
  6834. (This)->lpVtbl -> Release(This)
  6835. #define IContextMenuSite_DoContextMenuPopup(This,punkContextMenu,fFlags,pt) \
  6836. (This)->lpVtbl -> DoContextMenuPopup(This,punkContextMenu,fFlags,pt)
  6837. #endif /* COBJMACROS */
  6838. #endif /* C style interface */
  6839. HRESULT STDMETHODCALLTYPE IContextMenuSite_DoContextMenuPopup_Proxy(
  6840. IContextMenuSite * This,
  6841. /* [in] */ IUnknown *punkContextMenu,
  6842. /* [in] */ UINT fFlags,
  6843. /* [in] */ POINT pt);
  6844. void __RPC_STUB IContextMenuSite_DoContextMenuPopup_Stub(
  6845. IRpcStubBuffer *This,
  6846. IRpcChannelBuffer *_pRpcChannelBuffer,
  6847. PRPC_MESSAGE _pRpcMessage,
  6848. DWORD *_pdwStubPhase);
  6849. #endif /* __IContextMenuSite_INTERFACE_DEFINED__ */
  6850. /* interface __MIDL_itf_shobjidl_0239 */
  6851. /* [local] */
  6852. #define SID_SContextMenuSite IID_IContextMenuSite
  6853. typedef void ( *PFDVENUMREADYBALLBACK )(
  6854. LPVOID pvData);
  6855. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0239_v0_0_c_ifspec;
  6856. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0239_v0_0_s_ifspec;
  6857. #ifndef __IDVGetEnum_INTERFACE_DEFINED__
  6858. #define __IDVGetEnum_INTERFACE_DEFINED__
  6859. /* interface IDVGetEnum */
  6860. /* [object][local][helpstring][uuid] */
  6861. EXTERN_C const IID IID_IDVGetEnum;
  6862. #if defined(__cplusplus) && !defined(CINTERFACE)
  6863. MIDL_INTERFACE("70F55181-5FEA-4900-B6B8-7343CB0A348C")
  6864. IDVGetEnum : public IUnknown
  6865. {
  6866. public:
  6867. virtual HRESULT STDMETHODCALLTYPE SetEnumReadyCallback(
  6868. /* [in] */ PFDVENUMREADYBALLBACK pfn,
  6869. /* [in] */ LPVOID pvData) = 0;
  6870. virtual HRESULT STDMETHODCALLTYPE CreateEnumIDListFromContents(
  6871. /* [in] */ LPCITEMIDLIST pidlFolder,
  6872. /* [in] */ DWORD dwEnumFlags,
  6873. /* [out] */ IEnumIDList **ppEnumIDList) = 0;
  6874. };
  6875. #else /* C style interface */
  6876. typedef struct IDVGetEnumVtbl
  6877. {
  6878. BEGIN_INTERFACE
  6879. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6880. IDVGetEnum * This,
  6881. /* [in] */ REFIID riid,
  6882. /* [iid_is][out] */ void **ppvObject);
  6883. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6884. IDVGetEnum * This);
  6885. ULONG ( STDMETHODCALLTYPE *Release )(
  6886. IDVGetEnum * This);
  6887. HRESULT ( STDMETHODCALLTYPE *SetEnumReadyCallback )(
  6888. IDVGetEnum * This,
  6889. /* [in] */ PFDVENUMREADYBALLBACK pfn,
  6890. /* [in] */ LPVOID pvData);
  6891. HRESULT ( STDMETHODCALLTYPE *CreateEnumIDListFromContents )(
  6892. IDVGetEnum * This,
  6893. /* [in] */ LPCITEMIDLIST pidlFolder,
  6894. /* [in] */ DWORD dwEnumFlags,
  6895. /* [out] */ IEnumIDList **ppEnumIDList);
  6896. END_INTERFACE
  6897. } IDVGetEnumVtbl;
  6898. interface IDVGetEnum
  6899. {
  6900. CONST_VTBL struct IDVGetEnumVtbl *lpVtbl;
  6901. };
  6902. #ifdef COBJMACROS
  6903. #define IDVGetEnum_QueryInterface(This,riid,ppvObject) \
  6904. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6905. #define IDVGetEnum_AddRef(This) \
  6906. (This)->lpVtbl -> AddRef(This)
  6907. #define IDVGetEnum_Release(This) \
  6908. (This)->lpVtbl -> Release(This)
  6909. #define IDVGetEnum_SetEnumReadyCallback(This,pfn,pvData) \
  6910. (This)->lpVtbl -> SetEnumReadyCallback(This,pfn,pvData)
  6911. #define IDVGetEnum_CreateEnumIDListFromContents(This,pidlFolder,dwEnumFlags,ppEnumIDList) \
  6912. (This)->lpVtbl -> CreateEnumIDListFromContents(This,pidlFolder,dwEnumFlags,ppEnumIDList)
  6913. #endif /* COBJMACROS */
  6914. #endif /* C style interface */
  6915. HRESULT STDMETHODCALLTYPE IDVGetEnum_SetEnumReadyCallback_Proxy(
  6916. IDVGetEnum * This,
  6917. /* [in] */ PFDVENUMREADYBALLBACK pfn,
  6918. /* [in] */ LPVOID pvData);
  6919. void __RPC_STUB IDVGetEnum_SetEnumReadyCallback_Stub(
  6920. IRpcStubBuffer *This,
  6921. IRpcChannelBuffer *_pRpcChannelBuffer,
  6922. PRPC_MESSAGE _pRpcMessage,
  6923. DWORD *_pdwStubPhase);
  6924. HRESULT STDMETHODCALLTYPE IDVGetEnum_CreateEnumIDListFromContents_Proxy(
  6925. IDVGetEnum * This,
  6926. /* [in] */ LPCITEMIDLIST pidlFolder,
  6927. /* [in] */ DWORD dwEnumFlags,
  6928. /* [out] */ IEnumIDList **ppEnumIDList);
  6929. void __RPC_STUB IDVGetEnum_CreateEnumIDListFromContents_Stub(
  6930. IRpcStubBuffer *This,
  6931. IRpcChannelBuffer *_pRpcChannelBuffer,
  6932. PRPC_MESSAGE _pRpcMessage,
  6933. DWORD *_pdwStubPhase);
  6934. #endif /* __IDVGetEnum_INTERFACE_DEFINED__ */
  6935. #ifndef __IInsertItem_INTERFACE_DEFINED__
  6936. #define __IInsertItem_INTERFACE_DEFINED__
  6937. /* interface IInsertItem */
  6938. /* [local][object][uuid][helpstring] */
  6939. EXTERN_C const IID IID_IInsertItem;
  6940. #if defined(__cplusplus) && !defined(CINTERFACE)
  6941. MIDL_INTERFACE("D2B57227-3D23-4b95-93C0-492BD454C356")
  6942. IInsertItem : public IUnknown
  6943. {
  6944. public:
  6945. virtual HRESULT STDMETHODCALLTYPE InsertItem(
  6946. /* [in] */ LPCITEMIDLIST pidl) = 0;
  6947. };
  6948. #else /* C style interface */
  6949. typedef struct IInsertItemVtbl
  6950. {
  6951. BEGIN_INTERFACE
  6952. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6953. IInsertItem * This,
  6954. /* [in] */ REFIID riid,
  6955. /* [iid_is][out] */ void **ppvObject);
  6956. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6957. IInsertItem * This);
  6958. ULONG ( STDMETHODCALLTYPE *Release )(
  6959. IInsertItem * This);
  6960. HRESULT ( STDMETHODCALLTYPE *InsertItem )(
  6961. IInsertItem * This,
  6962. /* [in] */ LPCITEMIDLIST pidl);
  6963. END_INTERFACE
  6964. } IInsertItemVtbl;
  6965. interface IInsertItem
  6966. {
  6967. CONST_VTBL struct IInsertItemVtbl *lpVtbl;
  6968. };
  6969. #ifdef COBJMACROS
  6970. #define IInsertItem_QueryInterface(This,riid,ppvObject) \
  6971. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6972. #define IInsertItem_AddRef(This) \
  6973. (This)->lpVtbl -> AddRef(This)
  6974. #define IInsertItem_Release(This) \
  6975. (This)->lpVtbl -> Release(This)
  6976. #define IInsertItem_InsertItem(This,pidl) \
  6977. (This)->lpVtbl -> InsertItem(This,pidl)
  6978. #endif /* COBJMACROS */
  6979. #endif /* C style interface */
  6980. HRESULT STDMETHODCALLTYPE IInsertItem_InsertItem_Proxy(
  6981. IInsertItem * This,
  6982. /* [in] */ LPCITEMIDLIST pidl);
  6983. void __RPC_STUB IInsertItem_InsertItem_Stub(
  6984. IRpcStubBuffer *This,
  6985. IRpcChannelBuffer *_pRpcChannelBuffer,
  6986. PRPC_MESSAGE _pRpcMessage,
  6987. DWORD *_pdwStubPhase);
  6988. #endif /* __IInsertItem_INTERFACE_DEFINED__ */
  6989. #ifndef __IDeskBar_INTERFACE_DEFINED__
  6990. #define __IDeskBar_INTERFACE_DEFINED__
  6991. /* interface IDeskBar */
  6992. /* [local][unique][object][uuid] */
  6993. EXTERN_C const IID IID_IDeskBar;
  6994. #if defined(__cplusplus) && !defined(CINTERFACE)
  6995. MIDL_INTERFACE("EB0FE173-1A3A-11D0-89B3-00A0C90A90AC")
  6996. IDeskBar : public IOleWindow
  6997. {
  6998. public:
  6999. virtual HRESULT STDMETHODCALLTYPE SetClient(
  7000. /* [in] */ IUnknown *punkClient) = 0;
  7001. virtual HRESULT STDMETHODCALLTYPE GetClient(
  7002. /* [out] */ IUnknown **ppunkClient) = 0;
  7003. virtual HRESULT STDMETHODCALLTYPE OnPosRectChangeDB(
  7004. /* [in] */ LPRECT prc) = 0;
  7005. };
  7006. #else /* C style interface */
  7007. typedef struct IDeskBarVtbl
  7008. {
  7009. BEGIN_INTERFACE
  7010. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7011. IDeskBar * This,
  7012. /* [in] */ REFIID riid,
  7013. /* [iid_is][out] */ void **ppvObject);
  7014. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7015. IDeskBar * This);
  7016. ULONG ( STDMETHODCALLTYPE *Release )(
  7017. IDeskBar * This);
  7018. /* [input_sync] */ HRESULT ( STDMETHODCALLTYPE *GetWindow )(
  7019. IDeskBar * This,
  7020. /* [out] */ HWND *phwnd);
  7021. HRESULT ( STDMETHODCALLTYPE *ContextSensitiveHelp )(
  7022. IDeskBar * This,
  7023. /* [in] */ BOOL fEnterMode);
  7024. HRESULT ( STDMETHODCALLTYPE *SetClient )(
  7025. IDeskBar * This,
  7026. /* [in] */ IUnknown *punkClient);
  7027. HRESULT ( STDMETHODCALLTYPE *GetClient )(
  7028. IDeskBar * This,
  7029. /* [out] */ IUnknown **ppunkClient);
  7030. HRESULT ( STDMETHODCALLTYPE *OnPosRectChangeDB )(
  7031. IDeskBar * This,
  7032. /* [in] */ LPRECT prc);
  7033. END_INTERFACE
  7034. } IDeskBarVtbl;
  7035. interface IDeskBar
  7036. {
  7037. CONST_VTBL struct IDeskBarVtbl *lpVtbl;
  7038. };
  7039. #ifdef COBJMACROS
  7040. #define IDeskBar_QueryInterface(This,riid,ppvObject) \
  7041. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7042. #define IDeskBar_AddRef(This) \
  7043. (This)->lpVtbl -> AddRef(This)
  7044. #define IDeskBar_Release(This) \
  7045. (This)->lpVtbl -> Release(This)
  7046. #define IDeskBar_GetWindow(This,phwnd) \
  7047. (This)->lpVtbl -> GetWindow(This,phwnd)
  7048. #define IDeskBar_ContextSensitiveHelp(This,fEnterMode) \
  7049. (This)->lpVtbl -> ContextSensitiveHelp(This,fEnterMode)
  7050. #define IDeskBar_SetClient(This,punkClient) \
  7051. (This)->lpVtbl -> SetClient(This,punkClient)
  7052. #define IDeskBar_GetClient(This,ppunkClient) \
  7053. (This)->lpVtbl -> GetClient(This,ppunkClient)
  7054. #define IDeskBar_OnPosRectChangeDB(This,prc) \
  7055. (This)->lpVtbl -> OnPosRectChangeDB(This,prc)
  7056. #endif /* COBJMACROS */
  7057. #endif /* C style interface */
  7058. HRESULT STDMETHODCALLTYPE IDeskBar_SetClient_Proxy(
  7059. IDeskBar * This,
  7060. /* [in] */ IUnknown *punkClient);
  7061. void __RPC_STUB IDeskBar_SetClient_Stub(
  7062. IRpcStubBuffer *This,
  7063. IRpcChannelBuffer *_pRpcChannelBuffer,
  7064. PRPC_MESSAGE _pRpcMessage,
  7065. DWORD *_pdwStubPhase);
  7066. HRESULT STDMETHODCALLTYPE IDeskBar_GetClient_Proxy(
  7067. IDeskBar * This,
  7068. /* [out] */ IUnknown **ppunkClient);
  7069. void __RPC_STUB IDeskBar_GetClient_Stub(
  7070. IRpcStubBuffer *This,
  7071. IRpcChannelBuffer *_pRpcChannelBuffer,
  7072. PRPC_MESSAGE _pRpcMessage,
  7073. DWORD *_pdwStubPhase);
  7074. HRESULT STDMETHODCALLTYPE IDeskBar_OnPosRectChangeDB_Proxy(
  7075. IDeskBar * This,
  7076. /* [in] */ LPRECT prc);
  7077. void __RPC_STUB IDeskBar_OnPosRectChangeDB_Stub(
  7078. IRpcStubBuffer *This,
  7079. IRpcChannelBuffer *_pRpcChannelBuffer,
  7080. PRPC_MESSAGE _pRpcMessage,
  7081. DWORD *_pdwStubPhase);
  7082. #endif /* __IDeskBar_INTERFACE_DEFINED__ */
  7083. #ifndef __IMenuBand_INTERFACE_DEFINED__
  7084. #define __IMenuBand_INTERFACE_DEFINED__
  7085. /* interface IMenuBand */
  7086. /* [local][unique][object][uuid] */
  7087. enum __MIDL_IMenuBand_0001
  7088. { MBHANDCID_PIDLSELECT = 0
  7089. } ;
  7090. EXTERN_C const IID IID_IMenuBand;
  7091. #if defined(__cplusplus) && !defined(CINTERFACE)
  7092. MIDL_INTERFACE("568804CD-CBD7-11d0-9816-00C04FD91972")
  7093. IMenuBand : public IUnknown
  7094. {
  7095. public:
  7096. virtual HRESULT STDMETHODCALLTYPE IsMenuMessage(
  7097. /* [in] */ MSG *pmsg) = 0;
  7098. virtual HRESULT STDMETHODCALLTYPE TranslateMenuMessage(
  7099. /* [out][in] */ MSG *pmsg,
  7100. /* [out] */ LRESULT *plRet) = 0;
  7101. };
  7102. #else /* C style interface */
  7103. typedef struct IMenuBandVtbl
  7104. {
  7105. BEGIN_INTERFACE
  7106. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7107. IMenuBand * This,
  7108. /* [in] */ REFIID riid,
  7109. /* [iid_is][out] */ void **ppvObject);
  7110. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7111. IMenuBand * This);
  7112. ULONG ( STDMETHODCALLTYPE *Release )(
  7113. IMenuBand * This);
  7114. HRESULT ( STDMETHODCALLTYPE *IsMenuMessage )(
  7115. IMenuBand * This,
  7116. /* [in] */ MSG *pmsg);
  7117. HRESULT ( STDMETHODCALLTYPE *TranslateMenuMessage )(
  7118. IMenuBand * This,
  7119. /* [out][in] */ MSG *pmsg,
  7120. /* [out] */ LRESULT *plRet);
  7121. END_INTERFACE
  7122. } IMenuBandVtbl;
  7123. interface IMenuBand
  7124. {
  7125. CONST_VTBL struct IMenuBandVtbl *lpVtbl;
  7126. };
  7127. #ifdef COBJMACROS
  7128. #define IMenuBand_QueryInterface(This,riid,ppvObject) \
  7129. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7130. #define IMenuBand_AddRef(This) \
  7131. (This)->lpVtbl -> AddRef(This)
  7132. #define IMenuBand_Release(This) \
  7133. (This)->lpVtbl -> Release(This)
  7134. #define IMenuBand_IsMenuMessage(This,pmsg) \
  7135. (This)->lpVtbl -> IsMenuMessage(This,pmsg)
  7136. #define IMenuBand_TranslateMenuMessage(This,pmsg,plRet) \
  7137. (This)->lpVtbl -> TranslateMenuMessage(This,pmsg,plRet)
  7138. #endif /* COBJMACROS */
  7139. #endif /* C style interface */
  7140. HRESULT STDMETHODCALLTYPE IMenuBand_IsMenuMessage_Proxy(
  7141. IMenuBand * This,
  7142. /* [in] */ MSG *pmsg);
  7143. void __RPC_STUB IMenuBand_IsMenuMessage_Stub(
  7144. IRpcStubBuffer *This,
  7145. IRpcChannelBuffer *_pRpcChannelBuffer,
  7146. PRPC_MESSAGE _pRpcMessage,
  7147. DWORD *_pdwStubPhase);
  7148. HRESULT STDMETHODCALLTYPE IMenuBand_TranslateMenuMessage_Proxy(
  7149. IMenuBand * This,
  7150. /* [out][in] */ MSG *pmsg,
  7151. /* [out] */ LRESULT *plRet);
  7152. void __RPC_STUB IMenuBand_TranslateMenuMessage_Stub(
  7153. IRpcStubBuffer *This,
  7154. IRpcChannelBuffer *_pRpcChannelBuffer,
  7155. PRPC_MESSAGE _pRpcMessage,
  7156. DWORD *_pdwStubPhase);
  7157. #endif /* __IMenuBand_INTERFACE_DEFINED__ */
  7158. #ifndef __IFolderBandPriv_INTERFACE_DEFINED__
  7159. #define __IFolderBandPriv_INTERFACE_DEFINED__
  7160. /* interface IFolderBandPriv */
  7161. /* [unique][uuid][object] */
  7162. EXTERN_C const IID IID_IFolderBandPriv;
  7163. #if defined(__cplusplus) && !defined(CINTERFACE)
  7164. MIDL_INTERFACE("47c01f95-e185-412c-b5c5-4f27df965aea")
  7165. IFolderBandPriv : public IUnknown
  7166. {
  7167. public:
  7168. virtual HRESULT STDMETHODCALLTYPE SetCascade(
  7169. /* [in] */ BOOL f) = 0;
  7170. virtual HRESULT STDMETHODCALLTYPE SetAccelerators(
  7171. /* [in] */ BOOL f) = 0;
  7172. virtual HRESULT STDMETHODCALLTYPE SetNoIcons(
  7173. /* [in] */ BOOL f) = 0;
  7174. virtual HRESULT STDMETHODCALLTYPE SetNoText(
  7175. /* [in] */ BOOL f) = 0;
  7176. };
  7177. #else /* C style interface */
  7178. typedef struct IFolderBandPrivVtbl
  7179. {
  7180. BEGIN_INTERFACE
  7181. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7182. IFolderBandPriv * This,
  7183. /* [in] */ REFIID riid,
  7184. /* [iid_is][out] */ void **ppvObject);
  7185. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7186. IFolderBandPriv * This);
  7187. ULONG ( STDMETHODCALLTYPE *Release )(
  7188. IFolderBandPriv * This);
  7189. HRESULT ( STDMETHODCALLTYPE *SetCascade )(
  7190. IFolderBandPriv * This,
  7191. /* [in] */ BOOL f);
  7192. HRESULT ( STDMETHODCALLTYPE *SetAccelerators )(
  7193. IFolderBandPriv * This,
  7194. /* [in] */ BOOL f);
  7195. HRESULT ( STDMETHODCALLTYPE *SetNoIcons )(
  7196. IFolderBandPriv * This,
  7197. /* [in] */ BOOL f);
  7198. HRESULT ( STDMETHODCALLTYPE *SetNoText )(
  7199. IFolderBandPriv * This,
  7200. /* [in] */ BOOL f);
  7201. END_INTERFACE
  7202. } IFolderBandPrivVtbl;
  7203. interface IFolderBandPriv
  7204. {
  7205. CONST_VTBL struct IFolderBandPrivVtbl *lpVtbl;
  7206. };
  7207. #ifdef COBJMACROS
  7208. #define IFolderBandPriv_QueryInterface(This,riid,ppvObject) \
  7209. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7210. #define IFolderBandPriv_AddRef(This) \
  7211. (This)->lpVtbl -> AddRef(This)
  7212. #define IFolderBandPriv_Release(This) \
  7213. (This)->lpVtbl -> Release(This)
  7214. #define IFolderBandPriv_SetCascade(This,f) \
  7215. (This)->lpVtbl -> SetCascade(This,f)
  7216. #define IFolderBandPriv_SetAccelerators(This,f) \
  7217. (This)->lpVtbl -> SetAccelerators(This,f)
  7218. #define IFolderBandPriv_SetNoIcons(This,f) \
  7219. (This)->lpVtbl -> SetNoIcons(This,f)
  7220. #define IFolderBandPriv_SetNoText(This,f) \
  7221. (This)->lpVtbl -> SetNoText(This,f)
  7222. #endif /* COBJMACROS */
  7223. #endif /* C style interface */
  7224. HRESULT STDMETHODCALLTYPE IFolderBandPriv_SetCascade_Proxy(
  7225. IFolderBandPriv * This,
  7226. /* [in] */ BOOL f);
  7227. void __RPC_STUB IFolderBandPriv_SetCascade_Stub(
  7228. IRpcStubBuffer *This,
  7229. IRpcChannelBuffer *_pRpcChannelBuffer,
  7230. PRPC_MESSAGE _pRpcMessage,
  7231. DWORD *_pdwStubPhase);
  7232. HRESULT STDMETHODCALLTYPE IFolderBandPriv_SetAccelerators_Proxy(
  7233. IFolderBandPriv * This,
  7234. /* [in] */ BOOL f);
  7235. void __RPC_STUB IFolderBandPriv_SetAccelerators_Stub(
  7236. IRpcStubBuffer *This,
  7237. IRpcChannelBuffer *_pRpcChannelBuffer,
  7238. PRPC_MESSAGE _pRpcMessage,
  7239. DWORD *_pdwStubPhase);
  7240. HRESULT STDMETHODCALLTYPE IFolderBandPriv_SetNoIcons_Proxy(
  7241. IFolderBandPriv * This,
  7242. /* [in] */ BOOL f);
  7243. void __RPC_STUB IFolderBandPriv_SetNoIcons_Stub(
  7244. IRpcStubBuffer *This,
  7245. IRpcChannelBuffer *_pRpcChannelBuffer,
  7246. PRPC_MESSAGE _pRpcMessage,
  7247. DWORD *_pdwStubPhase);
  7248. HRESULT STDMETHODCALLTYPE IFolderBandPriv_SetNoText_Proxy(
  7249. IFolderBandPriv * This,
  7250. /* [in] */ BOOL f);
  7251. void __RPC_STUB IFolderBandPriv_SetNoText_Stub(
  7252. IRpcStubBuffer *This,
  7253. IRpcChannelBuffer *_pRpcChannelBuffer,
  7254. PRPC_MESSAGE _pRpcMessage,
  7255. DWORD *_pdwStubPhase);
  7256. #endif /* __IFolderBandPriv_INTERFACE_DEFINED__ */
  7257. /* interface __MIDL_itf_shobjidl_0244 */
  7258. /* [local] */
  7259. #if _WIN32_IE >= 0x0400
  7260. #include <pshpack8.h>
  7261. typedef struct tagBANDSITEINFO
  7262. {
  7263. DWORD dwMask;
  7264. DWORD dwState;
  7265. DWORD dwStyle;
  7266. } BANDSITEINFO;
  7267. #include <poppack.h>
  7268. enum __MIDL___MIDL_itf_shobjidl_0244_0001
  7269. { BSID_BANDADDED = 0,
  7270. BSID_BANDREMOVED = BSID_BANDADDED + 1
  7271. } ;
  7272. #define BSIM_STATE 0x00000001
  7273. #define BSIM_STYLE 0x00000002
  7274. #define BSSF_VISIBLE 0x00000001
  7275. #define BSSF_NOTITLE 0x00000002
  7276. #define BSSF_UNDELETEABLE 0x00001000
  7277. #define BSIS_AUTOGRIPPER 0x00000000
  7278. #define BSIS_NOGRIPPER 0x00000001
  7279. #define BSIS_ALWAYSGRIPPER 0x00000002
  7280. #define BSIS_LEFTALIGN 0x00000004
  7281. #define BSIS_SINGLECLICK 0x00000008
  7282. #define BSIS_NOCONTEXTMENU 0x00000010
  7283. #define BSIS_NODROPTARGET 0x00000020
  7284. #define BSIS_NOCAPTION 0x00000040
  7285. #define BSIS_PREFERNOLINEBREAK 0x00000080
  7286. #define BSIS_LOCKED 0x00000100
  7287. #define SID_SBandSite IID_IBandSite
  7288. #define CGID_BandSite IID_IBandSite
  7289. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0244_v0_0_c_ifspec;
  7290. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0244_v0_0_s_ifspec;
  7291. #ifndef __IBandSite_INTERFACE_DEFINED__
  7292. #define __IBandSite_INTERFACE_DEFINED__
  7293. /* interface IBandSite */
  7294. /* [uuid][object] */
  7295. EXTERN_C const IID IID_IBandSite;
  7296. #if defined(__cplusplus) && !defined(CINTERFACE)
  7297. MIDL_INTERFACE("4CF504B0-DE96-11D0-8B3F-00A0C911E8E5")
  7298. IBandSite : public IUnknown
  7299. {
  7300. public:
  7301. virtual HRESULT STDMETHODCALLTYPE AddBand(
  7302. /* [in] */ IUnknown *punk) = 0;
  7303. virtual HRESULT STDMETHODCALLTYPE EnumBands(
  7304. /* [in] */ UINT uBand,
  7305. /* [out] */ DWORD *pdwBandID) = 0;
  7306. virtual HRESULT STDMETHODCALLTYPE QueryBand(
  7307. /* [in] */ DWORD dwBandID,
  7308. /* [out] */ IDeskBand **ppstb,
  7309. /* [out] */ DWORD *pdwState,
  7310. /* [size_is][out] */ LPWSTR pszName,
  7311. /* [in] */ int cchName) = 0;
  7312. virtual HRESULT STDMETHODCALLTYPE SetBandState(
  7313. /* [in] */ DWORD dwBandID,
  7314. /* [in] */ DWORD dwMask,
  7315. /* [in] */ DWORD dwState) = 0;
  7316. virtual HRESULT STDMETHODCALLTYPE RemoveBand(
  7317. /* [in] */ DWORD dwBandID) = 0;
  7318. virtual HRESULT STDMETHODCALLTYPE GetBandObject(
  7319. /* [in] */ DWORD dwBandID,
  7320. /* [in] */ REFIID riid,
  7321. /* [iid_is][out] */ void **ppv) = 0;
  7322. virtual HRESULT STDMETHODCALLTYPE SetBandSiteInfo(
  7323. /* [in] */ const BANDSITEINFO *pbsinfo) = 0;
  7324. virtual HRESULT STDMETHODCALLTYPE GetBandSiteInfo(
  7325. /* [out][in] */ BANDSITEINFO *pbsinfo) = 0;
  7326. };
  7327. #else /* C style interface */
  7328. typedef struct IBandSiteVtbl
  7329. {
  7330. BEGIN_INTERFACE
  7331. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7332. IBandSite * This,
  7333. /* [in] */ REFIID riid,
  7334. /* [iid_is][out] */ void **ppvObject);
  7335. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7336. IBandSite * This);
  7337. ULONG ( STDMETHODCALLTYPE *Release )(
  7338. IBandSite * This);
  7339. HRESULT ( STDMETHODCALLTYPE *AddBand )(
  7340. IBandSite * This,
  7341. /* [in] */ IUnknown *punk);
  7342. HRESULT ( STDMETHODCALLTYPE *EnumBands )(
  7343. IBandSite * This,
  7344. /* [in] */ UINT uBand,
  7345. /* [out] */ DWORD *pdwBandID);
  7346. HRESULT ( STDMETHODCALLTYPE *QueryBand )(
  7347. IBandSite * This,
  7348. /* [in] */ DWORD dwBandID,
  7349. /* [out] */ IDeskBand **ppstb,
  7350. /* [out] */ DWORD *pdwState,
  7351. /* [size_is][out] */ LPWSTR pszName,
  7352. /* [in] */ int cchName);
  7353. HRESULT ( STDMETHODCALLTYPE *SetBandState )(
  7354. IBandSite * This,
  7355. /* [in] */ DWORD dwBandID,
  7356. /* [in] */ DWORD dwMask,
  7357. /* [in] */ DWORD dwState);
  7358. HRESULT ( STDMETHODCALLTYPE *RemoveBand )(
  7359. IBandSite * This,
  7360. /* [in] */ DWORD dwBandID);
  7361. HRESULT ( STDMETHODCALLTYPE *GetBandObject )(
  7362. IBandSite * This,
  7363. /* [in] */ DWORD dwBandID,
  7364. /* [in] */ REFIID riid,
  7365. /* [iid_is][out] */ void **ppv);
  7366. HRESULT ( STDMETHODCALLTYPE *SetBandSiteInfo )(
  7367. IBandSite * This,
  7368. /* [in] */ const BANDSITEINFO *pbsinfo);
  7369. HRESULT ( STDMETHODCALLTYPE *GetBandSiteInfo )(
  7370. IBandSite * This,
  7371. /* [out][in] */ BANDSITEINFO *pbsinfo);
  7372. END_INTERFACE
  7373. } IBandSiteVtbl;
  7374. interface IBandSite
  7375. {
  7376. CONST_VTBL struct IBandSiteVtbl *lpVtbl;
  7377. };
  7378. #ifdef COBJMACROS
  7379. #define IBandSite_QueryInterface(This,riid,ppvObject) \
  7380. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7381. #define IBandSite_AddRef(This) \
  7382. (This)->lpVtbl -> AddRef(This)
  7383. #define IBandSite_Release(This) \
  7384. (This)->lpVtbl -> Release(This)
  7385. #define IBandSite_AddBand(This,punk) \
  7386. (This)->lpVtbl -> AddBand(This,punk)
  7387. #define IBandSite_EnumBands(This,uBand,pdwBandID) \
  7388. (This)->lpVtbl -> EnumBands(This,uBand,pdwBandID)
  7389. #define IBandSite_QueryBand(This,dwBandID,ppstb,pdwState,pszName,cchName) \
  7390. (This)->lpVtbl -> QueryBand(This,dwBandID,ppstb,pdwState,pszName,cchName)
  7391. #define IBandSite_SetBandState(This,dwBandID,dwMask,dwState) \
  7392. (This)->lpVtbl -> SetBandState(This,dwBandID,dwMask,dwState)
  7393. #define IBandSite_RemoveBand(This,dwBandID) \
  7394. (This)->lpVtbl -> RemoveBand(This,dwBandID)
  7395. #define IBandSite_GetBandObject(This,dwBandID,riid,ppv) \
  7396. (This)->lpVtbl -> GetBandObject(This,dwBandID,riid,ppv)
  7397. #define IBandSite_SetBandSiteInfo(This,pbsinfo) \
  7398. (This)->lpVtbl -> SetBandSiteInfo(This,pbsinfo)
  7399. #define IBandSite_GetBandSiteInfo(This,pbsinfo) \
  7400. (This)->lpVtbl -> GetBandSiteInfo(This,pbsinfo)
  7401. #endif /* COBJMACROS */
  7402. #endif /* C style interface */
  7403. HRESULT STDMETHODCALLTYPE IBandSite_AddBand_Proxy(
  7404. IBandSite * This,
  7405. /* [in] */ IUnknown *punk);
  7406. void __RPC_STUB IBandSite_AddBand_Stub(
  7407. IRpcStubBuffer *This,
  7408. IRpcChannelBuffer *_pRpcChannelBuffer,
  7409. PRPC_MESSAGE _pRpcMessage,
  7410. DWORD *_pdwStubPhase);
  7411. HRESULT STDMETHODCALLTYPE IBandSite_EnumBands_Proxy(
  7412. IBandSite * This,
  7413. /* [in] */ UINT uBand,
  7414. /* [out] */ DWORD *pdwBandID);
  7415. void __RPC_STUB IBandSite_EnumBands_Stub(
  7416. IRpcStubBuffer *This,
  7417. IRpcChannelBuffer *_pRpcChannelBuffer,
  7418. PRPC_MESSAGE _pRpcMessage,
  7419. DWORD *_pdwStubPhase);
  7420. HRESULT STDMETHODCALLTYPE IBandSite_QueryBand_Proxy(
  7421. IBandSite * This,
  7422. /* [in] */ DWORD dwBandID,
  7423. /* [out] */ IDeskBand **ppstb,
  7424. /* [out] */ DWORD *pdwState,
  7425. /* [size_is][out] */ LPWSTR pszName,
  7426. /* [in] */ int cchName);
  7427. void __RPC_STUB IBandSite_QueryBand_Stub(
  7428. IRpcStubBuffer *This,
  7429. IRpcChannelBuffer *_pRpcChannelBuffer,
  7430. PRPC_MESSAGE _pRpcMessage,
  7431. DWORD *_pdwStubPhase);
  7432. HRESULT STDMETHODCALLTYPE IBandSite_SetBandState_Proxy(
  7433. IBandSite * This,
  7434. /* [in] */ DWORD dwBandID,
  7435. /* [in] */ DWORD dwMask,
  7436. /* [in] */ DWORD dwState);
  7437. void __RPC_STUB IBandSite_SetBandState_Stub(
  7438. IRpcStubBuffer *This,
  7439. IRpcChannelBuffer *_pRpcChannelBuffer,
  7440. PRPC_MESSAGE _pRpcMessage,
  7441. DWORD *_pdwStubPhase);
  7442. HRESULT STDMETHODCALLTYPE IBandSite_RemoveBand_Proxy(
  7443. IBandSite * This,
  7444. /* [in] */ DWORD dwBandID);
  7445. void __RPC_STUB IBandSite_RemoveBand_Stub(
  7446. IRpcStubBuffer *This,
  7447. IRpcChannelBuffer *_pRpcChannelBuffer,
  7448. PRPC_MESSAGE _pRpcMessage,
  7449. DWORD *_pdwStubPhase);
  7450. HRESULT STDMETHODCALLTYPE IBandSite_GetBandObject_Proxy(
  7451. IBandSite * This,
  7452. /* [in] */ DWORD dwBandID,
  7453. /* [in] */ REFIID riid,
  7454. /* [iid_is][out] */ void **ppv);
  7455. void __RPC_STUB IBandSite_GetBandObject_Stub(
  7456. IRpcStubBuffer *This,
  7457. IRpcChannelBuffer *_pRpcChannelBuffer,
  7458. PRPC_MESSAGE _pRpcMessage,
  7459. DWORD *_pdwStubPhase);
  7460. HRESULT STDMETHODCALLTYPE IBandSite_SetBandSiteInfo_Proxy(
  7461. IBandSite * This,
  7462. /* [in] */ const BANDSITEINFO *pbsinfo);
  7463. void __RPC_STUB IBandSite_SetBandSiteInfo_Stub(
  7464. IRpcStubBuffer *This,
  7465. IRpcChannelBuffer *_pRpcChannelBuffer,
  7466. PRPC_MESSAGE _pRpcMessage,
  7467. DWORD *_pdwStubPhase);
  7468. HRESULT STDMETHODCALLTYPE IBandSite_GetBandSiteInfo_Proxy(
  7469. IBandSite * This,
  7470. /* [out][in] */ BANDSITEINFO *pbsinfo);
  7471. void __RPC_STUB IBandSite_GetBandSiteInfo_Stub(
  7472. IRpcStubBuffer *This,
  7473. IRpcChannelBuffer *_pRpcChannelBuffer,
  7474. PRPC_MESSAGE _pRpcMessage,
  7475. DWORD *_pdwStubPhase);
  7476. #endif /* __IBandSite_INTERFACE_DEFINED__ */
  7477. /* interface __MIDL_itf_shobjidl_0245 */
  7478. /* [local] */
  7479. #endif // _WIN32_IE >= 0x0400
  7480. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0245_v0_0_c_ifspec;
  7481. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0245_v0_0_s_ifspec;
  7482. #ifndef __INamespaceWalkCB_INTERFACE_DEFINED__
  7483. #define __INamespaceWalkCB_INTERFACE_DEFINED__
  7484. /* interface INamespaceWalkCB */
  7485. /* [object][helpstring][uuid] */
  7486. EXTERN_C const IID IID_INamespaceWalkCB;
  7487. #if defined(__cplusplus) && !defined(CINTERFACE)
  7488. MIDL_INTERFACE("d92995f8-cf5e-4a76-bf59-ead39ea2b97e")
  7489. INamespaceWalkCB : public IUnknown
  7490. {
  7491. public:
  7492. virtual HRESULT STDMETHODCALLTYPE FoundItem(
  7493. /* [in] */ IShellFolder *psf,
  7494. /* [in] */ LPCITEMIDLIST pidl) = 0;
  7495. virtual HRESULT STDMETHODCALLTYPE EnterFolder(
  7496. /* [in] */ IShellFolder *psf,
  7497. /* [in] */ LPCITEMIDLIST pidl) = 0;
  7498. virtual HRESULT STDMETHODCALLTYPE LeaveFolder(
  7499. /* [in] */ IShellFolder *psf,
  7500. /* [in] */ LPCITEMIDLIST pidl) = 0;
  7501. virtual HRESULT STDMETHODCALLTYPE InitializeProgressDialog(
  7502. /* [string][out] */ LPWSTR *ppszTitle,
  7503. /* [string][out] */ LPWSTR *ppszCancel) = 0;
  7504. };
  7505. #else /* C style interface */
  7506. typedef struct INamespaceWalkCBVtbl
  7507. {
  7508. BEGIN_INTERFACE
  7509. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7510. INamespaceWalkCB * This,
  7511. /* [in] */ REFIID riid,
  7512. /* [iid_is][out] */ void **ppvObject);
  7513. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7514. INamespaceWalkCB * This);
  7515. ULONG ( STDMETHODCALLTYPE *Release )(
  7516. INamespaceWalkCB * This);
  7517. HRESULT ( STDMETHODCALLTYPE *FoundItem )(
  7518. INamespaceWalkCB * This,
  7519. /* [in] */ IShellFolder *psf,
  7520. /* [in] */ LPCITEMIDLIST pidl);
  7521. HRESULT ( STDMETHODCALLTYPE *EnterFolder )(
  7522. INamespaceWalkCB * This,
  7523. /* [in] */ IShellFolder *psf,
  7524. /* [in] */ LPCITEMIDLIST pidl);
  7525. HRESULT ( STDMETHODCALLTYPE *LeaveFolder )(
  7526. INamespaceWalkCB * This,
  7527. /* [in] */ IShellFolder *psf,
  7528. /* [in] */ LPCITEMIDLIST pidl);
  7529. HRESULT ( STDMETHODCALLTYPE *InitializeProgressDialog )(
  7530. INamespaceWalkCB * This,
  7531. /* [string][out] */ LPWSTR *ppszTitle,
  7532. /* [string][out] */ LPWSTR *ppszCancel);
  7533. END_INTERFACE
  7534. } INamespaceWalkCBVtbl;
  7535. interface INamespaceWalkCB
  7536. {
  7537. CONST_VTBL struct INamespaceWalkCBVtbl *lpVtbl;
  7538. };
  7539. #ifdef COBJMACROS
  7540. #define INamespaceWalkCB_QueryInterface(This,riid,ppvObject) \
  7541. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7542. #define INamespaceWalkCB_AddRef(This) \
  7543. (This)->lpVtbl -> AddRef(This)
  7544. #define INamespaceWalkCB_Release(This) \
  7545. (This)->lpVtbl -> Release(This)
  7546. #define INamespaceWalkCB_FoundItem(This,psf,pidl) \
  7547. (This)->lpVtbl -> FoundItem(This,psf,pidl)
  7548. #define INamespaceWalkCB_EnterFolder(This,psf,pidl) \
  7549. (This)->lpVtbl -> EnterFolder(This,psf,pidl)
  7550. #define INamespaceWalkCB_LeaveFolder(This,psf,pidl) \
  7551. (This)->lpVtbl -> LeaveFolder(This,psf,pidl)
  7552. #define INamespaceWalkCB_InitializeProgressDialog(This,ppszTitle,ppszCancel) \
  7553. (This)->lpVtbl -> InitializeProgressDialog(This,ppszTitle,ppszCancel)
  7554. #endif /* COBJMACROS */
  7555. #endif /* C style interface */
  7556. HRESULT STDMETHODCALLTYPE INamespaceWalkCB_FoundItem_Proxy(
  7557. INamespaceWalkCB * This,
  7558. /* [in] */ IShellFolder *psf,
  7559. /* [in] */ LPCITEMIDLIST pidl);
  7560. void __RPC_STUB INamespaceWalkCB_FoundItem_Stub(
  7561. IRpcStubBuffer *This,
  7562. IRpcChannelBuffer *_pRpcChannelBuffer,
  7563. PRPC_MESSAGE _pRpcMessage,
  7564. DWORD *_pdwStubPhase);
  7565. HRESULT STDMETHODCALLTYPE INamespaceWalkCB_EnterFolder_Proxy(
  7566. INamespaceWalkCB * This,
  7567. /* [in] */ IShellFolder *psf,
  7568. /* [in] */ LPCITEMIDLIST pidl);
  7569. void __RPC_STUB INamespaceWalkCB_EnterFolder_Stub(
  7570. IRpcStubBuffer *This,
  7571. IRpcChannelBuffer *_pRpcChannelBuffer,
  7572. PRPC_MESSAGE _pRpcMessage,
  7573. DWORD *_pdwStubPhase);
  7574. HRESULT STDMETHODCALLTYPE INamespaceWalkCB_LeaveFolder_Proxy(
  7575. INamespaceWalkCB * This,
  7576. /* [in] */ IShellFolder *psf,
  7577. /* [in] */ LPCITEMIDLIST pidl);
  7578. void __RPC_STUB INamespaceWalkCB_LeaveFolder_Stub(
  7579. IRpcStubBuffer *This,
  7580. IRpcChannelBuffer *_pRpcChannelBuffer,
  7581. PRPC_MESSAGE _pRpcMessage,
  7582. DWORD *_pdwStubPhase);
  7583. HRESULT STDMETHODCALLTYPE INamespaceWalkCB_InitializeProgressDialog_Proxy(
  7584. INamespaceWalkCB * This,
  7585. /* [string][out] */ LPWSTR *ppszTitle,
  7586. /* [string][out] */ LPWSTR *ppszCancel);
  7587. void __RPC_STUB INamespaceWalkCB_InitializeProgressDialog_Stub(
  7588. IRpcStubBuffer *This,
  7589. IRpcChannelBuffer *_pRpcChannelBuffer,
  7590. PRPC_MESSAGE _pRpcMessage,
  7591. DWORD *_pdwStubPhase);
  7592. #endif /* __INamespaceWalkCB_INTERFACE_DEFINED__ */
  7593. #ifndef __INamespaceWalk_INTERFACE_DEFINED__
  7594. #define __INamespaceWalk_INTERFACE_DEFINED__
  7595. /* interface INamespaceWalk */
  7596. /* [object][helpstring][uuid] */
  7597. enum __MIDL_INamespaceWalk_0001
  7598. { NSWF_NONE_IMPLIES_ALL = 0x1,
  7599. NSWF_ONE_IMPLIES_ALL = 0x2,
  7600. NSWF_DONT_TRAVERSE_LINKS = 0x4,
  7601. NSWF_DONT_ACCUMULATE_RESULT = 0x8,
  7602. NSWF_TRAVERSE_STREAM_JUNCTIONS = 0x10,
  7603. NSWF_FILESYSTEM_ONLY = 0x20,
  7604. NSWF_SHOW_PROGRESS = 0x40,
  7605. NSWF_FLAG_VIEWORDER = 0x80,
  7606. NSWF_IGNORE_AUTOPLAY_HIDA = 0x100
  7607. } ;
  7608. EXTERN_C const IID IID_INamespaceWalk;
  7609. #if defined(__cplusplus) && !defined(CINTERFACE)
  7610. MIDL_INTERFACE("57ced8a7-3f4a-432c-9350-30f24483f74f")
  7611. INamespaceWalk : public IUnknown
  7612. {
  7613. public:
  7614. virtual HRESULT STDMETHODCALLTYPE Walk(
  7615. /* [in] */ IUnknown *punkToWalk,
  7616. /* [in] */ DWORD dwFlags,
  7617. /* [in] */ int cDepth,
  7618. /* [in] */ INamespaceWalkCB *pnswcb) = 0;
  7619. virtual HRESULT STDMETHODCALLTYPE GetIDArrayResult(
  7620. /* [out] */ UINT *pcItems,
  7621. /* [length_is][size_is][out] */ LPITEMIDLIST **pppidl) = 0;
  7622. };
  7623. #else /* C style interface */
  7624. typedef struct INamespaceWalkVtbl
  7625. {
  7626. BEGIN_INTERFACE
  7627. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7628. INamespaceWalk * This,
  7629. /* [in] */ REFIID riid,
  7630. /* [iid_is][out] */ void **ppvObject);
  7631. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7632. INamespaceWalk * This);
  7633. ULONG ( STDMETHODCALLTYPE *Release )(
  7634. INamespaceWalk * This);
  7635. HRESULT ( STDMETHODCALLTYPE *Walk )(
  7636. INamespaceWalk * This,
  7637. /* [in] */ IUnknown *punkToWalk,
  7638. /* [in] */ DWORD dwFlags,
  7639. /* [in] */ int cDepth,
  7640. /* [in] */ INamespaceWalkCB *pnswcb);
  7641. HRESULT ( STDMETHODCALLTYPE *GetIDArrayResult )(
  7642. INamespaceWalk * This,
  7643. /* [out] */ UINT *pcItems,
  7644. /* [length_is][size_is][out] */ LPITEMIDLIST **pppidl);
  7645. END_INTERFACE
  7646. } INamespaceWalkVtbl;
  7647. interface INamespaceWalk
  7648. {
  7649. CONST_VTBL struct INamespaceWalkVtbl *lpVtbl;
  7650. };
  7651. #ifdef COBJMACROS
  7652. #define INamespaceWalk_QueryInterface(This,riid,ppvObject) \
  7653. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7654. #define INamespaceWalk_AddRef(This) \
  7655. (This)->lpVtbl -> AddRef(This)
  7656. #define INamespaceWalk_Release(This) \
  7657. (This)->lpVtbl -> Release(This)
  7658. #define INamespaceWalk_Walk(This,punkToWalk,dwFlags,cDepth,pnswcb) \
  7659. (This)->lpVtbl -> Walk(This,punkToWalk,dwFlags,cDepth,pnswcb)
  7660. #define INamespaceWalk_GetIDArrayResult(This,pcItems,pppidl) \
  7661. (This)->lpVtbl -> GetIDArrayResult(This,pcItems,pppidl)
  7662. #endif /* COBJMACROS */
  7663. #endif /* C style interface */
  7664. HRESULT STDMETHODCALLTYPE INamespaceWalk_Walk_Proxy(
  7665. INamespaceWalk * This,
  7666. /* [in] */ IUnknown *punkToWalk,
  7667. /* [in] */ DWORD dwFlags,
  7668. /* [in] */ int cDepth,
  7669. /* [in] */ INamespaceWalkCB *pnswcb);
  7670. void __RPC_STUB INamespaceWalk_Walk_Stub(
  7671. IRpcStubBuffer *This,
  7672. IRpcChannelBuffer *_pRpcChannelBuffer,
  7673. PRPC_MESSAGE _pRpcMessage,
  7674. DWORD *_pdwStubPhase);
  7675. HRESULT STDMETHODCALLTYPE INamespaceWalk_GetIDArrayResult_Proxy(
  7676. INamespaceWalk * This,
  7677. /* [out] */ UINT *pcItems,
  7678. /* [length_is][size_is][out] */ LPITEMIDLIST **pppidl);
  7679. void __RPC_STUB INamespaceWalk_GetIDArrayResult_Stub(
  7680. IRpcStubBuffer *This,
  7681. IRpcChannelBuffer *_pRpcChannelBuffer,
  7682. PRPC_MESSAGE _pRpcMessage,
  7683. DWORD *_pdwStubPhase);
  7684. #endif /* __INamespaceWalk_INTERFACE_DEFINED__ */
  7685. #ifndef __IRegTreeItem_INTERFACE_DEFINED__
  7686. #define __IRegTreeItem_INTERFACE_DEFINED__
  7687. /* interface IRegTreeItem */
  7688. /* [object][local][helpstring][uuid] */
  7689. EXTERN_C const IID IID_IRegTreeItem;
  7690. #if defined(__cplusplus) && !defined(CINTERFACE)
  7691. MIDL_INTERFACE("A9521922-0812-4d44-9EC3-7FD38C726F3D")
  7692. IRegTreeItem : public IUnknown
  7693. {
  7694. public:
  7695. virtual HRESULT STDMETHODCALLTYPE GetCheckState(
  7696. /* [out] */ BOOL *pbCheck) = 0;
  7697. virtual HRESULT STDMETHODCALLTYPE SetCheckState(
  7698. /* [in] */ BOOL bCheck) = 0;
  7699. };
  7700. #else /* C style interface */
  7701. typedef struct IRegTreeItemVtbl
  7702. {
  7703. BEGIN_INTERFACE
  7704. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7705. IRegTreeItem * This,
  7706. /* [in] */ REFIID riid,
  7707. /* [iid_is][out] */ void **ppvObject);
  7708. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7709. IRegTreeItem * This);
  7710. ULONG ( STDMETHODCALLTYPE *Release )(
  7711. IRegTreeItem * This);
  7712. HRESULT ( STDMETHODCALLTYPE *GetCheckState )(
  7713. IRegTreeItem * This,
  7714. /* [out] */ BOOL *pbCheck);
  7715. HRESULT ( STDMETHODCALLTYPE *SetCheckState )(
  7716. IRegTreeItem * This,
  7717. /* [in] */ BOOL bCheck);
  7718. END_INTERFACE
  7719. } IRegTreeItemVtbl;
  7720. interface IRegTreeItem
  7721. {
  7722. CONST_VTBL struct IRegTreeItemVtbl *lpVtbl;
  7723. };
  7724. #ifdef COBJMACROS
  7725. #define IRegTreeItem_QueryInterface(This,riid,ppvObject) \
  7726. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7727. #define IRegTreeItem_AddRef(This) \
  7728. (This)->lpVtbl -> AddRef(This)
  7729. #define IRegTreeItem_Release(This) \
  7730. (This)->lpVtbl -> Release(This)
  7731. #define IRegTreeItem_GetCheckState(This,pbCheck) \
  7732. (This)->lpVtbl -> GetCheckState(This,pbCheck)
  7733. #define IRegTreeItem_SetCheckState(This,bCheck) \
  7734. (This)->lpVtbl -> SetCheckState(This,bCheck)
  7735. #endif /* COBJMACROS */
  7736. #endif /* C style interface */
  7737. HRESULT STDMETHODCALLTYPE IRegTreeItem_GetCheckState_Proxy(
  7738. IRegTreeItem * This,
  7739. /* [out] */ BOOL *pbCheck);
  7740. void __RPC_STUB IRegTreeItem_GetCheckState_Stub(
  7741. IRpcStubBuffer *This,
  7742. IRpcChannelBuffer *_pRpcChannelBuffer,
  7743. PRPC_MESSAGE _pRpcMessage,
  7744. DWORD *_pdwStubPhase);
  7745. HRESULT STDMETHODCALLTYPE IRegTreeItem_SetCheckState_Proxy(
  7746. IRegTreeItem * This,
  7747. /* [in] */ BOOL bCheck);
  7748. void __RPC_STUB IRegTreeItem_SetCheckState_Stub(
  7749. IRpcStubBuffer *This,
  7750. IRpcChannelBuffer *_pRpcChannelBuffer,
  7751. PRPC_MESSAGE _pRpcMessage,
  7752. DWORD *_pdwStubPhase);
  7753. #endif /* __IRegTreeItem_INTERFACE_DEFINED__ */
  7754. /* interface __MIDL_itf_shobjidl_0248 */
  7755. /* [local] */
  7756. enum __MIDL___MIDL_itf_shobjidl_0248_0001
  7757. { MPOS_EXECUTE = 0,
  7758. MPOS_FULLCANCEL = MPOS_EXECUTE + 1,
  7759. MPOS_CANCELLEVEL = MPOS_FULLCANCEL + 1,
  7760. MPOS_SELECTLEFT = MPOS_CANCELLEVEL + 1,
  7761. MPOS_SELECTRIGHT = MPOS_SELECTLEFT + 1,
  7762. MPOS_CHILDTRACKING = MPOS_SELECTRIGHT + 1
  7763. } ;
  7764. enum __MIDL___MIDL_itf_shobjidl_0248_0002
  7765. { MPPF_SETFOCUS = 0x1,
  7766. MPPF_INITIALSELECT = 0x2,
  7767. MPPF_NOANIMATE = 0x4,
  7768. MPPF_KEYBOARD = 0x10,
  7769. MPPF_REPOSITION = 0x20,
  7770. MPPF_FORCEZORDER = 0x40,
  7771. MPPF_FINALSELECT = 0x80,
  7772. MPPF_TOP = 0x20000000,
  7773. MPPF_LEFT = 0x40000000,
  7774. MPPF_RIGHT = 0x60000000,
  7775. MPPF_BOTTOM = 0x80000000,
  7776. MPPF_POS_MASK = 0xe0000000
  7777. } ;
  7778. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0248_v0_0_c_ifspec;
  7779. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0248_v0_0_s_ifspec;
  7780. #ifndef __IMenuPopup_INTERFACE_DEFINED__
  7781. #define __IMenuPopup_INTERFACE_DEFINED__
  7782. /* interface IMenuPopup */
  7783. /* [local][unique][object][uuid] */
  7784. EXTERN_C const IID IID_IMenuPopup;
  7785. #if defined(__cplusplus) && !defined(CINTERFACE)
  7786. MIDL_INTERFACE("D1E7AFEB-6A2E-11d0-8C78-00C04FD918B4")
  7787. IMenuPopup : public IDeskBar
  7788. {
  7789. public:
  7790. virtual HRESULT STDMETHODCALLTYPE Popup(
  7791. /* [in] */ POINTL *ppt,
  7792. /* [in] */ RECTL *prcExclude,
  7793. DWORD dwFlags) = 0;
  7794. virtual HRESULT STDMETHODCALLTYPE OnSelect(
  7795. DWORD dwSelectType) = 0;
  7796. virtual HRESULT STDMETHODCALLTYPE SetSubMenu(
  7797. /* [in] */ IMenuPopup *pmp,
  7798. BOOL fSet) = 0;
  7799. };
  7800. #else /* C style interface */
  7801. typedef struct IMenuPopupVtbl
  7802. {
  7803. BEGIN_INTERFACE
  7804. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7805. IMenuPopup * This,
  7806. /* [in] */ REFIID riid,
  7807. /* [iid_is][out] */ void **ppvObject);
  7808. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7809. IMenuPopup * This);
  7810. ULONG ( STDMETHODCALLTYPE *Release )(
  7811. IMenuPopup * This);
  7812. /* [input_sync] */ HRESULT ( STDMETHODCALLTYPE *GetWindow )(
  7813. IMenuPopup * This,
  7814. /* [out] */ HWND *phwnd);
  7815. HRESULT ( STDMETHODCALLTYPE *ContextSensitiveHelp )(
  7816. IMenuPopup * This,
  7817. /* [in] */ BOOL fEnterMode);
  7818. HRESULT ( STDMETHODCALLTYPE *SetClient )(
  7819. IMenuPopup * This,
  7820. /* [in] */ IUnknown *punkClient);
  7821. HRESULT ( STDMETHODCALLTYPE *GetClient )(
  7822. IMenuPopup * This,
  7823. /* [out] */ IUnknown **ppunkClient);
  7824. HRESULT ( STDMETHODCALLTYPE *OnPosRectChangeDB )(
  7825. IMenuPopup * This,
  7826. /* [in] */ LPRECT prc);
  7827. HRESULT ( STDMETHODCALLTYPE *Popup )(
  7828. IMenuPopup * This,
  7829. /* [in] */ POINTL *ppt,
  7830. /* [in] */ RECTL *prcExclude,
  7831. DWORD dwFlags);
  7832. HRESULT ( STDMETHODCALLTYPE *OnSelect )(
  7833. IMenuPopup * This,
  7834. DWORD dwSelectType);
  7835. HRESULT ( STDMETHODCALLTYPE *SetSubMenu )(
  7836. IMenuPopup * This,
  7837. /* [in] */ IMenuPopup *pmp,
  7838. BOOL fSet);
  7839. END_INTERFACE
  7840. } IMenuPopupVtbl;
  7841. interface IMenuPopup
  7842. {
  7843. CONST_VTBL struct IMenuPopupVtbl *lpVtbl;
  7844. };
  7845. #ifdef COBJMACROS
  7846. #define IMenuPopup_QueryInterface(This,riid,ppvObject) \
  7847. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7848. #define IMenuPopup_AddRef(This) \
  7849. (This)->lpVtbl -> AddRef(This)
  7850. #define IMenuPopup_Release(This) \
  7851. (This)->lpVtbl -> Release(This)
  7852. #define IMenuPopup_GetWindow(This,phwnd) \
  7853. (This)->lpVtbl -> GetWindow(This,phwnd)
  7854. #define IMenuPopup_ContextSensitiveHelp(This,fEnterMode) \
  7855. (This)->lpVtbl -> ContextSensitiveHelp(This,fEnterMode)
  7856. #define IMenuPopup_SetClient(This,punkClient) \
  7857. (This)->lpVtbl -> SetClient(This,punkClient)
  7858. #define IMenuPopup_GetClient(This,ppunkClient) \
  7859. (This)->lpVtbl -> GetClient(This,ppunkClient)
  7860. #define IMenuPopup_OnPosRectChangeDB(This,prc) \
  7861. (This)->lpVtbl -> OnPosRectChangeDB(This,prc)
  7862. #define IMenuPopup_Popup(This,ppt,prcExclude,dwFlags) \
  7863. (This)->lpVtbl -> Popup(This,ppt,prcExclude,dwFlags)
  7864. #define IMenuPopup_OnSelect(This,dwSelectType) \
  7865. (This)->lpVtbl -> OnSelect(This,dwSelectType)
  7866. #define IMenuPopup_SetSubMenu(This,pmp,fSet) \
  7867. (This)->lpVtbl -> SetSubMenu(This,pmp,fSet)
  7868. #endif /* COBJMACROS */
  7869. #endif /* C style interface */
  7870. HRESULT STDMETHODCALLTYPE IMenuPopup_Popup_Proxy(
  7871. IMenuPopup * This,
  7872. /* [in] */ POINTL *ppt,
  7873. /* [in] */ RECTL *prcExclude,
  7874. DWORD dwFlags);
  7875. void __RPC_STUB IMenuPopup_Popup_Stub(
  7876. IRpcStubBuffer *This,
  7877. IRpcChannelBuffer *_pRpcChannelBuffer,
  7878. PRPC_MESSAGE _pRpcMessage,
  7879. DWORD *_pdwStubPhase);
  7880. HRESULT STDMETHODCALLTYPE IMenuPopup_OnSelect_Proxy(
  7881. IMenuPopup * This,
  7882. DWORD dwSelectType);
  7883. void __RPC_STUB IMenuPopup_OnSelect_Stub(
  7884. IRpcStubBuffer *This,
  7885. IRpcChannelBuffer *_pRpcChannelBuffer,
  7886. PRPC_MESSAGE _pRpcMessage,
  7887. DWORD *_pdwStubPhase);
  7888. HRESULT STDMETHODCALLTYPE IMenuPopup_SetSubMenu_Proxy(
  7889. IMenuPopup * This,
  7890. /* [in] */ IMenuPopup *pmp,
  7891. BOOL fSet);
  7892. void __RPC_STUB IMenuPopup_SetSubMenu_Stub(
  7893. IRpcStubBuffer *This,
  7894. IRpcChannelBuffer *_pRpcChannelBuffer,
  7895. PRPC_MESSAGE _pRpcMessage,
  7896. DWORD *_pdwStubPhase);
  7897. #endif /* __IMenuPopup_INTERFACE_DEFINED__ */
  7898. #ifndef __IShellItem_INTERFACE_DEFINED__
  7899. #define __IShellItem_INTERFACE_DEFINED__
  7900. /* interface IShellItem */
  7901. /* [unique][object][uuid][helpstring] */
  7902. typedef /* [public][public][v1_enum] */
  7903. enum __MIDL_IShellItem_0001
  7904. { SIGDN_NORMALDISPLAY = 0,
  7905. SIGDN_PARENTRELATIVEPARSING = 0x80018001,
  7906. SIGDN_PARENTRELATIVEFORADDRESSBAR = 0x8001c001,
  7907. SIGDN_DESKTOPABSOLUTEPARSING = 0x80028000,
  7908. SIGDN_PARENTRELATIVEEDITING = 0x80031001,
  7909. SIGDN_DESKTOPABSOLUTEEDITING = 0x8004c000,
  7910. SIGDN_FILESYSPATH = 0x80058000,
  7911. SIGDN_URL = 0x80068000
  7912. } SIGDN;
  7913. /* [v1_enum] */
  7914. enum __MIDL_IShellItem_0002
  7915. { SICHINT_DISPLAY = 0,
  7916. SICHINT_ALLFIELDS = 0x80000000,
  7917. SICHINT_CANONICAL = 0x10000000
  7918. } ;
  7919. typedef DWORD SICHINTF;
  7920. EXTERN_C const IID IID_IShellItem;
  7921. #if defined(__cplusplus) && !defined(CINTERFACE)
  7922. MIDL_INTERFACE("43826d1e-e718-42ee-bc55-a1e261c37bfe")
  7923. IShellItem : public IUnknown
  7924. {
  7925. public:
  7926. virtual HRESULT STDMETHODCALLTYPE BindToHandler(
  7927. /* [in] */ IBindCtx *pbc,
  7928. /* [in] */ REFGUID rbhid,
  7929. /* [in] */ REFIID riid,
  7930. /* [iid_is][out] */ void **ppvOut) = 0;
  7931. virtual HRESULT STDMETHODCALLTYPE GetParent(
  7932. /* [out] */ IShellItem **ppsi) = 0;
  7933. virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
  7934. /* [in] */ SIGDN sigdnName,
  7935. /* [string][out] */ LPOLESTR *ppszName) = 0;
  7936. virtual HRESULT STDMETHODCALLTYPE GetAttributes(
  7937. /* [in] */ SFGAOF sfgaoMask,
  7938. /* [out] */ SFGAOF *psfgaoAttribs) = 0;
  7939. virtual HRESULT STDMETHODCALLTYPE Compare(
  7940. /* [in] */ IShellItem *psi,
  7941. /* [in] */ SICHINTF hint,
  7942. /* [out] */ int *piOrder) = 0;
  7943. };
  7944. #else /* C style interface */
  7945. typedef struct IShellItemVtbl
  7946. {
  7947. BEGIN_INTERFACE
  7948. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7949. IShellItem * This,
  7950. /* [in] */ REFIID riid,
  7951. /* [iid_is][out] */ void **ppvObject);
  7952. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7953. IShellItem * This);
  7954. ULONG ( STDMETHODCALLTYPE *Release )(
  7955. IShellItem * This);
  7956. HRESULT ( STDMETHODCALLTYPE *BindToHandler )(
  7957. IShellItem * This,
  7958. /* [in] */ IBindCtx *pbc,
  7959. /* [in] */ REFGUID rbhid,
  7960. /* [in] */ REFIID riid,
  7961. /* [iid_is][out] */ void **ppvOut);
  7962. HRESULT ( STDMETHODCALLTYPE *GetParent )(
  7963. IShellItem * This,
  7964. /* [out] */ IShellItem **ppsi);
  7965. HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
  7966. IShellItem * This,
  7967. /* [in] */ SIGDN sigdnName,
  7968. /* [string][out] */ LPOLESTR *ppszName);
  7969. HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
  7970. IShellItem * This,
  7971. /* [in] */ SFGAOF sfgaoMask,
  7972. /* [out] */ SFGAOF *psfgaoAttribs);
  7973. HRESULT ( STDMETHODCALLTYPE *Compare )(
  7974. IShellItem * This,
  7975. /* [in] */ IShellItem *psi,
  7976. /* [in] */ SICHINTF hint,
  7977. /* [out] */ int *piOrder);
  7978. END_INTERFACE
  7979. } IShellItemVtbl;
  7980. interface IShellItem
  7981. {
  7982. CONST_VTBL struct IShellItemVtbl *lpVtbl;
  7983. };
  7984. #ifdef COBJMACROS
  7985. #define IShellItem_QueryInterface(This,riid,ppvObject) \
  7986. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7987. #define IShellItem_AddRef(This) \
  7988. (This)->lpVtbl -> AddRef(This)
  7989. #define IShellItem_Release(This) \
  7990. (This)->lpVtbl -> Release(This)
  7991. #define IShellItem_BindToHandler(This,pbc,rbhid,riid,ppvOut) \
  7992. (This)->lpVtbl -> BindToHandler(This,pbc,rbhid,riid,ppvOut)
  7993. #define IShellItem_GetParent(This,ppsi) \
  7994. (This)->lpVtbl -> GetParent(This,ppsi)
  7995. #define IShellItem_GetDisplayName(This,sigdnName,ppszName) \
  7996. (This)->lpVtbl -> GetDisplayName(This,sigdnName,ppszName)
  7997. #define IShellItem_GetAttributes(This,sfgaoMask,psfgaoAttribs) \
  7998. (This)->lpVtbl -> GetAttributes(This,sfgaoMask,psfgaoAttribs)
  7999. #define IShellItem_Compare(This,psi,hint,piOrder) \
  8000. (This)->lpVtbl -> Compare(This,psi,hint,piOrder)
  8001. #endif /* COBJMACROS */
  8002. #endif /* C style interface */
  8003. HRESULT STDMETHODCALLTYPE IShellItem_BindToHandler_Proxy(
  8004. IShellItem * This,
  8005. /* [in] */ IBindCtx *pbc,
  8006. /* [in] */ REFGUID rbhid,
  8007. /* [in] */ REFIID riid,
  8008. /* [iid_is][out] */ void **ppvOut);
  8009. void __RPC_STUB IShellItem_BindToHandler_Stub(
  8010. IRpcStubBuffer *This,
  8011. IRpcChannelBuffer *_pRpcChannelBuffer,
  8012. PRPC_MESSAGE _pRpcMessage,
  8013. DWORD *_pdwStubPhase);
  8014. HRESULT STDMETHODCALLTYPE IShellItem_GetParent_Proxy(
  8015. IShellItem * This,
  8016. /* [out] */ IShellItem **ppsi);
  8017. void __RPC_STUB IShellItem_GetParent_Stub(
  8018. IRpcStubBuffer *This,
  8019. IRpcChannelBuffer *_pRpcChannelBuffer,
  8020. PRPC_MESSAGE _pRpcMessage,
  8021. DWORD *_pdwStubPhase);
  8022. HRESULT STDMETHODCALLTYPE IShellItem_GetDisplayName_Proxy(
  8023. IShellItem * This,
  8024. /* [in] */ SIGDN sigdnName,
  8025. /* [string][out] */ LPOLESTR *ppszName);
  8026. void __RPC_STUB IShellItem_GetDisplayName_Stub(
  8027. IRpcStubBuffer *This,
  8028. IRpcChannelBuffer *_pRpcChannelBuffer,
  8029. PRPC_MESSAGE _pRpcMessage,
  8030. DWORD *_pdwStubPhase);
  8031. HRESULT STDMETHODCALLTYPE IShellItem_GetAttributes_Proxy(
  8032. IShellItem * This,
  8033. /* [in] */ SFGAOF sfgaoMask,
  8034. /* [out] */ SFGAOF *psfgaoAttribs);
  8035. void __RPC_STUB IShellItem_GetAttributes_Stub(
  8036. IRpcStubBuffer *This,
  8037. IRpcChannelBuffer *_pRpcChannelBuffer,
  8038. PRPC_MESSAGE _pRpcMessage,
  8039. DWORD *_pdwStubPhase);
  8040. HRESULT STDMETHODCALLTYPE IShellItem_Compare_Proxy(
  8041. IShellItem * This,
  8042. /* [in] */ IShellItem *psi,
  8043. /* [in] */ SICHINTF hint,
  8044. /* [out] */ int *piOrder);
  8045. void __RPC_STUB IShellItem_Compare_Stub(
  8046. IRpcStubBuffer *This,
  8047. IRpcChannelBuffer *_pRpcChannelBuffer,
  8048. PRPC_MESSAGE _pRpcMessage,
  8049. DWORD *_pdwStubPhase);
  8050. #endif /* __IShellItem_INTERFACE_DEFINED__ */
  8051. #ifndef __IImageRecompress_INTERFACE_DEFINED__
  8052. #define __IImageRecompress_INTERFACE_DEFINED__
  8053. /* interface IImageRecompress */
  8054. /* [object][unique][helpstring][uuid] */
  8055. EXTERN_C const IID IID_IImageRecompress;
  8056. #if defined(__cplusplus) && !defined(CINTERFACE)
  8057. MIDL_INTERFACE("505f1513-6b3e-4892-a272-59f8889a4d3e")
  8058. IImageRecompress : public IUnknown
  8059. {
  8060. public:
  8061. virtual HRESULT STDMETHODCALLTYPE RecompressImage(
  8062. IShellItem *psi,
  8063. int cx,
  8064. int cy,
  8065. int iQuality,
  8066. IStorage *pstg,
  8067. IStream **ppstrmOut) = 0;
  8068. };
  8069. #else /* C style interface */
  8070. typedef struct IImageRecompressVtbl
  8071. {
  8072. BEGIN_INTERFACE
  8073. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8074. IImageRecompress * This,
  8075. /* [in] */ REFIID riid,
  8076. /* [iid_is][out] */ void **ppvObject);
  8077. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8078. IImageRecompress * This);
  8079. ULONG ( STDMETHODCALLTYPE *Release )(
  8080. IImageRecompress * This);
  8081. HRESULT ( STDMETHODCALLTYPE *RecompressImage )(
  8082. IImageRecompress * This,
  8083. IShellItem *psi,
  8084. int cx,
  8085. int cy,
  8086. int iQuality,
  8087. IStorage *pstg,
  8088. IStream **ppstrmOut);
  8089. END_INTERFACE
  8090. } IImageRecompressVtbl;
  8091. interface IImageRecompress
  8092. {
  8093. CONST_VTBL struct IImageRecompressVtbl *lpVtbl;
  8094. };
  8095. #ifdef COBJMACROS
  8096. #define IImageRecompress_QueryInterface(This,riid,ppvObject) \
  8097. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8098. #define IImageRecompress_AddRef(This) \
  8099. (This)->lpVtbl -> AddRef(This)
  8100. #define IImageRecompress_Release(This) \
  8101. (This)->lpVtbl -> Release(This)
  8102. #define IImageRecompress_RecompressImage(This,psi,cx,cy,iQuality,pstg,ppstrmOut) \
  8103. (This)->lpVtbl -> RecompressImage(This,psi,cx,cy,iQuality,pstg,ppstrmOut)
  8104. #endif /* COBJMACROS */
  8105. #endif /* C style interface */
  8106. HRESULT STDMETHODCALLTYPE IImageRecompress_RecompressImage_Proxy(
  8107. IImageRecompress * This,
  8108. IShellItem *psi,
  8109. int cx,
  8110. int cy,
  8111. int iQuality,
  8112. IStorage *pstg,
  8113. IStream **ppstrmOut);
  8114. void __RPC_STUB IImageRecompress_RecompressImage_Stub(
  8115. IRpcStubBuffer *This,
  8116. IRpcChannelBuffer *_pRpcChannelBuffer,
  8117. PRPC_MESSAGE _pRpcMessage,
  8118. DWORD *_pdwStubPhase);
  8119. #endif /* __IImageRecompress_INTERFACE_DEFINED__ */
  8120. #ifndef __IDefViewSafety_INTERFACE_DEFINED__
  8121. #define __IDefViewSafety_INTERFACE_DEFINED__
  8122. /* interface IDefViewSafety */
  8123. /* [unique][object][uuid][helpstring] */
  8124. EXTERN_C const IID IID_IDefViewSafety;
  8125. #if defined(__cplusplus) && !defined(CINTERFACE)
  8126. MIDL_INTERFACE("9A93B3FB-4E75-4c74-871A-2CDA667F39A5")
  8127. IDefViewSafety : public IUnknown
  8128. {
  8129. public:
  8130. virtual HRESULT STDMETHODCALLTYPE IsSafePage( void) = 0;
  8131. };
  8132. #else /* C style interface */
  8133. typedef struct IDefViewSafetyVtbl
  8134. {
  8135. BEGIN_INTERFACE
  8136. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8137. IDefViewSafety * This,
  8138. /* [in] */ REFIID riid,
  8139. /* [iid_is][out] */ void **ppvObject);
  8140. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8141. IDefViewSafety * This);
  8142. ULONG ( STDMETHODCALLTYPE *Release )(
  8143. IDefViewSafety * This);
  8144. HRESULT ( STDMETHODCALLTYPE *IsSafePage )(
  8145. IDefViewSafety * This);
  8146. END_INTERFACE
  8147. } IDefViewSafetyVtbl;
  8148. interface IDefViewSafety
  8149. {
  8150. CONST_VTBL struct IDefViewSafetyVtbl *lpVtbl;
  8151. };
  8152. #ifdef COBJMACROS
  8153. #define IDefViewSafety_QueryInterface(This,riid,ppvObject) \
  8154. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8155. #define IDefViewSafety_AddRef(This) \
  8156. (This)->lpVtbl -> AddRef(This)
  8157. #define IDefViewSafety_Release(This) \
  8158. (This)->lpVtbl -> Release(This)
  8159. #define IDefViewSafety_IsSafePage(This) \
  8160. (This)->lpVtbl -> IsSafePage(This)
  8161. #endif /* COBJMACROS */
  8162. #endif /* C style interface */
  8163. HRESULT STDMETHODCALLTYPE IDefViewSafety_IsSafePage_Proxy(
  8164. IDefViewSafety * This);
  8165. void __RPC_STUB IDefViewSafety_IsSafePage_Stub(
  8166. IRpcStubBuffer *This,
  8167. IRpcChannelBuffer *_pRpcChannelBuffer,
  8168. PRPC_MESSAGE _pRpcMessage,
  8169. DWORD *_pdwStubPhase);
  8170. #endif /* __IDefViewSafety_INTERFACE_DEFINED__ */
  8171. /* interface __MIDL_itf_shobjidl_0253 */
  8172. /* [local] */
  8173. #define PROPSTR_EXTENSIONCOMPLETIONSTATE L"ExtensionCompletionState"
  8174. enum __MIDL___MIDL_itf_shobjidl_0253_0001
  8175. { CDBE_RET_DEFAULT = 0,
  8176. CDBE_RET_DONTRUNOTHEREXTS = 0x1,
  8177. CDBE_RET_STOPWIZARD = 0x2
  8178. } ;
  8179. #define SID_CDWizardHost IID_ICDBurnExt
  8180. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0253_v0_0_c_ifspec;
  8181. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0253_v0_0_s_ifspec;
  8182. #ifndef __ICDBurnExt_INTERFACE_DEFINED__
  8183. #define __ICDBurnExt_INTERFACE_DEFINED__
  8184. /* interface ICDBurnExt */
  8185. /* [object][helpstring][uuid] */
  8186. enum __MIDL_ICDBurnExt_0002
  8187. { CDBE_TYPE_MUSIC = 0x1,
  8188. CDBE_TYPE_DATA = 0x2,
  8189. CDBE_TYPE_ALL = 0xffffffff
  8190. } ;
  8191. EXTERN_C const IID IID_ICDBurnExt;
  8192. #if defined(__cplusplus) && !defined(CINTERFACE)
  8193. MIDL_INTERFACE("2271dcca-74fc-4414-8fb7-c56b05ace2d7")
  8194. ICDBurnExt : public IUnknown
  8195. {
  8196. public:
  8197. virtual HRESULT STDMETHODCALLTYPE GetSupportedActionTypes(
  8198. /* [out] */ DWORD *pdwActions) = 0;
  8199. };
  8200. #else /* C style interface */
  8201. typedef struct ICDBurnExtVtbl
  8202. {
  8203. BEGIN_INTERFACE
  8204. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8205. ICDBurnExt * This,
  8206. /* [in] */ REFIID riid,
  8207. /* [iid_is][out] */ void **ppvObject);
  8208. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8209. ICDBurnExt * This);
  8210. ULONG ( STDMETHODCALLTYPE *Release )(
  8211. ICDBurnExt * This);
  8212. HRESULT ( STDMETHODCALLTYPE *GetSupportedActionTypes )(
  8213. ICDBurnExt * This,
  8214. /* [out] */ DWORD *pdwActions);
  8215. END_INTERFACE
  8216. } ICDBurnExtVtbl;
  8217. interface ICDBurnExt
  8218. {
  8219. CONST_VTBL struct ICDBurnExtVtbl *lpVtbl;
  8220. };
  8221. #ifdef COBJMACROS
  8222. #define ICDBurnExt_QueryInterface(This,riid,ppvObject) \
  8223. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8224. #define ICDBurnExt_AddRef(This) \
  8225. (This)->lpVtbl -> AddRef(This)
  8226. #define ICDBurnExt_Release(This) \
  8227. (This)->lpVtbl -> Release(This)
  8228. #define ICDBurnExt_GetSupportedActionTypes(This,pdwActions) \
  8229. (This)->lpVtbl -> GetSupportedActionTypes(This,pdwActions)
  8230. #endif /* COBJMACROS */
  8231. #endif /* C style interface */
  8232. HRESULT STDMETHODCALLTYPE ICDBurnExt_GetSupportedActionTypes_Proxy(
  8233. ICDBurnExt * This,
  8234. /* [out] */ DWORD *pdwActions);
  8235. void __RPC_STUB ICDBurnExt_GetSupportedActionTypes_Stub(
  8236. IRpcStubBuffer *This,
  8237. IRpcChannelBuffer *_pRpcChannelBuffer,
  8238. PRPC_MESSAGE _pRpcMessage,
  8239. DWORD *_pdwStubPhase);
  8240. #endif /* __ICDBurnExt_INTERFACE_DEFINED__ */
  8241. #ifndef __ShellObjects_LIBRARY_DEFINED__
  8242. #define __ShellObjects_LIBRARY_DEFINED__
  8243. /* library ShellObjects */
  8244. /* [version][lcid][helpstring][uuid] */
  8245. #define SID_PublishingWizard CLSID_PublishingWizard
  8246. EXTERN_C const IID LIBID_ShellObjects;
  8247. EXTERN_C const CLSID CLSID_QueryCancelAutoPlay;
  8248. #ifdef __cplusplus
  8249. class DECLSPEC_UUID("331F1768-05A9-4ddd-B86E-DAE34DDC998A")
  8250. QueryCancelAutoPlay;
  8251. #endif
  8252. EXTERN_C const CLSID CLSID_DriveSizeCategorizer;
  8253. #ifdef __cplusplus
  8254. class DECLSPEC_UUID("94357B53-CA29-4b78-83AE-E8FE7409134F")
  8255. DriveSizeCategorizer;
  8256. #endif
  8257. EXTERN_C const CLSID CLSID_DriveTypeCategorizer;
  8258. #ifdef __cplusplus
  8259. class DECLSPEC_UUID("B0A8F3CF-4333-4bab-8873-1CCB1CADA48B")
  8260. DriveTypeCategorizer;
  8261. #endif
  8262. EXTERN_C const CLSID CLSID_FreeSpaceCategorizer;
  8263. #ifdef __cplusplus
  8264. class DECLSPEC_UUID("B5607793-24AC-44c7-82E2-831726AA6CB7")
  8265. FreeSpaceCategorizer;
  8266. #endif
  8267. EXTERN_C const CLSID CLSID_TimeCategorizer;
  8268. #ifdef __cplusplus
  8269. class DECLSPEC_UUID("3bb4118f-ddfd-4d30-a348-9fb5d6bf1afe")
  8270. TimeCategorizer;
  8271. #endif
  8272. EXTERN_C const CLSID CLSID_SizeCategorizer;
  8273. #ifdef __cplusplus
  8274. class DECLSPEC_UUID("55d7b852-f6d1-42f2-aa75-8728a1b2d264")
  8275. SizeCategorizer;
  8276. #endif
  8277. EXTERN_C const CLSID CLSID_AlphabeticalCategorizer;
  8278. #ifdef __cplusplus
  8279. class DECLSPEC_UUID("3c2654c6-7372-4f6b-b310-55d6128f49d2")
  8280. AlphabeticalCategorizer;
  8281. #endif
  8282. EXTERN_C const CLSID CLSID_MergedCategorizer;
  8283. #ifdef __cplusplus
  8284. class DECLSPEC_UUID("8e827c11-33e7-4bc1-b242-8cd9a1c2b304")
  8285. MergedCategorizer;
  8286. #endif
  8287. EXTERN_C const CLSID CLSID_ImageProperties;
  8288. #ifdef __cplusplus
  8289. class DECLSPEC_UUID("7ab770c7-0e23-4d7a-8aa2-19bfad479829")
  8290. ImageProperties;
  8291. #endif
  8292. EXTERN_C const CLSID CLSID_PropertiesUI;
  8293. #ifdef __cplusplus
  8294. class DECLSPEC_UUID("d912f8cf-0396-4915-884e-fb425d32943b")
  8295. PropertiesUI;
  8296. #endif
  8297. EXTERN_C const CLSID CLSID_UserNotification;
  8298. #ifdef __cplusplus
  8299. class DECLSPEC_UUID("0010890e-8789-413c-adbc-48f5b511b3af")
  8300. UserNotification;
  8301. #endif
  8302. EXTERN_C const CLSID CLSID_UserEventTimerCallback;
  8303. #ifdef __cplusplus
  8304. class DECLSPEC_UUID("15fffd13-5140-41b8-b89a-c8d5759cd2b2")
  8305. UserEventTimerCallback;
  8306. #endif
  8307. EXTERN_C const CLSID CLSID_UserEventTimer;
  8308. #ifdef __cplusplus
  8309. class DECLSPEC_UUID("864A1288-354C-4D19-9D68-C2742BB14997")
  8310. UserEventTimer;
  8311. #endif
  8312. EXTERN_C const CLSID CLSID_NetCrawler;
  8313. #ifdef __cplusplus
  8314. class DECLSPEC_UUID("601ac3dc-786a-4eb0-bf40-ee3521e70bfb")
  8315. NetCrawler;
  8316. #endif
  8317. EXTERN_C const CLSID CLSID_CDBurn;
  8318. #ifdef __cplusplus
  8319. class DECLSPEC_UUID("fbeb8a05-beee-4442-804e-409d6c4515e9")
  8320. CDBurn;
  8321. #endif
  8322. EXTERN_C const CLSID CLSID_AddressBarParser;
  8323. #ifdef __cplusplus
  8324. class DECLSPEC_UUID("e0e11a09-5cb8-4b6c-8332-e00720a168f2")
  8325. AddressBarParser;
  8326. #endif
  8327. EXTERN_C const CLSID CLSID_TaskbarList;
  8328. #ifdef __cplusplus
  8329. class DECLSPEC_UUID("56FDF344-FD6D-11d0-958A-006097C9A090")
  8330. TaskbarList;
  8331. #endif
  8332. EXTERN_C const CLSID CLSID_WebWizardHost;
  8333. #ifdef __cplusplus
  8334. class DECLSPEC_UUID("c827f149-55c1-4d28-935e-57e47caed973")
  8335. WebWizardHost;
  8336. #endif
  8337. EXTERN_C const CLSID CLSID_PublishDropTarget;
  8338. #ifdef __cplusplus
  8339. class DECLSPEC_UUID("CC6EEFFB-43F6-46c5-9619-51D571967F7D")
  8340. PublishDropTarget;
  8341. #endif
  8342. EXTERN_C const CLSID CLSID_PublishingWizard;
  8343. #ifdef __cplusplus
  8344. class DECLSPEC_UUID("6b33163c-76a5-4b6c-bf21-45de9cd503a1")
  8345. PublishingWizard;
  8346. #endif
  8347. EXTERN_C const CLSID CLSID_InternetPrintOrdering;
  8348. #ifdef __cplusplus
  8349. class DECLSPEC_UUID("add36aa8-751a-4579-a266-d66f5202ccbb")
  8350. InternetPrintOrdering;
  8351. #endif
  8352. EXTERN_C const CLSID CLSID_FolderViewHost;
  8353. #ifdef __cplusplus
  8354. class DECLSPEC_UUID("20b1cb23-6968-4eb9-b7d4-a66d00d07cee")
  8355. FolderViewHost;
  8356. #endif
  8357. EXTERN_C const CLSID CLSID_NamespaceWalker;
  8358. #ifdef __cplusplus
  8359. class DECLSPEC_UUID("72eb61e0-8672-4303-9175-f2e4c68b2e7c")
  8360. NamespaceWalker;
  8361. #endif
  8362. EXTERN_C const CLSID CLSID_ImageRecompress;
  8363. #ifdef __cplusplus
  8364. class DECLSPEC_UUID("6e33091c-d2f8-4740-b55e-2e11d1477a2c")
  8365. ImageRecompress;
  8366. #endif
  8367. EXTERN_C const CLSID CLSID_TrayBandSiteService;
  8368. #ifdef __cplusplus
  8369. class DECLSPEC_UUID("F60AD0A0-E5E1-45cb-B51A-E15B9F8B2934")
  8370. TrayBandSiteService;
  8371. #endif
  8372. EXTERN_C const CLSID CLSID_PassportWizard;
  8373. #ifdef __cplusplus
  8374. class DECLSPEC_UUID("58f1f272-9240-4f51-b6d4-fd63d1618591")
  8375. PassportWizard;
  8376. #endif
  8377. #endif /* __ShellObjects_LIBRARY_DEFINED__ */
  8378. /* interface __MIDL_itf_shobjidl_0254 */
  8379. /* [local] */
  8380. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0254_v0_0_c_ifspec;
  8381. extern RPC_IF_HANDLE __MIDL_itf_shobjidl_0254_v0_0_s_ifspec;
  8382. /* Additional Prototypes for ALL interfaces */
  8383. unsigned long __RPC_USER BSTR_UserSize( unsigned long *, unsigned long , BSTR * );
  8384. unsigned char * __RPC_USER BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * );
  8385. unsigned char * __RPC_USER BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * );
  8386. void __RPC_USER BSTR_UserFree( unsigned long *, BSTR * );
  8387. unsigned long __RPC_USER HBITMAP_UserSize( unsigned long *, unsigned long , HBITMAP * );
  8388. unsigned char * __RPC_USER HBITMAP_UserMarshal( unsigned long *, unsigned char *, HBITMAP * );
  8389. unsigned char * __RPC_USER HBITMAP_UserUnmarshal(unsigned long *, unsigned char *, HBITMAP * );
  8390. void __RPC_USER HBITMAP_UserFree( unsigned long *, HBITMAP * );
  8391. unsigned long __RPC_USER HGLOBAL_UserSize( unsigned long *, unsigned long , HGLOBAL * );
  8392. unsigned char * __RPC_USER HGLOBAL_UserMarshal( unsigned long *, unsigned char *, HGLOBAL * );
  8393. unsigned char * __RPC_USER HGLOBAL_UserUnmarshal(unsigned long *, unsigned char *, HGLOBAL * );
  8394. void __RPC_USER HGLOBAL_UserFree( unsigned long *, HGLOBAL * );
  8395. unsigned long __RPC_USER HICON_UserSize( unsigned long *, unsigned long , HICON * );
  8396. unsigned char * __RPC_USER HICON_UserMarshal( unsigned long *, unsigned char *, HICON * );
  8397. unsigned char * __RPC_USER HICON_UserUnmarshal(unsigned long *, unsigned char *, HICON * );
  8398. void __RPC_USER HICON_UserFree( unsigned long *, HICON * );
  8399. unsigned long __RPC_USER HMENU_UserSize( unsigned long *, unsigned long , HMENU * );
  8400. unsigned char * __RPC_USER HMENU_UserMarshal( unsigned long *, unsigned char *, HMENU * );
  8401. unsigned char * __RPC_USER HMENU_UserUnmarshal(unsigned long *, unsigned char *, HMENU * );
  8402. void __RPC_USER HMENU_UserFree( unsigned long *, HMENU * );
  8403. unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsigned long , HWND * );
  8404. unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, HWND * );
  8405. unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * );
  8406. void __RPC_USER HWND_UserFree( unsigned long *, HWND * );
  8407. unsigned long __RPC_USER LPCITEMIDLIST_UserSize( unsigned long *, unsigned long , LPCITEMIDLIST * );
  8408. unsigned char * __RPC_USER LPCITEMIDLIST_UserMarshal( unsigned long *, unsigned char *, LPCITEMIDLIST * );
  8409. unsigned char * __RPC_USER LPCITEMIDLIST_UserUnmarshal(unsigned long *, unsigned char *, LPCITEMIDLIST * );
  8410. void __RPC_USER LPCITEMIDLIST_UserFree( unsigned long *, LPCITEMIDLIST * );
  8411. unsigned long __RPC_USER LPITEMIDLIST_UserSize( unsigned long *, unsigned long , LPITEMIDLIST * );
  8412. unsigned char * __RPC_USER LPITEMIDLIST_UserMarshal( unsigned long *, unsigned char *, LPITEMIDLIST * );
  8413. unsigned char * __RPC_USER LPITEMIDLIST_UserUnmarshal(unsigned long *, unsigned char *, LPITEMIDLIST * );
  8414. void __RPC_USER LPITEMIDLIST_UserFree( unsigned long *, LPITEMIDLIST * );
  8415. unsigned long __RPC_USER LPSAFEARRAY_UserSize( unsigned long *, unsigned long , LPSAFEARRAY * );
  8416. unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( unsigned long *, unsigned char *, LPSAFEARRAY * );
  8417. unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(unsigned long *, unsigned char *, LPSAFEARRAY * );
  8418. void __RPC_USER LPSAFEARRAY_UserFree( unsigned long *, LPSAFEARRAY * );
  8419. unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
  8420. unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
  8421. unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
  8422. void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
  8423. /* end of Additional Prototypes */
  8424. #ifdef __cplusplus
  8425. }
  8426. #endif
  8427. #endif