Leaked source code of windows server 2003
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.

12183 lines
342 KiB

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