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.

13948 lines
379 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 shpriv.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 __shpriv_h__
  27. #define __shpriv_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __ICustomIconManager_FWD_DEFINED__
  33. #define __ICustomIconManager_FWD_DEFINED__
  34. typedef interface ICustomIconManager ICustomIconManager;
  35. #endif /* __ICustomIconManager_FWD_DEFINED__ */
  36. #ifndef __IImageListPersistStream_FWD_DEFINED__
  37. #define __IImageListPersistStream_FWD_DEFINED__
  38. typedef interface IImageListPersistStream IImageListPersistStream;
  39. #endif /* __IImageListPersistStream_FWD_DEFINED__ */
  40. #ifndef __IImageListPriv_FWD_DEFINED__
  41. #define __IImageListPriv_FWD_DEFINED__
  42. typedef interface IImageListPriv IImageListPriv;
  43. #endif /* __IImageListPriv_FWD_DEFINED__ */
  44. #ifndef __IMarkupCallback_FWD_DEFINED__
  45. #define __IMarkupCallback_FWD_DEFINED__
  46. typedef interface IMarkupCallback IMarkupCallback;
  47. #endif /* __IMarkupCallback_FWD_DEFINED__ */
  48. #ifndef __IControlMarkup_FWD_DEFINED__
  49. #define __IControlMarkup_FWD_DEFINED__
  50. typedef interface IControlMarkup IControlMarkup;
  51. #endif /* __IControlMarkup_FWD_DEFINED__ */
  52. #ifndef __IThemeUIPages_FWD_DEFINED__
  53. #define __IThemeUIPages_FWD_DEFINED__
  54. typedef interface IThemeUIPages IThemeUIPages;
  55. #endif /* __IThemeUIPages_FWD_DEFINED__ */
  56. #ifndef __IAdvancedDialog_FWD_DEFINED__
  57. #define __IAdvancedDialog_FWD_DEFINED__
  58. typedef interface IAdvancedDialog IAdvancedDialog;
  59. #endif /* __IAdvancedDialog_FWD_DEFINED__ */
  60. #ifndef __IBasePropPage_FWD_DEFINED__
  61. #define __IBasePropPage_FWD_DEFINED__
  62. typedef interface IBasePropPage IBasePropPage;
  63. #endif /* __IBasePropPage_FWD_DEFINED__ */
  64. #ifndef __IPreviewSystemMetrics_FWD_DEFINED__
  65. #define __IPreviewSystemMetrics_FWD_DEFINED__
  66. typedef interface IPreviewSystemMetrics IPreviewSystemMetrics;
  67. #endif /* __IPreviewSystemMetrics_FWD_DEFINED__ */
  68. #ifndef __IAssocHandler_FWD_DEFINED__
  69. #define __IAssocHandler_FWD_DEFINED__
  70. typedef interface IAssocHandler IAssocHandler;
  71. #endif /* __IAssocHandler_FWD_DEFINED__ */
  72. #ifndef __IEnumAssocHandlers_FWD_DEFINED__
  73. #define __IEnumAssocHandlers_FWD_DEFINED__
  74. typedef interface IEnumAssocHandlers IEnumAssocHandlers;
  75. #endif /* __IEnumAssocHandlers_FWD_DEFINED__ */
  76. #ifndef __IHWDevice_FWD_DEFINED__
  77. #define __IHWDevice_FWD_DEFINED__
  78. typedef interface IHWDevice IHWDevice;
  79. #endif /* __IHWDevice_FWD_DEFINED__ */
  80. #ifndef __IHWDeviceCustomProperties_FWD_DEFINED__
  81. #define __IHWDeviceCustomProperties_FWD_DEFINED__
  82. typedef interface IHWDeviceCustomProperties IHWDeviceCustomProperties;
  83. #endif /* __IHWDeviceCustomProperties_FWD_DEFINED__ */
  84. #ifndef __IEnumAutoplayHandler_FWD_DEFINED__
  85. #define __IEnumAutoplayHandler_FWD_DEFINED__
  86. typedef interface IEnumAutoplayHandler IEnumAutoplayHandler;
  87. #endif /* __IEnumAutoplayHandler_FWD_DEFINED__ */
  88. #ifndef __IAutoplayHandler_FWD_DEFINED__
  89. #define __IAutoplayHandler_FWD_DEFINED__
  90. typedef interface IAutoplayHandler IAutoplayHandler;
  91. #endif /* __IAutoplayHandler_FWD_DEFINED__ */
  92. #ifndef __IAutoplayHandlerProperties_FWD_DEFINED__
  93. #define __IAutoplayHandlerProperties_FWD_DEFINED__
  94. typedef interface IAutoplayHandlerProperties IAutoplayHandlerProperties;
  95. #endif /* __IAutoplayHandlerProperties_FWD_DEFINED__ */
  96. #ifndef __IHardwareDeviceCallback_FWD_DEFINED__
  97. #define __IHardwareDeviceCallback_FWD_DEFINED__
  98. typedef interface IHardwareDeviceCallback IHardwareDeviceCallback;
  99. #endif /* __IHardwareDeviceCallback_FWD_DEFINED__ */
  100. #ifndef __IHardwareDevicesEnum_FWD_DEFINED__
  101. #define __IHardwareDevicesEnum_FWD_DEFINED__
  102. typedef interface IHardwareDevicesEnum IHardwareDevicesEnum;
  103. #endif /* __IHardwareDevicesEnum_FWD_DEFINED__ */
  104. #ifndef __IHardwareDevicesVolumesEnum_FWD_DEFINED__
  105. #define __IHardwareDevicesVolumesEnum_FWD_DEFINED__
  106. typedef interface IHardwareDevicesVolumesEnum IHardwareDevicesVolumesEnum;
  107. #endif /* __IHardwareDevicesVolumesEnum_FWD_DEFINED__ */
  108. #ifndef __IHardwareDevicesMountPointsEnum_FWD_DEFINED__
  109. #define __IHardwareDevicesMountPointsEnum_FWD_DEFINED__
  110. typedef interface IHardwareDevicesMountPointsEnum IHardwareDevicesMountPointsEnum;
  111. #endif /* __IHardwareDevicesMountPointsEnum_FWD_DEFINED__ */
  112. #ifndef __IHardwareDevices_FWD_DEFINED__
  113. #define __IHardwareDevices_FWD_DEFINED__
  114. typedef interface IHardwareDevices IHardwareDevices;
  115. #endif /* __IHardwareDevices_FWD_DEFINED__ */
  116. #ifndef __IStartMenuPin_FWD_DEFINED__
  117. #define __IStartMenuPin_FWD_DEFINED__
  118. typedef interface IStartMenuPin IStartMenuPin;
  119. #endif /* __IStartMenuPin_FWD_DEFINED__ */
  120. #ifndef __IDefCategoryProvider_FWD_DEFINED__
  121. #define __IDefCategoryProvider_FWD_DEFINED__
  122. typedef interface IDefCategoryProvider IDefCategoryProvider;
  123. #endif /* __IDefCategoryProvider_FWD_DEFINED__ */
  124. #ifndef __IInitAccessible_FWD_DEFINED__
  125. #define __IInitAccessible_FWD_DEFINED__
  126. typedef interface IInitAccessible IInitAccessible;
  127. #endif /* __IInitAccessible_FWD_DEFINED__ */
  128. #ifndef __IInitTrackPopupBar_FWD_DEFINED__
  129. #define __IInitTrackPopupBar_FWD_DEFINED__
  130. typedef interface IInitTrackPopupBar IInitTrackPopupBar;
  131. #endif /* __IInitTrackPopupBar_FWD_DEFINED__ */
  132. #ifndef __ICompositeFolder_FWD_DEFINED__
  133. #define __ICompositeFolder_FWD_DEFINED__
  134. typedef interface ICompositeFolder ICompositeFolder;
  135. #endif /* __ICompositeFolder_FWD_DEFINED__ */
  136. #ifndef __IEnumShellReminder_FWD_DEFINED__
  137. #define __IEnumShellReminder_FWD_DEFINED__
  138. typedef interface IEnumShellReminder IEnumShellReminder;
  139. #endif /* __IEnumShellReminder_FWD_DEFINED__ */
  140. #ifndef __IShellReminderManager_FWD_DEFINED__
  141. #define __IShellReminderManager_FWD_DEFINED__
  142. typedef interface IShellReminderManager IShellReminderManager;
  143. #endif /* __IShellReminderManager_FWD_DEFINED__ */
  144. #ifndef __IDeskBandEx_FWD_DEFINED__
  145. #define __IDeskBandEx_FWD_DEFINED__
  146. typedef interface IDeskBandEx IDeskBandEx;
  147. #endif /* __IDeskBandEx_FWD_DEFINED__ */
  148. #ifndef __INotificationCB_FWD_DEFINED__
  149. #define __INotificationCB_FWD_DEFINED__
  150. typedef interface INotificationCB INotificationCB;
  151. #endif /* __INotificationCB_FWD_DEFINED__ */
  152. #ifndef __ITrayNotify_FWD_DEFINED__
  153. #define __ITrayNotify_FWD_DEFINED__
  154. typedef interface ITrayNotify ITrayNotify;
  155. #endif /* __ITrayNotify_FWD_DEFINED__ */
  156. #ifndef __IMagic_FWD_DEFINED__
  157. #define __IMagic_FWD_DEFINED__
  158. typedef interface IMagic IMagic;
  159. #endif /* __IMagic_FWD_DEFINED__ */
  160. #ifndef __IResourceMap_FWD_DEFINED__
  161. #define __IResourceMap_FWD_DEFINED__
  162. typedef interface IResourceMap IResourceMap;
  163. #endif /* __IResourceMap_FWD_DEFINED__ */
  164. #ifndef __IHomeNetworkWizard_FWD_DEFINED__
  165. #define __IHomeNetworkWizard_FWD_DEFINED__
  166. typedef interface IHomeNetworkWizard IHomeNetworkWizard;
  167. #endif /* __IHomeNetworkWizard_FWD_DEFINED__ */
  168. #ifndef __IEnumShellItems_FWD_DEFINED__
  169. #define __IEnumShellItems_FWD_DEFINED__
  170. typedef interface IEnumShellItems IEnumShellItems;
  171. #endif /* __IEnumShellItems_FWD_DEFINED__ */
  172. #ifndef __IParentAndItem_FWD_DEFINED__
  173. #define __IParentAndItem_FWD_DEFINED__
  174. typedef interface IParentAndItem IParentAndItem;
  175. #endif /* __IParentAndItem_FWD_DEFINED__ */
  176. #ifndef __IShellItemArray_FWD_DEFINED__
  177. #define __IShellItemArray_FWD_DEFINED__
  178. typedef interface IShellItemArray IShellItemArray;
  179. #endif /* __IShellItemArray_FWD_DEFINED__ */
  180. #ifndef __IItemHandler_FWD_DEFINED__
  181. #define __IItemHandler_FWD_DEFINED__
  182. typedef interface IItemHandler IItemHandler;
  183. #endif /* __IItemHandler_FWD_DEFINED__ */
  184. #ifndef __IShellFolderNames_FWD_DEFINED__
  185. #define __IShellFolderNames_FWD_DEFINED__
  186. typedef interface IShellFolderNames IShellFolderNames;
  187. #endif /* __IShellFolderNames_FWD_DEFINED__ */
  188. #ifndef __IFolderItemsView_FWD_DEFINED__
  189. #define __IFolderItemsView_FWD_DEFINED__
  190. typedef interface IFolderItemsView IFolderItemsView;
  191. #endif /* __IFolderItemsView_FWD_DEFINED__ */
  192. #ifndef __ILocalCopy_FWD_DEFINED__
  193. #define __ILocalCopy_FWD_DEFINED__
  194. typedef interface ILocalCopy ILocalCopy;
  195. #endif /* __ILocalCopy_FWD_DEFINED__ */
  196. #ifndef __IDefViewFrame3_FWD_DEFINED__
  197. #define __IDefViewFrame3_FWD_DEFINED__
  198. typedef interface IDefViewFrame3 IDefViewFrame3;
  199. #endif /* __IDefViewFrame3_FWD_DEFINED__ */
  200. #ifndef __IDisplaySettings_FWD_DEFINED__
  201. #define __IDisplaySettings_FWD_DEFINED__
  202. typedef interface IDisplaySettings IDisplaySettings;
  203. #endif /* __IDisplaySettings_FWD_DEFINED__ */
  204. #ifndef __IScreenResFixer_FWD_DEFINED__
  205. #define __IScreenResFixer_FWD_DEFINED__
  206. typedef interface IScreenResFixer IScreenResFixer;
  207. #endif /* __IScreenResFixer_FWD_DEFINED__ */
  208. #ifndef __IShellTreeWalkerCallBack_FWD_DEFINED__
  209. #define __IShellTreeWalkerCallBack_FWD_DEFINED__
  210. typedef interface IShellTreeWalkerCallBack IShellTreeWalkerCallBack;
  211. #endif /* __IShellTreeWalkerCallBack_FWD_DEFINED__ */
  212. #ifndef __IShellTreeWalker_FWD_DEFINED__
  213. #define __IShellTreeWalker_FWD_DEFINED__
  214. typedef interface IShellTreeWalker IShellTreeWalker;
  215. #endif /* __IShellTreeWalker_FWD_DEFINED__ */
  216. #ifndef __IUIElement_FWD_DEFINED__
  217. #define __IUIElement_FWD_DEFINED__
  218. typedef interface IUIElement IUIElement;
  219. #endif /* __IUIElement_FWD_DEFINED__ */
  220. #ifndef __IUICommand_FWD_DEFINED__
  221. #define __IUICommand_FWD_DEFINED__
  222. typedef interface IUICommand IUICommand;
  223. #endif /* __IUICommand_FWD_DEFINED__ */
  224. #ifndef __IEnumUICommand_FWD_DEFINED__
  225. #define __IEnumUICommand_FWD_DEFINED__
  226. typedef interface IEnumUICommand IEnumUICommand;
  227. #endif /* __IEnumUICommand_FWD_DEFINED__ */
  228. #ifndef __IUICommandTarget_FWD_DEFINED__
  229. #define __IUICommandTarget_FWD_DEFINED__
  230. typedef interface IUICommandTarget IUICommandTarget;
  231. #endif /* __IUICommandTarget_FWD_DEFINED__ */
  232. #ifndef __IFileSystemStorage_FWD_DEFINED__
  233. #define __IFileSystemStorage_FWD_DEFINED__
  234. typedef interface IFileSystemStorage IFileSystemStorage;
  235. #endif /* __IFileSystemStorage_FWD_DEFINED__ */
  236. #ifndef __IDynamicStorage_FWD_DEFINED__
  237. #define __IDynamicStorage_FWD_DEFINED__
  238. typedef interface IDynamicStorage IDynamicStorage;
  239. #endif /* __IDynamicStorage_FWD_DEFINED__ */
  240. #ifndef __ITransferAdviseSink_FWD_DEFINED__
  241. #define __ITransferAdviseSink_FWD_DEFINED__
  242. typedef interface ITransferAdviseSink ITransferAdviseSink;
  243. #endif /* __ITransferAdviseSink_FWD_DEFINED__ */
  244. #ifndef __ITransferDest_FWD_DEFINED__
  245. #define __ITransferDest_FWD_DEFINED__
  246. typedef interface ITransferDest ITransferDest;
  247. #endif /* __ITransferDest_FWD_DEFINED__ */
  248. #ifndef __IStorageProcessor_FWD_DEFINED__
  249. #define __IStorageProcessor_FWD_DEFINED__
  250. typedef interface IStorageProcessor IStorageProcessor;
  251. #endif /* __IStorageProcessor_FWD_DEFINED__ */
  252. #ifndef __ITransferConfirmation_FWD_DEFINED__
  253. #define __ITransferConfirmation_FWD_DEFINED__
  254. typedef interface ITransferConfirmation ITransferConfirmation;
  255. #endif /* __ITransferConfirmation_FWD_DEFINED__ */
  256. #ifndef __ICDBurnPriv_FWD_DEFINED__
  257. #define __ICDBurnPriv_FWD_DEFINED__
  258. typedef interface ICDBurnPriv ICDBurnPriv;
  259. #endif /* __ICDBurnPriv_FWD_DEFINED__ */
  260. #ifndef __IDriveFolderExt_FWD_DEFINED__
  261. #define __IDriveFolderExt_FWD_DEFINED__
  262. typedef interface IDriveFolderExt IDriveFolderExt;
  263. #endif /* __IDriveFolderExt_FWD_DEFINED__ */
  264. #ifndef __ICustomizeInfoTip_FWD_DEFINED__
  265. #define __ICustomizeInfoTip_FWD_DEFINED__
  266. typedef interface ICustomizeInfoTip ICustomizeInfoTip;
  267. #endif /* __ICustomizeInfoTip_FWD_DEFINED__ */
  268. #ifndef __IFadeTask_FWD_DEFINED__
  269. #define __IFadeTask_FWD_DEFINED__
  270. typedef interface IFadeTask IFadeTask;
  271. #endif /* __IFadeTask_FWD_DEFINED__ */
  272. #ifndef __ISetFolderEnumRestriction_FWD_DEFINED__
  273. #define __ISetFolderEnumRestriction_FWD_DEFINED__
  274. typedef interface ISetFolderEnumRestriction ISetFolderEnumRestriction;
  275. #endif /* __ISetFolderEnumRestriction_FWD_DEFINED__ */
  276. #ifndef __IObjectWithRegistryKey_FWD_DEFINED__
  277. #define __IObjectWithRegistryKey_FWD_DEFINED__
  278. typedef interface IObjectWithRegistryKey IObjectWithRegistryKey;
  279. #endif /* __IObjectWithRegistryKey_FWD_DEFINED__ */
  280. #ifndef __IQuerySource_FWD_DEFINED__
  281. #define __IQuerySource_FWD_DEFINED__
  282. typedef interface IQuerySource IQuerySource;
  283. #endif /* __IQuerySource_FWD_DEFINED__ */
  284. #ifndef __IPersistString2_FWD_DEFINED__
  285. #define __IPersistString2_FWD_DEFINED__
  286. typedef interface IPersistString2 IPersistString2;
  287. #endif /* __IPersistString2_FWD_DEFINED__ */
  288. #ifndef __IObjectWithQuerySource_FWD_DEFINED__
  289. #define __IObjectWithQuerySource_FWD_DEFINED__
  290. typedef interface IObjectWithQuerySource IObjectWithQuerySource;
  291. #endif /* __IObjectWithQuerySource_FWD_DEFINED__ */
  292. #ifndef __IAssociationElement_FWD_DEFINED__
  293. #define __IAssociationElement_FWD_DEFINED__
  294. typedef interface IAssociationElement IAssociationElement;
  295. #endif /* __IAssociationElement_FWD_DEFINED__ */
  296. #ifndef __IEnumAssociationElements_FWD_DEFINED__
  297. #define __IEnumAssociationElements_FWD_DEFINED__
  298. typedef interface IEnumAssociationElements IEnumAssociationElements;
  299. #endif /* __IEnumAssociationElements_FWD_DEFINED__ */
  300. #ifndef __IAssociationArrayInitialize_FWD_DEFINED__
  301. #define __IAssociationArrayInitialize_FWD_DEFINED__
  302. typedef interface IAssociationArrayInitialize IAssociationArrayInitialize;
  303. #endif /* __IAssociationArrayInitialize_FWD_DEFINED__ */
  304. #ifndef __IAssociationArray_FWD_DEFINED__
  305. #define __IAssociationArray_FWD_DEFINED__
  306. typedef interface IAssociationArray IAssociationArray;
  307. #endif /* __IAssociationArray_FWD_DEFINED__ */
  308. #ifndef __IAlphaThumbnailExtractor_FWD_DEFINED__
  309. #define __IAlphaThumbnailExtractor_FWD_DEFINED__
  310. typedef interface IAlphaThumbnailExtractor IAlphaThumbnailExtractor;
  311. #endif /* __IAlphaThumbnailExtractor_FWD_DEFINED__ */
  312. #ifndef __IQueryPropertyFlags_FWD_DEFINED__
  313. #define __IQueryPropertyFlags_FWD_DEFINED__
  314. typedef interface IQueryPropertyFlags IQueryPropertyFlags;
  315. #endif /* __IQueryPropertyFlags_FWD_DEFINED__ */
  316. #ifndef __HWEventSettings_FWD_DEFINED__
  317. #define __HWEventSettings_FWD_DEFINED__
  318. #ifdef __cplusplus
  319. typedef class HWEventSettings HWEventSettings;
  320. #else
  321. typedef struct HWEventSettings HWEventSettings;
  322. #endif /* __cplusplus */
  323. #endif /* __HWEventSettings_FWD_DEFINED__ */
  324. #ifndef __AutoplayHandlerProperties_FWD_DEFINED__
  325. #define __AutoplayHandlerProperties_FWD_DEFINED__
  326. #ifdef __cplusplus
  327. typedef class AutoplayHandlerProperties AutoplayHandlerProperties;
  328. #else
  329. typedef struct AutoplayHandlerProperties AutoplayHandlerProperties;
  330. #endif /* __cplusplus */
  331. #endif /* __AutoplayHandlerProperties_FWD_DEFINED__ */
  332. #ifndef __HWDevice_FWD_DEFINED__
  333. #define __HWDevice_FWD_DEFINED__
  334. #ifdef __cplusplus
  335. typedef class HWDevice HWDevice;
  336. #else
  337. typedef struct HWDevice HWDevice;
  338. #endif /* __cplusplus */
  339. #endif /* __HWDevice_FWD_DEFINED__ */
  340. #ifndef __HardwareDevices_FWD_DEFINED__
  341. #define __HardwareDevices_FWD_DEFINED__
  342. #ifdef __cplusplus
  343. typedef class HardwareDevices HardwareDevices;
  344. #else
  345. typedef struct HardwareDevices HardwareDevices;
  346. #endif /* __cplusplus */
  347. #endif /* __HardwareDevices_FWD_DEFINED__ */
  348. #ifndef __HWDeviceCustomProperties_FWD_DEFINED__
  349. #define __HWDeviceCustomProperties_FWD_DEFINED__
  350. #ifdef __cplusplus
  351. typedef class HWDeviceCustomProperties HWDeviceCustomProperties;
  352. #else
  353. typedef struct HWDeviceCustomProperties HWDeviceCustomProperties;
  354. #endif /* __cplusplus */
  355. #endif /* __HWDeviceCustomProperties_FWD_DEFINED__ */
  356. #ifndef __DefCategoryProvider_FWD_DEFINED__
  357. #define __DefCategoryProvider_FWD_DEFINED__
  358. #ifdef __cplusplus
  359. typedef class DefCategoryProvider DefCategoryProvider;
  360. #else
  361. typedef struct DefCategoryProvider DefCategoryProvider;
  362. #endif /* __cplusplus */
  363. #endif /* __DefCategoryProvider_FWD_DEFINED__ */
  364. #ifndef __VersionColProvider_FWD_DEFINED__
  365. #define __VersionColProvider_FWD_DEFINED__
  366. #ifdef __cplusplus
  367. typedef class VersionColProvider VersionColProvider;
  368. #else
  369. typedef struct VersionColProvider VersionColProvider;
  370. #endif /* __cplusplus */
  371. #endif /* __VersionColProvider_FWD_DEFINED__ */
  372. #ifndef __ThemeUIPages_FWD_DEFINED__
  373. #define __ThemeUIPages_FWD_DEFINED__
  374. #ifdef __cplusplus
  375. typedef class ThemeUIPages ThemeUIPages;
  376. #else
  377. typedef struct ThemeUIPages ThemeUIPages;
  378. #endif /* __cplusplus */
  379. #endif /* __ThemeUIPages_FWD_DEFINED__ */
  380. #ifndef __ScreenSaverPage_FWD_DEFINED__
  381. #define __ScreenSaverPage_FWD_DEFINED__
  382. #ifdef __cplusplus
  383. typedef class ScreenSaverPage ScreenSaverPage;
  384. #else
  385. typedef struct ScreenSaverPage ScreenSaverPage;
  386. #endif /* __cplusplus */
  387. #endif /* __ScreenSaverPage_FWD_DEFINED__ */
  388. #ifndef __ScreenResFixer_FWD_DEFINED__
  389. #define __ScreenResFixer_FWD_DEFINED__
  390. #ifdef __cplusplus
  391. typedef class ScreenResFixer ScreenResFixer;
  392. #else
  393. typedef struct ScreenResFixer ScreenResFixer;
  394. #endif /* __cplusplus */
  395. #endif /* __ScreenResFixer_FWD_DEFINED__ */
  396. #ifndef __SettingsPage_FWD_DEFINED__
  397. #define __SettingsPage_FWD_DEFINED__
  398. #ifdef __cplusplus
  399. typedef class SettingsPage SettingsPage;
  400. #else
  401. typedef struct SettingsPage SettingsPage;
  402. #endif /* __cplusplus */
  403. #endif /* __SettingsPage_FWD_DEFINED__ */
  404. #ifndef __DisplaySettings_FWD_DEFINED__
  405. #define __DisplaySettings_FWD_DEFINED__
  406. #ifdef __cplusplus
  407. typedef class DisplaySettings DisplaySettings;
  408. #else
  409. typedef struct DisplaySettings DisplaySettings;
  410. #endif /* __cplusplus */
  411. #endif /* __DisplaySettings_FWD_DEFINED__ */
  412. #ifndef __VideoThumbnail_FWD_DEFINED__
  413. #define __VideoThumbnail_FWD_DEFINED__
  414. #ifdef __cplusplus
  415. typedef class VideoThumbnail VideoThumbnail;
  416. #else
  417. typedef struct VideoThumbnail VideoThumbnail;
  418. #endif /* __cplusplus */
  419. #endif /* __VideoThumbnail_FWD_DEFINED__ */
  420. #ifndef __StartMenuPin_FWD_DEFINED__
  421. #define __StartMenuPin_FWD_DEFINED__
  422. #ifdef __cplusplus
  423. typedef class StartMenuPin StartMenuPin;
  424. #else
  425. typedef struct StartMenuPin StartMenuPin;
  426. #endif /* __cplusplus */
  427. #endif /* __StartMenuPin_FWD_DEFINED__ */
  428. #ifndef __ClientExtractIcon_FWD_DEFINED__
  429. #define __ClientExtractIcon_FWD_DEFINED__
  430. #ifdef __cplusplus
  431. typedef class ClientExtractIcon ClientExtractIcon;
  432. #else
  433. typedef struct ClientExtractIcon ClientExtractIcon;
  434. #endif /* __cplusplus */
  435. #endif /* __ClientExtractIcon_FWD_DEFINED__ */
  436. #ifndef __MediaDeviceFolder_FWD_DEFINED__
  437. #define __MediaDeviceFolder_FWD_DEFINED__
  438. #ifdef __cplusplus
  439. typedef class MediaDeviceFolder MediaDeviceFolder;
  440. #else
  441. typedef struct MediaDeviceFolder MediaDeviceFolder;
  442. #endif /* __cplusplus */
  443. #endif /* __MediaDeviceFolder_FWD_DEFINED__ */
  444. #ifndef __CDBurnFolder_FWD_DEFINED__
  445. #define __CDBurnFolder_FWD_DEFINED__
  446. #ifdef __cplusplus
  447. typedef class CDBurnFolder CDBurnFolder;
  448. #else
  449. typedef struct CDBurnFolder CDBurnFolder;
  450. #endif /* __cplusplus */
  451. #endif /* __CDBurnFolder_FWD_DEFINED__ */
  452. #ifndef __BurnAudioCDExtension_FWD_DEFINED__
  453. #define __BurnAudioCDExtension_FWD_DEFINED__
  454. #ifdef __cplusplus
  455. typedef class BurnAudioCDExtension BurnAudioCDExtension;
  456. #else
  457. typedef struct BurnAudioCDExtension BurnAudioCDExtension;
  458. #endif /* __cplusplus */
  459. #endif /* __BurnAudioCDExtension_FWD_DEFINED__ */
  460. #ifndef __Accessible_FWD_DEFINED__
  461. #define __Accessible_FWD_DEFINED__
  462. #ifdef __cplusplus
  463. typedef class Accessible Accessible;
  464. #else
  465. typedef struct Accessible Accessible;
  466. #endif /* __cplusplus */
  467. #endif /* __Accessible_FWD_DEFINED__ */
  468. #ifndef __TrackPopupBar_FWD_DEFINED__
  469. #define __TrackPopupBar_FWD_DEFINED__
  470. #ifdef __cplusplus
  471. typedef class TrackPopupBar TrackPopupBar;
  472. #else
  473. typedef struct TrackPopupBar TrackPopupBar;
  474. #endif /* __cplusplus */
  475. #endif /* __TrackPopupBar_FWD_DEFINED__ */
  476. #ifndef __SharedDocuments_FWD_DEFINED__
  477. #define __SharedDocuments_FWD_DEFINED__
  478. #ifdef __cplusplus
  479. typedef class SharedDocuments SharedDocuments;
  480. #else
  481. typedef struct SharedDocuments SharedDocuments;
  482. #endif /* __cplusplus */
  483. #endif /* __SharedDocuments_FWD_DEFINED__ */
  484. #ifndef __PostBootReminder_FWD_DEFINED__
  485. #define __PostBootReminder_FWD_DEFINED__
  486. #ifdef __cplusplus
  487. typedef class PostBootReminder PostBootReminder;
  488. #else
  489. typedef struct PostBootReminder PostBootReminder;
  490. #endif /* __cplusplus */
  491. #endif /* __PostBootReminder_FWD_DEFINED__ */
  492. #ifndef __AudioMediaProperties_FWD_DEFINED__
  493. #define __AudioMediaProperties_FWD_DEFINED__
  494. #ifdef __cplusplus
  495. typedef class AudioMediaProperties AudioMediaProperties;
  496. #else
  497. typedef struct AudioMediaProperties AudioMediaProperties;
  498. #endif /* __cplusplus */
  499. #endif /* __AudioMediaProperties_FWD_DEFINED__ */
  500. #ifndef __VideoMediaProperties_FWD_DEFINED__
  501. #define __VideoMediaProperties_FWD_DEFINED__
  502. #ifdef __cplusplus
  503. typedef class VideoMediaProperties VideoMediaProperties;
  504. #else
  505. typedef struct VideoMediaProperties VideoMediaProperties;
  506. #endif /* __cplusplus */
  507. #endif /* __VideoMediaProperties_FWD_DEFINED__ */
  508. #ifndef __AVWavProperties_FWD_DEFINED__
  509. #define __AVWavProperties_FWD_DEFINED__
  510. #ifdef __cplusplus
  511. typedef class AVWavProperties AVWavProperties;
  512. #else
  513. typedef struct AVWavProperties AVWavProperties;
  514. #endif /* __cplusplus */
  515. #endif /* __AVWavProperties_FWD_DEFINED__ */
  516. #ifndef __AVAviProperties_FWD_DEFINED__
  517. #define __AVAviProperties_FWD_DEFINED__
  518. #ifdef __cplusplus
  519. typedef class AVAviProperties AVAviProperties;
  520. #else
  521. typedef struct AVAviProperties AVAviProperties;
  522. #endif /* __cplusplus */
  523. #endif /* __AVAviProperties_FWD_DEFINED__ */
  524. #ifndef __AVMidiProperties_FWD_DEFINED__
  525. #define __AVMidiProperties_FWD_DEFINED__
  526. #ifdef __cplusplus
  527. typedef class AVMidiProperties AVMidiProperties;
  528. #else
  529. typedef struct AVMidiProperties AVMidiProperties;
  530. #endif /* __cplusplus */
  531. #endif /* __AVMidiProperties_FWD_DEFINED__ */
  532. #ifndef __TrayNotify_FWD_DEFINED__
  533. #define __TrayNotify_FWD_DEFINED__
  534. #ifdef __cplusplus
  535. typedef class TrayNotify TrayNotify;
  536. #else
  537. typedef struct TrayNotify TrayNotify;
  538. #endif /* __cplusplus */
  539. #endif /* __TrayNotify_FWD_DEFINED__ */
  540. #ifndef __CompositeFolder_FWD_DEFINED__
  541. #define __CompositeFolder_FWD_DEFINED__
  542. #ifdef __cplusplus
  543. typedef class CompositeFolder CompositeFolder;
  544. #else
  545. typedef struct CompositeFolder CompositeFolder;
  546. #endif /* __cplusplus */
  547. #endif /* __CompositeFolder_FWD_DEFINED__ */
  548. #ifndef __DynamicStorage_FWD_DEFINED__
  549. #define __DynamicStorage_FWD_DEFINED__
  550. #ifdef __cplusplus
  551. typedef class DynamicStorage DynamicStorage;
  552. #else
  553. typedef struct DynamicStorage DynamicStorage;
  554. #endif /* __cplusplus */
  555. #endif /* __DynamicStorage_FWD_DEFINED__ */
  556. #ifndef __Magic_FWD_DEFINED__
  557. #define __Magic_FWD_DEFINED__
  558. #ifdef __cplusplus
  559. typedef class Magic Magic;
  560. #else
  561. typedef struct Magic Magic;
  562. #endif /* __cplusplus */
  563. #endif /* __Magic_FWD_DEFINED__ */
  564. #ifndef __HomeNetworkWizard_FWD_DEFINED__
  565. #define __HomeNetworkWizard_FWD_DEFINED__
  566. #ifdef __cplusplus
  567. typedef class HomeNetworkWizard HomeNetworkWizard;
  568. #else
  569. typedef struct HomeNetworkWizard HomeNetworkWizard;
  570. #endif /* __cplusplus */
  571. #endif /* __HomeNetworkWizard_FWD_DEFINED__ */
  572. #ifndef __StartMenuFolder_FWD_DEFINED__
  573. #define __StartMenuFolder_FWD_DEFINED__
  574. #ifdef __cplusplus
  575. typedef class StartMenuFolder StartMenuFolder;
  576. #else
  577. typedef struct StartMenuFolder StartMenuFolder;
  578. #endif /* __cplusplus */
  579. #endif /* __StartMenuFolder_FWD_DEFINED__ */
  580. #ifndef __ProgramsFolder_FWD_DEFINED__
  581. #define __ProgramsFolder_FWD_DEFINED__
  582. #ifdef __cplusplus
  583. typedef class ProgramsFolder ProgramsFolder;
  584. #else
  585. typedef struct ProgramsFolder ProgramsFolder;
  586. #endif /* __cplusplus */
  587. #endif /* __ProgramsFolder_FWD_DEFINED__ */
  588. #ifndef __MoreDocumentsFolder_FWD_DEFINED__
  589. #define __MoreDocumentsFolder_FWD_DEFINED__
  590. #ifdef __cplusplus
  591. typedef class MoreDocumentsFolder MoreDocumentsFolder;
  592. #else
  593. typedef struct MoreDocumentsFolder MoreDocumentsFolder;
  594. #endif /* __cplusplus */
  595. #endif /* __MoreDocumentsFolder_FWD_DEFINED__ */
  596. #ifndef __LocalCopyHelper_FWD_DEFINED__
  597. #define __LocalCopyHelper_FWD_DEFINED__
  598. #ifdef __cplusplus
  599. typedef class LocalCopyHelper LocalCopyHelper;
  600. #else
  601. typedef struct LocalCopyHelper LocalCopyHelper;
  602. #endif /* __cplusplus */
  603. #endif /* __LocalCopyHelper_FWD_DEFINED__ */
  604. #ifndef __ShellItem_FWD_DEFINED__
  605. #define __ShellItem_FWD_DEFINED__
  606. #ifdef __cplusplus
  607. typedef class ShellItem ShellItem;
  608. #else
  609. typedef struct ShellItem ShellItem;
  610. #endif /* __cplusplus */
  611. #endif /* __ShellItem_FWD_DEFINED__ */
  612. #ifndef __WirelessDevices_FWD_DEFINED__
  613. #define __WirelessDevices_FWD_DEFINED__
  614. #ifdef __cplusplus
  615. typedef class WirelessDevices WirelessDevices;
  616. #else
  617. typedef struct WirelessDevices WirelessDevices;
  618. #endif /* __cplusplus */
  619. #endif /* __WirelessDevices_FWD_DEFINED__ */
  620. #ifndef __FolderCustomize_FWD_DEFINED__
  621. #define __FolderCustomize_FWD_DEFINED__
  622. #ifdef __cplusplus
  623. typedef class FolderCustomize FolderCustomize;
  624. #else
  625. typedef struct FolderCustomize FolderCustomize;
  626. #endif /* __cplusplus */
  627. #endif /* __FolderCustomize_FWD_DEFINED__ */
  628. #ifndef __WorkgroupNetCrawler_FWD_DEFINED__
  629. #define __WorkgroupNetCrawler_FWD_DEFINED__
  630. #ifdef __cplusplus
  631. typedef class WorkgroupNetCrawler WorkgroupNetCrawler;
  632. #else
  633. typedef struct WorkgroupNetCrawler WorkgroupNetCrawler;
  634. #endif /* __cplusplus */
  635. #endif /* __WorkgroupNetCrawler_FWD_DEFINED__ */
  636. #ifndef __WebDocsNetCrawler_FWD_DEFINED__
  637. #define __WebDocsNetCrawler_FWD_DEFINED__
  638. #ifdef __cplusplus
  639. typedef class WebDocsNetCrawler WebDocsNetCrawler;
  640. #else
  641. typedef struct WebDocsNetCrawler WebDocsNetCrawler;
  642. #endif /* __cplusplus */
  643. #endif /* __WebDocsNetCrawler_FWD_DEFINED__ */
  644. #ifndef __PublishedShareNetCrawler_FWD_DEFINED__
  645. #define __PublishedShareNetCrawler_FWD_DEFINED__
  646. #ifdef __cplusplus
  647. typedef class PublishedShareNetCrawler PublishedShareNetCrawler;
  648. #else
  649. typedef struct PublishedShareNetCrawler PublishedShareNetCrawler;
  650. #endif /* __cplusplus */
  651. #endif /* __PublishedShareNetCrawler_FWD_DEFINED__ */
  652. #ifndef __ImagePropertyHandler_FWD_DEFINED__
  653. #define __ImagePropertyHandler_FWD_DEFINED__
  654. #ifdef __cplusplus
  655. typedef class ImagePropertyHandler ImagePropertyHandler;
  656. #else
  657. typedef struct ImagePropertyHandler ImagePropertyHandler;
  658. #endif /* __cplusplus */
  659. #endif /* __ImagePropertyHandler_FWD_DEFINED__ */
  660. #ifndef __WebViewRegTreeItem_FWD_DEFINED__
  661. #define __WebViewRegTreeItem_FWD_DEFINED__
  662. #ifdef __cplusplus
  663. typedef class WebViewRegTreeItem WebViewRegTreeItem;
  664. #else
  665. typedef struct WebViewRegTreeItem WebViewRegTreeItem;
  666. #endif /* __cplusplus */
  667. #endif /* __WebViewRegTreeItem_FWD_DEFINED__ */
  668. #ifndef __ThemesRegTreeItem_FWD_DEFINED__
  669. #define __ThemesRegTreeItem_FWD_DEFINED__
  670. #ifdef __cplusplus
  671. typedef class ThemesRegTreeItem ThemesRegTreeItem;
  672. #else
  673. typedef struct ThemesRegTreeItem ThemesRegTreeItem;
  674. #endif /* __cplusplus */
  675. #endif /* __ThemesRegTreeItem_FWD_DEFINED__ */
  676. #ifndef __CShellTreeWalker_FWD_DEFINED__
  677. #define __CShellTreeWalker_FWD_DEFINED__
  678. #ifdef __cplusplus
  679. typedef class CShellTreeWalker CShellTreeWalker;
  680. #else
  681. typedef struct CShellTreeWalker CShellTreeWalker;
  682. #endif /* __cplusplus */
  683. #endif /* __CShellTreeWalker_FWD_DEFINED__ */
  684. #ifndef __StorageProcessor_FWD_DEFINED__
  685. #define __StorageProcessor_FWD_DEFINED__
  686. #ifdef __cplusplus
  687. typedef class StorageProcessor StorageProcessor;
  688. #else
  689. typedef struct StorageProcessor StorageProcessor;
  690. #endif /* __cplusplus */
  691. #endif /* __StorageProcessor_FWD_DEFINED__ */
  692. #ifndef __TransferConfirmationUI_FWD_DEFINED__
  693. #define __TransferConfirmationUI_FWD_DEFINED__
  694. #ifdef __cplusplus
  695. typedef class TransferConfirmationUI TransferConfirmationUI;
  696. #else
  697. typedef struct TransferConfirmationUI TransferConfirmationUI;
  698. #endif /* __cplusplus */
  699. #endif /* __TransferConfirmationUI_FWD_DEFINED__ */
  700. #ifndef __ShellAutoplay_FWD_DEFINED__
  701. #define __ShellAutoplay_FWD_DEFINED__
  702. #ifdef __cplusplus
  703. typedef class ShellAutoplay ShellAutoplay;
  704. #else
  705. typedef struct ShellAutoplay ShellAutoplay;
  706. #endif /* __cplusplus */
  707. #endif /* __ShellAutoplay_FWD_DEFINED__ */
  708. #ifndef __PrintPhotosDropTarget_FWD_DEFINED__
  709. #define __PrintPhotosDropTarget_FWD_DEFINED__
  710. #ifdef __cplusplus
  711. typedef class PrintPhotosDropTarget PrintPhotosDropTarget;
  712. #else
  713. typedef struct PrintPhotosDropTarget PrintPhotosDropTarget;
  714. #endif /* __cplusplus */
  715. #endif /* __PrintPhotosDropTarget_FWD_DEFINED__ */
  716. #ifndef __OrganizeFolder_FWD_DEFINED__
  717. #define __OrganizeFolder_FWD_DEFINED__
  718. #ifdef __cplusplus
  719. typedef class OrganizeFolder OrganizeFolder;
  720. #else
  721. typedef struct OrganizeFolder OrganizeFolder;
  722. #endif /* __cplusplus */
  723. #endif /* __OrganizeFolder_FWD_DEFINED__ */
  724. #ifndef __FadeTask_FWD_DEFINED__
  725. #define __FadeTask_FWD_DEFINED__
  726. #ifdef __cplusplus
  727. typedef class FadeTask FadeTask;
  728. #else
  729. typedef struct FadeTask FadeTask;
  730. #endif /* __cplusplus */
  731. #endif /* __FadeTask_FWD_DEFINED__ */
  732. #ifndef __AssocShellElement_FWD_DEFINED__
  733. #define __AssocShellElement_FWD_DEFINED__
  734. #ifdef __cplusplus
  735. typedef class AssocShellElement AssocShellElement;
  736. #else
  737. typedef struct AssocShellElement AssocShellElement;
  738. #endif /* __cplusplus */
  739. #endif /* __AssocShellElement_FWD_DEFINED__ */
  740. #ifndef __AssocProgidElement_FWD_DEFINED__
  741. #define __AssocProgidElement_FWD_DEFINED__
  742. #ifdef __cplusplus
  743. typedef class AssocProgidElement AssocProgidElement;
  744. #else
  745. typedef struct AssocProgidElement AssocProgidElement;
  746. #endif /* __cplusplus */
  747. #endif /* __AssocProgidElement_FWD_DEFINED__ */
  748. #ifndef __AssocClsidElement_FWD_DEFINED__
  749. #define __AssocClsidElement_FWD_DEFINED__
  750. #ifdef __cplusplus
  751. typedef class AssocClsidElement AssocClsidElement;
  752. #else
  753. typedef struct AssocClsidElement AssocClsidElement;
  754. #endif /* __cplusplus */
  755. #endif /* __AssocClsidElement_FWD_DEFINED__ */
  756. #ifndef __AssocSystemElement_FWD_DEFINED__
  757. #define __AssocSystemElement_FWD_DEFINED__
  758. #ifdef __cplusplus
  759. typedef class AssocSystemElement AssocSystemElement;
  760. #else
  761. typedef struct AssocSystemElement AssocSystemElement;
  762. #endif /* __cplusplus */
  763. #endif /* __AssocSystemElement_FWD_DEFINED__ */
  764. #ifndef __AssocPerceivedElement_FWD_DEFINED__
  765. #define __AssocPerceivedElement_FWD_DEFINED__
  766. #ifdef __cplusplus
  767. typedef class AssocPerceivedElement AssocPerceivedElement;
  768. #else
  769. typedef struct AssocPerceivedElement AssocPerceivedElement;
  770. #endif /* __cplusplus */
  771. #endif /* __AssocPerceivedElement_FWD_DEFINED__ */
  772. #ifndef __AssocApplicationElement_FWD_DEFINED__
  773. #define __AssocApplicationElement_FWD_DEFINED__
  774. #ifdef __cplusplus
  775. typedef class AssocApplicationElement AssocApplicationElement;
  776. #else
  777. typedef struct AssocApplicationElement AssocApplicationElement;
  778. #endif /* __cplusplus */
  779. #endif /* __AssocApplicationElement_FWD_DEFINED__ */
  780. #ifndef __AssocFolderElement_FWD_DEFINED__
  781. #define __AssocFolderElement_FWD_DEFINED__
  782. #ifdef __cplusplus
  783. typedef class AssocFolderElement AssocFolderElement;
  784. #else
  785. typedef struct AssocFolderElement AssocFolderElement;
  786. #endif /* __cplusplus */
  787. #endif /* __AssocFolderElement_FWD_DEFINED__ */
  788. #ifndef __AssocStarElement_FWD_DEFINED__
  789. #define __AssocStarElement_FWD_DEFINED__
  790. #ifdef __cplusplus
  791. typedef class AssocStarElement AssocStarElement;
  792. #else
  793. typedef struct AssocStarElement AssocStarElement;
  794. #endif /* __cplusplus */
  795. #endif /* __AssocStarElement_FWD_DEFINED__ */
  796. #ifndef __AssocClientElement_FWD_DEFINED__
  797. #define __AssocClientElement_FWD_DEFINED__
  798. #ifdef __cplusplus
  799. typedef class AssocClientElement AssocClientElement;
  800. #else
  801. typedef struct AssocClientElement AssocClientElement;
  802. #endif /* __cplusplus */
  803. #endif /* __AssocClientElement_FWD_DEFINED__ */
  804. #ifndef __AutoPlayVerb_FWD_DEFINED__
  805. #define __AutoPlayVerb_FWD_DEFINED__
  806. #ifdef __cplusplus
  807. typedef class AutoPlayVerb AutoPlayVerb;
  808. #else
  809. typedef struct AutoPlayVerb AutoPlayVerb;
  810. #endif /* __cplusplus */
  811. #endif /* __AutoPlayVerb_FWD_DEFINED__ */
  812. /* header files for imported files */
  813. #include "objidl.h"
  814. #include "shtypes.h"
  815. #include "shobjidl.h"
  816. #ifdef __cplusplus
  817. extern "C"{
  818. #endif
  819. void * __RPC_USER MIDL_user_allocate(size_t);
  820. void __RPC_USER MIDL_user_free( void * );
  821. /* interface __MIDL_itf_shpriv_0000 */
  822. /* [local] */
  823. #include <pshpack8.h>
  824. #include <poppack.h>
  825. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0000_v0_0_c_ifspec;
  826. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0000_v0_0_s_ifspec;
  827. #ifndef __ICustomIconManager_INTERFACE_DEFINED__
  828. #define __ICustomIconManager_INTERFACE_DEFINED__
  829. /* interface ICustomIconManager */
  830. /* [object][uuid][helpstring] */
  831. EXTERN_C const IID IID_ICustomIconManager;
  832. #if defined(__cplusplus) && !defined(CINTERFACE)
  833. MIDL_INTERFACE("7E23D323-36D6-4eb2-A654-387832868EA3")
  834. ICustomIconManager : public IUnknown
  835. {
  836. public:
  837. virtual HRESULT STDMETHODCALLTYPE SetIcon(
  838. /* [string][in] */ LPCWSTR pszIconPath,
  839. /* [in] */ int iIcon) = 0;
  840. virtual HRESULT STDMETHODCALLTYPE GetIcon(
  841. /* [size_is][out] */ LPWSTR pszIconPath,
  842. /* [in] */ int cch,
  843. /* [out] */ int *piIconIndex) = 0;
  844. virtual HRESULT STDMETHODCALLTYPE GetDefaultIconHandle(
  845. /* [out] */ HICON *phIcon) = 0;
  846. virtual HRESULT STDMETHODCALLTYPE SetDefaultIcon( void) = 0;
  847. };
  848. #else /* C style interface */
  849. typedef struct ICustomIconManagerVtbl
  850. {
  851. BEGIN_INTERFACE
  852. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  853. ICustomIconManager * This,
  854. /* [in] */ REFIID riid,
  855. /* [iid_is][out] */ void **ppvObject);
  856. ULONG ( STDMETHODCALLTYPE *AddRef )(
  857. ICustomIconManager * This);
  858. ULONG ( STDMETHODCALLTYPE *Release )(
  859. ICustomIconManager * This);
  860. HRESULT ( STDMETHODCALLTYPE *SetIcon )(
  861. ICustomIconManager * This,
  862. /* [string][in] */ LPCWSTR pszIconPath,
  863. /* [in] */ int iIcon);
  864. HRESULT ( STDMETHODCALLTYPE *GetIcon )(
  865. ICustomIconManager * This,
  866. /* [size_is][out] */ LPWSTR pszIconPath,
  867. /* [in] */ int cch,
  868. /* [out] */ int *piIconIndex);
  869. HRESULT ( STDMETHODCALLTYPE *GetDefaultIconHandle )(
  870. ICustomIconManager * This,
  871. /* [out] */ HICON *phIcon);
  872. HRESULT ( STDMETHODCALLTYPE *SetDefaultIcon )(
  873. ICustomIconManager * This);
  874. END_INTERFACE
  875. } ICustomIconManagerVtbl;
  876. interface ICustomIconManager
  877. {
  878. CONST_VTBL struct ICustomIconManagerVtbl *lpVtbl;
  879. };
  880. #ifdef COBJMACROS
  881. #define ICustomIconManager_QueryInterface(This,riid,ppvObject) \
  882. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  883. #define ICustomIconManager_AddRef(This) \
  884. (This)->lpVtbl -> AddRef(This)
  885. #define ICustomIconManager_Release(This) \
  886. (This)->lpVtbl -> Release(This)
  887. #define ICustomIconManager_SetIcon(This,pszIconPath,iIcon) \
  888. (This)->lpVtbl -> SetIcon(This,pszIconPath,iIcon)
  889. #define ICustomIconManager_GetIcon(This,pszIconPath,cch,piIconIndex) \
  890. (This)->lpVtbl -> GetIcon(This,pszIconPath,cch,piIconIndex)
  891. #define ICustomIconManager_GetDefaultIconHandle(This,phIcon) \
  892. (This)->lpVtbl -> GetDefaultIconHandle(This,phIcon)
  893. #define ICustomIconManager_SetDefaultIcon(This) \
  894. (This)->lpVtbl -> SetDefaultIcon(This)
  895. #endif /* COBJMACROS */
  896. #endif /* C style interface */
  897. HRESULT STDMETHODCALLTYPE ICustomIconManager_SetIcon_Proxy(
  898. ICustomIconManager * This,
  899. /* [string][in] */ LPCWSTR pszIconPath,
  900. /* [in] */ int iIcon);
  901. void __RPC_STUB ICustomIconManager_SetIcon_Stub(
  902. IRpcStubBuffer *This,
  903. IRpcChannelBuffer *_pRpcChannelBuffer,
  904. PRPC_MESSAGE _pRpcMessage,
  905. DWORD *_pdwStubPhase);
  906. HRESULT STDMETHODCALLTYPE ICustomIconManager_GetIcon_Proxy(
  907. ICustomIconManager * This,
  908. /* [size_is][out] */ LPWSTR pszIconPath,
  909. /* [in] */ int cch,
  910. /* [out] */ int *piIconIndex);
  911. void __RPC_STUB ICustomIconManager_GetIcon_Stub(
  912. IRpcStubBuffer *This,
  913. IRpcChannelBuffer *_pRpcChannelBuffer,
  914. PRPC_MESSAGE _pRpcMessage,
  915. DWORD *_pdwStubPhase);
  916. HRESULT STDMETHODCALLTYPE ICustomIconManager_GetDefaultIconHandle_Proxy(
  917. ICustomIconManager * This,
  918. /* [out] */ HICON *phIcon);
  919. void __RPC_STUB ICustomIconManager_GetDefaultIconHandle_Stub(
  920. IRpcStubBuffer *This,
  921. IRpcChannelBuffer *_pRpcChannelBuffer,
  922. PRPC_MESSAGE _pRpcMessage,
  923. DWORD *_pdwStubPhase);
  924. HRESULT STDMETHODCALLTYPE ICustomIconManager_SetDefaultIcon_Proxy(
  925. ICustomIconManager * This);
  926. void __RPC_STUB ICustomIconManager_SetDefaultIcon_Stub(
  927. IRpcStubBuffer *This,
  928. IRpcChannelBuffer *_pRpcChannelBuffer,
  929. PRPC_MESSAGE _pRpcMessage,
  930. DWORD *_pdwStubPhase);
  931. #endif /* __ICustomIconManager_INTERFACE_DEFINED__ */
  932. /* interface __MIDL_itf_shpriv_0262 */
  933. /* [local] */
  934. typedef /* [v1_enum] */
  935. enum tagBNSTATE
  936. { BNS_NORMAL = 0,
  937. BNS_BEGIN_NAVIGATE = 1,
  938. BNS_NAVIGATE = 2
  939. } BNSTATE;
  940. #ifdef MIDL_PASS
  941. typedef DWORD RGBQUAD;
  942. #endif
  943. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0262_v0_0_c_ifspec;
  944. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0262_v0_0_s_ifspec;
  945. #ifndef __IImageListPersistStream_INTERFACE_DEFINED__
  946. #define __IImageListPersistStream_INTERFACE_DEFINED__
  947. /* interface IImageListPersistStream */
  948. /* [object][local][helpstring][uuid] */
  949. EXTERN_C const IID IID_IImageListPersistStream;
  950. #if defined(__cplusplus) && !defined(CINTERFACE)
  951. MIDL_INTERFACE("4D4BE85C-9BF6-4218-999A-8EA489F08EF7")
  952. IImageListPersistStream : public IUnknown
  953. {
  954. public:
  955. virtual HRESULT STDMETHODCALLTYPE LoadEx(
  956. DWORD dwFlags,
  957. IStream *pstm) = 0;
  958. virtual HRESULT STDMETHODCALLTYPE SaveEx(
  959. DWORD dwFlags,
  960. IStream *pstm) = 0;
  961. };
  962. #else /* C style interface */
  963. typedef struct IImageListPersistStreamVtbl
  964. {
  965. BEGIN_INTERFACE
  966. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  967. IImageListPersistStream * This,
  968. /* [in] */ REFIID riid,
  969. /* [iid_is][out] */ void **ppvObject);
  970. ULONG ( STDMETHODCALLTYPE *AddRef )(
  971. IImageListPersistStream * This);
  972. ULONG ( STDMETHODCALLTYPE *Release )(
  973. IImageListPersistStream * This);
  974. HRESULT ( STDMETHODCALLTYPE *LoadEx )(
  975. IImageListPersistStream * This,
  976. DWORD dwFlags,
  977. IStream *pstm);
  978. HRESULT ( STDMETHODCALLTYPE *SaveEx )(
  979. IImageListPersistStream * This,
  980. DWORD dwFlags,
  981. IStream *pstm);
  982. END_INTERFACE
  983. } IImageListPersistStreamVtbl;
  984. interface IImageListPersistStream
  985. {
  986. CONST_VTBL struct IImageListPersistStreamVtbl *lpVtbl;
  987. };
  988. #ifdef COBJMACROS
  989. #define IImageListPersistStream_QueryInterface(This,riid,ppvObject) \
  990. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  991. #define IImageListPersistStream_AddRef(This) \
  992. (This)->lpVtbl -> AddRef(This)
  993. #define IImageListPersistStream_Release(This) \
  994. (This)->lpVtbl -> Release(This)
  995. #define IImageListPersistStream_LoadEx(This,dwFlags,pstm) \
  996. (This)->lpVtbl -> LoadEx(This,dwFlags,pstm)
  997. #define IImageListPersistStream_SaveEx(This,dwFlags,pstm) \
  998. (This)->lpVtbl -> SaveEx(This,dwFlags,pstm)
  999. #endif /* COBJMACROS */
  1000. #endif /* C style interface */
  1001. HRESULT STDMETHODCALLTYPE IImageListPersistStream_LoadEx_Proxy(
  1002. IImageListPersistStream * This,
  1003. DWORD dwFlags,
  1004. IStream *pstm);
  1005. void __RPC_STUB IImageListPersistStream_LoadEx_Stub(
  1006. IRpcStubBuffer *This,
  1007. IRpcChannelBuffer *_pRpcChannelBuffer,
  1008. PRPC_MESSAGE _pRpcMessage,
  1009. DWORD *_pdwStubPhase);
  1010. HRESULT STDMETHODCALLTYPE IImageListPersistStream_SaveEx_Proxy(
  1011. IImageListPersistStream * This,
  1012. DWORD dwFlags,
  1013. IStream *pstm);
  1014. void __RPC_STUB IImageListPersistStream_SaveEx_Stub(
  1015. IRpcStubBuffer *This,
  1016. IRpcChannelBuffer *_pRpcChannelBuffer,
  1017. PRPC_MESSAGE _pRpcMessage,
  1018. DWORD *_pdwStubPhase);
  1019. #endif /* __IImageListPersistStream_INTERFACE_DEFINED__ */
  1020. #ifndef __IImageListPriv_INTERFACE_DEFINED__
  1021. #define __IImageListPriv_INTERFACE_DEFINED__
  1022. /* interface IImageListPriv */
  1023. /* [object][local][helpstring][uuid] */
  1024. EXTERN_C const IID IID_IImageListPriv;
  1025. #if defined(__cplusplus) && !defined(CINTERFACE)
  1026. MIDL_INTERFACE("E94CC23B-0916-4ba6-93F4-AA52B5355EE8")
  1027. IImageListPriv : public IUnknown
  1028. {
  1029. public:
  1030. virtual HRESULT STDMETHODCALLTYPE SetFlags(
  1031. UINT flags) = 0;
  1032. virtual HRESULT STDMETHODCALLTYPE GetFlags(
  1033. UINT *pflags) = 0;
  1034. virtual HRESULT STDMETHODCALLTYPE SetColorTable(
  1035. int start,
  1036. int len,
  1037. RGBQUAD *prgb,
  1038. int *pi) = 0;
  1039. virtual HRESULT STDMETHODCALLTYPE GetPrivateGoo(
  1040. HBITMAP *hbmp,
  1041. HDC *hdc,
  1042. HBITMAP *hbmpMask,
  1043. HDC *hdcMask) = 0;
  1044. virtual HRESULT STDMETHODCALLTYPE GetMirror(
  1045. REFIID riid,
  1046. PVOID *ppv) = 0;
  1047. virtual HRESULT STDMETHODCALLTYPE CopyDitherImage(
  1048. WORD iDst,
  1049. int xDst,
  1050. int yDst,
  1051. IUnknown *punk,
  1052. int iSrc,
  1053. UINT fStyle) = 0;
  1054. };
  1055. #else /* C style interface */
  1056. typedef struct IImageListPrivVtbl
  1057. {
  1058. BEGIN_INTERFACE
  1059. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1060. IImageListPriv * This,
  1061. /* [in] */ REFIID riid,
  1062. /* [iid_is][out] */ void **ppvObject);
  1063. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1064. IImageListPriv * This);
  1065. ULONG ( STDMETHODCALLTYPE *Release )(
  1066. IImageListPriv * This);
  1067. HRESULT ( STDMETHODCALLTYPE *SetFlags )(
  1068. IImageListPriv * This,
  1069. UINT flags);
  1070. HRESULT ( STDMETHODCALLTYPE *GetFlags )(
  1071. IImageListPriv * This,
  1072. UINT *pflags);
  1073. HRESULT ( STDMETHODCALLTYPE *SetColorTable )(
  1074. IImageListPriv * This,
  1075. int start,
  1076. int len,
  1077. RGBQUAD *prgb,
  1078. int *pi);
  1079. HRESULT ( STDMETHODCALLTYPE *GetPrivateGoo )(
  1080. IImageListPriv * This,
  1081. HBITMAP *hbmp,
  1082. HDC *hdc,
  1083. HBITMAP *hbmpMask,
  1084. HDC *hdcMask);
  1085. HRESULT ( STDMETHODCALLTYPE *GetMirror )(
  1086. IImageListPriv * This,
  1087. REFIID riid,
  1088. PVOID *ppv);
  1089. HRESULT ( STDMETHODCALLTYPE *CopyDitherImage )(
  1090. IImageListPriv * This,
  1091. WORD iDst,
  1092. int xDst,
  1093. int yDst,
  1094. IUnknown *punk,
  1095. int iSrc,
  1096. UINT fStyle);
  1097. END_INTERFACE
  1098. } IImageListPrivVtbl;
  1099. interface IImageListPriv
  1100. {
  1101. CONST_VTBL struct IImageListPrivVtbl *lpVtbl;
  1102. };
  1103. #ifdef COBJMACROS
  1104. #define IImageListPriv_QueryInterface(This,riid,ppvObject) \
  1105. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1106. #define IImageListPriv_AddRef(This) \
  1107. (This)->lpVtbl -> AddRef(This)
  1108. #define IImageListPriv_Release(This) \
  1109. (This)->lpVtbl -> Release(This)
  1110. #define IImageListPriv_SetFlags(This,flags) \
  1111. (This)->lpVtbl -> SetFlags(This,flags)
  1112. #define IImageListPriv_GetFlags(This,pflags) \
  1113. (This)->lpVtbl -> GetFlags(This,pflags)
  1114. #define IImageListPriv_SetColorTable(This,start,len,prgb,pi) \
  1115. (This)->lpVtbl -> SetColorTable(This,start,len,prgb,pi)
  1116. #define IImageListPriv_GetPrivateGoo(This,hbmp,hdc,hbmpMask,hdcMask) \
  1117. (This)->lpVtbl -> GetPrivateGoo(This,hbmp,hdc,hbmpMask,hdcMask)
  1118. #define IImageListPriv_GetMirror(This,riid,ppv) \
  1119. (This)->lpVtbl -> GetMirror(This,riid,ppv)
  1120. #define IImageListPriv_CopyDitherImage(This,iDst,xDst,yDst,punk,iSrc,fStyle) \
  1121. (This)->lpVtbl -> CopyDitherImage(This,iDst,xDst,yDst,punk,iSrc,fStyle)
  1122. #endif /* COBJMACROS */
  1123. #endif /* C style interface */
  1124. HRESULT STDMETHODCALLTYPE IImageListPriv_SetFlags_Proxy(
  1125. IImageListPriv * This,
  1126. UINT flags);
  1127. void __RPC_STUB IImageListPriv_SetFlags_Stub(
  1128. IRpcStubBuffer *This,
  1129. IRpcChannelBuffer *_pRpcChannelBuffer,
  1130. PRPC_MESSAGE _pRpcMessage,
  1131. DWORD *_pdwStubPhase);
  1132. HRESULT STDMETHODCALLTYPE IImageListPriv_GetFlags_Proxy(
  1133. IImageListPriv * This,
  1134. UINT *pflags);
  1135. void __RPC_STUB IImageListPriv_GetFlags_Stub(
  1136. IRpcStubBuffer *This,
  1137. IRpcChannelBuffer *_pRpcChannelBuffer,
  1138. PRPC_MESSAGE _pRpcMessage,
  1139. DWORD *_pdwStubPhase);
  1140. HRESULT STDMETHODCALLTYPE IImageListPriv_SetColorTable_Proxy(
  1141. IImageListPriv * This,
  1142. int start,
  1143. int len,
  1144. RGBQUAD *prgb,
  1145. int *pi);
  1146. void __RPC_STUB IImageListPriv_SetColorTable_Stub(
  1147. IRpcStubBuffer *This,
  1148. IRpcChannelBuffer *_pRpcChannelBuffer,
  1149. PRPC_MESSAGE _pRpcMessage,
  1150. DWORD *_pdwStubPhase);
  1151. HRESULT STDMETHODCALLTYPE IImageListPriv_GetPrivateGoo_Proxy(
  1152. IImageListPriv * This,
  1153. HBITMAP *hbmp,
  1154. HDC *hdc,
  1155. HBITMAP *hbmpMask,
  1156. HDC *hdcMask);
  1157. void __RPC_STUB IImageListPriv_GetPrivateGoo_Stub(
  1158. IRpcStubBuffer *This,
  1159. IRpcChannelBuffer *_pRpcChannelBuffer,
  1160. PRPC_MESSAGE _pRpcMessage,
  1161. DWORD *_pdwStubPhase);
  1162. HRESULT STDMETHODCALLTYPE IImageListPriv_GetMirror_Proxy(
  1163. IImageListPriv * This,
  1164. REFIID riid,
  1165. PVOID *ppv);
  1166. void __RPC_STUB IImageListPriv_GetMirror_Stub(
  1167. IRpcStubBuffer *This,
  1168. IRpcChannelBuffer *_pRpcChannelBuffer,
  1169. PRPC_MESSAGE _pRpcMessage,
  1170. DWORD *_pdwStubPhase);
  1171. HRESULT STDMETHODCALLTYPE IImageListPriv_CopyDitherImage_Proxy(
  1172. IImageListPriv * This,
  1173. WORD iDst,
  1174. int xDst,
  1175. int yDst,
  1176. IUnknown *punk,
  1177. int iSrc,
  1178. UINT fStyle);
  1179. void __RPC_STUB IImageListPriv_CopyDitherImage_Stub(
  1180. IRpcStubBuffer *This,
  1181. IRpcChannelBuffer *_pRpcChannelBuffer,
  1182. PRPC_MESSAGE _pRpcMessage,
  1183. DWORD *_pdwStubPhase);
  1184. #endif /* __IImageListPriv_INTERFACE_DEFINED__ */
  1185. #ifndef __IMarkupCallback_INTERFACE_DEFINED__
  1186. #define __IMarkupCallback_INTERFACE_DEFINED__
  1187. /* interface IMarkupCallback */
  1188. /* [object][local][uuid] */
  1189. EXTERN_C const IID IID_IMarkupCallback;
  1190. #if defined(__cplusplus) && !defined(CINTERFACE)
  1191. MIDL_INTERFACE("01e13875-2e58-4671-be46-59945432be6e")
  1192. IMarkupCallback : public IUnknown
  1193. {
  1194. public:
  1195. virtual HRESULT STDMETHODCALLTYPE GetState(
  1196. UINT uState) = 0;
  1197. virtual HRESULT STDMETHODCALLTYPE Notify(
  1198. int nCode,
  1199. int iLink) = 0;
  1200. virtual HRESULT STDMETHODCALLTYPE InvalidateRect(
  1201. RECT *prc) = 0;
  1202. virtual HRESULT STDMETHODCALLTYPE OnCustomDraw(
  1203. DWORD dwDrawStage,
  1204. HDC hdc,
  1205. const RECT *prc,
  1206. DWORD dwItemSpec,
  1207. UINT uItemState,
  1208. LRESULT *pdwResult) = 0;
  1209. };
  1210. #else /* C style interface */
  1211. typedef struct IMarkupCallbackVtbl
  1212. {
  1213. BEGIN_INTERFACE
  1214. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1215. IMarkupCallback * This,
  1216. /* [in] */ REFIID riid,
  1217. /* [iid_is][out] */ void **ppvObject);
  1218. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1219. IMarkupCallback * This);
  1220. ULONG ( STDMETHODCALLTYPE *Release )(
  1221. IMarkupCallback * This);
  1222. HRESULT ( STDMETHODCALLTYPE *GetState )(
  1223. IMarkupCallback * This,
  1224. UINT uState);
  1225. HRESULT ( STDMETHODCALLTYPE *Notify )(
  1226. IMarkupCallback * This,
  1227. int nCode,
  1228. int iLink);
  1229. HRESULT ( STDMETHODCALLTYPE *InvalidateRect )(
  1230. IMarkupCallback * This,
  1231. RECT *prc);
  1232. HRESULT ( STDMETHODCALLTYPE *OnCustomDraw )(
  1233. IMarkupCallback * This,
  1234. DWORD dwDrawStage,
  1235. HDC hdc,
  1236. const RECT *prc,
  1237. DWORD dwItemSpec,
  1238. UINT uItemState,
  1239. LRESULT *pdwResult);
  1240. END_INTERFACE
  1241. } IMarkupCallbackVtbl;
  1242. interface IMarkupCallback
  1243. {
  1244. CONST_VTBL struct IMarkupCallbackVtbl *lpVtbl;
  1245. };
  1246. #ifdef COBJMACROS
  1247. #define IMarkupCallback_QueryInterface(This,riid,ppvObject) \
  1248. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1249. #define IMarkupCallback_AddRef(This) \
  1250. (This)->lpVtbl -> AddRef(This)
  1251. #define IMarkupCallback_Release(This) \
  1252. (This)->lpVtbl -> Release(This)
  1253. #define IMarkupCallback_GetState(This,uState) \
  1254. (This)->lpVtbl -> GetState(This,uState)
  1255. #define IMarkupCallback_Notify(This,nCode,iLink) \
  1256. (This)->lpVtbl -> Notify(This,nCode,iLink)
  1257. #define IMarkupCallback_InvalidateRect(This,prc) \
  1258. (This)->lpVtbl -> InvalidateRect(This,prc)
  1259. #define IMarkupCallback_OnCustomDraw(This,dwDrawStage,hdc,prc,dwItemSpec,uItemState,pdwResult) \
  1260. (This)->lpVtbl -> OnCustomDraw(This,dwDrawStage,hdc,prc,dwItemSpec,uItemState,pdwResult)
  1261. #endif /* COBJMACROS */
  1262. #endif /* C style interface */
  1263. HRESULT STDMETHODCALLTYPE IMarkupCallback_GetState_Proxy(
  1264. IMarkupCallback * This,
  1265. UINT uState);
  1266. void __RPC_STUB IMarkupCallback_GetState_Stub(
  1267. IRpcStubBuffer *This,
  1268. IRpcChannelBuffer *_pRpcChannelBuffer,
  1269. PRPC_MESSAGE _pRpcMessage,
  1270. DWORD *_pdwStubPhase);
  1271. HRESULT STDMETHODCALLTYPE IMarkupCallback_Notify_Proxy(
  1272. IMarkupCallback * This,
  1273. int nCode,
  1274. int iLink);
  1275. void __RPC_STUB IMarkupCallback_Notify_Stub(
  1276. IRpcStubBuffer *This,
  1277. IRpcChannelBuffer *_pRpcChannelBuffer,
  1278. PRPC_MESSAGE _pRpcMessage,
  1279. DWORD *_pdwStubPhase);
  1280. HRESULT STDMETHODCALLTYPE IMarkupCallback_InvalidateRect_Proxy(
  1281. IMarkupCallback * This,
  1282. RECT *prc);
  1283. void __RPC_STUB IMarkupCallback_InvalidateRect_Stub(
  1284. IRpcStubBuffer *This,
  1285. IRpcChannelBuffer *_pRpcChannelBuffer,
  1286. PRPC_MESSAGE _pRpcMessage,
  1287. DWORD *_pdwStubPhase);
  1288. HRESULT STDMETHODCALLTYPE IMarkupCallback_OnCustomDraw_Proxy(
  1289. IMarkupCallback * This,
  1290. DWORD dwDrawStage,
  1291. HDC hdc,
  1292. const RECT *prc,
  1293. DWORD dwItemSpec,
  1294. UINT uItemState,
  1295. LRESULT *pdwResult);
  1296. void __RPC_STUB IMarkupCallback_OnCustomDraw_Stub(
  1297. IRpcStubBuffer *This,
  1298. IRpcChannelBuffer *_pRpcChannelBuffer,
  1299. PRPC_MESSAGE _pRpcMessage,
  1300. DWORD *_pdwStubPhase);
  1301. #endif /* __IMarkupCallback_INTERFACE_DEFINED__ */
  1302. /* interface __MIDL_itf_shpriv_0265 */
  1303. /* [local] */
  1304. #define MARKUPSIZE_CALCWIDTH 0 // calculates width without restriction
  1305. #define MARKUPSIZE_CALCHEIGHT 1 // prc->right contains max width
  1306. #define MARKUPLINKTEXT_URL 0 // get the URL
  1307. #define MARKUPLINKTEXT_ID 1 // get the id text associated with the url
  1308. #define MARKUPLINKTEXT_TEXT 2 // get the plain text associated with the url
  1309. #define MARKUPSTATE_FOCUSED 0x00000001
  1310. #define MARKUPSTATE_ENABLED 0x00000002
  1311. #define MARKUPSTATE_VISITED 0x00000004
  1312. #define MARKUPSTATE_ALLOWMARKUP 0x80000000
  1313. #define MARKUPMESSAGE_KEYEXECUTE 0
  1314. #define MARKUPMESSAGE_CLICKEXECUTE 1
  1315. #define MARKUPMESSAGE_WANTFOCUS 2
  1316. typedef HANDLE HTHEME;
  1317. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0265_v0_0_c_ifspec;
  1318. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0265_v0_0_s_ifspec;
  1319. #ifndef __IControlMarkup_INTERFACE_DEFINED__
  1320. #define __IControlMarkup_INTERFACE_DEFINED__
  1321. /* interface IControlMarkup */
  1322. /* [object][local][uuid] */
  1323. EXTERN_C const IID IID_IControlMarkup;
  1324. #if defined(__cplusplus) && !defined(CINTERFACE)
  1325. MIDL_INTERFACE("50cf8c58-029d-41bf-b8dd-4ce4f95d9257")
  1326. IControlMarkup : public IUnknown
  1327. {
  1328. public:
  1329. virtual HRESULT STDMETHODCALLTYPE SetCallback(
  1330. IUnknown *punk) = 0;
  1331. virtual HRESULT STDMETHODCALLTYPE GetCallback(
  1332. REFIID riid,
  1333. /* [iid_is][out] */ void **ppvUnk) = 0;
  1334. virtual HRESULT STDMETHODCALLTYPE SetFonts(
  1335. HFONT hFont,
  1336. HFONT hFontUnderline) = 0;
  1337. virtual HRESULT STDMETHODCALLTYPE GetFonts(
  1338. HFONT *phFont,
  1339. HFONT *phFontUnderline) = 0;
  1340. virtual HRESULT STDMETHODCALLTYPE SetText(
  1341. LPCWSTR pwszText) = 0;
  1342. virtual HRESULT STDMETHODCALLTYPE GetText(
  1343. BOOL bRaw,
  1344. LPWSTR pwszText,
  1345. DWORD *pdwCch) = 0;
  1346. virtual HRESULT STDMETHODCALLTYPE SetLinkText(
  1347. int iLink,
  1348. UINT uMarkupLinkText,
  1349. LPCWSTR pwszText) = 0;
  1350. virtual HRESULT STDMETHODCALLTYPE GetLinkText(
  1351. int iLink,
  1352. UINT uMarkupLinkText,
  1353. LPWSTR pwszText,
  1354. DWORD *pdwCch) = 0;
  1355. virtual HRESULT STDMETHODCALLTYPE SetRenderFlags(
  1356. UINT uDT) = 0;
  1357. virtual HRESULT STDMETHODCALLTYPE GetRenderFlags(
  1358. UINT *puDT,
  1359. HTHEME *phTheme,
  1360. int *piPartId,
  1361. int *piStateIdNormal,
  1362. int *piStateIdLink) = 0;
  1363. virtual HRESULT STDMETHODCALLTYPE SetThemeRenderFlags(
  1364. UINT uDT,
  1365. HTHEME hTheme,
  1366. int iPartId,
  1367. int iStateIdNormal,
  1368. int iStateIdLink) = 0;
  1369. virtual HRESULT STDMETHODCALLTYPE GetState(
  1370. int iLink,
  1371. UINT uStateMask,
  1372. UINT *puState) = 0;
  1373. virtual HRESULT STDMETHODCALLTYPE SetState(
  1374. int iLink,
  1375. UINT uStateMask,
  1376. UINT uState) = 0;
  1377. virtual HRESULT STDMETHODCALLTYPE DrawText(
  1378. HDC hdcClient,
  1379. LPCRECT prcClient) = 0;
  1380. virtual HRESULT STDMETHODCALLTYPE SetLinkCursor( void) = 0;
  1381. virtual HRESULT STDMETHODCALLTYPE CalcIdealSize(
  1382. HDC hdc,
  1383. UINT uMarkUpCalc,
  1384. RECT *prc) = 0;
  1385. virtual HRESULT STDMETHODCALLTYPE SetFocus( void) = 0;
  1386. virtual HRESULT STDMETHODCALLTYPE KillFocus( void) = 0;
  1387. virtual HRESULT STDMETHODCALLTYPE IsTabbable( void) = 0;
  1388. virtual HRESULT STDMETHODCALLTYPE OnButtonDown(
  1389. POINT pt) = 0;
  1390. virtual HRESULT STDMETHODCALLTYPE OnButtonUp(
  1391. POINT pt) = 0;
  1392. virtual HRESULT STDMETHODCALLTYPE OnKeyDown(
  1393. UINT uVitKey) = 0;
  1394. virtual HRESULT STDMETHODCALLTYPE HitTest(
  1395. POINT pt,
  1396. UINT *pidLink) = 0;
  1397. };
  1398. #else /* C style interface */
  1399. typedef struct IControlMarkupVtbl
  1400. {
  1401. BEGIN_INTERFACE
  1402. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1403. IControlMarkup * This,
  1404. /* [in] */ REFIID riid,
  1405. /* [iid_is][out] */ void **ppvObject);
  1406. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1407. IControlMarkup * This);
  1408. ULONG ( STDMETHODCALLTYPE *Release )(
  1409. IControlMarkup * This);
  1410. HRESULT ( STDMETHODCALLTYPE *SetCallback )(
  1411. IControlMarkup * This,
  1412. IUnknown *punk);
  1413. HRESULT ( STDMETHODCALLTYPE *GetCallback )(
  1414. IControlMarkup * This,
  1415. REFIID riid,
  1416. /* [iid_is][out] */ void **ppvUnk);
  1417. HRESULT ( STDMETHODCALLTYPE *SetFonts )(
  1418. IControlMarkup * This,
  1419. HFONT hFont,
  1420. HFONT hFontUnderline);
  1421. HRESULT ( STDMETHODCALLTYPE *GetFonts )(
  1422. IControlMarkup * This,
  1423. HFONT *phFont,
  1424. HFONT *phFontUnderline);
  1425. HRESULT ( STDMETHODCALLTYPE *SetText )(
  1426. IControlMarkup * This,
  1427. LPCWSTR pwszText);
  1428. HRESULT ( STDMETHODCALLTYPE *GetText )(
  1429. IControlMarkup * This,
  1430. BOOL bRaw,
  1431. LPWSTR pwszText,
  1432. DWORD *pdwCch);
  1433. HRESULT ( STDMETHODCALLTYPE *SetLinkText )(
  1434. IControlMarkup * This,
  1435. int iLink,
  1436. UINT uMarkupLinkText,
  1437. LPCWSTR pwszText);
  1438. HRESULT ( STDMETHODCALLTYPE *GetLinkText )(
  1439. IControlMarkup * This,
  1440. int iLink,
  1441. UINT uMarkupLinkText,
  1442. LPWSTR pwszText,
  1443. DWORD *pdwCch);
  1444. HRESULT ( STDMETHODCALLTYPE *SetRenderFlags )(
  1445. IControlMarkup * This,
  1446. UINT uDT);
  1447. HRESULT ( STDMETHODCALLTYPE *GetRenderFlags )(
  1448. IControlMarkup * This,
  1449. UINT *puDT,
  1450. HTHEME *phTheme,
  1451. int *piPartId,
  1452. int *piStateIdNormal,
  1453. int *piStateIdLink);
  1454. HRESULT ( STDMETHODCALLTYPE *SetThemeRenderFlags )(
  1455. IControlMarkup * This,
  1456. UINT uDT,
  1457. HTHEME hTheme,
  1458. int iPartId,
  1459. int iStateIdNormal,
  1460. int iStateIdLink);
  1461. HRESULT ( STDMETHODCALLTYPE *GetState )(
  1462. IControlMarkup * This,
  1463. int iLink,
  1464. UINT uStateMask,
  1465. UINT *puState);
  1466. HRESULT ( STDMETHODCALLTYPE *SetState )(
  1467. IControlMarkup * This,
  1468. int iLink,
  1469. UINT uStateMask,
  1470. UINT uState);
  1471. HRESULT ( STDMETHODCALLTYPE *DrawText )(
  1472. IControlMarkup * This,
  1473. HDC hdcClient,
  1474. LPCRECT prcClient);
  1475. HRESULT ( STDMETHODCALLTYPE *SetLinkCursor )(
  1476. IControlMarkup * This);
  1477. HRESULT ( STDMETHODCALLTYPE *CalcIdealSize )(
  1478. IControlMarkup * This,
  1479. HDC hdc,
  1480. UINT uMarkUpCalc,
  1481. RECT *prc);
  1482. HRESULT ( STDMETHODCALLTYPE *SetFocus )(
  1483. IControlMarkup * This);
  1484. HRESULT ( STDMETHODCALLTYPE *KillFocus )(
  1485. IControlMarkup * This);
  1486. HRESULT ( STDMETHODCALLTYPE *IsTabbable )(
  1487. IControlMarkup * This);
  1488. HRESULT ( STDMETHODCALLTYPE *OnButtonDown )(
  1489. IControlMarkup * This,
  1490. POINT pt);
  1491. HRESULT ( STDMETHODCALLTYPE *OnButtonUp )(
  1492. IControlMarkup * This,
  1493. POINT pt);
  1494. HRESULT ( STDMETHODCALLTYPE *OnKeyDown )(
  1495. IControlMarkup * This,
  1496. UINT uVitKey);
  1497. HRESULT ( STDMETHODCALLTYPE *HitTest )(
  1498. IControlMarkup * This,
  1499. POINT pt,
  1500. UINT *pidLink);
  1501. END_INTERFACE
  1502. } IControlMarkupVtbl;
  1503. interface IControlMarkup
  1504. {
  1505. CONST_VTBL struct IControlMarkupVtbl *lpVtbl;
  1506. };
  1507. #ifdef COBJMACROS
  1508. #define IControlMarkup_QueryInterface(This,riid,ppvObject) \
  1509. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1510. #define IControlMarkup_AddRef(This) \
  1511. (This)->lpVtbl -> AddRef(This)
  1512. #define IControlMarkup_Release(This) \
  1513. (This)->lpVtbl -> Release(This)
  1514. #define IControlMarkup_SetCallback(This,punk) \
  1515. (This)->lpVtbl -> SetCallback(This,punk)
  1516. #define IControlMarkup_GetCallback(This,riid,ppvUnk) \
  1517. (This)->lpVtbl -> GetCallback(This,riid,ppvUnk)
  1518. #define IControlMarkup_SetFonts(This,hFont,hFontUnderline) \
  1519. (This)->lpVtbl -> SetFonts(This,hFont,hFontUnderline)
  1520. #define IControlMarkup_GetFonts(This,phFont,phFontUnderline) \
  1521. (This)->lpVtbl -> GetFonts(This,phFont,phFontUnderline)
  1522. #define IControlMarkup_SetText(This,pwszText) \
  1523. (This)->lpVtbl -> SetText(This,pwszText)
  1524. #define IControlMarkup_GetText(This,bRaw,pwszText,pdwCch) \
  1525. (This)->lpVtbl -> GetText(This,bRaw,pwszText,pdwCch)
  1526. #define IControlMarkup_SetLinkText(This,iLink,uMarkupLinkText,pwszText) \
  1527. (This)->lpVtbl -> SetLinkText(This,iLink,uMarkupLinkText,pwszText)
  1528. #define IControlMarkup_GetLinkText(This,iLink,uMarkupLinkText,pwszText,pdwCch) \
  1529. (This)->lpVtbl -> GetLinkText(This,iLink,uMarkupLinkText,pwszText,pdwCch)
  1530. #define IControlMarkup_SetRenderFlags(This,uDT) \
  1531. (This)->lpVtbl -> SetRenderFlags(This,uDT)
  1532. #define IControlMarkup_GetRenderFlags(This,puDT,phTheme,piPartId,piStateIdNormal,piStateIdLink) \
  1533. (This)->lpVtbl -> GetRenderFlags(This,puDT,phTheme,piPartId,piStateIdNormal,piStateIdLink)
  1534. #define IControlMarkup_SetThemeRenderFlags(This,uDT,hTheme,iPartId,iStateIdNormal,iStateIdLink) \
  1535. (This)->lpVtbl -> SetThemeRenderFlags(This,uDT,hTheme,iPartId,iStateIdNormal,iStateIdLink)
  1536. #define IControlMarkup_GetState(This,iLink,uStateMask,puState) \
  1537. (This)->lpVtbl -> GetState(This,iLink,uStateMask,puState)
  1538. #define IControlMarkup_SetState(This,iLink,uStateMask,uState) \
  1539. (This)->lpVtbl -> SetState(This,iLink,uStateMask,uState)
  1540. #define IControlMarkup_DrawText(This,hdcClient,prcClient) \
  1541. (This)->lpVtbl -> DrawText(This,hdcClient,prcClient)
  1542. #define IControlMarkup_SetLinkCursor(This) \
  1543. (This)->lpVtbl -> SetLinkCursor(This)
  1544. #define IControlMarkup_CalcIdealSize(This,hdc,uMarkUpCalc,prc) \
  1545. (This)->lpVtbl -> CalcIdealSize(This,hdc,uMarkUpCalc,prc)
  1546. #define IControlMarkup_SetFocus(This) \
  1547. (This)->lpVtbl -> SetFocus(This)
  1548. #define IControlMarkup_KillFocus(This) \
  1549. (This)->lpVtbl -> KillFocus(This)
  1550. #define IControlMarkup_IsTabbable(This) \
  1551. (This)->lpVtbl -> IsTabbable(This)
  1552. #define IControlMarkup_OnButtonDown(This,pt) \
  1553. (This)->lpVtbl -> OnButtonDown(This,pt)
  1554. #define IControlMarkup_OnButtonUp(This,pt) \
  1555. (This)->lpVtbl -> OnButtonUp(This,pt)
  1556. #define IControlMarkup_OnKeyDown(This,uVitKey) \
  1557. (This)->lpVtbl -> OnKeyDown(This,uVitKey)
  1558. #define IControlMarkup_HitTest(This,pt,pidLink) \
  1559. (This)->lpVtbl -> HitTest(This,pt,pidLink)
  1560. #endif /* COBJMACROS */
  1561. #endif /* C style interface */
  1562. HRESULT STDMETHODCALLTYPE IControlMarkup_SetCallback_Proxy(
  1563. IControlMarkup * This,
  1564. IUnknown *punk);
  1565. void __RPC_STUB IControlMarkup_SetCallback_Stub(
  1566. IRpcStubBuffer *This,
  1567. IRpcChannelBuffer *_pRpcChannelBuffer,
  1568. PRPC_MESSAGE _pRpcMessage,
  1569. DWORD *_pdwStubPhase);
  1570. HRESULT STDMETHODCALLTYPE IControlMarkup_GetCallback_Proxy(
  1571. IControlMarkup * This,
  1572. REFIID riid,
  1573. /* [iid_is][out] */ void **ppvUnk);
  1574. void __RPC_STUB IControlMarkup_GetCallback_Stub(
  1575. IRpcStubBuffer *This,
  1576. IRpcChannelBuffer *_pRpcChannelBuffer,
  1577. PRPC_MESSAGE _pRpcMessage,
  1578. DWORD *_pdwStubPhase);
  1579. HRESULT STDMETHODCALLTYPE IControlMarkup_SetFonts_Proxy(
  1580. IControlMarkup * This,
  1581. HFONT hFont,
  1582. HFONT hFontUnderline);
  1583. void __RPC_STUB IControlMarkup_SetFonts_Stub(
  1584. IRpcStubBuffer *This,
  1585. IRpcChannelBuffer *_pRpcChannelBuffer,
  1586. PRPC_MESSAGE _pRpcMessage,
  1587. DWORD *_pdwStubPhase);
  1588. HRESULT STDMETHODCALLTYPE IControlMarkup_GetFonts_Proxy(
  1589. IControlMarkup * This,
  1590. HFONT *phFont,
  1591. HFONT *phFontUnderline);
  1592. void __RPC_STUB IControlMarkup_GetFonts_Stub(
  1593. IRpcStubBuffer *This,
  1594. IRpcChannelBuffer *_pRpcChannelBuffer,
  1595. PRPC_MESSAGE _pRpcMessage,
  1596. DWORD *_pdwStubPhase);
  1597. HRESULT STDMETHODCALLTYPE IControlMarkup_SetText_Proxy(
  1598. IControlMarkup * This,
  1599. LPCWSTR pwszText);
  1600. void __RPC_STUB IControlMarkup_SetText_Stub(
  1601. IRpcStubBuffer *This,
  1602. IRpcChannelBuffer *_pRpcChannelBuffer,
  1603. PRPC_MESSAGE _pRpcMessage,
  1604. DWORD *_pdwStubPhase);
  1605. HRESULT STDMETHODCALLTYPE IControlMarkup_GetText_Proxy(
  1606. IControlMarkup * This,
  1607. BOOL bRaw,
  1608. LPWSTR pwszText,
  1609. DWORD *pdwCch);
  1610. void __RPC_STUB IControlMarkup_GetText_Stub(
  1611. IRpcStubBuffer *This,
  1612. IRpcChannelBuffer *_pRpcChannelBuffer,
  1613. PRPC_MESSAGE _pRpcMessage,
  1614. DWORD *_pdwStubPhase);
  1615. HRESULT STDMETHODCALLTYPE IControlMarkup_SetLinkText_Proxy(
  1616. IControlMarkup * This,
  1617. int iLink,
  1618. UINT uMarkupLinkText,
  1619. LPCWSTR pwszText);
  1620. void __RPC_STUB IControlMarkup_SetLinkText_Stub(
  1621. IRpcStubBuffer *This,
  1622. IRpcChannelBuffer *_pRpcChannelBuffer,
  1623. PRPC_MESSAGE _pRpcMessage,
  1624. DWORD *_pdwStubPhase);
  1625. HRESULT STDMETHODCALLTYPE IControlMarkup_GetLinkText_Proxy(
  1626. IControlMarkup * This,
  1627. int iLink,
  1628. UINT uMarkupLinkText,
  1629. LPWSTR pwszText,
  1630. DWORD *pdwCch);
  1631. void __RPC_STUB IControlMarkup_GetLinkText_Stub(
  1632. IRpcStubBuffer *This,
  1633. IRpcChannelBuffer *_pRpcChannelBuffer,
  1634. PRPC_MESSAGE _pRpcMessage,
  1635. DWORD *_pdwStubPhase);
  1636. HRESULT STDMETHODCALLTYPE IControlMarkup_SetRenderFlags_Proxy(
  1637. IControlMarkup * This,
  1638. UINT uDT);
  1639. void __RPC_STUB IControlMarkup_SetRenderFlags_Stub(
  1640. IRpcStubBuffer *This,
  1641. IRpcChannelBuffer *_pRpcChannelBuffer,
  1642. PRPC_MESSAGE _pRpcMessage,
  1643. DWORD *_pdwStubPhase);
  1644. HRESULT STDMETHODCALLTYPE IControlMarkup_GetRenderFlags_Proxy(
  1645. IControlMarkup * This,
  1646. UINT *puDT,
  1647. HTHEME *phTheme,
  1648. int *piPartId,
  1649. int *piStateIdNormal,
  1650. int *piStateIdLink);
  1651. void __RPC_STUB IControlMarkup_GetRenderFlags_Stub(
  1652. IRpcStubBuffer *This,
  1653. IRpcChannelBuffer *_pRpcChannelBuffer,
  1654. PRPC_MESSAGE _pRpcMessage,
  1655. DWORD *_pdwStubPhase);
  1656. HRESULT STDMETHODCALLTYPE IControlMarkup_SetThemeRenderFlags_Proxy(
  1657. IControlMarkup * This,
  1658. UINT uDT,
  1659. HTHEME hTheme,
  1660. int iPartId,
  1661. int iStateIdNormal,
  1662. int iStateIdLink);
  1663. void __RPC_STUB IControlMarkup_SetThemeRenderFlags_Stub(
  1664. IRpcStubBuffer *This,
  1665. IRpcChannelBuffer *_pRpcChannelBuffer,
  1666. PRPC_MESSAGE _pRpcMessage,
  1667. DWORD *_pdwStubPhase);
  1668. HRESULT STDMETHODCALLTYPE IControlMarkup_GetState_Proxy(
  1669. IControlMarkup * This,
  1670. int iLink,
  1671. UINT uStateMask,
  1672. UINT *puState);
  1673. void __RPC_STUB IControlMarkup_GetState_Stub(
  1674. IRpcStubBuffer *This,
  1675. IRpcChannelBuffer *_pRpcChannelBuffer,
  1676. PRPC_MESSAGE _pRpcMessage,
  1677. DWORD *_pdwStubPhase);
  1678. HRESULT STDMETHODCALLTYPE IControlMarkup_SetState_Proxy(
  1679. IControlMarkup * This,
  1680. int iLink,
  1681. UINT uStateMask,
  1682. UINT uState);
  1683. void __RPC_STUB IControlMarkup_SetState_Stub(
  1684. IRpcStubBuffer *This,
  1685. IRpcChannelBuffer *_pRpcChannelBuffer,
  1686. PRPC_MESSAGE _pRpcMessage,
  1687. DWORD *_pdwStubPhase);
  1688. HRESULT STDMETHODCALLTYPE IControlMarkup_DrawText_Proxy(
  1689. IControlMarkup * This,
  1690. HDC hdcClient,
  1691. LPCRECT prcClient);
  1692. void __RPC_STUB IControlMarkup_DrawText_Stub(
  1693. IRpcStubBuffer *This,
  1694. IRpcChannelBuffer *_pRpcChannelBuffer,
  1695. PRPC_MESSAGE _pRpcMessage,
  1696. DWORD *_pdwStubPhase);
  1697. HRESULT STDMETHODCALLTYPE IControlMarkup_SetLinkCursor_Proxy(
  1698. IControlMarkup * This);
  1699. void __RPC_STUB IControlMarkup_SetLinkCursor_Stub(
  1700. IRpcStubBuffer *This,
  1701. IRpcChannelBuffer *_pRpcChannelBuffer,
  1702. PRPC_MESSAGE _pRpcMessage,
  1703. DWORD *_pdwStubPhase);
  1704. HRESULT STDMETHODCALLTYPE IControlMarkup_CalcIdealSize_Proxy(
  1705. IControlMarkup * This,
  1706. HDC hdc,
  1707. UINT uMarkUpCalc,
  1708. RECT *prc);
  1709. void __RPC_STUB IControlMarkup_CalcIdealSize_Stub(
  1710. IRpcStubBuffer *This,
  1711. IRpcChannelBuffer *_pRpcChannelBuffer,
  1712. PRPC_MESSAGE _pRpcMessage,
  1713. DWORD *_pdwStubPhase);
  1714. HRESULT STDMETHODCALLTYPE IControlMarkup_SetFocus_Proxy(
  1715. IControlMarkup * This);
  1716. void __RPC_STUB IControlMarkup_SetFocus_Stub(
  1717. IRpcStubBuffer *This,
  1718. IRpcChannelBuffer *_pRpcChannelBuffer,
  1719. PRPC_MESSAGE _pRpcMessage,
  1720. DWORD *_pdwStubPhase);
  1721. HRESULT STDMETHODCALLTYPE IControlMarkup_KillFocus_Proxy(
  1722. IControlMarkup * This);
  1723. void __RPC_STUB IControlMarkup_KillFocus_Stub(
  1724. IRpcStubBuffer *This,
  1725. IRpcChannelBuffer *_pRpcChannelBuffer,
  1726. PRPC_MESSAGE _pRpcMessage,
  1727. DWORD *_pdwStubPhase);
  1728. HRESULT STDMETHODCALLTYPE IControlMarkup_IsTabbable_Proxy(
  1729. IControlMarkup * This);
  1730. void __RPC_STUB IControlMarkup_IsTabbable_Stub(
  1731. IRpcStubBuffer *This,
  1732. IRpcChannelBuffer *_pRpcChannelBuffer,
  1733. PRPC_MESSAGE _pRpcMessage,
  1734. DWORD *_pdwStubPhase);
  1735. HRESULT STDMETHODCALLTYPE IControlMarkup_OnButtonDown_Proxy(
  1736. IControlMarkup * This,
  1737. POINT pt);
  1738. void __RPC_STUB IControlMarkup_OnButtonDown_Stub(
  1739. IRpcStubBuffer *This,
  1740. IRpcChannelBuffer *_pRpcChannelBuffer,
  1741. PRPC_MESSAGE _pRpcMessage,
  1742. DWORD *_pdwStubPhase);
  1743. HRESULT STDMETHODCALLTYPE IControlMarkup_OnButtonUp_Proxy(
  1744. IControlMarkup * This,
  1745. POINT pt);
  1746. void __RPC_STUB IControlMarkup_OnButtonUp_Stub(
  1747. IRpcStubBuffer *This,
  1748. IRpcChannelBuffer *_pRpcChannelBuffer,
  1749. PRPC_MESSAGE _pRpcMessage,
  1750. DWORD *_pdwStubPhase);
  1751. HRESULT STDMETHODCALLTYPE IControlMarkup_OnKeyDown_Proxy(
  1752. IControlMarkup * This,
  1753. UINT uVitKey);
  1754. void __RPC_STUB IControlMarkup_OnKeyDown_Stub(
  1755. IRpcStubBuffer *This,
  1756. IRpcChannelBuffer *_pRpcChannelBuffer,
  1757. PRPC_MESSAGE _pRpcMessage,
  1758. DWORD *_pdwStubPhase);
  1759. HRESULT STDMETHODCALLTYPE IControlMarkup_HitTest_Proxy(
  1760. IControlMarkup * This,
  1761. POINT pt,
  1762. UINT *pidLink);
  1763. void __RPC_STUB IControlMarkup_HitTest_Stub(
  1764. IRpcStubBuffer *This,
  1765. IRpcChannelBuffer *_pRpcChannelBuffer,
  1766. PRPC_MESSAGE _pRpcMessage,
  1767. DWORD *_pdwStubPhase);
  1768. #endif /* __IControlMarkup_INTERFACE_DEFINED__ */
  1769. /* interface __MIDL_itf_shpriv_0266 */
  1770. /* [local] */
  1771. #if _WIN32_IE >= 0x0600
  1772. // INTERFACE: IThemeUIPages
  1773. // DESCRIPTION:
  1774. // This interface is used by all the pages in the Display Control Panel. They allow the
  1775. // base pages (Theme, Background, ScreenSaver, Appearance, and Settings) to specify that
  1776. // they want to add pages to the Advanced Display Properties dialog. (Theme Settings,
  1777. // Appearance, Web, and Effects)
  1778. // DisplayAdvancedDialog() will open the adv dialog. When this object opens the dialog,
  1779. // it will add the appropriate pages, check when anyone's state gets dirty,
  1780. // and then merge the state from the advanced pages back into the base pages.
  1781. // This object will see if the IAdvancedDialog pages get dirty, and if one is and the
  1782. // user clicked OK instead of CANCEL, then it will use IAdvancedDialog::OnClose()
  1783. // to let the IAdvancedDialog object merge it's state into IBasePropPage.
  1784. // This object is used to allow desk.cpl, shell32.dll, and ThemeUI.dll control the dialog.
  1785. //
  1786. // This object may implement IEnumUnknown to allow callers to access the list of IBasePropPage
  1787. // objects. IPersist::GetClassID() should be used to identify one IBasePropPage object
  1788. // from another. This is also true for IAdvancedDialog objects.
  1789. //
  1790. // AddPage: This is used by desk.cpl to ask ThemeUI for the pages it wants to add to the base dlg.
  1791. // This allows the pages to be put in a specific order.
  1792. // AddAdvancedPage: This is used by shell32.dll's Background tab to let ThemeUI know
  1793. // that it wants to add a page to the advanced dialog (the Web tab).
  1794. // DisplayAdvancedDialog: This is used by any of the base pages to open the advanced page.
  1795. // ApplyPressed: Each page in the base dialog needs to call this method when they receive
  1796. // PSN_APPLY. This will allow the IThemeUIPages to notify every object
  1797. // that the state should be applied, even if their dlgproc was never activated.
  1798. //
  1799. // Values for nPageID in IThemeUIPages::AddPage()
  1800. #define PAGE_DISPLAY_THEMES 0
  1801. #define PAGE_DISPLAY_APPEARANCE 1
  1802. #define PAGE_DISPLAY_SETTINGS 2
  1803. //
  1804. // Values for dwFlags in IThemeUIPages::ApplyPressed()
  1805. #define TUIAP_NONE 0x00000000
  1806. #define TUIAP_CLOSE_DIALOG 0x00000001
  1807. #define TUIAP_WAITFORAPPLY 0x00000002
  1808. // Values for dwEM in IThemeUIPages::SetExecMode()
  1809. #define EM_NORMAL 0x00000001
  1810. #define EM_SETUP 0x00000002
  1811. #define EM_DETECT 0x00000003
  1812. #define EM_INVALID_MODE 0x00000004
  1813. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0266_v0_0_c_ifspec;
  1814. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0266_v0_0_s_ifspec;
  1815. #ifndef __IThemeUIPages_INTERFACE_DEFINED__
  1816. #define __IThemeUIPages_INTERFACE_DEFINED__
  1817. /* interface IThemeUIPages */
  1818. /* [object][local][helpstring][uuid] */
  1819. EXTERN_C const IID IID_IThemeUIPages;
  1820. #if defined(__cplusplus) && !defined(CINTERFACE)
  1821. MIDL_INTERFACE("7bba4934-ac4b-471c-a3e7-252c5ff3e8dd")
  1822. IThemeUIPages : public IUnknown
  1823. {
  1824. public:
  1825. virtual HRESULT STDMETHODCALLTYPE AddPage(
  1826. /* [in] */ LPFNSVADDPROPSHEETPAGE pfnAddPage,
  1827. /* [in] */ LPARAM lParam,
  1828. /* [in] */ long nPageID) = 0;
  1829. virtual HRESULT STDMETHODCALLTYPE AddBasePage(
  1830. /* [in] */ IBasePropPage *pBasePage) = 0;
  1831. virtual HRESULT STDMETHODCALLTYPE ApplyPressed(
  1832. /* [in] */ DWORD dwFlags) = 0;
  1833. virtual HRESULT STDMETHODCALLTYPE GetBasePagesEnum(
  1834. /* [out] */ IEnumUnknown **ppEnumUnknown) = 0;
  1835. virtual HRESULT STDMETHODCALLTYPE UpdatePreview(
  1836. /* [in] */ DWORD dwFlags) = 0;
  1837. virtual HRESULT STDMETHODCALLTYPE AddFakeSettingsPage(
  1838. /* [in] */ LPVOID pVoid) = 0;
  1839. virtual HRESULT STDMETHODCALLTYPE SetExecMode(
  1840. /* [in] */ DWORD dwEM) = 0;
  1841. virtual HRESULT STDMETHODCALLTYPE GetExecMode(
  1842. /* [out] */ DWORD *pdwEM) = 0;
  1843. virtual HRESULT STDMETHODCALLTYPE LoadMonitorBitmap(
  1844. /* [in] */ BOOL fFillDesktop,
  1845. /* [out] */ HBITMAP *phbmMon) = 0;
  1846. virtual HRESULT STDMETHODCALLTYPE DisplaySaveSettings(
  1847. /* [in] */ PVOID pContext,
  1848. /* [in] */ HWND hwnd,
  1849. /* [out] */ int *piRet) = 0;
  1850. };
  1851. #else /* C style interface */
  1852. typedef struct IThemeUIPagesVtbl
  1853. {
  1854. BEGIN_INTERFACE
  1855. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1856. IThemeUIPages * This,
  1857. /* [in] */ REFIID riid,
  1858. /* [iid_is][out] */ void **ppvObject);
  1859. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1860. IThemeUIPages * This);
  1861. ULONG ( STDMETHODCALLTYPE *Release )(
  1862. IThemeUIPages * This);
  1863. HRESULT ( STDMETHODCALLTYPE *AddPage )(
  1864. IThemeUIPages * This,
  1865. /* [in] */ LPFNSVADDPROPSHEETPAGE pfnAddPage,
  1866. /* [in] */ LPARAM lParam,
  1867. /* [in] */ long nPageID);
  1868. HRESULT ( STDMETHODCALLTYPE *AddBasePage )(
  1869. IThemeUIPages * This,
  1870. /* [in] */ IBasePropPage *pBasePage);
  1871. HRESULT ( STDMETHODCALLTYPE *ApplyPressed )(
  1872. IThemeUIPages * This,
  1873. /* [in] */ DWORD dwFlags);
  1874. HRESULT ( STDMETHODCALLTYPE *GetBasePagesEnum )(
  1875. IThemeUIPages * This,
  1876. /* [out] */ IEnumUnknown **ppEnumUnknown);
  1877. HRESULT ( STDMETHODCALLTYPE *UpdatePreview )(
  1878. IThemeUIPages * This,
  1879. /* [in] */ DWORD dwFlags);
  1880. HRESULT ( STDMETHODCALLTYPE *AddFakeSettingsPage )(
  1881. IThemeUIPages * This,
  1882. /* [in] */ LPVOID pVoid);
  1883. HRESULT ( STDMETHODCALLTYPE *SetExecMode )(
  1884. IThemeUIPages * This,
  1885. /* [in] */ DWORD dwEM);
  1886. HRESULT ( STDMETHODCALLTYPE *GetExecMode )(
  1887. IThemeUIPages * This,
  1888. /* [out] */ DWORD *pdwEM);
  1889. HRESULT ( STDMETHODCALLTYPE *LoadMonitorBitmap )(
  1890. IThemeUIPages * This,
  1891. /* [in] */ BOOL fFillDesktop,
  1892. /* [out] */ HBITMAP *phbmMon);
  1893. HRESULT ( STDMETHODCALLTYPE *DisplaySaveSettings )(
  1894. IThemeUIPages * This,
  1895. /* [in] */ PVOID pContext,
  1896. /* [in] */ HWND hwnd,
  1897. /* [out] */ int *piRet);
  1898. END_INTERFACE
  1899. } IThemeUIPagesVtbl;
  1900. interface IThemeUIPages
  1901. {
  1902. CONST_VTBL struct IThemeUIPagesVtbl *lpVtbl;
  1903. };
  1904. #ifdef COBJMACROS
  1905. #define IThemeUIPages_QueryInterface(This,riid,ppvObject) \
  1906. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1907. #define IThemeUIPages_AddRef(This) \
  1908. (This)->lpVtbl -> AddRef(This)
  1909. #define IThemeUIPages_Release(This) \
  1910. (This)->lpVtbl -> Release(This)
  1911. #define IThemeUIPages_AddPage(This,pfnAddPage,lParam,nPageID) \
  1912. (This)->lpVtbl -> AddPage(This,pfnAddPage,lParam,nPageID)
  1913. #define IThemeUIPages_AddBasePage(This,pBasePage) \
  1914. (This)->lpVtbl -> AddBasePage(This,pBasePage)
  1915. #define IThemeUIPages_ApplyPressed(This,dwFlags) \
  1916. (This)->lpVtbl -> ApplyPressed(This,dwFlags)
  1917. #define IThemeUIPages_GetBasePagesEnum(This,ppEnumUnknown) \
  1918. (This)->lpVtbl -> GetBasePagesEnum(This,ppEnumUnknown)
  1919. #define IThemeUIPages_UpdatePreview(This,dwFlags) \
  1920. (This)->lpVtbl -> UpdatePreview(This,dwFlags)
  1921. #define IThemeUIPages_AddFakeSettingsPage(This,pVoid) \
  1922. (This)->lpVtbl -> AddFakeSettingsPage(This,pVoid)
  1923. #define IThemeUIPages_SetExecMode(This,dwEM) \
  1924. (This)->lpVtbl -> SetExecMode(This,dwEM)
  1925. #define IThemeUIPages_GetExecMode(This,pdwEM) \
  1926. (This)->lpVtbl -> GetExecMode(This,pdwEM)
  1927. #define IThemeUIPages_LoadMonitorBitmap(This,fFillDesktop,phbmMon) \
  1928. (This)->lpVtbl -> LoadMonitorBitmap(This,fFillDesktop,phbmMon)
  1929. #define IThemeUIPages_DisplaySaveSettings(This,pContext,hwnd,piRet) \
  1930. (This)->lpVtbl -> DisplaySaveSettings(This,pContext,hwnd,piRet)
  1931. #endif /* COBJMACROS */
  1932. #endif /* C style interface */
  1933. HRESULT STDMETHODCALLTYPE IThemeUIPages_AddPage_Proxy(
  1934. IThemeUIPages * This,
  1935. /* [in] */ LPFNSVADDPROPSHEETPAGE pfnAddPage,
  1936. /* [in] */ LPARAM lParam,
  1937. /* [in] */ long nPageID);
  1938. void __RPC_STUB IThemeUIPages_AddPage_Stub(
  1939. IRpcStubBuffer *This,
  1940. IRpcChannelBuffer *_pRpcChannelBuffer,
  1941. PRPC_MESSAGE _pRpcMessage,
  1942. DWORD *_pdwStubPhase);
  1943. HRESULT STDMETHODCALLTYPE IThemeUIPages_AddBasePage_Proxy(
  1944. IThemeUIPages * This,
  1945. /* [in] */ IBasePropPage *pBasePage);
  1946. void __RPC_STUB IThemeUIPages_AddBasePage_Stub(
  1947. IRpcStubBuffer *This,
  1948. IRpcChannelBuffer *_pRpcChannelBuffer,
  1949. PRPC_MESSAGE _pRpcMessage,
  1950. DWORD *_pdwStubPhase);
  1951. HRESULT STDMETHODCALLTYPE IThemeUIPages_ApplyPressed_Proxy(
  1952. IThemeUIPages * This,
  1953. /* [in] */ DWORD dwFlags);
  1954. void __RPC_STUB IThemeUIPages_ApplyPressed_Stub(
  1955. IRpcStubBuffer *This,
  1956. IRpcChannelBuffer *_pRpcChannelBuffer,
  1957. PRPC_MESSAGE _pRpcMessage,
  1958. DWORD *_pdwStubPhase);
  1959. HRESULT STDMETHODCALLTYPE IThemeUIPages_GetBasePagesEnum_Proxy(
  1960. IThemeUIPages * This,
  1961. /* [out] */ IEnumUnknown **ppEnumUnknown);
  1962. void __RPC_STUB IThemeUIPages_GetBasePagesEnum_Stub(
  1963. IRpcStubBuffer *This,
  1964. IRpcChannelBuffer *_pRpcChannelBuffer,
  1965. PRPC_MESSAGE _pRpcMessage,
  1966. DWORD *_pdwStubPhase);
  1967. HRESULT STDMETHODCALLTYPE IThemeUIPages_UpdatePreview_Proxy(
  1968. IThemeUIPages * This,
  1969. /* [in] */ DWORD dwFlags);
  1970. void __RPC_STUB IThemeUIPages_UpdatePreview_Stub(
  1971. IRpcStubBuffer *This,
  1972. IRpcChannelBuffer *_pRpcChannelBuffer,
  1973. PRPC_MESSAGE _pRpcMessage,
  1974. DWORD *_pdwStubPhase);
  1975. HRESULT STDMETHODCALLTYPE IThemeUIPages_AddFakeSettingsPage_Proxy(
  1976. IThemeUIPages * This,
  1977. /* [in] */ LPVOID pVoid);
  1978. void __RPC_STUB IThemeUIPages_AddFakeSettingsPage_Stub(
  1979. IRpcStubBuffer *This,
  1980. IRpcChannelBuffer *_pRpcChannelBuffer,
  1981. PRPC_MESSAGE _pRpcMessage,
  1982. DWORD *_pdwStubPhase);
  1983. HRESULT STDMETHODCALLTYPE IThemeUIPages_SetExecMode_Proxy(
  1984. IThemeUIPages * This,
  1985. /* [in] */ DWORD dwEM);
  1986. void __RPC_STUB IThemeUIPages_SetExecMode_Stub(
  1987. IRpcStubBuffer *This,
  1988. IRpcChannelBuffer *_pRpcChannelBuffer,
  1989. PRPC_MESSAGE _pRpcMessage,
  1990. DWORD *_pdwStubPhase);
  1991. HRESULT STDMETHODCALLTYPE IThemeUIPages_GetExecMode_Proxy(
  1992. IThemeUIPages * This,
  1993. /* [out] */ DWORD *pdwEM);
  1994. void __RPC_STUB IThemeUIPages_GetExecMode_Stub(
  1995. IRpcStubBuffer *This,
  1996. IRpcChannelBuffer *_pRpcChannelBuffer,
  1997. PRPC_MESSAGE _pRpcMessage,
  1998. DWORD *_pdwStubPhase);
  1999. HRESULT STDMETHODCALLTYPE IThemeUIPages_LoadMonitorBitmap_Proxy(
  2000. IThemeUIPages * This,
  2001. /* [in] */ BOOL fFillDesktop,
  2002. /* [out] */ HBITMAP *phbmMon);
  2003. void __RPC_STUB IThemeUIPages_LoadMonitorBitmap_Stub(
  2004. IRpcStubBuffer *This,
  2005. IRpcChannelBuffer *_pRpcChannelBuffer,
  2006. PRPC_MESSAGE _pRpcMessage,
  2007. DWORD *_pdwStubPhase);
  2008. HRESULT STDMETHODCALLTYPE IThemeUIPages_DisplaySaveSettings_Proxy(
  2009. IThemeUIPages * This,
  2010. /* [in] */ PVOID pContext,
  2011. /* [in] */ HWND hwnd,
  2012. /* [out] */ int *piRet);
  2013. void __RPC_STUB IThemeUIPages_DisplaySaveSettings_Stub(
  2014. IRpcStubBuffer *This,
  2015. IRpcChannelBuffer *_pRpcChannelBuffer,
  2016. PRPC_MESSAGE _pRpcMessage,
  2017. DWORD *_pdwStubPhase);
  2018. #endif /* __IThemeUIPages_INTERFACE_DEFINED__ */
  2019. /* interface __MIDL_itf_shpriv_0267 */
  2020. /* [local] */
  2021. // INTERFACE: IAdvancedDialog
  2022. // DESCRIPTION:
  2023. //
  2024. // DisplayAdvancedDialog: Display the Advanced Dialog.
  2025. // hwndParent: Parent the dialog on this hwnd.
  2026. // pBasePage: Load the state from this propertybag. Save the state here if OK is pressed.
  2027. // pfEnableApply: Tell the parent dialog if they should enable the Apply button.
  2028. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0267_v0_0_c_ifspec;
  2029. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0267_v0_0_s_ifspec;
  2030. #ifndef __IAdvancedDialog_INTERFACE_DEFINED__
  2031. #define __IAdvancedDialog_INTERFACE_DEFINED__
  2032. /* interface IAdvancedDialog */
  2033. /* [object][local][helpstring][uuid] */
  2034. EXTERN_C const IID IID_IAdvancedDialog;
  2035. #if defined(__cplusplus) && !defined(CINTERFACE)
  2036. MIDL_INTERFACE("9DD92CA7-BF27-4fcb-AE95-1EAC48FC254D")
  2037. IAdvancedDialog : public IUnknown
  2038. {
  2039. public:
  2040. virtual HRESULT STDMETHODCALLTYPE DisplayAdvancedDialog(
  2041. /* [in] */ HWND hwndParent,
  2042. /* [in] */ IPropertyBag *pBasePage,
  2043. /* [in] */ BOOL *pfEnableApply) = 0;
  2044. };
  2045. #else /* C style interface */
  2046. typedef struct IAdvancedDialogVtbl
  2047. {
  2048. BEGIN_INTERFACE
  2049. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2050. IAdvancedDialog * This,
  2051. /* [in] */ REFIID riid,
  2052. /* [iid_is][out] */ void **ppvObject);
  2053. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2054. IAdvancedDialog * This);
  2055. ULONG ( STDMETHODCALLTYPE *Release )(
  2056. IAdvancedDialog * This);
  2057. HRESULT ( STDMETHODCALLTYPE *DisplayAdvancedDialog )(
  2058. IAdvancedDialog * This,
  2059. /* [in] */ HWND hwndParent,
  2060. /* [in] */ IPropertyBag *pBasePage,
  2061. /* [in] */ BOOL *pfEnableApply);
  2062. END_INTERFACE
  2063. } IAdvancedDialogVtbl;
  2064. interface IAdvancedDialog
  2065. {
  2066. CONST_VTBL struct IAdvancedDialogVtbl *lpVtbl;
  2067. };
  2068. #ifdef COBJMACROS
  2069. #define IAdvancedDialog_QueryInterface(This,riid,ppvObject) \
  2070. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2071. #define IAdvancedDialog_AddRef(This) \
  2072. (This)->lpVtbl -> AddRef(This)
  2073. #define IAdvancedDialog_Release(This) \
  2074. (This)->lpVtbl -> Release(This)
  2075. #define IAdvancedDialog_DisplayAdvancedDialog(This,hwndParent,pBasePage,pfEnableApply) \
  2076. (This)->lpVtbl -> DisplayAdvancedDialog(This,hwndParent,pBasePage,pfEnableApply)
  2077. #endif /* COBJMACROS */
  2078. #endif /* C style interface */
  2079. HRESULT STDMETHODCALLTYPE IAdvancedDialog_DisplayAdvancedDialog_Proxy(
  2080. IAdvancedDialog * This,
  2081. /* [in] */ HWND hwndParent,
  2082. /* [in] */ IPropertyBag *pBasePage,
  2083. /* [in] */ BOOL *pfEnableApply);
  2084. void __RPC_STUB IAdvancedDialog_DisplayAdvancedDialog_Stub(
  2085. IRpcStubBuffer *This,
  2086. IRpcChannelBuffer *_pRpcChannelBuffer,
  2087. PRPC_MESSAGE _pRpcMessage,
  2088. DWORD *_pdwStubPhase);
  2089. #endif /* __IAdvancedDialog_INTERFACE_DEFINED__ */
  2090. /* interface __MIDL_itf_shpriv_0268 */
  2091. /* [local] */
  2092. // INTERFACE: IBasePropPage
  2093. // DESCRIPTION:
  2094. // This interface is implemented by IShellPropSheetExt objects which want to add pages to
  2095. // the advanced dialog. When one of the base dialog pages clicks on a button that
  2096. // should open the advanced dialog, IThemeUIPages::DisplayAdvancedDialog() will call
  2097. // each object's IBasePropPage::GetAdvancedPage() method. The base page will then
  2098. // create an IAdvancedDialog object to add the advanced pages and track the state. If the
  2099. // advanced dlg clicks OK, then the state should move back into the IBasePropPage
  2100. // object, via IAdvancedDialog::OnClose(, pBasePropPage). Then the base dlg object can
  2101. // persist the state when the dialog receives an OK or APPLY command.
  2102. // This object may want to implement IObjectWithSite so it can get a IUnknown pointer to
  2103. // the IThemeUIPages object. This will allow this object's base pages to open the
  2104. // advanced dialog via IBasePropPage::GetAdvancedPage().
  2105. //
  2106. // GetAdvancedPage: The callee will create the IAdvancedDialog object and return it.
  2107. // Note that the state may be dirty if the user already opened and closed the
  2108. // advanced dialog without clicking Apply.
  2109. // OnClose: The page will be called when the base dialog is closing. This will allow
  2110. // the object to persist it's state.
  2111. typedef /* [helpstring] */
  2112. enum tagPropPageOnApply
  2113. { PPOAACTION_CANCEL = 0,
  2114. PPOAACTION_OK = PPOAACTION_CANCEL + 1,
  2115. PPOAACTION_APPLY = PPOAACTION_OK + 1
  2116. } PROPPAGEONAPPLY;
  2117. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0268_v0_0_c_ifspec;
  2118. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0268_v0_0_s_ifspec;
  2119. #ifndef __IBasePropPage_INTERFACE_DEFINED__
  2120. #define __IBasePropPage_INTERFACE_DEFINED__
  2121. /* interface IBasePropPage */
  2122. /* [object][local][helpstring][uuid] */
  2123. EXTERN_C const IID IID_IBasePropPage;
  2124. #if defined(__cplusplus) && !defined(CINTERFACE)
  2125. MIDL_INTERFACE("B34E525B-9EB4-433b-8E0F-019C4F21D7E7")
  2126. IBasePropPage : public IShellPropSheetExt
  2127. {
  2128. public:
  2129. virtual HRESULT STDMETHODCALLTYPE GetAdvancedDialog(
  2130. /* [out] */ IAdvancedDialog **ppAdvDialog) = 0;
  2131. virtual HRESULT STDMETHODCALLTYPE OnApply(
  2132. /* [in] */ PROPPAGEONAPPLY oaAction) = 0;
  2133. };
  2134. #else /* C style interface */
  2135. typedef struct IBasePropPageVtbl
  2136. {
  2137. BEGIN_INTERFACE
  2138. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2139. IBasePropPage * This,
  2140. /* [in] */ REFIID riid,
  2141. /* [iid_is][out] */ void **ppvObject);
  2142. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2143. IBasePropPage * This);
  2144. ULONG ( STDMETHODCALLTYPE *Release )(
  2145. IBasePropPage * This);
  2146. HRESULT ( STDMETHODCALLTYPE *AddPages )(
  2147. IBasePropPage * This,
  2148. /* [in] */ LPFNSVADDPROPSHEETPAGE pfnAddPage,
  2149. /* [in] */ LPARAM lParam);
  2150. HRESULT ( STDMETHODCALLTYPE *ReplacePage )(
  2151. IBasePropPage * This,
  2152. /* [in] */ EXPPS uPageID,
  2153. /* [in] */ LPFNSVADDPROPSHEETPAGE pfnReplaceWith,
  2154. /* [in] */ LPARAM lParam);
  2155. HRESULT ( STDMETHODCALLTYPE *GetAdvancedDialog )(
  2156. IBasePropPage * This,
  2157. /* [out] */ IAdvancedDialog **ppAdvDialog);
  2158. HRESULT ( STDMETHODCALLTYPE *OnApply )(
  2159. IBasePropPage * This,
  2160. /* [in] */ PROPPAGEONAPPLY oaAction);
  2161. END_INTERFACE
  2162. } IBasePropPageVtbl;
  2163. interface IBasePropPage
  2164. {
  2165. CONST_VTBL struct IBasePropPageVtbl *lpVtbl;
  2166. };
  2167. #ifdef COBJMACROS
  2168. #define IBasePropPage_QueryInterface(This,riid,ppvObject) \
  2169. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2170. #define IBasePropPage_AddRef(This) \
  2171. (This)->lpVtbl -> AddRef(This)
  2172. #define IBasePropPage_Release(This) \
  2173. (This)->lpVtbl -> Release(This)
  2174. #define IBasePropPage_AddPages(This,pfnAddPage,lParam) \
  2175. (This)->lpVtbl -> AddPages(This,pfnAddPage,lParam)
  2176. #define IBasePropPage_ReplacePage(This,uPageID,pfnReplaceWith,lParam) \
  2177. (This)->lpVtbl -> ReplacePage(This,uPageID,pfnReplaceWith,lParam)
  2178. #define IBasePropPage_GetAdvancedDialog(This,ppAdvDialog) \
  2179. (This)->lpVtbl -> GetAdvancedDialog(This,ppAdvDialog)
  2180. #define IBasePropPage_OnApply(This,oaAction) \
  2181. (This)->lpVtbl -> OnApply(This,oaAction)
  2182. #endif /* COBJMACROS */
  2183. #endif /* C style interface */
  2184. HRESULT STDMETHODCALLTYPE IBasePropPage_GetAdvancedDialog_Proxy(
  2185. IBasePropPage * This,
  2186. /* [out] */ IAdvancedDialog **ppAdvDialog);
  2187. void __RPC_STUB IBasePropPage_GetAdvancedDialog_Stub(
  2188. IRpcStubBuffer *This,
  2189. IRpcChannelBuffer *_pRpcChannelBuffer,
  2190. PRPC_MESSAGE _pRpcMessage,
  2191. DWORD *_pdwStubPhase);
  2192. HRESULT STDMETHODCALLTYPE IBasePropPage_OnApply_Proxy(
  2193. IBasePropPage * This,
  2194. /* [in] */ PROPPAGEONAPPLY oaAction);
  2195. void __RPC_STUB IBasePropPage_OnApply_Stub(
  2196. IRpcStubBuffer *This,
  2197. IRpcChannelBuffer *_pRpcChannelBuffer,
  2198. PRPC_MESSAGE _pRpcMessage,
  2199. DWORD *_pdwStubPhase);
  2200. #endif /* __IBasePropPage_INTERFACE_DEFINED__ */
  2201. /* interface __MIDL_itf_shpriv_0269 */
  2202. /* [local] */
  2203. // INTERFACE: IPreviewSystemMetrics
  2204. // DESCRIPTION:
  2205. // This object will allow the negociation with a preview of the system metrics.
  2206. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0269_v0_0_c_ifspec;
  2207. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0269_v0_0_s_ifspec;
  2208. #ifndef __IPreviewSystemMetrics_INTERFACE_DEFINED__
  2209. #define __IPreviewSystemMetrics_INTERFACE_DEFINED__
  2210. /* interface IPreviewSystemMetrics */
  2211. /* [object][local][helpstring][uuid] */
  2212. EXTERN_C const IID IID_IPreviewSystemMetrics;
  2213. #if defined(__cplusplus) && !defined(CINTERFACE)
  2214. MIDL_INTERFACE("FC0A77D2-2ADF-4ede-A885-523A3A74A145")
  2215. IPreviewSystemMetrics : public IUnknown
  2216. {
  2217. public:
  2218. virtual HRESULT STDMETHODCALLTYPE RefreshColors( void) = 0;
  2219. virtual HRESULT STDMETHODCALLTYPE UpdateDPIchange( void) = 0;
  2220. virtual HRESULT STDMETHODCALLTYPE UpdateCharsetChanges( void) = 0;
  2221. virtual HRESULT STDMETHODCALLTYPE DeskSetCurrentScheme(
  2222. /* [string][in] */ LPCWSTR pwzSchemeName) = 0;
  2223. };
  2224. #else /* C style interface */
  2225. typedef struct IPreviewSystemMetricsVtbl
  2226. {
  2227. BEGIN_INTERFACE
  2228. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2229. IPreviewSystemMetrics * This,
  2230. /* [in] */ REFIID riid,
  2231. /* [iid_is][out] */ void **ppvObject);
  2232. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2233. IPreviewSystemMetrics * This);
  2234. ULONG ( STDMETHODCALLTYPE *Release )(
  2235. IPreviewSystemMetrics * This);
  2236. HRESULT ( STDMETHODCALLTYPE *RefreshColors )(
  2237. IPreviewSystemMetrics * This);
  2238. HRESULT ( STDMETHODCALLTYPE *UpdateDPIchange )(
  2239. IPreviewSystemMetrics * This);
  2240. HRESULT ( STDMETHODCALLTYPE *UpdateCharsetChanges )(
  2241. IPreviewSystemMetrics * This);
  2242. HRESULT ( STDMETHODCALLTYPE *DeskSetCurrentScheme )(
  2243. IPreviewSystemMetrics * This,
  2244. /* [string][in] */ LPCWSTR pwzSchemeName);
  2245. END_INTERFACE
  2246. } IPreviewSystemMetricsVtbl;
  2247. interface IPreviewSystemMetrics
  2248. {
  2249. CONST_VTBL struct IPreviewSystemMetricsVtbl *lpVtbl;
  2250. };
  2251. #ifdef COBJMACROS
  2252. #define IPreviewSystemMetrics_QueryInterface(This,riid,ppvObject) \
  2253. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2254. #define IPreviewSystemMetrics_AddRef(This) \
  2255. (This)->lpVtbl -> AddRef(This)
  2256. #define IPreviewSystemMetrics_Release(This) \
  2257. (This)->lpVtbl -> Release(This)
  2258. #define IPreviewSystemMetrics_RefreshColors(This) \
  2259. (This)->lpVtbl -> RefreshColors(This)
  2260. #define IPreviewSystemMetrics_UpdateDPIchange(This) \
  2261. (This)->lpVtbl -> UpdateDPIchange(This)
  2262. #define IPreviewSystemMetrics_UpdateCharsetChanges(This) \
  2263. (This)->lpVtbl -> UpdateCharsetChanges(This)
  2264. #define IPreviewSystemMetrics_DeskSetCurrentScheme(This,pwzSchemeName) \
  2265. (This)->lpVtbl -> DeskSetCurrentScheme(This,pwzSchemeName)
  2266. #endif /* COBJMACROS */
  2267. #endif /* C style interface */
  2268. HRESULT STDMETHODCALLTYPE IPreviewSystemMetrics_RefreshColors_Proxy(
  2269. IPreviewSystemMetrics * This);
  2270. void __RPC_STUB IPreviewSystemMetrics_RefreshColors_Stub(
  2271. IRpcStubBuffer *This,
  2272. IRpcChannelBuffer *_pRpcChannelBuffer,
  2273. PRPC_MESSAGE _pRpcMessage,
  2274. DWORD *_pdwStubPhase);
  2275. HRESULT STDMETHODCALLTYPE IPreviewSystemMetrics_UpdateDPIchange_Proxy(
  2276. IPreviewSystemMetrics * This);
  2277. void __RPC_STUB IPreviewSystemMetrics_UpdateDPIchange_Stub(
  2278. IRpcStubBuffer *This,
  2279. IRpcChannelBuffer *_pRpcChannelBuffer,
  2280. PRPC_MESSAGE _pRpcMessage,
  2281. DWORD *_pdwStubPhase);
  2282. HRESULT STDMETHODCALLTYPE IPreviewSystemMetrics_UpdateCharsetChanges_Proxy(
  2283. IPreviewSystemMetrics * This);
  2284. void __RPC_STUB IPreviewSystemMetrics_UpdateCharsetChanges_Stub(
  2285. IRpcStubBuffer *This,
  2286. IRpcChannelBuffer *_pRpcChannelBuffer,
  2287. PRPC_MESSAGE _pRpcMessage,
  2288. DWORD *_pdwStubPhase);
  2289. HRESULT STDMETHODCALLTYPE IPreviewSystemMetrics_DeskSetCurrentScheme_Proxy(
  2290. IPreviewSystemMetrics * This,
  2291. /* [string][in] */ LPCWSTR pwzSchemeName);
  2292. void __RPC_STUB IPreviewSystemMetrics_DeskSetCurrentScheme_Stub(
  2293. IRpcStubBuffer *This,
  2294. IRpcChannelBuffer *_pRpcChannelBuffer,
  2295. PRPC_MESSAGE _pRpcMessage,
  2296. DWORD *_pdwStubPhase);
  2297. #endif /* __IPreviewSystemMetrics_INTERFACE_DEFINED__ */
  2298. /* interface __MIDL_itf_shpriv_0270 */
  2299. /* [local] */
  2300. #define SZ_PBPROP_SCREENSAVER_PATH TEXT("ScreenSaver_Path")
  2301. #define SZ_PBPROP_BACKGROUND_PATH TEXT("Background_Path")
  2302. #define SZ_PBPROP_BACKGROUNDSRC_PATH TEXT("BackgroundSrc_Path") // The source path of the background. This is before it was converted to a .bmp.
  2303. #define SZ_PBPROP_BACKGROUND_TILE TEXT("Background_TILE") // VT_UI4 with WPSTYLE_ flags from WALLPAPEROPT in IActiveDesktop::SetWallpaperOptions()
  2304. #define SZ_PBPROP_VISUALSTYLE_PATH TEXT("VisualStyle_Path") // VT_BSTR with the visual style path (.mstheme file)
  2305. #define SZ_PBPROP_VISUALSTYLE_COLOR TEXT("VisualStyle_Color") // VT_BSTR with the visual style Color Style
  2306. #define SZ_PBPROP_VISUALSTYLE_SIZE TEXT("VisualStyle_Size") // VT_BSTR with the visual style size
  2307. #define SZ_PBPROP_SYSTEM_METRICS TEXT("SystemMetrics") // VT_BYREF byref pointer to SYSTEMMETRICSALL
  2308. #define SZ_PBPROP_PREVIEW1 TEXT("Preview1") // VT_UNKNOWN to object w/IThemePreview
  2309. #define SZ_PBPROP_PREVIEW2 TEXT("Preview2") // VT_UNKNOWN to object w/IThemePreview
  2310. #define SZ_PBPROP_PREVIEW3 TEXT("Preview3") // VT_UNKNOWN to object w/IThemePreview
  2311. #define SZ_PBPROP_CUSTOMIZE_THEME TEXT("Theme_CustomizeTheme") // VT_EMPTY. Used to indicate that the theme settings have changed
  2312. #define SZ_PBPROP_WEBCOMPONENTS TEXT("WebComponents") // VT_UNKNOWN. Get or Set the IActiveDesktop interface containing the ActiveDesktop components
  2313. #define SZ_PBPROP_OPENADVANCEDDLG TEXT("OpenAdvancedDialog") // VT_BOOL. Tells the IPropertyBag to open the Advanced dialog when opening. If read, this indicates if the base dialog should go away when the Adv dlg closes.
  2314. #define SZ_PBPROP_BACKGROUND_COLOR TEXT("BackgroundColor") // VT_UI4. Get or set the COLORREF (RGB) color for the background system metric.
  2315. #define SZ_PBPROP_THEME_LAUNCHTHEME TEXT("ThemeLaunchTheme") // VT_LPWSTR. This will be the path to the .theme file to open.
  2316. #define SZ_PBPROP_APPEARANCE_LAUNCHMSTHEME TEXT("AppearanceLaunchMSTheme") // VT_LPWSTR. This will be the path to the .mstheme file to open.
  2317. #define SZ_PBPROP_PREOPEN TEXT("PreOpen") // VARIANT is NULL. This is sent right before the dialog opens.
  2318. #define SZ_PBPROP_DPI_MODIFIED_VALUE TEXT("Settings_DPIModifiedValue") // VT_I4 specifying the currently modified DPI
  2319. #define SZ_PBPROP_DPI_APPLIED_VALUE TEXT("Settings_DPIAppliedValue") // VT_I4 specifying the currently applied DPI
  2320. // Display Control Panel flags to specify an opening page.
  2321. // You can launch "rundll32.exe shell32.dll,Control_RunDLL desk.cpl ,@Settings"
  2322. // which will launch the Display CPL to the Settings tab.
  2323. // These names are canonical so they will work on all languages. The tab order
  2324. // will change when admin policies are applied or when the OS revs the UI and
  2325. // these names will always work.
  2326. #define SZ_DISPLAYCPL_OPENTO_THEMES TEXT("Themes") // Themes tab
  2327. #define SZ_DISPLAYCPL_OPENTO_DESKTOP TEXT("Desktop") // Desktop tab
  2328. #define SZ_DISPLAYCPL_OPENTO_SCREENSAVER TEXT("ScreenSaver") // Screen Saver tab
  2329. #define SZ_DISPLAYCPL_OPENTO_APPEARANCE TEXT("Appearance") // Appearance tab
  2330. #define SZ_DISPLAYCPL_OPENTO_SETTINGS TEXT("Settings") // Settings tab
  2331. #endif // _WIN32_IE >= 0x0600
  2332. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0270_v0_0_c_ifspec;
  2333. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0270_v0_0_s_ifspec;
  2334. #ifndef __IAssocHandler_INTERFACE_DEFINED__
  2335. #define __IAssocHandler_INTERFACE_DEFINED__
  2336. /* interface IAssocHandler */
  2337. /* [local][unique][object][uuid][helpstring] */
  2338. EXTERN_C const IID IID_IAssocHandler;
  2339. #if defined(__cplusplus) && !defined(CINTERFACE)
  2340. MIDL_INTERFACE("973810ad-9599-4b88-9e4d-6ee98c9552da")
  2341. IAssocHandler : public IUnknown
  2342. {
  2343. public:
  2344. virtual HRESULT STDMETHODCALLTYPE GetName(
  2345. /* [out][string] */ LPWSTR *ppsz) = 0;
  2346. virtual HRESULT STDMETHODCALLTYPE GetUIName(
  2347. /* [out][string] */ LPWSTR *ppsz) = 0;
  2348. virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
  2349. /* [out][string] */ LPWSTR *ppszPath,
  2350. int *pIndex) = 0;
  2351. virtual HRESULT STDMETHODCALLTYPE IsRecommended( void) = 0;
  2352. virtual HRESULT STDMETHODCALLTYPE MakeDefault(
  2353. /* [string][in] */ LPCWSTR pszDescription) = 0;
  2354. virtual HRESULT STDMETHODCALLTYPE Exec(
  2355. /* [in] */ HWND hwnd,
  2356. /* [string][in] */ LPCWSTR pszFile) = 0;
  2357. virtual HRESULT STDMETHODCALLTYPE Invoke(
  2358. /* [in] */ void *pici,
  2359. /* [string][in] */ LPCWSTR pszFile) = 0;
  2360. };
  2361. #else /* C style interface */
  2362. typedef struct IAssocHandlerVtbl
  2363. {
  2364. BEGIN_INTERFACE
  2365. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2366. IAssocHandler * This,
  2367. /* [in] */ REFIID riid,
  2368. /* [iid_is][out] */ void **ppvObject);
  2369. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2370. IAssocHandler * This);
  2371. ULONG ( STDMETHODCALLTYPE *Release )(
  2372. IAssocHandler * This);
  2373. HRESULT ( STDMETHODCALLTYPE *GetName )(
  2374. IAssocHandler * This,
  2375. /* [out][string] */ LPWSTR *ppsz);
  2376. HRESULT ( STDMETHODCALLTYPE *GetUIName )(
  2377. IAssocHandler * This,
  2378. /* [out][string] */ LPWSTR *ppsz);
  2379. HRESULT ( STDMETHODCALLTYPE *GetIconLocation )(
  2380. IAssocHandler * This,
  2381. /* [out][string] */ LPWSTR *ppszPath,
  2382. int *pIndex);
  2383. HRESULT ( STDMETHODCALLTYPE *IsRecommended )(
  2384. IAssocHandler * This);
  2385. HRESULT ( STDMETHODCALLTYPE *MakeDefault )(
  2386. IAssocHandler * This,
  2387. /* [string][in] */ LPCWSTR pszDescription);
  2388. HRESULT ( STDMETHODCALLTYPE *Exec )(
  2389. IAssocHandler * This,
  2390. /* [in] */ HWND hwnd,
  2391. /* [string][in] */ LPCWSTR pszFile);
  2392. HRESULT ( STDMETHODCALLTYPE *Invoke )(
  2393. IAssocHandler * This,
  2394. /* [in] */ void *pici,
  2395. /* [string][in] */ LPCWSTR pszFile);
  2396. END_INTERFACE
  2397. } IAssocHandlerVtbl;
  2398. interface IAssocHandler
  2399. {
  2400. CONST_VTBL struct IAssocHandlerVtbl *lpVtbl;
  2401. };
  2402. #ifdef COBJMACROS
  2403. #define IAssocHandler_QueryInterface(This,riid,ppvObject) \
  2404. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2405. #define IAssocHandler_AddRef(This) \
  2406. (This)->lpVtbl -> AddRef(This)
  2407. #define IAssocHandler_Release(This) \
  2408. (This)->lpVtbl -> Release(This)
  2409. #define IAssocHandler_GetName(This,ppsz) \
  2410. (This)->lpVtbl -> GetName(This,ppsz)
  2411. #define IAssocHandler_GetUIName(This,ppsz) \
  2412. (This)->lpVtbl -> GetUIName(This,ppsz)
  2413. #define IAssocHandler_GetIconLocation(This,ppszPath,pIndex) \
  2414. (This)->lpVtbl -> GetIconLocation(This,ppszPath,pIndex)
  2415. #define IAssocHandler_IsRecommended(This) \
  2416. (This)->lpVtbl -> IsRecommended(This)
  2417. #define IAssocHandler_MakeDefault(This,pszDescription) \
  2418. (This)->lpVtbl -> MakeDefault(This,pszDescription)
  2419. #define IAssocHandler_Exec(This,hwnd,pszFile) \
  2420. (This)->lpVtbl -> Exec(This,hwnd,pszFile)
  2421. #define IAssocHandler_Invoke(This,pici,pszFile) \
  2422. (This)->lpVtbl -> Invoke(This,pici,pszFile)
  2423. #endif /* COBJMACROS */
  2424. #endif /* C style interface */
  2425. HRESULT STDMETHODCALLTYPE IAssocHandler_GetName_Proxy(
  2426. IAssocHandler * This,
  2427. /* [out][string] */ LPWSTR *ppsz);
  2428. void __RPC_STUB IAssocHandler_GetName_Stub(
  2429. IRpcStubBuffer *This,
  2430. IRpcChannelBuffer *_pRpcChannelBuffer,
  2431. PRPC_MESSAGE _pRpcMessage,
  2432. DWORD *_pdwStubPhase);
  2433. HRESULT STDMETHODCALLTYPE IAssocHandler_GetUIName_Proxy(
  2434. IAssocHandler * This,
  2435. /* [out][string] */ LPWSTR *ppsz);
  2436. void __RPC_STUB IAssocHandler_GetUIName_Stub(
  2437. IRpcStubBuffer *This,
  2438. IRpcChannelBuffer *_pRpcChannelBuffer,
  2439. PRPC_MESSAGE _pRpcMessage,
  2440. DWORD *_pdwStubPhase);
  2441. HRESULT STDMETHODCALLTYPE IAssocHandler_GetIconLocation_Proxy(
  2442. IAssocHandler * This,
  2443. /* [out][string] */ LPWSTR *ppszPath,
  2444. int *pIndex);
  2445. void __RPC_STUB IAssocHandler_GetIconLocation_Stub(
  2446. IRpcStubBuffer *This,
  2447. IRpcChannelBuffer *_pRpcChannelBuffer,
  2448. PRPC_MESSAGE _pRpcMessage,
  2449. DWORD *_pdwStubPhase);
  2450. HRESULT STDMETHODCALLTYPE IAssocHandler_IsRecommended_Proxy(
  2451. IAssocHandler * This);
  2452. void __RPC_STUB IAssocHandler_IsRecommended_Stub(
  2453. IRpcStubBuffer *This,
  2454. IRpcChannelBuffer *_pRpcChannelBuffer,
  2455. PRPC_MESSAGE _pRpcMessage,
  2456. DWORD *_pdwStubPhase);
  2457. HRESULT STDMETHODCALLTYPE IAssocHandler_MakeDefault_Proxy(
  2458. IAssocHandler * This,
  2459. /* [string][in] */ LPCWSTR pszDescription);
  2460. void __RPC_STUB IAssocHandler_MakeDefault_Stub(
  2461. IRpcStubBuffer *This,
  2462. IRpcChannelBuffer *_pRpcChannelBuffer,
  2463. PRPC_MESSAGE _pRpcMessage,
  2464. DWORD *_pdwStubPhase);
  2465. HRESULT STDMETHODCALLTYPE IAssocHandler_Exec_Proxy(
  2466. IAssocHandler * This,
  2467. /* [in] */ HWND hwnd,
  2468. /* [string][in] */ LPCWSTR pszFile);
  2469. void __RPC_STUB IAssocHandler_Exec_Stub(
  2470. IRpcStubBuffer *This,
  2471. IRpcChannelBuffer *_pRpcChannelBuffer,
  2472. PRPC_MESSAGE _pRpcMessage,
  2473. DWORD *_pdwStubPhase);
  2474. HRESULT STDMETHODCALLTYPE IAssocHandler_Invoke_Proxy(
  2475. IAssocHandler * This,
  2476. /* [in] */ void *pici,
  2477. /* [string][in] */ LPCWSTR pszFile);
  2478. void __RPC_STUB IAssocHandler_Invoke_Stub(
  2479. IRpcStubBuffer *This,
  2480. IRpcChannelBuffer *_pRpcChannelBuffer,
  2481. PRPC_MESSAGE _pRpcMessage,
  2482. DWORD *_pdwStubPhase);
  2483. #endif /* __IAssocHandler_INTERFACE_DEFINED__ */
  2484. #ifndef __IEnumAssocHandlers_INTERFACE_DEFINED__
  2485. #define __IEnumAssocHandlers_INTERFACE_DEFINED__
  2486. /* interface IEnumAssocHandlers */
  2487. /* [local][unique][object][uuid][helpstring] */
  2488. EXTERN_C const IID IID_IEnumAssocHandlers;
  2489. #if defined(__cplusplus) && !defined(CINTERFACE)
  2490. MIDL_INTERFACE("973810ae-9599-4b88-9e4d-6ee98c9552da")
  2491. IEnumAssocHandlers : public IUnknown
  2492. {
  2493. public:
  2494. virtual HRESULT STDMETHODCALLTYPE Next(
  2495. /* [in] */ ULONG celt,
  2496. /* [length_is][size_is][out] */ IAssocHandler **rgelt,
  2497. /* [out] */ ULONG *pceltFetched) = 0;
  2498. };
  2499. #else /* C style interface */
  2500. typedef struct IEnumAssocHandlersVtbl
  2501. {
  2502. BEGIN_INTERFACE
  2503. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2504. IEnumAssocHandlers * This,
  2505. /* [in] */ REFIID riid,
  2506. /* [iid_is][out] */ void **ppvObject);
  2507. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2508. IEnumAssocHandlers * This);
  2509. ULONG ( STDMETHODCALLTYPE *Release )(
  2510. IEnumAssocHandlers * This);
  2511. HRESULT ( STDMETHODCALLTYPE *Next )(
  2512. IEnumAssocHandlers * This,
  2513. /* [in] */ ULONG celt,
  2514. /* [length_is][size_is][out] */ IAssocHandler **rgelt,
  2515. /* [out] */ ULONG *pceltFetched);
  2516. END_INTERFACE
  2517. } IEnumAssocHandlersVtbl;
  2518. interface IEnumAssocHandlers
  2519. {
  2520. CONST_VTBL struct IEnumAssocHandlersVtbl *lpVtbl;
  2521. };
  2522. #ifdef COBJMACROS
  2523. #define IEnumAssocHandlers_QueryInterface(This,riid,ppvObject) \
  2524. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2525. #define IEnumAssocHandlers_AddRef(This) \
  2526. (This)->lpVtbl -> AddRef(This)
  2527. #define IEnumAssocHandlers_Release(This) \
  2528. (This)->lpVtbl -> Release(This)
  2529. #define IEnumAssocHandlers_Next(This,celt,rgelt,pceltFetched) \
  2530. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  2531. #endif /* COBJMACROS */
  2532. #endif /* C style interface */
  2533. HRESULT STDMETHODCALLTYPE IEnumAssocHandlers_Next_Proxy(
  2534. IEnumAssocHandlers * This,
  2535. /* [in] */ ULONG celt,
  2536. /* [length_is][size_is][out] */ IAssocHandler **rgelt,
  2537. /* [out] */ ULONG *pceltFetched);
  2538. void __RPC_STUB IEnumAssocHandlers_Next_Stub(
  2539. IRpcStubBuffer *This,
  2540. IRpcChannelBuffer *_pRpcChannelBuffer,
  2541. PRPC_MESSAGE _pRpcMessage,
  2542. DWORD *_pdwStubPhase);
  2543. #endif /* __IEnumAssocHandlers_INTERFACE_DEFINED__ */
  2544. #ifndef __IHWDevice_INTERFACE_DEFINED__
  2545. #define __IHWDevice_INTERFACE_DEFINED__
  2546. /* interface IHWDevice */
  2547. /* [unique][helpstring][uuid][object] */
  2548. EXTERN_C const IID IID_IHWDevice;
  2549. #if defined(__cplusplus) && !defined(CINTERFACE)
  2550. MIDL_INTERFACE("99BC7510-0A96-43fa-8BB1-C928A0302EFB")
  2551. IHWDevice : public IUnknown
  2552. {
  2553. public:
  2554. virtual HRESULT STDMETHODCALLTYPE Init(
  2555. /* [string][in] */ LPCWSTR pszDeviceID) = 0;
  2556. virtual HRESULT STDMETHODCALLTYPE AutoplayHandler(
  2557. /* [string][in] */ LPCWSTR pszEventType,
  2558. /* [string][in] */ LPCWSTR pszHandler) = 0;
  2559. };
  2560. #else /* C style interface */
  2561. typedef struct IHWDeviceVtbl
  2562. {
  2563. BEGIN_INTERFACE
  2564. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2565. IHWDevice * This,
  2566. /* [in] */ REFIID riid,
  2567. /* [iid_is][out] */ void **ppvObject);
  2568. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2569. IHWDevice * This);
  2570. ULONG ( STDMETHODCALLTYPE *Release )(
  2571. IHWDevice * This);
  2572. HRESULT ( STDMETHODCALLTYPE *Init )(
  2573. IHWDevice * This,
  2574. /* [string][in] */ LPCWSTR pszDeviceID);
  2575. HRESULT ( STDMETHODCALLTYPE *AutoplayHandler )(
  2576. IHWDevice * This,
  2577. /* [string][in] */ LPCWSTR pszEventType,
  2578. /* [string][in] */ LPCWSTR pszHandler);
  2579. END_INTERFACE
  2580. } IHWDeviceVtbl;
  2581. interface IHWDevice
  2582. {
  2583. CONST_VTBL struct IHWDeviceVtbl *lpVtbl;
  2584. };
  2585. #ifdef COBJMACROS
  2586. #define IHWDevice_QueryInterface(This,riid,ppvObject) \
  2587. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2588. #define IHWDevice_AddRef(This) \
  2589. (This)->lpVtbl -> AddRef(This)
  2590. #define IHWDevice_Release(This) \
  2591. (This)->lpVtbl -> Release(This)
  2592. #define IHWDevice_Init(This,pszDeviceID) \
  2593. (This)->lpVtbl -> Init(This,pszDeviceID)
  2594. #define IHWDevice_AutoplayHandler(This,pszEventType,pszHandler) \
  2595. (This)->lpVtbl -> AutoplayHandler(This,pszEventType,pszHandler)
  2596. #endif /* COBJMACROS */
  2597. #endif /* C style interface */
  2598. HRESULT STDMETHODCALLTYPE IHWDevice_Init_Proxy(
  2599. IHWDevice * This,
  2600. /* [string][in] */ LPCWSTR pszDeviceID);
  2601. void __RPC_STUB IHWDevice_Init_Stub(
  2602. IRpcStubBuffer *This,
  2603. IRpcChannelBuffer *_pRpcChannelBuffer,
  2604. PRPC_MESSAGE _pRpcMessage,
  2605. DWORD *_pdwStubPhase);
  2606. HRESULT STDMETHODCALLTYPE IHWDevice_AutoplayHandler_Proxy(
  2607. IHWDevice * This,
  2608. /* [string][in] */ LPCWSTR pszEventType,
  2609. /* [string][in] */ LPCWSTR pszHandler);
  2610. void __RPC_STUB IHWDevice_AutoplayHandler_Stub(
  2611. IRpcStubBuffer *This,
  2612. IRpcChannelBuffer *_pRpcChannelBuffer,
  2613. PRPC_MESSAGE _pRpcMessage,
  2614. DWORD *_pdwStubPhase);
  2615. #endif /* __IHWDevice_INTERFACE_DEFINED__ */
  2616. /* interface __MIDL_itf_shpriv_0273 */
  2617. /* [local] */
  2618. #define HWDEVCUSTOMPROP_USEVOLUMEPROCESSING 0x00000001
  2619. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0273_v0_0_c_ifspec;
  2620. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0273_v0_0_s_ifspec;
  2621. #ifndef __IHWDeviceCustomProperties_INTERFACE_DEFINED__
  2622. #define __IHWDeviceCustomProperties_INTERFACE_DEFINED__
  2623. /* interface IHWDeviceCustomProperties */
  2624. /* [unique][helpstring][uuid][object] */
  2625. EXTERN_C const IID IID_IHWDeviceCustomProperties;
  2626. #if defined(__cplusplus) && !defined(CINTERFACE)
  2627. MIDL_INTERFACE("77D5D69C-D6CE-4026-B625-26964EEC733F")
  2628. IHWDeviceCustomProperties : public IUnknown
  2629. {
  2630. public:
  2631. virtual HRESULT STDMETHODCALLTYPE InitFromDeviceID(
  2632. /* [string][in] */ LPCWSTR pszDeviceID,
  2633. /* [in] */ DWORD dwFlags) = 0;
  2634. virtual HRESULT STDMETHODCALLTYPE InitFromDevNode(
  2635. /* [string][in] */ LPCWSTR pszDevNode,
  2636. /* [in] */ DWORD dwFlags) = 0;
  2637. virtual HRESULT STDMETHODCALLTYPE GetDWORDProperty(
  2638. /* [string][in] */ LPCWSTR pszPropName,
  2639. /* [out] */ DWORD *pdwProp) = 0;
  2640. virtual HRESULT STDMETHODCALLTYPE GetStringProperty(
  2641. /* [string][in] */ LPCWSTR pszPropName,
  2642. /* [string][out] */ LPWSTR *ppszProp) = 0;
  2643. virtual HRESULT STDMETHODCALLTYPE GetMultiStringProperty(
  2644. /* [string][in] */ LPCWSTR pszPropName,
  2645. /* [in] */ BOOL fMergeMultiSz,
  2646. /* [out] */ WORD_BLOB **ppblob) = 0;
  2647. virtual HRESULT STDMETHODCALLTYPE GetBlobProperty(
  2648. /* [string][in] */ LPCWSTR pszPropName,
  2649. /* [out] */ BYTE_BLOB **ppblob) = 0;
  2650. };
  2651. #else /* C style interface */
  2652. typedef struct IHWDeviceCustomPropertiesVtbl
  2653. {
  2654. BEGIN_INTERFACE
  2655. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2656. IHWDeviceCustomProperties * This,
  2657. /* [in] */ REFIID riid,
  2658. /* [iid_is][out] */ void **ppvObject);
  2659. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2660. IHWDeviceCustomProperties * This);
  2661. ULONG ( STDMETHODCALLTYPE *Release )(
  2662. IHWDeviceCustomProperties * This);
  2663. HRESULT ( STDMETHODCALLTYPE *InitFromDeviceID )(
  2664. IHWDeviceCustomProperties * This,
  2665. /* [string][in] */ LPCWSTR pszDeviceID,
  2666. /* [in] */ DWORD dwFlags);
  2667. HRESULT ( STDMETHODCALLTYPE *InitFromDevNode )(
  2668. IHWDeviceCustomProperties * This,
  2669. /* [string][in] */ LPCWSTR pszDevNode,
  2670. /* [in] */ DWORD dwFlags);
  2671. HRESULT ( STDMETHODCALLTYPE *GetDWORDProperty )(
  2672. IHWDeviceCustomProperties * This,
  2673. /* [string][in] */ LPCWSTR pszPropName,
  2674. /* [out] */ DWORD *pdwProp);
  2675. HRESULT ( STDMETHODCALLTYPE *GetStringProperty )(
  2676. IHWDeviceCustomProperties * This,
  2677. /* [string][in] */ LPCWSTR pszPropName,
  2678. /* [string][out] */ LPWSTR *ppszProp);
  2679. HRESULT ( STDMETHODCALLTYPE *GetMultiStringProperty )(
  2680. IHWDeviceCustomProperties * This,
  2681. /* [string][in] */ LPCWSTR pszPropName,
  2682. /* [in] */ BOOL fMergeMultiSz,
  2683. /* [out] */ WORD_BLOB **ppblob);
  2684. HRESULT ( STDMETHODCALLTYPE *GetBlobProperty )(
  2685. IHWDeviceCustomProperties * This,
  2686. /* [string][in] */ LPCWSTR pszPropName,
  2687. /* [out] */ BYTE_BLOB **ppblob);
  2688. END_INTERFACE
  2689. } IHWDeviceCustomPropertiesVtbl;
  2690. interface IHWDeviceCustomProperties
  2691. {
  2692. CONST_VTBL struct IHWDeviceCustomPropertiesVtbl *lpVtbl;
  2693. };
  2694. #ifdef COBJMACROS
  2695. #define IHWDeviceCustomProperties_QueryInterface(This,riid,ppvObject) \
  2696. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2697. #define IHWDeviceCustomProperties_AddRef(This) \
  2698. (This)->lpVtbl -> AddRef(This)
  2699. #define IHWDeviceCustomProperties_Release(This) \
  2700. (This)->lpVtbl -> Release(This)
  2701. #define IHWDeviceCustomProperties_InitFromDeviceID(This,pszDeviceID,dwFlags) \
  2702. (This)->lpVtbl -> InitFromDeviceID(This,pszDeviceID,dwFlags)
  2703. #define IHWDeviceCustomProperties_InitFromDevNode(This,pszDevNode,dwFlags) \
  2704. (This)->lpVtbl -> InitFromDevNode(This,pszDevNode,dwFlags)
  2705. #define IHWDeviceCustomProperties_GetDWORDProperty(This,pszPropName,pdwProp) \
  2706. (This)->lpVtbl -> GetDWORDProperty(This,pszPropName,pdwProp)
  2707. #define IHWDeviceCustomProperties_GetStringProperty(This,pszPropName,ppszProp) \
  2708. (This)->lpVtbl -> GetStringProperty(This,pszPropName,ppszProp)
  2709. #define IHWDeviceCustomProperties_GetMultiStringProperty(This,pszPropName,fMergeMultiSz,ppblob) \
  2710. (This)->lpVtbl -> GetMultiStringProperty(This,pszPropName,fMergeMultiSz,ppblob)
  2711. #define IHWDeviceCustomProperties_GetBlobProperty(This,pszPropName,ppblob) \
  2712. (This)->lpVtbl -> GetBlobProperty(This,pszPropName,ppblob)
  2713. #endif /* COBJMACROS */
  2714. #endif /* C style interface */
  2715. HRESULT STDMETHODCALLTYPE IHWDeviceCustomProperties_InitFromDeviceID_Proxy(
  2716. IHWDeviceCustomProperties * This,
  2717. /* [string][in] */ LPCWSTR pszDeviceID,
  2718. /* [in] */ DWORD dwFlags);
  2719. void __RPC_STUB IHWDeviceCustomProperties_InitFromDeviceID_Stub(
  2720. IRpcStubBuffer *This,
  2721. IRpcChannelBuffer *_pRpcChannelBuffer,
  2722. PRPC_MESSAGE _pRpcMessage,
  2723. DWORD *_pdwStubPhase);
  2724. HRESULT STDMETHODCALLTYPE IHWDeviceCustomProperties_InitFromDevNode_Proxy(
  2725. IHWDeviceCustomProperties * This,
  2726. /* [string][in] */ LPCWSTR pszDevNode,
  2727. /* [in] */ DWORD dwFlags);
  2728. void __RPC_STUB IHWDeviceCustomProperties_InitFromDevNode_Stub(
  2729. IRpcStubBuffer *This,
  2730. IRpcChannelBuffer *_pRpcChannelBuffer,
  2731. PRPC_MESSAGE _pRpcMessage,
  2732. DWORD *_pdwStubPhase);
  2733. HRESULT STDMETHODCALLTYPE IHWDeviceCustomProperties_GetDWORDProperty_Proxy(
  2734. IHWDeviceCustomProperties * This,
  2735. /* [string][in] */ LPCWSTR pszPropName,
  2736. /* [out] */ DWORD *pdwProp);
  2737. void __RPC_STUB IHWDeviceCustomProperties_GetDWORDProperty_Stub(
  2738. IRpcStubBuffer *This,
  2739. IRpcChannelBuffer *_pRpcChannelBuffer,
  2740. PRPC_MESSAGE _pRpcMessage,
  2741. DWORD *_pdwStubPhase);
  2742. HRESULT STDMETHODCALLTYPE IHWDeviceCustomProperties_GetStringProperty_Proxy(
  2743. IHWDeviceCustomProperties * This,
  2744. /* [string][in] */ LPCWSTR pszPropName,
  2745. /* [string][out] */ LPWSTR *ppszProp);
  2746. void __RPC_STUB IHWDeviceCustomProperties_GetStringProperty_Stub(
  2747. IRpcStubBuffer *This,
  2748. IRpcChannelBuffer *_pRpcChannelBuffer,
  2749. PRPC_MESSAGE _pRpcMessage,
  2750. DWORD *_pdwStubPhase);
  2751. HRESULT STDMETHODCALLTYPE IHWDeviceCustomProperties_GetMultiStringProperty_Proxy(
  2752. IHWDeviceCustomProperties * This,
  2753. /* [string][in] */ LPCWSTR pszPropName,
  2754. /* [in] */ BOOL fMergeMultiSz,
  2755. /* [out] */ WORD_BLOB **ppblob);
  2756. void __RPC_STUB IHWDeviceCustomProperties_GetMultiStringProperty_Stub(
  2757. IRpcStubBuffer *This,
  2758. IRpcChannelBuffer *_pRpcChannelBuffer,
  2759. PRPC_MESSAGE _pRpcMessage,
  2760. DWORD *_pdwStubPhase);
  2761. HRESULT STDMETHODCALLTYPE IHWDeviceCustomProperties_GetBlobProperty_Proxy(
  2762. IHWDeviceCustomProperties * This,
  2763. /* [string][in] */ LPCWSTR pszPropName,
  2764. /* [out] */ BYTE_BLOB **ppblob);
  2765. void __RPC_STUB IHWDeviceCustomProperties_GetBlobProperty_Stub(
  2766. IRpcStubBuffer *This,
  2767. IRpcChannelBuffer *_pRpcChannelBuffer,
  2768. PRPC_MESSAGE _pRpcMessage,
  2769. DWORD *_pdwStubPhase);
  2770. #endif /* __IHWDeviceCustomProperties_INTERFACE_DEFINED__ */
  2771. #ifndef __IEnumAutoplayHandler_INTERFACE_DEFINED__
  2772. #define __IEnumAutoplayHandler_INTERFACE_DEFINED__
  2773. /* interface IEnumAutoplayHandler */
  2774. /* [unique][helpstring][uuid][object] */
  2775. EXTERN_C const IID IID_IEnumAutoplayHandler;
  2776. #if defined(__cplusplus) && !defined(CINTERFACE)
  2777. MIDL_INTERFACE("66057ABA-FFDB-4077-998E-7F131C3F8157")
  2778. IEnumAutoplayHandler : public IUnknown
  2779. {
  2780. public:
  2781. virtual HRESULT STDMETHODCALLTYPE Next(
  2782. /* [string][out] */ LPWSTR *ppszHandler,
  2783. /* [string][out] */ LPWSTR *ppszAction,
  2784. /* [string][out] */ LPWSTR *ppszProvider,
  2785. /* [string][out] */ LPWSTR *ppszIconLocation) = 0;
  2786. };
  2787. #else /* C style interface */
  2788. typedef struct IEnumAutoplayHandlerVtbl
  2789. {
  2790. BEGIN_INTERFACE
  2791. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2792. IEnumAutoplayHandler * This,
  2793. /* [in] */ REFIID riid,
  2794. /* [iid_is][out] */ void **ppvObject);
  2795. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2796. IEnumAutoplayHandler * This);
  2797. ULONG ( STDMETHODCALLTYPE *Release )(
  2798. IEnumAutoplayHandler * This);
  2799. HRESULT ( STDMETHODCALLTYPE *Next )(
  2800. IEnumAutoplayHandler * This,
  2801. /* [string][out] */ LPWSTR *ppszHandler,
  2802. /* [string][out] */ LPWSTR *ppszAction,
  2803. /* [string][out] */ LPWSTR *ppszProvider,
  2804. /* [string][out] */ LPWSTR *ppszIconLocation);
  2805. END_INTERFACE
  2806. } IEnumAutoplayHandlerVtbl;
  2807. interface IEnumAutoplayHandler
  2808. {
  2809. CONST_VTBL struct IEnumAutoplayHandlerVtbl *lpVtbl;
  2810. };
  2811. #ifdef COBJMACROS
  2812. #define IEnumAutoplayHandler_QueryInterface(This,riid,ppvObject) \
  2813. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2814. #define IEnumAutoplayHandler_AddRef(This) \
  2815. (This)->lpVtbl -> AddRef(This)
  2816. #define IEnumAutoplayHandler_Release(This) \
  2817. (This)->lpVtbl -> Release(This)
  2818. #define IEnumAutoplayHandler_Next(This,ppszHandler,ppszAction,ppszProvider,ppszIconLocation) \
  2819. (This)->lpVtbl -> Next(This,ppszHandler,ppszAction,ppszProvider,ppszIconLocation)
  2820. #endif /* COBJMACROS */
  2821. #endif /* C style interface */
  2822. HRESULT STDMETHODCALLTYPE IEnumAutoplayHandler_Next_Proxy(
  2823. IEnumAutoplayHandler * This,
  2824. /* [string][out] */ LPWSTR *ppszHandler,
  2825. /* [string][out] */ LPWSTR *ppszAction,
  2826. /* [string][out] */ LPWSTR *ppszProvider,
  2827. /* [string][out] */ LPWSTR *ppszIconLocation);
  2828. void __RPC_STUB IEnumAutoplayHandler_Next_Stub(
  2829. IRpcStubBuffer *This,
  2830. IRpcChannelBuffer *_pRpcChannelBuffer,
  2831. PRPC_MESSAGE _pRpcMessage,
  2832. DWORD *_pdwStubPhase);
  2833. #endif /* __IEnumAutoplayHandler_INTERFACE_DEFINED__ */
  2834. /* interface __MIDL_itf_shpriv_0275 */
  2835. /* [local] */
  2836. #define HANDLERDEFAULT_USERCHOSENDEFAULT 0x00000002
  2837. #define HANDLERDEFAULT_EVENTHANDLERDEFAULT 0x00000004
  2838. #define HANDLERDEFAULT_MORERECENTHANDLERSINSTALLED 0x00000008
  2839. #define HANDLERDEFAULT_DEFAULTSAREDIFFERENT 0x00000010
  2840. #define HANDLERDEFAULT_MAKERETURNVALUE(a) MAKE_HRESULT(0, FACILITY_ITF, (a))
  2841. #define HANDLERDEFAULT_GETFLAGS(a) HRESULT_CODE((a))
  2842. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0275_v0_0_c_ifspec;
  2843. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0275_v0_0_s_ifspec;
  2844. #ifndef __IAutoplayHandler_INTERFACE_DEFINED__
  2845. #define __IAutoplayHandler_INTERFACE_DEFINED__
  2846. /* interface IAutoplayHandler */
  2847. /* [unique][helpstring][uuid][object] */
  2848. EXTERN_C const IID IID_IAutoplayHandler;
  2849. #if defined(__cplusplus) && !defined(CINTERFACE)
  2850. MIDL_INTERFACE("335E9E5D-37FC-4d73-8BA8-FD4E16B28134")
  2851. IAutoplayHandler : public IUnknown
  2852. {
  2853. public:
  2854. virtual HRESULT STDMETHODCALLTYPE Init(
  2855. /* [string][in] */ LPCWSTR pszDeviceID,
  2856. /* [string][in] */ LPCWSTR pszEventType) = 0;
  2857. virtual HRESULT STDMETHODCALLTYPE InitWithContent(
  2858. /* [string][in] */ LPCWSTR pszDeviceID,
  2859. /* [string][in] */ LPCWSTR pszEventType,
  2860. /* [string][in] */ LPCWSTR pszContentTypeHandler) = 0;
  2861. virtual HRESULT STDMETHODCALLTYPE EnumHandlers(
  2862. /* [out] */ IEnumAutoplayHandler **ppenum) = 0;
  2863. virtual HRESULT STDMETHODCALLTYPE GetDefaultHandler(
  2864. /* [string][out] */ LPWSTR *ppszHandler) = 0;
  2865. virtual HRESULT STDMETHODCALLTYPE SetDefaultHandler(
  2866. /* [string][in] */ LPCWSTR pszHandler) = 0;
  2867. };
  2868. #else /* C style interface */
  2869. typedef struct IAutoplayHandlerVtbl
  2870. {
  2871. BEGIN_INTERFACE
  2872. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2873. IAutoplayHandler * This,
  2874. /* [in] */ REFIID riid,
  2875. /* [iid_is][out] */ void **ppvObject);
  2876. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2877. IAutoplayHandler * This);
  2878. ULONG ( STDMETHODCALLTYPE *Release )(
  2879. IAutoplayHandler * This);
  2880. HRESULT ( STDMETHODCALLTYPE *Init )(
  2881. IAutoplayHandler * This,
  2882. /* [string][in] */ LPCWSTR pszDeviceID,
  2883. /* [string][in] */ LPCWSTR pszEventType);
  2884. HRESULT ( STDMETHODCALLTYPE *InitWithContent )(
  2885. IAutoplayHandler * This,
  2886. /* [string][in] */ LPCWSTR pszDeviceID,
  2887. /* [string][in] */ LPCWSTR pszEventType,
  2888. /* [string][in] */ LPCWSTR pszContentTypeHandler);
  2889. HRESULT ( STDMETHODCALLTYPE *EnumHandlers )(
  2890. IAutoplayHandler * This,
  2891. /* [out] */ IEnumAutoplayHandler **ppenum);
  2892. HRESULT ( STDMETHODCALLTYPE *GetDefaultHandler )(
  2893. IAutoplayHandler * This,
  2894. /* [string][out] */ LPWSTR *ppszHandler);
  2895. HRESULT ( STDMETHODCALLTYPE *SetDefaultHandler )(
  2896. IAutoplayHandler * This,
  2897. /* [string][in] */ LPCWSTR pszHandler);
  2898. END_INTERFACE
  2899. } IAutoplayHandlerVtbl;
  2900. interface IAutoplayHandler
  2901. {
  2902. CONST_VTBL struct IAutoplayHandlerVtbl *lpVtbl;
  2903. };
  2904. #ifdef COBJMACROS
  2905. #define IAutoplayHandler_QueryInterface(This,riid,ppvObject) \
  2906. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2907. #define IAutoplayHandler_AddRef(This) \
  2908. (This)->lpVtbl -> AddRef(This)
  2909. #define IAutoplayHandler_Release(This) \
  2910. (This)->lpVtbl -> Release(This)
  2911. #define IAutoplayHandler_Init(This,pszDeviceID,pszEventType) \
  2912. (This)->lpVtbl -> Init(This,pszDeviceID,pszEventType)
  2913. #define IAutoplayHandler_InitWithContent(This,pszDeviceID,pszEventType,pszContentTypeHandler) \
  2914. (This)->lpVtbl -> InitWithContent(This,pszDeviceID,pszEventType,pszContentTypeHandler)
  2915. #define IAutoplayHandler_EnumHandlers(This,ppenum) \
  2916. (This)->lpVtbl -> EnumHandlers(This,ppenum)
  2917. #define IAutoplayHandler_GetDefaultHandler(This,ppszHandler) \
  2918. (This)->lpVtbl -> GetDefaultHandler(This,ppszHandler)
  2919. #define IAutoplayHandler_SetDefaultHandler(This,pszHandler) \
  2920. (This)->lpVtbl -> SetDefaultHandler(This,pszHandler)
  2921. #endif /* COBJMACROS */
  2922. #endif /* C style interface */
  2923. HRESULT STDMETHODCALLTYPE IAutoplayHandler_Init_Proxy(
  2924. IAutoplayHandler * This,
  2925. /* [string][in] */ LPCWSTR pszDeviceID,
  2926. /* [string][in] */ LPCWSTR pszEventType);
  2927. void __RPC_STUB IAutoplayHandler_Init_Stub(
  2928. IRpcStubBuffer *This,
  2929. IRpcChannelBuffer *_pRpcChannelBuffer,
  2930. PRPC_MESSAGE _pRpcMessage,
  2931. DWORD *_pdwStubPhase);
  2932. HRESULT STDMETHODCALLTYPE IAutoplayHandler_InitWithContent_Proxy(
  2933. IAutoplayHandler * This,
  2934. /* [string][in] */ LPCWSTR pszDeviceID,
  2935. /* [string][in] */ LPCWSTR pszEventType,
  2936. /* [string][in] */ LPCWSTR pszContentTypeHandler);
  2937. void __RPC_STUB IAutoplayHandler_InitWithContent_Stub(
  2938. IRpcStubBuffer *This,
  2939. IRpcChannelBuffer *_pRpcChannelBuffer,
  2940. PRPC_MESSAGE _pRpcMessage,
  2941. DWORD *_pdwStubPhase);
  2942. HRESULT STDMETHODCALLTYPE IAutoplayHandler_EnumHandlers_Proxy(
  2943. IAutoplayHandler * This,
  2944. /* [out] */ IEnumAutoplayHandler **ppenum);
  2945. void __RPC_STUB IAutoplayHandler_EnumHandlers_Stub(
  2946. IRpcStubBuffer *This,
  2947. IRpcChannelBuffer *_pRpcChannelBuffer,
  2948. PRPC_MESSAGE _pRpcMessage,
  2949. DWORD *_pdwStubPhase);
  2950. HRESULT STDMETHODCALLTYPE IAutoplayHandler_GetDefaultHandler_Proxy(
  2951. IAutoplayHandler * This,
  2952. /* [string][out] */ LPWSTR *ppszHandler);
  2953. void __RPC_STUB IAutoplayHandler_GetDefaultHandler_Stub(
  2954. IRpcStubBuffer *This,
  2955. IRpcChannelBuffer *_pRpcChannelBuffer,
  2956. PRPC_MESSAGE _pRpcMessage,
  2957. DWORD *_pdwStubPhase);
  2958. HRESULT STDMETHODCALLTYPE IAutoplayHandler_SetDefaultHandler_Proxy(
  2959. IAutoplayHandler * This,
  2960. /* [string][in] */ LPCWSTR pszHandler);
  2961. void __RPC_STUB IAutoplayHandler_SetDefaultHandler_Stub(
  2962. IRpcStubBuffer *This,
  2963. IRpcChannelBuffer *_pRpcChannelBuffer,
  2964. PRPC_MESSAGE _pRpcMessage,
  2965. DWORD *_pdwStubPhase);
  2966. #endif /* __IAutoplayHandler_INTERFACE_DEFINED__ */
  2967. #ifndef __IAutoplayHandlerProperties_INTERFACE_DEFINED__
  2968. #define __IAutoplayHandlerProperties_INTERFACE_DEFINED__
  2969. /* interface IAutoplayHandlerProperties */
  2970. /* [unique][helpstring][uuid][object] */
  2971. EXTERN_C const IID IID_IAutoplayHandlerProperties;
  2972. #if defined(__cplusplus) && !defined(CINTERFACE)
  2973. MIDL_INTERFACE("557730F6-41FA-4d11-B9FD-F88AB155347F")
  2974. IAutoplayHandlerProperties : public IUnknown
  2975. {
  2976. public:
  2977. virtual HRESULT STDMETHODCALLTYPE Init(
  2978. /* [string][in] */ LPCWSTR pszHandler) = 0;
  2979. virtual HRESULT STDMETHODCALLTYPE GetInvokeProgIDAndVerb(
  2980. /* [string][out] */ LPWSTR *ppszInvokeProgID,
  2981. /* [string][out] */ LPWSTR *ppszInvokeVerb) = 0;
  2982. };
  2983. #else /* C style interface */
  2984. typedef struct IAutoplayHandlerPropertiesVtbl
  2985. {
  2986. BEGIN_INTERFACE
  2987. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2988. IAutoplayHandlerProperties * This,
  2989. /* [in] */ REFIID riid,
  2990. /* [iid_is][out] */ void **ppvObject);
  2991. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2992. IAutoplayHandlerProperties * This);
  2993. ULONG ( STDMETHODCALLTYPE *Release )(
  2994. IAutoplayHandlerProperties * This);
  2995. HRESULT ( STDMETHODCALLTYPE *Init )(
  2996. IAutoplayHandlerProperties * This,
  2997. /* [string][in] */ LPCWSTR pszHandler);
  2998. HRESULT ( STDMETHODCALLTYPE *GetInvokeProgIDAndVerb )(
  2999. IAutoplayHandlerProperties * This,
  3000. /* [string][out] */ LPWSTR *ppszInvokeProgID,
  3001. /* [string][out] */ LPWSTR *ppszInvokeVerb);
  3002. END_INTERFACE
  3003. } IAutoplayHandlerPropertiesVtbl;
  3004. interface IAutoplayHandlerProperties
  3005. {
  3006. CONST_VTBL struct IAutoplayHandlerPropertiesVtbl *lpVtbl;
  3007. };
  3008. #ifdef COBJMACROS
  3009. #define IAutoplayHandlerProperties_QueryInterface(This,riid,ppvObject) \
  3010. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3011. #define IAutoplayHandlerProperties_AddRef(This) \
  3012. (This)->lpVtbl -> AddRef(This)
  3013. #define IAutoplayHandlerProperties_Release(This) \
  3014. (This)->lpVtbl -> Release(This)
  3015. #define IAutoplayHandlerProperties_Init(This,pszHandler) \
  3016. (This)->lpVtbl -> Init(This,pszHandler)
  3017. #define IAutoplayHandlerProperties_GetInvokeProgIDAndVerb(This,ppszInvokeProgID,ppszInvokeVerb) \
  3018. (This)->lpVtbl -> GetInvokeProgIDAndVerb(This,ppszInvokeProgID,ppszInvokeVerb)
  3019. #endif /* COBJMACROS */
  3020. #endif /* C style interface */
  3021. HRESULT STDMETHODCALLTYPE IAutoplayHandlerProperties_Init_Proxy(
  3022. IAutoplayHandlerProperties * This,
  3023. /* [string][in] */ LPCWSTR pszHandler);
  3024. void __RPC_STUB IAutoplayHandlerProperties_Init_Stub(
  3025. IRpcStubBuffer *This,
  3026. IRpcChannelBuffer *_pRpcChannelBuffer,
  3027. PRPC_MESSAGE _pRpcMessage,
  3028. DWORD *_pdwStubPhase);
  3029. HRESULT STDMETHODCALLTYPE IAutoplayHandlerProperties_GetInvokeProgIDAndVerb_Proxy(
  3030. IAutoplayHandlerProperties * This,
  3031. /* [string][out] */ LPWSTR *ppszInvokeProgID,
  3032. /* [string][out] */ LPWSTR *ppszInvokeVerb);
  3033. void __RPC_STUB IAutoplayHandlerProperties_GetInvokeProgIDAndVerb_Stub(
  3034. IRpcStubBuffer *This,
  3035. IRpcChannelBuffer *_pRpcChannelBuffer,
  3036. PRPC_MESSAGE _pRpcMessage,
  3037. DWORD *_pdwStubPhase);
  3038. #endif /* __IAutoplayHandlerProperties_INTERFACE_DEFINED__ */
  3039. /* interface __MIDL_itf_shpriv_0277 */
  3040. /* [local] */
  3041. #include <pshpack8.h>
  3042. typedef struct tagVOLUMEINFO
  3043. {
  3044. DWORD dwState;
  3045. LPWSTR pszDeviceIDVolume;
  3046. LPWSTR pszVolumeGUID;
  3047. DWORD dwVolumeFlags;
  3048. DWORD dwDriveType;
  3049. DWORD dwDriveCapability;
  3050. LPWSTR pszLabel;
  3051. LPWSTR pszFileSystem;
  3052. DWORD dwFileSystemFlags;
  3053. DWORD dwMaxFileNameLen;
  3054. DWORD dwRootAttributes;
  3055. DWORD dwSerialNumber;
  3056. DWORD dwDriveState;
  3057. DWORD dwMediaState;
  3058. DWORD dwMediaCap;
  3059. LPWSTR pszAutorunIconLocation;
  3060. LPWSTR pszAutorunLabel;
  3061. LPWSTR pszIconLocationFromService;
  3062. LPWSTR pszNoMediaIconLocationFromService;
  3063. LPWSTR pszLabelFromService;
  3064. } VOLUMEINFO;
  3065. typedef struct tagVOLUMEINFO2
  3066. {
  3067. DWORD cbSize;
  3068. WCHAR szDeviceIDVolume[ 200 ];
  3069. WCHAR szVolumeGUID[ 50 ];
  3070. WCHAR szLabel[ 33 ];
  3071. WCHAR szFileSystem[ 30 ];
  3072. DWORD dwState;
  3073. DWORD dwVolumeFlags;
  3074. DWORD dwDriveType;
  3075. DWORD dwDriveCapability;
  3076. DWORD dwFileSystemFlags;
  3077. DWORD dwMaxFileNameLen;
  3078. DWORD dwRootAttributes;
  3079. DWORD dwSerialNumber;
  3080. DWORD dwDriveState;
  3081. DWORD dwMediaState;
  3082. DWORD dwMediaCap;
  3083. DWORD oAutorunIconLocation;
  3084. DWORD oAutorunLabel;
  3085. DWORD oIconLocationFromService;
  3086. DWORD oNoMediaIconLocationFromService;
  3087. DWORD oLabelFromService;
  3088. WCHAR szOptionalStrings[ 1 ];
  3089. } VOLUMEINFO2;
  3090. typedef struct tagHWDEVICEINFO
  3091. {
  3092. DWORD cbSize;
  3093. WCHAR szDeviceIntfID[ 200 ];
  3094. GUID guidInterface;
  3095. DWORD dwState;
  3096. DWORD dwDeviceFlags;
  3097. } HWDEVICEINFO;
  3098. #define SHHARDWAREEVENT_VOLUMEARRIVED 0x00000001
  3099. #define SHHARDWAREEVENT_VOLUMEUPDATED 0x00000002
  3100. #define SHHARDWAREEVENT_VOLUMEREMOVED 0x00000004
  3101. #define SHHARDWAREEVENT_MOUNTPOINTARRIVED 0x00000008
  3102. #define SHHARDWAREEVENT_MOUNTPOINTREMOVED 0x00000010
  3103. #define SHHARDWAREEVENT_DEVICEARRIVED 0x00000020
  3104. #define SHHARDWAREEVENT_DEVICEUPDATED 0x00000040
  3105. #define SHHARDWAREEVENT_DEVICEREMOVED 0x00000080
  3106. #define SHHARDWAREEVENT_VOLUMEMOUNTED 0x00000100
  3107. #define SHHARDWAREEVENT_VOLUMEDISMOUNTED 0x00000200
  3108. #define SHHARDWAREEVENT_MOUNTDEVICEARRIVED 0x00000020 // is really DEVICEARRIVED
  3109. #define SHHARDWAREEVENT_MOUNTDEVICEUPDATED 0x00000040 // is really DEVICEUPDATED
  3110. #define SHHARDWAREEVENT_MOUNTDEVICEREMOVED 0x00000080 // is really DEVICEREMOVED
  3111. #define MAX_FILESYSNAME 30
  3112. #define MAX_LABEL_NTFS 32 // not including the NULL
  3113. #define MAX_LABEL MAX_LABEL_NTFS + 1
  3114. #define MAX_ICONLOCATION MAX_PATH + 12 // + 12 for comma and index
  3115. #define MAX_VOLUMEINFO2 (sizeof(VOLUMEINFO2) + (4 * MAX_ICONLOCATION + 1 * MAX_LABEL) * sizeof(WCHAR))
  3116. typedef struct tagSHHARDWAREEVENT
  3117. {
  3118. DWORD cbSize;
  3119. DWORD dwEvent;
  3120. BYTE rgbPayLoad[ 1 ];
  3121. } SHHARDWAREEVENT;
  3122. typedef struct tagMTPTADDED
  3123. {
  3124. WCHAR szMountPoint[ 260 ];
  3125. WCHAR szDeviceIDVolume[ 200 ];
  3126. } MTPTADDED;
  3127. #include <poppack.h>
  3128. #define HWDMS_PRESENT 0x10000000
  3129. #define HWDMS_FORMATTED 0x20000000
  3130. #define HWDMC_WRITECAPABILITY_SUPPORTDETECTION 0x00000001
  3131. #define HWDMC_CDROM 0x00000002
  3132. #define HWDMC_CDRECORDABLE 0x00000004
  3133. #define HWDMC_CDREWRITABLE 0x00000008
  3134. #define HWDMC_DVDROM 0x00000010
  3135. #define HWDMC_DVDRECORDABLE 0x00000020
  3136. #define HWDMC_DVDREWRITABLE 0x00000040
  3137. #define HWDMC_DVDRAM 0x00000080
  3138. #define HWDMC_ANALOGAUDIOOUT 0x00000100
  3139. #define HWDMC_RANDOMWRITE 0x00001000
  3140. #define HWDMC_HASAUTORUNINF 0x00002000
  3141. #define HWDMC_HASAUTORUNCOMMAND 0x00004000
  3142. #define HWDMC_HASDESKTOPINI 0x00008000
  3143. #define HWDMC_HASDVDMOVIE 0x00010000
  3144. #define HWDMC_HASAUDIOTRACKS 0x00020000
  3145. #define HWDMC_HASDATATRACKS 0x00040000
  3146. #define HWDMC_HASAUDIOTRACKS_UNDETERMINED 0x00080000
  3147. #define HWDMC_HASDATATRACKS_UNDETERMINED 0x00100000
  3148. #define HWDMC_HASUSEAUTOPLAY 0x00200000
  3149. #define HWDMC_CDTYPEMASK (HWDMC_CDROM | HWDMC_CDRECORDABLE | HWDMC_CDREWRITABLE | HWDMC_DVDROM | HWDMC_DVDRECORDABLE | HWDMC_DVDREWRITABLE | HWDMC_DVDRAM)
  3150. #define HWDDC_CAPABILITY_SUPPORTDETECTION HWDMC_WRITECAPABILITY_SUPPORTDETECTION
  3151. #define HWDDC_CDROM HWDMC_CDROM
  3152. #define HWDDC_CDRECORDABLE HWDMC_CDRECORDABLE
  3153. #define HWDDC_CDREWRITABLE HWDMC_CDREWRITABLE
  3154. #define HWDDC_DVDROM HWDMC_DVDROM
  3155. #define HWDDC_DVDRECORDABLE HWDMC_DVDRECORDABLE
  3156. #define HWDDC_DVDREWRITABLE HWDMC_DVDREWRITABLE
  3157. #define HWDDC_DVDRAM HWDMC_DVDRAM
  3158. #define HWDDC_ANALOGAUDIOOUT HWDMC_ANALOGAUDIOOUT
  3159. #define HWDDC_RANDOMWRITE HWDMC_RANDOMWRITE
  3160. #define HWDDC_NOSOFTEJECT 0x00002000
  3161. #define HWDDC_FLOPPYSOFTEJECT 0x00004000
  3162. #define HWDDC_REMOVABLEDEVICE 0x00008000
  3163. #define HWDDC_CDTYPEMASK HWDMC_CDTYPEMASK
  3164. #define HWDVF_STATE_SUPPORTNOTIFICATION 0x00000001
  3165. #define HWDVF_STATE_ACCESSDENIED 0x00000002
  3166. #define HWDVF_STATE_DISMOUNTED 0x00000004
  3167. #define HWDVF_STATE_HASAUTOPLAYHANDLER 0x00000008
  3168. #define HWDVF_STATE_DONOTSNIFFCONTENT 0x00000010
  3169. #define HWDVF_STATE_JUSTDOCKED 0x00000020
  3170. #define HWDTS_FLOPPY35 0x00000001
  3171. #define HWDTS_FLOPPY525 0x00000002
  3172. #define HWDTS_REMOVABLEDISK 0x00000004
  3173. #define HWDTS_FIXEDDISK 0x00000008
  3174. #define HWDTS_CDROM 0x00000010
  3175. #define HWDDF_HASDEVICEHANDLER 0x00000001
  3176. #define HWDDF_HASDEVICEHANDLER_UNDETERMINED 0x00000002
  3177. #define HWDDF_REMOVABLEDEVICE 0x00000004
  3178. #define HWDDF_REMOVABLEDEVICE_UNDETERMINED 0x00000008
  3179. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0277_v0_0_c_ifspec;
  3180. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0277_v0_0_s_ifspec;
  3181. #ifndef __IHardwareDeviceCallback_INTERFACE_DEFINED__
  3182. #define __IHardwareDeviceCallback_INTERFACE_DEFINED__
  3183. /* interface IHardwareDeviceCallback */
  3184. /* [unique][helpstring][uuid][object] */
  3185. EXTERN_C const IID IID_IHardwareDeviceCallback;
  3186. #if defined(__cplusplus) && !defined(CINTERFACE)
  3187. MIDL_INTERFACE("99B732C2-9B7B-4145-83A4-C45DF791FD99")
  3188. IHardwareDeviceCallback : public IUnknown
  3189. {
  3190. public:
  3191. virtual HRESULT STDMETHODCALLTYPE VolumeAddedOrUpdated(
  3192. /* [in] */ BOOL fAdded,
  3193. /* [in] */ VOLUMEINFO *pvolinfo) = 0;
  3194. virtual HRESULT STDMETHODCALLTYPE VolumeRemoved(
  3195. /* [string][in] */ LPCWSTR pszDeviceIDVolume) = 0;
  3196. virtual HRESULT STDMETHODCALLTYPE MountPointAdded(
  3197. /* [string][in] */ LPCWSTR pszMountPoint,
  3198. /* [string][in] */ LPCWSTR pszDeviceIDVolume) = 0;
  3199. virtual HRESULT STDMETHODCALLTYPE MountPointRemoved(
  3200. /* [string][in] */ LPCWSTR pszMountPoint) = 0;
  3201. virtual HRESULT STDMETHODCALLTYPE DeviceAdded(
  3202. /* [string][in] */ LPCWSTR pszDeviceID,
  3203. /* [in] */ GUID guidDeviceID) = 0;
  3204. virtual HRESULT STDMETHODCALLTYPE DeviceUpdated(
  3205. /* [string][in] */ LPCWSTR pszDeviceID) = 0;
  3206. virtual HRESULT STDMETHODCALLTYPE DeviceRemoved(
  3207. /* [string][in] */ LPCWSTR pszDeviceID) = 0;
  3208. };
  3209. #else /* C style interface */
  3210. typedef struct IHardwareDeviceCallbackVtbl
  3211. {
  3212. BEGIN_INTERFACE
  3213. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3214. IHardwareDeviceCallback * This,
  3215. /* [in] */ REFIID riid,
  3216. /* [iid_is][out] */ void **ppvObject);
  3217. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3218. IHardwareDeviceCallback * This);
  3219. ULONG ( STDMETHODCALLTYPE *Release )(
  3220. IHardwareDeviceCallback * This);
  3221. HRESULT ( STDMETHODCALLTYPE *VolumeAddedOrUpdated )(
  3222. IHardwareDeviceCallback * This,
  3223. /* [in] */ BOOL fAdded,
  3224. /* [in] */ VOLUMEINFO *pvolinfo);
  3225. HRESULT ( STDMETHODCALLTYPE *VolumeRemoved )(
  3226. IHardwareDeviceCallback * This,
  3227. /* [string][in] */ LPCWSTR pszDeviceIDVolume);
  3228. HRESULT ( STDMETHODCALLTYPE *MountPointAdded )(
  3229. IHardwareDeviceCallback * This,
  3230. /* [string][in] */ LPCWSTR pszMountPoint,
  3231. /* [string][in] */ LPCWSTR pszDeviceIDVolume);
  3232. HRESULT ( STDMETHODCALLTYPE *MountPointRemoved )(
  3233. IHardwareDeviceCallback * This,
  3234. /* [string][in] */ LPCWSTR pszMountPoint);
  3235. HRESULT ( STDMETHODCALLTYPE *DeviceAdded )(
  3236. IHardwareDeviceCallback * This,
  3237. /* [string][in] */ LPCWSTR pszDeviceID,
  3238. /* [in] */ GUID guidDeviceID);
  3239. HRESULT ( STDMETHODCALLTYPE *DeviceUpdated )(
  3240. IHardwareDeviceCallback * This,
  3241. /* [string][in] */ LPCWSTR pszDeviceID);
  3242. HRESULT ( STDMETHODCALLTYPE *DeviceRemoved )(
  3243. IHardwareDeviceCallback * This,
  3244. /* [string][in] */ LPCWSTR pszDeviceID);
  3245. END_INTERFACE
  3246. } IHardwareDeviceCallbackVtbl;
  3247. interface IHardwareDeviceCallback
  3248. {
  3249. CONST_VTBL struct IHardwareDeviceCallbackVtbl *lpVtbl;
  3250. };
  3251. #ifdef COBJMACROS
  3252. #define IHardwareDeviceCallback_QueryInterface(This,riid,ppvObject) \
  3253. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3254. #define IHardwareDeviceCallback_AddRef(This) \
  3255. (This)->lpVtbl -> AddRef(This)
  3256. #define IHardwareDeviceCallback_Release(This) \
  3257. (This)->lpVtbl -> Release(This)
  3258. #define IHardwareDeviceCallback_VolumeAddedOrUpdated(This,fAdded,pvolinfo) \
  3259. (This)->lpVtbl -> VolumeAddedOrUpdated(This,fAdded,pvolinfo)
  3260. #define IHardwareDeviceCallback_VolumeRemoved(This,pszDeviceIDVolume) \
  3261. (This)->lpVtbl -> VolumeRemoved(This,pszDeviceIDVolume)
  3262. #define IHardwareDeviceCallback_MountPointAdded(This,pszMountPoint,pszDeviceIDVolume) \
  3263. (This)->lpVtbl -> MountPointAdded(This,pszMountPoint,pszDeviceIDVolume)
  3264. #define IHardwareDeviceCallback_MountPointRemoved(This,pszMountPoint) \
  3265. (This)->lpVtbl -> MountPointRemoved(This,pszMountPoint)
  3266. #define IHardwareDeviceCallback_DeviceAdded(This,pszDeviceID,guidDeviceID) \
  3267. (This)->lpVtbl -> DeviceAdded(This,pszDeviceID,guidDeviceID)
  3268. #define IHardwareDeviceCallback_DeviceUpdated(This,pszDeviceID) \
  3269. (This)->lpVtbl -> DeviceUpdated(This,pszDeviceID)
  3270. #define IHardwareDeviceCallback_DeviceRemoved(This,pszDeviceID) \
  3271. (This)->lpVtbl -> DeviceRemoved(This,pszDeviceID)
  3272. #endif /* COBJMACROS */
  3273. #endif /* C style interface */
  3274. HRESULT STDMETHODCALLTYPE IHardwareDeviceCallback_VolumeAddedOrUpdated_Proxy(
  3275. IHardwareDeviceCallback * This,
  3276. /* [in] */ BOOL fAdded,
  3277. /* [in] */ VOLUMEINFO *pvolinfo);
  3278. void __RPC_STUB IHardwareDeviceCallback_VolumeAddedOrUpdated_Stub(
  3279. IRpcStubBuffer *This,
  3280. IRpcChannelBuffer *_pRpcChannelBuffer,
  3281. PRPC_MESSAGE _pRpcMessage,
  3282. DWORD *_pdwStubPhase);
  3283. HRESULT STDMETHODCALLTYPE IHardwareDeviceCallback_VolumeRemoved_Proxy(
  3284. IHardwareDeviceCallback * This,
  3285. /* [string][in] */ LPCWSTR pszDeviceIDVolume);
  3286. void __RPC_STUB IHardwareDeviceCallback_VolumeRemoved_Stub(
  3287. IRpcStubBuffer *This,
  3288. IRpcChannelBuffer *_pRpcChannelBuffer,
  3289. PRPC_MESSAGE _pRpcMessage,
  3290. DWORD *_pdwStubPhase);
  3291. HRESULT STDMETHODCALLTYPE IHardwareDeviceCallback_MountPointAdded_Proxy(
  3292. IHardwareDeviceCallback * This,
  3293. /* [string][in] */ LPCWSTR pszMountPoint,
  3294. /* [string][in] */ LPCWSTR pszDeviceIDVolume);
  3295. void __RPC_STUB IHardwareDeviceCallback_MountPointAdded_Stub(
  3296. IRpcStubBuffer *This,
  3297. IRpcChannelBuffer *_pRpcChannelBuffer,
  3298. PRPC_MESSAGE _pRpcMessage,
  3299. DWORD *_pdwStubPhase);
  3300. HRESULT STDMETHODCALLTYPE IHardwareDeviceCallback_MountPointRemoved_Proxy(
  3301. IHardwareDeviceCallback * This,
  3302. /* [string][in] */ LPCWSTR pszMountPoint);
  3303. void __RPC_STUB IHardwareDeviceCallback_MountPointRemoved_Stub(
  3304. IRpcStubBuffer *This,
  3305. IRpcChannelBuffer *_pRpcChannelBuffer,
  3306. PRPC_MESSAGE _pRpcMessage,
  3307. DWORD *_pdwStubPhase);
  3308. HRESULT STDMETHODCALLTYPE IHardwareDeviceCallback_DeviceAdded_Proxy(
  3309. IHardwareDeviceCallback * This,
  3310. /* [string][in] */ LPCWSTR pszDeviceID,
  3311. /* [in] */ GUID guidDeviceID);
  3312. void __RPC_STUB IHardwareDeviceCallback_DeviceAdded_Stub(
  3313. IRpcStubBuffer *This,
  3314. IRpcChannelBuffer *_pRpcChannelBuffer,
  3315. PRPC_MESSAGE _pRpcMessage,
  3316. DWORD *_pdwStubPhase);
  3317. HRESULT STDMETHODCALLTYPE IHardwareDeviceCallback_DeviceUpdated_Proxy(
  3318. IHardwareDeviceCallback * This,
  3319. /* [string][in] */ LPCWSTR pszDeviceID);
  3320. void __RPC_STUB IHardwareDeviceCallback_DeviceUpdated_Stub(
  3321. IRpcStubBuffer *This,
  3322. IRpcChannelBuffer *_pRpcChannelBuffer,
  3323. PRPC_MESSAGE _pRpcMessage,
  3324. DWORD *_pdwStubPhase);
  3325. HRESULT STDMETHODCALLTYPE IHardwareDeviceCallback_DeviceRemoved_Proxy(
  3326. IHardwareDeviceCallback * This,
  3327. /* [string][in] */ LPCWSTR pszDeviceID);
  3328. void __RPC_STUB IHardwareDeviceCallback_DeviceRemoved_Stub(
  3329. IRpcStubBuffer *This,
  3330. IRpcChannelBuffer *_pRpcChannelBuffer,
  3331. PRPC_MESSAGE _pRpcMessage,
  3332. DWORD *_pdwStubPhase);
  3333. #endif /* __IHardwareDeviceCallback_INTERFACE_DEFINED__ */
  3334. #ifndef __IHardwareDevicesEnum_INTERFACE_DEFINED__
  3335. #define __IHardwareDevicesEnum_INTERFACE_DEFINED__
  3336. /* interface IHardwareDevicesEnum */
  3337. /* [unique][helpstring][uuid][object] */
  3338. EXTERN_C const IID IID_IHardwareDevicesEnum;
  3339. #if defined(__cplusplus) && !defined(CINTERFACE)
  3340. MIDL_INTERFACE("553A4A55-681C-440e-B109-597B9219CFB2")
  3341. IHardwareDevicesEnum : public IUnknown
  3342. {
  3343. public:
  3344. virtual HRESULT STDMETHODCALLTYPE Next(
  3345. /* [string][out] */ LPWSTR *ppszDeviceID,
  3346. /* [out] */ GUID *pguidDeviceID) = 0;
  3347. };
  3348. #else /* C style interface */
  3349. typedef struct IHardwareDevicesEnumVtbl
  3350. {
  3351. BEGIN_INTERFACE
  3352. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3353. IHardwareDevicesEnum * This,
  3354. /* [in] */ REFIID riid,
  3355. /* [iid_is][out] */ void **ppvObject);
  3356. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3357. IHardwareDevicesEnum * This);
  3358. ULONG ( STDMETHODCALLTYPE *Release )(
  3359. IHardwareDevicesEnum * This);
  3360. HRESULT ( STDMETHODCALLTYPE *Next )(
  3361. IHardwareDevicesEnum * This,
  3362. /* [string][out] */ LPWSTR *ppszDeviceID,
  3363. /* [out] */ GUID *pguidDeviceID);
  3364. END_INTERFACE
  3365. } IHardwareDevicesEnumVtbl;
  3366. interface IHardwareDevicesEnum
  3367. {
  3368. CONST_VTBL struct IHardwareDevicesEnumVtbl *lpVtbl;
  3369. };
  3370. #ifdef COBJMACROS
  3371. #define IHardwareDevicesEnum_QueryInterface(This,riid,ppvObject) \
  3372. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3373. #define IHardwareDevicesEnum_AddRef(This) \
  3374. (This)->lpVtbl -> AddRef(This)
  3375. #define IHardwareDevicesEnum_Release(This) \
  3376. (This)->lpVtbl -> Release(This)
  3377. #define IHardwareDevicesEnum_Next(This,ppszDeviceID,pguidDeviceID) \
  3378. (This)->lpVtbl -> Next(This,ppszDeviceID,pguidDeviceID)
  3379. #endif /* COBJMACROS */
  3380. #endif /* C style interface */
  3381. HRESULT STDMETHODCALLTYPE IHardwareDevicesEnum_Next_Proxy(
  3382. IHardwareDevicesEnum * This,
  3383. /* [string][out] */ LPWSTR *ppszDeviceID,
  3384. /* [out] */ GUID *pguidDeviceID);
  3385. void __RPC_STUB IHardwareDevicesEnum_Next_Stub(
  3386. IRpcStubBuffer *This,
  3387. IRpcChannelBuffer *_pRpcChannelBuffer,
  3388. PRPC_MESSAGE _pRpcMessage,
  3389. DWORD *_pdwStubPhase);
  3390. #endif /* __IHardwareDevicesEnum_INTERFACE_DEFINED__ */
  3391. #ifndef __IHardwareDevicesVolumesEnum_INTERFACE_DEFINED__
  3392. #define __IHardwareDevicesVolumesEnum_INTERFACE_DEFINED__
  3393. /* interface IHardwareDevicesVolumesEnum */
  3394. /* [unique][helpstring][uuid][object] */
  3395. EXTERN_C const IID IID_IHardwareDevicesVolumesEnum;
  3396. #if defined(__cplusplus) && !defined(CINTERFACE)
  3397. MIDL_INTERFACE("3342BDE1-50AF-4c5d-9A19-DABD01848DAE")
  3398. IHardwareDevicesVolumesEnum : public IUnknown
  3399. {
  3400. public:
  3401. virtual HRESULT STDMETHODCALLTYPE Next(
  3402. /* [out] */ VOLUMEINFO *pvolinfo) = 0;
  3403. };
  3404. #else /* C style interface */
  3405. typedef struct IHardwareDevicesVolumesEnumVtbl
  3406. {
  3407. BEGIN_INTERFACE
  3408. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3409. IHardwareDevicesVolumesEnum * This,
  3410. /* [in] */ REFIID riid,
  3411. /* [iid_is][out] */ void **ppvObject);
  3412. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3413. IHardwareDevicesVolumesEnum * This);
  3414. ULONG ( STDMETHODCALLTYPE *Release )(
  3415. IHardwareDevicesVolumesEnum * This);
  3416. HRESULT ( STDMETHODCALLTYPE *Next )(
  3417. IHardwareDevicesVolumesEnum * This,
  3418. /* [out] */ VOLUMEINFO *pvolinfo);
  3419. END_INTERFACE
  3420. } IHardwareDevicesVolumesEnumVtbl;
  3421. interface IHardwareDevicesVolumesEnum
  3422. {
  3423. CONST_VTBL struct IHardwareDevicesVolumesEnumVtbl *lpVtbl;
  3424. };
  3425. #ifdef COBJMACROS
  3426. #define IHardwareDevicesVolumesEnum_QueryInterface(This,riid,ppvObject) \
  3427. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3428. #define IHardwareDevicesVolumesEnum_AddRef(This) \
  3429. (This)->lpVtbl -> AddRef(This)
  3430. #define IHardwareDevicesVolumesEnum_Release(This) \
  3431. (This)->lpVtbl -> Release(This)
  3432. #define IHardwareDevicesVolumesEnum_Next(This,pvolinfo) \
  3433. (This)->lpVtbl -> Next(This,pvolinfo)
  3434. #endif /* COBJMACROS */
  3435. #endif /* C style interface */
  3436. HRESULT STDMETHODCALLTYPE IHardwareDevicesVolumesEnum_Next_Proxy(
  3437. IHardwareDevicesVolumesEnum * This,
  3438. /* [out] */ VOLUMEINFO *pvolinfo);
  3439. void __RPC_STUB IHardwareDevicesVolumesEnum_Next_Stub(
  3440. IRpcStubBuffer *This,
  3441. IRpcChannelBuffer *_pRpcChannelBuffer,
  3442. PRPC_MESSAGE _pRpcMessage,
  3443. DWORD *_pdwStubPhase);
  3444. #endif /* __IHardwareDevicesVolumesEnum_INTERFACE_DEFINED__ */
  3445. #ifndef __IHardwareDevicesMountPointsEnum_INTERFACE_DEFINED__
  3446. #define __IHardwareDevicesMountPointsEnum_INTERFACE_DEFINED__
  3447. /* interface IHardwareDevicesMountPointsEnum */
  3448. /* [unique][helpstring][uuid][object] */
  3449. EXTERN_C const IID IID_IHardwareDevicesMountPointsEnum;
  3450. #if defined(__cplusplus) && !defined(CINTERFACE)
  3451. MIDL_INTERFACE("EE93D145-9B4E-480c-8385-1E8119A6F7B2")
  3452. IHardwareDevicesMountPointsEnum : public IUnknown
  3453. {
  3454. public:
  3455. virtual HRESULT STDMETHODCALLTYPE Next(
  3456. /* [string][out] */ LPWSTR *ppszMountPoint,
  3457. /* [string][out] */ LPWSTR *ppszDeviceIDVolume) = 0;
  3458. };
  3459. #else /* C style interface */
  3460. typedef struct IHardwareDevicesMountPointsEnumVtbl
  3461. {
  3462. BEGIN_INTERFACE
  3463. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3464. IHardwareDevicesMountPointsEnum * This,
  3465. /* [in] */ REFIID riid,
  3466. /* [iid_is][out] */ void **ppvObject);
  3467. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3468. IHardwareDevicesMountPointsEnum * This);
  3469. ULONG ( STDMETHODCALLTYPE *Release )(
  3470. IHardwareDevicesMountPointsEnum * This);
  3471. HRESULT ( STDMETHODCALLTYPE *Next )(
  3472. IHardwareDevicesMountPointsEnum * This,
  3473. /* [string][out] */ LPWSTR *ppszMountPoint,
  3474. /* [string][out] */ LPWSTR *ppszDeviceIDVolume);
  3475. END_INTERFACE
  3476. } IHardwareDevicesMountPointsEnumVtbl;
  3477. interface IHardwareDevicesMountPointsEnum
  3478. {
  3479. CONST_VTBL struct IHardwareDevicesMountPointsEnumVtbl *lpVtbl;
  3480. };
  3481. #ifdef COBJMACROS
  3482. #define IHardwareDevicesMountPointsEnum_QueryInterface(This,riid,ppvObject) \
  3483. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3484. #define IHardwareDevicesMountPointsEnum_AddRef(This) \
  3485. (This)->lpVtbl -> AddRef(This)
  3486. #define IHardwareDevicesMountPointsEnum_Release(This) \
  3487. (This)->lpVtbl -> Release(This)
  3488. #define IHardwareDevicesMountPointsEnum_Next(This,ppszMountPoint,ppszDeviceIDVolume) \
  3489. (This)->lpVtbl -> Next(This,ppszMountPoint,ppszDeviceIDVolume)
  3490. #endif /* COBJMACROS */
  3491. #endif /* C style interface */
  3492. HRESULT STDMETHODCALLTYPE IHardwareDevicesMountPointsEnum_Next_Proxy(
  3493. IHardwareDevicesMountPointsEnum * This,
  3494. /* [string][out] */ LPWSTR *ppszMountPoint,
  3495. /* [string][out] */ LPWSTR *ppszDeviceIDVolume);
  3496. void __RPC_STUB IHardwareDevicesMountPointsEnum_Next_Stub(
  3497. IRpcStubBuffer *This,
  3498. IRpcChannelBuffer *_pRpcChannelBuffer,
  3499. PRPC_MESSAGE _pRpcMessage,
  3500. DWORD *_pdwStubPhase);
  3501. #endif /* __IHardwareDevicesMountPointsEnum_INTERFACE_DEFINED__ */
  3502. /* interface __MIDL_itf_shpriv_0281 */
  3503. /* [local] */
  3504. #define HWDEV_GETCUSTOMPROPERTIES 0x000000001
  3505. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0281_v0_0_c_ifspec;
  3506. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0281_v0_0_s_ifspec;
  3507. #ifndef __IHardwareDevices_INTERFACE_DEFINED__
  3508. #define __IHardwareDevices_INTERFACE_DEFINED__
  3509. /* interface IHardwareDevices */
  3510. /* [unique][helpstring][uuid][object] */
  3511. EXTERN_C const IID IID_IHardwareDevices;
  3512. #if defined(__cplusplus) && !defined(CINTERFACE)
  3513. MIDL_INTERFACE("CC271F08-E1DD-49bf-87CC-CD6DCF3F3D9F")
  3514. IHardwareDevices : public IUnknown
  3515. {
  3516. public:
  3517. virtual HRESULT STDMETHODCALLTYPE EnumVolumes(
  3518. /* [in] */ DWORD dwFlags,
  3519. /* [out] */ IHardwareDevicesVolumesEnum **ppenum) = 0;
  3520. virtual HRESULT STDMETHODCALLTYPE EnumMountPoints(
  3521. /* [out] */ IHardwareDevicesMountPointsEnum **ppenum) = 0;
  3522. virtual HRESULT STDMETHODCALLTYPE EnumDevices(
  3523. /* [out] */ IHardwareDevicesEnum **ppenum) = 0;
  3524. virtual HRESULT STDMETHODCALLTYPE Advise(
  3525. /* [in] */ DWORD dwProcessID,
  3526. /* [in] */ ULONG_PTR hThread,
  3527. /* [in] */ ULONG_PTR pfctCallback,
  3528. /* [out] */ DWORD *pdwToken) = 0;
  3529. virtual HRESULT STDMETHODCALLTYPE Unadvise(
  3530. /* [in] */ DWORD dwToken) = 0;
  3531. };
  3532. #else /* C style interface */
  3533. typedef struct IHardwareDevicesVtbl
  3534. {
  3535. BEGIN_INTERFACE
  3536. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3537. IHardwareDevices * This,
  3538. /* [in] */ REFIID riid,
  3539. /* [iid_is][out] */ void **ppvObject);
  3540. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3541. IHardwareDevices * This);
  3542. ULONG ( STDMETHODCALLTYPE *Release )(
  3543. IHardwareDevices * This);
  3544. HRESULT ( STDMETHODCALLTYPE *EnumVolumes )(
  3545. IHardwareDevices * This,
  3546. /* [in] */ DWORD dwFlags,
  3547. /* [out] */ IHardwareDevicesVolumesEnum **ppenum);
  3548. HRESULT ( STDMETHODCALLTYPE *EnumMountPoints )(
  3549. IHardwareDevices * This,
  3550. /* [out] */ IHardwareDevicesMountPointsEnum **ppenum);
  3551. HRESULT ( STDMETHODCALLTYPE *EnumDevices )(
  3552. IHardwareDevices * This,
  3553. /* [out] */ IHardwareDevicesEnum **ppenum);
  3554. HRESULT ( STDMETHODCALLTYPE *Advise )(
  3555. IHardwareDevices * This,
  3556. /* [in] */ DWORD dwProcessID,
  3557. /* [in] */ ULONG_PTR hThread,
  3558. /* [in] */ ULONG_PTR pfctCallback,
  3559. /* [out] */ DWORD *pdwToken);
  3560. HRESULT ( STDMETHODCALLTYPE *Unadvise )(
  3561. IHardwareDevices * This,
  3562. /* [in] */ DWORD dwToken);
  3563. END_INTERFACE
  3564. } IHardwareDevicesVtbl;
  3565. interface IHardwareDevices
  3566. {
  3567. CONST_VTBL struct IHardwareDevicesVtbl *lpVtbl;
  3568. };
  3569. #ifdef COBJMACROS
  3570. #define IHardwareDevices_QueryInterface(This,riid,ppvObject) \
  3571. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3572. #define IHardwareDevices_AddRef(This) \
  3573. (This)->lpVtbl -> AddRef(This)
  3574. #define IHardwareDevices_Release(This) \
  3575. (This)->lpVtbl -> Release(This)
  3576. #define IHardwareDevices_EnumVolumes(This,dwFlags,ppenum) \
  3577. (This)->lpVtbl -> EnumVolumes(This,dwFlags,ppenum)
  3578. #define IHardwareDevices_EnumMountPoints(This,ppenum) \
  3579. (This)->lpVtbl -> EnumMountPoints(This,ppenum)
  3580. #define IHardwareDevices_EnumDevices(This,ppenum) \
  3581. (This)->lpVtbl -> EnumDevices(This,ppenum)
  3582. #define IHardwareDevices_Advise(This,dwProcessID,hThread,pfctCallback,pdwToken) \
  3583. (This)->lpVtbl -> Advise(This,dwProcessID,hThread,pfctCallback,pdwToken)
  3584. #define IHardwareDevices_Unadvise(This,dwToken) \
  3585. (This)->lpVtbl -> Unadvise(This,dwToken)
  3586. #endif /* COBJMACROS */
  3587. #endif /* C style interface */
  3588. HRESULT STDMETHODCALLTYPE IHardwareDevices_EnumVolumes_Proxy(
  3589. IHardwareDevices * This,
  3590. /* [in] */ DWORD dwFlags,
  3591. /* [out] */ IHardwareDevicesVolumesEnum **ppenum);
  3592. void __RPC_STUB IHardwareDevices_EnumVolumes_Stub(
  3593. IRpcStubBuffer *This,
  3594. IRpcChannelBuffer *_pRpcChannelBuffer,
  3595. PRPC_MESSAGE _pRpcMessage,
  3596. DWORD *_pdwStubPhase);
  3597. HRESULT STDMETHODCALLTYPE IHardwareDevices_EnumMountPoints_Proxy(
  3598. IHardwareDevices * This,
  3599. /* [out] */ IHardwareDevicesMountPointsEnum **ppenum);
  3600. void __RPC_STUB IHardwareDevices_EnumMountPoints_Stub(
  3601. IRpcStubBuffer *This,
  3602. IRpcChannelBuffer *_pRpcChannelBuffer,
  3603. PRPC_MESSAGE _pRpcMessage,
  3604. DWORD *_pdwStubPhase);
  3605. HRESULT STDMETHODCALLTYPE IHardwareDevices_EnumDevices_Proxy(
  3606. IHardwareDevices * This,
  3607. /* [out] */ IHardwareDevicesEnum **ppenum);
  3608. void __RPC_STUB IHardwareDevices_EnumDevices_Stub(
  3609. IRpcStubBuffer *This,
  3610. IRpcChannelBuffer *_pRpcChannelBuffer,
  3611. PRPC_MESSAGE _pRpcMessage,
  3612. DWORD *_pdwStubPhase);
  3613. HRESULT STDMETHODCALLTYPE IHardwareDevices_Advise_Proxy(
  3614. IHardwareDevices * This,
  3615. /* [in] */ DWORD dwProcessID,
  3616. /* [in] */ ULONG_PTR hThread,
  3617. /* [in] */ ULONG_PTR pfctCallback,
  3618. /* [out] */ DWORD *pdwToken);
  3619. void __RPC_STUB IHardwareDevices_Advise_Stub(
  3620. IRpcStubBuffer *This,
  3621. IRpcChannelBuffer *_pRpcChannelBuffer,
  3622. PRPC_MESSAGE _pRpcMessage,
  3623. DWORD *_pdwStubPhase);
  3624. HRESULT STDMETHODCALLTYPE IHardwareDevices_Unadvise_Proxy(
  3625. IHardwareDevices * This,
  3626. /* [in] */ DWORD dwToken);
  3627. void __RPC_STUB IHardwareDevices_Unadvise_Stub(
  3628. IRpcStubBuffer *This,
  3629. IRpcChannelBuffer *_pRpcChannelBuffer,
  3630. PRPC_MESSAGE _pRpcMessage,
  3631. DWORD *_pdwStubPhase);
  3632. #endif /* __IHardwareDevices_INTERFACE_DEFINED__ */
  3633. #ifndef __IStartMenuPin_INTERFACE_DEFINED__
  3634. #define __IStartMenuPin_INTERFACE_DEFINED__
  3635. /* interface IStartMenuPin */
  3636. /* [object][local][uuid] */
  3637. #define SMPIN_POS(i) (LPCITEMIDLIST)MAKEINTRESOURCE((i)+1)
  3638. #define SMPINNABLE_EXEONLY 0x00000001
  3639. #define SMPINNABLE_REJECTSLOWMEDIA 0x00000002
  3640. EXTERN_C const IID IID_IStartMenuPin;
  3641. #if defined(__cplusplus) && !defined(CINTERFACE)
  3642. MIDL_INTERFACE("ec35e37a-6579-4f3c-93cd-6e62c4ef7636")
  3643. IStartMenuPin : public IUnknown
  3644. {
  3645. public:
  3646. virtual HRESULT STDMETHODCALLTYPE EnumObjects(
  3647. /* [out] */ IEnumIDList **ppenumIDList) = 0;
  3648. virtual HRESULT STDMETHODCALLTYPE Modify(
  3649. LPCITEMIDLIST pidlFrom,
  3650. LPCITEMIDLIST pidlTo) = 0;
  3651. virtual HRESULT STDMETHODCALLTYPE GetChangeCount(
  3652. /* [out] */ ULONG *pulOut) = 0;
  3653. virtual HRESULT STDMETHODCALLTYPE IsPinnable(
  3654. /* [in] */ IDataObject *pdto,
  3655. /* [in] */ DWORD dwFlags,
  3656. /* [out][optional] */ LPITEMIDLIST *ppidl) = 0;
  3657. virtual HRESULT STDMETHODCALLTYPE Resolve(
  3658. /* [in] */ HWND hwnd,
  3659. DWORD dwFlags,
  3660. /* [in] */ LPCITEMIDLIST pidl,
  3661. /* [out] */ LPITEMIDLIST *ppidlResolved) = 0;
  3662. };
  3663. #else /* C style interface */
  3664. typedef struct IStartMenuPinVtbl
  3665. {
  3666. BEGIN_INTERFACE
  3667. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3668. IStartMenuPin * This,
  3669. /* [in] */ REFIID riid,
  3670. /* [iid_is][out] */ void **ppvObject);
  3671. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3672. IStartMenuPin * This);
  3673. ULONG ( STDMETHODCALLTYPE *Release )(
  3674. IStartMenuPin * This);
  3675. HRESULT ( STDMETHODCALLTYPE *EnumObjects )(
  3676. IStartMenuPin * This,
  3677. /* [out] */ IEnumIDList **ppenumIDList);
  3678. HRESULT ( STDMETHODCALLTYPE *Modify )(
  3679. IStartMenuPin * This,
  3680. LPCITEMIDLIST pidlFrom,
  3681. LPCITEMIDLIST pidlTo);
  3682. HRESULT ( STDMETHODCALLTYPE *GetChangeCount )(
  3683. IStartMenuPin * This,
  3684. /* [out] */ ULONG *pulOut);
  3685. HRESULT ( STDMETHODCALLTYPE *IsPinnable )(
  3686. IStartMenuPin * This,
  3687. /* [in] */ IDataObject *pdto,
  3688. /* [in] */ DWORD dwFlags,
  3689. /* [out][optional] */ LPITEMIDLIST *ppidl);
  3690. HRESULT ( STDMETHODCALLTYPE *Resolve )(
  3691. IStartMenuPin * This,
  3692. /* [in] */ HWND hwnd,
  3693. DWORD dwFlags,
  3694. /* [in] */ LPCITEMIDLIST pidl,
  3695. /* [out] */ LPITEMIDLIST *ppidlResolved);
  3696. END_INTERFACE
  3697. } IStartMenuPinVtbl;
  3698. interface IStartMenuPin
  3699. {
  3700. CONST_VTBL struct IStartMenuPinVtbl *lpVtbl;
  3701. };
  3702. #ifdef COBJMACROS
  3703. #define IStartMenuPin_QueryInterface(This,riid,ppvObject) \
  3704. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3705. #define IStartMenuPin_AddRef(This) \
  3706. (This)->lpVtbl -> AddRef(This)
  3707. #define IStartMenuPin_Release(This) \
  3708. (This)->lpVtbl -> Release(This)
  3709. #define IStartMenuPin_EnumObjects(This,ppenumIDList) \
  3710. (This)->lpVtbl -> EnumObjects(This,ppenumIDList)
  3711. #define IStartMenuPin_Modify(This,pidlFrom,pidlTo) \
  3712. (This)->lpVtbl -> Modify(This,pidlFrom,pidlTo)
  3713. #define IStartMenuPin_GetChangeCount(This,pulOut) \
  3714. (This)->lpVtbl -> GetChangeCount(This,pulOut)
  3715. #define IStartMenuPin_IsPinnable(This,pdto,dwFlags,ppidl) \
  3716. (This)->lpVtbl -> IsPinnable(This,pdto,dwFlags,ppidl)
  3717. #define IStartMenuPin_Resolve(This,hwnd,dwFlags,pidl,ppidlResolved) \
  3718. (This)->lpVtbl -> Resolve(This,hwnd,dwFlags,pidl,ppidlResolved)
  3719. #endif /* COBJMACROS */
  3720. #endif /* C style interface */
  3721. HRESULT STDMETHODCALLTYPE IStartMenuPin_EnumObjects_Proxy(
  3722. IStartMenuPin * This,
  3723. /* [out] */ IEnumIDList **ppenumIDList);
  3724. void __RPC_STUB IStartMenuPin_EnumObjects_Stub(
  3725. IRpcStubBuffer *This,
  3726. IRpcChannelBuffer *_pRpcChannelBuffer,
  3727. PRPC_MESSAGE _pRpcMessage,
  3728. DWORD *_pdwStubPhase);
  3729. HRESULT STDMETHODCALLTYPE IStartMenuPin_Modify_Proxy(
  3730. IStartMenuPin * This,
  3731. LPCITEMIDLIST pidlFrom,
  3732. LPCITEMIDLIST pidlTo);
  3733. void __RPC_STUB IStartMenuPin_Modify_Stub(
  3734. IRpcStubBuffer *This,
  3735. IRpcChannelBuffer *_pRpcChannelBuffer,
  3736. PRPC_MESSAGE _pRpcMessage,
  3737. DWORD *_pdwStubPhase);
  3738. HRESULT STDMETHODCALLTYPE IStartMenuPin_GetChangeCount_Proxy(
  3739. IStartMenuPin * This,
  3740. /* [out] */ ULONG *pulOut);
  3741. void __RPC_STUB IStartMenuPin_GetChangeCount_Stub(
  3742. IRpcStubBuffer *This,
  3743. IRpcChannelBuffer *_pRpcChannelBuffer,
  3744. PRPC_MESSAGE _pRpcMessage,
  3745. DWORD *_pdwStubPhase);
  3746. HRESULT STDMETHODCALLTYPE IStartMenuPin_IsPinnable_Proxy(
  3747. IStartMenuPin * This,
  3748. /* [in] */ IDataObject *pdto,
  3749. /* [in] */ DWORD dwFlags,
  3750. /* [out][optional] */ LPITEMIDLIST *ppidl);
  3751. void __RPC_STUB IStartMenuPin_IsPinnable_Stub(
  3752. IRpcStubBuffer *This,
  3753. IRpcChannelBuffer *_pRpcChannelBuffer,
  3754. PRPC_MESSAGE _pRpcMessage,
  3755. DWORD *_pdwStubPhase);
  3756. HRESULT STDMETHODCALLTYPE IStartMenuPin_Resolve_Proxy(
  3757. IStartMenuPin * This,
  3758. /* [in] */ HWND hwnd,
  3759. DWORD dwFlags,
  3760. /* [in] */ LPCITEMIDLIST pidl,
  3761. /* [out] */ LPITEMIDLIST *ppidlResolved);
  3762. void __RPC_STUB IStartMenuPin_Resolve_Stub(
  3763. IRpcStubBuffer *This,
  3764. IRpcChannelBuffer *_pRpcChannelBuffer,
  3765. PRPC_MESSAGE _pRpcMessage,
  3766. DWORD *_pdwStubPhase);
  3767. #endif /* __IStartMenuPin_INTERFACE_DEFINED__ */
  3768. /* interface __MIDL_itf_shpriv_0283 */
  3769. /* [local] */
  3770. #if _WIN32_IE >= 0x0600
  3771. typedef struct tagCATLIST
  3772. {
  3773. const GUID *pguid;
  3774. const SHCOLUMNID *pscid;
  3775. } CATLIST;
  3776. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0283_v0_0_c_ifspec;
  3777. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0283_v0_0_s_ifspec;
  3778. #ifndef __IDefCategoryProvider_INTERFACE_DEFINED__
  3779. #define __IDefCategoryProvider_INTERFACE_DEFINED__
  3780. /* interface IDefCategoryProvider */
  3781. /* [object][local][uuid] */
  3782. EXTERN_C const IID IID_IDefCategoryProvider;
  3783. #if defined(__cplusplus) && !defined(CINTERFACE)
  3784. MIDL_INTERFACE("509767BF-AC06-49f8-9E76-8BBC17F0EE93")
  3785. IDefCategoryProvider : public IUnknown
  3786. {
  3787. public:
  3788. virtual HRESULT STDMETHODCALLTYPE Initialize(
  3789. const GUID *pguid,
  3790. const SHCOLUMNID *pscid,
  3791. const SHCOLUMNID *pscidExclude,
  3792. HKEY hkey,
  3793. const CATLIST *pcl,
  3794. IShellFolder *psf) = 0;
  3795. };
  3796. #else /* C style interface */
  3797. typedef struct IDefCategoryProviderVtbl
  3798. {
  3799. BEGIN_INTERFACE
  3800. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3801. IDefCategoryProvider * This,
  3802. /* [in] */ REFIID riid,
  3803. /* [iid_is][out] */ void **ppvObject);
  3804. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3805. IDefCategoryProvider * This);
  3806. ULONG ( STDMETHODCALLTYPE *Release )(
  3807. IDefCategoryProvider * This);
  3808. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  3809. IDefCategoryProvider * This,
  3810. const GUID *pguid,
  3811. const SHCOLUMNID *pscid,
  3812. const SHCOLUMNID *pscidExclude,
  3813. HKEY hkey,
  3814. const CATLIST *pcl,
  3815. IShellFolder *psf);
  3816. END_INTERFACE
  3817. } IDefCategoryProviderVtbl;
  3818. interface IDefCategoryProvider
  3819. {
  3820. CONST_VTBL struct IDefCategoryProviderVtbl *lpVtbl;
  3821. };
  3822. #ifdef COBJMACROS
  3823. #define IDefCategoryProvider_QueryInterface(This,riid,ppvObject) \
  3824. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3825. #define IDefCategoryProvider_AddRef(This) \
  3826. (This)->lpVtbl -> AddRef(This)
  3827. #define IDefCategoryProvider_Release(This) \
  3828. (This)->lpVtbl -> Release(This)
  3829. #define IDefCategoryProvider_Initialize(This,pguid,pscid,pscidExclude,hkey,pcl,psf) \
  3830. (This)->lpVtbl -> Initialize(This,pguid,pscid,pscidExclude,hkey,pcl,psf)
  3831. #endif /* COBJMACROS */
  3832. #endif /* C style interface */
  3833. HRESULT STDMETHODCALLTYPE IDefCategoryProvider_Initialize_Proxy(
  3834. IDefCategoryProvider * This,
  3835. const GUID *pguid,
  3836. const SHCOLUMNID *pscid,
  3837. const SHCOLUMNID *pscidExclude,
  3838. HKEY hkey,
  3839. const CATLIST *pcl,
  3840. IShellFolder *psf);
  3841. void __RPC_STUB IDefCategoryProvider_Initialize_Stub(
  3842. IRpcStubBuffer *This,
  3843. IRpcChannelBuffer *_pRpcChannelBuffer,
  3844. PRPC_MESSAGE _pRpcMessage,
  3845. DWORD *_pdwStubPhase);
  3846. #endif /* __IDefCategoryProvider_INTERFACE_DEFINED__ */
  3847. /* interface __MIDL_itf_shpriv_0284 */
  3848. /* [local] */
  3849. #define MB_STATE_TRACK 1
  3850. #define MB_STATE_MENU 2
  3851. #define MB_STATE_ITEM 4
  3852. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0284_v0_0_c_ifspec;
  3853. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0284_v0_0_s_ifspec;
  3854. #ifndef __IInitAccessible_INTERFACE_DEFINED__
  3855. #define __IInitAccessible_INTERFACE_DEFINED__
  3856. /* interface IInitAccessible */
  3857. /* [object][local][uuid] */
  3858. EXTERN_C const IID IID_IInitAccessible;
  3859. #if defined(__cplusplus) && !defined(CINTERFACE)
  3860. MIDL_INTERFACE("b6664df7-0c46-460e-ba97-82ed46d0289e")
  3861. IInitAccessible : public IUnknown
  3862. {
  3863. public:
  3864. virtual HRESULT STDMETHODCALLTYPE InitAcc(
  3865. /* [in] */ int iState,
  3866. /* [in] */ IMenuBand *pmb,
  3867. /* [in] */ int iIndex,
  3868. /* [in] */ HMENU hmenu,
  3869. /* [in] */ WORD wID) = 0;
  3870. };
  3871. #else /* C style interface */
  3872. typedef struct IInitAccessibleVtbl
  3873. {
  3874. BEGIN_INTERFACE
  3875. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3876. IInitAccessible * This,
  3877. /* [in] */ REFIID riid,
  3878. /* [iid_is][out] */ void **ppvObject);
  3879. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3880. IInitAccessible * This);
  3881. ULONG ( STDMETHODCALLTYPE *Release )(
  3882. IInitAccessible * This);
  3883. HRESULT ( STDMETHODCALLTYPE *InitAcc )(
  3884. IInitAccessible * This,
  3885. /* [in] */ int iState,
  3886. /* [in] */ IMenuBand *pmb,
  3887. /* [in] */ int iIndex,
  3888. /* [in] */ HMENU hmenu,
  3889. /* [in] */ WORD wID);
  3890. END_INTERFACE
  3891. } IInitAccessibleVtbl;
  3892. interface IInitAccessible
  3893. {
  3894. CONST_VTBL struct IInitAccessibleVtbl *lpVtbl;
  3895. };
  3896. #ifdef COBJMACROS
  3897. #define IInitAccessible_QueryInterface(This,riid,ppvObject) \
  3898. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3899. #define IInitAccessible_AddRef(This) \
  3900. (This)->lpVtbl -> AddRef(This)
  3901. #define IInitAccessible_Release(This) \
  3902. (This)->lpVtbl -> Release(This)
  3903. #define IInitAccessible_InitAcc(This,iState,pmb,iIndex,hmenu,wID) \
  3904. (This)->lpVtbl -> InitAcc(This,iState,pmb,iIndex,hmenu,wID)
  3905. #endif /* COBJMACROS */
  3906. #endif /* C style interface */
  3907. HRESULT STDMETHODCALLTYPE IInitAccessible_InitAcc_Proxy(
  3908. IInitAccessible * This,
  3909. /* [in] */ int iState,
  3910. /* [in] */ IMenuBand *pmb,
  3911. /* [in] */ int iIndex,
  3912. /* [in] */ HMENU hmenu,
  3913. /* [in] */ WORD wID);
  3914. void __RPC_STUB IInitAccessible_InitAcc_Stub(
  3915. IRpcStubBuffer *This,
  3916. IRpcChannelBuffer *_pRpcChannelBuffer,
  3917. PRPC_MESSAGE _pRpcMessage,
  3918. DWORD *_pdwStubPhase);
  3919. #endif /* __IInitAccessible_INTERFACE_DEFINED__ */
  3920. #ifndef __IInitTrackPopupBar_INTERFACE_DEFINED__
  3921. #define __IInitTrackPopupBar_INTERFACE_DEFINED__
  3922. /* interface IInitTrackPopupBar */
  3923. /* [object][local][uuid] */
  3924. EXTERN_C const IID IID_IInitTrackPopupBar;
  3925. #if defined(__cplusplus) && !defined(CINTERFACE)
  3926. MIDL_INTERFACE("4a7efa30-795c-4167-8676-b78fc5330cc7")
  3927. IInitTrackPopupBar : public IUnknown
  3928. {
  3929. public:
  3930. virtual HRESULT STDMETHODCALLTYPE InitTrackPopupBar(
  3931. /* [in] */ void *pvContext,
  3932. /* [in] */ int iID,
  3933. /* [in] */ HMENU hmenu,
  3934. /* [in] */ HWND hwnd) = 0;
  3935. };
  3936. #else /* C style interface */
  3937. typedef struct IInitTrackPopupBarVtbl
  3938. {
  3939. BEGIN_INTERFACE
  3940. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  3941. IInitTrackPopupBar * This,
  3942. /* [in] */ REFIID riid,
  3943. /* [iid_is][out] */ void **ppvObject);
  3944. ULONG ( STDMETHODCALLTYPE *AddRef )(
  3945. IInitTrackPopupBar * This);
  3946. ULONG ( STDMETHODCALLTYPE *Release )(
  3947. IInitTrackPopupBar * This);
  3948. HRESULT ( STDMETHODCALLTYPE *InitTrackPopupBar )(
  3949. IInitTrackPopupBar * This,
  3950. /* [in] */ void *pvContext,
  3951. /* [in] */ int iID,
  3952. /* [in] */ HMENU hmenu,
  3953. /* [in] */ HWND hwnd);
  3954. END_INTERFACE
  3955. } IInitTrackPopupBarVtbl;
  3956. interface IInitTrackPopupBar
  3957. {
  3958. CONST_VTBL struct IInitTrackPopupBarVtbl *lpVtbl;
  3959. };
  3960. #ifdef COBJMACROS
  3961. #define IInitTrackPopupBar_QueryInterface(This,riid,ppvObject) \
  3962. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3963. #define IInitTrackPopupBar_AddRef(This) \
  3964. (This)->lpVtbl -> AddRef(This)
  3965. #define IInitTrackPopupBar_Release(This) \
  3966. (This)->lpVtbl -> Release(This)
  3967. #define IInitTrackPopupBar_InitTrackPopupBar(This,pvContext,iID,hmenu,hwnd) \
  3968. (This)->lpVtbl -> InitTrackPopupBar(This,pvContext,iID,hmenu,hwnd)
  3969. #endif /* COBJMACROS */
  3970. #endif /* C style interface */
  3971. HRESULT STDMETHODCALLTYPE IInitTrackPopupBar_InitTrackPopupBar_Proxy(
  3972. IInitTrackPopupBar * This,
  3973. /* [in] */ void *pvContext,
  3974. /* [in] */ int iID,
  3975. /* [in] */ HMENU hmenu,
  3976. /* [in] */ HWND hwnd);
  3977. void __RPC_STUB IInitTrackPopupBar_InitTrackPopupBar_Stub(
  3978. IRpcStubBuffer *This,
  3979. IRpcChannelBuffer *_pRpcChannelBuffer,
  3980. PRPC_MESSAGE _pRpcMessage,
  3981. DWORD *_pdwStubPhase);
  3982. #endif /* __IInitTrackPopupBar_INTERFACE_DEFINED__ */
  3983. /* interface __MIDL_itf_shpriv_0286 */
  3984. /* [local] */
  3985. typedef /* [v1_enum] */
  3986. enum _CFITYPE
  3987. { CFITYPE_CSIDL = 0,
  3988. CFITYPE_PIDL = CFITYPE_CSIDL + 1,
  3989. CFITYPE_PATH = CFITYPE_PIDL + 1
  3990. } CFITYPE;
  3991. /* [v1_enum] */
  3992. enum __MIDL___MIDL_itf_shpriv_0286_0001
  3993. { CFINITF_CHILDREN = 0,
  3994. CFINITF_FLAT = 0x1
  3995. } ;
  3996. typedef UINT CFINITF;
  3997. typedef struct _COMPFOLDERINIT
  3998. {
  3999. UINT uType;
  4000. /* [switch_is][switch_type] */ union
  4001. {
  4002. /* [case()] */ int csidl;
  4003. /* [case()] */ LPCITEMIDLIST pidl;
  4004. /* [case()][string] */ LPOLESTR pszPath;
  4005. } DUMMYUNIONNAME;
  4006. LPOLESTR pszName;
  4007. } COMPFOLDERINIT;
  4008. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0286_v0_0_c_ifspec;
  4009. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0286_v0_0_s_ifspec;
  4010. #ifndef __ICompositeFolder_INTERFACE_DEFINED__
  4011. #define __ICompositeFolder_INTERFACE_DEFINED__
  4012. /* interface ICompositeFolder */
  4013. /* [unique][object][uuid][helpstring] */
  4014. EXTERN_C const IID IID_ICompositeFolder;
  4015. #if defined(__cplusplus) && !defined(CINTERFACE)
  4016. MIDL_INTERFACE("601ac3dd-786a-4eb0-bf40-ee3521e70bfb")
  4017. ICompositeFolder : public IUnknown
  4018. {
  4019. public:
  4020. virtual HRESULT STDMETHODCALLTYPE InitComposite(
  4021. /* [in] */ WORD wSignature,
  4022. /* [in] */ REFCLSID refclsid,
  4023. /* [in] */ CFINITF flags,
  4024. /* [in] */ ULONG celt,
  4025. /* [size_is][in] */ const COMPFOLDERINIT *rgCFs) = 0;
  4026. virtual HRESULT STDMETHODCALLTYPE BindToParent(
  4027. /* [in] */ LPCITEMIDLIST pidl,
  4028. /* [in] */ REFIID riid,
  4029. /* [iid_is][out] */ void **ppv,
  4030. /* [out] */ LPITEMIDLIST *ppidlLast) = 0;
  4031. };
  4032. #else /* C style interface */
  4033. typedef struct ICompositeFolderVtbl
  4034. {
  4035. BEGIN_INTERFACE
  4036. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4037. ICompositeFolder * This,
  4038. /* [in] */ REFIID riid,
  4039. /* [iid_is][out] */ void **ppvObject);
  4040. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4041. ICompositeFolder * This);
  4042. ULONG ( STDMETHODCALLTYPE *Release )(
  4043. ICompositeFolder * This);
  4044. HRESULT ( STDMETHODCALLTYPE *InitComposite )(
  4045. ICompositeFolder * This,
  4046. /* [in] */ WORD wSignature,
  4047. /* [in] */ REFCLSID refclsid,
  4048. /* [in] */ CFINITF flags,
  4049. /* [in] */ ULONG celt,
  4050. /* [size_is][in] */ const COMPFOLDERINIT *rgCFs);
  4051. HRESULT ( STDMETHODCALLTYPE *BindToParent )(
  4052. ICompositeFolder * This,
  4053. /* [in] */ LPCITEMIDLIST pidl,
  4054. /* [in] */ REFIID riid,
  4055. /* [iid_is][out] */ void **ppv,
  4056. /* [out] */ LPITEMIDLIST *ppidlLast);
  4057. END_INTERFACE
  4058. } ICompositeFolderVtbl;
  4059. interface ICompositeFolder
  4060. {
  4061. CONST_VTBL struct ICompositeFolderVtbl *lpVtbl;
  4062. };
  4063. #ifdef COBJMACROS
  4064. #define ICompositeFolder_QueryInterface(This,riid,ppvObject) \
  4065. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4066. #define ICompositeFolder_AddRef(This) \
  4067. (This)->lpVtbl -> AddRef(This)
  4068. #define ICompositeFolder_Release(This) \
  4069. (This)->lpVtbl -> Release(This)
  4070. #define ICompositeFolder_InitComposite(This,wSignature,refclsid,flags,celt,rgCFs) \
  4071. (This)->lpVtbl -> InitComposite(This,wSignature,refclsid,flags,celt,rgCFs)
  4072. #define ICompositeFolder_BindToParent(This,pidl,riid,ppv,ppidlLast) \
  4073. (This)->lpVtbl -> BindToParent(This,pidl,riid,ppv,ppidlLast)
  4074. #endif /* COBJMACROS */
  4075. #endif /* C style interface */
  4076. HRESULT STDMETHODCALLTYPE ICompositeFolder_InitComposite_Proxy(
  4077. ICompositeFolder * This,
  4078. /* [in] */ WORD wSignature,
  4079. /* [in] */ REFCLSID refclsid,
  4080. /* [in] */ CFINITF flags,
  4081. /* [in] */ ULONG celt,
  4082. /* [size_is][in] */ const COMPFOLDERINIT *rgCFs);
  4083. void __RPC_STUB ICompositeFolder_InitComposite_Stub(
  4084. IRpcStubBuffer *This,
  4085. IRpcChannelBuffer *_pRpcChannelBuffer,
  4086. PRPC_MESSAGE _pRpcMessage,
  4087. DWORD *_pdwStubPhase);
  4088. HRESULT STDMETHODCALLTYPE ICompositeFolder_BindToParent_Proxy(
  4089. ICompositeFolder * This,
  4090. /* [in] */ LPCITEMIDLIST pidl,
  4091. /* [in] */ REFIID riid,
  4092. /* [iid_is][out] */ void **ppv,
  4093. /* [out] */ LPITEMIDLIST *ppidlLast);
  4094. void __RPC_STUB ICompositeFolder_BindToParent_Stub(
  4095. IRpcStubBuffer *This,
  4096. IRpcChannelBuffer *_pRpcChannelBuffer,
  4097. PRPC_MESSAGE _pRpcMessage,
  4098. DWORD *_pdwStubPhase);
  4099. #endif /* __ICompositeFolder_INTERFACE_DEFINED__ */
  4100. /* interface __MIDL_itf_shpriv_0287 */
  4101. /* [local] */
  4102. #endif // _WIN32_IE >= 0x0600
  4103. #include <pshpack8.h>
  4104. typedef struct _tagSHELLREMINDER
  4105. {
  4106. DWORD cbSize;
  4107. LPWSTR pszName;
  4108. LPWSTR pszTitle;
  4109. LPWSTR pszText;
  4110. LPWSTR pszTooltip;
  4111. LPWSTR pszIconResource;
  4112. LPWSTR pszShellExecute;
  4113. GUID *pclsid;
  4114. DWORD dwShowTime;
  4115. DWORD dwRetryInterval;
  4116. DWORD dwRetryCount;
  4117. DWORD dwTypeFlags;
  4118. } SHELLREMINDER;
  4119. #include <poppack.h>
  4120. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0287_v0_0_c_ifspec;
  4121. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0287_v0_0_s_ifspec;
  4122. #ifndef __IEnumShellReminder_INTERFACE_DEFINED__
  4123. #define __IEnumShellReminder_INTERFACE_DEFINED__
  4124. /* interface IEnumShellReminder */
  4125. /* [object][local][uuid] */
  4126. EXTERN_C const IID IID_IEnumShellReminder;
  4127. #if defined(__cplusplus) && !defined(CINTERFACE)
  4128. MIDL_INTERFACE("6c6d9735-2d86-40e1-b348-08706b9908c0")
  4129. IEnumShellReminder : public IUnknown
  4130. {
  4131. public:
  4132. virtual HRESULT STDMETHODCALLTYPE Next(
  4133. /* [in] */ ULONG celt,
  4134. /* [length_is][size_is][out] */ SHELLREMINDER **rgelt,
  4135. /* [out] */ ULONG *pceltFetched) = 0;
  4136. virtual HRESULT STDMETHODCALLTYPE Skip(
  4137. /* [in] */ ULONG celt) = 0;
  4138. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  4139. virtual HRESULT STDMETHODCALLTYPE Clone(
  4140. /* [out] */ IEnumShellReminder **ppesr) = 0;
  4141. };
  4142. #else /* C style interface */
  4143. typedef struct IEnumShellReminderVtbl
  4144. {
  4145. BEGIN_INTERFACE
  4146. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4147. IEnumShellReminder * This,
  4148. /* [in] */ REFIID riid,
  4149. /* [iid_is][out] */ void **ppvObject);
  4150. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4151. IEnumShellReminder * This);
  4152. ULONG ( STDMETHODCALLTYPE *Release )(
  4153. IEnumShellReminder * This);
  4154. HRESULT ( STDMETHODCALLTYPE *Next )(
  4155. IEnumShellReminder * This,
  4156. /* [in] */ ULONG celt,
  4157. /* [length_is][size_is][out] */ SHELLREMINDER **rgelt,
  4158. /* [out] */ ULONG *pceltFetched);
  4159. HRESULT ( STDMETHODCALLTYPE *Skip )(
  4160. IEnumShellReminder * This,
  4161. /* [in] */ ULONG celt);
  4162. HRESULT ( STDMETHODCALLTYPE *Reset )(
  4163. IEnumShellReminder * This);
  4164. HRESULT ( STDMETHODCALLTYPE *Clone )(
  4165. IEnumShellReminder * This,
  4166. /* [out] */ IEnumShellReminder **ppesr);
  4167. END_INTERFACE
  4168. } IEnumShellReminderVtbl;
  4169. interface IEnumShellReminder
  4170. {
  4171. CONST_VTBL struct IEnumShellReminderVtbl *lpVtbl;
  4172. };
  4173. #ifdef COBJMACROS
  4174. #define IEnumShellReminder_QueryInterface(This,riid,ppvObject) \
  4175. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4176. #define IEnumShellReminder_AddRef(This) \
  4177. (This)->lpVtbl -> AddRef(This)
  4178. #define IEnumShellReminder_Release(This) \
  4179. (This)->lpVtbl -> Release(This)
  4180. #define IEnumShellReminder_Next(This,celt,rgelt,pceltFetched) \
  4181. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  4182. #define IEnumShellReminder_Skip(This,celt) \
  4183. (This)->lpVtbl -> Skip(This,celt)
  4184. #define IEnumShellReminder_Reset(This) \
  4185. (This)->lpVtbl -> Reset(This)
  4186. #define IEnumShellReminder_Clone(This,ppesr) \
  4187. (This)->lpVtbl -> Clone(This,ppesr)
  4188. #endif /* COBJMACROS */
  4189. #endif /* C style interface */
  4190. HRESULT STDMETHODCALLTYPE IEnumShellReminder_Next_Proxy(
  4191. IEnumShellReminder * This,
  4192. /* [in] */ ULONG celt,
  4193. /* [length_is][size_is][out] */ SHELLREMINDER **rgelt,
  4194. /* [out] */ ULONG *pceltFetched);
  4195. void __RPC_STUB IEnumShellReminder_Next_Stub(
  4196. IRpcStubBuffer *This,
  4197. IRpcChannelBuffer *_pRpcChannelBuffer,
  4198. PRPC_MESSAGE _pRpcMessage,
  4199. DWORD *_pdwStubPhase);
  4200. HRESULT STDMETHODCALLTYPE IEnumShellReminder_Skip_Proxy(
  4201. IEnumShellReminder * This,
  4202. /* [in] */ ULONG celt);
  4203. void __RPC_STUB IEnumShellReminder_Skip_Stub(
  4204. IRpcStubBuffer *This,
  4205. IRpcChannelBuffer *_pRpcChannelBuffer,
  4206. PRPC_MESSAGE _pRpcMessage,
  4207. DWORD *_pdwStubPhase);
  4208. HRESULT STDMETHODCALLTYPE IEnumShellReminder_Reset_Proxy(
  4209. IEnumShellReminder * This);
  4210. void __RPC_STUB IEnumShellReminder_Reset_Stub(
  4211. IRpcStubBuffer *This,
  4212. IRpcChannelBuffer *_pRpcChannelBuffer,
  4213. PRPC_MESSAGE _pRpcMessage,
  4214. DWORD *_pdwStubPhase);
  4215. HRESULT STDMETHODCALLTYPE IEnumShellReminder_Clone_Proxy(
  4216. IEnumShellReminder * This,
  4217. /* [out] */ IEnumShellReminder **ppesr);
  4218. void __RPC_STUB IEnumShellReminder_Clone_Stub(
  4219. IRpcStubBuffer *This,
  4220. IRpcChannelBuffer *_pRpcChannelBuffer,
  4221. PRPC_MESSAGE _pRpcMessage,
  4222. DWORD *_pdwStubPhase);
  4223. #endif /* __IEnumShellReminder_INTERFACE_DEFINED__ */
  4224. #ifndef __IShellReminderManager_INTERFACE_DEFINED__
  4225. #define __IShellReminderManager_INTERFACE_DEFINED__
  4226. /* interface IShellReminderManager */
  4227. /* [object][local][uuid] */
  4228. EXTERN_C const IID IID_IShellReminderManager;
  4229. #if defined(__cplusplus) && !defined(CINTERFACE)
  4230. MIDL_INTERFACE("968edb91-8a70-4930-8332-5f15838a64f9")
  4231. IShellReminderManager : public IUnknown
  4232. {
  4233. public:
  4234. virtual HRESULT STDMETHODCALLTYPE Add(
  4235. const SHELLREMINDER *psr) = 0;
  4236. virtual HRESULT STDMETHODCALLTYPE Delete(
  4237. LPCWSTR pszName) = 0;
  4238. virtual HRESULT STDMETHODCALLTYPE Enum(
  4239. IEnumShellReminder **ppesr) = 0;
  4240. };
  4241. #else /* C style interface */
  4242. typedef struct IShellReminderManagerVtbl
  4243. {
  4244. BEGIN_INTERFACE
  4245. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4246. IShellReminderManager * This,
  4247. /* [in] */ REFIID riid,
  4248. /* [iid_is][out] */ void **ppvObject);
  4249. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4250. IShellReminderManager * This);
  4251. ULONG ( STDMETHODCALLTYPE *Release )(
  4252. IShellReminderManager * This);
  4253. HRESULT ( STDMETHODCALLTYPE *Add )(
  4254. IShellReminderManager * This,
  4255. const SHELLREMINDER *psr);
  4256. HRESULT ( STDMETHODCALLTYPE *Delete )(
  4257. IShellReminderManager * This,
  4258. LPCWSTR pszName);
  4259. HRESULT ( STDMETHODCALLTYPE *Enum )(
  4260. IShellReminderManager * This,
  4261. IEnumShellReminder **ppesr);
  4262. END_INTERFACE
  4263. } IShellReminderManagerVtbl;
  4264. interface IShellReminderManager
  4265. {
  4266. CONST_VTBL struct IShellReminderManagerVtbl *lpVtbl;
  4267. };
  4268. #ifdef COBJMACROS
  4269. #define IShellReminderManager_QueryInterface(This,riid,ppvObject) \
  4270. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4271. #define IShellReminderManager_AddRef(This) \
  4272. (This)->lpVtbl -> AddRef(This)
  4273. #define IShellReminderManager_Release(This) \
  4274. (This)->lpVtbl -> Release(This)
  4275. #define IShellReminderManager_Add(This,psr) \
  4276. (This)->lpVtbl -> Add(This,psr)
  4277. #define IShellReminderManager_Delete(This,pszName) \
  4278. (This)->lpVtbl -> Delete(This,pszName)
  4279. #define IShellReminderManager_Enum(This,ppesr) \
  4280. (This)->lpVtbl -> Enum(This,ppesr)
  4281. #endif /* COBJMACROS */
  4282. #endif /* C style interface */
  4283. HRESULT STDMETHODCALLTYPE IShellReminderManager_Add_Proxy(
  4284. IShellReminderManager * This,
  4285. const SHELLREMINDER *psr);
  4286. void __RPC_STUB IShellReminderManager_Add_Stub(
  4287. IRpcStubBuffer *This,
  4288. IRpcChannelBuffer *_pRpcChannelBuffer,
  4289. PRPC_MESSAGE _pRpcMessage,
  4290. DWORD *_pdwStubPhase);
  4291. HRESULT STDMETHODCALLTYPE IShellReminderManager_Delete_Proxy(
  4292. IShellReminderManager * This,
  4293. LPCWSTR pszName);
  4294. void __RPC_STUB IShellReminderManager_Delete_Stub(
  4295. IRpcStubBuffer *This,
  4296. IRpcChannelBuffer *_pRpcChannelBuffer,
  4297. PRPC_MESSAGE _pRpcMessage,
  4298. DWORD *_pdwStubPhase);
  4299. HRESULT STDMETHODCALLTYPE IShellReminderManager_Enum_Proxy(
  4300. IShellReminderManager * This,
  4301. IEnumShellReminder **ppesr);
  4302. void __RPC_STUB IShellReminderManager_Enum_Stub(
  4303. IRpcStubBuffer *This,
  4304. IRpcChannelBuffer *_pRpcChannelBuffer,
  4305. PRPC_MESSAGE _pRpcMessage,
  4306. DWORD *_pdwStubPhase);
  4307. #endif /* __IShellReminderManager_INTERFACE_DEFINED__ */
  4308. /* interface __MIDL_itf_shpriv_0289 */
  4309. /* [local] */
  4310. #if _WIN32_IE >= 0x0400
  4311. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0289_v0_0_c_ifspec;
  4312. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0289_v0_0_s_ifspec;
  4313. #ifndef __IDeskBandEx_INTERFACE_DEFINED__
  4314. #define __IDeskBandEx_INTERFACE_DEFINED__
  4315. /* interface IDeskBandEx */
  4316. /* [uuid][object] */
  4317. EXTERN_C const IID IID_IDeskBandEx;
  4318. #if defined(__cplusplus) && !defined(CINTERFACE)
  4319. MIDL_INTERFACE("5dd6b79a-3ab7-49c0-ab82-6b2da7d78d75")
  4320. IDeskBandEx : public IUnknown
  4321. {
  4322. public:
  4323. virtual HRESULT STDMETHODCALLTYPE MoveBand( void) = 0;
  4324. };
  4325. #else /* C style interface */
  4326. typedef struct IDeskBandExVtbl
  4327. {
  4328. BEGIN_INTERFACE
  4329. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4330. IDeskBandEx * This,
  4331. /* [in] */ REFIID riid,
  4332. /* [iid_is][out] */ void **ppvObject);
  4333. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4334. IDeskBandEx * This);
  4335. ULONG ( STDMETHODCALLTYPE *Release )(
  4336. IDeskBandEx * This);
  4337. HRESULT ( STDMETHODCALLTYPE *MoveBand )(
  4338. IDeskBandEx * This);
  4339. END_INTERFACE
  4340. } IDeskBandExVtbl;
  4341. interface IDeskBandEx
  4342. {
  4343. CONST_VTBL struct IDeskBandExVtbl *lpVtbl;
  4344. };
  4345. #ifdef COBJMACROS
  4346. #define IDeskBandEx_QueryInterface(This,riid,ppvObject) \
  4347. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4348. #define IDeskBandEx_AddRef(This) \
  4349. (This)->lpVtbl -> AddRef(This)
  4350. #define IDeskBandEx_Release(This) \
  4351. (This)->lpVtbl -> Release(This)
  4352. #define IDeskBandEx_MoveBand(This) \
  4353. (This)->lpVtbl -> MoveBand(This)
  4354. #endif /* COBJMACROS */
  4355. #endif /* C style interface */
  4356. HRESULT STDMETHODCALLTYPE IDeskBandEx_MoveBand_Proxy(
  4357. IDeskBandEx * This);
  4358. void __RPC_STUB IDeskBandEx_MoveBand_Stub(
  4359. IRpcStubBuffer *This,
  4360. IRpcChannelBuffer *_pRpcChannelBuffer,
  4361. PRPC_MESSAGE _pRpcMessage,
  4362. DWORD *_pdwStubPhase);
  4363. #endif /* __IDeskBandEx_INTERFACE_DEFINED__ */
  4364. /* interface __MIDL_itf_shpriv_0290 */
  4365. /* [local] */
  4366. #endif // _WIN32_IE >= 0x0400
  4367. #include <pshpack8.h>
  4368. typedef struct tagNOTIFYITEM
  4369. {
  4370. LPWSTR pszExeName;
  4371. LPWSTR pszIconText;
  4372. HICON hIcon;
  4373. HWND hWnd;
  4374. DWORD dwUserPref;
  4375. UINT uID;
  4376. GUID guidItem;
  4377. } NOTIFYITEM;
  4378. typedef struct tagNOTIFYITEM *LPNOTIFYITEM;
  4379. #include <poppack.h>
  4380. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0290_v0_0_c_ifspec;
  4381. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0290_v0_0_s_ifspec;
  4382. #ifndef __INotificationCB_INTERFACE_DEFINED__
  4383. #define __INotificationCB_INTERFACE_DEFINED__
  4384. /* interface INotificationCB */
  4385. /* [unique][uuid][object] */
  4386. EXTERN_C const IID IID_INotificationCB;
  4387. #if defined(__cplusplus) && !defined(CINTERFACE)
  4388. MIDL_INTERFACE("d782ccba-afb0-43f1-94db-fda3779eaccb")
  4389. INotificationCB : public IUnknown
  4390. {
  4391. public:
  4392. virtual HRESULT STDMETHODCALLTYPE Notify(
  4393. /* [in] */ DWORD dwMessage,
  4394. /* [in] */ LPNOTIFYITEM pNotifyItem) = 0;
  4395. };
  4396. #else /* C style interface */
  4397. typedef struct INotificationCBVtbl
  4398. {
  4399. BEGIN_INTERFACE
  4400. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4401. INotificationCB * This,
  4402. /* [in] */ REFIID riid,
  4403. /* [iid_is][out] */ void **ppvObject);
  4404. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4405. INotificationCB * This);
  4406. ULONG ( STDMETHODCALLTYPE *Release )(
  4407. INotificationCB * This);
  4408. HRESULT ( STDMETHODCALLTYPE *Notify )(
  4409. INotificationCB * This,
  4410. /* [in] */ DWORD dwMessage,
  4411. /* [in] */ LPNOTIFYITEM pNotifyItem);
  4412. END_INTERFACE
  4413. } INotificationCBVtbl;
  4414. interface INotificationCB
  4415. {
  4416. CONST_VTBL struct INotificationCBVtbl *lpVtbl;
  4417. };
  4418. #ifdef COBJMACROS
  4419. #define INotificationCB_QueryInterface(This,riid,ppvObject) \
  4420. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4421. #define INotificationCB_AddRef(This) \
  4422. (This)->lpVtbl -> AddRef(This)
  4423. #define INotificationCB_Release(This) \
  4424. (This)->lpVtbl -> Release(This)
  4425. #define INotificationCB_Notify(This,dwMessage,pNotifyItem) \
  4426. (This)->lpVtbl -> Notify(This,dwMessage,pNotifyItem)
  4427. #endif /* COBJMACROS */
  4428. #endif /* C style interface */
  4429. HRESULT STDMETHODCALLTYPE INotificationCB_Notify_Proxy(
  4430. INotificationCB * This,
  4431. /* [in] */ DWORD dwMessage,
  4432. /* [in] */ LPNOTIFYITEM pNotifyItem);
  4433. void __RPC_STUB INotificationCB_Notify_Stub(
  4434. IRpcStubBuffer *This,
  4435. IRpcChannelBuffer *_pRpcChannelBuffer,
  4436. PRPC_MESSAGE _pRpcMessage,
  4437. DWORD *_pdwStubPhase);
  4438. #endif /* __INotificationCB_INTERFACE_DEFINED__ */
  4439. #ifndef __ITrayNotify_INTERFACE_DEFINED__
  4440. #define __ITrayNotify_INTERFACE_DEFINED__
  4441. /* interface ITrayNotify */
  4442. /* [unique][uuid][object] */
  4443. EXTERN_C const IID IID_ITrayNotify;
  4444. #if defined(__cplusplus) && !defined(CINTERFACE)
  4445. MIDL_INTERFACE("fb852b2c-6bad-4605-9551-f15f87830935")
  4446. ITrayNotify : public IUnknown
  4447. {
  4448. public:
  4449. virtual HRESULT STDMETHODCALLTYPE RegisterCallback(
  4450. /* [in] */ INotificationCB *pNotifyCB) = 0;
  4451. virtual HRESULT STDMETHODCALLTYPE SetPreference(
  4452. /* [in] */ LPNOTIFYITEM pNotifyItem) = 0;
  4453. virtual HRESULT STDMETHODCALLTYPE EnableAutoTray(
  4454. /* [in] */ BOOL bTraySetting) = 0;
  4455. };
  4456. #else /* C style interface */
  4457. typedef struct ITrayNotifyVtbl
  4458. {
  4459. BEGIN_INTERFACE
  4460. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4461. ITrayNotify * This,
  4462. /* [in] */ REFIID riid,
  4463. /* [iid_is][out] */ void **ppvObject);
  4464. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4465. ITrayNotify * This);
  4466. ULONG ( STDMETHODCALLTYPE *Release )(
  4467. ITrayNotify * This);
  4468. HRESULT ( STDMETHODCALLTYPE *RegisterCallback )(
  4469. ITrayNotify * This,
  4470. /* [in] */ INotificationCB *pNotifyCB);
  4471. HRESULT ( STDMETHODCALLTYPE *SetPreference )(
  4472. ITrayNotify * This,
  4473. /* [in] */ LPNOTIFYITEM pNotifyItem);
  4474. HRESULT ( STDMETHODCALLTYPE *EnableAutoTray )(
  4475. ITrayNotify * This,
  4476. /* [in] */ BOOL bTraySetting);
  4477. END_INTERFACE
  4478. } ITrayNotifyVtbl;
  4479. interface ITrayNotify
  4480. {
  4481. CONST_VTBL struct ITrayNotifyVtbl *lpVtbl;
  4482. };
  4483. #ifdef COBJMACROS
  4484. #define ITrayNotify_QueryInterface(This,riid,ppvObject) \
  4485. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4486. #define ITrayNotify_AddRef(This) \
  4487. (This)->lpVtbl -> AddRef(This)
  4488. #define ITrayNotify_Release(This) \
  4489. (This)->lpVtbl -> Release(This)
  4490. #define ITrayNotify_RegisterCallback(This,pNotifyCB) \
  4491. (This)->lpVtbl -> RegisterCallback(This,pNotifyCB)
  4492. #define ITrayNotify_SetPreference(This,pNotifyItem) \
  4493. (This)->lpVtbl -> SetPreference(This,pNotifyItem)
  4494. #define ITrayNotify_EnableAutoTray(This,bTraySetting) \
  4495. (This)->lpVtbl -> EnableAutoTray(This,bTraySetting)
  4496. #endif /* COBJMACROS */
  4497. #endif /* C style interface */
  4498. HRESULT STDMETHODCALLTYPE ITrayNotify_RegisterCallback_Proxy(
  4499. ITrayNotify * This,
  4500. /* [in] */ INotificationCB *pNotifyCB);
  4501. void __RPC_STUB ITrayNotify_RegisterCallback_Stub(
  4502. IRpcStubBuffer *This,
  4503. IRpcChannelBuffer *_pRpcChannelBuffer,
  4504. PRPC_MESSAGE _pRpcMessage,
  4505. DWORD *_pdwStubPhase);
  4506. HRESULT STDMETHODCALLTYPE ITrayNotify_SetPreference_Proxy(
  4507. ITrayNotify * This,
  4508. /* [in] */ LPNOTIFYITEM pNotifyItem);
  4509. void __RPC_STUB ITrayNotify_SetPreference_Stub(
  4510. IRpcStubBuffer *This,
  4511. IRpcChannelBuffer *_pRpcChannelBuffer,
  4512. PRPC_MESSAGE _pRpcMessage,
  4513. DWORD *_pdwStubPhase);
  4514. HRESULT STDMETHODCALLTYPE ITrayNotify_EnableAutoTray_Proxy(
  4515. ITrayNotify * This,
  4516. /* [in] */ BOOL bTraySetting);
  4517. void __RPC_STUB ITrayNotify_EnableAutoTray_Stub(
  4518. IRpcStubBuffer *This,
  4519. IRpcChannelBuffer *_pRpcChannelBuffer,
  4520. PRPC_MESSAGE _pRpcMessage,
  4521. DWORD *_pdwStubPhase);
  4522. #endif /* __ITrayNotify_INTERFACE_DEFINED__ */
  4523. #ifndef __IMagic_INTERFACE_DEFINED__
  4524. #define __IMagic_INTERFACE_DEFINED__
  4525. /* interface IMagic */
  4526. /* [object][local][uuid] */
  4527. enum __MIDL_IMagic_0001
  4528. { MAGIC_ALIGN_BOTTOMLEFT = 0x1,
  4529. MAGIC_ALIGN_BOTTOMRIGHT = 0x2,
  4530. MAGIC_ALIGN_TOPLEFT = 0x3,
  4531. MAGIC_ALIGN_TOPRIGHT = 0x4,
  4532. MAGIC_ALIGN_CENTER = 0x5
  4533. } ;
  4534. typedef DWORD MAGIC_ALIGN;
  4535. EXTERN_C const IID IID_IMagic;
  4536. #if defined(__cplusplus) && !defined(CINTERFACE)
  4537. MIDL_INTERFACE("3037B6E1-0B58-4c34-AA63-A958D2A4413D")
  4538. IMagic : public IUnknown
  4539. {
  4540. public:
  4541. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Illusion(
  4542. HMODULE hmod,
  4543. UINT uId,
  4544. UINT cFrames,
  4545. UINT interval,
  4546. MAGIC_ALIGN align,
  4547. RECT rc) = 0;
  4548. virtual HRESULT STDMETHODCALLTYPE BlinkFrom(
  4549. HDC hdcFrom,
  4550. RECT *rc) = 0;
  4551. virtual HRESULT STDMETHODCALLTYPE BlinkMove(
  4552. RECT *rc) = 0;
  4553. virtual HRESULT STDMETHODCALLTYPE BlinkTo(
  4554. HDC hdcTo,
  4555. UINT cFrames) = 0;
  4556. };
  4557. #else /* C style interface */
  4558. typedef struct IMagicVtbl
  4559. {
  4560. BEGIN_INTERFACE
  4561. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4562. IMagic * This,
  4563. /* [in] */ REFIID riid,
  4564. /* [iid_is][out] */ void **ppvObject);
  4565. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4566. IMagic * This);
  4567. ULONG ( STDMETHODCALLTYPE *Release )(
  4568. IMagic * This);
  4569. /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE *Illusion )(
  4570. IMagic * This,
  4571. HMODULE hmod,
  4572. UINT uId,
  4573. UINT cFrames,
  4574. UINT interval,
  4575. MAGIC_ALIGN align,
  4576. RECT rc);
  4577. HRESULT ( STDMETHODCALLTYPE *BlinkFrom )(
  4578. IMagic * This,
  4579. HDC hdcFrom,
  4580. RECT *rc);
  4581. HRESULT ( STDMETHODCALLTYPE *BlinkMove )(
  4582. IMagic * This,
  4583. RECT *rc);
  4584. HRESULT ( STDMETHODCALLTYPE *BlinkTo )(
  4585. IMagic * This,
  4586. HDC hdcTo,
  4587. UINT cFrames);
  4588. END_INTERFACE
  4589. } IMagicVtbl;
  4590. interface IMagic
  4591. {
  4592. CONST_VTBL struct IMagicVtbl *lpVtbl;
  4593. };
  4594. #ifdef COBJMACROS
  4595. #define IMagic_QueryInterface(This,riid,ppvObject) \
  4596. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4597. #define IMagic_AddRef(This) \
  4598. (This)->lpVtbl -> AddRef(This)
  4599. #define IMagic_Release(This) \
  4600. (This)->lpVtbl -> Release(This)
  4601. #define IMagic_Illusion(This,hmod,uId,cFrames,interval,align,rc) \
  4602. (This)->lpVtbl -> Illusion(This,hmod,uId,cFrames,interval,align,rc)
  4603. #define IMagic_BlinkFrom(This,hdcFrom,rc) \
  4604. (This)->lpVtbl -> BlinkFrom(This,hdcFrom,rc)
  4605. #define IMagic_BlinkMove(This,rc) \
  4606. (This)->lpVtbl -> BlinkMove(This,rc)
  4607. #define IMagic_BlinkTo(This,hdcTo,cFrames) \
  4608. (This)->lpVtbl -> BlinkTo(This,hdcTo,cFrames)
  4609. #endif /* COBJMACROS */
  4610. #endif /* C style interface */
  4611. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IMagic_Illusion_Proxy(
  4612. IMagic * This,
  4613. HMODULE hmod,
  4614. UINT uId,
  4615. UINT cFrames,
  4616. UINT interval,
  4617. MAGIC_ALIGN align,
  4618. RECT rc);
  4619. void __RPC_STUB IMagic_Illusion_Stub(
  4620. IRpcStubBuffer *This,
  4621. IRpcChannelBuffer *_pRpcChannelBuffer,
  4622. PRPC_MESSAGE _pRpcMessage,
  4623. DWORD *_pdwStubPhase);
  4624. HRESULT STDMETHODCALLTYPE IMagic_BlinkFrom_Proxy(
  4625. IMagic * This,
  4626. HDC hdcFrom,
  4627. RECT *rc);
  4628. void __RPC_STUB IMagic_BlinkFrom_Stub(
  4629. IRpcStubBuffer *This,
  4630. IRpcChannelBuffer *_pRpcChannelBuffer,
  4631. PRPC_MESSAGE _pRpcMessage,
  4632. DWORD *_pdwStubPhase);
  4633. HRESULT STDMETHODCALLTYPE IMagic_BlinkMove_Proxy(
  4634. IMagic * This,
  4635. RECT *rc);
  4636. void __RPC_STUB IMagic_BlinkMove_Stub(
  4637. IRpcStubBuffer *This,
  4638. IRpcChannelBuffer *_pRpcChannelBuffer,
  4639. PRPC_MESSAGE _pRpcMessage,
  4640. DWORD *_pdwStubPhase);
  4641. HRESULT STDMETHODCALLTYPE IMagic_BlinkTo_Proxy(
  4642. IMagic * This,
  4643. HDC hdcTo,
  4644. UINT cFrames);
  4645. void __RPC_STUB IMagic_BlinkTo_Stub(
  4646. IRpcStubBuffer *This,
  4647. IRpcChannelBuffer *_pRpcChannelBuffer,
  4648. PRPC_MESSAGE _pRpcMessage,
  4649. DWORD *_pdwStubPhase);
  4650. #endif /* __IMagic_INTERFACE_DEFINED__ */
  4651. #ifndef __IResourceMap_INTERFACE_DEFINED__
  4652. #define __IResourceMap_INTERFACE_DEFINED__
  4653. /* interface IResourceMap */
  4654. /* [object][local][helpstring][uuid] */
  4655. EXTERN_C const IID IID_IResourceMap;
  4656. #if defined(__cplusplus) && !defined(CINTERFACE)
  4657. MIDL_INTERFACE("9c50a798-5d90-4130-83da-38da83456711")
  4658. IResourceMap : public IUnknown
  4659. {
  4660. public:
  4661. virtual HRESULT STDMETHODCALLTYPE LoadResourceMap(
  4662. /* [string][in] */ LPCWSTR pszResourceClass,
  4663. /* [string][in] */ LPCWSTR pszID) = 0;
  4664. virtual HRESULT STDMETHODCALLTYPE SelectResourceScope(
  4665. /* [string][in] */ LPCWSTR pszResourceType,
  4666. /* [string][in] */ LPCWSTR pszID,
  4667. /* [out][in] */ IXMLDOMNode **ppdnScope) = 0;
  4668. virtual HRESULT STDMETHODCALLTYPE LoadString(
  4669. /* [in] */ IXMLDOMNode *pdnScope,
  4670. /* [string][in] */ LPCWSTR pszID,
  4671. /* [out][in] */ LPWSTR pszBuffer,
  4672. /* [in] */ int cch) = 0;
  4673. virtual HRESULT STDMETHODCALLTYPE LoadBitmap(
  4674. /* [in] */ IXMLDOMNode *pdnScope,
  4675. /* [string][in] */ LPCWSTR pszID,
  4676. /* [out][in] */ HBITMAP *pbm) = 0;
  4677. };
  4678. #else /* C style interface */
  4679. typedef struct IResourceMapVtbl
  4680. {
  4681. BEGIN_INTERFACE
  4682. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4683. IResourceMap * This,
  4684. /* [in] */ REFIID riid,
  4685. /* [iid_is][out] */ void **ppvObject);
  4686. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4687. IResourceMap * This);
  4688. ULONG ( STDMETHODCALLTYPE *Release )(
  4689. IResourceMap * This);
  4690. HRESULT ( STDMETHODCALLTYPE *LoadResourceMap )(
  4691. IResourceMap * This,
  4692. /* [string][in] */ LPCWSTR pszResourceClass,
  4693. /* [string][in] */ LPCWSTR pszID);
  4694. HRESULT ( STDMETHODCALLTYPE *SelectResourceScope )(
  4695. IResourceMap * This,
  4696. /* [string][in] */ LPCWSTR pszResourceType,
  4697. /* [string][in] */ LPCWSTR pszID,
  4698. /* [out][in] */ IXMLDOMNode **ppdnScope);
  4699. HRESULT ( STDMETHODCALLTYPE *LoadString )(
  4700. IResourceMap * This,
  4701. /* [in] */ IXMLDOMNode *pdnScope,
  4702. /* [string][in] */ LPCWSTR pszID,
  4703. /* [out][in] */ LPWSTR pszBuffer,
  4704. /* [in] */ int cch);
  4705. HRESULT ( STDMETHODCALLTYPE *LoadBitmap )(
  4706. IResourceMap * This,
  4707. /* [in] */ IXMLDOMNode *pdnScope,
  4708. /* [string][in] */ LPCWSTR pszID,
  4709. /* [out][in] */ HBITMAP *pbm);
  4710. END_INTERFACE
  4711. } IResourceMapVtbl;
  4712. interface IResourceMap
  4713. {
  4714. CONST_VTBL struct IResourceMapVtbl *lpVtbl;
  4715. };
  4716. #ifdef COBJMACROS
  4717. #define IResourceMap_QueryInterface(This,riid,ppvObject) \
  4718. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4719. #define IResourceMap_AddRef(This) \
  4720. (This)->lpVtbl -> AddRef(This)
  4721. #define IResourceMap_Release(This) \
  4722. (This)->lpVtbl -> Release(This)
  4723. #define IResourceMap_LoadResourceMap(This,pszResourceClass,pszID) \
  4724. (This)->lpVtbl -> LoadResourceMap(This,pszResourceClass,pszID)
  4725. #define IResourceMap_SelectResourceScope(This,pszResourceType,pszID,ppdnScope) \
  4726. (This)->lpVtbl -> SelectResourceScope(This,pszResourceType,pszID,ppdnScope)
  4727. #define IResourceMap_LoadString(This,pdnScope,pszID,pszBuffer,cch) \
  4728. (This)->lpVtbl -> LoadString(This,pdnScope,pszID,pszBuffer,cch)
  4729. #define IResourceMap_LoadBitmap(This,pdnScope,pszID,pbm) \
  4730. (This)->lpVtbl -> LoadBitmap(This,pdnScope,pszID,pbm)
  4731. #endif /* COBJMACROS */
  4732. #endif /* C style interface */
  4733. HRESULT STDMETHODCALLTYPE IResourceMap_LoadResourceMap_Proxy(
  4734. IResourceMap * This,
  4735. /* [string][in] */ LPCWSTR pszResourceClass,
  4736. /* [string][in] */ LPCWSTR pszID);
  4737. void __RPC_STUB IResourceMap_LoadResourceMap_Stub(
  4738. IRpcStubBuffer *This,
  4739. IRpcChannelBuffer *_pRpcChannelBuffer,
  4740. PRPC_MESSAGE _pRpcMessage,
  4741. DWORD *_pdwStubPhase);
  4742. HRESULT STDMETHODCALLTYPE IResourceMap_SelectResourceScope_Proxy(
  4743. IResourceMap * This,
  4744. /* [string][in] */ LPCWSTR pszResourceType,
  4745. /* [string][in] */ LPCWSTR pszID,
  4746. /* [out][in] */ IXMLDOMNode **ppdnScope);
  4747. void __RPC_STUB IResourceMap_SelectResourceScope_Stub(
  4748. IRpcStubBuffer *This,
  4749. IRpcChannelBuffer *_pRpcChannelBuffer,
  4750. PRPC_MESSAGE _pRpcMessage,
  4751. DWORD *_pdwStubPhase);
  4752. HRESULT STDMETHODCALLTYPE IResourceMap_LoadString_Proxy(
  4753. IResourceMap * This,
  4754. /* [in] */ IXMLDOMNode *pdnScope,
  4755. /* [string][in] */ LPCWSTR pszID,
  4756. /* [out][in] */ LPWSTR pszBuffer,
  4757. /* [in] */ int cch);
  4758. void __RPC_STUB IResourceMap_LoadString_Stub(
  4759. IRpcStubBuffer *This,
  4760. IRpcChannelBuffer *_pRpcChannelBuffer,
  4761. PRPC_MESSAGE _pRpcMessage,
  4762. DWORD *_pdwStubPhase);
  4763. HRESULT STDMETHODCALLTYPE IResourceMap_LoadBitmap_Proxy(
  4764. IResourceMap * This,
  4765. /* [in] */ IXMLDOMNode *pdnScope,
  4766. /* [string][in] */ LPCWSTR pszID,
  4767. /* [out][in] */ HBITMAP *pbm);
  4768. void __RPC_STUB IResourceMap_LoadBitmap_Stub(
  4769. IRpcStubBuffer *This,
  4770. IRpcChannelBuffer *_pRpcChannelBuffer,
  4771. PRPC_MESSAGE _pRpcMessage,
  4772. DWORD *_pdwStubPhase);
  4773. #endif /* __IResourceMap_INTERFACE_DEFINED__ */
  4774. /* interface __MIDL_itf_shpriv_0294 */
  4775. /* [local] */
  4776. #define SID_ResourceMap IID_IResourceMap
  4777. #define HNET_SHARECONNECTION 0x00000001
  4778. #define HNET_FIREWALLCONNECTION 0x00000002
  4779. #define HNET_SHAREPRINTERS 0x00000004
  4780. #define HNET_SETCOMPUTERNAME 0x00000008
  4781. #define HNET_SETWORKGROUPNAME 0x00000010
  4782. #define HNET_SHAREFOLDERS 0x00000020
  4783. #define HNET_BRIDGEPRIVATE 0x00000040
  4784. #define HNET_ICSCLIENT 0x00000080 // Only on W9x
  4785. #define HNET_LOG 0x80000000 // Output results to a log file before configuring homenet (TODO)
  4786. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0294_v0_0_c_ifspec;
  4787. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0294_v0_0_s_ifspec;
  4788. #ifndef __IHomeNetworkWizard_INTERFACE_DEFINED__
  4789. #define __IHomeNetworkWizard_INTERFACE_DEFINED__
  4790. /* interface IHomeNetworkWizard */
  4791. /* [unique][uuid][object] */
  4792. EXTERN_C const IID IID_IHomeNetworkWizard;
  4793. #if defined(__cplusplus) && !defined(CINTERFACE)
  4794. MIDL_INTERFACE("543c4fa4-52dd-421a-947a-4d7f92b8860a")
  4795. IHomeNetworkWizard : public IUnknown
  4796. {
  4797. public:
  4798. virtual HRESULT STDMETHODCALLTYPE ConfigureSilently(
  4799. LPCWSTR pszPublicConnection,
  4800. DWORD hnetFlags,
  4801. BOOL *pfRebootRequired) = 0;
  4802. virtual HRESULT STDMETHODCALLTYPE ShowWizard(
  4803. HWND hwndParent,
  4804. BOOL *pfRebootRequired) = 0;
  4805. };
  4806. #else /* C style interface */
  4807. typedef struct IHomeNetworkWizardVtbl
  4808. {
  4809. BEGIN_INTERFACE
  4810. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4811. IHomeNetworkWizard * This,
  4812. /* [in] */ REFIID riid,
  4813. /* [iid_is][out] */ void **ppvObject);
  4814. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4815. IHomeNetworkWizard * This);
  4816. ULONG ( STDMETHODCALLTYPE *Release )(
  4817. IHomeNetworkWizard * This);
  4818. HRESULT ( STDMETHODCALLTYPE *ConfigureSilently )(
  4819. IHomeNetworkWizard * This,
  4820. LPCWSTR pszPublicConnection,
  4821. DWORD hnetFlags,
  4822. BOOL *pfRebootRequired);
  4823. HRESULT ( STDMETHODCALLTYPE *ShowWizard )(
  4824. IHomeNetworkWizard * This,
  4825. HWND hwndParent,
  4826. BOOL *pfRebootRequired);
  4827. END_INTERFACE
  4828. } IHomeNetworkWizardVtbl;
  4829. interface IHomeNetworkWizard
  4830. {
  4831. CONST_VTBL struct IHomeNetworkWizardVtbl *lpVtbl;
  4832. };
  4833. #ifdef COBJMACROS
  4834. #define IHomeNetworkWizard_QueryInterface(This,riid,ppvObject) \
  4835. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4836. #define IHomeNetworkWizard_AddRef(This) \
  4837. (This)->lpVtbl -> AddRef(This)
  4838. #define IHomeNetworkWizard_Release(This) \
  4839. (This)->lpVtbl -> Release(This)
  4840. #define IHomeNetworkWizard_ConfigureSilently(This,pszPublicConnection,hnetFlags,pfRebootRequired) \
  4841. (This)->lpVtbl -> ConfigureSilently(This,pszPublicConnection,hnetFlags,pfRebootRequired)
  4842. #define IHomeNetworkWizard_ShowWizard(This,hwndParent,pfRebootRequired) \
  4843. (This)->lpVtbl -> ShowWizard(This,hwndParent,pfRebootRequired)
  4844. #endif /* COBJMACROS */
  4845. #endif /* C style interface */
  4846. HRESULT STDMETHODCALLTYPE IHomeNetworkWizard_ConfigureSilently_Proxy(
  4847. IHomeNetworkWizard * This,
  4848. LPCWSTR pszPublicConnection,
  4849. DWORD hnetFlags,
  4850. BOOL *pfRebootRequired);
  4851. void __RPC_STUB IHomeNetworkWizard_ConfigureSilently_Stub(
  4852. IRpcStubBuffer *This,
  4853. IRpcChannelBuffer *_pRpcChannelBuffer,
  4854. PRPC_MESSAGE _pRpcMessage,
  4855. DWORD *_pdwStubPhase);
  4856. HRESULT STDMETHODCALLTYPE IHomeNetworkWizard_ShowWizard_Proxy(
  4857. IHomeNetworkWizard * This,
  4858. HWND hwndParent,
  4859. BOOL *pfRebootRequired);
  4860. void __RPC_STUB IHomeNetworkWizard_ShowWizard_Stub(
  4861. IRpcStubBuffer *This,
  4862. IRpcChannelBuffer *_pRpcChannelBuffer,
  4863. PRPC_MESSAGE _pRpcMessage,
  4864. DWORD *_pdwStubPhase);
  4865. #endif /* __IHomeNetworkWizard_INTERFACE_DEFINED__ */
  4866. #ifndef __IEnumShellItems_INTERFACE_DEFINED__
  4867. #define __IEnumShellItems_INTERFACE_DEFINED__
  4868. /* interface IEnumShellItems */
  4869. /* [unique][object][uuid][helpstring] */
  4870. EXTERN_C const IID IID_IEnumShellItems;
  4871. #if defined(__cplusplus) && !defined(CINTERFACE)
  4872. MIDL_INTERFACE("70629033-e363-4a28-a567-0db78006e6d7")
  4873. IEnumShellItems : public IUnknown
  4874. {
  4875. public:
  4876. virtual HRESULT STDMETHODCALLTYPE Next(
  4877. /* [in] */ ULONG celt,
  4878. /* [length_is][size_is][out] */ IShellItem **rgelt,
  4879. /* [out] */ ULONG *pceltFetched) = 0;
  4880. virtual HRESULT STDMETHODCALLTYPE Skip(
  4881. /* [in] */ ULONG celt) = 0;
  4882. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  4883. virtual HRESULT STDMETHODCALLTYPE Clone(
  4884. /* [out] */ IEnumShellItems **ppenum) = 0;
  4885. };
  4886. #else /* C style interface */
  4887. typedef struct IEnumShellItemsVtbl
  4888. {
  4889. BEGIN_INTERFACE
  4890. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4891. IEnumShellItems * This,
  4892. /* [in] */ REFIID riid,
  4893. /* [iid_is][out] */ void **ppvObject);
  4894. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4895. IEnumShellItems * This);
  4896. ULONG ( STDMETHODCALLTYPE *Release )(
  4897. IEnumShellItems * This);
  4898. HRESULT ( STDMETHODCALLTYPE *Next )(
  4899. IEnumShellItems * This,
  4900. /* [in] */ ULONG celt,
  4901. /* [length_is][size_is][out] */ IShellItem **rgelt,
  4902. /* [out] */ ULONG *pceltFetched);
  4903. HRESULT ( STDMETHODCALLTYPE *Skip )(
  4904. IEnumShellItems * This,
  4905. /* [in] */ ULONG celt);
  4906. HRESULT ( STDMETHODCALLTYPE *Reset )(
  4907. IEnumShellItems * This);
  4908. HRESULT ( STDMETHODCALLTYPE *Clone )(
  4909. IEnumShellItems * This,
  4910. /* [out] */ IEnumShellItems **ppenum);
  4911. END_INTERFACE
  4912. } IEnumShellItemsVtbl;
  4913. interface IEnumShellItems
  4914. {
  4915. CONST_VTBL struct IEnumShellItemsVtbl *lpVtbl;
  4916. };
  4917. #ifdef COBJMACROS
  4918. #define IEnumShellItems_QueryInterface(This,riid,ppvObject) \
  4919. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4920. #define IEnumShellItems_AddRef(This) \
  4921. (This)->lpVtbl -> AddRef(This)
  4922. #define IEnumShellItems_Release(This) \
  4923. (This)->lpVtbl -> Release(This)
  4924. #define IEnumShellItems_Next(This,celt,rgelt,pceltFetched) \
  4925. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  4926. #define IEnumShellItems_Skip(This,celt) \
  4927. (This)->lpVtbl -> Skip(This,celt)
  4928. #define IEnumShellItems_Reset(This) \
  4929. (This)->lpVtbl -> Reset(This)
  4930. #define IEnumShellItems_Clone(This,ppenum) \
  4931. (This)->lpVtbl -> Clone(This,ppenum)
  4932. #endif /* COBJMACROS */
  4933. #endif /* C style interface */
  4934. HRESULT STDMETHODCALLTYPE IEnumShellItems_Next_Proxy(
  4935. IEnumShellItems * This,
  4936. /* [in] */ ULONG celt,
  4937. /* [length_is][size_is][out] */ IShellItem **rgelt,
  4938. /* [out] */ ULONG *pceltFetched);
  4939. void __RPC_STUB IEnumShellItems_Next_Stub(
  4940. IRpcStubBuffer *This,
  4941. IRpcChannelBuffer *_pRpcChannelBuffer,
  4942. PRPC_MESSAGE _pRpcMessage,
  4943. DWORD *_pdwStubPhase);
  4944. HRESULT STDMETHODCALLTYPE IEnumShellItems_Skip_Proxy(
  4945. IEnumShellItems * This,
  4946. /* [in] */ ULONG celt);
  4947. void __RPC_STUB IEnumShellItems_Skip_Stub(
  4948. IRpcStubBuffer *This,
  4949. IRpcChannelBuffer *_pRpcChannelBuffer,
  4950. PRPC_MESSAGE _pRpcMessage,
  4951. DWORD *_pdwStubPhase);
  4952. HRESULT STDMETHODCALLTYPE IEnumShellItems_Reset_Proxy(
  4953. IEnumShellItems * This);
  4954. void __RPC_STUB IEnumShellItems_Reset_Stub(
  4955. IRpcStubBuffer *This,
  4956. IRpcChannelBuffer *_pRpcChannelBuffer,
  4957. PRPC_MESSAGE _pRpcMessage,
  4958. DWORD *_pdwStubPhase);
  4959. HRESULT STDMETHODCALLTYPE IEnumShellItems_Clone_Proxy(
  4960. IEnumShellItems * This,
  4961. /* [out] */ IEnumShellItems **ppenum);
  4962. void __RPC_STUB IEnumShellItems_Clone_Stub(
  4963. IRpcStubBuffer *This,
  4964. IRpcChannelBuffer *_pRpcChannelBuffer,
  4965. PRPC_MESSAGE _pRpcMessage,
  4966. DWORD *_pdwStubPhase);
  4967. #endif /* __IEnumShellItems_INTERFACE_DEFINED__ */
  4968. #ifndef __IParentAndItem_INTERFACE_DEFINED__
  4969. #define __IParentAndItem_INTERFACE_DEFINED__
  4970. /* interface IParentAndItem */
  4971. /* [unique][object][uuid][helpstring] */
  4972. EXTERN_C const IID IID_IParentAndItem;
  4973. #if defined(__cplusplus) && !defined(CINTERFACE)
  4974. MIDL_INTERFACE("b3a4b685-b685-4805-99d9-5dead2873236")
  4975. IParentAndItem : public IUnknown
  4976. {
  4977. public:
  4978. virtual HRESULT STDMETHODCALLTYPE SetParentAndItem(
  4979. /* [in] */ LPCITEMIDLIST pidlParent,
  4980. /* [in] */ IShellFolder *psf,
  4981. /* [in] */ LPCITEMIDLIST pidlChild) = 0;
  4982. virtual HRESULT STDMETHODCALLTYPE GetParentAndItem(
  4983. /* [out] */ LPITEMIDLIST *ppidlParent,
  4984. /* [out] */ IShellFolder **ppsf,
  4985. /* [out] */ LPITEMIDLIST *ppidlChild) = 0;
  4986. };
  4987. #else /* C style interface */
  4988. typedef struct IParentAndItemVtbl
  4989. {
  4990. BEGIN_INTERFACE
  4991. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  4992. IParentAndItem * This,
  4993. /* [in] */ REFIID riid,
  4994. /* [iid_is][out] */ void **ppvObject);
  4995. ULONG ( STDMETHODCALLTYPE *AddRef )(
  4996. IParentAndItem * This);
  4997. ULONG ( STDMETHODCALLTYPE *Release )(
  4998. IParentAndItem * This);
  4999. HRESULT ( STDMETHODCALLTYPE *SetParentAndItem )(
  5000. IParentAndItem * This,
  5001. /* [in] */ LPCITEMIDLIST pidlParent,
  5002. /* [in] */ IShellFolder *psf,
  5003. /* [in] */ LPCITEMIDLIST pidlChild);
  5004. HRESULT ( STDMETHODCALLTYPE *GetParentAndItem )(
  5005. IParentAndItem * This,
  5006. /* [out] */ LPITEMIDLIST *ppidlParent,
  5007. /* [out] */ IShellFolder **ppsf,
  5008. /* [out] */ LPITEMIDLIST *ppidlChild);
  5009. END_INTERFACE
  5010. } IParentAndItemVtbl;
  5011. interface IParentAndItem
  5012. {
  5013. CONST_VTBL struct IParentAndItemVtbl *lpVtbl;
  5014. };
  5015. #ifdef COBJMACROS
  5016. #define IParentAndItem_QueryInterface(This,riid,ppvObject) \
  5017. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5018. #define IParentAndItem_AddRef(This) \
  5019. (This)->lpVtbl -> AddRef(This)
  5020. #define IParentAndItem_Release(This) \
  5021. (This)->lpVtbl -> Release(This)
  5022. #define IParentAndItem_SetParentAndItem(This,pidlParent,psf,pidlChild) \
  5023. (This)->lpVtbl -> SetParentAndItem(This,pidlParent,psf,pidlChild)
  5024. #define IParentAndItem_GetParentAndItem(This,ppidlParent,ppsf,ppidlChild) \
  5025. (This)->lpVtbl -> GetParentAndItem(This,ppidlParent,ppsf,ppidlChild)
  5026. #endif /* COBJMACROS */
  5027. #endif /* C style interface */
  5028. HRESULT STDMETHODCALLTYPE IParentAndItem_SetParentAndItem_Proxy(
  5029. IParentAndItem * This,
  5030. /* [in] */ LPCITEMIDLIST pidlParent,
  5031. /* [in] */ IShellFolder *psf,
  5032. /* [in] */ LPCITEMIDLIST pidlChild);
  5033. void __RPC_STUB IParentAndItem_SetParentAndItem_Stub(
  5034. IRpcStubBuffer *This,
  5035. IRpcChannelBuffer *_pRpcChannelBuffer,
  5036. PRPC_MESSAGE _pRpcMessage,
  5037. DWORD *_pdwStubPhase);
  5038. HRESULT STDMETHODCALLTYPE IParentAndItem_GetParentAndItem_Proxy(
  5039. IParentAndItem * This,
  5040. /* [out] */ LPITEMIDLIST *ppidlParent,
  5041. /* [out] */ IShellFolder **ppsf,
  5042. /* [out] */ LPITEMIDLIST *ppidlChild);
  5043. void __RPC_STUB IParentAndItem_GetParentAndItem_Stub(
  5044. IRpcStubBuffer *This,
  5045. IRpcChannelBuffer *_pRpcChannelBuffer,
  5046. PRPC_MESSAGE _pRpcMessage,
  5047. DWORD *_pdwStubPhase);
  5048. #endif /* __IParentAndItem_INTERFACE_DEFINED__ */
  5049. #ifndef __IShellItemArray_INTERFACE_DEFINED__
  5050. #define __IShellItemArray_INTERFACE_DEFINED__
  5051. /* interface IShellItemArray */
  5052. /* [unique][object][uuid][helpstring] */
  5053. typedef /* [public][public][v1_enum] */
  5054. enum __MIDL_IShellItemArray_0001
  5055. { SIATTRIBFLAGS_AND = 0x1,
  5056. SIATTRIBFLAGS_OR = 0x2,
  5057. SIATTRIBFLAGS_APPCOMPAT = 0x3,
  5058. SIATTRIBFLAGS_MASK = 0x3
  5059. } SIATTRIBFLAGS;
  5060. EXTERN_C const IID IID_IShellItemArray;
  5061. #if defined(__cplusplus) && !defined(CINTERFACE)
  5062. MIDL_INTERFACE("787F8E92-9837-4011-9F83-7DE593BDC002")
  5063. IShellItemArray : public IUnknown
  5064. {
  5065. public:
  5066. virtual HRESULT STDMETHODCALLTYPE BindToHandler(
  5067. /* [in] */ IBindCtx *pbc,
  5068. /* [in] */ REFGUID rbhid,
  5069. /* [in] */ REFIID riid,
  5070. /* [iid_is][out] */ void **ppvOut) = 0;
  5071. virtual HRESULT STDMETHODCALLTYPE GetAttributes(
  5072. /* [in] */ SIATTRIBFLAGS dwAttribFlags,
  5073. /* [in] */ SFGAOF sfgaoMask,
  5074. /* [out] */ SFGAOF *psfgaoAttribs) = 0;
  5075. virtual HRESULT STDMETHODCALLTYPE GetCount(
  5076. /* [out] */ DWORD *pdwNumItems) = 0;
  5077. virtual HRESULT STDMETHODCALLTYPE GetItemAt(
  5078. /* [in] */ DWORD dwIndex,
  5079. /* [out] */ IShellItem **ppsi) = 0;
  5080. virtual HRESULT STDMETHODCALLTYPE EnumItems(
  5081. /* [out] */ IEnumShellItems **ppenumShellItems) = 0;
  5082. };
  5083. #else /* C style interface */
  5084. typedef struct IShellItemArrayVtbl
  5085. {
  5086. BEGIN_INTERFACE
  5087. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5088. IShellItemArray * This,
  5089. /* [in] */ REFIID riid,
  5090. /* [iid_is][out] */ void **ppvObject);
  5091. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5092. IShellItemArray * This);
  5093. ULONG ( STDMETHODCALLTYPE *Release )(
  5094. IShellItemArray * This);
  5095. HRESULT ( STDMETHODCALLTYPE *BindToHandler )(
  5096. IShellItemArray * This,
  5097. /* [in] */ IBindCtx *pbc,
  5098. /* [in] */ REFGUID rbhid,
  5099. /* [in] */ REFIID riid,
  5100. /* [iid_is][out] */ void **ppvOut);
  5101. HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
  5102. IShellItemArray * This,
  5103. /* [in] */ SIATTRIBFLAGS dwAttribFlags,
  5104. /* [in] */ SFGAOF sfgaoMask,
  5105. /* [out] */ SFGAOF *psfgaoAttribs);
  5106. HRESULT ( STDMETHODCALLTYPE *GetCount )(
  5107. IShellItemArray * This,
  5108. /* [out] */ DWORD *pdwNumItems);
  5109. HRESULT ( STDMETHODCALLTYPE *GetItemAt )(
  5110. IShellItemArray * This,
  5111. /* [in] */ DWORD dwIndex,
  5112. /* [out] */ IShellItem **ppsi);
  5113. HRESULT ( STDMETHODCALLTYPE *EnumItems )(
  5114. IShellItemArray * This,
  5115. /* [out] */ IEnumShellItems **ppenumShellItems);
  5116. END_INTERFACE
  5117. } IShellItemArrayVtbl;
  5118. interface IShellItemArray
  5119. {
  5120. CONST_VTBL struct IShellItemArrayVtbl *lpVtbl;
  5121. };
  5122. #ifdef COBJMACROS
  5123. #define IShellItemArray_QueryInterface(This,riid,ppvObject) \
  5124. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5125. #define IShellItemArray_AddRef(This) \
  5126. (This)->lpVtbl -> AddRef(This)
  5127. #define IShellItemArray_Release(This) \
  5128. (This)->lpVtbl -> Release(This)
  5129. #define IShellItemArray_BindToHandler(This,pbc,rbhid,riid,ppvOut) \
  5130. (This)->lpVtbl -> BindToHandler(This,pbc,rbhid,riid,ppvOut)
  5131. #define IShellItemArray_GetAttributes(This,dwAttribFlags,sfgaoMask,psfgaoAttribs) \
  5132. (This)->lpVtbl -> GetAttributes(This,dwAttribFlags,sfgaoMask,psfgaoAttribs)
  5133. #define IShellItemArray_GetCount(This,pdwNumItems) \
  5134. (This)->lpVtbl -> GetCount(This,pdwNumItems)
  5135. #define IShellItemArray_GetItemAt(This,dwIndex,ppsi) \
  5136. (This)->lpVtbl -> GetItemAt(This,dwIndex,ppsi)
  5137. #define IShellItemArray_EnumItems(This,ppenumShellItems) \
  5138. (This)->lpVtbl -> EnumItems(This,ppenumShellItems)
  5139. #endif /* COBJMACROS */
  5140. #endif /* C style interface */
  5141. HRESULT STDMETHODCALLTYPE IShellItemArray_BindToHandler_Proxy(
  5142. IShellItemArray * This,
  5143. /* [in] */ IBindCtx *pbc,
  5144. /* [in] */ REFGUID rbhid,
  5145. /* [in] */ REFIID riid,
  5146. /* [iid_is][out] */ void **ppvOut);
  5147. void __RPC_STUB IShellItemArray_BindToHandler_Stub(
  5148. IRpcStubBuffer *This,
  5149. IRpcChannelBuffer *_pRpcChannelBuffer,
  5150. PRPC_MESSAGE _pRpcMessage,
  5151. DWORD *_pdwStubPhase);
  5152. HRESULT STDMETHODCALLTYPE IShellItemArray_GetAttributes_Proxy(
  5153. IShellItemArray * This,
  5154. /* [in] */ SIATTRIBFLAGS dwAttribFlags,
  5155. /* [in] */ SFGAOF sfgaoMask,
  5156. /* [out] */ SFGAOF *psfgaoAttribs);
  5157. void __RPC_STUB IShellItemArray_GetAttributes_Stub(
  5158. IRpcStubBuffer *This,
  5159. IRpcChannelBuffer *_pRpcChannelBuffer,
  5160. PRPC_MESSAGE _pRpcMessage,
  5161. DWORD *_pdwStubPhase);
  5162. HRESULT STDMETHODCALLTYPE IShellItemArray_GetCount_Proxy(
  5163. IShellItemArray * This,
  5164. /* [out] */ DWORD *pdwNumItems);
  5165. void __RPC_STUB IShellItemArray_GetCount_Stub(
  5166. IRpcStubBuffer *This,
  5167. IRpcChannelBuffer *_pRpcChannelBuffer,
  5168. PRPC_MESSAGE _pRpcMessage,
  5169. DWORD *_pdwStubPhase);
  5170. HRESULT STDMETHODCALLTYPE IShellItemArray_GetItemAt_Proxy(
  5171. IShellItemArray * This,
  5172. /* [in] */ DWORD dwIndex,
  5173. /* [out] */ IShellItem **ppsi);
  5174. void __RPC_STUB IShellItemArray_GetItemAt_Stub(
  5175. IRpcStubBuffer *This,
  5176. IRpcChannelBuffer *_pRpcChannelBuffer,
  5177. PRPC_MESSAGE _pRpcMessage,
  5178. DWORD *_pdwStubPhase);
  5179. HRESULT STDMETHODCALLTYPE IShellItemArray_EnumItems_Proxy(
  5180. IShellItemArray * This,
  5181. /* [out] */ IEnumShellItems **ppenumShellItems);
  5182. void __RPC_STUB IShellItemArray_EnumItems_Stub(
  5183. IRpcStubBuffer *This,
  5184. IRpcChannelBuffer *_pRpcChannelBuffer,
  5185. PRPC_MESSAGE _pRpcMessage,
  5186. DWORD *_pdwStubPhase);
  5187. #endif /* __IShellItemArray_INTERFACE_DEFINED__ */
  5188. #ifndef __IItemHandler_INTERFACE_DEFINED__
  5189. #define __IItemHandler_INTERFACE_DEFINED__
  5190. /* interface IItemHandler */
  5191. /* [object][uuid] */
  5192. EXTERN_C const IID IID_IItemHandler;
  5193. #if defined(__cplusplus) && !defined(CINTERFACE)
  5194. MIDL_INTERFACE("198a5f2d-e19f-49ea-9033-c975e0f376ec")
  5195. IItemHandler : public IPersist
  5196. {
  5197. public:
  5198. virtual HRESULT STDMETHODCALLTYPE SetItem(
  5199. IShellItem *psi) = 0;
  5200. virtual HRESULT STDMETHODCALLTYPE GetItem(
  5201. IShellItem **ppsi) = 0;
  5202. };
  5203. #else /* C style interface */
  5204. typedef struct IItemHandlerVtbl
  5205. {
  5206. BEGIN_INTERFACE
  5207. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5208. IItemHandler * This,
  5209. /* [in] */ REFIID riid,
  5210. /* [iid_is][out] */ void **ppvObject);
  5211. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5212. IItemHandler * This);
  5213. ULONG ( STDMETHODCALLTYPE *Release )(
  5214. IItemHandler * This);
  5215. HRESULT ( STDMETHODCALLTYPE *GetClassID )(
  5216. IItemHandler * This,
  5217. /* [out] */ CLSID *pClassID);
  5218. HRESULT ( STDMETHODCALLTYPE *SetItem )(
  5219. IItemHandler * This,
  5220. IShellItem *psi);
  5221. HRESULT ( STDMETHODCALLTYPE *GetItem )(
  5222. IItemHandler * This,
  5223. IShellItem **ppsi);
  5224. END_INTERFACE
  5225. } IItemHandlerVtbl;
  5226. interface IItemHandler
  5227. {
  5228. CONST_VTBL struct IItemHandlerVtbl *lpVtbl;
  5229. };
  5230. #ifdef COBJMACROS
  5231. #define IItemHandler_QueryInterface(This,riid,ppvObject) \
  5232. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5233. #define IItemHandler_AddRef(This) \
  5234. (This)->lpVtbl -> AddRef(This)
  5235. #define IItemHandler_Release(This) \
  5236. (This)->lpVtbl -> Release(This)
  5237. #define IItemHandler_GetClassID(This,pClassID) \
  5238. (This)->lpVtbl -> GetClassID(This,pClassID)
  5239. #define IItemHandler_SetItem(This,psi) \
  5240. (This)->lpVtbl -> SetItem(This,psi)
  5241. #define IItemHandler_GetItem(This,ppsi) \
  5242. (This)->lpVtbl -> GetItem(This,ppsi)
  5243. #endif /* COBJMACROS */
  5244. #endif /* C style interface */
  5245. HRESULT STDMETHODCALLTYPE IItemHandler_SetItem_Proxy(
  5246. IItemHandler * This,
  5247. IShellItem *psi);
  5248. void __RPC_STUB IItemHandler_SetItem_Stub(
  5249. IRpcStubBuffer *This,
  5250. IRpcChannelBuffer *_pRpcChannelBuffer,
  5251. PRPC_MESSAGE _pRpcMessage,
  5252. DWORD *_pdwStubPhase);
  5253. HRESULT STDMETHODCALLTYPE IItemHandler_GetItem_Proxy(
  5254. IItemHandler * This,
  5255. IShellItem **ppsi);
  5256. void __RPC_STUB IItemHandler_GetItem_Stub(
  5257. IRpcStubBuffer *This,
  5258. IRpcChannelBuffer *_pRpcChannelBuffer,
  5259. PRPC_MESSAGE _pRpcMessage,
  5260. DWORD *_pdwStubPhase);
  5261. #endif /* __IItemHandler_INTERFACE_DEFINED__ */
  5262. #ifndef __IShellFolderNames_INTERFACE_DEFINED__
  5263. #define __IShellFolderNames_INTERFACE_DEFINED__
  5264. /* interface IShellFolderNames */
  5265. /* [unique][object][uuid][helpstring] */
  5266. /* [v1_enum] */
  5267. enum __MIDL_IShellFolderNames_0001
  5268. { SIPDNF_FROMEDITING = 0x1
  5269. } ;
  5270. typedef UINT SIPDNF;
  5271. EXTERN_C const IID IID_IShellFolderNames;
  5272. #if defined(__cplusplus) && !defined(CINTERFACE)
  5273. MIDL_INTERFACE("6cd8f9cc-dfe7-48f2-a60a-3831e26af734")
  5274. IShellFolderNames : public IUnknown
  5275. {
  5276. public:
  5277. virtual HRESULT STDMETHODCALLTYPE ParseIncremental(
  5278. /* [in] */ SIPDNF flags,
  5279. /* [string][in] */ LPCOLESTR pszName,
  5280. /* [in] */ IBindCtx *pbc,
  5281. /* [out] */ LPITEMIDLIST *ppidl,
  5282. /* [out] */ UINT *pcchNext) = 0;
  5283. virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
  5284. /* [in] */ LPCITEMIDLIST pidl,
  5285. /* [in] */ SIGDN sigdnName,
  5286. /* [string][out] */ LPOLESTR *ppszName) = 0;
  5287. };
  5288. #else /* C style interface */
  5289. typedef struct IShellFolderNamesVtbl
  5290. {
  5291. BEGIN_INTERFACE
  5292. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5293. IShellFolderNames * This,
  5294. /* [in] */ REFIID riid,
  5295. /* [iid_is][out] */ void **ppvObject);
  5296. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5297. IShellFolderNames * This);
  5298. ULONG ( STDMETHODCALLTYPE *Release )(
  5299. IShellFolderNames * This);
  5300. HRESULT ( STDMETHODCALLTYPE *ParseIncremental )(
  5301. IShellFolderNames * This,
  5302. /* [in] */ SIPDNF flags,
  5303. /* [string][in] */ LPCOLESTR pszName,
  5304. /* [in] */ IBindCtx *pbc,
  5305. /* [out] */ LPITEMIDLIST *ppidl,
  5306. /* [out] */ UINT *pcchNext);
  5307. HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
  5308. IShellFolderNames * This,
  5309. /* [in] */ LPCITEMIDLIST pidl,
  5310. /* [in] */ SIGDN sigdnName,
  5311. /* [string][out] */ LPOLESTR *ppszName);
  5312. END_INTERFACE
  5313. } IShellFolderNamesVtbl;
  5314. interface IShellFolderNames
  5315. {
  5316. CONST_VTBL struct IShellFolderNamesVtbl *lpVtbl;
  5317. };
  5318. #ifdef COBJMACROS
  5319. #define IShellFolderNames_QueryInterface(This,riid,ppvObject) \
  5320. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5321. #define IShellFolderNames_AddRef(This) \
  5322. (This)->lpVtbl -> AddRef(This)
  5323. #define IShellFolderNames_Release(This) \
  5324. (This)->lpVtbl -> Release(This)
  5325. #define IShellFolderNames_ParseIncremental(This,flags,pszName,pbc,ppidl,pcchNext) \
  5326. (This)->lpVtbl -> ParseIncremental(This,flags,pszName,pbc,ppidl,pcchNext)
  5327. #define IShellFolderNames_GetDisplayName(This,pidl,sigdnName,ppszName) \
  5328. (This)->lpVtbl -> GetDisplayName(This,pidl,sigdnName,ppszName)
  5329. #endif /* COBJMACROS */
  5330. #endif /* C style interface */
  5331. HRESULT STDMETHODCALLTYPE IShellFolderNames_ParseIncremental_Proxy(
  5332. IShellFolderNames * This,
  5333. /* [in] */ SIPDNF flags,
  5334. /* [string][in] */ LPCOLESTR pszName,
  5335. /* [in] */ IBindCtx *pbc,
  5336. /* [out] */ LPITEMIDLIST *ppidl,
  5337. /* [out] */ UINT *pcchNext);
  5338. void __RPC_STUB IShellFolderNames_ParseIncremental_Stub(
  5339. IRpcStubBuffer *This,
  5340. IRpcChannelBuffer *_pRpcChannelBuffer,
  5341. PRPC_MESSAGE _pRpcMessage,
  5342. DWORD *_pdwStubPhase);
  5343. HRESULT STDMETHODCALLTYPE IShellFolderNames_GetDisplayName_Proxy(
  5344. IShellFolderNames * This,
  5345. /* [in] */ LPCITEMIDLIST pidl,
  5346. /* [in] */ SIGDN sigdnName,
  5347. /* [string][out] */ LPOLESTR *ppszName);
  5348. void __RPC_STUB IShellFolderNames_GetDisplayName_Stub(
  5349. IRpcStubBuffer *This,
  5350. IRpcChannelBuffer *_pRpcChannelBuffer,
  5351. PRPC_MESSAGE _pRpcMessage,
  5352. DWORD *_pdwStubPhase);
  5353. #endif /* __IShellFolderNames_INTERFACE_DEFINED__ */
  5354. #ifndef __IFolderItemsView_INTERFACE_DEFINED__
  5355. #define __IFolderItemsView_INTERFACE_DEFINED__
  5356. /* interface IFolderItemsView */
  5357. /* [unique][object][uuid][helpstring] */
  5358. EXTERN_C const IID IID_IFolderItemsView;
  5359. #if defined(__cplusplus) && !defined(CINTERFACE)
  5360. MIDL_INTERFACE("0be044ca-f8a3-49b8-bdb2-5f5319e9de89")
  5361. IFolderItemsView : public IUnknown
  5362. {
  5363. public:
  5364. virtual HRESULT STDMETHODCALLTYPE GetCurrentViewMode(
  5365. /* [out] */ UINT *pViewMode) = 0;
  5366. virtual HRESULT STDMETHODCALLTYPE SetCurrentViewMode(
  5367. /* [in] */ UINT ViewMode) = 0;
  5368. virtual HRESULT STDMETHODCALLTYPE GetFolder(
  5369. /* [in] */ REFIID riid,
  5370. /* [iid_is][out] */ void **ppv) = 0;
  5371. virtual HRESULT STDMETHODCALLTYPE GetFolderItem(
  5372. /* [out] */ IShellItem **ppsiFolder) = 0;
  5373. virtual HRESULT STDMETHODCALLTYPE ItemCount(
  5374. /* [in] */ UINT *pcItems) = 0;
  5375. virtual HRESULT STDMETHODCALLTYPE EnumItems(
  5376. /* [out] */ IEnumShellItems **ppenum) = 0;
  5377. virtual HRESULT STDMETHODCALLTYPE SelectedItemCount(
  5378. /* [out] */ UINT *pcSelected) = 0;
  5379. virtual HRESULT STDMETHODCALLTYPE EnumSelectedItems(
  5380. /* [out] */ IEnumShellItems **ppenum) = 0;
  5381. virtual HRESULT STDMETHODCALLTYPE Item(
  5382. /* [in] */ int iViewIndex,
  5383. /* [out] */ IShellItem **ppsi) = 0;
  5384. virtual HRESULT STDMETHODCALLTYPE ItemIndex(
  5385. /* [in] */ IShellItem *psi,
  5386. /* [out] */ int *piViewIndex) = 0;
  5387. virtual HRESULT STDMETHODCALLTYPE SelectItem(
  5388. /* [in] */ int iViewIndex,
  5389. /* [in] */ SVSIF svsif) = 0;
  5390. virtual HRESULT STDMETHODCALLTYPE SelectionMark(
  5391. /* [in] */ int *piViewIndex) = 0;
  5392. };
  5393. #else /* C style interface */
  5394. typedef struct IFolderItemsViewVtbl
  5395. {
  5396. BEGIN_INTERFACE
  5397. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5398. IFolderItemsView * This,
  5399. /* [in] */ REFIID riid,
  5400. /* [iid_is][out] */ void **ppvObject);
  5401. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5402. IFolderItemsView * This);
  5403. ULONG ( STDMETHODCALLTYPE *Release )(
  5404. IFolderItemsView * This);
  5405. HRESULT ( STDMETHODCALLTYPE *GetCurrentViewMode )(
  5406. IFolderItemsView * This,
  5407. /* [out] */ UINT *pViewMode);
  5408. HRESULT ( STDMETHODCALLTYPE *SetCurrentViewMode )(
  5409. IFolderItemsView * This,
  5410. /* [in] */ UINT ViewMode);
  5411. HRESULT ( STDMETHODCALLTYPE *GetFolder )(
  5412. IFolderItemsView * This,
  5413. /* [in] */ REFIID riid,
  5414. /* [iid_is][out] */ void **ppv);
  5415. HRESULT ( STDMETHODCALLTYPE *GetFolderItem )(
  5416. IFolderItemsView * This,
  5417. /* [out] */ IShellItem **ppsiFolder);
  5418. HRESULT ( STDMETHODCALLTYPE *ItemCount )(
  5419. IFolderItemsView * This,
  5420. /* [in] */ UINT *pcItems);
  5421. HRESULT ( STDMETHODCALLTYPE *EnumItems )(
  5422. IFolderItemsView * This,
  5423. /* [out] */ IEnumShellItems **ppenum);
  5424. HRESULT ( STDMETHODCALLTYPE *SelectedItemCount )(
  5425. IFolderItemsView * This,
  5426. /* [out] */ UINT *pcSelected);
  5427. HRESULT ( STDMETHODCALLTYPE *EnumSelectedItems )(
  5428. IFolderItemsView * This,
  5429. /* [out] */ IEnumShellItems **ppenum);
  5430. HRESULT ( STDMETHODCALLTYPE *Item )(
  5431. IFolderItemsView * This,
  5432. /* [in] */ int iViewIndex,
  5433. /* [out] */ IShellItem **ppsi);
  5434. HRESULT ( STDMETHODCALLTYPE *ItemIndex )(
  5435. IFolderItemsView * This,
  5436. /* [in] */ IShellItem *psi,
  5437. /* [out] */ int *piViewIndex);
  5438. HRESULT ( STDMETHODCALLTYPE *SelectItem )(
  5439. IFolderItemsView * This,
  5440. /* [in] */ int iViewIndex,
  5441. /* [in] */ SVSIF svsif);
  5442. HRESULT ( STDMETHODCALLTYPE *SelectionMark )(
  5443. IFolderItemsView * This,
  5444. /* [in] */ int *piViewIndex);
  5445. END_INTERFACE
  5446. } IFolderItemsViewVtbl;
  5447. interface IFolderItemsView
  5448. {
  5449. CONST_VTBL struct IFolderItemsViewVtbl *lpVtbl;
  5450. };
  5451. #ifdef COBJMACROS
  5452. #define IFolderItemsView_QueryInterface(This,riid,ppvObject) \
  5453. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5454. #define IFolderItemsView_AddRef(This) \
  5455. (This)->lpVtbl -> AddRef(This)
  5456. #define IFolderItemsView_Release(This) \
  5457. (This)->lpVtbl -> Release(This)
  5458. #define IFolderItemsView_GetCurrentViewMode(This,pViewMode) \
  5459. (This)->lpVtbl -> GetCurrentViewMode(This,pViewMode)
  5460. #define IFolderItemsView_SetCurrentViewMode(This,ViewMode) \
  5461. (This)->lpVtbl -> SetCurrentViewMode(This,ViewMode)
  5462. #define IFolderItemsView_GetFolder(This,riid,ppv) \
  5463. (This)->lpVtbl -> GetFolder(This,riid,ppv)
  5464. #define IFolderItemsView_GetFolderItem(This,ppsiFolder) \
  5465. (This)->lpVtbl -> GetFolderItem(This,ppsiFolder)
  5466. #define IFolderItemsView_ItemCount(This,pcItems) \
  5467. (This)->lpVtbl -> ItemCount(This,pcItems)
  5468. #define IFolderItemsView_EnumItems(This,ppenum) \
  5469. (This)->lpVtbl -> EnumItems(This,ppenum)
  5470. #define IFolderItemsView_SelectedItemCount(This,pcSelected) \
  5471. (This)->lpVtbl -> SelectedItemCount(This,pcSelected)
  5472. #define IFolderItemsView_EnumSelectedItems(This,ppenum) \
  5473. (This)->lpVtbl -> EnumSelectedItems(This,ppenum)
  5474. #define IFolderItemsView_Item(This,iViewIndex,ppsi) \
  5475. (This)->lpVtbl -> Item(This,iViewIndex,ppsi)
  5476. #define IFolderItemsView_ItemIndex(This,psi,piViewIndex) \
  5477. (This)->lpVtbl -> ItemIndex(This,psi,piViewIndex)
  5478. #define IFolderItemsView_SelectItem(This,iViewIndex,svsif) \
  5479. (This)->lpVtbl -> SelectItem(This,iViewIndex,svsif)
  5480. #define IFolderItemsView_SelectionMark(This,piViewIndex) \
  5481. (This)->lpVtbl -> SelectionMark(This,piViewIndex)
  5482. #endif /* COBJMACROS */
  5483. #endif /* C style interface */
  5484. HRESULT STDMETHODCALLTYPE IFolderItemsView_GetCurrentViewMode_Proxy(
  5485. IFolderItemsView * This,
  5486. /* [out] */ UINT *pViewMode);
  5487. void __RPC_STUB IFolderItemsView_GetCurrentViewMode_Stub(
  5488. IRpcStubBuffer *This,
  5489. IRpcChannelBuffer *_pRpcChannelBuffer,
  5490. PRPC_MESSAGE _pRpcMessage,
  5491. DWORD *_pdwStubPhase);
  5492. HRESULT STDMETHODCALLTYPE IFolderItemsView_SetCurrentViewMode_Proxy(
  5493. IFolderItemsView * This,
  5494. /* [in] */ UINT ViewMode);
  5495. void __RPC_STUB IFolderItemsView_SetCurrentViewMode_Stub(
  5496. IRpcStubBuffer *This,
  5497. IRpcChannelBuffer *_pRpcChannelBuffer,
  5498. PRPC_MESSAGE _pRpcMessage,
  5499. DWORD *_pdwStubPhase);
  5500. HRESULT STDMETHODCALLTYPE IFolderItemsView_GetFolder_Proxy(
  5501. IFolderItemsView * This,
  5502. /* [in] */ REFIID riid,
  5503. /* [iid_is][out] */ void **ppv);
  5504. void __RPC_STUB IFolderItemsView_GetFolder_Stub(
  5505. IRpcStubBuffer *This,
  5506. IRpcChannelBuffer *_pRpcChannelBuffer,
  5507. PRPC_MESSAGE _pRpcMessage,
  5508. DWORD *_pdwStubPhase);
  5509. HRESULT STDMETHODCALLTYPE IFolderItemsView_GetFolderItem_Proxy(
  5510. IFolderItemsView * This,
  5511. /* [out] */ IShellItem **ppsiFolder);
  5512. void __RPC_STUB IFolderItemsView_GetFolderItem_Stub(
  5513. IRpcStubBuffer *This,
  5514. IRpcChannelBuffer *_pRpcChannelBuffer,
  5515. PRPC_MESSAGE _pRpcMessage,
  5516. DWORD *_pdwStubPhase);
  5517. HRESULT STDMETHODCALLTYPE IFolderItemsView_ItemCount_Proxy(
  5518. IFolderItemsView * This,
  5519. /* [in] */ UINT *pcItems);
  5520. void __RPC_STUB IFolderItemsView_ItemCount_Stub(
  5521. IRpcStubBuffer *This,
  5522. IRpcChannelBuffer *_pRpcChannelBuffer,
  5523. PRPC_MESSAGE _pRpcMessage,
  5524. DWORD *_pdwStubPhase);
  5525. HRESULT STDMETHODCALLTYPE IFolderItemsView_EnumItems_Proxy(
  5526. IFolderItemsView * This,
  5527. /* [out] */ IEnumShellItems **ppenum);
  5528. void __RPC_STUB IFolderItemsView_EnumItems_Stub(
  5529. IRpcStubBuffer *This,
  5530. IRpcChannelBuffer *_pRpcChannelBuffer,
  5531. PRPC_MESSAGE _pRpcMessage,
  5532. DWORD *_pdwStubPhase);
  5533. HRESULT STDMETHODCALLTYPE IFolderItemsView_SelectedItemCount_Proxy(
  5534. IFolderItemsView * This,
  5535. /* [out] */ UINT *pcSelected);
  5536. void __RPC_STUB IFolderItemsView_SelectedItemCount_Stub(
  5537. IRpcStubBuffer *This,
  5538. IRpcChannelBuffer *_pRpcChannelBuffer,
  5539. PRPC_MESSAGE _pRpcMessage,
  5540. DWORD *_pdwStubPhase);
  5541. HRESULT STDMETHODCALLTYPE IFolderItemsView_EnumSelectedItems_Proxy(
  5542. IFolderItemsView * This,
  5543. /* [out] */ IEnumShellItems **ppenum);
  5544. void __RPC_STUB IFolderItemsView_EnumSelectedItems_Stub(
  5545. IRpcStubBuffer *This,
  5546. IRpcChannelBuffer *_pRpcChannelBuffer,
  5547. PRPC_MESSAGE _pRpcMessage,
  5548. DWORD *_pdwStubPhase);
  5549. HRESULT STDMETHODCALLTYPE IFolderItemsView_Item_Proxy(
  5550. IFolderItemsView * This,
  5551. /* [in] */ int iViewIndex,
  5552. /* [out] */ IShellItem **ppsi);
  5553. void __RPC_STUB IFolderItemsView_Item_Stub(
  5554. IRpcStubBuffer *This,
  5555. IRpcChannelBuffer *_pRpcChannelBuffer,
  5556. PRPC_MESSAGE _pRpcMessage,
  5557. DWORD *_pdwStubPhase);
  5558. HRESULT STDMETHODCALLTYPE IFolderItemsView_ItemIndex_Proxy(
  5559. IFolderItemsView * This,
  5560. /* [in] */ IShellItem *psi,
  5561. /* [out] */ int *piViewIndex);
  5562. void __RPC_STUB IFolderItemsView_ItemIndex_Stub(
  5563. IRpcStubBuffer *This,
  5564. IRpcChannelBuffer *_pRpcChannelBuffer,
  5565. PRPC_MESSAGE _pRpcMessage,
  5566. DWORD *_pdwStubPhase);
  5567. HRESULT STDMETHODCALLTYPE IFolderItemsView_SelectItem_Proxy(
  5568. IFolderItemsView * This,
  5569. /* [in] */ int iViewIndex,
  5570. /* [in] */ SVSIF svsif);
  5571. void __RPC_STUB IFolderItemsView_SelectItem_Stub(
  5572. IRpcStubBuffer *This,
  5573. IRpcChannelBuffer *_pRpcChannelBuffer,
  5574. PRPC_MESSAGE _pRpcMessage,
  5575. DWORD *_pdwStubPhase);
  5576. HRESULT STDMETHODCALLTYPE IFolderItemsView_SelectionMark_Proxy(
  5577. IFolderItemsView * This,
  5578. /* [in] */ int *piViewIndex);
  5579. void __RPC_STUB IFolderItemsView_SelectionMark_Stub(
  5580. IRpcStubBuffer *This,
  5581. IRpcChannelBuffer *_pRpcChannelBuffer,
  5582. PRPC_MESSAGE _pRpcMessage,
  5583. DWORD *_pdwStubPhase);
  5584. #endif /* __IFolderItemsView_INTERFACE_DEFINED__ */
  5585. #ifndef __ILocalCopy_INTERFACE_DEFINED__
  5586. #define __ILocalCopy_INTERFACE_DEFINED__
  5587. /* interface ILocalCopy */
  5588. /* [object][uuid][helpstring] */
  5589. enum __MIDL_ILocalCopy_0001
  5590. { LCDOWN_READONLY = 0x1,
  5591. LC_SAVEAS = 0x2,
  5592. LC_FORCEROUNDTRIP = 0x10
  5593. } ;
  5594. typedef DWORD LCFLAGS;
  5595. EXTERN_C const IID IID_ILocalCopy;
  5596. #if defined(__cplusplus) && !defined(CINTERFACE)
  5597. MIDL_INTERFACE("679d9e36-f8f9-11d2-8deb-00c04f6837d5")
  5598. ILocalCopy : public IUnknown
  5599. {
  5600. public:
  5601. virtual HRESULT STDMETHODCALLTYPE Download(
  5602. /* [in] */ LCFLAGS flags,
  5603. /* [in] */ IBindCtx *pbc,
  5604. /* [string][out] */ LPWSTR *ppszPath) = 0;
  5605. virtual HRESULT STDMETHODCALLTYPE Upload(
  5606. /* [in] */ LCFLAGS flags,
  5607. /* [in] */ IBindCtx *pbc) = 0;
  5608. };
  5609. #else /* C style interface */
  5610. typedef struct ILocalCopyVtbl
  5611. {
  5612. BEGIN_INTERFACE
  5613. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5614. ILocalCopy * This,
  5615. /* [in] */ REFIID riid,
  5616. /* [iid_is][out] */ void **ppvObject);
  5617. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5618. ILocalCopy * This);
  5619. ULONG ( STDMETHODCALLTYPE *Release )(
  5620. ILocalCopy * This);
  5621. HRESULT ( STDMETHODCALLTYPE *Download )(
  5622. ILocalCopy * This,
  5623. /* [in] */ LCFLAGS flags,
  5624. /* [in] */ IBindCtx *pbc,
  5625. /* [string][out] */ LPWSTR *ppszPath);
  5626. HRESULT ( STDMETHODCALLTYPE *Upload )(
  5627. ILocalCopy * This,
  5628. /* [in] */ LCFLAGS flags,
  5629. /* [in] */ IBindCtx *pbc);
  5630. END_INTERFACE
  5631. } ILocalCopyVtbl;
  5632. interface ILocalCopy
  5633. {
  5634. CONST_VTBL struct ILocalCopyVtbl *lpVtbl;
  5635. };
  5636. #ifdef COBJMACROS
  5637. #define ILocalCopy_QueryInterface(This,riid,ppvObject) \
  5638. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5639. #define ILocalCopy_AddRef(This) \
  5640. (This)->lpVtbl -> AddRef(This)
  5641. #define ILocalCopy_Release(This) \
  5642. (This)->lpVtbl -> Release(This)
  5643. #define ILocalCopy_Download(This,flags,pbc,ppszPath) \
  5644. (This)->lpVtbl -> Download(This,flags,pbc,ppszPath)
  5645. #define ILocalCopy_Upload(This,flags,pbc) \
  5646. (This)->lpVtbl -> Upload(This,flags,pbc)
  5647. #endif /* COBJMACROS */
  5648. #endif /* C style interface */
  5649. HRESULT STDMETHODCALLTYPE ILocalCopy_Download_Proxy(
  5650. ILocalCopy * This,
  5651. /* [in] */ LCFLAGS flags,
  5652. /* [in] */ IBindCtx *pbc,
  5653. /* [string][out] */ LPWSTR *ppszPath);
  5654. void __RPC_STUB ILocalCopy_Download_Stub(
  5655. IRpcStubBuffer *This,
  5656. IRpcChannelBuffer *_pRpcChannelBuffer,
  5657. PRPC_MESSAGE _pRpcMessage,
  5658. DWORD *_pdwStubPhase);
  5659. HRESULT STDMETHODCALLTYPE ILocalCopy_Upload_Proxy(
  5660. ILocalCopy * This,
  5661. /* [in] */ LCFLAGS flags,
  5662. /* [in] */ IBindCtx *pbc);
  5663. void __RPC_STUB ILocalCopy_Upload_Stub(
  5664. IRpcStubBuffer *This,
  5665. IRpcChannelBuffer *_pRpcChannelBuffer,
  5666. PRPC_MESSAGE _pRpcMessage,
  5667. DWORD *_pdwStubPhase);
  5668. #endif /* __ILocalCopy_INTERFACE_DEFINED__ */
  5669. #ifndef __IDefViewFrame3_INTERFACE_DEFINED__
  5670. #define __IDefViewFrame3_INTERFACE_DEFINED__
  5671. /* interface IDefViewFrame3 */
  5672. /* [unique][object][uuid] */
  5673. EXTERN_C const IID IID_IDefViewFrame3;
  5674. #if defined(__cplusplus) && !defined(CINTERFACE)
  5675. MIDL_INTERFACE("985F64F0-D410-4E02-BE22-DA07F2B5C5E1")
  5676. IDefViewFrame3 : public IUnknown
  5677. {
  5678. public:
  5679. virtual HRESULT STDMETHODCALLTYPE GetWindowLV(
  5680. HWND *phwnd) = 0;
  5681. virtual HRESULT STDMETHODCALLTYPE ShowHideListView( void) = 0;
  5682. virtual HRESULT STDMETHODCALLTYPE OnResizeListView( void) = 0;
  5683. virtual HRESULT STDMETHODCALLTYPE ReleaseWindowLV( void) = 0;
  5684. virtual HRESULT STDMETHODCALLTYPE DoRename( void) = 0;
  5685. };
  5686. #else /* C style interface */
  5687. typedef struct IDefViewFrame3Vtbl
  5688. {
  5689. BEGIN_INTERFACE
  5690. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5691. IDefViewFrame3 * This,
  5692. /* [in] */ REFIID riid,
  5693. /* [iid_is][out] */ void **ppvObject);
  5694. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5695. IDefViewFrame3 * This);
  5696. ULONG ( STDMETHODCALLTYPE *Release )(
  5697. IDefViewFrame3 * This);
  5698. HRESULT ( STDMETHODCALLTYPE *GetWindowLV )(
  5699. IDefViewFrame3 * This,
  5700. HWND *phwnd);
  5701. HRESULT ( STDMETHODCALLTYPE *ShowHideListView )(
  5702. IDefViewFrame3 * This);
  5703. HRESULT ( STDMETHODCALLTYPE *OnResizeListView )(
  5704. IDefViewFrame3 * This);
  5705. HRESULT ( STDMETHODCALLTYPE *ReleaseWindowLV )(
  5706. IDefViewFrame3 * This);
  5707. HRESULT ( STDMETHODCALLTYPE *DoRename )(
  5708. IDefViewFrame3 * This);
  5709. END_INTERFACE
  5710. } IDefViewFrame3Vtbl;
  5711. interface IDefViewFrame3
  5712. {
  5713. CONST_VTBL struct IDefViewFrame3Vtbl *lpVtbl;
  5714. };
  5715. #ifdef COBJMACROS
  5716. #define IDefViewFrame3_QueryInterface(This,riid,ppvObject) \
  5717. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5718. #define IDefViewFrame3_AddRef(This) \
  5719. (This)->lpVtbl -> AddRef(This)
  5720. #define IDefViewFrame3_Release(This) \
  5721. (This)->lpVtbl -> Release(This)
  5722. #define IDefViewFrame3_GetWindowLV(This,phwnd) \
  5723. (This)->lpVtbl -> GetWindowLV(This,phwnd)
  5724. #define IDefViewFrame3_ShowHideListView(This) \
  5725. (This)->lpVtbl -> ShowHideListView(This)
  5726. #define IDefViewFrame3_OnResizeListView(This) \
  5727. (This)->lpVtbl -> OnResizeListView(This)
  5728. #define IDefViewFrame3_ReleaseWindowLV(This) \
  5729. (This)->lpVtbl -> ReleaseWindowLV(This)
  5730. #define IDefViewFrame3_DoRename(This) \
  5731. (This)->lpVtbl -> DoRename(This)
  5732. #endif /* COBJMACROS */
  5733. #endif /* C style interface */
  5734. HRESULT STDMETHODCALLTYPE IDefViewFrame3_GetWindowLV_Proxy(
  5735. IDefViewFrame3 * This,
  5736. HWND *phwnd);
  5737. void __RPC_STUB IDefViewFrame3_GetWindowLV_Stub(
  5738. IRpcStubBuffer *This,
  5739. IRpcChannelBuffer *_pRpcChannelBuffer,
  5740. PRPC_MESSAGE _pRpcMessage,
  5741. DWORD *_pdwStubPhase);
  5742. HRESULT STDMETHODCALLTYPE IDefViewFrame3_ShowHideListView_Proxy(
  5743. IDefViewFrame3 * This);
  5744. void __RPC_STUB IDefViewFrame3_ShowHideListView_Stub(
  5745. IRpcStubBuffer *This,
  5746. IRpcChannelBuffer *_pRpcChannelBuffer,
  5747. PRPC_MESSAGE _pRpcMessage,
  5748. DWORD *_pdwStubPhase);
  5749. HRESULT STDMETHODCALLTYPE IDefViewFrame3_OnResizeListView_Proxy(
  5750. IDefViewFrame3 * This);
  5751. void __RPC_STUB IDefViewFrame3_OnResizeListView_Stub(
  5752. IRpcStubBuffer *This,
  5753. IRpcChannelBuffer *_pRpcChannelBuffer,
  5754. PRPC_MESSAGE _pRpcMessage,
  5755. DWORD *_pdwStubPhase);
  5756. HRESULT STDMETHODCALLTYPE IDefViewFrame3_ReleaseWindowLV_Proxy(
  5757. IDefViewFrame3 * This);
  5758. void __RPC_STUB IDefViewFrame3_ReleaseWindowLV_Stub(
  5759. IRpcStubBuffer *This,
  5760. IRpcChannelBuffer *_pRpcChannelBuffer,
  5761. PRPC_MESSAGE _pRpcMessage,
  5762. DWORD *_pdwStubPhase);
  5763. HRESULT STDMETHODCALLTYPE IDefViewFrame3_DoRename_Proxy(
  5764. IDefViewFrame3 * This);
  5765. void __RPC_STUB IDefViewFrame3_DoRename_Stub(
  5766. IRpcStubBuffer *This,
  5767. IRpcChannelBuffer *_pRpcChannelBuffer,
  5768. PRPC_MESSAGE _pRpcMessage,
  5769. DWORD *_pdwStubPhase);
  5770. #endif /* __IDefViewFrame3_INTERFACE_DEFINED__ */
  5771. /* interface __MIDL_itf_shpriv_0303 */
  5772. /* [local] */
  5773. #define DS_BACKUPDISPLAYCPL 0x00000001
  5774. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0303_v0_0_c_ifspec;
  5775. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0303_v0_0_s_ifspec;
  5776. #ifndef __IDisplaySettings_INTERFACE_DEFINED__
  5777. #define __IDisplaySettings_INTERFACE_DEFINED__
  5778. /* interface IDisplaySettings */
  5779. /* [object][local][helpstring][uuid] */
  5780. EXTERN_C const IID IID_IDisplaySettings;
  5781. #if defined(__cplusplus) && !defined(CINTERFACE)
  5782. MIDL_INTERFACE("610d76de-7861-4715-9d08-b6e297c3985b")
  5783. IDisplaySettings : public IUnknown
  5784. {
  5785. public:
  5786. virtual HRESULT STDMETHODCALLTYPE SetMonitor(
  5787. /* [in] */ DWORD dwMonitor) = 0;
  5788. virtual HRESULT STDMETHODCALLTYPE GetModeCount(
  5789. /* [out] */ DWORD *pdwCount,
  5790. /* [in] */ BOOL fOnlyPreferredModes) = 0;
  5791. virtual HRESULT STDMETHODCALLTYPE GetMode(
  5792. /* [in] */ DWORD dwMode,
  5793. /* [in] */ BOOL fOnlyPreferredModes,
  5794. /* [out] */ DWORD *pdwWidth,
  5795. /* [out] */ DWORD *pdwHeight,
  5796. /* [out] */ DWORD *pdwColor) = 0;
  5797. virtual HRESULT STDMETHODCALLTYPE SetSelectedMode(
  5798. /* [in] */ HWND hwnd,
  5799. /* [in] */ DWORD dwWidth,
  5800. /* [in] */ DWORD dwHeight,
  5801. /* [in] */ DWORD dwColor,
  5802. /* [out] */ BOOL *pfApplied,
  5803. /* [in] */ DWORD dwFlags) = 0;
  5804. virtual HRESULT STDMETHODCALLTYPE GetSelectedMode(
  5805. /* [out] */ DWORD *pdwWidth,
  5806. /* [out] */ DWORD *pdwHeight,
  5807. /* [out] */ DWORD *pdwColor) = 0;
  5808. virtual HRESULT STDMETHODCALLTYPE GetAttached(
  5809. /* [out] */ BOOL *pfAttached) = 0;
  5810. virtual HRESULT STDMETHODCALLTYPE SetPruningMode(
  5811. /* [in] */ BOOL fIsPruningOn) = 0;
  5812. virtual HRESULT STDMETHODCALLTYPE GetPruningMode(
  5813. /* [out] */ BOOL *pfCanBePruned,
  5814. /* [out] */ BOOL *pfIsPruningReadOnly,
  5815. /* [out] */ BOOL *pfIsPruningOn) = 0;
  5816. };
  5817. #else /* C style interface */
  5818. typedef struct IDisplaySettingsVtbl
  5819. {
  5820. BEGIN_INTERFACE
  5821. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5822. IDisplaySettings * This,
  5823. /* [in] */ REFIID riid,
  5824. /* [iid_is][out] */ void **ppvObject);
  5825. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5826. IDisplaySettings * This);
  5827. ULONG ( STDMETHODCALLTYPE *Release )(
  5828. IDisplaySettings * This);
  5829. HRESULT ( STDMETHODCALLTYPE *SetMonitor )(
  5830. IDisplaySettings * This,
  5831. /* [in] */ DWORD dwMonitor);
  5832. HRESULT ( STDMETHODCALLTYPE *GetModeCount )(
  5833. IDisplaySettings * This,
  5834. /* [out] */ DWORD *pdwCount,
  5835. /* [in] */ BOOL fOnlyPreferredModes);
  5836. HRESULT ( STDMETHODCALLTYPE *GetMode )(
  5837. IDisplaySettings * This,
  5838. /* [in] */ DWORD dwMode,
  5839. /* [in] */ BOOL fOnlyPreferredModes,
  5840. /* [out] */ DWORD *pdwWidth,
  5841. /* [out] */ DWORD *pdwHeight,
  5842. /* [out] */ DWORD *pdwColor);
  5843. HRESULT ( STDMETHODCALLTYPE *SetSelectedMode )(
  5844. IDisplaySettings * This,
  5845. /* [in] */ HWND hwnd,
  5846. /* [in] */ DWORD dwWidth,
  5847. /* [in] */ DWORD dwHeight,
  5848. /* [in] */ DWORD dwColor,
  5849. /* [out] */ BOOL *pfApplied,
  5850. /* [in] */ DWORD dwFlags);
  5851. HRESULT ( STDMETHODCALLTYPE *GetSelectedMode )(
  5852. IDisplaySettings * This,
  5853. /* [out] */ DWORD *pdwWidth,
  5854. /* [out] */ DWORD *pdwHeight,
  5855. /* [out] */ DWORD *pdwColor);
  5856. HRESULT ( STDMETHODCALLTYPE *GetAttached )(
  5857. IDisplaySettings * This,
  5858. /* [out] */ BOOL *pfAttached);
  5859. HRESULT ( STDMETHODCALLTYPE *SetPruningMode )(
  5860. IDisplaySettings * This,
  5861. /* [in] */ BOOL fIsPruningOn);
  5862. HRESULT ( STDMETHODCALLTYPE *GetPruningMode )(
  5863. IDisplaySettings * This,
  5864. /* [out] */ BOOL *pfCanBePruned,
  5865. /* [out] */ BOOL *pfIsPruningReadOnly,
  5866. /* [out] */ BOOL *pfIsPruningOn);
  5867. END_INTERFACE
  5868. } IDisplaySettingsVtbl;
  5869. interface IDisplaySettings
  5870. {
  5871. CONST_VTBL struct IDisplaySettingsVtbl *lpVtbl;
  5872. };
  5873. #ifdef COBJMACROS
  5874. #define IDisplaySettings_QueryInterface(This,riid,ppvObject) \
  5875. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5876. #define IDisplaySettings_AddRef(This) \
  5877. (This)->lpVtbl -> AddRef(This)
  5878. #define IDisplaySettings_Release(This) \
  5879. (This)->lpVtbl -> Release(This)
  5880. #define IDisplaySettings_SetMonitor(This,dwMonitor) \
  5881. (This)->lpVtbl -> SetMonitor(This,dwMonitor)
  5882. #define IDisplaySettings_GetModeCount(This,pdwCount,fOnlyPreferredModes) \
  5883. (This)->lpVtbl -> GetModeCount(This,pdwCount,fOnlyPreferredModes)
  5884. #define IDisplaySettings_GetMode(This,dwMode,fOnlyPreferredModes,pdwWidth,pdwHeight,pdwColor) \
  5885. (This)->lpVtbl -> GetMode(This,dwMode,fOnlyPreferredModes,pdwWidth,pdwHeight,pdwColor)
  5886. #define IDisplaySettings_SetSelectedMode(This,hwnd,dwWidth,dwHeight,dwColor,pfApplied,dwFlags) \
  5887. (This)->lpVtbl -> SetSelectedMode(This,hwnd,dwWidth,dwHeight,dwColor,pfApplied,dwFlags)
  5888. #define IDisplaySettings_GetSelectedMode(This,pdwWidth,pdwHeight,pdwColor) \
  5889. (This)->lpVtbl -> GetSelectedMode(This,pdwWidth,pdwHeight,pdwColor)
  5890. #define IDisplaySettings_GetAttached(This,pfAttached) \
  5891. (This)->lpVtbl -> GetAttached(This,pfAttached)
  5892. #define IDisplaySettings_SetPruningMode(This,fIsPruningOn) \
  5893. (This)->lpVtbl -> SetPruningMode(This,fIsPruningOn)
  5894. #define IDisplaySettings_GetPruningMode(This,pfCanBePruned,pfIsPruningReadOnly,pfIsPruningOn) \
  5895. (This)->lpVtbl -> GetPruningMode(This,pfCanBePruned,pfIsPruningReadOnly,pfIsPruningOn)
  5896. #endif /* COBJMACROS */
  5897. #endif /* C style interface */
  5898. HRESULT STDMETHODCALLTYPE IDisplaySettings_SetMonitor_Proxy(
  5899. IDisplaySettings * This,
  5900. /* [in] */ DWORD dwMonitor);
  5901. void __RPC_STUB IDisplaySettings_SetMonitor_Stub(
  5902. IRpcStubBuffer *This,
  5903. IRpcChannelBuffer *_pRpcChannelBuffer,
  5904. PRPC_MESSAGE _pRpcMessage,
  5905. DWORD *_pdwStubPhase);
  5906. HRESULT STDMETHODCALLTYPE IDisplaySettings_GetModeCount_Proxy(
  5907. IDisplaySettings * This,
  5908. /* [out] */ DWORD *pdwCount,
  5909. /* [in] */ BOOL fOnlyPreferredModes);
  5910. void __RPC_STUB IDisplaySettings_GetModeCount_Stub(
  5911. IRpcStubBuffer *This,
  5912. IRpcChannelBuffer *_pRpcChannelBuffer,
  5913. PRPC_MESSAGE _pRpcMessage,
  5914. DWORD *_pdwStubPhase);
  5915. HRESULT STDMETHODCALLTYPE IDisplaySettings_GetMode_Proxy(
  5916. IDisplaySettings * This,
  5917. /* [in] */ DWORD dwMode,
  5918. /* [in] */ BOOL fOnlyPreferredModes,
  5919. /* [out] */ DWORD *pdwWidth,
  5920. /* [out] */ DWORD *pdwHeight,
  5921. /* [out] */ DWORD *pdwColor);
  5922. void __RPC_STUB IDisplaySettings_GetMode_Stub(
  5923. IRpcStubBuffer *This,
  5924. IRpcChannelBuffer *_pRpcChannelBuffer,
  5925. PRPC_MESSAGE _pRpcMessage,
  5926. DWORD *_pdwStubPhase);
  5927. HRESULT STDMETHODCALLTYPE IDisplaySettings_SetSelectedMode_Proxy(
  5928. IDisplaySettings * This,
  5929. /* [in] */ HWND hwnd,
  5930. /* [in] */ DWORD dwWidth,
  5931. /* [in] */ DWORD dwHeight,
  5932. /* [in] */ DWORD dwColor,
  5933. /* [out] */ BOOL *pfApplied,
  5934. /* [in] */ DWORD dwFlags);
  5935. void __RPC_STUB IDisplaySettings_SetSelectedMode_Stub(
  5936. IRpcStubBuffer *This,
  5937. IRpcChannelBuffer *_pRpcChannelBuffer,
  5938. PRPC_MESSAGE _pRpcMessage,
  5939. DWORD *_pdwStubPhase);
  5940. HRESULT STDMETHODCALLTYPE IDisplaySettings_GetSelectedMode_Proxy(
  5941. IDisplaySettings * This,
  5942. /* [out] */ DWORD *pdwWidth,
  5943. /* [out] */ DWORD *pdwHeight,
  5944. /* [out] */ DWORD *pdwColor);
  5945. void __RPC_STUB IDisplaySettings_GetSelectedMode_Stub(
  5946. IRpcStubBuffer *This,
  5947. IRpcChannelBuffer *_pRpcChannelBuffer,
  5948. PRPC_MESSAGE _pRpcMessage,
  5949. DWORD *_pdwStubPhase);
  5950. HRESULT STDMETHODCALLTYPE IDisplaySettings_GetAttached_Proxy(
  5951. IDisplaySettings * This,
  5952. /* [out] */ BOOL *pfAttached);
  5953. void __RPC_STUB IDisplaySettings_GetAttached_Stub(
  5954. IRpcStubBuffer *This,
  5955. IRpcChannelBuffer *_pRpcChannelBuffer,
  5956. PRPC_MESSAGE _pRpcMessage,
  5957. DWORD *_pdwStubPhase);
  5958. HRESULT STDMETHODCALLTYPE IDisplaySettings_SetPruningMode_Proxy(
  5959. IDisplaySettings * This,
  5960. /* [in] */ BOOL fIsPruningOn);
  5961. void __RPC_STUB IDisplaySettings_SetPruningMode_Stub(
  5962. IRpcStubBuffer *This,
  5963. IRpcChannelBuffer *_pRpcChannelBuffer,
  5964. PRPC_MESSAGE _pRpcMessage,
  5965. DWORD *_pdwStubPhase);
  5966. HRESULT STDMETHODCALLTYPE IDisplaySettings_GetPruningMode_Proxy(
  5967. IDisplaySettings * This,
  5968. /* [out] */ BOOL *pfCanBePruned,
  5969. /* [out] */ BOOL *pfIsPruningReadOnly,
  5970. /* [out] */ BOOL *pfIsPruningOn);
  5971. void __RPC_STUB IDisplaySettings_GetPruningMode_Stub(
  5972. IRpcStubBuffer *This,
  5973. IRpcChannelBuffer *_pRpcChannelBuffer,
  5974. PRPC_MESSAGE _pRpcMessage,
  5975. DWORD *_pdwStubPhase);
  5976. #endif /* __IDisplaySettings_INTERFACE_DEFINED__ */
  5977. #ifndef __IScreenResFixer_INTERFACE_DEFINED__
  5978. #define __IScreenResFixer_INTERFACE_DEFINED__
  5979. /* interface IScreenResFixer */
  5980. /* [object][local][helpstring][uuid] */
  5981. EXTERN_C const IID IID_IScreenResFixer;
  5982. #if defined(__cplusplus) && !defined(CINTERFACE)
  5983. MIDL_INTERFACE("b80df3d8-82db-4e8d-8097-8c2c0e746470")
  5984. IScreenResFixer : public IUnknown
  5985. {
  5986. public:
  5987. };
  5988. #else /* C style interface */
  5989. typedef struct IScreenResFixerVtbl
  5990. {
  5991. BEGIN_INTERFACE
  5992. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  5993. IScreenResFixer * This,
  5994. /* [in] */ REFIID riid,
  5995. /* [iid_is][out] */ void **ppvObject);
  5996. ULONG ( STDMETHODCALLTYPE *AddRef )(
  5997. IScreenResFixer * This);
  5998. ULONG ( STDMETHODCALLTYPE *Release )(
  5999. IScreenResFixer * This);
  6000. END_INTERFACE
  6001. } IScreenResFixerVtbl;
  6002. interface IScreenResFixer
  6003. {
  6004. CONST_VTBL struct IScreenResFixerVtbl *lpVtbl;
  6005. };
  6006. #ifdef COBJMACROS
  6007. #define IScreenResFixer_QueryInterface(This,riid,ppvObject) \
  6008. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6009. #define IScreenResFixer_AddRef(This) \
  6010. (This)->lpVtbl -> AddRef(This)
  6011. #define IScreenResFixer_Release(This) \
  6012. (This)->lpVtbl -> Release(This)
  6013. #endif /* COBJMACROS */
  6014. #endif /* C style interface */
  6015. #endif /* __IScreenResFixer_INTERFACE_DEFINED__ */
  6016. /* interface __MIDL_itf_shpriv_0305 */
  6017. /* [local] */
  6018. typedef struct tagTREEWALKERSTATS
  6019. {
  6020. int nFiles;
  6021. int nFolders;
  6022. int nDepth;
  6023. DWORD dwClusterSize;
  6024. ULONGLONG ulTotalSize;
  6025. ULONGLONG ulActualSize;
  6026. } TREEWALKERSTATS;
  6027. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0305_v0_0_c_ifspec;
  6028. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0305_v0_0_s_ifspec;
  6029. #ifndef __IShellTreeWalkerCallBack_INTERFACE_DEFINED__
  6030. #define __IShellTreeWalkerCallBack_INTERFACE_DEFINED__
  6031. /* interface IShellTreeWalkerCallBack */
  6032. /* [object][helpstring][uuid] */
  6033. EXTERN_C const IID IID_IShellTreeWalkerCallBack;
  6034. #if defined(__cplusplus) && !defined(CINTERFACE)
  6035. MIDL_INTERFACE("95CE8411-7027-11D1-B879-006008059382")
  6036. IShellTreeWalkerCallBack : public IUnknown
  6037. {
  6038. public:
  6039. virtual HRESULT STDMETHODCALLTYPE FoundFile(
  6040. /* [string][in] */ LPCWSTR pwszPath,
  6041. /* [in] */ TREEWALKERSTATS *ptws,
  6042. /* [in] */ WIN32_FIND_DATAW *pwfd) = 0;
  6043. virtual HRESULT STDMETHODCALLTYPE EnterFolder(
  6044. /* [string][in] */ LPCWSTR pwszPath,
  6045. /* [in] */ TREEWALKERSTATS *ptws,
  6046. /* [in] */ WIN32_FIND_DATAW *pwfd) = 0;
  6047. virtual HRESULT STDMETHODCALLTYPE LeaveFolder(
  6048. /* [string][in] */ LPCWSTR pwszPath,
  6049. /* [in] */ TREEWALKERSTATS *ptws) = 0;
  6050. virtual HRESULT STDMETHODCALLTYPE HandleError(
  6051. /* [string][in] */ LPCWSTR pwszPath,
  6052. /* [in] */ TREEWALKERSTATS *ptws,
  6053. /* [in] */ HRESULT hrError) = 0;
  6054. };
  6055. #else /* C style interface */
  6056. typedef struct IShellTreeWalkerCallBackVtbl
  6057. {
  6058. BEGIN_INTERFACE
  6059. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6060. IShellTreeWalkerCallBack * This,
  6061. /* [in] */ REFIID riid,
  6062. /* [iid_is][out] */ void **ppvObject);
  6063. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6064. IShellTreeWalkerCallBack * This);
  6065. ULONG ( STDMETHODCALLTYPE *Release )(
  6066. IShellTreeWalkerCallBack * This);
  6067. HRESULT ( STDMETHODCALLTYPE *FoundFile )(
  6068. IShellTreeWalkerCallBack * This,
  6069. /* [string][in] */ LPCWSTR pwszPath,
  6070. /* [in] */ TREEWALKERSTATS *ptws,
  6071. /* [in] */ WIN32_FIND_DATAW *pwfd);
  6072. HRESULT ( STDMETHODCALLTYPE *EnterFolder )(
  6073. IShellTreeWalkerCallBack * This,
  6074. /* [string][in] */ LPCWSTR pwszPath,
  6075. /* [in] */ TREEWALKERSTATS *ptws,
  6076. /* [in] */ WIN32_FIND_DATAW *pwfd);
  6077. HRESULT ( STDMETHODCALLTYPE *LeaveFolder )(
  6078. IShellTreeWalkerCallBack * This,
  6079. /* [string][in] */ LPCWSTR pwszPath,
  6080. /* [in] */ TREEWALKERSTATS *ptws);
  6081. HRESULT ( STDMETHODCALLTYPE *HandleError )(
  6082. IShellTreeWalkerCallBack * This,
  6083. /* [string][in] */ LPCWSTR pwszPath,
  6084. /* [in] */ TREEWALKERSTATS *ptws,
  6085. /* [in] */ HRESULT hrError);
  6086. END_INTERFACE
  6087. } IShellTreeWalkerCallBackVtbl;
  6088. interface IShellTreeWalkerCallBack
  6089. {
  6090. CONST_VTBL struct IShellTreeWalkerCallBackVtbl *lpVtbl;
  6091. };
  6092. #ifdef COBJMACROS
  6093. #define IShellTreeWalkerCallBack_QueryInterface(This,riid,ppvObject) \
  6094. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6095. #define IShellTreeWalkerCallBack_AddRef(This) \
  6096. (This)->lpVtbl -> AddRef(This)
  6097. #define IShellTreeWalkerCallBack_Release(This) \
  6098. (This)->lpVtbl -> Release(This)
  6099. #define IShellTreeWalkerCallBack_FoundFile(This,pwszPath,ptws,pwfd) \
  6100. (This)->lpVtbl -> FoundFile(This,pwszPath,ptws,pwfd)
  6101. #define IShellTreeWalkerCallBack_EnterFolder(This,pwszPath,ptws,pwfd) \
  6102. (This)->lpVtbl -> EnterFolder(This,pwszPath,ptws,pwfd)
  6103. #define IShellTreeWalkerCallBack_LeaveFolder(This,pwszPath,ptws) \
  6104. (This)->lpVtbl -> LeaveFolder(This,pwszPath,ptws)
  6105. #define IShellTreeWalkerCallBack_HandleError(This,pwszPath,ptws,hrError) \
  6106. (This)->lpVtbl -> HandleError(This,pwszPath,ptws,hrError)
  6107. #endif /* COBJMACROS */
  6108. #endif /* C style interface */
  6109. HRESULT STDMETHODCALLTYPE IShellTreeWalkerCallBack_FoundFile_Proxy(
  6110. IShellTreeWalkerCallBack * This,
  6111. /* [string][in] */ LPCWSTR pwszPath,
  6112. /* [in] */ TREEWALKERSTATS *ptws,
  6113. /* [in] */ WIN32_FIND_DATAW *pwfd);
  6114. void __RPC_STUB IShellTreeWalkerCallBack_FoundFile_Stub(
  6115. IRpcStubBuffer *This,
  6116. IRpcChannelBuffer *_pRpcChannelBuffer,
  6117. PRPC_MESSAGE _pRpcMessage,
  6118. DWORD *_pdwStubPhase);
  6119. HRESULT STDMETHODCALLTYPE IShellTreeWalkerCallBack_EnterFolder_Proxy(
  6120. IShellTreeWalkerCallBack * This,
  6121. /* [string][in] */ LPCWSTR pwszPath,
  6122. /* [in] */ TREEWALKERSTATS *ptws,
  6123. /* [in] */ WIN32_FIND_DATAW *pwfd);
  6124. void __RPC_STUB IShellTreeWalkerCallBack_EnterFolder_Stub(
  6125. IRpcStubBuffer *This,
  6126. IRpcChannelBuffer *_pRpcChannelBuffer,
  6127. PRPC_MESSAGE _pRpcMessage,
  6128. DWORD *_pdwStubPhase);
  6129. HRESULT STDMETHODCALLTYPE IShellTreeWalkerCallBack_LeaveFolder_Proxy(
  6130. IShellTreeWalkerCallBack * This,
  6131. /* [string][in] */ LPCWSTR pwszPath,
  6132. /* [in] */ TREEWALKERSTATS *ptws);
  6133. void __RPC_STUB IShellTreeWalkerCallBack_LeaveFolder_Stub(
  6134. IRpcStubBuffer *This,
  6135. IRpcChannelBuffer *_pRpcChannelBuffer,
  6136. PRPC_MESSAGE _pRpcMessage,
  6137. DWORD *_pdwStubPhase);
  6138. HRESULT STDMETHODCALLTYPE IShellTreeWalkerCallBack_HandleError_Proxy(
  6139. IShellTreeWalkerCallBack * This,
  6140. /* [string][in] */ LPCWSTR pwszPath,
  6141. /* [in] */ TREEWALKERSTATS *ptws,
  6142. /* [in] */ HRESULT hrError);
  6143. void __RPC_STUB IShellTreeWalkerCallBack_HandleError_Stub(
  6144. IRpcStubBuffer *This,
  6145. IRpcChannelBuffer *_pRpcChannelBuffer,
  6146. PRPC_MESSAGE _pRpcMessage,
  6147. DWORD *_pdwStubPhase);
  6148. #endif /* __IShellTreeWalkerCallBack_INTERFACE_DEFINED__ */
  6149. #ifndef __IShellTreeWalker_INTERFACE_DEFINED__
  6150. #define __IShellTreeWalker_INTERFACE_DEFINED__
  6151. /* interface IShellTreeWalker */
  6152. /* [object][helpstring][uuid] */
  6153. enum __MIDL_IShellTreeWalker_0001
  6154. { WT_FOLDERFIRST = 0x1,
  6155. WT_MAXDEPTH = 0x2,
  6156. WT_FOLDERONLY = 0x4,
  6157. WT_NOTIFYFOLDERENTER = 0x8,
  6158. WT_NOTIFYFOLDERLEAVE = 0x10,
  6159. WT_GOINTOREPARSEPOINT = 0x20,
  6160. WT_EXCLUDEWALKROOT = 0x40,
  6161. WT_ALL = 0x7f
  6162. } ;
  6163. typedef DWORD STWFLAGS;
  6164. EXTERN_C const IID IID_IShellTreeWalker;
  6165. #if defined(__cplusplus) && !defined(CINTERFACE)
  6166. MIDL_INTERFACE("95CE8410-7027-11D1-B879-006008059382")
  6167. IShellTreeWalker : public IUnknown
  6168. {
  6169. public:
  6170. virtual HRESULT STDMETHODCALLTYPE WalkTree(
  6171. /* [in] */ DWORD dwFlags,
  6172. /* [string][in] */ LPCWSTR pwszWalkRoot,
  6173. /* [string][in] */ LPCWSTR pwszWalkSpec,
  6174. /* [in] */ int iMaxPath,
  6175. /* [in] */ IShellTreeWalkerCallBack *pstwcb) = 0;
  6176. };
  6177. #else /* C style interface */
  6178. typedef struct IShellTreeWalkerVtbl
  6179. {
  6180. BEGIN_INTERFACE
  6181. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6182. IShellTreeWalker * This,
  6183. /* [in] */ REFIID riid,
  6184. /* [iid_is][out] */ void **ppvObject);
  6185. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6186. IShellTreeWalker * This);
  6187. ULONG ( STDMETHODCALLTYPE *Release )(
  6188. IShellTreeWalker * This);
  6189. HRESULT ( STDMETHODCALLTYPE *WalkTree )(
  6190. IShellTreeWalker * This,
  6191. /* [in] */ DWORD dwFlags,
  6192. /* [string][in] */ LPCWSTR pwszWalkRoot,
  6193. /* [string][in] */ LPCWSTR pwszWalkSpec,
  6194. /* [in] */ int iMaxPath,
  6195. /* [in] */ IShellTreeWalkerCallBack *pstwcb);
  6196. END_INTERFACE
  6197. } IShellTreeWalkerVtbl;
  6198. interface IShellTreeWalker
  6199. {
  6200. CONST_VTBL struct IShellTreeWalkerVtbl *lpVtbl;
  6201. };
  6202. #ifdef COBJMACROS
  6203. #define IShellTreeWalker_QueryInterface(This,riid,ppvObject) \
  6204. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6205. #define IShellTreeWalker_AddRef(This) \
  6206. (This)->lpVtbl -> AddRef(This)
  6207. #define IShellTreeWalker_Release(This) \
  6208. (This)->lpVtbl -> Release(This)
  6209. #define IShellTreeWalker_WalkTree(This,dwFlags,pwszWalkRoot,pwszWalkSpec,iMaxPath,pstwcb) \
  6210. (This)->lpVtbl -> WalkTree(This,dwFlags,pwszWalkRoot,pwszWalkSpec,iMaxPath,pstwcb)
  6211. #endif /* COBJMACROS */
  6212. #endif /* C style interface */
  6213. HRESULT STDMETHODCALLTYPE IShellTreeWalker_WalkTree_Proxy(
  6214. IShellTreeWalker * This,
  6215. /* [in] */ DWORD dwFlags,
  6216. /* [string][in] */ LPCWSTR pwszWalkRoot,
  6217. /* [string][in] */ LPCWSTR pwszWalkSpec,
  6218. /* [in] */ int iMaxPath,
  6219. /* [in] */ IShellTreeWalkerCallBack *pstwcb);
  6220. void __RPC_STUB IShellTreeWalker_WalkTree_Stub(
  6221. IRpcStubBuffer *This,
  6222. IRpcChannelBuffer *_pRpcChannelBuffer,
  6223. PRPC_MESSAGE _pRpcMessage,
  6224. DWORD *_pdwStubPhase);
  6225. #endif /* __IShellTreeWalker_INTERFACE_DEFINED__ */
  6226. /* interface __MIDL_itf_shpriv_0307 */
  6227. /* [local] */
  6228. _inline void FreeIDListArray(LPITEMIDLIST *ppidls, UINT cItems)
  6229. {
  6230. UINT i;
  6231. for (i = 0; i < cItems; i++)
  6232. {
  6233. CoTaskMemFree(ppidls[i]);
  6234. }
  6235. CoTaskMemFree(ppidls);
  6236. }
  6237. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0307_v0_0_c_ifspec;
  6238. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0307_v0_0_s_ifspec;
  6239. #ifndef __IUIElement_INTERFACE_DEFINED__
  6240. #define __IUIElement_INTERFACE_DEFINED__
  6241. /* interface IUIElement */
  6242. /* [object][unique][uuid] */
  6243. EXTERN_C const IID IID_IUIElement;
  6244. #if defined(__cplusplus) && !defined(CINTERFACE)
  6245. MIDL_INTERFACE("EC6FE84F-DC14-4FBB-889F-EA50FE27FE0F")
  6246. IUIElement : public IUnknown
  6247. {
  6248. public:
  6249. virtual HRESULT STDMETHODCALLTYPE get_Name(
  6250. /* [in] */ IShellItemArray *psiItemArray,
  6251. /* [string][out] */ LPWSTR *ppszName) = 0;
  6252. virtual HRESULT STDMETHODCALLTYPE get_Icon(
  6253. /* [in] */ IShellItemArray *psiItemArray,
  6254. /* [string][out] */ LPWSTR *ppszIcon) = 0;
  6255. virtual HRESULT STDMETHODCALLTYPE get_Tooltip(
  6256. /* [in] */ IShellItemArray *psiItemArray,
  6257. /* [string][out] */ LPWSTR *ppszInfotip) = 0;
  6258. };
  6259. #else /* C style interface */
  6260. typedef struct IUIElementVtbl
  6261. {
  6262. BEGIN_INTERFACE
  6263. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6264. IUIElement * This,
  6265. /* [in] */ REFIID riid,
  6266. /* [iid_is][out] */ void **ppvObject);
  6267. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6268. IUIElement * This);
  6269. ULONG ( STDMETHODCALLTYPE *Release )(
  6270. IUIElement * This);
  6271. HRESULT ( STDMETHODCALLTYPE *get_Name )(
  6272. IUIElement * This,
  6273. /* [in] */ IShellItemArray *psiItemArray,
  6274. /* [string][out] */ LPWSTR *ppszName);
  6275. HRESULT ( STDMETHODCALLTYPE *get_Icon )(
  6276. IUIElement * This,
  6277. /* [in] */ IShellItemArray *psiItemArray,
  6278. /* [string][out] */ LPWSTR *ppszIcon);
  6279. HRESULT ( STDMETHODCALLTYPE *get_Tooltip )(
  6280. IUIElement * This,
  6281. /* [in] */ IShellItemArray *psiItemArray,
  6282. /* [string][out] */ LPWSTR *ppszInfotip);
  6283. END_INTERFACE
  6284. } IUIElementVtbl;
  6285. interface IUIElement
  6286. {
  6287. CONST_VTBL struct IUIElementVtbl *lpVtbl;
  6288. };
  6289. #ifdef COBJMACROS
  6290. #define IUIElement_QueryInterface(This,riid,ppvObject) \
  6291. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6292. #define IUIElement_AddRef(This) \
  6293. (This)->lpVtbl -> AddRef(This)
  6294. #define IUIElement_Release(This) \
  6295. (This)->lpVtbl -> Release(This)
  6296. #define IUIElement_get_Name(This,psiItemArray,ppszName) \
  6297. (This)->lpVtbl -> get_Name(This,psiItemArray,ppszName)
  6298. #define IUIElement_get_Icon(This,psiItemArray,ppszIcon) \
  6299. (This)->lpVtbl -> get_Icon(This,psiItemArray,ppszIcon)
  6300. #define IUIElement_get_Tooltip(This,psiItemArray,ppszInfotip) \
  6301. (This)->lpVtbl -> get_Tooltip(This,psiItemArray,ppszInfotip)
  6302. #endif /* COBJMACROS */
  6303. #endif /* C style interface */
  6304. HRESULT STDMETHODCALLTYPE IUIElement_get_Name_Proxy(
  6305. IUIElement * This,
  6306. /* [in] */ IShellItemArray *psiItemArray,
  6307. /* [string][out] */ LPWSTR *ppszName);
  6308. void __RPC_STUB IUIElement_get_Name_Stub(
  6309. IRpcStubBuffer *This,
  6310. IRpcChannelBuffer *_pRpcChannelBuffer,
  6311. PRPC_MESSAGE _pRpcMessage,
  6312. DWORD *_pdwStubPhase);
  6313. HRESULT STDMETHODCALLTYPE IUIElement_get_Icon_Proxy(
  6314. IUIElement * This,
  6315. /* [in] */ IShellItemArray *psiItemArray,
  6316. /* [string][out] */ LPWSTR *ppszIcon);
  6317. void __RPC_STUB IUIElement_get_Icon_Stub(
  6318. IRpcStubBuffer *This,
  6319. IRpcChannelBuffer *_pRpcChannelBuffer,
  6320. PRPC_MESSAGE _pRpcMessage,
  6321. DWORD *_pdwStubPhase);
  6322. HRESULT STDMETHODCALLTYPE IUIElement_get_Tooltip_Proxy(
  6323. IUIElement * This,
  6324. /* [in] */ IShellItemArray *psiItemArray,
  6325. /* [string][out] */ LPWSTR *ppszInfotip);
  6326. void __RPC_STUB IUIElement_get_Tooltip_Stub(
  6327. IRpcStubBuffer *This,
  6328. IRpcChannelBuffer *_pRpcChannelBuffer,
  6329. PRPC_MESSAGE _pRpcMessage,
  6330. DWORD *_pdwStubPhase);
  6331. #endif /* __IUIElement_INTERFACE_DEFINED__ */
  6332. /* interface __MIDL_itf_shpriv_0308 */
  6333. /* [local] */
  6334. typedef
  6335. enum tagUISTATE
  6336. { UIS_ENABLED = 0,
  6337. UIS_DISABLED = 1,
  6338. UIS_HIDDEN = 2
  6339. } UISTATE;
  6340. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0308_v0_0_c_ifspec;
  6341. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0308_v0_0_s_ifspec;
  6342. #ifndef __IUICommand_INTERFACE_DEFINED__
  6343. #define __IUICommand_INTERFACE_DEFINED__
  6344. /* interface IUICommand */
  6345. /* [object][unique][uuid] */
  6346. EXTERN_C const IID IID_IUICommand;
  6347. #if defined(__cplusplus) && !defined(CINTERFACE)
  6348. MIDL_INTERFACE("4026DFB9-7691-4142-B71C-DCF08EA4DD9C")
  6349. IUICommand : public IUIElement
  6350. {
  6351. public:
  6352. virtual HRESULT STDMETHODCALLTYPE get_CanonicalName(
  6353. /* [out] */ GUID *pguidCommandName) = 0;
  6354. virtual HRESULT STDMETHODCALLTYPE get_State(
  6355. /* [in] */ IShellItemArray *psiItemArray,
  6356. /* [in] */ BOOL fOkToBeSlow,
  6357. /* [out] */ UISTATE *puisState) = 0;
  6358. virtual HRESULT STDMETHODCALLTYPE Invoke(
  6359. /* [in] */ IShellItemArray *psiItemArray,
  6360. /* [optional][in] */ IBindCtx *pbc) = 0;
  6361. };
  6362. #else /* C style interface */
  6363. typedef struct IUICommandVtbl
  6364. {
  6365. BEGIN_INTERFACE
  6366. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6367. IUICommand * This,
  6368. /* [in] */ REFIID riid,
  6369. /* [iid_is][out] */ void **ppvObject);
  6370. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6371. IUICommand * This);
  6372. ULONG ( STDMETHODCALLTYPE *Release )(
  6373. IUICommand * This);
  6374. HRESULT ( STDMETHODCALLTYPE *get_Name )(
  6375. IUICommand * This,
  6376. /* [in] */ IShellItemArray *psiItemArray,
  6377. /* [string][out] */ LPWSTR *ppszName);
  6378. HRESULT ( STDMETHODCALLTYPE *get_Icon )(
  6379. IUICommand * This,
  6380. /* [in] */ IShellItemArray *psiItemArray,
  6381. /* [string][out] */ LPWSTR *ppszIcon);
  6382. HRESULT ( STDMETHODCALLTYPE *get_Tooltip )(
  6383. IUICommand * This,
  6384. /* [in] */ IShellItemArray *psiItemArray,
  6385. /* [string][out] */ LPWSTR *ppszInfotip);
  6386. HRESULT ( STDMETHODCALLTYPE *get_CanonicalName )(
  6387. IUICommand * This,
  6388. /* [out] */ GUID *pguidCommandName);
  6389. HRESULT ( STDMETHODCALLTYPE *get_State )(
  6390. IUICommand * This,
  6391. /* [in] */ IShellItemArray *psiItemArray,
  6392. /* [in] */ BOOL fOkToBeSlow,
  6393. /* [out] */ UISTATE *puisState);
  6394. HRESULT ( STDMETHODCALLTYPE *Invoke )(
  6395. IUICommand * This,
  6396. /* [in] */ IShellItemArray *psiItemArray,
  6397. /* [optional][in] */ IBindCtx *pbc);
  6398. END_INTERFACE
  6399. } IUICommandVtbl;
  6400. interface IUICommand
  6401. {
  6402. CONST_VTBL struct IUICommandVtbl *lpVtbl;
  6403. };
  6404. #ifdef COBJMACROS
  6405. #define IUICommand_QueryInterface(This,riid,ppvObject) \
  6406. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6407. #define IUICommand_AddRef(This) \
  6408. (This)->lpVtbl -> AddRef(This)
  6409. #define IUICommand_Release(This) \
  6410. (This)->lpVtbl -> Release(This)
  6411. #define IUICommand_get_Name(This,psiItemArray,ppszName) \
  6412. (This)->lpVtbl -> get_Name(This,psiItemArray,ppszName)
  6413. #define IUICommand_get_Icon(This,psiItemArray,ppszIcon) \
  6414. (This)->lpVtbl -> get_Icon(This,psiItemArray,ppszIcon)
  6415. #define IUICommand_get_Tooltip(This,psiItemArray,ppszInfotip) \
  6416. (This)->lpVtbl -> get_Tooltip(This,psiItemArray,ppszInfotip)
  6417. #define IUICommand_get_CanonicalName(This,pguidCommandName) \
  6418. (This)->lpVtbl -> get_CanonicalName(This,pguidCommandName)
  6419. #define IUICommand_get_State(This,psiItemArray,fOkToBeSlow,puisState) \
  6420. (This)->lpVtbl -> get_State(This,psiItemArray,fOkToBeSlow,puisState)
  6421. #define IUICommand_Invoke(This,psiItemArray,pbc) \
  6422. (This)->lpVtbl -> Invoke(This,psiItemArray,pbc)
  6423. #endif /* COBJMACROS */
  6424. #endif /* C style interface */
  6425. HRESULT STDMETHODCALLTYPE IUICommand_get_CanonicalName_Proxy(
  6426. IUICommand * This,
  6427. /* [out] */ GUID *pguidCommandName);
  6428. void __RPC_STUB IUICommand_get_CanonicalName_Stub(
  6429. IRpcStubBuffer *This,
  6430. IRpcChannelBuffer *_pRpcChannelBuffer,
  6431. PRPC_MESSAGE _pRpcMessage,
  6432. DWORD *_pdwStubPhase);
  6433. HRESULT STDMETHODCALLTYPE IUICommand_get_State_Proxy(
  6434. IUICommand * This,
  6435. /* [in] */ IShellItemArray *psiItemArray,
  6436. /* [in] */ BOOL fOkToBeSlow,
  6437. /* [out] */ UISTATE *puisState);
  6438. void __RPC_STUB IUICommand_get_State_Stub(
  6439. IRpcStubBuffer *This,
  6440. IRpcChannelBuffer *_pRpcChannelBuffer,
  6441. PRPC_MESSAGE _pRpcMessage,
  6442. DWORD *_pdwStubPhase);
  6443. HRESULT STDMETHODCALLTYPE IUICommand_Invoke_Proxy(
  6444. IUICommand * This,
  6445. /* [in] */ IShellItemArray *psiItemArray,
  6446. /* [optional][in] */ IBindCtx *pbc);
  6447. void __RPC_STUB IUICommand_Invoke_Stub(
  6448. IRpcStubBuffer *This,
  6449. IRpcChannelBuffer *_pRpcChannelBuffer,
  6450. PRPC_MESSAGE _pRpcMessage,
  6451. DWORD *_pdwStubPhase);
  6452. #endif /* __IUICommand_INTERFACE_DEFINED__ */
  6453. #ifndef __IEnumUICommand_INTERFACE_DEFINED__
  6454. #define __IEnumUICommand_INTERFACE_DEFINED__
  6455. /* interface IEnumUICommand */
  6456. /* [object][unique][uuid] */
  6457. EXTERN_C const IID IID_IEnumUICommand;
  6458. #if defined(__cplusplus) && !defined(CINTERFACE)
  6459. MIDL_INTERFACE("869447DA-9F84-4E2A-B92D-00642DC8A911")
  6460. IEnumUICommand : public IUnknown
  6461. {
  6462. public:
  6463. virtual HRESULT STDMETHODCALLTYPE Next(
  6464. /* [in] */ ULONG celt,
  6465. /* [length_is][size_is][out] */ IUICommand **pUICommand,
  6466. /* [out] */ ULONG *pceltFetched) = 0;
  6467. virtual HRESULT STDMETHODCALLTYPE Skip(
  6468. /* [in] */ ULONG celt) = 0;
  6469. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  6470. virtual HRESULT STDMETHODCALLTYPE Clone(
  6471. /* [out] */ IEnumUICommand **ppenum) = 0;
  6472. };
  6473. #else /* C style interface */
  6474. typedef struct IEnumUICommandVtbl
  6475. {
  6476. BEGIN_INTERFACE
  6477. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6478. IEnumUICommand * This,
  6479. /* [in] */ REFIID riid,
  6480. /* [iid_is][out] */ void **ppvObject);
  6481. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6482. IEnumUICommand * This);
  6483. ULONG ( STDMETHODCALLTYPE *Release )(
  6484. IEnumUICommand * This);
  6485. HRESULT ( STDMETHODCALLTYPE *Next )(
  6486. IEnumUICommand * This,
  6487. /* [in] */ ULONG celt,
  6488. /* [length_is][size_is][out] */ IUICommand **pUICommand,
  6489. /* [out] */ ULONG *pceltFetched);
  6490. HRESULT ( STDMETHODCALLTYPE *Skip )(
  6491. IEnumUICommand * This,
  6492. /* [in] */ ULONG celt);
  6493. HRESULT ( STDMETHODCALLTYPE *Reset )(
  6494. IEnumUICommand * This);
  6495. HRESULT ( STDMETHODCALLTYPE *Clone )(
  6496. IEnumUICommand * This,
  6497. /* [out] */ IEnumUICommand **ppenum);
  6498. END_INTERFACE
  6499. } IEnumUICommandVtbl;
  6500. interface IEnumUICommand
  6501. {
  6502. CONST_VTBL struct IEnumUICommandVtbl *lpVtbl;
  6503. };
  6504. #ifdef COBJMACROS
  6505. #define IEnumUICommand_QueryInterface(This,riid,ppvObject) \
  6506. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6507. #define IEnumUICommand_AddRef(This) \
  6508. (This)->lpVtbl -> AddRef(This)
  6509. #define IEnumUICommand_Release(This) \
  6510. (This)->lpVtbl -> Release(This)
  6511. #define IEnumUICommand_Next(This,celt,pUICommand,pceltFetched) \
  6512. (This)->lpVtbl -> Next(This,celt,pUICommand,pceltFetched)
  6513. #define IEnumUICommand_Skip(This,celt) \
  6514. (This)->lpVtbl -> Skip(This,celt)
  6515. #define IEnumUICommand_Reset(This) \
  6516. (This)->lpVtbl -> Reset(This)
  6517. #define IEnumUICommand_Clone(This,ppenum) \
  6518. (This)->lpVtbl -> Clone(This,ppenum)
  6519. #endif /* COBJMACROS */
  6520. #endif /* C style interface */
  6521. HRESULT STDMETHODCALLTYPE IEnumUICommand_Next_Proxy(
  6522. IEnumUICommand * This,
  6523. /* [in] */ ULONG celt,
  6524. /* [length_is][size_is][out] */ IUICommand **pUICommand,
  6525. /* [out] */ ULONG *pceltFetched);
  6526. void __RPC_STUB IEnumUICommand_Next_Stub(
  6527. IRpcStubBuffer *This,
  6528. IRpcChannelBuffer *_pRpcChannelBuffer,
  6529. PRPC_MESSAGE _pRpcMessage,
  6530. DWORD *_pdwStubPhase);
  6531. HRESULT STDMETHODCALLTYPE IEnumUICommand_Skip_Proxy(
  6532. IEnumUICommand * This,
  6533. /* [in] */ ULONG celt);
  6534. void __RPC_STUB IEnumUICommand_Skip_Stub(
  6535. IRpcStubBuffer *This,
  6536. IRpcChannelBuffer *_pRpcChannelBuffer,
  6537. PRPC_MESSAGE _pRpcMessage,
  6538. DWORD *_pdwStubPhase);
  6539. HRESULT STDMETHODCALLTYPE IEnumUICommand_Reset_Proxy(
  6540. IEnumUICommand * This);
  6541. void __RPC_STUB IEnumUICommand_Reset_Stub(
  6542. IRpcStubBuffer *This,
  6543. IRpcChannelBuffer *_pRpcChannelBuffer,
  6544. PRPC_MESSAGE _pRpcMessage,
  6545. DWORD *_pdwStubPhase);
  6546. HRESULT STDMETHODCALLTYPE IEnumUICommand_Clone_Proxy(
  6547. IEnumUICommand * This,
  6548. /* [out] */ IEnumUICommand **ppenum);
  6549. void __RPC_STUB IEnumUICommand_Clone_Stub(
  6550. IRpcStubBuffer *This,
  6551. IRpcChannelBuffer *_pRpcChannelBuffer,
  6552. PRPC_MESSAGE _pRpcMessage,
  6553. DWORD *_pdwStubPhase);
  6554. #endif /* __IEnumUICommand_INTERFACE_DEFINED__ */
  6555. #ifndef __IUICommandTarget_INTERFACE_DEFINED__
  6556. #define __IUICommandTarget_INTERFACE_DEFINED__
  6557. /* interface IUICommandTarget */
  6558. /* [object][unique][uuid] */
  6559. EXTERN_C const IID IID_IUICommandTarget;
  6560. #if defined(__cplusplus) && !defined(CINTERFACE)
  6561. MIDL_INTERFACE("2CB95001-FC47-4064-89B3-328F2FE60F44")
  6562. IUICommandTarget : public IUnknown
  6563. {
  6564. public:
  6565. virtual HRESULT STDMETHODCALLTYPE get_Name(
  6566. /* [in] */ REFGUID guidCanonicalName,
  6567. /* [in] */ IShellItemArray *psiItemArray,
  6568. /* [string][out] */ LPWSTR *ppszName) = 0;
  6569. virtual HRESULT STDMETHODCALLTYPE get_Icon(
  6570. /* [in] */ REFGUID guidCanonicalName,
  6571. /* [in] */ IShellItemArray *psiItemArray,
  6572. /* [string][out] */ LPWSTR *ppszIcon) = 0;
  6573. virtual HRESULT STDMETHODCALLTYPE get_Tooltip(
  6574. /* [in] */ REFGUID guidCanonicalName,
  6575. /* [in] */ IShellItemArray *psiItemArray,
  6576. /* [string][out] */ LPWSTR *ppszInfotip) = 0;
  6577. virtual HRESULT STDMETHODCALLTYPE get_State(
  6578. /* [in] */ REFGUID guidCanonicalName,
  6579. /* [in] */ IShellItemArray *psiItemArray,
  6580. /* [out] */ UISTATE *puisState) = 0;
  6581. virtual HRESULT STDMETHODCALLTYPE Invoke(
  6582. /* [in] */ REFGUID guidCanonicalName,
  6583. /* [in] */ IShellItemArray *psiItemArray,
  6584. /* [optional][in] */ IBindCtx *pbc) = 0;
  6585. };
  6586. #else /* C style interface */
  6587. typedef struct IUICommandTargetVtbl
  6588. {
  6589. BEGIN_INTERFACE
  6590. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6591. IUICommandTarget * This,
  6592. /* [in] */ REFIID riid,
  6593. /* [iid_is][out] */ void **ppvObject);
  6594. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6595. IUICommandTarget * This);
  6596. ULONG ( STDMETHODCALLTYPE *Release )(
  6597. IUICommandTarget * This);
  6598. HRESULT ( STDMETHODCALLTYPE *get_Name )(
  6599. IUICommandTarget * This,
  6600. /* [in] */ REFGUID guidCanonicalName,
  6601. /* [in] */ IShellItemArray *psiItemArray,
  6602. /* [string][out] */ LPWSTR *ppszName);
  6603. HRESULT ( STDMETHODCALLTYPE *get_Icon )(
  6604. IUICommandTarget * This,
  6605. /* [in] */ REFGUID guidCanonicalName,
  6606. /* [in] */ IShellItemArray *psiItemArray,
  6607. /* [string][out] */ LPWSTR *ppszIcon);
  6608. HRESULT ( STDMETHODCALLTYPE *get_Tooltip )(
  6609. IUICommandTarget * This,
  6610. /* [in] */ REFGUID guidCanonicalName,
  6611. /* [in] */ IShellItemArray *psiItemArray,
  6612. /* [string][out] */ LPWSTR *ppszInfotip);
  6613. HRESULT ( STDMETHODCALLTYPE *get_State )(
  6614. IUICommandTarget * This,
  6615. /* [in] */ REFGUID guidCanonicalName,
  6616. /* [in] */ IShellItemArray *psiItemArray,
  6617. /* [out] */ UISTATE *puisState);
  6618. HRESULT ( STDMETHODCALLTYPE *Invoke )(
  6619. IUICommandTarget * This,
  6620. /* [in] */ REFGUID guidCanonicalName,
  6621. /* [in] */ IShellItemArray *psiItemArray,
  6622. /* [optional][in] */ IBindCtx *pbc);
  6623. END_INTERFACE
  6624. } IUICommandTargetVtbl;
  6625. interface IUICommandTarget
  6626. {
  6627. CONST_VTBL struct IUICommandTargetVtbl *lpVtbl;
  6628. };
  6629. #ifdef COBJMACROS
  6630. #define IUICommandTarget_QueryInterface(This,riid,ppvObject) \
  6631. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6632. #define IUICommandTarget_AddRef(This) \
  6633. (This)->lpVtbl -> AddRef(This)
  6634. #define IUICommandTarget_Release(This) \
  6635. (This)->lpVtbl -> Release(This)
  6636. #define IUICommandTarget_get_Name(This,guidCanonicalName,psiItemArray,ppszName) \
  6637. (This)->lpVtbl -> get_Name(This,guidCanonicalName,psiItemArray,ppszName)
  6638. #define IUICommandTarget_get_Icon(This,guidCanonicalName,psiItemArray,ppszIcon) \
  6639. (This)->lpVtbl -> get_Icon(This,guidCanonicalName,psiItemArray,ppszIcon)
  6640. #define IUICommandTarget_get_Tooltip(This,guidCanonicalName,psiItemArray,ppszInfotip) \
  6641. (This)->lpVtbl -> get_Tooltip(This,guidCanonicalName,psiItemArray,ppszInfotip)
  6642. #define IUICommandTarget_get_State(This,guidCanonicalName,psiItemArray,puisState) \
  6643. (This)->lpVtbl -> get_State(This,guidCanonicalName,psiItemArray,puisState)
  6644. #define IUICommandTarget_Invoke(This,guidCanonicalName,psiItemArray,pbc) \
  6645. (This)->lpVtbl -> Invoke(This,guidCanonicalName,psiItemArray,pbc)
  6646. #endif /* COBJMACROS */
  6647. #endif /* C style interface */
  6648. HRESULT STDMETHODCALLTYPE IUICommandTarget_get_Name_Proxy(
  6649. IUICommandTarget * This,
  6650. /* [in] */ REFGUID guidCanonicalName,
  6651. /* [in] */ IShellItemArray *psiItemArray,
  6652. /* [string][out] */ LPWSTR *ppszName);
  6653. void __RPC_STUB IUICommandTarget_get_Name_Stub(
  6654. IRpcStubBuffer *This,
  6655. IRpcChannelBuffer *_pRpcChannelBuffer,
  6656. PRPC_MESSAGE _pRpcMessage,
  6657. DWORD *_pdwStubPhase);
  6658. HRESULT STDMETHODCALLTYPE IUICommandTarget_get_Icon_Proxy(
  6659. IUICommandTarget * This,
  6660. /* [in] */ REFGUID guidCanonicalName,
  6661. /* [in] */ IShellItemArray *psiItemArray,
  6662. /* [string][out] */ LPWSTR *ppszIcon);
  6663. void __RPC_STUB IUICommandTarget_get_Icon_Stub(
  6664. IRpcStubBuffer *This,
  6665. IRpcChannelBuffer *_pRpcChannelBuffer,
  6666. PRPC_MESSAGE _pRpcMessage,
  6667. DWORD *_pdwStubPhase);
  6668. HRESULT STDMETHODCALLTYPE IUICommandTarget_get_Tooltip_Proxy(
  6669. IUICommandTarget * This,
  6670. /* [in] */ REFGUID guidCanonicalName,
  6671. /* [in] */ IShellItemArray *psiItemArray,
  6672. /* [string][out] */ LPWSTR *ppszInfotip);
  6673. void __RPC_STUB IUICommandTarget_get_Tooltip_Stub(
  6674. IRpcStubBuffer *This,
  6675. IRpcChannelBuffer *_pRpcChannelBuffer,
  6676. PRPC_MESSAGE _pRpcMessage,
  6677. DWORD *_pdwStubPhase);
  6678. HRESULT STDMETHODCALLTYPE IUICommandTarget_get_State_Proxy(
  6679. IUICommandTarget * This,
  6680. /* [in] */ REFGUID guidCanonicalName,
  6681. /* [in] */ IShellItemArray *psiItemArray,
  6682. /* [out] */ UISTATE *puisState);
  6683. void __RPC_STUB IUICommandTarget_get_State_Stub(
  6684. IRpcStubBuffer *This,
  6685. IRpcChannelBuffer *_pRpcChannelBuffer,
  6686. PRPC_MESSAGE _pRpcMessage,
  6687. DWORD *_pdwStubPhase);
  6688. HRESULT STDMETHODCALLTYPE IUICommandTarget_Invoke_Proxy(
  6689. IUICommandTarget * This,
  6690. /* [in] */ REFGUID guidCanonicalName,
  6691. /* [in] */ IShellItemArray *psiItemArray,
  6692. /* [optional][in] */ IBindCtx *pbc);
  6693. void __RPC_STUB IUICommandTarget_Invoke_Stub(
  6694. IRpcStubBuffer *This,
  6695. IRpcChannelBuffer *_pRpcChannelBuffer,
  6696. PRPC_MESSAGE _pRpcMessage,
  6697. DWORD *_pdwStubPhase);
  6698. #endif /* __IUICommandTarget_INTERFACE_DEFINED__ */
  6699. /* interface __MIDL_itf_shpriv_0311 */
  6700. /* [local] */
  6701. typedef GUID STGTRANSCONFIRMATION;
  6702. typedef GUID *LPSTGTRANSCONFIRMATION;
  6703. typedef struct tagCUSTOMCONFIRMATION
  6704. {
  6705. DWORD cbSize;
  6706. DWORD dwFlags;
  6707. DWORD dwButtons;
  6708. LPWSTR pwszTitle;
  6709. LPWSTR pwszDescription;
  6710. HICON hicon;
  6711. LPWSTR pwszAdvancedDetails;
  6712. } CUSTOMCONFIRMATION;
  6713. typedef struct tagCUSTOMCONFIRMATION *LPCUSTOMCONFIRMATION;
  6714. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0311_v0_0_c_ifspec;
  6715. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0311_v0_0_s_ifspec;
  6716. #ifndef __IFileSystemStorage_INTERFACE_DEFINED__
  6717. #define __IFileSystemStorage_INTERFACE_DEFINED__
  6718. /* interface IFileSystemStorage */
  6719. /* [unique][helpstring][uuid][object] */
  6720. EXTERN_C const IID IID_IFileSystemStorage;
  6721. #if defined(__cplusplus) && !defined(CINTERFACE)
  6722. MIDL_INTERFACE("E820910B-1910-404D-AFAF-5D7298B9B28D")
  6723. IFileSystemStorage : public IUnknown
  6724. {
  6725. public:
  6726. virtual HRESULT STDMETHODCALLTYPE GetPath(
  6727. /* [out] */ WCHAR *pszName,
  6728. /* [in] */ DWORD cch) = 0;
  6729. virtual HRESULT STDMETHODCALLTYPE GetAttributes(
  6730. /* [string][in] */ const WCHAR *pszName,
  6731. /* [in] */ DWORD dwMask,
  6732. /* [out] */ DWORD *pdwAttribs) = 0;
  6733. };
  6734. #else /* C style interface */
  6735. typedef struct IFileSystemStorageVtbl
  6736. {
  6737. BEGIN_INTERFACE
  6738. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6739. IFileSystemStorage * This,
  6740. /* [in] */ REFIID riid,
  6741. /* [iid_is][out] */ void **ppvObject);
  6742. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6743. IFileSystemStorage * This);
  6744. ULONG ( STDMETHODCALLTYPE *Release )(
  6745. IFileSystemStorage * This);
  6746. HRESULT ( STDMETHODCALLTYPE *GetPath )(
  6747. IFileSystemStorage * This,
  6748. /* [out] */ WCHAR *pszName,
  6749. /* [in] */ DWORD cch);
  6750. HRESULT ( STDMETHODCALLTYPE *GetAttributes )(
  6751. IFileSystemStorage * This,
  6752. /* [string][in] */ const WCHAR *pszName,
  6753. /* [in] */ DWORD dwMask,
  6754. /* [out] */ DWORD *pdwAttribs);
  6755. END_INTERFACE
  6756. } IFileSystemStorageVtbl;
  6757. interface IFileSystemStorage
  6758. {
  6759. CONST_VTBL struct IFileSystemStorageVtbl *lpVtbl;
  6760. };
  6761. #ifdef COBJMACROS
  6762. #define IFileSystemStorage_QueryInterface(This,riid,ppvObject) \
  6763. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6764. #define IFileSystemStorage_AddRef(This) \
  6765. (This)->lpVtbl -> AddRef(This)
  6766. #define IFileSystemStorage_Release(This) \
  6767. (This)->lpVtbl -> Release(This)
  6768. #define IFileSystemStorage_GetPath(This,pszName,cch) \
  6769. (This)->lpVtbl -> GetPath(This,pszName,cch)
  6770. #define IFileSystemStorage_GetAttributes(This,pszName,dwMask,pdwAttribs) \
  6771. (This)->lpVtbl -> GetAttributes(This,pszName,dwMask,pdwAttribs)
  6772. #endif /* COBJMACROS */
  6773. #endif /* C style interface */
  6774. HRESULT STDMETHODCALLTYPE IFileSystemStorage_GetPath_Proxy(
  6775. IFileSystemStorage * This,
  6776. /* [out] */ WCHAR *pszName,
  6777. /* [in] */ DWORD cch);
  6778. void __RPC_STUB IFileSystemStorage_GetPath_Stub(
  6779. IRpcStubBuffer *This,
  6780. IRpcChannelBuffer *_pRpcChannelBuffer,
  6781. PRPC_MESSAGE _pRpcMessage,
  6782. DWORD *_pdwStubPhase);
  6783. HRESULT STDMETHODCALLTYPE IFileSystemStorage_GetAttributes_Proxy(
  6784. IFileSystemStorage * This,
  6785. /* [string][in] */ const WCHAR *pszName,
  6786. /* [in] */ DWORD dwMask,
  6787. /* [out] */ DWORD *pdwAttribs);
  6788. void __RPC_STUB IFileSystemStorage_GetAttributes_Stub(
  6789. IRpcStubBuffer *This,
  6790. IRpcChannelBuffer *_pRpcChannelBuffer,
  6791. PRPC_MESSAGE _pRpcMessage,
  6792. DWORD *_pdwStubPhase);
  6793. #endif /* __IFileSystemStorage_INTERFACE_DEFINED__ */
  6794. /* interface __MIDL_itf_shpriv_0312 */
  6795. /* [local] */
  6796. typedef /* [v1_enum] */
  6797. enum tagSTGOP
  6798. { STGOP_MOVE = 1,
  6799. STGOP_COPY = 2,
  6800. STGOP_SYNC = 3,
  6801. STGOP_DIFF = 4,
  6802. STGOP_REMOVE = 5,
  6803. STGOP_RENAME = 6,
  6804. STGOP_STATS = 7,
  6805. STGOP_COPY_PREFERHARDLINK = 8
  6806. } STGOP;
  6807. typedef /* [v1_enum] */ enum tagSTGOP *LPSTGOP;
  6808. typedef /* [v1_enum] */
  6809. enum tagSTGPROCOPTIONS
  6810. { STOPT_ROOTONLY = 0x4,
  6811. STOPT_NOCONFIRMATIONS = 0x8,
  6812. STOPT_NOPROGRESSUI = 0x10,
  6813. STOPT_NOSTATS = 0x20
  6814. } STGPROCOPTIONS;
  6815. typedef /* [v1_enum] */ enum tagSTGPROCOPTIONS *LPSTGPROCOPTIONS;
  6816. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0312_v0_0_c_ifspec;
  6817. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0312_v0_0_s_ifspec;
  6818. #ifndef __IDynamicStorage_INTERFACE_DEFINED__
  6819. #define __IDynamicStorage_INTERFACE_DEFINED__
  6820. /* interface IDynamicStorage */
  6821. /* [object][uuid][helpstring] */
  6822. typedef /* [public][public][v1_enum] */
  6823. enum __MIDL_IDynamicStorage_0001
  6824. { DSTGF_NONE = 0,
  6825. DSTGF_ALLOWDUP = 0x1
  6826. } DSTGF;
  6827. EXTERN_C const IID IID_IDynamicStorage;
  6828. #if defined(__cplusplus) && !defined(CINTERFACE)
  6829. MIDL_INTERFACE("c7bfc3d0-8939-4d9d-8973-654099329956")
  6830. IDynamicStorage : public IUnknown
  6831. {
  6832. public:
  6833. virtual HRESULT STDMETHODCALLTYPE AddIDList(
  6834. /* [in] */ DWORD cpidl,
  6835. /* [size_is][in] */ LPITEMIDLIST *rgpidl,
  6836. DSTGF dstgf) = 0;
  6837. virtual HRESULT STDMETHODCALLTYPE BindToItem(
  6838. /* [string][in] */ LPCWSTR pwszName,
  6839. /* [in] */ REFIID riid,
  6840. /* [iid_is][out] */ void **ppv) = 0;
  6841. virtual HRESULT STDMETHODCALLTYPE EnumItems(
  6842. /* [out] */ IEnumShellItems **ppesi) = 0;
  6843. };
  6844. #else /* C style interface */
  6845. typedef struct IDynamicStorageVtbl
  6846. {
  6847. BEGIN_INTERFACE
  6848. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6849. IDynamicStorage * This,
  6850. /* [in] */ REFIID riid,
  6851. /* [iid_is][out] */ void **ppvObject);
  6852. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6853. IDynamicStorage * This);
  6854. ULONG ( STDMETHODCALLTYPE *Release )(
  6855. IDynamicStorage * This);
  6856. HRESULT ( STDMETHODCALLTYPE *AddIDList )(
  6857. IDynamicStorage * This,
  6858. /* [in] */ DWORD cpidl,
  6859. /* [size_is][in] */ LPITEMIDLIST *rgpidl,
  6860. DSTGF dstgf);
  6861. HRESULT ( STDMETHODCALLTYPE *BindToItem )(
  6862. IDynamicStorage * This,
  6863. /* [string][in] */ LPCWSTR pwszName,
  6864. /* [in] */ REFIID riid,
  6865. /* [iid_is][out] */ void **ppv);
  6866. HRESULT ( STDMETHODCALLTYPE *EnumItems )(
  6867. IDynamicStorage * This,
  6868. /* [out] */ IEnumShellItems **ppesi);
  6869. END_INTERFACE
  6870. } IDynamicStorageVtbl;
  6871. interface IDynamicStorage
  6872. {
  6873. CONST_VTBL struct IDynamicStorageVtbl *lpVtbl;
  6874. };
  6875. #ifdef COBJMACROS
  6876. #define IDynamicStorage_QueryInterface(This,riid,ppvObject) \
  6877. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6878. #define IDynamicStorage_AddRef(This) \
  6879. (This)->lpVtbl -> AddRef(This)
  6880. #define IDynamicStorage_Release(This) \
  6881. (This)->lpVtbl -> Release(This)
  6882. #define IDynamicStorage_AddIDList(This,cpidl,rgpidl,dstgf) \
  6883. (This)->lpVtbl -> AddIDList(This,cpidl,rgpidl,dstgf)
  6884. #define IDynamicStorage_BindToItem(This,pwszName,riid,ppv) \
  6885. (This)->lpVtbl -> BindToItem(This,pwszName,riid,ppv)
  6886. #define IDynamicStorage_EnumItems(This,ppesi) \
  6887. (This)->lpVtbl -> EnumItems(This,ppesi)
  6888. #endif /* COBJMACROS */
  6889. #endif /* C style interface */
  6890. HRESULT STDMETHODCALLTYPE IDynamicStorage_AddIDList_Proxy(
  6891. IDynamicStorage * This,
  6892. /* [in] */ DWORD cpidl,
  6893. /* [size_is][in] */ LPITEMIDLIST *rgpidl,
  6894. DSTGF dstgf);
  6895. void __RPC_STUB IDynamicStorage_AddIDList_Stub(
  6896. IRpcStubBuffer *This,
  6897. IRpcChannelBuffer *_pRpcChannelBuffer,
  6898. PRPC_MESSAGE _pRpcMessage,
  6899. DWORD *_pdwStubPhase);
  6900. HRESULT STDMETHODCALLTYPE IDynamicStorage_BindToItem_Proxy(
  6901. IDynamicStorage * This,
  6902. /* [string][in] */ LPCWSTR pwszName,
  6903. /* [in] */ REFIID riid,
  6904. /* [iid_is][out] */ void **ppv);
  6905. void __RPC_STUB IDynamicStorage_BindToItem_Stub(
  6906. IRpcStubBuffer *This,
  6907. IRpcChannelBuffer *_pRpcChannelBuffer,
  6908. PRPC_MESSAGE _pRpcMessage,
  6909. DWORD *_pdwStubPhase);
  6910. HRESULT STDMETHODCALLTYPE IDynamicStorage_EnumItems_Proxy(
  6911. IDynamicStorage * This,
  6912. /* [out] */ IEnumShellItems **ppesi);
  6913. void __RPC_STUB IDynamicStorage_EnumItems_Stub(
  6914. IRpcStubBuffer *This,
  6915. IRpcChannelBuffer *_pRpcChannelBuffer,
  6916. PRPC_MESSAGE _pRpcMessage,
  6917. DWORD *_pdwStubPhase);
  6918. #endif /* __IDynamicStorage_INTERFACE_DEFINED__ */
  6919. /* interface __MIDL_itf_shpriv_0313 */
  6920. /* [local] */
  6921. #define STRESPONSE_CONTINUE S_OK
  6922. #define STRESPONSE_RENAME MAKE_HRESULT(SEVERITY_SUCCESS, FACILITY_ITF, 20)
  6923. #define STRESPONSE_SKIP MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 21)
  6924. #define STRESPONSE_CANCEL MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 22)
  6925. #define STRESPONSE_RETRY HRESULT_FROM_WIN32(ERROR_RETRY)
  6926. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0313_v0_0_c_ifspec;
  6927. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0313_v0_0_s_ifspec;
  6928. #ifndef __ITransferAdviseSink_INTERFACE_DEFINED__
  6929. #define __ITransferAdviseSink_INTERFACE_DEFINED__
  6930. /* interface ITransferAdviseSink */
  6931. /* [unique][helpstring][uuid][object] */
  6932. EXTERN_C const IID IID_ITransferAdviseSink;
  6933. #if defined(__cplusplus) && !defined(CINTERFACE)
  6934. MIDL_INTERFACE("D082C196-A2B2-41ff-A5E5-80EFF91B7D79")
  6935. ITransferAdviseSink : public IQueryContinue
  6936. {
  6937. public:
  6938. virtual HRESULT STDMETHODCALLTYPE PreOperation(
  6939. /* [in] */ const STGOP op,
  6940. /* [in] */ IShellItem *psiItem,
  6941. /* [in] */ IShellItem *psiDest) = 0;
  6942. virtual HRESULT STDMETHODCALLTYPE ConfirmOperation(
  6943. /* [in] */ IShellItem *psiItem,
  6944. /* [in] */ IShellItem *psiDest,
  6945. /* [in] */ STGTRANSCONFIRMATION stc,
  6946. /* [unique][in] */ LPCUSTOMCONFIRMATION pcc) = 0;
  6947. virtual HRESULT STDMETHODCALLTYPE OperationProgress(
  6948. /* [in] */ const STGOP op,
  6949. /* [in] */ IShellItem *psiItem,
  6950. /* [in] */ IShellItem *psiDest,
  6951. /* [in] */ ULONGLONG ulTotal,
  6952. /* [in] */ ULONGLONG ulComplete) = 0;
  6953. virtual HRESULT STDMETHODCALLTYPE PostOperation(
  6954. /* [in] */ const STGOP op,
  6955. /* [in] */ IShellItem *psiItem,
  6956. /* [in] */ IShellItem *psiDest,
  6957. /* [in] */ HRESULT hrResult) = 0;
  6958. };
  6959. #else /* C style interface */
  6960. typedef struct ITransferAdviseSinkVtbl
  6961. {
  6962. BEGIN_INTERFACE
  6963. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  6964. ITransferAdviseSink * This,
  6965. /* [in] */ REFIID riid,
  6966. /* [iid_is][out] */ void **ppvObject);
  6967. ULONG ( STDMETHODCALLTYPE *AddRef )(
  6968. ITransferAdviseSink * This);
  6969. ULONG ( STDMETHODCALLTYPE *Release )(
  6970. ITransferAdviseSink * This);
  6971. HRESULT ( STDMETHODCALLTYPE *QueryContinue )(
  6972. ITransferAdviseSink * This);
  6973. HRESULT ( STDMETHODCALLTYPE *PreOperation )(
  6974. ITransferAdviseSink * This,
  6975. /* [in] */ const STGOP op,
  6976. /* [in] */ IShellItem *psiItem,
  6977. /* [in] */ IShellItem *psiDest);
  6978. HRESULT ( STDMETHODCALLTYPE *ConfirmOperation )(
  6979. ITransferAdviseSink * This,
  6980. /* [in] */ IShellItem *psiItem,
  6981. /* [in] */ IShellItem *psiDest,
  6982. /* [in] */ STGTRANSCONFIRMATION stc,
  6983. /* [unique][in] */ LPCUSTOMCONFIRMATION pcc);
  6984. HRESULT ( STDMETHODCALLTYPE *OperationProgress )(
  6985. ITransferAdviseSink * This,
  6986. /* [in] */ const STGOP op,
  6987. /* [in] */ IShellItem *psiItem,
  6988. /* [in] */ IShellItem *psiDest,
  6989. /* [in] */ ULONGLONG ulTotal,
  6990. /* [in] */ ULONGLONG ulComplete);
  6991. HRESULT ( STDMETHODCALLTYPE *PostOperation )(
  6992. ITransferAdviseSink * This,
  6993. /* [in] */ const STGOP op,
  6994. /* [in] */ IShellItem *psiItem,
  6995. /* [in] */ IShellItem *psiDest,
  6996. /* [in] */ HRESULT hrResult);
  6997. END_INTERFACE
  6998. } ITransferAdviseSinkVtbl;
  6999. interface ITransferAdviseSink
  7000. {
  7001. CONST_VTBL struct ITransferAdviseSinkVtbl *lpVtbl;
  7002. };
  7003. #ifdef COBJMACROS
  7004. #define ITransferAdviseSink_QueryInterface(This,riid,ppvObject) \
  7005. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7006. #define ITransferAdviseSink_AddRef(This) \
  7007. (This)->lpVtbl -> AddRef(This)
  7008. #define ITransferAdviseSink_Release(This) \
  7009. (This)->lpVtbl -> Release(This)
  7010. #define ITransferAdviseSink_QueryContinue(This) \
  7011. (This)->lpVtbl -> QueryContinue(This)
  7012. #define ITransferAdviseSink_PreOperation(This,op,psiItem,psiDest) \
  7013. (This)->lpVtbl -> PreOperation(This,op,psiItem,psiDest)
  7014. #define ITransferAdviseSink_ConfirmOperation(This,psiItem,psiDest,stc,pcc) \
  7015. (This)->lpVtbl -> ConfirmOperation(This,psiItem,psiDest,stc,pcc)
  7016. #define ITransferAdviseSink_OperationProgress(This,op,psiItem,psiDest,ulTotal,ulComplete) \
  7017. (This)->lpVtbl -> OperationProgress(This,op,psiItem,psiDest,ulTotal,ulComplete)
  7018. #define ITransferAdviseSink_PostOperation(This,op,psiItem,psiDest,hrResult) \
  7019. (This)->lpVtbl -> PostOperation(This,op,psiItem,psiDest,hrResult)
  7020. #endif /* COBJMACROS */
  7021. #endif /* C style interface */
  7022. HRESULT STDMETHODCALLTYPE ITransferAdviseSink_PreOperation_Proxy(
  7023. ITransferAdviseSink * This,
  7024. /* [in] */ const STGOP op,
  7025. /* [in] */ IShellItem *psiItem,
  7026. /* [in] */ IShellItem *psiDest);
  7027. void __RPC_STUB ITransferAdviseSink_PreOperation_Stub(
  7028. IRpcStubBuffer *This,
  7029. IRpcChannelBuffer *_pRpcChannelBuffer,
  7030. PRPC_MESSAGE _pRpcMessage,
  7031. DWORD *_pdwStubPhase);
  7032. HRESULT STDMETHODCALLTYPE ITransferAdviseSink_ConfirmOperation_Proxy(
  7033. ITransferAdviseSink * This,
  7034. /* [in] */ IShellItem *psiItem,
  7035. /* [in] */ IShellItem *psiDest,
  7036. /* [in] */ STGTRANSCONFIRMATION stc,
  7037. /* [unique][in] */ LPCUSTOMCONFIRMATION pcc);
  7038. void __RPC_STUB ITransferAdviseSink_ConfirmOperation_Stub(
  7039. IRpcStubBuffer *This,
  7040. IRpcChannelBuffer *_pRpcChannelBuffer,
  7041. PRPC_MESSAGE _pRpcMessage,
  7042. DWORD *_pdwStubPhase);
  7043. HRESULT STDMETHODCALLTYPE ITransferAdviseSink_OperationProgress_Proxy(
  7044. ITransferAdviseSink * This,
  7045. /* [in] */ const STGOP op,
  7046. /* [in] */ IShellItem *psiItem,
  7047. /* [in] */ IShellItem *psiDest,
  7048. /* [in] */ ULONGLONG ulTotal,
  7049. /* [in] */ ULONGLONG ulComplete);
  7050. void __RPC_STUB ITransferAdviseSink_OperationProgress_Stub(
  7051. IRpcStubBuffer *This,
  7052. IRpcChannelBuffer *_pRpcChannelBuffer,
  7053. PRPC_MESSAGE _pRpcMessage,
  7054. DWORD *_pdwStubPhase);
  7055. HRESULT STDMETHODCALLTYPE ITransferAdviseSink_PostOperation_Proxy(
  7056. ITransferAdviseSink * This,
  7057. /* [in] */ const STGOP op,
  7058. /* [in] */ IShellItem *psiItem,
  7059. /* [in] */ IShellItem *psiDest,
  7060. /* [in] */ HRESULT hrResult);
  7061. void __RPC_STUB ITransferAdviseSink_PostOperation_Stub(
  7062. IRpcStubBuffer *This,
  7063. IRpcChannelBuffer *_pRpcChannelBuffer,
  7064. PRPC_MESSAGE _pRpcMessage,
  7065. DWORD *_pdwStubPhase);
  7066. #endif /* __ITransferAdviseSink_INTERFACE_DEFINED__ */
  7067. /* interface __MIDL_itf_shpriv_0314 */
  7068. /* [local] */
  7069. #define STGX_MOVE_MOVE 0x00000000
  7070. #define STGX_MOVE_COPY 0x00000001
  7071. #define STGX_MOVE_ONLYIFEXISTS 0x00000002 // Only perform if target already exists
  7072. #define STGX_MOVE_ATOMIC 0x00000004 // Operation must be immediate, all-or-nothing. If a storage must be walked and each sub-element moved/copied that is not atomic, but if the entire storage can be moved/copied in one step that is atomic. If a move must be done as a seperate copy and a delete that is not atomic.
  7073. #define STGX_MOVE_TESTONLY 0x00000008 // Test whether operation is valid only, do not perform. Useful in testing for ATOMIC before trying an operation.
  7074. #define STGX_MOVE_NORECURSION 0x00000010 // When moving/copying storages, do not move/copy their contents
  7075. #define STGX_MOVE_FORCE 0x00001000
  7076. #define STGX_MOVE_PREFERHARDLINK 0x00002000 // default to hard linking instead of a full file copy/move
  7077. typedef DWORD STGXMOVE;
  7078. #define STGX_MODE_READ 0x00000000L
  7079. #define STGX_MODE_WRITE 0x00000001L
  7080. #define STGX_MODE_READWRITE 0x00000002L
  7081. #define STGX_MODE_ACCESSMASK 0x0000000FL
  7082. #define STGX_MODE_SHARE_DENY_NONE 0x00000040L
  7083. #define STGX_MODE_SHARE_DENY_READ 0x00000030L
  7084. #define STGX_MODE_SHARE_DENY_WRITE 0x00000020L
  7085. #define STGX_MODE_SHARE_EXCLUSIVE 0x00000010L
  7086. #define STGX_MODE_SHAREMASK 0x000000F0L
  7087. #define STGX_MODE_OPEN 0x00000100L // default is to open an existing item and fail if its not there
  7088. #define STGX_MODE_CREATE 0x00000200L // Create a new item. If an old item has the same name delete it first.
  7089. #define STGX_MODE_FAILIFTHERE 0x00000400L // Use with CREATE. Create a new item but fail if an item with that name already exists.
  7090. #define STGX_MODE_OPENEXISTING 0x00000800L // Use with CREATE. If the item already exists open the item, otherwise create the item.
  7091. #define STGX_MODE_CREATIONMASK 0x00000F00L
  7092. #define STGX_MODE_FORCE 0x00001000
  7093. typedef DWORD STGXMODE;
  7094. #define STGX_DESTROY_FORCE 0x00001000
  7095. typedef DWORD STGXDESTROY;
  7096. typedef /* [v1_enum] */
  7097. enum tagSTGXTYPE
  7098. { STGX_TYPE_ANY = 0L,
  7099. STGX_TYPE_STORAGE = 0x1L,
  7100. STGX_TYPE_STREAM = 0x2L
  7101. } STGXTYPE;
  7102. #define STGX_E_INCORRECTTYPE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_STORAGE, 0x300) // Tried to open a storage/stream but a stream.storage with the same name already exists
  7103. #define STGX_E_NOADVISESINK MAKE_HRESULT(SEVERITY_ERROR, FACILITY_STORAGE, 0x301) // Needed to confirm something but no advise sink was set
  7104. #define STGX_E_CANNOTRECURSE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_STORAGE, 0x302) // A move or copy of a storage failed to recurse. The storage itself was copied, but none of its contents were.
  7105. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0314_v0_0_c_ifspec;
  7106. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0314_v0_0_s_ifspec;
  7107. #ifndef __ITransferDest_INTERFACE_DEFINED__
  7108. #define __ITransferDest_INTERFACE_DEFINED__
  7109. /* interface ITransferDest */
  7110. /* [unique][helpstring][uuid][object] */
  7111. EXTERN_C const IID IID_ITransferDest;
  7112. #if defined(__cplusplus) && !defined(CINTERFACE)
  7113. MIDL_INTERFACE("9FE3A135-2915-493b-A8EE-3AB21982776C")
  7114. ITransferDest : public IUnknown
  7115. {
  7116. public:
  7117. virtual HRESULT STDMETHODCALLTYPE Advise(
  7118. /* [in] */ ITransferAdviseSink *pAdvise,
  7119. /* [retval][out] */ DWORD *pdwCookie) = 0;
  7120. virtual HRESULT STDMETHODCALLTYPE Unadvise(
  7121. /* [in] */ DWORD dwCookie) = 0;
  7122. virtual HRESULT STDMETHODCALLTYPE OpenElement(
  7123. /* [string][in] */ const WCHAR *pwcsName,
  7124. /* [in] */ STGXMODE grfMode,
  7125. /* [out][in] */ DWORD *pdwType,
  7126. /* [in] */ REFIID riid,
  7127. /* [iid_is][out] */ void **ppunk) = 0;
  7128. virtual HRESULT STDMETHODCALLTYPE CreateElement(
  7129. /* [string][in] */ const WCHAR *pwcsName,
  7130. /* [in] */ IShellItem *psiTemplate,
  7131. /* [in] */ STGXMODE grfMode,
  7132. /* [in] */ DWORD dwType,
  7133. /* [in] */ REFIID riid,
  7134. /* [iid_is][out] */ void **ppunk) = 0;
  7135. virtual HRESULT STDMETHODCALLTYPE MoveElement(
  7136. /* [in] */ IShellItem *psiItem,
  7137. /* [string][in] */ WCHAR *pwcsNewName,
  7138. /* [in] */ STGXMOVE grfOptions) = 0;
  7139. virtual HRESULT STDMETHODCALLTYPE DestroyElement(
  7140. /* [string][in] */ const WCHAR *pwcsName,
  7141. /* [in] */ STGXDESTROY grfOptions) = 0;
  7142. };
  7143. #else /* C style interface */
  7144. typedef struct ITransferDestVtbl
  7145. {
  7146. BEGIN_INTERFACE
  7147. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7148. ITransferDest * This,
  7149. /* [in] */ REFIID riid,
  7150. /* [iid_is][out] */ void **ppvObject);
  7151. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7152. ITransferDest * This);
  7153. ULONG ( STDMETHODCALLTYPE *Release )(
  7154. ITransferDest * This);
  7155. HRESULT ( STDMETHODCALLTYPE *Advise )(
  7156. ITransferDest * This,
  7157. /* [in] */ ITransferAdviseSink *pAdvise,
  7158. /* [retval][out] */ DWORD *pdwCookie);
  7159. HRESULT ( STDMETHODCALLTYPE *Unadvise )(
  7160. ITransferDest * This,
  7161. /* [in] */ DWORD dwCookie);
  7162. HRESULT ( STDMETHODCALLTYPE *OpenElement )(
  7163. ITransferDest * This,
  7164. /* [string][in] */ const WCHAR *pwcsName,
  7165. /* [in] */ STGXMODE grfMode,
  7166. /* [out][in] */ DWORD *pdwType,
  7167. /* [in] */ REFIID riid,
  7168. /* [iid_is][out] */ void **ppunk);
  7169. HRESULT ( STDMETHODCALLTYPE *CreateElement )(
  7170. ITransferDest * This,
  7171. /* [string][in] */ const WCHAR *pwcsName,
  7172. /* [in] */ IShellItem *psiTemplate,
  7173. /* [in] */ STGXMODE grfMode,
  7174. /* [in] */ DWORD dwType,
  7175. /* [in] */ REFIID riid,
  7176. /* [iid_is][out] */ void **ppunk);
  7177. HRESULT ( STDMETHODCALLTYPE *MoveElement )(
  7178. ITransferDest * This,
  7179. /* [in] */ IShellItem *psiItem,
  7180. /* [string][in] */ WCHAR *pwcsNewName,
  7181. /* [in] */ STGXMOVE grfOptions);
  7182. HRESULT ( STDMETHODCALLTYPE *DestroyElement )(
  7183. ITransferDest * This,
  7184. /* [string][in] */ const WCHAR *pwcsName,
  7185. /* [in] */ STGXDESTROY grfOptions);
  7186. END_INTERFACE
  7187. } ITransferDestVtbl;
  7188. interface ITransferDest
  7189. {
  7190. CONST_VTBL struct ITransferDestVtbl *lpVtbl;
  7191. };
  7192. #ifdef COBJMACROS
  7193. #define ITransferDest_QueryInterface(This,riid,ppvObject) \
  7194. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7195. #define ITransferDest_AddRef(This) \
  7196. (This)->lpVtbl -> AddRef(This)
  7197. #define ITransferDest_Release(This) \
  7198. (This)->lpVtbl -> Release(This)
  7199. #define ITransferDest_Advise(This,pAdvise,pdwCookie) \
  7200. (This)->lpVtbl -> Advise(This,pAdvise,pdwCookie)
  7201. #define ITransferDest_Unadvise(This,dwCookie) \
  7202. (This)->lpVtbl -> Unadvise(This,dwCookie)
  7203. #define ITransferDest_OpenElement(This,pwcsName,grfMode,pdwType,riid,ppunk) \
  7204. (This)->lpVtbl -> OpenElement(This,pwcsName,grfMode,pdwType,riid,ppunk)
  7205. #define ITransferDest_CreateElement(This,pwcsName,psiTemplate,grfMode,dwType,riid,ppunk) \
  7206. (This)->lpVtbl -> CreateElement(This,pwcsName,psiTemplate,grfMode,dwType,riid,ppunk)
  7207. #define ITransferDest_MoveElement(This,psiItem,pwcsNewName,grfOptions) \
  7208. (This)->lpVtbl -> MoveElement(This,psiItem,pwcsNewName,grfOptions)
  7209. #define ITransferDest_DestroyElement(This,pwcsName,grfOptions) \
  7210. (This)->lpVtbl -> DestroyElement(This,pwcsName,grfOptions)
  7211. #endif /* COBJMACROS */
  7212. #endif /* C style interface */
  7213. HRESULT STDMETHODCALLTYPE ITransferDest_Advise_Proxy(
  7214. ITransferDest * This,
  7215. /* [in] */ ITransferAdviseSink *pAdvise,
  7216. /* [retval][out] */ DWORD *pdwCookie);
  7217. void __RPC_STUB ITransferDest_Advise_Stub(
  7218. IRpcStubBuffer *This,
  7219. IRpcChannelBuffer *_pRpcChannelBuffer,
  7220. PRPC_MESSAGE _pRpcMessage,
  7221. DWORD *_pdwStubPhase);
  7222. HRESULT STDMETHODCALLTYPE ITransferDest_Unadvise_Proxy(
  7223. ITransferDest * This,
  7224. /* [in] */ DWORD dwCookie);
  7225. void __RPC_STUB ITransferDest_Unadvise_Stub(
  7226. IRpcStubBuffer *This,
  7227. IRpcChannelBuffer *_pRpcChannelBuffer,
  7228. PRPC_MESSAGE _pRpcMessage,
  7229. DWORD *_pdwStubPhase);
  7230. HRESULT STDMETHODCALLTYPE ITransferDest_OpenElement_Proxy(
  7231. ITransferDest * This,
  7232. /* [string][in] */ const WCHAR *pwcsName,
  7233. /* [in] */ STGXMODE grfMode,
  7234. /* [out][in] */ DWORD *pdwType,
  7235. /* [in] */ REFIID riid,
  7236. /* [iid_is][out] */ void **ppunk);
  7237. void __RPC_STUB ITransferDest_OpenElement_Stub(
  7238. IRpcStubBuffer *This,
  7239. IRpcChannelBuffer *_pRpcChannelBuffer,
  7240. PRPC_MESSAGE _pRpcMessage,
  7241. DWORD *_pdwStubPhase);
  7242. HRESULT STDMETHODCALLTYPE ITransferDest_CreateElement_Proxy(
  7243. ITransferDest * This,
  7244. /* [string][in] */ const WCHAR *pwcsName,
  7245. /* [in] */ IShellItem *psiTemplate,
  7246. /* [in] */ STGXMODE grfMode,
  7247. /* [in] */ DWORD dwType,
  7248. /* [in] */ REFIID riid,
  7249. /* [iid_is][out] */ void **ppunk);
  7250. void __RPC_STUB ITransferDest_CreateElement_Stub(
  7251. IRpcStubBuffer *This,
  7252. IRpcChannelBuffer *_pRpcChannelBuffer,
  7253. PRPC_MESSAGE _pRpcMessage,
  7254. DWORD *_pdwStubPhase);
  7255. HRESULT STDMETHODCALLTYPE ITransferDest_MoveElement_Proxy(
  7256. ITransferDest * This,
  7257. /* [in] */ IShellItem *psiItem,
  7258. /* [string][in] */ WCHAR *pwcsNewName,
  7259. /* [in] */ STGXMOVE grfOptions);
  7260. void __RPC_STUB ITransferDest_MoveElement_Stub(
  7261. IRpcStubBuffer *This,
  7262. IRpcChannelBuffer *_pRpcChannelBuffer,
  7263. PRPC_MESSAGE _pRpcMessage,
  7264. DWORD *_pdwStubPhase);
  7265. HRESULT STDMETHODCALLTYPE ITransferDest_DestroyElement_Proxy(
  7266. ITransferDest * This,
  7267. /* [string][in] */ const WCHAR *pwcsName,
  7268. /* [in] */ STGXDESTROY grfOptions);
  7269. void __RPC_STUB ITransferDest_DestroyElement_Stub(
  7270. IRpcStubBuffer *This,
  7271. IRpcChannelBuffer *_pRpcChannelBuffer,
  7272. PRPC_MESSAGE _pRpcMessage,
  7273. DWORD *_pdwStubPhase);
  7274. #endif /* __ITransferDest_INTERFACE_DEFINED__ */
  7275. #ifndef __IStorageProcessor_INTERFACE_DEFINED__
  7276. #define __IStorageProcessor_INTERFACE_DEFINED__
  7277. /* interface IStorageProcessor */
  7278. /* [unique][helpstring][uuid][object] */
  7279. EXTERN_C const IID IID_IStorageProcessor;
  7280. #if defined(__cplusplus) && !defined(CINTERFACE)
  7281. MIDL_INTERFACE("5AE334C5-06DD-4321-B44F-63B1D23F2E57")
  7282. IStorageProcessor : public IUnknown
  7283. {
  7284. public:
  7285. virtual HRESULT STDMETHODCALLTYPE Advise(
  7286. /* [in] */ ITransferAdviseSink *pAdvise,
  7287. /* [retval][out] */ DWORD *dwCookie) = 0;
  7288. virtual HRESULT STDMETHODCALLTYPE Unadvise(
  7289. /* [in] */ DWORD dwCookie) = 0;
  7290. virtual HRESULT STDMETHODCALLTYPE Run(
  7291. /* [in] */ IEnumShellItems *penum,
  7292. /* [in] */ IShellItem *psiDest,
  7293. /* [in] */ STGOP dwOperation,
  7294. /* [in] */ DWORD dwOptions) = 0;
  7295. virtual HRESULT STDMETHODCALLTYPE SetProgress(
  7296. /* [in] */ IActionProgress *pap) = 0;
  7297. };
  7298. #else /* C style interface */
  7299. typedef struct IStorageProcessorVtbl
  7300. {
  7301. BEGIN_INTERFACE
  7302. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7303. IStorageProcessor * This,
  7304. /* [in] */ REFIID riid,
  7305. /* [iid_is][out] */ void **ppvObject);
  7306. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7307. IStorageProcessor * This);
  7308. ULONG ( STDMETHODCALLTYPE *Release )(
  7309. IStorageProcessor * This);
  7310. HRESULT ( STDMETHODCALLTYPE *Advise )(
  7311. IStorageProcessor * This,
  7312. /* [in] */ ITransferAdviseSink *pAdvise,
  7313. /* [retval][out] */ DWORD *dwCookie);
  7314. HRESULT ( STDMETHODCALLTYPE *Unadvise )(
  7315. IStorageProcessor * This,
  7316. /* [in] */ DWORD dwCookie);
  7317. HRESULT ( STDMETHODCALLTYPE *Run )(
  7318. IStorageProcessor * This,
  7319. /* [in] */ IEnumShellItems *penum,
  7320. /* [in] */ IShellItem *psiDest,
  7321. /* [in] */ STGOP dwOperation,
  7322. /* [in] */ DWORD dwOptions);
  7323. HRESULT ( STDMETHODCALLTYPE *SetProgress )(
  7324. IStorageProcessor * This,
  7325. /* [in] */ IActionProgress *pap);
  7326. END_INTERFACE
  7327. } IStorageProcessorVtbl;
  7328. interface IStorageProcessor
  7329. {
  7330. CONST_VTBL struct IStorageProcessorVtbl *lpVtbl;
  7331. };
  7332. #ifdef COBJMACROS
  7333. #define IStorageProcessor_QueryInterface(This,riid,ppvObject) \
  7334. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7335. #define IStorageProcessor_AddRef(This) \
  7336. (This)->lpVtbl -> AddRef(This)
  7337. #define IStorageProcessor_Release(This) \
  7338. (This)->lpVtbl -> Release(This)
  7339. #define IStorageProcessor_Advise(This,pAdvise,dwCookie) \
  7340. (This)->lpVtbl -> Advise(This,pAdvise,dwCookie)
  7341. #define IStorageProcessor_Unadvise(This,dwCookie) \
  7342. (This)->lpVtbl -> Unadvise(This,dwCookie)
  7343. #define IStorageProcessor_Run(This,penum,psiDest,dwOperation,dwOptions) \
  7344. (This)->lpVtbl -> Run(This,penum,psiDest,dwOperation,dwOptions)
  7345. #define IStorageProcessor_SetProgress(This,pap) \
  7346. (This)->lpVtbl -> SetProgress(This,pap)
  7347. #endif /* COBJMACROS */
  7348. #endif /* C style interface */
  7349. HRESULT STDMETHODCALLTYPE IStorageProcessor_Advise_Proxy(
  7350. IStorageProcessor * This,
  7351. /* [in] */ ITransferAdviseSink *pAdvise,
  7352. /* [retval][out] */ DWORD *dwCookie);
  7353. void __RPC_STUB IStorageProcessor_Advise_Stub(
  7354. IRpcStubBuffer *This,
  7355. IRpcChannelBuffer *_pRpcChannelBuffer,
  7356. PRPC_MESSAGE _pRpcMessage,
  7357. DWORD *_pdwStubPhase);
  7358. HRESULT STDMETHODCALLTYPE IStorageProcessor_Unadvise_Proxy(
  7359. IStorageProcessor * This,
  7360. /* [in] */ DWORD dwCookie);
  7361. void __RPC_STUB IStorageProcessor_Unadvise_Stub(
  7362. IRpcStubBuffer *This,
  7363. IRpcChannelBuffer *_pRpcChannelBuffer,
  7364. PRPC_MESSAGE _pRpcMessage,
  7365. DWORD *_pdwStubPhase);
  7366. HRESULT STDMETHODCALLTYPE IStorageProcessor_Run_Proxy(
  7367. IStorageProcessor * This,
  7368. /* [in] */ IEnumShellItems *penum,
  7369. /* [in] */ IShellItem *psiDest,
  7370. /* [in] */ STGOP dwOperation,
  7371. /* [in] */ DWORD dwOptions);
  7372. void __RPC_STUB IStorageProcessor_Run_Stub(
  7373. IRpcStubBuffer *This,
  7374. IRpcChannelBuffer *_pRpcChannelBuffer,
  7375. PRPC_MESSAGE _pRpcMessage,
  7376. DWORD *_pdwStubPhase);
  7377. HRESULT STDMETHODCALLTYPE IStorageProcessor_SetProgress_Proxy(
  7378. IStorageProcessor * This,
  7379. /* [in] */ IActionProgress *pap);
  7380. void __RPC_STUB IStorageProcessor_SetProgress_Stub(
  7381. IRpcStubBuffer *This,
  7382. IRpcChannelBuffer *_pRpcChannelBuffer,
  7383. PRPC_MESSAGE _pRpcMessage,
  7384. DWORD *_pdwStubPhase);
  7385. #endif /* __IStorageProcessor_INTERFACE_DEFINED__ */
  7386. /* interface __MIDL_itf_shpriv_0316 */
  7387. /* [local] */
  7388. #define CCF_SHOW_SOURCE_INFO 0x00000001 // if set, information about the source will be shown. Information will be gotten from IShellFolder if possible, or a STATSTG structure otherwise.
  7389. #define CCF_SHOW_DESTINATION_INFO 0x00000002 // If set, information about the destination will be shown. Information will be gotten from IShellFolder if possible, or a STATSTG structure otherwise.
  7390. #define CCF_USE_DEFAULT_ICON 0x00000004 // If set, hicon is ignored and a default is selected based on the current operation.
  7391. #define CCB_YES_SKIP_CANCEL 1
  7392. #define CCB_RENAME_SKIP_CANCEL 2
  7393. #define CCB_YES_SKIP_RENAME_CANCEL 3
  7394. #define CCB_RETRY_SKIP_CANCEL 4
  7395. #define CCB_OK 5
  7396. typedef /* [v1_enum] */
  7397. enum tagCONFIRMATIONRESPONSE
  7398. { CONFRES_CONTINUE = 0,
  7399. CONFRES_SKIP = 0x1,
  7400. CONFRES_RETRY = 0x2,
  7401. CONFRES_RENAME = 0x3,
  7402. CONFRES_CANCEL = 0x4,
  7403. CONFRES_UNDO = 0x5
  7404. } CONFIRMATIONRESPONSE;
  7405. typedef /* [v1_enum] */ enum tagCONFIRMATIONRESPONSE *LPCONFIRMATIONRESPONSE;
  7406. typedef struct tagCONFIRMOP
  7407. {
  7408. STGOP dwOperation;
  7409. STGTRANSCONFIRMATION stc;
  7410. CUSTOMCONFIRMATION *pcc;
  7411. UINT cRemaining;
  7412. IShellItem *psiItem;
  7413. IShellItem *psiDest;
  7414. LPCWSTR pwszRenameTo;
  7415. IUnknown *punkSite;
  7416. } CONFIRMOP;
  7417. typedef struct tagCONFIRMOP *PCONFIRMOP;
  7418. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0316_v0_0_c_ifspec;
  7419. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0316_v0_0_s_ifspec;
  7420. #ifndef __ITransferConfirmation_INTERFACE_DEFINED__
  7421. #define __ITransferConfirmation_INTERFACE_DEFINED__
  7422. /* interface ITransferConfirmation */
  7423. /* [unique][helpstring][uuid][object] */
  7424. EXTERN_C const IID IID_ITransferConfirmation;
  7425. #if defined(__cplusplus) && !defined(CINTERFACE)
  7426. MIDL_INTERFACE("FC45985F-07F8-48E3-894C-7DEE8ED66EE5")
  7427. ITransferConfirmation : public IUnknown
  7428. {
  7429. public:
  7430. virtual HRESULT STDMETHODCALLTYPE Confirm(
  7431. /* [in] */ CONFIRMOP *pcop,
  7432. /* [out] */ LPCONFIRMATIONRESPONSE pcr,
  7433. /* [out] */ BOOL *pbAll) = 0;
  7434. };
  7435. #else /* C style interface */
  7436. typedef struct ITransferConfirmationVtbl
  7437. {
  7438. BEGIN_INTERFACE
  7439. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7440. ITransferConfirmation * This,
  7441. /* [in] */ REFIID riid,
  7442. /* [iid_is][out] */ void **ppvObject);
  7443. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7444. ITransferConfirmation * This);
  7445. ULONG ( STDMETHODCALLTYPE *Release )(
  7446. ITransferConfirmation * This);
  7447. HRESULT ( STDMETHODCALLTYPE *Confirm )(
  7448. ITransferConfirmation * This,
  7449. /* [in] */ CONFIRMOP *pcop,
  7450. /* [out] */ LPCONFIRMATIONRESPONSE pcr,
  7451. /* [out] */ BOOL *pbAll);
  7452. END_INTERFACE
  7453. } ITransferConfirmationVtbl;
  7454. interface ITransferConfirmation
  7455. {
  7456. CONST_VTBL struct ITransferConfirmationVtbl *lpVtbl;
  7457. };
  7458. #ifdef COBJMACROS
  7459. #define ITransferConfirmation_QueryInterface(This,riid,ppvObject) \
  7460. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7461. #define ITransferConfirmation_AddRef(This) \
  7462. (This)->lpVtbl -> AddRef(This)
  7463. #define ITransferConfirmation_Release(This) \
  7464. (This)->lpVtbl -> Release(This)
  7465. #define ITransferConfirmation_Confirm(This,pcop,pcr,pbAll) \
  7466. (This)->lpVtbl -> Confirm(This,pcop,pcr,pbAll)
  7467. #endif /* COBJMACROS */
  7468. #endif /* C style interface */
  7469. HRESULT STDMETHODCALLTYPE ITransferConfirmation_Confirm_Proxy(
  7470. ITransferConfirmation * This,
  7471. /* [in] */ CONFIRMOP *pcop,
  7472. /* [out] */ LPCONFIRMATIONRESPONSE pcr,
  7473. /* [out] */ BOOL *pbAll);
  7474. void __RPC_STUB ITransferConfirmation_Confirm_Stub(
  7475. IRpcStubBuffer *This,
  7476. IRpcChannelBuffer *_pRpcChannelBuffer,
  7477. PRPC_MESSAGE _pRpcMessage,
  7478. DWORD *_pdwStubPhase);
  7479. #endif /* __ITransferConfirmation_INTERFACE_DEFINED__ */
  7480. #ifndef __ICDBurnPriv_INTERFACE_DEFINED__
  7481. #define __ICDBurnPriv_INTERFACE_DEFINED__
  7482. /* interface ICDBurnPriv */
  7483. /* [object][helpstring][uuid] */
  7484. EXTERN_C const IID IID_ICDBurnPriv;
  7485. #if defined(__cplusplus) && !defined(CINTERFACE)
  7486. MIDL_INTERFACE("c3d92d66-68ad-4b2a-86f5-4dfe97fbd2c7")
  7487. ICDBurnPriv : public IUnknown
  7488. {
  7489. public:
  7490. virtual HRESULT STDMETHODCALLTYPE GetMediaCapabilities(
  7491. /* [out] */ DWORD *pdwCaps,
  7492. /* [out] */ BOOL *pfUDF) = 0;
  7493. virtual HRESULT STDMETHODCALLTYPE GetContentState(
  7494. /* [out] */ BOOL *pfStagingHasFiles,
  7495. /* [out] */ BOOL *pfDiscHasFiles) = 0;
  7496. virtual HRESULT STDMETHODCALLTYPE IsWizardUp( void) = 0;
  7497. };
  7498. #else /* C style interface */
  7499. typedef struct ICDBurnPrivVtbl
  7500. {
  7501. BEGIN_INTERFACE
  7502. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7503. ICDBurnPriv * This,
  7504. /* [in] */ REFIID riid,
  7505. /* [iid_is][out] */ void **ppvObject);
  7506. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7507. ICDBurnPriv * This);
  7508. ULONG ( STDMETHODCALLTYPE *Release )(
  7509. ICDBurnPriv * This);
  7510. HRESULT ( STDMETHODCALLTYPE *GetMediaCapabilities )(
  7511. ICDBurnPriv * This,
  7512. /* [out] */ DWORD *pdwCaps,
  7513. /* [out] */ BOOL *pfUDF);
  7514. HRESULT ( STDMETHODCALLTYPE *GetContentState )(
  7515. ICDBurnPriv * This,
  7516. /* [out] */ BOOL *pfStagingHasFiles,
  7517. /* [out] */ BOOL *pfDiscHasFiles);
  7518. HRESULT ( STDMETHODCALLTYPE *IsWizardUp )(
  7519. ICDBurnPriv * This);
  7520. END_INTERFACE
  7521. } ICDBurnPrivVtbl;
  7522. interface ICDBurnPriv
  7523. {
  7524. CONST_VTBL struct ICDBurnPrivVtbl *lpVtbl;
  7525. };
  7526. #ifdef COBJMACROS
  7527. #define ICDBurnPriv_QueryInterface(This,riid,ppvObject) \
  7528. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7529. #define ICDBurnPriv_AddRef(This) \
  7530. (This)->lpVtbl -> AddRef(This)
  7531. #define ICDBurnPriv_Release(This) \
  7532. (This)->lpVtbl -> Release(This)
  7533. #define ICDBurnPriv_GetMediaCapabilities(This,pdwCaps,pfUDF) \
  7534. (This)->lpVtbl -> GetMediaCapabilities(This,pdwCaps,pfUDF)
  7535. #define ICDBurnPriv_GetContentState(This,pfStagingHasFiles,pfDiscHasFiles) \
  7536. (This)->lpVtbl -> GetContentState(This,pfStagingHasFiles,pfDiscHasFiles)
  7537. #define ICDBurnPriv_IsWizardUp(This) \
  7538. (This)->lpVtbl -> IsWizardUp(This)
  7539. #endif /* COBJMACROS */
  7540. #endif /* C style interface */
  7541. HRESULT STDMETHODCALLTYPE ICDBurnPriv_GetMediaCapabilities_Proxy(
  7542. ICDBurnPriv * This,
  7543. /* [out] */ DWORD *pdwCaps,
  7544. /* [out] */ BOOL *pfUDF);
  7545. void __RPC_STUB ICDBurnPriv_GetMediaCapabilities_Stub(
  7546. IRpcStubBuffer *This,
  7547. IRpcChannelBuffer *_pRpcChannelBuffer,
  7548. PRPC_MESSAGE _pRpcMessage,
  7549. DWORD *_pdwStubPhase);
  7550. HRESULT STDMETHODCALLTYPE ICDBurnPriv_GetContentState_Proxy(
  7551. ICDBurnPriv * This,
  7552. /* [out] */ BOOL *pfStagingHasFiles,
  7553. /* [out] */ BOOL *pfDiscHasFiles);
  7554. void __RPC_STUB ICDBurnPriv_GetContentState_Stub(
  7555. IRpcStubBuffer *This,
  7556. IRpcChannelBuffer *_pRpcChannelBuffer,
  7557. PRPC_MESSAGE _pRpcMessage,
  7558. DWORD *_pdwStubPhase);
  7559. HRESULT STDMETHODCALLTYPE ICDBurnPriv_IsWizardUp_Proxy(
  7560. ICDBurnPriv * This);
  7561. void __RPC_STUB ICDBurnPriv_IsWizardUp_Stub(
  7562. IRpcStubBuffer *This,
  7563. IRpcChannelBuffer *_pRpcChannelBuffer,
  7564. PRPC_MESSAGE _pRpcMessage,
  7565. DWORD *_pdwStubPhase);
  7566. #endif /* __ICDBurnPriv_INTERFACE_DEFINED__ */
  7567. #ifndef __IDriveFolderExt_INTERFACE_DEFINED__
  7568. #define __IDriveFolderExt_INTERFACE_DEFINED__
  7569. /* interface IDriveFolderExt */
  7570. /* [object][helpstring][uuid] */
  7571. EXTERN_C const IID IID_IDriveFolderExt;
  7572. #if defined(__cplusplus) && !defined(CINTERFACE)
  7573. MIDL_INTERFACE("98467961-4f27-4a1f-9629-22b06d0b5ccb")
  7574. IDriveFolderExt : public IUnknown
  7575. {
  7576. public:
  7577. virtual HRESULT STDMETHODCALLTYPE DriveMatches(
  7578. /* [in] */ int iDrive) = 0;
  7579. virtual HRESULT STDMETHODCALLTYPE Bind(
  7580. /* [in] */ LPCITEMIDLIST pidl,
  7581. /* [in] */ IBindCtx *pbc,
  7582. /* [in] */ REFIID riid,
  7583. /* [iid_is][out] */ void **ppv) = 0;
  7584. virtual HRESULT STDMETHODCALLTYPE GetSpace(
  7585. /* [out] */ ULONGLONG *pcbTotal,
  7586. /* [out] */ ULONGLONG *pcbFree) = 0;
  7587. };
  7588. #else /* C style interface */
  7589. typedef struct IDriveFolderExtVtbl
  7590. {
  7591. BEGIN_INTERFACE
  7592. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7593. IDriveFolderExt * This,
  7594. /* [in] */ REFIID riid,
  7595. /* [iid_is][out] */ void **ppvObject);
  7596. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7597. IDriveFolderExt * This);
  7598. ULONG ( STDMETHODCALLTYPE *Release )(
  7599. IDriveFolderExt * This);
  7600. HRESULT ( STDMETHODCALLTYPE *DriveMatches )(
  7601. IDriveFolderExt * This,
  7602. /* [in] */ int iDrive);
  7603. HRESULT ( STDMETHODCALLTYPE *Bind )(
  7604. IDriveFolderExt * This,
  7605. /* [in] */ LPCITEMIDLIST pidl,
  7606. /* [in] */ IBindCtx *pbc,
  7607. /* [in] */ REFIID riid,
  7608. /* [iid_is][out] */ void **ppv);
  7609. HRESULT ( STDMETHODCALLTYPE *GetSpace )(
  7610. IDriveFolderExt * This,
  7611. /* [out] */ ULONGLONG *pcbTotal,
  7612. /* [out] */ ULONGLONG *pcbFree);
  7613. END_INTERFACE
  7614. } IDriveFolderExtVtbl;
  7615. interface IDriveFolderExt
  7616. {
  7617. CONST_VTBL struct IDriveFolderExtVtbl *lpVtbl;
  7618. };
  7619. #ifdef COBJMACROS
  7620. #define IDriveFolderExt_QueryInterface(This,riid,ppvObject) \
  7621. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7622. #define IDriveFolderExt_AddRef(This) \
  7623. (This)->lpVtbl -> AddRef(This)
  7624. #define IDriveFolderExt_Release(This) \
  7625. (This)->lpVtbl -> Release(This)
  7626. #define IDriveFolderExt_DriveMatches(This,iDrive) \
  7627. (This)->lpVtbl -> DriveMatches(This,iDrive)
  7628. #define IDriveFolderExt_Bind(This,pidl,pbc,riid,ppv) \
  7629. (This)->lpVtbl -> Bind(This,pidl,pbc,riid,ppv)
  7630. #define IDriveFolderExt_GetSpace(This,pcbTotal,pcbFree) \
  7631. (This)->lpVtbl -> GetSpace(This,pcbTotal,pcbFree)
  7632. #endif /* COBJMACROS */
  7633. #endif /* C style interface */
  7634. HRESULT STDMETHODCALLTYPE IDriveFolderExt_DriveMatches_Proxy(
  7635. IDriveFolderExt * This,
  7636. /* [in] */ int iDrive);
  7637. void __RPC_STUB IDriveFolderExt_DriveMatches_Stub(
  7638. IRpcStubBuffer *This,
  7639. IRpcChannelBuffer *_pRpcChannelBuffer,
  7640. PRPC_MESSAGE _pRpcMessage,
  7641. DWORD *_pdwStubPhase);
  7642. HRESULT STDMETHODCALLTYPE IDriveFolderExt_Bind_Proxy(
  7643. IDriveFolderExt * This,
  7644. /* [in] */ LPCITEMIDLIST pidl,
  7645. /* [in] */ IBindCtx *pbc,
  7646. /* [in] */ REFIID riid,
  7647. /* [iid_is][out] */ void **ppv);
  7648. void __RPC_STUB IDriveFolderExt_Bind_Stub(
  7649. IRpcStubBuffer *This,
  7650. IRpcChannelBuffer *_pRpcChannelBuffer,
  7651. PRPC_MESSAGE _pRpcMessage,
  7652. DWORD *_pdwStubPhase);
  7653. HRESULT STDMETHODCALLTYPE IDriveFolderExt_GetSpace_Proxy(
  7654. IDriveFolderExt * This,
  7655. /* [out] */ ULONGLONG *pcbTotal,
  7656. /* [out] */ ULONGLONG *pcbFree);
  7657. void __RPC_STUB IDriveFolderExt_GetSpace_Stub(
  7658. IRpcStubBuffer *This,
  7659. IRpcChannelBuffer *_pRpcChannelBuffer,
  7660. PRPC_MESSAGE _pRpcMessage,
  7661. DWORD *_pdwStubPhase);
  7662. #endif /* __IDriveFolderExt_INTERFACE_DEFINED__ */
  7663. /* interface __MIDL_itf_shpriv_0319 */
  7664. /* [local] */
  7665. #if _WIN32_IE >= 0x0600
  7666. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0319_v0_0_c_ifspec;
  7667. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0319_v0_0_s_ifspec;
  7668. #ifndef __ICustomizeInfoTip_INTERFACE_DEFINED__
  7669. #define __ICustomizeInfoTip_INTERFACE_DEFINED__
  7670. /* interface ICustomizeInfoTip */
  7671. /* [object][helpstring][uuid] */
  7672. EXTERN_C const IID IID_ICustomizeInfoTip;
  7673. #if defined(__cplusplus) && !defined(CINTERFACE)
  7674. MIDL_INTERFACE("da22171f-70b4-43db-b38f-296741d1494c")
  7675. ICustomizeInfoTip : public IUnknown
  7676. {
  7677. public:
  7678. virtual HRESULT STDMETHODCALLTYPE SetPrefixText(
  7679. /* [string][in] */ LPCWSTR pszPrefix) = 0;
  7680. virtual HRESULT STDMETHODCALLTYPE SetExtraProperties(
  7681. /* [size_is][in] */ const SHCOLUMNID *pscid,
  7682. /* [in] */ UINT cscid) = 0;
  7683. };
  7684. #else /* C style interface */
  7685. typedef struct ICustomizeInfoTipVtbl
  7686. {
  7687. BEGIN_INTERFACE
  7688. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7689. ICustomizeInfoTip * This,
  7690. /* [in] */ REFIID riid,
  7691. /* [iid_is][out] */ void **ppvObject);
  7692. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7693. ICustomizeInfoTip * This);
  7694. ULONG ( STDMETHODCALLTYPE *Release )(
  7695. ICustomizeInfoTip * This);
  7696. HRESULT ( STDMETHODCALLTYPE *SetPrefixText )(
  7697. ICustomizeInfoTip * This,
  7698. /* [string][in] */ LPCWSTR pszPrefix);
  7699. HRESULT ( STDMETHODCALLTYPE *SetExtraProperties )(
  7700. ICustomizeInfoTip * This,
  7701. /* [size_is][in] */ const SHCOLUMNID *pscid,
  7702. /* [in] */ UINT cscid);
  7703. END_INTERFACE
  7704. } ICustomizeInfoTipVtbl;
  7705. interface ICustomizeInfoTip
  7706. {
  7707. CONST_VTBL struct ICustomizeInfoTipVtbl *lpVtbl;
  7708. };
  7709. #ifdef COBJMACROS
  7710. #define ICustomizeInfoTip_QueryInterface(This,riid,ppvObject) \
  7711. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7712. #define ICustomizeInfoTip_AddRef(This) \
  7713. (This)->lpVtbl -> AddRef(This)
  7714. #define ICustomizeInfoTip_Release(This) \
  7715. (This)->lpVtbl -> Release(This)
  7716. #define ICustomizeInfoTip_SetPrefixText(This,pszPrefix) \
  7717. (This)->lpVtbl -> SetPrefixText(This,pszPrefix)
  7718. #define ICustomizeInfoTip_SetExtraProperties(This,pscid,cscid) \
  7719. (This)->lpVtbl -> SetExtraProperties(This,pscid,cscid)
  7720. #endif /* COBJMACROS */
  7721. #endif /* C style interface */
  7722. HRESULT STDMETHODCALLTYPE ICustomizeInfoTip_SetPrefixText_Proxy(
  7723. ICustomizeInfoTip * This,
  7724. /* [string][in] */ LPCWSTR pszPrefix);
  7725. void __RPC_STUB ICustomizeInfoTip_SetPrefixText_Stub(
  7726. IRpcStubBuffer *This,
  7727. IRpcChannelBuffer *_pRpcChannelBuffer,
  7728. PRPC_MESSAGE _pRpcMessage,
  7729. DWORD *_pdwStubPhase);
  7730. HRESULT STDMETHODCALLTYPE ICustomizeInfoTip_SetExtraProperties_Proxy(
  7731. ICustomizeInfoTip * This,
  7732. /* [size_is][in] */ const SHCOLUMNID *pscid,
  7733. /* [in] */ UINT cscid);
  7734. void __RPC_STUB ICustomizeInfoTip_SetExtraProperties_Stub(
  7735. IRpcStubBuffer *This,
  7736. IRpcChannelBuffer *_pRpcChannelBuffer,
  7737. PRPC_MESSAGE _pRpcMessage,
  7738. DWORD *_pdwStubPhase);
  7739. #endif /* __ICustomizeInfoTip_INTERFACE_DEFINED__ */
  7740. #ifndef __IFadeTask_INTERFACE_DEFINED__
  7741. #define __IFadeTask_INTERFACE_DEFINED__
  7742. /* interface IFadeTask */
  7743. /* [object][local][helpstring][uuid] */
  7744. EXTERN_C const IID IID_IFadeTask;
  7745. #if defined(__cplusplus) && !defined(CINTERFACE)
  7746. MIDL_INTERFACE("fadb55b4-d382-4fc4-81d7-abb325c7f12a")
  7747. IFadeTask : public IUnknown
  7748. {
  7749. public:
  7750. virtual HRESULT STDMETHODCALLTYPE FadeRect(
  7751. /* [in] */ LPCRECT prc) = 0;
  7752. };
  7753. #else /* C style interface */
  7754. typedef struct IFadeTaskVtbl
  7755. {
  7756. BEGIN_INTERFACE
  7757. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7758. IFadeTask * This,
  7759. /* [in] */ REFIID riid,
  7760. /* [iid_is][out] */ void **ppvObject);
  7761. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7762. IFadeTask * This);
  7763. ULONG ( STDMETHODCALLTYPE *Release )(
  7764. IFadeTask * This);
  7765. HRESULT ( STDMETHODCALLTYPE *FadeRect )(
  7766. IFadeTask * This,
  7767. /* [in] */ LPCRECT prc);
  7768. END_INTERFACE
  7769. } IFadeTaskVtbl;
  7770. interface IFadeTask
  7771. {
  7772. CONST_VTBL struct IFadeTaskVtbl *lpVtbl;
  7773. };
  7774. #ifdef COBJMACROS
  7775. #define IFadeTask_QueryInterface(This,riid,ppvObject) \
  7776. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7777. #define IFadeTask_AddRef(This) \
  7778. (This)->lpVtbl -> AddRef(This)
  7779. #define IFadeTask_Release(This) \
  7780. (This)->lpVtbl -> Release(This)
  7781. #define IFadeTask_FadeRect(This,prc) \
  7782. (This)->lpVtbl -> FadeRect(This,prc)
  7783. #endif /* COBJMACROS */
  7784. #endif /* C style interface */
  7785. HRESULT STDMETHODCALLTYPE IFadeTask_FadeRect_Proxy(
  7786. IFadeTask * This,
  7787. /* [in] */ LPCRECT prc);
  7788. void __RPC_STUB IFadeTask_FadeRect_Stub(
  7789. IRpcStubBuffer *This,
  7790. IRpcChannelBuffer *_pRpcChannelBuffer,
  7791. PRPC_MESSAGE _pRpcMessage,
  7792. DWORD *_pdwStubPhase);
  7793. #endif /* __IFadeTask_INTERFACE_DEFINED__ */
  7794. #ifndef __ISetFolderEnumRestriction_INTERFACE_DEFINED__
  7795. #define __ISetFolderEnumRestriction_INTERFACE_DEFINED__
  7796. /* interface ISetFolderEnumRestriction */
  7797. /* [object][local][uuid] */
  7798. EXTERN_C const IID IID_ISetFolderEnumRestriction;
  7799. #if defined(__cplusplus) && !defined(CINTERFACE)
  7800. MIDL_INTERFACE("76347b91-9846-4ce7-9a57-69b910d16123")
  7801. ISetFolderEnumRestriction : public IUnknown
  7802. {
  7803. public:
  7804. virtual HRESULT STDMETHODCALLTYPE SetEnumRestriction(
  7805. DWORD dwRequired,
  7806. DWORD dwForbidden) = 0;
  7807. };
  7808. #else /* C style interface */
  7809. typedef struct ISetFolderEnumRestrictionVtbl
  7810. {
  7811. BEGIN_INTERFACE
  7812. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7813. ISetFolderEnumRestriction * This,
  7814. /* [in] */ REFIID riid,
  7815. /* [iid_is][out] */ void **ppvObject);
  7816. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7817. ISetFolderEnumRestriction * This);
  7818. ULONG ( STDMETHODCALLTYPE *Release )(
  7819. ISetFolderEnumRestriction * This);
  7820. HRESULT ( STDMETHODCALLTYPE *SetEnumRestriction )(
  7821. ISetFolderEnumRestriction * This,
  7822. DWORD dwRequired,
  7823. DWORD dwForbidden);
  7824. END_INTERFACE
  7825. } ISetFolderEnumRestrictionVtbl;
  7826. interface ISetFolderEnumRestriction
  7827. {
  7828. CONST_VTBL struct ISetFolderEnumRestrictionVtbl *lpVtbl;
  7829. };
  7830. #ifdef COBJMACROS
  7831. #define ISetFolderEnumRestriction_QueryInterface(This,riid,ppvObject) \
  7832. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7833. #define ISetFolderEnumRestriction_AddRef(This) \
  7834. (This)->lpVtbl -> AddRef(This)
  7835. #define ISetFolderEnumRestriction_Release(This) \
  7836. (This)->lpVtbl -> Release(This)
  7837. #define ISetFolderEnumRestriction_SetEnumRestriction(This,dwRequired,dwForbidden) \
  7838. (This)->lpVtbl -> SetEnumRestriction(This,dwRequired,dwForbidden)
  7839. #endif /* COBJMACROS */
  7840. #endif /* C style interface */
  7841. HRESULT STDMETHODCALLTYPE ISetFolderEnumRestriction_SetEnumRestriction_Proxy(
  7842. ISetFolderEnumRestriction * This,
  7843. DWORD dwRequired,
  7844. DWORD dwForbidden);
  7845. void __RPC_STUB ISetFolderEnumRestriction_SetEnumRestriction_Stub(
  7846. IRpcStubBuffer *This,
  7847. IRpcChannelBuffer *_pRpcChannelBuffer,
  7848. PRPC_MESSAGE _pRpcMessage,
  7849. DWORD *_pdwStubPhase);
  7850. #endif /* __ISetFolderEnumRestriction_INTERFACE_DEFINED__ */
  7851. /* interface __MIDL_itf_shpriv_0322 */
  7852. /* [local] */
  7853. #endif // _WIN32_IE >= 0x0600
  7854. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0322_v0_0_c_ifspec;
  7855. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0322_v0_0_s_ifspec;
  7856. #ifndef __IObjectWithRegistryKey_INTERFACE_DEFINED__
  7857. #define __IObjectWithRegistryKey_INTERFACE_DEFINED__
  7858. /* interface IObjectWithRegistryKey */
  7859. /* [local][unique][uuid][object] */
  7860. EXTERN_C const IID IID_IObjectWithRegistryKey;
  7861. #if defined(__cplusplus) && !defined(CINTERFACE)
  7862. MIDL_INTERFACE("5747C63F-1DE8-423f-980F-00CB07F4C45B")
  7863. IObjectWithRegistryKey : public IUnknown
  7864. {
  7865. public:
  7866. virtual HRESULT STDMETHODCALLTYPE SetKey(
  7867. /* [in] */ HKEY hk) = 0;
  7868. virtual HRESULT STDMETHODCALLTYPE GetKey(
  7869. /* [out] */ HKEY *phk) = 0;
  7870. };
  7871. #else /* C style interface */
  7872. typedef struct IObjectWithRegistryKeyVtbl
  7873. {
  7874. BEGIN_INTERFACE
  7875. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7876. IObjectWithRegistryKey * This,
  7877. /* [in] */ REFIID riid,
  7878. /* [iid_is][out] */ void **ppvObject);
  7879. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7880. IObjectWithRegistryKey * This);
  7881. ULONG ( STDMETHODCALLTYPE *Release )(
  7882. IObjectWithRegistryKey * This);
  7883. HRESULT ( STDMETHODCALLTYPE *SetKey )(
  7884. IObjectWithRegistryKey * This,
  7885. /* [in] */ HKEY hk);
  7886. HRESULT ( STDMETHODCALLTYPE *GetKey )(
  7887. IObjectWithRegistryKey * This,
  7888. /* [out] */ HKEY *phk);
  7889. END_INTERFACE
  7890. } IObjectWithRegistryKeyVtbl;
  7891. interface IObjectWithRegistryKey
  7892. {
  7893. CONST_VTBL struct IObjectWithRegistryKeyVtbl *lpVtbl;
  7894. };
  7895. #ifdef COBJMACROS
  7896. #define IObjectWithRegistryKey_QueryInterface(This,riid,ppvObject) \
  7897. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7898. #define IObjectWithRegistryKey_AddRef(This) \
  7899. (This)->lpVtbl -> AddRef(This)
  7900. #define IObjectWithRegistryKey_Release(This) \
  7901. (This)->lpVtbl -> Release(This)
  7902. #define IObjectWithRegistryKey_SetKey(This,hk) \
  7903. (This)->lpVtbl -> SetKey(This,hk)
  7904. #define IObjectWithRegistryKey_GetKey(This,phk) \
  7905. (This)->lpVtbl -> GetKey(This,phk)
  7906. #endif /* COBJMACROS */
  7907. #endif /* C style interface */
  7908. HRESULT STDMETHODCALLTYPE IObjectWithRegistryKey_SetKey_Proxy(
  7909. IObjectWithRegistryKey * This,
  7910. /* [in] */ HKEY hk);
  7911. void __RPC_STUB IObjectWithRegistryKey_SetKey_Stub(
  7912. IRpcStubBuffer *This,
  7913. IRpcChannelBuffer *_pRpcChannelBuffer,
  7914. PRPC_MESSAGE _pRpcMessage,
  7915. DWORD *_pdwStubPhase);
  7916. HRESULT STDMETHODCALLTYPE IObjectWithRegistryKey_GetKey_Proxy(
  7917. IObjectWithRegistryKey * This,
  7918. /* [out] */ HKEY *phk);
  7919. void __RPC_STUB IObjectWithRegistryKey_GetKey_Stub(
  7920. IRpcStubBuffer *This,
  7921. IRpcChannelBuffer *_pRpcChannelBuffer,
  7922. PRPC_MESSAGE _pRpcMessage,
  7923. DWORD *_pdwStubPhase);
  7924. #endif /* __IObjectWithRegistryKey_INTERFACE_DEFINED__ */
  7925. #ifndef __IQuerySource_INTERFACE_DEFINED__
  7926. #define __IQuerySource_INTERFACE_DEFINED__
  7927. /* interface IQuerySource */
  7928. /* [unique][uuid][object] */
  7929. /* [v1_enum] */
  7930. enum __MIDL_IQuerySource_0001
  7931. { QVT_EMPTY = 0,
  7932. QVT_STRING = 1,
  7933. QVT_EXPANDABLE_STRING = 2,
  7934. QVT_BINARY = 3,
  7935. QVT_DWORD = 4,
  7936. QVT_MULTI_STRING = 7
  7937. } ;
  7938. EXTERN_C const IID IID_IQuerySource;
  7939. #if defined(__cplusplus) && !defined(CINTERFACE)
  7940. MIDL_INTERFACE("c7478486-7583-49e7-a6c2-faf8f02bc30e")
  7941. IQuerySource : public IUnknown
  7942. {
  7943. public:
  7944. virtual HRESULT STDMETHODCALLTYPE EnumValues(
  7945. /* [out] */ IEnumString **ppenum) = 0;
  7946. virtual HRESULT STDMETHODCALLTYPE EnumSources(
  7947. /* [out] */ IEnumString **ppenum) = 0;
  7948. virtual HRESULT STDMETHODCALLTYPE QueryValueString(
  7949. /* [string][in] */ LPCWSTR pszSubSource,
  7950. /* [string][in] */ LPCWSTR pszValue,
  7951. /* [string][out] */ LPWSTR *ppsz) = 0;
  7952. virtual HRESULT STDMETHODCALLTYPE QueryValueDword(
  7953. /* [string][in] */ LPCWSTR pszSubSource,
  7954. /* [string][in] */ LPCWSTR pszValue,
  7955. /* [out] */ DWORD *pdw) = 0;
  7956. virtual HRESULT STDMETHODCALLTYPE QueryValueExists(
  7957. /* [string][in] */ LPCWSTR pszSubSource,
  7958. /* [string][in] */ LPCWSTR pszValue) = 0;
  7959. virtual HRESULT STDMETHODCALLTYPE QueryValueDirect(
  7960. /* [string][in] */ LPCWSTR pszSubSource,
  7961. /* [string][in] */ LPCWSTR pszValue,
  7962. /* [out] */ FLAGGED_BYTE_BLOB **ppblob) = 0;
  7963. virtual HRESULT STDMETHODCALLTYPE OpenSource(
  7964. /* [in] */ LPCWSTR pszSubSource,
  7965. /* [in] */ BOOL fCreate,
  7966. /* [out] */ IQuerySource **ppqs) = 0;
  7967. virtual HRESULT STDMETHODCALLTYPE SetValueDirect(
  7968. /* [string][in] */ LPCWSTR pszSubSource,
  7969. /* [string][in] */ LPCWSTR pszValue,
  7970. /* [in] */ ULONG qvt,
  7971. /* [in] */ DWORD cbData,
  7972. /* [size_is][in] */ BYTE *pbData) = 0;
  7973. };
  7974. #else /* C style interface */
  7975. typedef struct IQuerySourceVtbl
  7976. {
  7977. BEGIN_INTERFACE
  7978. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  7979. IQuerySource * This,
  7980. /* [in] */ REFIID riid,
  7981. /* [iid_is][out] */ void **ppvObject);
  7982. ULONG ( STDMETHODCALLTYPE *AddRef )(
  7983. IQuerySource * This);
  7984. ULONG ( STDMETHODCALLTYPE *Release )(
  7985. IQuerySource * This);
  7986. HRESULT ( STDMETHODCALLTYPE *EnumValues )(
  7987. IQuerySource * This,
  7988. /* [out] */ IEnumString **ppenum);
  7989. HRESULT ( STDMETHODCALLTYPE *EnumSources )(
  7990. IQuerySource * This,
  7991. /* [out] */ IEnumString **ppenum);
  7992. HRESULT ( STDMETHODCALLTYPE *QueryValueString )(
  7993. IQuerySource * This,
  7994. /* [string][in] */ LPCWSTR pszSubSource,
  7995. /* [string][in] */ LPCWSTR pszValue,
  7996. /* [string][out] */ LPWSTR *ppsz);
  7997. HRESULT ( STDMETHODCALLTYPE *QueryValueDword )(
  7998. IQuerySource * This,
  7999. /* [string][in] */ LPCWSTR pszSubSource,
  8000. /* [string][in] */ LPCWSTR pszValue,
  8001. /* [out] */ DWORD *pdw);
  8002. HRESULT ( STDMETHODCALLTYPE *QueryValueExists )(
  8003. IQuerySource * This,
  8004. /* [string][in] */ LPCWSTR pszSubSource,
  8005. /* [string][in] */ LPCWSTR pszValue);
  8006. HRESULT ( STDMETHODCALLTYPE *QueryValueDirect )(
  8007. IQuerySource * This,
  8008. /* [string][in] */ LPCWSTR pszSubSource,
  8009. /* [string][in] */ LPCWSTR pszValue,
  8010. /* [out] */ FLAGGED_BYTE_BLOB **ppblob);
  8011. HRESULT ( STDMETHODCALLTYPE *OpenSource )(
  8012. IQuerySource * This,
  8013. /* [in] */ LPCWSTR pszSubSource,
  8014. /* [in] */ BOOL fCreate,
  8015. /* [out] */ IQuerySource **ppqs);
  8016. HRESULT ( STDMETHODCALLTYPE *SetValueDirect )(
  8017. IQuerySource * This,
  8018. /* [string][in] */ LPCWSTR pszSubSource,
  8019. /* [string][in] */ LPCWSTR pszValue,
  8020. /* [in] */ ULONG qvt,
  8021. /* [in] */ DWORD cbData,
  8022. /* [size_is][in] */ BYTE *pbData);
  8023. END_INTERFACE
  8024. } IQuerySourceVtbl;
  8025. interface IQuerySource
  8026. {
  8027. CONST_VTBL struct IQuerySourceVtbl *lpVtbl;
  8028. };
  8029. #ifdef COBJMACROS
  8030. #define IQuerySource_QueryInterface(This,riid,ppvObject) \
  8031. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8032. #define IQuerySource_AddRef(This) \
  8033. (This)->lpVtbl -> AddRef(This)
  8034. #define IQuerySource_Release(This) \
  8035. (This)->lpVtbl -> Release(This)
  8036. #define IQuerySource_EnumValues(This,ppenum) \
  8037. (This)->lpVtbl -> EnumValues(This,ppenum)
  8038. #define IQuerySource_EnumSources(This,ppenum) \
  8039. (This)->lpVtbl -> EnumSources(This,ppenum)
  8040. #define IQuerySource_QueryValueString(This,pszSubSource,pszValue,ppsz) \
  8041. (This)->lpVtbl -> QueryValueString(This,pszSubSource,pszValue,ppsz)
  8042. #define IQuerySource_QueryValueDword(This,pszSubSource,pszValue,pdw) \
  8043. (This)->lpVtbl -> QueryValueDword(This,pszSubSource,pszValue,pdw)
  8044. #define IQuerySource_QueryValueExists(This,pszSubSource,pszValue) \
  8045. (This)->lpVtbl -> QueryValueExists(This,pszSubSource,pszValue)
  8046. #define IQuerySource_QueryValueDirect(This,pszSubSource,pszValue,ppblob) \
  8047. (This)->lpVtbl -> QueryValueDirect(This,pszSubSource,pszValue,ppblob)
  8048. #define IQuerySource_OpenSource(This,pszSubSource,fCreate,ppqs) \
  8049. (This)->lpVtbl -> OpenSource(This,pszSubSource,fCreate,ppqs)
  8050. #define IQuerySource_SetValueDirect(This,pszSubSource,pszValue,qvt,cbData,pbData) \
  8051. (This)->lpVtbl -> SetValueDirect(This,pszSubSource,pszValue,qvt,cbData,pbData)
  8052. #endif /* COBJMACROS */
  8053. #endif /* C style interface */
  8054. HRESULT STDMETHODCALLTYPE IQuerySource_EnumValues_Proxy(
  8055. IQuerySource * This,
  8056. /* [out] */ IEnumString **ppenum);
  8057. void __RPC_STUB IQuerySource_EnumValues_Stub(
  8058. IRpcStubBuffer *This,
  8059. IRpcChannelBuffer *_pRpcChannelBuffer,
  8060. PRPC_MESSAGE _pRpcMessage,
  8061. DWORD *_pdwStubPhase);
  8062. HRESULT STDMETHODCALLTYPE IQuerySource_EnumSources_Proxy(
  8063. IQuerySource * This,
  8064. /* [out] */ IEnumString **ppenum);
  8065. void __RPC_STUB IQuerySource_EnumSources_Stub(
  8066. IRpcStubBuffer *This,
  8067. IRpcChannelBuffer *_pRpcChannelBuffer,
  8068. PRPC_MESSAGE _pRpcMessage,
  8069. DWORD *_pdwStubPhase);
  8070. HRESULT STDMETHODCALLTYPE IQuerySource_QueryValueString_Proxy(
  8071. IQuerySource * This,
  8072. /* [string][in] */ LPCWSTR pszSubSource,
  8073. /* [string][in] */ LPCWSTR pszValue,
  8074. /* [string][out] */ LPWSTR *ppsz);
  8075. void __RPC_STUB IQuerySource_QueryValueString_Stub(
  8076. IRpcStubBuffer *This,
  8077. IRpcChannelBuffer *_pRpcChannelBuffer,
  8078. PRPC_MESSAGE _pRpcMessage,
  8079. DWORD *_pdwStubPhase);
  8080. HRESULT STDMETHODCALLTYPE IQuerySource_QueryValueDword_Proxy(
  8081. IQuerySource * This,
  8082. /* [string][in] */ LPCWSTR pszSubSource,
  8083. /* [string][in] */ LPCWSTR pszValue,
  8084. /* [out] */ DWORD *pdw);
  8085. void __RPC_STUB IQuerySource_QueryValueDword_Stub(
  8086. IRpcStubBuffer *This,
  8087. IRpcChannelBuffer *_pRpcChannelBuffer,
  8088. PRPC_MESSAGE _pRpcMessage,
  8089. DWORD *_pdwStubPhase);
  8090. HRESULT STDMETHODCALLTYPE IQuerySource_QueryValueExists_Proxy(
  8091. IQuerySource * This,
  8092. /* [string][in] */ LPCWSTR pszSubSource,
  8093. /* [string][in] */ LPCWSTR pszValue);
  8094. void __RPC_STUB IQuerySource_QueryValueExists_Stub(
  8095. IRpcStubBuffer *This,
  8096. IRpcChannelBuffer *_pRpcChannelBuffer,
  8097. PRPC_MESSAGE _pRpcMessage,
  8098. DWORD *_pdwStubPhase);
  8099. HRESULT STDMETHODCALLTYPE IQuerySource_QueryValueDirect_Proxy(
  8100. IQuerySource * This,
  8101. /* [string][in] */ LPCWSTR pszSubSource,
  8102. /* [string][in] */ LPCWSTR pszValue,
  8103. /* [out] */ FLAGGED_BYTE_BLOB **ppblob);
  8104. void __RPC_STUB IQuerySource_QueryValueDirect_Stub(
  8105. IRpcStubBuffer *This,
  8106. IRpcChannelBuffer *_pRpcChannelBuffer,
  8107. PRPC_MESSAGE _pRpcMessage,
  8108. DWORD *_pdwStubPhase);
  8109. HRESULT STDMETHODCALLTYPE IQuerySource_OpenSource_Proxy(
  8110. IQuerySource * This,
  8111. /* [in] */ LPCWSTR pszSubSource,
  8112. /* [in] */ BOOL fCreate,
  8113. /* [out] */ IQuerySource **ppqs);
  8114. void __RPC_STUB IQuerySource_OpenSource_Stub(
  8115. IRpcStubBuffer *This,
  8116. IRpcChannelBuffer *_pRpcChannelBuffer,
  8117. PRPC_MESSAGE _pRpcMessage,
  8118. DWORD *_pdwStubPhase);
  8119. HRESULT STDMETHODCALLTYPE IQuerySource_SetValueDirect_Proxy(
  8120. IQuerySource * This,
  8121. /* [string][in] */ LPCWSTR pszSubSource,
  8122. /* [string][in] */ LPCWSTR pszValue,
  8123. /* [in] */ ULONG qvt,
  8124. /* [in] */ DWORD cbData,
  8125. /* [size_is][in] */ BYTE *pbData);
  8126. void __RPC_STUB IQuerySource_SetValueDirect_Stub(
  8127. IRpcStubBuffer *This,
  8128. IRpcChannelBuffer *_pRpcChannelBuffer,
  8129. PRPC_MESSAGE _pRpcMessage,
  8130. DWORD *_pdwStubPhase);
  8131. #endif /* __IQuerySource_INTERFACE_DEFINED__ */
  8132. #ifndef __IPersistString2_INTERFACE_DEFINED__
  8133. #define __IPersistString2_INTERFACE_DEFINED__
  8134. /* interface IPersistString2 */
  8135. /* [unique][uuid][object] */
  8136. EXTERN_C const IID IID_IPersistString2;
  8137. #if defined(__cplusplus) && !defined(CINTERFACE)
  8138. MIDL_INTERFACE("3c44ba76-de0e-4049-b6e4-6b31a5262707")
  8139. IPersistString2 : public IPersist
  8140. {
  8141. public:
  8142. virtual HRESULT STDMETHODCALLTYPE SetString(
  8143. /* [string][in] */ LPCWSTR psz) = 0;
  8144. virtual HRESULT STDMETHODCALLTYPE GetString(
  8145. /* [string][out] */ LPWSTR *ppsz) = 0;
  8146. };
  8147. #else /* C style interface */
  8148. typedef struct IPersistString2Vtbl
  8149. {
  8150. BEGIN_INTERFACE
  8151. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8152. IPersistString2 * This,
  8153. /* [in] */ REFIID riid,
  8154. /* [iid_is][out] */ void **ppvObject);
  8155. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8156. IPersistString2 * This);
  8157. ULONG ( STDMETHODCALLTYPE *Release )(
  8158. IPersistString2 * This);
  8159. HRESULT ( STDMETHODCALLTYPE *GetClassID )(
  8160. IPersistString2 * This,
  8161. /* [out] */ CLSID *pClassID);
  8162. HRESULT ( STDMETHODCALLTYPE *SetString )(
  8163. IPersistString2 * This,
  8164. /* [string][in] */ LPCWSTR psz);
  8165. HRESULT ( STDMETHODCALLTYPE *GetString )(
  8166. IPersistString2 * This,
  8167. /* [string][out] */ LPWSTR *ppsz);
  8168. END_INTERFACE
  8169. } IPersistString2Vtbl;
  8170. interface IPersistString2
  8171. {
  8172. CONST_VTBL struct IPersistString2Vtbl *lpVtbl;
  8173. };
  8174. #ifdef COBJMACROS
  8175. #define IPersistString2_QueryInterface(This,riid,ppvObject) \
  8176. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8177. #define IPersistString2_AddRef(This) \
  8178. (This)->lpVtbl -> AddRef(This)
  8179. #define IPersistString2_Release(This) \
  8180. (This)->lpVtbl -> Release(This)
  8181. #define IPersistString2_GetClassID(This,pClassID) \
  8182. (This)->lpVtbl -> GetClassID(This,pClassID)
  8183. #define IPersistString2_SetString(This,psz) \
  8184. (This)->lpVtbl -> SetString(This,psz)
  8185. #define IPersistString2_GetString(This,ppsz) \
  8186. (This)->lpVtbl -> GetString(This,ppsz)
  8187. #endif /* COBJMACROS */
  8188. #endif /* C style interface */
  8189. HRESULT STDMETHODCALLTYPE IPersistString2_SetString_Proxy(
  8190. IPersistString2 * This,
  8191. /* [string][in] */ LPCWSTR psz);
  8192. void __RPC_STUB IPersistString2_SetString_Stub(
  8193. IRpcStubBuffer *This,
  8194. IRpcChannelBuffer *_pRpcChannelBuffer,
  8195. PRPC_MESSAGE _pRpcMessage,
  8196. DWORD *_pdwStubPhase);
  8197. HRESULT STDMETHODCALLTYPE IPersistString2_GetString_Proxy(
  8198. IPersistString2 * This,
  8199. /* [string][out] */ LPWSTR *ppsz);
  8200. void __RPC_STUB IPersistString2_GetString_Stub(
  8201. IRpcStubBuffer *This,
  8202. IRpcChannelBuffer *_pRpcChannelBuffer,
  8203. PRPC_MESSAGE _pRpcMessage,
  8204. DWORD *_pdwStubPhase);
  8205. #endif /* __IPersistString2_INTERFACE_DEFINED__ */
  8206. #ifndef __IObjectWithQuerySource_INTERFACE_DEFINED__
  8207. #define __IObjectWithQuerySource_INTERFACE_DEFINED__
  8208. /* interface IObjectWithQuerySource */
  8209. /* [unique][uuid][object] */
  8210. EXTERN_C const IID IID_IObjectWithQuerySource;
  8211. #if defined(__cplusplus) && !defined(CINTERFACE)
  8212. MIDL_INTERFACE("b3dcb623-4280-4eb1-84b3-8d07e84f299a")
  8213. IObjectWithQuerySource : public IUnknown
  8214. {
  8215. public:
  8216. virtual HRESULT STDMETHODCALLTYPE SetSource(
  8217. /* [in] */ IQuerySource *pqs) = 0;
  8218. virtual HRESULT STDMETHODCALLTYPE GetSource(
  8219. /* [in] */ REFIID riid,
  8220. /* [iid_is][out] */ void **ppv) = 0;
  8221. };
  8222. #else /* C style interface */
  8223. typedef struct IObjectWithQuerySourceVtbl
  8224. {
  8225. BEGIN_INTERFACE
  8226. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8227. IObjectWithQuerySource * This,
  8228. /* [in] */ REFIID riid,
  8229. /* [iid_is][out] */ void **ppvObject);
  8230. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8231. IObjectWithQuerySource * This);
  8232. ULONG ( STDMETHODCALLTYPE *Release )(
  8233. IObjectWithQuerySource * This);
  8234. HRESULT ( STDMETHODCALLTYPE *SetSource )(
  8235. IObjectWithQuerySource * This,
  8236. /* [in] */ IQuerySource *pqs);
  8237. HRESULT ( STDMETHODCALLTYPE *GetSource )(
  8238. IObjectWithQuerySource * This,
  8239. /* [in] */ REFIID riid,
  8240. /* [iid_is][out] */ void **ppv);
  8241. END_INTERFACE
  8242. } IObjectWithQuerySourceVtbl;
  8243. interface IObjectWithQuerySource
  8244. {
  8245. CONST_VTBL struct IObjectWithQuerySourceVtbl *lpVtbl;
  8246. };
  8247. #ifdef COBJMACROS
  8248. #define IObjectWithQuerySource_QueryInterface(This,riid,ppvObject) \
  8249. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8250. #define IObjectWithQuerySource_AddRef(This) \
  8251. (This)->lpVtbl -> AddRef(This)
  8252. #define IObjectWithQuerySource_Release(This) \
  8253. (This)->lpVtbl -> Release(This)
  8254. #define IObjectWithQuerySource_SetSource(This,pqs) \
  8255. (This)->lpVtbl -> SetSource(This,pqs)
  8256. #define IObjectWithQuerySource_GetSource(This,riid,ppv) \
  8257. (This)->lpVtbl -> GetSource(This,riid,ppv)
  8258. #endif /* COBJMACROS */
  8259. #endif /* C style interface */
  8260. HRESULT STDMETHODCALLTYPE IObjectWithQuerySource_SetSource_Proxy(
  8261. IObjectWithQuerySource * This,
  8262. /* [in] */ IQuerySource *pqs);
  8263. void __RPC_STUB IObjectWithQuerySource_SetSource_Stub(
  8264. IRpcStubBuffer *This,
  8265. IRpcChannelBuffer *_pRpcChannelBuffer,
  8266. PRPC_MESSAGE _pRpcMessage,
  8267. DWORD *_pdwStubPhase);
  8268. HRESULT STDMETHODCALLTYPE IObjectWithQuerySource_GetSource_Proxy(
  8269. IObjectWithQuerySource * This,
  8270. /* [in] */ REFIID riid,
  8271. /* [iid_is][out] */ void **ppv);
  8272. void __RPC_STUB IObjectWithQuerySource_GetSource_Stub(
  8273. IRpcStubBuffer *This,
  8274. IRpcChannelBuffer *_pRpcChannelBuffer,
  8275. PRPC_MESSAGE _pRpcMessage,
  8276. DWORD *_pdwStubPhase);
  8277. #endif /* __IObjectWithQuerySource_INTERFACE_DEFINED__ */
  8278. /* interface __MIDL_itf_shpriv_0326 */
  8279. /* [local] */
  8280. typedef /* [v1_enum] */
  8281. enum tagASSOCQUERY
  8282. { AQ_NOTHING = 0,
  8283. AQS_FRIENDLYTYPENAME = 0x170000,
  8284. AQS_DEFAULTICON = 0x70001,
  8285. AQS_CONTENTTYPE = 0x80070002,
  8286. AQS_CLSID = 0x70003,
  8287. AQS_PROGID = 0x70004,
  8288. AQN_NAMED_VALUE = 0x10f0000,
  8289. AQNS_NAMED_MUI_STRING = 0x1170001,
  8290. AQNS_SHELLEX_HANDLER = 0x81070002,
  8291. AQVS_COMMAND = 0x2070000,
  8292. AQVS_DDECOMMAND = 0x2070001,
  8293. AQVS_DDEIFEXEC = 0x2070002,
  8294. AQVS_DDEAPPLICATION = 0x2070003,
  8295. AQVS_DDETOPIC = 0x2070004,
  8296. AQV_NOACTIVATEHANDLER = 0x2060005,
  8297. AQVD_MSIDESCRIPTOR = 0x2060006,
  8298. AQVS_APPLICATION_PATH = 0x2010007,
  8299. AQVS_APPLICATION_FRIENDLYNAME = 0x2170008,
  8300. AQVO_SHELLVERB_DELEGATE = 0x2200000,
  8301. AQVO_APPLICATION_DELEGATE = 0x2200001,
  8302. AQF_STRING = 0x10000,
  8303. AQF_EXISTS = 0x20000,
  8304. AQF_DIRECT = 0x40000,
  8305. AQF_DWORD = 0x80000,
  8306. AQF_MUISTRING = 0x100000,
  8307. AQF_OBJECT = 0x200000,
  8308. AQF_CUEIS_UNUSED = 0,
  8309. AQF_CUEIS_NAME = 0x1000000,
  8310. AQF_CUEIS_SHELLVERB = 0x2000000,
  8311. AQF_QUERY_INITCLASS = 0x80000000
  8312. } ASSOCQUERY;
  8313. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0326_v0_0_c_ifspec;
  8314. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0326_v0_0_s_ifspec;
  8315. #ifndef __IAssociationElement_INTERFACE_DEFINED__
  8316. #define __IAssociationElement_INTERFACE_DEFINED__
  8317. /* interface IAssociationElement */
  8318. /* [unique][uuid][object] */
  8319. EXTERN_C const IID IID_IAssociationElement;
  8320. #if defined(__cplusplus) && !defined(CINTERFACE)
  8321. MIDL_INTERFACE("e58b1abf-9596-4dba-8997-89dcdef46992")
  8322. IAssociationElement : public IUnknown
  8323. {
  8324. public:
  8325. virtual HRESULT STDMETHODCALLTYPE QueryString(
  8326. /* [in] */ ASSOCQUERY query,
  8327. /* [string][in] */ LPCWSTR pszCue,
  8328. /* [string][out] */ LPWSTR *ppsz) = 0;
  8329. virtual HRESULT STDMETHODCALLTYPE QueryDword(
  8330. /* [in] */ ASSOCQUERY query,
  8331. /* [string][in] */ LPCWSTR pszCue,
  8332. /* [out] */ DWORD *pdw) = 0;
  8333. virtual HRESULT STDMETHODCALLTYPE QueryExists(
  8334. /* [in] */ ASSOCQUERY query,
  8335. /* [string][in] */ LPCWSTR pszCue) = 0;
  8336. virtual HRESULT STDMETHODCALLTYPE QueryDirect(
  8337. /* [in] */ ASSOCQUERY query,
  8338. /* [string][in] */ LPCWSTR pszCue,
  8339. /* [out] */ FLAGGED_BYTE_BLOB **ppblob) = 0;
  8340. virtual HRESULT STDMETHODCALLTYPE QueryObject(
  8341. /* [in] */ ASSOCQUERY query,
  8342. /* [string][in] */ LPCWSTR pszCue,
  8343. /* [in] */ REFIID riid,
  8344. /* [iid_is][out] */ void **ppv) = 0;
  8345. };
  8346. #else /* C style interface */
  8347. typedef struct IAssociationElementVtbl
  8348. {
  8349. BEGIN_INTERFACE
  8350. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8351. IAssociationElement * This,
  8352. /* [in] */ REFIID riid,
  8353. /* [iid_is][out] */ void **ppvObject);
  8354. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8355. IAssociationElement * This);
  8356. ULONG ( STDMETHODCALLTYPE *Release )(
  8357. IAssociationElement * This);
  8358. HRESULT ( STDMETHODCALLTYPE *QueryString )(
  8359. IAssociationElement * This,
  8360. /* [in] */ ASSOCQUERY query,
  8361. /* [string][in] */ LPCWSTR pszCue,
  8362. /* [string][out] */ LPWSTR *ppsz);
  8363. HRESULT ( STDMETHODCALLTYPE *QueryDword )(
  8364. IAssociationElement * This,
  8365. /* [in] */ ASSOCQUERY query,
  8366. /* [string][in] */ LPCWSTR pszCue,
  8367. /* [out] */ DWORD *pdw);
  8368. HRESULT ( STDMETHODCALLTYPE *QueryExists )(
  8369. IAssociationElement * This,
  8370. /* [in] */ ASSOCQUERY query,
  8371. /* [string][in] */ LPCWSTR pszCue);
  8372. HRESULT ( STDMETHODCALLTYPE *QueryDirect )(
  8373. IAssociationElement * This,
  8374. /* [in] */ ASSOCQUERY query,
  8375. /* [string][in] */ LPCWSTR pszCue,
  8376. /* [out] */ FLAGGED_BYTE_BLOB **ppblob);
  8377. HRESULT ( STDMETHODCALLTYPE *QueryObject )(
  8378. IAssociationElement * This,
  8379. /* [in] */ ASSOCQUERY query,
  8380. /* [string][in] */ LPCWSTR pszCue,
  8381. /* [in] */ REFIID riid,
  8382. /* [iid_is][out] */ void **ppv);
  8383. END_INTERFACE
  8384. } IAssociationElementVtbl;
  8385. interface IAssociationElement
  8386. {
  8387. CONST_VTBL struct IAssociationElementVtbl *lpVtbl;
  8388. };
  8389. #ifdef COBJMACROS
  8390. #define IAssociationElement_QueryInterface(This,riid,ppvObject) \
  8391. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8392. #define IAssociationElement_AddRef(This) \
  8393. (This)->lpVtbl -> AddRef(This)
  8394. #define IAssociationElement_Release(This) \
  8395. (This)->lpVtbl -> Release(This)
  8396. #define IAssociationElement_QueryString(This,query,pszCue,ppsz) \
  8397. (This)->lpVtbl -> QueryString(This,query,pszCue,ppsz)
  8398. #define IAssociationElement_QueryDword(This,query,pszCue,pdw) \
  8399. (This)->lpVtbl -> QueryDword(This,query,pszCue,pdw)
  8400. #define IAssociationElement_QueryExists(This,query,pszCue) \
  8401. (This)->lpVtbl -> QueryExists(This,query,pszCue)
  8402. #define IAssociationElement_QueryDirect(This,query,pszCue,ppblob) \
  8403. (This)->lpVtbl -> QueryDirect(This,query,pszCue,ppblob)
  8404. #define IAssociationElement_QueryObject(This,query,pszCue,riid,ppv) \
  8405. (This)->lpVtbl -> QueryObject(This,query,pszCue,riid,ppv)
  8406. #endif /* COBJMACROS */
  8407. #endif /* C style interface */
  8408. HRESULT STDMETHODCALLTYPE IAssociationElement_QueryString_Proxy(
  8409. IAssociationElement * This,
  8410. /* [in] */ ASSOCQUERY query,
  8411. /* [string][in] */ LPCWSTR pszCue,
  8412. /* [string][out] */ LPWSTR *ppsz);
  8413. void __RPC_STUB IAssociationElement_QueryString_Stub(
  8414. IRpcStubBuffer *This,
  8415. IRpcChannelBuffer *_pRpcChannelBuffer,
  8416. PRPC_MESSAGE _pRpcMessage,
  8417. DWORD *_pdwStubPhase);
  8418. HRESULT STDMETHODCALLTYPE IAssociationElement_QueryDword_Proxy(
  8419. IAssociationElement * This,
  8420. /* [in] */ ASSOCQUERY query,
  8421. /* [string][in] */ LPCWSTR pszCue,
  8422. /* [out] */ DWORD *pdw);
  8423. void __RPC_STUB IAssociationElement_QueryDword_Stub(
  8424. IRpcStubBuffer *This,
  8425. IRpcChannelBuffer *_pRpcChannelBuffer,
  8426. PRPC_MESSAGE _pRpcMessage,
  8427. DWORD *_pdwStubPhase);
  8428. HRESULT STDMETHODCALLTYPE IAssociationElement_QueryExists_Proxy(
  8429. IAssociationElement * This,
  8430. /* [in] */ ASSOCQUERY query,
  8431. /* [string][in] */ LPCWSTR pszCue);
  8432. void __RPC_STUB IAssociationElement_QueryExists_Stub(
  8433. IRpcStubBuffer *This,
  8434. IRpcChannelBuffer *_pRpcChannelBuffer,
  8435. PRPC_MESSAGE _pRpcMessage,
  8436. DWORD *_pdwStubPhase);
  8437. HRESULT STDMETHODCALLTYPE IAssociationElement_QueryDirect_Proxy(
  8438. IAssociationElement * This,
  8439. /* [in] */ ASSOCQUERY query,
  8440. /* [string][in] */ LPCWSTR pszCue,
  8441. /* [out] */ FLAGGED_BYTE_BLOB **ppblob);
  8442. void __RPC_STUB IAssociationElement_QueryDirect_Stub(
  8443. IRpcStubBuffer *This,
  8444. IRpcChannelBuffer *_pRpcChannelBuffer,
  8445. PRPC_MESSAGE _pRpcMessage,
  8446. DWORD *_pdwStubPhase);
  8447. HRESULT STDMETHODCALLTYPE IAssociationElement_QueryObject_Proxy(
  8448. IAssociationElement * This,
  8449. /* [in] */ ASSOCQUERY query,
  8450. /* [string][in] */ LPCWSTR pszCue,
  8451. /* [in] */ REFIID riid,
  8452. /* [iid_is][out] */ void **ppv);
  8453. void __RPC_STUB IAssociationElement_QueryObject_Stub(
  8454. IRpcStubBuffer *This,
  8455. IRpcChannelBuffer *_pRpcChannelBuffer,
  8456. PRPC_MESSAGE _pRpcMessage,
  8457. DWORD *_pdwStubPhase);
  8458. #endif /* __IAssociationElement_INTERFACE_DEFINED__ */
  8459. #ifndef __IEnumAssociationElements_INTERFACE_DEFINED__
  8460. #define __IEnumAssociationElements_INTERFACE_DEFINED__
  8461. /* interface IEnumAssociationElements */
  8462. /* [unique][uuid][object] */
  8463. EXTERN_C const IID IID_IEnumAssociationElements;
  8464. #if defined(__cplusplus) && !defined(CINTERFACE)
  8465. MIDL_INTERFACE("a6b0fb57-7523-4439-9425-ebe99823b828")
  8466. IEnumAssociationElements : public IUnknown
  8467. {
  8468. public:
  8469. virtual HRESULT STDMETHODCALLTYPE Next(
  8470. /* [in] */ ULONG celt,
  8471. /* [length_is][size_is][out] */ IAssociationElement **rgelt,
  8472. /* [out] */ ULONG *pceltFetched) = 0;
  8473. virtual HRESULT STDMETHODCALLTYPE Skip(
  8474. /* [in] */ ULONG celt) = 0;
  8475. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  8476. virtual HRESULT STDMETHODCALLTYPE Clone(
  8477. /* [out] */ IEnumAssociationElements **ppenum) = 0;
  8478. };
  8479. #else /* C style interface */
  8480. typedef struct IEnumAssociationElementsVtbl
  8481. {
  8482. BEGIN_INTERFACE
  8483. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8484. IEnumAssociationElements * This,
  8485. /* [in] */ REFIID riid,
  8486. /* [iid_is][out] */ void **ppvObject);
  8487. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8488. IEnumAssociationElements * This);
  8489. ULONG ( STDMETHODCALLTYPE *Release )(
  8490. IEnumAssociationElements * This);
  8491. HRESULT ( STDMETHODCALLTYPE *Next )(
  8492. IEnumAssociationElements * This,
  8493. /* [in] */ ULONG celt,
  8494. /* [length_is][size_is][out] */ IAssociationElement **rgelt,
  8495. /* [out] */ ULONG *pceltFetched);
  8496. HRESULT ( STDMETHODCALLTYPE *Skip )(
  8497. IEnumAssociationElements * This,
  8498. /* [in] */ ULONG celt);
  8499. HRESULT ( STDMETHODCALLTYPE *Reset )(
  8500. IEnumAssociationElements * This);
  8501. HRESULT ( STDMETHODCALLTYPE *Clone )(
  8502. IEnumAssociationElements * This,
  8503. /* [out] */ IEnumAssociationElements **ppenum);
  8504. END_INTERFACE
  8505. } IEnumAssociationElementsVtbl;
  8506. interface IEnumAssociationElements
  8507. {
  8508. CONST_VTBL struct IEnumAssociationElementsVtbl *lpVtbl;
  8509. };
  8510. #ifdef COBJMACROS
  8511. #define IEnumAssociationElements_QueryInterface(This,riid,ppvObject) \
  8512. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8513. #define IEnumAssociationElements_AddRef(This) \
  8514. (This)->lpVtbl -> AddRef(This)
  8515. #define IEnumAssociationElements_Release(This) \
  8516. (This)->lpVtbl -> Release(This)
  8517. #define IEnumAssociationElements_Next(This,celt,rgelt,pceltFetched) \
  8518. (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  8519. #define IEnumAssociationElements_Skip(This,celt) \
  8520. (This)->lpVtbl -> Skip(This,celt)
  8521. #define IEnumAssociationElements_Reset(This) \
  8522. (This)->lpVtbl -> Reset(This)
  8523. #define IEnumAssociationElements_Clone(This,ppenum) \
  8524. (This)->lpVtbl -> Clone(This,ppenum)
  8525. #endif /* COBJMACROS */
  8526. #endif /* C style interface */
  8527. HRESULT STDMETHODCALLTYPE IEnumAssociationElements_Next_Proxy(
  8528. IEnumAssociationElements * This,
  8529. /* [in] */ ULONG celt,
  8530. /* [length_is][size_is][out] */ IAssociationElement **rgelt,
  8531. /* [out] */ ULONG *pceltFetched);
  8532. void __RPC_STUB IEnumAssociationElements_Next_Stub(
  8533. IRpcStubBuffer *This,
  8534. IRpcChannelBuffer *_pRpcChannelBuffer,
  8535. PRPC_MESSAGE _pRpcMessage,
  8536. DWORD *_pdwStubPhase);
  8537. HRESULT STDMETHODCALLTYPE IEnumAssociationElements_Skip_Proxy(
  8538. IEnumAssociationElements * This,
  8539. /* [in] */ ULONG celt);
  8540. void __RPC_STUB IEnumAssociationElements_Skip_Stub(
  8541. IRpcStubBuffer *This,
  8542. IRpcChannelBuffer *_pRpcChannelBuffer,
  8543. PRPC_MESSAGE _pRpcMessage,
  8544. DWORD *_pdwStubPhase);
  8545. HRESULT STDMETHODCALLTYPE IEnumAssociationElements_Reset_Proxy(
  8546. IEnumAssociationElements * This);
  8547. void __RPC_STUB IEnumAssociationElements_Reset_Stub(
  8548. IRpcStubBuffer *This,
  8549. IRpcChannelBuffer *_pRpcChannelBuffer,
  8550. PRPC_MESSAGE _pRpcMessage,
  8551. DWORD *_pdwStubPhase);
  8552. HRESULT STDMETHODCALLTYPE IEnumAssociationElements_Clone_Proxy(
  8553. IEnumAssociationElements * This,
  8554. /* [out] */ IEnumAssociationElements **ppenum);
  8555. void __RPC_STUB IEnumAssociationElements_Clone_Stub(
  8556. IRpcStubBuffer *This,
  8557. IRpcChannelBuffer *_pRpcChannelBuffer,
  8558. PRPC_MESSAGE _pRpcMessage,
  8559. DWORD *_pdwStubPhase);
  8560. #endif /* __IEnumAssociationElements_INTERFACE_DEFINED__ */
  8561. /* interface __MIDL_itf_shpriv_0328 */
  8562. /* [local] */
  8563. /* [v1_enum] */
  8564. enum tagASSOCELEM
  8565. { ASSOCELEM_DATA = 0x1,
  8566. ASSOCELEM_USER = 0x2,
  8567. ASSOCELEM_DEFAULT = 0x4,
  8568. ASSOCELEM_SYSTEM_EXT = 0x10,
  8569. ASSOCELEM_SYSTEM_PERCEIVED = 0x20,
  8570. ASSOCELEM_SYSTEM = 0x30,
  8571. ASSOCELEM_BASEIS_FOLDER = 0x100,
  8572. ASSOCELEM_BASEIS_STAR = 0x200,
  8573. ASSOCELEM_BASE = 0x300,
  8574. ASSOCELEM_EXTRA = 0x10000,
  8575. ASSOCELEMF_INCLUDE_SLOW = 0x80000000,
  8576. ASSOCELEM_MASK_QUERYNORMAL = 0xffff,
  8577. ASSOCELEM_MASK_ENUMCONTEXTMENU = -1,
  8578. ASSOCELEM_MASK_ALL = -1
  8579. } ;
  8580. typedef DWORD ASSOCELEM_MASK;
  8581. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0328_v0_0_c_ifspec;
  8582. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0328_v0_0_s_ifspec;
  8583. #ifndef __IAssociationArrayInitialize_INTERFACE_DEFINED__
  8584. #define __IAssociationArrayInitialize_INTERFACE_DEFINED__
  8585. /* interface IAssociationArrayInitialize */
  8586. /* [unique][uuid][object] */
  8587. EXTERN_C const IID IID_IAssociationArrayInitialize;
  8588. #if defined(__cplusplus) && !defined(CINTERFACE)
  8589. MIDL_INTERFACE("ee9165bf-a4d9-474b-8236-6735cb7e28b6")
  8590. IAssociationArrayInitialize : public IUnknown
  8591. {
  8592. public:
  8593. virtual HRESULT STDMETHODCALLTYPE InitClassElements(
  8594. /* [in] */ ASSOCELEM_MASK maskBase,
  8595. /* [in] */ LPCWSTR pszClass) = 0;
  8596. virtual HRESULT STDMETHODCALLTYPE InsertElements(
  8597. /* [in] */ ASSOCELEM_MASK mask,
  8598. /* [in] */ IEnumAssociationElements *peae) = 0;
  8599. virtual HRESULT STDMETHODCALLTYPE FilterElements(
  8600. /* [in] */ ASSOCELEM_MASK maskInclude) = 0;
  8601. };
  8602. #else /* C style interface */
  8603. typedef struct IAssociationArrayInitializeVtbl
  8604. {
  8605. BEGIN_INTERFACE
  8606. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8607. IAssociationArrayInitialize * This,
  8608. /* [in] */ REFIID riid,
  8609. /* [iid_is][out] */ void **ppvObject);
  8610. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8611. IAssociationArrayInitialize * This);
  8612. ULONG ( STDMETHODCALLTYPE *Release )(
  8613. IAssociationArrayInitialize * This);
  8614. HRESULT ( STDMETHODCALLTYPE *InitClassElements )(
  8615. IAssociationArrayInitialize * This,
  8616. /* [in] */ ASSOCELEM_MASK maskBase,
  8617. /* [in] */ LPCWSTR pszClass);
  8618. HRESULT ( STDMETHODCALLTYPE *InsertElements )(
  8619. IAssociationArrayInitialize * This,
  8620. /* [in] */ ASSOCELEM_MASK mask,
  8621. /* [in] */ IEnumAssociationElements *peae);
  8622. HRESULT ( STDMETHODCALLTYPE *FilterElements )(
  8623. IAssociationArrayInitialize * This,
  8624. /* [in] */ ASSOCELEM_MASK maskInclude);
  8625. END_INTERFACE
  8626. } IAssociationArrayInitializeVtbl;
  8627. interface IAssociationArrayInitialize
  8628. {
  8629. CONST_VTBL struct IAssociationArrayInitializeVtbl *lpVtbl;
  8630. };
  8631. #ifdef COBJMACROS
  8632. #define IAssociationArrayInitialize_QueryInterface(This,riid,ppvObject) \
  8633. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8634. #define IAssociationArrayInitialize_AddRef(This) \
  8635. (This)->lpVtbl -> AddRef(This)
  8636. #define IAssociationArrayInitialize_Release(This) \
  8637. (This)->lpVtbl -> Release(This)
  8638. #define IAssociationArrayInitialize_InitClassElements(This,maskBase,pszClass) \
  8639. (This)->lpVtbl -> InitClassElements(This,maskBase,pszClass)
  8640. #define IAssociationArrayInitialize_InsertElements(This,mask,peae) \
  8641. (This)->lpVtbl -> InsertElements(This,mask,peae)
  8642. #define IAssociationArrayInitialize_FilterElements(This,maskInclude) \
  8643. (This)->lpVtbl -> FilterElements(This,maskInclude)
  8644. #endif /* COBJMACROS */
  8645. #endif /* C style interface */
  8646. HRESULT STDMETHODCALLTYPE IAssociationArrayInitialize_InitClassElements_Proxy(
  8647. IAssociationArrayInitialize * This,
  8648. /* [in] */ ASSOCELEM_MASK maskBase,
  8649. /* [in] */ LPCWSTR pszClass);
  8650. void __RPC_STUB IAssociationArrayInitialize_InitClassElements_Stub(
  8651. IRpcStubBuffer *This,
  8652. IRpcChannelBuffer *_pRpcChannelBuffer,
  8653. PRPC_MESSAGE _pRpcMessage,
  8654. DWORD *_pdwStubPhase);
  8655. HRESULT STDMETHODCALLTYPE IAssociationArrayInitialize_InsertElements_Proxy(
  8656. IAssociationArrayInitialize * This,
  8657. /* [in] */ ASSOCELEM_MASK mask,
  8658. /* [in] */ IEnumAssociationElements *peae);
  8659. void __RPC_STUB IAssociationArrayInitialize_InsertElements_Stub(
  8660. IRpcStubBuffer *This,
  8661. IRpcChannelBuffer *_pRpcChannelBuffer,
  8662. PRPC_MESSAGE _pRpcMessage,
  8663. DWORD *_pdwStubPhase);
  8664. HRESULT STDMETHODCALLTYPE IAssociationArrayInitialize_FilterElements_Proxy(
  8665. IAssociationArrayInitialize * This,
  8666. /* [in] */ ASSOCELEM_MASK maskInclude);
  8667. void __RPC_STUB IAssociationArrayInitialize_FilterElements_Stub(
  8668. IRpcStubBuffer *This,
  8669. IRpcChannelBuffer *_pRpcChannelBuffer,
  8670. PRPC_MESSAGE _pRpcMessage,
  8671. DWORD *_pdwStubPhase);
  8672. #endif /* __IAssociationArrayInitialize_INTERFACE_DEFINED__ */
  8673. #ifndef __IAssociationArray_INTERFACE_DEFINED__
  8674. #define __IAssociationArray_INTERFACE_DEFINED__
  8675. /* interface IAssociationArray */
  8676. /* [unique][uuid][object] */
  8677. EXTERN_C const IID IID_IAssociationArray;
  8678. #if defined(__cplusplus) && !defined(CINTERFACE)
  8679. MIDL_INTERFACE("3b877e3c-67de-4f9a-b29b-17d0a1521c6a")
  8680. IAssociationArray : public IUnknown
  8681. {
  8682. public:
  8683. virtual HRESULT STDMETHODCALLTYPE EnumElements(
  8684. /* [in] */ ASSOCELEM_MASK mask,
  8685. /* [out] */ IEnumAssociationElements **ppeae) = 0;
  8686. virtual HRESULT STDMETHODCALLTYPE QueryString(
  8687. /* [in] */ ASSOCELEM_MASK mask,
  8688. /* [in] */ ASSOCQUERY query,
  8689. /* [string][in] */ LPCWSTR pszCue,
  8690. /* [string][out] */ LPWSTR *ppsz) = 0;
  8691. virtual HRESULT STDMETHODCALLTYPE QueryDword(
  8692. /* [in] */ ASSOCELEM_MASK mask,
  8693. /* [in] */ ASSOCQUERY query,
  8694. /* [string][in] */ LPCWSTR pszCue,
  8695. /* [out] */ DWORD *pdw) = 0;
  8696. virtual HRESULT STDMETHODCALLTYPE QueryExists(
  8697. /* [in] */ ASSOCELEM_MASK mask,
  8698. /* [in] */ ASSOCQUERY query,
  8699. /* [string][in] */ LPCWSTR pszCue) = 0;
  8700. virtual HRESULT STDMETHODCALLTYPE QueryDirect(
  8701. /* [in] */ ASSOCELEM_MASK mask,
  8702. /* [in] */ ASSOCQUERY query,
  8703. /* [string][in] */ LPCWSTR pszCue,
  8704. /* [out] */ FLAGGED_BYTE_BLOB **ppblob) = 0;
  8705. virtual HRESULT STDMETHODCALLTYPE QueryObject(
  8706. /* [in] */ ASSOCELEM_MASK mask,
  8707. /* [in] */ ASSOCQUERY query,
  8708. /* [string][in] */ LPCWSTR pszCue,
  8709. /* [in] */ REFIID riid,
  8710. /* [iid_is][out] */ void **ppv) = 0;
  8711. };
  8712. #else /* C style interface */
  8713. typedef struct IAssociationArrayVtbl
  8714. {
  8715. BEGIN_INTERFACE
  8716. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8717. IAssociationArray * This,
  8718. /* [in] */ REFIID riid,
  8719. /* [iid_is][out] */ void **ppvObject);
  8720. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8721. IAssociationArray * This);
  8722. ULONG ( STDMETHODCALLTYPE *Release )(
  8723. IAssociationArray * This);
  8724. HRESULT ( STDMETHODCALLTYPE *EnumElements )(
  8725. IAssociationArray * This,
  8726. /* [in] */ ASSOCELEM_MASK mask,
  8727. /* [out] */ IEnumAssociationElements **ppeae);
  8728. HRESULT ( STDMETHODCALLTYPE *QueryString )(
  8729. IAssociationArray * This,
  8730. /* [in] */ ASSOCELEM_MASK mask,
  8731. /* [in] */ ASSOCQUERY query,
  8732. /* [string][in] */ LPCWSTR pszCue,
  8733. /* [string][out] */ LPWSTR *ppsz);
  8734. HRESULT ( STDMETHODCALLTYPE *QueryDword )(
  8735. IAssociationArray * This,
  8736. /* [in] */ ASSOCELEM_MASK mask,
  8737. /* [in] */ ASSOCQUERY query,
  8738. /* [string][in] */ LPCWSTR pszCue,
  8739. /* [out] */ DWORD *pdw);
  8740. HRESULT ( STDMETHODCALLTYPE *QueryExists )(
  8741. IAssociationArray * This,
  8742. /* [in] */ ASSOCELEM_MASK mask,
  8743. /* [in] */ ASSOCQUERY query,
  8744. /* [string][in] */ LPCWSTR pszCue);
  8745. HRESULT ( STDMETHODCALLTYPE *QueryDirect )(
  8746. IAssociationArray * This,
  8747. /* [in] */ ASSOCELEM_MASK mask,
  8748. /* [in] */ ASSOCQUERY query,
  8749. /* [string][in] */ LPCWSTR pszCue,
  8750. /* [out] */ FLAGGED_BYTE_BLOB **ppblob);
  8751. HRESULT ( STDMETHODCALLTYPE *QueryObject )(
  8752. IAssociationArray * This,
  8753. /* [in] */ ASSOCELEM_MASK mask,
  8754. /* [in] */ ASSOCQUERY query,
  8755. /* [string][in] */ LPCWSTR pszCue,
  8756. /* [in] */ REFIID riid,
  8757. /* [iid_is][out] */ void **ppv);
  8758. END_INTERFACE
  8759. } IAssociationArrayVtbl;
  8760. interface IAssociationArray
  8761. {
  8762. CONST_VTBL struct IAssociationArrayVtbl *lpVtbl;
  8763. };
  8764. #ifdef COBJMACROS
  8765. #define IAssociationArray_QueryInterface(This,riid,ppvObject) \
  8766. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8767. #define IAssociationArray_AddRef(This) \
  8768. (This)->lpVtbl -> AddRef(This)
  8769. #define IAssociationArray_Release(This) \
  8770. (This)->lpVtbl -> Release(This)
  8771. #define IAssociationArray_EnumElements(This,mask,ppeae) \
  8772. (This)->lpVtbl -> EnumElements(This,mask,ppeae)
  8773. #define IAssociationArray_QueryString(This,mask,query,pszCue,ppsz) \
  8774. (This)->lpVtbl -> QueryString(This,mask,query,pszCue,ppsz)
  8775. #define IAssociationArray_QueryDword(This,mask,query,pszCue,pdw) \
  8776. (This)->lpVtbl -> QueryDword(This,mask,query,pszCue,pdw)
  8777. #define IAssociationArray_QueryExists(This,mask,query,pszCue) \
  8778. (This)->lpVtbl -> QueryExists(This,mask,query,pszCue)
  8779. #define IAssociationArray_QueryDirect(This,mask,query,pszCue,ppblob) \
  8780. (This)->lpVtbl -> QueryDirect(This,mask,query,pszCue,ppblob)
  8781. #define IAssociationArray_QueryObject(This,mask,query,pszCue,riid,ppv) \
  8782. (This)->lpVtbl -> QueryObject(This,mask,query,pszCue,riid,ppv)
  8783. #endif /* COBJMACROS */
  8784. #endif /* C style interface */
  8785. HRESULT STDMETHODCALLTYPE IAssociationArray_EnumElements_Proxy(
  8786. IAssociationArray * This,
  8787. /* [in] */ ASSOCELEM_MASK mask,
  8788. /* [out] */ IEnumAssociationElements **ppeae);
  8789. void __RPC_STUB IAssociationArray_EnumElements_Stub(
  8790. IRpcStubBuffer *This,
  8791. IRpcChannelBuffer *_pRpcChannelBuffer,
  8792. PRPC_MESSAGE _pRpcMessage,
  8793. DWORD *_pdwStubPhase);
  8794. HRESULT STDMETHODCALLTYPE IAssociationArray_QueryString_Proxy(
  8795. IAssociationArray * This,
  8796. /* [in] */ ASSOCELEM_MASK mask,
  8797. /* [in] */ ASSOCQUERY query,
  8798. /* [string][in] */ LPCWSTR pszCue,
  8799. /* [string][out] */ LPWSTR *ppsz);
  8800. void __RPC_STUB IAssociationArray_QueryString_Stub(
  8801. IRpcStubBuffer *This,
  8802. IRpcChannelBuffer *_pRpcChannelBuffer,
  8803. PRPC_MESSAGE _pRpcMessage,
  8804. DWORD *_pdwStubPhase);
  8805. HRESULT STDMETHODCALLTYPE IAssociationArray_QueryDword_Proxy(
  8806. IAssociationArray * This,
  8807. /* [in] */ ASSOCELEM_MASK mask,
  8808. /* [in] */ ASSOCQUERY query,
  8809. /* [string][in] */ LPCWSTR pszCue,
  8810. /* [out] */ DWORD *pdw);
  8811. void __RPC_STUB IAssociationArray_QueryDword_Stub(
  8812. IRpcStubBuffer *This,
  8813. IRpcChannelBuffer *_pRpcChannelBuffer,
  8814. PRPC_MESSAGE _pRpcMessage,
  8815. DWORD *_pdwStubPhase);
  8816. HRESULT STDMETHODCALLTYPE IAssociationArray_QueryExists_Proxy(
  8817. IAssociationArray * This,
  8818. /* [in] */ ASSOCELEM_MASK mask,
  8819. /* [in] */ ASSOCQUERY query,
  8820. /* [string][in] */ LPCWSTR pszCue);
  8821. void __RPC_STUB IAssociationArray_QueryExists_Stub(
  8822. IRpcStubBuffer *This,
  8823. IRpcChannelBuffer *_pRpcChannelBuffer,
  8824. PRPC_MESSAGE _pRpcMessage,
  8825. DWORD *_pdwStubPhase);
  8826. HRESULT STDMETHODCALLTYPE IAssociationArray_QueryDirect_Proxy(
  8827. IAssociationArray * This,
  8828. /* [in] */ ASSOCELEM_MASK mask,
  8829. /* [in] */ ASSOCQUERY query,
  8830. /* [string][in] */ LPCWSTR pszCue,
  8831. /* [out] */ FLAGGED_BYTE_BLOB **ppblob);
  8832. void __RPC_STUB IAssociationArray_QueryDirect_Stub(
  8833. IRpcStubBuffer *This,
  8834. IRpcChannelBuffer *_pRpcChannelBuffer,
  8835. PRPC_MESSAGE _pRpcMessage,
  8836. DWORD *_pdwStubPhase);
  8837. HRESULT STDMETHODCALLTYPE IAssociationArray_QueryObject_Proxy(
  8838. IAssociationArray * This,
  8839. /* [in] */ ASSOCELEM_MASK mask,
  8840. /* [in] */ ASSOCQUERY query,
  8841. /* [string][in] */ LPCWSTR pszCue,
  8842. /* [in] */ REFIID riid,
  8843. /* [iid_is][out] */ void **ppv);
  8844. void __RPC_STUB IAssociationArray_QueryObject_Stub(
  8845. IRpcStubBuffer *This,
  8846. IRpcChannelBuffer *_pRpcChannelBuffer,
  8847. PRPC_MESSAGE _pRpcMessage,
  8848. DWORD *_pdwStubPhase);
  8849. #endif /* __IAssociationArray_INTERFACE_DEFINED__ */
  8850. #ifndef __IAlphaThumbnailExtractor_INTERFACE_DEFINED__
  8851. #define __IAlphaThumbnailExtractor_INTERFACE_DEFINED__
  8852. /* interface IAlphaThumbnailExtractor */
  8853. /* [object][local][uuid] */
  8854. EXTERN_C const IID IID_IAlphaThumbnailExtractor;
  8855. #if defined(__cplusplus) && !defined(CINTERFACE)
  8856. MIDL_INTERFACE("0F97F9D3-A7E2-4db7-A9B4-C540BD4B80A9")
  8857. IAlphaThumbnailExtractor : public IUnknown
  8858. {
  8859. public:
  8860. virtual HRESULT STDMETHODCALLTYPE RequestAlphaThumbnail( void) = 0;
  8861. };
  8862. #else /* C style interface */
  8863. typedef struct IAlphaThumbnailExtractorVtbl
  8864. {
  8865. BEGIN_INTERFACE
  8866. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8867. IAlphaThumbnailExtractor * This,
  8868. /* [in] */ REFIID riid,
  8869. /* [iid_is][out] */ void **ppvObject);
  8870. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8871. IAlphaThumbnailExtractor * This);
  8872. ULONG ( STDMETHODCALLTYPE *Release )(
  8873. IAlphaThumbnailExtractor * This);
  8874. HRESULT ( STDMETHODCALLTYPE *RequestAlphaThumbnail )(
  8875. IAlphaThumbnailExtractor * This);
  8876. END_INTERFACE
  8877. } IAlphaThumbnailExtractorVtbl;
  8878. interface IAlphaThumbnailExtractor
  8879. {
  8880. CONST_VTBL struct IAlphaThumbnailExtractorVtbl *lpVtbl;
  8881. };
  8882. #ifdef COBJMACROS
  8883. #define IAlphaThumbnailExtractor_QueryInterface(This,riid,ppvObject) \
  8884. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8885. #define IAlphaThumbnailExtractor_AddRef(This) \
  8886. (This)->lpVtbl -> AddRef(This)
  8887. #define IAlphaThumbnailExtractor_Release(This) \
  8888. (This)->lpVtbl -> Release(This)
  8889. #define IAlphaThumbnailExtractor_RequestAlphaThumbnail(This) \
  8890. (This)->lpVtbl -> RequestAlphaThumbnail(This)
  8891. #endif /* COBJMACROS */
  8892. #endif /* C style interface */
  8893. HRESULT STDMETHODCALLTYPE IAlphaThumbnailExtractor_RequestAlphaThumbnail_Proxy(
  8894. IAlphaThumbnailExtractor * This);
  8895. void __RPC_STUB IAlphaThumbnailExtractor_RequestAlphaThumbnail_Stub(
  8896. IRpcStubBuffer *This,
  8897. IRpcChannelBuffer *_pRpcChannelBuffer,
  8898. PRPC_MESSAGE _pRpcMessage,
  8899. DWORD *_pdwStubPhase);
  8900. #endif /* __IAlphaThumbnailExtractor_INTERFACE_DEFINED__ */
  8901. /* interface __MIDL_itf_shpriv_0331 */
  8902. /* [local] */
  8903. #if (_WIN32_IE >= 0x0600)
  8904. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0331_v0_0_c_ifspec;
  8905. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0331_v0_0_s_ifspec;
  8906. #ifndef __IQueryPropertyFlags_INTERFACE_DEFINED__
  8907. #define __IQueryPropertyFlags_INTERFACE_DEFINED__
  8908. /* interface IQueryPropertyFlags */
  8909. /* [object][local][uuid] */
  8910. EXTERN_C const IID IID_IQueryPropertyFlags;
  8911. #if defined(__cplusplus) && !defined(CINTERFACE)
  8912. MIDL_INTERFACE("85DCA855-9B96-476d-8F35-7AF1E733CAAE")
  8913. IQueryPropertyFlags : public IUnknown
  8914. {
  8915. public:
  8916. virtual HRESULT STDMETHODCALLTYPE GetFlags(
  8917. const PROPSPEC *pspec,
  8918. SHCOLSTATEF *pcsFlags) = 0;
  8919. };
  8920. #else /* C style interface */
  8921. typedef struct IQueryPropertyFlagsVtbl
  8922. {
  8923. BEGIN_INTERFACE
  8924. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  8925. IQueryPropertyFlags * This,
  8926. /* [in] */ REFIID riid,
  8927. /* [iid_is][out] */ void **ppvObject);
  8928. ULONG ( STDMETHODCALLTYPE *AddRef )(
  8929. IQueryPropertyFlags * This);
  8930. ULONG ( STDMETHODCALLTYPE *Release )(
  8931. IQueryPropertyFlags * This);
  8932. HRESULT ( STDMETHODCALLTYPE *GetFlags )(
  8933. IQueryPropertyFlags * This,
  8934. const PROPSPEC *pspec,
  8935. SHCOLSTATEF *pcsFlags);
  8936. END_INTERFACE
  8937. } IQueryPropertyFlagsVtbl;
  8938. interface IQueryPropertyFlags
  8939. {
  8940. CONST_VTBL struct IQueryPropertyFlagsVtbl *lpVtbl;
  8941. };
  8942. #ifdef COBJMACROS
  8943. #define IQueryPropertyFlags_QueryInterface(This,riid,ppvObject) \
  8944. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8945. #define IQueryPropertyFlags_AddRef(This) \
  8946. (This)->lpVtbl -> AddRef(This)
  8947. #define IQueryPropertyFlags_Release(This) \
  8948. (This)->lpVtbl -> Release(This)
  8949. #define IQueryPropertyFlags_GetFlags(This,pspec,pcsFlags) \
  8950. (This)->lpVtbl -> GetFlags(This,pspec,pcsFlags)
  8951. #endif /* COBJMACROS */
  8952. #endif /* C style interface */
  8953. HRESULT STDMETHODCALLTYPE IQueryPropertyFlags_GetFlags_Proxy(
  8954. IQueryPropertyFlags * This,
  8955. const PROPSPEC *pspec,
  8956. SHCOLSTATEF *pcsFlags);
  8957. void __RPC_STUB IQueryPropertyFlags_GetFlags_Stub(
  8958. IRpcStubBuffer *This,
  8959. IRpcChannelBuffer *_pRpcChannelBuffer,
  8960. PRPC_MESSAGE _pRpcMessage,
  8961. DWORD *_pdwStubPhase);
  8962. #endif /* __IQueryPropertyFlags_INTERFACE_DEFINED__ */
  8963. /* interface __MIDL_itf_shpriv_0332 */
  8964. /* [local] */
  8965. #endif // _WIN32_IE >= 0x0600)
  8966. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0332_v0_0_c_ifspec;
  8967. extern RPC_IF_HANDLE __MIDL_itf_shpriv_0332_v0_0_s_ifspec;
  8968. #ifndef __ShellPrivateObjects_LIBRARY_DEFINED__
  8969. #define __ShellPrivateObjects_LIBRARY_DEFINED__
  8970. /* library ShellPrivateObjects */
  8971. /* [uuid] */
  8972. #define SID_OleControlSite IID_IOleControlSite
  8973. EXTERN_C const IID LIBID_ShellPrivateObjects;
  8974. EXTERN_C const CLSID CLSID_HWEventSettings;
  8975. #ifdef __cplusplus
  8976. class DECLSPEC_UUID("5560c070-114e-4e97-929a-7e39f40debc7")
  8977. HWEventSettings;
  8978. #endif
  8979. EXTERN_C const CLSID CLSID_AutoplayHandlerProperties;
  8980. #ifdef __cplusplus
  8981. class DECLSPEC_UUID("11F6B41F-3BE5-4ce3-AF60-398551797DF6")
  8982. AutoplayHandlerProperties;
  8983. #endif
  8984. EXTERN_C const CLSID CLSID_HWDevice;
  8985. #ifdef __cplusplus
  8986. class DECLSPEC_UUID("aac41048-53e3-4867-a0aa-5fbceae7e5f5")
  8987. HWDevice;
  8988. #endif
  8989. EXTERN_C const CLSID CLSID_HardwareDevices;
  8990. #ifdef __cplusplus
  8991. class DECLSPEC_UUID("dd522acc-f821-461a-a407-50b198b896dc")
  8992. HardwareDevices;
  8993. #endif
  8994. EXTERN_C const CLSID CLSID_HWDeviceCustomProperties;
  8995. #ifdef __cplusplus
  8996. class DECLSPEC_UUID("555F3418-D99E-4e51-800A-6E89CFD8B1D7")
  8997. HWDeviceCustomProperties;
  8998. #endif
  8999. EXTERN_C const CLSID CLSID_DefCategoryProvider;
  9000. #ifdef __cplusplus
  9001. class DECLSPEC_UUID("B2F2E083-84FE-4a7e-80C3-4B50D10D646E")
  9002. DefCategoryProvider;
  9003. #endif
  9004. EXTERN_C const CLSID CLSID_VersionColProvider;
  9005. #ifdef __cplusplus
  9006. class DECLSPEC_UUID("66742402-F9B9-11D1-A202-0000F81FEDEE")
  9007. VersionColProvider;
  9008. #endif
  9009. EXTERN_C const CLSID CLSID_ThemeUIPages;
  9010. #ifdef __cplusplus
  9011. class DECLSPEC_UUID("B12AE898-D056-4378-A844-6D393FE37956")
  9012. ThemeUIPages;
  9013. #endif
  9014. EXTERN_C const CLSID CLSID_ScreenSaverPage;
  9015. #ifdef __cplusplus
  9016. class DECLSPEC_UUID("ADB9F5A4-E73E-49b8-99B6-2FA317EF9DBC")
  9017. ScreenSaverPage;
  9018. #endif
  9019. EXTERN_C const CLSID CLSID_ScreenResFixer;
  9020. #ifdef __cplusplus
  9021. class DECLSPEC_UUID("5a3d988e-820d-4aaf-ba87-440081768a17")
  9022. ScreenResFixer;
  9023. #endif
  9024. EXTERN_C const CLSID CLSID_SettingsPage;
  9025. #ifdef __cplusplus
  9026. class DECLSPEC_UUID("4c892621-6757-4fe0-ad8c-a6301be7fba2")
  9027. SettingsPage;
  9028. #endif
  9029. EXTERN_C const CLSID CLSID_DisplaySettings;
  9030. #ifdef __cplusplus
  9031. class DECLSPEC_UUID("c79d1575-b8c6-4862-a284-788836518b97")
  9032. DisplaySettings;
  9033. #endif
  9034. EXTERN_C const CLSID CLSID_VideoThumbnail;
  9035. #ifdef __cplusplus
  9036. class DECLSPEC_UUID("c5a40261-cd64-4ccf-84cb-c394da41d590")
  9037. VideoThumbnail;
  9038. #endif
  9039. EXTERN_C const CLSID CLSID_StartMenuPin;
  9040. #ifdef __cplusplus
  9041. class DECLSPEC_UUID("a2a9545d-a0c2-42b4-9708-a0b2badd77c8")
  9042. StartMenuPin;
  9043. #endif
  9044. EXTERN_C const CLSID CLSID_ClientExtractIcon;
  9045. #ifdef __cplusplus
  9046. class DECLSPEC_UUID("25585dc7-4da0-438d-ad04-e42c8d2d64b9")
  9047. ClientExtractIcon;
  9048. #endif
  9049. EXTERN_C const CLSID CLSID_MediaDeviceFolder;
  9050. #ifdef __cplusplus
  9051. class DECLSPEC_UUID("640167b4-59b0-47a6-b335-a6b3c0695aea")
  9052. MediaDeviceFolder;
  9053. #endif
  9054. EXTERN_C const CLSID CLSID_CDBurnFolder;
  9055. #ifdef __cplusplus
  9056. class DECLSPEC_UUID("00eebf57-477d-4084-9921-7ab3c2c9459d")
  9057. CDBurnFolder;
  9058. #endif
  9059. EXTERN_C const CLSID CLSID_BurnAudioCDExtension;
  9060. #ifdef __cplusplus
  9061. class DECLSPEC_UUID("f83cbf45-1c37-4ca1-a78a-28bcb91642ec")
  9062. BurnAudioCDExtension;
  9063. #endif
  9064. EXTERN_C const CLSID CLSID_Accessible;
  9065. #ifdef __cplusplus
  9066. class DECLSPEC_UUID("7e653215-fa25-46bd-a339-34a2790f3cb7")
  9067. Accessible;
  9068. #endif
  9069. EXTERN_C const CLSID CLSID_TrackPopupBar;
  9070. #ifdef __cplusplus
  9071. class DECLSPEC_UUID("acf35015-526e-4230-9596-becbe19f0ac9")
  9072. TrackPopupBar;
  9073. #endif
  9074. EXTERN_C const CLSID CLSID_SharedDocuments;
  9075. #ifdef __cplusplus
  9076. class DECLSPEC_UUID("59031a47-3f72-44a7-89c5-5595fe6b30ee")
  9077. SharedDocuments;
  9078. #endif
  9079. EXTERN_C const CLSID CLSID_PostBootReminder;
  9080. #ifdef __cplusplus
  9081. class DECLSPEC_UUID("7849596a-48ea-486e-8937-a2a3009f31a9")
  9082. PostBootReminder;
  9083. #endif
  9084. EXTERN_C const CLSID CLSID_AudioMediaProperties;
  9085. #ifdef __cplusplus
  9086. class DECLSPEC_UUID("875CB1A1-0F29-45de-A1AE-CFB4950D0B78")
  9087. AudioMediaProperties;
  9088. #endif
  9089. EXTERN_C const CLSID CLSID_VideoMediaProperties;
  9090. #ifdef __cplusplus
  9091. class DECLSPEC_UUID("40C3D757-D6E4-4b49-BB41-0E5BBEA28817")
  9092. VideoMediaProperties;
  9093. #endif
  9094. EXTERN_C const CLSID CLSID_AVWavProperties;
  9095. #ifdef __cplusplus
  9096. class DECLSPEC_UUID("E4B29F9D-D390-480b-92FD-7DDB47101D71")
  9097. AVWavProperties;
  9098. #endif
  9099. EXTERN_C const CLSID CLSID_AVAviProperties;
  9100. #ifdef __cplusplus
  9101. class DECLSPEC_UUID("87D62D94-71B3-4b9a-9489-5FE6850DC73E")
  9102. AVAviProperties;
  9103. #endif
  9104. EXTERN_C const CLSID CLSID_AVMidiProperties;
  9105. #ifdef __cplusplus
  9106. class DECLSPEC_UUID("A6FD9E45-6E44-43f9-8644-08598F5A74D9")
  9107. AVMidiProperties;
  9108. #endif
  9109. EXTERN_C const CLSID CLSID_TrayNotify;
  9110. #ifdef __cplusplus
  9111. class DECLSPEC_UUID("25dead04-1eac-4911-9e3a-ad0a4ab560fd")
  9112. TrayNotify;
  9113. #endif
  9114. EXTERN_C const CLSID CLSID_CompositeFolder;
  9115. #ifdef __cplusplus
  9116. class DECLSPEC_UUID("FEF10DED-355E-4e06-9381-9B24D7F7CC88")
  9117. CompositeFolder;
  9118. #endif
  9119. EXTERN_C const CLSID CLSID_DynamicStorage;
  9120. #ifdef __cplusplus
  9121. class DECLSPEC_UUID("F46316E4-FB1B-46eb-AEDF-9520BFBB916A")
  9122. DynamicStorage;
  9123. #endif
  9124. EXTERN_C const CLSID CLSID_Magic;
  9125. #ifdef __cplusplus
  9126. class DECLSPEC_UUID("8A037D15-3357-4b1c-90EB-7B40B74FC4B2")
  9127. Magic;
  9128. #endif
  9129. EXTERN_C const CLSID CLSID_HomeNetworkWizard;
  9130. #ifdef __cplusplus
  9131. class DECLSPEC_UUID("2728520d-1ec8-4c68-a551-316b684c4ea7")
  9132. HomeNetworkWizard;
  9133. #endif
  9134. EXTERN_C const CLSID CLSID_StartMenuFolder;
  9135. #ifdef __cplusplus
  9136. class DECLSPEC_UUID("48e7caab-b918-4e58-a94d-505519c795dc")
  9137. StartMenuFolder;
  9138. #endif
  9139. EXTERN_C const CLSID CLSID_ProgramsFolder;
  9140. #ifdef __cplusplus
  9141. class DECLSPEC_UUID("7be9d83c-a729-4d97-b5a7-1b7313c39e0a")
  9142. ProgramsFolder;
  9143. #endif
  9144. EXTERN_C const CLSID CLSID_MoreDocumentsFolder;
  9145. #ifdef __cplusplus
  9146. class DECLSPEC_UUID("9387ae38-d19b-4de5-baf5-1f7767a1cf04")
  9147. MoreDocumentsFolder;
  9148. #endif
  9149. EXTERN_C const CLSID CLSID_LocalCopyHelper;
  9150. #ifdef __cplusplus
  9151. class DECLSPEC_UUID("021003e9-aac0-4975-979f-14b5d4e717f8")
  9152. LocalCopyHelper;
  9153. #endif
  9154. EXTERN_C const CLSID CLSID_ShellItem;
  9155. #ifdef __cplusplus
  9156. class DECLSPEC_UUID("9ac9fbe1-e0a2-4ad6-b4ee-e212013ea917")
  9157. ShellItem;
  9158. #endif
  9159. EXTERN_C const CLSID CLSID_WirelessDevices;
  9160. #ifdef __cplusplus
  9161. class DECLSPEC_UUID("30dd6b9c-47b7-4df5-94ae-f779aa7eb644")
  9162. WirelessDevices;
  9163. #endif
  9164. EXTERN_C const CLSID CLSID_FolderCustomize;
  9165. #ifdef __cplusplus
  9166. class DECLSPEC_UUID("ef43ecfe-2ab9-4632-bf21-58909dd177f0")
  9167. FolderCustomize;
  9168. #endif
  9169. EXTERN_C const CLSID CLSID_WorkgroupNetCrawler;
  9170. #ifdef __cplusplus
  9171. class DECLSPEC_UUID("72b3882f-453a-4633-aac9-8c3dced62aff")
  9172. WorkgroupNetCrawler;
  9173. #endif
  9174. EXTERN_C const CLSID CLSID_WebDocsNetCrawler;
  9175. #ifdef __cplusplus
  9176. class DECLSPEC_UUID("8a2ecb17-9007-4b9a-b271-7509095c405f")
  9177. WebDocsNetCrawler;
  9178. #endif
  9179. EXTERN_C const CLSID CLSID_PublishedShareNetCrawler;
  9180. #ifdef __cplusplus
  9181. class DECLSPEC_UUID("24eee191-5491-4dc3-bd03-c0627df6a70c")
  9182. PublishedShareNetCrawler;
  9183. #endif
  9184. EXTERN_C const CLSID CLSID_ImagePropertyHandler;
  9185. #ifdef __cplusplus
  9186. class DECLSPEC_UUID("eb9b1153-3b57-4e68-959a-a3266bc3d7fe")
  9187. ImagePropertyHandler;
  9188. #endif
  9189. EXTERN_C const CLSID CLSID_WebViewRegTreeItem;
  9190. #ifdef __cplusplus
  9191. class DECLSPEC_UUID("01E2E7C0-2343-407f-B947-7E132E791D3E")
  9192. WebViewRegTreeItem;
  9193. #endif
  9194. EXTERN_C const CLSID CLSID_ThemesRegTreeItem;
  9195. #ifdef __cplusplus
  9196. class DECLSPEC_UUID("AABE54D4-6E88-4c46-A6B3-1DF790DD6E0D")
  9197. ThemesRegTreeItem;
  9198. #endif
  9199. EXTERN_C const CLSID CLSID_CShellTreeWalker;
  9200. #ifdef __cplusplus
  9201. class DECLSPEC_UUID("95CE8412-7027-11D1-B879-006008059382")
  9202. CShellTreeWalker;
  9203. #endif
  9204. EXTERN_C const CLSID CLSID_StorageProcessor;
  9205. #ifdef __cplusplus
  9206. class DECLSPEC_UUID("6CF8E98C-5DD4-42A2-A948-BFE4CA1DC3EB")
  9207. StorageProcessor;
  9208. #endif
  9209. EXTERN_C const CLSID CLSID_TransferConfirmationUI;
  9210. #ifdef __cplusplus
  9211. class DECLSPEC_UUID("6B831E4F-A50D-45FC-842F-16CE27595359")
  9212. TransferConfirmationUI;
  9213. #endif
  9214. EXTERN_C const CLSID CLSID_ShellAutoplay;
  9215. #ifdef __cplusplus
  9216. class DECLSPEC_UUID("995C996E-D918-4a8c-A302-45719A6F4EA7")
  9217. ShellAutoplay;
  9218. #endif
  9219. EXTERN_C const CLSID CLSID_PrintPhotosDropTarget;
  9220. #ifdef __cplusplus
  9221. class DECLSPEC_UUID("60fd46de-f830-4894-a628-6fa81bc0190d")
  9222. PrintPhotosDropTarget;
  9223. #endif
  9224. EXTERN_C const CLSID CLSID_OrganizeFolder;
  9225. #ifdef __cplusplus
  9226. class DECLSPEC_UUID("10612e23-7679-4dd9-95b8-8e71c461feb2")
  9227. OrganizeFolder;
  9228. #endif
  9229. EXTERN_C const CLSID CLSID_FadeTask;
  9230. #ifdef __cplusplus
  9231. class DECLSPEC_UUID("7eb5fbe4-2100-49e6-8593-17e130122f91")
  9232. FadeTask;
  9233. #endif
  9234. EXTERN_C const CLSID CLSID_AssocShellElement;
  9235. #ifdef __cplusplus
  9236. class DECLSPEC_UUID("c461837f-ea59-494a-b7c6-cd040e37185e")
  9237. AssocShellElement;
  9238. #endif
  9239. EXTERN_C const CLSID CLSID_AssocProgidElement;
  9240. #ifdef __cplusplus
  9241. class DECLSPEC_UUID("9016d0dd-7c41-46cc-a664-bf22f7cb186a")
  9242. AssocProgidElement;
  9243. #endif
  9244. EXTERN_C const CLSID CLSID_AssocClsidElement;
  9245. #ifdef __cplusplus
  9246. class DECLSPEC_UUID("57aea081-5ee9-4c27-b218-c4b702964c54")
  9247. AssocClsidElement;
  9248. #endif
  9249. EXTERN_C const CLSID CLSID_AssocSystemElement;
  9250. #ifdef __cplusplus
  9251. class DECLSPEC_UUID("a6c4baad-4af5-4191-8685-c2c8953a148c")
  9252. AssocSystemElement;
  9253. #endif
  9254. EXTERN_C const CLSID CLSID_AssocPerceivedElement;
  9255. #ifdef __cplusplus
  9256. class DECLSPEC_UUID("0dc5fb21-b93d-4e3d-bb2f-ce4e36a70601")
  9257. AssocPerceivedElement;
  9258. #endif
  9259. EXTERN_C const CLSID CLSID_AssocApplicationElement;
  9260. #ifdef __cplusplus
  9261. class DECLSPEC_UUID("0c2bf91b-8746-4fb1-b4d7-7c03f890b168")
  9262. AssocApplicationElement;
  9263. #endif
  9264. EXTERN_C const CLSID CLSID_AssocFolderElement;
  9265. #ifdef __cplusplus
  9266. class DECLSPEC_UUID("7566df7a-42cc-475d-a025-1205ddf4911f")
  9267. AssocFolderElement;
  9268. #endif
  9269. EXTERN_C const CLSID CLSID_AssocStarElement;
  9270. #ifdef __cplusplus
  9271. class DECLSPEC_UUID("0633b720-6926-404c-b6b3-923b1a501743")
  9272. AssocStarElement;
  9273. #endif
  9274. EXTERN_C const CLSID CLSID_AssocClientElement;
  9275. #ifdef __cplusplus
  9276. class DECLSPEC_UUID("3c81e7fa-1f3b-464a-a350-114a25beb2a2")
  9277. AssocClientElement;
  9278. #endif
  9279. EXTERN_C const CLSID CLSID_AutoPlayVerb;
  9280. #ifdef __cplusplus
  9281. class DECLSPEC_UUID("f26a669a-bcbb-4e37-abf9-7325da15f931")
  9282. AutoPlayVerb;
  9283. #endif
  9284. #endif /* __ShellPrivateObjects_LIBRARY_DEFINED__ */
  9285. /* Additional Prototypes for ALL interfaces */
  9286. unsigned long __RPC_USER HICON_UserSize( unsigned long *, unsigned long , HICON * );
  9287. unsigned char * __RPC_USER HICON_UserMarshal( unsigned long *, unsigned char *, HICON * );
  9288. unsigned char * __RPC_USER HICON_UserUnmarshal(unsigned long *, unsigned char *, HICON * );
  9289. void __RPC_USER HICON_UserFree( unsigned long *, HICON * );
  9290. unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsigned long , HWND * );
  9291. unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, HWND * );
  9292. unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * );
  9293. void __RPC_USER HWND_UserFree( unsigned long *, HWND * );
  9294. unsigned long __RPC_USER LPCITEMIDLIST_UserSize( unsigned long *, unsigned long , LPCITEMIDLIST * );
  9295. unsigned char * __RPC_USER LPCITEMIDLIST_UserMarshal( unsigned long *, unsigned char *, LPCITEMIDLIST * );
  9296. unsigned char * __RPC_USER LPCITEMIDLIST_UserUnmarshal(unsigned long *, unsigned char *, LPCITEMIDLIST * );
  9297. void __RPC_USER LPCITEMIDLIST_UserFree( unsigned long *, LPCITEMIDLIST * );
  9298. unsigned long __RPC_USER LPITEMIDLIST_UserSize( unsigned long *, unsigned long , LPITEMIDLIST * );
  9299. unsigned char * __RPC_USER LPITEMIDLIST_UserMarshal( unsigned long *, unsigned char *, LPITEMIDLIST * );
  9300. unsigned char * __RPC_USER LPITEMIDLIST_UserUnmarshal(unsigned long *, unsigned char *, LPITEMIDLIST * );
  9301. void __RPC_USER LPITEMIDLIST_UserFree( unsigned long *, LPITEMIDLIST * );
  9302. /* end of Additional Prototypes */
  9303. #ifdef __cplusplus
  9304. }
  9305. #endif
  9306. #endif