home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / shldisp.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  218.3 KB  |  6,455 lines

  1. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  2.  
  3. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  4.  
  5. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  6.  
  7.  
  8.  /* File created by MIDL compiler version 5.03.0279 */
  9. /* at Tue Aug 24 16:52:50 1999
  10.  */
  11. /* Compiler settings for shldisp.idl:
  12.     Oicf (OptLev=i2), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext
  13.     error checks: allocation ref bounds_check enum stub_data 
  14.     VC __declspec() decoration level: 
  15.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  16.          DECLSPEC_UUID(), MIDL_INTERFACE()
  17. */
  18. //@@MIDL_FILE_HEADING(  )
  19.  
  20.  
  21. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  22. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  23. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  24. #endif
  25.  
  26. #include "rpc.h"
  27. #include "rpcndr.h"
  28.  
  29. #ifndef __RPCNDR_H_VERSION__
  30. #error this stub requires an updated version of <rpcndr.h>
  31. #endif // __RPCNDR_H_VERSION__
  32.  
  33. #ifndef COM_NO_WINDOWS_H
  34. #include "windows.h"
  35. #include "ole2.h"
  36. #endif /*COM_NO_WINDOWS_H*/
  37.  
  38. #ifndef __shldisp_h__
  39. #define __shldisp_h__
  40.  
  41. /* Forward Declarations */ 
  42.  
  43. #ifndef __IFolderViewOC_FWD_DEFINED__
  44. #define __IFolderViewOC_FWD_DEFINED__
  45. typedef interface IFolderViewOC IFolderViewOC;
  46. #endif     /* __IFolderViewOC_FWD_DEFINED__ */
  47.  
  48.  
  49. #ifndef __DShellFolderViewEvents_FWD_DEFINED__
  50. #define __DShellFolderViewEvents_FWD_DEFINED__
  51. typedef interface DShellFolderViewEvents DShellFolderViewEvents;
  52. #endif     /* __DShellFolderViewEvents_FWD_DEFINED__ */
  53.  
  54.  
  55. #ifndef __ShellFolderViewOC_FWD_DEFINED__
  56. #define __ShellFolderViewOC_FWD_DEFINED__
  57.  
  58. #ifdef __cplusplus
  59. typedef class ShellFolderViewOC ShellFolderViewOC;
  60. #else
  61. typedef struct ShellFolderViewOC ShellFolderViewOC;
  62. #endif /* __cplusplus */
  63.  
  64. #endif     /* __ShellFolderViewOC_FWD_DEFINED__ */
  65.  
  66.  
  67. #ifndef __DFConstraint_FWD_DEFINED__
  68. #define __DFConstraint_FWD_DEFINED__
  69. typedef interface DFConstraint DFConstraint;
  70. #endif     /* __DFConstraint_FWD_DEFINED__ */
  71.  
  72.  
  73. #ifndef __ISearchCommandExt_FWD_DEFINED__
  74. #define __ISearchCommandExt_FWD_DEFINED__
  75. typedef interface ISearchCommandExt ISearchCommandExt;
  76. #endif     /* __ISearchCommandExt_FWD_DEFINED__ */
  77.  
  78.  
  79. #ifndef __FolderItem_FWD_DEFINED__
  80. #define __FolderItem_FWD_DEFINED__
  81. typedef interface FolderItem FolderItem;
  82. #endif     /* __FolderItem_FWD_DEFINED__ */
  83.  
  84.  
  85. #ifndef __FolderItems_FWD_DEFINED__
  86. #define __FolderItems_FWD_DEFINED__
  87. typedef interface FolderItems FolderItems;
  88. #endif     /* __FolderItems_FWD_DEFINED__ */
  89.  
  90.  
  91. #ifndef __FolderItemVerb_FWD_DEFINED__
  92. #define __FolderItemVerb_FWD_DEFINED__
  93. typedef interface FolderItemVerb FolderItemVerb;
  94. #endif     /* __FolderItemVerb_FWD_DEFINED__ */
  95.  
  96.  
  97. #ifndef __FolderItemVerbs_FWD_DEFINED__
  98. #define __FolderItemVerbs_FWD_DEFINED__
  99. typedef interface FolderItemVerbs FolderItemVerbs;
  100. #endif     /* __FolderItemVerbs_FWD_DEFINED__ */
  101.  
  102.  
  103. #ifndef __Folder_FWD_DEFINED__
  104. #define __Folder_FWD_DEFINED__
  105. typedef interface Folder Folder;
  106. #endif     /* __Folder_FWD_DEFINED__ */
  107.  
  108.  
  109. #ifndef __Folder2_FWD_DEFINED__
  110. #define __Folder2_FWD_DEFINED__
  111. typedef interface Folder2 Folder2;
  112. #endif     /* __Folder2_FWD_DEFINED__ */
  113.  
  114.  
  115. #ifndef __FolderItem2_FWD_DEFINED__
  116. #define __FolderItem2_FWD_DEFINED__
  117. typedef interface FolderItem2 FolderItem2;
  118. #endif     /* __FolderItem2_FWD_DEFINED__ */
  119.  
  120.  
  121. #ifndef __ShellFolderItem_FWD_DEFINED__
  122. #define __ShellFolderItem_FWD_DEFINED__
  123.  
  124. #ifdef __cplusplus
  125. typedef class ShellFolderItem ShellFolderItem;
  126. #else
  127. typedef struct ShellFolderItem ShellFolderItem;
  128. #endif /* __cplusplus */
  129.  
  130. #endif     /* __ShellFolderItem_FWD_DEFINED__ */
  131.  
  132.  
  133. #ifndef __FolderItems2_FWD_DEFINED__
  134. #define __FolderItems2_FWD_DEFINED__
  135. typedef interface FolderItems2 FolderItems2;
  136. #endif     /* __FolderItems2_FWD_DEFINED__ */
  137.  
  138.  
  139. #ifndef __IShellLinkDual_FWD_DEFINED__
  140. #define __IShellLinkDual_FWD_DEFINED__
  141. typedef interface IShellLinkDual IShellLinkDual;
  142. #endif     /* __IShellLinkDual_FWD_DEFINED__ */
  143.  
  144.  
  145. #ifndef __IShellLinkDual2_FWD_DEFINED__
  146. #define __IShellLinkDual2_FWD_DEFINED__
  147. typedef interface IShellLinkDual2 IShellLinkDual2;
  148. #endif     /* __IShellLinkDual2_FWD_DEFINED__ */
  149.  
  150.  
  151. #ifndef __ShellLinkObject_FWD_DEFINED__
  152. #define __ShellLinkObject_FWD_DEFINED__
  153.  
  154. #ifdef __cplusplus
  155. typedef class ShellLinkObject ShellLinkObject;
  156. #else
  157. typedef struct ShellLinkObject ShellLinkObject;
  158. #endif /* __cplusplus */
  159.  
  160. #endif     /* __ShellLinkObject_FWD_DEFINED__ */
  161.  
  162.  
  163. #ifndef __IShellFolderViewDual_FWD_DEFINED__
  164. #define __IShellFolderViewDual_FWD_DEFINED__
  165. typedef interface IShellFolderViewDual IShellFolderViewDual;
  166. #endif     /* __IShellFolderViewDual_FWD_DEFINED__ */
  167.  
  168.  
  169. #ifndef __ShellFolderView_FWD_DEFINED__
  170. #define __ShellFolderView_FWD_DEFINED__
  171.  
  172. #ifdef __cplusplus
  173. typedef class ShellFolderView ShellFolderView;
  174. #else
  175. typedef struct ShellFolderView ShellFolderView;
  176. #endif /* __cplusplus */
  177.  
  178. #endif     /* __ShellFolderView_FWD_DEFINED__ */
  179.  
  180.  
  181. #ifndef __IShellDispatch_FWD_DEFINED__
  182. #define __IShellDispatch_FWD_DEFINED__
  183. typedef interface IShellDispatch IShellDispatch;
  184. #endif     /* __IShellDispatch_FWD_DEFINED__ */
  185.  
  186.  
  187. #ifndef __IShellDispatch2_FWD_DEFINED__
  188. #define __IShellDispatch2_FWD_DEFINED__
  189. typedef interface IShellDispatch2 IShellDispatch2;
  190. #endif     /* __IShellDispatch2_FWD_DEFINED__ */
  191.  
  192.  
  193. #ifndef __Shell_FWD_DEFINED__
  194. #define __Shell_FWD_DEFINED__
  195.  
  196. #ifdef __cplusplus
  197. typedef class Shell Shell;
  198. #else
  199. typedef struct Shell Shell;
  200. #endif /* __cplusplus */
  201.  
  202. #endif     /* __Shell_FWD_DEFINED__ */
  203.  
  204.  
  205. #ifndef __ShellDispatchInproc_FWD_DEFINED__
  206. #define __ShellDispatchInproc_FWD_DEFINED__
  207.  
  208. #ifdef __cplusplus
  209. typedef class ShellDispatchInproc ShellDispatchInproc;
  210. #else
  211. typedef struct ShellDispatchInproc ShellDispatchInproc;
  212. #endif /* __cplusplus */
  213.  
  214. #endif     /* __ShellDispatchInproc_FWD_DEFINED__ */
  215.  
  216.  
  217. #ifndef __WebViewFolderContents_FWD_DEFINED__
  218. #define __WebViewFolderContents_FWD_DEFINED__
  219.  
  220. #ifdef __cplusplus
  221. typedef class WebViewFolderContents WebViewFolderContents;
  222. #else
  223. typedef struct WebViewFolderContents WebViewFolderContents;
  224. #endif /* __cplusplus */
  225.  
  226. #endif     /* __WebViewFolderContents_FWD_DEFINED__ */
  227.  
  228.  
  229. #ifndef __DSearchCommandEvents_FWD_DEFINED__
  230. #define __DSearchCommandEvents_FWD_DEFINED__
  231. typedef interface DSearchCommandEvents DSearchCommandEvents;
  232. #endif     /* __DSearchCommandEvents_FWD_DEFINED__ */
  233.  
  234.  
  235. #ifndef __SearchCommand_FWD_DEFINED__
  236. #define __SearchCommand_FWD_DEFINED__
  237.  
  238. #ifdef __cplusplus
  239. typedef class SearchCommand SearchCommand;
  240. #else
  241. typedef struct SearchCommand SearchCommand;
  242. #endif /* __cplusplus */
  243.  
  244. #endif     /* __SearchCommand_FWD_DEFINED__ */
  245.  
  246.  
  247. #ifndef __IFileSearchBand_FWD_DEFINED__
  248. #define __IFileSearchBand_FWD_DEFINED__
  249. typedef interface IFileSearchBand IFileSearchBand;
  250. #endif     /* __IFileSearchBand_FWD_DEFINED__ */
  251.  
  252.  
  253. #ifndef __FileSearchBand_FWD_DEFINED__
  254. #define __FileSearchBand_FWD_DEFINED__
  255.  
  256. #ifdef __cplusplus
  257. typedef class FileSearchBand FileSearchBand;
  258. #else
  259. typedef struct FileSearchBand FileSearchBand;
  260. #endif /* __cplusplus */
  261.  
  262. #endif     /* __FileSearchBand_FWD_DEFINED__ */
  263.  
  264.  
  265. #ifndef __IAutoComplete_FWD_DEFINED__
  266. #define __IAutoComplete_FWD_DEFINED__
  267. typedef interface IAutoComplete IAutoComplete;
  268. #endif     /* __IAutoComplete_FWD_DEFINED__ */
  269.  
  270.  
  271. #ifndef __IAutoComplete2_FWD_DEFINED__
  272. #define __IAutoComplete2_FWD_DEFINED__
  273. typedef interface IAutoComplete2 IAutoComplete2;
  274. #endif     /* __IAutoComplete2_FWD_DEFINED__ */
  275.  
  276.  
  277. #ifndef __IAsyncOperation_FWD_DEFINED__
  278. #define __IAsyncOperation_FWD_DEFINED__
  279. typedef interface IAsyncOperation IAsyncOperation;
  280. #endif     /* __IAsyncOperation_FWD_DEFINED__ */
  281.  
  282.  
  283. /* header files for imported files */
  284. #include "ocidl.h"
  285.  
  286. #ifdef __cplusplus
  287. extern "C"{
  288. #endif 
  289.  
  290. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  291. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  292.  
  293. /* interface __MIDL_itf_shldisp_0000 */
  294. /* [local] */ 
  295.  
  296.  
  297. EXTERN_C const IID IID_IAsyncOperation;
  298. #ifndef _SHLDISP_PUB_H_
  299. #define _SHLDISP_PUB_H_
  300.  
  301. #pragma once
  302.  
  303.  
  304. extern RPC_IF_HANDLE __MIDL_itf_shldisp_0000_v0_0_c_ifspec;
  305. extern RPC_IF_HANDLE __MIDL_itf_shldisp_0000_v0_0_s_ifspec;
  306.  
  307.  
  308. #ifndef __Shell32_LIBRARY_DEFINED__
  309. #define __Shell32_LIBRARY_DEFINED__
  310.  
  311. /* library Shell32 */
  312. /* [version][lcid][helpstring][uuid] */ 
  313.  
  314. typedef /* [helpstring][uuid] */  DECLSPEC_UUID("418f4e6a-b903-11d1-b0a6-00c04fc33aa5") 
  315. enum SearchCommandExecuteErrors
  316.     {    SCEE_PATHNOTFOUND    = 1,
  317.     SCEE_MAXFILESFOUND    = SCEE_PATHNOTFOUND + 1,
  318.     SCEE_INDEXSEARCH    = SCEE_MAXFILESFOUND + 1,
  319.     SCEE_CONSTRAINT    = SCEE_INDEXSEARCH + 1,
  320.     SCEE_SCOPEMISMATCH    = SCEE_CONSTRAINT + 1,
  321.     SCEE_CASESENINDEX    = SCEE_SCOPEMISMATCH + 1,
  322.     SCEE_INDEXNOTCOMPLETE    = SCEE_CASESENINDEX + 1
  323.     }    SearchCommandExecuteErrors;
  324.  
  325.  
  326.  
  327.  
  328.  
  329. typedef /* [helpstring][uuid] */  DECLSPEC_UUID("35f1a0d0-3e9a-11d2-8499-005345000000") 
  330. enum OfflineFolderStatus
  331.     {    OFS_INACTIVE    = -1,
  332.     OFS_ONLINE    = OFS_INACTIVE + 1,
  333.     OFS_OFFLINE    = OFS_ONLINE + 1,
  334.     OFS_SERVERBACK    = OFS_OFFLINE + 1,
  335.     OFS_DIRTYCACHE    = OFS_SERVERBACK + 1
  336.     }    OfflineFolderStatus;
  337.  
  338. typedef /* [helpstring][uuid] */  DECLSPEC_UUID("742A99A0-C77E-11D0-A32C-00A0C91EEDBA") 
  339. enum ShellFolderViewOptions
  340.     {    SFVVO_SHOWALLOBJECTS    = 0x1,
  341.     SFVVO_SHOWEXTENSIONS    = 0x2,
  342.     SFVVO_SHOWCOMPCOLOR    = 0x8,
  343.     SFVVO_SHOWSYSFILES    = 0x20,
  344.     SFVVO_WIN95CLASSIC    = 0x40,
  345.     SFVVO_DOUBLECLICKINWEBVIEW    = 0x80,
  346.     SFVVO_DESKTOPHTML    = 0x200
  347.     }    ShellFolderViewOptions;
  348.  
  349. typedef /* [helpstring][uuid] */  DECLSPEC_UUID("CA31EA20-48D0-11CF-8350-444553540000") 
  350. enum ShellSpecialFolderConstants
  351.     {    ssfDESKTOP    = 0,
  352.     ssfPROGRAMS    = 0x2,
  353.     ssfCONTROLS    = 0x3,
  354.     ssfPRINTERS    = 0x4,
  355.     ssfPERSONAL    = 0x5,
  356.     ssfFAVORITES    = 0x6,
  357.     ssfSTARTUP    = 0x7,
  358.     ssfRECENT    = 0x8,
  359.     ssfSENDTO    = 0x9,
  360.     ssfBITBUCKET    = 0xa,
  361.     ssfSTARTMENU    = 0xb,
  362.     ssfDESKTOPDIRECTORY    = 0x10,
  363.     ssfDRIVES    = 0x11,
  364.     ssfNETWORK    = 0x12,
  365.     ssfNETHOOD    = 0x13,
  366.     ssfFONTS    = 0x14,
  367.     ssfTEMPLATES    = 0x15,
  368.     ssfCOMMONSTARTMENU    = 0x16,
  369.     ssfCOMMONPROGRAMS    = 0x17,
  370.     ssfCOMMONSTARTUP    = 0x18,
  371.     ssfCOMMONDESKTOPDIR    = 0x19,
  372.     ssfAPPDATA    = 0x1a,
  373.     ssfPRINTHOOD    = 0x1b,
  374.     ssfLOCALAPPDATA    = 0x1c,
  375.     ssfALTSTARTUP    = 0x1d,
  376.     ssfCOMMONALTSTARTUP    = 0x1e,
  377.     ssfCOMMONFAVORITES    = 0x1f,
  378.     ssfINTERNETCACHE    = 0x20,
  379.     ssfCOOKIES    = 0x21,
  380.     ssfHISTORY    = 0x22,
  381.     ssfCOMMONAPPDATA    = 0x23,
  382.     ssfWINDOWS    = 0x24,
  383.     ssfSYSTEM    = 0x25,
  384.     ssfPROGRAMFILES    = 0x26,
  385.     ssfMYPICTURES    = 0x27,
  386.     ssfPROFILE    = 0x28,
  387.     ssfSYSTEMx86    = 0x29,
  388.     ssfPROGRAMFILESx86    = 0x30
  389.     }    ShellSpecialFolderConstants;
  390.  
  391.  
  392. EXTERN_C const IID LIBID_Shell32;
  393.  
  394. #ifndef __IFolderViewOC_INTERFACE_DEFINED__
  395. #define __IFolderViewOC_INTERFACE_DEFINED__
  396.  
  397. /* interface IFolderViewOC */
  398. /* [object][dual][oleautomation][hidden][helpcontext][helpstring][uuid] */ 
  399.  
  400.  
  401. EXTERN_C const IID IID_IFolderViewOC;
  402.  
  403. #if defined(__cplusplus) && !defined(CINTERFACE)
  404.     
  405.     MIDL_INTERFACE("9BA05970-F6A8-11CF-A442-00A0C90A8F39")
  406.     IFolderViewOC : public IDispatch
  407.     {
  408.     public:
  409.         virtual /* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE SetFolderView( 
  410.             /* [in] */ IDispatch __RPC_FAR *pdisp) = 0;
  411.         
  412.     };
  413.     
  414. #else     /* C style interface */
  415.  
  416.     typedef struct IFolderViewOCVtbl
  417.     {
  418.         BEGIN_INTERFACE
  419.         
  420.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  421.             IFolderViewOC __RPC_FAR * This,
  422.             /* [in] */ REFIID riid,
  423.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  424.         
  425.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  426.             IFolderViewOC __RPC_FAR * This);
  427.         
  428.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  429.             IFolderViewOC __RPC_FAR * This);
  430.         
  431.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  432.             IFolderViewOC __RPC_FAR * This,
  433.             /* [out] */ UINT __RPC_FAR *pctinfo);
  434.         
  435.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  436.             IFolderViewOC __RPC_FAR * This,
  437.             /* [in] */ UINT iTInfo,
  438.             /* [in] */ LCID lcid,
  439.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  440.         
  441.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  442.             IFolderViewOC __RPC_FAR * This,
  443.             /* [in] */ REFIID riid,
  444.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  445.             /* [in] */ UINT cNames,
  446.             /* [in] */ LCID lcid,
  447.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  448.         
  449.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  450.             IFolderViewOC __RPC_FAR * This,
  451.             /* [in] */ DISPID dispIdMember,
  452.             /* [in] */ REFIID riid,
  453.             /* [in] */ LCID lcid,
  454.             /* [in] */ WORD wFlags,
  455.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  456.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  457.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  458.             /* [out] */ UINT __RPC_FAR *puArgErr);
  459.         
  460.         /* [helpcontext][helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFolderView )( 
  461.             IFolderViewOC __RPC_FAR * This,
  462.             /* [in] */ IDispatch __RPC_FAR *pdisp);
  463.         
  464.         END_INTERFACE
  465.     } IFolderViewOCVtbl;
  466.  
  467.     interface IFolderViewOC
  468.     {
  469.         CONST_VTBL struct IFolderViewOCVtbl __RPC_FAR *lpVtbl;
  470.     };
  471.  
  472.     
  473.  
  474. #ifdef COBJMACROS
  475.  
  476.  
  477. #define IFolderViewOC_QueryInterface(This,riid,ppvObject)    \
  478.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  479.  
  480. #define IFolderViewOC_AddRef(This)    \
  481.     (This)->lpVtbl -> AddRef(This)
  482.  
  483. #define IFolderViewOC_Release(This)    \
  484.     (This)->lpVtbl -> Release(This)
  485.  
  486.  
  487. #define IFolderViewOC_GetTypeInfoCount(This,pctinfo)    \
  488.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  489.  
  490. #define IFolderViewOC_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  491.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  492.  
  493. #define IFolderViewOC_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  494.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  495.  
  496. #define IFolderViewOC_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  497.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  498.  
  499.  
  500. #define IFolderViewOC_SetFolderView(This,pdisp)    \
  501.     (This)->lpVtbl -> SetFolderView(This,pdisp)
  502.  
  503. #endif /* COBJMACROS */
  504.  
  505.  
  506. #endif     /* C style interface */
  507.  
  508.  
  509.  
  510. /* [helpcontext][helpstring] */ HRESULT STDMETHODCALLTYPE IFolderViewOC_SetFolderView_Proxy( 
  511.     IFolderViewOC __RPC_FAR * This,
  512.     /* [in] */ IDispatch __RPC_FAR *pdisp);
  513.  
  514.  
  515. void __RPC_STUB IFolderViewOC_SetFolderView_Stub(
  516.     IRpcStubBuffer *This,
  517.     IRpcChannelBuffer *_pRpcChannelBuffer,
  518.     PRPC_MESSAGE _pRpcMessage,
  519.     DWORD *_pdwStubPhase);
  520.  
  521.  
  522.  
  523. #endif     /* __IFolderViewOC_INTERFACE_DEFINED__ */
  524.  
  525.  
  526. #ifndef __DShellFolderViewEvents_DISPINTERFACE_DEFINED__
  527. #define __DShellFolderViewEvents_DISPINTERFACE_DEFINED__
  528.  
  529. /* dispinterface DShellFolderViewEvents */
  530. /* [helpstring][uuid] */ 
  531.  
  532.  
  533. EXTERN_C const IID DIID_DShellFolderViewEvents;
  534.  
  535. #if defined(__cplusplus) && !defined(CINTERFACE)
  536.  
  537.     MIDL_INTERFACE("62112AA2-EBE4-11cf-A5FB-0020AFE7292D")
  538.     DShellFolderViewEvents : public IDispatch
  539.     {
  540.     };
  541.     
  542. #else     /* C style interface */
  543.  
  544.     typedef struct DShellFolderViewEventsVtbl
  545.     {
  546.         BEGIN_INTERFACE
  547.         
  548.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  549.             DShellFolderViewEvents __RPC_FAR * This,
  550.             /* [in] */ REFIID riid,
  551.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  552.         
  553.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  554.             DShellFolderViewEvents __RPC_FAR * This);
  555.         
  556.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  557.             DShellFolderViewEvents __RPC_FAR * This);
  558.         
  559.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  560.             DShellFolderViewEvents __RPC_FAR * This,
  561.             /* [out] */ UINT __RPC_FAR *pctinfo);
  562.         
  563.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  564.             DShellFolderViewEvents __RPC_FAR * This,
  565.             /* [in] */ UINT iTInfo,
  566.             /* [in] */ LCID lcid,
  567.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  568.         
  569.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  570.             DShellFolderViewEvents __RPC_FAR * This,
  571.             /* [in] */ REFIID riid,
  572.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  573.             /* [in] */ UINT cNames,
  574.             /* [in] */ LCID lcid,
  575.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  576.         
  577.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  578.             DShellFolderViewEvents __RPC_FAR * This,
  579.             /* [in] */ DISPID dispIdMember,
  580.             /* [in] */ REFIID riid,
  581.             /* [in] */ LCID lcid,
  582.             /* [in] */ WORD wFlags,
  583.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  584.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  585.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  586.             /* [out] */ UINT __RPC_FAR *puArgErr);
  587.         
  588.         END_INTERFACE
  589.     } DShellFolderViewEventsVtbl;
  590.  
  591.     interface DShellFolderViewEvents
  592.     {
  593.         CONST_VTBL struct DShellFolderViewEventsVtbl __RPC_FAR *lpVtbl;
  594.     };
  595.  
  596.     
  597.  
  598. #ifdef COBJMACROS
  599.  
  600.  
  601. #define DShellFolderViewEvents_QueryInterface(This,riid,ppvObject)    \
  602.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  603.  
  604. #define DShellFolderViewEvents_AddRef(This)    \
  605.     (This)->lpVtbl -> AddRef(This)
  606.  
  607. #define DShellFolderViewEvents_Release(This)    \
  608.     (This)->lpVtbl -> Release(This)
  609.  
  610.  
  611. #define DShellFolderViewEvents_GetTypeInfoCount(This,pctinfo)    \
  612.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  613.  
  614. #define DShellFolderViewEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  615.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  616.  
  617. #define DShellFolderViewEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  618.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  619.  
  620. #define DShellFolderViewEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  621.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  622.  
  623. #endif /* COBJMACROS */
  624.  
  625.  
  626. #endif     /* C style interface */
  627.  
  628.  
  629. #endif     /* __DShellFolderViewEvents_DISPINTERFACE_DEFINED__ */
  630.  
  631.  
  632. EXTERN_C const CLSID CLSID_ShellFolderViewOC;
  633.  
  634. #ifdef __cplusplus
  635.  
  636. class DECLSPEC_UUID("9BA05971-F6A8-11CF-A442-00A0C90A8F39")
  637. ShellFolderViewOC;
  638. #endif
  639.  
  640. #ifndef __DFConstraint_INTERFACE_DEFINED__
  641. #define __DFConstraint_INTERFACE_DEFINED__
  642.  
  643. /* interface DFConstraint */
  644. /* [object][dual][oleautomation][helpstring][uuid] */ 
  645.  
  646.  
  647. EXTERN_C const IID IID_DFConstraint;
  648.  
  649. #if defined(__cplusplus) && !defined(CINTERFACE)
  650.     
  651.     MIDL_INTERFACE("4a3df050-23bd-11d2-939f-00a0c91eedba")
  652.     DFConstraint : public IDispatch
  653.     {
  654.     public:
  655.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  656.             /* [retval][out] */ BSTR __RPC_FAR *pbs) = 0;
  657.         
  658.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Value( 
  659.             /* [retval][out] */ VARIANT __RPC_FAR *pv) = 0;
  660.         
  661.     };
  662.     
  663. #else     /* C style interface */
  664.  
  665.     typedef struct DFConstraintVtbl
  666.     {
  667.         BEGIN_INTERFACE
  668.         
  669.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  670.             DFConstraint __RPC_FAR * This,
  671.             /* [in] */ REFIID riid,
  672.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  673.         
  674.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  675.             DFConstraint __RPC_FAR * This);
  676.         
  677.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  678.             DFConstraint __RPC_FAR * This);
  679.         
  680.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  681.             DFConstraint __RPC_FAR * This,
  682.             /* [out] */ UINT __RPC_FAR *pctinfo);
  683.         
  684.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  685.             DFConstraint __RPC_FAR * This,
  686.             /* [in] */ UINT iTInfo,
  687.             /* [in] */ LCID lcid,
  688.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  689.         
  690.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  691.             DFConstraint __RPC_FAR * This,
  692.             /* [in] */ REFIID riid,
  693.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  694.             /* [in] */ UINT cNames,
  695.             /* [in] */ LCID lcid,
  696.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  697.         
  698.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  699.             DFConstraint __RPC_FAR * This,
  700.             /* [in] */ DISPID dispIdMember,
  701.             /* [in] */ REFIID riid,
  702.             /* [in] */ LCID lcid,
  703.             /* [in] */ WORD wFlags,
  704.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  705.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  706.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  707.             /* [out] */ UINT __RPC_FAR *puArgErr);
  708.         
  709.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  710.             DFConstraint __RPC_FAR * This,
  711.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  712.         
  713.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Value )( 
  714.             DFConstraint __RPC_FAR * This,
  715.             /* [retval][out] */ VARIANT __RPC_FAR *pv);
  716.         
  717.         END_INTERFACE
  718.     } DFConstraintVtbl;
  719.  
  720.     interface DFConstraint
  721.     {
  722.         CONST_VTBL struct DFConstraintVtbl __RPC_FAR *lpVtbl;
  723.     };
  724.  
  725.     
  726.  
  727. #ifdef COBJMACROS
  728.  
  729.  
  730. #define DFConstraint_QueryInterface(This,riid,ppvObject)    \
  731.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  732.  
  733. #define DFConstraint_AddRef(This)    \
  734.     (This)->lpVtbl -> AddRef(This)
  735.  
  736. #define DFConstraint_Release(This)    \
  737.     (This)->lpVtbl -> Release(This)
  738.  
  739.  
  740. #define DFConstraint_GetTypeInfoCount(This,pctinfo)    \
  741.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  742.  
  743. #define DFConstraint_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  744.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  745.  
  746. #define DFConstraint_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  747.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  748.  
  749. #define DFConstraint_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  750.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  751.  
  752.  
  753. #define DFConstraint_get_Name(This,pbs)    \
  754.     (This)->lpVtbl -> get_Name(This,pbs)
  755.  
  756. #define DFConstraint_get_Value(This,pv)    \
  757.     (This)->lpVtbl -> get_Value(This,pv)
  758.  
  759. #endif /* COBJMACROS */
  760.  
  761.  
  762. #endif     /* C style interface */
  763.  
  764.  
  765.  
  766. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE DFConstraint_get_Name_Proxy( 
  767.     DFConstraint __RPC_FAR * This,
  768.     /* [retval][out] */ BSTR __RPC_FAR *pbs);
  769.  
  770.  
  771. void __RPC_STUB DFConstraint_get_Name_Stub(
  772.     IRpcStubBuffer *This,
  773.     IRpcChannelBuffer *_pRpcChannelBuffer,
  774.     PRPC_MESSAGE _pRpcMessage,
  775.     DWORD *_pdwStubPhase);
  776.  
  777.  
  778. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE DFConstraint_get_Value_Proxy( 
  779.     DFConstraint __RPC_FAR * This,
  780.     /* [retval][out] */ VARIANT __RPC_FAR *pv);
  781.  
  782.  
  783. void __RPC_STUB DFConstraint_get_Value_Stub(
  784.     IRpcStubBuffer *This,
  785.     IRpcChannelBuffer *_pRpcChannelBuffer,
  786.     PRPC_MESSAGE _pRpcMessage,
  787.     DWORD *_pdwStubPhase);
  788.  
  789.  
  790.  
  791. #endif     /* __DFConstraint_INTERFACE_DEFINED__ */
  792.  
  793.  
  794. #ifndef __ISearchCommandExt_INTERFACE_DEFINED__
  795. #define __ISearchCommandExt_INTERFACE_DEFINED__
  796.  
  797. /* interface ISearchCommandExt */
  798. /* [object][oleautomation][dual][helpstring][uuid] */ 
  799.  
  800.  
  801. EXTERN_C const IID IID_ISearchCommandExt;
  802.  
  803. #if defined(__cplusplus) && !defined(CINTERFACE)
  804.     
  805.     MIDL_INTERFACE("1D2EFD50-75CE-11d1-B75A-00A0C90564FE")
  806.     ISearchCommandExt : public IDispatch
  807.     {
  808.     public:
  809.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ClearResults( void) = 0;
  810.         
  811.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NavigateToSearchResults( void) = 0;
  812.         
  813.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ProgressText( 
  814.             /* [retval][out] */ BSTR __RPC_FAR *pbs) = 0;
  815.         
  816.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SaveSearch( void) = 0;
  817.         
  818.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetErrorInfo( 
  819.             /* [out] */ BSTR __RPC_FAR *pbs,
  820.             /* [retval][out] */ int __RPC_FAR *phr) = 0;
  821.         
  822.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SearchFor( 
  823.             /* [in] */ int iFor) = 0;
  824.         
  825.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetScopeInfo( 
  826.             /* [in] */ BSTR bsScope,
  827.             /* [out] */ int __RPC_FAR *pdwScopeInfo) = 0;
  828.         
  829.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RestoreSavedSearch( 
  830.             /* [in] */ VARIANT __RPC_FAR *pvarFile) = 0;
  831.         
  832.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Execute( 
  833.             /* [optional][in] */ VARIANT __RPC_FAR *RecordsAffected,
  834.             /* [optional][in] */ VARIANT __RPC_FAR *Parameters,
  835.             /* [optional][in] */ long Options) = 0;
  836.         
  837.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE AddConstraint( 
  838.             /* [in] */ BSTR Name,
  839.             /* [in] */ VARIANT Value) = 0;
  840.         
  841.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetNextConstraint( 
  842.             /* [in] */ VARIANT_BOOL fReset,
  843.             /* [retval][out] */ DFConstraint __RPC_FAR *__RPC_FAR *ppdfc) = 0;
  844.         
  845.     };
  846.     
  847. #else     /* C style interface */
  848.  
  849.     typedef struct ISearchCommandExtVtbl
  850.     {
  851.         BEGIN_INTERFACE
  852.         
  853.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  854.             ISearchCommandExt __RPC_FAR * This,
  855.             /* [in] */ REFIID riid,
  856.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  857.         
  858.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  859.             ISearchCommandExt __RPC_FAR * This);
  860.         
  861.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  862.             ISearchCommandExt __RPC_FAR * This);
  863.         
  864.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  865.             ISearchCommandExt __RPC_FAR * This,
  866.             /* [out] */ UINT __RPC_FAR *pctinfo);
  867.         
  868.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  869.             ISearchCommandExt __RPC_FAR * This,
  870.             /* [in] */ UINT iTInfo,
  871.             /* [in] */ LCID lcid,
  872.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  873.         
  874.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  875.             ISearchCommandExt __RPC_FAR * This,
  876.             /* [in] */ REFIID riid,
  877.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  878.             /* [in] */ UINT cNames,
  879.             /* [in] */ LCID lcid,
  880.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  881.         
  882.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  883.             ISearchCommandExt __RPC_FAR * This,
  884.             /* [in] */ DISPID dispIdMember,
  885.             /* [in] */ REFIID riid,
  886.             /* [in] */ LCID lcid,
  887.             /* [in] */ WORD wFlags,
  888.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  889.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  890.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  891.             /* [out] */ UINT __RPC_FAR *puArgErr);
  892.         
  893.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ClearResults )( 
  894.             ISearchCommandExt __RPC_FAR * This);
  895.         
  896.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NavigateToSearchResults )( 
  897.             ISearchCommandExt __RPC_FAR * This);
  898.         
  899.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProgressText )( 
  900.             ISearchCommandExt __RPC_FAR * This,
  901.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  902.         
  903.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveSearch )( 
  904.             ISearchCommandExt __RPC_FAR * This);
  905.         
  906.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetErrorInfo )( 
  907.             ISearchCommandExt __RPC_FAR * This,
  908.             /* [out] */ BSTR __RPC_FAR *pbs,
  909.             /* [retval][out] */ int __RPC_FAR *phr);
  910.         
  911.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SearchFor )( 
  912.             ISearchCommandExt __RPC_FAR * This,
  913.             /* [in] */ int iFor);
  914.         
  915.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetScopeInfo )( 
  916.             ISearchCommandExt __RPC_FAR * This,
  917.             /* [in] */ BSTR bsScope,
  918.             /* [out] */ int __RPC_FAR *pdwScopeInfo);
  919.         
  920.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RestoreSavedSearch )( 
  921.             ISearchCommandExt __RPC_FAR * This,
  922.             /* [in] */ VARIANT __RPC_FAR *pvarFile);
  923.         
  924.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Execute )( 
  925.             ISearchCommandExt __RPC_FAR * This,
  926.             /* [optional][in] */ VARIANT __RPC_FAR *RecordsAffected,
  927.             /* [optional][in] */ VARIANT __RPC_FAR *Parameters,
  928.             /* [optional][in] */ long Options);
  929.         
  930.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddConstraint )( 
  931.             ISearchCommandExt __RPC_FAR * This,
  932.             /* [in] */ BSTR Name,
  933.             /* [in] */ VARIANT Value);
  934.         
  935.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetNextConstraint )( 
  936.             ISearchCommandExt __RPC_FAR * This,
  937.             /* [in] */ VARIANT_BOOL fReset,
  938.             /* [retval][out] */ DFConstraint __RPC_FAR *__RPC_FAR *ppdfc);
  939.         
  940.         END_INTERFACE
  941.     } ISearchCommandExtVtbl;
  942.  
  943.     interface ISearchCommandExt
  944.     {
  945.         CONST_VTBL struct ISearchCommandExtVtbl __RPC_FAR *lpVtbl;
  946.     };
  947.  
  948.     
  949.  
  950. #ifdef COBJMACROS
  951.  
  952.  
  953. #define ISearchCommandExt_QueryInterface(This,riid,ppvObject)    \
  954.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  955.  
  956. #define ISearchCommandExt_AddRef(This)    \
  957.     (This)->lpVtbl -> AddRef(This)
  958.  
  959. #define ISearchCommandExt_Release(This)    \
  960.     (This)->lpVtbl -> Release(This)
  961.  
  962.  
  963. #define ISearchCommandExt_GetTypeInfoCount(This,pctinfo)    \
  964.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  965.  
  966. #define ISearchCommandExt_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  967.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  968.  
  969. #define ISearchCommandExt_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  970.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  971.  
  972. #define ISearchCommandExt_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  973.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  974.  
  975.  
  976. #define ISearchCommandExt_ClearResults(This)    \
  977.     (This)->lpVtbl -> ClearResults(This)
  978.  
  979. #define ISearchCommandExt_NavigateToSearchResults(This)    \
  980.     (This)->lpVtbl -> NavigateToSearchResults(This)
  981.  
  982. #define ISearchCommandExt_get_ProgressText(This,pbs)    \
  983.     (This)->lpVtbl -> get_ProgressText(This,pbs)
  984.  
  985. #define ISearchCommandExt_SaveSearch(This)    \
  986.     (This)->lpVtbl -> SaveSearch(This)
  987.  
  988. #define ISearchCommandExt_GetErrorInfo(This,pbs,phr)    \
  989.     (This)->lpVtbl -> GetErrorInfo(This,pbs,phr)
  990.  
  991. #define ISearchCommandExt_SearchFor(This,iFor)    \
  992.     (This)->lpVtbl -> SearchFor(This,iFor)
  993.  
  994. #define ISearchCommandExt_GetScopeInfo(This,bsScope,pdwScopeInfo)    \
  995.     (This)->lpVtbl -> GetScopeInfo(This,bsScope,pdwScopeInfo)
  996.  
  997. #define ISearchCommandExt_RestoreSavedSearch(This,pvarFile)    \
  998.     (This)->lpVtbl -> RestoreSavedSearch(This,pvarFile)
  999.  
  1000. #define ISearchCommandExt_Execute(This,RecordsAffected,Parameters,Options)    \
  1001.     (This)->lpVtbl -> Execute(This,RecordsAffected,Parameters,Options)
  1002.  
  1003. #define ISearchCommandExt_AddConstraint(This,Name,Value)    \
  1004.     (This)->lpVtbl -> AddConstraint(This,Name,Value)
  1005.  
  1006. #define ISearchCommandExt_GetNextConstraint(This,fReset,ppdfc)    \
  1007.     (This)->lpVtbl -> GetNextConstraint(This,fReset,ppdfc)
  1008.  
  1009. #endif /* COBJMACROS */
  1010.  
  1011.  
  1012. #endif     /* C style interface */
  1013.  
  1014.  
  1015.  
  1016. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISearchCommandExt_ClearResults_Proxy( 
  1017.     ISearchCommandExt __RPC_FAR * This);
  1018.  
  1019.  
  1020. void __RPC_STUB ISearchCommandExt_ClearResults_Stub(
  1021.     IRpcStubBuffer *This,
  1022.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1023.     PRPC_MESSAGE _pRpcMessage,
  1024.     DWORD *_pdwStubPhase);
  1025.  
  1026.  
  1027. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISearchCommandExt_NavigateToSearchResults_Proxy( 
  1028.     ISearchCommandExt __RPC_FAR * This);
  1029.  
  1030.  
  1031. void __RPC_STUB ISearchCommandExt_NavigateToSearchResults_Stub(
  1032.     IRpcStubBuffer *This,
  1033.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1034.     PRPC_MESSAGE _pRpcMessage,
  1035.     DWORD *_pdwStubPhase);
  1036.  
  1037.  
  1038. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ISearchCommandExt_get_ProgressText_Proxy( 
  1039.     ISearchCommandExt __RPC_FAR * This,
  1040.     /* [retval][out] */ BSTR __RPC_FAR *pbs);
  1041.  
  1042.  
  1043. void __RPC_STUB ISearchCommandExt_get_ProgressText_Stub(
  1044.     IRpcStubBuffer *This,
  1045.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1046.     PRPC_MESSAGE _pRpcMessage,
  1047.     DWORD *_pdwStubPhase);
  1048.  
  1049.  
  1050. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISearchCommandExt_SaveSearch_Proxy( 
  1051.     ISearchCommandExt __RPC_FAR * This);
  1052.  
  1053.  
  1054. void __RPC_STUB ISearchCommandExt_SaveSearch_Stub(
  1055.     IRpcStubBuffer *This,
  1056.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1057.     PRPC_MESSAGE _pRpcMessage,
  1058.     DWORD *_pdwStubPhase);
  1059.  
  1060.  
  1061. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISearchCommandExt_GetErrorInfo_Proxy( 
  1062.     ISearchCommandExt __RPC_FAR * This,
  1063.     /* [out] */ BSTR __RPC_FAR *pbs,
  1064.     /* [retval][out] */ int __RPC_FAR *phr);
  1065.  
  1066.  
  1067. void __RPC_STUB ISearchCommandExt_GetErrorInfo_Stub(
  1068.     IRpcStubBuffer *This,
  1069.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1070.     PRPC_MESSAGE _pRpcMessage,
  1071.     DWORD *_pdwStubPhase);
  1072.  
  1073.  
  1074. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISearchCommandExt_SearchFor_Proxy( 
  1075.     ISearchCommandExt __RPC_FAR * This,
  1076.     /* [in] */ int iFor);
  1077.  
  1078.  
  1079. void __RPC_STUB ISearchCommandExt_SearchFor_Stub(
  1080.     IRpcStubBuffer *This,
  1081.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1082.     PRPC_MESSAGE _pRpcMessage,
  1083.     DWORD *_pdwStubPhase);
  1084.  
  1085.  
  1086. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISearchCommandExt_GetScopeInfo_Proxy( 
  1087.     ISearchCommandExt __RPC_FAR * This,
  1088.     /* [in] */ BSTR bsScope,
  1089.     /* [out] */ int __RPC_FAR *pdwScopeInfo);
  1090.  
  1091.  
  1092. void __RPC_STUB ISearchCommandExt_GetScopeInfo_Stub(
  1093.     IRpcStubBuffer *This,
  1094.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1095.     PRPC_MESSAGE _pRpcMessage,
  1096.     DWORD *_pdwStubPhase);
  1097.  
  1098.  
  1099. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISearchCommandExt_RestoreSavedSearch_Proxy( 
  1100.     ISearchCommandExt __RPC_FAR * This,
  1101.     /* [in] */ VARIANT __RPC_FAR *pvarFile);
  1102.  
  1103.  
  1104. void __RPC_STUB ISearchCommandExt_RestoreSavedSearch_Stub(
  1105.     IRpcStubBuffer *This,
  1106.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1107.     PRPC_MESSAGE _pRpcMessage,
  1108.     DWORD *_pdwStubPhase);
  1109.  
  1110.  
  1111. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISearchCommandExt_Execute_Proxy( 
  1112.     ISearchCommandExt __RPC_FAR * This,
  1113.     /* [optional][in] */ VARIANT __RPC_FAR *RecordsAffected,
  1114.     /* [optional][in] */ VARIANT __RPC_FAR *Parameters,
  1115.     /* [optional][in] */ long Options);
  1116.  
  1117.  
  1118. void __RPC_STUB ISearchCommandExt_Execute_Stub(
  1119.     IRpcStubBuffer *This,
  1120.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1121.     PRPC_MESSAGE _pRpcMessage,
  1122.     DWORD *_pdwStubPhase);
  1123.  
  1124.  
  1125. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISearchCommandExt_AddConstraint_Proxy( 
  1126.     ISearchCommandExt __RPC_FAR * This,
  1127.     /* [in] */ BSTR Name,
  1128.     /* [in] */ VARIANT Value);
  1129.  
  1130.  
  1131. void __RPC_STUB ISearchCommandExt_AddConstraint_Stub(
  1132.     IRpcStubBuffer *This,
  1133.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1134.     PRPC_MESSAGE _pRpcMessage,
  1135.     DWORD *_pdwStubPhase);
  1136.  
  1137.  
  1138. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ISearchCommandExt_GetNextConstraint_Proxy( 
  1139.     ISearchCommandExt __RPC_FAR * This,
  1140.     /* [in] */ VARIANT_BOOL fReset,
  1141.     /* [retval][out] */ DFConstraint __RPC_FAR *__RPC_FAR *ppdfc);
  1142.  
  1143.  
  1144. void __RPC_STUB ISearchCommandExt_GetNextConstraint_Stub(
  1145.     IRpcStubBuffer *This,
  1146.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1147.     PRPC_MESSAGE _pRpcMessage,
  1148.     DWORD *_pdwStubPhase);
  1149.  
  1150.  
  1151.  
  1152. #endif     /* __ISearchCommandExt_INTERFACE_DEFINED__ */
  1153.  
  1154.  
  1155. #ifndef __FolderItem_INTERFACE_DEFINED__
  1156. #define __FolderItem_INTERFACE_DEFINED__
  1157.  
  1158. /* interface FolderItem */
  1159. /* [object][dual][oleautomation][helpstring][uuid] */ 
  1160.  
  1161. typedef /* [unique] */ FolderItem __RPC_FAR *LPFOLDERITEM;
  1162.  
  1163.  
  1164. EXTERN_C const IID IID_FolderItem;
  1165.  
  1166. #if defined(__cplusplus) && !defined(CINTERFACE)
  1167.     
  1168.     MIDL_INTERFACE("FAC32C80-CBE4-11CE-8350-444553540000")
  1169.     FolderItem : public IDispatch
  1170.     {
  1171.     public:
  1172.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
  1173.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  1174.         
  1175.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
  1176.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  1177.         
  1178.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
  1179.             /* [retval][out] */ BSTR __RPC_FAR *pbs) = 0;
  1180.         
  1181.         virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
  1182.             /* [in] */ BSTR bs) = 0;
  1183.         
  1184.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
  1185.             /* [retval][out] */ BSTR __RPC_FAR *pbs) = 0;
  1186.         
  1187.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_GetLink( 
  1188.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  1189.         
  1190.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_GetFolder( 
  1191.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  1192.         
  1193.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsLink( 
  1194.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb) = 0;
  1195.         
  1196.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsFolder( 
  1197.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb) = 0;
  1198.         
  1199.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsFileSystem( 
  1200.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb) = 0;
  1201.         
  1202.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_IsBrowsable( 
  1203.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb) = 0;
  1204.         
  1205.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ModifyDate( 
  1206.             /* [retval][out] */ DATE __RPC_FAR *pdt) = 0;
  1207.         
  1208.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ModifyDate( 
  1209.             /* [in] */ DATE dt) = 0;
  1210.         
  1211.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
  1212.             /* [retval][out] */ LONG __RPC_FAR *pul) = 0;
  1213.         
  1214.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
  1215.             /* [retval][out] */ BSTR __RPC_FAR *pbs) = 0;
  1216.         
  1217.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Verbs( 
  1218.             /* [retval][out] */ FolderItemVerbs __RPC_FAR *__RPC_FAR *ppfic) = 0;
  1219.         
  1220.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InvokeVerb( 
  1221.             /* [optional][in] */ VARIANT vVerb) = 0;
  1222.         
  1223.     };
  1224.     
  1225. #else     /* C style interface */
  1226.  
  1227.     typedef struct FolderItemVtbl
  1228.     {
  1229.         BEGIN_INTERFACE
  1230.         
  1231.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1232.             FolderItem __RPC_FAR * This,
  1233.             /* [in] */ REFIID riid,
  1234.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1235.         
  1236.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1237.             FolderItem __RPC_FAR * This);
  1238.         
  1239.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1240.             FolderItem __RPC_FAR * This);
  1241.         
  1242.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1243.             FolderItem __RPC_FAR * This,
  1244.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1245.         
  1246.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1247.             FolderItem __RPC_FAR * This,
  1248.             /* [in] */ UINT iTInfo,
  1249.             /* [in] */ LCID lcid,
  1250.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1251.         
  1252.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1253.             FolderItem __RPC_FAR * This,
  1254.             /* [in] */ REFIID riid,
  1255.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1256.             /* [in] */ UINT cNames,
  1257.             /* [in] */ LCID lcid,
  1258.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1259.         
  1260.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1261.             FolderItem __RPC_FAR * This,
  1262.             /* [in] */ DISPID dispIdMember,
  1263.             /* [in] */ REFIID riid,
  1264.             /* [in] */ LCID lcid,
  1265.             /* [in] */ WORD wFlags,
  1266.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1267.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1268.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1269.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1270.         
  1271.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
  1272.             FolderItem __RPC_FAR * This,
  1273.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  1274.         
  1275.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
  1276.             FolderItem __RPC_FAR * This,
  1277.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  1278.         
  1279.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  1280.             FolderItem __RPC_FAR * This,
  1281.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  1282.         
  1283.         /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
  1284.             FolderItem __RPC_FAR * This,
  1285.             /* [in] */ BSTR bs);
  1286.         
  1287.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Path )( 
  1288.             FolderItem __RPC_FAR * This,
  1289.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  1290.         
  1291.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_GetLink )( 
  1292.             FolderItem __RPC_FAR * This,
  1293.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  1294.         
  1295.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_GetFolder )( 
  1296.             FolderItem __RPC_FAR * This,
  1297.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  1298.         
  1299.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsLink )( 
  1300.             FolderItem __RPC_FAR * This,
  1301.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  1302.         
  1303.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsFolder )( 
  1304.             FolderItem __RPC_FAR * This,
  1305.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  1306.         
  1307.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsFileSystem )( 
  1308.             FolderItem __RPC_FAR * This,
  1309.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  1310.         
  1311.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsBrowsable )( 
  1312.             FolderItem __RPC_FAR * This,
  1313.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  1314.         
  1315.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ModifyDate )( 
  1316.             FolderItem __RPC_FAR * This,
  1317.             /* [retval][out] */ DATE __RPC_FAR *pdt);
  1318.         
  1319.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ModifyDate )( 
  1320.             FolderItem __RPC_FAR * This,
  1321.             /* [in] */ DATE dt);
  1322.         
  1323.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Size )( 
  1324.             FolderItem __RPC_FAR * This,
  1325.             /* [retval][out] */ LONG __RPC_FAR *pul);
  1326.         
  1327.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
  1328.             FolderItem __RPC_FAR * This,
  1329.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  1330.         
  1331.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Verbs )( 
  1332.             FolderItem __RPC_FAR * This,
  1333.             /* [retval][out] */ FolderItemVerbs __RPC_FAR *__RPC_FAR *ppfic);
  1334.         
  1335.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InvokeVerb )( 
  1336.             FolderItem __RPC_FAR * This,
  1337.             /* [optional][in] */ VARIANT vVerb);
  1338.         
  1339.         END_INTERFACE
  1340.     } FolderItemVtbl;
  1341.  
  1342.     interface FolderItem
  1343.     {
  1344.         CONST_VTBL struct FolderItemVtbl __RPC_FAR *lpVtbl;
  1345.     };
  1346.  
  1347.     
  1348.  
  1349. #ifdef COBJMACROS
  1350.  
  1351.  
  1352. #define FolderItem_QueryInterface(This,riid,ppvObject)    \
  1353.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1354.  
  1355. #define FolderItem_AddRef(This)    \
  1356.     (This)->lpVtbl -> AddRef(This)
  1357.  
  1358. #define FolderItem_Release(This)    \
  1359.     (This)->lpVtbl -> Release(This)
  1360.  
  1361.  
  1362. #define FolderItem_GetTypeInfoCount(This,pctinfo)    \
  1363.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1364.  
  1365. #define FolderItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1366.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1367.  
  1368. #define FolderItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1369.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1370.  
  1371. #define FolderItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1372.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1373.  
  1374.  
  1375. #define FolderItem_get_Application(This,ppid)    \
  1376.     (This)->lpVtbl -> get_Application(This,ppid)
  1377.  
  1378. #define FolderItem_get_Parent(This,ppid)    \
  1379.     (This)->lpVtbl -> get_Parent(This,ppid)
  1380.  
  1381. #define FolderItem_get_Name(This,pbs)    \
  1382.     (This)->lpVtbl -> get_Name(This,pbs)
  1383.  
  1384. #define FolderItem_put_Name(This,bs)    \
  1385.     (This)->lpVtbl -> put_Name(This,bs)
  1386.  
  1387. #define FolderItem_get_Path(This,pbs)    \
  1388.     (This)->lpVtbl -> get_Path(This,pbs)
  1389.  
  1390. #define FolderItem_get_GetLink(This,ppid)    \
  1391.     (This)->lpVtbl -> get_GetLink(This,ppid)
  1392.  
  1393. #define FolderItem_get_GetFolder(This,ppid)    \
  1394.     (This)->lpVtbl -> get_GetFolder(This,ppid)
  1395.  
  1396. #define FolderItem_get_IsLink(This,pb)    \
  1397.     (This)->lpVtbl -> get_IsLink(This,pb)
  1398.  
  1399. #define FolderItem_get_IsFolder(This,pb)    \
  1400.     (This)->lpVtbl -> get_IsFolder(This,pb)
  1401.  
  1402. #define FolderItem_get_IsFileSystem(This,pb)    \
  1403.     (This)->lpVtbl -> get_IsFileSystem(This,pb)
  1404.  
  1405. #define FolderItem_get_IsBrowsable(This,pb)    \
  1406.     (This)->lpVtbl -> get_IsBrowsable(This,pb)
  1407.  
  1408. #define FolderItem_get_ModifyDate(This,pdt)    \
  1409.     (This)->lpVtbl -> get_ModifyDate(This,pdt)
  1410.  
  1411. #define FolderItem_put_ModifyDate(This,dt)    \
  1412.     (This)->lpVtbl -> put_ModifyDate(This,dt)
  1413.  
  1414. #define FolderItem_get_Size(This,pul)    \
  1415.     (This)->lpVtbl -> get_Size(This,pul)
  1416.  
  1417. #define FolderItem_get_Type(This,pbs)    \
  1418.     (This)->lpVtbl -> get_Type(This,pbs)
  1419.  
  1420. #define FolderItem_Verbs(This,ppfic)    \
  1421.     (This)->lpVtbl -> Verbs(This,ppfic)
  1422.  
  1423. #define FolderItem_InvokeVerb(This,vVerb)    \
  1424.     (This)->lpVtbl -> InvokeVerb(This,vVerb)
  1425.  
  1426. #endif /* COBJMACROS */
  1427.  
  1428.  
  1429. #endif     /* C style interface */
  1430.  
  1431.  
  1432.  
  1433. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItem_get_Application_Proxy( 
  1434.     FolderItem __RPC_FAR * This,
  1435.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  1436.  
  1437.  
  1438. void __RPC_STUB FolderItem_get_Application_Stub(
  1439.     IRpcStubBuffer *This,
  1440.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1441.     PRPC_MESSAGE _pRpcMessage,
  1442.     DWORD *_pdwStubPhase);
  1443.  
  1444.  
  1445. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItem_get_Parent_Proxy( 
  1446.     FolderItem __RPC_FAR * This,
  1447.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  1448.  
  1449.  
  1450. void __RPC_STUB FolderItem_get_Parent_Stub(
  1451.     IRpcStubBuffer *This,
  1452.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1453.     PRPC_MESSAGE _pRpcMessage,
  1454.     DWORD *_pdwStubPhase);
  1455.  
  1456.  
  1457. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE FolderItem_get_Name_Proxy( 
  1458.     FolderItem __RPC_FAR * This,
  1459.     /* [retval][out] */ BSTR __RPC_FAR *pbs);
  1460.  
  1461.  
  1462. void __RPC_STUB FolderItem_get_Name_Stub(
  1463.     IRpcStubBuffer *This,
  1464.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1465.     PRPC_MESSAGE _pRpcMessage,
  1466.     DWORD *_pdwStubPhase);
  1467.  
  1468.  
  1469. /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE FolderItem_put_Name_Proxy( 
  1470.     FolderItem __RPC_FAR * This,
  1471.     /* [in] */ BSTR bs);
  1472.  
  1473.  
  1474. void __RPC_STUB FolderItem_put_Name_Stub(
  1475.     IRpcStubBuffer *This,
  1476.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1477.     PRPC_MESSAGE _pRpcMessage,
  1478.     DWORD *_pdwStubPhase);
  1479.  
  1480.  
  1481. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItem_get_Path_Proxy( 
  1482.     FolderItem __RPC_FAR * This,
  1483.     /* [retval][out] */ BSTR __RPC_FAR *pbs);
  1484.  
  1485.  
  1486. void __RPC_STUB FolderItem_get_Path_Stub(
  1487.     IRpcStubBuffer *This,
  1488.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1489.     PRPC_MESSAGE _pRpcMessage,
  1490.     DWORD *_pdwStubPhase);
  1491.  
  1492.  
  1493. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItem_get_GetLink_Proxy( 
  1494.     FolderItem __RPC_FAR * This,
  1495.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  1496.  
  1497.  
  1498. void __RPC_STUB FolderItem_get_GetLink_Stub(
  1499.     IRpcStubBuffer *This,
  1500.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1501.     PRPC_MESSAGE _pRpcMessage,
  1502.     DWORD *_pdwStubPhase);
  1503.  
  1504.  
  1505. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItem_get_GetFolder_Proxy( 
  1506.     FolderItem __RPC_FAR * This,
  1507.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  1508.  
  1509.  
  1510. void __RPC_STUB FolderItem_get_GetFolder_Stub(
  1511.     IRpcStubBuffer *This,
  1512.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1513.     PRPC_MESSAGE _pRpcMessage,
  1514.     DWORD *_pdwStubPhase);
  1515.  
  1516.  
  1517. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItem_get_IsLink_Proxy( 
  1518.     FolderItem __RPC_FAR * This,
  1519.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  1520.  
  1521.  
  1522. void __RPC_STUB FolderItem_get_IsLink_Stub(
  1523.     IRpcStubBuffer *This,
  1524.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1525.     PRPC_MESSAGE _pRpcMessage,
  1526.     DWORD *_pdwStubPhase);
  1527.  
  1528.  
  1529. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItem_get_IsFolder_Proxy( 
  1530.     FolderItem __RPC_FAR * This,
  1531.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  1532.  
  1533.  
  1534. void __RPC_STUB FolderItem_get_IsFolder_Stub(
  1535.     IRpcStubBuffer *This,
  1536.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1537.     PRPC_MESSAGE _pRpcMessage,
  1538.     DWORD *_pdwStubPhase);
  1539.  
  1540.  
  1541. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItem_get_IsFileSystem_Proxy( 
  1542.     FolderItem __RPC_FAR * This,
  1543.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  1544.  
  1545.  
  1546. void __RPC_STUB FolderItem_get_IsFileSystem_Stub(
  1547.     IRpcStubBuffer *This,
  1548.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1549.     PRPC_MESSAGE _pRpcMessage,
  1550.     DWORD *_pdwStubPhase);
  1551.  
  1552.  
  1553. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItem_get_IsBrowsable_Proxy( 
  1554.     FolderItem __RPC_FAR * This,
  1555.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  1556.  
  1557.  
  1558. void __RPC_STUB FolderItem_get_IsBrowsable_Stub(
  1559.     IRpcStubBuffer *This,
  1560.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1561.     PRPC_MESSAGE _pRpcMessage,
  1562.     DWORD *_pdwStubPhase);
  1563.  
  1564.  
  1565. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItem_get_ModifyDate_Proxy( 
  1566.     FolderItem __RPC_FAR * This,
  1567.     /* [retval][out] */ DATE __RPC_FAR *pdt);
  1568.  
  1569.  
  1570. void __RPC_STUB FolderItem_get_ModifyDate_Stub(
  1571.     IRpcStubBuffer *This,
  1572.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1573.     PRPC_MESSAGE _pRpcMessage,
  1574.     DWORD *_pdwStubPhase);
  1575.  
  1576.  
  1577. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE FolderItem_put_ModifyDate_Proxy( 
  1578.     FolderItem __RPC_FAR * This,
  1579.     /* [in] */ DATE dt);
  1580.  
  1581.  
  1582. void __RPC_STUB FolderItem_put_ModifyDate_Stub(
  1583.     IRpcStubBuffer *This,
  1584.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1585.     PRPC_MESSAGE _pRpcMessage,
  1586.     DWORD *_pdwStubPhase);
  1587.  
  1588.  
  1589. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItem_get_Size_Proxy( 
  1590.     FolderItem __RPC_FAR * This,
  1591.     /* [retval][out] */ LONG __RPC_FAR *pul);
  1592.  
  1593.  
  1594. void __RPC_STUB FolderItem_get_Size_Stub(
  1595.     IRpcStubBuffer *This,
  1596.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1597.     PRPC_MESSAGE _pRpcMessage,
  1598.     DWORD *_pdwStubPhase);
  1599.  
  1600.  
  1601. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItem_get_Type_Proxy( 
  1602.     FolderItem __RPC_FAR * This,
  1603.     /* [retval][out] */ BSTR __RPC_FAR *pbs);
  1604.  
  1605.  
  1606. void __RPC_STUB FolderItem_get_Type_Stub(
  1607.     IRpcStubBuffer *This,
  1608.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1609.     PRPC_MESSAGE _pRpcMessage,
  1610.     DWORD *_pdwStubPhase);
  1611.  
  1612.  
  1613. /* [helpstring] */ HRESULT STDMETHODCALLTYPE FolderItem_Verbs_Proxy( 
  1614.     FolderItem __RPC_FAR * This,
  1615.     /* [retval][out] */ FolderItemVerbs __RPC_FAR *__RPC_FAR *ppfic);
  1616.  
  1617.  
  1618. void __RPC_STUB FolderItem_Verbs_Stub(
  1619.     IRpcStubBuffer *This,
  1620.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1621.     PRPC_MESSAGE _pRpcMessage,
  1622.     DWORD *_pdwStubPhase);
  1623.  
  1624.  
  1625. /* [helpstring] */ HRESULT STDMETHODCALLTYPE FolderItem_InvokeVerb_Proxy( 
  1626.     FolderItem __RPC_FAR * This,
  1627.     /* [optional][in] */ VARIANT vVerb);
  1628.  
  1629.  
  1630. void __RPC_STUB FolderItem_InvokeVerb_Stub(
  1631.     IRpcStubBuffer *This,
  1632.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1633.     PRPC_MESSAGE _pRpcMessage,
  1634.     DWORD *_pdwStubPhase);
  1635.  
  1636.  
  1637.  
  1638. #endif     /* __FolderItem_INTERFACE_DEFINED__ */
  1639.  
  1640.  
  1641. #ifndef __FolderItems_INTERFACE_DEFINED__
  1642. #define __FolderItems_INTERFACE_DEFINED__
  1643.  
  1644. /* interface FolderItems */
  1645. /* [object][dual][oleautomation][helpstring][uuid] */ 
  1646.  
  1647.  
  1648. EXTERN_C const IID IID_FolderItems;
  1649.  
  1650. #if defined(__cplusplus) && !defined(CINTERFACE)
  1651.     
  1652.     MIDL_INTERFACE("744129E0-CBE5-11CE-8350-444553540000")
  1653.     FolderItems : public IDispatch
  1654.     {
  1655.     public:
  1656.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  1657.             /* [retval][out] */ long __RPC_FAR *plCount) = 0;
  1658.         
  1659.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
  1660.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  1661.         
  1662.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
  1663.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  1664.         
  1665.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Item( 
  1666.             /* [optional][in] */ VARIANT index,
  1667.             /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppid) = 0;
  1668.         
  1669.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE _NewEnum( 
  1670.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk) = 0;
  1671.         
  1672.     };
  1673.     
  1674. #else     /* C style interface */
  1675.  
  1676.     typedef struct FolderItemsVtbl
  1677.     {
  1678.         BEGIN_INTERFACE
  1679.         
  1680.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1681.             FolderItems __RPC_FAR * This,
  1682.             /* [in] */ REFIID riid,
  1683.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1684.         
  1685.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1686.             FolderItems __RPC_FAR * This);
  1687.         
  1688.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1689.             FolderItems __RPC_FAR * This);
  1690.         
  1691.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1692.             FolderItems __RPC_FAR * This,
  1693.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1694.         
  1695.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1696.             FolderItems __RPC_FAR * This,
  1697.             /* [in] */ UINT iTInfo,
  1698.             /* [in] */ LCID lcid,
  1699.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1700.         
  1701.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1702.             FolderItems __RPC_FAR * This,
  1703.             /* [in] */ REFIID riid,
  1704.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1705.             /* [in] */ UINT cNames,
  1706.             /* [in] */ LCID lcid,
  1707.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1708.         
  1709.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1710.             FolderItems __RPC_FAR * This,
  1711.             /* [in] */ DISPID dispIdMember,
  1712.             /* [in] */ REFIID riid,
  1713.             /* [in] */ LCID lcid,
  1714.             /* [in] */ WORD wFlags,
  1715.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1716.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1717.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1718.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1719.         
  1720.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  1721.             FolderItems __RPC_FAR * This,
  1722.             /* [retval][out] */ long __RPC_FAR *plCount);
  1723.         
  1724.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
  1725.             FolderItems __RPC_FAR * This,
  1726.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  1727.         
  1728.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
  1729.             FolderItems __RPC_FAR * This,
  1730.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  1731.         
  1732.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
  1733.             FolderItems __RPC_FAR * This,
  1734.             /* [optional][in] */ VARIANT index,
  1735.             /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppid);
  1736.         
  1737.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  1738.             FolderItems __RPC_FAR * This,
  1739.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk);
  1740.         
  1741.         END_INTERFACE
  1742.     } FolderItemsVtbl;
  1743.  
  1744.     interface FolderItems
  1745.     {
  1746.         CONST_VTBL struct FolderItemsVtbl __RPC_FAR *lpVtbl;
  1747.     };
  1748.  
  1749.     
  1750.  
  1751. #ifdef COBJMACROS
  1752.  
  1753.  
  1754. #define FolderItems_QueryInterface(This,riid,ppvObject)    \
  1755.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1756.  
  1757. #define FolderItems_AddRef(This)    \
  1758.     (This)->lpVtbl -> AddRef(This)
  1759.  
  1760. #define FolderItems_Release(This)    \
  1761.     (This)->lpVtbl -> Release(This)
  1762.  
  1763.  
  1764. #define FolderItems_GetTypeInfoCount(This,pctinfo)    \
  1765.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1766.  
  1767. #define FolderItems_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1768.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1769.  
  1770. #define FolderItems_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1771.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1772.  
  1773. #define FolderItems_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1774.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1775.  
  1776.  
  1777. #define FolderItems_get_Count(This,plCount)    \
  1778.     (This)->lpVtbl -> get_Count(This,plCount)
  1779.  
  1780. #define FolderItems_get_Application(This,ppid)    \
  1781.     (This)->lpVtbl -> get_Application(This,ppid)
  1782.  
  1783. #define FolderItems_get_Parent(This,ppid)    \
  1784.     (This)->lpVtbl -> get_Parent(This,ppid)
  1785.  
  1786. #define FolderItems_Item(This,index,ppid)    \
  1787.     (This)->lpVtbl -> Item(This,index,ppid)
  1788.  
  1789. #define FolderItems__NewEnum(This,ppunk)    \
  1790.     (This)->lpVtbl -> _NewEnum(This,ppunk)
  1791.  
  1792. #endif /* COBJMACROS */
  1793.  
  1794.  
  1795. #endif     /* C style interface */
  1796.  
  1797.  
  1798.  
  1799. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItems_get_Count_Proxy( 
  1800.     FolderItems __RPC_FAR * This,
  1801.     /* [retval][out] */ long __RPC_FAR *plCount);
  1802.  
  1803.  
  1804. void __RPC_STUB FolderItems_get_Count_Stub(
  1805.     IRpcStubBuffer *This,
  1806.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1807.     PRPC_MESSAGE _pRpcMessage,
  1808.     DWORD *_pdwStubPhase);
  1809.  
  1810.  
  1811. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItems_get_Application_Proxy( 
  1812.     FolderItems __RPC_FAR * This,
  1813.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  1814.  
  1815.  
  1816. void __RPC_STUB FolderItems_get_Application_Stub(
  1817.     IRpcStubBuffer *This,
  1818.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1819.     PRPC_MESSAGE _pRpcMessage,
  1820.     DWORD *_pdwStubPhase);
  1821.  
  1822.  
  1823. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItems_get_Parent_Proxy( 
  1824.     FolderItems __RPC_FAR * This,
  1825.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  1826.  
  1827.  
  1828. void __RPC_STUB FolderItems_get_Parent_Stub(
  1829.     IRpcStubBuffer *This,
  1830.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1831.     PRPC_MESSAGE _pRpcMessage,
  1832.     DWORD *_pdwStubPhase);
  1833.  
  1834.  
  1835. /* [helpstring] */ HRESULT STDMETHODCALLTYPE FolderItems_Item_Proxy( 
  1836.     FolderItems __RPC_FAR * This,
  1837.     /* [optional][in] */ VARIANT index,
  1838.     /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppid);
  1839.  
  1840.  
  1841. void __RPC_STUB FolderItems_Item_Stub(
  1842.     IRpcStubBuffer *This,
  1843.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1844.     PRPC_MESSAGE _pRpcMessage,
  1845.     DWORD *_pdwStubPhase);
  1846.  
  1847.  
  1848. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FolderItems__NewEnum_Proxy( 
  1849.     FolderItems __RPC_FAR * This,
  1850.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk);
  1851.  
  1852.  
  1853. void __RPC_STUB FolderItems__NewEnum_Stub(
  1854.     IRpcStubBuffer *This,
  1855.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1856.     PRPC_MESSAGE _pRpcMessage,
  1857.     DWORD *_pdwStubPhase);
  1858.  
  1859.  
  1860.  
  1861. #endif     /* __FolderItems_INTERFACE_DEFINED__ */
  1862.  
  1863.  
  1864. #ifndef __FolderItemVerb_INTERFACE_DEFINED__
  1865. #define __FolderItemVerb_INTERFACE_DEFINED__
  1866.  
  1867. /* interface FolderItemVerb */
  1868. /* [object][dual][oleautomation][helpstring][uuid] */ 
  1869.  
  1870.  
  1871. EXTERN_C const IID IID_FolderItemVerb;
  1872.  
  1873. #if defined(__cplusplus) && !defined(CINTERFACE)
  1874.     
  1875.     MIDL_INTERFACE("08EC3E00-50B0-11CF-960C-0080C7F4EE85")
  1876.     FolderItemVerb : public IDispatch
  1877.     {
  1878.     public:
  1879.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
  1880.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  1881.         
  1882.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
  1883.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  1884.         
  1885.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
  1886.             /* [retval][out] */ BSTR __RPC_FAR *pbs) = 0;
  1887.         
  1888.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DoIt( void) = 0;
  1889.         
  1890.     };
  1891.     
  1892. #else     /* C style interface */
  1893.  
  1894.     typedef struct FolderItemVerbVtbl
  1895.     {
  1896.         BEGIN_INTERFACE
  1897.         
  1898.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1899.             FolderItemVerb __RPC_FAR * This,
  1900.             /* [in] */ REFIID riid,
  1901.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1902.         
  1903.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1904.             FolderItemVerb __RPC_FAR * This);
  1905.         
  1906.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1907.             FolderItemVerb __RPC_FAR * This);
  1908.         
  1909.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  1910.             FolderItemVerb __RPC_FAR * This,
  1911.             /* [out] */ UINT __RPC_FAR *pctinfo);
  1912.         
  1913.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  1914.             FolderItemVerb __RPC_FAR * This,
  1915.             /* [in] */ UINT iTInfo,
  1916.             /* [in] */ LCID lcid,
  1917.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  1918.         
  1919.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  1920.             FolderItemVerb __RPC_FAR * This,
  1921.             /* [in] */ REFIID riid,
  1922.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  1923.             /* [in] */ UINT cNames,
  1924.             /* [in] */ LCID lcid,
  1925.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  1926.         
  1927.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  1928.             FolderItemVerb __RPC_FAR * This,
  1929.             /* [in] */ DISPID dispIdMember,
  1930.             /* [in] */ REFIID riid,
  1931.             /* [in] */ LCID lcid,
  1932.             /* [in] */ WORD wFlags,
  1933.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  1934.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  1935.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  1936.             /* [out] */ UINT __RPC_FAR *puArgErr);
  1937.         
  1938.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
  1939.             FolderItemVerb __RPC_FAR * This,
  1940.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  1941.         
  1942.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
  1943.             FolderItemVerb __RPC_FAR * This,
  1944.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  1945.         
  1946.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  1947.             FolderItemVerb __RPC_FAR * This,
  1948.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  1949.         
  1950.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DoIt )( 
  1951.             FolderItemVerb __RPC_FAR * This);
  1952.         
  1953.         END_INTERFACE
  1954.     } FolderItemVerbVtbl;
  1955.  
  1956.     interface FolderItemVerb
  1957.     {
  1958.         CONST_VTBL struct FolderItemVerbVtbl __RPC_FAR *lpVtbl;
  1959.     };
  1960.  
  1961.     
  1962.  
  1963. #ifdef COBJMACROS
  1964.  
  1965.  
  1966. #define FolderItemVerb_QueryInterface(This,riid,ppvObject)    \
  1967.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1968.  
  1969. #define FolderItemVerb_AddRef(This)    \
  1970.     (This)->lpVtbl -> AddRef(This)
  1971.  
  1972. #define FolderItemVerb_Release(This)    \
  1973.     (This)->lpVtbl -> Release(This)
  1974.  
  1975.  
  1976. #define FolderItemVerb_GetTypeInfoCount(This,pctinfo)    \
  1977.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1978.  
  1979. #define FolderItemVerb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  1980.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1981.  
  1982. #define FolderItemVerb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  1983.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1984.  
  1985. #define FolderItemVerb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  1986.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1987.  
  1988.  
  1989. #define FolderItemVerb_get_Application(This,ppid)    \
  1990.     (This)->lpVtbl -> get_Application(This,ppid)
  1991.  
  1992. #define FolderItemVerb_get_Parent(This,ppid)    \
  1993.     (This)->lpVtbl -> get_Parent(This,ppid)
  1994.  
  1995. #define FolderItemVerb_get_Name(This,pbs)    \
  1996.     (This)->lpVtbl -> get_Name(This,pbs)
  1997.  
  1998. #define FolderItemVerb_DoIt(This)    \
  1999.     (This)->lpVtbl -> DoIt(This)
  2000.  
  2001. #endif /* COBJMACROS */
  2002.  
  2003.  
  2004. #endif     /* C style interface */
  2005.  
  2006.  
  2007.  
  2008. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItemVerb_get_Application_Proxy( 
  2009.     FolderItemVerb __RPC_FAR * This,
  2010.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  2011.  
  2012.  
  2013. void __RPC_STUB FolderItemVerb_get_Application_Stub(
  2014.     IRpcStubBuffer *This,
  2015.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2016.     PRPC_MESSAGE _pRpcMessage,
  2017.     DWORD *_pdwStubPhase);
  2018.  
  2019.  
  2020. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItemVerb_get_Parent_Proxy( 
  2021.     FolderItemVerb __RPC_FAR * This,
  2022.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  2023.  
  2024.  
  2025. void __RPC_STUB FolderItemVerb_get_Parent_Stub(
  2026.     IRpcStubBuffer *This,
  2027.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2028.     PRPC_MESSAGE _pRpcMessage,
  2029.     DWORD *_pdwStubPhase);
  2030.  
  2031.  
  2032. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE FolderItemVerb_get_Name_Proxy( 
  2033.     FolderItemVerb __RPC_FAR * This,
  2034.     /* [retval][out] */ BSTR __RPC_FAR *pbs);
  2035.  
  2036.  
  2037. void __RPC_STUB FolderItemVerb_get_Name_Stub(
  2038.     IRpcStubBuffer *This,
  2039.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2040.     PRPC_MESSAGE _pRpcMessage,
  2041.     DWORD *_pdwStubPhase);
  2042.  
  2043.  
  2044. /* [helpstring] */ HRESULT STDMETHODCALLTYPE FolderItemVerb_DoIt_Proxy( 
  2045.     FolderItemVerb __RPC_FAR * This);
  2046.  
  2047.  
  2048. void __RPC_STUB FolderItemVerb_DoIt_Stub(
  2049.     IRpcStubBuffer *This,
  2050.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2051.     PRPC_MESSAGE _pRpcMessage,
  2052.     DWORD *_pdwStubPhase);
  2053.  
  2054.  
  2055.  
  2056. #endif     /* __FolderItemVerb_INTERFACE_DEFINED__ */
  2057.  
  2058.  
  2059. #ifndef __FolderItemVerbs_INTERFACE_DEFINED__
  2060. #define __FolderItemVerbs_INTERFACE_DEFINED__
  2061.  
  2062. /* interface FolderItemVerbs */
  2063. /* [object][dual][oleautomation][helpstring][uuid] */ 
  2064.  
  2065.  
  2066. EXTERN_C const IID IID_FolderItemVerbs;
  2067.  
  2068. #if defined(__cplusplus) && !defined(CINTERFACE)
  2069.     
  2070.     MIDL_INTERFACE("1F8352C0-50B0-11CF-960C-0080C7F4EE85")
  2071.     FolderItemVerbs : public IDispatch
  2072.     {
  2073.     public:
  2074.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  2075.             /* [retval][out] */ long __RPC_FAR *plCount) = 0;
  2076.         
  2077.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
  2078.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  2079.         
  2080.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
  2081.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  2082.         
  2083.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Item( 
  2084.             /* [optional][in] */ VARIANT index,
  2085.             /* [retval][out] */ FolderItemVerb __RPC_FAR *__RPC_FAR *ppid) = 0;
  2086.         
  2087.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE _NewEnum( 
  2088.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk) = 0;
  2089.         
  2090.     };
  2091.     
  2092. #else     /* C style interface */
  2093.  
  2094.     typedef struct FolderItemVerbsVtbl
  2095.     {
  2096.         BEGIN_INTERFACE
  2097.         
  2098.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2099.             FolderItemVerbs __RPC_FAR * This,
  2100.             /* [in] */ REFIID riid,
  2101.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2102.         
  2103.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2104.             FolderItemVerbs __RPC_FAR * This);
  2105.         
  2106.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2107.             FolderItemVerbs __RPC_FAR * This);
  2108.         
  2109.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  2110.             FolderItemVerbs __RPC_FAR * This,
  2111.             /* [out] */ UINT __RPC_FAR *pctinfo);
  2112.         
  2113.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  2114.             FolderItemVerbs __RPC_FAR * This,
  2115.             /* [in] */ UINT iTInfo,
  2116.             /* [in] */ LCID lcid,
  2117.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2118.         
  2119.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  2120.             FolderItemVerbs __RPC_FAR * This,
  2121.             /* [in] */ REFIID riid,
  2122.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2123.             /* [in] */ UINT cNames,
  2124.             /* [in] */ LCID lcid,
  2125.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2126.         
  2127.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  2128.             FolderItemVerbs __RPC_FAR * This,
  2129.             /* [in] */ DISPID dispIdMember,
  2130.             /* [in] */ REFIID riid,
  2131.             /* [in] */ LCID lcid,
  2132.             /* [in] */ WORD wFlags,
  2133.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2134.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2135.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2136.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2137.         
  2138.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  2139.             FolderItemVerbs __RPC_FAR * This,
  2140.             /* [retval][out] */ long __RPC_FAR *plCount);
  2141.         
  2142.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
  2143.             FolderItemVerbs __RPC_FAR * This,
  2144.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  2145.         
  2146.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
  2147.             FolderItemVerbs __RPC_FAR * This,
  2148.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  2149.         
  2150.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
  2151.             FolderItemVerbs __RPC_FAR * This,
  2152.             /* [optional][in] */ VARIANT index,
  2153.             /* [retval][out] */ FolderItemVerb __RPC_FAR *__RPC_FAR *ppid);
  2154.         
  2155.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  2156.             FolderItemVerbs __RPC_FAR * This,
  2157.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk);
  2158.         
  2159.         END_INTERFACE
  2160.     } FolderItemVerbsVtbl;
  2161.  
  2162.     interface FolderItemVerbs
  2163.     {
  2164.         CONST_VTBL struct FolderItemVerbsVtbl __RPC_FAR *lpVtbl;
  2165.     };
  2166.  
  2167.     
  2168.  
  2169. #ifdef COBJMACROS
  2170.  
  2171.  
  2172. #define FolderItemVerbs_QueryInterface(This,riid,ppvObject)    \
  2173.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2174.  
  2175. #define FolderItemVerbs_AddRef(This)    \
  2176.     (This)->lpVtbl -> AddRef(This)
  2177.  
  2178. #define FolderItemVerbs_Release(This)    \
  2179.     (This)->lpVtbl -> Release(This)
  2180.  
  2181.  
  2182. #define FolderItemVerbs_GetTypeInfoCount(This,pctinfo)    \
  2183.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2184.  
  2185. #define FolderItemVerbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2186.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2187.  
  2188. #define FolderItemVerbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2189.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2190.  
  2191. #define FolderItemVerbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2192.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2193.  
  2194.  
  2195. #define FolderItemVerbs_get_Count(This,plCount)    \
  2196.     (This)->lpVtbl -> get_Count(This,plCount)
  2197.  
  2198. #define FolderItemVerbs_get_Application(This,ppid)    \
  2199.     (This)->lpVtbl -> get_Application(This,ppid)
  2200.  
  2201. #define FolderItemVerbs_get_Parent(This,ppid)    \
  2202.     (This)->lpVtbl -> get_Parent(This,ppid)
  2203.  
  2204. #define FolderItemVerbs_Item(This,index,ppid)    \
  2205.     (This)->lpVtbl -> Item(This,index,ppid)
  2206.  
  2207. #define FolderItemVerbs__NewEnum(This,ppunk)    \
  2208.     (This)->lpVtbl -> _NewEnum(This,ppunk)
  2209.  
  2210. #endif /* COBJMACROS */
  2211.  
  2212.  
  2213. #endif     /* C style interface */
  2214.  
  2215.  
  2216.  
  2217. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItemVerbs_get_Count_Proxy( 
  2218.     FolderItemVerbs __RPC_FAR * This,
  2219.     /* [retval][out] */ long __RPC_FAR *plCount);
  2220.  
  2221.  
  2222. void __RPC_STUB FolderItemVerbs_get_Count_Stub(
  2223.     IRpcStubBuffer *This,
  2224.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2225.     PRPC_MESSAGE _pRpcMessage,
  2226.     DWORD *_pdwStubPhase);
  2227.  
  2228.  
  2229. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItemVerbs_get_Application_Proxy( 
  2230.     FolderItemVerbs __RPC_FAR * This,
  2231.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  2232.  
  2233.  
  2234. void __RPC_STUB FolderItemVerbs_get_Application_Stub(
  2235.     IRpcStubBuffer *This,
  2236.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2237.     PRPC_MESSAGE _pRpcMessage,
  2238.     DWORD *_pdwStubPhase);
  2239.  
  2240.  
  2241. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE FolderItemVerbs_get_Parent_Proxy( 
  2242.     FolderItemVerbs __RPC_FAR * This,
  2243.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  2244.  
  2245.  
  2246. void __RPC_STUB FolderItemVerbs_get_Parent_Stub(
  2247.     IRpcStubBuffer *This,
  2248.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2249.     PRPC_MESSAGE _pRpcMessage,
  2250.     DWORD *_pdwStubPhase);
  2251.  
  2252.  
  2253. /* [helpstring] */ HRESULT STDMETHODCALLTYPE FolderItemVerbs_Item_Proxy( 
  2254.     FolderItemVerbs __RPC_FAR * This,
  2255.     /* [optional][in] */ VARIANT index,
  2256.     /* [retval][out] */ FolderItemVerb __RPC_FAR *__RPC_FAR *ppid);
  2257.  
  2258.  
  2259. void __RPC_STUB FolderItemVerbs_Item_Stub(
  2260.     IRpcStubBuffer *This,
  2261.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2262.     PRPC_MESSAGE _pRpcMessage,
  2263.     DWORD *_pdwStubPhase);
  2264.  
  2265.  
  2266. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FolderItemVerbs__NewEnum_Proxy( 
  2267.     FolderItemVerbs __RPC_FAR * This,
  2268.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk);
  2269.  
  2270.  
  2271. void __RPC_STUB FolderItemVerbs__NewEnum_Stub(
  2272.     IRpcStubBuffer *This,
  2273.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2274.     PRPC_MESSAGE _pRpcMessage,
  2275.     DWORD *_pdwStubPhase);
  2276.  
  2277.  
  2278.  
  2279. #endif     /* __FolderItemVerbs_INTERFACE_DEFINED__ */
  2280.  
  2281.  
  2282. #ifndef __Folder_INTERFACE_DEFINED__
  2283. #define __Folder_INTERFACE_DEFINED__
  2284.  
  2285. /* interface Folder */
  2286. /* [object][dual][oleautomation][helpstring][uuid] */ 
  2287.  
  2288.  
  2289. EXTERN_C const IID IID_Folder;
  2290.  
  2291. #if defined(__cplusplus) && !defined(CINTERFACE)
  2292.     
  2293.     MIDL_INTERFACE("BBCBDE60-C3FF-11CE-8350-444553540000")
  2294.     Folder : public IDispatch
  2295.     {
  2296.     public:
  2297.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Title( 
  2298.             /* [retval][out] */ BSTR __RPC_FAR *pbs) = 0;
  2299.         
  2300.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
  2301.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  2302.         
  2303.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
  2304.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  2305.         
  2306.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ParentFolder( 
  2307.             /* [retval][out] */ Folder __RPC_FAR *__RPC_FAR *ppsf) = 0;
  2308.         
  2309.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Items( 
  2310.             /* [retval][out] */ FolderItems __RPC_FAR *__RPC_FAR *ppid) = 0;
  2311.         
  2312.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ParseName( 
  2313.             /* [in] */ BSTR bName,
  2314.             /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppid) = 0;
  2315.         
  2316.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NewFolder( 
  2317.             /* [in] */ BSTR bName,
  2318.             /* [optional][in] */ VARIANT vOptions) = 0;
  2319.         
  2320.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MoveHere( 
  2321.             /* [in] */ VARIANT vItem,
  2322.             /* [optional][in] */ VARIANT vOptions) = 0;
  2323.         
  2324.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CopyHere( 
  2325.             /* [in] */ VARIANT vItem,
  2326.             /* [optional][in] */ VARIANT vOptions) = 0;
  2327.         
  2328.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDetailsOf( 
  2329.             /* [in] */ VARIANT vItem,
  2330.             /* [in] */ int iColumn,
  2331.             /* [retval][out] */ BSTR __RPC_FAR *pbs) = 0;
  2332.         
  2333.     };
  2334.     
  2335. #else     /* C style interface */
  2336.  
  2337.     typedef struct FolderVtbl
  2338.     {
  2339.         BEGIN_INTERFACE
  2340.         
  2341.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2342.             Folder __RPC_FAR * This,
  2343.             /* [in] */ REFIID riid,
  2344.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2345.         
  2346.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2347.             Folder __RPC_FAR * This);
  2348.         
  2349.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2350.             Folder __RPC_FAR * This);
  2351.         
  2352.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  2353.             Folder __RPC_FAR * This,
  2354.             /* [out] */ UINT __RPC_FAR *pctinfo);
  2355.         
  2356.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  2357.             Folder __RPC_FAR * This,
  2358.             /* [in] */ UINT iTInfo,
  2359.             /* [in] */ LCID lcid,
  2360.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2361.         
  2362.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  2363.             Folder __RPC_FAR * This,
  2364.             /* [in] */ REFIID riid,
  2365.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2366.             /* [in] */ UINT cNames,
  2367.             /* [in] */ LCID lcid,
  2368.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2369.         
  2370.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  2371.             Folder __RPC_FAR * This,
  2372.             /* [in] */ DISPID dispIdMember,
  2373.             /* [in] */ REFIID riid,
  2374.             /* [in] */ LCID lcid,
  2375.             /* [in] */ WORD wFlags,
  2376.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2377.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2378.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2379.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2380.         
  2381.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Title )( 
  2382.             Folder __RPC_FAR * This,
  2383.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  2384.         
  2385.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
  2386.             Folder __RPC_FAR * This,
  2387.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  2388.         
  2389.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
  2390.             Folder __RPC_FAR * This,
  2391.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  2392.         
  2393.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ParentFolder )( 
  2394.             Folder __RPC_FAR * This,
  2395.             /* [retval][out] */ Folder __RPC_FAR *__RPC_FAR *ppsf);
  2396.         
  2397.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Items )( 
  2398.             Folder __RPC_FAR * This,
  2399.             /* [retval][out] */ FolderItems __RPC_FAR *__RPC_FAR *ppid);
  2400.         
  2401.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ParseName )( 
  2402.             Folder __RPC_FAR * This,
  2403.             /* [in] */ BSTR bName,
  2404.             /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppid);
  2405.         
  2406.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NewFolder )( 
  2407.             Folder __RPC_FAR * This,
  2408.             /* [in] */ BSTR bName,
  2409.             /* [optional][in] */ VARIANT vOptions);
  2410.         
  2411.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveHere )( 
  2412.             Folder __RPC_FAR * This,
  2413.             /* [in] */ VARIANT vItem,
  2414.             /* [optional][in] */ VARIANT vOptions);
  2415.         
  2416.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyHere )( 
  2417.             Folder __RPC_FAR * This,
  2418.             /* [in] */ VARIANT vItem,
  2419.             /* [optional][in] */ VARIANT vOptions);
  2420.         
  2421.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDetailsOf )( 
  2422.             Folder __RPC_FAR * This,
  2423.             /* [in] */ VARIANT vItem,
  2424.             /* [in] */ int iColumn,
  2425.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  2426.         
  2427.         END_INTERFACE
  2428.     } FolderVtbl;
  2429.  
  2430.     interface Folder
  2431.     {
  2432.         CONST_VTBL struct FolderVtbl __RPC_FAR *lpVtbl;
  2433.     };
  2434.  
  2435.     
  2436.  
  2437. #ifdef COBJMACROS
  2438.  
  2439.  
  2440. #define Folder_QueryInterface(This,riid,ppvObject)    \
  2441.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2442.  
  2443. #define Folder_AddRef(This)    \
  2444.     (This)->lpVtbl -> AddRef(This)
  2445.  
  2446. #define Folder_Release(This)    \
  2447.     (This)->lpVtbl -> Release(This)
  2448.  
  2449.  
  2450. #define Folder_GetTypeInfoCount(This,pctinfo)    \
  2451.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2452.  
  2453. #define Folder_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2454.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2455.  
  2456. #define Folder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2457.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2458.  
  2459. #define Folder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2460.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2461.  
  2462.  
  2463. #define Folder_get_Title(This,pbs)    \
  2464.     (This)->lpVtbl -> get_Title(This,pbs)
  2465.  
  2466. #define Folder_get_Application(This,ppid)    \
  2467.     (This)->lpVtbl -> get_Application(This,ppid)
  2468.  
  2469. #define Folder_get_Parent(This,ppid)    \
  2470.     (This)->lpVtbl -> get_Parent(This,ppid)
  2471.  
  2472. #define Folder_get_ParentFolder(This,ppsf)    \
  2473.     (This)->lpVtbl -> get_ParentFolder(This,ppsf)
  2474.  
  2475. #define Folder_Items(This,ppid)    \
  2476.     (This)->lpVtbl -> Items(This,ppid)
  2477.  
  2478. #define Folder_ParseName(This,bName,ppid)    \
  2479.     (This)->lpVtbl -> ParseName(This,bName,ppid)
  2480.  
  2481. #define Folder_NewFolder(This,bName,vOptions)    \
  2482.     (This)->lpVtbl -> NewFolder(This,bName,vOptions)
  2483.  
  2484. #define Folder_MoveHere(This,vItem,vOptions)    \
  2485.     (This)->lpVtbl -> MoveHere(This,vItem,vOptions)
  2486.  
  2487. #define Folder_CopyHere(This,vItem,vOptions)    \
  2488.     (This)->lpVtbl -> CopyHere(This,vItem,vOptions)
  2489.  
  2490. #define Folder_GetDetailsOf(This,vItem,iColumn,pbs)    \
  2491.     (This)->lpVtbl -> GetDetailsOf(This,vItem,iColumn,pbs)
  2492.  
  2493. #endif /* COBJMACROS */
  2494.  
  2495.  
  2496. #endif     /* C style interface */
  2497.  
  2498.  
  2499.  
  2500. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE Folder_get_Title_Proxy( 
  2501.     Folder __RPC_FAR * This,
  2502.     /* [retval][out] */ BSTR __RPC_FAR *pbs);
  2503.  
  2504.  
  2505. void __RPC_STUB Folder_get_Title_Stub(
  2506.     IRpcStubBuffer *This,
  2507.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2508.     PRPC_MESSAGE _pRpcMessage,
  2509.     DWORD *_pdwStubPhase);
  2510.  
  2511.  
  2512. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE Folder_get_Application_Proxy( 
  2513.     Folder __RPC_FAR * This,
  2514.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  2515.  
  2516.  
  2517. void __RPC_STUB Folder_get_Application_Stub(
  2518.     IRpcStubBuffer *This,
  2519.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2520.     PRPC_MESSAGE _pRpcMessage,
  2521.     DWORD *_pdwStubPhase);
  2522.  
  2523.  
  2524. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE Folder_get_Parent_Proxy( 
  2525.     Folder __RPC_FAR * This,
  2526.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  2527.  
  2528.  
  2529. void __RPC_STUB Folder_get_Parent_Stub(
  2530.     IRpcStubBuffer *This,
  2531.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2532.     PRPC_MESSAGE _pRpcMessage,
  2533.     DWORD *_pdwStubPhase);
  2534.  
  2535.  
  2536. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE Folder_get_ParentFolder_Proxy( 
  2537.     Folder __RPC_FAR * This,
  2538.     /* [retval][out] */ Folder __RPC_FAR *__RPC_FAR *ppsf);
  2539.  
  2540.  
  2541. void __RPC_STUB Folder_get_ParentFolder_Stub(
  2542.     IRpcStubBuffer *This,
  2543.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2544.     PRPC_MESSAGE _pRpcMessage,
  2545.     DWORD *_pdwStubPhase);
  2546.  
  2547.  
  2548. /* [helpstring] */ HRESULT STDMETHODCALLTYPE Folder_Items_Proxy( 
  2549.     Folder __RPC_FAR * This,
  2550.     /* [retval][out] */ FolderItems __RPC_FAR *__RPC_FAR *ppid);
  2551.  
  2552.  
  2553. void __RPC_STUB Folder_Items_Stub(
  2554.     IRpcStubBuffer *This,
  2555.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2556.     PRPC_MESSAGE _pRpcMessage,
  2557.     DWORD *_pdwStubPhase);
  2558.  
  2559.  
  2560. /* [helpstring] */ HRESULT STDMETHODCALLTYPE Folder_ParseName_Proxy( 
  2561.     Folder __RPC_FAR * This,
  2562.     /* [in] */ BSTR bName,
  2563.     /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppid);
  2564.  
  2565.  
  2566. void __RPC_STUB Folder_ParseName_Stub(
  2567.     IRpcStubBuffer *This,
  2568.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2569.     PRPC_MESSAGE _pRpcMessage,
  2570.     DWORD *_pdwStubPhase);
  2571.  
  2572.  
  2573. /* [helpstring] */ HRESULT STDMETHODCALLTYPE Folder_NewFolder_Proxy( 
  2574.     Folder __RPC_FAR * This,
  2575.     /* [in] */ BSTR bName,
  2576.     /* [optional][in] */ VARIANT vOptions);
  2577.  
  2578.  
  2579. void __RPC_STUB Folder_NewFolder_Stub(
  2580.     IRpcStubBuffer *This,
  2581.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2582.     PRPC_MESSAGE _pRpcMessage,
  2583.     DWORD *_pdwStubPhase);
  2584.  
  2585.  
  2586. /* [helpstring] */ HRESULT STDMETHODCALLTYPE Folder_MoveHere_Proxy( 
  2587.     Folder __RPC_FAR * This,
  2588.     /* [in] */ VARIANT vItem,
  2589.     /* [optional][in] */ VARIANT vOptions);
  2590.  
  2591.  
  2592. void __RPC_STUB Folder_MoveHere_Stub(
  2593.     IRpcStubBuffer *This,
  2594.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2595.     PRPC_MESSAGE _pRpcMessage,
  2596.     DWORD *_pdwStubPhase);
  2597.  
  2598.  
  2599. /* [helpstring] */ HRESULT STDMETHODCALLTYPE Folder_CopyHere_Proxy( 
  2600.     Folder __RPC_FAR * This,
  2601.     /* [in] */ VARIANT vItem,
  2602.     /* [optional][in] */ VARIANT vOptions);
  2603.  
  2604.  
  2605. void __RPC_STUB Folder_CopyHere_Stub(
  2606.     IRpcStubBuffer *This,
  2607.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2608.     PRPC_MESSAGE _pRpcMessage,
  2609.     DWORD *_pdwStubPhase);
  2610.  
  2611.  
  2612. /* [helpstring] */ HRESULT STDMETHODCALLTYPE Folder_GetDetailsOf_Proxy( 
  2613.     Folder __RPC_FAR * This,
  2614.     /* [in] */ VARIANT vItem,
  2615.     /* [in] */ int iColumn,
  2616.     /* [retval][out] */ BSTR __RPC_FAR *pbs);
  2617.  
  2618.  
  2619. void __RPC_STUB Folder_GetDetailsOf_Stub(
  2620.     IRpcStubBuffer *This,
  2621.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2622.     PRPC_MESSAGE _pRpcMessage,
  2623.     DWORD *_pdwStubPhase);
  2624.  
  2625.  
  2626.  
  2627. #endif     /* __Folder_INTERFACE_DEFINED__ */
  2628.  
  2629.  
  2630. #ifndef __Folder2_INTERFACE_DEFINED__
  2631. #define __Folder2_INTERFACE_DEFINED__
  2632.  
  2633. /* interface Folder2 */
  2634. /* [object][dual][oleautomation][helpstring][uuid] */ 
  2635.  
  2636.  
  2637. EXTERN_C const IID IID_Folder2;
  2638.  
  2639. #if defined(__cplusplus) && !defined(CINTERFACE)
  2640.     
  2641.     MIDL_INTERFACE("f0d2d8ef-3890-11d2-bf8b-00c04fb93661")
  2642.     Folder2 : public Folder
  2643.     {
  2644.     public:
  2645.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Self( 
  2646.             /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppfi) = 0;
  2647.         
  2648.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_OfflineStatus( 
  2649.             /* [retval][out] */ LONG __RPC_FAR *pul) = 0;
  2650.         
  2651.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Synchronize( void) = 0;
  2652.         
  2653.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_HaveToShowWebViewBarricade( 
  2654.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbHaveToShowWebViewBarricade) = 0;
  2655.         
  2656.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DismissedWebViewBarricade( void) = 0;
  2657.         
  2658.     };
  2659.     
  2660. #else     /* C style interface */
  2661.  
  2662.     typedef struct Folder2Vtbl
  2663.     {
  2664.         BEGIN_INTERFACE
  2665.         
  2666.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2667.             Folder2 __RPC_FAR * This,
  2668.             /* [in] */ REFIID riid,
  2669.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2670.         
  2671.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2672.             Folder2 __RPC_FAR * This);
  2673.         
  2674.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2675.             Folder2 __RPC_FAR * This);
  2676.         
  2677.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  2678.             Folder2 __RPC_FAR * This,
  2679.             /* [out] */ UINT __RPC_FAR *pctinfo);
  2680.         
  2681.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  2682.             Folder2 __RPC_FAR * This,
  2683.             /* [in] */ UINT iTInfo,
  2684.             /* [in] */ LCID lcid,
  2685.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2686.         
  2687.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  2688.             Folder2 __RPC_FAR * This,
  2689.             /* [in] */ REFIID riid,
  2690.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2691.             /* [in] */ UINT cNames,
  2692.             /* [in] */ LCID lcid,
  2693.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2694.         
  2695.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  2696.             Folder2 __RPC_FAR * This,
  2697.             /* [in] */ DISPID dispIdMember,
  2698.             /* [in] */ REFIID riid,
  2699.             /* [in] */ LCID lcid,
  2700.             /* [in] */ WORD wFlags,
  2701.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2702.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2703.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2704.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2705.         
  2706.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Title )( 
  2707.             Folder2 __RPC_FAR * This,
  2708.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  2709.         
  2710.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
  2711.             Folder2 __RPC_FAR * This,
  2712.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  2713.         
  2714.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
  2715.             Folder2 __RPC_FAR * This,
  2716.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  2717.         
  2718.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ParentFolder )( 
  2719.             Folder2 __RPC_FAR * This,
  2720.             /* [retval][out] */ Folder __RPC_FAR *__RPC_FAR *ppsf);
  2721.         
  2722.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Items )( 
  2723.             Folder2 __RPC_FAR * This,
  2724.             /* [retval][out] */ FolderItems __RPC_FAR *__RPC_FAR *ppid);
  2725.         
  2726.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ParseName )( 
  2727.             Folder2 __RPC_FAR * This,
  2728.             /* [in] */ BSTR bName,
  2729.             /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppid);
  2730.         
  2731.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NewFolder )( 
  2732.             Folder2 __RPC_FAR * This,
  2733.             /* [in] */ BSTR bName,
  2734.             /* [optional][in] */ VARIANT vOptions);
  2735.         
  2736.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveHere )( 
  2737.             Folder2 __RPC_FAR * This,
  2738.             /* [in] */ VARIANT vItem,
  2739.             /* [optional][in] */ VARIANT vOptions);
  2740.         
  2741.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyHere )( 
  2742.             Folder2 __RPC_FAR * This,
  2743.             /* [in] */ VARIANT vItem,
  2744.             /* [optional][in] */ VARIANT vOptions);
  2745.         
  2746.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDetailsOf )( 
  2747.             Folder2 __RPC_FAR * This,
  2748.             /* [in] */ VARIANT vItem,
  2749.             /* [in] */ int iColumn,
  2750.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  2751.         
  2752.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Self )( 
  2753.             Folder2 __RPC_FAR * This,
  2754.             /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppfi);
  2755.         
  2756.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_OfflineStatus )( 
  2757.             Folder2 __RPC_FAR * This,
  2758.             /* [retval][out] */ LONG __RPC_FAR *pul);
  2759.         
  2760.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Synchronize )( 
  2761.             Folder2 __RPC_FAR * This);
  2762.         
  2763.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_HaveToShowWebViewBarricade )( 
  2764.             Folder2 __RPC_FAR * This,
  2765.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbHaveToShowWebViewBarricade);
  2766.         
  2767.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DismissedWebViewBarricade )( 
  2768.             Folder2 __RPC_FAR * This);
  2769.         
  2770.         END_INTERFACE
  2771.     } Folder2Vtbl;
  2772.  
  2773.     interface Folder2
  2774.     {
  2775.         CONST_VTBL struct Folder2Vtbl __RPC_FAR *lpVtbl;
  2776.     };
  2777.  
  2778.     
  2779.  
  2780. #ifdef COBJMACROS
  2781.  
  2782.  
  2783. #define Folder2_QueryInterface(This,riid,ppvObject)    \
  2784.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2785.  
  2786. #define Folder2_AddRef(This)    \
  2787.     (This)->lpVtbl -> AddRef(This)
  2788.  
  2789. #define Folder2_Release(This)    \
  2790.     (This)->lpVtbl -> Release(This)
  2791.  
  2792.  
  2793. #define Folder2_GetTypeInfoCount(This,pctinfo)    \
  2794.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2795.  
  2796. #define Folder2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  2797.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2798.  
  2799. #define Folder2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  2800.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2801.  
  2802. #define Folder2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  2803.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2804.  
  2805.  
  2806. #define Folder2_get_Title(This,pbs)    \
  2807.     (This)->lpVtbl -> get_Title(This,pbs)
  2808.  
  2809. #define Folder2_get_Application(This,ppid)    \
  2810.     (This)->lpVtbl -> get_Application(This,ppid)
  2811.  
  2812. #define Folder2_get_Parent(This,ppid)    \
  2813.     (This)->lpVtbl -> get_Parent(This,ppid)
  2814.  
  2815. #define Folder2_get_ParentFolder(This,ppsf)    \
  2816.     (This)->lpVtbl -> get_ParentFolder(This,ppsf)
  2817.  
  2818. #define Folder2_Items(This,ppid)    \
  2819.     (This)->lpVtbl -> Items(This,ppid)
  2820.  
  2821. #define Folder2_ParseName(This,bName,ppid)    \
  2822.     (This)->lpVtbl -> ParseName(This,bName,ppid)
  2823.  
  2824. #define Folder2_NewFolder(This,bName,vOptions)    \
  2825.     (This)->lpVtbl -> NewFolder(This,bName,vOptions)
  2826.  
  2827. #define Folder2_MoveHere(This,vItem,vOptions)    \
  2828.     (This)->lpVtbl -> MoveHere(This,vItem,vOptions)
  2829.  
  2830. #define Folder2_CopyHere(This,vItem,vOptions)    \
  2831.     (This)->lpVtbl -> CopyHere(This,vItem,vOptions)
  2832.  
  2833. #define Folder2_GetDetailsOf(This,vItem,iColumn,pbs)    \
  2834.     (This)->lpVtbl -> GetDetailsOf(This,vItem,iColumn,pbs)
  2835.  
  2836.  
  2837. #define Folder2_get_Self(This,ppfi)    \
  2838.     (This)->lpVtbl -> get_Self(This,ppfi)
  2839.  
  2840. #define Folder2_get_OfflineStatus(This,pul)    \
  2841.     (This)->lpVtbl -> get_OfflineStatus(This,pul)
  2842.  
  2843. #define Folder2_Synchronize(This)    \
  2844.     (This)->lpVtbl -> Synchronize(This)
  2845.  
  2846. #define Folder2_get_HaveToShowWebViewBarricade(This,pbHaveToShowWebViewBarricade)    \
  2847.     (This)->lpVtbl -> get_HaveToShowWebViewBarricade(This,pbHaveToShowWebViewBarricade)
  2848.  
  2849. #define Folder2_DismissedWebViewBarricade(This)    \
  2850.     (This)->lpVtbl -> DismissedWebViewBarricade(This)
  2851.  
  2852. #endif /* COBJMACROS */
  2853.  
  2854.  
  2855. #endif     /* C style interface */
  2856.  
  2857.  
  2858.  
  2859. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE Folder2_get_Self_Proxy( 
  2860.     Folder2 __RPC_FAR * This,
  2861.     /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppfi);
  2862.  
  2863.  
  2864. void __RPC_STUB Folder2_get_Self_Stub(
  2865.     IRpcStubBuffer *This,
  2866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2867.     PRPC_MESSAGE _pRpcMessage,
  2868.     DWORD *_pdwStubPhase);
  2869.  
  2870.  
  2871. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE Folder2_get_OfflineStatus_Proxy( 
  2872.     Folder2 __RPC_FAR * This,
  2873.     /* [retval][out] */ LONG __RPC_FAR *pul);
  2874.  
  2875.  
  2876. void __RPC_STUB Folder2_get_OfflineStatus_Stub(
  2877.     IRpcStubBuffer *This,
  2878.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2879.     PRPC_MESSAGE _pRpcMessage,
  2880.     DWORD *_pdwStubPhase);
  2881.  
  2882.  
  2883. /* [helpstring] */ HRESULT STDMETHODCALLTYPE Folder2_Synchronize_Proxy( 
  2884.     Folder2 __RPC_FAR * This);
  2885.  
  2886.  
  2887. void __RPC_STUB Folder2_Synchronize_Stub(
  2888.     IRpcStubBuffer *This,
  2889.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2890.     PRPC_MESSAGE _pRpcMessage,
  2891.     DWORD *_pdwStubPhase);
  2892.  
  2893.  
  2894. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE Folder2_get_HaveToShowWebViewBarricade_Proxy( 
  2895.     Folder2 __RPC_FAR * This,
  2896.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pbHaveToShowWebViewBarricade);
  2897.  
  2898.  
  2899. void __RPC_STUB Folder2_get_HaveToShowWebViewBarricade_Stub(
  2900.     IRpcStubBuffer *This,
  2901.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2902.     PRPC_MESSAGE _pRpcMessage,
  2903.     DWORD *_pdwStubPhase);
  2904.  
  2905.  
  2906. /* [helpstring] */ HRESULT STDMETHODCALLTYPE Folder2_DismissedWebViewBarricade_Proxy( 
  2907.     Folder2 __RPC_FAR * This);
  2908.  
  2909.  
  2910. void __RPC_STUB Folder2_DismissedWebViewBarricade_Stub(
  2911.     IRpcStubBuffer *This,
  2912.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2913.     PRPC_MESSAGE _pRpcMessage,
  2914.     DWORD *_pdwStubPhase);
  2915.  
  2916.  
  2917.  
  2918. #endif     /* __Folder2_INTERFACE_DEFINED__ */
  2919.  
  2920.  
  2921. #ifndef __FolderItem2_INTERFACE_DEFINED__
  2922. #define __FolderItem2_INTERFACE_DEFINED__
  2923.  
  2924. /* interface FolderItem2 */
  2925. /* [object][dual][oleautomation][helpstring][uuid] */ 
  2926.  
  2927.  
  2928. EXTERN_C const IID IID_FolderItem2;
  2929.  
  2930. #if defined(__cplusplus) && !defined(CINTERFACE)
  2931.     
  2932.     MIDL_INTERFACE("edc817aa-92b8-11d1-b075-00c04fc33aa5")
  2933.     FolderItem2 : public FolderItem
  2934.     {
  2935.     public:
  2936.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InvokeVerbEx( 
  2937.             /* [optional][in] */ VARIANT vVerb,
  2938.             /* [optional][in] */ VARIANT vArgs) = 0;
  2939.         
  2940.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ExtendedProperty( 
  2941.             /* [in] */ BSTR bstrPropName,
  2942.             /* [retval][out] */ VARIANT __RPC_FAR *pvRet) = 0;
  2943.         
  2944.     };
  2945.     
  2946. #else     /* C style interface */
  2947.  
  2948.     typedef struct FolderItem2Vtbl
  2949.     {
  2950.         BEGIN_INTERFACE
  2951.         
  2952.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2953.             FolderItem2 __RPC_FAR * This,
  2954.             /* [in] */ REFIID riid,
  2955.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2956.         
  2957.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2958.             FolderItem2 __RPC_FAR * This);
  2959.         
  2960.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2961.             FolderItem2 __RPC_FAR * This);
  2962.         
  2963.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  2964.             FolderItem2 __RPC_FAR * This,
  2965.             /* [out] */ UINT __RPC_FAR *pctinfo);
  2966.         
  2967.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  2968.             FolderItem2 __RPC_FAR * This,
  2969.             /* [in] */ UINT iTInfo,
  2970.             /* [in] */ LCID lcid,
  2971.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  2972.         
  2973.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  2974.             FolderItem2 __RPC_FAR * This,
  2975.             /* [in] */ REFIID riid,
  2976.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  2977.             /* [in] */ UINT cNames,
  2978.             /* [in] */ LCID lcid,
  2979.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  2980.         
  2981.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  2982.             FolderItem2 __RPC_FAR * This,
  2983.             /* [in] */ DISPID dispIdMember,
  2984.             /* [in] */ REFIID riid,
  2985.             /* [in] */ LCID lcid,
  2986.             /* [in] */ WORD wFlags,
  2987.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  2988.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  2989.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  2990.             /* [out] */ UINT __RPC_FAR *puArgErr);
  2991.         
  2992.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
  2993.             FolderItem2 __RPC_FAR * This,
  2994.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  2995.         
  2996.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
  2997.             FolderItem2 __RPC_FAR * This,
  2998.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  2999.         
  3000.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
  3001.             FolderItem2 __RPC_FAR * This,
  3002.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  3003.         
  3004.         /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
  3005.             FolderItem2 __RPC_FAR * This,
  3006.             /* [in] */ BSTR bs);
  3007.         
  3008.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Path )( 
  3009.             FolderItem2 __RPC_FAR * This,
  3010.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  3011.         
  3012.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_GetLink )( 
  3013.             FolderItem2 __RPC_FAR * This,
  3014.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  3015.         
  3016.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_GetFolder )( 
  3017.             FolderItem2 __RPC_FAR * This,
  3018.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  3019.         
  3020.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsLink )( 
  3021.             FolderItem2 __RPC_FAR * This,
  3022.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  3023.         
  3024.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsFolder )( 
  3025.             FolderItem2 __RPC_FAR * This,
  3026.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  3027.         
  3028.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsFileSystem )( 
  3029.             FolderItem2 __RPC_FAR * This,
  3030.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  3031.         
  3032.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsBrowsable )( 
  3033.             FolderItem2 __RPC_FAR * This,
  3034.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb);
  3035.         
  3036.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ModifyDate )( 
  3037.             FolderItem2 __RPC_FAR * This,
  3038.             /* [retval][out] */ DATE __RPC_FAR *pdt);
  3039.         
  3040.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ModifyDate )( 
  3041.             FolderItem2 __RPC_FAR * This,
  3042.             /* [in] */ DATE dt);
  3043.         
  3044.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Size )( 
  3045.             FolderItem2 __RPC_FAR * This,
  3046.             /* [retval][out] */ LONG __RPC_FAR *pul);
  3047.         
  3048.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Type )( 
  3049.             FolderItem2 __RPC_FAR * This,
  3050.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  3051.         
  3052.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Verbs )( 
  3053.             FolderItem2 __RPC_FAR * This,
  3054.             /* [retval][out] */ FolderItemVerbs __RPC_FAR *__RPC_FAR *ppfic);
  3055.         
  3056.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InvokeVerb )( 
  3057.             FolderItem2 __RPC_FAR * This,
  3058.             /* [optional][in] */ VARIANT vVerb);
  3059.         
  3060.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InvokeVerbEx )( 
  3061.             FolderItem2 __RPC_FAR * This,
  3062.             /* [optional][in] */ VARIANT vVerb,
  3063.             /* [optional][in] */ VARIANT vArgs);
  3064.         
  3065.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExtendedProperty )( 
  3066.             FolderItem2 __RPC_FAR * This,
  3067.             /* [in] */ BSTR bstrPropName,
  3068.             /* [retval][out] */ VARIANT __RPC_FAR *pvRet);
  3069.         
  3070.         END_INTERFACE
  3071.     } FolderItem2Vtbl;
  3072.  
  3073.     interface FolderItem2
  3074.     {
  3075.         CONST_VTBL struct FolderItem2Vtbl __RPC_FAR *lpVtbl;
  3076.     };
  3077.  
  3078.     
  3079.  
  3080. #ifdef COBJMACROS
  3081.  
  3082.  
  3083. #define FolderItem2_QueryInterface(This,riid,ppvObject)    \
  3084.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3085.  
  3086. #define FolderItem2_AddRef(This)    \
  3087.     (This)->lpVtbl -> AddRef(This)
  3088.  
  3089. #define FolderItem2_Release(This)    \
  3090.     (This)->lpVtbl -> Release(This)
  3091.  
  3092.  
  3093. #define FolderItem2_GetTypeInfoCount(This,pctinfo)    \
  3094.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3095.  
  3096. #define FolderItem2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3097.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3098.  
  3099. #define FolderItem2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3100.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3101.  
  3102. #define FolderItem2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3103.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3104.  
  3105.  
  3106. #define FolderItem2_get_Application(This,ppid)    \
  3107.     (This)->lpVtbl -> get_Application(This,ppid)
  3108.  
  3109. #define FolderItem2_get_Parent(This,ppid)    \
  3110.     (This)->lpVtbl -> get_Parent(This,ppid)
  3111.  
  3112. #define FolderItem2_get_Name(This,pbs)    \
  3113.     (This)->lpVtbl -> get_Name(This,pbs)
  3114.  
  3115. #define FolderItem2_put_Name(This,bs)    \
  3116.     (This)->lpVtbl -> put_Name(This,bs)
  3117.  
  3118. #define FolderItem2_get_Path(This,pbs)    \
  3119.     (This)->lpVtbl -> get_Path(This,pbs)
  3120.  
  3121. #define FolderItem2_get_GetLink(This,ppid)    \
  3122.     (This)->lpVtbl -> get_GetLink(This,ppid)
  3123.  
  3124. #define FolderItem2_get_GetFolder(This,ppid)    \
  3125.     (This)->lpVtbl -> get_GetFolder(This,ppid)
  3126.  
  3127. #define FolderItem2_get_IsLink(This,pb)    \
  3128.     (This)->lpVtbl -> get_IsLink(This,pb)
  3129.  
  3130. #define FolderItem2_get_IsFolder(This,pb)    \
  3131.     (This)->lpVtbl -> get_IsFolder(This,pb)
  3132.  
  3133. #define FolderItem2_get_IsFileSystem(This,pb)    \
  3134.     (This)->lpVtbl -> get_IsFileSystem(This,pb)
  3135.  
  3136. #define FolderItem2_get_IsBrowsable(This,pb)    \
  3137.     (This)->lpVtbl -> get_IsBrowsable(This,pb)
  3138.  
  3139. #define FolderItem2_get_ModifyDate(This,pdt)    \
  3140.     (This)->lpVtbl -> get_ModifyDate(This,pdt)
  3141.  
  3142. #define FolderItem2_put_ModifyDate(This,dt)    \
  3143.     (This)->lpVtbl -> put_ModifyDate(This,dt)
  3144.  
  3145. #define FolderItem2_get_Size(This,pul)    \
  3146.     (This)->lpVtbl -> get_Size(This,pul)
  3147.  
  3148. #define FolderItem2_get_Type(This,pbs)    \
  3149.     (This)->lpVtbl -> get_Type(This,pbs)
  3150.  
  3151. #define FolderItem2_Verbs(This,ppfic)    \
  3152.     (This)->lpVtbl -> Verbs(This,ppfic)
  3153.  
  3154. #define FolderItem2_InvokeVerb(This,vVerb)    \
  3155.     (This)->lpVtbl -> InvokeVerb(This,vVerb)
  3156.  
  3157.  
  3158. #define FolderItem2_InvokeVerbEx(This,vVerb,vArgs)    \
  3159.     (This)->lpVtbl -> InvokeVerbEx(This,vVerb,vArgs)
  3160.  
  3161. #define FolderItem2_ExtendedProperty(This,bstrPropName,pvRet)    \
  3162.     (This)->lpVtbl -> ExtendedProperty(This,bstrPropName,pvRet)
  3163.  
  3164. #endif /* COBJMACROS */
  3165.  
  3166.  
  3167. #endif     /* C style interface */
  3168.  
  3169.  
  3170.  
  3171. /* [helpstring] */ HRESULT STDMETHODCALLTYPE FolderItem2_InvokeVerbEx_Proxy( 
  3172.     FolderItem2 __RPC_FAR * This,
  3173.     /* [optional][in] */ VARIANT vVerb,
  3174.     /* [optional][in] */ VARIANT vArgs);
  3175.  
  3176.  
  3177. void __RPC_STUB FolderItem2_InvokeVerbEx_Stub(
  3178.     IRpcStubBuffer *This,
  3179.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3180.     PRPC_MESSAGE _pRpcMessage,
  3181.     DWORD *_pdwStubPhase);
  3182.  
  3183.  
  3184. /* [helpstring] */ HRESULT STDMETHODCALLTYPE FolderItem2_ExtendedProperty_Proxy( 
  3185.     FolderItem2 __RPC_FAR * This,
  3186.     /* [in] */ BSTR bstrPropName,
  3187.     /* [retval][out] */ VARIANT __RPC_FAR *pvRet);
  3188.  
  3189.  
  3190. void __RPC_STUB FolderItem2_ExtendedProperty_Stub(
  3191.     IRpcStubBuffer *This,
  3192.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3193.     PRPC_MESSAGE _pRpcMessage,
  3194.     DWORD *_pdwStubPhase);
  3195.  
  3196.  
  3197.  
  3198. #endif     /* __FolderItem2_INTERFACE_DEFINED__ */
  3199.  
  3200.  
  3201. EXTERN_C const CLSID CLSID_ShellFolderItem;
  3202.  
  3203. #ifdef __cplusplus
  3204.  
  3205. class DECLSPEC_UUID("2fe352ea-fd1f-11d2-b1f4-00c04f8eeb3e")
  3206. ShellFolderItem;
  3207. #endif
  3208.  
  3209. #ifndef __FolderItems2_INTERFACE_DEFINED__
  3210. #define __FolderItems2_INTERFACE_DEFINED__
  3211.  
  3212. /* interface FolderItems2 */
  3213. /* [object][dual][oleautomation][helpstring][uuid] */ 
  3214.  
  3215.  
  3216. EXTERN_C const IID IID_FolderItems2;
  3217.  
  3218. #if defined(__cplusplus) && !defined(CINTERFACE)
  3219.     
  3220.     MIDL_INTERFACE("C94F0AD0-F363-11d2-A327-00C04F8EEC7F")
  3221.     FolderItems2 : public FolderItems
  3222.     {
  3223.     public:
  3224.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE InvokeVerbEx( 
  3225.             /* [optional][in] */ VARIANT vVerb,
  3226.             /* [optional][in] */ VARIANT vArgs) = 0;
  3227.         
  3228.     };
  3229.     
  3230. #else     /* C style interface */
  3231.  
  3232.     typedef struct FolderItems2Vtbl
  3233.     {
  3234.         BEGIN_INTERFACE
  3235.         
  3236.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3237.             FolderItems2 __RPC_FAR * This,
  3238.             /* [in] */ REFIID riid,
  3239.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3240.         
  3241.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3242.             FolderItems2 __RPC_FAR * This);
  3243.         
  3244.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3245.             FolderItems2 __RPC_FAR * This);
  3246.         
  3247.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  3248.             FolderItems2 __RPC_FAR * This,
  3249.             /* [out] */ UINT __RPC_FAR *pctinfo);
  3250.         
  3251.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  3252.             FolderItems2 __RPC_FAR * This,
  3253.             /* [in] */ UINT iTInfo,
  3254.             /* [in] */ LCID lcid,
  3255.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3256.         
  3257.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3258.             FolderItems2 __RPC_FAR * This,
  3259.             /* [in] */ REFIID riid,
  3260.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3261.             /* [in] */ UINT cNames,
  3262.             /* [in] */ LCID lcid,
  3263.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  3264.         
  3265.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3266.             FolderItems2 __RPC_FAR * This,
  3267.             /* [in] */ DISPID dispIdMember,
  3268.             /* [in] */ REFIID riid,
  3269.             /* [in] */ LCID lcid,
  3270.             /* [in] */ WORD wFlags,
  3271.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3272.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3273.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3274.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3275.         
  3276.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
  3277.             FolderItems2 __RPC_FAR * This,
  3278.             /* [retval][out] */ long __RPC_FAR *plCount);
  3279.         
  3280.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
  3281.             FolderItems2 __RPC_FAR * This,
  3282.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  3283.         
  3284.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
  3285.             FolderItems2 __RPC_FAR * This,
  3286.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  3287.         
  3288.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Item )( 
  3289.             FolderItems2 __RPC_FAR * This,
  3290.             /* [optional][in] */ VARIANT index,
  3291.             /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppid);
  3292.         
  3293.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )( 
  3294.             FolderItems2 __RPC_FAR * This,
  3295.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk);
  3296.         
  3297.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InvokeVerbEx )( 
  3298.             FolderItems2 __RPC_FAR * This,
  3299.             /* [optional][in] */ VARIANT vVerb,
  3300.             /* [optional][in] */ VARIANT vArgs);
  3301.         
  3302.         END_INTERFACE
  3303.     } FolderItems2Vtbl;
  3304.  
  3305.     interface FolderItems2
  3306.     {
  3307.         CONST_VTBL struct FolderItems2Vtbl __RPC_FAR *lpVtbl;
  3308.     };
  3309.  
  3310.     
  3311.  
  3312. #ifdef COBJMACROS
  3313.  
  3314.  
  3315. #define FolderItems2_QueryInterface(This,riid,ppvObject)    \
  3316.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3317.  
  3318. #define FolderItems2_AddRef(This)    \
  3319.     (This)->lpVtbl -> AddRef(This)
  3320.  
  3321. #define FolderItems2_Release(This)    \
  3322.     (This)->lpVtbl -> Release(This)
  3323.  
  3324.  
  3325. #define FolderItems2_GetTypeInfoCount(This,pctinfo)    \
  3326.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3327.  
  3328. #define FolderItems2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3329.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3330.  
  3331. #define FolderItems2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3332.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3333.  
  3334. #define FolderItems2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3335.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3336.  
  3337.  
  3338. #define FolderItems2_get_Count(This,plCount)    \
  3339.     (This)->lpVtbl -> get_Count(This,plCount)
  3340.  
  3341. #define FolderItems2_get_Application(This,ppid)    \
  3342.     (This)->lpVtbl -> get_Application(This,ppid)
  3343.  
  3344. #define FolderItems2_get_Parent(This,ppid)    \
  3345.     (This)->lpVtbl -> get_Parent(This,ppid)
  3346.  
  3347. #define FolderItems2_Item(This,index,ppid)    \
  3348.     (This)->lpVtbl -> Item(This,index,ppid)
  3349.  
  3350. #define FolderItems2__NewEnum(This,ppunk)    \
  3351.     (This)->lpVtbl -> _NewEnum(This,ppunk)
  3352.  
  3353.  
  3354. #define FolderItems2_InvokeVerbEx(This,vVerb,vArgs)    \
  3355.     (This)->lpVtbl -> InvokeVerbEx(This,vVerb,vArgs)
  3356.  
  3357. #endif /* COBJMACROS */
  3358.  
  3359.  
  3360. #endif     /* C style interface */
  3361.  
  3362.  
  3363.  
  3364. /* [helpstring] */ HRESULT STDMETHODCALLTYPE FolderItems2_InvokeVerbEx_Proxy( 
  3365.     FolderItems2 __RPC_FAR * This,
  3366.     /* [optional][in] */ VARIANT vVerb,
  3367.     /* [optional][in] */ VARIANT vArgs);
  3368.  
  3369.  
  3370. void __RPC_STUB FolderItems2_InvokeVerbEx_Stub(
  3371.     IRpcStubBuffer *This,
  3372.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3373.     PRPC_MESSAGE _pRpcMessage,
  3374.     DWORD *_pdwStubPhase);
  3375.  
  3376.  
  3377.  
  3378. #endif     /* __FolderItems2_INTERFACE_DEFINED__ */
  3379.  
  3380.  
  3381. #ifndef __IShellLinkDual_INTERFACE_DEFINED__
  3382. #define __IShellLinkDual_INTERFACE_DEFINED__
  3383.  
  3384. /* interface IShellLinkDual */
  3385. /* [object][hidden][dual][oleautomation][helpstring][uuid] */ 
  3386.  
  3387.  
  3388. EXTERN_C const IID IID_IShellLinkDual;
  3389.  
  3390. #if defined(__cplusplus) && !defined(CINTERFACE)
  3391.     
  3392.     MIDL_INTERFACE("88A05C00-F000-11CE-8350-444553540000")
  3393.     IShellLinkDual : public IDispatch
  3394.     {
  3395.     public:
  3396.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Path( 
  3397.             /* [retval][out] */ BSTR __RPC_FAR *pbs) = 0;
  3398.         
  3399.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Path( 
  3400.             /* [in] */ BSTR bs) = 0;
  3401.         
  3402.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
  3403.             /* [retval][out] */ BSTR __RPC_FAR *pbs) = 0;
  3404.         
  3405.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
  3406.             /* [in] */ BSTR bs) = 0;
  3407.         
  3408.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_WorkingDirectory( 
  3409.             /* [retval][out] */ BSTR __RPC_FAR *pbs) = 0;
  3410.         
  3411.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_WorkingDirectory( 
  3412.             /* [in] */ BSTR bs) = 0;
  3413.         
  3414.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Arguments( 
  3415.             /* [retval][out] */ BSTR __RPC_FAR *pbs) = 0;
  3416.         
  3417.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Arguments( 
  3418.             /* [in] */ BSTR bs) = 0;
  3419.         
  3420.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Hotkey( 
  3421.             /* [retval][out] */ int __RPC_FAR *piHK) = 0;
  3422.         
  3423.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Hotkey( 
  3424.             /* [in] */ int iHK) = 0;
  3425.         
  3426.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ShowCommand( 
  3427.             /* [retval][out] */ int __RPC_FAR *piShowCommand) = 0;
  3428.         
  3429.         virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ShowCommand( 
  3430.             /* [in] */ int iShowCommand) = 0;
  3431.         
  3432.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Resolve( 
  3433.             /* [in] */ int fFlags) = 0;
  3434.         
  3435.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetIconLocation( 
  3436.             /* [out] */ BSTR __RPC_FAR *pbs,
  3437.             /* [retval][out] */ int __RPC_FAR *piIcon) = 0;
  3438.         
  3439.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetIconLocation( 
  3440.             /* [in] */ BSTR bs,
  3441.             /* [in] */ int iIcon) = 0;
  3442.         
  3443.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Save( 
  3444.             /* [optional][in] */ VARIANT vWhere) = 0;
  3445.         
  3446.     };
  3447.     
  3448. #else     /* C style interface */
  3449.  
  3450.     typedef struct IShellLinkDualVtbl
  3451.     {
  3452.         BEGIN_INTERFACE
  3453.         
  3454.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3455.             IShellLinkDual __RPC_FAR * This,
  3456.             /* [in] */ REFIID riid,
  3457.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3458.         
  3459.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3460.             IShellLinkDual __RPC_FAR * This);
  3461.         
  3462.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3463.             IShellLinkDual __RPC_FAR * This);
  3464.         
  3465.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  3466.             IShellLinkDual __RPC_FAR * This,
  3467.             /* [out] */ UINT __RPC_FAR *pctinfo);
  3468.         
  3469.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  3470.             IShellLinkDual __RPC_FAR * This,
  3471.             /* [in] */ UINT iTInfo,
  3472.             /* [in] */ LCID lcid,
  3473.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3474.         
  3475.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3476.             IShellLinkDual __RPC_FAR * This,
  3477.             /* [in] */ REFIID riid,
  3478.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3479.             /* [in] */ UINT cNames,
  3480.             /* [in] */ LCID lcid,
  3481.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  3482.         
  3483.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3484.             IShellLinkDual __RPC_FAR * This,
  3485.             /* [in] */ DISPID dispIdMember,
  3486.             /* [in] */ REFIID riid,
  3487.             /* [in] */ LCID lcid,
  3488.             /* [in] */ WORD wFlags,
  3489.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3490.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3491.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3492.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3493.         
  3494.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Path )( 
  3495.             IShellLinkDual __RPC_FAR * This,
  3496.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  3497.         
  3498.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Path )( 
  3499.             IShellLinkDual __RPC_FAR * This,
  3500.             /* [in] */ BSTR bs);
  3501.         
  3502.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Description )( 
  3503.             IShellLinkDual __RPC_FAR * This,
  3504.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  3505.         
  3506.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Description )( 
  3507.             IShellLinkDual __RPC_FAR * This,
  3508.             /* [in] */ BSTR bs);
  3509.         
  3510.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WorkingDirectory )( 
  3511.             IShellLinkDual __RPC_FAR * This,
  3512.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  3513.         
  3514.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_WorkingDirectory )( 
  3515.             IShellLinkDual __RPC_FAR * This,
  3516.             /* [in] */ BSTR bs);
  3517.         
  3518.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arguments )( 
  3519.             IShellLinkDual __RPC_FAR * This,
  3520.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  3521.         
  3522.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arguments )( 
  3523.             IShellLinkDual __RPC_FAR * This,
  3524.             /* [in] */ BSTR bs);
  3525.         
  3526.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Hotkey )( 
  3527.             IShellLinkDual __RPC_FAR * This,
  3528.             /* [retval][out] */ int __RPC_FAR *piHK);
  3529.         
  3530.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Hotkey )( 
  3531.             IShellLinkDual __RPC_FAR * This,
  3532.             /* [in] */ int iHK);
  3533.         
  3534.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ShowCommand )( 
  3535.             IShellLinkDual __RPC_FAR * This,
  3536.             /* [retval][out] */ int __RPC_FAR *piShowCommand);
  3537.         
  3538.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ShowCommand )( 
  3539.             IShellLinkDual __RPC_FAR * This,
  3540.             /* [in] */ int iShowCommand);
  3541.         
  3542.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resolve )( 
  3543.             IShellLinkDual __RPC_FAR * This,
  3544.             /* [in] */ int fFlags);
  3545.         
  3546.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIconLocation )( 
  3547.             IShellLinkDual __RPC_FAR * This,
  3548.             /* [out] */ BSTR __RPC_FAR *pbs,
  3549.             /* [retval][out] */ int __RPC_FAR *piIcon);
  3550.         
  3551.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetIconLocation )( 
  3552.             IShellLinkDual __RPC_FAR * This,
  3553.             /* [in] */ BSTR bs,
  3554.             /* [in] */ int iIcon);
  3555.         
  3556.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )( 
  3557.             IShellLinkDual __RPC_FAR * This,
  3558.             /* [optional][in] */ VARIANT vWhere);
  3559.         
  3560.         END_INTERFACE
  3561.     } IShellLinkDualVtbl;
  3562.  
  3563.     interface IShellLinkDual
  3564.     {
  3565.         CONST_VTBL struct IShellLinkDualVtbl __RPC_FAR *lpVtbl;
  3566.     };
  3567.  
  3568.     
  3569.  
  3570. #ifdef COBJMACROS
  3571.  
  3572.  
  3573. #define IShellLinkDual_QueryInterface(This,riid,ppvObject)    \
  3574.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3575.  
  3576. #define IShellLinkDual_AddRef(This)    \
  3577.     (This)->lpVtbl -> AddRef(This)
  3578.  
  3579. #define IShellLinkDual_Release(This)    \
  3580.     (This)->lpVtbl -> Release(This)
  3581.  
  3582.  
  3583. #define IShellLinkDual_GetTypeInfoCount(This,pctinfo)    \
  3584.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  3585.  
  3586. #define IShellLinkDual_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  3587.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  3588.  
  3589. #define IShellLinkDual_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  3590.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  3591.  
  3592. #define IShellLinkDual_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  3593.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  3594.  
  3595.  
  3596. #define IShellLinkDual_get_Path(This,pbs)    \
  3597.     (This)->lpVtbl -> get_Path(This,pbs)
  3598.  
  3599. #define IShellLinkDual_put_Path(This,bs)    \
  3600.     (This)->lpVtbl -> put_Path(This,bs)
  3601.  
  3602. #define IShellLinkDual_get_Description(This,pbs)    \
  3603.     (This)->lpVtbl -> get_Description(This,pbs)
  3604.  
  3605. #define IShellLinkDual_put_Description(This,bs)    \
  3606.     (This)->lpVtbl -> put_Description(This,bs)
  3607.  
  3608. #define IShellLinkDual_get_WorkingDirectory(This,pbs)    \
  3609.     (This)->lpVtbl -> get_WorkingDirectory(This,pbs)
  3610.  
  3611. #define IShellLinkDual_put_WorkingDirectory(This,bs)    \
  3612.     (This)->lpVtbl -> put_WorkingDirectory(This,bs)
  3613.  
  3614. #define IShellLinkDual_get_Arguments(This,pbs)    \
  3615.     (This)->lpVtbl -> get_Arguments(This,pbs)
  3616.  
  3617. #define IShellLinkDual_put_Arguments(This,bs)    \
  3618.     (This)->lpVtbl -> put_Arguments(This,bs)
  3619.  
  3620. #define IShellLinkDual_get_Hotkey(This,piHK)    \
  3621.     (This)->lpVtbl -> get_Hotkey(This,piHK)
  3622.  
  3623. #define IShellLinkDual_put_Hotkey(This,iHK)    \
  3624.     (This)->lpVtbl -> put_Hotkey(This,iHK)
  3625.  
  3626. #define IShellLinkDual_get_ShowCommand(This,piShowCommand)    \
  3627.     (This)->lpVtbl -> get_ShowCommand(This,piShowCommand)
  3628.  
  3629. #define IShellLinkDual_put_ShowCommand(This,iShowCommand)    \
  3630.     (This)->lpVtbl -> put_ShowCommand(This,iShowCommand)
  3631.  
  3632. #define IShellLinkDual_Resolve(This,fFlags)    \
  3633.     (This)->lpVtbl -> Resolve(This,fFlags)
  3634.  
  3635. #define IShellLinkDual_GetIconLocation(This,pbs,piIcon)    \
  3636.     (This)->lpVtbl -> GetIconLocation(This,pbs,piIcon)
  3637.  
  3638. #define IShellLinkDual_SetIconLocation(This,bs,iIcon)    \
  3639.     (This)->lpVtbl -> SetIconLocation(This,bs,iIcon)
  3640.  
  3641. #define IShellLinkDual_Save(This,vWhere)    \
  3642.     (This)->lpVtbl -> Save(This,vWhere)
  3643.  
  3644. #endif /* COBJMACROS */
  3645.  
  3646.  
  3647. #endif     /* C style interface */
  3648.  
  3649.  
  3650.  
  3651. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_get_Path_Proxy( 
  3652.     IShellLinkDual __RPC_FAR * This,
  3653.     /* [retval][out] */ BSTR __RPC_FAR *pbs);
  3654.  
  3655.  
  3656. void __RPC_STUB IShellLinkDual_get_Path_Stub(
  3657.     IRpcStubBuffer *This,
  3658.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3659.     PRPC_MESSAGE _pRpcMessage,
  3660.     DWORD *_pdwStubPhase);
  3661.  
  3662.  
  3663. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_put_Path_Proxy( 
  3664.     IShellLinkDual __RPC_FAR * This,
  3665.     /* [in] */ BSTR bs);
  3666.  
  3667.  
  3668. void __RPC_STUB IShellLinkDual_put_Path_Stub(
  3669.     IRpcStubBuffer *This,
  3670.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3671.     PRPC_MESSAGE _pRpcMessage,
  3672.     DWORD *_pdwStubPhase);
  3673.  
  3674.  
  3675. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_get_Description_Proxy( 
  3676.     IShellLinkDual __RPC_FAR * This,
  3677.     /* [retval][out] */ BSTR __RPC_FAR *pbs);
  3678.  
  3679.  
  3680. void __RPC_STUB IShellLinkDual_get_Description_Stub(
  3681.     IRpcStubBuffer *This,
  3682.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3683.     PRPC_MESSAGE _pRpcMessage,
  3684.     DWORD *_pdwStubPhase);
  3685.  
  3686.  
  3687. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_put_Description_Proxy( 
  3688.     IShellLinkDual __RPC_FAR * This,
  3689.     /* [in] */ BSTR bs);
  3690.  
  3691.  
  3692. void __RPC_STUB IShellLinkDual_put_Description_Stub(
  3693.     IRpcStubBuffer *This,
  3694.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3695.     PRPC_MESSAGE _pRpcMessage,
  3696.     DWORD *_pdwStubPhase);
  3697.  
  3698.  
  3699. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_get_WorkingDirectory_Proxy( 
  3700.     IShellLinkDual __RPC_FAR * This,
  3701.     /* [retval][out] */ BSTR __RPC_FAR *pbs);
  3702.  
  3703.  
  3704. void __RPC_STUB IShellLinkDual_get_WorkingDirectory_Stub(
  3705.     IRpcStubBuffer *This,
  3706.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3707.     PRPC_MESSAGE _pRpcMessage,
  3708.     DWORD *_pdwStubPhase);
  3709.  
  3710.  
  3711. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_put_WorkingDirectory_Proxy( 
  3712.     IShellLinkDual __RPC_FAR * This,
  3713.     /* [in] */ BSTR bs);
  3714.  
  3715.  
  3716. void __RPC_STUB IShellLinkDual_put_WorkingDirectory_Stub(
  3717.     IRpcStubBuffer *This,
  3718.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3719.     PRPC_MESSAGE _pRpcMessage,
  3720.     DWORD *_pdwStubPhase);
  3721.  
  3722.  
  3723. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_get_Arguments_Proxy( 
  3724.     IShellLinkDual __RPC_FAR * This,
  3725.     /* [retval][out] */ BSTR __RPC_FAR *pbs);
  3726.  
  3727.  
  3728. void __RPC_STUB IShellLinkDual_get_Arguments_Stub(
  3729.     IRpcStubBuffer *This,
  3730.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3731.     PRPC_MESSAGE _pRpcMessage,
  3732.     DWORD *_pdwStubPhase);
  3733.  
  3734.  
  3735. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_put_Arguments_Proxy( 
  3736.     IShellLinkDual __RPC_FAR * This,
  3737.     /* [in] */ BSTR bs);
  3738.  
  3739.  
  3740. void __RPC_STUB IShellLinkDual_put_Arguments_Stub(
  3741.     IRpcStubBuffer *This,
  3742.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3743.     PRPC_MESSAGE _pRpcMessage,
  3744.     DWORD *_pdwStubPhase);
  3745.  
  3746.  
  3747. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_get_Hotkey_Proxy( 
  3748.     IShellLinkDual __RPC_FAR * This,
  3749.     /* [retval][out] */ int __RPC_FAR *piHK);
  3750.  
  3751.  
  3752. void __RPC_STUB IShellLinkDual_get_Hotkey_Stub(
  3753.     IRpcStubBuffer *This,
  3754.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3755.     PRPC_MESSAGE _pRpcMessage,
  3756.     DWORD *_pdwStubPhase);
  3757.  
  3758.  
  3759. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_put_Hotkey_Proxy( 
  3760.     IShellLinkDual __RPC_FAR * This,
  3761.     /* [in] */ int iHK);
  3762.  
  3763.  
  3764. void __RPC_STUB IShellLinkDual_put_Hotkey_Stub(
  3765.     IRpcStubBuffer *This,
  3766.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3767.     PRPC_MESSAGE _pRpcMessage,
  3768.     DWORD *_pdwStubPhase);
  3769.  
  3770.  
  3771. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_get_ShowCommand_Proxy( 
  3772.     IShellLinkDual __RPC_FAR * This,
  3773.     /* [retval][out] */ int __RPC_FAR *piShowCommand);
  3774.  
  3775.  
  3776. void __RPC_STUB IShellLinkDual_get_ShowCommand_Stub(
  3777.     IRpcStubBuffer *This,
  3778.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3779.     PRPC_MESSAGE _pRpcMessage,
  3780.     DWORD *_pdwStubPhase);
  3781.  
  3782.  
  3783. /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_put_ShowCommand_Proxy( 
  3784.     IShellLinkDual __RPC_FAR * This,
  3785.     /* [in] */ int iShowCommand);
  3786.  
  3787.  
  3788. void __RPC_STUB IShellLinkDual_put_ShowCommand_Stub(
  3789.     IRpcStubBuffer *This,
  3790.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3791.     PRPC_MESSAGE _pRpcMessage,
  3792.     DWORD *_pdwStubPhase);
  3793.  
  3794.  
  3795. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_Resolve_Proxy( 
  3796.     IShellLinkDual __RPC_FAR * This,
  3797.     /* [in] */ int fFlags);
  3798.  
  3799.  
  3800. void __RPC_STUB IShellLinkDual_Resolve_Stub(
  3801.     IRpcStubBuffer *This,
  3802.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3803.     PRPC_MESSAGE _pRpcMessage,
  3804.     DWORD *_pdwStubPhase);
  3805.  
  3806.  
  3807. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_GetIconLocation_Proxy( 
  3808.     IShellLinkDual __RPC_FAR * This,
  3809.     /* [out] */ BSTR __RPC_FAR *pbs,
  3810.     /* [retval][out] */ int __RPC_FAR *piIcon);
  3811.  
  3812.  
  3813. void __RPC_STUB IShellLinkDual_GetIconLocation_Stub(
  3814.     IRpcStubBuffer *This,
  3815.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3816.     PRPC_MESSAGE _pRpcMessage,
  3817.     DWORD *_pdwStubPhase);
  3818.  
  3819.  
  3820. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_SetIconLocation_Proxy( 
  3821.     IShellLinkDual __RPC_FAR * This,
  3822.     /* [in] */ BSTR bs,
  3823.     /* [in] */ int iIcon);
  3824.  
  3825.  
  3826. void __RPC_STUB IShellLinkDual_SetIconLocation_Stub(
  3827.     IRpcStubBuffer *This,
  3828.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3829.     PRPC_MESSAGE _pRpcMessage,
  3830.     DWORD *_pdwStubPhase);
  3831.  
  3832.  
  3833. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellLinkDual_Save_Proxy( 
  3834.     IShellLinkDual __RPC_FAR * This,
  3835.     /* [optional][in] */ VARIANT vWhere);
  3836.  
  3837.  
  3838. void __RPC_STUB IShellLinkDual_Save_Stub(
  3839.     IRpcStubBuffer *This,
  3840.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3841.     PRPC_MESSAGE _pRpcMessage,
  3842.     DWORD *_pdwStubPhase);
  3843.  
  3844.  
  3845.  
  3846. #endif     /* __IShellLinkDual_INTERFACE_DEFINED__ */
  3847.  
  3848.  
  3849. #ifndef __IShellLinkDual2_INTERFACE_DEFINED__
  3850. #define __IShellLinkDual2_INTERFACE_DEFINED__
  3851.  
  3852. /* interface IShellLinkDual2 */
  3853. /* [object][hidden][dual][oleautomation][helpstring][uuid] */ 
  3854.  
  3855.  
  3856. EXTERN_C const IID IID_IShellLinkDual2;
  3857.  
  3858. #if defined(__cplusplus) && !defined(CINTERFACE)
  3859.     
  3860.     MIDL_INTERFACE("317EE249-F12E-11d2-B1E4-00C04F8EEB3E")
  3861.     IShellLinkDual2 : public IShellLinkDual
  3862.     {
  3863.     public:
  3864.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Target( 
  3865.             /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppfi) = 0;
  3866.         
  3867.     };
  3868.     
  3869. #else     /* C style interface */
  3870.  
  3871.     typedef struct IShellLinkDual2Vtbl
  3872.     {
  3873.         BEGIN_INTERFACE
  3874.         
  3875.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3876.             IShellLinkDual2 __RPC_FAR * This,
  3877.             /* [in] */ REFIID riid,
  3878.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3879.         
  3880.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3881.             IShellLinkDual2 __RPC_FAR * This);
  3882.         
  3883.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3884.             IShellLinkDual2 __RPC_FAR * This);
  3885.         
  3886.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  3887.             IShellLinkDual2 __RPC_FAR * This,
  3888.             /* [out] */ UINT __RPC_FAR *pctinfo);
  3889.         
  3890.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  3891.             IShellLinkDual2 __RPC_FAR * This,
  3892.             /* [in] */ UINT iTInfo,
  3893.             /* [in] */ LCID lcid,
  3894.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  3895.         
  3896.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  3897.             IShellLinkDual2 __RPC_FAR * This,
  3898.             /* [in] */ REFIID riid,
  3899.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  3900.             /* [in] */ UINT cNames,
  3901.             /* [in] */ LCID lcid,
  3902.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  3903.         
  3904.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  3905.             IShellLinkDual2 __RPC_FAR * This,
  3906.             /* [in] */ DISPID dispIdMember,
  3907.             /* [in] */ REFIID riid,
  3908.             /* [in] */ LCID lcid,
  3909.             /* [in] */ WORD wFlags,
  3910.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  3911.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  3912.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  3913.             /* [out] */ UINT __RPC_FAR *puArgErr);
  3914.         
  3915.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Path )( 
  3916.             IShellLinkDual2 __RPC_FAR * This,
  3917.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  3918.         
  3919.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Path )( 
  3920.             IShellLinkDual2 __RPC_FAR * This,
  3921.             /* [in] */ BSTR bs);
  3922.         
  3923.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Description )( 
  3924.             IShellLinkDual2 __RPC_FAR * This,
  3925.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  3926.         
  3927.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Description )( 
  3928.             IShellLinkDual2 __RPC_FAR * This,
  3929.             /* [in] */ BSTR bs);
  3930.         
  3931.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WorkingDirectory )( 
  3932.             IShellLinkDual2 __RPC_FAR * This,
  3933.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  3934.         
  3935.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_WorkingDirectory )( 
  3936.             IShellLinkDual2 __RPC_FAR * This,
  3937.             /* [in] */ BSTR bs);
  3938.         
  3939.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Arguments )( 
  3940.             IShellLinkDual2 __RPC_FAR * This,
  3941.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  3942.         
  3943.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Arguments )( 
  3944.             IShellLinkDual2 __RPC_FAR * This,
  3945.             /* [in] */ BSTR bs);
  3946.         
  3947.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Hotkey )( 
  3948.             IShellLinkDual2 __RPC_FAR * This,
  3949.             /* [retval][out] */ int __RPC_FAR *piHK);
  3950.         
  3951.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Hotkey )( 
  3952.             IShellLinkDual2 __RPC_FAR * This,
  3953.             /* [in] */ int iHK);
  3954.         
  3955.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ShowCommand )( 
  3956.             IShellLinkDual2 __RPC_FAR * This,
  3957.             /* [retval][out] */ int __RPC_FAR *piShowCommand);
  3958.         
  3959.         /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ShowCommand )( 
  3960.             IShellLinkDual2 __RPC_FAR * This,
  3961.             /* [in] */ int iShowCommand);
  3962.         
  3963.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resolve )( 
  3964.             IShellLinkDual2 __RPC_FAR * This,
  3965.             /* [in] */ int fFlags);
  3966.         
  3967.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIconLocation )( 
  3968.             IShellLinkDual2 __RPC_FAR * This,
  3969.             /* [out] */ BSTR __RPC_FAR *pbs,
  3970.             /* [retval][out] */ int __RPC_FAR *piIcon);
  3971.         
  3972.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetIconLocation )( 
  3973.             IShellLinkDual2 __RPC_FAR * This,
  3974.             /* [in] */ BSTR bs,
  3975.             /* [in] */ int iIcon);
  3976.         
  3977.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )( 
  3978.             IShellLinkDual2 __RPC_FAR * This,
  3979.             /* [optional][in] */ VARIANT vWhere);
  3980.         
  3981.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Target )( 
  3982.             IShellLinkDual2 __RPC_FAR * This,
  3983.             /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppfi);
  3984.         
  3985.         END_INTERFACE
  3986.     } IShellLinkDual2Vtbl;
  3987.  
  3988.     interface IShellLinkDual2
  3989.     {
  3990.         CONST_VTBL struct IShellLinkDual2Vtbl __RPC_FAR *lpVtbl;
  3991.     };
  3992.  
  3993.     
  3994.  
  3995. #ifdef COBJMACROS
  3996.  
  3997.  
  3998. #define IShellLinkDual2_QueryInterface(This,riid,ppvObject)    \
  3999.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4000.  
  4001. #define IShellLinkDual2_AddRef(This)    \
  4002.     (This)->lpVtbl -> AddRef(This)
  4003.  
  4004. #define IShellLinkDual2_Release(This)    \
  4005.     (This)->lpVtbl -> Release(This)
  4006.  
  4007.  
  4008. #define IShellLinkDual2_GetTypeInfoCount(This,pctinfo)    \
  4009.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4010.  
  4011. #define IShellLinkDual2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4012.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4013.  
  4014. #define IShellLinkDual2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4015.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4016.  
  4017. #define IShellLinkDual2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4018.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4019.  
  4020.  
  4021. #define IShellLinkDual2_get_Path(This,pbs)    \
  4022.     (This)->lpVtbl -> get_Path(This,pbs)
  4023.  
  4024. #define IShellLinkDual2_put_Path(This,bs)    \
  4025.     (This)->lpVtbl -> put_Path(This,bs)
  4026.  
  4027. #define IShellLinkDual2_get_Description(This,pbs)    \
  4028.     (This)->lpVtbl -> get_Description(This,pbs)
  4029.  
  4030. #define IShellLinkDual2_put_Description(This,bs)    \
  4031.     (This)->lpVtbl -> put_Description(This,bs)
  4032.  
  4033. #define IShellLinkDual2_get_WorkingDirectory(This,pbs)    \
  4034.     (This)->lpVtbl -> get_WorkingDirectory(This,pbs)
  4035.  
  4036. #define IShellLinkDual2_put_WorkingDirectory(This,bs)    \
  4037.     (This)->lpVtbl -> put_WorkingDirectory(This,bs)
  4038.  
  4039. #define IShellLinkDual2_get_Arguments(This,pbs)    \
  4040.     (This)->lpVtbl -> get_Arguments(This,pbs)
  4041.  
  4042. #define IShellLinkDual2_put_Arguments(This,bs)    \
  4043.     (This)->lpVtbl -> put_Arguments(This,bs)
  4044.  
  4045. #define IShellLinkDual2_get_Hotkey(This,piHK)    \
  4046.     (This)->lpVtbl -> get_Hotkey(This,piHK)
  4047.  
  4048. #define IShellLinkDual2_put_Hotkey(This,iHK)    \
  4049.     (This)->lpVtbl -> put_Hotkey(This,iHK)
  4050.  
  4051. #define IShellLinkDual2_get_ShowCommand(This,piShowCommand)    \
  4052.     (This)->lpVtbl -> get_ShowCommand(This,piShowCommand)
  4053.  
  4054. #define IShellLinkDual2_put_ShowCommand(This,iShowCommand)    \
  4055.     (This)->lpVtbl -> put_ShowCommand(This,iShowCommand)
  4056.  
  4057. #define IShellLinkDual2_Resolve(This,fFlags)    \
  4058.     (This)->lpVtbl -> Resolve(This,fFlags)
  4059.  
  4060. #define IShellLinkDual2_GetIconLocation(This,pbs,piIcon)    \
  4061.     (This)->lpVtbl -> GetIconLocation(This,pbs,piIcon)
  4062.  
  4063. #define IShellLinkDual2_SetIconLocation(This,bs,iIcon)    \
  4064.     (This)->lpVtbl -> SetIconLocation(This,bs,iIcon)
  4065.  
  4066. #define IShellLinkDual2_Save(This,vWhere)    \
  4067.     (This)->lpVtbl -> Save(This,vWhere)
  4068.  
  4069.  
  4070. #define IShellLinkDual2_get_Target(This,ppfi)    \
  4071.     (This)->lpVtbl -> get_Target(This,ppfi)
  4072.  
  4073. #endif /* COBJMACROS */
  4074.  
  4075.  
  4076. #endif     /* C style interface */
  4077.  
  4078.  
  4079.  
  4080. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IShellLinkDual2_get_Target_Proxy( 
  4081.     IShellLinkDual2 __RPC_FAR * This,
  4082.     /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppfi);
  4083.  
  4084.  
  4085. void __RPC_STUB IShellLinkDual2_get_Target_Stub(
  4086.     IRpcStubBuffer *This,
  4087.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4088.     PRPC_MESSAGE _pRpcMessage,
  4089.     DWORD *_pdwStubPhase);
  4090.  
  4091.  
  4092.  
  4093. #endif     /* __IShellLinkDual2_INTERFACE_DEFINED__ */
  4094.  
  4095.  
  4096. EXTERN_C const CLSID CLSID_ShellLinkObject;
  4097.  
  4098. #ifdef __cplusplus
  4099.  
  4100. class DECLSPEC_UUID("11219420-1768-11d1-95BE-00609797EA4F")
  4101. ShellLinkObject;
  4102. #endif
  4103.  
  4104. #ifndef __IShellFolderViewDual_INTERFACE_DEFINED__
  4105. #define __IShellFolderViewDual_INTERFACE_DEFINED__
  4106.  
  4107. /* interface IShellFolderViewDual */
  4108. /* [object][dual][hidden][oleautomation][helpstring][uuid] */ 
  4109.  
  4110.  
  4111. EXTERN_C const IID IID_IShellFolderViewDual;
  4112.  
  4113. #if defined(__cplusplus) && !defined(CINTERFACE)
  4114.     
  4115.     MIDL_INTERFACE("E7A1AF80-4D96-11CF-960C-0080C7F4EE85")
  4116.     IShellFolderViewDual : public IDispatch
  4117.     {
  4118.     public:
  4119.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
  4120.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  4121.         
  4122.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
  4123.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  4124.         
  4125.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Folder( 
  4126.             /* [retval][out] */ Folder __RPC_FAR *__RPC_FAR *ppid) = 0;
  4127.         
  4128.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SelectedItems( 
  4129.             /* [retval][out] */ FolderItems __RPC_FAR *__RPC_FAR *ppid) = 0;
  4130.         
  4131.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FocusedItem( 
  4132.             /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppid) = 0;
  4133.         
  4134.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SelectItem( 
  4135.             /* [in] */ VARIANT __RPC_FAR *pvfi,
  4136.             /* [in] */ int dwFlags) = 0;
  4137.         
  4138.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PopupItemMenu( 
  4139.             /* [in] */ FolderItem __RPC_FAR *pfi,
  4140.             /* [optional][in] */ VARIANT vx,
  4141.             /* [optional][in] */ VARIANT vy,
  4142.             /* [retval][out] */ BSTR __RPC_FAR *pbs) = 0;
  4143.         
  4144.         virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Script( 
  4145.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppDisp) = 0;
  4146.         
  4147.         virtual /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ViewOptions( 
  4148.             /* [retval][out] */ long __RPC_FAR *plViewOptions) = 0;
  4149.         
  4150.     };
  4151.     
  4152. #else     /* C style interface */
  4153.  
  4154.     typedef struct IShellFolderViewDualVtbl
  4155.     {
  4156.         BEGIN_INTERFACE
  4157.         
  4158.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4159.             IShellFolderViewDual __RPC_FAR * This,
  4160.             /* [in] */ REFIID riid,
  4161.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4162.         
  4163.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4164.             IShellFolderViewDual __RPC_FAR * This);
  4165.         
  4166.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4167.             IShellFolderViewDual __RPC_FAR * This);
  4168.         
  4169.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  4170.             IShellFolderViewDual __RPC_FAR * This,
  4171.             /* [out] */ UINT __RPC_FAR *pctinfo);
  4172.         
  4173.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  4174.             IShellFolderViewDual __RPC_FAR * This,
  4175.             /* [in] */ UINT iTInfo,
  4176.             /* [in] */ LCID lcid,
  4177.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4178.         
  4179.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  4180.             IShellFolderViewDual __RPC_FAR * This,
  4181.             /* [in] */ REFIID riid,
  4182.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  4183.             /* [in] */ UINT cNames,
  4184.             /* [in] */ LCID lcid,
  4185.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  4186.         
  4187.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  4188.             IShellFolderViewDual __RPC_FAR * This,
  4189.             /* [in] */ DISPID dispIdMember,
  4190.             /* [in] */ REFIID riid,
  4191.             /* [in] */ LCID lcid,
  4192.             /* [in] */ WORD wFlags,
  4193.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  4194.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  4195.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  4196.             /* [out] */ UINT __RPC_FAR *puArgErr);
  4197.         
  4198.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
  4199.             IShellFolderViewDual __RPC_FAR * This,
  4200.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  4201.         
  4202.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
  4203.             IShellFolderViewDual __RPC_FAR * This,
  4204.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  4205.         
  4206.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Folder )( 
  4207.             IShellFolderViewDual __RPC_FAR * This,
  4208.             /* [retval][out] */ Folder __RPC_FAR *__RPC_FAR *ppid);
  4209.         
  4210.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SelectedItems )( 
  4211.             IShellFolderViewDual __RPC_FAR * This,
  4212.             /* [retval][out] */ FolderItems __RPC_FAR *__RPC_FAR *ppid);
  4213.         
  4214.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FocusedItem )( 
  4215.             IShellFolderViewDual __RPC_FAR * This,
  4216.             /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppid);
  4217.         
  4218.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SelectItem )( 
  4219.             IShellFolderViewDual __RPC_FAR * This,
  4220.             /* [in] */ VARIANT __RPC_FAR *pvfi,
  4221.             /* [in] */ int dwFlags);
  4222.         
  4223.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PopupItemMenu )( 
  4224.             IShellFolderViewDual __RPC_FAR * This,
  4225.             /* [in] */ FolderItem __RPC_FAR *pfi,
  4226.             /* [optional][in] */ VARIANT vx,
  4227.             /* [optional][in] */ VARIANT vy,
  4228.             /* [retval][out] */ BSTR __RPC_FAR *pbs);
  4229.         
  4230.         /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Script )( 
  4231.             IShellFolderViewDual __RPC_FAR * This,
  4232.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppDisp);
  4233.         
  4234.         /* [helpcontext][helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ViewOptions )( 
  4235.             IShellFolderViewDual __RPC_FAR * This,
  4236.             /* [retval][out] */ long __RPC_FAR *plViewOptions);
  4237.         
  4238.         END_INTERFACE
  4239.     } IShellFolderViewDualVtbl;
  4240.  
  4241.     interface IShellFolderViewDual
  4242.     {
  4243.         CONST_VTBL struct IShellFolderViewDualVtbl __RPC_FAR *lpVtbl;
  4244.     };
  4245.  
  4246.     
  4247.  
  4248. #ifdef COBJMACROS
  4249.  
  4250.  
  4251. #define IShellFolderViewDual_QueryInterface(This,riid,ppvObject)    \
  4252.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4253.  
  4254. #define IShellFolderViewDual_AddRef(This)    \
  4255.     (This)->lpVtbl -> AddRef(This)
  4256.  
  4257. #define IShellFolderViewDual_Release(This)    \
  4258.     (This)->lpVtbl -> Release(This)
  4259.  
  4260.  
  4261. #define IShellFolderViewDual_GetTypeInfoCount(This,pctinfo)    \
  4262.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4263.  
  4264. #define IShellFolderViewDual_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4265.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4266.  
  4267. #define IShellFolderViewDual_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4268.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4269.  
  4270. #define IShellFolderViewDual_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4271.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4272.  
  4273.  
  4274. #define IShellFolderViewDual_get_Application(This,ppid)    \
  4275.     (This)->lpVtbl -> get_Application(This,ppid)
  4276.  
  4277. #define IShellFolderViewDual_get_Parent(This,ppid)    \
  4278.     (This)->lpVtbl -> get_Parent(This,ppid)
  4279.  
  4280. #define IShellFolderViewDual_get_Folder(This,ppid)    \
  4281.     (This)->lpVtbl -> get_Folder(This,ppid)
  4282.  
  4283. #define IShellFolderViewDual_SelectedItems(This,ppid)    \
  4284.     (This)->lpVtbl -> SelectedItems(This,ppid)
  4285.  
  4286. #define IShellFolderViewDual_get_FocusedItem(This,ppid)    \
  4287.     (This)->lpVtbl -> get_FocusedItem(This,ppid)
  4288.  
  4289. #define IShellFolderViewDual_SelectItem(This,pvfi,dwFlags)    \
  4290.     (This)->lpVtbl -> SelectItem(This,pvfi,dwFlags)
  4291.  
  4292. #define IShellFolderViewDual_PopupItemMenu(This,pfi,vx,vy,pbs)    \
  4293.     (This)->lpVtbl -> PopupItemMenu(This,pfi,vx,vy,pbs)
  4294.  
  4295. #define IShellFolderViewDual_get_Script(This,ppDisp)    \
  4296.     (This)->lpVtbl -> get_Script(This,ppDisp)
  4297.  
  4298. #define IShellFolderViewDual_get_ViewOptions(This,plViewOptions)    \
  4299.     (This)->lpVtbl -> get_ViewOptions(This,plViewOptions)
  4300.  
  4301. #endif /* COBJMACROS */
  4302.  
  4303.  
  4304. #endif     /* C style interface */
  4305.  
  4306.  
  4307.  
  4308. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IShellFolderViewDual_get_Application_Proxy( 
  4309.     IShellFolderViewDual __RPC_FAR * This,
  4310.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  4311.  
  4312.  
  4313. void __RPC_STUB IShellFolderViewDual_get_Application_Stub(
  4314.     IRpcStubBuffer *This,
  4315.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4316.     PRPC_MESSAGE _pRpcMessage,
  4317.     DWORD *_pdwStubPhase);
  4318.  
  4319.  
  4320. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IShellFolderViewDual_get_Parent_Proxy( 
  4321.     IShellFolderViewDual __RPC_FAR * This,
  4322.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  4323.  
  4324.  
  4325. void __RPC_STUB IShellFolderViewDual_get_Parent_Stub(
  4326.     IRpcStubBuffer *This,
  4327.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4328.     PRPC_MESSAGE _pRpcMessage,
  4329.     DWORD *_pdwStubPhase);
  4330.  
  4331.  
  4332. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IShellFolderViewDual_get_Folder_Proxy( 
  4333.     IShellFolderViewDual __RPC_FAR * This,
  4334.     /* [retval][out] */ Folder __RPC_FAR *__RPC_FAR *ppid);
  4335.  
  4336.  
  4337. void __RPC_STUB IShellFolderViewDual_get_Folder_Stub(
  4338.     IRpcStubBuffer *This,
  4339.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4340.     PRPC_MESSAGE _pRpcMessage,
  4341.     DWORD *_pdwStubPhase);
  4342.  
  4343.  
  4344. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellFolderViewDual_SelectedItems_Proxy( 
  4345.     IShellFolderViewDual __RPC_FAR * This,
  4346.     /* [retval][out] */ FolderItems __RPC_FAR *__RPC_FAR *ppid);
  4347.  
  4348.  
  4349. void __RPC_STUB IShellFolderViewDual_SelectedItems_Stub(
  4350.     IRpcStubBuffer *This,
  4351.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4352.     PRPC_MESSAGE _pRpcMessage,
  4353.     DWORD *_pdwStubPhase);
  4354.  
  4355.  
  4356. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IShellFolderViewDual_get_FocusedItem_Proxy( 
  4357.     IShellFolderViewDual __RPC_FAR * This,
  4358.     /* [retval][out] */ FolderItem __RPC_FAR *__RPC_FAR *ppid);
  4359.  
  4360.  
  4361. void __RPC_STUB IShellFolderViewDual_get_FocusedItem_Stub(
  4362.     IRpcStubBuffer *This,
  4363.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4364.     PRPC_MESSAGE _pRpcMessage,
  4365.     DWORD *_pdwStubPhase);
  4366.  
  4367.  
  4368. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellFolderViewDual_SelectItem_Proxy( 
  4369.     IShellFolderViewDual __RPC_FAR * This,
  4370.     /* [in] */ VARIANT __RPC_FAR *pvfi,
  4371.     /* [in] */ int dwFlags);
  4372.  
  4373.  
  4374. void __RPC_STUB IShellFolderViewDual_SelectItem_Stub(
  4375.     IRpcStubBuffer *This,
  4376.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4377.     PRPC_MESSAGE _pRpcMessage,
  4378.     DWORD *_pdwStubPhase);
  4379.  
  4380.  
  4381. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellFolderViewDual_PopupItemMenu_Proxy( 
  4382.     IShellFolderViewDual __RPC_FAR * This,
  4383.     /* [in] */ FolderItem __RPC_FAR *pfi,
  4384.     /* [optional][in] */ VARIANT vx,
  4385.     /* [optional][in] */ VARIANT vy,
  4386.     /* [retval][out] */ BSTR __RPC_FAR *pbs);
  4387.  
  4388.  
  4389. void __RPC_STUB IShellFolderViewDual_PopupItemMenu_Stub(
  4390.     IRpcStubBuffer *This,
  4391.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4392.     PRPC_MESSAGE _pRpcMessage,
  4393.     DWORD *_pdwStubPhase);
  4394.  
  4395.  
  4396. /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IShellFolderViewDual_get_Script_Proxy( 
  4397.     IShellFolderViewDual __RPC_FAR * This,
  4398.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppDisp);
  4399.  
  4400.  
  4401. void __RPC_STUB IShellFolderViewDual_get_Script_Stub(
  4402.     IRpcStubBuffer *This,
  4403.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4404.     PRPC_MESSAGE _pRpcMessage,
  4405.     DWORD *_pdwStubPhase);
  4406.  
  4407.  
  4408. /* [helpcontext][helpstring][propget] */ HRESULT STDMETHODCALLTYPE IShellFolderViewDual_get_ViewOptions_Proxy( 
  4409.     IShellFolderViewDual __RPC_FAR * This,
  4410.     /* [retval][out] */ long __RPC_FAR *plViewOptions);
  4411.  
  4412.  
  4413. void __RPC_STUB IShellFolderViewDual_get_ViewOptions_Stub(
  4414.     IRpcStubBuffer *This,
  4415.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4416.     PRPC_MESSAGE _pRpcMessage,
  4417.     DWORD *_pdwStubPhase);
  4418.  
  4419.  
  4420.  
  4421. #endif     /* __IShellFolderViewDual_INTERFACE_DEFINED__ */
  4422.  
  4423.  
  4424. EXTERN_C const CLSID CLSID_ShellFolderView;
  4425.  
  4426. #ifdef __cplusplus
  4427.  
  4428. class DECLSPEC_UUID("62112AA1-EBE4-11cf-A5FB-0020AFE7292D")
  4429. ShellFolderView;
  4430. #endif
  4431.  
  4432. #ifndef __IShellDispatch_INTERFACE_DEFINED__
  4433. #define __IShellDispatch_INTERFACE_DEFINED__
  4434.  
  4435. /* interface IShellDispatch */
  4436. /* [object][dual][hidden][oleautomation][helpstring][uuid] */ 
  4437.  
  4438.  
  4439. EXTERN_C const IID IID_IShellDispatch;
  4440.  
  4441. #if defined(__cplusplus) && !defined(CINTERFACE)
  4442.     
  4443.     MIDL_INTERFACE("D8F015C0-C278-11CE-A49E-444553540000")
  4444.     IShellDispatch : public IDispatch
  4445.     {
  4446.     public:
  4447.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Application( 
  4448.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  4449.         
  4450.         virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
  4451.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  4452.         
  4453.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NameSpace( 
  4454.             /* [in] */ VARIANT vDir,
  4455.             /* [retval][out] */ Folder __RPC_FAR *__RPC_FAR *ppsdf) = 0;
  4456.         
  4457.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BrowseForFolder( 
  4458.             /* [in] */ long Hwnd,
  4459.             /* [in] */ BSTR Title,
  4460.             /* [in] */ long Options,
  4461.             /* [optional][in] */ VARIANT RootFolder,
  4462.             /* [retval][out] */ Folder __RPC_FAR *__RPC_FAR *ppsdf) = 0;
  4463.         
  4464.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Windows( 
  4465.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid) = 0;
  4466.         
  4467.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Open( 
  4468.             /* [in] */ VARIANT vDir) = 0;
  4469.         
  4470.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Explore( 
  4471.             /* [in] */ VARIANT vDir) = 0;
  4472.         
  4473.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE MinimizeAll( void) = 0;
  4474.         
  4475.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UndoMinimizeALL( void) = 0;
  4476.         
  4477.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FileRun( void) = 0;
  4478.         
  4479.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CascadeWindows( void) = 0;
  4480.         
  4481.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE TileVertically( void) = 0;
  4482.         
  4483.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE TileHorizontally( void) = 0;
  4484.         
  4485.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShutdownWindows( void) = 0;
  4486.         
  4487.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Suspend( void) = 0;
  4488.         
  4489.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EjectPC( void) = 0;
  4490.         
  4491.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetTime( void) = 0;
  4492.         
  4493.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE TrayProperties( void) = 0;
  4494.         
  4495.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Help( void) = 0;
  4496.         
  4497.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindFiles( void) = 0;
  4498.         
  4499.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindComputer( void) = 0;
  4500.         
  4501.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE RefreshMenu( void) = 0;
  4502.         
  4503.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ControlPanelItem( 
  4504.             /* [in] */ BSTR szDir) = 0;
  4505.         
  4506.     };
  4507.     
  4508. #else     /* C style interface */
  4509.  
  4510.     typedef struct IShellDispatchVtbl
  4511.     {
  4512.         BEGIN_INTERFACE
  4513.         
  4514.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4515.             IShellDispatch __RPC_FAR * This,
  4516.             /* [in] */ REFIID riid,
  4517.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4518.         
  4519.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4520.             IShellDispatch __RPC_FAR * This);
  4521.         
  4522.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4523.             IShellDispatch __RPC_FAR * This);
  4524.         
  4525.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  4526.             IShellDispatch __RPC_FAR * This,
  4527.             /* [out] */ UINT __RPC_FAR *pctinfo);
  4528.         
  4529.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  4530.             IShellDispatch __RPC_FAR * This,
  4531.             /* [in] */ UINT iTInfo,
  4532.             /* [in] */ LCID lcid,
  4533.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  4534.         
  4535.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  4536.             IShellDispatch __RPC_FAR * This,
  4537.             /* [in] */ REFIID riid,
  4538.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  4539.             /* [in] */ UINT cNames,
  4540.             /* [in] */ LCID lcid,
  4541.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  4542.         
  4543.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  4544.             IShellDispatch __RPC_FAR * This,
  4545.             /* [in] */ DISPID dispIdMember,
  4546.             /* [in] */ REFIID riid,
  4547.             /* [in] */ LCID lcid,
  4548.             /* [in] */ WORD wFlags,
  4549.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  4550.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  4551.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  4552.             /* [out] */ UINT __RPC_FAR *puArgErr);
  4553.         
  4554.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
  4555.             IShellDispatch __RPC_FAR * This,
  4556.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  4557.         
  4558.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
  4559.             IShellDispatch __RPC_FAR * This,
  4560.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  4561.         
  4562.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NameSpace )( 
  4563.             IShellDispatch __RPC_FAR * This,
  4564.             /* [in] */ VARIANT vDir,
  4565.             /* [retval][out] */ Folder __RPC_FAR *__RPC_FAR *ppsdf);
  4566.         
  4567.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BrowseForFolder )( 
  4568.             IShellDispatch __RPC_FAR * This,
  4569.             /* [in] */ long Hwnd,
  4570.             /* [in] */ BSTR Title,
  4571.             /* [in] */ long Options,
  4572.             /* [optional][in] */ VARIANT RootFolder,
  4573.             /* [retval][out] */ Folder __RPC_FAR *__RPC_FAR *ppsdf);
  4574.         
  4575.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Windows )( 
  4576.             IShellDispatch __RPC_FAR * This,
  4577.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  4578.         
  4579.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  4580.             IShellDispatch __RPC_FAR * This,
  4581.             /* [in] */ VARIANT vDir);
  4582.         
  4583.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Explore )( 
  4584.             IShellDispatch __RPC_FAR * This,
  4585.             /* [in] */ VARIANT vDir);
  4586.         
  4587.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MinimizeAll )( 
  4588.             IShellDispatch __RPC_FAR * This);
  4589.         
  4590.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UndoMinimizeALL )( 
  4591.             IShellDispatch __RPC_FAR * This);
  4592.         
  4593.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FileRun )( 
  4594.             IShellDispatch __RPC_FAR * This);
  4595.         
  4596.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CascadeWindows )( 
  4597.             IShellDispatch __RPC_FAR * This);
  4598.         
  4599.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TileVertically )( 
  4600.             IShellDispatch __RPC_FAR * This);
  4601.         
  4602.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TileHorizontally )( 
  4603.             IShellDispatch __RPC_FAR * This);
  4604.         
  4605.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShutdownWindows )( 
  4606.             IShellDispatch __RPC_FAR * This);
  4607.         
  4608.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Suspend )( 
  4609.             IShellDispatch __RPC_FAR * This);
  4610.         
  4611.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EjectPC )( 
  4612.             IShellDispatch __RPC_FAR * This);
  4613.         
  4614.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTime )( 
  4615.             IShellDispatch __RPC_FAR * This);
  4616.         
  4617.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TrayProperties )( 
  4618.             IShellDispatch __RPC_FAR * This);
  4619.         
  4620.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Help )( 
  4621.             IShellDispatch __RPC_FAR * This);
  4622.         
  4623.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindFiles )( 
  4624.             IShellDispatch __RPC_FAR * This);
  4625.         
  4626.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindComputer )( 
  4627.             IShellDispatch __RPC_FAR * This);
  4628.         
  4629.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RefreshMenu )( 
  4630.             IShellDispatch __RPC_FAR * This);
  4631.         
  4632.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ControlPanelItem )( 
  4633.             IShellDispatch __RPC_FAR * This,
  4634.             /* [in] */ BSTR szDir);
  4635.         
  4636.         END_INTERFACE
  4637.     } IShellDispatchVtbl;
  4638.  
  4639.     interface IShellDispatch
  4640.     {
  4641.         CONST_VTBL struct IShellDispatchVtbl __RPC_FAR *lpVtbl;
  4642.     };
  4643.  
  4644.     
  4645.  
  4646. #ifdef COBJMACROS
  4647.  
  4648.  
  4649. #define IShellDispatch_QueryInterface(This,riid,ppvObject)    \
  4650.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4651.  
  4652. #define IShellDispatch_AddRef(This)    \
  4653.     (This)->lpVtbl -> AddRef(This)
  4654.  
  4655. #define IShellDispatch_Release(This)    \
  4656.     (This)->lpVtbl -> Release(This)
  4657.  
  4658.  
  4659. #define IShellDispatch_GetTypeInfoCount(This,pctinfo)    \
  4660.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  4661.  
  4662. #define IShellDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  4663.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  4664.  
  4665. #define IShellDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  4666.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  4667.  
  4668. #define IShellDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  4669.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  4670.  
  4671.  
  4672. #define IShellDispatch_get_Application(This,ppid)    \
  4673.     (This)->lpVtbl -> get_Application(This,ppid)
  4674.  
  4675. #define IShellDispatch_get_Parent(This,ppid)    \
  4676.     (This)->lpVtbl -> get_Parent(This,ppid)
  4677.  
  4678. #define IShellDispatch_NameSpace(This,vDir,ppsdf)    \
  4679.     (This)->lpVtbl -> NameSpace(This,vDir,ppsdf)
  4680.  
  4681. #define IShellDispatch_BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)    \
  4682.     (This)->lpVtbl -> BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)
  4683.  
  4684. #define IShellDispatch_Windows(This,ppid)    \
  4685.     (This)->lpVtbl -> Windows(This,ppid)
  4686.  
  4687. #define IShellDispatch_Open(This,vDir)    \
  4688.     (This)->lpVtbl -> Open(This,vDir)
  4689.  
  4690. #define IShellDispatch_Explore(This,vDir)    \
  4691.     (This)->lpVtbl -> Explore(This,vDir)
  4692.  
  4693. #define IShellDispatch_MinimizeAll(This)    \
  4694.     (This)->lpVtbl -> MinimizeAll(This)
  4695.  
  4696. #define IShellDispatch_UndoMinimizeALL(This)    \
  4697.     (This)->lpVtbl -> UndoMinimizeALL(This)
  4698.  
  4699. #define IShellDispatch_FileRun(This)    \
  4700.     (This)->lpVtbl -> FileRun(This)
  4701.  
  4702. #define IShellDispatch_CascadeWindows(This)    \
  4703.     (This)->lpVtbl -> CascadeWindows(This)
  4704.  
  4705. #define IShellDispatch_TileVertically(This)    \
  4706.     (This)->lpVtbl -> TileVertically(This)
  4707.  
  4708. #define IShellDispatch_TileHorizontally(This)    \
  4709.     (This)->lpVtbl -> TileHorizontally(This)
  4710.  
  4711. #define IShellDispatch_ShutdownWindows(This)    \
  4712.     (This)->lpVtbl -> ShutdownWindows(This)
  4713.  
  4714. #define IShellDispatch_Suspend(This)    \
  4715.     (This)->lpVtbl -> Suspend(This)
  4716.  
  4717. #define IShellDispatch_EjectPC(This)    \
  4718.     (This)->lpVtbl -> EjectPC(This)
  4719.  
  4720. #define IShellDispatch_SetTime(This)    \
  4721.     (This)->lpVtbl -> SetTime(This)
  4722.  
  4723. #define IShellDispatch_TrayProperties(This)    \
  4724.     (This)->lpVtbl -> TrayProperties(This)
  4725.  
  4726. #define IShellDispatch_Help(This)    \
  4727.     (This)->lpVtbl -> Help(This)
  4728.  
  4729. #define IShellDispatch_FindFiles(This)    \
  4730.     (This)->lpVtbl -> FindFiles(This)
  4731.  
  4732. #define IShellDispatch_FindComputer(This)    \
  4733.     (This)->lpVtbl -> FindComputer(This)
  4734.  
  4735. #define IShellDispatch_RefreshMenu(This)    \
  4736.     (This)->lpVtbl -> RefreshMenu(This)
  4737.  
  4738. #define IShellDispatch_ControlPanelItem(This,szDir)    \
  4739.     (This)->lpVtbl -> ControlPanelItem(This,szDir)
  4740.  
  4741. #endif /* COBJMACROS */
  4742.  
  4743.  
  4744. #endif     /* C style interface */
  4745.  
  4746.  
  4747.  
  4748. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IShellDispatch_get_Application_Proxy( 
  4749.     IShellDispatch __RPC_FAR * This,
  4750.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  4751.  
  4752.  
  4753. void __RPC_STUB IShellDispatch_get_Application_Stub(
  4754.     IRpcStubBuffer *This,
  4755.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4756.     PRPC_MESSAGE _pRpcMessage,
  4757.     DWORD *_pdwStubPhase);
  4758.  
  4759.  
  4760. /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IShellDispatch_get_Parent_Proxy( 
  4761.     IShellDispatch __RPC_FAR * This,
  4762.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  4763.  
  4764.  
  4765. void __RPC_STUB IShellDispatch_get_Parent_Stub(
  4766.     IRpcStubBuffer *This,
  4767.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4768.     PRPC_MESSAGE _pRpcMessage,
  4769.     DWORD *_pdwStubPhase);
  4770.  
  4771.  
  4772. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_NameSpace_Proxy( 
  4773.     IShellDispatch __RPC_FAR * This,
  4774.     /* [in] */ VARIANT vDir,
  4775.     /* [retval][out] */ Folder __RPC_FAR *__RPC_FAR *ppsdf);
  4776.  
  4777.  
  4778. void __RPC_STUB IShellDispatch_NameSpace_Stub(
  4779.     IRpcStubBuffer *This,
  4780.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4781.     PRPC_MESSAGE _pRpcMessage,
  4782.     DWORD *_pdwStubPhase);
  4783.  
  4784.  
  4785. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_BrowseForFolder_Proxy( 
  4786.     IShellDispatch __RPC_FAR * This,
  4787.     /* [in] */ long Hwnd,
  4788.     /* [in] */ BSTR Title,
  4789.     /* [in] */ long Options,
  4790.     /* [optional][in] */ VARIANT RootFolder,
  4791.     /* [retval][out] */ Folder __RPC_FAR *__RPC_FAR *ppsdf);
  4792.  
  4793.  
  4794. void __RPC_STUB IShellDispatch_BrowseForFolder_Stub(
  4795.     IRpcStubBuffer *This,
  4796.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4797.     PRPC_MESSAGE _pRpcMessage,
  4798.     DWORD *_pdwStubPhase);
  4799.  
  4800.  
  4801. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_Windows_Proxy( 
  4802.     IShellDispatch __RPC_FAR * This,
  4803.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  4804.  
  4805.  
  4806. void __RPC_STUB IShellDispatch_Windows_Stub(
  4807.     IRpcStubBuffer *This,
  4808.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4809.     PRPC_MESSAGE _pRpcMessage,
  4810.     DWORD *_pdwStubPhase);
  4811.  
  4812.  
  4813. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_Open_Proxy( 
  4814.     IShellDispatch __RPC_FAR * This,
  4815.     /* [in] */ VARIANT vDir);
  4816.  
  4817.  
  4818. void __RPC_STUB IShellDispatch_Open_Stub(
  4819.     IRpcStubBuffer *This,
  4820.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4821.     PRPC_MESSAGE _pRpcMessage,
  4822.     DWORD *_pdwStubPhase);
  4823.  
  4824.  
  4825. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_Explore_Proxy( 
  4826.     IShellDispatch __RPC_FAR * This,
  4827.     /* [in] */ VARIANT vDir);
  4828.  
  4829.  
  4830. void __RPC_STUB IShellDispatch_Explore_Stub(
  4831.     IRpcStubBuffer *This,
  4832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4833.     PRPC_MESSAGE _pRpcMessage,
  4834.     DWORD *_pdwStubPhase);
  4835.  
  4836.  
  4837. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_MinimizeAll_Proxy( 
  4838.     IShellDispatch __RPC_FAR * This);
  4839.  
  4840.  
  4841. void __RPC_STUB IShellDispatch_MinimizeAll_Stub(
  4842.     IRpcStubBuffer *This,
  4843.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4844.     PRPC_MESSAGE _pRpcMessage,
  4845.     DWORD *_pdwStubPhase);
  4846.  
  4847.  
  4848. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_UndoMinimizeALL_Proxy( 
  4849.     IShellDispatch __RPC_FAR * This);
  4850.  
  4851.  
  4852. void __RPC_STUB IShellDispatch_UndoMinimizeALL_Stub(
  4853.     IRpcStubBuffer *This,
  4854.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4855.     PRPC_MESSAGE _pRpcMessage,
  4856.     DWORD *_pdwStubPhase);
  4857.  
  4858.  
  4859. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_FileRun_Proxy( 
  4860.     IShellDispatch __RPC_FAR * This);
  4861.  
  4862.  
  4863. void __RPC_STUB IShellDispatch_FileRun_Stub(
  4864.     IRpcStubBuffer *This,
  4865.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4866.     PRPC_MESSAGE _pRpcMessage,
  4867.     DWORD *_pdwStubPhase);
  4868.  
  4869.  
  4870. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_CascadeWindows_Proxy( 
  4871.     IShellDispatch __RPC_FAR * This);
  4872.  
  4873.  
  4874. void __RPC_STUB IShellDispatch_CascadeWindows_Stub(
  4875.     IRpcStubBuffer *This,
  4876.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4877.     PRPC_MESSAGE _pRpcMessage,
  4878.     DWORD *_pdwStubPhase);
  4879.  
  4880.  
  4881. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_TileVertically_Proxy( 
  4882.     IShellDispatch __RPC_FAR * This);
  4883.  
  4884.  
  4885. void __RPC_STUB IShellDispatch_TileVertically_Stub(
  4886.     IRpcStubBuffer *This,
  4887.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4888.     PRPC_MESSAGE _pRpcMessage,
  4889.     DWORD *_pdwStubPhase);
  4890.  
  4891.  
  4892. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_TileHorizontally_Proxy( 
  4893.     IShellDispatch __RPC_FAR * This);
  4894.  
  4895.  
  4896. void __RPC_STUB IShellDispatch_TileHorizontally_Stub(
  4897.     IRpcStubBuffer *This,
  4898.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4899.     PRPC_MESSAGE _pRpcMessage,
  4900.     DWORD *_pdwStubPhase);
  4901.  
  4902.  
  4903. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_ShutdownWindows_Proxy( 
  4904.     IShellDispatch __RPC_FAR * This);
  4905.  
  4906.  
  4907. void __RPC_STUB IShellDispatch_ShutdownWindows_Stub(
  4908.     IRpcStubBuffer *This,
  4909.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4910.     PRPC_MESSAGE _pRpcMessage,
  4911.     DWORD *_pdwStubPhase);
  4912.  
  4913.  
  4914. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_Suspend_Proxy( 
  4915.     IShellDispatch __RPC_FAR * This);
  4916.  
  4917.  
  4918. void __RPC_STUB IShellDispatch_Suspend_Stub(
  4919.     IRpcStubBuffer *This,
  4920.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4921.     PRPC_MESSAGE _pRpcMessage,
  4922.     DWORD *_pdwStubPhase);
  4923.  
  4924.  
  4925. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_EjectPC_Proxy( 
  4926.     IShellDispatch __RPC_FAR * This);
  4927.  
  4928.  
  4929. void __RPC_STUB IShellDispatch_EjectPC_Stub(
  4930.     IRpcStubBuffer *This,
  4931.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4932.     PRPC_MESSAGE _pRpcMessage,
  4933.     DWORD *_pdwStubPhase);
  4934.  
  4935.  
  4936. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_SetTime_Proxy( 
  4937.     IShellDispatch __RPC_FAR * This);
  4938.  
  4939.  
  4940. void __RPC_STUB IShellDispatch_SetTime_Stub(
  4941.     IRpcStubBuffer *This,
  4942.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4943.     PRPC_MESSAGE _pRpcMessage,
  4944.     DWORD *_pdwStubPhase);
  4945.  
  4946.  
  4947. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_TrayProperties_Proxy( 
  4948.     IShellDispatch __RPC_FAR * This);
  4949.  
  4950.  
  4951. void __RPC_STUB IShellDispatch_TrayProperties_Stub(
  4952.     IRpcStubBuffer *This,
  4953.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4954.     PRPC_MESSAGE _pRpcMessage,
  4955.     DWORD *_pdwStubPhase);
  4956.  
  4957.  
  4958. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_Help_Proxy( 
  4959.     IShellDispatch __RPC_FAR * This);
  4960.  
  4961.  
  4962. void __RPC_STUB IShellDispatch_Help_Stub(
  4963.     IRpcStubBuffer *This,
  4964.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4965.     PRPC_MESSAGE _pRpcMessage,
  4966.     DWORD *_pdwStubPhase);
  4967.  
  4968.  
  4969. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_FindFiles_Proxy( 
  4970.     IShellDispatch __RPC_FAR * This);
  4971.  
  4972.  
  4973. void __RPC_STUB IShellDispatch_FindFiles_Stub(
  4974.     IRpcStubBuffer *This,
  4975.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4976.     PRPC_MESSAGE _pRpcMessage,
  4977.     DWORD *_pdwStubPhase);
  4978.  
  4979.  
  4980. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_FindComputer_Proxy( 
  4981.     IShellDispatch __RPC_FAR * This);
  4982.  
  4983.  
  4984. void __RPC_STUB IShellDispatch_FindComputer_Stub(
  4985.     IRpcStubBuffer *This,
  4986.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4987.     PRPC_MESSAGE _pRpcMessage,
  4988.     DWORD *_pdwStubPhase);
  4989.  
  4990.  
  4991. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_RefreshMenu_Proxy( 
  4992.     IShellDispatch __RPC_FAR * This);
  4993.  
  4994.  
  4995. void __RPC_STUB IShellDispatch_RefreshMenu_Stub(
  4996.     IRpcStubBuffer *This,
  4997.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4998.     PRPC_MESSAGE _pRpcMessage,
  4999.     DWORD *_pdwStubPhase);
  5000.  
  5001.  
  5002. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch_ControlPanelItem_Proxy( 
  5003.     IShellDispatch __RPC_FAR * This,
  5004.     /* [in] */ BSTR szDir);
  5005.  
  5006.  
  5007. void __RPC_STUB IShellDispatch_ControlPanelItem_Stub(
  5008.     IRpcStubBuffer *This,
  5009.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5010.     PRPC_MESSAGE _pRpcMessage,
  5011.     DWORD *_pdwStubPhase);
  5012.  
  5013.  
  5014.  
  5015. #endif     /* __IShellDispatch_INTERFACE_DEFINED__ */
  5016.  
  5017.  
  5018. #ifndef __IShellDispatch2_INTERFACE_DEFINED__
  5019. #define __IShellDispatch2_INTERFACE_DEFINED__
  5020.  
  5021. /* interface IShellDispatch2 */
  5022. /* [object][dual][hidden][oleautomation][helpstring][uuid] */ 
  5023.  
  5024.  
  5025. EXTERN_C const IID IID_IShellDispatch2;
  5026.  
  5027. #if defined(__cplusplus) && !defined(CINTERFACE)
  5028.     
  5029.     MIDL_INTERFACE("A4C6892C-3BA9-11d2-9DEA-00C04FB16162")
  5030.     IShellDispatch2 : public IShellDispatch
  5031.     {
  5032.     public:
  5033.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsRestricted( 
  5034.             /* [in] */ BSTR Group,
  5035.             /* [in] */ BSTR Restriction,
  5036.             /* [retval][out] */ long __RPC_FAR *plRestrictValue) = 0;
  5037.         
  5038.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShellExecute( 
  5039.             /* [in] */ BSTR File,
  5040.             /* [optional][in] */ VARIANT vArgs,
  5041.             /* [optional][in] */ VARIANT vDir,
  5042.             /* [optional][in] */ VARIANT vOperation,
  5043.             /* [optional][in] */ VARIANT vShow) = 0;
  5044.         
  5045.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FindPrinter( 
  5046.             /* [optional][in] */ BSTR name,
  5047.             /* [optional][in] */ BSTR location,
  5048.             /* [optional][in] */ BSTR model) = 0;
  5049.         
  5050.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetSystemInformation( 
  5051.             /* [in] */ BSTR name,
  5052.             /* [retval][out] */ VARIANT __RPC_FAR *pv) = 0;
  5053.         
  5054.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ServiceStart( 
  5055.             /* [in] */ BSTR ServiceName,
  5056.             /* [in] */ VARIANT Persistent,
  5057.             /* [retval][out] */ VARIANT __RPC_FAR *pSuccess) = 0;
  5058.         
  5059.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ServiceStop( 
  5060.             /* [in] */ BSTR ServiceName,
  5061.             /* [in] */ VARIANT Persistent,
  5062.             /* [retval][out] */ VARIANT __RPC_FAR *pSuccess) = 0;
  5063.         
  5064.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE IsServiceRunning( 
  5065.             /* [in] */ BSTR ServiceName,
  5066.             /* [retval][out] */ VARIANT __RPC_FAR *pRunning) = 0;
  5067.         
  5068.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CanStartStopService( 
  5069.             /* [in] */ BSTR ServiceName,
  5070.             /* [retval][out] */ VARIANT __RPC_FAR *pCanStartStop) = 0;
  5071.         
  5072.         virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ShowBrowserBar( 
  5073.             /* [in] */ BSTR bstrClsid,
  5074.             /* [in] */ VARIANT bShow,
  5075.             /* [retval][out] */ VARIANT __RPC_FAR *pSuccess) = 0;
  5076.         
  5077.     };
  5078.     
  5079. #else     /* C style interface */
  5080.  
  5081.     typedef struct IShellDispatch2Vtbl
  5082.     {
  5083.         BEGIN_INTERFACE
  5084.         
  5085.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5086.             IShellDispatch2 __RPC_FAR * This,
  5087.             /* [in] */ REFIID riid,
  5088.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5089.         
  5090.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5091.             IShellDispatch2 __RPC_FAR * This);
  5092.         
  5093.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5094.             IShellDispatch2 __RPC_FAR * This);
  5095.         
  5096.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  5097.             IShellDispatch2 __RPC_FAR * This,
  5098.             /* [out] */ UINT __RPC_FAR *pctinfo);
  5099.         
  5100.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  5101.             IShellDispatch2 __RPC_FAR * This,
  5102.             /* [in] */ UINT iTInfo,
  5103.             /* [in] */ LCID lcid,
  5104.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  5105.         
  5106.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  5107.             IShellDispatch2 __RPC_FAR * This,
  5108.             /* [in] */ REFIID riid,
  5109.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  5110.             /* [in] */ UINT cNames,
  5111.             /* [in] */ LCID lcid,
  5112.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  5113.         
  5114.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  5115.             IShellDispatch2 __RPC_FAR * This,
  5116.             /* [in] */ DISPID dispIdMember,
  5117.             /* [in] */ REFIID riid,
  5118.             /* [in] */ LCID lcid,
  5119.             /* [in] */ WORD wFlags,
  5120.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  5121.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  5122.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  5123.             /* [out] */ UINT __RPC_FAR *puArgErr);
  5124.         
  5125.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Application )( 
  5126.             IShellDispatch2 __RPC_FAR * This,
  5127.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  5128.         
  5129.         /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
  5130.             IShellDispatch2 __RPC_FAR * This,
  5131.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  5132.         
  5133.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NameSpace )( 
  5134.             IShellDispatch2 __RPC_FAR * This,
  5135.             /* [in] */ VARIANT vDir,
  5136.             /* [retval][out] */ Folder __RPC_FAR *__RPC_FAR *ppsdf);
  5137.         
  5138.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BrowseForFolder )( 
  5139.             IShellDispatch2 __RPC_FAR * This,
  5140.             /* [in] */ long Hwnd,
  5141.             /* [in] */ BSTR Title,
  5142.             /* [in] */ long Options,
  5143.             /* [optional][in] */ VARIANT RootFolder,
  5144.             /* [retval][out] */ Folder __RPC_FAR *__RPC_FAR *ppsdf);
  5145.         
  5146.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Windows )( 
  5147.             IShellDispatch2 __RPC_FAR * This,
  5148.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppid);
  5149.         
  5150.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Open )( 
  5151.             IShellDispatch2 __RPC_FAR * This,
  5152.             /* [in] */ VARIANT vDir);
  5153.         
  5154.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Explore )( 
  5155.             IShellDispatch2 __RPC_FAR * This,
  5156.             /* [in] */ VARIANT vDir);
  5157.         
  5158.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MinimizeAll )( 
  5159.             IShellDispatch2 __RPC_FAR * This);
  5160.         
  5161.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UndoMinimizeALL )( 
  5162.             IShellDispatch2 __RPC_FAR * This);
  5163.         
  5164.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FileRun )( 
  5165.             IShellDispatch2 __RPC_FAR * This);
  5166.         
  5167.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CascadeWindows )( 
  5168.             IShellDispatch2 __RPC_FAR * This);
  5169.         
  5170.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TileVertically )( 
  5171.             IShellDispatch2 __RPC_FAR * This);
  5172.         
  5173.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TileHorizontally )( 
  5174.             IShellDispatch2 __RPC_FAR * This);
  5175.         
  5176.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShutdownWindows )( 
  5177.             IShellDispatch2 __RPC_FAR * This);
  5178.         
  5179.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Suspend )( 
  5180.             IShellDispatch2 __RPC_FAR * This);
  5181.         
  5182.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EjectPC )( 
  5183.             IShellDispatch2 __RPC_FAR * This);
  5184.         
  5185.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetTime )( 
  5186.             IShellDispatch2 __RPC_FAR * This);
  5187.         
  5188.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TrayProperties )( 
  5189.             IShellDispatch2 __RPC_FAR * This);
  5190.         
  5191.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Help )( 
  5192.             IShellDispatch2 __RPC_FAR * This);
  5193.         
  5194.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindFiles )( 
  5195.             IShellDispatch2 __RPC_FAR * This);
  5196.         
  5197.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindComputer )( 
  5198.             IShellDispatch2 __RPC_FAR * This);
  5199.         
  5200.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RefreshMenu )( 
  5201.             IShellDispatch2 __RPC_FAR * This);
  5202.         
  5203.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ControlPanelItem )( 
  5204.             IShellDispatch2 __RPC_FAR * This,
  5205.             /* [in] */ BSTR szDir);
  5206.         
  5207.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRestricted )( 
  5208.             IShellDispatch2 __RPC_FAR * This,
  5209.             /* [in] */ BSTR Group,
  5210.             /* [in] */ BSTR Restriction,
  5211.             /* [retval][out] */ long __RPC_FAR *plRestrictValue);
  5212.         
  5213.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShellExecute )( 
  5214.             IShellDispatch2 __RPC_FAR * This,
  5215.             /* [in] */ BSTR File,
  5216.             /* [optional][in] */ VARIANT vArgs,
  5217.             /* [optional][in] */ VARIANT vDir,
  5218.             /* [optional][in] */ VARIANT vOperation,
  5219.             /* [optional][in] */ VARIANT vShow);
  5220.         
  5221.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FindPrinter )( 
  5222.             IShellDispatch2 __RPC_FAR * This,
  5223.             /* [optional][in] */ BSTR name,
  5224.             /* [optional][in] */ BSTR location,
  5225.             /* [optional][in] */ BSTR model);
  5226.         
  5227.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSystemInformation )( 
  5228.             IShellDispatch2 __RPC_FAR * This,
  5229.             /* [in] */ BSTR name,
  5230.             /* [retval][out] */ VARIANT __RPC_FAR *pv);
  5231.         
  5232.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ServiceStart )( 
  5233.             IShellDispatch2 __RPC_FAR * This,
  5234.             /* [in] */ BSTR ServiceName,
  5235.             /* [in] */ VARIANT Persistent,
  5236.             /* [retval][out] */ VARIANT __RPC_FAR *pSuccess);
  5237.         
  5238.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ServiceStop )( 
  5239.             IShellDispatch2 __RPC_FAR * This,
  5240.             /* [in] */ BSTR ServiceName,
  5241.             /* [in] */ VARIANT Persistent,
  5242.             /* [retval][out] */ VARIANT __RPC_FAR *pSuccess);
  5243.         
  5244.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsServiceRunning )( 
  5245.             IShellDispatch2 __RPC_FAR * This,
  5246.             /* [in] */ BSTR ServiceName,
  5247.             /* [retval][out] */ VARIANT __RPC_FAR *pRunning);
  5248.         
  5249.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CanStartStopService )( 
  5250.             IShellDispatch2 __RPC_FAR * This,
  5251.             /* [in] */ BSTR ServiceName,
  5252.             /* [retval][out] */ VARIANT __RPC_FAR *pCanStartStop);
  5253.         
  5254.         /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ShowBrowserBar )( 
  5255.             IShellDispatch2 __RPC_FAR * This,
  5256.             /* [in] */ BSTR bstrClsid,
  5257.             /* [in] */ VARIANT bShow,
  5258.             /* [retval][out] */ VARIANT __RPC_FAR *pSuccess);
  5259.         
  5260.         END_INTERFACE
  5261.     } IShellDispatch2Vtbl;
  5262.  
  5263.     interface IShellDispatch2
  5264.     {
  5265.         CONST_VTBL struct IShellDispatch2Vtbl __RPC_FAR *lpVtbl;
  5266.     };
  5267.  
  5268.     
  5269.  
  5270. #ifdef COBJMACROS
  5271.  
  5272.  
  5273. #define IShellDispatch2_QueryInterface(This,riid,ppvObject)    \
  5274.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5275.  
  5276. #define IShellDispatch2_AddRef(This)    \
  5277.     (This)->lpVtbl -> AddRef(This)
  5278.  
  5279. #define IShellDispatch2_Release(This)    \
  5280.     (This)->lpVtbl -> Release(This)
  5281.  
  5282.  
  5283. #define IShellDispatch2_GetTypeInfoCount(This,pctinfo)    \
  5284.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5285.  
  5286. #define IShellDispatch2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5287.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5288.  
  5289. #define IShellDispatch2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5290.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5291.  
  5292. #define IShellDispatch2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5293.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5294.  
  5295.  
  5296. #define IShellDispatch2_get_Application(This,ppid)    \
  5297.     (This)->lpVtbl -> get_Application(This,ppid)
  5298.  
  5299. #define IShellDispatch2_get_Parent(This,ppid)    \
  5300.     (This)->lpVtbl -> get_Parent(This,ppid)
  5301.  
  5302. #define IShellDispatch2_NameSpace(This,vDir,ppsdf)    \
  5303.     (This)->lpVtbl -> NameSpace(This,vDir,ppsdf)
  5304.  
  5305. #define IShellDispatch2_BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)    \
  5306.     (This)->lpVtbl -> BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)
  5307.  
  5308. #define IShellDispatch2_Windows(This,ppid)    \
  5309.     (This)->lpVtbl -> Windows(This,ppid)
  5310.  
  5311. #define IShellDispatch2_Open(This,vDir)    \
  5312.     (This)->lpVtbl -> Open(This,vDir)
  5313.  
  5314. #define IShellDispatch2_Explore(This,vDir)    \
  5315.     (This)->lpVtbl -> Explore(This,vDir)
  5316.  
  5317. #define IShellDispatch2_MinimizeAll(This)    \
  5318.     (This)->lpVtbl -> MinimizeAll(This)
  5319.  
  5320. #define IShellDispatch2_UndoMinimizeALL(This)    \
  5321.     (This)->lpVtbl -> UndoMinimizeALL(This)
  5322.  
  5323. #define IShellDispatch2_FileRun(This)    \
  5324.     (This)->lpVtbl -> FileRun(This)
  5325.  
  5326. #define IShellDispatch2_CascadeWindows(This)    \
  5327.     (This)->lpVtbl -> CascadeWindows(This)
  5328.  
  5329. #define IShellDispatch2_TileVertically(This)    \
  5330.     (This)->lpVtbl -> TileVertically(This)
  5331.  
  5332. #define IShellDispatch2_TileHorizontally(This)    \
  5333.     (This)->lpVtbl -> TileHorizontally(This)
  5334.  
  5335. #define IShellDispatch2_ShutdownWindows(This)    \
  5336.     (This)->lpVtbl -> ShutdownWindows(This)
  5337.  
  5338. #define IShellDispatch2_Suspend(This)    \
  5339.     (This)->lpVtbl -> Suspend(This)
  5340.  
  5341. #define IShellDispatch2_EjectPC(This)    \
  5342.     (This)->lpVtbl -> EjectPC(This)
  5343.  
  5344. #define IShellDispatch2_SetTime(This)    \
  5345.     (This)->lpVtbl -> SetTime(This)
  5346.  
  5347. #define IShellDispatch2_TrayProperties(This)    \
  5348.     (This)->lpVtbl -> TrayProperties(This)
  5349.  
  5350. #define IShellDispatch2_Help(This)    \
  5351.     (This)->lpVtbl -> Help(This)
  5352.  
  5353. #define IShellDispatch2_FindFiles(This)    \
  5354.     (This)->lpVtbl -> FindFiles(This)
  5355.  
  5356. #define IShellDispatch2_FindComputer(This)    \
  5357.     (This)->lpVtbl -> FindComputer(This)
  5358.  
  5359. #define IShellDispatch2_RefreshMenu(This)    \
  5360.     (This)->lpVtbl -> RefreshMenu(This)
  5361.  
  5362. #define IShellDispatch2_ControlPanelItem(This,szDir)    \
  5363.     (This)->lpVtbl -> ControlPanelItem(This,szDir)
  5364.  
  5365.  
  5366. #define IShellDispatch2_IsRestricted(This,Group,Restriction,plRestrictValue)    \
  5367.     (This)->lpVtbl -> IsRestricted(This,Group,Restriction,plRestrictValue)
  5368.  
  5369. #define IShellDispatch2_ShellExecute(This,File,vArgs,vDir,vOperation,vShow)    \
  5370.     (This)->lpVtbl -> ShellExecute(This,File,vArgs,vDir,vOperation,vShow)
  5371.  
  5372. #define IShellDispatch2_FindPrinter(This,name,location,model)    \
  5373.     (This)->lpVtbl -> FindPrinter(This,name,location,model)
  5374.  
  5375. #define IShellDispatch2_GetSystemInformation(This,name,pv)    \
  5376.     (This)->lpVtbl -> GetSystemInformation(This,name,pv)
  5377.  
  5378. #define IShellDispatch2_ServiceStart(This,ServiceName,Persistent,pSuccess)    \
  5379.     (This)->lpVtbl -> ServiceStart(This,ServiceName,Persistent,pSuccess)
  5380.  
  5381. #define IShellDispatch2_ServiceStop(This,ServiceName,Persistent,pSuccess)    \
  5382.     (This)->lpVtbl -> ServiceStop(This,ServiceName,Persistent,pSuccess)
  5383.  
  5384. #define IShellDispatch2_IsServiceRunning(This,ServiceName,pRunning)    \
  5385.     (This)->lpVtbl -> IsServiceRunning(This,ServiceName,pRunning)
  5386.  
  5387. #define IShellDispatch2_CanStartStopService(This,ServiceName,pCanStartStop)    \
  5388.     (This)->lpVtbl -> CanStartStopService(This,ServiceName,pCanStartStop)
  5389.  
  5390. #define IShellDispatch2_ShowBrowserBar(This,bstrClsid,bShow,pSuccess)    \
  5391.     (This)->lpVtbl -> ShowBrowserBar(This,bstrClsid,bShow,pSuccess)
  5392.  
  5393. #endif /* COBJMACROS */
  5394.  
  5395.  
  5396. #endif     /* C style interface */
  5397.  
  5398.  
  5399.  
  5400. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch2_IsRestricted_Proxy( 
  5401.     IShellDispatch2 __RPC_FAR * This,
  5402.     /* [in] */ BSTR Group,
  5403.     /* [in] */ BSTR Restriction,
  5404.     /* [retval][out] */ long __RPC_FAR *plRestrictValue);
  5405.  
  5406.  
  5407. void __RPC_STUB IShellDispatch2_IsRestricted_Stub(
  5408.     IRpcStubBuffer *This,
  5409.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5410.     PRPC_MESSAGE _pRpcMessage,
  5411.     DWORD *_pdwStubPhase);
  5412.  
  5413.  
  5414. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch2_ShellExecute_Proxy( 
  5415.     IShellDispatch2 __RPC_FAR * This,
  5416.     /* [in] */ BSTR File,
  5417.     /* [optional][in] */ VARIANT vArgs,
  5418.     /* [optional][in] */ VARIANT vDir,
  5419.     /* [optional][in] */ VARIANT vOperation,
  5420.     /* [optional][in] */ VARIANT vShow);
  5421.  
  5422.  
  5423. void __RPC_STUB IShellDispatch2_ShellExecute_Stub(
  5424.     IRpcStubBuffer *This,
  5425.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5426.     PRPC_MESSAGE _pRpcMessage,
  5427.     DWORD *_pdwStubPhase);
  5428.  
  5429.  
  5430. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch2_FindPrinter_Proxy( 
  5431.     IShellDispatch2 __RPC_FAR * This,
  5432.     /* [optional][in] */ BSTR name,
  5433.     /* [optional][in] */ BSTR location,
  5434.     /* [optional][in] */ BSTR model);
  5435.  
  5436.  
  5437. void __RPC_STUB IShellDispatch2_FindPrinter_Stub(
  5438.     IRpcStubBuffer *This,
  5439.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5440.     PRPC_MESSAGE _pRpcMessage,
  5441.     DWORD *_pdwStubPhase);
  5442.  
  5443.  
  5444. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch2_GetSystemInformation_Proxy( 
  5445.     IShellDispatch2 __RPC_FAR * This,
  5446.     /* [in] */ BSTR name,
  5447.     /* [retval][out] */ VARIANT __RPC_FAR *pv);
  5448.  
  5449.  
  5450. void __RPC_STUB IShellDispatch2_GetSystemInformation_Stub(
  5451.     IRpcStubBuffer *This,
  5452.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5453.     PRPC_MESSAGE _pRpcMessage,
  5454.     DWORD *_pdwStubPhase);
  5455.  
  5456.  
  5457. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch2_ServiceStart_Proxy( 
  5458.     IShellDispatch2 __RPC_FAR * This,
  5459.     /* [in] */ BSTR ServiceName,
  5460.     /* [in] */ VARIANT Persistent,
  5461.     /* [retval][out] */ VARIANT __RPC_FAR *pSuccess);
  5462.  
  5463.  
  5464. void __RPC_STUB IShellDispatch2_ServiceStart_Stub(
  5465.     IRpcStubBuffer *This,
  5466.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5467.     PRPC_MESSAGE _pRpcMessage,
  5468.     DWORD *_pdwStubPhase);
  5469.  
  5470.  
  5471. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch2_ServiceStop_Proxy( 
  5472.     IShellDispatch2 __RPC_FAR * This,
  5473.     /* [in] */ BSTR ServiceName,
  5474.     /* [in] */ VARIANT Persistent,
  5475.     /* [retval][out] */ VARIANT __RPC_FAR *pSuccess);
  5476.  
  5477.  
  5478. void __RPC_STUB IShellDispatch2_ServiceStop_Stub(
  5479.     IRpcStubBuffer *This,
  5480.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5481.     PRPC_MESSAGE _pRpcMessage,
  5482.     DWORD *_pdwStubPhase);
  5483.  
  5484.  
  5485. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch2_IsServiceRunning_Proxy( 
  5486.     IShellDispatch2 __RPC_FAR * This,
  5487.     /* [in] */ BSTR ServiceName,
  5488.     /* [retval][out] */ VARIANT __RPC_FAR *pRunning);
  5489.  
  5490.  
  5491. void __RPC_STUB IShellDispatch2_IsServiceRunning_Stub(
  5492.     IRpcStubBuffer *This,
  5493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5494.     PRPC_MESSAGE _pRpcMessage,
  5495.     DWORD *_pdwStubPhase);
  5496.  
  5497.  
  5498. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch2_CanStartStopService_Proxy( 
  5499.     IShellDispatch2 __RPC_FAR * This,
  5500.     /* [in] */ BSTR ServiceName,
  5501.     /* [retval][out] */ VARIANT __RPC_FAR *pCanStartStop);
  5502.  
  5503.  
  5504. void __RPC_STUB IShellDispatch2_CanStartStopService_Stub(
  5505.     IRpcStubBuffer *This,
  5506.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5507.     PRPC_MESSAGE _pRpcMessage,
  5508.     DWORD *_pdwStubPhase);
  5509.  
  5510.  
  5511. /* [helpstring] */ HRESULT STDMETHODCALLTYPE IShellDispatch2_ShowBrowserBar_Proxy( 
  5512.     IShellDispatch2 __RPC_FAR * This,
  5513.     /* [in] */ BSTR bstrClsid,
  5514.     /* [in] */ VARIANT bShow,
  5515.     /* [retval][out] */ VARIANT __RPC_FAR *pSuccess);
  5516.  
  5517.  
  5518. void __RPC_STUB IShellDispatch2_ShowBrowserBar_Stub(
  5519.     IRpcStubBuffer *This,
  5520.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5521.     PRPC_MESSAGE _pRpcMessage,
  5522.     DWORD *_pdwStubPhase);
  5523.  
  5524.  
  5525.  
  5526. #endif     /* __IShellDispatch2_INTERFACE_DEFINED__ */
  5527.  
  5528.  
  5529. EXTERN_C const CLSID CLSID_Shell;
  5530.  
  5531. #ifdef __cplusplus
  5532.  
  5533. class DECLSPEC_UUID("13709620-C279-11CE-A49E-444553540000")
  5534. Shell;
  5535. #endif
  5536.  
  5537. EXTERN_C const CLSID CLSID_ShellDispatchInproc;
  5538.  
  5539. #ifdef __cplusplus
  5540.  
  5541. class DECLSPEC_UUID("0A89A860-D7B1-11CE-8350-444553540000")
  5542. ShellDispatchInproc;
  5543. #endif
  5544.  
  5545. EXTERN_C const CLSID CLSID_WebViewFolderContents;
  5546.  
  5547. #ifdef __cplusplus
  5548.  
  5549. class DECLSPEC_UUID("1820FED0-473E-11D0-A96C-00C04FD705A2")
  5550. WebViewFolderContents;
  5551. #endif
  5552.  
  5553. #ifndef __DSearchCommandEvents_DISPINTERFACE_DEFINED__
  5554. #define __DSearchCommandEvents_DISPINTERFACE_DEFINED__
  5555.  
  5556. /* dispinterface DSearchCommandEvents */
  5557. /* [helpstring][uuid] */ 
  5558.  
  5559.  
  5560. EXTERN_C const IID DIID_DSearchCommandEvents;
  5561.  
  5562. #if defined(__cplusplus) && !defined(CINTERFACE)
  5563.  
  5564.     MIDL_INTERFACE("60890160-69f0-11d1-b758-00a0c90564fe")
  5565.     DSearchCommandEvents : public IDispatch
  5566.     {
  5567.     };
  5568.     
  5569. #else     /* C style interface */
  5570.  
  5571.     typedef struct DSearchCommandEventsVtbl
  5572.     {
  5573.         BEGIN_INTERFACE
  5574.         
  5575.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5576.             DSearchCommandEvents __RPC_FAR * This,
  5577.             /* [in] */ REFIID riid,
  5578.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5579.         
  5580.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5581.             DSearchCommandEvents __RPC_FAR * This);
  5582.         
  5583.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5584.             DSearchCommandEvents __RPC_FAR * This);
  5585.         
  5586.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  5587.             DSearchCommandEvents __RPC_FAR * This,
  5588.             /* [out] */ UINT __RPC_FAR *pctinfo);
  5589.         
  5590.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  5591.             DSearchCommandEvents __RPC_FAR * This,
  5592.             /* [in] */ UINT iTInfo,
  5593.             /* [in] */ LCID lcid,
  5594.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  5595.         
  5596.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  5597.             DSearchCommandEvents __RPC_FAR * This,
  5598.             /* [in] */ REFIID riid,
  5599.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  5600.             /* [in] */ UINT cNames,
  5601.             /* [in] */ LCID lcid,
  5602.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  5603.         
  5604.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  5605.             DSearchCommandEvents __RPC_FAR * This,
  5606.             /* [in] */ DISPID dispIdMember,
  5607.             /* [in] */ REFIID riid,
  5608.             /* [in] */ LCID lcid,
  5609.             /* [in] */ WORD wFlags,
  5610.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  5611.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  5612.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  5613.             /* [out] */ UINT __RPC_FAR *puArgErr);
  5614.         
  5615.         END_INTERFACE
  5616.     } DSearchCommandEventsVtbl;
  5617.  
  5618.     interface DSearchCommandEvents
  5619.     {
  5620.         CONST_VTBL struct DSearchCommandEventsVtbl __RPC_FAR *lpVtbl;
  5621.     };
  5622.  
  5623.     
  5624.  
  5625. #ifdef COBJMACROS
  5626.  
  5627.  
  5628. #define DSearchCommandEvents_QueryInterface(This,riid,ppvObject)    \
  5629.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5630.  
  5631. #define DSearchCommandEvents_AddRef(This)    \
  5632.     (This)->lpVtbl -> AddRef(This)
  5633.  
  5634. #define DSearchCommandEvents_Release(This)    \
  5635.     (This)->lpVtbl -> Release(This)
  5636.  
  5637.  
  5638. #define DSearchCommandEvents_GetTypeInfoCount(This,pctinfo)    \
  5639.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5640.  
  5641. #define DSearchCommandEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5642.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5643.  
  5644. #define DSearchCommandEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5645.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5646.  
  5647. #define DSearchCommandEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5648.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5649.  
  5650. #endif /* COBJMACROS */
  5651.  
  5652.  
  5653. #endif     /* C style interface */
  5654.  
  5655.  
  5656. #endif     /* __DSearchCommandEvents_DISPINTERFACE_DEFINED__ */
  5657.  
  5658.  
  5659. EXTERN_C const CLSID CLSID_SearchCommand;
  5660.  
  5661. #ifdef __cplusplus
  5662.  
  5663. class DECLSPEC_UUID("B005E690-678D-11d1-B758-00A0C90564FE")
  5664. SearchCommand;
  5665. #endif
  5666.  
  5667. #ifndef __IFileSearchBand_INTERFACE_DEFINED__
  5668. #define __IFileSearchBand_INTERFACE_DEFINED__
  5669.  
  5670. /* interface IFileSearchBand */
  5671. /* [object][unique][hidden][dual][oleautomation][helpstring][uuid] */ 
  5672.  
  5673.  
  5674. EXTERN_C const IID IID_IFileSearchBand;
  5675.  
  5676. #if defined(__cplusplus) && !defined(CINTERFACE)
  5677.     
  5678.     MIDL_INTERFACE("2D91EEA1-9932-11d2-BE86-00A0C9A83DA1")
  5679.     IFileSearchBand : public IDispatch
  5680.     {
  5681.     public:
  5682.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetFocus( void) = 0;
  5683.         
  5684.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetSearchParameters( 
  5685.             /* [in] */ BSTR __RPC_FAR *pbstrSearchID,
  5686.             /* [in] */ VARIANT_BOOL bNavToResults,
  5687.             /* [optional][in] */ VARIANT __RPC_FAR *pvarScope,
  5688.             /* [optional][in] */ VARIANT __RPC_FAR *pvarQueryFile) = 0;
  5689.         
  5690.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SearchID( 
  5691.             /* [retval][out] */ BSTR __RPC_FAR *pbstrSearchID) = 0;
  5692.         
  5693.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Scope( 
  5694.             /* [retval][out] */ VARIANT __RPC_FAR *pvarScope) = 0;
  5695.         
  5696.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_QueryFile( 
  5697.             /* [retval][out] */ VARIANT __RPC_FAR *pvarFile) = 0;
  5698.         
  5699.     };
  5700.     
  5701. #else     /* C style interface */
  5702.  
  5703.     typedef struct IFileSearchBandVtbl
  5704.     {
  5705.         BEGIN_INTERFACE
  5706.         
  5707.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5708.             IFileSearchBand __RPC_FAR * This,
  5709.             /* [in] */ REFIID riid,
  5710.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5711.         
  5712.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5713.             IFileSearchBand __RPC_FAR * This);
  5714.         
  5715.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5716.             IFileSearchBand __RPC_FAR * This);
  5717.         
  5718.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
  5719.             IFileSearchBand __RPC_FAR * This,
  5720.             /* [out] */ UINT __RPC_FAR *pctinfo);
  5721.         
  5722.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
  5723.             IFileSearchBand __RPC_FAR * This,
  5724.             /* [in] */ UINT iTInfo,
  5725.             /* [in] */ LCID lcid,
  5726.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  5727.         
  5728.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
  5729.             IFileSearchBand __RPC_FAR * This,
  5730.             /* [in] */ REFIID riid,
  5731.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  5732.             /* [in] */ UINT cNames,
  5733.             /* [in] */ LCID lcid,
  5734.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  5735.         
  5736.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  5737.             IFileSearchBand __RPC_FAR * This,
  5738.             /* [in] */ DISPID dispIdMember,
  5739.             /* [in] */ REFIID riid,
  5740.             /* [in] */ LCID lcid,
  5741.             /* [in] */ WORD wFlags,
  5742.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  5743.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  5744.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  5745.             /* [out] */ UINT __RPC_FAR *puArgErr);
  5746.         
  5747.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFocus )( 
  5748.             IFileSearchBand __RPC_FAR * This);
  5749.         
  5750.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSearchParameters )( 
  5751.             IFileSearchBand __RPC_FAR * This,
  5752.             /* [in] */ BSTR __RPC_FAR *pbstrSearchID,
  5753.             /* [in] */ VARIANT_BOOL bNavToResults,
  5754.             /* [optional][in] */ VARIANT __RPC_FAR *pvarScope,
  5755.             /* [optional][in] */ VARIANT __RPC_FAR *pvarQueryFile);
  5756.         
  5757.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SearchID )( 
  5758.             IFileSearchBand __RPC_FAR * This,
  5759.             /* [retval][out] */ BSTR __RPC_FAR *pbstrSearchID);
  5760.         
  5761.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Scope )( 
  5762.             IFileSearchBand __RPC_FAR * This,
  5763.             /* [retval][out] */ VARIANT __RPC_FAR *pvarScope);
  5764.         
  5765.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_QueryFile )( 
  5766.             IFileSearchBand __RPC_FAR * This,
  5767.             /* [retval][out] */ VARIANT __RPC_FAR *pvarFile);
  5768.         
  5769.         END_INTERFACE
  5770.     } IFileSearchBandVtbl;
  5771.  
  5772.     interface IFileSearchBand
  5773.     {
  5774.         CONST_VTBL struct IFileSearchBandVtbl __RPC_FAR *lpVtbl;
  5775.     };
  5776.  
  5777.     
  5778.  
  5779. #ifdef COBJMACROS
  5780.  
  5781.  
  5782. #define IFileSearchBand_QueryInterface(This,riid,ppvObject)    \
  5783.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5784.  
  5785. #define IFileSearchBand_AddRef(This)    \
  5786.     (This)->lpVtbl -> AddRef(This)
  5787.  
  5788. #define IFileSearchBand_Release(This)    \
  5789.     (This)->lpVtbl -> Release(This)
  5790.  
  5791.  
  5792. #define IFileSearchBand_GetTypeInfoCount(This,pctinfo)    \
  5793.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  5794.  
  5795. #define IFileSearchBand_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  5796.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  5797.  
  5798. #define IFileSearchBand_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  5799.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  5800.  
  5801. #define IFileSearchBand_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  5802.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  5803.  
  5804.  
  5805. #define IFileSearchBand_SetFocus(This)    \
  5806.     (This)->lpVtbl -> SetFocus(This)
  5807.  
  5808. #define IFileSearchBand_SetSearchParameters(This,pbstrSearchID,bNavToResults,pvarScope,pvarQueryFile)    \
  5809.     (This)->lpVtbl -> SetSearchParameters(This,pbstrSearchID,bNavToResults,pvarScope,pvarQueryFile)
  5810.  
  5811. #define IFileSearchBand_get_SearchID(This,pbstrSearchID)    \
  5812.     (This)->lpVtbl -> get_SearchID(This,pbstrSearchID)
  5813.  
  5814. #define IFileSearchBand_get_Scope(This,pvarScope)    \
  5815.     (This)->lpVtbl -> get_Scope(This,pvarScope)
  5816.  
  5817. #define IFileSearchBand_get_QueryFile(This,pvarFile)    \
  5818.     (This)->lpVtbl -> get_QueryFile(This,pvarFile)
  5819.  
  5820. #endif /* COBJMACROS */
  5821.  
  5822.  
  5823. #endif     /* C style interface */
  5824.  
  5825.  
  5826.  
  5827. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IFileSearchBand_SetFocus_Proxy( 
  5828.     IFileSearchBand __RPC_FAR * This);
  5829.  
  5830.  
  5831. void __RPC_STUB IFileSearchBand_SetFocus_Stub(
  5832.     IRpcStubBuffer *This,
  5833.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5834.     PRPC_MESSAGE _pRpcMessage,
  5835.     DWORD *_pdwStubPhase);
  5836.  
  5837.  
  5838. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IFileSearchBand_SetSearchParameters_Proxy( 
  5839.     IFileSearchBand __RPC_FAR * This,
  5840.     /* [in] */ BSTR __RPC_FAR *pbstrSearchID,
  5841.     /* [in] */ VARIANT_BOOL bNavToResults,
  5842.     /* [optional][in] */ VARIANT __RPC_FAR *pvarScope,
  5843.     /* [optional][in] */ VARIANT __RPC_FAR *pvarQueryFile);
  5844.  
  5845.  
  5846. void __RPC_STUB IFileSearchBand_SetSearchParameters_Stub(
  5847.     IRpcStubBuffer *This,
  5848.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5849.     PRPC_MESSAGE _pRpcMessage,
  5850.     DWORD *_pdwStubPhase);
  5851.  
  5852.  
  5853. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IFileSearchBand_get_SearchID_Proxy( 
  5854.     IFileSearchBand __RPC_FAR * This,
  5855.     /* [retval][out] */ BSTR __RPC_FAR *pbstrSearchID);
  5856.  
  5857.  
  5858. void __RPC_STUB IFileSearchBand_get_SearchID_Stub(
  5859.     IRpcStubBuffer *This,
  5860.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5861.     PRPC_MESSAGE _pRpcMessage,
  5862.     DWORD *_pdwStubPhase);
  5863.  
  5864.  
  5865. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IFileSearchBand_get_Scope_Proxy( 
  5866.     IFileSearchBand __RPC_FAR * This,
  5867.     /* [retval][out] */ VARIANT __RPC_FAR *pvarScope);
  5868.  
  5869.  
  5870. void __RPC_STUB IFileSearchBand_get_Scope_Stub(
  5871.     IRpcStubBuffer *This,
  5872.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5873.     PRPC_MESSAGE _pRpcMessage,
  5874.     DWORD *_pdwStubPhase);
  5875.  
  5876.  
  5877. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IFileSearchBand_get_QueryFile_Proxy( 
  5878.     IFileSearchBand __RPC_FAR * This,
  5879.     /* [retval][out] */ VARIANT __RPC_FAR *pvarFile);
  5880.  
  5881.  
  5882. void __RPC_STUB IFileSearchBand_get_QueryFile_Stub(
  5883.     IRpcStubBuffer *This,
  5884.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5885.     PRPC_MESSAGE _pRpcMessage,
  5886.     DWORD *_pdwStubPhase);
  5887.  
  5888.  
  5889.  
  5890. #endif     /* __IFileSearchBand_INTERFACE_DEFINED__ */
  5891.  
  5892.  
  5893. EXTERN_C const CLSID CLSID_FileSearchBand;
  5894.  
  5895. #ifdef __cplusplus
  5896.  
  5897. class DECLSPEC_UUID("C4EE31F3-4768-11D2-BE5C-00A0C9A83DA1")
  5898. FileSearchBand;
  5899. #endif
  5900. #endif /* __Shell32_LIBRARY_DEFINED__ */
  5901.  
  5902. /* interface __MIDL_itf_shldisp_0261 */
  5903. /* [local] */ 
  5904.  
  5905.  
  5906. //-------------------------------------------------------------------------
  5907. //
  5908. // IAutoComplete interface
  5909. //
  5910. //
  5911. // [Member functions]
  5912. //
  5913. // IAutoComplete::Init(hwndEdit, punkACL, pwszRegKeyPath, pwszQuickComplete)
  5914. //   This function initializes an AutoComplete object, telling it
  5915. //   what control to subclass, and what list of strings to process.
  5916. //
  5917. // IAutoComplete::Enable(fEnable)
  5918. //   This function enables or disables the AutoComplete functionality.
  5919. //
  5920. //-------------------------------------------------------------------------
  5921.  
  5922.  
  5923. extern RPC_IF_HANDLE __MIDL_itf_shldisp_0261_v0_0_c_ifspec;
  5924. extern RPC_IF_HANDLE __MIDL_itf_shldisp_0261_v0_0_s_ifspec;
  5925.  
  5926. #ifndef __IAutoComplete_INTERFACE_DEFINED__
  5927. #define __IAutoComplete_INTERFACE_DEFINED__
  5928.  
  5929. /* interface IAutoComplete */
  5930. /* [unique][uuid][object][local][helpstring] */ 
  5931.  
  5932. typedef /* [unique] */ IAutoComplete __RPC_FAR *LPAUTOCOMPLETE;
  5933.  
  5934.  
  5935. EXTERN_C const IID IID_IAutoComplete;
  5936.  
  5937. #if defined(__cplusplus) && !defined(CINTERFACE)
  5938.     
  5939.     MIDL_INTERFACE("00bb2762-6a77-11d0-a535-00c04fd7d062")
  5940.     IAutoComplete : public IUnknown
  5941.     {
  5942.     public:
  5943.         virtual HRESULT STDMETHODCALLTYPE Init( 
  5944.             /* [in] */ HWND hwndEdit,
  5945.             /* [unique][in] */ IUnknown __RPC_FAR *punkACL,
  5946.             /* [unique][in] */ LPCOLESTR pwszRegKeyPath,
  5947.             /* [in] */ LPCOLESTR pwszQuickComplete) = 0;
  5948.         
  5949.         virtual HRESULT STDMETHODCALLTYPE Enable( 
  5950.             /* [in] */ BOOL fEnable) = 0;
  5951.         
  5952.     };
  5953.     
  5954. #else     /* C style interface */
  5955.  
  5956.     typedef struct IAutoCompleteVtbl
  5957.     {
  5958.         BEGIN_INTERFACE
  5959.         
  5960.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5961.             IAutoComplete __RPC_FAR * This,
  5962.             /* [in] */ REFIID riid,
  5963.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5964.         
  5965.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5966.             IAutoComplete __RPC_FAR * This);
  5967.         
  5968.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5969.             IAutoComplete __RPC_FAR * This);
  5970.         
  5971.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Init )( 
  5972.             IAutoComplete __RPC_FAR * This,
  5973.             /* [in] */ HWND hwndEdit,
  5974.             /* [unique][in] */ IUnknown __RPC_FAR *punkACL,
  5975.             /* [unique][in] */ LPCOLESTR pwszRegKeyPath,
  5976.             /* [in] */ LPCOLESTR pwszQuickComplete);
  5977.         
  5978.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Enable )( 
  5979.             IAutoComplete __RPC_FAR * This,
  5980.             /* [in] */ BOOL fEnable);
  5981.         
  5982.         END_INTERFACE
  5983.     } IAutoCompleteVtbl;
  5984.  
  5985.     interface IAutoComplete
  5986.     {
  5987.         CONST_VTBL struct IAutoCompleteVtbl __RPC_FAR *lpVtbl;
  5988.     };
  5989.  
  5990.     
  5991.  
  5992. #ifdef COBJMACROS
  5993.  
  5994.  
  5995. #define IAutoComplete_QueryInterface(This,riid,ppvObject)    \
  5996.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5997.  
  5998. #define IAutoComplete_AddRef(This)    \
  5999.     (This)->lpVtbl -> AddRef(This)
  6000.  
  6001. #define IAutoComplete_Release(This)    \
  6002.     (This)->lpVtbl -> Release(This)
  6003.  
  6004.  
  6005. #define IAutoComplete_Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete)    \
  6006.     (This)->lpVtbl -> Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete)
  6007.  
  6008. #define IAutoComplete_Enable(This,fEnable)    \
  6009.     (This)->lpVtbl -> Enable(This,fEnable)
  6010.  
  6011. #endif /* COBJMACROS */
  6012.  
  6013.  
  6014. #endif     /* C style interface */
  6015.  
  6016.  
  6017.  
  6018. HRESULT STDMETHODCALLTYPE IAutoComplete_Init_Proxy( 
  6019.     IAutoComplete __RPC_FAR * This,
  6020.     /* [in] */ HWND hwndEdit,
  6021.     /* [unique][in] */ IUnknown __RPC_FAR *punkACL,
  6022.     /* [unique][in] */ LPCOLESTR pwszRegKeyPath,
  6023.     /* [in] */ LPCOLESTR pwszQuickComplete);
  6024.  
  6025.  
  6026. void __RPC_STUB IAutoComplete_Init_Stub(
  6027.     IRpcStubBuffer *This,
  6028.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6029.     PRPC_MESSAGE _pRpcMessage,
  6030.     DWORD *_pdwStubPhase);
  6031.  
  6032.  
  6033. HRESULT STDMETHODCALLTYPE IAutoComplete_Enable_Proxy( 
  6034.     IAutoComplete __RPC_FAR * This,
  6035.     /* [in] */ BOOL fEnable);
  6036.  
  6037.  
  6038. void __RPC_STUB IAutoComplete_Enable_Stub(
  6039.     IRpcStubBuffer *This,
  6040.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6041.     PRPC_MESSAGE _pRpcMessage,
  6042.     DWORD *_pdwStubPhase);
  6043.  
  6044.  
  6045.  
  6046. #endif     /* __IAutoComplete_INTERFACE_DEFINED__ */
  6047.  
  6048.  
  6049. #ifndef __IAutoComplete2_INTERFACE_DEFINED__
  6050. #define __IAutoComplete2_INTERFACE_DEFINED__
  6051.  
  6052. /* interface IAutoComplete2 */
  6053. /* [unique][uuid][object][local][helpstring] */ 
  6054.  
  6055. typedef /* [unique] */ IAutoComplete2 __RPC_FAR *LPAUTOCOMPLETE2;
  6056.  
  6057. typedef 
  6058. enum _tagAUTOCOMPLETEOPTIONS
  6059.     {    ACO_NONE    = 0,
  6060.     ACO_AUTOSUGGEST    = 0x1,
  6061.     ACO_AUTOAPPEND    = 0x2,
  6062.     ACO_SEARCH    = 0x4,
  6063.     ACO_FILTERPREFIXES    = 0x8,
  6064.     ACO_USETAB    = 0x10,
  6065.     ACO_UPDOWNKEYDROPSLIST    = 0x20,
  6066.     ACO_RTLREADING    = 0x40
  6067.     }    AUTOCOMPLETEOPTIONS;
  6068.  
  6069.  
  6070. EXTERN_C const IID IID_IAutoComplete2;
  6071.  
  6072. #if defined(__cplusplus) && !defined(CINTERFACE)
  6073.     
  6074.     MIDL_INTERFACE("EAC04BC0-3791-11d2-BB95-0060977B464C")
  6075.     IAutoComplete2 : public IAutoComplete
  6076.     {
  6077.     public:
  6078.         virtual HRESULT STDMETHODCALLTYPE SetOptions( 
  6079.             /* [in] */ DWORD dwFlag) = 0;
  6080.         
  6081.         virtual HRESULT STDMETHODCALLTYPE GetOptions( 
  6082.             /* [out] */ DWORD __RPC_FAR *pdwFlag) = 0;
  6083.         
  6084.     };
  6085.     
  6086. #else     /* C style interface */
  6087.  
  6088.     typedef struct IAutoComplete2Vtbl
  6089.     {
  6090.         BEGIN_INTERFACE
  6091.         
  6092.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6093.             IAutoComplete2 __RPC_FAR * This,
  6094.             /* [in] */ REFIID riid,
  6095.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6096.         
  6097.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6098.             IAutoComplete2 __RPC_FAR * This);
  6099.         
  6100.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6101.             IAutoComplete2 __RPC_FAR * This);
  6102.         
  6103.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Init )( 
  6104.             IAutoComplete2 __RPC_FAR * This,
  6105.             /* [in] */ HWND hwndEdit,
  6106.             /* [unique][in] */ IUnknown __RPC_FAR *punkACL,
  6107.             /* [unique][in] */ LPCOLESTR pwszRegKeyPath,
  6108.             /* [in] */ LPCOLESTR pwszQuickComplete);
  6109.         
  6110.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Enable )( 
  6111.             IAutoComplete2 __RPC_FAR * This,
  6112.             /* [in] */ BOOL fEnable);
  6113.         
  6114.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOptions )( 
  6115.             IAutoComplete2 __RPC_FAR * This,
  6116.             /* [in] */ DWORD dwFlag);
  6117.         
  6118.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOptions )( 
  6119.             IAutoComplete2 __RPC_FAR * This,
  6120.             /* [out] */ DWORD __RPC_FAR *pdwFlag);
  6121.         
  6122.         END_INTERFACE
  6123.     } IAutoComplete2Vtbl;
  6124.  
  6125.     interface IAutoComplete2
  6126.     {
  6127.         CONST_VTBL struct IAutoComplete2Vtbl __RPC_FAR *lpVtbl;
  6128.     };
  6129.  
  6130.     
  6131.  
  6132. #ifdef COBJMACROS
  6133.  
  6134.  
  6135. #define IAutoComplete2_QueryInterface(This,riid,ppvObject)    \
  6136.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6137.  
  6138. #define IAutoComplete2_AddRef(This)    \
  6139.     (This)->lpVtbl -> AddRef(This)
  6140.  
  6141. #define IAutoComplete2_Release(This)    \
  6142.     (This)->lpVtbl -> Release(This)
  6143.  
  6144.  
  6145. #define IAutoComplete2_Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete)    \
  6146.     (This)->lpVtbl -> Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete)
  6147.  
  6148. #define IAutoComplete2_Enable(This,fEnable)    \
  6149.     (This)->lpVtbl -> Enable(This,fEnable)
  6150.  
  6151.  
  6152. #define IAutoComplete2_SetOptions(This,dwFlag)    \
  6153.     (This)->lpVtbl -> SetOptions(This,dwFlag)
  6154.  
  6155. #define IAutoComplete2_GetOptions(This,pdwFlag)    \
  6156.     (This)->lpVtbl -> GetOptions(This,pdwFlag)
  6157.  
  6158. #endif /* COBJMACROS */
  6159.  
  6160.  
  6161. #endif     /* C style interface */
  6162.  
  6163.  
  6164.  
  6165. HRESULT STDMETHODCALLTYPE IAutoComplete2_SetOptions_Proxy( 
  6166.     IAutoComplete2 __RPC_FAR * This,
  6167.     /* [in] */ DWORD dwFlag);
  6168.  
  6169.  
  6170. void __RPC_STUB IAutoComplete2_SetOptions_Stub(
  6171.     IRpcStubBuffer *This,
  6172.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6173.     PRPC_MESSAGE _pRpcMessage,
  6174.     DWORD *_pdwStubPhase);
  6175.  
  6176.  
  6177. HRESULT STDMETHODCALLTYPE IAutoComplete2_GetOptions_Proxy( 
  6178.     IAutoComplete2 __RPC_FAR * This,
  6179.     /* [out] */ DWORD __RPC_FAR *pdwFlag);
  6180.  
  6181.  
  6182. void __RPC_STUB IAutoComplete2_GetOptions_Stub(
  6183.     IRpcStubBuffer *This,
  6184.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6185.     PRPC_MESSAGE _pRpcMessage,
  6186.     DWORD *_pdwStubPhase);
  6187.  
  6188.  
  6189.  
  6190. #endif     /* __IAutoComplete2_INTERFACE_DEFINED__ */
  6191.  
  6192.  
  6193. /* interface __MIDL_itf_shldisp_0263 */
  6194. /* [local] */ 
  6195.  
  6196. // INTERFACE: IAsyncOperation
  6197. //
  6198. // This interface was implemented to turn some previously synchronous
  6199. // interfaces into async.  The following example is for
  6200. // doing the IDataObject::Drop() operation asynchronously.
  6201. //
  6202. // Sometimes the rendering of the IDataObject data (IDataObject::GetData() or
  6203. // STGMEDIUM.pStream->Read()) can be time intensive.  The IDropTarget
  6204. // may want to do this on another thread.
  6205. //
  6206. // Implimentation Check list:
  6207. // DoDragDrop Caller:
  6208. //    If this code can support asynch operations, then it needs to
  6209. //    QueryInterface() the IDataObject for IAsyncOperation.
  6210. //    IAsyncOperation::SetAsyncMode(VARIANT_TRUE).
  6211. //    After calling DoDragDrop(), call InOperation().  If any call fails
  6212. //    or InOperation() return FALSE, use the pdwEffect returned by DoDragDrop()
  6213. //    and the operation completed synchrously.
  6214. //
  6215. // OleSetClipboard Caller:
  6216. //    If this code can support asynch operations, then it needs to
  6217. //    QueryInterface() the IDataObject for IAsyncOperation.  Then call
  6218. //    IAsyncOperation::SetAsyncMode(VARIANT_TRUE).
  6219. //    If any of that fails, the final dwEffect should be passed to the IDataObject via
  6220. //    CFSTR_PERFORMEDDROPEFFECT.
  6221. //
  6222. // IDataObect Object:
  6223. //    IAsyncOperation::GetAsyncMode() should return whatever was last passed in
  6224. //          fDoOpAsync to ::SetAsyncMode() or VARIANT_FALSE if ::SetAsyncMode()
  6225. //          was never called.
  6226. //    IAsyncOperation::SetAsyncMode() should AddRef and store paocb.
  6227. //    IAsyncOperation::StartOperation() should store the fact that this was called and
  6228. //          cause InOperation() to return VARIANT_TRUE.  pbcReserved is not used and needs
  6229. //          to be NULL.
  6230. //    IAsyncOperation::InOperation() should return VARIANT_TRUE only if ::StartOperation()
  6231. //          was called.
  6232. //    IAsyncOperation::EndOperation() needs to call paocbpaocb->EndOperation() with the same
  6233. //          parameters.  Then release paocb.
  6234. //    IDataObject::SetData(CFSTR_PERFORMEDDROPEFFECT) When this happens, call
  6235. //          EndOperation(<into VAR>S_OK, NULL, <into VAR>dwEffect) and pass the dwEffect from the hglobal.
  6236. //
  6237. // IDropTarget Object:
  6238. //    IDropTarget::Drop() If asynch operations aren't supported, nothing is required.
  6239. //          The asynch operation can only happen if GetAsyncMode() returns VARIANT_TRUE.
  6240. //          Before starting the asynch operation, StartOperation(NULL) needs to be called before
  6241. //          returning from IDropTarget::Drop().
  6242.  
  6243.  
  6244.  
  6245. extern RPC_IF_HANDLE __MIDL_itf_shldisp_0263_v0_0_c_ifspec;
  6246. extern RPC_IF_HANDLE __MIDL_itf_shldisp_0263_v0_0_s_ifspec;
  6247.  
  6248. #ifndef __IAsyncOperation_INTERFACE_DEFINED__
  6249. #define __IAsyncOperation_INTERFACE_DEFINED__
  6250.  
  6251. /* interface IAsyncOperation */
  6252. /* [object][uuid][helpstring] */ 
  6253.  
  6254. typedef /* [unique] */ IAsyncOperation __RPC_FAR *LPASYNCOPERATION;
  6255.  
  6256.  
  6257. EXTERN_C const IID IID_IAsyncOperation;
  6258.  
  6259. #if defined(__cplusplus) && !defined(CINTERFACE)
  6260.     
  6261.     MIDL_INTERFACE("3D8B0590-F691-11d2-8EA9-006097DF5BD4")
  6262.     IAsyncOperation : public IUnknown
  6263.     {
  6264.     public:
  6265.         virtual HRESULT STDMETHODCALLTYPE SetAsyncMode( 
  6266.             /* [in] */ BOOL fDoOpAsync) = 0;
  6267.         
  6268.         virtual HRESULT STDMETHODCALLTYPE GetAsyncMode( 
  6269.             /* [out] */ BOOL __RPC_FAR *pfIsOpAsync) = 0;
  6270.         
  6271.         virtual HRESULT STDMETHODCALLTYPE StartOperation( 
  6272.             /* [optional][unique][in] */ IBindCtx __RPC_FAR *pbcReserved) = 0;
  6273.         
  6274.         virtual HRESULT STDMETHODCALLTYPE InOperation( 
  6275.             /* [out] */ BOOL __RPC_FAR *pfInAsyncOp) = 0;
  6276.         
  6277.         virtual HRESULT STDMETHODCALLTYPE EndOperation( 
  6278.             /* [in] */ HRESULT hResult,
  6279.             /* [unique][in] */ IBindCtx __RPC_FAR *pbcReserved,
  6280.             /* [in] */ DWORD dwEffects) = 0;
  6281.         
  6282.     };
  6283.     
  6284. #else     /* C style interface */
  6285.  
  6286.     typedef struct IAsyncOperationVtbl
  6287.     {
  6288.         BEGIN_INTERFACE
  6289.         
  6290.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6291.             IAsyncOperation __RPC_FAR * This,
  6292.             /* [in] */ REFIID riid,
  6293.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6294.         
  6295.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6296.             IAsyncOperation __RPC_FAR * This);
  6297.         
  6298.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6299.             IAsyncOperation __RPC_FAR * This);
  6300.         
  6301.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAsyncMode )( 
  6302.             IAsyncOperation __RPC_FAR * This,
  6303.             /* [in] */ BOOL fDoOpAsync);
  6304.         
  6305.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAsyncMode )( 
  6306.             IAsyncOperation __RPC_FAR * This,
  6307.             /* [out] */ BOOL __RPC_FAR *pfIsOpAsync);
  6308.         
  6309.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StartOperation )( 
  6310.             IAsyncOperation __RPC_FAR * This,
  6311.             /* [optional][unique][in] */ IBindCtx __RPC_FAR *pbcReserved);
  6312.         
  6313.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InOperation )( 
  6314.             IAsyncOperation __RPC_FAR * This,
  6315.             /* [out] */ BOOL __RPC_FAR *pfInAsyncOp);
  6316.         
  6317.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EndOperation )( 
  6318.             IAsyncOperation __RPC_FAR * This,
  6319.             /* [in] */ HRESULT hResult,
  6320.             /* [unique][in] */ IBindCtx __RPC_FAR *pbcReserved,
  6321.             /* [in] */ DWORD dwEffects);
  6322.         
  6323.         END_INTERFACE
  6324.     } IAsyncOperationVtbl;
  6325.  
  6326.     interface IAsyncOperation
  6327.     {
  6328.         CONST_VTBL struct IAsyncOperationVtbl __RPC_FAR *lpVtbl;
  6329.     };
  6330.  
  6331.     
  6332.  
  6333. #ifdef COBJMACROS
  6334.  
  6335.  
  6336. #define IAsyncOperation_QueryInterface(This,riid,ppvObject)    \
  6337.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6338.  
  6339. #define IAsyncOperation_AddRef(This)    \
  6340.     (This)->lpVtbl -> AddRef(This)
  6341.  
  6342. #define IAsyncOperation_Release(This)    \
  6343.     (This)->lpVtbl -> Release(This)
  6344.  
  6345.  
  6346. #define IAsyncOperation_SetAsyncMode(This,fDoOpAsync)    \
  6347.     (This)->lpVtbl -> SetAsyncMode(This,fDoOpAsync)
  6348.  
  6349. #define IAsyncOperation_GetAsyncMode(This,pfIsOpAsync)    \
  6350.     (This)->lpVtbl -> GetAsyncMode(This,pfIsOpAsync)
  6351.  
  6352. #define IAsyncOperation_StartOperation(This,pbcReserved)    \
  6353.     (This)->lpVtbl -> StartOperation(This,pbcReserved)
  6354.  
  6355. #define IAsyncOperation_InOperation(This,pfInAsyncOp)    \
  6356.     (This)->lpVtbl -> InOperation(This,pfInAsyncOp)
  6357.  
  6358. #define IAsyncOperation_EndOperation(This,hResult,pbcReserved,dwEffects)    \
  6359.     (This)->lpVtbl -> EndOperation(This,hResult,pbcReserved,dwEffects)
  6360.  
  6361. #endif /* COBJMACROS */
  6362.  
  6363.  
  6364. #endif     /* C style interface */
  6365.  
  6366.  
  6367.  
  6368. HRESULT STDMETHODCALLTYPE IAsyncOperation_SetAsyncMode_Proxy( 
  6369.     IAsyncOperation __RPC_FAR * This,
  6370.     /* [in] */ BOOL fDoOpAsync);
  6371.  
  6372.  
  6373. void __RPC_STUB IAsyncOperation_SetAsyncMode_Stub(
  6374.     IRpcStubBuffer *This,
  6375.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6376.     PRPC_MESSAGE _pRpcMessage,
  6377.     DWORD *_pdwStubPhase);
  6378.  
  6379.  
  6380. HRESULT STDMETHODCALLTYPE IAsyncOperation_GetAsyncMode_Proxy( 
  6381.     IAsyncOperation __RPC_FAR * This,
  6382.     /* [out] */ BOOL __RPC_FAR *pfIsOpAsync);
  6383.  
  6384.  
  6385. void __RPC_STUB IAsyncOperation_GetAsyncMode_Stub(
  6386.     IRpcStubBuffer *This,
  6387.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6388.     PRPC_MESSAGE _pRpcMessage,
  6389.     DWORD *_pdwStubPhase);
  6390.  
  6391.  
  6392. HRESULT STDMETHODCALLTYPE IAsyncOperation_StartOperation_Proxy( 
  6393.     IAsyncOperation __RPC_FAR * This,
  6394.     /* [optional][unique][in] */ IBindCtx __RPC_FAR *pbcReserved);
  6395.  
  6396.  
  6397. void __RPC_STUB IAsyncOperation_StartOperation_Stub(
  6398.     IRpcStubBuffer *This,
  6399.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6400.     PRPC_MESSAGE _pRpcMessage,
  6401.     DWORD *_pdwStubPhase);
  6402.  
  6403.  
  6404. HRESULT STDMETHODCALLTYPE IAsyncOperation_InOperation_Proxy( 
  6405.     IAsyncOperation __RPC_FAR * This,
  6406.     /* [out] */ BOOL __RPC_FAR *pfInAsyncOp);
  6407.  
  6408.  
  6409. void __RPC_STUB IAsyncOperation_InOperation_Stub(
  6410.     IRpcStubBuffer *This,
  6411.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6412.     PRPC_MESSAGE _pRpcMessage,
  6413.     DWORD *_pdwStubPhase);
  6414.  
  6415.  
  6416. HRESULT STDMETHODCALLTYPE IAsyncOperation_EndOperation_Proxy( 
  6417.     IAsyncOperation __RPC_FAR * This,
  6418.     /* [in] */ HRESULT hResult,
  6419.     /* [unique][in] */ IBindCtx __RPC_FAR *pbcReserved,
  6420.     /* [in] */ DWORD dwEffects);
  6421.  
  6422.  
  6423. void __RPC_STUB IAsyncOperation_EndOperation_Stub(
  6424.     IRpcStubBuffer *This,
  6425.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6426.     PRPC_MESSAGE _pRpcMessage,
  6427.     DWORD *_pdwStubPhase);
  6428.  
  6429.  
  6430.  
  6431. #endif     /* __IAsyncOperation_INTERFACE_DEFINED__ */
  6432.  
  6433.  
  6434. /* interface __MIDL_itf_shldisp_0264 */
  6435. /* [local] */ 
  6436.  
  6437. #endif // _SHLDISP_PUB_H_
  6438.  
  6439.  
  6440. extern RPC_IF_HANDLE __MIDL_itf_shldisp_0264_v0_0_c_ifspec;
  6441. extern RPC_IF_HANDLE __MIDL_itf_shldisp_0264_v0_0_s_ifspec;
  6442.  
  6443. /* Additional Prototypes for ALL interfaces */
  6444.  
  6445. /* end of Additional Prototypes */
  6446.  
  6447. #ifdef __cplusplus
  6448. }
  6449. #endif
  6450.  
  6451. #endif
  6452.  
  6453.  
  6454. #pragma option pop /*P_O_Pop*/
  6455.