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

3606 lines
100 KiB

  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for iepriv.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __iepriv_h__
  27. #define __iepriv_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IMruDataList_FWD_DEFINED__
  33. #define __IMruDataList_FWD_DEFINED__
  34. typedef interface IMruDataList IMruDataList;
  35. #endif /* __IMruDataList_FWD_DEFINED__ */
  36. #ifndef __IMruPidlList_FWD_DEFINED__
  37. #define __IMruPidlList_FWD_DEFINED__
  38. typedef interface IMruPidlList IMruPidlList;
  39. #endif /* __IMruPidlList_FWD_DEFINED__ */
  40. #ifndef __INSCTree_FWD_DEFINED__
  41. #define __INSCTree_FWD_DEFINED__
  42. typedef interface INSCTree INSCTree;
  43. #endif /* __INSCTree_FWD_DEFINED__ */
  44. #ifndef __INSCTree2_FWD_DEFINED__
  45. #define __INSCTree2_FWD_DEFINED__
  46. typedef interface INSCTree2 INSCTree2;
  47. #endif /* __INSCTree2_FWD_DEFINED__ */
  48. #ifndef __INotifyAppStart_FWD_DEFINED__
  49. #define __INotifyAppStart_FWD_DEFINED__
  50. typedef interface INotifyAppStart INotifyAppStart;
  51. #endif /* __INotifyAppStart_FWD_DEFINED__ */
  52. #ifndef __IInitViewLinkedWebOC_FWD_DEFINED__
  53. #define __IInitViewLinkedWebOC_FWD_DEFINED__
  54. typedef interface IInitViewLinkedWebOC IInitViewLinkedWebOC;
  55. #endif /* __IInitViewLinkedWebOC_FWD_DEFINED__ */
  56. #ifndef __INamespaceProxy_FWD_DEFINED__
  57. #define __INamespaceProxy_FWD_DEFINED__
  58. typedef interface INamespaceProxy INamespaceProxy;
  59. #endif /* __INamespaceProxy_FWD_DEFINED__ */
  60. #ifndef __IBrowserFrameOptions_FWD_DEFINED__
  61. #define __IBrowserFrameOptions_FWD_DEFINED__
  62. typedef interface IBrowserFrameOptions IBrowserFrameOptions;
  63. #endif /* __IBrowserFrameOptions_FWD_DEFINED__ */
  64. #ifndef __ISearchCompanionInfo_FWD_DEFINED__
  65. #define __ISearchCompanionInfo_FWD_DEFINED__
  66. typedef interface ISearchCompanionInfo ISearchCompanionInfo;
  67. #endif /* __ISearchCompanionInfo_FWD_DEFINED__ */
  68. #ifndef __IShellMenuCallback_FWD_DEFINED__
  69. #define __IShellMenuCallback_FWD_DEFINED__
  70. typedef interface IShellMenuCallback IShellMenuCallback;
  71. #endif /* __IShellMenuCallback_FWD_DEFINED__ */
  72. #ifndef __IShellMenu_FWD_DEFINED__
  73. #define __IShellMenu_FWD_DEFINED__
  74. typedef interface IShellMenu IShellMenu;
  75. #endif /* __IShellMenu_FWD_DEFINED__ */
  76. #ifndef __IShellMenu2_FWD_DEFINED__
  77. #define __IShellMenu2_FWD_DEFINED__
  78. typedef interface IShellMenu2 IShellMenu2;
  79. #endif /* __IShellMenu2_FWD_DEFINED__ */
  80. #ifndef __ITrackShellMenu_FWD_DEFINED__
  81. #define __ITrackShellMenu_FWD_DEFINED__
  82. typedef interface ITrackShellMenu ITrackShellMenu;
  83. #endif /* __ITrackShellMenu_FWD_DEFINED__ */
  84. #ifndef __IThumbnail_FWD_DEFINED__
  85. #define __IThumbnail_FWD_DEFINED__
  86. typedef interface IThumbnail IThumbnail;
  87. #endif /* __IThumbnail_FWD_DEFINED__ */
  88. #ifndef __IThumbnail2_FWD_DEFINED__
  89. #define __IThumbnail2_FWD_DEFINED__
  90. typedef interface IThumbnail2 IThumbnail2;
  91. #endif /* __IThumbnail2_FWD_DEFINED__ */
  92. #ifndef __IACLCustomMRU_FWD_DEFINED__
  93. #define __IACLCustomMRU_FWD_DEFINED__
  94. typedef interface IACLCustomMRU IACLCustomMRU;
  95. #endif /* __IACLCustomMRU_FWD_DEFINED__ */
  96. #ifndef __IShellBrowserService_FWD_DEFINED__
  97. #define __IShellBrowserService_FWD_DEFINED__
  98. typedef interface IShellBrowserService IShellBrowserService;
  99. #endif /* __IShellBrowserService_FWD_DEFINED__ */
  100. #ifndef __MruPidlList_FWD_DEFINED__
  101. #define __MruPidlList_FWD_DEFINED__
  102. #ifdef __cplusplus
  103. typedef class MruPidlList MruPidlList;
  104. #else
  105. typedef struct MruPidlList MruPidlList;
  106. #endif /* __cplusplus */
  107. #endif /* __MruPidlList_FWD_DEFINED__ */
  108. #ifndef __MruLongList_FWD_DEFINED__
  109. #define __MruLongList_FWD_DEFINED__
  110. #ifdef __cplusplus
  111. typedef class MruLongList MruLongList;
  112. #else
  113. typedef struct MruLongList MruLongList;
  114. #endif /* __cplusplus */
  115. #endif /* __MruLongList_FWD_DEFINED__ */
  116. #ifndef __MruShortList_FWD_DEFINED__
  117. #define __MruShortList_FWD_DEFINED__
  118. #ifdef __cplusplus
  119. typedef class MruShortList MruShortList;
  120. #else
  121. typedef struct MruShortList MruShortList;
  122. #endif /* __cplusplus */
  123. #endif /* __MruShortList_FWD_DEFINED__ */
  124. #ifndef __FolderMarshalStub_FWD_DEFINED__
  125. #define __FolderMarshalStub_FWD_DEFINED__
  126. #ifdef __cplusplus
  127. typedef class FolderMarshalStub FolderMarshalStub;
  128. #else
  129. typedef struct FolderMarshalStub FolderMarshalStub;
  130. #endif /* __cplusplus */
  131. #endif /* __FolderMarshalStub_FWD_DEFINED__ */
  132. #ifndef __MailRecipient_FWD_DEFINED__
  133. #define __MailRecipient_FWD_DEFINED__
  134. #ifdef __cplusplus
  135. typedef class MailRecipient MailRecipient;
  136. #else
  137. typedef struct MailRecipient MailRecipient;
  138. #endif /* __cplusplus */
  139. #endif /* __MailRecipient_FWD_DEFINED__ */
  140. #ifndef __SearchCompanionInfo_FWD_DEFINED__
  141. #define __SearchCompanionInfo_FWD_DEFINED__
  142. #ifdef __cplusplus
  143. typedef class SearchCompanionInfo SearchCompanionInfo;
  144. #else
  145. typedef struct SearchCompanionInfo SearchCompanionInfo;
  146. #endif /* __cplusplus */
  147. #endif /* __SearchCompanionInfo_FWD_DEFINED__ */
  148. #ifndef __TrackShellMenu_FWD_DEFINED__
  149. #define __TrackShellMenu_FWD_DEFINED__
  150. #ifdef __cplusplus
  151. typedef class TrackShellMenu TrackShellMenu;
  152. #else
  153. typedef struct TrackShellMenu TrackShellMenu;
  154. #endif /* __cplusplus */
  155. #endif /* __TrackShellMenu_FWD_DEFINED__ */
  156. #ifndef __Thumbnail_FWD_DEFINED__
  157. #define __Thumbnail_FWD_DEFINED__
  158. #ifdef __cplusplus
  159. typedef class Thumbnail Thumbnail;
  160. #else
  161. typedef struct Thumbnail Thumbnail;
  162. #endif /* __cplusplus */
  163. #endif /* __Thumbnail_FWD_DEFINED__ */
  164. /* header files for imported files */
  165. #include "objidl.h"
  166. #include "shtypes.h"
  167. #include "shobjidl.h"
  168. #ifdef __cplusplus
  169. extern "C"{
  170. #endif
  171. void * __RPC_USER MIDL_user_allocate(size_t);
  172. void __RPC_USER MIDL_user_free( void * );
  173. #ifndef __IMruDataList_INTERFACE_DEFINED__
  174. #define __IMruDataList_INTERFACE_DEFINED__
  175. /* interface IMruDataList */
  176. /* [object][local][helpstring][uuid] */
  177. typedef int ( __stdcall *MRUDATALISTCOMPARE )(
  178. const BYTE *__MIDL_0023,
  179. const BYTE *__MIDL_0024,
  180. int __MIDL_0025);
  181. enum __MIDL_IMruDataList_0001
  182. { MRULISTF_USE_MEMCMP = 0,
  183. MRULISTF_USE_STRCMPIW = 0x1,
  184. MRULISTF_USE_STRCMPW = 0x2,
  185. MRULISTF_USE_ILISEQUAL = 0x3
  186. } ;
  187. typedef DWORD MRULISTF;
  188. EXTERN_C const IID IID_IMruDataList;
  189. #if defined(__cplusplus) && !defined(CINTERFACE)
  190. MIDL_INTERFACE("fe787bcb-0ee8-44fb-8c89-12f508913c40")
  191. IMruDataList : public IUnknown
  192. {
  193. public:
  194. virtual HRESULT STDMETHODCALLTYPE InitData(
  195. /* [in] */ UINT uMax,
  196. /* [in] */ MRULISTF flags,
  197. /* [in] */ HKEY hKey,
  198. /* [string][in] */ LPCWSTR pszSubKey,
  199. /* [in] */ MRUDATALISTCOMPARE pfnCompare) = 0;
  200. virtual HRESULT STDMETHODCALLTYPE AddData(
  201. /* [size_is][in] */ const BYTE *pData,
  202. /* [in] */ DWORD cbData,
  203. /* [out] */ DWORD *pdwSlot) = 0;
  204. virtual HRESULT STDMETHODCALLTYPE FindData(
  205. /* [size_is][in] */ const BYTE *pData,
  206. /* [in] */ DWORD cbData,
  207. /* [out] */ int *piIndex) = 0;
  208. virtual HRESULT STDMETHODCALLTYPE GetData(
  209. /* [in] */ int iIndex,
  210. /* [size_is][out] */ BYTE *pData,
  211. /* [in] */ DWORD cbData) = 0;
  212. virtual HRESULT STDMETHODCALLTYPE QueryInfo(
  213. /* [in] */ int iIndex,
  214. /* [out][in] */ DWORD *pdwSlot,
  215. /* [out][in] */ DWORD *pcbData) = 0;
  216. virtual HRESULT STDMETHODCALLTYPE Delete(
  217. /* [in] */ int iIndex) = 0;
  218. };
  219. #else /* C style interface */
  220. typedef struct IMruDataListVtbl
  221. {
  222. BEGIN_INTERFACE
  223. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  224. IMruDataList * This,
  225. /* [in] */ REFIID riid,
  226. /* [iid_is][out] */ void **ppvObject);
  227. ULONG ( STDMETHODCALLTYPE *AddRef )(
  228. IMruDataList * This);
  229. ULONG ( STDMETHODCALLTYPE *Release )(
  230. IMruDataList * This);
  231. HRESULT ( STDMETHODCALLTYPE *InitData )(
  232. IMruDataList * This,
  233. /* [in] */ UINT uMax,
  234. /* [in] */ MRULISTF flags,
  235. /* [in] */ HKEY hKey,
  236. /* [string][in] */ LPCWSTR pszSubKey,
  237. /* [in] */ MRUDATALISTCOMPARE pfnCompare);
  238. HRESULT ( STDMETHODCALLTYPE *AddData )(
  239. IMruDataList * This,
  240. /* [size_is][in] */ const BYTE *pData,
  241. /* [in] */ DWORD cbData,
  242. /* [out] */ DWORD *pdwSlot);
  243. HRESULT ( STDMETHODCALLTYPE *FindData )(
  244. IMruDataList * This,
  245. /* [size_is][in] */ const BYTE *pData,
  246. /* [in] */ DWORD cbData,
  247. /* [out] */ int *piIndex);
  248. HRESULT ( STDMETHODCALLTYPE *GetData )(
  249. IMruDataList * This,
  250. /* [in] */ int iIndex,
  251. /* [size_is][out] */ BYTE *pData,
  252. /* [in] */ DWORD cbData);
  253. HRESULT ( STDMETHODCALLTYPE *QueryInfo )(
  254. IMruDataList * This,
  255. /* [in] */ int iIndex,
  256. /* [out][in] */ DWORD *pdwSlot,
  257. /* [out][in] */ DWORD *pcbData);
  258. HRESULT ( STDMETHODCALLTYPE *Delete )(
  259. IMruDataList * This,
  260. /* [in] */ int iIndex);
  261. END_INTERFACE
  262. } IMruDataListVtbl;
  263. interface IMruDataList
  264. {
  265. CONST_VTBL struct IMruDataListVtbl *lpVtbl;
  266. };
  267. #ifdef COBJMACROS
  268. #define IMruDataList_QueryInterface(This,riid,ppvObject) \
  269. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  270. #define IMruDataList_AddRef(This) \
  271. (This)->lpVtbl -> AddRef(This)
  272. #define IMruDataList_Release(This) \
  273. (This)->lpVtbl -> Release(This)
  274. #define IMruDataList_InitData(This,uMax,flags,hKey,pszSubKey,pfnCompare) \
  275. (This)->lpVtbl -> InitData(This,uMax,flags,hKey,pszSubKey,pfnCompare)
  276. #define IMruDataList_AddData(This,pData,cbData,pdwSlot) \
  277. (This)->lpVtbl -> AddData(This,pData,cbData,pdwSlot)
  278. #define IMruDataList_FindData(This,pData,cbData,piIndex) \
  279. (This)->lpVtbl -> FindData(This,pData,cbData,piIndex)
  280. #define IMruDataList_GetData(This,iIndex,pData,cbData) \
  281. (This)->lpVtbl -> GetData(This,iIndex,pData,cbData)
  282. #define IMruDataList_QueryInfo(This,iIndex,pdwSlot,pcbData) \
  283. (This)->lpVtbl -> QueryInfo(This,iIndex,pdwSlot,pcbData)
  284. #define IMruDataList_Delete(This,iIndex) \
  285. (This)->lpVtbl -> Delete(This,iIndex)
  286. #endif /* COBJMACROS */
  287. #endif /* C style interface */
  288. HRESULT STDMETHODCALLTYPE IMruDataList_InitData_Proxy(
  289. IMruDataList * This,
  290. /* [in] */ UINT uMax,
  291. /* [in] */ MRULISTF flags,
  292. /* [in] */ HKEY hKey,
  293. /* [string][in] */ LPCWSTR pszSubKey,
  294. /* [in] */ MRUDATALISTCOMPARE pfnCompare);
  295. void __RPC_STUB IMruDataList_InitData_Stub(
  296. IRpcStubBuffer *This,
  297. IRpcChannelBuffer *_pRpcChannelBuffer,
  298. PRPC_MESSAGE _pRpcMessage,
  299. DWORD *_pdwStubPhase);
  300. HRESULT STDMETHODCALLTYPE IMruDataList_AddData_Proxy(
  301. IMruDataList * This,
  302. /* [size_is][in] */ const BYTE *pData,
  303. /* [in] */ DWORD cbData,
  304. /* [out] */ DWORD *pdwSlot);
  305. void __RPC_STUB IMruDataList_AddData_Stub(
  306. IRpcStubBuffer *This,
  307. IRpcChannelBuffer *_pRpcChannelBuffer,
  308. PRPC_MESSAGE _pRpcMessage,
  309. DWORD *_pdwStubPhase);
  310. HRESULT STDMETHODCALLTYPE IMruDataList_FindData_Proxy(
  311. IMruDataList * This,
  312. /* [size_is][in] */ const BYTE *pData,
  313. /* [in] */ DWORD cbData,
  314. /* [out] */ int *piIndex);
  315. void __RPC_STUB IMruDataList_FindData_Stub(
  316. IRpcStubBuffer *This,
  317. IRpcChannelBuffer *_pRpcChannelBuffer,
  318. PRPC_MESSAGE _pRpcMessage,
  319. DWORD *_pdwStubPhase);
  320. HRESULT STDMETHODCALLTYPE IMruDataList_GetData_Proxy(
  321. IMruDataList * This,
  322. /* [in] */ int iIndex,
  323. /* [size_is][out] */ BYTE *pData,
  324. /* [in] */ DWORD cbData);
  325. void __RPC_STUB IMruDataList_GetData_Stub(
  326. IRpcStubBuffer *This,
  327. IRpcChannelBuffer *_pRpcChannelBuffer,
  328. PRPC_MESSAGE _pRpcMessage,
  329. DWORD *_pdwStubPhase);
  330. HRESULT STDMETHODCALLTYPE IMruDataList_QueryInfo_Proxy(
  331. IMruDataList * This,
  332. /* [in] */ int iIndex,
  333. /* [out][in] */ DWORD *pdwSlot,
  334. /* [out][in] */ DWORD *pcbData);
  335. void __RPC_STUB IMruDataList_QueryInfo_Stub(
  336. IRpcStubBuffer *This,
  337. IRpcChannelBuffer *_pRpcChannelBuffer,
  338. PRPC_MESSAGE _pRpcMessage,
  339. DWORD *_pdwStubPhase);
  340. HRESULT STDMETHODCALLTYPE IMruDataList_Delete_Proxy(
  341. IMruDataList * This,
  342. /* [in] */ int iIndex);
  343. void __RPC_STUB IMruDataList_Delete_Stub(
  344. IRpcStubBuffer *This,
  345. IRpcChannelBuffer *_pRpcChannelBuffer,
  346. PRPC_MESSAGE _pRpcMessage,
  347. DWORD *_pdwStubPhase);
  348. #endif /* __IMruDataList_INTERFACE_DEFINED__ */
  349. #ifndef __IMruPidlList_INTERFACE_DEFINED__
  350. #define __IMruPidlList_INTERFACE_DEFINED__
  351. /* interface IMruPidlList */
  352. /* [object][local][helpstring][uuid] */
  353. EXTERN_C const IID IID_IMruPidlList;
  354. #if defined(__cplusplus) && !defined(CINTERFACE)
  355. MIDL_INTERFACE("47851649-a2ef-4e67-baec-c6a153ac72ec")
  356. IMruPidlList : public IUnknown
  357. {
  358. public:
  359. virtual HRESULT STDMETHODCALLTYPE InitList(
  360. /* [in] */ UINT uMax,
  361. /* [in] */ HKEY hKey,
  362. /* [string][in] */ LPCWSTR pszSubKey) = 0;
  363. virtual HRESULT STDMETHODCALLTYPE UsePidl(
  364. /* [in] */ LPCITEMIDLIST pidl,
  365. /* [out] */ DWORD *pdwSlot) = 0;
  366. virtual HRESULT STDMETHODCALLTYPE QueryPidl(
  367. /* [in] */ LPCITEMIDLIST pidl,
  368. /* [in] */ DWORD cSlots,
  369. /* [length_is][size_is][out] */ DWORD *rgdwSlots,
  370. /* [out] */ DWORD *pcSlotsFetched) = 0;
  371. virtual HRESULT STDMETHODCALLTYPE PruneKids(
  372. /* [in] */ LPCITEMIDLIST pidl) = 0;
  373. };
  374. #else /* C style interface */
  375. typedef struct IMruPidlListVtbl
  376. {
  377. BEGIN_INTERFACE
  378. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  379. IMruPidlList * This,
  380. /* [in] */ REFIID riid,
  381. /* [iid_is][out] */ void **ppvObject);
  382. ULONG ( STDMETHODCALLTYPE *AddRef )(
  383. IMruPidlList * This);
  384. ULONG ( STDMETHODCALLTYPE *Release )(
  385. IMruPidlList * This);
  386. HRESULT ( STDMETHODCALLTYPE *InitList )(
  387. IMruPidlList * This,
  388. /* [in] */ UINT uMax,
  389. /* [in] */ HKEY hKey,
  390. /* [string][in] */ LPCWSTR pszSubKey);
  391. HRESULT ( STDMETHODCALLTYPE *UsePidl )(
  392. IMruPidlList * This,
  393. /* [in] */ LPCITEMIDLIST pidl,
  394. /* [out] */ DWORD *pdwSlot);
  395. HRESULT ( STDMETHODCALLTYPE *QueryPidl )(
  396. IMruPidlList * This,
  397. /* [in] */ LPCITEMIDLIST pidl,
  398. /* [in] */ DWORD cSlots,
  399. /* [length_is][size_is][out] */ DWORD *rgdwSlots,
  400. /* [out] */ DWORD *pcSlotsFetched);
  401. HRESULT ( STDMETHODCALLTYPE *PruneKids )(
  402. IMruPidlList * This,
  403. /* [in] */ LPCITEMIDLIST pidl);
  404. END_INTERFACE
  405. } IMruPidlListVtbl;
  406. interface IMruPidlList
  407. {
  408. CONST_VTBL struct IMruPidlListVtbl *lpVtbl;
  409. };
  410. #ifdef COBJMACROS
  411. #define IMruPidlList_QueryInterface(This,riid,ppvObject) \
  412. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  413. #define IMruPidlList_AddRef(This) \
  414. (This)->lpVtbl -> AddRef(This)
  415. #define IMruPidlList_Release(This) \
  416. (This)->lpVtbl -> Release(This)
  417. #define IMruPidlList_InitList(This,uMax,hKey,pszSubKey) \
  418. (This)->lpVtbl -> InitList(This,uMax,hKey,pszSubKey)
  419. #define IMruPidlList_UsePidl(This,pidl,pdwSlot) \
  420. (This)->lpVtbl -> UsePidl(This,pidl,pdwSlot)
  421. #define IMruPidlList_QueryPidl(This,pidl,cSlots,rgdwSlots,pcSlotsFetched) \
  422. (This)->lpVtbl -> QueryPidl(This,pidl,cSlots,rgdwSlots,pcSlotsFetched)
  423. #define IMruPidlList_PruneKids(This,pidl) \
  424. (This)->lpVtbl -> PruneKids(This,pidl)
  425. #endif /* COBJMACROS */
  426. #endif /* C style interface */
  427. HRESULT STDMETHODCALLTYPE IMruPidlList_InitList_Proxy(
  428. IMruPidlList * This,
  429. /* [in] */ UINT uMax,
  430. /* [in] */ HKEY hKey,
  431. /* [string][in] */ LPCWSTR pszSubKey);
  432. void __RPC_STUB IMruPidlList_InitList_Stub(
  433. IRpcStubBuffer *This,
  434. IRpcChannelBuffer *_pRpcChannelBuffer,
  435. PRPC_MESSAGE _pRpcMessage,
  436. DWORD *_pdwStubPhase);
  437. HRESULT STDMETHODCALLTYPE IMruPidlList_UsePidl_Proxy(
  438. IMruPidlList * This,
  439. /* [in] */ LPCITEMIDLIST pidl,
  440. /* [out] */ DWORD *pdwSlot);
  441. void __RPC_STUB IMruPidlList_UsePidl_Stub(
  442. IRpcStubBuffer *This,
  443. IRpcChannelBuffer *_pRpcChannelBuffer,
  444. PRPC_MESSAGE _pRpcMessage,
  445. DWORD *_pdwStubPhase);
  446. HRESULT STDMETHODCALLTYPE IMruPidlList_QueryPidl_Proxy(
  447. IMruPidlList * This,
  448. /* [in] */ LPCITEMIDLIST pidl,
  449. /* [in] */ DWORD cSlots,
  450. /* [length_is][size_is][out] */ DWORD *rgdwSlots,
  451. /* [out] */ DWORD *pcSlotsFetched);
  452. void __RPC_STUB IMruPidlList_QueryPidl_Stub(
  453. IRpcStubBuffer *This,
  454. IRpcChannelBuffer *_pRpcChannelBuffer,
  455. PRPC_MESSAGE _pRpcMessage,
  456. DWORD *_pdwStubPhase);
  457. HRESULT STDMETHODCALLTYPE IMruPidlList_PruneKids_Proxy(
  458. IMruPidlList * This,
  459. /* [in] */ LPCITEMIDLIST pidl);
  460. void __RPC_STUB IMruPidlList_PruneKids_Stub(
  461. IRpcStubBuffer *This,
  462. IRpcChannelBuffer *_pRpcChannelBuffer,
  463. PRPC_MESSAGE _pRpcMessage,
  464. DWORD *_pdwStubPhase);
  465. #endif /* __IMruPidlList_INTERFACE_DEFINED__ */
  466. /* interface __MIDL_itf_iepriv_0263 */
  467. /* [local] */
  468. #define NSS_DROPTARGET 0x0001 // register as a drop target
  469. #define NSS_BROWSERSELECT 0x0002 // Use the browser style selection (see above)
  470. #define NSS_NOHISTSELECT 0x0004 // Do not select the history entry on navigations.
  471. #define NSS_MULTISELECT 0x0008
  472. #define NSS_BORDER 0x0010
  473. #define NSS_NORMALTREEVIEW 0x0020
  474. #define NSS_HEADER 0x0040
  475. typedef /* [public] */
  476. enum __MIDL___MIDL_itf_iepriv_0263_0001
  477. { MODE_NORMAL = 0,
  478. MODE_CONTROL = 0x1,
  479. MODE_HISTORY = 0x2,
  480. MODE_FAVORITES = 0x4,
  481. MODE_CUSTOM = 0x8
  482. } nscTreeMode;
  483. extern RPC_IF_HANDLE __MIDL_itf_iepriv_0263_v0_0_c_ifspec;
  484. extern RPC_IF_HANDLE __MIDL_itf_iepriv_0263_v0_0_s_ifspec;
  485. #ifndef __INSCTree_INTERFACE_DEFINED__
  486. #define __INSCTree_INTERFACE_DEFINED__
  487. /* interface INSCTree */
  488. /* [object][local][helpstring][uuid] */
  489. EXTERN_C const IID IID_INSCTree;
  490. #if defined(__cplusplus) && !defined(CINTERFACE)
  491. MIDL_INTERFACE("43A8F463-4222-11d2-B641-006097DF5BD4")
  492. INSCTree : public IUnknown
  493. {
  494. public:
  495. virtual HRESULT STDMETHODCALLTYPE CreateTree(
  496. /* [in] */ HWND hwndParent,
  497. /* [in] */ DWORD dwStyles,
  498. /* [out] */ HWND *phwnd) = 0;
  499. virtual HRESULT STDMETHODCALLTYPE Initialize(
  500. /* [in] */ LPCITEMIDLIST pidlRoot,
  501. /* [in] */ DWORD grfFlags,
  502. /* [in] */ DWORD dwFlags) = 0;
  503. virtual HRESULT STDMETHODCALLTYPE ShowWindow(
  504. /* [in] */ BOOL fShow) = 0;
  505. virtual HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
  506. virtual HRESULT STDMETHODCALLTYPE GetSelectedItem(
  507. /* [out] */ LPITEMIDLIST *ppidl,
  508. /* [in] */ int nItem) = 0;
  509. virtual HRESULT STDMETHODCALLTYPE SetSelectedItem(
  510. /* [in] */ LPCITEMIDLIST pidl,
  511. /* [in] */ BOOL fCreate,
  512. /* [in] */ BOOL fReinsert,
  513. /* [in] */ int nItem) = 0;
  514. virtual HRESULT STDMETHODCALLTYPE GetNscMode(
  515. /* [out] */ UINT *pnMode) = 0;
  516. virtual HRESULT STDMETHODCALLTYPE SetNscMode(
  517. /* [in] */ UINT nMode) = 0;
  518. virtual HRESULT STDMETHODCALLTYPE GetSelectedItemName(
  519. /* [out][in] */ LPWSTR pszName,
  520. /* [in] */ DWORD cchName) = 0;
  521. virtual HRESULT STDMETHODCALLTYPE BindToSelectedItemParent(
  522. /* [in] */ REFIID riid,
  523. /* [out] */ void **ppv,
  524. /* [out] */ LPITEMIDLIST *ppidl) = 0;
  525. virtual BOOL STDMETHODCALLTYPE InLabelEdit( void) = 0;
  526. };
  527. #else /* C style interface */
  528. typedef struct INSCTreeVtbl
  529. {
  530. BEGIN_INTERFACE
  531. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  532. INSCTree * This,
  533. /* [in] */ REFIID riid,
  534. /* [iid_is][out] */ void **ppvObject);
  535. ULONG ( STDMETHODCALLTYPE *AddRef )(
  536. INSCTree * This);
  537. ULONG ( STDMETHODCALLTYPE *Release )(
  538. INSCTree * This);
  539. HRESULT ( STDMETHODCALLTYPE *CreateTree )(
  540. INSCTree * This,
  541. /* [in] */ HWND hwndParent,
  542. /* [in] */ DWORD dwStyles,
  543. /* [out] */ HWND *phwnd);
  544. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  545. INSCTree * This,
  546. /* [in] */ LPCITEMIDLIST pidlRoot,
  547. /* [in] */ DWORD grfFlags,
  548. /* [in] */ DWORD dwFlags);
  549. HRESULT ( STDMETHODCALLTYPE *ShowWindow )(
  550. INSCTree * This,
  551. /* [in] */ BOOL fShow);
  552. HRESULT ( STDMETHODCALLTYPE *Refresh )(
  553. INSCTree * This);
  554. HRESULT ( STDMETHODCALLTYPE *GetSelectedItem )(
  555. INSCTree * This,
  556. /* [out] */ LPITEMIDLIST *ppidl,
  557. /* [in] */ int nItem);
  558. HRESULT ( STDMETHODCALLTYPE *SetSelectedItem )(
  559. INSCTree * This,
  560. /* [in] */ LPCITEMIDLIST pidl,
  561. /* [in] */ BOOL fCreate,
  562. /* [in] */ BOOL fReinsert,
  563. /* [in] */ int nItem);
  564. HRESULT ( STDMETHODCALLTYPE *GetNscMode )(
  565. INSCTree * This,
  566. /* [out] */ UINT *pnMode);
  567. HRESULT ( STDMETHODCALLTYPE *SetNscMode )(
  568. INSCTree * This,
  569. /* [in] */ UINT nMode);
  570. HRESULT ( STDMETHODCALLTYPE *GetSelectedItemName )(
  571. INSCTree * This,
  572. /* [out][in] */ LPWSTR pszName,
  573. /* [in] */ DWORD cchName);
  574. HRESULT ( STDMETHODCALLTYPE *BindToSelectedItemParent )(
  575. INSCTree * This,
  576. /* [in] */ REFIID riid,
  577. /* [out] */ void **ppv,
  578. /* [out] */ LPITEMIDLIST *ppidl);
  579. BOOL ( STDMETHODCALLTYPE *InLabelEdit )(
  580. INSCTree * This);
  581. END_INTERFACE
  582. } INSCTreeVtbl;
  583. interface INSCTree
  584. {
  585. CONST_VTBL struct INSCTreeVtbl *lpVtbl;
  586. };
  587. #ifdef COBJMACROS
  588. #define INSCTree_QueryInterface(This,riid,ppvObject) \
  589. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  590. #define INSCTree_AddRef(This) \
  591. (This)->lpVtbl -> AddRef(This)
  592. #define INSCTree_Release(This) \
  593. (This)->lpVtbl -> Release(This)
  594. #define INSCTree_CreateTree(This,hwndParent,dwStyles,phwnd) \
  595. (This)->lpVtbl -> CreateTree(This,hwndParent,dwStyles,phwnd)
  596. #define INSCTree_Initialize(This,pidlRoot,grfFlags,dwFlags) \
  597. (This)->lpVtbl -> Initialize(This,pidlRoot,grfFlags,dwFlags)
  598. #define INSCTree_ShowWindow(This,fShow) \
  599. (This)->lpVtbl -> ShowWindow(This,fShow)
  600. #define INSCTree_Refresh(This) \
  601. (This)->lpVtbl -> Refresh(This)
  602. #define INSCTree_GetSelectedItem(This,ppidl,nItem) \
  603. (This)->lpVtbl -> GetSelectedItem(This,ppidl,nItem)
  604. #define INSCTree_SetSelectedItem(This,pidl,fCreate,fReinsert,nItem) \
  605. (This)->lpVtbl -> SetSelectedItem(This,pidl,fCreate,fReinsert,nItem)
  606. #define INSCTree_GetNscMode(This,pnMode) \
  607. (This)->lpVtbl -> GetNscMode(This,pnMode)
  608. #define INSCTree_SetNscMode(This,nMode) \
  609. (This)->lpVtbl -> SetNscMode(This,nMode)
  610. #define INSCTree_GetSelectedItemName(This,pszName,cchName) \
  611. (This)->lpVtbl -> GetSelectedItemName(This,pszName,cchName)
  612. #define INSCTree_BindToSelectedItemParent(This,riid,ppv,ppidl) \
  613. (This)->lpVtbl -> BindToSelectedItemParent(This,riid,ppv,ppidl)
  614. #define INSCTree_InLabelEdit(This) \
  615. (This)->lpVtbl -> InLabelEdit(This)
  616. #endif /* COBJMACROS */
  617. #endif /* C style interface */
  618. HRESULT STDMETHODCALLTYPE INSCTree_CreateTree_Proxy(
  619. INSCTree * This,
  620. /* [in] */ HWND hwndParent,
  621. /* [in] */ DWORD dwStyles,
  622. /* [out] */ HWND *phwnd);
  623. void __RPC_STUB INSCTree_CreateTree_Stub(
  624. IRpcStubBuffer *This,
  625. IRpcChannelBuffer *_pRpcChannelBuffer,
  626. PRPC_MESSAGE _pRpcMessage,
  627. DWORD *_pdwStubPhase);
  628. HRESULT STDMETHODCALLTYPE INSCTree_Initialize_Proxy(
  629. INSCTree * This,
  630. /* [in] */ LPCITEMIDLIST pidlRoot,
  631. /* [in] */ DWORD grfFlags,
  632. /* [in] */ DWORD dwFlags);
  633. void __RPC_STUB INSCTree_Initialize_Stub(
  634. IRpcStubBuffer *This,
  635. IRpcChannelBuffer *_pRpcChannelBuffer,
  636. PRPC_MESSAGE _pRpcMessage,
  637. DWORD *_pdwStubPhase);
  638. HRESULT STDMETHODCALLTYPE INSCTree_ShowWindow_Proxy(
  639. INSCTree * This,
  640. /* [in] */ BOOL fShow);
  641. void __RPC_STUB INSCTree_ShowWindow_Stub(
  642. IRpcStubBuffer *This,
  643. IRpcChannelBuffer *_pRpcChannelBuffer,
  644. PRPC_MESSAGE _pRpcMessage,
  645. DWORD *_pdwStubPhase);
  646. HRESULT STDMETHODCALLTYPE INSCTree_Refresh_Proxy(
  647. INSCTree * This);
  648. void __RPC_STUB INSCTree_Refresh_Stub(
  649. IRpcStubBuffer *This,
  650. IRpcChannelBuffer *_pRpcChannelBuffer,
  651. PRPC_MESSAGE _pRpcMessage,
  652. DWORD *_pdwStubPhase);
  653. HRESULT STDMETHODCALLTYPE INSCTree_GetSelectedItem_Proxy(
  654. INSCTree * This,
  655. /* [out] */ LPITEMIDLIST *ppidl,
  656. /* [in] */ int nItem);
  657. void __RPC_STUB INSCTree_GetSelectedItem_Stub(
  658. IRpcStubBuffer *This,
  659. IRpcChannelBuffer *_pRpcChannelBuffer,
  660. PRPC_MESSAGE _pRpcMessage,
  661. DWORD *_pdwStubPhase);
  662. HRESULT STDMETHODCALLTYPE INSCTree_SetSelectedItem_Proxy(
  663. INSCTree * This,
  664. /* [in] */ LPCITEMIDLIST pidl,
  665. /* [in] */ BOOL fCreate,
  666. /* [in] */ BOOL fReinsert,
  667. /* [in] */ int nItem);
  668. void __RPC_STUB INSCTree_SetSelectedItem_Stub(
  669. IRpcStubBuffer *This,
  670. IRpcChannelBuffer *_pRpcChannelBuffer,
  671. PRPC_MESSAGE _pRpcMessage,
  672. DWORD *_pdwStubPhase);
  673. HRESULT STDMETHODCALLTYPE INSCTree_GetNscMode_Proxy(
  674. INSCTree * This,
  675. /* [out] */ UINT *pnMode);
  676. void __RPC_STUB INSCTree_GetNscMode_Stub(
  677. IRpcStubBuffer *This,
  678. IRpcChannelBuffer *_pRpcChannelBuffer,
  679. PRPC_MESSAGE _pRpcMessage,
  680. DWORD *_pdwStubPhase);
  681. HRESULT STDMETHODCALLTYPE INSCTree_SetNscMode_Proxy(
  682. INSCTree * This,
  683. /* [in] */ UINT nMode);
  684. void __RPC_STUB INSCTree_SetNscMode_Stub(
  685. IRpcStubBuffer *This,
  686. IRpcChannelBuffer *_pRpcChannelBuffer,
  687. PRPC_MESSAGE _pRpcMessage,
  688. DWORD *_pdwStubPhase);
  689. HRESULT STDMETHODCALLTYPE INSCTree_GetSelectedItemName_Proxy(
  690. INSCTree * This,
  691. /* [out][in] */ LPWSTR pszName,
  692. /* [in] */ DWORD cchName);
  693. void __RPC_STUB INSCTree_GetSelectedItemName_Stub(
  694. IRpcStubBuffer *This,
  695. IRpcChannelBuffer *_pRpcChannelBuffer,
  696. PRPC_MESSAGE _pRpcMessage,
  697. DWORD *_pdwStubPhase);
  698. HRESULT STDMETHODCALLTYPE INSCTree_BindToSelectedItemParent_Proxy(
  699. INSCTree * This,
  700. /* [in] */ REFIID riid,
  701. /* [out] */ void **ppv,
  702. /* [out] */ LPITEMIDLIST *ppidl);
  703. void __RPC_STUB INSCTree_BindToSelectedItemParent_Stub(
  704. IRpcStubBuffer *This,
  705. IRpcChannelBuffer *_pRpcChannelBuffer,
  706. PRPC_MESSAGE _pRpcMessage,
  707. DWORD *_pdwStubPhase);
  708. BOOL STDMETHODCALLTYPE INSCTree_InLabelEdit_Proxy(
  709. INSCTree * This);
  710. void __RPC_STUB INSCTree_InLabelEdit_Stub(
  711. IRpcStubBuffer *This,
  712. IRpcChannelBuffer *_pRpcChannelBuffer,
  713. PRPC_MESSAGE _pRpcMessage,
  714. DWORD *_pdwStubPhase);
  715. #endif /* __INSCTree_INTERFACE_DEFINED__ */
  716. #ifndef __INSCTree2_INTERFACE_DEFINED__
  717. #define __INSCTree2_INTERFACE_DEFINED__
  718. /* interface INSCTree2 */
  719. /* [object][local][uuid] */
  720. EXTERN_C const IID IID_INSCTree2;
  721. #if defined(__cplusplus) && !defined(CINTERFACE)
  722. MIDL_INTERFACE("801C1AD5-C47C-428c-97AF-E991E4857D97")
  723. INSCTree2 : public INSCTree
  724. {
  725. public:
  726. virtual HRESULT STDMETHODCALLTYPE RightPaneNavigationStarted(
  727. /* [in] */ LPITEMIDLIST pidl) = 0;
  728. virtual HRESULT STDMETHODCALLTYPE RightPaneNavigationFinished(
  729. /* [in] */ LPITEMIDLIST pidl) = 0;
  730. virtual HRESULT STDMETHODCALLTYPE CreateTree2(
  731. /* [in] */ HWND hwndParent,
  732. /* [in] */ DWORD dwStyle,
  733. /* [in] */ DWORD dwExStyle,
  734. /* [out] */ HWND *phwnd) = 0;
  735. };
  736. #else /* C style interface */
  737. typedef struct INSCTree2Vtbl
  738. {
  739. BEGIN_INTERFACE
  740. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  741. INSCTree2 * This,
  742. /* [in] */ REFIID riid,
  743. /* [iid_is][out] */ void **ppvObject);
  744. ULONG ( STDMETHODCALLTYPE *AddRef )(
  745. INSCTree2 * This);
  746. ULONG ( STDMETHODCALLTYPE *Release )(
  747. INSCTree2 * This);
  748. HRESULT ( STDMETHODCALLTYPE *CreateTree )(
  749. INSCTree2 * This,
  750. /* [in] */ HWND hwndParent,
  751. /* [in] */ DWORD dwStyles,
  752. /* [out] */ HWND *phwnd);
  753. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  754. INSCTree2 * This,
  755. /* [in] */ LPCITEMIDLIST pidlRoot,
  756. /* [in] */ DWORD grfFlags,
  757. /* [in] */ DWORD dwFlags);
  758. HRESULT ( STDMETHODCALLTYPE *ShowWindow )(
  759. INSCTree2 * This,
  760. /* [in] */ BOOL fShow);
  761. HRESULT ( STDMETHODCALLTYPE *Refresh )(
  762. INSCTree2 * This);
  763. HRESULT ( STDMETHODCALLTYPE *GetSelectedItem )(
  764. INSCTree2 * This,
  765. /* [out] */ LPITEMIDLIST *ppidl,
  766. /* [in] */ int nItem);
  767. HRESULT ( STDMETHODCALLTYPE *SetSelectedItem )(
  768. INSCTree2 * This,
  769. /* [in] */ LPCITEMIDLIST pidl,
  770. /* [in] */ BOOL fCreate,
  771. /* [in] */ BOOL fReinsert,
  772. /* [in] */ int nItem);
  773. HRESULT ( STDMETHODCALLTYPE *GetNscMode )(
  774. INSCTree2 * This,
  775. /* [out] */ UINT *pnMode);
  776. HRESULT ( STDMETHODCALLTYPE *SetNscMode )(
  777. INSCTree2 * This,
  778. /* [in] */ UINT nMode);
  779. HRESULT ( STDMETHODCALLTYPE *GetSelectedItemName )(
  780. INSCTree2 * This,
  781. /* [out][in] */ LPWSTR pszName,
  782. /* [in] */ DWORD cchName);
  783. HRESULT ( STDMETHODCALLTYPE *BindToSelectedItemParent )(
  784. INSCTree2 * This,
  785. /* [in] */ REFIID riid,
  786. /* [out] */ void **ppv,
  787. /* [out] */ LPITEMIDLIST *ppidl);
  788. BOOL ( STDMETHODCALLTYPE *InLabelEdit )(
  789. INSCTree2 * This);
  790. HRESULT ( STDMETHODCALLTYPE *RightPaneNavigationStarted )(
  791. INSCTree2 * This,
  792. /* [in] */ LPITEMIDLIST pidl);
  793. HRESULT ( STDMETHODCALLTYPE *RightPaneNavigationFinished )(
  794. INSCTree2 * This,
  795. /* [in] */ LPITEMIDLIST pidl);
  796. HRESULT ( STDMETHODCALLTYPE *CreateTree2 )(
  797. INSCTree2 * This,
  798. /* [in] */ HWND hwndParent,
  799. /* [in] */ DWORD dwStyle,
  800. /* [in] */ DWORD dwExStyle,
  801. /* [out] */ HWND *phwnd);
  802. END_INTERFACE
  803. } INSCTree2Vtbl;
  804. interface INSCTree2
  805. {
  806. CONST_VTBL struct INSCTree2Vtbl *lpVtbl;
  807. };
  808. #ifdef COBJMACROS
  809. #define INSCTree2_QueryInterface(This,riid,ppvObject) \
  810. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  811. #define INSCTree2_AddRef(This) \
  812. (This)->lpVtbl -> AddRef(This)
  813. #define INSCTree2_Release(This) \
  814. (This)->lpVtbl -> Release(This)
  815. #define INSCTree2_CreateTree(This,hwndParent,dwStyles,phwnd) \
  816. (This)->lpVtbl -> CreateTree(This,hwndParent,dwStyles,phwnd)
  817. #define INSCTree2_Initialize(This,pidlRoot,grfFlags,dwFlags) \
  818. (This)->lpVtbl -> Initialize(This,pidlRoot,grfFlags,dwFlags)
  819. #define INSCTree2_ShowWindow(This,fShow) \
  820. (This)->lpVtbl -> ShowWindow(This,fShow)
  821. #define INSCTree2_Refresh(This) \
  822. (This)->lpVtbl -> Refresh(This)
  823. #define INSCTree2_GetSelectedItem(This,ppidl,nItem) \
  824. (This)->lpVtbl -> GetSelectedItem(This,ppidl,nItem)
  825. #define INSCTree2_SetSelectedItem(This,pidl,fCreate,fReinsert,nItem) \
  826. (This)->lpVtbl -> SetSelectedItem(This,pidl,fCreate,fReinsert,nItem)
  827. #define INSCTree2_GetNscMode(This,pnMode) \
  828. (This)->lpVtbl -> GetNscMode(This,pnMode)
  829. #define INSCTree2_SetNscMode(This,nMode) \
  830. (This)->lpVtbl -> SetNscMode(This,nMode)
  831. #define INSCTree2_GetSelectedItemName(This,pszName,cchName) \
  832. (This)->lpVtbl -> GetSelectedItemName(This,pszName,cchName)
  833. #define INSCTree2_BindToSelectedItemParent(This,riid,ppv,ppidl) \
  834. (This)->lpVtbl -> BindToSelectedItemParent(This,riid,ppv,ppidl)
  835. #define INSCTree2_InLabelEdit(This) \
  836. (This)->lpVtbl -> InLabelEdit(This)
  837. #define INSCTree2_RightPaneNavigationStarted(This,pidl) \
  838. (This)->lpVtbl -> RightPaneNavigationStarted(This,pidl)
  839. #define INSCTree2_RightPaneNavigationFinished(This,pidl) \
  840. (This)->lpVtbl -> RightPaneNavigationFinished(This,pidl)
  841. #define INSCTree2_CreateTree2(This,hwndParent,dwStyle,dwExStyle,phwnd) \
  842. (This)->lpVtbl -> CreateTree2(This,hwndParent,dwStyle,dwExStyle,phwnd)
  843. #endif /* COBJMACROS */
  844. #endif /* C style interface */
  845. HRESULT STDMETHODCALLTYPE INSCTree2_RightPaneNavigationStarted_Proxy(
  846. INSCTree2 * This,
  847. /* [in] */ LPITEMIDLIST pidl);
  848. void __RPC_STUB INSCTree2_RightPaneNavigationStarted_Stub(
  849. IRpcStubBuffer *This,
  850. IRpcChannelBuffer *_pRpcChannelBuffer,
  851. PRPC_MESSAGE _pRpcMessage,
  852. DWORD *_pdwStubPhase);
  853. HRESULT STDMETHODCALLTYPE INSCTree2_RightPaneNavigationFinished_Proxy(
  854. INSCTree2 * This,
  855. /* [in] */ LPITEMIDLIST pidl);
  856. void __RPC_STUB INSCTree2_RightPaneNavigationFinished_Stub(
  857. IRpcStubBuffer *This,
  858. IRpcChannelBuffer *_pRpcChannelBuffer,
  859. PRPC_MESSAGE _pRpcMessage,
  860. DWORD *_pdwStubPhase);
  861. HRESULT STDMETHODCALLTYPE INSCTree2_CreateTree2_Proxy(
  862. INSCTree2 * This,
  863. /* [in] */ HWND hwndParent,
  864. /* [in] */ DWORD dwStyle,
  865. /* [in] */ DWORD dwExStyle,
  866. /* [out] */ HWND *phwnd);
  867. void __RPC_STUB INSCTree2_CreateTree2_Stub(
  868. IRpcStubBuffer *This,
  869. IRpcChannelBuffer *_pRpcChannelBuffer,
  870. PRPC_MESSAGE _pRpcMessage,
  871. DWORD *_pdwStubPhase);
  872. #endif /* __INSCTree2_INTERFACE_DEFINED__ */
  873. #ifndef __INotifyAppStart_INTERFACE_DEFINED__
  874. #define __INotifyAppStart_INTERFACE_DEFINED__
  875. /* interface INotifyAppStart */
  876. /* [object][helpstring][uuid] */
  877. EXTERN_C const IID IID_INotifyAppStart;
  878. #if defined(__cplusplus) && !defined(CINTERFACE)
  879. MIDL_INTERFACE("3a77ce00-6f74-4594-9399-c4578aa4a1b6")
  880. INotifyAppStart : public IUnknown
  881. {
  882. public:
  883. virtual HRESULT STDMETHODCALLTYPE AppStarting( void) = 0;
  884. virtual HRESULT STDMETHODCALLTYPE AppStarted( void) = 0;
  885. };
  886. #else /* C style interface */
  887. typedef struct INotifyAppStartVtbl
  888. {
  889. BEGIN_INTERFACE
  890. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  891. INotifyAppStart * This,
  892. /* [in] */ REFIID riid,
  893. /* [iid_is][out] */ void **ppvObject);
  894. ULONG ( STDMETHODCALLTYPE *AddRef )(
  895. INotifyAppStart * This);
  896. ULONG ( STDMETHODCALLTYPE *Release )(
  897. INotifyAppStart * This);
  898. HRESULT ( STDMETHODCALLTYPE *AppStarting )(
  899. INotifyAppStart * This);
  900. HRESULT ( STDMETHODCALLTYPE *AppStarted )(
  901. INotifyAppStart * This);
  902. END_INTERFACE
  903. } INotifyAppStartVtbl;
  904. interface INotifyAppStart
  905. {
  906. CONST_VTBL struct INotifyAppStartVtbl *lpVtbl;
  907. };
  908. #ifdef COBJMACROS
  909. #define INotifyAppStart_QueryInterface(This,riid,ppvObject) \
  910. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  911. #define INotifyAppStart_AddRef(This) \
  912. (This)->lpVtbl -> AddRef(This)
  913. #define INotifyAppStart_Release(This) \
  914. (This)->lpVtbl -> Release(This)
  915. #define INotifyAppStart_AppStarting(This) \
  916. (This)->lpVtbl -> AppStarting(This)
  917. #define INotifyAppStart_AppStarted(This) \
  918. (This)->lpVtbl -> AppStarted(This)
  919. #endif /* COBJMACROS */
  920. #endif /* C style interface */
  921. HRESULT STDMETHODCALLTYPE INotifyAppStart_AppStarting_Proxy(
  922. INotifyAppStart * This);
  923. void __RPC_STUB INotifyAppStart_AppStarting_Stub(
  924. IRpcStubBuffer *This,
  925. IRpcChannelBuffer *_pRpcChannelBuffer,
  926. PRPC_MESSAGE _pRpcMessage,
  927. DWORD *_pdwStubPhase);
  928. HRESULT STDMETHODCALLTYPE INotifyAppStart_AppStarted_Proxy(
  929. INotifyAppStart * This);
  930. void __RPC_STUB INotifyAppStart_AppStarted_Stub(
  931. IRpcStubBuffer *This,
  932. IRpcChannelBuffer *_pRpcChannelBuffer,
  933. PRPC_MESSAGE _pRpcMessage,
  934. DWORD *_pdwStubPhase);
  935. #endif /* __INotifyAppStart_INTERFACE_DEFINED__ */
  936. #ifndef __IInitViewLinkedWebOC_INTERFACE_DEFINED__
  937. #define __IInitViewLinkedWebOC_INTERFACE_DEFINED__
  938. /* interface IInitViewLinkedWebOC */
  939. /* [object][local][uuid] */
  940. EXTERN_C const IID IID_IInitViewLinkedWebOC;
  941. #if defined(__cplusplus) && !defined(CINTERFACE)
  942. MIDL_INTERFACE("e787f2c0-3d21-4d98-85c8-a038195ba649")
  943. IInitViewLinkedWebOC : public IUnknown
  944. {
  945. public:
  946. virtual HRESULT STDMETHODCALLTYPE SetViewLinkedWebOC(
  947. /* [in] */ BOOL bValue) = 0;
  948. virtual HRESULT STDMETHODCALLTYPE IsViewLinkedWebOC(
  949. /* [out] */ BOOL *pbValue) = 0;
  950. virtual HRESULT STDMETHODCALLTYPE SetViewLinkedWebOCFrame(
  951. /* [in] */ IDispatch *punk) = 0;
  952. virtual HRESULT STDMETHODCALLTYPE GetViewLinkedWebOCFrame(
  953. /* [out] */ IDispatch **punk) = 0;
  954. virtual HRESULT STDMETHODCALLTYPE SetFrameName(
  955. /* [in] */ BSTR bstrFrameName) = 0;
  956. };
  957. #else /* C style interface */
  958. typedef struct IInitViewLinkedWebOCVtbl
  959. {
  960. BEGIN_INTERFACE
  961. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  962. IInitViewLinkedWebOC * This,
  963. /* [in] */ REFIID riid,
  964. /* [iid_is][out] */ void **ppvObject);
  965. ULONG ( STDMETHODCALLTYPE *AddRef )(
  966. IInitViewLinkedWebOC * This);
  967. ULONG ( STDMETHODCALLTYPE *Release )(
  968. IInitViewLinkedWebOC * This);
  969. HRESULT ( STDMETHODCALLTYPE *SetViewLinkedWebOC )(
  970. IInitViewLinkedWebOC * This,
  971. /* [in] */ BOOL bValue);
  972. HRESULT ( STDMETHODCALLTYPE *IsViewLinkedWebOC )(
  973. IInitViewLinkedWebOC * This,
  974. /* [out] */ BOOL *pbValue);
  975. HRESULT ( STDMETHODCALLTYPE *SetViewLinkedWebOCFrame )(
  976. IInitViewLinkedWebOC * This,
  977. /* [in] */ IDispatch *punk);
  978. HRESULT ( STDMETHODCALLTYPE *GetViewLinkedWebOCFrame )(
  979. IInitViewLinkedWebOC * This,
  980. /* [out] */ IDispatch **punk);
  981. HRESULT ( STDMETHODCALLTYPE *SetFrameName )(
  982. IInitViewLinkedWebOC * This,
  983. /* [in] */ BSTR bstrFrameName);
  984. END_INTERFACE
  985. } IInitViewLinkedWebOCVtbl;
  986. interface IInitViewLinkedWebOC
  987. {
  988. CONST_VTBL struct IInitViewLinkedWebOCVtbl *lpVtbl;
  989. };
  990. #ifdef COBJMACROS
  991. #define IInitViewLinkedWebOC_QueryInterface(This,riid,ppvObject) \
  992. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  993. #define IInitViewLinkedWebOC_AddRef(This) \
  994. (This)->lpVtbl -> AddRef(This)
  995. #define IInitViewLinkedWebOC_Release(This) \
  996. (This)->lpVtbl -> Release(This)
  997. #define IInitViewLinkedWebOC_SetViewLinkedWebOC(This,bValue) \
  998. (This)->lpVtbl -> SetViewLinkedWebOC(This,bValue)
  999. #define IInitViewLinkedWebOC_IsViewLinkedWebOC(This,pbValue) \
  1000. (This)->lpVtbl -> IsViewLinkedWebOC(This,pbValue)
  1001. #define IInitViewLinkedWebOC_SetViewLinkedWebOCFrame(This,punk) \
  1002. (This)->lpVtbl -> SetViewLinkedWebOCFrame(This,punk)
  1003. #define IInitViewLinkedWebOC_GetViewLinkedWebOCFrame(This,punk) \
  1004. (This)->lpVtbl -> GetViewLinkedWebOCFrame(This,punk)
  1005. #define IInitViewLinkedWebOC_SetFrameName(This,bstrFrameName) \
  1006. (This)->lpVtbl -> SetFrameName(This,bstrFrameName)
  1007. #endif /* COBJMACROS */
  1008. #endif /* C style interface */
  1009. HRESULT STDMETHODCALLTYPE IInitViewLinkedWebOC_SetViewLinkedWebOC_Proxy(
  1010. IInitViewLinkedWebOC * This,
  1011. /* [in] */ BOOL bValue);
  1012. void __RPC_STUB IInitViewLinkedWebOC_SetViewLinkedWebOC_Stub(
  1013. IRpcStubBuffer *This,
  1014. IRpcChannelBuffer *_pRpcChannelBuffer,
  1015. PRPC_MESSAGE _pRpcMessage,
  1016. DWORD *_pdwStubPhase);
  1017. HRESULT STDMETHODCALLTYPE IInitViewLinkedWebOC_IsViewLinkedWebOC_Proxy(
  1018. IInitViewLinkedWebOC * This,
  1019. /* [out] */ BOOL *pbValue);
  1020. void __RPC_STUB IInitViewLinkedWebOC_IsViewLinkedWebOC_Stub(
  1021. IRpcStubBuffer *This,
  1022. IRpcChannelBuffer *_pRpcChannelBuffer,
  1023. PRPC_MESSAGE _pRpcMessage,
  1024. DWORD *_pdwStubPhase);
  1025. HRESULT STDMETHODCALLTYPE IInitViewLinkedWebOC_SetViewLinkedWebOCFrame_Proxy(
  1026. IInitViewLinkedWebOC * This,
  1027. /* [in] */ IDispatch *punk);
  1028. void __RPC_STUB IInitViewLinkedWebOC_SetViewLinkedWebOCFrame_Stub(
  1029. IRpcStubBuffer *This,
  1030. IRpcChannelBuffer *_pRpcChannelBuffer,
  1031. PRPC_MESSAGE _pRpcMessage,
  1032. DWORD *_pdwStubPhase);
  1033. HRESULT STDMETHODCALLTYPE IInitViewLinkedWebOC_GetViewLinkedWebOCFrame_Proxy(
  1034. IInitViewLinkedWebOC * This,
  1035. /* [out] */ IDispatch **punk);
  1036. void __RPC_STUB IInitViewLinkedWebOC_GetViewLinkedWebOCFrame_Stub(
  1037. IRpcStubBuffer *This,
  1038. IRpcChannelBuffer *_pRpcChannelBuffer,
  1039. PRPC_MESSAGE _pRpcMessage,
  1040. DWORD *_pdwStubPhase);
  1041. HRESULT STDMETHODCALLTYPE IInitViewLinkedWebOC_SetFrameName_Proxy(
  1042. IInitViewLinkedWebOC * This,
  1043. /* [in] */ BSTR bstrFrameName);
  1044. void __RPC_STUB IInitViewLinkedWebOC_SetFrameName_Stub(
  1045. IRpcStubBuffer *This,
  1046. IRpcChannelBuffer *_pRpcChannelBuffer,
  1047. PRPC_MESSAGE _pRpcMessage,
  1048. DWORD *_pdwStubPhase);
  1049. #endif /* __IInitViewLinkedWebOC_INTERFACE_DEFINED__ */
  1050. #ifndef __INamespaceProxy_INTERFACE_DEFINED__
  1051. #define __INamespaceProxy_INTERFACE_DEFINED__
  1052. /* interface INamespaceProxy */
  1053. /* [local][object][uuid][helpstring] */
  1054. EXTERN_C const IID IID_INamespaceProxy;
  1055. #if defined(__cplusplus) && !defined(CINTERFACE)
  1056. MIDL_INTERFACE("CF1609EC-FA4B-4818-AB01-55643367E66D")
  1057. INamespaceProxy : public IUnknown
  1058. {
  1059. public:
  1060. virtual HRESULT STDMETHODCALLTYPE GetNavigateTarget(
  1061. LPCITEMIDLIST pidl,
  1062. LPITEMIDLIST *ppidlTarget,
  1063. ULONG *pulAttrib) = 0;
  1064. virtual HRESULT STDMETHODCALLTYPE Invoke(
  1065. LPCITEMIDLIST pidl) = 0;
  1066. virtual HRESULT STDMETHODCALLTYPE OnSelectionChanged(
  1067. LPCITEMIDLIST pidl) = 0;
  1068. virtual HRESULT STDMETHODCALLTYPE RefreshFlags(
  1069. DWORD *pdwStyle,
  1070. DWORD *pdwExStyle,
  1071. DWORD *dwEnum) = 0;
  1072. virtual HRESULT STDMETHODCALLTYPE CacheItem(
  1073. LPCITEMIDLIST pidl) = 0;
  1074. };
  1075. #else /* C style interface */
  1076. typedef struct INamespaceProxyVtbl
  1077. {
  1078. BEGIN_INTERFACE
  1079. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1080. INamespaceProxy * This,
  1081. /* [in] */ REFIID riid,
  1082. /* [iid_is][out] */ void **ppvObject);
  1083. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1084. INamespaceProxy * This);
  1085. ULONG ( STDMETHODCALLTYPE *Release )(
  1086. INamespaceProxy * This);
  1087. HRESULT ( STDMETHODCALLTYPE *GetNavigateTarget )(
  1088. INamespaceProxy * This,
  1089. LPCITEMIDLIST pidl,
  1090. LPITEMIDLIST *ppidlTarget,
  1091. ULONG *pulAttrib);
  1092. HRESULT ( STDMETHODCALLTYPE *Invoke )(
  1093. INamespaceProxy * This,
  1094. LPCITEMIDLIST pidl);
  1095. HRESULT ( STDMETHODCALLTYPE *OnSelectionChanged )(
  1096. INamespaceProxy * This,
  1097. LPCITEMIDLIST pidl);
  1098. HRESULT ( STDMETHODCALLTYPE *RefreshFlags )(
  1099. INamespaceProxy * This,
  1100. DWORD *pdwStyle,
  1101. DWORD *pdwExStyle,
  1102. DWORD *dwEnum);
  1103. HRESULT ( STDMETHODCALLTYPE *CacheItem )(
  1104. INamespaceProxy * This,
  1105. LPCITEMIDLIST pidl);
  1106. END_INTERFACE
  1107. } INamespaceProxyVtbl;
  1108. interface INamespaceProxy
  1109. {
  1110. CONST_VTBL struct INamespaceProxyVtbl *lpVtbl;
  1111. };
  1112. #ifdef COBJMACROS
  1113. #define INamespaceProxy_QueryInterface(This,riid,ppvObject) \
  1114. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1115. #define INamespaceProxy_AddRef(This) \
  1116. (This)->lpVtbl -> AddRef(This)
  1117. #define INamespaceProxy_Release(This) \
  1118. (This)->lpVtbl -> Release(This)
  1119. #define INamespaceProxy_GetNavigateTarget(This,pidl,ppidlTarget,pulAttrib) \
  1120. (This)->lpVtbl -> GetNavigateTarget(This,pidl,ppidlTarget,pulAttrib)
  1121. #define INamespaceProxy_Invoke(This,pidl) \
  1122. (This)->lpVtbl -> Invoke(This,pidl)
  1123. #define INamespaceProxy_OnSelectionChanged(This,pidl) \
  1124. (This)->lpVtbl -> OnSelectionChanged(This,pidl)
  1125. #define INamespaceProxy_RefreshFlags(This,pdwStyle,pdwExStyle,dwEnum) \
  1126. (This)->lpVtbl -> RefreshFlags(This,pdwStyle,pdwExStyle,dwEnum)
  1127. #define INamespaceProxy_CacheItem(This,pidl) \
  1128. (This)->lpVtbl -> CacheItem(This,pidl)
  1129. #endif /* COBJMACROS */
  1130. #endif /* C style interface */
  1131. HRESULT STDMETHODCALLTYPE INamespaceProxy_GetNavigateTarget_Proxy(
  1132. INamespaceProxy * This,
  1133. LPCITEMIDLIST pidl,
  1134. LPITEMIDLIST *ppidlTarget,
  1135. ULONG *pulAttrib);
  1136. void __RPC_STUB INamespaceProxy_GetNavigateTarget_Stub(
  1137. IRpcStubBuffer *This,
  1138. IRpcChannelBuffer *_pRpcChannelBuffer,
  1139. PRPC_MESSAGE _pRpcMessage,
  1140. DWORD *_pdwStubPhase);
  1141. HRESULT STDMETHODCALLTYPE INamespaceProxy_Invoke_Proxy(
  1142. INamespaceProxy * This,
  1143. LPCITEMIDLIST pidl);
  1144. void __RPC_STUB INamespaceProxy_Invoke_Stub(
  1145. IRpcStubBuffer *This,
  1146. IRpcChannelBuffer *_pRpcChannelBuffer,
  1147. PRPC_MESSAGE _pRpcMessage,
  1148. DWORD *_pdwStubPhase);
  1149. HRESULT STDMETHODCALLTYPE INamespaceProxy_OnSelectionChanged_Proxy(
  1150. INamespaceProxy * This,
  1151. LPCITEMIDLIST pidl);
  1152. void __RPC_STUB INamespaceProxy_OnSelectionChanged_Stub(
  1153. IRpcStubBuffer *This,
  1154. IRpcChannelBuffer *_pRpcChannelBuffer,
  1155. PRPC_MESSAGE _pRpcMessage,
  1156. DWORD *_pdwStubPhase);
  1157. HRESULT STDMETHODCALLTYPE INamespaceProxy_RefreshFlags_Proxy(
  1158. INamespaceProxy * This,
  1159. DWORD *pdwStyle,
  1160. DWORD *pdwExStyle,
  1161. DWORD *dwEnum);
  1162. void __RPC_STUB INamespaceProxy_RefreshFlags_Stub(
  1163. IRpcStubBuffer *This,
  1164. IRpcChannelBuffer *_pRpcChannelBuffer,
  1165. PRPC_MESSAGE _pRpcMessage,
  1166. DWORD *_pdwStubPhase);
  1167. HRESULT STDMETHODCALLTYPE INamespaceProxy_CacheItem_Proxy(
  1168. INamespaceProxy * This,
  1169. LPCITEMIDLIST pidl);
  1170. void __RPC_STUB INamespaceProxy_CacheItem_Stub(
  1171. IRpcStubBuffer *This,
  1172. IRpcChannelBuffer *_pRpcChannelBuffer,
  1173. PRPC_MESSAGE _pRpcMessage,
  1174. DWORD *_pdwStubPhase);
  1175. #endif /* __INamespaceProxy_INTERFACE_DEFINED__ */
  1176. /* interface __MIDL_itf_iepriv_0268 */
  1177. /* [local] */
  1178. // INTERFACE: IBrowserFrameOptions
  1179. //
  1180. // This interface was implemented so a browser or host can ask a ShellView/ShelNameSpace what
  1181. // kind of 'Behavior' is appropriate for that view. These are normally PM type decisions to
  1182. // refine the user experience.
  1183. //
  1184. // For example, should the IE globe be added to the toolbar
  1185. // when the view is a HTTP web page? (Yes) When the view is a FTP Folders? When the view
  1186. // is the file system? (No) When the view is Web Folders? (Maybe, did you as a PM?)
  1187. // It's very important for the view to ask the NSE if it does or doesn't want the behavior instead of
  1188. // trying to sniff the pidl and guess. An example of this kind of bad coding style is all the
  1189. // code that calls IsURLChild(). Currently we have a lot of hacky code that says turn such-and-such
  1190. // behavior on for HTTP and FTP URLs but not Web Folders and not ABOUT URLs, so it's very important to
  1191. // use this interface to do the work for you. This will also allow Web Folders to fix a lot of bugs because
  1192. // the code hasn't yet been 'tweaked' to give the behavior Web Folders wants.
  1193. //
  1194. // IBrowserFrameOptions::GetBrowserOptions()
  1195. // dwMask is the logical OR of bits to look for. pdwOptions is not optional and
  1196. // it's return value will always equal or will be a subset of dwMask.
  1197. // If the function succeeds, the return value must be S_OK and pdwOptions needs to be filled in.
  1198. // If the function fails, pdwOptions needs to be filled in with BFO_NONE.
  1199. //
  1200. // NOTE: The definition of the bit needs to be OFF for the most common NSE. This way shell name space
  1201. // extensions that don't implement this interface or haven't been updated to handle this bit will
  1202. // default to behavior that is the most common. An example of this is the BFO_NO_FOLDER_OPTIONS
  1203. // where this bit off will give the 'Folder Options', which is the most common case. This is especially
  1204. // true since this interface is internal only.
  1205. extern RPC_IF_HANDLE __MIDL_itf_iepriv_0268_v0_0_c_ifspec;
  1206. extern RPC_IF_HANDLE __MIDL_itf_iepriv_0268_v0_0_s_ifspec;
  1207. #ifndef __IBrowserFrameOptions_INTERFACE_DEFINED__
  1208. #define __IBrowserFrameOptions_INTERFACE_DEFINED__
  1209. /* interface IBrowserFrameOptions */
  1210. /* [local][object][uuid] */
  1211. typedef /* [unique] */ IBrowserFrameOptions *LPBROWSERFRAMEOPTIONS;
  1212. enum __MIDL_IBrowserFrameOptions_0001
  1213. { BFO_NONE = 0,
  1214. BFO_BROWSER_PERSIST_SETTINGS = 0x1,
  1215. BFO_RENAME_FOLDER_OPTIONS_TOINTERNET = 0x2,
  1216. BFO_BOTH_OPTIONS = 0x4,
  1217. BIF_PREFER_INTERNET_SHORTCUT = 0x8,
  1218. BFO_BROWSE_NO_IN_NEW_PROCESS = 0x10,
  1219. BFO_ENABLE_HYPERLINK_TRACKING = 0x20,
  1220. BFO_USE_IE_OFFLINE_SUPPORT = 0x40,
  1221. BFO_SUBSTITUE_INTERNET_START_PAGE = 0x80,
  1222. BFO_USE_IE_LOGOBANDING = 0x100,
  1223. BFO_ADD_IE_TOCAPTIONBAR = 0x200,
  1224. BFO_USE_DIALUP_REF = 0x400,
  1225. BFO_USE_IE_TOOLBAR = 0x800,
  1226. BFO_NO_PARENT_FOLDER_SUPPORT = 0x1000,
  1227. BFO_NO_REOPEN_NEXT_RESTART = 0x2000,
  1228. BFO_GO_HOME_PAGE = 0x4000,
  1229. BFO_PREFER_IEPROCESS = 0x8000,
  1230. BFO_SHOW_NAVIGATION_CANCELLED = 0x10000,
  1231. BFO_QUERY_ALL = 0xffffffff
  1232. } ;
  1233. typedef DWORD BROWSERFRAMEOPTIONS;
  1234. EXTERN_C const IID IID_IBrowserFrameOptions;
  1235. #if defined(__cplusplus) && !defined(CINTERFACE)
  1236. MIDL_INTERFACE("10DF43C8-1DBE-11d3-8B34-006097DF5BD4")
  1237. IBrowserFrameOptions : public IUnknown
  1238. {
  1239. public:
  1240. virtual HRESULT STDMETHODCALLTYPE GetFrameOptions(
  1241. /* [in] */ BROWSERFRAMEOPTIONS dwMask,
  1242. /* [out] */ BROWSERFRAMEOPTIONS *pdwOptions) = 0;
  1243. };
  1244. #else /* C style interface */
  1245. typedef struct IBrowserFrameOptionsVtbl
  1246. {
  1247. BEGIN_INTERFACE
  1248. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1249. IBrowserFrameOptions * This,
  1250. /* [in] */ REFIID riid,
  1251. /* [iid_is][out] */ void **ppvObject);
  1252. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1253. IBrowserFrameOptions * This);
  1254. ULONG ( STDMETHODCALLTYPE *Release )(
  1255. IBrowserFrameOptions * This);
  1256. HRESULT ( STDMETHODCALLTYPE *GetFrameOptions )(
  1257. IBrowserFrameOptions * This,
  1258. /* [in] */ BROWSERFRAMEOPTIONS dwMask,
  1259. /* [out] */ BROWSERFRAMEOPTIONS *pdwOptions);
  1260. END_INTERFACE
  1261. } IBrowserFrameOptionsVtbl;
  1262. interface IBrowserFrameOptions
  1263. {
  1264. CONST_VTBL struct IBrowserFrameOptionsVtbl *lpVtbl;
  1265. };
  1266. #ifdef COBJMACROS
  1267. #define IBrowserFrameOptions_QueryInterface(This,riid,ppvObject) \
  1268. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1269. #define IBrowserFrameOptions_AddRef(This) \
  1270. (This)->lpVtbl -> AddRef(This)
  1271. #define IBrowserFrameOptions_Release(This) \
  1272. (This)->lpVtbl -> Release(This)
  1273. #define IBrowserFrameOptions_GetFrameOptions(This,dwMask,pdwOptions) \
  1274. (This)->lpVtbl -> GetFrameOptions(This,dwMask,pdwOptions)
  1275. #endif /* COBJMACROS */
  1276. #endif /* C style interface */
  1277. HRESULT STDMETHODCALLTYPE IBrowserFrameOptions_GetFrameOptions_Proxy(
  1278. IBrowserFrameOptions * This,
  1279. /* [in] */ BROWSERFRAMEOPTIONS dwMask,
  1280. /* [out] */ BROWSERFRAMEOPTIONS *pdwOptions);
  1281. void __RPC_STUB IBrowserFrameOptions_GetFrameOptions_Stub(
  1282. IRpcStubBuffer *This,
  1283. IRpcChannelBuffer *_pRpcChannelBuffer,
  1284. PRPC_MESSAGE _pRpcMessage,
  1285. DWORD *_pdwStubPhase);
  1286. #endif /* __IBrowserFrameOptions_INTERFACE_DEFINED__ */
  1287. #ifndef __ISearchCompanionInfo_INTERFACE_DEFINED__
  1288. #define __ISearchCompanionInfo_INTERFACE_DEFINED__
  1289. /* interface ISearchCompanionInfo */
  1290. /* [object][unique][helpstring][uuid] */
  1291. EXTERN_C const IID IID_ISearchCompanionInfo;
  1292. #if defined(__cplusplus) && !defined(CINTERFACE)
  1293. MIDL_INTERFACE("DB5CEF35-BEC6-4762-A1BD-253F5BF67C72")
  1294. ISearchCompanionInfo : public IUnknown
  1295. {
  1296. public:
  1297. virtual HRESULT STDMETHODCALLTYPE IsSearchCompanionInetAvailable(
  1298. /* [out] */ BOOL *pfAvailable) = 0;
  1299. };
  1300. #else /* C style interface */
  1301. typedef struct ISearchCompanionInfoVtbl
  1302. {
  1303. BEGIN_INTERFACE
  1304. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1305. ISearchCompanionInfo * This,
  1306. /* [in] */ REFIID riid,
  1307. /* [iid_is][out] */ void **ppvObject);
  1308. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1309. ISearchCompanionInfo * This);
  1310. ULONG ( STDMETHODCALLTYPE *Release )(
  1311. ISearchCompanionInfo * This);
  1312. HRESULT ( STDMETHODCALLTYPE *IsSearchCompanionInetAvailable )(
  1313. ISearchCompanionInfo * This,
  1314. /* [out] */ BOOL *pfAvailable);
  1315. END_INTERFACE
  1316. } ISearchCompanionInfoVtbl;
  1317. interface ISearchCompanionInfo
  1318. {
  1319. CONST_VTBL struct ISearchCompanionInfoVtbl *lpVtbl;
  1320. };
  1321. #ifdef COBJMACROS
  1322. #define ISearchCompanionInfo_QueryInterface(This,riid,ppvObject) \
  1323. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1324. #define ISearchCompanionInfo_AddRef(This) \
  1325. (This)->lpVtbl -> AddRef(This)
  1326. #define ISearchCompanionInfo_Release(This) \
  1327. (This)->lpVtbl -> Release(This)
  1328. #define ISearchCompanionInfo_IsSearchCompanionInetAvailable(This,pfAvailable) \
  1329. (This)->lpVtbl -> IsSearchCompanionInetAvailable(This,pfAvailable)
  1330. #endif /* COBJMACROS */
  1331. #endif /* C style interface */
  1332. HRESULT STDMETHODCALLTYPE ISearchCompanionInfo_IsSearchCompanionInetAvailable_Proxy(
  1333. ISearchCompanionInfo * This,
  1334. /* [out] */ BOOL *pfAvailable);
  1335. void __RPC_STUB ISearchCompanionInfo_IsSearchCompanionInetAvailable_Stub(
  1336. IRpcStubBuffer *This,
  1337. IRpcChannelBuffer *_pRpcChannelBuffer,
  1338. PRPC_MESSAGE _pRpcMessage,
  1339. DWORD *_pdwStubPhase);
  1340. #endif /* __ISearchCompanionInfo_INTERFACE_DEFINED__ */
  1341. /* interface __MIDL_itf_iepriv_0270 */
  1342. /* [local] */
  1343. #include <pshpack8.h>
  1344. typedef struct tagSMDATA
  1345. {
  1346. DWORD dwMask;
  1347. DWORD dwFlags;
  1348. HMENU hmenu;
  1349. HWND hwnd;
  1350. UINT uId;
  1351. UINT uIdParent;
  1352. UINT uIdAncestor;
  1353. IUnknown *punk;
  1354. LPITEMIDLIST pidlFolder;
  1355. LPITEMIDLIST pidlItem;
  1356. IShellFolder *psf;
  1357. void *pvUserData;
  1358. } SMDATA;
  1359. typedef struct tagSMDATA *LPSMDATA;
  1360. // Mask
  1361. #define SMDM_SHELLFOLDER 0x00000001 // This is for an item in the band
  1362. #define SMDM_HMENU 0x00000002 // This is for the Band itself
  1363. #define SMDM_TOOLBAR 0x00000004 // Plain toolbar, not associated with a shell folder or hmenu
  1364. // Flags (bitmask)
  1365. typedef struct tagSMINFO
  1366. {
  1367. DWORD dwMask;
  1368. DWORD dwType;
  1369. DWORD dwFlags;
  1370. int iIcon;
  1371. } SMINFO;
  1372. typedef struct tagSMINFO *PSMINFO;
  1373. typedef struct tagSHCSCHANGENOTIFYSTRUCT
  1374. {
  1375. LONG lEvent;
  1376. LPCITEMIDLIST pidl1;
  1377. LPCITEMIDLIST pidl2;
  1378. } SMCSHCHANGENOTIFYSTRUCT;
  1379. typedef struct tagSHCSCHANGENOTIFYSTRUCT *PSMCSHCHANGENOTIFYSTRUCT;
  1380. #include <poppack.h>
  1381. enum __MIDL___MIDL_itf_iepriv_0270_0001
  1382. { SMIM_TYPE = 0x1,
  1383. SMIM_FLAGS = 0x2,
  1384. SMIM_ICON = 0x4
  1385. } ;
  1386. enum __MIDL___MIDL_itf_iepriv_0270_0002
  1387. { SMIT_SEPARATOR = 0x1,
  1388. SMIT_STRING = 0x2
  1389. } ;
  1390. enum __MIDL___MIDL_itf_iepriv_0270_0003
  1391. { SMIF_ICON = 0x1,
  1392. SMIF_ACCELERATOR = 0x2,
  1393. SMIF_DROPTARGET = 0x4,
  1394. SMIF_SUBMENU = 0x8,
  1395. SMIF_VOLATILE = 0x10,
  1396. SMIF_CHECKED = 0x20,
  1397. SMIF_DROPCASCADE = 0x40,
  1398. SMIF_HIDDEN = 0x80,
  1399. SMIF_DISABLED = 0x100,
  1400. SMIF_TRACKPOPUP = 0x200,
  1401. SMIF_DEMOTED = 0x400,
  1402. SMIF_ALTSTATE = 0x800,
  1403. SMIF_DRAGNDROP = 0x1000,
  1404. SMIF_NEW = 0x2000
  1405. } ;
  1406. #define SMC_INITMENU 0x00000001 // The callback is called to init a menuband
  1407. #define SMC_CREATE 0x00000002
  1408. #define SMC_EXITMENU 0x00000003 // The callback is called when menu is collapsing
  1409. #define SMC_EXEC 0x00000004 // The callback is called to execute an item
  1410. #define SMC_GETINFO 0x00000005 // The callback is called to return DWORD values
  1411. #define SMC_GETSFINFO 0x00000006 // The callback is called to return DWORD values
  1412. #define SMC_GETOBJECT 0x00000007 // The callback is called to get some object
  1413. #define SMC_GETSFOBJECT 0x00000008 // The callback is called to get some object
  1414. #define SMC_SFEXEC 0x00000009 // The callback is called to execute an shell folder item
  1415. #define SMC_SFSELECTITEM 0x0000000A // The callback is called when an item is selected
  1416. #define SMC_SELECTITEM 0x0000000B // The callback is called when an item is selected
  1417. #define SMC_GETSFINFOTIP 0x0000000C // The callback is called to get some object
  1418. #define SMC_GETINFOTIP 0x0000000D // The callback is called to get some object
  1419. #define SMC_INSERTINDEX 0x0000000E // New item insert index
  1420. #define SMC_POPUP 0x0000000F // InitMenu/InitMenuPopup (sort of)
  1421. #define SMC_REFRESH 0x00000010 // Menus have completely refreshed. Reset your state.
  1422. #define SMC_DEMOTE 0x00000011 // Demote an item
  1423. #define SMC_PROMOTE 0x00000012 // Promote an item, wParam = SMINV_* flag
  1424. #define SMC_BEGINENUM 0x00000013 // tell callback that we are beginning to ENUM the indicated parent
  1425. #define SMC_ENDENUM 0x00000014 // tell callback that we are ending the ENUM of the indicated paren
  1426. #define SMC_MAPACCELERATOR 0x00000015 // Called when processing an accelerator.
  1427. #define SMC_DEFAULTICON 0x00000016 // Returns Default icon location in wParam, index in lParam
  1428. #define SMC_NEWITEM 0x00000017 // Notifies item is not in the order stream.
  1429. #define SMC_GETMINPROMOTED 0x00000018 // Returns the minimum number of promoted items
  1430. #define SMC_CHEVRONEXPAND 0x00000019 // Notifies of a expansion via the chevron
  1431. #define SMC_DISPLAYCHEVRONTIP 0x0000002A // S_OK display, S_FALSE not.
  1432. #define SMC_DESTROY 0x0000002B // Called when a pane is being destroyed.
  1433. #define SMC_SETOBJECT 0x0000002C // Called to save the passed object
  1434. #define SMC_SETSFOBJECT 0x0000002D // Called to save the passed object
  1435. #define SMC_SHCHANGENOTIFY 0x0000002E // Called when a Change notify is received. lParam points to SMCSHCHANGENOTIFYSTRUCT
  1436. #define SMC_CHEVRONGETTIP 0x0000002F // Called to get the chevron tip text. wParam = Tip title, Lparam = TipText Both MAX_PATH
  1437. #define SMC_SFDDRESTRICTED 0x00000030 // Called requesting if it's ok to drop. wParam = IDropTarget.
  1438. #define SMC_GETIMAGELISTS 0x00000031 // Called to get the small & large icon image lists, otherwise it will default to shell image list
  1439. #define SMC_CUSTOMDRAW 0x00000032 // Requires SMINIT_CUSTOMDRAW
  1440. #define SMC_BEGINDRAG 0x00000033 // Called to get preferred drop effect. wParam = &pdwEffect
  1441. #define SMC_MOUSEFILTER 0x00000034 // Called to allow host to filter mouse messages. wParam=bRemove, lParam=pmsg
  1442. #define SMC_DUMPONUPDATE 0x00000035 // S_OK if host wants old trash-everything-on-update behavior (recent docs)
  1443. #define SMC_FILTERPIDL 0x10000000 // The callback is called to see if an item is visible
  1444. #define SMC_CALLBACKMASK 0xF0000000 // Mask of comutationally intense messages
  1445. extern RPC_IF_HANDLE __MIDL_itf_iepriv_0270_v0_0_c_ifspec;
  1446. extern RPC_IF_HANDLE __MIDL_itf_iepriv_0270_v0_0_s_ifspec;
  1447. #ifndef __IShellMenuCallback_INTERFACE_DEFINED__
  1448. #define __IShellMenuCallback_INTERFACE_DEFINED__
  1449. /* interface IShellMenuCallback */
  1450. /* [local][unique][object][uuid] */
  1451. EXTERN_C const IID IID_IShellMenuCallback;
  1452. #if defined(__cplusplus) && !defined(CINTERFACE)
  1453. MIDL_INTERFACE("4CA300A1-9B8D-11d1-8B22-00C04FD918D0")
  1454. IShellMenuCallback : public IUnknown
  1455. {
  1456. public:
  1457. virtual HRESULT STDMETHODCALLTYPE CallbackSM(
  1458. /* [out][in] */ LPSMDATA psmd,
  1459. UINT uMsg,
  1460. WPARAM wParam,
  1461. LPARAM lParam) = 0;
  1462. };
  1463. #else /* C style interface */
  1464. typedef struct IShellMenuCallbackVtbl
  1465. {
  1466. BEGIN_INTERFACE
  1467. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1468. IShellMenuCallback * This,
  1469. /* [in] */ REFIID riid,
  1470. /* [iid_is][out] */ void **ppvObject);
  1471. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1472. IShellMenuCallback * This);
  1473. ULONG ( STDMETHODCALLTYPE *Release )(
  1474. IShellMenuCallback * This);
  1475. HRESULT ( STDMETHODCALLTYPE *CallbackSM )(
  1476. IShellMenuCallback * This,
  1477. /* [out][in] */ LPSMDATA psmd,
  1478. UINT uMsg,
  1479. WPARAM wParam,
  1480. LPARAM lParam);
  1481. END_INTERFACE
  1482. } IShellMenuCallbackVtbl;
  1483. interface IShellMenuCallback
  1484. {
  1485. CONST_VTBL struct IShellMenuCallbackVtbl *lpVtbl;
  1486. };
  1487. #ifdef COBJMACROS
  1488. #define IShellMenuCallback_QueryInterface(This,riid,ppvObject) \
  1489. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1490. #define IShellMenuCallback_AddRef(This) \
  1491. (This)->lpVtbl -> AddRef(This)
  1492. #define IShellMenuCallback_Release(This) \
  1493. (This)->lpVtbl -> Release(This)
  1494. #define IShellMenuCallback_CallbackSM(This,psmd,uMsg,wParam,lParam) \
  1495. (This)->lpVtbl -> CallbackSM(This,psmd,uMsg,wParam,lParam)
  1496. #endif /* COBJMACROS */
  1497. #endif /* C style interface */
  1498. HRESULT STDMETHODCALLTYPE IShellMenuCallback_CallbackSM_Proxy(
  1499. IShellMenuCallback * This,
  1500. /* [out][in] */ LPSMDATA psmd,
  1501. UINT uMsg,
  1502. WPARAM wParam,
  1503. LPARAM lParam);
  1504. void __RPC_STUB IShellMenuCallback_CallbackSM_Stub(
  1505. IRpcStubBuffer *This,
  1506. IRpcChannelBuffer *_pRpcChannelBuffer,
  1507. PRPC_MESSAGE _pRpcMessage,
  1508. DWORD *_pdwStubPhase);
  1509. #endif /* __IShellMenuCallback_INTERFACE_DEFINED__ */
  1510. /* interface __MIDL_itf_iepriv_0271 */
  1511. /* [local] */
  1512. #define SMINIT_DEFAULT 0x00000000 // No Options
  1513. #define SMINIT_RESTRICT_CONTEXTMENU 0x00000001 // Don't allow Context Menus
  1514. #define SMINIT_RESTRICT_DRAGDROP 0x00000002 // Don't allow Drag and Drop
  1515. #define SMINIT_TOPLEVEL 0x00000004 // This is the top band.
  1516. #define SMINIT_DEFAULTTOTRACKPOPUP 0x00000008 // When no callback is specified,
  1517. #define SMINIT_CACHED 0x00000010
  1518. #define SMINIT_USEMESSAGEFILTER 0x00000020
  1519. #define SMINIT_LEGACYMENU 0x00000040 // Old Menu behaviour.
  1520. #define SMINIT_CUSTOMDRAW 0x00000080 // Send SMC_CUSTOMDRAW
  1521. #define SMINIT_NOSETSITE 0x00010000 // Internal setting
  1522. #define SMINIT_VERTICAL 0x10000000 // This is a vertical menu
  1523. #define SMINIT_HORIZONTAL 0x20000000 // This is a horizontal menu (does not inherit)
  1524. #define SMINIT_MULTICOLUMN 0x40000000 // this is a multi column menu
  1525. #define ANCESTORDEFAULT (UINT)-1
  1526. #define SMSET_TOP 0x10000000 // Bias this namespace to the top of the menu
  1527. #define SMSET_BOTTOM 0x20000000 // Bias this namespace to the bottom of the menu
  1528. #define SMSET_DONTOWN 0x00000001 // The Menuband doesn't own the non-ref counted object
  1529. #define SMSET_MERGE 0x00000002
  1530. #define SMSET_NOEMPTY 0x00000004 // Dont show (Empty) on shell folder
  1531. #define SMSET_USEBKICONEXTRACTION 0x00000008 // Use the background icon extractor
  1532. #define SMSET_HASEXPANDABLEFOLDERS 0x00000010 // Need to call SHIsExpandableFolder
  1533. #define SMSET_DONTREGISTERCHANGENOTIFY 0x00000020 // ShellFolder is a discontiguous child of a parent shell folder
  1534. #define SMSET_COLLAPSEONEMPTY 0x00000040 // When Empty, causes a menus to collapse
  1535. #define SMSET_USEPAGER 0x00000080 //Enable pagers in static menus
  1536. #define SMSET_NOPREFIX 0x00000100 //Enable ampersand in static menus
  1537. #define SMSET_SEPARATEMERGEFOLDER 0x00000200 //Insert separator when MergedFolder host changes
  1538. #define SMINV_REFRESH 0x00000001
  1539. #define SMINV_ICON 0x00000002
  1540. #define SMINV_POSITION 0x00000004
  1541. #define SMINV_ID 0x00000008
  1542. #define SMINV_NEXTSHOW 0x00000010 // Does Invalidates on next show.
  1543. #define SMINV_PROMOTE 0x00000020 // Does Invalidates on next show.
  1544. #define SMINV_DEMOTE 0x00000040 // Does Invalidates on next show.
  1545. #define SMINV_FORCE 0x00000080
  1546. #define SMINV_NOCALLBACK 0x00000100 // Invalidates, but does not call the callback.
  1547. #define SMINV_INITMENU 0x00000200 // Call callback's SMC_INITMENU as part of invalidate (Whistler)
  1548. extern RPC_IF_HANDLE __MIDL_itf_iepriv_0271_v0_0_c_ifspec;
  1549. extern RPC_IF_HANDLE __MIDL_itf_iepriv_0271_v0_0_s_ifspec;
  1550. #ifndef __IShellMenu_INTERFACE_DEFINED__
  1551. #define __IShellMenu_INTERFACE_DEFINED__
  1552. /* interface IShellMenu */
  1553. /* [local][unique][object][uuid] */
  1554. EXTERN_C const IID IID_IShellMenu;
  1555. #if defined(__cplusplus) && !defined(CINTERFACE)
  1556. MIDL_INTERFACE("EE1F7637-E138-11d1-8379-00C04FD918D0")
  1557. IShellMenu : public IUnknown
  1558. {
  1559. public:
  1560. virtual HRESULT STDMETHODCALLTYPE Initialize(
  1561. /* [in] */ IShellMenuCallback *psmc,
  1562. UINT uId,
  1563. UINT uIdAncestor,
  1564. DWORD dwFlags) = 0;
  1565. virtual HRESULT STDMETHODCALLTYPE GetMenuInfo(
  1566. /* [out] */ IShellMenuCallback **ppsmc,
  1567. /* [out] */ UINT *puId,
  1568. /* [out] */ UINT *puIdAncestor,
  1569. /* [out] */ DWORD *pdwFlags) = 0;
  1570. virtual HRESULT STDMETHODCALLTYPE SetShellFolder(
  1571. IShellFolder *psf,
  1572. /* [in] */ LPCITEMIDLIST pidlFolder,
  1573. HKEY hKey,
  1574. DWORD dwFlags) = 0;
  1575. virtual HRESULT STDMETHODCALLTYPE GetShellFolder(
  1576. /* [out] */ DWORD *pdwFlags,
  1577. /* [out] */ LPITEMIDLIST *ppidl,
  1578. /* [in] */ REFIID riid,
  1579. /* [iid_is][out] */ void **ppv) = 0;
  1580. virtual HRESULT STDMETHODCALLTYPE SetMenu(
  1581. /* [in] */ HMENU hmenu,
  1582. /* [in] */ HWND hwnd,
  1583. DWORD dwFlags) = 0;
  1584. virtual HRESULT STDMETHODCALLTYPE GetMenu(
  1585. /* [out] */ HMENU *phmenu,
  1586. /* [out] */ HWND *phwnd,
  1587. /* [out] */ DWORD *pdwFlags) = 0;
  1588. virtual HRESULT STDMETHODCALLTYPE InvalidateItem(
  1589. /* [in] */ LPSMDATA psmd,
  1590. DWORD dwFlags) = 0;
  1591. virtual HRESULT STDMETHODCALLTYPE GetState(
  1592. /* [out] */ LPSMDATA psmd) = 0;
  1593. virtual HRESULT STDMETHODCALLTYPE SetMenuToolbar(
  1594. /* [in] */ IUnknown *punk,
  1595. DWORD dwFlags) = 0;
  1596. };
  1597. #else /* C style interface */
  1598. typedef struct IShellMenuVtbl
  1599. {
  1600. BEGIN_INTERFACE
  1601. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1602. IShellMenu * This,
  1603. /* [in] */ REFIID riid,
  1604. /* [iid_is][out] */ void **ppvObject);
  1605. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1606. IShellMenu * This);
  1607. ULONG ( STDMETHODCALLTYPE *Release )(
  1608. IShellMenu * This);
  1609. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  1610. IShellMenu * This,
  1611. /* [in] */ IShellMenuCallback *psmc,
  1612. UINT uId,
  1613. UINT uIdAncestor,
  1614. DWORD dwFlags);
  1615. HRESULT ( STDMETHODCALLTYPE *GetMenuInfo )(
  1616. IShellMenu * This,
  1617. /* [out] */ IShellMenuCallback **ppsmc,
  1618. /* [out] */ UINT *puId,
  1619. /* [out] */ UINT *puIdAncestor,
  1620. /* [out] */ DWORD *pdwFlags);
  1621. HRESULT ( STDMETHODCALLTYPE *SetShellFolder )(
  1622. IShellMenu * This,
  1623. IShellFolder *psf,
  1624. /* [in] */ LPCITEMIDLIST pidlFolder,
  1625. HKEY hKey,
  1626. DWORD dwFlags);
  1627. HRESULT ( STDMETHODCALLTYPE *GetShellFolder )(
  1628. IShellMenu * This,
  1629. /* [out] */ DWORD *pdwFlags,
  1630. /* [out] */ LPITEMIDLIST *ppidl,
  1631. /* [in] */ REFIID riid,
  1632. /* [iid_is][out] */ void **ppv);
  1633. HRESULT ( STDMETHODCALLTYPE *SetMenu )(
  1634. IShellMenu * This,
  1635. /* [in] */ HMENU hmenu,
  1636. /* [in] */ HWND hwnd,
  1637. DWORD dwFlags);
  1638. HRESULT ( STDMETHODCALLTYPE *GetMenu )(
  1639. IShellMenu * This,
  1640. /* [out] */ HMENU *phmenu,
  1641. /* [out] */ HWND *phwnd,
  1642. /* [out] */ DWORD *pdwFlags);
  1643. HRESULT ( STDMETHODCALLTYPE *InvalidateItem )(
  1644. IShellMenu * This,
  1645. /* [in] */ LPSMDATA psmd,
  1646. DWORD dwFlags);
  1647. HRESULT ( STDMETHODCALLTYPE *GetState )(
  1648. IShellMenu * This,
  1649. /* [out] */ LPSMDATA psmd);
  1650. HRESULT ( STDMETHODCALLTYPE *SetMenuToolbar )(
  1651. IShellMenu * This,
  1652. /* [in] */ IUnknown *punk,
  1653. DWORD dwFlags);
  1654. END_INTERFACE
  1655. } IShellMenuVtbl;
  1656. interface IShellMenu
  1657. {
  1658. CONST_VTBL struct IShellMenuVtbl *lpVtbl;
  1659. };
  1660. #ifdef COBJMACROS
  1661. #define IShellMenu_QueryInterface(This,riid,ppvObject) \
  1662. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1663. #define IShellMenu_AddRef(This) \
  1664. (This)->lpVtbl -> AddRef(This)
  1665. #define IShellMenu_Release(This) \
  1666. (This)->lpVtbl -> Release(This)
  1667. #define IShellMenu_Initialize(This,psmc,uId,uIdAncestor,dwFlags) \
  1668. (This)->lpVtbl -> Initialize(This,psmc,uId,uIdAncestor,dwFlags)
  1669. #define IShellMenu_GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags) \
  1670. (This)->lpVtbl -> GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags)
  1671. #define IShellMenu_SetShellFolder(This,psf,pidlFolder,hKey,dwFlags) \
  1672. (This)->lpVtbl -> SetShellFolder(This,psf,pidlFolder,hKey,dwFlags)
  1673. #define IShellMenu_GetShellFolder(This,pdwFlags,ppidl,riid,ppv) \
  1674. (This)->lpVtbl -> GetShellFolder(This,pdwFlags,ppidl,riid,ppv)
  1675. #define IShellMenu_SetMenu(This,hmenu,hwnd,dwFlags) \
  1676. (This)->lpVtbl -> SetMenu(This,hmenu,hwnd,dwFlags)
  1677. #define IShellMenu_GetMenu(This,phmenu,phwnd,pdwFlags) \
  1678. (This)->lpVtbl -> GetMenu(This,phmenu,phwnd,pdwFlags)
  1679. #define IShellMenu_InvalidateItem(This,psmd,dwFlags) \
  1680. (This)->lpVtbl -> InvalidateItem(This,psmd,dwFlags)
  1681. #define IShellMenu_GetState(This,psmd) \
  1682. (This)->lpVtbl -> GetState(This,psmd)
  1683. #define IShellMenu_SetMenuToolbar(This,punk,dwFlags) \
  1684. (This)->lpVtbl -> SetMenuToolbar(This,punk,dwFlags)
  1685. #endif /* COBJMACROS */
  1686. #endif /* C style interface */
  1687. HRESULT STDMETHODCALLTYPE IShellMenu_Initialize_Proxy(
  1688. IShellMenu * This,
  1689. /* [in] */ IShellMenuCallback *psmc,
  1690. UINT uId,
  1691. UINT uIdAncestor,
  1692. DWORD dwFlags);
  1693. void __RPC_STUB IShellMenu_Initialize_Stub(
  1694. IRpcStubBuffer *This,
  1695. IRpcChannelBuffer *_pRpcChannelBuffer,
  1696. PRPC_MESSAGE _pRpcMessage,
  1697. DWORD *_pdwStubPhase);
  1698. HRESULT STDMETHODCALLTYPE IShellMenu_GetMenuInfo_Proxy(
  1699. IShellMenu * This,
  1700. /* [out] */ IShellMenuCallback **ppsmc,
  1701. /* [out] */ UINT *puId,
  1702. /* [out] */ UINT *puIdAncestor,
  1703. /* [out] */ DWORD *pdwFlags);
  1704. void __RPC_STUB IShellMenu_GetMenuInfo_Stub(
  1705. IRpcStubBuffer *This,
  1706. IRpcChannelBuffer *_pRpcChannelBuffer,
  1707. PRPC_MESSAGE _pRpcMessage,
  1708. DWORD *_pdwStubPhase);
  1709. HRESULT STDMETHODCALLTYPE IShellMenu_SetShellFolder_Proxy(
  1710. IShellMenu * This,
  1711. IShellFolder *psf,
  1712. /* [in] */ LPCITEMIDLIST pidlFolder,
  1713. HKEY hKey,
  1714. DWORD dwFlags);
  1715. void __RPC_STUB IShellMenu_SetShellFolder_Stub(
  1716. IRpcStubBuffer *This,
  1717. IRpcChannelBuffer *_pRpcChannelBuffer,
  1718. PRPC_MESSAGE _pRpcMessage,
  1719. DWORD *_pdwStubPhase);
  1720. HRESULT STDMETHODCALLTYPE IShellMenu_GetShellFolder_Proxy(
  1721. IShellMenu * This,
  1722. /* [out] */ DWORD *pdwFlags,
  1723. /* [out] */ LPITEMIDLIST *ppidl,
  1724. /* [in] */ REFIID riid,
  1725. /* [iid_is][out] */ void **ppv);
  1726. void __RPC_STUB IShellMenu_GetShellFolder_Stub(
  1727. IRpcStubBuffer *This,
  1728. IRpcChannelBuffer *_pRpcChannelBuffer,
  1729. PRPC_MESSAGE _pRpcMessage,
  1730. DWORD *_pdwStubPhase);
  1731. HRESULT STDMETHODCALLTYPE IShellMenu_SetMenu_Proxy(
  1732. IShellMenu * This,
  1733. /* [in] */ HMENU hmenu,
  1734. /* [in] */ HWND hwnd,
  1735. DWORD dwFlags);
  1736. void __RPC_STUB IShellMenu_SetMenu_Stub(
  1737. IRpcStubBuffer *This,
  1738. IRpcChannelBuffer *_pRpcChannelBuffer,
  1739. PRPC_MESSAGE _pRpcMessage,
  1740. DWORD *_pdwStubPhase);
  1741. HRESULT STDMETHODCALLTYPE IShellMenu_GetMenu_Proxy(
  1742. IShellMenu * This,
  1743. /* [out] */ HMENU *phmenu,
  1744. /* [out] */ HWND *phwnd,
  1745. /* [out] */ DWORD *pdwFlags);
  1746. void __RPC_STUB IShellMenu_GetMenu_Stub(
  1747. IRpcStubBuffer *This,
  1748. IRpcChannelBuffer *_pRpcChannelBuffer,
  1749. PRPC_MESSAGE _pRpcMessage,
  1750. DWORD *_pdwStubPhase);
  1751. HRESULT STDMETHODCALLTYPE IShellMenu_InvalidateItem_Proxy(
  1752. IShellMenu * This,
  1753. /* [in] */ LPSMDATA psmd,
  1754. DWORD dwFlags);
  1755. void __RPC_STUB IShellMenu_InvalidateItem_Stub(
  1756. IRpcStubBuffer *This,
  1757. IRpcChannelBuffer *_pRpcChannelBuffer,
  1758. PRPC_MESSAGE _pRpcMessage,
  1759. DWORD *_pdwStubPhase);
  1760. HRESULT STDMETHODCALLTYPE IShellMenu_GetState_Proxy(
  1761. IShellMenu * This,
  1762. /* [out] */ LPSMDATA psmd);
  1763. void __RPC_STUB IShellMenu_GetState_Stub(
  1764. IRpcStubBuffer *This,
  1765. IRpcChannelBuffer *_pRpcChannelBuffer,
  1766. PRPC_MESSAGE _pRpcMessage,
  1767. DWORD *_pdwStubPhase);
  1768. HRESULT STDMETHODCALLTYPE IShellMenu_SetMenuToolbar_Proxy(
  1769. IShellMenu * This,
  1770. /* [in] */ IUnknown *punk,
  1771. DWORD dwFlags);
  1772. void __RPC_STUB IShellMenu_SetMenuToolbar_Stub(
  1773. IRpcStubBuffer *This,
  1774. IRpcChannelBuffer *_pRpcChannelBuffer,
  1775. PRPC_MESSAGE _pRpcMessage,
  1776. DWORD *_pdwStubPhase);
  1777. #endif /* __IShellMenu_INTERFACE_DEFINED__ */
  1778. #ifndef __IShellMenu2_INTERFACE_DEFINED__
  1779. #define __IShellMenu2_INTERFACE_DEFINED__
  1780. /* interface IShellMenu2 */
  1781. /* [local][unique][object][uuid] */
  1782. EXTERN_C const IID IID_IShellMenu2;
  1783. #if defined(__cplusplus) && !defined(CINTERFACE)
  1784. MIDL_INTERFACE("6f51c646-0efe-4370-882a-c1f61cb27c3b")
  1785. IShellMenu2 : public IShellMenu
  1786. {
  1787. public:
  1788. virtual HRESULT STDMETHODCALLTYPE GetSubMenu(
  1789. UINT idCmd,
  1790. /* [in] */ REFIID riid,
  1791. /* [iid_is][out] */ void **ppvObj) = 0;
  1792. virtual HRESULT STDMETHODCALLTYPE SetToolbar(
  1793. /* [in] */ HWND hwnd,
  1794. /* [in] */ DWORD dwFlags) = 0;
  1795. virtual HRESULT STDMETHODCALLTYPE SetMinWidth(
  1796. /* [in] */ int cxMenu) = 0;
  1797. virtual HRESULT STDMETHODCALLTYPE SetNoBorder(
  1798. /* [in] */ BOOL fNoBorder) = 0;
  1799. virtual HRESULT STDMETHODCALLTYPE SetTheme(
  1800. /* [string][in] */ LPCWSTR pszTheme) = 0;
  1801. };
  1802. #else /* C style interface */
  1803. typedef struct IShellMenu2Vtbl
  1804. {
  1805. BEGIN_INTERFACE
  1806. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1807. IShellMenu2 * This,
  1808. /* [in] */ REFIID riid,
  1809. /* [iid_is][out] */ void **ppvObject);
  1810. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1811. IShellMenu2 * This);
  1812. ULONG ( STDMETHODCALLTYPE *Release )(
  1813. IShellMenu2 * This);
  1814. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  1815. IShellMenu2 * This,
  1816. /* [in] */ IShellMenuCallback *psmc,
  1817. UINT uId,
  1818. UINT uIdAncestor,
  1819. DWORD dwFlags);
  1820. HRESULT ( STDMETHODCALLTYPE *GetMenuInfo )(
  1821. IShellMenu2 * This,
  1822. /* [out] */ IShellMenuCallback **ppsmc,
  1823. /* [out] */ UINT *puId,
  1824. /* [out] */ UINT *puIdAncestor,
  1825. /* [out] */ DWORD *pdwFlags);
  1826. HRESULT ( STDMETHODCALLTYPE *SetShellFolder )(
  1827. IShellMenu2 * This,
  1828. IShellFolder *psf,
  1829. /* [in] */ LPCITEMIDLIST pidlFolder,
  1830. HKEY hKey,
  1831. DWORD dwFlags);
  1832. HRESULT ( STDMETHODCALLTYPE *GetShellFolder )(
  1833. IShellMenu2 * This,
  1834. /* [out] */ DWORD *pdwFlags,
  1835. /* [out] */ LPITEMIDLIST *ppidl,
  1836. /* [in] */ REFIID riid,
  1837. /* [iid_is][out] */ void **ppv);
  1838. HRESULT ( STDMETHODCALLTYPE *SetMenu )(
  1839. IShellMenu2 * This,
  1840. /* [in] */ HMENU hmenu,
  1841. /* [in] */ HWND hwnd,
  1842. DWORD dwFlags);
  1843. HRESULT ( STDMETHODCALLTYPE *GetMenu )(
  1844. IShellMenu2 * This,
  1845. /* [out] */ HMENU *phmenu,
  1846. /* [out] */ HWND *phwnd,
  1847. /* [out] */ DWORD *pdwFlags);
  1848. HRESULT ( STDMETHODCALLTYPE *InvalidateItem )(
  1849. IShellMenu2 * This,
  1850. /* [in] */ LPSMDATA psmd,
  1851. DWORD dwFlags);
  1852. HRESULT ( STDMETHODCALLTYPE *GetState )(
  1853. IShellMenu2 * This,
  1854. /* [out] */ LPSMDATA psmd);
  1855. HRESULT ( STDMETHODCALLTYPE *SetMenuToolbar )(
  1856. IShellMenu2 * This,
  1857. /* [in] */ IUnknown *punk,
  1858. DWORD dwFlags);
  1859. HRESULT ( STDMETHODCALLTYPE *GetSubMenu )(
  1860. IShellMenu2 * This,
  1861. UINT idCmd,
  1862. /* [in] */ REFIID riid,
  1863. /* [iid_is][out] */ void **ppvObj);
  1864. HRESULT ( STDMETHODCALLTYPE *SetToolbar )(
  1865. IShellMenu2 * This,
  1866. /* [in] */ HWND hwnd,
  1867. /* [in] */ DWORD dwFlags);
  1868. HRESULT ( STDMETHODCALLTYPE *SetMinWidth )(
  1869. IShellMenu2 * This,
  1870. /* [in] */ int cxMenu);
  1871. HRESULT ( STDMETHODCALLTYPE *SetNoBorder )(
  1872. IShellMenu2 * This,
  1873. /* [in] */ BOOL fNoBorder);
  1874. HRESULT ( STDMETHODCALLTYPE *SetTheme )(
  1875. IShellMenu2 * This,
  1876. /* [string][in] */ LPCWSTR pszTheme);
  1877. END_INTERFACE
  1878. } IShellMenu2Vtbl;
  1879. interface IShellMenu2
  1880. {
  1881. CONST_VTBL struct IShellMenu2Vtbl *lpVtbl;
  1882. };
  1883. #ifdef COBJMACROS
  1884. #define IShellMenu2_QueryInterface(This,riid,ppvObject) \
  1885. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1886. #define IShellMenu2_AddRef(This) \
  1887. (This)->lpVtbl -> AddRef(This)
  1888. #define IShellMenu2_Release(This) \
  1889. (This)->lpVtbl -> Release(This)
  1890. #define IShellMenu2_Initialize(This,psmc,uId,uIdAncestor,dwFlags) \
  1891. (This)->lpVtbl -> Initialize(This,psmc,uId,uIdAncestor,dwFlags)
  1892. #define IShellMenu2_GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags) \
  1893. (This)->lpVtbl -> GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags)
  1894. #define IShellMenu2_SetShellFolder(This,psf,pidlFolder,hKey,dwFlags) \
  1895. (This)->lpVtbl -> SetShellFolder(This,psf,pidlFolder,hKey,dwFlags)
  1896. #define IShellMenu2_GetShellFolder(This,pdwFlags,ppidl,riid,ppv) \
  1897. (This)->lpVtbl -> GetShellFolder(This,pdwFlags,ppidl,riid,ppv)
  1898. #define IShellMenu2_SetMenu(This,hmenu,hwnd,dwFlags) \
  1899. (This)->lpVtbl -> SetMenu(This,hmenu,hwnd,dwFlags)
  1900. #define IShellMenu2_GetMenu(This,phmenu,phwnd,pdwFlags) \
  1901. (This)->lpVtbl -> GetMenu(This,phmenu,phwnd,pdwFlags)
  1902. #define IShellMenu2_InvalidateItem(This,psmd,dwFlags) \
  1903. (This)->lpVtbl -> InvalidateItem(This,psmd,dwFlags)
  1904. #define IShellMenu2_GetState(This,psmd) \
  1905. (This)->lpVtbl -> GetState(This,psmd)
  1906. #define IShellMenu2_SetMenuToolbar(This,punk,dwFlags) \
  1907. (This)->lpVtbl -> SetMenuToolbar(This,punk,dwFlags)
  1908. #define IShellMenu2_GetSubMenu(This,idCmd,riid,ppvObj) \
  1909. (This)->lpVtbl -> GetSubMenu(This,idCmd,riid,ppvObj)
  1910. #define IShellMenu2_SetToolbar(This,hwnd,dwFlags) \
  1911. (This)->lpVtbl -> SetToolbar(This,hwnd,dwFlags)
  1912. #define IShellMenu2_SetMinWidth(This,cxMenu) \
  1913. (This)->lpVtbl -> SetMinWidth(This,cxMenu)
  1914. #define IShellMenu2_SetNoBorder(This,fNoBorder) \
  1915. (This)->lpVtbl -> SetNoBorder(This,fNoBorder)
  1916. #define IShellMenu2_SetTheme(This,pszTheme) \
  1917. (This)->lpVtbl -> SetTheme(This,pszTheme)
  1918. #endif /* COBJMACROS */
  1919. #endif /* C style interface */
  1920. HRESULT STDMETHODCALLTYPE IShellMenu2_GetSubMenu_Proxy(
  1921. IShellMenu2 * This,
  1922. UINT idCmd,
  1923. /* [in] */ REFIID riid,
  1924. /* [iid_is][out] */ void **ppvObj);
  1925. void __RPC_STUB IShellMenu2_GetSubMenu_Stub(
  1926. IRpcStubBuffer *This,
  1927. IRpcChannelBuffer *_pRpcChannelBuffer,
  1928. PRPC_MESSAGE _pRpcMessage,
  1929. DWORD *_pdwStubPhase);
  1930. HRESULT STDMETHODCALLTYPE IShellMenu2_SetToolbar_Proxy(
  1931. IShellMenu2 * This,
  1932. /* [in] */ HWND hwnd,
  1933. /* [in] */ DWORD dwFlags);
  1934. void __RPC_STUB IShellMenu2_SetToolbar_Stub(
  1935. IRpcStubBuffer *This,
  1936. IRpcChannelBuffer *_pRpcChannelBuffer,
  1937. PRPC_MESSAGE _pRpcMessage,
  1938. DWORD *_pdwStubPhase);
  1939. HRESULT STDMETHODCALLTYPE IShellMenu2_SetMinWidth_Proxy(
  1940. IShellMenu2 * This,
  1941. /* [in] */ int cxMenu);
  1942. void __RPC_STUB IShellMenu2_SetMinWidth_Stub(
  1943. IRpcStubBuffer *This,
  1944. IRpcChannelBuffer *_pRpcChannelBuffer,
  1945. PRPC_MESSAGE _pRpcMessage,
  1946. DWORD *_pdwStubPhase);
  1947. HRESULT STDMETHODCALLTYPE IShellMenu2_SetNoBorder_Proxy(
  1948. IShellMenu2 * This,
  1949. /* [in] */ BOOL fNoBorder);
  1950. void __RPC_STUB IShellMenu2_SetNoBorder_Stub(
  1951. IRpcStubBuffer *This,
  1952. IRpcChannelBuffer *_pRpcChannelBuffer,
  1953. PRPC_MESSAGE _pRpcMessage,
  1954. DWORD *_pdwStubPhase);
  1955. HRESULT STDMETHODCALLTYPE IShellMenu2_SetTheme_Proxy(
  1956. IShellMenu2 * This,
  1957. /* [string][in] */ LPCWSTR pszTheme);
  1958. void __RPC_STUB IShellMenu2_SetTheme_Stub(
  1959. IRpcStubBuffer *This,
  1960. IRpcChannelBuffer *_pRpcChannelBuffer,
  1961. PRPC_MESSAGE _pRpcMessage,
  1962. DWORD *_pdwStubPhase);
  1963. #endif /* __IShellMenu2_INTERFACE_DEFINED__ */
  1964. #ifndef __ITrackShellMenu_INTERFACE_DEFINED__
  1965. #define __ITrackShellMenu_INTERFACE_DEFINED__
  1966. /* interface ITrackShellMenu */
  1967. /* [local][unique][object][uuid] */
  1968. EXTERN_C const IID IID_ITrackShellMenu;
  1969. #if defined(__cplusplus) && !defined(CINTERFACE)
  1970. MIDL_INTERFACE("8278F932-2A3E-11d2-838F-00C04FD918D0")
  1971. ITrackShellMenu : public IShellMenu
  1972. {
  1973. public:
  1974. virtual HRESULT STDMETHODCALLTYPE SetObscured(
  1975. /* [in] */ HWND hwndTB,
  1976. /* [in] */ IUnknown *punkBand,
  1977. DWORD dwSMSetFlags) = 0;
  1978. virtual HRESULT STDMETHODCALLTYPE Popup(
  1979. /* [in] */ HWND hwnd,
  1980. /* [in] */ POINTL *ppt,
  1981. /* [in] */ RECTL *prcExclude,
  1982. DWORD dwFlags) = 0;
  1983. };
  1984. #else /* C style interface */
  1985. typedef struct ITrackShellMenuVtbl
  1986. {
  1987. BEGIN_INTERFACE
  1988. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1989. ITrackShellMenu * This,
  1990. /* [in] */ REFIID riid,
  1991. /* [iid_is][out] */ void **ppvObject);
  1992. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1993. ITrackShellMenu * This);
  1994. ULONG ( STDMETHODCALLTYPE *Release )(
  1995. ITrackShellMenu * This);
  1996. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  1997. ITrackShellMenu * This,
  1998. /* [in] */ IShellMenuCallback *psmc,
  1999. UINT uId,
  2000. UINT uIdAncestor,
  2001. DWORD dwFlags);
  2002. HRESULT ( STDMETHODCALLTYPE *GetMenuInfo )(
  2003. ITrackShellMenu * This,
  2004. /* [out] */ IShellMenuCallback **ppsmc,
  2005. /* [out] */ UINT *puId,
  2006. /* [out] */ UINT *puIdAncestor,
  2007. /* [out] */ DWORD *pdwFlags);
  2008. HRESULT ( STDMETHODCALLTYPE *SetShellFolder )(
  2009. ITrackShellMenu * This,
  2010. IShellFolder *psf,
  2011. /* [in] */ LPCITEMIDLIST pidlFolder,
  2012. HKEY hKey,
  2013. DWORD dwFlags);
  2014. HRESULT ( STDMETHODCALLTYPE *GetShellFolder )(
  2015. ITrackShellMenu * This,
  2016. /* [out] */ DWORD *pdwFlags,
  2017. /* [out] */ LPITEMIDLIST *ppidl,
  2018. /* [in] */ REFIID riid,
  2019. /* [iid_is][out] */ void **ppv);
  2020. HRESULT ( STDMETHODCALLTYPE *SetMenu )(
  2021. ITrackShellMenu * This,
  2022. /* [in] */ HMENU hmenu,
  2023. /* [in] */ HWND hwnd,
  2024. DWORD dwFlags);
  2025. HRESULT ( STDMETHODCALLTYPE *GetMenu )(
  2026. ITrackShellMenu * This,
  2027. /* [out] */ HMENU *phmenu,
  2028. /* [out] */ HWND *phwnd,
  2029. /* [out] */ DWORD *pdwFlags);
  2030. HRESULT ( STDMETHODCALLTYPE *InvalidateItem )(
  2031. ITrackShellMenu * This,
  2032. /* [in] */ LPSMDATA psmd,
  2033. DWORD dwFlags);
  2034. HRESULT ( STDMETHODCALLTYPE *GetState )(
  2035. ITrackShellMenu * This,
  2036. /* [out] */ LPSMDATA psmd);
  2037. HRESULT ( STDMETHODCALLTYPE *SetMenuToolbar )(
  2038. ITrackShellMenu * This,
  2039. /* [in] */ IUnknown *punk,
  2040. DWORD dwFlags);
  2041. HRESULT ( STDMETHODCALLTYPE *SetObscured )(
  2042. ITrackShellMenu * This,
  2043. /* [in] */ HWND hwndTB,
  2044. /* [in] */ IUnknown *punkBand,
  2045. DWORD dwSMSetFlags);
  2046. HRESULT ( STDMETHODCALLTYPE *Popup )(
  2047. ITrackShellMenu * This,
  2048. /* [in] */ HWND hwnd,
  2049. /* [in] */ POINTL *ppt,
  2050. /* [in] */ RECTL *prcExclude,
  2051. DWORD dwFlags);
  2052. END_INTERFACE
  2053. } ITrackShellMenuVtbl;
  2054. interface ITrackShellMenu
  2055. {
  2056. CONST_VTBL struct ITrackShellMenuVtbl *lpVtbl;
  2057. };
  2058. #ifdef COBJMACROS
  2059. #define ITrackShellMenu_QueryInterface(This,riid,ppvObject) \
  2060. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2061. #define ITrackShellMenu_AddRef(This) \
  2062. (This)->lpVtbl -> AddRef(This)
  2063. #define ITrackShellMenu_Release(This) \
  2064. (This)->lpVtbl -> Release(This)
  2065. #define ITrackShellMenu_Initialize(This,psmc,uId,uIdAncestor,dwFlags) \
  2066. (This)->lpVtbl -> Initialize(This,psmc,uId,uIdAncestor,dwFlags)
  2067. #define ITrackShellMenu_GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags) \
  2068. (This)->lpVtbl -> GetMenuInfo(This,ppsmc,puId,puIdAncestor,pdwFlags)
  2069. #define ITrackShellMenu_SetShellFolder(This,psf,pidlFolder,hKey,dwFlags) \
  2070. (This)->lpVtbl -> SetShellFolder(This,psf,pidlFolder,hKey,dwFlags)
  2071. #define ITrackShellMenu_GetShellFolder(This,pdwFlags,ppidl,riid,ppv) \
  2072. (This)->lpVtbl -> GetShellFolder(This,pdwFlags,ppidl,riid,ppv)
  2073. #define ITrackShellMenu_SetMenu(This,hmenu,hwnd,dwFlags) \
  2074. (This)->lpVtbl -> SetMenu(This,hmenu,hwnd,dwFlags)
  2075. #define ITrackShellMenu_GetMenu(This,phmenu,phwnd,pdwFlags) \
  2076. (This)->lpVtbl -> GetMenu(This,phmenu,phwnd,pdwFlags)
  2077. #define ITrackShellMenu_InvalidateItem(This,psmd,dwFlags) \
  2078. (This)->lpVtbl -> InvalidateItem(This,psmd,dwFlags)
  2079. #define ITrackShellMenu_GetState(This,psmd) \
  2080. (This)->lpVtbl -> GetState(This,psmd)
  2081. #define ITrackShellMenu_SetMenuToolbar(This,punk,dwFlags) \
  2082. (This)->lpVtbl -> SetMenuToolbar(This,punk,dwFlags)
  2083. #define ITrackShellMenu_SetObscured(This,hwndTB,punkBand,dwSMSetFlags) \
  2084. (This)->lpVtbl -> SetObscured(This,hwndTB,punkBand,dwSMSetFlags)
  2085. #define ITrackShellMenu_Popup(This,hwnd,ppt,prcExclude,dwFlags) \
  2086. (This)->lpVtbl -> Popup(This,hwnd,ppt,prcExclude,dwFlags)
  2087. #endif /* COBJMACROS */
  2088. #endif /* C style interface */
  2089. HRESULT STDMETHODCALLTYPE ITrackShellMenu_SetObscured_Proxy(
  2090. ITrackShellMenu * This,
  2091. /* [in] */ HWND hwndTB,
  2092. /* [in] */ IUnknown *punkBand,
  2093. DWORD dwSMSetFlags);
  2094. void __RPC_STUB ITrackShellMenu_SetObscured_Stub(
  2095. IRpcStubBuffer *This,
  2096. IRpcChannelBuffer *_pRpcChannelBuffer,
  2097. PRPC_MESSAGE _pRpcMessage,
  2098. DWORD *_pdwStubPhase);
  2099. HRESULT STDMETHODCALLTYPE ITrackShellMenu_Popup_Proxy(
  2100. ITrackShellMenu * This,
  2101. /* [in] */ HWND hwnd,
  2102. /* [in] */ POINTL *ppt,
  2103. /* [in] */ RECTL *prcExclude,
  2104. DWORD dwFlags);
  2105. void __RPC_STUB ITrackShellMenu_Popup_Stub(
  2106. IRpcStubBuffer *This,
  2107. IRpcChannelBuffer *_pRpcChannelBuffer,
  2108. PRPC_MESSAGE _pRpcMessage,
  2109. DWORD *_pdwStubPhase);
  2110. #endif /* __ITrackShellMenu_INTERFACE_DEFINED__ */
  2111. #ifndef __IThumbnail_INTERFACE_DEFINED__
  2112. #define __IThumbnail_INTERFACE_DEFINED__
  2113. /* interface IThumbnail */
  2114. /* [object][local][helpstring][uuid] */
  2115. EXTERN_C const IID IID_IThumbnail;
  2116. #if defined(__cplusplus) && !defined(CINTERFACE)
  2117. MIDL_INTERFACE("6d45a930-f71a-11d0-9ea7-00805f714772")
  2118. IThumbnail : public IUnknown
  2119. {
  2120. public:
  2121. virtual HRESULT STDMETHODCALLTYPE Init(
  2122. HWND hwnd,
  2123. UINT uMsg) = 0;
  2124. virtual HRESULT STDMETHODCALLTYPE GetBitmap(
  2125. LPCWSTR pszFile,
  2126. DWORD dwItem,
  2127. LONG lWidth,
  2128. LONG lHeight) = 0;
  2129. };
  2130. #else /* C style interface */
  2131. typedef struct IThumbnailVtbl
  2132. {
  2133. BEGIN_INTERFACE
  2134. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2135. IThumbnail * This,
  2136. /* [in] */ REFIID riid,
  2137. /* [iid_is][out] */ void **ppvObject);
  2138. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2139. IThumbnail * This);
  2140. ULONG ( STDMETHODCALLTYPE *Release )(
  2141. IThumbnail * This);
  2142. HRESULT ( STDMETHODCALLTYPE *Init )(
  2143. IThumbnail * This,
  2144. HWND hwnd,
  2145. UINT uMsg);
  2146. HRESULT ( STDMETHODCALLTYPE *GetBitmap )(
  2147. IThumbnail * This,
  2148. LPCWSTR pszFile,
  2149. DWORD dwItem,
  2150. LONG lWidth,
  2151. LONG lHeight);
  2152. END_INTERFACE
  2153. } IThumbnailVtbl;
  2154. interface IThumbnail
  2155. {
  2156. CONST_VTBL struct IThumbnailVtbl *lpVtbl;
  2157. };
  2158. #ifdef COBJMACROS
  2159. #define IThumbnail_QueryInterface(This,riid,ppvObject) \
  2160. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2161. #define IThumbnail_AddRef(This) \
  2162. (This)->lpVtbl -> AddRef(This)
  2163. #define IThumbnail_Release(This) \
  2164. (This)->lpVtbl -> Release(This)
  2165. #define IThumbnail_Init(This,hwnd,uMsg) \
  2166. (This)->lpVtbl -> Init(This,hwnd,uMsg)
  2167. #define IThumbnail_GetBitmap(This,pszFile,dwItem,lWidth,lHeight) \
  2168. (This)->lpVtbl -> GetBitmap(This,pszFile,dwItem,lWidth,lHeight)
  2169. #endif /* COBJMACROS */
  2170. #endif /* C style interface */
  2171. HRESULT STDMETHODCALLTYPE IThumbnail_Init_Proxy(
  2172. IThumbnail * This,
  2173. HWND hwnd,
  2174. UINT uMsg);
  2175. void __RPC_STUB IThumbnail_Init_Stub(
  2176. IRpcStubBuffer *This,
  2177. IRpcChannelBuffer *_pRpcChannelBuffer,
  2178. PRPC_MESSAGE _pRpcMessage,
  2179. DWORD *_pdwStubPhase);
  2180. HRESULT STDMETHODCALLTYPE IThumbnail_GetBitmap_Proxy(
  2181. IThumbnail * This,
  2182. LPCWSTR pszFile,
  2183. DWORD dwItem,
  2184. LONG lWidth,
  2185. LONG lHeight);
  2186. void __RPC_STUB IThumbnail_GetBitmap_Stub(
  2187. IRpcStubBuffer *This,
  2188. IRpcChannelBuffer *_pRpcChannelBuffer,
  2189. PRPC_MESSAGE _pRpcMessage,
  2190. DWORD *_pdwStubPhase);
  2191. #endif /* __IThumbnail_INTERFACE_DEFINED__ */
  2192. #ifndef __IThumbnail2_INTERFACE_DEFINED__
  2193. #define __IThumbnail2_INTERFACE_DEFINED__
  2194. /* interface IThumbnail2 */
  2195. /* [object][local][helpstring][uuid] */
  2196. EXTERN_C const IID IID_IThumbnail2;
  2197. #if defined(__cplusplus) && !defined(CINTERFACE)
  2198. MIDL_INTERFACE("500202A0-731E-11d0-B829-00C04FD706EC")
  2199. IThumbnail2 : public IThumbnail
  2200. {
  2201. public:
  2202. virtual HRESULT STDMETHODCALLTYPE GetBitmapFromIDList(
  2203. LPCITEMIDLIST pidl,
  2204. DWORD dwItem,
  2205. LONG lWidth,
  2206. LONG lHeight) = 0;
  2207. };
  2208. #else /* C style interface */
  2209. typedef struct IThumbnail2Vtbl
  2210. {
  2211. BEGIN_INTERFACE
  2212. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2213. IThumbnail2 * This,
  2214. /* [in] */ REFIID riid,
  2215. /* [iid_is][out] */ void **ppvObject);
  2216. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2217. IThumbnail2 * This);
  2218. ULONG ( STDMETHODCALLTYPE *Release )(
  2219. IThumbnail2 * This);
  2220. HRESULT ( STDMETHODCALLTYPE *Init )(
  2221. IThumbnail2 * This,
  2222. HWND hwnd,
  2223. UINT uMsg);
  2224. HRESULT ( STDMETHODCALLTYPE *GetBitmap )(
  2225. IThumbnail2 * This,
  2226. LPCWSTR pszFile,
  2227. DWORD dwItem,
  2228. LONG lWidth,
  2229. LONG lHeight);
  2230. HRESULT ( STDMETHODCALLTYPE *GetBitmapFromIDList )(
  2231. IThumbnail2 * This,
  2232. LPCITEMIDLIST pidl,
  2233. DWORD dwItem,
  2234. LONG lWidth,
  2235. LONG lHeight);
  2236. END_INTERFACE
  2237. } IThumbnail2Vtbl;
  2238. interface IThumbnail2
  2239. {
  2240. CONST_VTBL struct IThumbnail2Vtbl *lpVtbl;
  2241. };
  2242. #ifdef COBJMACROS
  2243. #define IThumbnail2_QueryInterface(This,riid,ppvObject) \
  2244. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2245. #define IThumbnail2_AddRef(This) \
  2246. (This)->lpVtbl -> AddRef(This)
  2247. #define IThumbnail2_Release(This) \
  2248. (This)->lpVtbl -> Release(This)
  2249. #define IThumbnail2_Init(This,hwnd,uMsg) \
  2250. (This)->lpVtbl -> Init(This,hwnd,uMsg)
  2251. #define IThumbnail2_GetBitmap(This,pszFile,dwItem,lWidth,lHeight) \
  2252. (This)->lpVtbl -> GetBitmap(This,pszFile,dwItem,lWidth,lHeight)
  2253. #define IThumbnail2_GetBitmapFromIDList(This,pidl,dwItem,lWidth,lHeight) \
  2254. (This)->lpVtbl -> GetBitmapFromIDList(This,pidl,dwItem,lWidth,lHeight)
  2255. #endif /* COBJMACROS */
  2256. #endif /* C style interface */
  2257. HRESULT STDMETHODCALLTYPE IThumbnail2_GetBitmapFromIDList_Proxy(
  2258. IThumbnail2 * This,
  2259. LPCITEMIDLIST pidl,
  2260. DWORD dwItem,
  2261. LONG lWidth,
  2262. LONG lHeight);
  2263. void __RPC_STUB IThumbnail2_GetBitmapFromIDList_Stub(
  2264. IRpcStubBuffer *This,
  2265. IRpcChannelBuffer *_pRpcChannelBuffer,
  2266. PRPC_MESSAGE _pRpcMessage,
  2267. DWORD *_pdwStubPhase);
  2268. #endif /* __IThumbnail2_INTERFACE_DEFINED__ */
  2269. #ifndef __IACLCustomMRU_INTERFACE_DEFINED__
  2270. #define __IACLCustomMRU_INTERFACE_DEFINED__
  2271. /* interface IACLCustomMRU */
  2272. /* [local][object][uuid][helpstring] */
  2273. EXTERN_C const IID IID_IACLCustomMRU;
  2274. #if defined(__cplusplus) && !defined(CINTERFACE)
  2275. MIDL_INTERFACE("F729FC5E-8769-4f3e-BDB2-D7B50FD2275B")
  2276. IACLCustomMRU : public IUnknown
  2277. {
  2278. public:
  2279. virtual HRESULT STDMETHODCALLTYPE Initialize(
  2280. /* [string][in] */ LPCWSTR pwszMRURegKey,
  2281. /* [in] */ DWORD dwMax) = 0;
  2282. virtual HRESULT STDMETHODCALLTYPE AddMRUString(
  2283. /* [string][in] */ LPCWSTR pwszEntry) = 0;
  2284. };
  2285. #else /* C style interface */
  2286. typedef struct IACLCustomMRUVtbl
  2287. {
  2288. BEGIN_INTERFACE
  2289. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2290. IACLCustomMRU * This,
  2291. /* [in] */ REFIID riid,
  2292. /* [iid_is][out] */ void **ppvObject);
  2293. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2294. IACLCustomMRU * This);
  2295. ULONG ( STDMETHODCALLTYPE *Release )(
  2296. IACLCustomMRU * This);
  2297. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  2298. IACLCustomMRU * This,
  2299. /* [string][in] */ LPCWSTR pwszMRURegKey,
  2300. /* [in] */ DWORD dwMax);
  2301. HRESULT ( STDMETHODCALLTYPE *AddMRUString )(
  2302. IACLCustomMRU * This,
  2303. /* [string][in] */ LPCWSTR pwszEntry);
  2304. END_INTERFACE
  2305. } IACLCustomMRUVtbl;
  2306. interface IACLCustomMRU
  2307. {
  2308. CONST_VTBL struct IACLCustomMRUVtbl *lpVtbl;
  2309. };
  2310. #ifdef COBJMACROS
  2311. #define IACLCustomMRU_QueryInterface(This,riid,ppvObject) \
  2312. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2313. #define IACLCustomMRU_AddRef(This) \
  2314. (This)->lpVtbl -> AddRef(This)
  2315. #define IACLCustomMRU_Release(This) \
  2316. (This)->lpVtbl -> Release(This)
  2317. #define IACLCustomMRU_Initialize(This,pwszMRURegKey,dwMax) \
  2318. (This)->lpVtbl -> Initialize(This,pwszMRURegKey,dwMax)
  2319. #define IACLCustomMRU_AddMRUString(This,pwszEntry) \
  2320. (This)->lpVtbl -> AddMRUString(This,pwszEntry)
  2321. #endif /* COBJMACROS */
  2322. #endif /* C style interface */
  2323. HRESULT STDMETHODCALLTYPE IACLCustomMRU_Initialize_Proxy(
  2324. IACLCustomMRU * This,
  2325. /* [string][in] */ LPCWSTR pwszMRURegKey,
  2326. /* [in] */ DWORD dwMax);
  2327. void __RPC_STUB IACLCustomMRU_Initialize_Stub(
  2328. IRpcStubBuffer *This,
  2329. IRpcChannelBuffer *_pRpcChannelBuffer,
  2330. PRPC_MESSAGE _pRpcMessage,
  2331. DWORD *_pdwStubPhase);
  2332. HRESULT STDMETHODCALLTYPE IACLCustomMRU_AddMRUString_Proxy(
  2333. IACLCustomMRU * This,
  2334. /* [string][in] */ LPCWSTR pwszEntry);
  2335. void __RPC_STUB IACLCustomMRU_AddMRUString_Stub(
  2336. IRpcStubBuffer *This,
  2337. IRpcChannelBuffer *_pRpcChannelBuffer,
  2338. PRPC_MESSAGE _pRpcMessage,
  2339. DWORD *_pdwStubPhase);
  2340. #endif /* __IACLCustomMRU_INTERFACE_DEFINED__ */
  2341. /* interface __MIDL_itf_iepriv_0277 */
  2342. /* [local] */
  2343. #if _WIN32_IE >= 0x0600
  2344. // used in both shell32 and browseui
  2345. extern RPC_IF_HANDLE __MIDL_itf_iepriv_0277_v0_0_c_ifspec;
  2346. extern RPC_IF_HANDLE __MIDL_itf_iepriv_0277_v0_0_s_ifspec;
  2347. #ifndef __IShellBrowserService_INTERFACE_DEFINED__
  2348. #define __IShellBrowserService_INTERFACE_DEFINED__
  2349. /* interface IShellBrowserService */
  2350. /* [unique][object][uuid][helpstring] */
  2351. EXTERN_C const IID IID_IShellBrowserService;
  2352. #if defined(__cplusplus) && !defined(CINTERFACE)
  2353. MIDL_INTERFACE("1307ee17-ea83-49eb-96b2-3a28e2d7048a")
  2354. IShellBrowserService : public IUnknown
  2355. {
  2356. public:
  2357. virtual HRESULT STDMETHODCALLTYPE GetPropertyBag(
  2358. /* [in] */ DWORD dwFlags,
  2359. /* [in] */ REFIID riid,
  2360. /* [iid_is][out] */ void **ppv) = 0;
  2361. };
  2362. #else /* C style interface */
  2363. typedef struct IShellBrowserServiceVtbl
  2364. {
  2365. BEGIN_INTERFACE
  2366. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  2367. IShellBrowserService * This,
  2368. /* [in] */ REFIID riid,
  2369. /* [iid_is][out] */ void **ppvObject);
  2370. ULONG ( STDMETHODCALLTYPE *AddRef )(
  2371. IShellBrowserService * This);
  2372. ULONG ( STDMETHODCALLTYPE *Release )(
  2373. IShellBrowserService * This);
  2374. HRESULT ( STDMETHODCALLTYPE *GetPropertyBag )(
  2375. IShellBrowserService * This,
  2376. /* [in] */ DWORD dwFlags,
  2377. /* [in] */ REFIID riid,
  2378. /* [iid_is][out] */ void **ppv);
  2379. END_INTERFACE
  2380. } IShellBrowserServiceVtbl;
  2381. interface IShellBrowserService
  2382. {
  2383. CONST_VTBL struct IShellBrowserServiceVtbl *lpVtbl;
  2384. };
  2385. #ifdef COBJMACROS
  2386. #define IShellBrowserService_QueryInterface(This,riid,ppvObject) \
  2387. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2388. #define IShellBrowserService_AddRef(This) \
  2389. (This)->lpVtbl -> AddRef(This)
  2390. #define IShellBrowserService_Release(This) \
  2391. (This)->lpVtbl -> Release(This)
  2392. #define IShellBrowserService_GetPropertyBag(This,dwFlags,riid,ppv) \
  2393. (This)->lpVtbl -> GetPropertyBag(This,dwFlags,riid,ppv)
  2394. #endif /* COBJMACROS */
  2395. #endif /* C style interface */
  2396. HRESULT STDMETHODCALLTYPE IShellBrowserService_GetPropertyBag_Proxy(
  2397. IShellBrowserService * This,
  2398. /* [in] */ DWORD dwFlags,
  2399. /* [in] */ REFIID riid,
  2400. /* [iid_is][out] */ void **ppv);
  2401. void __RPC_STUB IShellBrowserService_GetPropertyBag_Stub(
  2402. IRpcStubBuffer *This,
  2403. IRpcChannelBuffer *_pRpcChannelBuffer,
  2404. PRPC_MESSAGE _pRpcMessage,
  2405. DWORD *_pdwStubPhase);
  2406. #endif /* __IShellBrowserService_INTERFACE_DEFINED__ */
  2407. /* interface __MIDL_itf_iepriv_0278 */
  2408. /* [local] */
  2409. #endif // _WIN32_IE >= 0x0600
  2410. extern RPC_IF_HANDLE __MIDL_itf_iepriv_0278_v0_0_c_ifspec;
  2411. extern RPC_IF_HANDLE __MIDL_itf_iepriv_0278_v0_0_s_ifspec;
  2412. #ifndef __IEPrivateObjects_LIBRARY_DEFINED__
  2413. #define __IEPrivateObjects_LIBRARY_DEFINED__
  2414. /* library IEPrivateObjects */
  2415. /* [uuid] */
  2416. EXTERN_C const IID LIBID_IEPrivateObjects;
  2417. EXTERN_C const CLSID CLSID_MruPidlList;
  2418. #ifdef __cplusplus
  2419. class DECLSPEC_UUID("42aedc87-2188-41fd-b9a3-0c966feabec1")
  2420. MruPidlList;
  2421. #endif
  2422. EXTERN_C const CLSID CLSID_MruLongList;
  2423. #ifdef __cplusplus
  2424. class DECLSPEC_UUID("53bd6b4e-3780-4693-afc3-7161c2f3ee9c")
  2425. MruLongList;
  2426. #endif
  2427. EXTERN_C const CLSID CLSID_MruShortList;
  2428. #ifdef __cplusplus
  2429. class DECLSPEC_UUID("53bd6b4f-3780-4693-afc3-7161c2f3ee9c")
  2430. MruShortList;
  2431. #endif
  2432. EXTERN_C const CLSID CLSID_FolderMarshalStub;
  2433. #ifdef __cplusplus
  2434. class DECLSPEC_UUID("bf50b68e-29b8-4386-ae9c-9734d5117cd5")
  2435. FolderMarshalStub;
  2436. #endif
  2437. EXTERN_C const CLSID CLSID_MailRecipient;
  2438. #ifdef __cplusplus
  2439. class DECLSPEC_UUID("9E56BE60-C50F-11CF-9A2C-00A0C90A90CE")
  2440. MailRecipient;
  2441. #endif
  2442. EXTERN_C const CLSID CLSID_SearchCompanionInfo;
  2443. #ifdef __cplusplus
  2444. class DECLSPEC_UUID("AC1B0D5D-DD59-4ff0-93F8-A84373821606")
  2445. SearchCompanionInfo;
  2446. #endif
  2447. EXTERN_C const CLSID CLSID_TrackShellMenu;
  2448. #ifdef __cplusplus
  2449. class DECLSPEC_UUID("8278F931-2A3E-11d2-838F-00C04FD918D0")
  2450. TrackShellMenu;
  2451. #endif
  2452. EXTERN_C const CLSID CLSID_Thumbnail;
  2453. #ifdef __cplusplus
  2454. class DECLSPEC_UUID("7487cd30-f71a-11d0-9ea7-00805f714772")
  2455. Thumbnail;
  2456. #endif
  2457. #endif /* __IEPrivateObjects_LIBRARY_DEFINED__ */
  2458. /* Additional Prototypes for ALL interfaces */
  2459. /* end of Additional Prototypes */
  2460. #ifdef __cplusplus
  2461. }
  2462. #endif
  2463. #endif