home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 June / PCFJune.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / objidl.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  432.8 KB  |  14,434 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 Mon Aug 23 16:05:45 1999
  10.  */
  11. /* Compiler settings for objidl.idl:
  12.     Oicf (OptLev=i2), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext, robust
  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__ 475
  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 __objidl_h__
  39. #define __objidl_h__
  40.  
  41. /* Forward Declarations */ 
  42.  
  43. #ifndef __IMarshal_FWD_DEFINED__
  44. #define __IMarshal_FWD_DEFINED__
  45. typedef interface IMarshal IMarshal;
  46. #endif     /* __IMarshal_FWD_DEFINED__ */
  47.  
  48.  
  49. #ifndef __IMarshal2_FWD_DEFINED__
  50. #define __IMarshal2_FWD_DEFINED__
  51. typedef interface IMarshal2 IMarshal2;
  52. #endif     /* __IMarshal2_FWD_DEFINED__ */
  53.  
  54.  
  55. #ifndef __IMalloc_FWD_DEFINED__
  56. #define __IMalloc_FWD_DEFINED__
  57. typedef interface IMalloc IMalloc;
  58. #endif     /* __IMalloc_FWD_DEFINED__ */
  59.  
  60.  
  61. #ifndef __IMallocSpy_FWD_DEFINED__
  62. #define __IMallocSpy_FWD_DEFINED__
  63. typedef interface IMallocSpy IMallocSpy;
  64. #endif     /* __IMallocSpy_FWD_DEFINED__ */
  65.  
  66.  
  67. #ifndef __IStdMarshalInfo_FWD_DEFINED__
  68. #define __IStdMarshalInfo_FWD_DEFINED__
  69. typedef interface IStdMarshalInfo IStdMarshalInfo;
  70. #endif     /* __IStdMarshalInfo_FWD_DEFINED__ */
  71.  
  72.  
  73. #ifndef __IExternalConnection_FWD_DEFINED__
  74. #define __IExternalConnection_FWD_DEFINED__
  75. typedef interface IExternalConnection IExternalConnection;
  76. #endif     /* __IExternalConnection_FWD_DEFINED__ */
  77.  
  78.  
  79. #ifndef __IMultiQI_FWD_DEFINED__
  80. #define __IMultiQI_FWD_DEFINED__
  81. typedef interface IMultiQI IMultiQI;
  82. #endif     /* __IMultiQI_FWD_DEFINED__ */
  83.  
  84.  
  85. #ifndef __AsyncIMultiQI_FWD_DEFINED__
  86. #define __AsyncIMultiQI_FWD_DEFINED__
  87. typedef interface AsyncIMultiQI AsyncIMultiQI;
  88. #endif     /* __AsyncIMultiQI_FWD_DEFINED__ */
  89.  
  90.  
  91. #ifndef __IInternalUnknown_FWD_DEFINED__
  92. #define __IInternalUnknown_FWD_DEFINED__
  93. typedef interface IInternalUnknown IInternalUnknown;
  94. #endif     /* __IInternalUnknown_FWD_DEFINED__ */
  95.  
  96.  
  97. #ifndef __IEnumUnknown_FWD_DEFINED__
  98. #define __IEnumUnknown_FWD_DEFINED__
  99. typedef interface IEnumUnknown IEnumUnknown;
  100. #endif     /* __IEnumUnknown_FWD_DEFINED__ */
  101.  
  102.  
  103. #ifndef __IBindCtx_FWD_DEFINED__
  104. #define __IBindCtx_FWD_DEFINED__
  105. typedef interface IBindCtx IBindCtx;
  106. #endif     /* __IBindCtx_FWD_DEFINED__ */
  107.  
  108.  
  109. #ifndef __IEnumMoniker_FWD_DEFINED__
  110. #define __IEnumMoniker_FWD_DEFINED__
  111. typedef interface IEnumMoniker IEnumMoniker;
  112. #endif     /* __IEnumMoniker_FWD_DEFINED__ */
  113.  
  114.  
  115. #ifndef __IRunnableObject_FWD_DEFINED__
  116. #define __IRunnableObject_FWD_DEFINED__
  117. typedef interface IRunnableObject IRunnableObject;
  118. #endif     /* __IRunnableObject_FWD_DEFINED__ */
  119.  
  120.  
  121. #ifndef __IRunningObjectTable_FWD_DEFINED__
  122. #define __IRunningObjectTable_FWD_DEFINED__
  123. typedef interface IRunningObjectTable IRunningObjectTable;
  124. #endif     /* __IRunningObjectTable_FWD_DEFINED__ */
  125.  
  126.  
  127. #ifndef __IPersist_FWD_DEFINED__
  128. #define __IPersist_FWD_DEFINED__
  129. typedef interface IPersist IPersist;
  130. #endif     /* __IPersist_FWD_DEFINED__ */
  131.  
  132.  
  133. #ifndef __IPersistStream_FWD_DEFINED__
  134. #define __IPersistStream_FWD_DEFINED__
  135. typedef interface IPersistStream IPersistStream;
  136. #endif     /* __IPersistStream_FWD_DEFINED__ */
  137.  
  138.  
  139. #ifndef __IMoniker_FWD_DEFINED__
  140. #define __IMoniker_FWD_DEFINED__
  141. typedef interface IMoniker IMoniker;
  142. #endif     /* __IMoniker_FWD_DEFINED__ */
  143.  
  144.  
  145. #ifndef __IROTData_FWD_DEFINED__
  146. #define __IROTData_FWD_DEFINED__
  147. typedef interface IROTData IROTData;
  148. #endif     /* __IROTData_FWD_DEFINED__ */
  149.  
  150.  
  151. #ifndef __IEnumString_FWD_DEFINED__
  152. #define __IEnumString_FWD_DEFINED__
  153. typedef interface IEnumString IEnumString;
  154. #endif     /* __IEnumString_FWD_DEFINED__ */
  155.  
  156.  
  157. #ifndef __ISequentialStream_FWD_DEFINED__
  158. #define __ISequentialStream_FWD_DEFINED__
  159. typedef interface ISequentialStream ISequentialStream;
  160. #endif     /* __ISequentialStream_FWD_DEFINED__ */
  161.  
  162.  
  163. #ifndef __IStream_FWD_DEFINED__
  164. #define __IStream_FWD_DEFINED__
  165. typedef interface IStream IStream;
  166. #endif     /* __IStream_FWD_DEFINED__ */
  167.  
  168.  
  169. #ifndef __IEnumSTATSTG_FWD_DEFINED__
  170. #define __IEnumSTATSTG_FWD_DEFINED__
  171. typedef interface IEnumSTATSTG IEnumSTATSTG;
  172. #endif     /* __IEnumSTATSTG_FWD_DEFINED__ */
  173.  
  174.  
  175. #ifndef __IStorage_FWD_DEFINED__
  176. #define __IStorage_FWD_DEFINED__
  177. typedef interface IStorage IStorage;
  178. #endif     /* __IStorage_FWD_DEFINED__ */
  179.  
  180.  
  181. #ifndef __IPersistFile_FWD_DEFINED__
  182. #define __IPersistFile_FWD_DEFINED__
  183. typedef interface IPersistFile IPersistFile;
  184. #endif     /* __IPersistFile_FWD_DEFINED__ */
  185.  
  186.  
  187. #ifndef __IPersistStorage_FWD_DEFINED__
  188. #define __IPersistStorage_FWD_DEFINED__
  189. typedef interface IPersistStorage IPersistStorage;
  190. #endif     /* __IPersistStorage_FWD_DEFINED__ */
  191.  
  192.  
  193. #ifndef __ILockBytes_FWD_DEFINED__
  194. #define __ILockBytes_FWD_DEFINED__
  195. typedef interface ILockBytes ILockBytes;
  196. #endif     /* __ILockBytes_FWD_DEFINED__ */
  197.  
  198.  
  199. #ifndef __IEnumFORMATETC_FWD_DEFINED__
  200. #define __IEnumFORMATETC_FWD_DEFINED__
  201. typedef interface IEnumFORMATETC IEnumFORMATETC;
  202. #endif     /* __IEnumFORMATETC_FWD_DEFINED__ */
  203.  
  204.  
  205. #ifndef __IEnumSTATDATA_FWD_DEFINED__
  206. #define __IEnumSTATDATA_FWD_DEFINED__
  207. typedef interface IEnumSTATDATA IEnumSTATDATA;
  208. #endif     /* __IEnumSTATDATA_FWD_DEFINED__ */
  209.  
  210.  
  211. #ifndef __IRootStorage_FWD_DEFINED__
  212. #define __IRootStorage_FWD_DEFINED__
  213. typedef interface IRootStorage IRootStorage;
  214. #endif     /* __IRootStorage_FWD_DEFINED__ */
  215.  
  216.  
  217. #ifndef __IAdviseSink_FWD_DEFINED__
  218. #define __IAdviseSink_FWD_DEFINED__
  219. typedef interface IAdviseSink IAdviseSink;
  220. #endif     /* __IAdviseSink_FWD_DEFINED__ */
  221.  
  222.  
  223. #ifndef __AsyncIAdviseSink_FWD_DEFINED__
  224. #define __AsyncIAdviseSink_FWD_DEFINED__
  225. typedef interface AsyncIAdviseSink AsyncIAdviseSink;
  226. #endif     /* __AsyncIAdviseSink_FWD_DEFINED__ */
  227.  
  228.  
  229. #ifndef __IAdviseSink2_FWD_DEFINED__
  230. #define __IAdviseSink2_FWD_DEFINED__
  231. typedef interface IAdviseSink2 IAdviseSink2;
  232. #endif     /* __IAdviseSink2_FWD_DEFINED__ */
  233.  
  234.  
  235. #ifndef __AsyncIAdviseSink2_FWD_DEFINED__
  236. #define __AsyncIAdviseSink2_FWD_DEFINED__
  237. typedef interface AsyncIAdviseSink2 AsyncIAdviseSink2;
  238. #endif     /* __AsyncIAdviseSink2_FWD_DEFINED__ */
  239.  
  240.  
  241. #ifndef __IDataObject_FWD_DEFINED__
  242. #define __IDataObject_FWD_DEFINED__
  243. typedef interface IDataObject IDataObject;
  244. #endif     /* __IDataObject_FWD_DEFINED__ */
  245.  
  246.  
  247. #ifndef __IDataAdviseHolder_FWD_DEFINED__
  248. #define __IDataAdviseHolder_FWD_DEFINED__
  249. typedef interface IDataAdviseHolder IDataAdviseHolder;
  250. #endif     /* __IDataAdviseHolder_FWD_DEFINED__ */
  251.  
  252.  
  253. #ifndef __IMessageFilter_FWD_DEFINED__
  254. #define __IMessageFilter_FWD_DEFINED__
  255. typedef interface IMessageFilter IMessageFilter;
  256. #endif     /* __IMessageFilter_FWD_DEFINED__ */
  257.  
  258.  
  259. #ifndef __IRpcChannelBuffer_FWD_DEFINED__
  260. #define __IRpcChannelBuffer_FWD_DEFINED__
  261. typedef interface IRpcChannelBuffer IRpcChannelBuffer;
  262. #endif     /* __IRpcChannelBuffer_FWD_DEFINED__ */
  263.  
  264.  
  265. #ifndef __IRpcChannelBuffer2_FWD_DEFINED__
  266. #define __IRpcChannelBuffer2_FWD_DEFINED__
  267. typedef interface IRpcChannelBuffer2 IRpcChannelBuffer2;
  268. #endif     /* __IRpcChannelBuffer2_FWD_DEFINED__ */
  269.  
  270.  
  271. #ifndef __IAsyncRpcChannelBuffer_FWD_DEFINED__
  272. #define __IAsyncRpcChannelBuffer_FWD_DEFINED__
  273. typedef interface IAsyncRpcChannelBuffer IAsyncRpcChannelBuffer;
  274. #endif     /* __IAsyncRpcChannelBuffer_FWD_DEFINED__ */
  275.  
  276.  
  277. #ifndef __IRpcChannelBuffer3_FWD_DEFINED__
  278. #define __IRpcChannelBuffer3_FWD_DEFINED__
  279. typedef interface IRpcChannelBuffer3 IRpcChannelBuffer3;
  280. #endif     /* __IRpcChannelBuffer3_FWD_DEFINED__ */
  281.  
  282.  
  283. #ifndef __IRpcProxyBuffer_FWD_DEFINED__
  284. #define __IRpcProxyBuffer_FWD_DEFINED__
  285. typedef interface IRpcProxyBuffer IRpcProxyBuffer;
  286. #endif     /* __IRpcProxyBuffer_FWD_DEFINED__ */
  287.  
  288.  
  289. #ifndef __IRpcStubBuffer_FWD_DEFINED__
  290. #define __IRpcStubBuffer_FWD_DEFINED__
  291. typedef interface IRpcStubBuffer IRpcStubBuffer;
  292. #endif     /* __IRpcStubBuffer_FWD_DEFINED__ */
  293.  
  294.  
  295. #ifndef __IPSFactoryBuffer_FWD_DEFINED__
  296. #define __IPSFactoryBuffer_FWD_DEFINED__
  297. typedef interface IPSFactoryBuffer IPSFactoryBuffer;
  298. #endif     /* __IPSFactoryBuffer_FWD_DEFINED__ */
  299.  
  300.  
  301. #ifndef __IChannelHook_FWD_DEFINED__
  302. #define __IChannelHook_FWD_DEFINED__
  303. typedef interface IChannelHook IChannelHook;
  304. #endif     /* __IChannelHook_FWD_DEFINED__ */
  305.  
  306.  
  307. #ifndef __IClientSecurity_FWD_DEFINED__
  308. #define __IClientSecurity_FWD_DEFINED__
  309. typedef interface IClientSecurity IClientSecurity;
  310. #endif     /* __IClientSecurity_FWD_DEFINED__ */
  311.  
  312.  
  313. #ifndef __IServerSecurity_FWD_DEFINED__
  314. #define __IServerSecurity_FWD_DEFINED__
  315. typedef interface IServerSecurity IServerSecurity;
  316. #endif     /* __IServerSecurity_FWD_DEFINED__ */
  317.  
  318.  
  319. #ifndef __IClassActivator_FWD_DEFINED__
  320. #define __IClassActivator_FWD_DEFINED__
  321. typedef interface IClassActivator IClassActivator;
  322. #endif     /* __IClassActivator_FWD_DEFINED__ */
  323.  
  324.  
  325. #ifndef __IRpcOptions_FWD_DEFINED__
  326. #define __IRpcOptions_FWD_DEFINED__
  327. typedef interface IRpcOptions IRpcOptions;
  328. #endif     /* __IRpcOptions_FWD_DEFINED__ */
  329.  
  330.  
  331. #ifndef __IFillLockBytes_FWD_DEFINED__
  332. #define __IFillLockBytes_FWD_DEFINED__
  333. typedef interface IFillLockBytes IFillLockBytes;
  334. #endif     /* __IFillLockBytes_FWD_DEFINED__ */
  335.  
  336.  
  337. #ifndef __IProgressNotify_FWD_DEFINED__
  338. #define __IProgressNotify_FWD_DEFINED__
  339. typedef interface IProgressNotify IProgressNotify;
  340. #endif     /* __IProgressNotify_FWD_DEFINED__ */
  341.  
  342.  
  343. #ifndef __ILayoutStorage_FWD_DEFINED__
  344. #define __ILayoutStorage_FWD_DEFINED__
  345. typedef interface ILayoutStorage ILayoutStorage;
  346. #endif     /* __ILayoutStorage_FWD_DEFINED__ */
  347.  
  348.  
  349. #ifndef __IBlockingLock_FWD_DEFINED__
  350. #define __IBlockingLock_FWD_DEFINED__
  351. typedef interface IBlockingLock IBlockingLock;
  352. #endif     /* __IBlockingLock_FWD_DEFINED__ */
  353.  
  354.  
  355. #ifndef __ITimeAndNoticeControl_FWD_DEFINED__
  356. #define __ITimeAndNoticeControl_FWD_DEFINED__
  357. typedef interface ITimeAndNoticeControl ITimeAndNoticeControl;
  358. #endif     /* __ITimeAndNoticeControl_FWD_DEFINED__ */
  359.  
  360.  
  361. #ifndef __IOplockStorage_FWD_DEFINED__
  362. #define __IOplockStorage_FWD_DEFINED__
  363. typedef interface IOplockStorage IOplockStorage;
  364. #endif     /* __IOplockStorage_FWD_DEFINED__ */
  365.  
  366.  
  367. #ifndef __ISurrogate_FWD_DEFINED__
  368. #define __ISurrogate_FWD_DEFINED__
  369. typedef interface ISurrogate ISurrogate;
  370. #endif     /* __ISurrogate_FWD_DEFINED__ */
  371.  
  372.  
  373. #ifndef __IGlobalInterfaceTable_FWD_DEFINED__
  374. #define __IGlobalInterfaceTable_FWD_DEFINED__
  375. typedef interface IGlobalInterfaceTable IGlobalInterfaceTable;
  376. #endif     /* __IGlobalInterfaceTable_FWD_DEFINED__ */
  377.  
  378.  
  379. #ifndef __IDirectWriterLock_FWD_DEFINED__
  380. #define __IDirectWriterLock_FWD_DEFINED__
  381. typedef interface IDirectWriterLock IDirectWriterLock;
  382. #endif     /* __IDirectWriterLock_FWD_DEFINED__ */
  383.  
  384.  
  385. #ifndef __ISynchronize_FWD_DEFINED__
  386. #define __ISynchronize_FWD_DEFINED__
  387. typedef interface ISynchronize ISynchronize;
  388. #endif     /* __ISynchronize_FWD_DEFINED__ */
  389.  
  390.  
  391. #ifndef __ISynchronizeHandle_FWD_DEFINED__
  392. #define __ISynchronizeHandle_FWD_DEFINED__
  393. typedef interface ISynchronizeHandle ISynchronizeHandle;
  394. #endif     /* __ISynchronizeHandle_FWD_DEFINED__ */
  395.  
  396.  
  397. #ifndef __ISynchronizeEvent_FWD_DEFINED__
  398. #define __ISynchronizeEvent_FWD_DEFINED__
  399. typedef interface ISynchronizeEvent ISynchronizeEvent;
  400. #endif     /* __ISynchronizeEvent_FWD_DEFINED__ */
  401.  
  402.  
  403. #ifndef __ISynchronizeContainer_FWD_DEFINED__
  404. #define __ISynchronizeContainer_FWD_DEFINED__
  405. typedef interface ISynchronizeContainer ISynchronizeContainer;
  406. #endif     /* __ISynchronizeContainer_FWD_DEFINED__ */
  407.  
  408.  
  409. #ifndef __ISynchronizeMutex_FWD_DEFINED__
  410. #define __ISynchronizeMutex_FWD_DEFINED__
  411. typedef interface ISynchronizeMutex ISynchronizeMutex;
  412. #endif     /* __ISynchronizeMutex_FWD_DEFINED__ */
  413.  
  414.  
  415. #ifndef __ICancelMethodCalls_FWD_DEFINED__
  416. #define __ICancelMethodCalls_FWD_DEFINED__
  417. typedef interface ICancelMethodCalls ICancelMethodCalls;
  418. #endif     /* __ICancelMethodCalls_FWD_DEFINED__ */
  419.  
  420.  
  421. #ifndef __IAsyncManager_FWD_DEFINED__
  422. #define __IAsyncManager_FWD_DEFINED__
  423. typedef interface IAsyncManager IAsyncManager;
  424. #endif     /* __IAsyncManager_FWD_DEFINED__ */
  425.  
  426.  
  427. #ifndef __ICallFactory_FWD_DEFINED__
  428. #define __ICallFactory_FWD_DEFINED__
  429. typedef interface ICallFactory ICallFactory;
  430. #endif     /* __ICallFactory_FWD_DEFINED__ */
  431.  
  432.  
  433. #ifndef __IRpcHelper_FWD_DEFINED__
  434. #define __IRpcHelper_FWD_DEFINED__
  435. typedef interface IRpcHelper IRpcHelper;
  436. #endif     /* __IRpcHelper_FWD_DEFINED__ */
  437.  
  438.  
  439. #ifndef __IReleaseMarshalBuffers_FWD_DEFINED__
  440. #define __IReleaseMarshalBuffers_FWD_DEFINED__
  441. typedef interface IReleaseMarshalBuffers IReleaseMarshalBuffers;
  442. #endif     /* __IReleaseMarshalBuffers_FWD_DEFINED__ */
  443.  
  444.  
  445. #ifndef __IWaitMultiple_FWD_DEFINED__
  446. #define __IWaitMultiple_FWD_DEFINED__
  447. typedef interface IWaitMultiple IWaitMultiple;
  448. #endif     /* __IWaitMultiple_FWD_DEFINED__ */
  449.  
  450.  
  451. #ifndef __IUrlMon_FWD_DEFINED__
  452. #define __IUrlMon_FWD_DEFINED__
  453. typedef interface IUrlMon IUrlMon;
  454. #endif     /* __IUrlMon_FWD_DEFINED__ */
  455.  
  456.  
  457. #ifndef __IForegroundTransfer_FWD_DEFINED__
  458. #define __IForegroundTransfer_FWD_DEFINED__
  459. typedef interface IForegroundTransfer IForegroundTransfer;
  460. #endif     /* __IForegroundTransfer_FWD_DEFINED__ */
  461.  
  462.  
  463. #ifndef __IPipeByte_FWD_DEFINED__
  464. #define __IPipeByte_FWD_DEFINED__
  465. typedef interface IPipeByte IPipeByte;
  466. #endif     /* __IPipeByte_FWD_DEFINED__ */
  467.  
  468.  
  469. #ifndef __AsyncIPipeByte_FWD_DEFINED__
  470. #define __AsyncIPipeByte_FWD_DEFINED__
  471. typedef interface AsyncIPipeByte AsyncIPipeByte;
  472. #endif     /* __AsyncIPipeByte_FWD_DEFINED__ */
  473.  
  474.  
  475. #ifndef __IPipeLong_FWD_DEFINED__
  476. #define __IPipeLong_FWD_DEFINED__
  477. typedef interface IPipeLong IPipeLong;
  478. #endif     /* __IPipeLong_FWD_DEFINED__ */
  479.  
  480.  
  481. #ifndef __AsyncIPipeLong_FWD_DEFINED__
  482. #define __AsyncIPipeLong_FWD_DEFINED__
  483. typedef interface AsyncIPipeLong AsyncIPipeLong;
  484. #endif     /* __AsyncIPipeLong_FWD_DEFINED__ */
  485.  
  486.  
  487. #ifndef __IPipeDouble_FWD_DEFINED__
  488. #define __IPipeDouble_FWD_DEFINED__
  489. typedef interface IPipeDouble IPipeDouble;
  490. #endif     /* __IPipeDouble_FWD_DEFINED__ */
  491.  
  492.  
  493. #ifndef __AsyncIPipeDouble_FWD_DEFINED__
  494. #define __AsyncIPipeDouble_FWD_DEFINED__
  495. typedef interface AsyncIPipeDouble AsyncIPipeDouble;
  496. #endif     /* __AsyncIPipeDouble_FWD_DEFINED__ */
  497.  
  498.  
  499. #ifndef __IThumbnailExtractor_FWD_DEFINED__
  500. #define __IThumbnailExtractor_FWD_DEFINED__
  501. typedef interface IThumbnailExtractor IThumbnailExtractor;
  502. #endif     /* __IThumbnailExtractor_FWD_DEFINED__ */
  503.  
  504.  
  505. #ifndef __IDummyHICONIncluder_FWD_DEFINED__
  506. #define __IDummyHICONIncluder_FWD_DEFINED__
  507. typedef interface IDummyHICONIncluder IDummyHICONIncluder;
  508. #endif     /* __IDummyHICONIncluder_FWD_DEFINED__ */
  509.  
  510.  
  511. /* header files for imported files */
  512. #include "unknwn.h"
  513.  
  514. #ifdef __cplusplus
  515. extern "C"{
  516. #endif 
  517.  
  518. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  519. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  520.  
  521. /* interface __MIDL_itf_objidl_0000 */
  522. /* [local] */ 
  523.  
  524. //+-------------------------------------------------------------------------
  525. //+-------------------------------------------------------------------------
  526. //
  527. //  Microsoft Windows
  528. //  Copyright (C) Microsoft Corporation, 1992-1999.
  529. //
  530. //--------------------------------------------------------------------------
  531.  
  532.  
  533.  
  534. #if ( _MSC_VER >= 800 )
  535. #if _MSC_VER >= 1200
  536. #pragma warning(push)
  537. #endif
  538. #pragma warning(disable:4201)
  539. #endif
  540. #if ( _MSC_VER >= 1020 )
  541. #pragma once
  542. #endif
  543.  
  544.  
  545.  
  546.  
  547.  
  548.  
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556. typedef struct _COSERVERINFO
  557.     {
  558.     DWORD dwReserved1;
  559.     LPWSTR pwszName;
  560.     COAUTHINFO __RPC_FAR *pAuthInfo;
  561.     DWORD dwReserved2;
  562.     }    COSERVERINFO;
  563.  
  564.  
  565.  
  566. extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_v0_0_c_ifspec;
  567. extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_v0_0_s_ifspec;
  568.  
  569. #ifndef __IMarshal_INTERFACE_DEFINED__
  570. #define __IMarshal_INTERFACE_DEFINED__
  571.  
  572. /* interface IMarshal */
  573. /* [uuid][object][local] */ 
  574.  
  575. typedef /* [unique] */ IMarshal __RPC_FAR *LPMARSHAL;
  576.  
  577.  
  578. EXTERN_C const IID IID_IMarshal;
  579.  
  580. #if defined(__cplusplus) && !defined(CINTERFACE)
  581.     
  582.     MIDL_INTERFACE("00000003-0000-0000-C000-000000000046")
  583.     IMarshal : public IUnknown
  584.     {
  585.     public:
  586.         virtual HRESULT STDMETHODCALLTYPE GetUnmarshalClass( 
  587.             /* [in] */ REFIID riid,
  588.             /* [unique][in] */ void __RPC_FAR *pv,
  589.             /* [in] */ DWORD dwDestContext,
  590.             /* [unique][in] */ void __RPC_FAR *pvDestContext,
  591.             /* [in] */ DWORD mshlflags,
  592.             /* [out] */ CLSID __RPC_FAR *pCid) = 0;
  593.         
  594.         virtual HRESULT STDMETHODCALLTYPE GetMarshalSizeMax( 
  595.             /* [in] */ REFIID riid,
  596.             /* [unique][in] */ void __RPC_FAR *pv,
  597.             /* [in] */ DWORD dwDestContext,
  598.             /* [unique][in] */ void __RPC_FAR *pvDestContext,
  599.             /* [in] */ DWORD mshlflags,
  600.             /* [out] */ DWORD __RPC_FAR *pSize) = 0;
  601.         
  602.         virtual HRESULT STDMETHODCALLTYPE MarshalInterface( 
  603.             /* [unique][in] */ IStream __RPC_FAR *pStm,
  604.             /* [in] */ REFIID riid,
  605.             /* [unique][in] */ void __RPC_FAR *pv,
  606.             /* [in] */ DWORD dwDestContext,
  607.             /* [unique][in] */ void __RPC_FAR *pvDestContext,
  608.             /* [in] */ DWORD mshlflags) = 0;
  609.         
  610.         virtual HRESULT STDMETHODCALLTYPE UnmarshalInterface( 
  611.             /* [unique][in] */ IStream __RPC_FAR *pStm,
  612.             /* [in] */ REFIID riid,
  613.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppv) = 0;
  614.         
  615.         virtual HRESULT STDMETHODCALLTYPE ReleaseMarshalData( 
  616.             /* [unique][in] */ IStream __RPC_FAR *pStm) = 0;
  617.         
  618.         virtual HRESULT STDMETHODCALLTYPE DisconnectObject( 
  619.             /* [in] */ DWORD dwReserved) = 0;
  620.         
  621.     };
  622.     
  623. #else     /* C style interface */
  624.  
  625.     typedef struct IMarshalVtbl
  626.     {
  627.         BEGIN_INTERFACE
  628.         
  629.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  630.             IMarshal __RPC_FAR * This,
  631.             /* [in] */ REFIID riid,
  632.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  633.         
  634.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  635.             IMarshal __RPC_FAR * This);
  636.         
  637.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  638.             IMarshal __RPC_FAR * This);
  639.         
  640.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUnmarshalClass )( 
  641.             IMarshal __RPC_FAR * This,
  642.             /* [in] */ REFIID riid,
  643.             /* [unique][in] */ void __RPC_FAR *pv,
  644.             /* [in] */ DWORD dwDestContext,
  645.             /* [unique][in] */ void __RPC_FAR *pvDestContext,
  646.             /* [in] */ DWORD mshlflags,
  647.             /* [out] */ CLSID __RPC_FAR *pCid);
  648.         
  649.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMarshalSizeMax )( 
  650.             IMarshal __RPC_FAR * This,
  651.             /* [in] */ REFIID riid,
  652.             /* [unique][in] */ void __RPC_FAR *pv,
  653.             /* [in] */ DWORD dwDestContext,
  654.             /* [unique][in] */ void __RPC_FAR *pvDestContext,
  655.             /* [in] */ DWORD mshlflags,
  656.             /* [out] */ DWORD __RPC_FAR *pSize);
  657.         
  658.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MarshalInterface )( 
  659.             IMarshal __RPC_FAR * This,
  660.             /* [unique][in] */ IStream __RPC_FAR *pStm,
  661.             /* [in] */ REFIID riid,
  662.             /* [unique][in] */ void __RPC_FAR *pv,
  663.             /* [in] */ DWORD dwDestContext,
  664.             /* [unique][in] */ void __RPC_FAR *pvDestContext,
  665.             /* [in] */ DWORD mshlflags);
  666.         
  667.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnmarshalInterface )( 
  668.             IMarshal __RPC_FAR * This,
  669.             /* [unique][in] */ IStream __RPC_FAR *pStm,
  670.             /* [in] */ REFIID riid,
  671.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppv);
  672.         
  673.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseMarshalData )( 
  674.             IMarshal __RPC_FAR * This,
  675.             /* [unique][in] */ IStream __RPC_FAR *pStm);
  676.         
  677.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DisconnectObject )( 
  678.             IMarshal __RPC_FAR * This,
  679.             /* [in] */ DWORD dwReserved);
  680.         
  681.         END_INTERFACE
  682.     } IMarshalVtbl;
  683.  
  684.     interface IMarshal
  685.     {
  686.         CONST_VTBL struct IMarshalVtbl __RPC_FAR *lpVtbl;
  687.     };
  688.  
  689.     
  690.  
  691. #ifdef COBJMACROS
  692.  
  693.  
  694. #define IMarshal_QueryInterface(This,riid,ppvObject)    \
  695.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  696.  
  697. #define IMarshal_AddRef(This)    \
  698.     (This)->lpVtbl -> AddRef(This)
  699.  
  700. #define IMarshal_Release(This)    \
  701.     (This)->lpVtbl -> Release(This)
  702.  
  703.  
  704. #define IMarshal_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)    \
  705.     (This)->lpVtbl -> GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
  706.  
  707. #define IMarshal_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)    \
  708.     (This)->lpVtbl -> GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
  709.  
  710. #define IMarshal_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)    \
  711.     (This)->lpVtbl -> MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
  712.  
  713. #define IMarshal_UnmarshalInterface(This,pStm,riid,ppv)    \
  714.     (This)->lpVtbl -> UnmarshalInterface(This,pStm,riid,ppv)
  715.  
  716. #define IMarshal_ReleaseMarshalData(This,pStm)    \
  717.     (This)->lpVtbl -> ReleaseMarshalData(This,pStm)
  718.  
  719. #define IMarshal_DisconnectObject(This,dwReserved)    \
  720.     (This)->lpVtbl -> DisconnectObject(This,dwReserved)
  721.  
  722. #endif /* COBJMACROS */
  723.  
  724.  
  725. #endif     /* C style interface */
  726.  
  727.  
  728.  
  729. HRESULT STDMETHODCALLTYPE IMarshal_GetUnmarshalClass_Proxy( 
  730.     IMarshal __RPC_FAR * This,
  731.     /* [in] */ REFIID riid,
  732.     /* [unique][in] */ void __RPC_FAR *pv,
  733.     /* [in] */ DWORD dwDestContext,
  734.     /* [unique][in] */ void __RPC_FAR *pvDestContext,
  735.     /* [in] */ DWORD mshlflags,
  736.     /* [out] */ CLSID __RPC_FAR *pCid);
  737.  
  738.  
  739. void __RPC_STUB IMarshal_GetUnmarshalClass_Stub(
  740.     IRpcStubBuffer *This,
  741.     IRpcChannelBuffer *_pRpcChannelBuffer,
  742.     PRPC_MESSAGE _pRpcMessage,
  743.     DWORD *_pdwStubPhase);
  744.  
  745.  
  746. HRESULT STDMETHODCALLTYPE IMarshal_GetMarshalSizeMax_Proxy( 
  747.     IMarshal __RPC_FAR * This,
  748.     /* [in] */ REFIID riid,
  749.     /* [unique][in] */ void __RPC_FAR *pv,
  750.     /* [in] */ DWORD dwDestContext,
  751.     /* [unique][in] */ void __RPC_FAR *pvDestContext,
  752.     /* [in] */ DWORD mshlflags,
  753.     /* [out] */ DWORD __RPC_FAR *pSize);
  754.  
  755.  
  756. void __RPC_STUB IMarshal_GetMarshalSizeMax_Stub(
  757.     IRpcStubBuffer *This,
  758.     IRpcChannelBuffer *_pRpcChannelBuffer,
  759.     PRPC_MESSAGE _pRpcMessage,
  760.     DWORD *_pdwStubPhase);
  761.  
  762.  
  763. HRESULT STDMETHODCALLTYPE IMarshal_MarshalInterface_Proxy( 
  764.     IMarshal __RPC_FAR * This,
  765.     /* [unique][in] */ IStream __RPC_FAR *pStm,
  766.     /* [in] */ REFIID riid,
  767.     /* [unique][in] */ void __RPC_FAR *pv,
  768.     /* [in] */ DWORD dwDestContext,
  769.     /* [unique][in] */ void __RPC_FAR *pvDestContext,
  770.     /* [in] */ DWORD mshlflags);
  771.  
  772.  
  773. void __RPC_STUB IMarshal_MarshalInterface_Stub(
  774.     IRpcStubBuffer *This,
  775.     IRpcChannelBuffer *_pRpcChannelBuffer,
  776.     PRPC_MESSAGE _pRpcMessage,
  777.     DWORD *_pdwStubPhase);
  778.  
  779.  
  780. HRESULT STDMETHODCALLTYPE IMarshal_UnmarshalInterface_Proxy( 
  781.     IMarshal __RPC_FAR * This,
  782.     /* [unique][in] */ IStream __RPC_FAR *pStm,
  783.     /* [in] */ REFIID riid,
  784.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppv);
  785.  
  786.  
  787. void __RPC_STUB IMarshal_UnmarshalInterface_Stub(
  788.     IRpcStubBuffer *This,
  789.     IRpcChannelBuffer *_pRpcChannelBuffer,
  790.     PRPC_MESSAGE _pRpcMessage,
  791.     DWORD *_pdwStubPhase);
  792.  
  793.  
  794. HRESULT STDMETHODCALLTYPE IMarshal_ReleaseMarshalData_Proxy( 
  795.     IMarshal __RPC_FAR * This,
  796.     /* [unique][in] */ IStream __RPC_FAR *pStm);
  797.  
  798.  
  799. void __RPC_STUB IMarshal_ReleaseMarshalData_Stub(
  800.     IRpcStubBuffer *This,
  801.     IRpcChannelBuffer *_pRpcChannelBuffer,
  802.     PRPC_MESSAGE _pRpcMessage,
  803.     DWORD *_pdwStubPhase);
  804.  
  805.  
  806. HRESULT STDMETHODCALLTYPE IMarshal_DisconnectObject_Proxy( 
  807.     IMarshal __RPC_FAR * This,
  808.     /* [in] */ DWORD dwReserved);
  809.  
  810.  
  811. void __RPC_STUB IMarshal_DisconnectObject_Stub(
  812.     IRpcStubBuffer *This,
  813.     IRpcChannelBuffer *_pRpcChannelBuffer,
  814.     PRPC_MESSAGE _pRpcMessage,
  815.     DWORD *_pdwStubPhase);
  816.  
  817.  
  818.  
  819. #endif     /* __IMarshal_INTERFACE_DEFINED__ */
  820.  
  821.  
  822. #ifndef __IMarshal2_INTERFACE_DEFINED__
  823. #define __IMarshal2_INTERFACE_DEFINED__
  824.  
  825. /* interface IMarshal2 */
  826. /* [uuid][object][local] */ 
  827.  
  828. typedef /* [unique] */ IMarshal2 __RPC_FAR *LPMARSHAL2;
  829.  
  830.  
  831. EXTERN_C const IID IID_IMarshal2;
  832.  
  833. #if defined(__cplusplus) && !defined(CINTERFACE)
  834.     
  835.     MIDL_INTERFACE("000001cf-0000-0000-C000-000000000046")
  836.     IMarshal2 : public IMarshal
  837.     {
  838.     public:
  839.     };
  840.     
  841. #else     /* C style interface */
  842.  
  843.     typedef struct IMarshal2Vtbl
  844.     {
  845.         BEGIN_INTERFACE
  846.         
  847.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  848.             IMarshal2 __RPC_FAR * This,
  849.             /* [in] */ REFIID riid,
  850.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  851.         
  852.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  853.             IMarshal2 __RPC_FAR * This);
  854.         
  855.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  856.             IMarshal2 __RPC_FAR * This);
  857.         
  858.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetUnmarshalClass )( 
  859.             IMarshal2 __RPC_FAR * This,
  860.             /* [in] */ REFIID riid,
  861.             /* [unique][in] */ void __RPC_FAR *pv,
  862.             /* [in] */ DWORD dwDestContext,
  863.             /* [unique][in] */ void __RPC_FAR *pvDestContext,
  864.             /* [in] */ DWORD mshlflags,
  865.             /* [out] */ CLSID __RPC_FAR *pCid);
  866.         
  867.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetMarshalSizeMax )( 
  868.             IMarshal2 __RPC_FAR * This,
  869.             /* [in] */ REFIID riid,
  870.             /* [unique][in] */ void __RPC_FAR *pv,
  871.             /* [in] */ DWORD dwDestContext,
  872.             /* [unique][in] */ void __RPC_FAR *pvDestContext,
  873.             /* [in] */ DWORD mshlflags,
  874.             /* [out] */ DWORD __RPC_FAR *pSize);
  875.         
  876.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MarshalInterface )( 
  877.             IMarshal2 __RPC_FAR * This,
  878.             /* [unique][in] */ IStream __RPC_FAR *pStm,
  879.             /* [in] */ REFIID riid,
  880.             /* [unique][in] */ void __RPC_FAR *pv,
  881.             /* [in] */ DWORD dwDestContext,
  882.             /* [unique][in] */ void __RPC_FAR *pvDestContext,
  883.             /* [in] */ DWORD mshlflags);
  884.         
  885.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnmarshalInterface )( 
  886.             IMarshal2 __RPC_FAR * This,
  887.             /* [unique][in] */ IStream __RPC_FAR *pStm,
  888.             /* [in] */ REFIID riid,
  889.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppv);
  890.         
  891.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseMarshalData )( 
  892.             IMarshal2 __RPC_FAR * This,
  893.             /* [unique][in] */ IStream __RPC_FAR *pStm);
  894.         
  895.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DisconnectObject )( 
  896.             IMarshal2 __RPC_FAR * This,
  897.             /* [in] */ DWORD dwReserved);
  898.         
  899.         END_INTERFACE
  900.     } IMarshal2Vtbl;
  901.  
  902.     interface IMarshal2
  903.     {
  904.         CONST_VTBL struct IMarshal2Vtbl __RPC_FAR *lpVtbl;
  905.     };
  906.  
  907.     
  908.  
  909. #ifdef COBJMACROS
  910.  
  911.  
  912. #define IMarshal2_QueryInterface(This,riid,ppvObject)    \
  913.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  914.  
  915. #define IMarshal2_AddRef(This)    \
  916.     (This)->lpVtbl -> AddRef(This)
  917.  
  918. #define IMarshal2_Release(This)    \
  919.     (This)->lpVtbl -> Release(This)
  920.  
  921.  
  922. #define IMarshal2_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)    \
  923.     (This)->lpVtbl -> GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
  924.  
  925. #define IMarshal2_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)    \
  926.     (This)->lpVtbl -> GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
  927.  
  928. #define IMarshal2_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)    \
  929.     (This)->lpVtbl -> MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
  930.  
  931. #define IMarshal2_UnmarshalInterface(This,pStm,riid,ppv)    \
  932.     (This)->lpVtbl -> UnmarshalInterface(This,pStm,riid,ppv)
  933.  
  934. #define IMarshal2_ReleaseMarshalData(This,pStm)    \
  935.     (This)->lpVtbl -> ReleaseMarshalData(This,pStm)
  936.  
  937. #define IMarshal2_DisconnectObject(This,dwReserved)    \
  938.     (This)->lpVtbl -> DisconnectObject(This,dwReserved)
  939.  
  940.  
  941. #endif /* COBJMACROS */
  942.  
  943.  
  944. #endif     /* C style interface */
  945.  
  946.  
  947.  
  948.  
  949. #endif     /* __IMarshal2_INTERFACE_DEFINED__ */
  950.  
  951.  
  952. #ifndef __IMalloc_INTERFACE_DEFINED__
  953. #define __IMalloc_INTERFACE_DEFINED__
  954.  
  955. /* interface IMalloc */
  956. /* [uuid][object][local] */ 
  957.  
  958. typedef /* [unique] */ IMalloc __RPC_FAR *LPMALLOC;
  959.  
  960.  
  961. EXTERN_C const IID IID_IMalloc;
  962.  
  963. #if defined(__cplusplus) && !defined(CINTERFACE)
  964.     
  965.     MIDL_INTERFACE("00000002-0000-0000-C000-000000000046")
  966.     IMalloc : public IUnknown
  967.     {
  968.     public:
  969.         virtual void __RPC_FAR *STDMETHODCALLTYPE Alloc( 
  970.             /* [in] */ SIZE_T cb) = 0;
  971.         
  972.         virtual void __RPC_FAR *STDMETHODCALLTYPE Realloc( 
  973.             /* [in] */ void __RPC_FAR *pv,
  974.             /* [in] */ SIZE_T cb) = 0;
  975.         
  976.         virtual void STDMETHODCALLTYPE Free( 
  977.             /* [in] */ void __RPC_FAR *pv) = 0;
  978.         
  979.         virtual SIZE_T STDMETHODCALLTYPE GetSize( 
  980.             /* [in] */ void __RPC_FAR *pv) = 0;
  981.         
  982.         virtual int STDMETHODCALLTYPE DidAlloc( 
  983.             void __RPC_FAR *pv) = 0;
  984.         
  985.         virtual void STDMETHODCALLTYPE HeapMinimize( void) = 0;
  986.         
  987.     };
  988.     
  989. #else     /* C style interface */
  990.  
  991.     typedef struct IMallocVtbl
  992.     {
  993.         BEGIN_INTERFACE
  994.         
  995.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  996.             IMalloc __RPC_FAR * This,
  997.             /* [in] */ REFIID riid,
  998.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  999.         
  1000.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1001.             IMalloc __RPC_FAR * This);
  1002.         
  1003.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1004.             IMalloc __RPC_FAR * This);
  1005.         
  1006.         void __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *Alloc )( 
  1007.             IMalloc __RPC_FAR * This,
  1008.             /* [in] */ SIZE_T cb);
  1009.         
  1010.         void __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *Realloc )( 
  1011.             IMalloc __RPC_FAR * This,
  1012.             /* [in] */ void __RPC_FAR *pv,
  1013.             /* [in] */ SIZE_T cb);
  1014.         
  1015.         void ( STDMETHODCALLTYPE __RPC_FAR *Free )( 
  1016.             IMalloc __RPC_FAR * This,
  1017.             /* [in] */ void __RPC_FAR *pv);
  1018.         
  1019.         SIZE_T ( STDMETHODCALLTYPE __RPC_FAR *GetSize )( 
  1020.             IMalloc __RPC_FAR * This,
  1021.             /* [in] */ void __RPC_FAR *pv);
  1022.         
  1023.         int ( STDMETHODCALLTYPE __RPC_FAR *DidAlloc )( 
  1024.             IMalloc __RPC_FAR * This,
  1025.             void __RPC_FAR *pv);
  1026.         
  1027.         void ( STDMETHODCALLTYPE __RPC_FAR *HeapMinimize )( 
  1028.             IMalloc __RPC_FAR * This);
  1029.         
  1030.         END_INTERFACE
  1031.     } IMallocVtbl;
  1032.  
  1033.     interface IMalloc
  1034.     {
  1035.         CONST_VTBL struct IMallocVtbl __RPC_FAR *lpVtbl;
  1036.     };
  1037.  
  1038.     
  1039.  
  1040. #ifdef COBJMACROS
  1041.  
  1042.  
  1043. #define IMalloc_QueryInterface(This,riid,ppvObject)    \
  1044.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1045.  
  1046. #define IMalloc_AddRef(This)    \
  1047.     (This)->lpVtbl -> AddRef(This)
  1048.  
  1049. #define IMalloc_Release(This)    \
  1050.     (This)->lpVtbl -> Release(This)
  1051.  
  1052.  
  1053. #define IMalloc_Alloc(This,cb)    \
  1054.     (This)->lpVtbl -> Alloc(This,cb)
  1055.  
  1056. #define IMalloc_Realloc(This,pv,cb)    \
  1057.     (This)->lpVtbl -> Realloc(This,pv,cb)
  1058.  
  1059. #define IMalloc_Free(This,pv)    \
  1060.     (This)->lpVtbl -> Free(This,pv)
  1061.  
  1062. #define IMalloc_GetSize(This,pv)    \
  1063.     (This)->lpVtbl -> GetSize(This,pv)
  1064.  
  1065. #define IMalloc_DidAlloc(This,pv)    \
  1066.     (This)->lpVtbl -> DidAlloc(This,pv)
  1067.  
  1068. #define IMalloc_HeapMinimize(This)    \
  1069.     (This)->lpVtbl -> HeapMinimize(This)
  1070.  
  1071. #endif /* COBJMACROS */
  1072.  
  1073.  
  1074. #endif     /* C style interface */
  1075.  
  1076.  
  1077.  
  1078. void __RPC_FAR *STDMETHODCALLTYPE IMalloc_Alloc_Proxy( 
  1079.     IMalloc __RPC_FAR * This,
  1080.     /* [in] */ SIZE_T cb);
  1081.  
  1082.  
  1083. void __RPC_STUB IMalloc_Alloc_Stub(
  1084.     IRpcStubBuffer *This,
  1085.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1086.     PRPC_MESSAGE _pRpcMessage,
  1087.     DWORD *_pdwStubPhase);
  1088.  
  1089.  
  1090. void __RPC_FAR *STDMETHODCALLTYPE IMalloc_Realloc_Proxy( 
  1091.     IMalloc __RPC_FAR * This,
  1092.     /* [in] */ void __RPC_FAR *pv,
  1093.     /* [in] */ SIZE_T cb);
  1094.  
  1095.  
  1096. void __RPC_STUB IMalloc_Realloc_Stub(
  1097.     IRpcStubBuffer *This,
  1098.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1099.     PRPC_MESSAGE _pRpcMessage,
  1100.     DWORD *_pdwStubPhase);
  1101.  
  1102.  
  1103. void STDMETHODCALLTYPE IMalloc_Free_Proxy( 
  1104.     IMalloc __RPC_FAR * This,
  1105.     /* [in] */ void __RPC_FAR *pv);
  1106.  
  1107.  
  1108. void __RPC_STUB IMalloc_Free_Stub(
  1109.     IRpcStubBuffer *This,
  1110.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1111.     PRPC_MESSAGE _pRpcMessage,
  1112.     DWORD *_pdwStubPhase);
  1113.  
  1114.  
  1115. SIZE_T STDMETHODCALLTYPE IMalloc_GetSize_Proxy( 
  1116.     IMalloc __RPC_FAR * This,
  1117.     /* [in] */ void __RPC_FAR *pv);
  1118.  
  1119.  
  1120. void __RPC_STUB IMalloc_GetSize_Stub(
  1121.     IRpcStubBuffer *This,
  1122.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1123.     PRPC_MESSAGE _pRpcMessage,
  1124.     DWORD *_pdwStubPhase);
  1125.  
  1126.  
  1127. int STDMETHODCALLTYPE IMalloc_DidAlloc_Proxy( 
  1128.     IMalloc __RPC_FAR * This,
  1129.     void __RPC_FAR *pv);
  1130.  
  1131.  
  1132. void __RPC_STUB IMalloc_DidAlloc_Stub(
  1133.     IRpcStubBuffer *This,
  1134.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1135.     PRPC_MESSAGE _pRpcMessage,
  1136.     DWORD *_pdwStubPhase);
  1137.  
  1138.  
  1139. void STDMETHODCALLTYPE IMalloc_HeapMinimize_Proxy( 
  1140.     IMalloc __RPC_FAR * This);
  1141.  
  1142.  
  1143. void __RPC_STUB IMalloc_HeapMinimize_Stub(
  1144.     IRpcStubBuffer *This,
  1145.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1146.     PRPC_MESSAGE _pRpcMessage,
  1147.     DWORD *_pdwStubPhase);
  1148.  
  1149.  
  1150.  
  1151. #endif     /* __IMalloc_INTERFACE_DEFINED__ */
  1152.  
  1153.  
  1154. #ifndef __IMallocSpy_INTERFACE_DEFINED__
  1155. #define __IMallocSpy_INTERFACE_DEFINED__
  1156.  
  1157. /* interface IMallocSpy */
  1158. /* [uuid][object][local] */ 
  1159.  
  1160. typedef /* [unique] */ IMallocSpy __RPC_FAR *LPMALLOCSPY;
  1161.  
  1162.  
  1163. EXTERN_C const IID IID_IMallocSpy;
  1164.  
  1165. #if defined(__cplusplus) && !defined(CINTERFACE)
  1166.     
  1167.     MIDL_INTERFACE("0000001d-0000-0000-C000-000000000046")
  1168.     IMallocSpy : public IUnknown
  1169.     {
  1170.     public:
  1171.         virtual SIZE_T STDMETHODCALLTYPE PreAlloc( 
  1172.             /* [in] */ SIZE_T cbRequest) = 0;
  1173.         
  1174.         virtual void __RPC_FAR *STDMETHODCALLTYPE PostAlloc( 
  1175.             /* [in] */ void __RPC_FAR *pActual) = 0;
  1176.         
  1177.         virtual void __RPC_FAR *STDMETHODCALLTYPE PreFree( 
  1178.             /* [in] */ void __RPC_FAR *pRequest,
  1179.             /* [in] */ BOOL fSpyed) = 0;
  1180.         
  1181.         virtual void STDMETHODCALLTYPE PostFree( 
  1182.             /* [in] */ BOOL fSpyed) = 0;
  1183.         
  1184.         virtual SIZE_T STDMETHODCALLTYPE PreRealloc( 
  1185.             /* [in] */ void __RPC_FAR *pRequest,
  1186.             /* [in] */ SIZE_T cbRequest,
  1187.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppNewRequest,
  1188.             /* [in] */ BOOL fSpyed) = 0;
  1189.         
  1190.         virtual void __RPC_FAR *STDMETHODCALLTYPE PostRealloc( 
  1191.             /* [in] */ void __RPC_FAR *pActual,
  1192.             /* [in] */ BOOL fSpyed) = 0;
  1193.         
  1194.         virtual void __RPC_FAR *STDMETHODCALLTYPE PreGetSize( 
  1195.             /* [in] */ void __RPC_FAR *pRequest,
  1196.             /* [in] */ BOOL fSpyed) = 0;
  1197.         
  1198.         virtual SIZE_T STDMETHODCALLTYPE PostGetSize( 
  1199.             /* [in] */ SIZE_T cbActual,
  1200.             /* [in] */ BOOL fSpyed) = 0;
  1201.         
  1202.         virtual void __RPC_FAR *STDMETHODCALLTYPE PreDidAlloc( 
  1203.             /* [in] */ void __RPC_FAR *pRequest,
  1204.             /* [in] */ BOOL fSpyed) = 0;
  1205.         
  1206.         virtual int STDMETHODCALLTYPE PostDidAlloc( 
  1207.             /* [in] */ void __RPC_FAR *pRequest,
  1208.             /* [in] */ BOOL fSpyed,
  1209.             /* [in] */ int fActual) = 0;
  1210.         
  1211.         virtual void STDMETHODCALLTYPE PreHeapMinimize( void) = 0;
  1212.         
  1213.         virtual void STDMETHODCALLTYPE PostHeapMinimize( void) = 0;
  1214.         
  1215.     };
  1216.     
  1217. #else     /* C style interface */
  1218.  
  1219.     typedef struct IMallocSpyVtbl
  1220.     {
  1221.         BEGIN_INTERFACE
  1222.         
  1223.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1224.             IMallocSpy __RPC_FAR * This,
  1225.             /* [in] */ REFIID riid,
  1226.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1227.         
  1228.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1229.             IMallocSpy __RPC_FAR * This);
  1230.         
  1231.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1232.             IMallocSpy __RPC_FAR * This);
  1233.         
  1234.         SIZE_T ( STDMETHODCALLTYPE __RPC_FAR *PreAlloc )( 
  1235.             IMallocSpy __RPC_FAR * This,
  1236.             /* [in] */ SIZE_T cbRequest);
  1237.         
  1238.         void __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *PostAlloc )( 
  1239.             IMallocSpy __RPC_FAR * This,
  1240.             /* [in] */ void __RPC_FAR *pActual);
  1241.         
  1242.         void __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *PreFree )( 
  1243.             IMallocSpy __RPC_FAR * This,
  1244.             /* [in] */ void __RPC_FAR *pRequest,
  1245.             /* [in] */ BOOL fSpyed);
  1246.         
  1247.         void ( STDMETHODCALLTYPE __RPC_FAR *PostFree )( 
  1248.             IMallocSpy __RPC_FAR * This,
  1249.             /* [in] */ BOOL fSpyed);
  1250.         
  1251.         SIZE_T ( STDMETHODCALLTYPE __RPC_FAR *PreRealloc )( 
  1252.             IMallocSpy __RPC_FAR * This,
  1253.             /* [in] */ void __RPC_FAR *pRequest,
  1254.             /* [in] */ SIZE_T cbRequest,
  1255.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppNewRequest,
  1256.             /* [in] */ BOOL fSpyed);
  1257.         
  1258.         void __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *PostRealloc )( 
  1259.             IMallocSpy __RPC_FAR * This,
  1260.             /* [in] */ void __RPC_FAR *pActual,
  1261.             /* [in] */ BOOL fSpyed);
  1262.         
  1263.         void __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *PreGetSize )( 
  1264.             IMallocSpy __RPC_FAR * This,
  1265.             /* [in] */ void __RPC_FAR *pRequest,
  1266.             /* [in] */ BOOL fSpyed);
  1267.         
  1268.         SIZE_T ( STDMETHODCALLTYPE __RPC_FAR *PostGetSize )( 
  1269.             IMallocSpy __RPC_FAR * This,
  1270.             /* [in] */ SIZE_T cbActual,
  1271.             /* [in] */ BOOL fSpyed);
  1272.         
  1273.         void __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *PreDidAlloc )( 
  1274.             IMallocSpy __RPC_FAR * This,
  1275.             /* [in] */ void __RPC_FAR *pRequest,
  1276.             /* [in] */ BOOL fSpyed);
  1277.         
  1278.         int ( STDMETHODCALLTYPE __RPC_FAR *PostDidAlloc )( 
  1279.             IMallocSpy __RPC_FAR * This,
  1280.             /* [in] */ void __RPC_FAR *pRequest,
  1281.             /* [in] */ BOOL fSpyed,
  1282.             /* [in] */ int fActual);
  1283.         
  1284.         void ( STDMETHODCALLTYPE __RPC_FAR *PreHeapMinimize )( 
  1285.             IMallocSpy __RPC_FAR * This);
  1286.         
  1287.         void ( STDMETHODCALLTYPE __RPC_FAR *PostHeapMinimize )( 
  1288.             IMallocSpy __RPC_FAR * This);
  1289.         
  1290.         END_INTERFACE
  1291.     } IMallocSpyVtbl;
  1292.  
  1293.     interface IMallocSpy
  1294.     {
  1295.         CONST_VTBL struct IMallocSpyVtbl __RPC_FAR *lpVtbl;
  1296.     };
  1297.  
  1298.     
  1299.  
  1300. #ifdef COBJMACROS
  1301.  
  1302.  
  1303. #define IMallocSpy_QueryInterface(This,riid,ppvObject)    \
  1304.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1305.  
  1306. #define IMallocSpy_AddRef(This)    \
  1307.     (This)->lpVtbl -> AddRef(This)
  1308.  
  1309. #define IMallocSpy_Release(This)    \
  1310.     (This)->lpVtbl -> Release(This)
  1311.  
  1312.  
  1313. #define IMallocSpy_PreAlloc(This,cbRequest)    \
  1314.     (This)->lpVtbl -> PreAlloc(This,cbRequest)
  1315.  
  1316. #define IMallocSpy_PostAlloc(This,pActual)    \
  1317.     (This)->lpVtbl -> PostAlloc(This,pActual)
  1318.  
  1319. #define IMallocSpy_PreFree(This,pRequest,fSpyed)    \
  1320.     (This)->lpVtbl -> PreFree(This,pRequest,fSpyed)
  1321.  
  1322. #define IMallocSpy_PostFree(This,fSpyed)    \
  1323.     (This)->lpVtbl -> PostFree(This,fSpyed)
  1324.  
  1325. #define IMallocSpy_PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed)    \
  1326.     (This)->lpVtbl -> PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed)
  1327.  
  1328. #define IMallocSpy_PostRealloc(This,pActual,fSpyed)    \
  1329.     (This)->lpVtbl -> PostRealloc(This,pActual,fSpyed)
  1330.  
  1331. #define IMallocSpy_PreGetSize(This,pRequest,fSpyed)    \
  1332.     (This)->lpVtbl -> PreGetSize(This,pRequest,fSpyed)
  1333.  
  1334. #define IMallocSpy_PostGetSize(This,cbActual,fSpyed)    \
  1335.     (This)->lpVtbl -> PostGetSize(This,cbActual,fSpyed)
  1336.  
  1337. #define IMallocSpy_PreDidAlloc(This,pRequest,fSpyed)    \
  1338.     (This)->lpVtbl -> PreDidAlloc(This,pRequest,fSpyed)
  1339.  
  1340. #define IMallocSpy_PostDidAlloc(This,pRequest,fSpyed,fActual)    \
  1341.     (This)->lpVtbl -> PostDidAlloc(This,pRequest,fSpyed,fActual)
  1342.  
  1343. #define IMallocSpy_PreHeapMinimize(This)    \
  1344.     (This)->lpVtbl -> PreHeapMinimize(This)
  1345.  
  1346. #define IMallocSpy_PostHeapMinimize(This)    \
  1347.     (This)->lpVtbl -> PostHeapMinimize(This)
  1348.  
  1349. #endif /* COBJMACROS */
  1350.  
  1351.  
  1352. #endif     /* C style interface */
  1353.  
  1354.  
  1355.  
  1356. SIZE_T STDMETHODCALLTYPE IMallocSpy_PreAlloc_Proxy( 
  1357.     IMallocSpy __RPC_FAR * This,
  1358.     /* [in] */ SIZE_T cbRequest);
  1359.  
  1360.  
  1361. void __RPC_STUB IMallocSpy_PreAlloc_Stub(
  1362.     IRpcStubBuffer *This,
  1363.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1364.     PRPC_MESSAGE _pRpcMessage,
  1365.     DWORD *_pdwStubPhase);
  1366.  
  1367.  
  1368. void __RPC_FAR *STDMETHODCALLTYPE IMallocSpy_PostAlloc_Proxy( 
  1369.     IMallocSpy __RPC_FAR * This,
  1370.     /* [in] */ void __RPC_FAR *pActual);
  1371.  
  1372.  
  1373. void __RPC_STUB IMallocSpy_PostAlloc_Stub(
  1374.     IRpcStubBuffer *This,
  1375.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1376.     PRPC_MESSAGE _pRpcMessage,
  1377.     DWORD *_pdwStubPhase);
  1378.  
  1379.  
  1380. void __RPC_FAR *STDMETHODCALLTYPE IMallocSpy_PreFree_Proxy( 
  1381.     IMallocSpy __RPC_FAR * This,
  1382.     /* [in] */ void __RPC_FAR *pRequest,
  1383.     /* [in] */ BOOL fSpyed);
  1384.  
  1385.  
  1386. void __RPC_STUB IMallocSpy_PreFree_Stub(
  1387.     IRpcStubBuffer *This,
  1388.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1389.     PRPC_MESSAGE _pRpcMessage,
  1390.     DWORD *_pdwStubPhase);
  1391.  
  1392.  
  1393. void STDMETHODCALLTYPE IMallocSpy_PostFree_Proxy( 
  1394.     IMallocSpy __RPC_FAR * This,
  1395.     /* [in] */ BOOL fSpyed);
  1396.  
  1397.  
  1398. void __RPC_STUB IMallocSpy_PostFree_Stub(
  1399.     IRpcStubBuffer *This,
  1400.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1401.     PRPC_MESSAGE _pRpcMessage,
  1402.     DWORD *_pdwStubPhase);
  1403.  
  1404.  
  1405. SIZE_T STDMETHODCALLTYPE IMallocSpy_PreRealloc_Proxy( 
  1406.     IMallocSpy __RPC_FAR * This,
  1407.     /* [in] */ void __RPC_FAR *pRequest,
  1408.     /* [in] */ SIZE_T cbRequest,
  1409.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppNewRequest,
  1410.     /* [in] */ BOOL fSpyed);
  1411.  
  1412.  
  1413. void __RPC_STUB IMallocSpy_PreRealloc_Stub(
  1414.     IRpcStubBuffer *This,
  1415.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1416.     PRPC_MESSAGE _pRpcMessage,
  1417.     DWORD *_pdwStubPhase);
  1418.  
  1419.  
  1420. void __RPC_FAR *STDMETHODCALLTYPE IMallocSpy_PostRealloc_Proxy( 
  1421.     IMallocSpy __RPC_FAR * This,
  1422.     /* [in] */ void __RPC_FAR *pActual,
  1423.     /* [in] */ BOOL fSpyed);
  1424.  
  1425.  
  1426. void __RPC_STUB IMallocSpy_PostRealloc_Stub(
  1427.     IRpcStubBuffer *This,
  1428.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1429.     PRPC_MESSAGE _pRpcMessage,
  1430.     DWORD *_pdwStubPhase);
  1431.  
  1432.  
  1433. void __RPC_FAR *STDMETHODCALLTYPE IMallocSpy_PreGetSize_Proxy( 
  1434.     IMallocSpy __RPC_FAR * This,
  1435.     /* [in] */ void __RPC_FAR *pRequest,
  1436.     /* [in] */ BOOL fSpyed);
  1437.  
  1438.  
  1439. void __RPC_STUB IMallocSpy_PreGetSize_Stub(
  1440.     IRpcStubBuffer *This,
  1441.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1442.     PRPC_MESSAGE _pRpcMessage,
  1443.     DWORD *_pdwStubPhase);
  1444.  
  1445.  
  1446. SIZE_T STDMETHODCALLTYPE IMallocSpy_PostGetSize_Proxy( 
  1447.     IMallocSpy __RPC_FAR * This,
  1448.     /* [in] */ SIZE_T cbActual,
  1449.     /* [in] */ BOOL fSpyed);
  1450.  
  1451.  
  1452. void __RPC_STUB IMallocSpy_PostGetSize_Stub(
  1453.     IRpcStubBuffer *This,
  1454.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1455.     PRPC_MESSAGE _pRpcMessage,
  1456.     DWORD *_pdwStubPhase);
  1457.  
  1458.  
  1459. void __RPC_FAR *STDMETHODCALLTYPE IMallocSpy_PreDidAlloc_Proxy( 
  1460.     IMallocSpy __RPC_FAR * This,
  1461.     /* [in] */ void __RPC_FAR *pRequest,
  1462.     /* [in] */ BOOL fSpyed);
  1463.  
  1464.  
  1465. void __RPC_STUB IMallocSpy_PreDidAlloc_Stub(
  1466.     IRpcStubBuffer *This,
  1467.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1468.     PRPC_MESSAGE _pRpcMessage,
  1469.     DWORD *_pdwStubPhase);
  1470.  
  1471.  
  1472. int STDMETHODCALLTYPE IMallocSpy_PostDidAlloc_Proxy( 
  1473.     IMallocSpy __RPC_FAR * This,
  1474.     /* [in] */ void __RPC_FAR *pRequest,
  1475.     /* [in] */ BOOL fSpyed,
  1476.     /* [in] */ int fActual);
  1477.  
  1478.  
  1479. void __RPC_STUB IMallocSpy_PostDidAlloc_Stub(
  1480.     IRpcStubBuffer *This,
  1481.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1482.     PRPC_MESSAGE _pRpcMessage,
  1483.     DWORD *_pdwStubPhase);
  1484.  
  1485.  
  1486. void STDMETHODCALLTYPE IMallocSpy_PreHeapMinimize_Proxy( 
  1487.     IMallocSpy __RPC_FAR * This);
  1488.  
  1489.  
  1490. void __RPC_STUB IMallocSpy_PreHeapMinimize_Stub(
  1491.     IRpcStubBuffer *This,
  1492.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1493.     PRPC_MESSAGE _pRpcMessage,
  1494.     DWORD *_pdwStubPhase);
  1495.  
  1496.  
  1497. void STDMETHODCALLTYPE IMallocSpy_PostHeapMinimize_Proxy( 
  1498.     IMallocSpy __RPC_FAR * This);
  1499.  
  1500.  
  1501. void __RPC_STUB IMallocSpy_PostHeapMinimize_Stub(
  1502.     IRpcStubBuffer *This,
  1503.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1504.     PRPC_MESSAGE _pRpcMessage,
  1505.     DWORD *_pdwStubPhase);
  1506.  
  1507.  
  1508.  
  1509. #endif     /* __IMallocSpy_INTERFACE_DEFINED__ */
  1510.  
  1511.  
  1512. #ifndef __IStdMarshalInfo_INTERFACE_DEFINED__
  1513. #define __IStdMarshalInfo_INTERFACE_DEFINED__
  1514.  
  1515. /* interface IStdMarshalInfo */
  1516. /* [uuid][object][local] */ 
  1517.  
  1518. typedef /* [unique] */ IStdMarshalInfo __RPC_FAR *LPSTDMARSHALINFO;
  1519.  
  1520.  
  1521. EXTERN_C const IID IID_IStdMarshalInfo;
  1522.  
  1523. #if defined(__cplusplus) && !defined(CINTERFACE)
  1524.     
  1525.     MIDL_INTERFACE("00000018-0000-0000-C000-000000000046")
  1526.     IStdMarshalInfo : public IUnknown
  1527.     {
  1528.     public:
  1529.         virtual HRESULT STDMETHODCALLTYPE GetClassForHandler( 
  1530.             /* [in] */ DWORD dwDestContext,
  1531.             /* [unique][in] */ void __RPC_FAR *pvDestContext,
  1532.             /* [out] */ CLSID __RPC_FAR *pClsid) = 0;
  1533.         
  1534.     };
  1535.     
  1536. #else     /* C style interface */
  1537.  
  1538.     typedef struct IStdMarshalInfoVtbl
  1539.     {
  1540.         BEGIN_INTERFACE
  1541.         
  1542.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1543.             IStdMarshalInfo __RPC_FAR * This,
  1544.             /* [in] */ REFIID riid,
  1545.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1546.         
  1547.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1548.             IStdMarshalInfo __RPC_FAR * This);
  1549.         
  1550.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1551.             IStdMarshalInfo __RPC_FAR * This);
  1552.         
  1553.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassForHandler )( 
  1554.             IStdMarshalInfo __RPC_FAR * This,
  1555.             /* [in] */ DWORD dwDestContext,
  1556.             /* [unique][in] */ void __RPC_FAR *pvDestContext,
  1557.             /* [out] */ CLSID __RPC_FAR *pClsid);
  1558.         
  1559.         END_INTERFACE
  1560.     } IStdMarshalInfoVtbl;
  1561.  
  1562.     interface IStdMarshalInfo
  1563.     {
  1564.         CONST_VTBL struct IStdMarshalInfoVtbl __RPC_FAR *lpVtbl;
  1565.     };
  1566.  
  1567.     
  1568.  
  1569. #ifdef COBJMACROS
  1570.  
  1571.  
  1572. #define IStdMarshalInfo_QueryInterface(This,riid,ppvObject)    \
  1573.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1574.  
  1575. #define IStdMarshalInfo_AddRef(This)    \
  1576.     (This)->lpVtbl -> AddRef(This)
  1577.  
  1578. #define IStdMarshalInfo_Release(This)    \
  1579.     (This)->lpVtbl -> Release(This)
  1580.  
  1581.  
  1582. #define IStdMarshalInfo_GetClassForHandler(This,dwDestContext,pvDestContext,pClsid)    \
  1583.     (This)->lpVtbl -> GetClassForHandler(This,dwDestContext,pvDestContext,pClsid)
  1584.  
  1585. #endif /* COBJMACROS */
  1586.  
  1587.  
  1588. #endif     /* C style interface */
  1589.  
  1590.  
  1591.  
  1592. HRESULT STDMETHODCALLTYPE IStdMarshalInfo_GetClassForHandler_Proxy( 
  1593.     IStdMarshalInfo __RPC_FAR * This,
  1594.     /* [in] */ DWORD dwDestContext,
  1595.     /* [unique][in] */ void __RPC_FAR *pvDestContext,
  1596.     /* [out] */ CLSID __RPC_FAR *pClsid);
  1597.  
  1598.  
  1599. void __RPC_STUB IStdMarshalInfo_GetClassForHandler_Stub(
  1600.     IRpcStubBuffer *This,
  1601.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1602.     PRPC_MESSAGE _pRpcMessage,
  1603.     DWORD *_pdwStubPhase);
  1604.  
  1605.  
  1606.  
  1607. #endif     /* __IStdMarshalInfo_INTERFACE_DEFINED__ */
  1608.  
  1609.  
  1610. #ifndef __IExternalConnection_INTERFACE_DEFINED__
  1611. #define __IExternalConnection_INTERFACE_DEFINED__
  1612.  
  1613. /* interface IExternalConnection */
  1614. /* [uuid][local][object] */ 
  1615.  
  1616. typedef /* [unique] */ IExternalConnection __RPC_FAR *LPEXTERNALCONNECTION;
  1617.  
  1618. typedef 
  1619. enum tagEXTCONN
  1620.     {    EXTCONN_STRONG    = 0x1,
  1621.     EXTCONN_WEAK    = 0x2,
  1622.     EXTCONN_CALLABLE    = 0x4
  1623.     }    EXTCONN;
  1624.  
  1625.  
  1626. EXTERN_C const IID IID_IExternalConnection;
  1627.  
  1628. #if defined(__cplusplus) && !defined(CINTERFACE)
  1629.     
  1630.     MIDL_INTERFACE("00000019-0000-0000-C000-000000000046")
  1631.     IExternalConnection : public IUnknown
  1632.     {
  1633.     public:
  1634.         virtual DWORD STDMETHODCALLTYPE AddConnection( 
  1635.             /* [in] */ DWORD extconn,
  1636.             /* [in] */ DWORD reserved) = 0;
  1637.         
  1638.         virtual DWORD STDMETHODCALLTYPE ReleaseConnection( 
  1639.             /* [in] */ DWORD extconn,
  1640.             /* [in] */ DWORD reserved,
  1641.             /* [in] */ BOOL fLastReleaseCloses) = 0;
  1642.         
  1643.     };
  1644.     
  1645. #else     /* C style interface */
  1646.  
  1647.     typedef struct IExternalConnectionVtbl
  1648.     {
  1649.         BEGIN_INTERFACE
  1650.         
  1651.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1652.             IExternalConnection __RPC_FAR * This,
  1653.             /* [in] */ REFIID riid,
  1654.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1655.         
  1656.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1657.             IExternalConnection __RPC_FAR * This);
  1658.         
  1659.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1660.             IExternalConnection __RPC_FAR * This);
  1661.         
  1662.         DWORD ( STDMETHODCALLTYPE __RPC_FAR *AddConnection )( 
  1663.             IExternalConnection __RPC_FAR * This,
  1664.             /* [in] */ DWORD extconn,
  1665.             /* [in] */ DWORD reserved);
  1666.         
  1667.         DWORD ( STDMETHODCALLTYPE __RPC_FAR *ReleaseConnection )( 
  1668.             IExternalConnection __RPC_FAR * This,
  1669.             /* [in] */ DWORD extconn,
  1670.             /* [in] */ DWORD reserved,
  1671.             /* [in] */ BOOL fLastReleaseCloses);
  1672.         
  1673.         END_INTERFACE
  1674.     } IExternalConnectionVtbl;
  1675.  
  1676.     interface IExternalConnection
  1677.     {
  1678.         CONST_VTBL struct IExternalConnectionVtbl __RPC_FAR *lpVtbl;
  1679.     };
  1680.  
  1681.     
  1682.  
  1683. #ifdef COBJMACROS
  1684.  
  1685.  
  1686. #define IExternalConnection_QueryInterface(This,riid,ppvObject)    \
  1687.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1688.  
  1689. #define IExternalConnection_AddRef(This)    \
  1690.     (This)->lpVtbl -> AddRef(This)
  1691.  
  1692. #define IExternalConnection_Release(This)    \
  1693.     (This)->lpVtbl -> Release(This)
  1694.  
  1695.  
  1696. #define IExternalConnection_AddConnection(This,extconn,reserved)    \
  1697.     (This)->lpVtbl -> AddConnection(This,extconn,reserved)
  1698.  
  1699. #define IExternalConnection_ReleaseConnection(This,extconn,reserved,fLastReleaseCloses)    \
  1700.     (This)->lpVtbl -> ReleaseConnection(This,extconn,reserved,fLastReleaseCloses)
  1701.  
  1702. #endif /* COBJMACROS */
  1703.  
  1704.  
  1705. #endif     /* C style interface */
  1706.  
  1707.  
  1708.  
  1709. DWORD STDMETHODCALLTYPE IExternalConnection_AddConnection_Proxy( 
  1710.     IExternalConnection __RPC_FAR * This,
  1711.     /* [in] */ DWORD extconn,
  1712.     /* [in] */ DWORD reserved);
  1713.  
  1714.  
  1715. void __RPC_STUB IExternalConnection_AddConnection_Stub(
  1716.     IRpcStubBuffer *This,
  1717.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1718.     PRPC_MESSAGE _pRpcMessage,
  1719.     DWORD *_pdwStubPhase);
  1720.  
  1721.  
  1722. DWORD STDMETHODCALLTYPE IExternalConnection_ReleaseConnection_Proxy( 
  1723.     IExternalConnection __RPC_FAR * This,
  1724.     /* [in] */ DWORD extconn,
  1725.     /* [in] */ DWORD reserved,
  1726.     /* [in] */ BOOL fLastReleaseCloses);
  1727.  
  1728.  
  1729. void __RPC_STUB IExternalConnection_ReleaseConnection_Stub(
  1730.     IRpcStubBuffer *This,
  1731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1732.     PRPC_MESSAGE _pRpcMessage,
  1733.     DWORD *_pdwStubPhase);
  1734.  
  1735.  
  1736.  
  1737. #endif     /* __IExternalConnection_INTERFACE_DEFINED__ */
  1738.  
  1739.  
  1740. /* interface __MIDL_itf_objidl_0015 */
  1741. /* [local] */ 
  1742.  
  1743. typedef /* [unique] */ IMultiQI __RPC_FAR *LPMULTIQI;
  1744.  
  1745. typedef struct tagMULTI_QI
  1746.     {
  1747.     const IID __RPC_FAR *pIID;
  1748.     IUnknown __RPC_FAR *pItf;
  1749.     HRESULT hr;
  1750.     }    MULTI_QI;
  1751.  
  1752.  
  1753.  
  1754. extern RPC_IF_HANDLE __MIDL_itf_objidl_0015_v0_0_c_ifspec;
  1755. extern RPC_IF_HANDLE __MIDL_itf_objidl_0015_v0_0_s_ifspec;
  1756.  
  1757. #ifndef __IMultiQI_INTERFACE_DEFINED__
  1758. #define __IMultiQI_INTERFACE_DEFINED__
  1759.  
  1760. /* interface IMultiQI */
  1761. /* [async_uuid][uuid][local][object] */ 
  1762.  
  1763.  
  1764. EXTERN_C const IID IID_IMultiQI;
  1765.  
  1766. #if defined(__cplusplus) && !defined(CINTERFACE)
  1767.     
  1768.     MIDL_INTERFACE("00000020-0000-0000-C000-000000000046")
  1769.     IMultiQI : public IUnknown
  1770.     {
  1771.     public:
  1772.         virtual HRESULT STDMETHODCALLTYPE QueryMultipleInterfaces( 
  1773.             /* [in] */ ULONG cMQIs,
  1774.             /* [out][in] */ MULTI_QI __RPC_FAR *pMQIs) = 0;
  1775.         
  1776.     };
  1777.     
  1778. #else     /* C style interface */
  1779.  
  1780.     typedef struct IMultiQIVtbl
  1781.     {
  1782.         BEGIN_INTERFACE
  1783.         
  1784.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1785.             IMultiQI __RPC_FAR * This,
  1786.             /* [in] */ REFIID riid,
  1787.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1788.         
  1789.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1790.             IMultiQI __RPC_FAR * This);
  1791.         
  1792.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1793.             IMultiQI __RPC_FAR * This);
  1794.         
  1795.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryMultipleInterfaces )( 
  1796.             IMultiQI __RPC_FAR * This,
  1797.             /* [in] */ ULONG cMQIs,
  1798.             /* [out][in] */ MULTI_QI __RPC_FAR *pMQIs);
  1799.         
  1800.         END_INTERFACE
  1801.     } IMultiQIVtbl;
  1802.  
  1803.     interface IMultiQI
  1804.     {
  1805.         CONST_VTBL struct IMultiQIVtbl __RPC_FAR *lpVtbl;
  1806.     };
  1807.  
  1808.     
  1809.  
  1810. #ifdef COBJMACROS
  1811.  
  1812.  
  1813. #define IMultiQI_QueryInterface(This,riid,ppvObject)    \
  1814.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1815.  
  1816. #define IMultiQI_AddRef(This)    \
  1817.     (This)->lpVtbl -> AddRef(This)
  1818.  
  1819. #define IMultiQI_Release(This)    \
  1820.     (This)->lpVtbl -> Release(This)
  1821.  
  1822.  
  1823. #define IMultiQI_QueryMultipleInterfaces(This,cMQIs,pMQIs)    \
  1824.     (This)->lpVtbl -> QueryMultipleInterfaces(This,cMQIs,pMQIs)
  1825.  
  1826. #endif /* COBJMACROS */
  1827.  
  1828.  
  1829. #endif     /* C style interface */
  1830.  
  1831.  
  1832.  
  1833. HRESULT STDMETHODCALLTYPE IMultiQI_QueryMultipleInterfaces_Proxy( 
  1834.     IMultiQI __RPC_FAR * This,
  1835.     /* [in] */ ULONG cMQIs,
  1836.     /* [out][in] */ MULTI_QI __RPC_FAR *pMQIs);
  1837.  
  1838.  
  1839. void __RPC_STUB IMultiQI_QueryMultipleInterfaces_Stub(
  1840.     IRpcStubBuffer *This,
  1841.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1842.     PRPC_MESSAGE _pRpcMessage,
  1843.     DWORD *_pdwStubPhase);
  1844.  
  1845.  
  1846.  
  1847. #endif     /* __IMultiQI_INTERFACE_DEFINED__ */
  1848.  
  1849.  
  1850. #ifndef __AsyncIMultiQI_INTERFACE_DEFINED__
  1851. #define __AsyncIMultiQI_INTERFACE_DEFINED__
  1852.  
  1853. /* interface AsyncIMultiQI */
  1854. /* [uuid][local][object] */ 
  1855.  
  1856.  
  1857. EXTERN_C const IID IID_AsyncIMultiQI;
  1858.  
  1859. #if defined(__cplusplus) && !defined(CINTERFACE)
  1860.     
  1861.     MIDL_INTERFACE("000e0020-0000-0000-C000-000000000046")
  1862.     AsyncIMultiQI : public IUnknown
  1863.     {
  1864.     public:
  1865.         virtual HRESULT STDMETHODCALLTYPE Begin_QueryMultipleInterfaces( 
  1866.             /* [in] */ ULONG cMQIs,
  1867.             /* [out][in] */ MULTI_QI __RPC_FAR *pMQIs) = 0;
  1868.         
  1869.         virtual HRESULT STDMETHODCALLTYPE Finish_QueryMultipleInterfaces( 
  1870.             /* [out][in] */ MULTI_QI __RPC_FAR *pMQIs) = 0;
  1871.         
  1872.     };
  1873.     
  1874. #else     /* C style interface */
  1875.  
  1876.     typedef struct AsyncIMultiQIVtbl
  1877.     {
  1878.         BEGIN_INTERFACE
  1879.         
  1880.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1881.             AsyncIMultiQI __RPC_FAR * This,
  1882.             /* [in] */ REFIID riid,
  1883.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1884.         
  1885.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1886.             AsyncIMultiQI __RPC_FAR * This);
  1887.         
  1888.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  1889.             AsyncIMultiQI __RPC_FAR * This);
  1890.         
  1891.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Begin_QueryMultipleInterfaces )( 
  1892.             AsyncIMultiQI __RPC_FAR * This,
  1893.             /* [in] */ ULONG cMQIs,
  1894.             /* [out][in] */ MULTI_QI __RPC_FAR *pMQIs);
  1895.         
  1896.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Finish_QueryMultipleInterfaces )( 
  1897.             AsyncIMultiQI __RPC_FAR * This,
  1898.             /* [out][in] */ MULTI_QI __RPC_FAR *pMQIs);
  1899.         
  1900.         END_INTERFACE
  1901.     } AsyncIMultiQIVtbl;
  1902.  
  1903.     interface AsyncIMultiQI
  1904.     {
  1905.         CONST_VTBL struct AsyncIMultiQIVtbl __RPC_FAR *lpVtbl;
  1906.     };
  1907.  
  1908.     
  1909.  
  1910. #ifdef COBJMACROS
  1911.  
  1912.  
  1913. #define AsyncIMultiQI_QueryInterface(This,riid,ppvObject)    \
  1914.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1915.  
  1916. #define AsyncIMultiQI_AddRef(This)    \
  1917.     (This)->lpVtbl -> AddRef(This)
  1918.  
  1919. #define AsyncIMultiQI_Release(This)    \
  1920.     (This)->lpVtbl -> Release(This)
  1921.  
  1922.  
  1923. #define AsyncIMultiQI_Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs)    \
  1924.     (This)->lpVtbl -> Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs)
  1925.  
  1926. #define AsyncIMultiQI_Finish_QueryMultipleInterfaces(This,pMQIs)    \
  1927.     (This)->lpVtbl -> Finish_QueryMultipleInterfaces(This,pMQIs)
  1928.  
  1929. #endif /* COBJMACROS */
  1930.  
  1931.  
  1932. #endif     /* C style interface */
  1933.  
  1934.  
  1935.  
  1936. HRESULT STDMETHODCALLTYPE AsyncIMultiQI_Begin_QueryMultipleInterfaces_Proxy( 
  1937.     AsyncIMultiQI __RPC_FAR * This,
  1938.     /* [in] */ ULONG cMQIs,
  1939.     /* [out][in] */ MULTI_QI __RPC_FAR *pMQIs);
  1940.  
  1941.  
  1942. void __RPC_STUB AsyncIMultiQI_Begin_QueryMultipleInterfaces_Stub(
  1943.     IRpcStubBuffer *This,
  1944.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1945.     PRPC_MESSAGE _pRpcMessage,
  1946.     DWORD *_pdwStubPhase);
  1947.  
  1948.  
  1949. HRESULT STDMETHODCALLTYPE AsyncIMultiQI_Finish_QueryMultipleInterfaces_Proxy( 
  1950.     AsyncIMultiQI __RPC_FAR * This,
  1951.     /* [out][in] */ MULTI_QI __RPC_FAR *pMQIs);
  1952.  
  1953.  
  1954. void __RPC_STUB AsyncIMultiQI_Finish_QueryMultipleInterfaces_Stub(
  1955.     IRpcStubBuffer *This,
  1956.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1957.     PRPC_MESSAGE _pRpcMessage,
  1958.     DWORD *_pdwStubPhase);
  1959.  
  1960.  
  1961.  
  1962. #endif     /* __AsyncIMultiQI_INTERFACE_DEFINED__ */
  1963.  
  1964.  
  1965. #ifndef __IInternalUnknown_INTERFACE_DEFINED__
  1966. #define __IInternalUnknown_INTERFACE_DEFINED__
  1967.  
  1968. /* interface IInternalUnknown */
  1969. /* [uuid][local][object] */ 
  1970.  
  1971.  
  1972. EXTERN_C const IID IID_IInternalUnknown;
  1973.  
  1974. #if defined(__cplusplus) && !defined(CINTERFACE)
  1975.     
  1976.     MIDL_INTERFACE("00000021-0000-0000-C000-000000000046")
  1977.     IInternalUnknown : public IUnknown
  1978.     {
  1979.     public:
  1980.         virtual HRESULT STDMETHODCALLTYPE QueryInternalInterface( 
  1981.             /* [in] */ REFIID riid,
  1982.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppv) = 0;
  1983.         
  1984.     };
  1985.     
  1986. #else     /* C style interface */
  1987.  
  1988.     typedef struct IInternalUnknownVtbl
  1989.     {
  1990.         BEGIN_INTERFACE
  1991.         
  1992.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  1993.             IInternalUnknown __RPC_FAR * This,
  1994.             /* [in] */ REFIID riid,
  1995.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  1996.         
  1997.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  1998.             IInternalUnknown __RPC_FAR * This);
  1999.         
  2000.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2001.             IInternalUnknown __RPC_FAR * This);
  2002.         
  2003.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInternalInterface )( 
  2004.             IInternalUnknown __RPC_FAR * This,
  2005.             /* [in] */ REFIID riid,
  2006.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppv);
  2007.         
  2008.         END_INTERFACE
  2009.     } IInternalUnknownVtbl;
  2010.  
  2011.     interface IInternalUnknown
  2012.     {
  2013.         CONST_VTBL struct IInternalUnknownVtbl __RPC_FAR *lpVtbl;
  2014.     };
  2015.  
  2016.     
  2017.  
  2018. #ifdef COBJMACROS
  2019.  
  2020.  
  2021. #define IInternalUnknown_QueryInterface(This,riid,ppvObject)    \
  2022.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2023.  
  2024. #define IInternalUnknown_AddRef(This)    \
  2025.     (This)->lpVtbl -> AddRef(This)
  2026.  
  2027. #define IInternalUnknown_Release(This)    \
  2028.     (This)->lpVtbl -> Release(This)
  2029.  
  2030.  
  2031. #define IInternalUnknown_QueryInternalInterface(This,riid,ppv)    \
  2032.     (This)->lpVtbl -> QueryInternalInterface(This,riid,ppv)
  2033.  
  2034. #endif /* COBJMACROS */
  2035.  
  2036.  
  2037. #endif     /* C style interface */
  2038.  
  2039.  
  2040.  
  2041. HRESULT STDMETHODCALLTYPE IInternalUnknown_QueryInternalInterface_Proxy( 
  2042.     IInternalUnknown __RPC_FAR * This,
  2043.     /* [in] */ REFIID riid,
  2044.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppv);
  2045.  
  2046.  
  2047. void __RPC_STUB IInternalUnknown_QueryInternalInterface_Stub(
  2048.     IRpcStubBuffer *This,
  2049.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2050.     PRPC_MESSAGE _pRpcMessage,
  2051.     DWORD *_pdwStubPhase);
  2052.  
  2053.  
  2054.  
  2055. #endif     /* __IInternalUnknown_INTERFACE_DEFINED__ */
  2056.  
  2057.  
  2058. #ifndef __IEnumUnknown_INTERFACE_DEFINED__
  2059. #define __IEnumUnknown_INTERFACE_DEFINED__
  2060.  
  2061. /* interface IEnumUnknown */
  2062. /* [unique][uuid][object] */ 
  2063.  
  2064. typedef /* [unique] */ IEnumUnknown __RPC_FAR *LPENUMUNKNOWN;
  2065.  
  2066.  
  2067. EXTERN_C const IID IID_IEnumUnknown;
  2068.  
  2069. #if defined(__cplusplus) && !defined(CINTERFACE)
  2070.     
  2071.     MIDL_INTERFACE("00000100-0000-0000-C000-000000000046")
  2072.     IEnumUnknown : public IUnknown
  2073.     {
  2074.     public:
  2075.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next( 
  2076.             /* [in] */ ULONG celt,
  2077.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *rgelt,
  2078.             /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  2079.         
  2080.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  2081.             /* [in] */ ULONG celt) = 0;
  2082.         
  2083.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2084.         
  2085.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  2086.             /* [out] */ IEnumUnknown __RPC_FAR *__RPC_FAR *ppenum) = 0;
  2087.         
  2088.     };
  2089.     
  2090. #else     /* C style interface */
  2091.  
  2092.     typedef struct IEnumUnknownVtbl
  2093.     {
  2094.         BEGIN_INTERFACE
  2095.         
  2096.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2097.             IEnumUnknown __RPC_FAR * This,
  2098.             /* [in] */ REFIID riid,
  2099.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2100.         
  2101.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2102.             IEnumUnknown __RPC_FAR * This);
  2103.         
  2104.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2105.             IEnumUnknown __RPC_FAR * This);
  2106.         
  2107.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  2108.             IEnumUnknown __RPC_FAR * This,
  2109.             /* [in] */ ULONG celt,
  2110.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *rgelt,
  2111.             /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2112.         
  2113.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  2114.             IEnumUnknown __RPC_FAR * This,
  2115.             /* [in] */ ULONG celt);
  2116.         
  2117.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  2118.             IEnumUnknown __RPC_FAR * This);
  2119.         
  2120.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  2121.             IEnumUnknown __RPC_FAR * This,
  2122.             /* [out] */ IEnumUnknown __RPC_FAR *__RPC_FAR *ppenum);
  2123.         
  2124.         END_INTERFACE
  2125.     } IEnumUnknownVtbl;
  2126.  
  2127.     interface IEnumUnknown
  2128.     {
  2129.         CONST_VTBL struct IEnumUnknownVtbl __RPC_FAR *lpVtbl;
  2130.     };
  2131.  
  2132.     
  2133.  
  2134. #ifdef COBJMACROS
  2135.  
  2136.  
  2137. #define IEnumUnknown_QueryInterface(This,riid,ppvObject)    \
  2138.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2139.  
  2140. #define IEnumUnknown_AddRef(This)    \
  2141.     (This)->lpVtbl -> AddRef(This)
  2142.  
  2143. #define IEnumUnknown_Release(This)    \
  2144.     (This)->lpVtbl -> Release(This)
  2145.  
  2146.  
  2147. #define IEnumUnknown_Next(This,celt,rgelt,pceltFetched)    \
  2148.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  2149.  
  2150. #define IEnumUnknown_Skip(This,celt)    \
  2151.     (This)->lpVtbl -> Skip(This,celt)
  2152.  
  2153. #define IEnumUnknown_Reset(This)    \
  2154.     (This)->lpVtbl -> Reset(This)
  2155.  
  2156. #define IEnumUnknown_Clone(This,ppenum)    \
  2157.     (This)->lpVtbl -> Clone(This,ppenum)
  2158.  
  2159. #endif /* COBJMACROS */
  2160.  
  2161.  
  2162. #endif     /* C style interface */
  2163.  
  2164.  
  2165.  
  2166. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumUnknown_RemoteNext_Proxy( 
  2167.     IEnumUnknown __RPC_FAR * This,
  2168.     /* [in] */ ULONG celt,
  2169.     /* [length_is][size_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *rgelt,
  2170.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2171.  
  2172.  
  2173. void __RPC_STUB IEnumUnknown_RemoteNext_Stub(
  2174.     IRpcStubBuffer *This,
  2175.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2176.     PRPC_MESSAGE _pRpcMessage,
  2177.     DWORD *_pdwStubPhase);
  2178.  
  2179.  
  2180. HRESULT STDMETHODCALLTYPE IEnumUnknown_Skip_Proxy( 
  2181.     IEnumUnknown __RPC_FAR * This,
  2182.     /* [in] */ ULONG celt);
  2183.  
  2184.  
  2185. void __RPC_STUB IEnumUnknown_Skip_Stub(
  2186.     IRpcStubBuffer *This,
  2187.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2188.     PRPC_MESSAGE _pRpcMessage,
  2189.     DWORD *_pdwStubPhase);
  2190.  
  2191.  
  2192. HRESULT STDMETHODCALLTYPE IEnumUnknown_Reset_Proxy( 
  2193.     IEnumUnknown __RPC_FAR * This);
  2194.  
  2195.  
  2196. void __RPC_STUB IEnumUnknown_Reset_Stub(
  2197.     IRpcStubBuffer *This,
  2198.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2199.     PRPC_MESSAGE _pRpcMessage,
  2200.     DWORD *_pdwStubPhase);
  2201.  
  2202.  
  2203. HRESULT STDMETHODCALLTYPE IEnumUnknown_Clone_Proxy( 
  2204.     IEnumUnknown __RPC_FAR * This,
  2205.     /* [out] */ IEnumUnknown __RPC_FAR *__RPC_FAR *ppenum);
  2206.  
  2207.  
  2208. void __RPC_STUB IEnumUnknown_Clone_Stub(
  2209.     IRpcStubBuffer *This,
  2210.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2211.     PRPC_MESSAGE _pRpcMessage,
  2212.     DWORD *_pdwStubPhase);
  2213.  
  2214.  
  2215.  
  2216. #endif     /* __IEnumUnknown_INTERFACE_DEFINED__ */
  2217.  
  2218.  
  2219. #ifndef __IBindCtx_INTERFACE_DEFINED__
  2220. #define __IBindCtx_INTERFACE_DEFINED__
  2221.  
  2222. /* interface IBindCtx */
  2223. /* [unique][uuid][object] */ 
  2224.  
  2225. typedef /* [unique] */ IBindCtx __RPC_FAR *LPBC;
  2226.  
  2227. typedef /* [unique] */ IBindCtx __RPC_FAR *LPBINDCTX;
  2228.  
  2229. typedef struct tagBIND_OPTS
  2230.     {
  2231.     DWORD cbStruct;
  2232.     DWORD grfFlags;
  2233.     DWORD grfMode;
  2234.     DWORD dwTickCountDeadline;
  2235.     }    BIND_OPTS;
  2236.  
  2237. typedef struct tagBIND_OPTS __RPC_FAR *LPBIND_OPTS;
  2238.  
  2239. #if defined(__cplusplus)
  2240.     typedef struct tagBIND_OPTS2 : tagBIND_OPTS{
  2241.     DWORD           dwTrackFlags;
  2242.     DWORD           dwClassContext;
  2243.     LCID            locale;
  2244.     COSERVERINFO *  pServerInfo;
  2245.     } BIND_OPTS2, * LPBIND_OPTS2;
  2246. #else
  2247. typedef struct tagBIND_OPTS2
  2248.     {
  2249.     DWORD cbStruct;
  2250.     DWORD grfFlags;
  2251.     DWORD grfMode;
  2252.     DWORD dwTickCountDeadline;
  2253.     DWORD dwTrackFlags;
  2254.     DWORD dwClassContext;
  2255.     LCID locale;
  2256.     COSERVERINFO __RPC_FAR *pServerInfo;
  2257.     }    BIND_OPTS2;
  2258.  
  2259. typedef struct tagBIND_OPTS2 __RPC_FAR *LPBIND_OPTS2;
  2260.  
  2261. #endif
  2262. typedef 
  2263. enum tagBIND_FLAGS
  2264.     {    BIND_MAYBOTHERUSER    = 1,
  2265.     BIND_JUSTTESTEXISTENCE    = 2
  2266.     }    BIND_FLAGS;
  2267.  
  2268.  
  2269. EXTERN_C const IID IID_IBindCtx;
  2270.  
  2271. #if defined(__cplusplus) && !defined(CINTERFACE)
  2272.     
  2273.     MIDL_INTERFACE("0000000e-0000-0000-C000-000000000046")
  2274.     IBindCtx : public IUnknown
  2275.     {
  2276.     public:
  2277.         virtual HRESULT STDMETHODCALLTYPE RegisterObjectBound( 
  2278.             /* [unique][in] */ IUnknown __RPC_FAR *punk) = 0;
  2279.         
  2280.         virtual HRESULT STDMETHODCALLTYPE RevokeObjectBound( 
  2281.             /* [unique][in] */ IUnknown __RPC_FAR *punk) = 0;
  2282.         
  2283.         virtual HRESULT STDMETHODCALLTYPE ReleaseBoundObjects( void) = 0;
  2284.         
  2285.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetBindOptions( 
  2286.             /* [in] */ BIND_OPTS __RPC_FAR *pbindopts) = 0;
  2287.         
  2288.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetBindOptions( 
  2289.             /* [out][in] */ BIND_OPTS __RPC_FAR *pbindopts) = 0;
  2290.         
  2291.         virtual HRESULT STDMETHODCALLTYPE GetRunningObjectTable( 
  2292.             /* [out] */ IRunningObjectTable __RPC_FAR *__RPC_FAR *pprot) = 0;
  2293.         
  2294.         virtual HRESULT STDMETHODCALLTYPE RegisterObjectParam( 
  2295.             /* [in] */ LPOLESTR pszKey,
  2296.             /* [unique][in] */ IUnknown __RPC_FAR *punk) = 0;
  2297.         
  2298.         virtual HRESULT STDMETHODCALLTYPE GetObjectParam( 
  2299.             /* [in] */ LPOLESTR pszKey,
  2300.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk) = 0;
  2301.         
  2302.         virtual HRESULT STDMETHODCALLTYPE EnumObjectParam( 
  2303.             /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenum) = 0;
  2304.         
  2305.         virtual HRESULT STDMETHODCALLTYPE RevokeObjectParam( 
  2306.             /* [in] */ LPOLESTR pszKey) = 0;
  2307.         
  2308.     };
  2309.     
  2310. #else     /* C style interface */
  2311.  
  2312.     typedef struct IBindCtxVtbl
  2313.     {
  2314.         BEGIN_INTERFACE
  2315.         
  2316.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2317.             IBindCtx __RPC_FAR * This,
  2318.             /* [in] */ REFIID riid,
  2319.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2320.         
  2321.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2322.             IBindCtx __RPC_FAR * This);
  2323.         
  2324.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2325.             IBindCtx __RPC_FAR * This);
  2326.         
  2327.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterObjectBound )( 
  2328.             IBindCtx __RPC_FAR * This,
  2329.             /* [unique][in] */ IUnknown __RPC_FAR *punk);
  2330.         
  2331.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RevokeObjectBound )( 
  2332.             IBindCtx __RPC_FAR * This,
  2333.             /* [unique][in] */ IUnknown __RPC_FAR *punk);
  2334.         
  2335.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseBoundObjects )( 
  2336.             IBindCtx __RPC_FAR * This);
  2337.         
  2338.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBindOptions )( 
  2339.             IBindCtx __RPC_FAR * This,
  2340.             /* [in] */ BIND_OPTS __RPC_FAR *pbindopts);
  2341.         
  2342.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBindOptions )( 
  2343.             IBindCtx __RPC_FAR * This,
  2344.             /* [out][in] */ BIND_OPTS __RPC_FAR *pbindopts);
  2345.         
  2346.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRunningObjectTable )( 
  2347.             IBindCtx __RPC_FAR * This,
  2348.             /* [out] */ IRunningObjectTable __RPC_FAR *__RPC_FAR *pprot);
  2349.         
  2350.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterObjectParam )( 
  2351.             IBindCtx __RPC_FAR * This,
  2352.             /* [in] */ LPOLESTR pszKey,
  2353.             /* [unique][in] */ IUnknown __RPC_FAR *punk);
  2354.         
  2355.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObjectParam )( 
  2356.             IBindCtx __RPC_FAR * This,
  2357.             /* [in] */ LPOLESTR pszKey,
  2358.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk);
  2359.         
  2360.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumObjectParam )( 
  2361.             IBindCtx __RPC_FAR * This,
  2362.             /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenum);
  2363.         
  2364.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RevokeObjectParam )( 
  2365.             IBindCtx __RPC_FAR * This,
  2366.             /* [in] */ LPOLESTR pszKey);
  2367.         
  2368.         END_INTERFACE
  2369.     } IBindCtxVtbl;
  2370.  
  2371.     interface IBindCtx
  2372.     {
  2373.         CONST_VTBL struct IBindCtxVtbl __RPC_FAR *lpVtbl;
  2374.     };
  2375.  
  2376.     
  2377.  
  2378. #ifdef COBJMACROS
  2379.  
  2380.  
  2381. #define IBindCtx_QueryInterface(This,riid,ppvObject)    \
  2382.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2383.  
  2384. #define IBindCtx_AddRef(This)    \
  2385.     (This)->lpVtbl -> AddRef(This)
  2386.  
  2387. #define IBindCtx_Release(This)    \
  2388.     (This)->lpVtbl -> Release(This)
  2389.  
  2390.  
  2391. #define IBindCtx_RegisterObjectBound(This,punk)    \
  2392.     (This)->lpVtbl -> RegisterObjectBound(This,punk)
  2393.  
  2394. #define IBindCtx_RevokeObjectBound(This,punk)    \
  2395.     (This)->lpVtbl -> RevokeObjectBound(This,punk)
  2396.  
  2397. #define IBindCtx_ReleaseBoundObjects(This)    \
  2398.     (This)->lpVtbl -> ReleaseBoundObjects(This)
  2399.  
  2400. #define IBindCtx_SetBindOptions(This,pbindopts)    \
  2401.     (This)->lpVtbl -> SetBindOptions(This,pbindopts)
  2402.  
  2403. #define IBindCtx_GetBindOptions(This,pbindopts)    \
  2404.     (This)->lpVtbl -> GetBindOptions(This,pbindopts)
  2405.  
  2406. #define IBindCtx_GetRunningObjectTable(This,pprot)    \
  2407.     (This)->lpVtbl -> GetRunningObjectTable(This,pprot)
  2408.  
  2409. #define IBindCtx_RegisterObjectParam(This,pszKey,punk)    \
  2410.     (This)->lpVtbl -> RegisterObjectParam(This,pszKey,punk)
  2411.  
  2412. #define IBindCtx_GetObjectParam(This,pszKey,ppunk)    \
  2413.     (This)->lpVtbl -> GetObjectParam(This,pszKey,ppunk)
  2414.  
  2415. #define IBindCtx_EnumObjectParam(This,ppenum)    \
  2416.     (This)->lpVtbl -> EnumObjectParam(This,ppenum)
  2417.  
  2418. #define IBindCtx_RevokeObjectParam(This,pszKey)    \
  2419.     (This)->lpVtbl -> RevokeObjectParam(This,pszKey)
  2420.  
  2421. #endif /* COBJMACROS */
  2422.  
  2423.  
  2424. #endif     /* C style interface */
  2425.  
  2426.  
  2427.  
  2428. HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectBound_Proxy( 
  2429.     IBindCtx __RPC_FAR * This,
  2430.     /* [unique][in] */ IUnknown __RPC_FAR *punk);
  2431.  
  2432.  
  2433. void __RPC_STUB IBindCtx_RegisterObjectBound_Stub(
  2434.     IRpcStubBuffer *This,
  2435.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2436.     PRPC_MESSAGE _pRpcMessage,
  2437.     DWORD *_pdwStubPhase);
  2438.  
  2439.  
  2440. HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectBound_Proxy( 
  2441.     IBindCtx __RPC_FAR * This,
  2442.     /* [unique][in] */ IUnknown __RPC_FAR *punk);
  2443.  
  2444.  
  2445. void __RPC_STUB IBindCtx_RevokeObjectBound_Stub(
  2446.     IRpcStubBuffer *This,
  2447.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2448.     PRPC_MESSAGE _pRpcMessage,
  2449.     DWORD *_pdwStubPhase);
  2450.  
  2451.  
  2452. HRESULT STDMETHODCALLTYPE IBindCtx_ReleaseBoundObjects_Proxy( 
  2453.     IBindCtx __RPC_FAR * This);
  2454.  
  2455.  
  2456. void __RPC_STUB IBindCtx_ReleaseBoundObjects_Stub(
  2457.     IRpcStubBuffer *This,
  2458.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2459.     PRPC_MESSAGE _pRpcMessage,
  2460.     DWORD *_pdwStubPhase);
  2461.  
  2462.  
  2463. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindCtx_RemoteSetBindOptions_Proxy( 
  2464.     IBindCtx __RPC_FAR * This,
  2465.     /* [in] */ BIND_OPTS2 __RPC_FAR *pbindopts);
  2466.  
  2467.  
  2468. void __RPC_STUB IBindCtx_RemoteSetBindOptions_Stub(
  2469.     IRpcStubBuffer *This,
  2470.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2471.     PRPC_MESSAGE _pRpcMessage,
  2472.     DWORD *_pdwStubPhase);
  2473.  
  2474.  
  2475. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindCtx_RemoteGetBindOptions_Proxy( 
  2476.     IBindCtx __RPC_FAR * This,
  2477.     /* [out][in] */ BIND_OPTS2 __RPC_FAR *pbindopts);
  2478.  
  2479.  
  2480. void __RPC_STUB IBindCtx_RemoteGetBindOptions_Stub(
  2481.     IRpcStubBuffer *This,
  2482.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2483.     PRPC_MESSAGE _pRpcMessage,
  2484.     DWORD *_pdwStubPhase);
  2485.  
  2486.  
  2487. HRESULT STDMETHODCALLTYPE IBindCtx_GetRunningObjectTable_Proxy( 
  2488.     IBindCtx __RPC_FAR * This,
  2489.     /* [out] */ IRunningObjectTable __RPC_FAR *__RPC_FAR *pprot);
  2490.  
  2491.  
  2492. void __RPC_STUB IBindCtx_GetRunningObjectTable_Stub(
  2493.     IRpcStubBuffer *This,
  2494.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2495.     PRPC_MESSAGE _pRpcMessage,
  2496.     DWORD *_pdwStubPhase);
  2497.  
  2498.  
  2499. HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectParam_Proxy( 
  2500.     IBindCtx __RPC_FAR * This,
  2501.     /* [in] */ LPOLESTR pszKey,
  2502.     /* [unique][in] */ IUnknown __RPC_FAR *punk);
  2503.  
  2504.  
  2505. void __RPC_STUB IBindCtx_RegisterObjectParam_Stub(
  2506.     IRpcStubBuffer *This,
  2507.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2508.     PRPC_MESSAGE _pRpcMessage,
  2509.     DWORD *_pdwStubPhase);
  2510.  
  2511.  
  2512. HRESULT STDMETHODCALLTYPE IBindCtx_GetObjectParam_Proxy( 
  2513.     IBindCtx __RPC_FAR * This,
  2514.     /* [in] */ LPOLESTR pszKey,
  2515.     /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunk);
  2516.  
  2517.  
  2518. void __RPC_STUB IBindCtx_GetObjectParam_Stub(
  2519.     IRpcStubBuffer *This,
  2520.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2521.     PRPC_MESSAGE _pRpcMessage,
  2522.     DWORD *_pdwStubPhase);
  2523.  
  2524.  
  2525. HRESULT STDMETHODCALLTYPE IBindCtx_EnumObjectParam_Proxy( 
  2526.     IBindCtx __RPC_FAR * This,
  2527.     /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenum);
  2528.  
  2529.  
  2530. void __RPC_STUB IBindCtx_EnumObjectParam_Stub(
  2531.     IRpcStubBuffer *This,
  2532.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2533.     PRPC_MESSAGE _pRpcMessage,
  2534.     DWORD *_pdwStubPhase);
  2535.  
  2536.  
  2537. HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectParam_Proxy( 
  2538.     IBindCtx __RPC_FAR * This,
  2539.     /* [in] */ LPOLESTR pszKey);
  2540.  
  2541.  
  2542. void __RPC_STUB IBindCtx_RevokeObjectParam_Stub(
  2543.     IRpcStubBuffer *This,
  2544.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2545.     PRPC_MESSAGE _pRpcMessage,
  2546.     DWORD *_pdwStubPhase);
  2547.  
  2548.  
  2549.  
  2550. #endif     /* __IBindCtx_INTERFACE_DEFINED__ */
  2551.  
  2552.  
  2553. #ifndef __IEnumMoniker_INTERFACE_DEFINED__
  2554. #define __IEnumMoniker_INTERFACE_DEFINED__
  2555.  
  2556. /* interface IEnumMoniker */
  2557. /* [unique][uuid][object] */ 
  2558.  
  2559. typedef /* [unique] */ IEnumMoniker __RPC_FAR *LPENUMMONIKER;
  2560.  
  2561.  
  2562. EXTERN_C const IID IID_IEnumMoniker;
  2563.  
  2564. #if defined(__cplusplus) && !defined(CINTERFACE)
  2565.     
  2566.     MIDL_INTERFACE("00000102-0000-0000-C000-000000000046")
  2567.     IEnumMoniker : public IUnknown
  2568.     {
  2569.     public:
  2570.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next( 
  2571.             /* [in] */ ULONG celt,
  2572.             /* [length_is][size_is][out] */ IMoniker __RPC_FAR *__RPC_FAR *rgelt,
  2573.             /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  2574.         
  2575.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  2576.             /* [in] */ ULONG celt) = 0;
  2577.         
  2578.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  2579.         
  2580.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  2581.             /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenum) = 0;
  2582.         
  2583.     };
  2584.     
  2585. #else     /* C style interface */
  2586.  
  2587.     typedef struct IEnumMonikerVtbl
  2588.     {
  2589.         BEGIN_INTERFACE
  2590.         
  2591.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2592.             IEnumMoniker __RPC_FAR * This,
  2593.             /* [in] */ REFIID riid,
  2594.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2595.         
  2596.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2597.             IEnumMoniker __RPC_FAR * This);
  2598.         
  2599.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2600.             IEnumMoniker __RPC_FAR * This);
  2601.         
  2602.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  2603.             IEnumMoniker __RPC_FAR * This,
  2604.             /* [in] */ ULONG celt,
  2605.             /* [length_is][size_is][out] */ IMoniker __RPC_FAR *__RPC_FAR *rgelt,
  2606.             /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2607.         
  2608.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  2609.             IEnumMoniker __RPC_FAR * This,
  2610.             /* [in] */ ULONG celt);
  2611.         
  2612.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  2613.             IEnumMoniker __RPC_FAR * This);
  2614.         
  2615.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  2616.             IEnumMoniker __RPC_FAR * This,
  2617.             /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenum);
  2618.         
  2619.         END_INTERFACE
  2620.     } IEnumMonikerVtbl;
  2621.  
  2622.     interface IEnumMoniker
  2623.     {
  2624.         CONST_VTBL struct IEnumMonikerVtbl __RPC_FAR *lpVtbl;
  2625.     };
  2626.  
  2627.     
  2628.  
  2629. #ifdef COBJMACROS
  2630.  
  2631.  
  2632. #define IEnumMoniker_QueryInterface(This,riid,ppvObject)    \
  2633.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2634.  
  2635. #define IEnumMoniker_AddRef(This)    \
  2636.     (This)->lpVtbl -> AddRef(This)
  2637.  
  2638. #define IEnumMoniker_Release(This)    \
  2639.     (This)->lpVtbl -> Release(This)
  2640.  
  2641.  
  2642. #define IEnumMoniker_Next(This,celt,rgelt,pceltFetched)    \
  2643.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  2644.  
  2645. #define IEnumMoniker_Skip(This,celt)    \
  2646.     (This)->lpVtbl -> Skip(This,celt)
  2647.  
  2648. #define IEnumMoniker_Reset(This)    \
  2649.     (This)->lpVtbl -> Reset(This)
  2650.  
  2651. #define IEnumMoniker_Clone(This,ppenum)    \
  2652.     (This)->lpVtbl -> Clone(This,ppenum)
  2653.  
  2654. #endif /* COBJMACROS */
  2655.  
  2656.  
  2657. #endif     /* C style interface */
  2658.  
  2659.  
  2660.  
  2661. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumMoniker_RemoteNext_Proxy( 
  2662.     IEnumMoniker __RPC_FAR * This,
  2663.     /* [in] */ ULONG celt,
  2664.     /* [length_is][size_is][out] */ IMoniker __RPC_FAR *__RPC_FAR *rgelt,
  2665.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  2666.  
  2667.  
  2668. void __RPC_STUB IEnumMoniker_RemoteNext_Stub(
  2669.     IRpcStubBuffer *This,
  2670.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2671.     PRPC_MESSAGE _pRpcMessage,
  2672.     DWORD *_pdwStubPhase);
  2673.  
  2674.  
  2675. HRESULT STDMETHODCALLTYPE IEnumMoniker_Skip_Proxy( 
  2676.     IEnumMoniker __RPC_FAR * This,
  2677.     /* [in] */ ULONG celt);
  2678.  
  2679.  
  2680. void __RPC_STUB IEnumMoniker_Skip_Stub(
  2681.     IRpcStubBuffer *This,
  2682.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2683.     PRPC_MESSAGE _pRpcMessage,
  2684.     DWORD *_pdwStubPhase);
  2685.  
  2686.  
  2687. HRESULT STDMETHODCALLTYPE IEnumMoniker_Reset_Proxy( 
  2688.     IEnumMoniker __RPC_FAR * This);
  2689.  
  2690.  
  2691. void __RPC_STUB IEnumMoniker_Reset_Stub(
  2692.     IRpcStubBuffer *This,
  2693.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2694.     PRPC_MESSAGE _pRpcMessage,
  2695.     DWORD *_pdwStubPhase);
  2696.  
  2697.  
  2698. HRESULT STDMETHODCALLTYPE IEnumMoniker_Clone_Proxy( 
  2699.     IEnumMoniker __RPC_FAR * This,
  2700.     /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenum);
  2701.  
  2702.  
  2703. void __RPC_STUB IEnumMoniker_Clone_Stub(
  2704.     IRpcStubBuffer *This,
  2705.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2706.     PRPC_MESSAGE _pRpcMessage,
  2707.     DWORD *_pdwStubPhase);
  2708.  
  2709.  
  2710.  
  2711. #endif     /* __IEnumMoniker_INTERFACE_DEFINED__ */
  2712.  
  2713.  
  2714. #ifndef __IRunnableObject_INTERFACE_DEFINED__
  2715. #define __IRunnableObject_INTERFACE_DEFINED__
  2716.  
  2717. /* interface IRunnableObject */
  2718. /* [uuid][object] */ 
  2719.  
  2720. typedef /* [unique] */ IRunnableObject __RPC_FAR *LPRUNNABLEOBJECT;
  2721.  
  2722.  
  2723. EXTERN_C const IID IID_IRunnableObject;
  2724.  
  2725. #if defined(__cplusplus) && !defined(CINTERFACE)
  2726.     
  2727.     MIDL_INTERFACE("00000126-0000-0000-C000-000000000046")
  2728.     IRunnableObject : public IUnknown
  2729.     {
  2730.     public:
  2731.         virtual HRESULT STDMETHODCALLTYPE GetRunningClass( 
  2732.             /* [out] */ LPCLSID lpClsid) = 0;
  2733.         
  2734.         virtual HRESULT STDMETHODCALLTYPE Run( 
  2735.             /* [in] */ LPBINDCTX pbc) = 0;
  2736.         
  2737.         virtual /* [local] */ BOOL STDMETHODCALLTYPE IsRunning( void) = 0;
  2738.         
  2739.         virtual HRESULT STDMETHODCALLTYPE LockRunning( 
  2740.             /* [in] */ BOOL fLock,
  2741.             /* [in] */ BOOL fLastUnlockCloses) = 0;
  2742.         
  2743.         virtual HRESULT STDMETHODCALLTYPE SetContainedObject( 
  2744.             /* [in] */ BOOL fContained) = 0;
  2745.         
  2746.     };
  2747.     
  2748. #else     /* C style interface */
  2749.  
  2750.     typedef struct IRunnableObjectVtbl
  2751.     {
  2752.         BEGIN_INTERFACE
  2753.         
  2754.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2755.             IRunnableObject __RPC_FAR * This,
  2756.             /* [in] */ REFIID riid,
  2757.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2758.         
  2759.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2760.             IRunnableObject __RPC_FAR * This);
  2761.         
  2762.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2763.             IRunnableObject __RPC_FAR * This);
  2764.         
  2765.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetRunningClass )( 
  2766.             IRunnableObject __RPC_FAR * This,
  2767.             /* [out] */ LPCLSID lpClsid);
  2768.         
  2769.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Run )( 
  2770.             IRunnableObject __RPC_FAR * This,
  2771.             /* [in] */ LPBINDCTX pbc);
  2772.         
  2773.         /* [local] */ BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsRunning )( 
  2774.             IRunnableObject __RPC_FAR * This);
  2775.         
  2776.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockRunning )( 
  2777.             IRunnableObject __RPC_FAR * This,
  2778.             /* [in] */ BOOL fLock,
  2779.             /* [in] */ BOOL fLastUnlockCloses);
  2780.         
  2781.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetContainedObject )( 
  2782.             IRunnableObject __RPC_FAR * This,
  2783.             /* [in] */ BOOL fContained);
  2784.         
  2785.         END_INTERFACE
  2786.     } IRunnableObjectVtbl;
  2787.  
  2788.     interface IRunnableObject
  2789.     {
  2790.         CONST_VTBL struct IRunnableObjectVtbl __RPC_FAR *lpVtbl;
  2791.     };
  2792.  
  2793.     
  2794.  
  2795. #ifdef COBJMACROS
  2796.  
  2797.  
  2798. #define IRunnableObject_QueryInterface(This,riid,ppvObject)    \
  2799.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2800.  
  2801. #define IRunnableObject_AddRef(This)    \
  2802.     (This)->lpVtbl -> AddRef(This)
  2803.  
  2804. #define IRunnableObject_Release(This)    \
  2805.     (This)->lpVtbl -> Release(This)
  2806.  
  2807.  
  2808. #define IRunnableObject_GetRunningClass(This,lpClsid)    \
  2809.     (This)->lpVtbl -> GetRunningClass(This,lpClsid)
  2810.  
  2811. #define IRunnableObject_Run(This,pbc)    \
  2812.     (This)->lpVtbl -> Run(This,pbc)
  2813.  
  2814. #define IRunnableObject_IsRunning(This)    \
  2815.     (This)->lpVtbl -> IsRunning(This)
  2816.  
  2817. #define IRunnableObject_LockRunning(This,fLock,fLastUnlockCloses)    \
  2818.     (This)->lpVtbl -> LockRunning(This,fLock,fLastUnlockCloses)
  2819.  
  2820. #define IRunnableObject_SetContainedObject(This,fContained)    \
  2821.     (This)->lpVtbl -> SetContainedObject(This,fContained)
  2822.  
  2823. #endif /* COBJMACROS */
  2824.  
  2825.  
  2826. #endif     /* C style interface */
  2827.  
  2828.  
  2829.  
  2830. HRESULT STDMETHODCALLTYPE IRunnableObject_GetRunningClass_Proxy( 
  2831.     IRunnableObject __RPC_FAR * This,
  2832.     /* [out] */ LPCLSID lpClsid);
  2833.  
  2834.  
  2835. void __RPC_STUB IRunnableObject_GetRunningClass_Stub(
  2836.     IRpcStubBuffer *This,
  2837.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2838.     PRPC_MESSAGE _pRpcMessage,
  2839.     DWORD *_pdwStubPhase);
  2840.  
  2841.  
  2842. HRESULT STDMETHODCALLTYPE IRunnableObject_Run_Proxy( 
  2843.     IRunnableObject __RPC_FAR * This,
  2844.     /* [in] */ LPBINDCTX pbc);
  2845.  
  2846.  
  2847. void __RPC_STUB IRunnableObject_Run_Stub(
  2848.     IRpcStubBuffer *This,
  2849.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2850.     PRPC_MESSAGE _pRpcMessage,
  2851.     DWORD *_pdwStubPhase);
  2852.  
  2853.  
  2854. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRunnableObject_RemoteIsRunning_Proxy( 
  2855.     IRunnableObject __RPC_FAR * This);
  2856.  
  2857.  
  2858. void __RPC_STUB IRunnableObject_RemoteIsRunning_Stub(
  2859.     IRpcStubBuffer *This,
  2860.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2861.     PRPC_MESSAGE _pRpcMessage,
  2862.     DWORD *_pdwStubPhase);
  2863.  
  2864.  
  2865. HRESULT STDMETHODCALLTYPE IRunnableObject_LockRunning_Proxy( 
  2866.     IRunnableObject __RPC_FAR * This,
  2867.     /* [in] */ BOOL fLock,
  2868.     /* [in] */ BOOL fLastUnlockCloses);
  2869.  
  2870.  
  2871. void __RPC_STUB IRunnableObject_LockRunning_Stub(
  2872.     IRpcStubBuffer *This,
  2873.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2874.     PRPC_MESSAGE _pRpcMessage,
  2875.     DWORD *_pdwStubPhase);
  2876.  
  2877.  
  2878. HRESULT STDMETHODCALLTYPE IRunnableObject_SetContainedObject_Proxy( 
  2879.     IRunnableObject __RPC_FAR * This,
  2880.     /* [in] */ BOOL fContained);
  2881.  
  2882.  
  2883. void __RPC_STUB IRunnableObject_SetContainedObject_Stub(
  2884.     IRpcStubBuffer *This,
  2885.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2886.     PRPC_MESSAGE _pRpcMessage,
  2887.     DWORD *_pdwStubPhase);
  2888.  
  2889.  
  2890.  
  2891. #endif     /* __IRunnableObject_INTERFACE_DEFINED__ */
  2892.  
  2893.  
  2894. #ifndef __IRunningObjectTable_INTERFACE_DEFINED__
  2895. #define __IRunningObjectTable_INTERFACE_DEFINED__
  2896.  
  2897. /* interface IRunningObjectTable */
  2898. /* [uuid][object] */ 
  2899.  
  2900. typedef /* [unique] */ IRunningObjectTable __RPC_FAR *LPRUNNINGOBJECTTABLE;
  2901.  
  2902.  
  2903. EXTERN_C const IID IID_IRunningObjectTable;
  2904.  
  2905. #if defined(__cplusplus) && !defined(CINTERFACE)
  2906.     
  2907.     MIDL_INTERFACE("00000010-0000-0000-C000-000000000046")
  2908.     IRunningObjectTable : public IUnknown
  2909.     {
  2910.     public:
  2911.         virtual HRESULT STDMETHODCALLTYPE Register( 
  2912.             /* [in] */ DWORD grfFlags,
  2913.             /* [unique][in] */ IUnknown __RPC_FAR *punkObject,
  2914.             /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  2915.             /* [out] */ DWORD __RPC_FAR *pdwRegister) = 0;
  2916.         
  2917.         virtual HRESULT STDMETHODCALLTYPE Revoke( 
  2918.             /* [in] */ DWORD dwRegister) = 0;
  2919.         
  2920.         virtual HRESULT STDMETHODCALLTYPE IsRunning( 
  2921.             /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName) = 0;
  2922.         
  2923.         virtual HRESULT STDMETHODCALLTYPE GetObject( 
  2924.             /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  2925.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkObject) = 0;
  2926.         
  2927.         virtual HRESULT STDMETHODCALLTYPE NoteChangeTime( 
  2928.             /* [in] */ DWORD dwRegister,
  2929.             /* [in] */ FILETIME __RPC_FAR *pfiletime) = 0;
  2930.         
  2931.         virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange( 
  2932.             /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  2933.             /* [out] */ FILETIME __RPC_FAR *pfiletime) = 0;
  2934.         
  2935.         virtual HRESULT STDMETHODCALLTYPE EnumRunning( 
  2936.             /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenumMoniker) = 0;
  2937.         
  2938.     };
  2939.     
  2940. #else     /* C style interface */
  2941.  
  2942.     typedef struct IRunningObjectTableVtbl
  2943.     {
  2944.         BEGIN_INTERFACE
  2945.         
  2946.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  2947.             IRunningObjectTable __RPC_FAR * This,
  2948.             /* [in] */ REFIID riid,
  2949.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  2950.         
  2951.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  2952.             IRunningObjectTable __RPC_FAR * This);
  2953.         
  2954.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  2955.             IRunningObjectTable __RPC_FAR * This);
  2956.         
  2957.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Register )( 
  2958.             IRunningObjectTable __RPC_FAR * This,
  2959.             /* [in] */ DWORD grfFlags,
  2960.             /* [unique][in] */ IUnknown __RPC_FAR *punkObject,
  2961.             /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  2962.             /* [out] */ DWORD __RPC_FAR *pdwRegister);
  2963.         
  2964.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Revoke )( 
  2965.             IRunningObjectTable __RPC_FAR * This,
  2966.             /* [in] */ DWORD dwRegister);
  2967.         
  2968.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRunning )( 
  2969.             IRunningObjectTable __RPC_FAR * This,
  2970.             /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName);
  2971.         
  2972.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetObject )( 
  2973.             IRunningObjectTable __RPC_FAR * This,
  2974.             /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  2975.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkObject);
  2976.         
  2977.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NoteChangeTime )( 
  2978.             IRunningObjectTable __RPC_FAR * This,
  2979.             /* [in] */ DWORD dwRegister,
  2980.             /* [in] */ FILETIME __RPC_FAR *pfiletime);
  2981.         
  2982.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTimeOfLastChange )( 
  2983.             IRunningObjectTable __RPC_FAR * This,
  2984.             /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  2985.             /* [out] */ FILETIME __RPC_FAR *pfiletime);
  2986.         
  2987.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumRunning )( 
  2988.             IRunningObjectTable __RPC_FAR * This,
  2989.             /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenumMoniker);
  2990.         
  2991.         END_INTERFACE
  2992.     } IRunningObjectTableVtbl;
  2993.  
  2994.     interface IRunningObjectTable
  2995.     {
  2996.         CONST_VTBL struct IRunningObjectTableVtbl __RPC_FAR *lpVtbl;
  2997.     };
  2998.  
  2999.     
  3000.  
  3001. #ifdef COBJMACROS
  3002.  
  3003.  
  3004. #define IRunningObjectTable_QueryInterface(This,riid,ppvObject)    \
  3005.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3006.  
  3007. #define IRunningObjectTable_AddRef(This)    \
  3008.     (This)->lpVtbl -> AddRef(This)
  3009.  
  3010. #define IRunningObjectTable_Release(This)    \
  3011.     (This)->lpVtbl -> Release(This)
  3012.  
  3013.  
  3014. #define IRunningObjectTable_Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister)    \
  3015.     (This)->lpVtbl -> Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister)
  3016.  
  3017. #define IRunningObjectTable_Revoke(This,dwRegister)    \
  3018.     (This)->lpVtbl -> Revoke(This,dwRegister)
  3019.  
  3020. #define IRunningObjectTable_IsRunning(This,pmkObjectName)    \
  3021.     (This)->lpVtbl -> IsRunning(This,pmkObjectName)
  3022.  
  3023. #define IRunningObjectTable_GetObject(This,pmkObjectName,ppunkObject)    \
  3024.     (This)->lpVtbl -> GetObject(This,pmkObjectName,ppunkObject)
  3025.  
  3026. #define IRunningObjectTable_NoteChangeTime(This,dwRegister,pfiletime)    \
  3027.     (This)->lpVtbl -> NoteChangeTime(This,dwRegister,pfiletime)
  3028.  
  3029. #define IRunningObjectTable_GetTimeOfLastChange(This,pmkObjectName,pfiletime)    \
  3030.     (This)->lpVtbl -> GetTimeOfLastChange(This,pmkObjectName,pfiletime)
  3031.  
  3032. #define IRunningObjectTable_EnumRunning(This,ppenumMoniker)    \
  3033.     (This)->lpVtbl -> EnumRunning(This,ppenumMoniker)
  3034.  
  3035. #endif /* COBJMACROS */
  3036.  
  3037.  
  3038. #endif     /* C style interface */
  3039.  
  3040.  
  3041.  
  3042. HRESULT STDMETHODCALLTYPE IRunningObjectTable_Register_Proxy( 
  3043.     IRunningObjectTable __RPC_FAR * This,
  3044.     /* [in] */ DWORD grfFlags,
  3045.     /* [unique][in] */ IUnknown __RPC_FAR *punkObject,
  3046.     /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  3047.     /* [out] */ DWORD __RPC_FAR *pdwRegister);
  3048.  
  3049.  
  3050. void __RPC_STUB IRunningObjectTable_Register_Stub(
  3051.     IRpcStubBuffer *This,
  3052.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3053.     PRPC_MESSAGE _pRpcMessage,
  3054.     DWORD *_pdwStubPhase);
  3055.  
  3056.  
  3057. HRESULT STDMETHODCALLTYPE IRunningObjectTable_Revoke_Proxy( 
  3058.     IRunningObjectTable __RPC_FAR * This,
  3059.     /* [in] */ DWORD dwRegister);
  3060.  
  3061.  
  3062. void __RPC_STUB IRunningObjectTable_Revoke_Stub(
  3063.     IRpcStubBuffer *This,
  3064.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3065.     PRPC_MESSAGE _pRpcMessage,
  3066.     DWORD *_pdwStubPhase);
  3067.  
  3068.  
  3069. HRESULT STDMETHODCALLTYPE IRunningObjectTable_IsRunning_Proxy( 
  3070.     IRunningObjectTable __RPC_FAR * This,
  3071.     /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName);
  3072.  
  3073.  
  3074. void __RPC_STUB IRunningObjectTable_IsRunning_Stub(
  3075.     IRpcStubBuffer *This,
  3076.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3077.     PRPC_MESSAGE _pRpcMessage,
  3078.     DWORD *_pdwStubPhase);
  3079.  
  3080.  
  3081. HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetObject_Proxy( 
  3082.     IRunningObjectTable __RPC_FAR * This,
  3083.     /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  3084.     /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppunkObject);
  3085.  
  3086.  
  3087. void __RPC_STUB IRunningObjectTable_GetObject_Stub(
  3088.     IRpcStubBuffer *This,
  3089.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3090.     PRPC_MESSAGE _pRpcMessage,
  3091.     DWORD *_pdwStubPhase);
  3092.  
  3093.  
  3094. HRESULT STDMETHODCALLTYPE IRunningObjectTable_NoteChangeTime_Proxy( 
  3095.     IRunningObjectTable __RPC_FAR * This,
  3096.     /* [in] */ DWORD dwRegister,
  3097.     /* [in] */ FILETIME __RPC_FAR *pfiletime);
  3098.  
  3099.  
  3100. void __RPC_STUB IRunningObjectTable_NoteChangeTime_Stub(
  3101.     IRpcStubBuffer *This,
  3102.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3103.     PRPC_MESSAGE _pRpcMessage,
  3104.     DWORD *_pdwStubPhase);
  3105.  
  3106.  
  3107. HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetTimeOfLastChange_Proxy( 
  3108.     IRunningObjectTable __RPC_FAR * This,
  3109.     /* [unique][in] */ IMoniker __RPC_FAR *pmkObjectName,
  3110.     /* [out] */ FILETIME __RPC_FAR *pfiletime);
  3111.  
  3112.  
  3113. void __RPC_STUB IRunningObjectTable_GetTimeOfLastChange_Stub(
  3114.     IRpcStubBuffer *This,
  3115.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3116.     PRPC_MESSAGE _pRpcMessage,
  3117.     DWORD *_pdwStubPhase);
  3118.  
  3119.  
  3120. HRESULT STDMETHODCALLTYPE IRunningObjectTable_EnumRunning_Proxy( 
  3121.     IRunningObjectTable __RPC_FAR * This,
  3122.     /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenumMoniker);
  3123.  
  3124.  
  3125. void __RPC_STUB IRunningObjectTable_EnumRunning_Stub(
  3126.     IRpcStubBuffer *This,
  3127.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3128.     PRPC_MESSAGE _pRpcMessage,
  3129.     DWORD *_pdwStubPhase);
  3130.  
  3131.  
  3132.  
  3133. #endif     /* __IRunningObjectTable_INTERFACE_DEFINED__ */
  3134.  
  3135.  
  3136. #ifndef __IPersist_INTERFACE_DEFINED__
  3137. #define __IPersist_INTERFACE_DEFINED__
  3138.  
  3139. /* interface IPersist */
  3140. /* [uuid][object] */ 
  3141.  
  3142. typedef /* [unique] */ IPersist __RPC_FAR *LPPERSIST;
  3143.  
  3144.  
  3145. EXTERN_C const IID IID_IPersist;
  3146.  
  3147. #if defined(__cplusplus) && !defined(CINTERFACE)
  3148.     
  3149.     MIDL_INTERFACE("0000010c-0000-0000-C000-000000000046")
  3150.     IPersist : public IUnknown
  3151.     {
  3152.     public:
  3153.         virtual HRESULT STDMETHODCALLTYPE GetClassID( 
  3154.             /* [out] */ CLSID __RPC_FAR *pClassID) = 0;
  3155.         
  3156.     };
  3157.     
  3158. #else     /* C style interface */
  3159.  
  3160.     typedef struct IPersistVtbl
  3161.     {
  3162.         BEGIN_INTERFACE
  3163.         
  3164.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3165.             IPersist __RPC_FAR * This,
  3166.             /* [in] */ REFIID riid,
  3167.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3168.         
  3169.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3170.             IPersist __RPC_FAR * This);
  3171.         
  3172.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3173.             IPersist __RPC_FAR * This);
  3174.         
  3175.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )( 
  3176.             IPersist __RPC_FAR * This,
  3177.             /* [out] */ CLSID __RPC_FAR *pClassID);
  3178.         
  3179.         END_INTERFACE
  3180.     } IPersistVtbl;
  3181.  
  3182.     interface IPersist
  3183.     {
  3184.         CONST_VTBL struct IPersistVtbl __RPC_FAR *lpVtbl;
  3185.     };
  3186.  
  3187.     
  3188.  
  3189. #ifdef COBJMACROS
  3190.  
  3191.  
  3192. #define IPersist_QueryInterface(This,riid,ppvObject)    \
  3193.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3194.  
  3195. #define IPersist_AddRef(This)    \
  3196.     (This)->lpVtbl -> AddRef(This)
  3197.  
  3198. #define IPersist_Release(This)    \
  3199.     (This)->lpVtbl -> Release(This)
  3200.  
  3201.  
  3202. #define IPersist_GetClassID(This,pClassID)    \
  3203.     (This)->lpVtbl -> GetClassID(This,pClassID)
  3204.  
  3205. #endif /* COBJMACROS */
  3206.  
  3207.  
  3208. #endif     /* C style interface */
  3209.  
  3210.  
  3211.  
  3212. HRESULT STDMETHODCALLTYPE IPersist_GetClassID_Proxy( 
  3213.     IPersist __RPC_FAR * This,
  3214.     /* [out] */ CLSID __RPC_FAR *pClassID);
  3215.  
  3216.  
  3217. void __RPC_STUB IPersist_GetClassID_Stub(
  3218.     IRpcStubBuffer *This,
  3219.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3220.     PRPC_MESSAGE _pRpcMessage,
  3221.     DWORD *_pdwStubPhase);
  3222.  
  3223.  
  3224.  
  3225. #endif     /* __IPersist_INTERFACE_DEFINED__ */
  3226.  
  3227.  
  3228. #ifndef __IPersistStream_INTERFACE_DEFINED__
  3229. #define __IPersistStream_INTERFACE_DEFINED__
  3230.  
  3231. /* interface IPersistStream */
  3232. /* [unique][uuid][object] */ 
  3233.  
  3234. typedef /* [unique] */ IPersistStream __RPC_FAR *LPPERSISTSTREAM;
  3235.  
  3236.  
  3237. EXTERN_C const IID IID_IPersistStream;
  3238.  
  3239. #if defined(__cplusplus) && !defined(CINTERFACE)
  3240.     
  3241.     MIDL_INTERFACE("00000109-0000-0000-C000-000000000046")
  3242.     IPersistStream : public IPersist
  3243.     {
  3244.     public:
  3245.         virtual HRESULT STDMETHODCALLTYPE IsDirty( void) = 0;
  3246.         
  3247.         virtual HRESULT STDMETHODCALLTYPE Load( 
  3248.             /* [unique][in] */ IStream __RPC_FAR *pStm) = 0;
  3249.         
  3250.         virtual HRESULT STDMETHODCALLTYPE Save( 
  3251.             /* [unique][in] */ IStream __RPC_FAR *pStm,
  3252.             /* [in] */ BOOL fClearDirty) = 0;
  3253.         
  3254.         virtual HRESULT STDMETHODCALLTYPE GetSizeMax( 
  3255.             /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbSize) = 0;
  3256.         
  3257.     };
  3258.     
  3259. #else     /* C style interface */
  3260.  
  3261.     typedef struct IPersistStreamVtbl
  3262.     {
  3263.         BEGIN_INTERFACE
  3264.         
  3265.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3266.             IPersistStream __RPC_FAR * This,
  3267.             /* [in] */ REFIID riid,
  3268.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3269.         
  3270.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3271.             IPersistStream __RPC_FAR * This);
  3272.         
  3273.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3274.             IPersistStream __RPC_FAR * This);
  3275.         
  3276.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )( 
  3277.             IPersistStream __RPC_FAR * This,
  3278.             /* [out] */ CLSID __RPC_FAR *pClassID);
  3279.         
  3280.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDirty )( 
  3281.             IPersistStream __RPC_FAR * This);
  3282.         
  3283.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )( 
  3284.             IPersistStream __RPC_FAR * This,
  3285.             /* [unique][in] */ IStream __RPC_FAR *pStm);
  3286.         
  3287.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )( 
  3288.             IPersistStream __RPC_FAR * This,
  3289.             /* [unique][in] */ IStream __RPC_FAR *pStm,
  3290.             /* [in] */ BOOL fClearDirty);
  3291.         
  3292.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSizeMax )( 
  3293.             IPersistStream __RPC_FAR * This,
  3294.             /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbSize);
  3295.         
  3296.         END_INTERFACE
  3297.     } IPersistStreamVtbl;
  3298.  
  3299.     interface IPersistStream
  3300.     {
  3301.         CONST_VTBL struct IPersistStreamVtbl __RPC_FAR *lpVtbl;
  3302.     };
  3303.  
  3304.     
  3305.  
  3306. #ifdef COBJMACROS
  3307.  
  3308.  
  3309. #define IPersistStream_QueryInterface(This,riid,ppvObject)    \
  3310.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3311.  
  3312. #define IPersistStream_AddRef(This)    \
  3313.     (This)->lpVtbl -> AddRef(This)
  3314.  
  3315. #define IPersistStream_Release(This)    \
  3316.     (This)->lpVtbl -> Release(This)
  3317.  
  3318.  
  3319. #define IPersistStream_GetClassID(This,pClassID)    \
  3320.     (This)->lpVtbl -> GetClassID(This,pClassID)
  3321.  
  3322.  
  3323. #define IPersistStream_IsDirty(This)    \
  3324.     (This)->lpVtbl -> IsDirty(This)
  3325.  
  3326. #define IPersistStream_Load(This,pStm)    \
  3327.     (This)->lpVtbl -> Load(This,pStm)
  3328.  
  3329. #define IPersistStream_Save(This,pStm,fClearDirty)    \
  3330.     (This)->lpVtbl -> Save(This,pStm,fClearDirty)
  3331.  
  3332. #define IPersistStream_GetSizeMax(This,pcbSize)    \
  3333.     (This)->lpVtbl -> GetSizeMax(This,pcbSize)
  3334.  
  3335. #endif /* COBJMACROS */
  3336.  
  3337.  
  3338. #endif     /* C style interface */
  3339.  
  3340.  
  3341.  
  3342. HRESULT STDMETHODCALLTYPE IPersistStream_IsDirty_Proxy( 
  3343.     IPersistStream __RPC_FAR * This);
  3344.  
  3345.  
  3346. void __RPC_STUB IPersistStream_IsDirty_Stub(
  3347.     IRpcStubBuffer *This,
  3348.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3349.     PRPC_MESSAGE _pRpcMessage,
  3350.     DWORD *_pdwStubPhase);
  3351.  
  3352.  
  3353. HRESULT STDMETHODCALLTYPE IPersistStream_Load_Proxy( 
  3354.     IPersistStream __RPC_FAR * This,
  3355.     /* [unique][in] */ IStream __RPC_FAR *pStm);
  3356.  
  3357.  
  3358. void __RPC_STUB IPersistStream_Load_Stub(
  3359.     IRpcStubBuffer *This,
  3360.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3361.     PRPC_MESSAGE _pRpcMessage,
  3362.     DWORD *_pdwStubPhase);
  3363.  
  3364.  
  3365. HRESULT STDMETHODCALLTYPE IPersistStream_Save_Proxy( 
  3366.     IPersistStream __RPC_FAR * This,
  3367.     /* [unique][in] */ IStream __RPC_FAR *pStm,
  3368.     /* [in] */ BOOL fClearDirty);
  3369.  
  3370.  
  3371. void __RPC_STUB IPersistStream_Save_Stub(
  3372.     IRpcStubBuffer *This,
  3373.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3374.     PRPC_MESSAGE _pRpcMessage,
  3375.     DWORD *_pdwStubPhase);
  3376.  
  3377.  
  3378. HRESULT STDMETHODCALLTYPE IPersistStream_GetSizeMax_Proxy( 
  3379.     IPersistStream __RPC_FAR * This,
  3380.     /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbSize);
  3381.  
  3382.  
  3383. void __RPC_STUB IPersistStream_GetSizeMax_Stub(
  3384.     IRpcStubBuffer *This,
  3385.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3386.     PRPC_MESSAGE _pRpcMessage,
  3387.     DWORD *_pdwStubPhase);
  3388.  
  3389.  
  3390.  
  3391. #endif     /* __IPersistStream_INTERFACE_DEFINED__ */
  3392.  
  3393.  
  3394. #ifndef __IMoniker_INTERFACE_DEFINED__
  3395. #define __IMoniker_INTERFACE_DEFINED__
  3396.  
  3397. /* interface IMoniker */
  3398. /* [unique][uuid][object] */ 
  3399.  
  3400. typedef /* [unique] */ IMoniker __RPC_FAR *LPMONIKER;
  3401.  
  3402. typedef 
  3403. enum tagMKSYS
  3404.     {    MKSYS_NONE    = 0,
  3405.     MKSYS_GENERICCOMPOSITE    = 1,
  3406.     MKSYS_FILEMONIKER    = 2,
  3407.     MKSYS_ANTIMONIKER    = 3,
  3408.     MKSYS_ITEMMONIKER    = 4,
  3409.     MKSYS_POINTERMONIKER    = 5,
  3410.     MKSYS_CLASSMONIKER    = 7,
  3411.     MKSYS_OBJREFMONIKER    = 8,
  3412.     MKSYS_SESSIONMONIKER    = 9
  3413.     }    MKSYS;
  3414.  
  3415. typedef /* [v1_enum] */ 
  3416. enum tagMKREDUCE
  3417.     {    MKRREDUCE_ONE    = 3 << 16,
  3418.     MKRREDUCE_TOUSER    = 2 << 16,
  3419.     MKRREDUCE_THROUGHUSER    = 1 << 16,
  3420.     MKRREDUCE_ALL    = 0
  3421.     }    MKRREDUCE;
  3422.  
  3423.  
  3424. EXTERN_C const IID IID_IMoniker;
  3425.  
  3426. #if defined(__cplusplus) && !defined(CINTERFACE)
  3427.     
  3428.     MIDL_INTERFACE("0000000f-0000-0000-C000-000000000046")
  3429.     IMoniker : public IPersistStream
  3430.     {
  3431.     public:
  3432.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE BindToObject( 
  3433.             /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3434.             /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3435.             /* [in] */ REFIID riidResult,
  3436.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvResult) = 0;
  3437.         
  3438.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE BindToStorage( 
  3439.             /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3440.             /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3441.             /* [in] */ REFIID riid,
  3442.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObj) = 0;
  3443.         
  3444.         virtual HRESULT STDMETHODCALLTYPE Reduce( 
  3445.             /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3446.             /* [in] */ DWORD dwReduceHowFar,
  3447.             /* [unique][out][in] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkToLeft,
  3448.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkReduced) = 0;
  3449.         
  3450.         virtual HRESULT STDMETHODCALLTYPE ComposeWith( 
  3451.             /* [unique][in] */ IMoniker __RPC_FAR *pmkRight,
  3452.             /* [in] */ BOOL fOnlyIfNotGeneric,
  3453.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkComposite) = 0;
  3454.         
  3455.         virtual HRESULT STDMETHODCALLTYPE Enum( 
  3456.             /* [in] */ BOOL fForward,
  3457.             /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenumMoniker) = 0;
  3458.         
  3459.         virtual HRESULT STDMETHODCALLTYPE IsEqual( 
  3460.             /* [unique][in] */ IMoniker __RPC_FAR *pmkOtherMoniker) = 0;
  3461.         
  3462.         virtual HRESULT STDMETHODCALLTYPE Hash( 
  3463.             /* [out] */ DWORD __RPC_FAR *pdwHash) = 0;
  3464.         
  3465.         virtual HRESULT STDMETHODCALLTYPE IsRunning( 
  3466.             /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3467.             /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3468.             /* [unique][in] */ IMoniker __RPC_FAR *pmkNewlyRunning) = 0;
  3469.         
  3470.         virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange( 
  3471.             /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3472.             /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3473.             /* [out] */ FILETIME __RPC_FAR *pFileTime) = 0;
  3474.         
  3475.         virtual HRESULT STDMETHODCALLTYPE Inverse( 
  3476.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmk) = 0;
  3477.         
  3478.         virtual HRESULT STDMETHODCALLTYPE CommonPrefixWith( 
  3479.             /* [unique][in] */ IMoniker __RPC_FAR *pmkOther,
  3480.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkPrefix) = 0;
  3481.         
  3482.         virtual HRESULT STDMETHODCALLTYPE RelativePathTo( 
  3483.             /* [unique][in] */ IMoniker __RPC_FAR *pmkOther,
  3484.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkRelPath) = 0;
  3485.         
  3486.         virtual HRESULT STDMETHODCALLTYPE GetDisplayName( 
  3487.             /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3488.             /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3489.             /* [out] */ LPOLESTR __RPC_FAR *ppszDisplayName) = 0;
  3490.         
  3491.         virtual HRESULT STDMETHODCALLTYPE ParseDisplayName( 
  3492.             /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3493.             /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3494.             /* [in] */ LPOLESTR pszDisplayName,
  3495.             /* [out] */ ULONG __RPC_FAR *pchEaten,
  3496.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkOut) = 0;
  3497.         
  3498.         virtual HRESULT STDMETHODCALLTYPE IsSystemMoniker( 
  3499.             /* [out] */ DWORD __RPC_FAR *pdwMksys) = 0;
  3500.         
  3501.     };
  3502.     
  3503. #else     /* C style interface */
  3504.  
  3505.     typedef struct IMonikerVtbl
  3506.     {
  3507.         BEGIN_INTERFACE
  3508.         
  3509.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3510.             IMoniker __RPC_FAR * This,
  3511.             /* [in] */ REFIID riid,
  3512.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3513.         
  3514.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3515.             IMoniker __RPC_FAR * This);
  3516.         
  3517.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3518.             IMoniker __RPC_FAR * This);
  3519.         
  3520.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )( 
  3521.             IMoniker __RPC_FAR * This,
  3522.             /* [out] */ CLSID __RPC_FAR *pClassID);
  3523.         
  3524.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDirty )( 
  3525.             IMoniker __RPC_FAR * This);
  3526.         
  3527.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )( 
  3528.             IMoniker __RPC_FAR * This,
  3529.             /* [unique][in] */ IStream __RPC_FAR *pStm);
  3530.         
  3531.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )( 
  3532.             IMoniker __RPC_FAR * This,
  3533.             /* [unique][in] */ IStream __RPC_FAR *pStm,
  3534.             /* [in] */ BOOL fClearDirty);
  3535.         
  3536.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetSizeMax )( 
  3537.             IMoniker __RPC_FAR * This,
  3538.             /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbSize);
  3539.         
  3540.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BindToObject )( 
  3541.             IMoniker __RPC_FAR * This,
  3542.             /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3543.             /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3544.             /* [in] */ REFIID riidResult,
  3545.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvResult);
  3546.         
  3547.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BindToStorage )( 
  3548.             IMoniker __RPC_FAR * This,
  3549.             /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3550.             /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3551.             /* [in] */ REFIID riid,
  3552.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObj);
  3553.         
  3554.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reduce )( 
  3555.             IMoniker __RPC_FAR * This,
  3556.             /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3557.             /* [in] */ DWORD dwReduceHowFar,
  3558.             /* [unique][out][in] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkToLeft,
  3559.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkReduced);
  3560.         
  3561.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ComposeWith )( 
  3562.             IMoniker __RPC_FAR * This,
  3563.             /* [unique][in] */ IMoniker __RPC_FAR *pmkRight,
  3564.             /* [in] */ BOOL fOnlyIfNotGeneric,
  3565.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkComposite);
  3566.         
  3567.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Enum )( 
  3568.             IMoniker __RPC_FAR * This,
  3569.             /* [in] */ BOOL fForward,
  3570.             /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenumMoniker);
  3571.         
  3572.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsEqual )( 
  3573.             IMoniker __RPC_FAR * This,
  3574.             /* [unique][in] */ IMoniker __RPC_FAR *pmkOtherMoniker);
  3575.         
  3576.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Hash )( 
  3577.             IMoniker __RPC_FAR * This,
  3578.             /* [out] */ DWORD __RPC_FAR *pdwHash);
  3579.         
  3580.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsRunning )( 
  3581.             IMoniker __RPC_FAR * This,
  3582.             /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3583.             /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3584.             /* [unique][in] */ IMoniker __RPC_FAR *pmkNewlyRunning);
  3585.         
  3586.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTimeOfLastChange )( 
  3587.             IMoniker __RPC_FAR * This,
  3588.             /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3589.             /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3590.             /* [out] */ FILETIME __RPC_FAR *pFileTime);
  3591.         
  3592.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Inverse )( 
  3593.             IMoniker __RPC_FAR * This,
  3594.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmk);
  3595.         
  3596.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CommonPrefixWith )( 
  3597.             IMoniker __RPC_FAR * This,
  3598.             /* [unique][in] */ IMoniker __RPC_FAR *pmkOther,
  3599.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkPrefix);
  3600.         
  3601.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RelativePathTo )( 
  3602.             IMoniker __RPC_FAR * This,
  3603.             /* [unique][in] */ IMoniker __RPC_FAR *pmkOther,
  3604.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkRelPath);
  3605.         
  3606.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDisplayName )( 
  3607.             IMoniker __RPC_FAR * This,
  3608.             /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3609.             /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3610.             /* [out] */ LPOLESTR __RPC_FAR *ppszDisplayName);
  3611.         
  3612.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ParseDisplayName )( 
  3613.             IMoniker __RPC_FAR * This,
  3614.             /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3615.             /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3616.             /* [in] */ LPOLESTR pszDisplayName,
  3617.             /* [out] */ ULONG __RPC_FAR *pchEaten,
  3618.             /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkOut);
  3619.         
  3620.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsSystemMoniker )( 
  3621.             IMoniker __RPC_FAR * This,
  3622.             /* [out] */ DWORD __RPC_FAR *pdwMksys);
  3623.         
  3624.         END_INTERFACE
  3625.     } IMonikerVtbl;
  3626.  
  3627.     interface IMoniker
  3628.     {
  3629.         CONST_VTBL struct IMonikerVtbl __RPC_FAR *lpVtbl;
  3630.     };
  3631.  
  3632.     
  3633.  
  3634. #ifdef COBJMACROS
  3635.  
  3636.  
  3637. #define IMoniker_QueryInterface(This,riid,ppvObject)    \
  3638.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3639.  
  3640. #define IMoniker_AddRef(This)    \
  3641.     (This)->lpVtbl -> AddRef(This)
  3642.  
  3643. #define IMoniker_Release(This)    \
  3644.     (This)->lpVtbl -> Release(This)
  3645.  
  3646.  
  3647. #define IMoniker_GetClassID(This,pClassID)    \
  3648.     (This)->lpVtbl -> GetClassID(This,pClassID)
  3649.  
  3650.  
  3651. #define IMoniker_IsDirty(This)    \
  3652.     (This)->lpVtbl -> IsDirty(This)
  3653.  
  3654. #define IMoniker_Load(This,pStm)    \
  3655.     (This)->lpVtbl -> Load(This,pStm)
  3656.  
  3657. #define IMoniker_Save(This,pStm,fClearDirty)    \
  3658.     (This)->lpVtbl -> Save(This,pStm,fClearDirty)
  3659.  
  3660. #define IMoniker_GetSizeMax(This,pcbSize)    \
  3661.     (This)->lpVtbl -> GetSizeMax(This,pcbSize)
  3662.  
  3663.  
  3664. #define IMoniker_BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult)    \
  3665.     (This)->lpVtbl -> BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult)
  3666.  
  3667. #define IMoniker_BindToStorage(This,pbc,pmkToLeft,riid,ppvObj)    \
  3668.     (This)->lpVtbl -> BindToStorage(This,pbc,pmkToLeft,riid,ppvObj)
  3669.  
  3670. #define IMoniker_Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced)    \
  3671.     (This)->lpVtbl -> Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced)
  3672.  
  3673. #define IMoniker_ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite)    \
  3674.     (This)->lpVtbl -> ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite)
  3675.  
  3676. #define IMoniker_Enum(This,fForward,ppenumMoniker)    \
  3677.     (This)->lpVtbl -> Enum(This,fForward,ppenumMoniker)
  3678.  
  3679. #define IMoniker_IsEqual(This,pmkOtherMoniker)    \
  3680.     (This)->lpVtbl -> IsEqual(This,pmkOtherMoniker)
  3681.  
  3682. #define IMoniker_Hash(This,pdwHash)    \
  3683.     (This)->lpVtbl -> Hash(This,pdwHash)
  3684.  
  3685. #define IMoniker_IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning)    \
  3686.     (This)->lpVtbl -> IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning)
  3687.  
  3688. #define IMoniker_GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime)    \
  3689.     (This)->lpVtbl -> GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime)
  3690.  
  3691. #define IMoniker_Inverse(This,ppmk)    \
  3692.     (This)->lpVtbl -> Inverse(This,ppmk)
  3693.  
  3694. #define IMoniker_CommonPrefixWith(This,pmkOther,ppmkPrefix)    \
  3695.     (This)->lpVtbl -> CommonPrefixWith(This,pmkOther,ppmkPrefix)
  3696.  
  3697. #define IMoniker_RelativePathTo(This,pmkOther,ppmkRelPath)    \
  3698.     (This)->lpVtbl -> RelativePathTo(This,pmkOther,ppmkRelPath)
  3699.  
  3700. #define IMoniker_GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName)    \
  3701.     (This)->lpVtbl -> GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName)
  3702.  
  3703. #define IMoniker_ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut)    \
  3704.     (This)->lpVtbl -> ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut)
  3705.  
  3706. #define IMoniker_IsSystemMoniker(This,pdwMksys)    \
  3707.     (This)->lpVtbl -> IsSystemMoniker(This,pdwMksys)
  3708.  
  3709. #endif /* COBJMACROS */
  3710.  
  3711.  
  3712. #endif     /* C style interface */
  3713.  
  3714.  
  3715.  
  3716. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToObject_Proxy( 
  3717.     IMoniker __RPC_FAR * This,
  3718.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3719.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3720.     /* [in] */ REFIID riidResult,
  3721.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvResult);
  3722.  
  3723.  
  3724. void __RPC_STUB IMoniker_RemoteBindToObject_Stub(
  3725.     IRpcStubBuffer *This,
  3726.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3727.     PRPC_MESSAGE _pRpcMessage,
  3728.     DWORD *_pdwStubPhase);
  3729.  
  3730.  
  3731. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToStorage_Proxy( 
  3732.     IMoniker __RPC_FAR * This,
  3733.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3734.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3735.     /* [in] */ REFIID riid,
  3736.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObj);
  3737.  
  3738.  
  3739. void __RPC_STUB IMoniker_RemoteBindToStorage_Stub(
  3740.     IRpcStubBuffer *This,
  3741.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3742.     PRPC_MESSAGE _pRpcMessage,
  3743.     DWORD *_pdwStubPhase);
  3744.  
  3745.  
  3746. HRESULT STDMETHODCALLTYPE IMoniker_Reduce_Proxy( 
  3747.     IMoniker __RPC_FAR * This,
  3748.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3749.     /* [in] */ DWORD dwReduceHowFar,
  3750.     /* [unique][out][in] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkToLeft,
  3751.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkReduced);
  3752.  
  3753.  
  3754. void __RPC_STUB IMoniker_Reduce_Stub(
  3755.     IRpcStubBuffer *This,
  3756.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3757.     PRPC_MESSAGE _pRpcMessage,
  3758.     DWORD *_pdwStubPhase);
  3759.  
  3760.  
  3761. HRESULT STDMETHODCALLTYPE IMoniker_ComposeWith_Proxy( 
  3762.     IMoniker __RPC_FAR * This,
  3763.     /* [unique][in] */ IMoniker __RPC_FAR *pmkRight,
  3764.     /* [in] */ BOOL fOnlyIfNotGeneric,
  3765.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkComposite);
  3766.  
  3767.  
  3768. void __RPC_STUB IMoniker_ComposeWith_Stub(
  3769.     IRpcStubBuffer *This,
  3770.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3771.     PRPC_MESSAGE _pRpcMessage,
  3772.     DWORD *_pdwStubPhase);
  3773.  
  3774.  
  3775. HRESULT STDMETHODCALLTYPE IMoniker_Enum_Proxy( 
  3776.     IMoniker __RPC_FAR * This,
  3777.     /* [in] */ BOOL fForward,
  3778.     /* [out] */ IEnumMoniker __RPC_FAR *__RPC_FAR *ppenumMoniker);
  3779.  
  3780.  
  3781. void __RPC_STUB IMoniker_Enum_Stub(
  3782.     IRpcStubBuffer *This,
  3783.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3784.     PRPC_MESSAGE _pRpcMessage,
  3785.     DWORD *_pdwStubPhase);
  3786.  
  3787.  
  3788. HRESULT STDMETHODCALLTYPE IMoniker_IsEqual_Proxy( 
  3789.     IMoniker __RPC_FAR * This,
  3790.     /* [unique][in] */ IMoniker __RPC_FAR *pmkOtherMoniker);
  3791.  
  3792.  
  3793. void __RPC_STUB IMoniker_IsEqual_Stub(
  3794.     IRpcStubBuffer *This,
  3795.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3796.     PRPC_MESSAGE _pRpcMessage,
  3797.     DWORD *_pdwStubPhase);
  3798.  
  3799.  
  3800. HRESULT STDMETHODCALLTYPE IMoniker_Hash_Proxy( 
  3801.     IMoniker __RPC_FAR * This,
  3802.     /* [out] */ DWORD __RPC_FAR *pdwHash);
  3803.  
  3804.  
  3805. void __RPC_STUB IMoniker_Hash_Stub(
  3806.     IRpcStubBuffer *This,
  3807.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3808.     PRPC_MESSAGE _pRpcMessage,
  3809.     DWORD *_pdwStubPhase);
  3810.  
  3811.  
  3812. HRESULT STDMETHODCALLTYPE IMoniker_IsRunning_Proxy( 
  3813.     IMoniker __RPC_FAR * This,
  3814.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3815.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3816.     /* [unique][in] */ IMoniker __RPC_FAR *pmkNewlyRunning);
  3817.  
  3818.  
  3819. void __RPC_STUB IMoniker_IsRunning_Stub(
  3820.     IRpcStubBuffer *This,
  3821.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3822.     PRPC_MESSAGE _pRpcMessage,
  3823.     DWORD *_pdwStubPhase);
  3824.  
  3825.  
  3826. HRESULT STDMETHODCALLTYPE IMoniker_GetTimeOfLastChange_Proxy( 
  3827.     IMoniker __RPC_FAR * This,
  3828.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3829.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3830.     /* [out] */ FILETIME __RPC_FAR *pFileTime);
  3831.  
  3832.  
  3833. void __RPC_STUB IMoniker_GetTimeOfLastChange_Stub(
  3834.     IRpcStubBuffer *This,
  3835.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3836.     PRPC_MESSAGE _pRpcMessage,
  3837.     DWORD *_pdwStubPhase);
  3838.  
  3839.  
  3840. HRESULT STDMETHODCALLTYPE IMoniker_Inverse_Proxy( 
  3841.     IMoniker __RPC_FAR * This,
  3842.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmk);
  3843.  
  3844.  
  3845. void __RPC_STUB IMoniker_Inverse_Stub(
  3846.     IRpcStubBuffer *This,
  3847.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3848.     PRPC_MESSAGE _pRpcMessage,
  3849.     DWORD *_pdwStubPhase);
  3850.  
  3851.  
  3852. HRESULT STDMETHODCALLTYPE IMoniker_CommonPrefixWith_Proxy( 
  3853.     IMoniker __RPC_FAR * This,
  3854.     /* [unique][in] */ IMoniker __RPC_FAR *pmkOther,
  3855.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkPrefix);
  3856.  
  3857.  
  3858. void __RPC_STUB IMoniker_CommonPrefixWith_Stub(
  3859.     IRpcStubBuffer *This,
  3860.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3861.     PRPC_MESSAGE _pRpcMessage,
  3862.     DWORD *_pdwStubPhase);
  3863.  
  3864.  
  3865. HRESULT STDMETHODCALLTYPE IMoniker_RelativePathTo_Proxy( 
  3866.     IMoniker __RPC_FAR * This,
  3867.     /* [unique][in] */ IMoniker __RPC_FAR *pmkOther,
  3868.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkRelPath);
  3869.  
  3870.  
  3871. void __RPC_STUB IMoniker_RelativePathTo_Stub(
  3872.     IRpcStubBuffer *This,
  3873.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3874.     PRPC_MESSAGE _pRpcMessage,
  3875.     DWORD *_pdwStubPhase);
  3876.  
  3877.  
  3878. HRESULT STDMETHODCALLTYPE IMoniker_GetDisplayName_Proxy( 
  3879.     IMoniker __RPC_FAR * This,
  3880.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3881.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3882.     /* [out] */ LPOLESTR __RPC_FAR *ppszDisplayName);
  3883.  
  3884.  
  3885. void __RPC_STUB IMoniker_GetDisplayName_Stub(
  3886.     IRpcStubBuffer *This,
  3887.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3888.     PRPC_MESSAGE _pRpcMessage,
  3889.     DWORD *_pdwStubPhase);
  3890.  
  3891.  
  3892. HRESULT STDMETHODCALLTYPE IMoniker_ParseDisplayName_Proxy( 
  3893.     IMoniker __RPC_FAR * This,
  3894.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  3895.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  3896.     /* [in] */ LPOLESTR pszDisplayName,
  3897.     /* [out] */ ULONG __RPC_FAR *pchEaten,
  3898.     /* [out] */ IMoniker __RPC_FAR *__RPC_FAR *ppmkOut);
  3899.  
  3900.  
  3901. void __RPC_STUB IMoniker_ParseDisplayName_Stub(
  3902.     IRpcStubBuffer *This,
  3903.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3904.     PRPC_MESSAGE _pRpcMessage,
  3905.     DWORD *_pdwStubPhase);
  3906.  
  3907.  
  3908. HRESULT STDMETHODCALLTYPE IMoniker_IsSystemMoniker_Proxy( 
  3909.     IMoniker __RPC_FAR * This,
  3910.     /* [out] */ DWORD __RPC_FAR *pdwMksys);
  3911.  
  3912.  
  3913. void __RPC_STUB IMoniker_IsSystemMoniker_Stub(
  3914.     IRpcStubBuffer *This,
  3915.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3916.     PRPC_MESSAGE _pRpcMessage,
  3917.     DWORD *_pdwStubPhase);
  3918.  
  3919.  
  3920.  
  3921. #endif     /* __IMoniker_INTERFACE_DEFINED__ */
  3922.  
  3923.  
  3924. #ifndef __IROTData_INTERFACE_DEFINED__
  3925. #define __IROTData_INTERFACE_DEFINED__
  3926.  
  3927. /* interface IROTData */
  3928. /* [unique][uuid][object] */ 
  3929.  
  3930.  
  3931. EXTERN_C const IID IID_IROTData;
  3932.  
  3933. #if defined(__cplusplus) && !defined(CINTERFACE)
  3934.     
  3935.     MIDL_INTERFACE("f29f6bc0-5021-11ce-aa15-00006901293f")
  3936.     IROTData : public IUnknown
  3937.     {
  3938.     public:
  3939.         virtual HRESULT STDMETHODCALLTYPE GetComparisonData( 
  3940.             /* [size_is][out] */ byte __RPC_FAR *pbData,
  3941.             /* [in] */ ULONG cbMax,
  3942.             /* [out] */ ULONG __RPC_FAR *pcbData) = 0;
  3943.         
  3944.     };
  3945.     
  3946. #else     /* C style interface */
  3947.  
  3948.     typedef struct IROTDataVtbl
  3949.     {
  3950.         BEGIN_INTERFACE
  3951.         
  3952.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  3953.             IROTData __RPC_FAR * This,
  3954.             /* [in] */ REFIID riid,
  3955.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  3956.         
  3957.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  3958.             IROTData __RPC_FAR * This);
  3959.         
  3960.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  3961.             IROTData __RPC_FAR * This);
  3962.         
  3963.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetComparisonData )( 
  3964.             IROTData __RPC_FAR * This,
  3965.             /* [size_is][out] */ byte __RPC_FAR *pbData,
  3966.             /* [in] */ ULONG cbMax,
  3967.             /* [out] */ ULONG __RPC_FAR *pcbData);
  3968.         
  3969.         END_INTERFACE
  3970.     } IROTDataVtbl;
  3971.  
  3972.     interface IROTData
  3973.     {
  3974.         CONST_VTBL struct IROTDataVtbl __RPC_FAR *lpVtbl;
  3975.     };
  3976.  
  3977.     
  3978.  
  3979. #ifdef COBJMACROS
  3980.  
  3981.  
  3982. #define IROTData_QueryInterface(This,riid,ppvObject)    \
  3983.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  3984.  
  3985. #define IROTData_AddRef(This)    \
  3986.     (This)->lpVtbl -> AddRef(This)
  3987.  
  3988. #define IROTData_Release(This)    \
  3989.     (This)->lpVtbl -> Release(This)
  3990.  
  3991.  
  3992. #define IROTData_GetComparisonData(This,pbData,cbMax,pcbData)    \
  3993.     (This)->lpVtbl -> GetComparisonData(This,pbData,cbMax,pcbData)
  3994.  
  3995. #endif /* COBJMACROS */
  3996.  
  3997.  
  3998. #endif     /* C style interface */
  3999.  
  4000.  
  4001.  
  4002. HRESULT STDMETHODCALLTYPE IROTData_GetComparisonData_Proxy( 
  4003.     IROTData __RPC_FAR * This,
  4004.     /* [size_is][out] */ byte __RPC_FAR *pbData,
  4005.     /* [in] */ ULONG cbMax,
  4006.     /* [out] */ ULONG __RPC_FAR *pcbData);
  4007.  
  4008.  
  4009. void __RPC_STUB IROTData_GetComparisonData_Stub(
  4010.     IRpcStubBuffer *This,
  4011.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4012.     PRPC_MESSAGE _pRpcMessage,
  4013.     DWORD *_pdwStubPhase);
  4014.  
  4015.  
  4016.  
  4017. #endif     /* __IROTData_INTERFACE_DEFINED__ */
  4018.  
  4019.  
  4020. #ifndef __IEnumString_INTERFACE_DEFINED__
  4021. #define __IEnumString_INTERFACE_DEFINED__
  4022.  
  4023. /* interface IEnumString */
  4024. /* [unique][uuid][object] */ 
  4025.  
  4026. typedef /* [unique] */ IEnumString __RPC_FAR *LPENUMSTRING;
  4027.  
  4028.  
  4029. EXTERN_C const IID IID_IEnumString;
  4030.  
  4031. #if defined(__cplusplus) && !defined(CINTERFACE)
  4032.     
  4033.     MIDL_INTERFACE("00000101-0000-0000-C000-000000000046")
  4034.     IEnumString : public IUnknown
  4035.     {
  4036.     public:
  4037.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next( 
  4038.             /* [in] */ ULONG celt,
  4039.             /* [length_is][size_is][out] */ LPOLESTR __RPC_FAR *rgelt,
  4040.             /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  4041.         
  4042.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  4043.             /* [in] */ ULONG celt) = 0;
  4044.         
  4045.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  4046.         
  4047.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  4048.             /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenum) = 0;
  4049.         
  4050.     };
  4051.     
  4052. #else     /* C style interface */
  4053.  
  4054.     typedef struct IEnumStringVtbl
  4055.     {
  4056.         BEGIN_INTERFACE
  4057.         
  4058.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4059.             IEnumString __RPC_FAR * This,
  4060.             /* [in] */ REFIID riid,
  4061.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4062.         
  4063.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4064.             IEnumString __RPC_FAR * This);
  4065.         
  4066.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4067.             IEnumString __RPC_FAR * This);
  4068.         
  4069.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  4070.             IEnumString __RPC_FAR * This,
  4071.             /* [in] */ ULONG celt,
  4072.             /* [length_is][size_is][out] */ LPOLESTR __RPC_FAR *rgelt,
  4073.             /* [out] */ ULONG __RPC_FAR *pceltFetched);
  4074.         
  4075.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  4076.             IEnumString __RPC_FAR * This,
  4077.             /* [in] */ ULONG celt);
  4078.         
  4079.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  4080.             IEnumString __RPC_FAR * This);
  4081.         
  4082.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  4083.             IEnumString __RPC_FAR * This,
  4084.             /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenum);
  4085.         
  4086.         END_INTERFACE
  4087.     } IEnumStringVtbl;
  4088.  
  4089.     interface IEnumString
  4090.     {
  4091.         CONST_VTBL struct IEnumStringVtbl __RPC_FAR *lpVtbl;
  4092.     };
  4093.  
  4094.     
  4095.  
  4096. #ifdef COBJMACROS
  4097.  
  4098.  
  4099. #define IEnumString_QueryInterface(This,riid,ppvObject)    \
  4100.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4101.  
  4102. #define IEnumString_AddRef(This)    \
  4103.     (This)->lpVtbl -> AddRef(This)
  4104.  
  4105. #define IEnumString_Release(This)    \
  4106.     (This)->lpVtbl -> Release(This)
  4107.  
  4108.  
  4109. #define IEnumString_Next(This,celt,rgelt,pceltFetched)    \
  4110.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  4111.  
  4112. #define IEnumString_Skip(This,celt)    \
  4113.     (This)->lpVtbl -> Skip(This,celt)
  4114.  
  4115. #define IEnumString_Reset(This)    \
  4116.     (This)->lpVtbl -> Reset(This)
  4117.  
  4118. #define IEnumString_Clone(This,ppenum)    \
  4119.     (This)->lpVtbl -> Clone(This,ppenum)
  4120.  
  4121. #endif /* COBJMACROS */
  4122.  
  4123.  
  4124. #endif     /* C style interface */
  4125.  
  4126.  
  4127.  
  4128. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumString_RemoteNext_Proxy( 
  4129.     IEnumString __RPC_FAR * This,
  4130.     /* [in] */ ULONG celt,
  4131.     /* [length_is][size_is][out] */ LPOLESTR __RPC_FAR *rgelt,
  4132.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  4133.  
  4134.  
  4135. void __RPC_STUB IEnumString_RemoteNext_Stub(
  4136.     IRpcStubBuffer *This,
  4137.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4138.     PRPC_MESSAGE _pRpcMessage,
  4139.     DWORD *_pdwStubPhase);
  4140.  
  4141.  
  4142. HRESULT STDMETHODCALLTYPE IEnumString_Skip_Proxy( 
  4143.     IEnumString __RPC_FAR * This,
  4144.     /* [in] */ ULONG celt);
  4145.  
  4146.  
  4147. void __RPC_STUB IEnumString_Skip_Stub(
  4148.     IRpcStubBuffer *This,
  4149.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4150.     PRPC_MESSAGE _pRpcMessage,
  4151.     DWORD *_pdwStubPhase);
  4152.  
  4153.  
  4154. HRESULT STDMETHODCALLTYPE IEnumString_Reset_Proxy( 
  4155.     IEnumString __RPC_FAR * This);
  4156.  
  4157.  
  4158. void __RPC_STUB IEnumString_Reset_Stub(
  4159.     IRpcStubBuffer *This,
  4160.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4161.     PRPC_MESSAGE _pRpcMessage,
  4162.     DWORD *_pdwStubPhase);
  4163.  
  4164.  
  4165. HRESULT STDMETHODCALLTYPE IEnumString_Clone_Proxy( 
  4166.     IEnumString __RPC_FAR * This,
  4167.     /* [out] */ IEnumString __RPC_FAR *__RPC_FAR *ppenum);
  4168.  
  4169.  
  4170. void __RPC_STUB IEnumString_Clone_Stub(
  4171.     IRpcStubBuffer *This,
  4172.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4173.     PRPC_MESSAGE _pRpcMessage,
  4174.     DWORD *_pdwStubPhase);
  4175.  
  4176.  
  4177.  
  4178. #endif     /* __IEnumString_INTERFACE_DEFINED__ */
  4179.  
  4180.  
  4181. #ifndef __ISequentialStream_INTERFACE_DEFINED__
  4182. #define __ISequentialStream_INTERFACE_DEFINED__
  4183.  
  4184. /* interface ISequentialStream */
  4185. /* [unique][uuid][object] */ 
  4186.  
  4187.  
  4188. EXTERN_C const IID IID_ISequentialStream;
  4189.  
  4190. #if defined(__cplusplus) && !defined(CINTERFACE)
  4191.     
  4192.     MIDL_INTERFACE("0c733a30-2a1c-11ce-ade5-00aa0044773d")
  4193.     ISequentialStream : public IUnknown
  4194.     {
  4195.     public:
  4196.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Read( 
  4197.             /* [length_is][size_is][out] */ void __RPC_FAR *pv,
  4198.             /* [in] */ ULONG cb,
  4199.             /* [out] */ ULONG __RPC_FAR *pcbRead) = 0;
  4200.         
  4201.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Write( 
  4202.             /* [size_is][in] */ const void __RPC_FAR *pv,
  4203.             /* [in] */ ULONG cb,
  4204.             /* [out] */ ULONG __RPC_FAR *pcbWritten) = 0;
  4205.         
  4206.     };
  4207.     
  4208. #else     /* C style interface */
  4209.  
  4210.     typedef struct ISequentialStreamVtbl
  4211.     {
  4212.         BEGIN_INTERFACE
  4213.         
  4214.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4215.             ISequentialStream __RPC_FAR * This,
  4216.             /* [in] */ REFIID riid,
  4217.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4218.         
  4219.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4220.             ISequentialStream __RPC_FAR * This);
  4221.         
  4222.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4223.             ISequentialStream __RPC_FAR * This);
  4224.         
  4225.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Read )( 
  4226.             ISequentialStream __RPC_FAR * This,
  4227.             /* [length_is][size_is][out] */ void __RPC_FAR *pv,
  4228.             /* [in] */ ULONG cb,
  4229.             /* [out] */ ULONG __RPC_FAR *pcbRead);
  4230.         
  4231.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Write )( 
  4232.             ISequentialStream __RPC_FAR * This,
  4233.             /* [size_is][in] */ const void __RPC_FAR *pv,
  4234.             /* [in] */ ULONG cb,
  4235.             /* [out] */ ULONG __RPC_FAR *pcbWritten);
  4236.         
  4237.         END_INTERFACE
  4238.     } ISequentialStreamVtbl;
  4239.  
  4240.     interface ISequentialStream
  4241.     {
  4242.         CONST_VTBL struct ISequentialStreamVtbl __RPC_FAR *lpVtbl;
  4243.     };
  4244.  
  4245.     
  4246.  
  4247. #ifdef COBJMACROS
  4248.  
  4249.  
  4250. #define ISequentialStream_QueryInterface(This,riid,ppvObject)    \
  4251.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4252.  
  4253. #define ISequentialStream_AddRef(This)    \
  4254.     (This)->lpVtbl -> AddRef(This)
  4255.  
  4256. #define ISequentialStream_Release(This)    \
  4257.     (This)->lpVtbl -> Release(This)
  4258.  
  4259.  
  4260. #define ISequentialStream_Read(This,pv,cb,pcbRead)    \
  4261.     (This)->lpVtbl -> Read(This,pv,cb,pcbRead)
  4262.  
  4263. #define ISequentialStream_Write(This,pv,cb,pcbWritten)    \
  4264.     (This)->lpVtbl -> Write(This,pv,cb,pcbWritten)
  4265.  
  4266. #endif /* COBJMACROS */
  4267.  
  4268.  
  4269. #endif     /* C style interface */
  4270.  
  4271.  
  4272.  
  4273. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteRead_Proxy( 
  4274.     ISequentialStream __RPC_FAR * This,
  4275.     /* [length_is][size_is][out] */ byte __RPC_FAR *pv,
  4276.     /* [in] */ ULONG cb,
  4277.     /* [out] */ ULONG __RPC_FAR *pcbRead);
  4278.  
  4279.  
  4280. void __RPC_STUB ISequentialStream_RemoteRead_Stub(
  4281.     IRpcStubBuffer *This,
  4282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4283.     PRPC_MESSAGE _pRpcMessage,
  4284.     DWORD *_pdwStubPhase);
  4285.  
  4286.  
  4287. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteWrite_Proxy( 
  4288.     ISequentialStream __RPC_FAR * This,
  4289.     /* [size_is][in] */ const byte __RPC_FAR *pv,
  4290.     /* [in] */ ULONG cb,
  4291.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  4292.  
  4293.  
  4294. void __RPC_STUB ISequentialStream_RemoteWrite_Stub(
  4295.     IRpcStubBuffer *This,
  4296.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4297.     PRPC_MESSAGE _pRpcMessage,
  4298.     DWORD *_pdwStubPhase);
  4299.  
  4300.  
  4301.  
  4302. #endif     /* __ISequentialStream_INTERFACE_DEFINED__ */
  4303.  
  4304.  
  4305. #ifndef __IStream_INTERFACE_DEFINED__
  4306. #define __IStream_INTERFACE_DEFINED__
  4307.  
  4308. /* interface IStream */
  4309. /* [unique][uuid][object] */ 
  4310.  
  4311. typedef /* [unique] */ IStream __RPC_FAR *LPSTREAM;
  4312.  
  4313. //FSSpec is Macintosh only, defined in macos\files.h
  4314. #ifdef _MAC
  4315.     typedef struct tagSTATSTG
  4316.     {                      
  4317.         LPOLESTR pwcsName;
  4318.             FSSpec *pspec;
  4319.         DWORD type;
  4320.         ULARGE_INTEGER cbSize;
  4321.         FILETIME mtime;
  4322.         FILETIME ctime;
  4323.         FILETIME atime;
  4324.         DWORD grfMode;
  4325.         DWORD grfLocksSupported;
  4326.         CLSID clsid;
  4327.         DWORD grfStateBits;
  4328.         DWORD reserved;
  4329.     } STATSTG;
  4330. #else //_MAC
  4331. typedef struct tagSTATSTG
  4332.     {
  4333.     LPOLESTR pwcsName;
  4334.     DWORD type;
  4335.     ULARGE_INTEGER cbSize;
  4336.     FILETIME mtime;
  4337.     FILETIME ctime;
  4338.     FILETIME atime;
  4339.     DWORD grfMode;
  4340.     DWORD grfLocksSupported;
  4341.     CLSID clsid;
  4342.     DWORD grfStateBits;
  4343.     DWORD reserved;
  4344.     }    STATSTG;
  4345.  
  4346. #endif //_MAC
  4347. typedef 
  4348. enum tagSTGTY
  4349.     {    STGTY_STORAGE    = 1,
  4350.     STGTY_STREAM    = 2,
  4351.     STGTY_LOCKBYTES    = 3,
  4352.     STGTY_PROPERTY    = 4
  4353.     }    STGTY;
  4354.  
  4355. typedef 
  4356. enum tagSTREAM_SEEK
  4357.     {    STREAM_SEEK_SET    = 0,
  4358.     STREAM_SEEK_CUR    = 1,
  4359.     STREAM_SEEK_END    = 2
  4360.     }    STREAM_SEEK;
  4361.  
  4362. typedef 
  4363. enum tagLOCKTYPE
  4364.     {    LOCK_WRITE    = 1,
  4365.     LOCK_EXCLUSIVE    = 2,
  4366.     LOCK_ONLYONCE    = 4
  4367.     }    LOCKTYPE;
  4368.  
  4369.  
  4370. EXTERN_C const IID IID_IStream;
  4371.  
  4372. #if defined(__cplusplus) && !defined(CINTERFACE)
  4373.     
  4374.     MIDL_INTERFACE("0000000c-0000-0000-C000-000000000046")
  4375.     IStream : public ISequentialStream
  4376.     {
  4377.     public:
  4378.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Seek( 
  4379.             /* [in] */ LARGE_INTEGER dlibMove,
  4380.             /* [in] */ DWORD dwOrigin,
  4381.             /* [out] */ ULARGE_INTEGER __RPC_FAR *plibNewPosition) = 0;
  4382.         
  4383.         virtual HRESULT STDMETHODCALLTYPE SetSize( 
  4384.             /* [in] */ ULARGE_INTEGER libNewSize) = 0;
  4385.         
  4386.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CopyTo( 
  4387.             /* [unique][in] */ IStream __RPC_FAR *pstm,
  4388.             /* [in] */ ULARGE_INTEGER cb,
  4389.             /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbRead,
  4390.             /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbWritten) = 0;
  4391.         
  4392.         virtual HRESULT STDMETHODCALLTYPE Commit( 
  4393.             /* [in] */ DWORD grfCommitFlags) = 0;
  4394.         
  4395.         virtual HRESULT STDMETHODCALLTYPE Revert( void) = 0;
  4396.         
  4397.         virtual HRESULT STDMETHODCALLTYPE LockRegion( 
  4398.             /* [in] */ ULARGE_INTEGER libOffset,
  4399.             /* [in] */ ULARGE_INTEGER cb,
  4400.             /* [in] */ DWORD dwLockType) = 0;
  4401.         
  4402.         virtual HRESULT STDMETHODCALLTYPE UnlockRegion( 
  4403.             /* [in] */ ULARGE_INTEGER libOffset,
  4404.             /* [in] */ ULARGE_INTEGER cb,
  4405.             /* [in] */ DWORD dwLockType) = 0;
  4406.         
  4407.         virtual HRESULT STDMETHODCALLTYPE Stat( 
  4408.             /* [out] */ STATSTG __RPC_FAR *pstatstg,
  4409.             /* [in] */ DWORD grfStatFlag) = 0;
  4410.         
  4411.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  4412.             /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm) = 0;
  4413.         
  4414.     };
  4415.     
  4416. #else     /* C style interface */
  4417.  
  4418.     typedef struct IStreamVtbl
  4419.     {
  4420.         BEGIN_INTERFACE
  4421.         
  4422.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4423.             IStream __RPC_FAR * This,
  4424.             /* [in] */ REFIID riid,
  4425.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4426.         
  4427.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4428.             IStream __RPC_FAR * This);
  4429.         
  4430.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4431.             IStream __RPC_FAR * This);
  4432.         
  4433.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Read )( 
  4434.             IStream __RPC_FAR * This,
  4435.             /* [length_is][size_is][out] */ void __RPC_FAR *pv,
  4436.             /* [in] */ ULONG cb,
  4437.             /* [out] */ ULONG __RPC_FAR *pcbRead);
  4438.         
  4439.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Write )( 
  4440.             IStream __RPC_FAR * This,
  4441.             /* [size_is][in] */ const void __RPC_FAR *pv,
  4442.             /* [in] */ ULONG cb,
  4443.             /* [out] */ ULONG __RPC_FAR *pcbWritten);
  4444.         
  4445.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Seek )( 
  4446.             IStream __RPC_FAR * This,
  4447.             /* [in] */ LARGE_INTEGER dlibMove,
  4448.             /* [in] */ DWORD dwOrigin,
  4449.             /* [out] */ ULARGE_INTEGER __RPC_FAR *plibNewPosition);
  4450.         
  4451.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSize )( 
  4452.             IStream __RPC_FAR * This,
  4453.             /* [in] */ ULARGE_INTEGER libNewSize);
  4454.         
  4455.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyTo )( 
  4456.             IStream __RPC_FAR * This,
  4457.             /* [unique][in] */ IStream __RPC_FAR *pstm,
  4458.             /* [in] */ ULARGE_INTEGER cb,
  4459.             /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbRead,
  4460.             /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbWritten);
  4461.         
  4462.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )( 
  4463.             IStream __RPC_FAR * This,
  4464.             /* [in] */ DWORD grfCommitFlags);
  4465.         
  4466.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Revert )( 
  4467.             IStream __RPC_FAR * This);
  4468.         
  4469.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockRegion )( 
  4470.             IStream __RPC_FAR * This,
  4471.             /* [in] */ ULARGE_INTEGER libOffset,
  4472.             /* [in] */ ULARGE_INTEGER cb,
  4473.             /* [in] */ DWORD dwLockType);
  4474.         
  4475.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnlockRegion )( 
  4476.             IStream __RPC_FAR * This,
  4477.             /* [in] */ ULARGE_INTEGER libOffset,
  4478.             /* [in] */ ULARGE_INTEGER cb,
  4479.             /* [in] */ DWORD dwLockType);
  4480.         
  4481.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stat )( 
  4482.             IStream __RPC_FAR * This,
  4483.             /* [out] */ STATSTG __RPC_FAR *pstatstg,
  4484.             /* [in] */ DWORD grfStatFlag);
  4485.         
  4486.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  4487.             IStream __RPC_FAR * This,
  4488.             /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  4489.         
  4490.         END_INTERFACE
  4491.     } IStreamVtbl;
  4492.  
  4493.     interface IStream
  4494.     {
  4495.         CONST_VTBL struct IStreamVtbl __RPC_FAR *lpVtbl;
  4496.     };
  4497.  
  4498.     
  4499.  
  4500. #ifdef COBJMACROS
  4501.  
  4502.  
  4503. #define IStream_QueryInterface(This,riid,ppvObject)    \
  4504.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4505.  
  4506. #define IStream_AddRef(This)    \
  4507.     (This)->lpVtbl -> AddRef(This)
  4508.  
  4509. #define IStream_Release(This)    \
  4510.     (This)->lpVtbl -> Release(This)
  4511.  
  4512.  
  4513. #define IStream_Read(This,pv,cb,pcbRead)    \
  4514.     (This)->lpVtbl -> Read(This,pv,cb,pcbRead)
  4515.  
  4516. #define IStream_Write(This,pv,cb,pcbWritten)    \
  4517.     (This)->lpVtbl -> Write(This,pv,cb,pcbWritten)
  4518.  
  4519.  
  4520. #define IStream_Seek(This,dlibMove,dwOrigin,plibNewPosition)    \
  4521.     (This)->lpVtbl -> Seek(This,dlibMove,dwOrigin,plibNewPosition)
  4522.  
  4523. #define IStream_SetSize(This,libNewSize)    \
  4524.     (This)->lpVtbl -> SetSize(This,libNewSize)
  4525.  
  4526. #define IStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten)    \
  4527.     (This)->lpVtbl -> CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  4528.  
  4529. #define IStream_Commit(This,grfCommitFlags)    \
  4530.     (This)->lpVtbl -> Commit(This,grfCommitFlags)
  4531.  
  4532. #define IStream_Revert(This)    \
  4533.     (This)->lpVtbl -> Revert(This)
  4534.  
  4535. #define IStream_LockRegion(This,libOffset,cb,dwLockType)    \
  4536.     (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
  4537.  
  4538. #define IStream_UnlockRegion(This,libOffset,cb,dwLockType)    \
  4539.     (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
  4540.  
  4541. #define IStream_Stat(This,pstatstg,grfStatFlag)    \
  4542.     (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
  4543.  
  4544. #define IStream_Clone(This,ppstm)    \
  4545.     (This)->lpVtbl -> Clone(This,ppstm)
  4546.  
  4547. #endif /* COBJMACROS */
  4548.  
  4549.  
  4550. #endif     /* C style interface */
  4551.  
  4552.  
  4553.  
  4554. /* [call_as] */ HRESULT STDMETHODCALLTYPE IStream_RemoteSeek_Proxy( 
  4555.     IStream __RPC_FAR * This,
  4556.     /* [in] */ LARGE_INTEGER dlibMove,
  4557.     /* [in] */ DWORD dwOrigin,
  4558.     /* [out] */ ULARGE_INTEGER __RPC_FAR *plibNewPosition);
  4559.  
  4560.  
  4561. void __RPC_STUB IStream_RemoteSeek_Stub(
  4562.     IRpcStubBuffer *This,
  4563.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4564.     PRPC_MESSAGE _pRpcMessage,
  4565.     DWORD *_pdwStubPhase);
  4566.  
  4567.  
  4568. HRESULT STDMETHODCALLTYPE IStream_SetSize_Proxy( 
  4569.     IStream __RPC_FAR * This,
  4570.     /* [in] */ ULARGE_INTEGER libNewSize);
  4571.  
  4572.  
  4573. void __RPC_STUB IStream_SetSize_Stub(
  4574.     IRpcStubBuffer *This,
  4575.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4576.     PRPC_MESSAGE _pRpcMessage,
  4577.     DWORD *_pdwStubPhase);
  4578.  
  4579.  
  4580. /* [call_as] */ HRESULT STDMETHODCALLTYPE IStream_RemoteCopyTo_Proxy( 
  4581.     IStream __RPC_FAR * This,
  4582.     /* [unique][in] */ IStream __RPC_FAR *pstm,
  4583.     /* [in] */ ULARGE_INTEGER cb,
  4584.     /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbRead,
  4585.     /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbWritten);
  4586.  
  4587.  
  4588. void __RPC_STUB IStream_RemoteCopyTo_Stub(
  4589.     IRpcStubBuffer *This,
  4590.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4591.     PRPC_MESSAGE _pRpcMessage,
  4592.     DWORD *_pdwStubPhase);
  4593.  
  4594.  
  4595. HRESULT STDMETHODCALLTYPE IStream_Commit_Proxy( 
  4596.     IStream __RPC_FAR * This,
  4597.     /* [in] */ DWORD grfCommitFlags);
  4598.  
  4599.  
  4600. void __RPC_STUB IStream_Commit_Stub(
  4601.     IRpcStubBuffer *This,
  4602.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4603.     PRPC_MESSAGE _pRpcMessage,
  4604.     DWORD *_pdwStubPhase);
  4605.  
  4606.  
  4607. HRESULT STDMETHODCALLTYPE IStream_Revert_Proxy( 
  4608.     IStream __RPC_FAR * This);
  4609.  
  4610.  
  4611. void __RPC_STUB IStream_Revert_Stub(
  4612.     IRpcStubBuffer *This,
  4613.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4614.     PRPC_MESSAGE _pRpcMessage,
  4615.     DWORD *_pdwStubPhase);
  4616.  
  4617.  
  4618. HRESULT STDMETHODCALLTYPE IStream_LockRegion_Proxy( 
  4619.     IStream __RPC_FAR * This,
  4620.     /* [in] */ ULARGE_INTEGER libOffset,
  4621.     /* [in] */ ULARGE_INTEGER cb,
  4622.     /* [in] */ DWORD dwLockType);
  4623.  
  4624.  
  4625. void __RPC_STUB IStream_LockRegion_Stub(
  4626.     IRpcStubBuffer *This,
  4627.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4628.     PRPC_MESSAGE _pRpcMessage,
  4629.     DWORD *_pdwStubPhase);
  4630.  
  4631.  
  4632. HRESULT STDMETHODCALLTYPE IStream_UnlockRegion_Proxy( 
  4633.     IStream __RPC_FAR * This,
  4634.     /* [in] */ ULARGE_INTEGER libOffset,
  4635.     /* [in] */ ULARGE_INTEGER cb,
  4636.     /* [in] */ DWORD dwLockType);
  4637.  
  4638.  
  4639. void __RPC_STUB IStream_UnlockRegion_Stub(
  4640.     IRpcStubBuffer *This,
  4641.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4642.     PRPC_MESSAGE _pRpcMessage,
  4643.     DWORD *_pdwStubPhase);
  4644.  
  4645.  
  4646. HRESULT STDMETHODCALLTYPE IStream_Stat_Proxy( 
  4647.     IStream __RPC_FAR * This,
  4648.     /* [out] */ STATSTG __RPC_FAR *pstatstg,
  4649.     /* [in] */ DWORD grfStatFlag);
  4650.  
  4651.  
  4652. void __RPC_STUB IStream_Stat_Stub(
  4653.     IRpcStubBuffer *This,
  4654.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4655.     PRPC_MESSAGE _pRpcMessage,
  4656.     DWORD *_pdwStubPhase);
  4657.  
  4658.  
  4659. HRESULT STDMETHODCALLTYPE IStream_Clone_Proxy( 
  4660.     IStream __RPC_FAR * This,
  4661.     /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  4662.  
  4663.  
  4664. void __RPC_STUB IStream_Clone_Stub(
  4665.     IRpcStubBuffer *This,
  4666.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4667.     PRPC_MESSAGE _pRpcMessage,
  4668.     DWORD *_pdwStubPhase);
  4669.  
  4670.  
  4671.  
  4672. #endif     /* __IStream_INTERFACE_DEFINED__ */
  4673.  
  4674.  
  4675. #ifndef __IEnumSTATSTG_INTERFACE_DEFINED__
  4676. #define __IEnumSTATSTG_INTERFACE_DEFINED__
  4677.  
  4678. /* interface IEnumSTATSTG */
  4679. /* [unique][uuid][object] */ 
  4680.  
  4681. typedef /* [unique] */ IEnumSTATSTG __RPC_FAR *LPENUMSTATSTG;
  4682.  
  4683.  
  4684. EXTERN_C const IID IID_IEnumSTATSTG;
  4685.  
  4686. #if defined(__cplusplus) && !defined(CINTERFACE)
  4687.     
  4688.     MIDL_INTERFACE("0000000d-0000-0000-C000-000000000046")
  4689.     IEnumSTATSTG : public IUnknown
  4690.     {
  4691.     public:
  4692.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next( 
  4693.             /* [in] */ ULONG celt,
  4694.             /* [length_is][size_is][out] */ STATSTG __RPC_FAR *rgelt,
  4695.             /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  4696.         
  4697.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  4698.             /* [in] */ ULONG celt) = 0;
  4699.         
  4700.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  4701.         
  4702.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  4703.             /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum) = 0;
  4704.         
  4705.     };
  4706.     
  4707. #else     /* C style interface */
  4708.  
  4709.     typedef struct IEnumSTATSTGVtbl
  4710.     {
  4711.         BEGIN_INTERFACE
  4712.         
  4713.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4714.             IEnumSTATSTG __RPC_FAR * This,
  4715.             /* [in] */ REFIID riid,
  4716.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4717.         
  4718.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4719.             IEnumSTATSTG __RPC_FAR * This);
  4720.         
  4721.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4722.             IEnumSTATSTG __RPC_FAR * This);
  4723.         
  4724.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  4725.             IEnumSTATSTG __RPC_FAR * This,
  4726.             /* [in] */ ULONG celt,
  4727.             /* [length_is][size_is][out] */ STATSTG __RPC_FAR *rgelt,
  4728.             /* [out] */ ULONG __RPC_FAR *pceltFetched);
  4729.         
  4730.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  4731.             IEnumSTATSTG __RPC_FAR * This,
  4732.             /* [in] */ ULONG celt);
  4733.         
  4734.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  4735.             IEnumSTATSTG __RPC_FAR * This);
  4736.         
  4737.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  4738.             IEnumSTATSTG __RPC_FAR * This,
  4739.             /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum);
  4740.         
  4741.         END_INTERFACE
  4742.     } IEnumSTATSTGVtbl;
  4743.  
  4744.     interface IEnumSTATSTG
  4745.     {
  4746.         CONST_VTBL struct IEnumSTATSTGVtbl __RPC_FAR *lpVtbl;
  4747.     };
  4748.  
  4749.     
  4750.  
  4751. #ifdef COBJMACROS
  4752.  
  4753.  
  4754. #define IEnumSTATSTG_QueryInterface(This,riid,ppvObject)    \
  4755.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  4756.  
  4757. #define IEnumSTATSTG_AddRef(This)    \
  4758.     (This)->lpVtbl -> AddRef(This)
  4759.  
  4760. #define IEnumSTATSTG_Release(This)    \
  4761.     (This)->lpVtbl -> Release(This)
  4762.  
  4763.  
  4764. #define IEnumSTATSTG_Next(This,celt,rgelt,pceltFetched)    \
  4765.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  4766.  
  4767. #define IEnumSTATSTG_Skip(This,celt)    \
  4768.     (This)->lpVtbl -> Skip(This,celt)
  4769.  
  4770. #define IEnumSTATSTG_Reset(This)    \
  4771.     (This)->lpVtbl -> Reset(This)
  4772.  
  4773. #define IEnumSTATSTG_Clone(This,ppenum)    \
  4774.     (This)->lpVtbl -> Clone(This,ppenum)
  4775.  
  4776. #endif /* COBJMACROS */
  4777.  
  4778.  
  4779. #endif     /* C style interface */
  4780.  
  4781.  
  4782.  
  4783. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATSTG_RemoteNext_Proxy( 
  4784.     IEnumSTATSTG __RPC_FAR * This,
  4785.     /* [in] */ ULONG celt,
  4786.     /* [length_is][size_is][out] */ STATSTG __RPC_FAR *rgelt,
  4787.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  4788.  
  4789.  
  4790. void __RPC_STUB IEnumSTATSTG_RemoteNext_Stub(
  4791.     IRpcStubBuffer *This,
  4792.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4793.     PRPC_MESSAGE _pRpcMessage,
  4794.     DWORD *_pdwStubPhase);
  4795.  
  4796.  
  4797. HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Skip_Proxy( 
  4798.     IEnumSTATSTG __RPC_FAR * This,
  4799.     /* [in] */ ULONG celt);
  4800.  
  4801.  
  4802. void __RPC_STUB IEnumSTATSTG_Skip_Stub(
  4803.     IRpcStubBuffer *This,
  4804.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4805.     PRPC_MESSAGE _pRpcMessage,
  4806.     DWORD *_pdwStubPhase);
  4807.  
  4808.  
  4809. HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Reset_Proxy( 
  4810.     IEnumSTATSTG __RPC_FAR * This);
  4811.  
  4812.  
  4813. void __RPC_STUB IEnumSTATSTG_Reset_Stub(
  4814.     IRpcStubBuffer *This,
  4815.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4816.     PRPC_MESSAGE _pRpcMessage,
  4817.     DWORD *_pdwStubPhase);
  4818.  
  4819.  
  4820. HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Clone_Proxy( 
  4821.     IEnumSTATSTG __RPC_FAR * This,
  4822.     /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum);
  4823.  
  4824.  
  4825. void __RPC_STUB IEnumSTATSTG_Clone_Stub(
  4826.     IRpcStubBuffer *This,
  4827.     IRpcChannelBuffer *_pRpcChannelBuffer,
  4828.     PRPC_MESSAGE _pRpcMessage,
  4829.     DWORD *_pdwStubPhase);
  4830.  
  4831.  
  4832.  
  4833. #endif     /* __IEnumSTATSTG_INTERFACE_DEFINED__ */
  4834.  
  4835.  
  4836. #ifndef __IStorage_INTERFACE_DEFINED__
  4837. #define __IStorage_INTERFACE_DEFINED__
  4838.  
  4839. /* interface IStorage */
  4840. /* [unique][uuid][object] */ 
  4841.  
  4842. typedef /* [unique] */ IStorage __RPC_FAR *LPSTORAGE;
  4843.  
  4844. typedef struct tagRemSNB
  4845.     {
  4846.     unsigned long ulCntStr;
  4847.     unsigned long ulCntChar;
  4848.     /* [size_is] */ OLECHAR rgString[ 1 ];
  4849.     }    RemSNB;
  4850.  
  4851. typedef /* [unique] */ RemSNB __RPC_FAR *wireSNB;
  4852.  
  4853. typedef /* [wire_marshal] */ OLECHAR __RPC_FAR *__RPC_FAR *SNB;
  4854.  
  4855.  
  4856. EXTERN_C const IID IID_IStorage;
  4857.  
  4858. #if defined(__cplusplus) && !defined(CINTERFACE)
  4859.     
  4860.     MIDL_INTERFACE("0000000b-0000-0000-C000-000000000046")
  4861.     IStorage : public IUnknown
  4862.     {
  4863.     public:
  4864.         virtual HRESULT STDMETHODCALLTYPE CreateStream( 
  4865.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  4866.             /* [in] */ DWORD grfMode,
  4867.             /* [in] */ DWORD reserved1,
  4868.             /* [in] */ DWORD reserved2,
  4869.             /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm) = 0;
  4870.         
  4871.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE OpenStream( 
  4872.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  4873.             /* [unique][in] */ void __RPC_FAR *reserved1,
  4874.             /* [in] */ DWORD grfMode,
  4875.             /* [in] */ DWORD reserved2,
  4876.             /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm) = 0;
  4877.         
  4878.         virtual HRESULT STDMETHODCALLTYPE CreateStorage( 
  4879.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  4880.             /* [in] */ DWORD grfMode,
  4881.             /* [in] */ DWORD reserved1,
  4882.             /* [in] */ DWORD reserved2,
  4883.             /* [out] */ IStorage __RPC_FAR *__RPC_FAR *ppstg) = 0;
  4884.         
  4885.         virtual HRESULT STDMETHODCALLTYPE OpenStorage( 
  4886.             /* [string][unique][in] */ const OLECHAR __RPC_FAR *pwcsName,
  4887.             /* [unique][in] */ IStorage __RPC_FAR *pstgPriority,
  4888.             /* [in] */ DWORD grfMode,
  4889.             /* [unique][in] */ SNB snbExclude,
  4890.             /* [in] */ DWORD reserved,
  4891.             /* [out] */ IStorage __RPC_FAR *__RPC_FAR *ppstg) = 0;
  4892.         
  4893.         virtual HRESULT STDMETHODCALLTYPE CopyTo( 
  4894.             /* [in] */ DWORD ciidExclude,
  4895.             /* [size_is][unique][in] */ const IID __RPC_FAR *rgiidExclude,
  4896.             /* [unique][in] */ SNB snbExclude,
  4897.             /* [unique][in] */ IStorage __RPC_FAR *pstgDest) = 0;
  4898.         
  4899.         virtual HRESULT STDMETHODCALLTYPE MoveElementTo( 
  4900.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  4901.             /* [unique][in] */ IStorage __RPC_FAR *pstgDest,
  4902.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsNewName,
  4903.             /* [in] */ DWORD grfFlags) = 0;
  4904.         
  4905.         virtual HRESULT STDMETHODCALLTYPE Commit( 
  4906.             /* [in] */ DWORD grfCommitFlags) = 0;
  4907.         
  4908.         virtual HRESULT STDMETHODCALLTYPE Revert( void) = 0;
  4909.         
  4910.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE EnumElements( 
  4911.             /* [in] */ DWORD reserved1,
  4912.             /* [size_is][unique][in] */ void __RPC_FAR *reserved2,
  4913.             /* [in] */ DWORD reserved3,
  4914.             /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum) = 0;
  4915.         
  4916.         virtual HRESULT STDMETHODCALLTYPE DestroyElement( 
  4917.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName) = 0;
  4918.         
  4919.         virtual HRESULT STDMETHODCALLTYPE RenameElement( 
  4920.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsOldName,
  4921.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsNewName) = 0;
  4922.         
  4923.         virtual HRESULT STDMETHODCALLTYPE SetElementTimes( 
  4924.             /* [string][unique][in] */ const OLECHAR __RPC_FAR *pwcsName,
  4925.             /* [unique][in] */ const FILETIME __RPC_FAR *pctime,
  4926.             /* [unique][in] */ const FILETIME __RPC_FAR *patime,
  4927.             /* [unique][in] */ const FILETIME __RPC_FAR *pmtime) = 0;
  4928.         
  4929.         virtual HRESULT STDMETHODCALLTYPE SetClass( 
  4930.             /* [in] */ REFCLSID clsid) = 0;
  4931.         
  4932.         virtual HRESULT STDMETHODCALLTYPE SetStateBits( 
  4933.             /* [in] */ DWORD grfStateBits,
  4934.             /* [in] */ DWORD grfMask) = 0;
  4935.         
  4936.         virtual HRESULT STDMETHODCALLTYPE Stat( 
  4937.             /* [out] */ STATSTG __RPC_FAR *pstatstg,
  4938.             /* [in] */ DWORD grfStatFlag) = 0;
  4939.         
  4940.     };
  4941.     
  4942. #else     /* C style interface */
  4943.  
  4944.     typedef struct IStorageVtbl
  4945.     {
  4946.         BEGIN_INTERFACE
  4947.         
  4948.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  4949.             IStorage __RPC_FAR * This,
  4950.             /* [in] */ REFIID riid,
  4951.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  4952.         
  4953.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  4954.             IStorage __RPC_FAR * This);
  4955.         
  4956.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  4957.             IStorage __RPC_FAR * This);
  4958.         
  4959.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateStream )( 
  4960.             IStorage __RPC_FAR * This,
  4961.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  4962.             /* [in] */ DWORD grfMode,
  4963.             /* [in] */ DWORD reserved1,
  4964.             /* [in] */ DWORD reserved2,
  4965.             /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  4966.         
  4967.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenStream )( 
  4968.             IStorage __RPC_FAR * This,
  4969.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  4970.             /* [unique][in] */ void __RPC_FAR *reserved1,
  4971.             /* [in] */ DWORD grfMode,
  4972.             /* [in] */ DWORD reserved2,
  4973.             /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  4974.         
  4975.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateStorage )( 
  4976.             IStorage __RPC_FAR * This,
  4977.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  4978.             /* [in] */ DWORD grfMode,
  4979.             /* [in] */ DWORD reserved1,
  4980.             /* [in] */ DWORD reserved2,
  4981.             /* [out] */ IStorage __RPC_FAR *__RPC_FAR *ppstg);
  4982.         
  4983.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenStorage )( 
  4984.             IStorage __RPC_FAR * This,
  4985.             /* [string][unique][in] */ const OLECHAR __RPC_FAR *pwcsName,
  4986.             /* [unique][in] */ IStorage __RPC_FAR *pstgPriority,
  4987.             /* [in] */ DWORD grfMode,
  4988.             /* [unique][in] */ SNB snbExclude,
  4989.             /* [in] */ DWORD reserved,
  4990.             /* [out] */ IStorage __RPC_FAR *__RPC_FAR *ppstg);
  4991.         
  4992.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyTo )( 
  4993.             IStorage __RPC_FAR * This,
  4994.             /* [in] */ DWORD ciidExclude,
  4995.             /* [size_is][unique][in] */ const IID __RPC_FAR *rgiidExclude,
  4996.             /* [unique][in] */ SNB snbExclude,
  4997.             /* [unique][in] */ IStorage __RPC_FAR *pstgDest);
  4998.         
  4999.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *MoveElementTo )( 
  5000.             IStorage __RPC_FAR * This,
  5001.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5002.             /* [unique][in] */ IStorage __RPC_FAR *pstgDest,
  5003.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsNewName,
  5004.             /* [in] */ DWORD grfFlags);
  5005.         
  5006.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Commit )( 
  5007.             IStorage __RPC_FAR * This,
  5008.             /* [in] */ DWORD grfCommitFlags);
  5009.         
  5010.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Revert )( 
  5011.             IStorage __RPC_FAR * This);
  5012.         
  5013.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumElements )( 
  5014.             IStorage __RPC_FAR * This,
  5015.             /* [in] */ DWORD reserved1,
  5016.             /* [size_is][unique][in] */ void __RPC_FAR *reserved2,
  5017.             /* [in] */ DWORD reserved3,
  5018.             /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum);
  5019.         
  5020.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DestroyElement )( 
  5021.             IStorage __RPC_FAR * This,
  5022.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName);
  5023.         
  5024.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RenameElement )( 
  5025.             IStorage __RPC_FAR * This,
  5026.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsOldName,
  5027.             /* [string][in] */ const OLECHAR __RPC_FAR *pwcsNewName);
  5028.         
  5029.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetElementTimes )( 
  5030.             IStorage __RPC_FAR * This,
  5031.             /* [string][unique][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5032.             /* [unique][in] */ const FILETIME __RPC_FAR *pctime,
  5033.             /* [unique][in] */ const FILETIME __RPC_FAR *patime,
  5034.             /* [unique][in] */ const FILETIME __RPC_FAR *pmtime);
  5035.         
  5036.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetClass )( 
  5037.             IStorage __RPC_FAR * This,
  5038.             /* [in] */ REFCLSID clsid);
  5039.         
  5040.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetStateBits )( 
  5041.             IStorage __RPC_FAR * This,
  5042.             /* [in] */ DWORD grfStateBits,
  5043.             /* [in] */ DWORD grfMask);
  5044.         
  5045.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stat )( 
  5046.             IStorage __RPC_FAR * This,
  5047.             /* [out] */ STATSTG __RPC_FAR *pstatstg,
  5048.             /* [in] */ DWORD grfStatFlag);
  5049.         
  5050.         END_INTERFACE
  5051.     } IStorageVtbl;
  5052.  
  5053.     interface IStorage
  5054.     {
  5055.         CONST_VTBL struct IStorageVtbl __RPC_FAR *lpVtbl;
  5056.     };
  5057.  
  5058.     
  5059.  
  5060. #ifdef COBJMACROS
  5061.  
  5062.  
  5063. #define IStorage_QueryInterface(This,riid,ppvObject)    \
  5064.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5065.  
  5066. #define IStorage_AddRef(This)    \
  5067.     (This)->lpVtbl -> AddRef(This)
  5068.  
  5069. #define IStorage_Release(This)    \
  5070.     (This)->lpVtbl -> Release(This)
  5071.  
  5072.  
  5073. #define IStorage_CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm)    \
  5074.     (This)->lpVtbl -> CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm)
  5075.  
  5076. #define IStorage_OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm)    \
  5077.     (This)->lpVtbl -> OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm)
  5078.  
  5079. #define IStorage_CreateStorage(This,pwcsName,grfMode,reserved1,reserved2,ppstg)    \
  5080.     (This)->lpVtbl -> CreateStorage(This,pwcsName,grfMode,reserved1,reserved2,ppstg)
  5081.  
  5082. #define IStorage_OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg)    \
  5083.     (This)->lpVtbl -> OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg)
  5084.  
  5085. #define IStorage_CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest)    \
  5086.     (This)->lpVtbl -> CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest)
  5087.  
  5088. #define IStorage_MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags)    \
  5089.     (This)->lpVtbl -> MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags)
  5090.  
  5091. #define IStorage_Commit(This,grfCommitFlags)    \
  5092.     (This)->lpVtbl -> Commit(This,grfCommitFlags)
  5093.  
  5094. #define IStorage_Revert(This)    \
  5095.     (This)->lpVtbl -> Revert(This)
  5096.  
  5097. #define IStorage_EnumElements(This,reserved1,reserved2,reserved3,ppenum)    \
  5098.     (This)->lpVtbl -> EnumElements(This,reserved1,reserved2,reserved3,ppenum)
  5099.  
  5100. #define IStorage_DestroyElement(This,pwcsName)    \
  5101.     (This)->lpVtbl -> DestroyElement(This,pwcsName)
  5102.  
  5103. #define IStorage_RenameElement(This,pwcsOldName,pwcsNewName)    \
  5104.     (This)->lpVtbl -> RenameElement(This,pwcsOldName,pwcsNewName)
  5105.  
  5106. #define IStorage_SetElementTimes(This,pwcsName,pctime,patime,pmtime)    \
  5107.     (This)->lpVtbl -> SetElementTimes(This,pwcsName,pctime,patime,pmtime)
  5108.  
  5109. #define IStorage_SetClass(This,clsid)    \
  5110.     (This)->lpVtbl -> SetClass(This,clsid)
  5111.  
  5112. #define IStorage_SetStateBits(This,grfStateBits,grfMask)    \
  5113.     (This)->lpVtbl -> SetStateBits(This,grfStateBits,grfMask)
  5114.  
  5115. #define IStorage_Stat(This,pstatstg,grfStatFlag)    \
  5116.     (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
  5117.  
  5118. #endif /* COBJMACROS */
  5119.  
  5120.  
  5121. #endif     /* C style interface */
  5122.  
  5123.  
  5124.  
  5125. HRESULT STDMETHODCALLTYPE IStorage_CreateStream_Proxy( 
  5126.     IStorage __RPC_FAR * This,
  5127.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5128.     /* [in] */ DWORD grfMode,
  5129.     /* [in] */ DWORD reserved1,
  5130.     /* [in] */ DWORD reserved2,
  5131.     /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  5132.  
  5133.  
  5134. void __RPC_STUB IStorage_CreateStream_Stub(
  5135.     IRpcStubBuffer *This,
  5136.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5137.     PRPC_MESSAGE _pRpcMessage,
  5138.     DWORD *_pdwStubPhase);
  5139.  
  5140.  
  5141. /* [call_as] */ HRESULT STDMETHODCALLTYPE IStorage_RemoteOpenStream_Proxy( 
  5142.     IStorage __RPC_FAR * This,
  5143.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5144.     /* [in] */ unsigned long cbReserved1,
  5145.     /* [size_is][unique][in] */ byte __RPC_FAR *reserved1,
  5146.     /* [in] */ DWORD grfMode,
  5147.     /* [in] */ DWORD reserved2,
  5148.     /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  5149.  
  5150.  
  5151. void __RPC_STUB IStorage_RemoteOpenStream_Stub(
  5152.     IRpcStubBuffer *This,
  5153.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5154.     PRPC_MESSAGE _pRpcMessage,
  5155.     DWORD *_pdwStubPhase);
  5156.  
  5157.  
  5158. HRESULT STDMETHODCALLTYPE IStorage_CreateStorage_Proxy( 
  5159.     IStorage __RPC_FAR * This,
  5160.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5161.     /* [in] */ DWORD grfMode,
  5162.     /* [in] */ DWORD reserved1,
  5163.     /* [in] */ DWORD reserved2,
  5164.     /* [out] */ IStorage __RPC_FAR *__RPC_FAR *ppstg);
  5165.  
  5166.  
  5167. void __RPC_STUB IStorage_CreateStorage_Stub(
  5168.     IRpcStubBuffer *This,
  5169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5170.     PRPC_MESSAGE _pRpcMessage,
  5171.     DWORD *_pdwStubPhase);
  5172.  
  5173.  
  5174. HRESULT STDMETHODCALLTYPE IStorage_OpenStorage_Proxy( 
  5175.     IStorage __RPC_FAR * This,
  5176.     /* [string][unique][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5177.     /* [unique][in] */ IStorage __RPC_FAR *pstgPriority,
  5178.     /* [in] */ DWORD grfMode,
  5179.     /* [unique][in] */ SNB snbExclude,
  5180.     /* [in] */ DWORD reserved,
  5181.     /* [out] */ IStorage __RPC_FAR *__RPC_FAR *ppstg);
  5182.  
  5183.  
  5184. void __RPC_STUB IStorage_OpenStorage_Stub(
  5185.     IRpcStubBuffer *This,
  5186.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5187.     PRPC_MESSAGE _pRpcMessage,
  5188.     DWORD *_pdwStubPhase);
  5189.  
  5190.  
  5191. HRESULT STDMETHODCALLTYPE IStorage_CopyTo_Proxy( 
  5192.     IStorage __RPC_FAR * This,
  5193.     /* [in] */ DWORD ciidExclude,
  5194.     /* [size_is][unique][in] */ const IID __RPC_FAR *rgiidExclude,
  5195.     /* [unique][in] */ SNB snbExclude,
  5196.     /* [unique][in] */ IStorage __RPC_FAR *pstgDest);
  5197.  
  5198.  
  5199. void __RPC_STUB IStorage_CopyTo_Stub(
  5200.     IRpcStubBuffer *This,
  5201.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5202.     PRPC_MESSAGE _pRpcMessage,
  5203.     DWORD *_pdwStubPhase);
  5204.  
  5205.  
  5206. HRESULT STDMETHODCALLTYPE IStorage_MoveElementTo_Proxy( 
  5207.     IStorage __RPC_FAR * This,
  5208.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5209.     /* [unique][in] */ IStorage __RPC_FAR *pstgDest,
  5210.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsNewName,
  5211.     /* [in] */ DWORD grfFlags);
  5212.  
  5213.  
  5214. void __RPC_STUB IStorage_MoveElementTo_Stub(
  5215.     IRpcStubBuffer *This,
  5216.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5217.     PRPC_MESSAGE _pRpcMessage,
  5218.     DWORD *_pdwStubPhase);
  5219.  
  5220.  
  5221. HRESULT STDMETHODCALLTYPE IStorage_Commit_Proxy( 
  5222.     IStorage __RPC_FAR * This,
  5223.     /* [in] */ DWORD grfCommitFlags);
  5224.  
  5225.  
  5226. void __RPC_STUB IStorage_Commit_Stub(
  5227.     IRpcStubBuffer *This,
  5228.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5229.     PRPC_MESSAGE _pRpcMessage,
  5230.     DWORD *_pdwStubPhase);
  5231.  
  5232.  
  5233. HRESULT STDMETHODCALLTYPE IStorage_Revert_Proxy( 
  5234.     IStorage __RPC_FAR * This);
  5235.  
  5236.  
  5237. void __RPC_STUB IStorage_Revert_Stub(
  5238.     IRpcStubBuffer *This,
  5239.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5240.     PRPC_MESSAGE _pRpcMessage,
  5241.     DWORD *_pdwStubPhase);
  5242.  
  5243.  
  5244. /* [call_as] */ HRESULT STDMETHODCALLTYPE IStorage_RemoteEnumElements_Proxy( 
  5245.     IStorage __RPC_FAR * This,
  5246.     /* [in] */ DWORD reserved1,
  5247.     /* [in] */ unsigned long cbReserved2,
  5248.     /* [size_is][unique][in] */ byte __RPC_FAR *reserved2,
  5249.     /* [in] */ DWORD reserved3,
  5250.     /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum);
  5251.  
  5252.  
  5253. void __RPC_STUB IStorage_RemoteEnumElements_Stub(
  5254.     IRpcStubBuffer *This,
  5255.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5256.     PRPC_MESSAGE _pRpcMessage,
  5257.     DWORD *_pdwStubPhase);
  5258.  
  5259.  
  5260. HRESULT STDMETHODCALLTYPE IStorage_DestroyElement_Proxy( 
  5261.     IStorage __RPC_FAR * This,
  5262.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName);
  5263.  
  5264.  
  5265. void __RPC_STUB IStorage_DestroyElement_Stub(
  5266.     IRpcStubBuffer *This,
  5267.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5268.     PRPC_MESSAGE _pRpcMessage,
  5269.     DWORD *_pdwStubPhase);
  5270.  
  5271.  
  5272. HRESULT STDMETHODCALLTYPE IStorage_RenameElement_Proxy( 
  5273.     IStorage __RPC_FAR * This,
  5274.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsOldName,
  5275.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsNewName);
  5276.  
  5277.  
  5278. void __RPC_STUB IStorage_RenameElement_Stub(
  5279.     IRpcStubBuffer *This,
  5280.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5281.     PRPC_MESSAGE _pRpcMessage,
  5282.     DWORD *_pdwStubPhase);
  5283.  
  5284.  
  5285. HRESULT STDMETHODCALLTYPE IStorage_SetElementTimes_Proxy( 
  5286.     IStorage __RPC_FAR * This,
  5287.     /* [string][unique][in] */ const OLECHAR __RPC_FAR *pwcsName,
  5288.     /* [unique][in] */ const FILETIME __RPC_FAR *pctime,
  5289.     /* [unique][in] */ const FILETIME __RPC_FAR *patime,
  5290.     /* [unique][in] */ const FILETIME __RPC_FAR *pmtime);
  5291.  
  5292.  
  5293. void __RPC_STUB IStorage_SetElementTimes_Stub(
  5294.     IRpcStubBuffer *This,
  5295.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5296.     PRPC_MESSAGE _pRpcMessage,
  5297.     DWORD *_pdwStubPhase);
  5298.  
  5299.  
  5300. HRESULT STDMETHODCALLTYPE IStorage_SetClass_Proxy( 
  5301.     IStorage __RPC_FAR * This,
  5302.     /* [in] */ REFCLSID clsid);
  5303.  
  5304.  
  5305. void __RPC_STUB IStorage_SetClass_Stub(
  5306.     IRpcStubBuffer *This,
  5307.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5308.     PRPC_MESSAGE _pRpcMessage,
  5309.     DWORD *_pdwStubPhase);
  5310.  
  5311.  
  5312. HRESULT STDMETHODCALLTYPE IStorage_SetStateBits_Proxy( 
  5313.     IStorage __RPC_FAR * This,
  5314.     /* [in] */ DWORD grfStateBits,
  5315.     /* [in] */ DWORD grfMask);
  5316.  
  5317.  
  5318. void __RPC_STUB IStorage_SetStateBits_Stub(
  5319.     IRpcStubBuffer *This,
  5320.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5321.     PRPC_MESSAGE _pRpcMessage,
  5322.     DWORD *_pdwStubPhase);
  5323.  
  5324.  
  5325. HRESULT STDMETHODCALLTYPE IStorage_Stat_Proxy( 
  5326.     IStorage __RPC_FAR * This,
  5327.     /* [out] */ STATSTG __RPC_FAR *pstatstg,
  5328.     /* [in] */ DWORD grfStatFlag);
  5329.  
  5330.  
  5331. void __RPC_STUB IStorage_Stat_Stub(
  5332.     IRpcStubBuffer *This,
  5333.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5334.     PRPC_MESSAGE _pRpcMessage,
  5335.     DWORD *_pdwStubPhase);
  5336.  
  5337.  
  5338.  
  5339. #endif     /* __IStorage_INTERFACE_DEFINED__ */
  5340.  
  5341.  
  5342. #ifndef __IPersistFile_INTERFACE_DEFINED__
  5343. #define __IPersistFile_INTERFACE_DEFINED__
  5344.  
  5345. /* interface IPersistFile */
  5346. /* [unique][uuid][object] */ 
  5347.  
  5348. typedef /* [unique] */ IPersistFile __RPC_FAR *LPPERSISTFILE;
  5349.  
  5350.  
  5351. EXTERN_C const IID IID_IPersistFile;
  5352.  
  5353. #if defined(__cplusplus) && !defined(CINTERFACE)
  5354.     
  5355.     MIDL_INTERFACE("0000010b-0000-0000-C000-000000000046")
  5356.     IPersistFile : public IPersist
  5357.     {
  5358.     public:
  5359.         virtual HRESULT STDMETHODCALLTYPE IsDirty( void) = 0;
  5360.         
  5361.         virtual HRESULT STDMETHODCALLTYPE Load( 
  5362.             /* [in] */ LPCOLESTR pszFileName,
  5363.             /* [in] */ DWORD dwMode) = 0;
  5364.         
  5365.         virtual HRESULT STDMETHODCALLTYPE Save( 
  5366.             /* [unique][in] */ LPCOLESTR pszFileName,
  5367.             /* [in] */ BOOL fRemember) = 0;
  5368.         
  5369.         virtual HRESULT STDMETHODCALLTYPE SaveCompleted( 
  5370.             /* [unique][in] */ LPCOLESTR pszFileName) = 0;
  5371.         
  5372.         virtual HRESULT STDMETHODCALLTYPE GetCurFile( 
  5373.             /* [out] */ LPOLESTR __RPC_FAR *ppszFileName) = 0;
  5374.         
  5375.     };
  5376.     
  5377. #else     /* C style interface */
  5378.  
  5379.     typedef struct IPersistFileVtbl
  5380.     {
  5381.         BEGIN_INTERFACE
  5382.         
  5383.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5384.             IPersistFile __RPC_FAR * This,
  5385.             /* [in] */ REFIID riid,
  5386.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5387.         
  5388.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5389.             IPersistFile __RPC_FAR * This);
  5390.         
  5391.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5392.             IPersistFile __RPC_FAR * This);
  5393.         
  5394.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )( 
  5395.             IPersistFile __RPC_FAR * This,
  5396.             /* [out] */ CLSID __RPC_FAR *pClassID);
  5397.         
  5398.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDirty )( 
  5399.             IPersistFile __RPC_FAR * This);
  5400.         
  5401.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )( 
  5402.             IPersistFile __RPC_FAR * This,
  5403.             /* [in] */ LPCOLESTR pszFileName,
  5404.             /* [in] */ DWORD dwMode);
  5405.         
  5406.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )( 
  5407.             IPersistFile __RPC_FAR * This,
  5408.             /* [unique][in] */ LPCOLESTR pszFileName,
  5409.             /* [in] */ BOOL fRemember);
  5410.         
  5411.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveCompleted )( 
  5412.             IPersistFile __RPC_FAR * This,
  5413.             /* [unique][in] */ LPCOLESTR pszFileName);
  5414.         
  5415.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCurFile )( 
  5416.             IPersistFile __RPC_FAR * This,
  5417.             /* [out] */ LPOLESTR __RPC_FAR *ppszFileName);
  5418.         
  5419.         END_INTERFACE
  5420.     } IPersistFileVtbl;
  5421.  
  5422.     interface IPersistFile
  5423.     {
  5424.         CONST_VTBL struct IPersistFileVtbl __RPC_FAR *lpVtbl;
  5425.     };
  5426.  
  5427.     
  5428.  
  5429. #ifdef COBJMACROS
  5430.  
  5431.  
  5432. #define IPersistFile_QueryInterface(This,riid,ppvObject)    \
  5433.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5434.  
  5435. #define IPersistFile_AddRef(This)    \
  5436.     (This)->lpVtbl -> AddRef(This)
  5437.  
  5438. #define IPersistFile_Release(This)    \
  5439.     (This)->lpVtbl -> Release(This)
  5440.  
  5441.  
  5442. #define IPersistFile_GetClassID(This,pClassID)    \
  5443.     (This)->lpVtbl -> GetClassID(This,pClassID)
  5444.  
  5445.  
  5446. #define IPersistFile_IsDirty(This)    \
  5447.     (This)->lpVtbl -> IsDirty(This)
  5448.  
  5449. #define IPersistFile_Load(This,pszFileName,dwMode)    \
  5450.     (This)->lpVtbl -> Load(This,pszFileName,dwMode)
  5451.  
  5452. #define IPersistFile_Save(This,pszFileName,fRemember)    \
  5453.     (This)->lpVtbl -> Save(This,pszFileName,fRemember)
  5454.  
  5455. #define IPersistFile_SaveCompleted(This,pszFileName)    \
  5456.     (This)->lpVtbl -> SaveCompleted(This,pszFileName)
  5457.  
  5458. #define IPersistFile_GetCurFile(This,ppszFileName)    \
  5459.     (This)->lpVtbl -> GetCurFile(This,ppszFileName)
  5460.  
  5461. #endif /* COBJMACROS */
  5462.  
  5463.  
  5464. #endif     /* C style interface */
  5465.  
  5466.  
  5467.  
  5468. HRESULT STDMETHODCALLTYPE IPersistFile_IsDirty_Proxy( 
  5469.     IPersistFile __RPC_FAR * This);
  5470.  
  5471.  
  5472. void __RPC_STUB IPersistFile_IsDirty_Stub(
  5473.     IRpcStubBuffer *This,
  5474.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5475.     PRPC_MESSAGE _pRpcMessage,
  5476.     DWORD *_pdwStubPhase);
  5477.  
  5478.  
  5479. HRESULT STDMETHODCALLTYPE IPersistFile_Load_Proxy( 
  5480.     IPersistFile __RPC_FAR * This,
  5481.     /* [in] */ LPCOLESTR pszFileName,
  5482.     /* [in] */ DWORD dwMode);
  5483.  
  5484.  
  5485. void __RPC_STUB IPersistFile_Load_Stub(
  5486.     IRpcStubBuffer *This,
  5487.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5488.     PRPC_MESSAGE _pRpcMessage,
  5489.     DWORD *_pdwStubPhase);
  5490.  
  5491.  
  5492. HRESULT STDMETHODCALLTYPE IPersistFile_Save_Proxy( 
  5493.     IPersistFile __RPC_FAR * This,
  5494.     /* [unique][in] */ LPCOLESTR pszFileName,
  5495.     /* [in] */ BOOL fRemember);
  5496.  
  5497.  
  5498. void __RPC_STUB IPersistFile_Save_Stub(
  5499.     IRpcStubBuffer *This,
  5500.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5501.     PRPC_MESSAGE _pRpcMessage,
  5502.     DWORD *_pdwStubPhase);
  5503.  
  5504.  
  5505. HRESULT STDMETHODCALLTYPE IPersistFile_SaveCompleted_Proxy( 
  5506.     IPersistFile __RPC_FAR * This,
  5507.     /* [unique][in] */ LPCOLESTR pszFileName);
  5508.  
  5509.  
  5510. void __RPC_STUB IPersistFile_SaveCompleted_Stub(
  5511.     IRpcStubBuffer *This,
  5512.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5513.     PRPC_MESSAGE _pRpcMessage,
  5514.     DWORD *_pdwStubPhase);
  5515.  
  5516.  
  5517. HRESULT STDMETHODCALLTYPE IPersistFile_GetCurFile_Proxy( 
  5518.     IPersistFile __RPC_FAR * This,
  5519.     /* [out] */ LPOLESTR __RPC_FAR *ppszFileName);
  5520.  
  5521.  
  5522. void __RPC_STUB IPersistFile_GetCurFile_Stub(
  5523.     IRpcStubBuffer *This,
  5524.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5525.     PRPC_MESSAGE _pRpcMessage,
  5526.     DWORD *_pdwStubPhase);
  5527.  
  5528.  
  5529.  
  5530. #endif     /* __IPersistFile_INTERFACE_DEFINED__ */
  5531.  
  5532.  
  5533. #ifndef __IPersistStorage_INTERFACE_DEFINED__
  5534. #define __IPersistStorage_INTERFACE_DEFINED__
  5535.  
  5536. /* interface IPersistStorage */
  5537. /* [unique][uuid][object] */ 
  5538.  
  5539. typedef /* [unique] */ IPersistStorage __RPC_FAR *LPPERSISTSTORAGE;
  5540.  
  5541.  
  5542. EXTERN_C const IID IID_IPersistStorage;
  5543.  
  5544. #if defined(__cplusplus) && !defined(CINTERFACE)
  5545.     
  5546.     MIDL_INTERFACE("0000010a-0000-0000-C000-000000000046")
  5547.     IPersistStorage : public IPersist
  5548.     {
  5549.     public:
  5550.         virtual HRESULT STDMETHODCALLTYPE IsDirty( void) = 0;
  5551.         
  5552.         virtual HRESULT STDMETHODCALLTYPE InitNew( 
  5553.             /* [unique][in] */ IStorage __RPC_FAR *pStg) = 0;
  5554.         
  5555.         virtual HRESULT STDMETHODCALLTYPE Load( 
  5556.             /* [unique][in] */ IStorage __RPC_FAR *pStg) = 0;
  5557.         
  5558.         virtual HRESULT STDMETHODCALLTYPE Save( 
  5559.             /* [unique][in] */ IStorage __RPC_FAR *pStgSave,
  5560.             /* [in] */ BOOL fSameAsLoad) = 0;
  5561.         
  5562.         virtual HRESULT STDMETHODCALLTYPE SaveCompleted( 
  5563.             /* [unique][in] */ IStorage __RPC_FAR *pStgNew) = 0;
  5564.         
  5565.         virtual HRESULT STDMETHODCALLTYPE HandsOffStorage( void) = 0;
  5566.         
  5567.     };
  5568.     
  5569. #else     /* C style interface */
  5570.  
  5571.     typedef struct IPersistStorageVtbl
  5572.     {
  5573.         BEGIN_INTERFACE
  5574.         
  5575.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5576.             IPersistStorage __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.             IPersistStorage __RPC_FAR * This);
  5582.         
  5583.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5584.             IPersistStorage __RPC_FAR * This);
  5585.         
  5586.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassID )( 
  5587.             IPersistStorage __RPC_FAR * This,
  5588.             /* [out] */ CLSID __RPC_FAR *pClassID);
  5589.         
  5590.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsDirty )( 
  5591.             IPersistStorage __RPC_FAR * This);
  5592.         
  5593.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *InitNew )( 
  5594.             IPersistStorage __RPC_FAR * This,
  5595.             /* [unique][in] */ IStorage __RPC_FAR *pStg);
  5596.         
  5597.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Load )( 
  5598.             IPersistStorage __RPC_FAR * This,
  5599.             /* [unique][in] */ IStorage __RPC_FAR *pStg);
  5600.         
  5601.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Save )( 
  5602.             IPersistStorage __RPC_FAR * This,
  5603.             /* [unique][in] */ IStorage __RPC_FAR *pStgSave,
  5604.             /* [in] */ BOOL fSameAsLoad);
  5605.         
  5606.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveCompleted )( 
  5607.             IPersistStorage __RPC_FAR * This,
  5608.             /* [unique][in] */ IStorage __RPC_FAR *pStgNew);
  5609.         
  5610.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *HandsOffStorage )( 
  5611.             IPersistStorage __RPC_FAR * This);
  5612.         
  5613.         END_INTERFACE
  5614.     } IPersistStorageVtbl;
  5615.  
  5616.     interface IPersistStorage
  5617.     {
  5618.         CONST_VTBL struct IPersistStorageVtbl __RPC_FAR *lpVtbl;
  5619.     };
  5620.  
  5621.     
  5622.  
  5623. #ifdef COBJMACROS
  5624.  
  5625.  
  5626. #define IPersistStorage_QueryInterface(This,riid,ppvObject)    \
  5627.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5628.  
  5629. #define IPersistStorage_AddRef(This)    \
  5630.     (This)->lpVtbl -> AddRef(This)
  5631.  
  5632. #define IPersistStorage_Release(This)    \
  5633.     (This)->lpVtbl -> Release(This)
  5634.  
  5635.  
  5636. #define IPersistStorage_GetClassID(This,pClassID)    \
  5637.     (This)->lpVtbl -> GetClassID(This,pClassID)
  5638.  
  5639.  
  5640. #define IPersistStorage_IsDirty(This)    \
  5641.     (This)->lpVtbl -> IsDirty(This)
  5642.  
  5643. #define IPersistStorage_InitNew(This,pStg)    \
  5644.     (This)->lpVtbl -> InitNew(This,pStg)
  5645.  
  5646. #define IPersistStorage_Load(This,pStg)    \
  5647.     (This)->lpVtbl -> Load(This,pStg)
  5648.  
  5649. #define IPersistStorage_Save(This,pStgSave,fSameAsLoad)    \
  5650.     (This)->lpVtbl -> Save(This,pStgSave,fSameAsLoad)
  5651.  
  5652. #define IPersistStorage_SaveCompleted(This,pStgNew)    \
  5653.     (This)->lpVtbl -> SaveCompleted(This,pStgNew)
  5654.  
  5655. #define IPersistStorage_HandsOffStorage(This)    \
  5656.     (This)->lpVtbl -> HandsOffStorage(This)
  5657.  
  5658. #endif /* COBJMACROS */
  5659.  
  5660.  
  5661. #endif     /* C style interface */
  5662.  
  5663.  
  5664.  
  5665. HRESULT STDMETHODCALLTYPE IPersistStorage_IsDirty_Proxy( 
  5666.     IPersistStorage __RPC_FAR * This);
  5667.  
  5668.  
  5669. void __RPC_STUB IPersistStorage_IsDirty_Stub(
  5670.     IRpcStubBuffer *This,
  5671.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5672.     PRPC_MESSAGE _pRpcMessage,
  5673.     DWORD *_pdwStubPhase);
  5674.  
  5675.  
  5676. HRESULT STDMETHODCALLTYPE IPersistStorage_InitNew_Proxy( 
  5677.     IPersistStorage __RPC_FAR * This,
  5678.     /* [unique][in] */ IStorage __RPC_FAR *pStg);
  5679.  
  5680.  
  5681. void __RPC_STUB IPersistStorage_InitNew_Stub(
  5682.     IRpcStubBuffer *This,
  5683.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5684.     PRPC_MESSAGE _pRpcMessage,
  5685.     DWORD *_pdwStubPhase);
  5686.  
  5687.  
  5688. HRESULT STDMETHODCALLTYPE IPersistStorage_Load_Proxy( 
  5689.     IPersistStorage __RPC_FAR * This,
  5690.     /* [unique][in] */ IStorage __RPC_FAR *pStg);
  5691.  
  5692.  
  5693. void __RPC_STUB IPersistStorage_Load_Stub(
  5694.     IRpcStubBuffer *This,
  5695.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5696.     PRPC_MESSAGE _pRpcMessage,
  5697.     DWORD *_pdwStubPhase);
  5698.  
  5699.  
  5700. HRESULT STDMETHODCALLTYPE IPersistStorage_Save_Proxy( 
  5701.     IPersistStorage __RPC_FAR * This,
  5702.     /* [unique][in] */ IStorage __RPC_FAR *pStgSave,
  5703.     /* [in] */ BOOL fSameAsLoad);
  5704.  
  5705.  
  5706. void __RPC_STUB IPersistStorage_Save_Stub(
  5707.     IRpcStubBuffer *This,
  5708.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5709.     PRPC_MESSAGE _pRpcMessage,
  5710.     DWORD *_pdwStubPhase);
  5711.  
  5712.  
  5713. HRESULT STDMETHODCALLTYPE IPersistStorage_SaveCompleted_Proxy( 
  5714.     IPersistStorage __RPC_FAR * This,
  5715.     /* [unique][in] */ IStorage __RPC_FAR *pStgNew);
  5716.  
  5717.  
  5718. void __RPC_STUB IPersistStorage_SaveCompleted_Stub(
  5719.     IRpcStubBuffer *This,
  5720.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5721.     PRPC_MESSAGE _pRpcMessage,
  5722.     DWORD *_pdwStubPhase);
  5723.  
  5724.  
  5725. HRESULT STDMETHODCALLTYPE IPersistStorage_HandsOffStorage_Proxy( 
  5726.     IPersistStorage __RPC_FAR * This);
  5727.  
  5728.  
  5729. void __RPC_STUB IPersistStorage_HandsOffStorage_Stub(
  5730.     IRpcStubBuffer *This,
  5731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5732.     PRPC_MESSAGE _pRpcMessage,
  5733.     DWORD *_pdwStubPhase);
  5734.  
  5735.  
  5736.  
  5737. #endif     /* __IPersistStorage_INTERFACE_DEFINED__ */
  5738.  
  5739.  
  5740. #ifndef __ILockBytes_INTERFACE_DEFINED__
  5741. #define __ILockBytes_INTERFACE_DEFINED__
  5742.  
  5743. /* interface ILockBytes */
  5744. /* [unique][uuid][object] */ 
  5745.  
  5746. typedef /* [unique] */ ILockBytes __RPC_FAR *LPLOCKBYTES;
  5747.  
  5748.  
  5749. EXTERN_C const IID IID_ILockBytes;
  5750.  
  5751. #if defined(__cplusplus) && !defined(CINTERFACE)
  5752.     
  5753.     MIDL_INTERFACE("0000000a-0000-0000-C000-000000000046")
  5754.     ILockBytes : public IUnknown
  5755.     {
  5756.     public:
  5757.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE ReadAt( 
  5758.             /* [in] */ ULARGE_INTEGER ulOffset,
  5759.             /* [length_is][size_is][out] */ void __RPC_FAR *pv,
  5760.             /* [in] */ ULONG cb,
  5761.             /* [out] */ ULONG __RPC_FAR *pcbRead) = 0;
  5762.         
  5763.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE WriteAt( 
  5764.             /* [in] */ ULARGE_INTEGER ulOffset,
  5765.             /* [size_is][in] */ const void __RPC_FAR *pv,
  5766.             /* [in] */ ULONG cb,
  5767.             /* [out] */ ULONG __RPC_FAR *pcbWritten) = 0;
  5768.         
  5769.         virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
  5770.         
  5771.         virtual HRESULT STDMETHODCALLTYPE SetSize( 
  5772.             /* [in] */ ULARGE_INTEGER cb) = 0;
  5773.         
  5774.         virtual HRESULT STDMETHODCALLTYPE LockRegion( 
  5775.             /* [in] */ ULARGE_INTEGER libOffset,
  5776.             /* [in] */ ULARGE_INTEGER cb,
  5777.             /* [in] */ DWORD dwLockType) = 0;
  5778.         
  5779.         virtual HRESULT STDMETHODCALLTYPE UnlockRegion( 
  5780.             /* [in] */ ULARGE_INTEGER libOffset,
  5781.             /* [in] */ ULARGE_INTEGER cb,
  5782.             /* [in] */ DWORD dwLockType) = 0;
  5783.         
  5784.         virtual HRESULT STDMETHODCALLTYPE Stat( 
  5785.             /* [out] */ STATSTG __RPC_FAR *pstatstg,
  5786.             /* [in] */ DWORD grfStatFlag) = 0;
  5787.         
  5788.     };
  5789.     
  5790. #else     /* C style interface */
  5791.  
  5792.     typedef struct ILockBytesVtbl
  5793.     {
  5794.         BEGIN_INTERFACE
  5795.         
  5796.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  5797.             ILockBytes __RPC_FAR * This,
  5798.             /* [in] */ REFIID riid,
  5799.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  5800.         
  5801.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  5802.             ILockBytes __RPC_FAR * This);
  5803.         
  5804.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  5805.             ILockBytes __RPC_FAR * This);
  5806.         
  5807.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReadAt )( 
  5808.             ILockBytes __RPC_FAR * This,
  5809.             /* [in] */ ULARGE_INTEGER ulOffset,
  5810.             /* [length_is][size_is][out] */ void __RPC_FAR *pv,
  5811.             /* [in] */ ULONG cb,
  5812.             /* [out] */ ULONG __RPC_FAR *pcbRead);
  5813.         
  5814.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WriteAt )( 
  5815.             ILockBytes __RPC_FAR * This,
  5816.             /* [in] */ ULARGE_INTEGER ulOffset,
  5817.             /* [size_is][in] */ const void __RPC_FAR *pv,
  5818.             /* [in] */ ULONG cb,
  5819.             /* [out] */ ULONG __RPC_FAR *pcbWritten);
  5820.         
  5821.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Flush )( 
  5822.             ILockBytes __RPC_FAR * This);
  5823.         
  5824.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetSize )( 
  5825.             ILockBytes __RPC_FAR * This,
  5826.             /* [in] */ ULARGE_INTEGER cb);
  5827.         
  5828.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LockRegion )( 
  5829.             ILockBytes __RPC_FAR * This,
  5830.             /* [in] */ ULARGE_INTEGER libOffset,
  5831.             /* [in] */ ULARGE_INTEGER cb,
  5832.             /* [in] */ DWORD dwLockType);
  5833.         
  5834.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UnlockRegion )( 
  5835.             ILockBytes __RPC_FAR * This,
  5836.             /* [in] */ ULARGE_INTEGER libOffset,
  5837.             /* [in] */ ULARGE_INTEGER cb,
  5838.             /* [in] */ DWORD dwLockType);
  5839.         
  5840.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stat )( 
  5841.             ILockBytes __RPC_FAR * This,
  5842.             /* [out] */ STATSTG __RPC_FAR *pstatstg,
  5843.             /* [in] */ DWORD grfStatFlag);
  5844.         
  5845.         END_INTERFACE
  5846.     } ILockBytesVtbl;
  5847.  
  5848.     interface ILockBytes
  5849.     {
  5850.         CONST_VTBL struct ILockBytesVtbl __RPC_FAR *lpVtbl;
  5851.     };
  5852.  
  5853.     
  5854.  
  5855. #ifdef COBJMACROS
  5856.  
  5857.  
  5858. #define ILockBytes_QueryInterface(This,riid,ppvObject)    \
  5859.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  5860.  
  5861. #define ILockBytes_AddRef(This)    \
  5862.     (This)->lpVtbl -> AddRef(This)
  5863.  
  5864. #define ILockBytes_Release(This)    \
  5865.     (This)->lpVtbl -> Release(This)
  5866.  
  5867.  
  5868. #define ILockBytes_ReadAt(This,ulOffset,pv,cb,pcbRead)    \
  5869.     (This)->lpVtbl -> ReadAt(This,ulOffset,pv,cb,pcbRead)
  5870.  
  5871. #define ILockBytes_WriteAt(This,ulOffset,pv,cb,pcbWritten)    \
  5872.     (This)->lpVtbl -> WriteAt(This,ulOffset,pv,cb,pcbWritten)
  5873.  
  5874. #define ILockBytes_Flush(This)    \
  5875.     (This)->lpVtbl -> Flush(This)
  5876.  
  5877. #define ILockBytes_SetSize(This,cb)    \
  5878.     (This)->lpVtbl -> SetSize(This,cb)
  5879.  
  5880. #define ILockBytes_LockRegion(This,libOffset,cb,dwLockType)    \
  5881.     (This)->lpVtbl -> LockRegion(This,libOffset,cb,dwLockType)
  5882.  
  5883. #define ILockBytes_UnlockRegion(This,libOffset,cb,dwLockType)    \
  5884.     (This)->lpVtbl -> UnlockRegion(This,libOffset,cb,dwLockType)
  5885.  
  5886. #define ILockBytes_Stat(This,pstatstg,grfStatFlag)    \
  5887.     (This)->lpVtbl -> Stat(This,pstatstg,grfStatFlag)
  5888.  
  5889. #endif /* COBJMACROS */
  5890.  
  5891.  
  5892. #endif     /* C style interface */
  5893.  
  5894.  
  5895.  
  5896. /* [call_as] */ HRESULT __stdcall ILockBytes_RemoteReadAt_Proxy( 
  5897.     ILockBytes __RPC_FAR * This,
  5898.     /* [in] */ ULARGE_INTEGER ulOffset,
  5899.     /* [length_is][size_is][out] */ byte __RPC_FAR *pv,
  5900.     /* [in] */ ULONG cb,
  5901.     /* [out] */ ULONG __RPC_FAR *pcbRead);
  5902.  
  5903.  
  5904. void __RPC_STUB ILockBytes_RemoteReadAt_Stub(
  5905.     IRpcStubBuffer *This,
  5906.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5907.     PRPC_MESSAGE _pRpcMessage,
  5908.     DWORD *_pdwStubPhase);
  5909.  
  5910.  
  5911. /* [call_as] */ HRESULT STDMETHODCALLTYPE ILockBytes_RemoteWriteAt_Proxy( 
  5912.     ILockBytes __RPC_FAR * This,
  5913.     /* [in] */ ULARGE_INTEGER ulOffset,
  5914.     /* [size_is][in] */ const byte __RPC_FAR *pv,
  5915.     /* [in] */ ULONG cb,
  5916.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  5917.  
  5918.  
  5919. void __RPC_STUB ILockBytes_RemoteWriteAt_Stub(
  5920.     IRpcStubBuffer *This,
  5921.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5922.     PRPC_MESSAGE _pRpcMessage,
  5923.     DWORD *_pdwStubPhase);
  5924.  
  5925.  
  5926. HRESULT STDMETHODCALLTYPE ILockBytes_Flush_Proxy( 
  5927.     ILockBytes __RPC_FAR * This);
  5928.  
  5929.  
  5930. void __RPC_STUB ILockBytes_Flush_Stub(
  5931.     IRpcStubBuffer *This,
  5932.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5933.     PRPC_MESSAGE _pRpcMessage,
  5934.     DWORD *_pdwStubPhase);
  5935.  
  5936.  
  5937. HRESULT STDMETHODCALLTYPE ILockBytes_SetSize_Proxy( 
  5938.     ILockBytes __RPC_FAR * This,
  5939.     /* [in] */ ULARGE_INTEGER cb);
  5940.  
  5941.  
  5942. void __RPC_STUB ILockBytes_SetSize_Stub(
  5943.     IRpcStubBuffer *This,
  5944.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5945.     PRPC_MESSAGE _pRpcMessage,
  5946.     DWORD *_pdwStubPhase);
  5947.  
  5948.  
  5949. HRESULT STDMETHODCALLTYPE ILockBytes_LockRegion_Proxy( 
  5950.     ILockBytes __RPC_FAR * This,
  5951.     /* [in] */ ULARGE_INTEGER libOffset,
  5952.     /* [in] */ ULARGE_INTEGER cb,
  5953.     /* [in] */ DWORD dwLockType);
  5954.  
  5955.  
  5956. void __RPC_STUB ILockBytes_LockRegion_Stub(
  5957.     IRpcStubBuffer *This,
  5958.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5959.     PRPC_MESSAGE _pRpcMessage,
  5960.     DWORD *_pdwStubPhase);
  5961.  
  5962.  
  5963. HRESULT STDMETHODCALLTYPE ILockBytes_UnlockRegion_Proxy( 
  5964.     ILockBytes __RPC_FAR * This,
  5965.     /* [in] */ ULARGE_INTEGER libOffset,
  5966.     /* [in] */ ULARGE_INTEGER cb,
  5967.     /* [in] */ DWORD dwLockType);
  5968.  
  5969.  
  5970. void __RPC_STUB ILockBytes_UnlockRegion_Stub(
  5971.     IRpcStubBuffer *This,
  5972.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5973.     PRPC_MESSAGE _pRpcMessage,
  5974.     DWORD *_pdwStubPhase);
  5975.  
  5976.  
  5977. HRESULT STDMETHODCALLTYPE ILockBytes_Stat_Proxy( 
  5978.     ILockBytes __RPC_FAR * This,
  5979.     /* [out] */ STATSTG __RPC_FAR *pstatstg,
  5980.     /* [in] */ DWORD grfStatFlag);
  5981.  
  5982.  
  5983. void __RPC_STUB ILockBytes_Stat_Stub(
  5984.     IRpcStubBuffer *This,
  5985.     IRpcChannelBuffer *_pRpcChannelBuffer,
  5986.     PRPC_MESSAGE _pRpcMessage,
  5987.     DWORD *_pdwStubPhase);
  5988.  
  5989.  
  5990.  
  5991. #endif     /* __ILockBytes_INTERFACE_DEFINED__ */
  5992.  
  5993.  
  5994. #ifndef __IEnumFORMATETC_INTERFACE_DEFINED__
  5995. #define __IEnumFORMATETC_INTERFACE_DEFINED__
  5996.  
  5997. /* interface IEnumFORMATETC */
  5998. /* [unique][uuid][object] */ 
  5999.  
  6000. typedef /* [unique] */ IEnumFORMATETC __RPC_FAR *LPENUMFORMATETC;
  6001.  
  6002. typedef struct tagDVTARGETDEVICE
  6003.     {
  6004.     DWORD tdSize;
  6005.     WORD tdDriverNameOffset;
  6006.     WORD tdDeviceNameOffset;
  6007.     WORD tdPortNameOffset;
  6008.     WORD tdExtDevmodeOffset;
  6009.     /* [size_is] */ BYTE tdData[ 1 ];
  6010.     }    DVTARGETDEVICE;
  6011.  
  6012. typedef CLIPFORMAT __RPC_FAR *LPCLIPFORMAT;
  6013.  
  6014. typedef struct tagFORMATETC
  6015.     {
  6016.     CLIPFORMAT cfFormat;
  6017.     /* [unique] */ DVTARGETDEVICE __RPC_FAR *ptd;
  6018.     DWORD dwAspect;
  6019.     LONG lindex;
  6020.     DWORD tymed;
  6021.     }    FORMATETC;
  6022.  
  6023. typedef struct tagFORMATETC __RPC_FAR *LPFORMATETC;
  6024.  
  6025.  
  6026. EXTERN_C const IID IID_IEnumFORMATETC;
  6027.  
  6028. #if defined(__cplusplus) && !defined(CINTERFACE)
  6029.     
  6030.     MIDL_INTERFACE("00000103-0000-0000-C000-000000000046")
  6031.     IEnumFORMATETC : public IUnknown
  6032.     {
  6033.     public:
  6034.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next( 
  6035.             /* [in] */ ULONG celt,
  6036.             /* [length_is][size_is][out] */ FORMATETC __RPC_FAR *rgelt,
  6037.             /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  6038.         
  6039.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  6040.             /* [in] */ ULONG celt) = 0;
  6041.         
  6042.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  6043.         
  6044.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  6045.             /* [out] */ IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenum) = 0;
  6046.         
  6047.     };
  6048.     
  6049. #else     /* C style interface */
  6050.  
  6051.     typedef struct IEnumFORMATETCVtbl
  6052.     {
  6053.         BEGIN_INTERFACE
  6054.         
  6055.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6056.             IEnumFORMATETC __RPC_FAR * This,
  6057.             /* [in] */ REFIID riid,
  6058.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6059.         
  6060.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6061.             IEnumFORMATETC __RPC_FAR * This);
  6062.         
  6063.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6064.             IEnumFORMATETC __RPC_FAR * This);
  6065.         
  6066.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  6067.             IEnumFORMATETC __RPC_FAR * This,
  6068.             /* [in] */ ULONG celt,
  6069.             /* [length_is][size_is][out] */ FORMATETC __RPC_FAR *rgelt,
  6070.             /* [out] */ ULONG __RPC_FAR *pceltFetched);
  6071.         
  6072.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  6073.             IEnumFORMATETC __RPC_FAR * This,
  6074.             /* [in] */ ULONG celt);
  6075.         
  6076.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  6077.             IEnumFORMATETC __RPC_FAR * This);
  6078.         
  6079.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  6080.             IEnumFORMATETC __RPC_FAR * This,
  6081.             /* [out] */ IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenum);
  6082.         
  6083.         END_INTERFACE
  6084.     } IEnumFORMATETCVtbl;
  6085.  
  6086.     interface IEnumFORMATETC
  6087.     {
  6088.         CONST_VTBL struct IEnumFORMATETCVtbl __RPC_FAR *lpVtbl;
  6089.     };
  6090.  
  6091.     
  6092.  
  6093. #ifdef COBJMACROS
  6094.  
  6095.  
  6096. #define IEnumFORMATETC_QueryInterface(This,riid,ppvObject)    \
  6097.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6098.  
  6099. #define IEnumFORMATETC_AddRef(This)    \
  6100.     (This)->lpVtbl -> AddRef(This)
  6101.  
  6102. #define IEnumFORMATETC_Release(This)    \
  6103.     (This)->lpVtbl -> Release(This)
  6104.  
  6105.  
  6106. #define IEnumFORMATETC_Next(This,celt,rgelt,pceltFetched)    \
  6107.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  6108.  
  6109. #define IEnumFORMATETC_Skip(This,celt)    \
  6110.     (This)->lpVtbl -> Skip(This,celt)
  6111.  
  6112. #define IEnumFORMATETC_Reset(This)    \
  6113.     (This)->lpVtbl -> Reset(This)
  6114.  
  6115. #define IEnumFORMATETC_Clone(This,ppenum)    \
  6116.     (This)->lpVtbl -> Clone(This,ppenum)
  6117.  
  6118. #endif /* COBJMACROS */
  6119.  
  6120.  
  6121. #endif     /* C style interface */
  6122.  
  6123.  
  6124.  
  6125. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumFORMATETC_RemoteNext_Proxy( 
  6126.     IEnumFORMATETC __RPC_FAR * This,
  6127.     /* [in] */ ULONG celt,
  6128.     /* [length_is][size_is][out] */ FORMATETC __RPC_FAR *rgelt,
  6129.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  6130.  
  6131.  
  6132. void __RPC_STUB IEnumFORMATETC_RemoteNext_Stub(
  6133.     IRpcStubBuffer *This,
  6134.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6135.     PRPC_MESSAGE _pRpcMessage,
  6136.     DWORD *_pdwStubPhase);
  6137.  
  6138.  
  6139. HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Skip_Proxy( 
  6140.     IEnumFORMATETC __RPC_FAR * This,
  6141.     /* [in] */ ULONG celt);
  6142.  
  6143.  
  6144. void __RPC_STUB IEnumFORMATETC_Skip_Stub(
  6145.     IRpcStubBuffer *This,
  6146.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6147.     PRPC_MESSAGE _pRpcMessage,
  6148.     DWORD *_pdwStubPhase);
  6149.  
  6150.  
  6151. HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Reset_Proxy( 
  6152.     IEnumFORMATETC __RPC_FAR * This);
  6153.  
  6154.  
  6155. void __RPC_STUB IEnumFORMATETC_Reset_Stub(
  6156.     IRpcStubBuffer *This,
  6157.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6158.     PRPC_MESSAGE _pRpcMessage,
  6159.     DWORD *_pdwStubPhase);
  6160.  
  6161.  
  6162. HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Clone_Proxy( 
  6163.     IEnumFORMATETC __RPC_FAR * This,
  6164.     /* [out] */ IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenum);
  6165.  
  6166.  
  6167. void __RPC_STUB IEnumFORMATETC_Clone_Stub(
  6168.     IRpcStubBuffer *This,
  6169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6170.     PRPC_MESSAGE _pRpcMessage,
  6171.     DWORD *_pdwStubPhase);
  6172.  
  6173.  
  6174.  
  6175. #endif     /* __IEnumFORMATETC_INTERFACE_DEFINED__ */
  6176.  
  6177.  
  6178. #ifndef __IEnumSTATDATA_INTERFACE_DEFINED__
  6179. #define __IEnumSTATDATA_INTERFACE_DEFINED__
  6180.  
  6181. /* interface IEnumSTATDATA */
  6182. /* [unique][uuid][object] */ 
  6183.  
  6184. typedef /* [unique] */ IEnumSTATDATA __RPC_FAR *LPENUMSTATDATA;
  6185.  
  6186. typedef 
  6187. enum tagADVF
  6188.     {    ADVF_NODATA    = 1,
  6189.     ADVF_PRIMEFIRST    = 2,
  6190.     ADVF_ONLYONCE    = 4,
  6191.     ADVF_DATAONSTOP    = 64,
  6192.     ADVFCACHE_NOHANDLER    = 8,
  6193.     ADVFCACHE_FORCEBUILTIN    = 16,
  6194.     ADVFCACHE_ONSAVE    = 32
  6195.     }    ADVF;
  6196.  
  6197. typedef struct tagSTATDATA
  6198.     {
  6199.     FORMATETC formatetc;
  6200.     DWORD advf;
  6201.     /* [unique] */ IAdviseSink __RPC_FAR *pAdvSink;
  6202.     DWORD dwConnection;
  6203.     }    STATDATA;
  6204.  
  6205. typedef STATDATA __RPC_FAR *LPSTATDATA;
  6206.  
  6207.  
  6208. EXTERN_C const IID IID_IEnumSTATDATA;
  6209.  
  6210. #if defined(__cplusplus) && !defined(CINTERFACE)
  6211.     
  6212.     MIDL_INTERFACE("00000105-0000-0000-C000-000000000046")
  6213.     IEnumSTATDATA : public IUnknown
  6214.     {
  6215.     public:
  6216.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next( 
  6217.             /* [in] */ ULONG celt,
  6218.             /* [length_is][size_is][out] */ STATDATA __RPC_FAR *rgelt,
  6219.             /* [out] */ ULONG __RPC_FAR *pceltFetched) = 0;
  6220.         
  6221.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  6222.             /* [in] */ ULONG celt) = 0;
  6223.         
  6224.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  6225.         
  6226.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  6227.             /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenum) = 0;
  6228.         
  6229.     };
  6230.     
  6231. #else     /* C style interface */
  6232.  
  6233.     typedef struct IEnumSTATDATAVtbl
  6234.     {
  6235.         BEGIN_INTERFACE
  6236.         
  6237.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6238.             IEnumSTATDATA __RPC_FAR * This,
  6239.             /* [in] */ REFIID riid,
  6240.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6241.         
  6242.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6243.             IEnumSTATDATA __RPC_FAR * This);
  6244.         
  6245.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6246.             IEnumSTATDATA __RPC_FAR * This);
  6247.         
  6248.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( 
  6249.             IEnumSTATDATA __RPC_FAR * This,
  6250.             /* [in] */ ULONG celt,
  6251.             /* [length_is][size_is][out] */ STATDATA __RPC_FAR *rgelt,
  6252.             /* [out] */ ULONG __RPC_FAR *pceltFetched);
  6253.         
  6254.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( 
  6255.             IEnumSTATDATA __RPC_FAR * This,
  6256.             /* [in] */ ULONG celt);
  6257.         
  6258.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  6259.             IEnumSTATDATA __RPC_FAR * This);
  6260.         
  6261.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( 
  6262.             IEnumSTATDATA __RPC_FAR * This,
  6263.             /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenum);
  6264.         
  6265.         END_INTERFACE
  6266.     } IEnumSTATDATAVtbl;
  6267.  
  6268.     interface IEnumSTATDATA
  6269.     {
  6270.         CONST_VTBL struct IEnumSTATDATAVtbl __RPC_FAR *lpVtbl;
  6271.     };
  6272.  
  6273.     
  6274.  
  6275. #ifdef COBJMACROS
  6276.  
  6277.  
  6278. #define IEnumSTATDATA_QueryInterface(This,riid,ppvObject)    \
  6279.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6280.  
  6281. #define IEnumSTATDATA_AddRef(This)    \
  6282.     (This)->lpVtbl -> AddRef(This)
  6283.  
  6284. #define IEnumSTATDATA_Release(This)    \
  6285.     (This)->lpVtbl -> Release(This)
  6286.  
  6287.  
  6288. #define IEnumSTATDATA_Next(This,celt,rgelt,pceltFetched)    \
  6289.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  6290.  
  6291. #define IEnumSTATDATA_Skip(This,celt)    \
  6292.     (This)->lpVtbl -> Skip(This,celt)
  6293.  
  6294. #define IEnumSTATDATA_Reset(This)    \
  6295.     (This)->lpVtbl -> Reset(This)
  6296.  
  6297. #define IEnumSTATDATA_Clone(This,ppenum)    \
  6298.     (This)->lpVtbl -> Clone(This,ppenum)
  6299.  
  6300. #endif /* COBJMACROS */
  6301.  
  6302.  
  6303. #endif     /* C style interface */
  6304.  
  6305.  
  6306.  
  6307. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATDATA_RemoteNext_Proxy( 
  6308.     IEnumSTATDATA __RPC_FAR * This,
  6309.     /* [in] */ ULONG celt,
  6310.     /* [length_is][size_is][out] */ STATDATA __RPC_FAR *rgelt,
  6311.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  6312.  
  6313.  
  6314. void __RPC_STUB IEnumSTATDATA_RemoteNext_Stub(
  6315.     IRpcStubBuffer *This,
  6316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6317.     PRPC_MESSAGE _pRpcMessage,
  6318.     DWORD *_pdwStubPhase);
  6319.  
  6320.  
  6321. HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Skip_Proxy( 
  6322.     IEnumSTATDATA __RPC_FAR * This,
  6323.     /* [in] */ ULONG celt);
  6324.  
  6325.  
  6326. void __RPC_STUB IEnumSTATDATA_Skip_Stub(
  6327.     IRpcStubBuffer *This,
  6328.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6329.     PRPC_MESSAGE _pRpcMessage,
  6330.     DWORD *_pdwStubPhase);
  6331.  
  6332.  
  6333. HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Reset_Proxy( 
  6334.     IEnumSTATDATA __RPC_FAR * This);
  6335.  
  6336.  
  6337. void __RPC_STUB IEnumSTATDATA_Reset_Stub(
  6338.     IRpcStubBuffer *This,
  6339.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6340.     PRPC_MESSAGE _pRpcMessage,
  6341.     DWORD *_pdwStubPhase);
  6342.  
  6343.  
  6344. HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Clone_Proxy( 
  6345.     IEnumSTATDATA __RPC_FAR * This,
  6346.     /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenum);
  6347.  
  6348.  
  6349. void __RPC_STUB IEnumSTATDATA_Clone_Stub(
  6350.     IRpcStubBuffer *This,
  6351.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6352.     PRPC_MESSAGE _pRpcMessage,
  6353.     DWORD *_pdwStubPhase);
  6354.  
  6355.  
  6356.  
  6357. #endif     /* __IEnumSTATDATA_INTERFACE_DEFINED__ */
  6358.  
  6359.  
  6360. #ifndef __IRootStorage_INTERFACE_DEFINED__
  6361. #define __IRootStorage_INTERFACE_DEFINED__
  6362.  
  6363. /* interface IRootStorage */
  6364. /* [unique][uuid][object] */ 
  6365.  
  6366. typedef /* [unique] */ IRootStorage __RPC_FAR *LPROOTSTORAGE;
  6367.  
  6368.  
  6369. EXTERN_C const IID IID_IRootStorage;
  6370.  
  6371. #if defined(__cplusplus) && !defined(CINTERFACE)
  6372.     
  6373.     MIDL_INTERFACE("00000012-0000-0000-C000-000000000046")
  6374.     IRootStorage : public IUnknown
  6375.     {
  6376.     public:
  6377.         virtual HRESULT STDMETHODCALLTYPE SwitchToFile( 
  6378.             /* [in] */ LPOLESTR pszFile) = 0;
  6379.         
  6380.     };
  6381.     
  6382. #else     /* C style interface */
  6383.  
  6384.     typedef struct IRootStorageVtbl
  6385.     {
  6386.         BEGIN_INTERFACE
  6387.         
  6388.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6389.             IRootStorage __RPC_FAR * This,
  6390.             /* [in] */ REFIID riid,
  6391.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6392.         
  6393.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6394.             IRootStorage __RPC_FAR * This);
  6395.         
  6396.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6397.             IRootStorage __RPC_FAR * This);
  6398.         
  6399.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SwitchToFile )( 
  6400.             IRootStorage __RPC_FAR * This,
  6401.             /* [in] */ LPOLESTR pszFile);
  6402.         
  6403.         END_INTERFACE
  6404.     } IRootStorageVtbl;
  6405.  
  6406.     interface IRootStorage
  6407.     {
  6408.         CONST_VTBL struct IRootStorageVtbl __RPC_FAR *lpVtbl;
  6409.     };
  6410.  
  6411.     
  6412.  
  6413. #ifdef COBJMACROS
  6414.  
  6415.  
  6416. #define IRootStorage_QueryInterface(This,riid,ppvObject)    \
  6417.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6418.  
  6419. #define IRootStorage_AddRef(This)    \
  6420.     (This)->lpVtbl -> AddRef(This)
  6421.  
  6422. #define IRootStorage_Release(This)    \
  6423.     (This)->lpVtbl -> Release(This)
  6424.  
  6425.  
  6426. #define IRootStorage_SwitchToFile(This,pszFile)    \
  6427.     (This)->lpVtbl -> SwitchToFile(This,pszFile)
  6428.  
  6429. #endif /* COBJMACROS */
  6430.  
  6431.  
  6432. #endif     /* C style interface */
  6433.  
  6434.  
  6435.  
  6436. HRESULT STDMETHODCALLTYPE IRootStorage_SwitchToFile_Proxy( 
  6437.     IRootStorage __RPC_FAR * This,
  6438.     /* [in] */ LPOLESTR pszFile);
  6439.  
  6440.  
  6441. void __RPC_STUB IRootStorage_SwitchToFile_Stub(
  6442.     IRpcStubBuffer *This,
  6443.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6444.     PRPC_MESSAGE _pRpcMessage,
  6445.     DWORD *_pdwStubPhase);
  6446.  
  6447.  
  6448.  
  6449. #endif     /* __IRootStorage_INTERFACE_DEFINED__ */
  6450.  
  6451.  
  6452. #ifndef __IAdviseSink_INTERFACE_DEFINED__
  6453. #define __IAdviseSink_INTERFACE_DEFINED__
  6454.  
  6455. /* interface IAdviseSink */
  6456. /* [unique][async_uuid][uuid][object] */ 
  6457.  
  6458. typedef IAdviseSink __RPC_FAR *LPADVISESINK;
  6459.  
  6460. typedef /* [v1_enum] */ 
  6461. enum tagTYMED
  6462.     {    TYMED_HGLOBAL    = 1,
  6463.     TYMED_FILE    = 2,
  6464.     TYMED_ISTREAM    = 4,
  6465.     TYMED_ISTORAGE    = 8,
  6466.     TYMED_GDI    = 16,
  6467.     TYMED_MFPICT    = 32,
  6468.     TYMED_ENHMF    = 64,
  6469.     TYMED_NULL    = 0
  6470.     }    TYMED;
  6471.  
  6472. #ifndef RC_INVOKED
  6473. #if _MSC_VER >= 1200
  6474. #pragma warning(push)
  6475. #endif
  6476. #pragma warning(disable:4200)
  6477. #endif
  6478. typedef struct tagRemSTGMEDIUM
  6479.     {
  6480.     DWORD tymed;
  6481.     DWORD dwHandleType;
  6482.     unsigned long pData;
  6483.     unsigned long pUnkForRelease;
  6484.     unsigned long cbData;
  6485.     /* [size_is] */ byte data[ 1 ];
  6486.     }    RemSTGMEDIUM;
  6487.  
  6488. #ifndef RC_INVOKED
  6489. #if _MSC_VER >= 1200
  6490. #pragma warning(pop)
  6491. #else
  6492. #pragma warning(default:4200)
  6493. #endif
  6494. #endif
  6495. #ifdef NONAMELESSUNION
  6496. typedef struct tagSTGMEDIUM {
  6497.     DWORD tymed;
  6498.     union {
  6499.         HBITMAP hBitmap;
  6500.         HMETAFILEPICT hMetaFilePict;
  6501.         HENHMETAFILE hEnhMetaFile;
  6502.         HGLOBAL hGlobal;
  6503.         LPOLESTR lpszFileName;
  6504.         IStream *pstm;
  6505.         IStorage *pstg;
  6506.         } u;
  6507.     IUnknown *pUnkForRelease;
  6508. }uSTGMEDIUM;
  6509. #else
  6510. typedef struct tagSTGMEDIUM
  6511.     {
  6512.     DWORD tymed;
  6513.     /* [switch_is][switch_type] */ union 
  6514.         {
  6515.         /* [case()] */ HBITMAP hBitmap;
  6516.         /* [case()] */ HMETAFILEPICT hMetaFilePict;
  6517.         /* [case()] */ HENHMETAFILE hEnhMetaFile;
  6518.         /* [case()] */ HGLOBAL hGlobal;
  6519.         /* [case()] */ LPOLESTR lpszFileName;
  6520.         /* [case()] */ IStream __RPC_FAR *pstm;
  6521.         /* [case()] */ IStorage __RPC_FAR *pstg;
  6522.         /* [default] */  /* Empty union arm */ 
  6523.         }    ;
  6524.     /* [unique] */ IUnknown __RPC_FAR *pUnkForRelease;
  6525.     }    uSTGMEDIUM;
  6526.  
  6527. #endif /* !NONAMELESSUNION */
  6528. typedef struct _GDI_OBJECT
  6529.     {
  6530.     DWORD ObjectType;
  6531.     /* [switch_is] */ /* [switch_type] */ union __MIDL_IAdviseSink_0002
  6532.         {
  6533.         /* [case()] */ wireHBITMAP hBitmap;
  6534.         /* [case()] */ wireHPALETTE hPalette;
  6535.         /* [default] */ wireHGLOBAL hGeneric;
  6536.         }    u;
  6537.     }    GDI_OBJECT;
  6538.  
  6539. typedef struct _userSTGMEDIUM
  6540.     {
  6541.     struct _STGMEDIUM_UNION
  6542.         {
  6543.         DWORD tymed;
  6544.         /* [switch_is] */ /* [switch_type] */ union __MIDL_IAdviseSink_0003
  6545.             {
  6546.             /* [case()] */  /* Empty union arm */ 
  6547.             /* [case()] */ wireHMETAFILEPICT hMetaFilePict;
  6548.             /* [case()] */ wireHENHMETAFILE hHEnhMetaFile;
  6549.             /* [case()] */ GDI_OBJECT __RPC_FAR *hGdiHandle;
  6550.             /* [case()] */ wireHGLOBAL hGlobal;
  6551.             /* [case()] */ LPOLESTR lpszFileName;
  6552.             /* [case()] */ BYTE_BLOB __RPC_FAR *pstm;
  6553.             /* [case()] */ BYTE_BLOB __RPC_FAR *pstg;
  6554.             }    u;
  6555.         }    ;
  6556.     IUnknown __RPC_FAR *pUnkForRelease;
  6557.     }    userSTGMEDIUM;
  6558.  
  6559. typedef /* [unique] */ userSTGMEDIUM __RPC_FAR *wireSTGMEDIUM;
  6560.  
  6561. typedef /* [wire_marshal] */ uSTGMEDIUM STGMEDIUM;
  6562.  
  6563. typedef /* [unique] */ userSTGMEDIUM __RPC_FAR *wireASYNC_STGMEDIUM;
  6564.  
  6565. typedef /* [wire_marshal] */ STGMEDIUM ASYNC_STGMEDIUM;
  6566.  
  6567. typedef STGMEDIUM __RPC_FAR *LPSTGMEDIUM;
  6568.  
  6569. typedef struct _userFLAG_STGMEDIUM
  6570.     {
  6571.     long ContextFlags;
  6572.     long fPassOwnership;
  6573.     userSTGMEDIUM Stgmed;
  6574.     }    userFLAG_STGMEDIUM;
  6575.  
  6576. typedef /* [unique] */ userFLAG_STGMEDIUM __RPC_FAR *wireFLAG_STGMEDIUM;
  6577.  
  6578. typedef /* [wire_marshal] */ struct _FLAG_STGMEDIUM
  6579.     {
  6580.     long ContextFlags;
  6581.     long fPassOwnership;
  6582.     STGMEDIUM Stgmed;
  6583.     }    FLAG_STGMEDIUM;
  6584.  
  6585.  
  6586. EXTERN_C const IID IID_IAdviseSink;
  6587.  
  6588. #if defined(__cplusplus) && !defined(CINTERFACE)
  6589.     
  6590.     MIDL_INTERFACE("0000010f-0000-0000-C000-000000000046")
  6591.     IAdviseSink : public IUnknown
  6592.     {
  6593.     public:
  6594.         virtual /* [local] */ void STDMETHODCALLTYPE OnDataChange( 
  6595.             /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  6596.             /* [unique][in] */ STGMEDIUM __RPC_FAR *pStgmed) = 0;
  6597.         
  6598.         virtual /* [local] */ void STDMETHODCALLTYPE OnViewChange( 
  6599.             /* [in] */ DWORD dwAspect,
  6600.             /* [in] */ LONG lindex) = 0;
  6601.         
  6602.         virtual /* [local] */ void STDMETHODCALLTYPE OnRename( 
  6603.             /* [in] */ IMoniker __RPC_FAR *pmk) = 0;
  6604.         
  6605.         virtual /* [local] */ void STDMETHODCALLTYPE OnSave( void) = 0;
  6606.         
  6607.         virtual /* [local] */ void STDMETHODCALLTYPE OnClose( void) = 0;
  6608.         
  6609.     };
  6610.     
  6611. #else     /* C style interface */
  6612.  
  6613.     typedef struct IAdviseSinkVtbl
  6614.     {
  6615.         BEGIN_INTERFACE
  6616.         
  6617.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6618.             IAdviseSink __RPC_FAR * This,
  6619.             /* [in] */ REFIID riid,
  6620.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6621.         
  6622.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6623.             IAdviseSink __RPC_FAR * This);
  6624.         
  6625.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6626.             IAdviseSink __RPC_FAR * This);
  6627.         
  6628.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *OnDataChange )( 
  6629.             IAdviseSink __RPC_FAR * This,
  6630.             /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  6631.             /* [unique][in] */ STGMEDIUM __RPC_FAR *pStgmed);
  6632.         
  6633.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *OnViewChange )( 
  6634.             IAdviseSink __RPC_FAR * This,
  6635.             /* [in] */ DWORD dwAspect,
  6636.             /* [in] */ LONG lindex);
  6637.         
  6638.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *OnRename )( 
  6639.             IAdviseSink __RPC_FAR * This,
  6640.             /* [in] */ IMoniker __RPC_FAR *pmk);
  6641.         
  6642.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *OnSave )( 
  6643.             IAdviseSink __RPC_FAR * This);
  6644.         
  6645.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *OnClose )( 
  6646.             IAdviseSink __RPC_FAR * This);
  6647.         
  6648.         END_INTERFACE
  6649.     } IAdviseSinkVtbl;
  6650.  
  6651.     interface IAdviseSink
  6652.     {
  6653.         CONST_VTBL struct IAdviseSinkVtbl __RPC_FAR *lpVtbl;
  6654.     };
  6655.  
  6656.     
  6657.  
  6658. #ifdef COBJMACROS
  6659.  
  6660.  
  6661. #define IAdviseSink_QueryInterface(This,riid,ppvObject)    \
  6662.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6663.  
  6664. #define IAdviseSink_AddRef(This)    \
  6665.     (This)->lpVtbl -> AddRef(This)
  6666.  
  6667. #define IAdviseSink_Release(This)    \
  6668.     (This)->lpVtbl -> Release(This)
  6669.  
  6670.  
  6671. #define IAdviseSink_OnDataChange(This,pFormatetc,pStgmed)    \
  6672.     (This)->lpVtbl -> OnDataChange(This,pFormatetc,pStgmed)
  6673.  
  6674. #define IAdviseSink_OnViewChange(This,dwAspect,lindex)    \
  6675.     (This)->lpVtbl -> OnViewChange(This,dwAspect,lindex)
  6676.  
  6677. #define IAdviseSink_OnRename(This,pmk)    \
  6678.     (This)->lpVtbl -> OnRename(This,pmk)
  6679.  
  6680. #define IAdviseSink_OnSave(This)    \
  6681.     (This)->lpVtbl -> OnSave(This)
  6682.  
  6683. #define IAdviseSink_OnClose(This)    \
  6684.     (This)->lpVtbl -> OnClose(This)
  6685.  
  6686. #endif /* COBJMACROS */
  6687.  
  6688.  
  6689. #endif     /* C style interface */
  6690.  
  6691.  
  6692.  
  6693. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnDataChange_Proxy( 
  6694.     IAdviseSink __RPC_FAR * This,
  6695.     /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  6696.     /* [unique][in] */ ASYNC_STGMEDIUM __RPC_FAR *pStgmed);
  6697.  
  6698.  
  6699. void __RPC_STUB IAdviseSink_RemoteOnDataChange_Stub(
  6700.     IRpcStubBuffer *This,
  6701.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6702.     PRPC_MESSAGE _pRpcMessage,
  6703.     DWORD *_pdwStubPhase);
  6704.  
  6705.  
  6706. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnViewChange_Proxy( 
  6707.     IAdviseSink __RPC_FAR * This,
  6708.     /* [in] */ DWORD dwAspect,
  6709.     /* [in] */ LONG lindex);
  6710.  
  6711.  
  6712. void __RPC_STUB IAdviseSink_RemoteOnViewChange_Stub(
  6713.     IRpcStubBuffer *This,
  6714.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6715.     PRPC_MESSAGE _pRpcMessage,
  6716.     DWORD *_pdwStubPhase);
  6717.  
  6718.  
  6719. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnRename_Proxy( 
  6720.     IAdviseSink __RPC_FAR * This,
  6721.     /* [in] */ IMoniker __RPC_FAR *pmk);
  6722.  
  6723.  
  6724. void __RPC_STUB IAdviseSink_RemoteOnRename_Stub(
  6725.     IRpcStubBuffer *This,
  6726.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6727.     PRPC_MESSAGE _pRpcMessage,
  6728.     DWORD *_pdwStubPhase);
  6729.  
  6730.  
  6731. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnSave_Proxy( 
  6732.     IAdviseSink __RPC_FAR * This);
  6733.  
  6734.  
  6735. void __RPC_STUB IAdviseSink_RemoteOnSave_Stub(
  6736.     IRpcStubBuffer *This,
  6737.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6738.     PRPC_MESSAGE _pRpcMessage,
  6739.     DWORD *_pdwStubPhase);
  6740.  
  6741.  
  6742. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnClose_Proxy( 
  6743.     IAdviseSink __RPC_FAR * This);
  6744.  
  6745.  
  6746. void __RPC_STUB IAdviseSink_RemoteOnClose_Stub(
  6747.     IRpcStubBuffer *This,
  6748.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6749.     PRPC_MESSAGE _pRpcMessage,
  6750.     DWORD *_pdwStubPhase);
  6751.  
  6752.  
  6753.  
  6754. #endif     /* __IAdviseSink_INTERFACE_DEFINED__ */
  6755.  
  6756.  
  6757. #ifndef __AsyncIAdviseSink_INTERFACE_DEFINED__
  6758. #define __AsyncIAdviseSink_INTERFACE_DEFINED__
  6759.  
  6760. /* interface AsyncIAdviseSink */
  6761. /* [uuid][unique][object] */ 
  6762.  
  6763.  
  6764. EXTERN_C const IID IID_AsyncIAdviseSink;
  6765.  
  6766. #if defined(__cplusplus) && !defined(CINTERFACE)
  6767.     
  6768.     MIDL_INTERFACE("00000150-0000-0000-C000-000000000046")
  6769.     AsyncIAdviseSink : public IUnknown
  6770.     {
  6771.     public:
  6772.         virtual /* [local] */ void STDMETHODCALLTYPE Begin_OnDataChange( 
  6773.             /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  6774.             /* [unique][in] */ STGMEDIUM __RPC_FAR *pStgmed) = 0;
  6775.         
  6776.         virtual /* [local] */ void STDMETHODCALLTYPE Finish_OnDataChange( void) = 0;
  6777.         
  6778.         virtual /* [local] */ void STDMETHODCALLTYPE Begin_OnViewChange( 
  6779.             /* [in] */ DWORD dwAspect,
  6780.             /* [in] */ LONG lindex) = 0;
  6781.         
  6782.         virtual /* [local] */ void STDMETHODCALLTYPE Finish_OnViewChange( void) = 0;
  6783.         
  6784.         virtual /* [local] */ void STDMETHODCALLTYPE Begin_OnRename( 
  6785.             /* [in] */ IMoniker __RPC_FAR *pmk) = 0;
  6786.         
  6787.         virtual /* [local] */ void STDMETHODCALLTYPE Finish_OnRename( void) = 0;
  6788.         
  6789.         virtual /* [local] */ void STDMETHODCALLTYPE Begin_OnSave( void) = 0;
  6790.         
  6791.         virtual /* [local] */ void STDMETHODCALLTYPE Finish_OnSave( void) = 0;
  6792.         
  6793.         virtual /* [local] */ void STDMETHODCALLTYPE Begin_OnClose( void) = 0;
  6794.         
  6795.         virtual /* [local] */ void STDMETHODCALLTYPE Finish_OnClose( void) = 0;
  6796.         
  6797.     };
  6798.     
  6799. #else     /* C style interface */
  6800.  
  6801.     typedef struct AsyncIAdviseSinkVtbl
  6802.     {
  6803.         BEGIN_INTERFACE
  6804.         
  6805.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  6806.             AsyncIAdviseSink __RPC_FAR * This,
  6807.             /* [in] */ REFIID riid,
  6808.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  6809.         
  6810.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  6811.             AsyncIAdviseSink __RPC_FAR * This);
  6812.         
  6813.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  6814.             AsyncIAdviseSink __RPC_FAR * This);
  6815.         
  6816.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Begin_OnDataChange )( 
  6817.             AsyncIAdviseSink __RPC_FAR * This,
  6818.             /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  6819.             /* [unique][in] */ STGMEDIUM __RPC_FAR *pStgmed);
  6820.         
  6821.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Finish_OnDataChange )( 
  6822.             AsyncIAdviseSink __RPC_FAR * This);
  6823.         
  6824.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Begin_OnViewChange )( 
  6825.             AsyncIAdviseSink __RPC_FAR * This,
  6826.             /* [in] */ DWORD dwAspect,
  6827.             /* [in] */ LONG lindex);
  6828.         
  6829.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Finish_OnViewChange )( 
  6830.             AsyncIAdviseSink __RPC_FAR * This);
  6831.         
  6832.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Begin_OnRename )( 
  6833.             AsyncIAdviseSink __RPC_FAR * This,
  6834.             /* [in] */ IMoniker __RPC_FAR *pmk);
  6835.         
  6836.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Finish_OnRename )( 
  6837.             AsyncIAdviseSink __RPC_FAR * This);
  6838.         
  6839.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Begin_OnSave )( 
  6840.             AsyncIAdviseSink __RPC_FAR * This);
  6841.         
  6842.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Finish_OnSave )( 
  6843.             AsyncIAdviseSink __RPC_FAR * This);
  6844.         
  6845.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Begin_OnClose )( 
  6846.             AsyncIAdviseSink __RPC_FAR * This);
  6847.         
  6848.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Finish_OnClose )( 
  6849.             AsyncIAdviseSink __RPC_FAR * This);
  6850.         
  6851.         END_INTERFACE
  6852.     } AsyncIAdviseSinkVtbl;
  6853.  
  6854.     interface AsyncIAdviseSink
  6855.     {
  6856.         CONST_VTBL struct AsyncIAdviseSinkVtbl __RPC_FAR *lpVtbl;
  6857.     };
  6858.  
  6859.     
  6860.  
  6861. #ifdef COBJMACROS
  6862.  
  6863.  
  6864. #define AsyncIAdviseSink_QueryInterface(This,riid,ppvObject)    \
  6865.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  6866.  
  6867. #define AsyncIAdviseSink_AddRef(This)    \
  6868.     (This)->lpVtbl -> AddRef(This)
  6869.  
  6870. #define AsyncIAdviseSink_Release(This)    \
  6871.     (This)->lpVtbl -> Release(This)
  6872.  
  6873.  
  6874. #define AsyncIAdviseSink_Begin_OnDataChange(This,pFormatetc,pStgmed)    \
  6875.     (This)->lpVtbl -> Begin_OnDataChange(This,pFormatetc,pStgmed)
  6876.  
  6877. #define AsyncIAdviseSink_Finish_OnDataChange(This)    \
  6878.     (This)->lpVtbl -> Finish_OnDataChange(This)
  6879.  
  6880. #define AsyncIAdviseSink_Begin_OnViewChange(This,dwAspect,lindex)    \
  6881.     (This)->lpVtbl -> Begin_OnViewChange(This,dwAspect,lindex)
  6882.  
  6883. #define AsyncIAdviseSink_Finish_OnViewChange(This)    \
  6884.     (This)->lpVtbl -> Finish_OnViewChange(This)
  6885.  
  6886. #define AsyncIAdviseSink_Begin_OnRename(This,pmk)    \
  6887.     (This)->lpVtbl -> Begin_OnRename(This,pmk)
  6888.  
  6889. #define AsyncIAdviseSink_Finish_OnRename(This)    \
  6890.     (This)->lpVtbl -> Finish_OnRename(This)
  6891.  
  6892. #define AsyncIAdviseSink_Begin_OnSave(This)    \
  6893.     (This)->lpVtbl -> Begin_OnSave(This)
  6894.  
  6895. #define AsyncIAdviseSink_Finish_OnSave(This)    \
  6896.     (This)->lpVtbl -> Finish_OnSave(This)
  6897.  
  6898. #define AsyncIAdviseSink_Begin_OnClose(This)    \
  6899.     (This)->lpVtbl -> Begin_OnClose(This)
  6900.  
  6901. #define AsyncIAdviseSink_Finish_OnClose(This)    \
  6902.     (This)->lpVtbl -> Finish_OnClose(This)
  6903.  
  6904. #endif /* COBJMACROS */
  6905.  
  6906.  
  6907. #endif     /* C style interface */
  6908.  
  6909.  
  6910.  
  6911. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Begin_RemoteOnDataChange_Proxy( 
  6912.     AsyncIAdviseSink __RPC_FAR * This,
  6913.     /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  6914.     /* [unique][in] */ ASYNC_STGMEDIUM __RPC_FAR *pStgmed);
  6915.  
  6916.  
  6917. void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnDataChange_Stub(
  6918.     IRpcStubBuffer *This,
  6919.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6920.     PRPC_MESSAGE _pRpcMessage,
  6921.     DWORD *_pdwStubPhase);
  6922.  
  6923.  
  6924. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Finish_RemoteOnDataChange_Proxy( 
  6925.     AsyncIAdviseSink __RPC_FAR * This);
  6926.  
  6927.  
  6928. void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnDataChange_Stub(
  6929.     IRpcStubBuffer *This,
  6930.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6931.     PRPC_MESSAGE _pRpcMessage,
  6932.     DWORD *_pdwStubPhase);
  6933.  
  6934.  
  6935. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Begin_RemoteOnViewChange_Proxy( 
  6936.     AsyncIAdviseSink __RPC_FAR * This,
  6937.     /* [in] */ DWORD dwAspect,
  6938.     /* [in] */ LONG lindex);
  6939.  
  6940.  
  6941. void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnViewChange_Stub(
  6942.     IRpcStubBuffer *This,
  6943.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6944.     PRPC_MESSAGE _pRpcMessage,
  6945.     DWORD *_pdwStubPhase);
  6946.  
  6947.  
  6948. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Finish_RemoteOnViewChange_Proxy( 
  6949.     AsyncIAdviseSink __RPC_FAR * This);
  6950.  
  6951.  
  6952. void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnViewChange_Stub(
  6953.     IRpcStubBuffer *This,
  6954.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6955.     PRPC_MESSAGE _pRpcMessage,
  6956.     DWORD *_pdwStubPhase);
  6957.  
  6958.  
  6959. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Begin_RemoteOnRename_Proxy( 
  6960.     AsyncIAdviseSink __RPC_FAR * This,
  6961.     /* [in] */ IMoniker __RPC_FAR *pmk);
  6962.  
  6963.  
  6964. void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnRename_Stub(
  6965.     IRpcStubBuffer *This,
  6966.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6967.     PRPC_MESSAGE _pRpcMessage,
  6968.     DWORD *_pdwStubPhase);
  6969.  
  6970.  
  6971. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Finish_RemoteOnRename_Proxy( 
  6972.     AsyncIAdviseSink __RPC_FAR * This);
  6973.  
  6974.  
  6975. void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnRename_Stub(
  6976.     IRpcStubBuffer *This,
  6977.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6978.     PRPC_MESSAGE _pRpcMessage,
  6979.     DWORD *_pdwStubPhase);
  6980.  
  6981.  
  6982. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Begin_RemoteOnSave_Proxy( 
  6983.     AsyncIAdviseSink __RPC_FAR * This);
  6984.  
  6985.  
  6986. void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnSave_Stub(
  6987.     IRpcStubBuffer *This,
  6988.     IRpcChannelBuffer *_pRpcChannelBuffer,
  6989.     PRPC_MESSAGE _pRpcMessage,
  6990.     DWORD *_pdwStubPhase);
  6991.  
  6992.  
  6993. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Finish_RemoteOnSave_Proxy( 
  6994.     AsyncIAdviseSink __RPC_FAR * This);
  6995.  
  6996.  
  6997. void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnSave_Stub(
  6998.     IRpcStubBuffer *This,
  6999.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7000.     PRPC_MESSAGE _pRpcMessage,
  7001.     DWORD *_pdwStubPhase);
  7002.  
  7003.  
  7004. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Begin_RemoteOnClose_Proxy( 
  7005.     AsyncIAdviseSink __RPC_FAR * This);
  7006.  
  7007.  
  7008. void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnClose_Stub(
  7009.     IRpcStubBuffer *This,
  7010.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7011.     PRPC_MESSAGE _pRpcMessage,
  7012.     DWORD *_pdwStubPhase);
  7013.  
  7014.  
  7015. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Finish_RemoteOnClose_Proxy( 
  7016.     AsyncIAdviseSink __RPC_FAR * This);
  7017.  
  7018.  
  7019. void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnClose_Stub(
  7020.     IRpcStubBuffer *This,
  7021.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7022.     PRPC_MESSAGE _pRpcMessage,
  7023.     DWORD *_pdwStubPhase);
  7024.  
  7025.  
  7026.  
  7027. #endif     /* __AsyncIAdviseSink_INTERFACE_DEFINED__ */
  7028.  
  7029.  
  7030. #ifndef __IAdviseSink2_INTERFACE_DEFINED__
  7031. #define __IAdviseSink2_INTERFACE_DEFINED__
  7032.  
  7033. /* interface IAdviseSink2 */
  7034. /* [unique][async_uuid][uuid][object] */ 
  7035.  
  7036. typedef /* [unique] */ IAdviseSink2 __RPC_FAR *LPADVISESINK2;
  7037.  
  7038.  
  7039. EXTERN_C const IID IID_IAdviseSink2;
  7040.  
  7041. #if defined(__cplusplus) && !defined(CINTERFACE)
  7042.     
  7043.     MIDL_INTERFACE("00000125-0000-0000-C000-000000000046")
  7044.     IAdviseSink2 : public IAdviseSink
  7045.     {
  7046.     public:
  7047.         virtual /* [local] */ void STDMETHODCALLTYPE OnLinkSrcChange( 
  7048.             /* [unique][in] */ IMoniker __RPC_FAR *pmk) = 0;
  7049.         
  7050.     };
  7051.     
  7052. #else     /* C style interface */
  7053.  
  7054.     typedef struct IAdviseSink2Vtbl
  7055.     {
  7056.         BEGIN_INTERFACE
  7057.         
  7058.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7059.             IAdviseSink2 __RPC_FAR * This,
  7060.             /* [in] */ REFIID riid,
  7061.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7062.         
  7063.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7064.             IAdviseSink2 __RPC_FAR * This);
  7065.         
  7066.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7067.             IAdviseSink2 __RPC_FAR * This);
  7068.         
  7069.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *OnDataChange )( 
  7070.             IAdviseSink2 __RPC_FAR * This,
  7071.             /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  7072.             /* [unique][in] */ STGMEDIUM __RPC_FAR *pStgmed);
  7073.         
  7074.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *OnViewChange )( 
  7075.             IAdviseSink2 __RPC_FAR * This,
  7076.             /* [in] */ DWORD dwAspect,
  7077.             /* [in] */ LONG lindex);
  7078.         
  7079.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *OnRename )( 
  7080.             IAdviseSink2 __RPC_FAR * This,
  7081.             /* [in] */ IMoniker __RPC_FAR *pmk);
  7082.         
  7083.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *OnSave )( 
  7084.             IAdviseSink2 __RPC_FAR * This);
  7085.         
  7086.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *OnClose )( 
  7087.             IAdviseSink2 __RPC_FAR * This);
  7088.         
  7089.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *OnLinkSrcChange )( 
  7090.             IAdviseSink2 __RPC_FAR * This,
  7091.             /* [unique][in] */ IMoniker __RPC_FAR *pmk);
  7092.         
  7093.         END_INTERFACE
  7094.     } IAdviseSink2Vtbl;
  7095.  
  7096.     interface IAdviseSink2
  7097.     {
  7098.         CONST_VTBL struct IAdviseSink2Vtbl __RPC_FAR *lpVtbl;
  7099.     };
  7100.  
  7101.     
  7102.  
  7103. #ifdef COBJMACROS
  7104.  
  7105.  
  7106. #define IAdviseSink2_QueryInterface(This,riid,ppvObject)    \
  7107.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7108.  
  7109. #define IAdviseSink2_AddRef(This)    \
  7110.     (This)->lpVtbl -> AddRef(This)
  7111.  
  7112. #define IAdviseSink2_Release(This)    \
  7113.     (This)->lpVtbl -> Release(This)
  7114.  
  7115.  
  7116. #define IAdviseSink2_OnDataChange(This,pFormatetc,pStgmed)    \
  7117.     (This)->lpVtbl -> OnDataChange(This,pFormatetc,pStgmed)
  7118.  
  7119. #define IAdviseSink2_OnViewChange(This,dwAspect,lindex)    \
  7120.     (This)->lpVtbl -> OnViewChange(This,dwAspect,lindex)
  7121.  
  7122. #define IAdviseSink2_OnRename(This,pmk)    \
  7123.     (This)->lpVtbl -> OnRename(This,pmk)
  7124.  
  7125. #define IAdviseSink2_OnSave(This)    \
  7126.     (This)->lpVtbl -> OnSave(This)
  7127.  
  7128. #define IAdviseSink2_OnClose(This)    \
  7129.     (This)->lpVtbl -> OnClose(This)
  7130.  
  7131.  
  7132. #define IAdviseSink2_OnLinkSrcChange(This,pmk)    \
  7133.     (This)->lpVtbl -> OnLinkSrcChange(This,pmk)
  7134.  
  7135. #endif /* COBJMACROS */
  7136.  
  7137.  
  7138. #endif     /* C style interface */
  7139.  
  7140.  
  7141.  
  7142. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAdviseSink2_RemoteOnLinkSrcChange_Proxy( 
  7143.     IAdviseSink2 __RPC_FAR * This,
  7144.     /* [unique][in] */ IMoniker __RPC_FAR *pmk);
  7145.  
  7146.  
  7147. void __RPC_STUB IAdviseSink2_RemoteOnLinkSrcChange_Stub(
  7148.     IRpcStubBuffer *This,
  7149.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7150.     PRPC_MESSAGE _pRpcMessage,
  7151.     DWORD *_pdwStubPhase);
  7152.  
  7153.  
  7154.  
  7155. #endif     /* __IAdviseSink2_INTERFACE_DEFINED__ */
  7156.  
  7157.  
  7158. #ifndef __AsyncIAdviseSink2_INTERFACE_DEFINED__
  7159. #define __AsyncIAdviseSink2_INTERFACE_DEFINED__
  7160.  
  7161. /* interface AsyncIAdviseSink2 */
  7162. /* [uuid][unique][object] */ 
  7163.  
  7164.  
  7165. EXTERN_C const IID IID_AsyncIAdviseSink2;
  7166.  
  7167. #if defined(__cplusplus) && !defined(CINTERFACE)
  7168.     
  7169.     MIDL_INTERFACE("00000151-0000-0000-C000-000000000046")
  7170.     AsyncIAdviseSink2 : public AsyncIAdviseSink
  7171.     {
  7172.     public:
  7173.         virtual /* [local] */ void STDMETHODCALLTYPE Begin_OnLinkSrcChange( 
  7174.             /* [unique][in] */ IMoniker __RPC_FAR *pmk) = 0;
  7175.         
  7176.         virtual /* [local] */ void STDMETHODCALLTYPE Finish_OnLinkSrcChange( void) = 0;
  7177.         
  7178.     };
  7179.     
  7180. #else     /* C style interface */
  7181.  
  7182.     typedef struct AsyncIAdviseSink2Vtbl
  7183.     {
  7184.         BEGIN_INTERFACE
  7185.         
  7186.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7187.             AsyncIAdviseSink2 __RPC_FAR * This,
  7188.             /* [in] */ REFIID riid,
  7189.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7190.         
  7191.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7192.             AsyncIAdviseSink2 __RPC_FAR * This);
  7193.         
  7194.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7195.             AsyncIAdviseSink2 __RPC_FAR * This);
  7196.         
  7197.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Begin_OnDataChange )( 
  7198.             AsyncIAdviseSink2 __RPC_FAR * This,
  7199.             /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  7200.             /* [unique][in] */ STGMEDIUM __RPC_FAR *pStgmed);
  7201.         
  7202.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Finish_OnDataChange )( 
  7203.             AsyncIAdviseSink2 __RPC_FAR * This);
  7204.         
  7205.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Begin_OnViewChange )( 
  7206.             AsyncIAdviseSink2 __RPC_FAR * This,
  7207.             /* [in] */ DWORD dwAspect,
  7208.             /* [in] */ LONG lindex);
  7209.         
  7210.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Finish_OnViewChange )( 
  7211.             AsyncIAdviseSink2 __RPC_FAR * This);
  7212.         
  7213.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Begin_OnRename )( 
  7214.             AsyncIAdviseSink2 __RPC_FAR * This,
  7215.             /* [in] */ IMoniker __RPC_FAR *pmk);
  7216.         
  7217.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Finish_OnRename )( 
  7218.             AsyncIAdviseSink2 __RPC_FAR * This);
  7219.         
  7220.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Begin_OnSave )( 
  7221.             AsyncIAdviseSink2 __RPC_FAR * This);
  7222.         
  7223.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Finish_OnSave )( 
  7224.             AsyncIAdviseSink2 __RPC_FAR * This);
  7225.         
  7226.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Begin_OnClose )( 
  7227.             AsyncIAdviseSink2 __RPC_FAR * This);
  7228.         
  7229.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Finish_OnClose )( 
  7230.             AsyncIAdviseSink2 __RPC_FAR * This);
  7231.         
  7232.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Begin_OnLinkSrcChange )( 
  7233.             AsyncIAdviseSink2 __RPC_FAR * This,
  7234.             /* [unique][in] */ IMoniker __RPC_FAR *pmk);
  7235.         
  7236.         /* [local] */ void ( STDMETHODCALLTYPE __RPC_FAR *Finish_OnLinkSrcChange )( 
  7237.             AsyncIAdviseSink2 __RPC_FAR * This);
  7238.         
  7239.         END_INTERFACE
  7240.     } AsyncIAdviseSink2Vtbl;
  7241.  
  7242.     interface AsyncIAdviseSink2
  7243.     {
  7244.         CONST_VTBL struct AsyncIAdviseSink2Vtbl __RPC_FAR *lpVtbl;
  7245.     };
  7246.  
  7247.     
  7248.  
  7249. #ifdef COBJMACROS
  7250.  
  7251.  
  7252. #define AsyncIAdviseSink2_QueryInterface(This,riid,ppvObject)    \
  7253.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7254.  
  7255. #define AsyncIAdviseSink2_AddRef(This)    \
  7256.     (This)->lpVtbl -> AddRef(This)
  7257.  
  7258. #define AsyncIAdviseSink2_Release(This)    \
  7259.     (This)->lpVtbl -> Release(This)
  7260.  
  7261.  
  7262. #define AsyncIAdviseSink2_Begin_OnDataChange(This,pFormatetc,pStgmed)    \
  7263.     (This)->lpVtbl -> Begin_OnDataChange(This,pFormatetc,pStgmed)
  7264.  
  7265. #define AsyncIAdviseSink2_Finish_OnDataChange(This)    \
  7266.     (This)->lpVtbl -> Finish_OnDataChange(This)
  7267.  
  7268. #define AsyncIAdviseSink2_Begin_OnViewChange(This,dwAspect,lindex)    \
  7269.     (This)->lpVtbl -> Begin_OnViewChange(This,dwAspect,lindex)
  7270.  
  7271. #define AsyncIAdviseSink2_Finish_OnViewChange(This)    \
  7272.     (This)->lpVtbl -> Finish_OnViewChange(This)
  7273.  
  7274. #define AsyncIAdviseSink2_Begin_OnRename(This,pmk)    \
  7275.     (This)->lpVtbl -> Begin_OnRename(This,pmk)
  7276.  
  7277. #define AsyncIAdviseSink2_Finish_OnRename(This)    \
  7278.     (This)->lpVtbl -> Finish_OnRename(This)
  7279.  
  7280. #define AsyncIAdviseSink2_Begin_OnSave(This)    \
  7281.     (This)->lpVtbl -> Begin_OnSave(This)
  7282.  
  7283. #define AsyncIAdviseSink2_Finish_OnSave(This)    \
  7284.     (This)->lpVtbl -> Finish_OnSave(This)
  7285.  
  7286. #define AsyncIAdviseSink2_Begin_OnClose(This)    \
  7287.     (This)->lpVtbl -> Begin_OnClose(This)
  7288.  
  7289. #define AsyncIAdviseSink2_Finish_OnClose(This)    \
  7290.     (This)->lpVtbl -> Finish_OnClose(This)
  7291.  
  7292.  
  7293. #define AsyncIAdviseSink2_Begin_OnLinkSrcChange(This,pmk)    \
  7294.     (This)->lpVtbl -> Begin_OnLinkSrcChange(This,pmk)
  7295.  
  7296. #define AsyncIAdviseSink2_Finish_OnLinkSrcChange(This)    \
  7297.     (This)->lpVtbl -> Finish_OnLinkSrcChange(This)
  7298.  
  7299. #endif /* COBJMACROS */
  7300.  
  7301.  
  7302. #endif     /* C style interface */
  7303.  
  7304.  
  7305.  
  7306. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Proxy( 
  7307.     AsyncIAdviseSink2 __RPC_FAR * This,
  7308.     /* [unique][in] */ IMoniker __RPC_FAR *pmk);
  7309.  
  7310.  
  7311. void __RPC_STUB AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Stub(
  7312.     IRpcStubBuffer *This,
  7313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7314.     PRPC_MESSAGE _pRpcMessage,
  7315.     DWORD *_pdwStubPhase);
  7316.  
  7317.  
  7318. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Proxy( 
  7319.     AsyncIAdviseSink2 __RPC_FAR * This);
  7320.  
  7321.  
  7322. void __RPC_STUB AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Stub(
  7323.     IRpcStubBuffer *This,
  7324.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7325.     PRPC_MESSAGE _pRpcMessage,
  7326.     DWORD *_pdwStubPhase);
  7327.  
  7328.  
  7329.  
  7330. #endif     /* __AsyncIAdviseSink2_INTERFACE_DEFINED__ */
  7331.  
  7332.  
  7333. #ifndef __IDataObject_INTERFACE_DEFINED__
  7334. #define __IDataObject_INTERFACE_DEFINED__
  7335.  
  7336. /* interface IDataObject */
  7337. /* [unique][uuid][object] */ 
  7338.  
  7339. typedef /* [unique] */ IDataObject __RPC_FAR *LPDATAOBJECT;
  7340.  
  7341. typedef 
  7342. enum tagDATADIR
  7343.     {    DATADIR_GET    = 1,
  7344.     DATADIR_SET    = 2
  7345.     }    DATADIR;
  7346.  
  7347.  
  7348. EXTERN_C const IID IID_IDataObject;
  7349.  
  7350. #if defined(__cplusplus) && !defined(CINTERFACE)
  7351.     
  7352.     MIDL_INTERFACE("0000010e-0000-0000-C000-000000000046")
  7353.     IDataObject : public IUnknown
  7354.     {
  7355.     public:
  7356.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetData( 
  7357.             /* [unique][in] */ FORMATETC __RPC_FAR *pformatetcIn,
  7358.             /* [out] */ STGMEDIUM __RPC_FAR *pmedium) = 0;
  7359.         
  7360.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDataHere( 
  7361.             /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  7362.             /* [out][in] */ STGMEDIUM __RPC_FAR *pmedium) = 0;
  7363.         
  7364.         virtual HRESULT STDMETHODCALLTYPE QueryGetData( 
  7365.             /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc) = 0;
  7366.         
  7367.         virtual HRESULT STDMETHODCALLTYPE GetCanonicalFormatEtc( 
  7368.             /* [unique][in] */ FORMATETC __RPC_FAR *pformatectIn,
  7369.             /* [out] */ FORMATETC __RPC_FAR *pformatetcOut) = 0;
  7370.         
  7371.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetData( 
  7372.             /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  7373.             /* [unique][in] */ STGMEDIUM __RPC_FAR *pmedium,
  7374.             /* [in] */ BOOL fRelease) = 0;
  7375.         
  7376.         virtual HRESULT STDMETHODCALLTYPE EnumFormatEtc( 
  7377.             /* [in] */ DWORD dwDirection,
  7378.             /* [out] */ IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenumFormatEtc) = 0;
  7379.         
  7380.         virtual HRESULT STDMETHODCALLTYPE DAdvise( 
  7381.             /* [in] */ FORMATETC __RPC_FAR *pformatetc,
  7382.             /* [in] */ DWORD advf,
  7383.             /* [unique][in] */ IAdviseSink __RPC_FAR *pAdvSink,
  7384.             /* [out] */ DWORD __RPC_FAR *pdwConnection) = 0;
  7385.         
  7386.         virtual HRESULT STDMETHODCALLTYPE DUnadvise( 
  7387.             /* [in] */ DWORD dwConnection) = 0;
  7388.         
  7389.         virtual HRESULT STDMETHODCALLTYPE EnumDAdvise( 
  7390.             /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise) = 0;
  7391.         
  7392.     };
  7393.     
  7394. #else     /* C style interface */
  7395.  
  7396.     typedef struct IDataObjectVtbl
  7397.     {
  7398.         BEGIN_INTERFACE
  7399.         
  7400.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7401.             IDataObject __RPC_FAR * This,
  7402.             /* [in] */ REFIID riid,
  7403.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7404.         
  7405.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7406.             IDataObject __RPC_FAR * This);
  7407.         
  7408.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7409.             IDataObject __RPC_FAR * This);
  7410.         
  7411.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetData )( 
  7412.             IDataObject __RPC_FAR * This,
  7413.             /* [unique][in] */ FORMATETC __RPC_FAR *pformatetcIn,
  7414.             /* [out] */ STGMEDIUM __RPC_FAR *pmedium);
  7415.         
  7416.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDataHere )( 
  7417.             IDataObject __RPC_FAR * This,
  7418.             /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  7419.             /* [out][in] */ STGMEDIUM __RPC_FAR *pmedium);
  7420.         
  7421.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryGetData )( 
  7422.             IDataObject __RPC_FAR * This,
  7423.             /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc);
  7424.         
  7425.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCanonicalFormatEtc )( 
  7426.             IDataObject __RPC_FAR * This,
  7427.             /* [unique][in] */ FORMATETC __RPC_FAR *pformatectIn,
  7428.             /* [out] */ FORMATETC __RPC_FAR *pformatetcOut);
  7429.         
  7430.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetData )( 
  7431.             IDataObject __RPC_FAR * This,
  7432.             /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  7433.             /* [unique][in] */ STGMEDIUM __RPC_FAR *pmedium,
  7434.             /* [in] */ BOOL fRelease);
  7435.         
  7436.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumFormatEtc )( 
  7437.             IDataObject __RPC_FAR * This,
  7438.             /* [in] */ DWORD dwDirection,
  7439.             /* [out] */ IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenumFormatEtc);
  7440.         
  7441.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DAdvise )( 
  7442.             IDataObject __RPC_FAR * This,
  7443.             /* [in] */ FORMATETC __RPC_FAR *pformatetc,
  7444.             /* [in] */ DWORD advf,
  7445.             /* [unique][in] */ IAdviseSink __RPC_FAR *pAdvSink,
  7446.             /* [out] */ DWORD __RPC_FAR *pdwConnection);
  7447.         
  7448.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DUnadvise )( 
  7449.             IDataObject __RPC_FAR * This,
  7450.             /* [in] */ DWORD dwConnection);
  7451.         
  7452.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumDAdvise )( 
  7453.             IDataObject __RPC_FAR * This,
  7454.             /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise);
  7455.         
  7456.         END_INTERFACE
  7457.     } IDataObjectVtbl;
  7458.  
  7459.     interface IDataObject
  7460.     {
  7461.         CONST_VTBL struct IDataObjectVtbl __RPC_FAR *lpVtbl;
  7462.     };
  7463.  
  7464.     
  7465.  
  7466. #ifdef COBJMACROS
  7467.  
  7468.  
  7469. #define IDataObject_QueryInterface(This,riid,ppvObject)    \
  7470.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7471.  
  7472. #define IDataObject_AddRef(This)    \
  7473.     (This)->lpVtbl -> AddRef(This)
  7474.  
  7475. #define IDataObject_Release(This)    \
  7476.     (This)->lpVtbl -> Release(This)
  7477.  
  7478.  
  7479. #define IDataObject_GetData(This,pformatetcIn,pmedium)    \
  7480.     (This)->lpVtbl -> GetData(This,pformatetcIn,pmedium)
  7481.  
  7482. #define IDataObject_GetDataHere(This,pformatetc,pmedium)    \
  7483.     (This)->lpVtbl -> GetDataHere(This,pformatetc,pmedium)
  7484.  
  7485. #define IDataObject_QueryGetData(This,pformatetc)    \
  7486.     (This)->lpVtbl -> QueryGetData(This,pformatetc)
  7487.  
  7488. #define IDataObject_GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut)    \
  7489.     (This)->lpVtbl -> GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut)
  7490.  
  7491. #define IDataObject_SetData(This,pformatetc,pmedium,fRelease)    \
  7492.     (This)->lpVtbl -> SetData(This,pformatetc,pmedium,fRelease)
  7493.  
  7494. #define IDataObject_EnumFormatEtc(This,dwDirection,ppenumFormatEtc)    \
  7495.     (This)->lpVtbl -> EnumFormatEtc(This,dwDirection,ppenumFormatEtc)
  7496.  
  7497. #define IDataObject_DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection)    \
  7498.     (This)->lpVtbl -> DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection)
  7499.  
  7500. #define IDataObject_DUnadvise(This,dwConnection)    \
  7501.     (This)->lpVtbl -> DUnadvise(This,dwConnection)
  7502.  
  7503. #define IDataObject_EnumDAdvise(This,ppenumAdvise)    \
  7504.     (This)->lpVtbl -> EnumDAdvise(This,ppenumAdvise)
  7505.  
  7506. #endif /* COBJMACROS */
  7507.  
  7508.  
  7509. #endif     /* C style interface */
  7510.  
  7511.  
  7512.  
  7513. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetData_Proxy( 
  7514.     IDataObject __RPC_FAR * This,
  7515.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetcIn,
  7516.     /* [out] */ STGMEDIUM __RPC_FAR *pRemoteMedium);
  7517.  
  7518.  
  7519. void __RPC_STUB IDataObject_RemoteGetData_Stub(
  7520.     IRpcStubBuffer *This,
  7521.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7522.     PRPC_MESSAGE _pRpcMessage,
  7523.     DWORD *_pdwStubPhase);
  7524.  
  7525.  
  7526. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetDataHere_Proxy( 
  7527.     IDataObject __RPC_FAR * This,
  7528.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  7529.     /* [out][in] */ STGMEDIUM __RPC_FAR *pRemoteMedium);
  7530.  
  7531.  
  7532. void __RPC_STUB IDataObject_RemoteGetDataHere_Stub(
  7533.     IRpcStubBuffer *This,
  7534.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7535.     PRPC_MESSAGE _pRpcMessage,
  7536.     DWORD *_pdwStubPhase);
  7537.  
  7538.  
  7539. HRESULT STDMETHODCALLTYPE IDataObject_QueryGetData_Proxy( 
  7540.     IDataObject __RPC_FAR * This,
  7541.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc);
  7542.  
  7543.  
  7544. void __RPC_STUB IDataObject_QueryGetData_Stub(
  7545.     IRpcStubBuffer *This,
  7546.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7547.     PRPC_MESSAGE _pRpcMessage,
  7548.     DWORD *_pdwStubPhase);
  7549.  
  7550.  
  7551. HRESULT STDMETHODCALLTYPE IDataObject_GetCanonicalFormatEtc_Proxy( 
  7552.     IDataObject __RPC_FAR * This,
  7553.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatectIn,
  7554.     /* [out] */ FORMATETC __RPC_FAR *pformatetcOut);
  7555.  
  7556.  
  7557. void __RPC_STUB IDataObject_GetCanonicalFormatEtc_Stub(
  7558.     IRpcStubBuffer *This,
  7559.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7560.     PRPC_MESSAGE _pRpcMessage,
  7561.     DWORD *_pdwStubPhase);
  7562.  
  7563.  
  7564. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDataObject_RemoteSetData_Proxy( 
  7565.     IDataObject __RPC_FAR * This,
  7566.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  7567.     /* [unique][in] */ FLAG_STGMEDIUM __RPC_FAR *pmedium,
  7568.     /* [in] */ BOOL fRelease);
  7569.  
  7570.  
  7571. void __RPC_STUB IDataObject_RemoteSetData_Stub(
  7572.     IRpcStubBuffer *This,
  7573.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7574.     PRPC_MESSAGE _pRpcMessage,
  7575.     DWORD *_pdwStubPhase);
  7576.  
  7577.  
  7578. HRESULT STDMETHODCALLTYPE IDataObject_EnumFormatEtc_Proxy( 
  7579.     IDataObject __RPC_FAR * This,
  7580.     /* [in] */ DWORD dwDirection,
  7581.     /* [out] */ IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenumFormatEtc);
  7582.  
  7583.  
  7584. void __RPC_STUB IDataObject_EnumFormatEtc_Stub(
  7585.     IRpcStubBuffer *This,
  7586.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7587.     PRPC_MESSAGE _pRpcMessage,
  7588.     DWORD *_pdwStubPhase);
  7589.  
  7590.  
  7591. HRESULT STDMETHODCALLTYPE IDataObject_DAdvise_Proxy( 
  7592.     IDataObject __RPC_FAR * This,
  7593.     /* [in] */ FORMATETC __RPC_FAR *pformatetc,
  7594.     /* [in] */ DWORD advf,
  7595.     /* [unique][in] */ IAdviseSink __RPC_FAR *pAdvSink,
  7596.     /* [out] */ DWORD __RPC_FAR *pdwConnection);
  7597.  
  7598.  
  7599. void __RPC_STUB IDataObject_DAdvise_Stub(
  7600.     IRpcStubBuffer *This,
  7601.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7602.     PRPC_MESSAGE _pRpcMessage,
  7603.     DWORD *_pdwStubPhase);
  7604.  
  7605.  
  7606. HRESULT STDMETHODCALLTYPE IDataObject_DUnadvise_Proxy( 
  7607.     IDataObject __RPC_FAR * This,
  7608.     /* [in] */ DWORD dwConnection);
  7609.  
  7610.  
  7611. void __RPC_STUB IDataObject_DUnadvise_Stub(
  7612.     IRpcStubBuffer *This,
  7613.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7614.     PRPC_MESSAGE _pRpcMessage,
  7615.     DWORD *_pdwStubPhase);
  7616.  
  7617.  
  7618. HRESULT STDMETHODCALLTYPE IDataObject_EnumDAdvise_Proxy( 
  7619.     IDataObject __RPC_FAR * This,
  7620.     /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise);
  7621.  
  7622.  
  7623. void __RPC_STUB IDataObject_EnumDAdvise_Stub(
  7624.     IRpcStubBuffer *This,
  7625.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7626.     PRPC_MESSAGE _pRpcMessage,
  7627.     DWORD *_pdwStubPhase);
  7628.  
  7629.  
  7630.  
  7631. #endif     /* __IDataObject_INTERFACE_DEFINED__ */
  7632.  
  7633.  
  7634. #ifndef __IDataAdviseHolder_INTERFACE_DEFINED__
  7635. #define __IDataAdviseHolder_INTERFACE_DEFINED__
  7636.  
  7637. /* interface IDataAdviseHolder */
  7638. /* [uuid][object][local] */ 
  7639.  
  7640. typedef /* [unique] */ IDataAdviseHolder __RPC_FAR *LPDATAADVISEHOLDER;
  7641.  
  7642.  
  7643. EXTERN_C const IID IID_IDataAdviseHolder;
  7644.  
  7645. #if defined(__cplusplus) && !defined(CINTERFACE)
  7646.     
  7647.     MIDL_INTERFACE("00000110-0000-0000-C000-000000000046")
  7648.     IDataAdviseHolder : public IUnknown
  7649.     {
  7650.     public:
  7651.         virtual HRESULT STDMETHODCALLTYPE Advise( 
  7652.             /* [unique][in] */ IDataObject __RPC_FAR *pDataObject,
  7653.             /* [unique][in] */ FORMATETC __RPC_FAR *pFetc,
  7654.             /* [in] */ DWORD advf,
  7655.             /* [unique][in] */ IAdviseSink __RPC_FAR *pAdvise,
  7656.             /* [out] */ DWORD __RPC_FAR *pdwConnection) = 0;
  7657.         
  7658.         virtual HRESULT STDMETHODCALLTYPE Unadvise( 
  7659.             /* [in] */ DWORD dwConnection) = 0;
  7660.         
  7661.         virtual HRESULT STDMETHODCALLTYPE EnumAdvise( 
  7662.             /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise) = 0;
  7663.         
  7664.         virtual HRESULT STDMETHODCALLTYPE SendOnDataChange( 
  7665.             /* [unique][in] */ IDataObject __RPC_FAR *pDataObject,
  7666.             /* [in] */ DWORD dwReserved,
  7667.             /* [in] */ DWORD advf) = 0;
  7668.         
  7669.     };
  7670.     
  7671. #else     /* C style interface */
  7672.  
  7673.     typedef struct IDataAdviseHolderVtbl
  7674.     {
  7675.         BEGIN_INTERFACE
  7676.         
  7677.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7678.             IDataAdviseHolder __RPC_FAR * This,
  7679.             /* [in] */ REFIID riid,
  7680.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7681.         
  7682.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7683.             IDataAdviseHolder __RPC_FAR * This);
  7684.         
  7685.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7686.             IDataAdviseHolder __RPC_FAR * This);
  7687.         
  7688.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Advise )( 
  7689.             IDataAdviseHolder __RPC_FAR * This,
  7690.             /* [unique][in] */ IDataObject __RPC_FAR *pDataObject,
  7691.             /* [unique][in] */ FORMATETC __RPC_FAR *pFetc,
  7692.             /* [in] */ DWORD advf,
  7693.             /* [unique][in] */ IAdviseSink __RPC_FAR *pAdvise,
  7694.             /* [out] */ DWORD __RPC_FAR *pdwConnection);
  7695.         
  7696.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Unadvise )( 
  7697.             IDataAdviseHolder __RPC_FAR * This,
  7698.             /* [in] */ DWORD dwConnection);
  7699.         
  7700.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumAdvise )( 
  7701.             IDataAdviseHolder __RPC_FAR * This,
  7702.             /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise);
  7703.         
  7704.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendOnDataChange )( 
  7705.             IDataAdviseHolder __RPC_FAR * This,
  7706.             /* [unique][in] */ IDataObject __RPC_FAR *pDataObject,
  7707.             /* [in] */ DWORD dwReserved,
  7708.             /* [in] */ DWORD advf);
  7709.         
  7710.         END_INTERFACE
  7711.     } IDataAdviseHolderVtbl;
  7712.  
  7713.     interface IDataAdviseHolder
  7714.     {
  7715.         CONST_VTBL struct IDataAdviseHolderVtbl __RPC_FAR *lpVtbl;
  7716.     };
  7717.  
  7718.     
  7719.  
  7720. #ifdef COBJMACROS
  7721.  
  7722.  
  7723. #define IDataAdviseHolder_QueryInterface(This,riid,ppvObject)    \
  7724.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7725.  
  7726. #define IDataAdviseHolder_AddRef(This)    \
  7727.     (This)->lpVtbl -> AddRef(This)
  7728.  
  7729. #define IDataAdviseHolder_Release(This)    \
  7730.     (This)->lpVtbl -> Release(This)
  7731.  
  7732.  
  7733. #define IDataAdviseHolder_Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection)    \
  7734.     (This)->lpVtbl -> Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection)
  7735.  
  7736. #define IDataAdviseHolder_Unadvise(This,dwConnection)    \
  7737.     (This)->lpVtbl -> Unadvise(This,dwConnection)
  7738.  
  7739. #define IDataAdviseHolder_EnumAdvise(This,ppenumAdvise)    \
  7740.     (This)->lpVtbl -> EnumAdvise(This,ppenumAdvise)
  7741.  
  7742. #define IDataAdviseHolder_SendOnDataChange(This,pDataObject,dwReserved,advf)    \
  7743.     (This)->lpVtbl -> SendOnDataChange(This,pDataObject,dwReserved,advf)
  7744.  
  7745. #endif /* COBJMACROS */
  7746.  
  7747.  
  7748. #endif     /* C style interface */
  7749.  
  7750.  
  7751.  
  7752. HRESULT STDMETHODCALLTYPE IDataAdviseHolder_Advise_Proxy( 
  7753.     IDataAdviseHolder __RPC_FAR * This,
  7754.     /* [unique][in] */ IDataObject __RPC_FAR *pDataObject,
  7755.     /* [unique][in] */ FORMATETC __RPC_FAR *pFetc,
  7756.     /* [in] */ DWORD advf,
  7757.     /* [unique][in] */ IAdviseSink __RPC_FAR *pAdvise,
  7758.     /* [out] */ DWORD __RPC_FAR *pdwConnection);
  7759.  
  7760.  
  7761. void __RPC_STUB IDataAdviseHolder_Advise_Stub(
  7762.     IRpcStubBuffer *This,
  7763.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7764.     PRPC_MESSAGE _pRpcMessage,
  7765.     DWORD *_pdwStubPhase);
  7766.  
  7767.  
  7768. HRESULT STDMETHODCALLTYPE IDataAdviseHolder_Unadvise_Proxy( 
  7769.     IDataAdviseHolder __RPC_FAR * This,
  7770.     /* [in] */ DWORD dwConnection);
  7771.  
  7772.  
  7773. void __RPC_STUB IDataAdviseHolder_Unadvise_Stub(
  7774.     IRpcStubBuffer *This,
  7775.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7776.     PRPC_MESSAGE _pRpcMessage,
  7777.     DWORD *_pdwStubPhase);
  7778.  
  7779.  
  7780. HRESULT STDMETHODCALLTYPE IDataAdviseHolder_EnumAdvise_Proxy( 
  7781.     IDataAdviseHolder __RPC_FAR * This,
  7782.     /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise);
  7783.  
  7784.  
  7785. void __RPC_STUB IDataAdviseHolder_EnumAdvise_Stub(
  7786.     IRpcStubBuffer *This,
  7787.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7788.     PRPC_MESSAGE _pRpcMessage,
  7789.     DWORD *_pdwStubPhase);
  7790.  
  7791.  
  7792. HRESULT STDMETHODCALLTYPE IDataAdviseHolder_SendOnDataChange_Proxy( 
  7793.     IDataAdviseHolder __RPC_FAR * This,
  7794.     /* [unique][in] */ IDataObject __RPC_FAR *pDataObject,
  7795.     /* [in] */ DWORD dwReserved,
  7796.     /* [in] */ DWORD advf);
  7797.  
  7798.  
  7799. void __RPC_STUB IDataAdviseHolder_SendOnDataChange_Stub(
  7800.     IRpcStubBuffer *This,
  7801.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7802.     PRPC_MESSAGE _pRpcMessage,
  7803.     DWORD *_pdwStubPhase);
  7804.  
  7805.  
  7806.  
  7807. #endif     /* __IDataAdviseHolder_INTERFACE_DEFINED__ */
  7808.  
  7809.  
  7810. #ifndef __IMessageFilter_INTERFACE_DEFINED__
  7811. #define __IMessageFilter_INTERFACE_DEFINED__
  7812.  
  7813. /* interface IMessageFilter */
  7814. /* [uuid][object][local] */ 
  7815.  
  7816. typedef /* [unique] */ IMessageFilter __RPC_FAR *LPMESSAGEFILTER;
  7817.  
  7818. typedef 
  7819. enum tagCALLTYPE
  7820.     {    CALLTYPE_TOPLEVEL    = 1,
  7821.     CALLTYPE_NESTED    = 2,
  7822.     CALLTYPE_ASYNC    = 3,
  7823.     CALLTYPE_TOPLEVEL_CALLPENDING    = 4,
  7824.     CALLTYPE_ASYNC_CALLPENDING    = 5
  7825.     }    CALLTYPE;
  7826.  
  7827. typedef 
  7828. enum tagSERVERCALL
  7829.     {    SERVERCALL_ISHANDLED    = 0,
  7830.     SERVERCALL_REJECTED    = 1,
  7831.     SERVERCALL_RETRYLATER    = 2
  7832.     }    SERVERCALL;
  7833.  
  7834. typedef 
  7835. enum tagPENDINGTYPE
  7836.     {    PENDINGTYPE_TOPLEVEL    = 1,
  7837.     PENDINGTYPE_NESTED    = 2
  7838.     }    PENDINGTYPE;
  7839.  
  7840. typedef 
  7841. enum tagPENDINGMSG
  7842.     {    PENDINGMSG_CANCELCALL    = 0,
  7843.     PENDINGMSG_WAITNOPROCESS    = 1,
  7844.     PENDINGMSG_WAITDEFPROCESS    = 2
  7845.     }    PENDINGMSG;
  7846.  
  7847. typedef struct tagINTERFACEINFO
  7848.     {
  7849.     IUnknown __RPC_FAR *pUnk;
  7850.     IID iid;
  7851.     WORD wMethod;
  7852.     }    INTERFACEINFO;
  7853.  
  7854. typedef struct tagINTERFACEINFO __RPC_FAR *LPINTERFACEINFO;
  7855.  
  7856.  
  7857. EXTERN_C const IID IID_IMessageFilter;
  7858.  
  7859. #if defined(__cplusplus) && !defined(CINTERFACE)
  7860.     
  7861.     MIDL_INTERFACE("00000016-0000-0000-C000-000000000046")
  7862.     IMessageFilter : public IUnknown
  7863.     {
  7864.     public:
  7865.         virtual DWORD STDMETHODCALLTYPE HandleInComingCall( 
  7866.             /* [in] */ DWORD dwCallType,
  7867.             /* [in] */ HTASK htaskCaller,
  7868.             /* [in] */ DWORD dwTickCount,
  7869.             /* [in] */ LPINTERFACEINFO lpInterfaceInfo) = 0;
  7870.         
  7871.         virtual DWORD STDMETHODCALLTYPE RetryRejectedCall( 
  7872.             /* [in] */ HTASK htaskCallee,
  7873.             /* [in] */ DWORD dwTickCount,
  7874.             /* [in] */ DWORD dwRejectType) = 0;
  7875.         
  7876.         virtual DWORD STDMETHODCALLTYPE MessagePending( 
  7877.             /* [in] */ HTASK htaskCallee,
  7878.             /* [in] */ DWORD dwTickCount,
  7879.             /* [in] */ DWORD dwPendingType) = 0;
  7880.         
  7881.     };
  7882.     
  7883. #else     /* C style interface */
  7884.  
  7885.     typedef struct IMessageFilterVtbl
  7886.     {
  7887.         BEGIN_INTERFACE
  7888.         
  7889.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  7890.             IMessageFilter __RPC_FAR * This,
  7891.             /* [in] */ REFIID riid,
  7892.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  7893.         
  7894.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  7895.             IMessageFilter __RPC_FAR * This);
  7896.         
  7897.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  7898.             IMessageFilter __RPC_FAR * This);
  7899.         
  7900.         DWORD ( STDMETHODCALLTYPE __RPC_FAR *HandleInComingCall )( 
  7901.             IMessageFilter __RPC_FAR * This,
  7902.             /* [in] */ DWORD dwCallType,
  7903.             /* [in] */ HTASK htaskCaller,
  7904.             /* [in] */ DWORD dwTickCount,
  7905.             /* [in] */ LPINTERFACEINFO lpInterfaceInfo);
  7906.         
  7907.         DWORD ( STDMETHODCALLTYPE __RPC_FAR *RetryRejectedCall )( 
  7908.             IMessageFilter __RPC_FAR * This,
  7909.             /* [in] */ HTASK htaskCallee,
  7910.             /* [in] */ DWORD dwTickCount,
  7911.             /* [in] */ DWORD dwRejectType);
  7912.         
  7913.         DWORD ( STDMETHODCALLTYPE __RPC_FAR *MessagePending )( 
  7914.             IMessageFilter __RPC_FAR * This,
  7915.             /* [in] */ HTASK htaskCallee,
  7916.             /* [in] */ DWORD dwTickCount,
  7917.             /* [in] */ DWORD dwPendingType);
  7918.         
  7919.         END_INTERFACE
  7920.     } IMessageFilterVtbl;
  7921.  
  7922.     interface IMessageFilter
  7923.     {
  7924.         CONST_VTBL struct IMessageFilterVtbl __RPC_FAR *lpVtbl;
  7925.     };
  7926.  
  7927.     
  7928.  
  7929. #ifdef COBJMACROS
  7930.  
  7931.  
  7932. #define IMessageFilter_QueryInterface(This,riid,ppvObject)    \
  7933.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  7934.  
  7935. #define IMessageFilter_AddRef(This)    \
  7936.     (This)->lpVtbl -> AddRef(This)
  7937.  
  7938. #define IMessageFilter_Release(This)    \
  7939.     (This)->lpVtbl -> Release(This)
  7940.  
  7941.  
  7942. #define IMessageFilter_HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo)    \
  7943.     (This)->lpVtbl -> HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo)
  7944.  
  7945. #define IMessageFilter_RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType)    \
  7946.     (This)->lpVtbl -> RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType)
  7947.  
  7948. #define IMessageFilter_MessagePending(This,htaskCallee,dwTickCount,dwPendingType)    \
  7949.     (This)->lpVtbl -> MessagePending(This,htaskCallee,dwTickCount,dwPendingType)
  7950.  
  7951. #endif /* COBJMACROS */
  7952.  
  7953.  
  7954. #endif     /* C style interface */
  7955.  
  7956.  
  7957.  
  7958. DWORD STDMETHODCALLTYPE IMessageFilter_HandleInComingCall_Proxy( 
  7959.     IMessageFilter __RPC_FAR * This,
  7960.     /* [in] */ DWORD dwCallType,
  7961.     /* [in] */ HTASK htaskCaller,
  7962.     /* [in] */ DWORD dwTickCount,
  7963.     /* [in] */ LPINTERFACEINFO lpInterfaceInfo);
  7964.  
  7965.  
  7966. void __RPC_STUB IMessageFilter_HandleInComingCall_Stub(
  7967.     IRpcStubBuffer *This,
  7968.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7969.     PRPC_MESSAGE _pRpcMessage,
  7970.     DWORD *_pdwStubPhase);
  7971.  
  7972.  
  7973. DWORD STDMETHODCALLTYPE IMessageFilter_RetryRejectedCall_Proxy( 
  7974.     IMessageFilter __RPC_FAR * This,
  7975.     /* [in] */ HTASK htaskCallee,
  7976.     /* [in] */ DWORD dwTickCount,
  7977.     /* [in] */ DWORD dwRejectType);
  7978.  
  7979.  
  7980. void __RPC_STUB IMessageFilter_RetryRejectedCall_Stub(
  7981.     IRpcStubBuffer *This,
  7982.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7983.     PRPC_MESSAGE _pRpcMessage,
  7984.     DWORD *_pdwStubPhase);
  7985.  
  7986.  
  7987. DWORD STDMETHODCALLTYPE IMessageFilter_MessagePending_Proxy( 
  7988.     IMessageFilter __RPC_FAR * This,
  7989.     /* [in] */ HTASK htaskCallee,
  7990.     /* [in] */ DWORD dwTickCount,
  7991.     /* [in] */ DWORD dwPendingType);
  7992.  
  7993.  
  7994. void __RPC_STUB IMessageFilter_MessagePending_Stub(
  7995.     IRpcStubBuffer *This,
  7996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  7997.     PRPC_MESSAGE _pRpcMessage,
  7998.     DWORD *_pdwStubPhase);
  7999.  
  8000.  
  8001.  
  8002. #endif     /* __IMessageFilter_INTERFACE_DEFINED__ */
  8003.  
  8004.  
  8005. #ifndef __IRpcChannelBuffer_INTERFACE_DEFINED__
  8006. #define __IRpcChannelBuffer_INTERFACE_DEFINED__
  8007.  
  8008. /* interface IRpcChannelBuffer */
  8009. /* [uuid][object][local] */ 
  8010.  
  8011. typedef unsigned long RPCOLEDATAREP;
  8012.  
  8013. typedef struct tagRPCOLEMESSAGE
  8014.     {
  8015.     void __RPC_FAR *reserved1;
  8016.     RPCOLEDATAREP dataRepresentation;
  8017.     void __RPC_FAR *Buffer;
  8018.     ULONG cbBuffer;
  8019.     ULONG iMethod;
  8020.     void __RPC_FAR *reserved2[ 5 ];
  8021.     ULONG rpcFlags;
  8022.     }    RPCOLEMESSAGE;
  8023.  
  8024. typedef RPCOLEMESSAGE __RPC_FAR *PRPCOLEMESSAGE;
  8025.  
  8026.  
  8027. EXTERN_C const IID IID_IRpcChannelBuffer;
  8028.  
  8029. #if defined(__cplusplus) && !defined(CINTERFACE)
  8030.     
  8031.     MIDL_INTERFACE("D5F56B60-593B-101A-B569-08002B2DBF7A")
  8032.     IRpcChannelBuffer : public IUnknown
  8033.     {
  8034.     public:
  8035.         virtual HRESULT STDMETHODCALLTYPE GetBuffer( 
  8036.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  8037.             /* [in] */ REFIID riid) = 0;
  8038.         
  8039.         virtual HRESULT STDMETHODCALLTYPE SendReceive( 
  8040.             /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  8041.             /* [out] */ ULONG __RPC_FAR *pStatus) = 0;
  8042.         
  8043.         virtual HRESULT STDMETHODCALLTYPE FreeBuffer( 
  8044.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage) = 0;
  8045.         
  8046.         virtual HRESULT STDMETHODCALLTYPE GetDestCtx( 
  8047.             /* [out] */ DWORD __RPC_FAR *pdwDestContext,
  8048.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext) = 0;
  8049.         
  8050.         virtual HRESULT STDMETHODCALLTYPE IsConnected( void) = 0;
  8051.         
  8052.     };
  8053.     
  8054. #else     /* C style interface */
  8055.  
  8056.     typedef struct IRpcChannelBufferVtbl
  8057.     {
  8058.         BEGIN_INTERFACE
  8059.         
  8060.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8061.             IRpcChannelBuffer __RPC_FAR * This,
  8062.             /* [in] */ REFIID riid,
  8063.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8064.         
  8065.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8066.             IRpcChannelBuffer __RPC_FAR * This);
  8067.         
  8068.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8069.             IRpcChannelBuffer __RPC_FAR * This);
  8070.         
  8071.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBuffer )( 
  8072.             IRpcChannelBuffer __RPC_FAR * This,
  8073.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  8074.             /* [in] */ REFIID riid);
  8075.         
  8076.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendReceive )( 
  8077.             IRpcChannelBuffer __RPC_FAR * This,
  8078.             /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  8079.             /* [out] */ ULONG __RPC_FAR *pStatus);
  8080.         
  8081.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeBuffer )( 
  8082.             IRpcChannelBuffer __RPC_FAR * This,
  8083.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage);
  8084.         
  8085.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDestCtx )( 
  8086.             IRpcChannelBuffer __RPC_FAR * This,
  8087.             /* [out] */ DWORD __RPC_FAR *pdwDestContext,
  8088.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext);
  8089.         
  8090.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsConnected )( 
  8091.             IRpcChannelBuffer __RPC_FAR * This);
  8092.         
  8093.         END_INTERFACE
  8094.     } IRpcChannelBufferVtbl;
  8095.  
  8096.     interface IRpcChannelBuffer
  8097.     {
  8098.         CONST_VTBL struct IRpcChannelBufferVtbl __RPC_FAR *lpVtbl;
  8099.     };
  8100.  
  8101.     
  8102.  
  8103. #ifdef COBJMACROS
  8104.  
  8105.  
  8106. #define IRpcChannelBuffer_QueryInterface(This,riid,ppvObject)    \
  8107.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8108.  
  8109. #define IRpcChannelBuffer_AddRef(This)    \
  8110.     (This)->lpVtbl -> AddRef(This)
  8111.  
  8112. #define IRpcChannelBuffer_Release(This)    \
  8113.     (This)->lpVtbl -> Release(This)
  8114.  
  8115.  
  8116. #define IRpcChannelBuffer_GetBuffer(This,pMessage,riid)    \
  8117.     (This)->lpVtbl -> GetBuffer(This,pMessage,riid)
  8118.  
  8119. #define IRpcChannelBuffer_SendReceive(This,pMessage,pStatus)    \
  8120.     (This)->lpVtbl -> SendReceive(This,pMessage,pStatus)
  8121.  
  8122. #define IRpcChannelBuffer_FreeBuffer(This,pMessage)    \
  8123.     (This)->lpVtbl -> FreeBuffer(This,pMessage)
  8124.  
  8125. #define IRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext)    \
  8126.     (This)->lpVtbl -> GetDestCtx(This,pdwDestContext,ppvDestContext)
  8127.  
  8128. #define IRpcChannelBuffer_IsConnected(This)    \
  8129.     (This)->lpVtbl -> IsConnected(This)
  8130.  
  8131. #endif /* COBJMACROS */
  8132.  
  8133.  
  8134. #endif     /* C style interface */
  8135.  
  8136.  
  8137.  
  8138. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_GetBuffer_Proxy( 
  8139.     IRpcChannelBuffer __RPC_FAR * This,
  8140.     /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  8141.     /* [in] */ REFIID riid);
  8142.  
  8143.  
  8144. void __RPC_STUB IRpcChannelBuffer_GetBuffer_Stub(
  8145.     IRpcStubBuffer *This,
  8146.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8147.     PRPC_MESSAGE _pRpcMessage,
  8148.     DWORD *_pdwStubPhase);
  8149.  
  8150.  
  8151. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_SendReceive_Proxy( 
  8152.     IRpcChannelBuffer __RPC_FAR * This,
  8153.     /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  8154.     /* [out] */ ULONG __RPC_FAR *pStatus);
  8155.  
  8156.  
  8157. void __RPC_STUB IRpcChannelBuffer_SendReceive_Stub(
  8158.     IRpcStubBuffer *This,
  8159.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8160.     PRPC_MESSAGE _pRpcMessage,
  8161.     DWORD *_pdwStubPhase);
  8162.  
  8163.  
  8164. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_FreeBuffer_Proxy( 
  8165.     IRpcChannelBuffer __RPC_FAR * This,
  8166.     /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage);
  8167.  
  8168.  
  8169. void __RPC_STUB IRpcChannelBuffer_FreeBuffer_Stub(
  8170.     IRpcStubBuffer *This,
  8171.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8172.     PRPC_MESSAGE _pRpcMessage,
  8173.     DWORD *_pdwStubPhase);
  8174.  
  8175.  
  8176. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_GetDestCtx_Proxy( 
  8177.     IRpcChannelBuffer __RPC_FAR * This,
  8178.     /* [out] */ DWORD __RPC_FAR *pdwDestContext,
  8179.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext);
  8180.  
  8181.  
  8182. void __RPC_STUB IRpcChannelBuffer_GetDestCtx_Stub(
  8183.     IRpcStubBuffer *This,
  8184.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8185.     PRPC_MESSAGE _pRpcMessage,
  8186.     DWORD *_pdwStubPhase);
  8187.  
  8188.  
  8189. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer_IsConnected_Proxy( 
  8190.     IRpcChannelBuffer __RPC_FAR * This);
  8191.  
  8192.  
  8193. void __RPC_STUB IRpcChannelBuffer_IsConnected_Stub(
  8194.     IRpcStubBuffer *This,
  8195.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8196.     PRPC_MESSAGE _pRpcMessage,
  8197.     DWORD *_pdwStubPhase);
  8198.  
  8199.  
  8200.  
  8201. #endif     /* __IRpcChannelBuffer_INTERFACE_DEFINED__ */
  8202.  
  8203.  
  8204. #ifndef __IRpcChannelBuffer2_INTERFACE_DEFINED__
  8205. #define __IRpcChannelBuffer2_INTERFACE_DEFINED__
  8206.  
  8207. /* interface IRpcChannelBuffer2 */
  8208. /* [uuid][object][local] */ 
  8209.  
  8210.  
  8211. EXTERN_C const IID IID_IRpcChannelBuffer2;
  8212.  
  8213. #if defined(__cplusplus) && !defined(CINTERFACE)
  8214.     
  8215.     MIDL_INTERFACE("594f31d0-7f19-11d0-b194-00a0c90dc8bf")
  8216.     IRpcChannelBuffer2 : public IRpcChannelBuffer
  8217.     {
  8218.     public:
  8219.         virtual HRESULT STDMETHODCALLTYPE GetProtocolVersion( 
  8220.             /* [out][in] */ DWORD __RPC_FAR *pdwVersion) = 0;
  8221.         
  8222.     };
  8223.     
  8224. #else     /* C style interface */
  8225.  
  8226.     typedef struct IRpcChannelBuffer2Vtbl
  8227.     {
  8228.         BEGIN_INTERFACE
  8229.         
  8230.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8231.             IRpcChannelBuffer2 __RPC_FAR * This,
  8232.             /* [in] */ REFIID riid,
  8233.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8234.         
  8235.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8236.             IRpcChannelBuffer2 __RPC_FAR * This);
  8237.         
  8238.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8239.             IRpcChannelBuffer2 __RPC_FAR * This);
  8240.         
  8241.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBuffer )( 
  8242.             IRpcChannelBuffer2 __RPC_FAR * This,
  8243.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  8244.             /* [in] */ REFIID riid);
  8245.         
  8246.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendReceive )( 
  8247.             IRpcChannelBuffer2 __RPC_FAR * This,
  8248.             /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  8249.             /* [out] */ ULONG __RPC_FAR *pStatus);
  8250.         
  8251.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeBuffer )( 
  8252.             IRpcChannelBuffer2 __RPC_FAR * This,
  8253.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage);
  8254.         
  8255.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDestCtx )( 
  8256.             IRpcChannelBuffer2 __RPC_FAR * This,
  8257.             /* [out] */ DWORD __RPC_FAR *pdwDestContext,
  8258.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext);
  8259.         
  8260.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsConnected )( 
  8261.             IRpcChannelBuffer2 __RPC_FAR * This);
  8262.         
  8263.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProtocolVersion )( 
  8264.             IRpcChannelBuffer2 __RPC_FAR * This,
  8265.             /* [out][in] */ DWORD __RPC_FAR *pdwVersion);
  8266.         
  8267.         END_INTERFACE
  8268.     } IRpcChannelBuffer2Vtbl;
  8269.  
  8270.     interface IRpcChannelBuffer2
  8271.     {
  8272.         CONST_VTBL struct IRpcChannelBuffer2Vtbl __RPC_FAR *lpVtbl;
  8273.     };
  8274.  
  8275.     
  8276.  
  8277. #ifdef COBJMACROS
  8278.  
  8279.  
  8280. #define IRpcChannelBuffer2_QueryInterface(This,riid,ppvObject)    \
  8281.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8282.  
  8283. #define IRpcChannelBuffer2_AddRef(This)    \
  8284.     (This)->lpVtbl -> AddRef(This)
  8285.  
  8286. #define IRpcChannelBuffer2_Release(This)    \
  8287.     (This)->lpVtbl -> Release(This)
  8288.  
  8289.  
  8290. #define IRpcChannelBuffer2_GetBuffer(This,pMessage,riid)    \
  8291.     (This)->lpVtbl -> GetBuffer(This,pMessage,riid)
  8292.  
  8293. #define IRpcChannelBuffer2_SendReceive(This,pMessage,pStatus)    \
  8294.     (This)->lpVtbl -> SendReceive(This,pMessage,pStatus)
  8295.  
  8296. #define IRpcChannelBuffer2_FreeBuffer(This,pMessage)    \
  8297.     (This)->lpVtbl -> FreeBuffer(This,pMessage)
  8298.  
  8299. #define IRpcChannelBuffer2_GetDestCtx(This,pdwDestContext,ppvDestContext)    \
  8300.     (This)->lpVtbl -> GetDestCtx(This,pdwDestContext,ppvDestContext)
  8301.  
  8302. #define IRpcChannelBuffer2_IsConnected(This)    \
  8303.     (This)->lpVtbl -> IsConnected(This)
  8304.  
  8305.  
  8306. #define IRpcChannelBuffer2_GetProtocolVersion(This,pdwVersion)    \
  8307.     (This)->lpVtbl -> GetProtocolVersion(This,pdwVersion)
  8308.  
  8309. #endif /* COBJMACROS */
  8310.  
  8311.  
  8312. #endif     /* C style interface */
  8313.  
  8314.  
  8315.  
  8316. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer2_GetProtocolVersion_Proxy( 
  8317.     IRpcChannelBuffer2 __RPC_FAR * This,
  8318.     /* [out][in] */ DWORD __RPC_FAR *pdwVersion);
  8319.  
  8320.  
  8321. void __RPC_STUB IRpcChannelBuffer2_GetProtocolVersion_Stub(
  8322.     IRpcStubBuffer *This,
  8323.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8324.     PRPC_MESSAGE _pRpcMessage,
  8325.     DWORD *_pdwStubPhase);
  8326.  
  8327.  
  8328.  
  8329. #endif     /* __IRpcChannelBuffer2_INTERFACE_DEFINED__ */
  8330.  
  8331.  
  8332. #ifndef __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__
  8333. #define __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__
  8334.  
  8335. /* interface IAsyncRpcChannelBuffer */
  8336. /* [unique][uuid][object][local] */ 
  8337.  
  8338.  
  8339. EXTERN_C const IID IID_IAsyncRpcChannelBuffer;
  8340.  
  8341. #if defined(__cplusplus) && !defined(CINTERFACE)
  8342.     
  8343.     MIDL_INTERFACE("a5029fb6-3c34-11d1-9c99-00c04fb998aa")
  8344.     IAsyncRpcChannelBuffer : public IRpcChannelBuffer2
  8345.     {
  8346.     public:
  8347.         virtual HRESULT STDMETHODCALLTYPE Send( 
  8348.             /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8349.             /* [in] */ ISynchronize __RPC_FAR *pSync,
  8350.             /* [out] */ ULONG __RPC_FAR *pulStatus) = 0;
  8351.         
  8352.         virtual HRESULT STDMETHODCALLTYPE Receive( 
  8353.             /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8354.             /* [out] */ ULONG __RPC_FAR *pulStatus) = 0;
  8355.         
  8356.         virtual HRESULT STDMETHODCALLTYPE GetDestCtxEx( 
  8357.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8358.             /* [out] */ DWORD __RPC_FAR *pdwDestContext,
  8359.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext) = 0;
  8360.         
  8361.     };
  8362.     
  8363. #else     /* C style interface */
  8364.  
  8365.     typedef struct IAsyncRpcChannelBufferVtbl
  8366.     {
  8367.         BEGIN_INTERFACE
  8368.         
  8369.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8370.             IAsyncRpcChannelBuffer __RPC_FAR * This,
  8371.             /* [in] */ REFIID riid,
  8372.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8373.         
  8374.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8375.             IAsyncRpcChannelBuffer __RPC_FAR * This);
  8376.         
  8377.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8378.             IAsyncRpcChannelBuffer __RPC_FAR * This);
  8379.         
  8380.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBuffer )( 
  8381.             IAsyncRpcChannelBuffer __RPC_FAR * This,
  8382.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  8383.             /* [in] */ REFIID riid);
  8384.         
  8385.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendReceive )( 
  8386.             IAsyncRpcChannelBuffer __RPC_FAR * This,
  8387.             /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  8388.             /* [out] */ ULONG __RPC_FAR *pStatus);
  8389.         
  8390.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeBuffer )( 
  8391.             IAsyncRpcChannelBuffer __RPC_FAR * This,
  8392.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage);
  8393.         
  8394.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDestCtx )( 
  8395.             IAsyncRpcChannelBuffer __RPC_FAR * This,
  8396.             /* [out] */ DWORD __RPC_FAR *pdwDestContext,
  8397.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext);
  8398.         
  8399.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsConnected )( 
  8400.             IAsyncRpcChannelBuffer __RPC_FAR * This);
  8401.         
  8402.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProtocolVersion )( 
  8403.             IAsyncRpcChannelBuffer __RPC_FAR * This,
  8404.             /* [out][in] */ DWORD __RPC_FAR *pdwVersion);
  8405.         
  8406.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Send )( 
  8407.             IAsyncRpcChannelBuffer __RPC_FAR * This,
  8408.             /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8409.             /* [in] */ ISynchronize __RPC_FAR *pSync,
  8410.             /* [out] */ ULONG __RPC_FAR *pulStatus);
  8411.         
  8412.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Receive )( 
  8413.             IAsyncRpcChannelBuffer __RPC_FAR * This,
  8414.             /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8415.             /* [out] */ ULONG __RPC_FAR *pulStatus);
  8416.         
  8417.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDestCtxEx )( 
  8418.             IAsyncRpcChannelBuffer __RPC_FAR * This,
  8419.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8420.             /* [out] */ DWORD __RPC_FAR *pdwDestContext,
  8421.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext);
  8422.         
  8423.         END_INTERFACE
  8424.     } IAsyncRpcChannelBufferVtbl;
  8425.  
  8426.     interface IAsyncRpcChannelBuffer
  8427.     {
  8428.         CONST_VTBL struct IAsyncRpcChannelBufferVtbl __RPC_FAR *lpVtbl;
  8429.     };
  8430.  
  8431.     
  8432.  
  8433. #ifdef COBJMACROS
  8434.  
  8435.  
  8436. #define IAsyncRpcChannelBuffer_QueryInterface(This,riid,ppvObject)    \
  8437.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8438.  
  8439. #define IAsyncRpcChannelBuffer_AddRef(This)    \
  8440.     (This)->lpVtbl -> AddRef(This)
  8441.  
  8442. #define IAsyncRpcChannelBuffer_Release(This)    \
  8443.     (This)->lpVtbl -> Release(This)
  8444.  
  8445.  
  8446. #define IAsyncRpcChannelBuffer_GetBuffer(This,pMessage,riid)    \
  8447.     (This)->lpVtbl -> GetBuffer(This,pMessage,riid)
  8448.  
  8449. #define IAsyncRpcChannelBuffer_SendReceive(This,pMessage,pStatus)    \
  8450.     (This)->lpVtbl -> SendReceive(This,pMessage,pStatus)
  8451.  
  8452. #define IAsyncRpcChannelBuffer_FreeBuffer(This,pMessage)    \
  8453.     (This)->lpVtbl -> FreeBuffer(This,pMessage)
  8454.  
  8455. #define IAsyncRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext)    \
  8456.     (This)->lpVtbl -> GetDestCtx(This,pdwDestContext,ppvDestContext)
  8457.  
  8458. #define IAsyncRpcChannelBuffer_IsConnected(This)    \
  8459.     (This)->lpVtbl -> IsConnected(This)
  8460.  
  8461.  
  8462. #define IAsyncRpcChannelBuffer_GetProtocolVersion(This,pdwVersion)    \
  8463.     (This)->lpVtbl -> GetProtocolVersion(This,pdwVersion)
  8464.  
  8465.  
  8466. #define IAsyncRpcChannelBuffer_Send(This,pMsg,pSync,pulStatus)    \
  8467.     (This)->lpVtbl -> Send(This,pMsg,pSync,pulStatus)
  8468.  
  8469. #define IAsyncRpcChannelBuffer_Receive(This,pMsg,pulStatus)    \
  8470.     (This)->lpVtbl -> Receive(This,pMsg,pulStatus)
  8471.  
  8472. #define IAsyncRpcChannelBuffer_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)    \
  8473.     (This)->lpVtbl -> GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
  8474.  
  8475. #endif /* COBJMACROS */
  8476.  
  8477.  
  8478. #endif     /* C style interface */
  8479.  
  8480.  
  8481.  
  8482. HRESULT STDMETHODCALLTYPE IAsyncRpcChannelBuffer_Send_Proxy( 
  8483.     IAsyncRpcChannelBuffer __RPC_FAR * This,
  8484.     /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8485.     /* [in] */ ISynchronize __RPC_FAR *pSync,
  8486.     /* [out] */ ULONG __RPC_FAR *pulStatus);
  8487.  
  8488.  
  8489. void __RPC_STUB IAsyncRpcChannelBuffer_Send_Stub(
  8490.     IRpcStubBuffer *This,
  8491.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8492.     PRPC_MESSAGE _pRpcMessage,
  8493.     DWORD *_pdwStubPhase);
  8494.  
  8495.  
  8496. HRESULT STDMETHODCALLTYPE IAsyncRpcChannelBuffer_Receive_Proxy( 
  8497.     IAsyncRpcChannelBuffer __RPC_FAR * This,
  8498.     /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8499.     /* [out] */ ULONG __RPC_FAR *pulStatus);
  8500.  
  8501.  
  8502. void __RPC_STUB IAsyncRpcChannelBuffer_Receive_Stub(
  8503.     IRpcStubBuffer *This,
  8504.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8505.     PRPC_MESSAGE _pRpcMessage,
  8506.     DWORD *_pdwStubPhase);
  8507.  
  8508.  
  8509. HRESULT STDMETHODCALLTYPE IAsyncRpcChannelBuffer_GetDestCtxEx_Proxy( 
  8510.     IAsyncRpcChannelBuffer __RPC_FAR * This,
  8511.     /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8512.     /* [out] */ DWORD __RPC_FAR *pdwDestContext,
  8513.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext);
  8514.  
  8515.  
  8516. void __RPC_STUB IAsyncRpcChannelBuffer_GetDestCtxEx_Stub(
  8517.     IRpcStubBuffer *This,
  8518.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8519.     PRPC_MESSAGE _pRpcMessage,
  8520.     DWORD *_pdwStubPhase);
  8521.  
  8522.  
  8523.  
  8524. #endif     /* __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__ */
  8525.  
  8526.  
  8527. #ifndef __IRpcChannelBuffer3_INTERFACE_DEFINED__
  8528. #define __IRpcChannelBuffer3_INTERFACE_DEFINED__
  8529.  
  8530. /* interface IRpcChannelBuffer3 */
  8531. /* [uuid][object][local] */ 
  8532.  
  8533.  
  8534. EXTERN_C const IID IID_IRpcChannelBuffer3;
  8535.  
  8536. #if defined(__cplusplus) && !defined(CINTERFACE)
  8537.     
  8538.     MIDL_INTERFACE("25B15600-0115-11d0-BF0D-00AA00B8DFD2")
  8539.     IRpcChannelBuffer3 : public IRpcChannelBuffer2
  8540.     {
  8541.     public:
  8542.         virtual HRESULT STDMETHODCALLTYPE Send( 
  8543.             /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8544.             /* [out] */ ULONG __RPC_FAR *pulStatus) = 0;
  8545.         
  8546.         virtual HRESULT STDMETHODCALLTYPE Receive( 
  8547.             /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8548.             /* [in] */ ULONG ulSize,
  8549.             /* [out] */ ULONG __RPC_FAR *pulStatus) = 0;
  8550.         
  8551.         virtual HRESULT STDMETHODCALLTYPE Cancel( 
  8552.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg) = 0;
  8553.         
  8554.         virtual HRESULT STDMETHODCALLTYPE GetCallContext( 
  8555.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8556.             /* [in] */ REFIID riid,
  8557.             /* [out] */ void __RPC_FAR *__RPC_FAR *pInterface) = 0;
  8558.         
  8559.         virtual HRESULT STDMETHODCALLTYPE GetDestCtxEx( 
  8560.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8561.             /* [out] */ DWORD __RPC_FAR *pdwDestContext,
  8562.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext) = 0;
  8563.         
  8564.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  8565.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8566.             /* [out] */ DWORD __RPC_FAR *pState) = 0;
  8567.         
  8568.         virtual HRESULT STDMETHODCALLTYPE RegisterAsync( 
  8569.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8570.             /* [in] */ IAsyncManager __RPC_FAR *pAsyncMgr) = 0;
  8571.         
  8572.     };
  8573.     
  8574. #else     /* C style interface */
  8575.  
  8576.     typedef struct IRpcChannelBuffer3Vtbl
  8577.     {
  8578.         BEGIN_INTERFACE
  8579.         
  8580.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8581.             IRpcChannelBuffer3 __RPC_FAR * This,
  8582.             /* [in] */ REFIID riid,
  8583.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8584.         
  8585.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8586.             IRpcChannelBuffer3 __RPC_FAR * This);
  8587.         
  8588.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8589.             IRpcChannelBuffer3 __RPC_FAR * This);
  8590.         
  8591.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetBuffer )( 
  8592.             IRpcChannelBuffer3 __RPC_FAR * This,
  8593.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  8594.             /* [in] */ REFIID riid);
  8595.         
  8596.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendReceive )( 
  8597.             IRpcChannelBuffer3 __RPC_FAR * This,
  8598.             /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMessage,
  8599.             /* [out] */ ULONG __RPC_FAR *pStatus);
  8600.         
  8601.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeBuffer )( 
  8602.             IRpcChannelBuffer3 __RPC_FAR * This,
  8603.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMessage);
  8604.         
  8605.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDestCtx )( 
  8606.             IRpcChannelBuffer3 __RPC_FAR * This,
  8607.             /* [out] */ DWORD __RPC_FAR *pdwDestContext,
  8608.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext);
  8609.         
  8610.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsConnected )( 
  8611.             IRpcChannelBuffer3 __RPC_FAR * This);
  8612.         
  8613.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProtocolVersion )( 
  8614.             IRpcChannelBuffer3 __RPC_FAR * This,
  8615.             /* [out][in] */ DWORD __RPC_FAR *pdwVersion);
  8616.         
  8617.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Send )( 
  8618.             IRpcChannelBuffer3 __RPC_FAR * This,
  8619.             /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8620.             /* [out] */ ULONG __RPC_FAR *pulStatus);
  8621.         
  8622.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Receive )( 
  8623.             IRpcChannelBuffer3 __RPC_FAR * This,
  8624.             /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8625.             /* [in] */ ULONG ulSize,
  8626.             /* [out] */ ULONG __RPC_FAR *pulStatus);
  8627.         
  8628.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )( 
  8629.             IRpcChannelBuffer3 __RPC_FAR * This,
  8630.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg);
  8631.         
  8632.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCallContext )( 
  8633.             IRpcChannelBuffer3 __RPC_FAR * This,
  8634.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8635.             /* [in] */ REFIID riid,
  8636.             /* [out] */ void __RPC_FAR *__RPC_FAR *pInterface);
  8637.         
  8638.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDestCtxEx )( 
  8639.             IRpcChannelBuffer3 __RPC_FAR * This,
  8640.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8641.             /* [out] */ DWORD __RPC_FAR *pdwDestContext,
  8642.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext);
  8643.         
  8644.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetState )( 
  8645.             IRpcChannelBuffer3 __RPC_FAR * This,
  8646.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8647.             /* [out] */ DWORD __RPC_FAR *pState);
  8648.         
  8649.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterAsync )( 
  8650.             IRpcChannelBuffer3 __RPC_FAR * This,
  8651.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8652.             /* [in] */ IAsyncManager __RPC_FAR *pAsyncMgr);
  8653.         
  8654.         END_INTERFACE
  8655.     } IRpcChannelBuffer3Vtbl;
  8656.  
  8657.     interface IRpcChannelBuffer3
  8658.     {
  8659.         CONST_VTBL struct IRpcChannelBuffer3Vtbl __RPC_FAR *lpVtbl;
  8660.     };
  8661.  
  8662.     
  8663.  
  8664. #ifdef COBJMACROS
  8665.  
  8666.  
  8667. #define IRpcChannelBuffer3_QueryInterface(This,riid,ppvObject)    \
  8668.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8669.  
  8670. #define IRpcChannelBuffer3_AddRef(This)    \
  8671.     (This)->lpVtbl -> AddRef(This)
  8672.  
  8673. #define IRpcChannelBuffer3_Release(This)    \
  8674.     (This)->lpVtbl -> Release(This)
  8675.  
  8676.  
  8677. #define IRpcChannelBuffer3_GetBuffer(This,pMessage,riid)    \
  8678.     (This)->lpVtbl -> GetBuffer(This,pMessage,riid)
  8679.  
  8680. #define IRpcChannelBuffer3_SendReceive(This,pMessage,pStatus)    \
  8681.     (This)->lpVtbl -> SendReceive(This,pMessage,pStatus)
  8682.  
  8683. #define IRpcChannelBuffer3_FreeBuffer(This,pMessage)    \
  8684.     (This)->lpVtbl -> FreeBuffer(This,pMessage)
  8685.  
  8686. #define IRpcChannelBuffer3_GetDestCtx(This,pdwDestContext,ppvDestContext)    \
  8687.     (This)->lpVtbl -> GetDestCtx(This,pdwDestContext,ppvDestContext)
  8688.  
  8689. #define IRpcChannelBuffer3_IsConnected(This)    \
  8690.     (This)->lpVtbl -> IsConnected(This)
  8691.  
  8692.  
  8693. #define IRpcChannelBuffer3_GetProtocolVersion(This,pdwVersion)    \
  8694.     (This)->lpVtbl -> GetProtocolVersion(This,pdwVersion)
  8695.  
  8696.  
  8697. #define IRpcChannelBuffer3_Send(This,pMsg,pulStatus)    \
  8698.     (This)->lpVtbl -> Send(This,pMsg,pulStatus)
  8699.  
  8700. #define IRpcChannelBuffer3_Receive(This,pMsg,ulSize,pulStatus)    \
  8701.     (This)->lpVtbl -> Receive(This,pMsg,ulSize,pulStatus)
  8702.  
  8703. #define IRpcChannelBuffer3_Cancel(This,pMsg)    \
  8704.     (This)->lpVtbl -> Cancel(This,pMsg)
  8705.  
  8706. #define IRpcChannelBuffer3_GetCallContext(This,pMsg,riid,pInterface)    \
  8707.     (This)->lpVtbl -> GetCallContext(This,pMsg,riid,pInterface)
  8708.  
  8709. #define IRpcChannelBuffer3_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)    \
  8710.     (This)->lpVtbl -> GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
  8711.  
  8712. #define IRpcChannelBuffer3_GetState(This,pMsg,pState)    \
  8713.     (This)->lpVtbl -> GetState(This,pMsg,pState)
  8714.  
  8715. #define IRpcChannelBuffer3_RegisterAsync(This,pMsg,pAsyncMgr)    \
  8716.     (This)->lpVtbl -> RegisterAsync(This,pMsg,pAsyncMgr)
  8717.  
  8718. #endif /* COBJMACROS */
  8719.  
  8720.  
  8721. #endif     /* C style interface */
  8722.  
  8723.  
  8724.  
  8725. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer3_Send_Proxy( 
  8726.     IRpcChannelBuffer3 __RPC_FAR * This,
  8727.     /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8728.     /* [out] */ ULONG __RPC_FAR *pulStatus);
  8729.  
  8730.  
  8731. void __RPC_STUB IRpcChannelBuffer3_Send_Stub(
  8732.     IRpcStubBuffer *This,
  8733.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8734.     PRPC_MESSAGE _pRpcMessage,
  8735.     DWORD *_pdwStubPhase);
  8736.  
  8737.  
  8738. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer3_Receive_Proxy( 
  8739.     IRpcChannelBuffer3 __RPC_FAR * This,
  8740.     /* [out][in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8741.     /* [in] */ ULONG ulSize,
  8742.     /* [out] */ ULONG __RPC_FAR *pulStatus);
  8743.  
  8744.  
  8745. void __RPC_STUB IRpcChannelBuffer3_Receive_Stub(
  8746.     IRpcStubBuffer *This,
  8747.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8748.     PRPC_MESSAGE _pRpcMessage,
  8749.     DWORD *_pdwStubPhase);
  8750.  
  8751.  
  8752. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer3_Cancel_Proxy( 
  8753.     IRpcChannelBuffer3 __RPC_FAR * This,
  8754.     /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg);
  8755.  
  8756.  
  8757. void __RPC_STUB IRpcChannelBuffer3_Cancel_Stub(
  8758.     IRpcStubBuffer *This,
  8759.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8760.     PRPC_MESSAGE _pRpcMessage,
  8761.     DWORD *_pdwStubPhase);
  8762.  
  8763.  
  8764. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer3_GetCallContext_Proxy( 
  8765.     IRpcChannelBuffer3 __RPC_FAR * This,
  8766.     /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8767.     /* [in] */ REFIID riid,
  8768.     /* [out] */ void __RPC_FAR *__RPC_FAR *pInterface);
  8769.  
  8770.  
  8771. void __RPC_STUB IRpcChannelBuffer3_GetCallContext_Stub(
  8772.     IRpcStubBuffer *This,
  8773.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8774.     PRPC_MESSAGE _pRpcMessage,
  8775.     DWORD *_pdwStubPhase);
  8776.  
  8777.  
  8778. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer3_GetDestCtxEx_Proxy( 
  8779.     IRpcChannelBuffer3 __RPC_FAR * This,
  8780.     /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8781.     /* [out] */ DWORD __RPC_FAR *pdwDestContext,
  8782.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppvDestContext);
  8783.  
  8784.  
  8785. void __RPC_STUB IRpcChannelBuffer3_GetDestCtxEx_Stub(
  8786.     IRpcStubBuffer *This,
  8787.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8788.     PRPC_MESSAGE _pRpcMessage,
  8789.     DWORD *_pdwStubPhase);
  8790.  
  8791.  
  8792. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer3_GetState_Proxy( 
  8793.     IRpcChannelBuffer3 __RPC_FAR * This,
  8794.     /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8795.     /* [out] */ DWORD __RPC_FAR *pState);
  8796.  
  8797.  
  8798. void __RPC_STUB IRpcChannelBuffer3_GetState_Stub(
  8799.     IRpcStubBuffer *This,
  8800.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8801.     PRPC_MESSAGE _pRpcMessage,
  8802.     DWORD *_pdwStubPhase);
  8803.  
  8804.  
  8805. HRESULT STDMETHODCALLTYPE IRpcChannelBuffer3_RegisterAsync_Proxy( 
  8806.     IRpcChannelBuffer3 __RPC_FAR * This,
  8807.     /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  8808.     /* [in] */ IAsyncManager __RPC_FAR *pAsyncMgr);
  8809.  
  8810.  
  8811. void __RPC_STUB IRpcChannelBuffer3_RegisterAsync_Stub(
  8812.     IRpcStubBuffer *This,
  8813.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8814.     PRPC_MESSAGE _pRpcMessage,
  8815.     DWORD *_pdwStubPhase);
  8816.  
  8817.  
  8818.  
  8819. #endif     /* __IRpcChannelBuffer3_INTERFACE_DEFINED__ */
  8820.  
  8821.  
  8822. #ifndef __IRpcProxyBuffer_INTERFACE_DEFINED__
  8823. #define __IRpcProxyBuffer_INTERFACE_DEFINED__
  8824.  
  8825. /* interface IRpcProxyBuffer */
  8826. /* [uuid][object][local] */ 
  8827.  
  8828.  
  8829. EXTERN_C const IID IID_IRpcProxyBuffer;
  8830.  
  8831. #if defined(__cplusplus) && !defined(CINTERFACE)
  8832.     
  8833.     MIDL_INTERFACE("D5F56A34-593B-101A-B569-08002B2DBF7A")
  8834.     IRpcProxyBuffer : public IUnknown
  8835.     {
  8836.     public:
  8837.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  8838.             /* [unique][in] */ IRpcChannelBuffer __RPC_FAR *pRpcChannelBuffer) = 0;
  8839.         
  8840.         virtual void STDMETHODCALLTYPE Disconnect( void) = 0;
  8841.         
  8842.     };
  8843.     
  8844. #else     /* C style interface */
  8845.  
  8846.     typedef struct IRpcProxyBufferVtbl
  8847.     {
  8848.         BEGIN_INTERFACE
  8849.         
  8850.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8851.             IRpcProxyBuffer __RPC_FAR * This,
  8852.             /* [in] */ REFIID riid,
  8853.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8854.         
  8855.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8856.             IRpcProxyBuffer __RPC_FAR * This);
  8857.         
  8858.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8859.             IRpcProxyBuffer __RPC_FAR * This);
  8860.         
  8861.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Connect )( 
  8862.             IRpcProxyBuffer __RPC_FAR * This,
  8863.             /* [unique][in] */ IRpcChannelBuffer __RPC_FAR *pRpcChannelBuffer);
  8864.         
  8865.         void ( STDMETHODCALLTYPE __RPC_FAR *Disconnect )( 
  8866.             IRpcProxyBuffer __RPC_FAR * This);
  8867.         
  8868.         END_INTERFACE
  8869.     } IRpcProxyBufferVtbl;
  8870.  
  8871.     interface IRpcProxyBuffer
  8872.     {
  8873.         CONST_VTBL struct IRpcProxyBufferVtbl __RPC_FAR *lpVtbl;
  8874.     };
  8875.  
  8876.     
  8877.  
  8878. #ifdef COBJMACROS
  8879.  
  8880.  
  8881. #define IRpcProxyBuffer_QueryInterface(This,riid,ppvObject)    \
  8882.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  8883.  
  8884. #define IRpcProxyBuffer_AddRef(This)    \
  8885.     (This)->lpVtbl -> AddRef(This)
  8886.  
  8887. #define IRpcProxyBuffer_Release(This)    \
  8888.     (This)->lpVtbl -> Release(This)
  8889.  
  8890.  
  8891. #define IRpcProxyBuffer_Connect(This,pRpcChannelBuffer)    \
  8892.     (This)->lpVtbl -> Connect(This,pRpcChannelBuffer)
  8893.  
  8894. #define IRpcProxyBuffer_Disconnect(This)    \
  8895.     (This)->lpVtbl -> Disconnect(This)
  8896.  
  8897. #endif /* COBJMACROS */
  8898.  
  8899.  
  8900. #endif     /* C style interface */
  8901.  
  8902.  
  8903.  
  8904. HRESULT STDMETHODCALLTYPE IRpcProxyBuffer_Connect_Proxy( 
  8905.     IRpcProxyBuffer __RPC_FAR * This,
  8906.     /* [unique][in] */ IRpcChannelBuffer __RPC_FAR *pRpcChannelBuffer);
  8907.  
  8908.  
  8909. void __RPC_STUB IRpcProxyBuffer_Connect_Stub(
  8910.     IRpcStubBuffer *This,
  8911.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8912.     PRPC_MESSAGE _pRpcMessage,
  8913.     DWORD *_pdwStubPhase);
  8914.  
  8915.  
  8916. void STDMETHODCALLTYPE IRpcProxyBuffer_Disconnect_Proxy( 
  8917.     IRpcProxyBuffer __RPC_FAR * This);
  8918.  
  8919.  
  8920. void __RPC_STUB IRpcProxyBuffer_Disconnect_Stub(
  8921.     IRpcStubBuffer *This,
  8922.     IRpcChannelBuffer *_pRpcChannelBuffer,
  8923.     PRPC_MESSAGE _pRpcMessage,
  8924.     DWORD *_pdwStubPhase);
  8925.  
  8926.  
  8927.  
  8928. #endif     /* __IRpcProxyBuffer_INTERFACE_DEFINED__ */
  8929.  
  8930.  
  8931. #ifndef __IRpcStubBuffer_INTERFACE_DEFINED__
  8932. #define __IRpcStubBuffer_INTERFACE_DEFINED__
  8933.  
  8934. /* interface IRpcStubBuffer */
  8935. /* [uuid][object][local] */ 
  8936.  
  8937.  
  8938. EXTERN_C const IID IID_IRpcStubBuffer;
  8939.  
  8940. #if defined(__cplusplus) && !defined(CINTERFACE)
  8941.     
  8942.     MIDL_INTERFACE("D5F56AFC-593B-101A-B569-08002B2DBF7A")
  8943.     IRpcStubBuffer : public IUnknown
  8944.     {
  8945.     public:
  8946.         virtual HRESULT STDMETHODCALLTYPE Connect( 
  8947.             /* [in] */ IUnknown __RPC_FAR *pUnkServer) = 0;
  8948.         
  8949.         virtual void STDMETHODCALLTYPE Disconnect( void) = 0;
  8950.         
  8951.         virtual HRESULT STDMETHODCALLTYPE Invoke( 
  8952.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *_prpcmsg,
  8953.             /* [in] */ IRpcChannelBuffer __RPC_FAR *_pRpcChannelBuffer) = 0;
  8954.         
  8955.         virtual IRpcStubBuffer __RPC_FAR *STDMETHODCALLTYPE IsIIDSupported( 
  8956.             /* [in] */ REFIID riid) = 0;
  8957.         
  8958.         virtual ULONG STDMETHODCALLTYPE CountRefs( void) = 0;
  8959.         
  8960.         virtual HRESULT STDMETHODCALLTYPE DebugServerQueryInterface( 
  8961.             void __RPC_FAR *__RPC_FAR *ppv) = 0;
  8962.         
  8963.         virtual void STDMETHODCALLTYPE DebugServerRelease( 
  8964.             void __RPC_FAR *pv) = 0;
  8965.         
  8966.     };
  8967.     
  8968. #else     /* C style interface */
  8969.  
  8970.     typedef struct IRpcStubBufferVtbl
  8971.     {
  8972.         BEGIN_INTERFACE
  8973.         
  8974.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  8975.             IRpcStubBuffer __RPC_FAR * This,
  8976.             /* [in] */ REFIID riid,
  8977.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  8978.         
  8979.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  8980.             IRpcStubBuffer __RPC_FAR * This);
  8981.         
  8982.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  8983.             IRpcStubBuffer __RPC_FAR * This);
  8984.         
  8985.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Connect )( 
  8986.             IRpcStubBuffer __RPC_FAR * This,
  8987.             /* [in] */ IUnknown __RPC_FAR *pUnkServer);
  8988.         
  8989.         void ( STDMETHODCALLTYPE __RPC_FAR *Disconnect )( 
  8990.             IRpcStubBuffer __RPC_FAR * This);
  8991.         
  8992.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
  8993.             IRpcStubBuffer __RPC_FAR * This,
  8994.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *_prpcmsg,
  8995.             /* [in] */ IRpcChannelBuffer __RPC_FAR *_pRpcChannelBuffer);
  8996.         
  8997.         IRpcStubBuffer __RPC_FAR *( STDMETHODCALLTYPE __RPC_FAR *IsIIDSupported )( 
  8998.             IRpcStubBuffer __RPC_FAR * This,
  8999.             /* [in] */ REFIID riid);
  9000.         
  9001.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *CountRefs )( 
  9002.             IRpcStubBuffer __RPC_FAR * This);
  9003.         
  9004.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DebugServerQueryInterface )( 
  9005.             IRpcStubBuffer __RPC_FAR * This,
  9006.             void __RPC_FAR *__RPC_FAR *ppv);
  9007.         
  9008.         void ( STDMETHODCALLTYPE __RPC_FAR *DebugServerRelease )( 
  9009.             IRpcStubBuffer __RPC_FAR * This,
  9010.             void __RPC_FAR *pv);
  9011.         
  9012.         END_INTERFACE
  9013.     } IRpcStubBufferVtbl;
  9014.  
  9015.     interface IRpcStubBuffer
  9016.     {
  9017.         CONST_VTBL struct IRpcStubBufferVtbl __RPC_FAR *lpVtbl;
  9018.     };
  9019.  
  9020.     
  9021.  
  9022. #ifdef COBJMACROS
  9023.  
  9024.  
  9025. #define IRpcStubBuffer_QueryInterface(This,riid,ppvObject)    \
  9026.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9027.  
  9028. #define IRpcStubBuffer_AddRef(This)    \
  9029.     (This)->lpVtbl -> AddRef(This)
  9030.  
  9031. #define IRpcStubBuffer_Release(This)    \
  9032.     (This)->lpVtbl -> Release(This)
  9033.  
  9034.  
  9035. #define IRpcStubBuffer_Connect(This,pUnkServer)    \
  9036.     (This)->lpVtbl -> Connect(This,pUnkServer)
  9037.  
  9038. #define IRpcStubBuffer_Disconnect(This)    \
  9039.     (This)->lpVtbl -> Disconnect(This)
  9040.  
  9041. #define IRpcStubBuffer_Invoke(This,_prpcmsg,_pRpcChannelBuffer)    \
  9042.     (This)->lpVtbl -> Invoke(This,_prpcmsg,_pRpcChannelBuffer)
  9043.  
  9044. #define IRpcStubBuffer_IsIIDSupported(This,riid)    \
  9045.     (This)->lpVtbl -> IsIIDSupported(This,riid)
  9046.  
  9047. #define IRpcStubBuffer_CountRefs(This)    \
  9048.     (This)->lpVtbl -> CountRefs(This)
  9049.  
  9050. #define IRpcStubBuffer_DebugServerQueryInterface(This,ppv)    \
  9051.     (This)->lpVtbl -> DebugServerQueryInterface(This,ppv)
  9052.  
  9053. #define IRpcStubBuffer_DebugServerRelease(This,pv)    \
  9054.     (This)->lpVtbl -> DebugServerRelease(This,pv)
  9055.  
  9056. #endif /* COBJMACROS */
  9057.  
  9058.  
  9059. #endif     /* C style interface */
  9060.  
  9061.  
  9062.  
  9063. HRESULT STDMETHODCALLTYPE IRpcStubBuffer_Connect_Proxy( 
  9064.     IRpcStubBuffer __RPC_FAR * This,
  9065.     /* [in] */ IUnknown __RPC_FAR *pUnkServer);
  9066.  
  9067.  
  9068. void __RPC_STUB IRpcStubBuffer_Connect_Stub(
  9069.     IRpcStubBuffer *This,
  9070.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9071.     PRPC_MESSAGE _pRpcMessage,
  9072.     DWORD *_pdwStubPhase);
  9073.  
  9074.  
  9075. void STDMETHODCALLTYPE IRpcStubBuffer_Disconnect_Proxy( 
  9076.     IRpcStubBuffer __RPC_FAR * This);
  9077.  
  9078.  
  9079. void __RPC_STUB IRpcStubBuffer_Disconnect_Stub(
  9080.     IRpcStubBuffer *This,
  9081.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9082.     PRPC_MESSAGE _pRpcMessage,
  9083.     DWORD *_pdwStubPhase);
  9084.  
  9085.  
  9086. HRESULT STDMETHODCALLTYPE IRpcStubBuffer_Invoke_Proxy( 
  9087.     IRpcStubBuffer __RPC_FAR * This,
  9088.     /* [in] */ RPCOLEMESSAGE __RPC_FAR *_prpcmsg,
  9089.     /* [in] */ IRpcChannelBuffer __RPC_FAR *_pRpcChannelBuffer);
  9090.  
  9091.  
  9092. void __RPC_STUB IRpcStubBuffer_Invoke_Stub(
  9093.     IRpcStubBuffer *This,
  9094.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9095.     PRPC_MESSAGE _pRpcMessage,
  9096.     DWORD *_pdwStubPhase);
  9097.  
  9098.  
  9099. IRpcStubBuffer __RPC_FAR *STDMETHODCALLTYPE IRpcStubBuffer_IsIIDSupported_Proxy( 
  9100.     IRpcStubBuffer __RPC_FAR * This,
  9101.     /* [in] */ REFIID riid);
  9102.  
  9103.  
  9104. void __RPC_STUB IRpcStubBuffer_IsIIDSupported_Stub(
  9105.     IRpcStubBuffer *This,
  9106.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9107.     PRPC_MESSAGE _pRpcMessage,
  9108.     DWORD *_pdwStubPhase);
  9109.  
  9110.  
  9111. ULONG STDMETHODCALLTYPE IRpcStubBuffer_CountRefs_Proxy( 
  9112.     IRpcStubBuffer __RPC_FAR * This);
  9113.  
  9114.  
  9115. void __RPC_STUB IRpcStubBuffer_CountRefs_Stub(
  9116.     IRpcStubBuffer *This,
  9117.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9118.     PRPC_MESSAGE _pRpcMessage,
  9119.     DWORD *_pdwStubPhase);
  9120.  
  9121.  
  9122. HRESULT STDMETHODCALLTYPE IRpcStubBuffer_DebugServerQueryInterface_Proxy( 
  9123.     IRpcStubBuffer __RPC_FAR * This,
  9124.     void __RPC_FAR *__RPC_FAR *ppv);
  9125.  
  9126.  
  9127. void __RPC_STUB IRpcStubBuffer_DebugServerQueryInterface_Stub(
  9128.     IRpcStubBuffer *This,
  9129.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9130.     PRPC_MESSAGE _pRpcMessage,
  9131.     DWORD *_pdwStubPhase);
  9132.  
  9133.  
  9134. void STDMETHODCALLTYPE IRpcStubBuffer_DebugServerRelease_Proxy( 
  9135.     IRpcStubBuffer __RPC_FAR * This,
  9136.     void __RPC_FAR *pv);
  9137.  
  9138.  
  9139. void __RPC_STUB IRpcStubBuffer_DebugServerRelease_Stub(
  9140.     IRpcStubBuffer *This,
  9141.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9142.     PRPC_MESSAGE _pRpcMessage,
  9143.     DWORD *_pdwStubPhase);
  9144.  
  9145.  
  9146.  
  9147. #endif     /* __IRpcStubBuffer_INTERFACE_DEFINED__ */
  9148.  
  9149.  
  9150. #ifndef __IPSFactoryBuffer_INTERFACE_DEFINED__
  9151. #define __IPSFactoryBuffer_INTERFACE_DEFINED__
  9152.  
  9153. /* interface IPSFactoryBuffer */
  9154. /* [uuid][object][local] */ 
  9155.  
  9156.  
  9157. EXTERN_C const IID IID_IPSFactoryBuffer;
  9158.  
  9159. #if defined(__cplusplus) && !defined(CINTERFACE)
  9160.     
  9161.     MIDL_INTERFACE("D5F569D0-593B-101A-B569-08002B2DBF7A")
  9162.     IPSFactoryBuffer : public IUnknown
  9163.     {
  9164.     public:
  9165.         virtual HRESULT STDMETHODCALLTYPE CreateProxy( 
  9166.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9167.             /* [in] */ REFIID riid,
  9168.             /* [out] */ IRpcProxyBuffer __RPC_FAR *__RPC_FAR *ppProxy,
  9169.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppv) = 0;
  9170.         
  9171.         virtual HRESULT STDMETHODCALLTYPE CreateStub( 
  9172.             /* [in] */ REFIID riid,
  9173.             /* [unique][in] */ IUnknown __RPC_FAR *pUnkServer,
  9174.             /* [out] */ IRpcStubBuffer __RPC_FAR *__RPC_FAR *ppStub) = 0;
  9175.         
  9176.     };
  9177.     
  9178. #else     /* C style interface */
  9179.  
  9180.     typedef struct IPSFactoryBufferVtbl
  9181.     {
  9182.         BEGIN_INTERFACE
  9183.         
  9184.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9185.             IPSFactoryBuffer __RPC_FAR * This,
  9186.             /* [in] */ REFIID riid,
  9187.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9188.         
  9189.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9190.             IPSFactoryBuffer __RPC_FAR * This);
  9191.         
  9192.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9193.             IPSFactoryBuffer __RPC_FAR * This);
  9194.         
  9195.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateProxy )( 
  9196.             IPSFactoryBuffer __RPC_FAR * This,
  9197.             /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9198.             /* [in] */ REFIID riid,
  9199.             /* [out] */ IRpcProxyBuffer __RPC_FAR *__RPC_FAR *ppProxy,
  9200.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppv);
  9201.         
  9202.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateStub )( 
  9203.             IPSFactoryBuffer __RPC_FAR * This,
  9204.             /* [in] */ REFIID riid,
  9205.             /* [unique][in] */ IUnknown __RPC_FAR *pUnkServer,
  9206.             /* [out] */ IRpcStubBuffer __RPC_FAR *__RPC_FAR *ppStub);
  9207.         
  9208.         END_INTERFACE
  9209.     } IPSFactoryBufferVtbl;
  9210.  
  9211.     interface IPSFactoryBuffer
  9212.     {
  9213.         CONST_VTBL struct IPSFactoryBufferVtbl __RPC_FAR *lpVtbl;
  9214.     };
  9215.  
  9216.     
  9217.  
  9218. #ifdef COBJMACROS
  9219.  
  9220.  
  9221. #define IPSFactoryBuffer_QueryInterface(This,riid,ppvObject)    \
  9222.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9223.  
  9224. #define IPSFactoryBuffer_AddRef(This)    \
  9225.     (This)->lpVtbl -> AddRef(This)
  9226.  
  9227. #define IPSFactoryBuffer_Release(This)    \
  9228.     (This)->lpVtbl -> Release(This)
  9229.  
  9230.  
  9231. #define IPSFactoryBuffer_CreateProxy(This,pUnkOuter,riid,ppProxy,ppv)    \
  9232.     (This)->lpVtbl -> CreateProxy(This,pUnkOuter,riid,ppProxy,ppv)
  9233.  
  9234. #define IPSFactoryBuffer_CreateStub(This,riid,pUnkServer,ppStub)    \
  9235.     (This)->lpVtbl -> CreateStub(This,riid,pUnkServer,ppStub)
  9236.  
  9237. #endif /* COBJMACROS */
  9238.  
  9239.  
  9240. #endif     /* C style interface */
  9241.  
  9242.  
  9243.  
  9244. HRESULT STDMETHODCALLTYPE IPSFactoryBuffer_CreateProxy_Proxy( 
  9245.     IPSFactoryBuffer __RPC_FAR * This,
  9246.     /* [in] */ IUnknown __RPC_FAR *pUnkOuter,
  9247.     /* [in] */ REFIID riid,
  9248.     /* [out] */ IRpcProxyBuffer __RPC_FAR *__RPC_FAR *ppProxy,
  9249.     /* [out] */ void __RPC_FAR *__RPC_FAR *ppv);
  9250.  
  9251.  
  9252. void __RPC_STUB IPSFactoryBuffer_CreateProxy_Stub(
  9253.     IRpcStubBuffer *This,
  9254.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9255.     PRPC_MESSAGE _pRpcMessage,
  9256.     DWORD *_pdwStubPhase);
  9257.  
  9258.  
  9259. HRESULT STDMETHODCALLTYPE IPSFactoryBuffer_CreateStub_Proxy( 
  9260.     IPSFactoryBuffer __RPC_FAR * This,
  9261.     /* [in] */ REFIID riid,
  9262.     /* [unique][in] */ IUnknown __RPC_FAR *pUnkServer,
  9263.     /* [out] */ IRpcStubBuffer __RPC_FAR *__RPC_FAR *ppStub);
  9264.  
  9265.  
  9266. void __RPC_STUB IPSFactoryBuffer_CreateStub_Stub(
  9267.     IRpcStubBuffer *This,
  9268.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9269.     PRPC_MESSAGE _pRpcMessage,
  9270.     DWORD *_pdwStubPhase);
  9271.  
  9272.  
  9273.  
  9274. #endif     /* __IPSFactoryBuffer_INTERFACE_DEFINED__ */
  9275.  
  9276.  
  9277. /* interface __MIDL_itf_objidl_0049 */
  9278. /* [local] */ 
  9279.  
  9280. #if  (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM
  9281. // This interface is only valid on Windows NT 4.0
  9282. typedef struct SChannelHookCallInfo
  9283.     {
  9284.     IID iid;
  9285.     DWORD cbSize;
  9286.     GUID uCausality;
  9287.     DWORD dwServerPid;
  9288.     DWORD iMethod;
  9289.     void __RPC_FAR *pObject;
  9290.     }    SChannelHookCallInfo;
  9291.  
  9292.  
  9293.  
  9294. extern RPC_IF_HANDLE __MIDL_itf_objidl_0049_v0_0_c_ifspec;
  9295. extern RPC_IF_HANDLE __MIDL_itf_objidl_0049_v0_0_s_ifspec;
  9296.  
  9297. #ifndef __IChannelHook_INTERFACE_DEFINED__
  9298. #define __IChannelHook_INTERFACE_DEFINED__
  9299.  
  9300. /* interface IChannelHook */
  9301. /* [uuid][object][local] */ 
  9302.  
  9303.  
  9304. EXTERN_C const IID IID_IChannelHook;
  9305.  
  9306. #if defined(__cplusplus) && !defined(CINTERFACE)
  9307.     
  9308.     MIDL_INTERFACE("1008c4a0-7613-11cf-9af1-0020af6e72f4")
  9309.     IChannelHook : public IUnknown
  9310.     {
  9311.     public:
  9312.         virtual void STDMETHODCALLTYPE ClientGetSize( 
  9313.             /* [in] */ REFGUID uExtent,
  9314.             /* [in] */ REFIID riid,
  9315.             /* [out] */ ULONG __RPC_FAR *pDataSize) = 0;
  9316.         
  9317.         virtual void STDMETHODCALLTYPE ClientFillBuffer( 
  9318.             /* [in] */ REFGUID uExtent,
  9319.             /* [in] */ REFIID riid,
  9320.             /* [out][in] */ ULONG __RPC_FAR *pDataSize,
  9321.             /* [in] */ void __RPC_FAR *pDataBuffer) = 0;
  9322.         
  9323.         virtual void STDMETHODCALLTYPE ClientNotify( 
  9324.             /* [in] */ REFGUID uExtent,
  9325.             /* [in] */ REFIID riid,
  9326.             /* [in] */ ULONG cbDataSize,
  9327.             /* [in] */ void __RPC_FAR *pDataBuffer,
  9328.             /* [in] */ DWORD lDataRep,
  9329.             /* [in] */ HRESULT hrFault) = 0;
  9330.         
  9331.         virtual void STDMETHODCALLTYPE ServerNotify( 
  9332.             /* [in] */ REFGUID uExtent,
  9333.             /* [in] */ REFIID riid,
  9334.             /* [in] */ ULONG cbDataSize,
  9335.             /* [in] */ void __RPC_FAR *pDataBuffer,
  9336.             /* [in] */ DWORD lDataRep) = 0;
  9337.         
  9338.         virtual void STDMETHODCALLTYPE ServerGetSize( 
  9339.             /* [in] */ REFGUID uExtent,
  9340.             /* [in] */ REFIID riid,
  9341.             /* [in] */ HRESULT hrFault,
  9342.             /* [out] */ ULONG __RPC_FAR *pDataSize) = 0;
  9343.         
  9344.         virtual void STDMETHODCALLTYPE ServerFillBuffer( 
  9345.             /* [in] */ REFGUID uExtent,
  9346.             /* [in] */ REFIID riid,
  9347.             /* [out][in] */ ULONG __RPC_FAR *pDataSize,
  9348.             /* [in] */ void __RPC_FAR *pDataBuffer,
  9349.             /* [in] */ HRESULT hrFault) = 0;
  9350.         
  9351.     };
  9352.     
  9353. #else     /* C style interface */
  9354.  
  9355.     typedef struct IChannelHookVtbl
  9356.     {
  9357.         BEGIN_INTERFACE
  9358.         
  9359.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9360.             IChannelHook __RPC_FAR * This,
  9361.             /* [in] */ REFIID riid,
  9362.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9363.         
  9364.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9365.             IChannelHook __RPC_FAR * This);
  9366.         
  9367.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9368.             IChannelHook __RPC_FAR * This);
  9369.         
  9370.         void ( STDMETHODCALLTYPE __RPC_FAR *ClientGetSize )( 
  9371.             IChannelHook __RPC_FAR * This,
  9372.             /* [in] */ REFGUID uExtent,
  9373.             /* [in] */ REFIID riid,
  9374.             /* [out] */ ULONG __RPC_FAR *pDataSize);
  9375.         
  9376.         void ( STDMETHODCALLTYPE __RPC_FAR *ClientFillBuffer )( 
  9377.             IChannelHook __RPC_FAR * This,
  9378.             /* [in] */ REFGUID uExtent,
  9379.             /* [in] */ REFIID riid,
  9380.             /* [out][in] */ ULONG __RPC_FAR *pDataSize,
  9381.             /* [in] */ void __RPC_FAR *pDataBuffer);
  9382.         
  9383.         void ( STDMETHODCALLTYPE __RPC_FAR *ClientNotify )( 
  9384.             IChannelHook __RPC_FAR * This,
  9385.             /* [in] */ REFGUID uExtent,
  9386.             /* [in] */ REFIID riid,
  9387.             /* [in] */ ULONG cbDataSize,
  9388.             /* [in] */ void __RPC_FAR *pDataBuffer,
  9389.             /* [in] */ DWORD lDataRep,
  9390.             /* [in] */ HRESULT hrFault);
  9391.         
  9392.         void ( STDMETHODCALLTYPE __RPC_FAR *ServerNotify )( 
  9393.             IChannelHook __RPC_FAR * This,
  9394.             /* [in] */ REFGUID uExtent,
  9395.             /* [in] */ REFIID riid,
  9396.             /* [in] */ ULONG cbDataSize,
  9397.             /* [in] */ void __RPC_FAR *pDataBuffer,
  9398.             /* [in] */ DWORD lDataRep);
  9399.         
  9400.         void ( STDMETHODCALLTYPE __RPC_FAR *ServerGetSize )( 
  9401.             IChannelHook __RPC_FAR * This,
  9402.             /* [in] */ REFGUID uExtent,
  9403.             /* [in] */ REFIID riid,
  9404.             /* [in] */ HRESULT hrFault,
  9405.             /* [out] */ ULONG __RPC_FAR *pDataSize);
  9406.         
  9407.         void ( STDMETHODCALLTYPE __RPC_FAR *ServerFillBuffer )( 
  9408.             IChannelHook __RPC_FAR * This,
  9409.             /* [in] */ REFGUID uExtent,
  9410.             /* [in] */ REFIID riid,
  9411.             /* [out][in] */ ULONG __RPC_FAR *pDataSize,
  9412.             /* [in] */ void __RPC_FAR *pDataBuffer,
  9413.             /* [in] */ HRESULT hrFault);
  9414.         
  9415.         END_INTERFACE
  9416.     } IChannelHookVtbl;
  9417.  
  9418.     interface IChannelHook
  9419.     {
  9420.         CONST_VTBL struct IChannelHookVtbl __RPC_FAR *lpVtbl;
  9421.     };
  9422.  
  9423.     
  9424.  
  9425. #ifdef COBJMACROS
  9426.  
  9427.  
  9428. #define IChannelHook_QueryInterface(This,riid,ppvObject)    \
  9429.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9430.  
  9431. #define IChannelHook_AddRef(This)    \
  9432.     (This)->lpVtbl -> AddRef(This)
  9433.  
  9434. #define IChannelHook_Release(This)    \
  9435.     (This)->lpVtbl -> Release(This)
  9436.  
  9437.  
  9438. #define IChannelHook_ClientGetSize(This,uExtent,riid,pDataSize)    \
  9439.     (This)->lpVtbl -> ClientGetSize(This,uExtent,riid,pDataSize)
  9440.  
  9441. #define IChannelHook_ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer)    \
  9442.     (This)->lpVtbl -> ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer)
  9443.  
  9444. #define IChannelHook_ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault)    \
  9445.     (This)->lpVtbl -> ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault)
  9446.  
  9447. #define IChannelHook_ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep)    \
  9448.     (This)->lpVtbl -> ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep)
  9449.  
  9450. #define IChannelHook_ServerGetSize(This,uExtent,riid,hrFault,pDataSize)    \
  9451.     (This)->lpVtbl -> ServerGetSize(This,uExtent,riid,hrFault,pDataSize)
  9452.  
  9453. #define IChannelHook_ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault)    \
  9454.     (This)->lpVtbl -> ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault)
  9455.  
  9456. #endif /* COBJMACROS */
  9457.  
  9458.  
  9459. #endif     /* C style interface */
  9460.  
  9461.  
  9462.  
  9463. void STDMETHODCALLTYPE IChannelHook_ClientGetSize_Proxy( 
  9464.     IChannelHook __RPC_FAR * This,
  9465.     /* [in] */ REFGUID uExtent,
  9466.     /* [in] */ REFIID riid,
  9467.     /* [out] */ ULONG __RPC_FAR *pDataSize);
  9468.  
  9469.  
  9470. void __RPC_STUB IChannelHook_ClientGetSize_Stub(
  9471.     IRpcStubBuffer *This,
  9472.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9473.     PRPC_MESSAGE _pRpcMessage,
  9474.     DWORD *_pdwStubPhase);
  9475.  
  9476.  
  9477. void STDMETHODCALLTYPE IChannelHook_ClientFillBuffer_Proxy( 
  9478.     IChannelHook __RPC_FAR * This,
  9479.     /* [in] */ REFGUID uExtent,
  9480.     /* [in] */ REFIID riid,
  9481.     /* [out][in] */ ULONG __RPC_FAR *pDataSize,
  9482.     /* [in] */ void __RPC_FAR *pDataBuffer);
  9483.  
  9484.  
  9485. void __RPC_STUB IChannelHook_ClientFillBuffer_Stub(
  9486.     IRpcStubBuffer *This,
  9487.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9488.     PRPC_MESSAGE _pRpcMessage,
  9489.     DWORD *_pdwStubPhase);
  9490.  
  9491.  
  9492. void STDMETHODCALLTYPE IChannelHook_ClientNotify_Proxy( 
  9493.     IChannelHook __RPC_FAR * This,
  9494.     /* [in] */ REFGUID uExtent,
  9495.     /* [in] */ REFIID riid,
  9496.     /* [in] */ ULONG cbDataSize,
  9497.     /* [in] */ void __RPC_FAR *pDataBuffer,
  9498.     /* [in] */ DWORD lDataRep,
  9499.     /* [in] */ HRESULT hrFault);
  9500.  
  9501.  
  9502. void __RPC_STUB IChannelHook_ClientNotify_Stub(
  9503.     IRpcStubBuffer *This,
  9504.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9505.     PRPC_MESSAGE _pRpcMessage,
  9506.     DWORD *_pdwStubPhase);
  9507.  
  9508.  
  9509. void STDMETHODCALLTYPE IChannelHook_ServerNotify_Proxy( 
  9510.     IChannelHook __RPC_FAR * This,
  9511.     /* [in] */ REFGUID uExtent,
  9512.     /* [in] */ REFIID riid,
  9513.     /* [in] */ ULONG cbDataSize,
  9514.     /* [in] */ void __RPC_FAR *pDataBuffer,
  9515.     /* [in] */ DWORD lDataRep);
  9516.  
  9517.  
  9518. void __RPC_STUB IChannelHook_ServerNotify_Stub(
  9519.     IRpcStubBuffer *This,
  9520.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9521.     PRPC_MESSAGE _pRpcMessage,
  9522.     DWORD *_pdwStubPhase);
  9523.  
  9524.  
  9525. void STDMETHODCALLTYPE IChannelHook_ServerGetSize_Proxy( 
  9526.     IChannelHook __RPC_FAR * This,
  9527.     /* [in] */ REFGUID uExtent,
  9528.     /* [in] */ REFIID riid,
  9529.     /* [in] */ HRESULT hrFault,
  9530.     /* [out] */ ULONG __RPC_FAR *pDataSize);
  9531.  
  9532.  
  9533. void __RPC_STUB IChannelHook_ServerGetSize_Stub(
  9534.     IRpcStubBuffer *This,
  9535.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9536.     PRPC_MESSAGE _pRpcMessage,
  9537.     DWORD *_pdwStubPhase);
  9538.  
  9539.  
  9540. void STDMETHODCALLTYPE IChannelHook_ServerFillBuffer_Proxy( 
  9541.     IChannelHook __RPC_FAR * This,
  9542.     /* [in] */ REFGUID uExtent,
  9543.     /* [in] */ REFIID riid,
  9544.     /* [out][in] */ ULONG __RPC_FAR *pDataSize,
  9545.     /* [in] */ void __RPC_FAR *pDataBuffer,
  9546.     /* [in] */ HRESULT hrFault);
  9547.  
  9548.  
  9549. void __RPC_STUB IChannelHook_ServerFillBuffer_Stub(
  9550.     IRpcStubBuffer *This,
  9551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9552.     PRPC_MESSAGE _pRpcMessage,
  9553.     DWORD *_pdwStubPhase);
  9554.  
  9555.  
  9556.  
  9557. #endif     /* __IChannelHook_INTERFACE_DEFINED__ */
  9558.  
  9559.  
  9560. /* interface __MIDL_itf_objidl_0050 */
  9561. /* [local] */ 
  9562.  
  9563. #endif //DCOM
  9564.  
  9565. // Well-known Property Set Format IDs
  9566. extern const FMTID FMTID_SummaryInformation;
  9567.  
  9568. extern const FMTID FMTID_DocSummaryInformation;
  9569.  
  9570. extern const FMTID FMTID_UserDefinedProperties;
  9571.  
  9572. extern const FMTID FMTID_DiscardableInformation;
  9573.  
  9574. extern const FMTID FMTID_ImageSummaryInformation;
  9575.  
  9576. extern const FMTID FMTID_AudioSummaryInformation;
  9577.  
  9578. extern const FMTID FMTID_VideoSummaryInformation;
  9579.  
  9580. extern const FMTID FMTID_MediaFileSummaryInformation;
  9581.  
  9582. #if  (_WIN32_WINNT >= 0x0400 ) || defined(_WIN32_DCOM) // DCOM
  9583. // This interface is only valid on Windows NT 4.0
  9584.  
  9585.  
  9586. extern RPC_IF_HANDLE __MIDL_itf_objidl_0050_v0_0_c_ifspec;
  9587. extern RPC_IF_HANDLE __MIDL_itf_objidl_0050_v0_0_s_ifspec;
  9588.  
  9589. #ifndef __IClientSecurity_INTERFACE_DEFINED__
  9590. #define __IClientSecurity_INTERFACE_DEFINED__
  9591.  
  9592. /* interface IClientSecurity */
  9593. /* [uuid][object][local] */ 
  9594.  
  9595. typedef struct tagSOLE_AUTHENTICATION_SERVICE
  9596.     {
  9597.     DWORD dwAuthnSvc;
  9598.     DWORD dwAuthzSvc;
  9599.     OLECHAR __RPC_FAR *pPrincipalName;
  9600.     HRESULT hr;
  9601.     }    SOLE_AUTHENTICATION_SERVICE;
  9602.  
  9603. typedef SOLE_AUTHENTICATION_SERVICE __RPC_FAR *PSOLE_AUTHENTICATION_SERVICE;
  9604.  
  9605. typedef 
  9606. enum tagEOLE_AUTHENTICATION_CAPABILITIES
  9607.     {    EOAC_NONE    = 0,
  9608.     EOAC_MUTUAL_AUTH    = 0x1,
  9609.     EOAC_STATIC_CLOAKING    = 0x20,
  9610.     EOAC_DYNAMIC_CLOAKING    = 0x40,
  9611.     EOAC_ANY_AUTHORITY    = 0x80,
  9612.     EOAC_MAKE_FULLSIC    = 0x100,
  9613.     EOAC_DEFAULT    = 0x800,
  9614.     EOAC_SECURE_REFS    = 0x2,
  9615.     EOAC_ACCESS_CONTROL    = 0x4,
  9616.     EOAC_APPID    = 0x8,
  9617.     EOAC_DYNAMIC    = 0x10,
  9618.     EOAC_REQUIRE_FULLSIC    = 0x200,
  9619.     EOAC_AUTO_IMPERSONATE    = 0x400,
  9620.     EOAC_NO_CUSTOM_MARSHAL    = 0x2000,
  9621.     EOAC_DISABLE_AAA    = 0x1000
  9622.     }    EOLE_AUTHENTICATION_CAPABILITIES;
  9623.  
  9624. #define    COLE_DEFAULT_PRINCIPAL    ( ( OLECHAR __RPC_FAR * )-1 )
  9625.  
  9626. #define    COLE_DEFAULT_AUTHINFO    ( ( void __RPC_FAR * )-1 )
  9627.  
  9628. typedef struct tagSOLE_AUTHENTICATION_INFO
  9629.     {
  9630.     DWORD dwAuthnSvc;
  9631.     DWORD dwAuthzSvc;
  9632.     void __RPC_FAR *pAuthInfo;
  9633.     }    SOLE_AUTHENTICATION_INFO;
  9634.  
  9635. typedef struct tagSOLE_AUTHENTICATION_INFO __RPC_FAR *PSOLE_AUTHENTICATION_INFO;
  9636.  
  9637. typedef struct tagSOLE_AUTHENTICATION_LIST
  9638.     {
  9639.     DWORD cAuthInfo;
  9640.     SOLE_AUTHENTICATION_INFO __RPC_FAR *aAuthInfo;
  9641.     }    SOLE_AUTHENTICATION_LIST;
  9642.  
  9643. typedef struct tagSOLE_AUTHENTICATION_LIST __RPC_FAR *PSOLE_AUTHENTICATION_LIST;
  9644.  
  9645.  
  9646. EXTERN_C const IID IID_IClientSecurity;
  9647.  
  9648. #if defined(__cplusplus) && !defined(CINTERFACE)
  9649.     
  9650.     MIDL_INTERFACE("0000013D-0000-0000-C000-000000000046")
  9651.     IClientSecurity : public IUnknown
  9652.     {
  9653.     public:
  9654.         virtual HRESULT STDMETHODCALLTYPE QueryBlanket( 
  9655.             /* [in] */ IUnknown __RPC_FAR *pProxy,
  9656.             /* [out] */ DWORD __RPC_FAR *pAuthnSvc,
  9657.             /* [out] */ DWORD __RPC_FAR *pAuthzSvc,
  9658.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *pServerPrincName,
  9659.             /* [out] */ DWORD __RPC_FAR *pAuthnLevel,
  9660.             /* [out] */ DWORD __RPC_FAR *pImpLevel,
  9661.             /* [out] */ void __RPC_FAR *__RPC_FAR *pAuthInfo,
  9662.             /* [out] */ DWORD __RPC_FAR *pCapabilites) = 0;
  9663.         
  9664.         virtual HRESULT STDMETHODCALLTYPE SetBlanket( 
  9665.             /* [in] */ IUnknown __RPC_FAR *pProxy,
  9666.             /* [in] */ DWORD dwAuthnSvc,
  9667.             /* [in] */ DWORD dwAuthzSvc,
  9668.             /* [in] */ OLECHAR __RPC_FAR *pServerPrincName,
  9669.             /* [in] */ DWORD dwAuthnLevel,
  9670.             /* [in] */ DWORD dwImpLevel,
  9671.             /* [in] */ void __RPC_FAR *pAuthInfo,
  9672.             /* [in] */ DWORD dwCapabilities) = 0;
  9673.         
  9674.         virtual HRESULT STDMETHODCALLTYPE CopyProxy( 
  9675.             /* [in] */ IUnknown __RPC_FAR *pProxy,
  9676.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppCopy) = 0;
  9677.         
  9678.     };
  9679.     
  9680. #else     /* C style interface */
  9681.  
  9682.     typedef struct IClientSecurityVtbl
  9683.     {
  9684.         BEGIN_INTERFACE
  9685.         
  9686.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9687.             IClientSecurity __RPC_FAR * This,
  9688.             /* [in] */ REFIID riid,
  9689.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9690.         
  9691.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9692.             IClientSecurity __RPC_FAR * This);
  9693.         
  9694.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9695.             IClientSecurity __RPC_FAR * This);
  9696.         
  9697.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryBlanket )( 
  9698.             IClientSecurity __RPC_FAR * This,
  9699.             /* [in] */ IUnknown __RPC_FAR *pProxy,
  9700.             /* [out] */ DWORD __RPC_FAR *pAuthnSvc,
  9701.             /* [out] */ DWORD __RPC_FAR *pAuthzSvc,
  9702.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *pServerPrincName,
  9703.             /* [out] */ DWORD __RPC_FAR *pAuthnLevel,
  9704.             /* [out] */ DWORD __RPC_FAR *pImpLevel,
  9705.             /* [out] */ void __RPC_FAR *__RPC_FAR *pAuthInfo,
  9706.             /* [out] */ DWORD __RPC_FAR *pCapabilites);
  9707.         
  9708.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetBlanket )( 
  9709.             IClientSecurity __RPC_FAR * This,
  9710.             /* [in] */ IUnknown __RPC_FAR *pProxy,
  9711.             /* [in] */ DWORD dwAuthnSvc,
  9712.             /* [in] */ DWORD dwAuthzSvc,
  9713.             /* [in] */ OLECHAR __RPC_FAR *pServerPrincName,
  9714.             /* [in] */ DWORD dwAuthnLevel,
  9715.             /* [in] */ DWORD dwImpLevel,
  9716.             /* [in] */ void __RPC_FAR *pAuthInfo,
  9717.             /* [in] */ DWORD dwCapabilities);
  9718.         
  9719.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CopyProxy )( 
  9720.             IClientSecurity __RPC_FAR * This,
  9721.             /* [in] */ IUnknown __RPC_FAR *pProxy,
  9722.             /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppCopy);
  9723.         
  9724.         END_INTERFACE
  9725.     } IClientSecurityVtbl;
  9726.  
  9727.     interface IClientSecurity
  9728.     {
  9729.         CONST_VTBL struct IClientSecurityVtbl __RPC_FAR *lpVtbl;
  9730.     };
  9731.  
  9732.     
  9733.  
  9734. #ifdef COBJMACROS
  9735.  
  9736.  
  9737. #define IClientSecurity_QueryInterface(This,riid,ppvObject)    \
  9738.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9739.  
  9740. #define IClientSecurity_AddRef(This)    \
  9741.     (This)->lpVtbl -> AddRef(This)
  9742.  
  9743. #define IClientSecurity_Release(This)    \
  9744.     (This)->lpVtbl -> Release(This)
  9745.  
  9746.  
  9747. #define IClientSecurity_QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites)    \
  9748.     (This)->lpVtbl -> QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites)
  9749.  
  9750. #define IClientSecurity_SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities)    \
  9751.     (This)->lpVtbl -> SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities)
  9752.  
  9753. #define IClientSecurity_CopyProxy(This,pProxy,ppCopy)    \
  9754.     (This)->lpVtbl -> CopyProxy(This,pProxy,ppCopy)
  9755.  
  9756. #endif /* COBJMACROS */
  9757.  
  9758.  
  9759. #endif     /* C style interface */
  9760.  
  9761.  
  9762.  
  9763. HRESULT STDMETHODCALLTYPE IClientSecurity_QueryBlanket_Proxy( 
  9764.     IClientSecurity __RPC_FAR * This,
  9765.     /* [in] */ IUnknown __RPC_FAR *pProxy,
  9766.     /* [out] */ DWORD __RPC_FAR *pAuthnSvc,
  9767.     /* [out] */ DWORD __RPC_FAR *pAuthzSvc,
  9768.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *pServerPrincName,
  9769.     /* [out] */ DWORD __RPC_FAR *pAuthnLevel,
  9770.     /* [out] */ DWORD __RPC_FAR *pImpLevel,
  9771.     /* [out] */ void __RPC_FAR *__RPC_FAR *pAuthInfo,
  9772.     /* [out] */ DWORD __RPC_FAR *pCapabilites);
  9773.  
  9774.  
  9775. void __RPC_STUB IClientSecurity_QueryBlanket_Stub(
  9776.     IRpcStubBuffer *This,
  9777.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9778.     PRPC_MESSAGE _pRpcMessage,
  9779.     DWORD *_pdwStubPhase);
  9780.  
  9781.  
  9782. HRESULT STDMETHODCALLTYPE IClientSecurity_SetBlanket_Proxy( 
  9783.     IClientSecurity __RPC_FAR * This,
  9784.     /* [in] */ IUnknown __RPC_FAR *pProxy,
  9785.     /* [in] */ DWORD dwAuthnSvc,
  9786.     /* [in] */ DWORD dwAuthzSvc,
  9787.     /* [in] */ OLECHAR __RPC_FAR *pServerPrincName,
  9788.     /* [in] */ DWORD dwAuthnLevel,
  9789.     /* [in] */ DWORD dwImpLevel,
  9790.     /* [in] */ void __RPC_FAR *pAuthInfo,
  9791.     /* [in] */ DWORD dwCapabilities);
  9792.  
  9793.  
  9794. void __RPC_STUB IClientSecurity_SetBlanket_Stub(
  9795.     IRpcStubBuffer *This,
  9796.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9797.     PRPC_MESSAGE _pRpcMessage,
  9798.     DWORD *_pdwStubPhase);
  9799.  
  9800.  
  9801. HRESULT STDMETHODCALLTYPE IClientSecurity_CopyProxy_Proxy( 
  9802.     IClientSecurity __RPC_FAR * This,
  9803.     /* [in] */ IUnknown __RPC_FAR *pProxy,
  9804.     /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *ppCopy);
  9805.  
  9806.  
  9807. void __RPC_STUB IClientSecurity_CopyProxy_Stub(
  9808.     IRpcStubBuffer *This,
  9809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9810.     PRPC_MESSAGE _pRpcMessage,
  9811.     DWORD *_pdwStubPhase);
  9812.  
  9813.  
  9814.  
  9815. #endif     /* __IClientSecurity_INTERFACE_DEFINED__ */
  9816.  
  9817.  
  9818. #ifndef __IServerSecurity_INTERFACE_DEFINED__
  9819. #define __IServerSecurity_INTERFACE_DEFINED__
  9820.  
  9821. /* interface IServerSecurity */
  9822. /* [uuid][object][local] */ 
  9823.  
  9824.  
  9825. EXTERN_C const IID IID_IServerSecurity;
  9826.  
  9827. #if defined(__cplusplus) && !defined(CINTERFACE)
  9828.     
  9829.     MIDL_INTERFACE("0000013E-0000-0000-C000-000000000046")
  9830.     IServerSecurity : public IUnknown
  9831.     {
  9832.     public:
  9833.         virtual HRESULT STDMETHODCALLTYPE QueryBlanket( 
  9834.             /* [out] */ DWORD __RPC_FAR *pAuthnSvc,
  9835.             /* [out] */ DWORD __RPC_FAR *pAuthzSvc,
  9836.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *pServerPrincName,
  9837.             /* [out] */ DWORD __RPC_FAR *pAuthnLevel,
  9838.             /* [out] */ DWORD __RPC_FAR *pImpLevel,
  9839.             /* [out] */ void __RPC_FAR *__RPC_FAR *pPrivs,
  9840.             /* [out][in] */ DWORD __RPC_FAR *pCapabilities) = 0;
  9841.         
  9842.         virtual HRESULT STDMETHODCALLTYPE ImpersonateClient( void) = 0;
  9843.         
  9844.         virtual HRESULT STDMETHODCALLTYPE RevertToSelf( void) = 0;
  9845.         
  9846.         virtual BOOL STDMETHODCALLTYPE IsImpersonating( void) = 0;
  9847.         
  9848.     };
  9849.     
  9850. #else     /* C style interface */
  9851.  
  9852.     typedef struct IServerSecurityVtbl
  9853.     {
  9854.         BEGIN_INTERFACE
  9855.         
  9856.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  9857.             IServerSecurity __RPC_FAR * This,
  9858.             /* [in] */ REFIID riid,
  9859.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  9860.         
  9861.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  9862.             IServerSecurity __RPC_FAR * This);
  9863.         
  9864.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  9865.             IServerSecurity __RPC_FAR * This);
  9866.         
  9867.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryBlanket )( 
  9868.             IServerSecurity __RPC_FAR * This,
  9869.             /* [out] */ DWORD __RPC_FAR *pAuthnSvc,
  9870.             /* [out] */ DWORD __RPC_FAR *pAuthzSvc,
  9871.             /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *pServerPrincName,
  9872.             /* [out] */ DWORD __RPC_FAR *pAuthnLevel,
  9873.             /* [out] */ DWORD __RPC_FAR *pImpLevel,
  9874.             /* [out] */ void __RPC_FAR *__RPC_FAR *pPrivs,
  9875.             /* [out][in] */ DWORD __RPC_FAR *pCapabilities);
  9876.         
  9877.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ImpersonateClient )( 
  9878.             IServerSecurity __RPC_FAR * This);
  9879.         
  9880.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RevertToSelf )( 
  9881.             IServerSecurity __RPC_FAR * This);
  9882.         
  9883.         BOOL ( STDMETHODCALLTYPE __RPC_FAR *IsImpersonating )( 
  9884.             IServerSecurity __RPC_FAR * This);
  9885.         
  9886.         END_INTERFACE
  9887.     } IServerSecurityVtbl;
  9888.  
  9889.     interface IServerSecurity
  9890.     {
  9891.         CONST_VTBL struct IServerSecurityVtbl __RPC_FAR *lpVtbl;
  9892.     };
  9893.  
  9894.     
  9895.  
  9896. #ifdef COBJMACROS
  9897.  
  9898.  
  9899. #define IServerSecurity_QueryInterface(This,riid,ppvObject)    \
  9900.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  9901.  
  9902. #define IServerSecurity_AddRef(This)    \
  9903.     (This)->lpVtbl -> AddRef(This)
  9904.  
  9905. #define IServerSecurity_Release(This)    \
  9906.     (This)->lpVtbl -> Release(This)
  9907.  
  9908.  
  9909. #define IServerSecurity_QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities)    \
  9910.     (This)->lpVtbl -> QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities)
  9911.  
  9912. #define IServerSecurity_ImpersonateClient(This)    \
  9913.     (This)->lpVtbl -> ImpersonateClient(This)
  9914.  
  9915. #define IServerSecurity_RevertToSelf(This)    \
  9916.     (This)->lpVtbl -> RevertToSelf(This)
  9917.  
  9918. #define IServerSecurity_IsImpersonating(This)    \
  9919.     (This)->lpVtbl -> IsImpersonating(This)
  9920.  
  9921. #endif /* COBJMACROS */
  9922.  
  9923.  
  9924. #endif     /* C style interface */
  9925.  
  9926.  
  9927.  
  9928. HRESULT STDMETHODCALLTYPE IServerSecurity_QueryBlanket_Proxy( 
  9929.     IServerSecurity __RPC_FAR * This,
  9930.     /* [out] */ DWORD __RPC_FAR *pAuthnSvc,
  9931.     /* [out] */ DWORD __RPC_FAR *pAuthzSvc,
  9932.     /* [out] */ OLECHAR __RPC_FAR *__RPC_FAR *pServerPrincName,
  9933.     /* [out] */ DWORD __RPC_FAR *pAuthnLevel,
  9934.     /* [out] */ DWORD __RPC_FAR *pImpLevel,
  9935.     /* [out] */ void __RPC_FAR *__RPC_FAR *pPrivs,
  9936.     /* [out][in] */ DWORD __RPC_FAR *pCapabilities);
  9937.  
  9938.  
  9939. void __RPC_STUB IServerSecurity_QueryBlanket_Stub(
  9940.     IRpcStubBuffer *This,
  9941.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9942.     PRPC_MESSAGE _pRpcMessage,
  9943.     DWORD *_pdwStubPhase);
  9944.  
  9945.  
  9946. HRESULT STDMETHODCALLTYPE IServerSecurity_ImpersonateClient_Proxy( 
  9947.     IServerSecurity __RPC_FAR * This);
  9948.  
  9949.  
  9950. void __RPC_STUB IServerSecurity_ImpersonateClient_Stub(
  9951.     IRpcStubBuffer *This,
  9952.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9953.     PRPC_MESSAGE _pRpcMessage,
  9954.     DWORD *_pdwStubPhase);
  9955.  
  9956.  
  9957. HRESULT STDMETHODCALLTYPE IServerSecurity_RevertToSelf_Proxy( 
  9958.     IServerSecurity __RPC_FAR * This);
  9959.  
  9960.  
  9961. void __RPC_STUB IServerSecurity_RevertToSelf_Stub(
  9962.     IRpcStubBuffer *This,
  9963.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9964.     PRPC_MESSAGE _pRpcMessage,
  9965.     DWORD *_pdwStubPhase);
  9966.  
  9967.  
  9968. BOOL STDMETHODCALLTYPE IServerSecurity_IsImpersonating_Proxy( 
  9969.     IServerSecurity __RPC_FAR * This);
  9970.  
  9971.  
  9972. void __RPC_STUB IServerSecurity_IsImpersonating_Stub(
  9973.     IRpcStubBuffer *This,
  9974.     IRpcChannelBuffer *_pRpcChannelBuffer,
  9975.     PRPC_MESSAGE _pRpcMessage,
  9976.     DWORD *_pdwStubPhase);
  9977.  
  9978.  
  9979.  
  9980. #endif     /* __IServerSecurity_INTERFACE_DEFINED__ */
  9981.  
  9982.  
  9983. #ifndef __IClassActivator_INTERFACE_DEFINED__
  9984. #define __IClassActivator_INTERFACE_DEFINED__
  9985.  
  9986. /* interface IClassActivator */
  9987. /* [uuid][object] */ 
  9988.  
  9989.  
  9990. EXTERN_C const IID IID_IClassActivator;
  9991.  
  9992. #if defined(__cplusplus) && !defined(CINTERFACE)
  9993.     
  9994.     MIDL_INTERFACE("00000140-0000-0000-C000-000000000046")
  9995.     IClassActivator : public IUnknown
  9996.     {
  9997.     public:
  9998.         virtual HRESULT STDMETHODCALLTYPE GetClassObject( 
  9999.             /* [in] */ REFCLSID rclsid,
  10000.             /* [in] */ DWORD dwClassContext,
  10001.             /* [in] */ LCID locale,
  10002.             /* [in] */ REFIID riid,
  10003.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppv) = 0;
  10004.         
  10005.     };
  10006.     
  10007. #else     /* C style interface */
  10008.  
  10009.     typedef struct IClassActivatorVtbl
  10010.     {
  10011.         BEGIN_INTERFACE
  10012.         
  10013.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10014.             IClassActivator __RPC_FAR * This,
  10015.             /* [in] */ REFIID riid,
  10016.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10017.         
  10018.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10019.             IClassActivator __RPC_FAR * This);
  10020.         
  10021.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10022.             IClassActivator __RPC_FAR * This);
  10023.         
  10024.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetClassObject )( 
  10025.             IClassActivator __RPC_FAR * This,
  10026.             /* [in] */ REFCLSID rclsid,
  10027.             /* [in] */ DWORD dwClassContext,
  10028.             /* [in] */ LCID locale,
  10029.             /* [in] */ REFIID riid,
  10030.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppv);
  10031.         
  10032.         END_INTERFACE
  10033.     } IClassActivatorVtbl;
  10034.  
  10035.     interface IClassActivator
  10036.     {
  10037.         CONST_VTBL struct IClassActivatorVtbl __RPC_FAR *lpVtbl;
  10038.     };
  10039.  
  10040.     
  10041.  
  10042. #ifdef COBJMACROS
  10043.  
  10044.  
  10045. #define IClassActivator_QueryInterface(This,riid,ppvObject)    \
  10046.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10047.  
  10048. #define IClassActivator_AddRef(This)    \
  10049.     (This)->lpVtbl -> AddRef(This)
  10050.  
  10051. #define IClassActivator_Release(This)    \
  10052.     (This)->lpVtbl -> Release(This)
  10053.  
  10054.  
  10055. #define IClassActivator_GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv)    \
  10056.     (This)->lpVtbl -> GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv)
  10057.  
  10058. #endif /* COBJMACROS */
  10059.  
  10060.  
  10061. #endif     /* C style interface */
  10062.  
  10063.  
  10064.  
  10065. HRESULT STDMETHODCALLTYPE IClassActivator_GetClassObject_Proxy( 
  10066.     IClassActivator __RPC_FAR * This,
  10067.     /* [in] */ REFCLSID rclsid,
  10068.     /* [in] */ DWORD dwClassContext,
  10069.     /* [in] */ LCID locale,
  10070.     /* [in] */ REFIID riid,
  10071.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppv);
  10072.  
  10073.  
  10074. void __RPC_STUB IClassActivator_GetClassObject_Stub(
  10075.     IRpcStubBuffer *This,
  10076.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10077.     PRPC_MESSAGE _pRpcMessage,
  10078.     DWORD *_pdwStubPhase);
  10079.  
  10080.  
  10081.  
  10082. #endif     /* __IClassActivator_INTERFACE_DEFINED__ */
  10083.  
  10084.  
  10085. #ifndef __IRpcOptions_INTERFACE_DEFINED__
  10086. #define __IRpcOptions_INTERFACE_DEFINED__
  10087.  
  10088. /* interface IRpcOptions */
  10089. /* [uuid][local][object] */ 
  10090.  
  10091.  
  10092. EXTERN_C const IID IID_IRpcOptions;
  10093.  
  10094. #if defined(__cplusplus) && !defined(CINTERFACE)
  10095.     
  10096.     MIDL_INTERFACE("00000144-0000-0000-C000-000000000046")
  10097.     IRpcOptions : public IUnknown
  10098.     {
  10099.     public:
  10100.         virtual HRESULT STDMETHODCALLTYPE Set( 
  10101.             /* [in] */ IUnknown __RPC_FAR *pPrx,
  10102.             /* [in] */ DWORD dwProperty,
  10103.             /* [in] */ ULONG_PTR dwValue) = 0;
  10104.         
  10105.         virtual HRESULT STDMETHODCALLTYPE Query( 
  10106.             /* [in] */ IUnknown __RPC_FAR *pPrx,
  10107.             /* [in] */ DWORD dwProperty,
  10108.             /* [out] */ ULONG_PTR __RPC_FAR *pdwValue) = 0;
  10109.         
  10110.     };
  10111.     
  10112. #else     /* C style interface */
  10113.  
  10114.     typedef struct IRpcOptionsVtbl
  10115.     {
  10116.         BEGIN_INTERFACE
  10117.         
  10118.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10119.             IRpcOptions __RPC_FAR * This,
  10120.             /* [in] */ REFIID riid,
  10121.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10122.         
  10123.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10124.             IRpcOptions __RPC_FAR * This);
  10125.         
  10126.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10127.             IRpcOptions __RPC_FAR * This);
  10128.         
  10129.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Set )( 
  10130.             IRpcOptions __RPC_FAR * This,
  10131.             /* [in] */ IUnknown __RPC_FAR *pPrx,
  10132.             /* [in] */ DWORD dwProperty,
  10133.             /* [in] */ ULONG_PTR dwValue);
  10134.         
  10135.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Query )( 
  10136.             IRpcOptions __RPC_FAR * This,
  10137.             /* [in] */ IUnknown __RPC_FAR *pPrx,
  10138.             /* [in] */ DWORD dwProperty,
  10139.             /* [out] */ ULONG_PTR __RPC_FAR *pdwValue);
  10140.         
  10141.         END_INTERFACE
  10142.     } IRpcOptionsVtbl;
  10143.  
  10144.     interface IRpcOptions
  10145.     {
  10146.         CONST_VTBL struct IRpcOptionsVtbl __RPC_FAR *lpVtbl;
  10147.     };
  10148.  
  10149.     
  10150.  
  10151. #ifdef COBJMACROS
  10152.  
  10153.  
  10154. #define IRpcOptions_QueryInterface(This,riid,ppvObject)    \
  10155.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10156.  
  10157. #define IRpcOptions_AddRef(This)    \
  10158.     (This)->lpVtbl -> AddRef(This)
  10159.  
  10160. #define IRpcOptions_Release(This)    \
  10161.     (This)->lpVtbl -> Release(This)
  10162.  
  10163.  
  10164. #define IRpcOptions_Set(This,pPrx,dwProperty,dwValue)    \
  10165.     (This)->lpVtbl -> Set(This,pPrx,dwProperty,dwValue)
  10166.  
  10167. #define IRpcOptions_Query(This,pPrx,dwProperty,pdwValue)    \
  10168.     (This)->lpVtbl -> Query(This,pPrx,dwProperty,pdwValue)
  10169.  
  10170. #endif /* COBJMACROS */
  10171.  
  10172.  
  10173. #endif     /* C style interface */
  10174.  
  10175.  
  10176.  
  10177. HRESULT STDMETHODCALLTYPE IRpcOptions_Set_Proxy( 
  10178.     IRpcOptions __RPC_FAR * This,
  10179.     /* [in] */ IUnknown __RPC_FAR *pPrx,
  10180.     /* [in] */ DWORD dwProperty,
  10181.     /* [in] */ ULONG_PTR dwValue);
  10182.  
  10183.  
  10184. void __RPC_STUB IRpcOptions_Set_Stub(
  10185.     IRpcStubBuffer *This,
  10186.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10187.     PRPC_MESSAGE _pRpcMessage,
  10188.     DWORD *_pdwStubPhase);
  10189.  
  10190.  
  10191. HRESULT STDMETHODCALLTYPE IRpcOptions_Query_Proxy( 
  10192.     IRpcOptions __RPC_FAR * This,
  10193.     /* [in] */ IUnknown __RPC_FAR *pPrx,
  10194.     /* [in] */ DWORD dwProperty,
  10195.     /* [out] */ ULONG_PTR __RPC_FAR *pdwValue);
  10196.  
  10197.  
  10198. void __RPC_STUB IRpcOptions_Query_Stub(
  10199.     IRpcStubBuffer *This,
  10200.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10201.     PRPC_MESSAGE _pRpcMessage,
  10202.     DWORD *_pdwStubPhase);
  10203.  
  10204.  
  10205.  
  10206. #endif     /* __IRpcOptions_INTERFACE_DEFINED__ */
  10207.  
  10208.  
  10209. /* interface __MIDL_itf_objidl_0054 */
  10210. /* [local] */ 
  10211.  
  10212.  
  10213. enum __MIDL___MIDL_itf_objidl_0054_0001
  10214.     {    COMBND_RPCTIMEOUT    = 0x1
  10215.     };
  10216. #endif //DCOM
  10217.  
  10218.  
  10219. extern RPC_IF_HANDLE __MIDL_itf_objidl_0054_v0_0_c_ifspec;
  10220. extern RPC_IF_HANDLE __MIDL_itf_objidl_0054_v0_0_s_ifspec;
  10221.  
  10222. #ifndef __IFillLockBytes_INTERFACE_DEFINED__
  10223. #define __IFillLockBytes_INTERFACE_DEFINED__
  10224.  
  10225. /* interface IFillLockBytes */
  10226. /* [unique][uuid][object] */ 
  10227.  
  10228.  
  10229. EXTERN_C const IID IID_IFillLockBytes;
  10230.  
  10231. #if defined(__cplusplus) && !defined(CINTERFACE)
  10232.     
  10233.     MIDL_INTERFACE("99caf010-415e-11cf-8814-00aa00b569f5")
  10234.     IFillLockBytes : public IUnknown
  10235.     {
  10236.     public:
  10237.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE FillAppend( 
  10238.             /* [size_is][in] */ const void __RPC_FAR *pv,
  10239.             /* [in] */ ULONG cb,
  10240.             /* [out] */ ULONG __RPC_FAR *pcbWritten) = 0;
  10241.         
  10242.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE FillAt( 
  10243.             /* [in] */ ULARGE_INTEGER ulOffset,
  10244.             /* [size_is][in] */ const void __RPC_FAR *pv,
  10245.             /* [in] */ ULONG cb,
  10246.             /* [out] */ ULONG __RPC_FAR *pcbWritten) = 0;
  10247.         
  10248.         virtual HRESULT STDMETHODCALLTYPE SetFillSize( 
  10249.             /* [in] */ ULARGE_INTEGER ulSize) = 0;
  10250.         
  10251.         virtual HRESULT STDMETHODCALLTYPE Terminate( 
  10252.             /* [in] */ BOOL bCanceled) = 0;
  10253.         
  10254.     };
  10255.     
  10256. #else     /* C style interface */
  10257.  
  10258.     typedef struct IFillLockBytesVtbl
  10259.     {
  10260.         BEGIN_INTERFACE
  10261.         
  10262.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10263.             IFillLockBytes __RPC_FAR * This,
  10264.             /* [in] */ REFIID riid,
  10265.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10266.         
  10267.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10268.             IFillLockBytes __RPC_FAR * This);
  10269.         
  10270.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10271.             IFillLockBytes __RPC_FAR * This);
  10272.         
  10273.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FillAppend )( 
  10274.             IFillLockBytes __RPC_FAR * This,
  10275.             /* [size_is][in] */ const void __RPC_FAR *pv,
  10276.             /* [in] */ ULONG cb,
  10277.             /* [out] */ ULONG __RPC_FAR *pcbWritten);
  10278.         
  10279.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FillAt )( 
  10280.             IFillLockBytes __RPC_FAR * This,
  10281.             /* [in] */ ULARGE_INTEGER ulOffset,
  10282.             /* [size_is][in] */ const void __RPC_FAR *pv,
  10283.             /* [in] */ ULONG cb,
  10284.             /* [out] */ ULONG __RPC_FAR *pcbWritten);
  10285.         
  10286.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetFillSize )( 
  10287.             IFillLockBytes __RPC_FAR * This,
  10288.             /* [in] */ ULARGE_INTEGER ulSize);
  10289.         
  10290.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Terminate )( 
  10291.             IFillLockBytes __RPC_FAR * This,
  10292.             /* [in] */ BOOL bCanceled);
  10293.         
  10294.         END_INTERFACE
  10295.     } IFillLockBytesVtbl;
  10296.  
  10297.     interface IFillLockBytes
  10298.     {
  10299.         CONST_VTBL struct IFillLockBytesVtbl __RPC_FAR *lpVtbl;
  10300.     };
  10301.  
  10302.     
  10303.  
  10304. #ifdef COBJMACROS
  10305.  
  10306.  
  10307. #define IFillLockBytes_QueryInterface(This,riid,ppvObject)    \
  10308.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10309.  
  10310. #define IFillLockBytes_AddRef(This)    \
  10311.     (This)->lpVtbl -> AddRef(This)
  10312.  
  10313. #define IFillLockBytes_Release(This)    \
  10314.     (This)->lpVtbl -> Release(This)
  10315.  
  10316.  
  10317. #define IFillLockBytes_FillAppend(This,pv,cb,pcbWritten)    \
  10318.     (This)->lpVtbl -> FillAppend(This,pv,cb,pcbWritten)
  10319.  
  10320. #define IFillLockBytes_FillAt(This,ulOffset,pv,cb,pcbWritten)    \
  10321.     (This)->lpVtbl -> FillAt(This,ulOffset,pv,cb,pcbWritten)
  10322.  
  10323. #define IFillLockBytes_SetFillSize(This,ulSize)    \
  10324.     (This)->lpVtbl -> SetFillSize(This,ulSize)
  10325.  
  10326. #define IFillLockBytes_Terminate(This,bCanceled)    \
  10327.     (This)->lpVtbl -> Terminate(This,bCanceled)
  10328.  
  10329. #endif /* COBJMACROS */
  10330.  
  10331.  
  10332. #endif     /* C style interface */
  10333.  
  10334.  
  10335.  
  10336. /* [call_as] */ HRESULT __stdcall IFillLockBytes_RemoteFillAppend_Proxy( 
  10337.     IFillLockBytes __RPC_FAR * This,
  10338.     /* [size_is][in] */ const byte __RPC_FAR *pv,
  10339.     /* [in] */ ULONG cb,
  10340.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  10341.  
  10342.  
  10343. void __RPC_STUB IFillLockBytes_RemoteFillAppend_Stub(
  10344.     IRpcStubBuffer *This,
  10345.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10346.     PRPC_MESSAGE _pRpcMessage,
  10347.     DWORD *_pdwStubPhase);
  10348.  
  10349.  
  10350. /* [call_as] */ HRESULT __stdcall IFillLockBytes_RemoteFillAt_Proxy( 
  10351.     IFillLockBytes __RPC_FAR * This,
  10352.     /* [in] */ ULARGE_INTEGER ulOffset,
  10353.     /* [size_is][in] */ const byte __RPC_FAR *pv,
  10354.     /* [in] */ ULONG cb,
  10355.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  10356.  
  10357.  
  10358. void __RPC_STUB IFillLockBytes_RemoteFillAt_Stub(
  10359.     IRpcStubBuffer *This,
  10360.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10361.     PRPC_MESSAGE _pRpcMessage,
  10362.     DWORD *_pdwStubPhase);
  10363.  
  10364.  
  10365. HRESULT STDMETHODCALLTYPE IFillLockBytes_SetFillSize_Proxy( 
  10366.     IFillLockBytes __RPC_FAR * This,
  10367.     /* [in] */ ULARGE_INTEGER ulSize);
  10368.  
  10369.  
  10370. void __RPC_STUB IFillLockBytes_SetFillSize_Stub(
  10371.     IRpcStubBuffer *This,
  10372.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10373.     PRPC_MESSAGE _pRpcMessage,
  10374.     DWORD *_pdwStubPhase);
  10375.  
  10376.  
  10377. HRESULT STDMETHODCALLTYPE IFillLockBytes_Terminate_Proxy( 
  10378.     IFillLockBytes __RPC_FAR * This,
  10379.     /* [in] */ BOOL bCanceled);
  10380.  
  10381.  
  10382. void __RPC_STUB IFillLockBytes_Terminate_Stub(
  10383.     IRpcStubBuffer *This,
  10384.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10385.     PRPC_MESSAGE _pRpcMessage,
  10386.     DWORD *_pdwStubPhase);
  10387.  
  10388.  
  10389.  
  10390. #endif     /* __IFillLockBytes_INTERFACE_DEFINED__ */
  10391.  
  10392.  
  10393. #ifndef __IProgressNotify_INTERFACE_DEFINED__
  10394. #define __IProgressNotify_INTERFACE_DEFINED__
  10395.  
  10396. /* interface IProgressNotify */
  10397. /* [unique][uuid][object] */ 
  10398.  
  10399.  
  10400. EXTERN_C const IID IID_IProgressNotify;
  10401.  
  10402. #if defined(__cplusplus) && !defined(CINTERFACE)
  10403.     
  10404.     MIDL_INTERFACE("a9d758a0-4617-11cf-95fc-00aa00680db4")
  10405.     IProgressNotify : public IUnknown
  10406.     {
  10407.     public:
  10408.         virtual HRESULT STDMETHODCALLTYPE OnProgress( 
  10409.             /* [in] */ DWORD dwProgressCurrent,
  10410.             /* [in] */ DWORD dwProgressMaximum,
  10411.             /* [in] */ BOOL fAccurate,
  10412.             /* [in] */ BOOL fOwner) = 0;
  10413.         
  10414.     };
  10415.     
  10416. #else     /* C style interface */
  10417.  
  10418.     typedef struct IProgressNotifyVtbl
  10419.     {
  10420.         BEGIN_INTERFACE
  10421.         
  10422.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10423.             IProgressNotify __RPC_FAR * This,
  10424.             /* [in] */ REFIID riid,
  10425.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10426.         
  10427.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10428.             IProgressNotify __RPC_FAR * This);
  10429.         
  10430.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10431.             IProgressNotify __RPC_FAR * This);
  10432.         
  10433.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnProgress )( 
  10434.             IProgressNotify __RPC_FAR * This,
  10435.             /* [in] */ DWORD dwProgressCurrent,
  10436.             /* [in] */ DWORD dwProgressMaximum,
  10437.             /* [in] */ BOOL fAccurate,
  10438.             /* [in] */ BOOL fOwner);
  10439.         
  10440.         END_INTERFACE
  10441.     } IProgressNotifyVtbl;
  10442.  
  10443.     interface IProgressNotify
  10444.     {
  10445.         CONST_VTBL struct IProgressNotifyVtbl __RPC_FAR *lpVtbl;
  10446.     };
  10447.  
  10448.     
  10449.  
  10450. #ifdef COBJMACROS
  10451.  
  10452.  
  10453. #define IProgressNotify_QueryInterface(This,riid,ppvObject)    \
  10454.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10455.  
  10456. #define IProgressNotify_AddRef(This)    \
  10457.     (This)->lpVtbl -> AddRef(This)
  10458.  
  10459. #define IProgressNotify_Release(This)    \
  10460.     (This)->lpVtbl -> Release(This)
  10461.  
  10462.  
  10463. #define IProgressNotify_OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner)    \
  10464.     (This)->lpVtbl -> OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner)
  10465.  
  10466. #endif /* COBJMACROS */
  10467.  
  10468.  
  10469. #endif     /* C style interface */
  10470.  
  10471.  
  10472.  
  10473. HRESULT STDMETHODCALLTYPE IProgressNotify_OnProgress_Proxy( 
  10474.     IProgressNotify __RPC_FAR * This,
  10475.     /* [in] */ DWORD dwProgressCurrent,
  10476.     /* [in] */ DWORD dwProgressMaximum,
  10477.     /* [in] */ BOOL fAccurate,
  10478.     /* [in] */ BOOL fOwner);
  10479.  
  10480.  
  10481. void __RPC_STUB IProgressNotify_OnProgress_Stub(
  10482.     IRpcStubBuffer *This,
  10483.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10484.     PRPC_MESSAGE _pRpcMessage,
  10485.     DWORD *_pdwStubPhase);
  10486.  
  10487.  
  10488.  
  10489. #endif     /* __IProgressNotify_INTERFACE_DEFINED__ */
  10490.  
  10491.  
  10492. #ifndef __ILayoutStorage_INTERFACE_DEFINED__
  10493. #define __ILayoutStorage_INTERFACE_DEFINED__
  10494.  
  10495. /* interface ILayoutStorage */
  10496. /* [unique][uuid][object][local] */ 
  10497.  
  10498. typedef struct tagStorageLayout
  10499.     {
  10500.     DWORD LayoutType;
  10501.     OLECHAR __RPC_FAR *pwcsElementName;
  10502.     LARGE_INTEGER cOffset;
  10503.     LARGE_INTEGER cBytes;
  10504.     }    StorageLayout;
  10505.  
  10506.  
  10507. EXTERN_C const IID IID_ILayoutStorage;
  10508.  
  10509. #if defined(__cplusplus) && !defined(CINTERFACE)
  10510.     
  10511.     MIDL_INTERFACE("0e6d4d90-6738-11cf-9608-00aa00680db4")
  10512.     ILayoutStorage : public IUnknown
  10513.     {
  10514.     public:
  10515.         virtual HRESULT __stdcall LayoutScript( 
  10516.             /* [in] */ StorageLayout __RPC_FAR *pStorageLayout,
  10517.             /* [in] */ DWORD nEntries,
  10518.             /* [in] */ DWORD glfInterleavedFlag) = 0;
  10519.         
  10520.         virtual HRESULT __stdcall BeginMonitor( void) = 0;
  10521.         
  10522.         virtual HRESULT __stdcall EndMonitor( void) = 0;
  10523.         
  10524.         virtual HRESULT __stdcall ReLayoutDocfile( 
  10525.             /* [in] */ OLECHAR __RPC_FAR *pwcsNewDfName) = 0;
  10526.         
  10527.         virtual HRESULT __stdcall ReLayoutDocfileOnILockBytes( 
  10528.             /* [in] */ ILockBytes __RPC_FAR *pILockBytes) = 0;
  10529.         
  10530.     };
  10531.     
  10532. #else     /* C style interface */
  10533.  
  10534.     typedef struct ILayoutStorageVtbl
  10535.     {
  10536.         BEGIN_INTERFACE
  10537.         
  10538.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10539.             ILayoutStorage __RPC_FAR * This,
  10540.             /* [in] */ REFIID riid,
  10541.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10542.         
  10543.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10544.             ILayoutStorage __RPC_FAR * This);
  10545.         
  10546.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10547.             ILayoutStorage __RPC_FAR * This);
  10548.         
  10549.         HRESULT ( __stdcall __RPC_FAR *LayoutScript )( 
  10550.             ILayoutStorage __RPC_FAR * This,
  10551.             /* [in] */ StorageLayout __RPC_FAR *pStorageLayout,
  10552.             /* [in] */ DWORD nEntries,
  10553.             /* [in] */ DWORD glfInterleavedFlag);
  10554.         
  10555.         HRESULT ( __stdcall __RPC_FAR *BeginMonitor )( 
  10556.             ILayoutStorage __RPC_FAR * This);
  10557.         
  10558.         HRESULT ( __stdcall __RPC_FAR *EndMonitor )( 
  10559.             ILayoutStorage __RPC_FAR * This);
  10560.         
  10561.         HRESULT ( __stdcall __RPC_FAR *ReLayoutDocfile )( 
  10562.             ILayoutStorage __RPC_FAR * This,
  10563.             /* [in] */ OLECHAR __RPC_FAR *pwcsNewDfName);
  10564.         
  10565.         HRESULT ( __stdcall __RPC_FAR *ReLayoutDocfileOnILockBytes )( 
  10566.             ILayoutStorage __RPC_FAR * This,
  10567.             /* [in] */ ILockBytes __RPC_FAR *pILockBytes);
  10568.         
  10569.         END_INTERFACE
  10570.     } ILayoutStorageVtbl;
  10571.  
  10572.     interface ILayoutStorage
  10573.     {
  10574.         CONST_VTBL struct ILayoutStorageVtbl __RPC_FAR *lpVtbl;
  10575.     };
  10576.  
  10577.     
  10578.  
  10579. #ifdef COBJMACROS
  10580.  
  10581.  
  10582. #define ILayoutStorage_QueryInterface(This,riid,ppvObject)    \
  10583.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10584.  
  10585. #define ILayoutStorage_AddRef(This)    \
  10586.     (This)->lpVtbl -> AddRef(This)
  10587.  
  10588. #define ILayoutStorage_Release(This)    \
  10589.     (This)->lpVtbl -> Release(This)
  10590.  
  10591.  
  10592. #define ILayoutStorage_LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag)    \
  10593.     (This)->lpVtbl -> LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag)
  10594.  
  10595. #define ILayoutStorage_BeginMonitor(This)    \
  10596.     (This)->lpVtbl -> BeginMonitor(This)
  10597.  
  10598. #define ILayoutStorage_EndMonitor(This)    \
  10599.     (This)->lpVtbl -> EndMonitor(This)
  10600.  
  10601. #define ILayoutStorage_ReLayoutDocfile(This,pwcsNewDfName)    \
  10602.     (This)->lpVtbl -> ReLayoutDocfile(This,pwcsNewDfName)
  10603.  
  10604. #define ILayoutStorage_ReLayoutDocfileOnILockBytes(This,pILockBytes)    \
  10605.     (This)->lpVtbl -> ReLayoutDocfileOnILockBytes(This,pILockBytes)
  10606.  
  10607. #endif /* COBJMACROS */
  10608.  
  10609.  
  10610. #endif     /* C style interface */
  10611.  
  10612.  
  10613.  
  10614. HRESULT __stdcall ILayoutStorage_LayoutScript_Proxy( 
  10615.     ILayoutStorage __RPC_FAR * This,
  10616.     /* [in] */ StorageLayout __RPC_FAR *pStorageLayout,
  10617.     /* [in] */ DWORD nEntries,
  10618.     /* [in] */ DWORD glfInterleavedFlag);
  10619.  
  10620.  
  10621. void __RPC_STUB ILayoutStorage_LayoutScript_Stub(
  10622.     IRpcStubBuffer *This,
  10623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10624.     PRPC_MESSAGE _pRpcMessage,
  10625.     DWORD *_pdwStubPhase);
  10626.  
  10627.  
  10628. HRESULT __stdcall ILayoutStorage_BeginMonitor_Proxy( 
  10629.     ILayoutStorage __RPC_FAR * This);
  10630.  
  10631.  
  10632. void __RPC_STUB ILayoutStorage_BeginMonitor_Stub(
  10633.     IRpcStubBuffer *This,
  10634.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10635.     PRPC_MESSAGE _pRpcMessage,
  10636.     DWORD *_pdwStubPhase);
  10637.  
  10638.  
  10639. HRESULT __stdcall ILayoutStorage_EndMonitor_Proxy( 
  10640.     ILayoutStorage __RPC_FAR * This);
  10641.  
  10642.  
  10643. void __RPC_STUB ILayoutStorage_EndMonitor_Stub(
  10644.     IRpcStubBuffer *This,
  10645.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10646.     PRPC_MESSAGE _pRpcMessage,
  10647.     DWORD *_pdwStubPhase);
  10648.  
  10649.  
  10650. HRESULT __stdcall ILayoutStorage_ReLayoutDocfile_Proxy( 
  10651.     ILayoutStorage __RPC_FAR * This,
  10652.     /* [in] */ OLECHAR __RPC_FAR *pwcsNewDfName);
  10653.  
  10654.  
  10655. void __RPC_STUB ILayoutStorage_ReLayoutDocfile_Stub(
  10656.     IRpcStubBuffer *This,
  10657.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10658.     PRPC_MESSAGE _pRpcMessage,
  10659.     DWORD *_pdwStubPhase);
  10660.  
  10661.  
  10662. HRESULT __stdcall ILayoutStorage_ReLayoutDocfileOnILockBytes_Proxy( 
  10663.     ILayoutStorage __RPC_FAR * This,
  10664.     /* [in] */ ILockBytes __RPC_FAR *pILockBytes);
  10665.  
  10666.  
  10667. void __RPC_STUB ILayoutStorage_ReLayoutDocfileOnILockBytes_Stub(
  10668.     IRpcStubBuffer *This,
  10669.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10670.     PRPC_MESSAGE _pRpcMessage,
  10671.     DWORD *_pdwStubPhase);
  10672.  
  10673.  
  10674.  
  10675. #endif     /* __ILayoutStorage_INTERFACE_DEFINED__ */
  10676.  
  10677.  
  10678. #ifndef __IBlockingLock_INTERFACE_DEFINED__
  10679. #define __IBlockingLock_INTERFACE_DEFINED__
  10680.  
  10681. /* interface IBlockingLock */
  10682. /* [uuid][object] */ 
  10683.  
  10684.  
  10685. EXTERN_C const IID IID_IBlockingLock;
  10686.  
  10687. #if defined(__cplusplus) && !defined(CINTERFACE)
  10688.     
  10689.     MIDL_INTERFACE("30f3d47a-6447-11d1-8e3c-00c04fb9386d")
  10690.     IBlockingLock : public IUnknown
  10691.     {
  10692.     public:
  10693.         virtual HRESULT STDMETHODCALLTYPE Lock( 
  10694.             /* [in] */ DWORD dwTimeout) = 0;
  10695.         
  10696.         virtual HRESULT STDMETHODCALLTYPE Unlock( void) = 0;
  10697.         
  10698.     };
  10699.     
  10700. #else     /* C style interface */
  10701.  
  10702.     typedef struct IBlockingLockVtbl
  10703.     {
  10704.         BEGIN_INTERFACE
  10705.         
  10706.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10707.             IBlockingLock __RPC_FAR * This,
  10708.             /* [in] */ REFIID riid,
  10709.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10710.         
  10711.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10712.             IBlockingLock __RPC_FAR * This);
  10713.         
  10714.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10715.             IBlockingLock __RPC_FAR * This);
  10716.         
  10717.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Lock )( 
  10718.             IBlockingLock __RPC_FAR * This,
  10719.             /* [in] */ DWORD dwTimeout);
  10720.         
  10721.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Unlock )( 
  10722.             IBlockingLock __RPC_FAR * This);
  10723.         
  10724.         END_INTERFACE
  10725.     } IBlockingLockVtbl;
  10726.  
  10727.     interface IBlockingLock
  10728.     {
  10729.         CONST_VTBL struct IBlockingLockVtbl __RPC_FAR *lpVtbl;
  10730.     };
  10731.  
  10732.     
  10733.  
  10734. #ifdef COBJMACROS
  10735.  
  10736.  
  10737. #define IBlockingLock_QueryInterface(This,riid,ppvObject)    \
  10738.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10739.  
  10740. #define IBlockingLock_AddRef(This)    \
  10741.     (This)->lpVtbl -> AddRef(This)
  10742.  
  10743. #define IBlockingLock_Release(This)    \
  10744.     (This)->lpVtbl -> Release(This)
  10745.  
  10746.  
  10747. #define IBlockingLock_Lock(This,dwTimeout)    \
  10748.     (This)->lpVtbl -> Lock(This,dwTimeout)
  10749.  
  10750. #define IBlockingLock_Unlock(This)    \
  10751.     (This)->lpVtbl -> Unlock(This)
  10752.  
  10753. #endif /* COBJMACROS */
  10754.  
  10755.  
  10756. #endif     /* C style interface */
  10757.  
  10758.  
  10759.  
  10760. HRESULT STDMETHODCALLTYPE IBlockingLock_Lock_Proxy( 
  10761.     IBlockingLock __RPC_FAR * This,
  10762.     /* [in] */ DWORD dwTimeout);
  10763.  
  10764.  
  10765. void __RPC_STUB IBlockingLock_Lock_Stub(
  10766.     IRpcStubBuffer *This,
  10767.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10768.     PRPC_MESSAGE _pRpcMessage,
  10769.     DWORD *_pdwStubPhase);
  10770.  
  10771.  
  10772. HRESULT STDMETHODCALLTYPE IBlockingLock_Unlock_Proxy( 
  10773.     IBlockingLock __RPC_FAR * This);
  10774.  
  10775.  
  10776. void __RPC_STUB IBlockingLock_Unlock_Stub(
  10777.     IRpcStubBuffer *This,
  10778.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10779.     PRPC_MESSAGE _pRpcMessage,
  10780.     DWORD *_pdwStubPhase);
  10781.  
  10782.  
  10783.  
  10784. #endif     /* __IBlockingLock_INTERFACE_DEFINED__ */
  10785.  
  10786.  
  10787. #ifndef __ITimeAndNoticeControl_INTERFACE_DEFINED__
  10788. #define __ITimeAndNoticeControl_INTERFACE_DEFINED__
  10789.  
  10790. /* interface ITimeAndNoticeControl */
  10791. /* [uuid][object] */ 
  10792.  
  10793.  
  10794. EXTERN_C const IID IID_ITimeAndNoticeControl;
  10795.  
  10796. #if defined(__cplusplus) && !defined(CINTERFACE)
  10797.     
  10798.     MIDL_INTERFACE("bc0bf6ae-8878-11d1-83e9-00c04fc2c6d4")
  10799.     ITimeAndNoticeControl : public IUnknown
  10800.     {
  10801.     public:
  10802.         virtual HRESULT STDMETHODCALLTYPE SuppressChanges( 
  10803.             /* [in] */ DWORD res1,
  10804.             /* [in] */ DWORD res2) = 0;
  10805.         
  10806.     };
  10807.     
  10808. #else     /* C style interface */
  10809.  
  10810.     typedef struct ITimeAndNoticeControlVtbl
  10811.     {
  10812.         BEGIN_INTERFACE
  10813.         
  10814.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10815.             ITimeAndNoticeControl __RPC_FAR * This,
  10816.             /* [in] */ REFIID riid,
  10817.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10818.         
  10819.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10820.             ITimeAndNoticeControl __RPC_FAR * This);
  10821.         
  10822.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10823.             ITimeAndNoticeControl __RPC_FAR * This);
  10824.         
  10825.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SuppressChanges )( 
  10826.             ITimeAndNoticeControl __RPC_FAR * This,
  10827.             /* [in] */ DWORD res1,
  10828.             /* [in] */ DWORD res2);
  10829.         
  10830.         END_INTERFACE
  10831.     } ITimeAndNoticeControlVtbl;
  10832.  
  10833.     interface ITimeAndNoticeControl
  10834.     {
  10835.         CONST_VTBL struct ITimeAndNoticeControlVtbl __RPC_FAR *lpVtbl;
  10836.     };
  10837.  
  10838.     
  10839.  
  10840. #ifdef COBJMACROS
  10841.  
  10842.  
  10843. #define ITimeAndNoticeControl_QueryInterface(This,riid,ppvObject)    \
  10844.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10845.  
  10846. #define ITimeAndNoticeControl_AddRef(This)    \
  10847.     (This)->lpVtbl -> AddRef(This)
  10848.  
  10849. #define ITimeAndNoticeControl_Release(This)    \
  10850.     (This)->lpVtbl -> Release(This)
  10851.  
  10852.  
  10853. #define ITimeAndNoticeControl_SuppressChanges(This,res1,res2)    \
  10854.     (This)->lpVtbl -> SuppressChanges(This,res1,res2)
  10855.  
  10856. #endif /* COBJMACROS */
  10857.  
  10858.  
  10859. #endif     /* C style interface */
  10860.  
  10861.  
  10862.  
  10863. HRESULT STDMETHODCALLTYPE ITimeAndNoticeControl_SuppressChanges_Proxy( 
  10864.     ITimeAndNoticeControl __RPC_FAR * This,
  10865.     /* [in] */ DWORD res1,
  10866.     /* [in] */ DWORD res2);
  10867.  
  10868.  
  10869. void __RPC_STUB ITimeAndNoticeControl_SuppressChanges_Stub(
  10870.     IRpcStubBuffer *This,
  10871.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10872.     PRPC_MESSAGE _pRpcMessage,
  10873.     DWORD *_pdwStubPhase);
  10874.  
  10875.  
  10876.  
  10877. #endif     /* __ITimeAndNoticeControl_INTERFACE_DEFINED__ */
  10878.  
  10879.  
  10880. #ifndef __IOplockStorage_INTERFACE_DEFINED__
  10881. #define __IOplockStorage_INTERFACE_DEFINED__
  10882.  
  10883. /* interface IOplockStorage */
  10884. /* [uuid][object] */ 
  10885.  
  10886.  
  10887. EXTERN_C const IID IID_IOplockStorage;
  10888.  
  10889. #if defined(__cplusplus) && !defined(CINTERFACE)
  10890.     
  10891.     MIDL_INTERFACE("8d19c834-8879-11d1-83e9-00c04fc2c6d4")
  10892.     IOplockStorage : public IUnknown
  10893.     {
  10894.     public:
  10895.         virtual HRESULT STDMETHODCALLTYPE CreateStorageEx( 
  10896.             /* [in] */ LPCWSTR pwcsName,
  10897.             /* [in] */ DWORD grfMode,
  10898.             /* [in] */ DWORD stgfmt,
  10899.             /* [in] */ DWORD grfAttrs,
  10900.             /* [in] */ REFIID riid,
  10901.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppstgOpen) = 0;
  10902.         
  10903.         virtual HRESULT STDMETHODCALLTYPE OpenStorageEx( 
  10904.             /* [in] */ LPCWSTR pwcsName,
  10905.             /* [in] */ DWORD grfMode,
  10906.             /* [in] */ DWORD stgfmt,
  10907.             /* [in] */ DWORD grfAttrs,
  10908.             /* [in] */ REFIID riid,
  10909.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppstgOpen) = 0;
  10910.         
  10911.     };
  10912.     
  10913. #else     /* C style interface */
  10914.  
  10915.     typedef struct IOplockStorageVtbl
  10916.     {
  10917.         BEGIN_INTERFACE
  10918.         
  10919.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  10920.             IOplockStorage __RPC_FAR * This,
  10921.             /* [in] */ REFIID riid,
  10922.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  10923.         
  10924.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  10925.             IOplockStorage __RPC_FAR * This);
  10926.         
  10927.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  10928.             IOplockStorage __RPC_FAR * This);
  10929.         
  10930.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateStorageEx )( 
  10931.             IOplockStorage __RPC_FAR * This,
  10932.             /* [in] */ LPCWSTR pwcsName,
  10933.             /* [in] */ DWORD grfMode,
  10934.             /* [in] */ DWORD stgfmt,
  10935.             /* [in] */ DWORD grfAttrs,
  10936.             /* [in] */ REFIID riid,
  10937.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppstgOpen);
  10938.         
  10939.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenStorageEx )( 
  10940.             IOplockStorage __RPC_FAR * This,
  10941.             /* [in] */ LPCWSTR pwcsName,
  10942.             /* [in] */ DWORD grfMode,
  10943.             /* [in] */ DWORD stgfmt,
  10944.             /* [in] */ DWORD grfAttrs,
  10945.             /* [in] */ REFIID riid,
  10946.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppstgOpen);
  10947.         
  10948.         END_INTERFACE
  10949.     } IOplockStorageVtbl;
  10950.  
  10951.     interface IOplockStorage
  10952.     {
  10953.         CONST_VTBL struct IOplockStorageVtbl __RPC_FAR *lpVtbl;
  10954.     };
  10955.  
  10956.     
  10957.  
  10958. #ifdef COBJMACROS
  10959.  
  10960.  
  10961. #define IOplockStorage_QueryInterface(This,riid,ppvObject)    \
  10962.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  10963.  
  10964. #define IOplockStorage_AddRef(This)    \
  10965.     (This)->lpVtbl -> AddRef(This)
  10966.  
  10967. #define IOplockStorage_Release(This)    \
  10968.     (This)->lpVtbl -> Release(This)
  10969.  
  10970.  
  10971. #define IOplockStorage_CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)    \
  10972.     (This)->lpVtbl -> CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)
  10973.  
  10974. #define IOplockStorage_OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)    \
  10975.     (This)->lpVtbl -> OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)
  10976.  
  10977. #endif /* COBJMACROS */
  10978.  
  10979.  
  10980. #endif     /* C style interface */
  10981.  
  10982.  
  10983.  
  10984. HRESULT STDMETHODCALLTYPE IOplockStorage_CreateStorageEx_Proxy( 
  10985.     IOplockStorage __RPC_FAR * This,
  10986.     /* [in] */ LPCWSTR pwcsName,
  10987.     /* [in] */ DWORD grfMode,
  10988.     /* [in] */ DWORD stgfmt,
  10989.     /* [in] */ DWORD grfAttrs,
  10990.     /* [in] */ REFIID riid,
  10991.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppstgOpen);
  10992.  
  10993.  
  10994. void __RPC_STUB IOplockStorage_CreateStorageEx_Stub(
  10995.     IRpcStubBuffer *This,
  10996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  10997.     PRPC_MESSAGE _pRpcMessage,
  10998.     DWORD *_pdwStubPhase);
  10999.  
  11000.  
  11001. HRESULT STDMETHODCALLTYPE IOplockStorage_OpenStorageEx_Proxy( 
  11002.     IOplockStorage __RPC_FAR * This,
  11003.     /* [in] */ LPCWSTR pwcsName,
  11004.     /* [in] */ DWORD grfMode,
  11005.     /* [in] */ DWORD stgfmt,
  11006.     /* [in] */ DWORD grfAttrs,
  11007.     /* [in] */ REFIID riid,
  11008.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppstgOpen);
  11009.  
  11010.  
  11011. void __RPC_STUB IOplockStorage_OpenStorageEx_Stub(
  11012.     IRpcStubBuffer *This,
  11013.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11014.     PRPC_MESSAGE _pRpcMessage,
  11015.     DWORD *_pdwStubPhase);
  11016.  
  11017.  
  11018.  
  11019. #endif     /* __IOplockStorage_INTERFACE_DEFINED__ */
  11020.  
  11021.  
  11022. #ifndef __ISurrogate_INTERFACE_DEFINED__
  11023. #define __ISurrogate_INTERFACE_DEFINED__
  11024.  
  11025. /* interface ISurrogate */
  11026. /* [object][unique][version][uuid] */ 
  11027.  
  11028. typedef /* [unique] */ ISurrogate __RPC_FAR *LPSURROGATE;
  11029.  
  11030.  
  11031. EXTERN_C const IID IID_ISurrogate;
  11032.  
  11033. #if defined(__cplusplus) && !defined(CINTERFACE)
  11034.     
  11035.     MIDL_INTERFACE("00000022-0000-0000-C000-000000000046")
  11036.     ISurrogate : public IUnknown
  11037.     {
  11038.     public:
  11039.         virtual HRESULT STDMETHODCALLTYPE LoadDllServer( 
  11040.             /* [in] */ REFCLSID Clsid) = 0;
  11041.         
  11042.         virtual HRESULT STDMETHODCALLTYPE FreeSurrogate( void) = 0;
  11043.         
  11044.     };
  11045.     
  11046. #else     /* C style interface */
  11047.  
  11048.     typedef struct ISurrogateVtbl
  11049.     {
  11050.         BEGIN_INTERFACE
  11051.         
  11052.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11053.             ISurrogate __RPC_FAR * This,
  11054.             /* [in] */ REFIID riid,
  11055.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11056.         
  11057.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11058.             ISurrogate __RPC_FAR * This);
  11059.         
  11060.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11061.             ISurrogate __RPC_FAR * This);
  11062.         
  11063.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *LoadDllServer )( 
  11064.             ISurrogate __RPC_FAR * This,
  11065.             /* [in] */ REFCLSID Clsid);
  11066.         
  11067.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FreeSurrogate )( 
  11068.             ISurrogate __RPC_FAR * This);
  11069.         
  11070.         END_INTERFACE
  11071.     } ISurrogateVtbl;
  11072.  
  11073.     interface ISurrogate
  11074.     {
  11075.         CONST_VTBL struct ISurrogateVtbl __RPC_FAR *lpVtbl;
  11076.     };
  11077.  
  11078.     
  11079.  
  11080. #ifdef COBJMACROS
  11081.  
  11082.  
  11083. #define ISurrogate_QueryInterface(This,riid,ppvObject)    \
  11084.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11085.  
  11086. #define ISurrogate_AddRef(This)    \
  11087.     (This)->lpVtbl -> AddRef(This)
  11088.  
  11089. #define ISurrogate_Release(This)    \
  11090.     (This)->lpVtbl -> Release(This)
  11091.  
  11092.  
  11093. #define ISurrogate_LoadDllServer(This,Clsid)    \
  11094.     (This)->lpVtbl -> LoadDllServer(This,Clsid)
  11095.  
  11096. #define ISurrogate_FreeSurrogate(This)    \
  11097.     (This)->lpVtbl -> FreeSurrogate(This)
  11098.  
  11099. #endif /* COBJMACROS */
  11100.  
  11101.  
  11102. #endif     /* C style interface */
  11103.  
  11104.  
  11105.  
  11106. HRESULT STDMETHODCALLTYPE ISurrogate_LoadDllServer_Proxy( 
  11107.     ISurrogate __RPC_FAR * This,
  11108.     /* [in] */ REFCLSID Clsid);
  11109.  
  11110.  
  11111. void __RPC_STUB ISurrogate_LoadDllServer_Stub(
  11112.     IRpcStubBuffer *This,
  11113.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11114.     PRPC_MESSAGE _pRpcMessage,
  11115.     DWORD *_pdwStubPhase);
  11116.  
  11117.  
  11118. HRESULT STDMETHODCALLTYPE ISurrogate_FreeSurrogate_Proxy( 
  11119.     ISurrogate __RPC_FAR * This);
  11120.  
  11121.  
  11122. void __RPC_STUB ISurrogate_FreeSurrogate_Stub(
  11123.     IRpcStubBuffer *This,
  11124.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11125.     PRPC_MESSAGE _pRpcMessage,
  11126.     DWORD *_pdwStubPhase);
  11127.  
  11128.  
  11129.  
  11130. #endif     /* __ISurrogate_INTERFACE_DEFINED__ */
  11131.  
  11132.  
  11133. #ifndef __IGlobalInterfaceTable_INTERFACE_DEFINED__
  11134. #define __IGlobalInterfaceTable_INTERFACE_DEFINED__
  11135.  
  11136. /* interface IGlobalInterfaceTable */
  11137. /* [uuid][object][local] */ 
  11138.  
  11139. typedef /* [unique] */ IGlobalInterfaceTable __RPC_FAR *LPGLOBALINTERFACETABLE;
  11140.  
  11141.  
  11142. EXTERN_C const IID IID_IGlobalInterfaceTable;
  11143.  
  11144. #if defined(__cplusplus) && !defined(CINTERFACE)
  11145.     
  11146.     MIDL_INTERFACE("00000146-0000-0000-C000-000000000046")
  11147.     IGlobalInterfaceTable : public IUnknown
  11148.     {
  11149.     public:
  11150.         virtual HRESULT STDMETHODCALLTYPE RegisterInterfaceInGlobal( 
  11151.             /* [in] */ IUnknown __RPC_FAR *pUnk,
  11152.             /* [in] */ REFIID riid,
  11153.             /* [out] */ DWORD __RPC_FAR *pdwCookie) = 0;
  11154.         
  11155.         virtual HRESULT STDMETHODCALLTYPE RevokeInterfaceFromGlobal( 
  11156.             /* [in] */ DWORD dwCookie) = 0;
  11157.         
  11158.         virtual HRESULT STDMETHODCALLTYPE GetInterfaceFromGlobal( 
  11159.             /* [in] */ DWORD dwCookie,
  11160.             /* [in] */ REFIID riid,
  11161.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppv) = 0;
  11162.         
  11163.     };
  11164.     
  11165. #else     /* C style interface */
  11166.  
  11167.     typedef struct IGlobalInterfaceTableVtbl
  11168.     {
  11169.         BEGIN_INTERFACE
  11170.         
  11171.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11172.             IGlobalInterfaceTable __RPC_FAR * This,
  11173.             /* [in] */ REFIID riid,
  11174.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11175.         
  11176.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11177.             IGlobalInterfaceTable __RPC_FAR * This);
  11178.         
  11179.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11180.             IGlobalInterfaceTable __RPC_FAR * This);
  11181.         
  11182.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RegisterInterfaceInGlobal )( 
  11183.             IGlobalInterfaceTable __RPC_FAR * This,
  11184.             /* [in] */ IUnknown __RPC_FAR *pUnk,
  11185.             /* [in] */ REFIID riid,
  11186.             /* [out] */ DWORD __RPC_FAR *pdwCookie);
  11187.         
  11188.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RevokeInterfaceFromGlobal )( 
  11189.             IGlobalInterfaceTable __RPC_FAR * This,
  11190.             /* [in] */ DWORD dwCookie);
  11191.         
  11192.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetInterfaceFromGlobal )( 
  11193.             IGlobalInterfaceTable __RPC_FAR * This,
  11194.             /* [in] */ DWORD dwCookie,
  11195.             /* [in] */ REFIID riid,
  11196.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppv);
  11197.         
  11198.         END_INTERFACE
  11199.     } IGlobalInterfaceTableVtbl;
  11200.  
  11201.     interface IGlobalInterfaceTable
  11202.     {
  11203.         CONST_VTBL struct IGlobalInterfaceTableVtbl __RPC_FAR *lpVtbl;
  11204.     };
  11205.  
  11206.     
  11207.  
  11208. #ifdef COBJMACROS
  11209.  
  11210.  
  11211. #define IGlobalInterfaceTable_QueryInterface(This,riid,ppvObject)    \
  11212.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11213.  
  11214. #define IGlobalInterfaceTable_AddRef(This)    \
  11215.     (This)->lpVtbl -> AddRef(This)
  11216.  
  11217. #define IGlobalInterfaceTable_Release(This)    \
  11218.     (This)->lpVtbl -> Release(This)
  11219.  
  11220.  
  11221. #define IGlobalInterfaceTable_RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie)    \
  11222.     (This)->lpVtbl -> RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie)
  11223.  
  11224. #define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(This,dwCookie)    \
  11225.     (This)->lpVtbl -> RevokeInterfaceFromGlobal(This,dwCookie)
  11226.  
  11227. #define IGlobalInterfaceTable_GetInterfaceFromGlobal(This,dwCookie,riid,ppv)    \
  11228.     (This)->lpVtbl -> GetInterfaceFromGlobal(This,dwCookie,riid,ppv)
  11229.  
  11230. #endif /* COBJMACROS */
  11231.  
  11232.  
  11233. #endif     /* C style interface */
  11234.  
  11235.  
  11236.  
  11237. HRESULT STDMETHODCALLTYPE IGlobalInterfaceTable_RegisterInterfaceInGlobal_Proxy( 
  11238.     IGlobalInterfaceTable __RPC_FAR * This,
  11239.     /* [in] */ IUnknown __RPC_FAR *pUnk,
  11240.     /* [in] */ REFIID riid,
  11241.     /* [out] */ DWORD __RPC_FAR *pdwCookie);
  11242.  
  11243.  
  11244. void __RPC_STUB IGlobalInterfaceTable_RegisterInterfaceInGlobal_Stub(
  11245.     IRpcStubBuffer *This,
  11246.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11247.     PRPC_MESSAGE _pRpcMessage,
  11248.     DWORD *_pdwStubPhase);
  11249.  
  11250.  
  11251. HRESULT STDMETHODCALLTYPE IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Proxy( 
  11252.     IGlobalInterfaceTable __RPC_FAR * This,
  11253.     /* [in] */ DWORD dwCookie);
  11254.  
  11255.  
  11256. void __RPC_STUB IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Stub(
  11257.     IRpcStubBuffer *This,
  11258.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11259.     PRPC_MESSAGE _pRpcMessage,
  11260.     DWORD *_pdwStubPhase);
  11261.  
  11262.  
  11263. HRESULT STDMETHODCALLTYPE IGlobalInterfaceTable_GetInterfaceFromGlobal_Proxy( 
  11264.     IGlobalInterfaceTable __RPC_FAR * This,
  11265.     /* [in] */ DWORD dwCookie,
  11266.     /* [in] */ REFIID riid,
  11267.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppv);
  11268.  
  11269.  
  11270. void __RPC_STUB IGlobalInterfaceTable_GetInterfaceFromGlobal_Stub(
  11271.     IRpcStubBuffer *This,
  11272.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11273.     PRPC_MESSAGE _pRpcMessage,
  11274.     DWORD *_pdwStubPhase);
  11275.  
  11276.  
  11277.  
  11278. #endif     /* __IGlobalInterfaceTable_INTERFACE_DEFINED__ */
  11279.  
  11280.  
  11281. #ifndef __IDirectWriterLock_INTERFACE_DEFINED__
  11282. #define __IDirectWriterLock_INTERFACE_DEFINED__
  11283.  
  11284. /* interface IDirectWriterLock */
  11285. /* [unique][uuid][object] */ 
  11286.  
  11287.  
  11288. EXTERN_C const IID IID_IDirectWriterLock;
  11289.  
  11290. #if defined(__cplusplus) && !defined(CINTERFACE)
  11291.     
  11292.     MIDL_INTERFACE("0e6d4d92-6738-11cf-9608-00aa00680db4")
  11293.     IDirectWriterLock : public IUnknown
  11294.     {
  11295.     public:
  11296.         virtual HRESULT STDMETHODCALLTYPE WaitForWriteAccess( 
  11297.             /* [in] */ DWORD dwTimeout) = 0;
  11298.         
  11299.         virtual HRESULT STDMETHODCALLTYPE ReleaseWriteAccess( void) = 0;
  11300.         
  11301.         virtual HRESULT STDMETHODCALLTYPE HaveWriteAccess( void) = 0;
  11302.         
  11303.     };
  11304.     
  11305. #else     /* C style interface */
  11306.  
  11307.     typedef struct IDirectWriterLockVtbl
  11308.     {
  11309.         BEGIN_INTERFACE
  11310.         
  11311.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11312.             IDirectWriterLock __RPC_FAR * This,
  11313.             /* [in] */ REFIID riid,
  11314.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11315.         
  11316.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11317.             IDirectWriterLock __RPC_FAR * This);
  11318.         
  11319.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11320.             IDirectWriterLock __RPC_FAR * This);
  11321.         
  11322.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WaitForWriteAccess )( 
  11323.             IDirectWriterLock __RPC_FAR * This,
  11324.             /* [in] */ DWORD dwTimeout);
  11325.         
  11326.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseWriteAccess )( 
  11327.             IDirectWriterLock __RPC_FAR * This);
  11328.         
  11329.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *HaveWriteAccess )( 
  11330.             IDirectWriterLock __RPC_FAR * This);
  11331.         
  11332.         END_INTERFACE
  11333.     } IDirectWriterLockVtbl;
  11334.  
  11335.     interface IDirectWriterLock
  11336.     {
  11337.         CONST_VTBL struct IDirectWriterLockVtbl __RPC_FAR *lpVtbl;
  11338.     };
  11339.  
  11340.     
  11341.  
  11342. #ifdef COBJMACROS
  11343.  
  11344.  
  11345. #define IDirectWriterLock_QueryInterface(This,riid,ppvObject)    \
  11346.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11347.  
  11348. #define IDirectWriterLock_AddRef(This)    \
  11349.     (This)->lpVtbl -> AddRef(This)
  11350.  
  11351. #define IDirectWriterLock_Release(This)    \
  11352.     (This)->lpVtbl -> Release(This)
  11353.  
  11354.  
  11355. #define IDirectWriterLock_WaitForWriteAccess(This,dwTimeout)    \
  11356.     (This)->lpVtbl -> WaitForWriteAccess(This,dwTimeout)
  11357.  
  11358. #define IDirectWriterLock_ReleaseWriteAccess(This)    \
  11359.     (This)->lpVtbl -> ReleaseWriteAccess(This)
  11360.  
  11361. #define IDirectWriterLock_HaveWriteAccess(This)    \
  11362.     (This)->lpVtbl -> HaveWriteAccess(This)
  11363.  
  11364. #endif /* COBJMACROS */
  11365.  
  11366.  
  11367. #endif     /* C style interface */
  11368.  
  11369.  
  11370.  
  11371. HRESULT STDMETHODCALLTYPE IDirectWriterLock_WaitForWriteAccess_Proxy( 
  11372.     IDirectWriterLock __RPC_FAR * This,
  11373.     /* [in] */ DWORD dwTimeout);
  11374.  
  11375.  
  11376. void __RPC_STUB IDirectWriterLock_WaitForWriteAccess_Stub(
  11377.     IRpcStubBuffer *This,
  11378.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11379.     PRPC_MESSAGE _pRpcMessage,
  11380.     DWORD *_pdwStubPhase);
  11381.  
  11382.  
  11383. HRESULT STDMETHODCALLTYPE IDirectWriterLock_ReleaseWriteAccess_Proxy( 
  11384.     IDirectWriterLock __RPC_FAR * This);
  11385.  
  11386.  
  11387. void __RPC_STUB IDirectWriterLock_ReleaseWriteAccess_Stub(
  11388.     IRpcStubBuffer *This,
  11389.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11390.     PRPC_MESSAGE _pRpcMessage,
  11391.     DWORD *_pdwStubPhase);
  11392.  
  11393.  
  11394. HRESULT STDMETHODCALLTYPE IDirectWriterLock_HaveWriteAccess_Proxy( 
  11395.     IDirectWriterLock __RPC_FAR * This);
  11396.  
  11397.  
  11398. void __RPC_STUB IDirectWriterLock_HaveWriteAccess_Stub(
  11399.     IRpcStubBuffer *This,
  11400.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11401.     PRPC_MESSAGE _pRpcMessage,
  11402.     DWORD *_pdwStubPhase);
  11403.  
  11404.  
  11405.  
  11406. #endif     /* __IDirectWriterLock_INTERFACE_DEFINED__ */
  11407.  
  11408.  
  11409. #ifndef __ISynchronize_INTERFACE_DEFINED__
  11410. #define __ISynchronize_INTERFACE_DEFINED__
  11411.  
  11412. /* interface ISynchronize */
  11413. /* [uuid][object] */ 
  11414.  
  11415.  
  11416. EXTERN_C const IID IID_ISynchronize;
  11417.  
  11418. #if defined(__cplusplus) && !defined(CINTERFACE)
  11419.     
  11420.     MIDL_INTERFACE("00000030-0000-0000-C000-000000000046")
  11421.     ISynchronize : public IUnknown
  11422.     {
  11423.     public:
  11424.         virtual HRESULT STDMETHODCALLTYPE Wait( 
  11425.             /* [in] */ DWORD dwFlags,
  11426.             /* [in] */ DWORD dwMilliseconds) = 0;
  11427.         
  11428.         virtual HRESULT STDMETHODCALLTYPE Signal( void) = 0;
  11429.         
  11430.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  11431.         
  11432.     };
  11433.     
  11434. #else     /* C style interface */
  11435.  
  11436.     typedef struct ISynchronizeVtbl
  11437.     {
  11438.         BEGIN_INTERFACE
  11439.         
  11440.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11441.             ISynchronize __RPC_FAR * This,
  11442.             /* [in] */ REFIID riid,
  11443.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11444.         
  11445.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11446.             ISynchronize __RPC_FAR * This);
  11447.         
  11448.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11449.             ISynchronize __RPC_FAR * This);
  11450.         
  11451.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Wait )( 
  11452.             ISynchronize __RPC_FAR * This,
  11453.             /* [in] */ DWORD dwFlags,
  11454.             /* [in] */ DWORD dwMilliseconds);
  11455.         
  11456.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Signal )( 
  11457.             ISynchronize __RPC_FAR * This);
  11458.         
  11459.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  11460.             ISynchronize __RPC_FAR * This);
  11461.         
  11462.         END_INTERFACE
  11463.     } ISynchronizeVtbl;
  11464.  
  11465.     interface ISynchronize
  11466.     {
  11467.         CONST_VTBL struct ISynchronizeVtbl __RPC_FAR *lpVtbl;
  11468.     };
  11469.  
  11470.     
  11471.  
  11472. #ifdef COBJMACROS
  11473.  
  11474.  
  11475. #define ISynchronize_QueryInterface(This,riid,ppvObject)    \
  11476.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11477.  
  11478. #define ISynchronize_AddRef(This)    \
  11479.     (This)->lpVtbl -> AddRef(This)
  11480.  
  11481. #define ISynchronize_Release(This)    \
  11482.     (This)->lpVtbl -> Release(This)
  11483.  
  11484.  
  11485. #define ISynchronize_Wait(This,dwFlags,dwMilliseconds)    \
  11486.     (This)->lpVtbl -> Wait(This,dwFlags,dwMilliseconds)
  11487.  
  11488. #define ISynchronize_Signal(This)    \
  11489.     (This)->lpVtbl -> Signal(This)
  11490.  
  11491. #define ISynchronize_Reset(This)    \
  11492.     (This)->lpVtbl -> Reset(This)
  11493.  
  11494. #endif /* COBJMACROS */
  11495.  
  11496.  
  11497. #endif     /* C style interface */
  11498.  
  11499.  
  11500.  
  11501. HRESULT STDMETHODCALLTYPE ISynchronize_Wait_Proxy( 
  11502.     ISynchronize __RPC_FAR * This,
  11503.     /* [in] */ DWORD dwFlags,
  11504.     /* [in] */ DWORD dwMilliseconds);
  11505.  
  11506.  
  11507. void __RPC_STUB ISynchronize_Wait_Stub(
  11508.     IRpcStubBuffer *This,
  11509.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11510.     PRPC_MESSAGE _pRpcMessage,
  11511.     DWORD *_pdwStubPhase);
  11512.  
  11513.  
  11514. HRESULT STDMETHODCALLTYPE ISynchronize_Signal_Proxy( 
  11515.     ISynchronize __RPC_FAR * This);
  11516.  
  11517.  
  11518. void __RPC_STUB ISynchronize_Signal_Stub(
  11519.     IRpcStubBuffer *This,
  11520.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11521.     PRPC_MESSAGE _pRpcMessage,
  11522.     DWORD *_pdwStubPhase);
  11523.  
  11524.  
  11525. HRESULT STDMETHODCALLTYPE ISynchronize_Reset_Proxy( 
  11526.     ISynchronize __RPC_FAR * This);
  11527.  
  11528.  
  11529. void __RPC_STUB ISynchronize_Reset_Stub(
  11530.     IRpcStubBuffer *This,
  11531.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11532.     PRPC_MESSAGE _pRpcMessage,
  11533.     DWORD *_pdwStubPhase);
  11534.  
  11535.  
  11536.  
  11537. #endif     /* __ISynchronize_INTERFACE_DEFINED__ */
  11538.  
  11539.  
  11540. #ifndef __ISynchronizeHandle_INTERFACE_DEFINED__
  11541. #define __ISynchronizeHandle_INTERFACE_DEFINED__
  11542.  
  11543. /* interface ISynchronizeHandle */
  11544. /* [uuid][object][local] */ 
  11545.  
  11546.  
  11547. EXTERN_C const IID IID_ISynchronizeHandle;
  11548.  
  11549. #if defined(__cplusplus) && !defined(CINTERFACE)
  11550.     
  11551.     MIDL_INTERFACE("00000031-0000-0000-C000-000000000046")
  11552.     ISynchronizeHandle : public IUnknown
  11553.     {
  11554.     public:
  11555.         virtual HRESULT STDMETHODCALLTYPE GetHandle( 
  11556.             /* [out] */ HANDLE __RPC_FAR *ph) = 0;
  11557.         
  11558.     };
  11559.     
  11560. #else     /* C style interface */
  11561.  
  11562.     typedef struct ISynchronizeHandleVtbl
  11563.     {
  11564.         BEGIN_INTERFACE
  11565.         
  11566.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11567.             ISynchronizeHandle __RPC_FAR * This,
  11568.             /* [in] */ REFIID riid,
  11569.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11570.         
  11571.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11572.             ISynchronizeHandle __RPC_FAR * This);
  11573.         
  11574.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11575.             ISynchronizeHandle __RPC_FAR * This);
  11576.         
  11577.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHandle )( 
  11578.             ISynchronizeHandle __RPC_FAR * This,
  11579.             /* [out] */ HANDLE __RPC_FAR *ph);
  11580.         
  11581.         END_INTERFACE
  11582.     } ISynchronizeHandleVtbl;
  11583.  
  11584.     interface ISynchronizeHandle
  11585.     {
  11586.         CONST_VTBL struct ISynchronizeHandleVtbl __RPC_FAR *lpVtbl;
  11587.     };
  11588.  
  11589.     
  11590.  
  11591. #ifdef COBJMACROS
  11592.  
  11593.  
  11594. #define ISynchronizeHandle_QueryInterface(This,riid,ppvObject)    \
  11595.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11596.  
  11597. #define ISynchronizeHandle_AddRef(This)    \
  11598.     (This)->lpVtbl -> AddRef(This)
  11599.  
  11600. #define ISynchronizeHandle_Release(This)    \
  11601.     (This)->lpVtbl -> Release(This)
  11602.  
  11603.  
  11604. #define ISynchronizeHandle_GetHandle(This,ph)    \
  11605.     (This)->lpVtbl -> GetHandle(This,ph)
  11606.  
  11607. #endif /* COBJMACROS */
  11608.  
  11609.  
  11610. #endif     /* C style interface */
  11611.  
  11612.  
  11613.  
  11614. HRESULT STDMETHODCALLTYPE ISynchronizeHandle_GetHandle_Proxy( 
  11615.     ISynchronizeHandle __RPC_FAR * This,
  11616.     /* [out] */ HANDLE __RPC_FAR *ph);
  11617.  
  11618.  
  11619. void __RPC_STUB ISynchronizeHandle_GetHandle_Stub(
  11620.     IRpcStubBuffer *This,
  11621.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11622.     PRPC_MESSAGE _pRpcMessage,
  11623.     DWORD *_pdwStubPhase);
  11624.  
  11625.  
  11626.  
  11627. #endif     /* __ISynchronizeHandle_INTERFACE_DEFINED__ */
  11628.  
  11629.  
  11630. #ifndef __ISynchronizeEvent_INTERFACE_DEFINED__
  11631. #define __ISynchronizeEvent_INTERFACE_DEFINED__
  11632.  
  11633. /* interface ISynchronizeEvent */
  11634. /* [uuid][object][local] */ 
  11635.  
  11636.  
  11637. EXTERN_C const IID IID_ISynchronizeEvent;
  11638.  
  11639. #if defined(__cplusplus) && !defined(CINTERFACE)
  11640.     
  11641.     MIDL_INTERFACE("00000032-0000-0000-C000-000000000046")
  11642.     ISynchronizeEvent : public ISynchronizeHandle
  11643.     {
  11644.     public:
  11645.         virtual HRESULT STDMETHODCALLTYPE SetEventHandle( 
  11646.             /* [in] */ HANDLE __RPC_FAR *ph) = 0;
  11647.         
  11648.     };
  11649.     
  11650. #else     /* C style interface */
  11651.  
  11652.     typedef struct ISynchronizeEventVtbl
  11653.     {
  11654.         BEGIN_INTERFACE
  11655.         
  11656.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11657.             ISynchronizeEvent __RPC_FAR * This,
  11658.             /* [in] */ REFIID riid,
  11659.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11660.         
  11661.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11662.             ISynchronizeEvent __RPC_FAR * This);
  11663.         
  11664.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11665.             ISynchronizeEvent __RPC_FAR * This);
  11666.         
  11667.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHandle )( 
  11668.             ISynchronizeEvent __RPC_FAR * This,
  11669.             /* [out] */ HANDLE __RPC_FAR *ph);
  11670.         
  11671.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetEventHandle )( 
  11672.             ISynchronizeEvent __RPC_FAR * This,
  11673.             /* [in] */ HANDLE __RPC_FAR *ph);
  11674.         
  11675.         END_INTERFACE
  11676.     } ISynchronizeEventVtbl;
  11677.  
  11678.     interface ISynchronizeEvent
  11679.     {
  11680.         CONST_VTBL struct ISynchronizeEventVtbl __RPC_FAR *lpVtbl;
  11681.     };
  11682.  
  11683.     
  11684.  
  11685. #ifdef COBJMACROS
  11686.  
  11687.  
  11688. #define ISynchronizeEvent_QueryInterface(This,riid,ppvObject)    \
  11689.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11690.  
  11691. #define ISynchronizeEvent_AddRef(This)    \
  11692.     (This)->lpVtbl -> AddRef(This)
  11693.  
  11694. #define ISynchronizeEvent_Release(This)    \
  11695.     (This)->lpVtbl -> Release(This)
  11696.  
  11697.  
  11698. #define ISynchronizeEvent_GetHandle(This,ph)    \
  11699.     (This)->lpVtbl -> GetHandle(This,ph)
  11700.  
  11701.  
  11702. #define ISynchronizeEvent_SetEventHandle(This,ph)    \
  11703.     (This)->lpVtbl -> SetEventHandle(This,ph)
  11704.  
  11705. #endif /* COBJMACROS */
  11706.  
  11707.  
  11708. #endif     /* C style interface */
  11709.  
  11710.  
  11711.  
  11712. HRESULT STDMETHODCALLTYPE ISynchronizeEvent_SetEventHandle_Proxy( 
  11713.     ISynchronizeEvent __RPC_FAR * This,
  11714.     /* [in] */ HANDLE __RPC_FAR *ph);
  11715.  
  11716.  
  11717. void __RPC_STUB ISynchronizeEvent_SetEventHandle_Stub(
  11718.     IRpcStubBuffer *This,
  11719.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11720.     PRPC_MESSAGE _pRpcMessage,
  11721.     DWORD *_pdwStubPhase);
  11722.  
  11723.  
  11724.  
  11725. #endif     /* __ISynchronizeEvent_INTERFACE_DEFINED__ */
  11726.  
  11727.  
  11728. #ifndef __ISynchronizeContainer_INTERFACE_DEFINED__
  11729. #define __ISynchronizeContainer_INTERFACE_DEFINED__
  11730.  
  11731. /* interface ISynchronizeContainer */
  11732. /* [uuid][object][local] */ 
  11733.  
  11734.  
  11735. EXTERN_C const IID IID_ISynchronizeContainer;
  11736.  
  11737. #if defined(__cplusplus) && !defined(CINTERFACE)
  11738.     
  11739.     MIDL_INTERFACE("00000033-0000-0000-C000-000000000046")
  11740.     ISynchronizeContainer : public IUnknown
  11741.     {
  11742.     public:
  11743.         virtual HRESULT STDMETHODCALLTYPE AddSynchronize( 
  11744.             /* [in] */ ISynchronize __RPC_FAR *pSync) = 0;
  11745.         
  11746.         virtual HRESULT STDMETHODCALLTYPE WaitMultiple( 
  11747.             /* [in] */ DWORD dwFlags,
  11748.             /* [in] */ DWORD dwTimeOut,
  11749.             /* [out] */ ISynchronize __RPC_FAR *__RPC_FAR *ppSync) = 0;
  11750.         
  11751.     };
  11752.     
  11753. #else     /* C style interface */
  11754.  
  11755.     typedef struct ISynchronizeContainerVtbl
  11756.     {
  11757.         BEGIN_INTERFACE
  11758.         
  11759.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11760.             ISynchronizeContainer __RPC_FAR * This,
  11761.             /* [in] */ REFIID riid,
  11762.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11763.         
  11764.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11765.             ISynchronizeContainer __RPC_FAR * This);
  11766.         
  11767.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11768.             ISynchronizeContainer __RPC_FAR * This);
  11769.         
  11770.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSynchronize )( 
  11771.             ISynchronizeContainer __RPC_FAR * This,
  11772.             /* [in] */ ISynchronize __RPC_FAR *pSync);
  11773.         
  11774.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WaitMultiple )( 
  11775.             ISynchronizeContainer __RPC_FAR * This,
  11776.             /* [in] */ DWORD dwFlags,
  11777.             /* [in] */ DWORD dwTimeOut,
  11778.             /* [out] */ ISynchronize __RPC_FAR *__RPC_FAR *ppSync);
  11779.         
  11780.         END_INTERFACE
  11781.     } ISynchronizeContainerVtbl;
  11782.  
  11783.     interface ISynchronizeContainer
  11784.     {
  11785.         CONST_VTBL struct ISynchronizeContainerVtbl __RPC_FAR *lpVtbl;
  11786.     };
  11787.  
  11788.     
  11789.  
  11790. #ifdef COBJMACROS
  11791.  
  11792.  
  11793. #define ISynchronizeContainer_QueryInterface(This,riid,ppvObject)    \
  11794.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11795.  
  11796. #define ISynchronizeContainer_AddRef(This)    \
  11797.     (This)->lpVtbl -> AddRef(This)
  11798.  
  11799. #define ISynchronizeContainer_Release(This)    \
  11800.     (This)->lpVtbl -> Release(This)
  11801.  
  11802.  
  11803. #define ISynchronizeContainer_AddSynchronize(This,pSync)    \
  11804.     (This)->lpVtbl -> AddSynchronize(This,pSync)
  11805.  
  11806. #define ISynchronizeContainer_WaitMultiple(This,dwFlags,dwTimeOut,ppSync)    \
  11807.     (This)->lpVtbl -> WaitMultiple(This,dwFlags,dwTimeOut,ppSync)
  11808.  
  11809. #endif /* COBJMACROS */
  11810.  
  11811.  
  11812. #endif     /* C style interface */
  11813.  
  11814.  
  11815.  
  11816. HRESULT STDMETHODCALLTYPE ISynchronizeContainer_AddSynchronize_Proxy( 
  11817.     ISynchronizeContainer __RPC_FAR * This,
  11818.     /* [in] */ ISynchronize __RPC_FAR *pSync);
  11819.  
  11820.  
  11821. void __RPC_STUB ISynchronizeContainer_AddSynchronize_Stub(
  11822.     IRpcStubBuffer *This,
  11823.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11824.     PRPC_MESSAGE _pRpcMessage,
  11825.     DWORD *_pdwStubPhase);
  11826.  
  11827.  
  11828. HRESULT STDMETHODCALLTYPE ISynchronizeContainer_WaitMultiple_Proxy( 
  11829.     ISynchronizeContainer __RPC_FAR * This,
  11830.     /* [in] */ DWORD dwFlags,
  11831.     /* [in] */ DWORD dwTimeOut,
  11832.     /* [out] */ ISynchronize __RPC_FAR *__RPC_FAR *ppSync);
  11833.  
  11834.  
  11835. void __RPC_STUB ISynchronizeContainer_WaitMultiple_Stub(
  11836.     IRpcStubBuffer *This,
  11837.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11838.     PRPC_MESSAGE _pRpcMessage,
  11839.     DWORD *_pdwStubPhase);
  11840.  
  11841.  
  11842.  
  11843. #endif     /* __ISynchronizeContainer_INTERFACE_DEFINED__ */
  11844.  
  11845.  
  11846. #ifndef __ISynchronizeMutex_INTERFACE_DEFINED__
  11847. #define __ISynchronizeMutex_INTERFACE_DEFINED__
  11848.  
  11849. /* interface ISynchronizeMutex */
  11850. /* [uuid][object][local] */ 
  11851.  
  11852.  
  11853. EXTERN_C const IID IID_ISynchronizeMutex;
  11854.  
  11855. #if defined(__cplusplus) && !defined(CINTERFACE)
  11856.     
  11857.     MIDL_INTERFACE("00000025-0000-0000-C000-000000000046")
  11858.     ISynchronizeMutex : public ISynchronize
  11859.     {
  11860.     public:
  11861.         virtual HRESULT STDMETHODCALLTYPE ReleaseMutex( void) = 0;
  11862.         
  11863.     };
  11864.     
  11865. #else     /* C style interface */
  11866.  
  11867.     typedef struct ISynchronizeMutexVtbl
  11868.     {
  11869.         BEGIN_INTERFACE
  11870.         
  11871.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11872.             ISynchronizeMutex __RPC_FAR * This,
  11873.             /* [in] */ REFIID riid,
  11874.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11875.         
  11876.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11877.             ISynchronizeMutex __RPC_FAR * This);
  11878.         
  11879.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11880.             ISynchronizeMutex __RPC_FAR * This);
  11881.         
  11882.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Wait )( 
  11883.             ISynchronizeMutex __RPC_FAR * This,
  11884.             /* [in] */ DWORD dwFlags,
  11885.             /* [in] */ DWORD dwMilliseconds);
  11886.         
  11887.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Signal )( 
  11888.             ISynchronizeMutex __RPC_FAR * This);
  11889.         
  11890.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( 
  11891.             ISynchronizeMutex __RPC_FAR * This);
  11892.         
  11893.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseMutex )( 
  11894.             ISynchronizeMutex __RPC_FAR * This);
  11895.         
  11896.         END_INTERFACE
  11897.     } ISynchronizeMutexVtbl;
  11898.  
  11899.     interface ISynchronizeMutex
  11900.     {
  11901.         CONST_VTBL struct ISynchronizeMutexVtbl __RPC_FAR *lpVtbl;
  11902.     };
  11903.  
  11904.     
  11905.  
  11906. #ifdef COBJMACROS
  11907.  
  11908.  
  11909. #define ISynchronizeMutex_QueryInterface(This,riid,ppvObject)    \
  11910.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  11911.  
  11912. #define ISynchronizeMutex_AddRef(This)    \
  11913.     (This)->lpVtbl -> AddRef(This)
  11914.  
  11915. #define ISynchronizeMutex_Release(This)    \
  11916.     (This)->lpVtbl -> Release(This)
  11917.  
  11918.  
  11919. #define ISynchronizeMutex_Wait(This,dwFlags,dwMilliseconds)    \
  11920.     (This)->lpVtbl -> Wait(This,dwFlags,dwMilliseconds)
  11921.  
  11922. #define ISynchronizeMutex_Signal(This)    \
  11923.     (This)->lpVtbl -> Signal(This)
  11924.  
  11925. #define ISynchronizeMutex_Reset(This)    \
  11926.     (This)->lpVtbl -> Reset(This)
  11927.  
  11928.  
  11929. #define ISynchronizeMutex_ReleaseMutex(This)    \
  11930.     (This)->lpVtbl -> ReleaseMutex(This)
  11931.  
  11932. #endif /* COBJMACROS */
  11933.  
  11934.  
  11935. #endif     /* C style interface */
  11936.  
  11937.  
  11938.  
  11939. HRESULT STDMETHODCALLTYPE ISynchronizeMutex_ReleaseMutex_Proxy( 
  11940.     ISynchronizeMutex __RPC_FAR * This);
  11941.  
  11942.  
  11943. void __RPC_STUB ISynchronizeMutex_ReleaseMutex_Stub(
  11944.     IRpcStubBuffer *This,
  11945.     IRpcChannelBuffer *_pRpcChannelBuffer,
  11946.     PRPC_MESSAGE _pRpcMessage,
  11947.     DWORD *_pdwStubPhase);
  11948.  
  11949.  
  11950.  
  11951. #endif     /* __ISynchronizeMutex_INTERFACE_DEFINED__ */
  11952.  
  11953.  
  11954. #ifndef __ICancelMethodCalls_INTERFACE_DEFINED__
  11955. #define __ICancelMethodCalls_INTERFACE_DEFINED__
  11956.  
  11957. /* interface ICancelMethodCalls */
  11958. /* [uuid][object][local] */ 
  11959.  
  11960. typedef /* [unique] */ ICancelMethodCalls __RPC_FAR *LPCANCELMETHODCALLS;
  11961.  
  11962.  
  11963. EXTERN_C const IID IID_ICancelMethodCalls;
  11964.  
  11965. #if defined(__cplusplus) && !defined(CINTERFACE)
  11966.     
  11967.     MIDL_INTERFACE("00000029-0000-0000-C000-000000000046")
  11968.     ICancelMethodCalls : public IUnknown
  11969.     {
  11970.     public:
  11971.         virtual HRESULT STDMETHODCALLTYPE Cancel( 
  11972.             /* [in] */ ULONG ulSeconds) = 0;
  11973.         
  11974.         virtual HRESULT STDMETHODCALLTYPE TestCancel( void) = 0;
  11975.         
  11976.     };
  11977.     
  11978. #else     /* C style interface */
  11979.  
  11980.     typedef struct ICancelMethodCallsVtbl
  11981.     {
  11982.         BEGIN_INTERFACE
  11983.         
  11984.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  11985.             ICancelMethodCalls __RPC_FAR * This,
  11986.             /* [in] */ REFIID riid,
  11987.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  11988.         
  11989.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  11990.             ICancelMethodCalls __RPC_FAR * This);
  11991.         
  11992.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  11993.             ICancelMethodCalls __RPC_FAR * This);
  11994.         
  11995.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Cancel )( 
  11996.             ICancelMethodCalls __RPC_FAR * This,
  11997.             /* [in] */ ULONG ulSeconds);
  11998.         
  11999.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *TestCancel )( 
  12000.             ICancelMethodCalls __RPC_FAR * This);
  12001.         
  12002.         END_INTERFACE
  12003.     } ICancelMethodCallsVtbl;
  12004.  
  12005.     interface ICancelMethodCalls
  12006.     {
  12007.         CONST_VTBL struct ICancelMethodCallsVtbl __RPC_FAR *lpVtbl;
  12008.     };
  12009.  
  12010.     
  12011.  
  12012. #ifdef COBJMACROS
  12013.  
  12014.  
  12015. #define ICancelMethodCalls_QueryInterface(This,riid,ppvObject)    \
  12016.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12017.  
  12018. #define ICancelMethodCalls_AddRef(This)    \
  12019.     (This)->lpVtbl -> AddRef(This)
  12020.  
  12021. #define ICancelMethodCalls_Release(This)    \
  12022.     (This)->lpVtbl -> Release(This)
  12023.  
  12024.  
  12025. #define ICancelMethodCalls_Cancel(This,ulSeconds)    \
  12026.     (This)->lpVtbl -> Cancel(This,ulSeconds)
  12027.  
  12028. #define ICancelMethodCalls_TestCancel(This)    \
  12029.     (This)->lpVtbl -> TestCancel(This)
  12030.  
  12031. #endif /* COBJMACROS */
  12032.  
  12033.  
  12034. #endif     /* C style interface */
  12035.  
  12036.  
  12037.  
  12038. HRESULT STDMETHODCALLTYPE ICancelMethodCalls_Cancel_Proxy( 
  12039.     ICancelMethodCalls __RPC_FAR * This,
  12040.     /* [in] */ ULONG ulSeconds);
  12041.  
  12042.  
  12043. void __RPC_STUB ICancelMethodCalls_Cancel_Stub(
  12044.     IRpcStubBuffer *This,
  12045.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12046.     PRPC_MESSAGE _pRpcMessage,
  12047.     DWORD *_pdwStubPhase);
  12048.  
  12049.  
  12050. HRESULT STDMETHODCALLTYPE ICancelMethodCalls_TestCancel_Proxy( 
  12051.     ICancelMethodCalls __RPC_FAR * This);
  12052.  
  12053.  
  12054. void __RPC_STUB ICancelMethodCalls_TestCancel_Stub(
  12055.     IRpcStubBuffer *This,
  12056.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12057.     PRPC_MESSAGE _pRpcMessage,
  12058.     DWORD *_pdwStubPhase);
  12059.  
  12060.  
  12061.  
  12062. #endif     /* __ICancelMethodCalls_INTERFACE_DEFINED__ */
  12063.  
  12064.  
  12065. #ifndef __IAsyncManager_INTERFACE_DEFINED__
  12066. #define __IAsyncManager_INTERFACE_DEFINED__
  12067.  
  12068. /* interface IAsyncManager */
  12069. /* [uuid][object][local] */ 
  12070.  
  12071. typedef 
  12072. enum tagDCOM_CALL_STATE
  12073.     {    DCOM_NONE    = 0,
  12074.     DCOM_CALL_COMPLETE    = 0x1,
  12075.     DCOM_CALL_CANCELED    = 0x2
  12076.     }    DCOM_CALL_STATE;
  12077.  
  12078.  
  12079. EXTERN_C const IID IID_IAsyncManager;
  12080.  
  12081. #if defined(__cplusplus) && !defined(CINTERFACE)
  12082.     
  12083.     MIDL_INTERFACE("0000002A-0000-0000-C000-000000000046")
  12084.     IAsyncManager : public IUnknown
  12085.     {
  12086.     public:
  12087.         virtual HRESULT STDMETHODCALLTYPE CompleteCall( 
  12088.             /* [in] */ HRESULT Result) = 0;
  12089.         
  12090.         virtual HRESULT STDMETHODCALLTYPE GetCallContext( 
  12091.             /* [in] */ REFIID riid,
  12092.             /* [out] */ void __RPC_FAR *__RPC_FAR *pInterface) = 0;
  12093.         
  12094.         virtual HRESULT STDMETHODCALLTYPE GetState( 
  12095.             /* [out] */ ULONG __RPC_FAR *pulStateFlags) = 0;
  12096.         
  12097.     };
  12098.     
  12099. #else     /* C style interface */
  12100.  
  12101.     typedef struct IAsyncManagerVtbl
  12102.     {
  12103.         BEGIN_INTERFACE
  12104.         
  12105.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12106.             IAsyncManager __RPC_FAR * This,
  12107.             /* [in] */ REFIID riid,
  12108.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12109.         
  12110.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12111.             IAsyncManager __RPC_FAR * This);
  12112.         
  12113.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12114.             IAsyncManager __RPC_FAR * This);
  12115.         
  12116.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CompleteCall )( 
  12117.             IAsyncManager __RPC_FAR * This,
  12118.             /* [in] */ HRESULT Result);
  12119.         
  12120.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCallContext )( 
  12121.             IAsyncManager __RPC_FAR * This,
  12122.             /* [in] */ REFIID riid,
  12123.             /* [out] */ void __RPC_FAR *__RPC_FAR *pInterface);
  12124.         
  12125.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetState )( 
  12126.             IAsyncManager __RPC_FAR * This,
  12127.             /* [out] */ ULONG __RPC_FAR *pulStateFlags);
  12128.         
  12129.         END_INTERFACE
  12130.     } IAsyncManagerVtbl;
  12131.  
  12132.     interface IAsyncManager
  12133.     {
  12134.         CONST_VTBL struct IAsyncManagerVtbl __RPC_FAR *lpVtbl;
  12135.     };
  12136.  
  12137.     
  12138.  
  12139. #ifdef COBJMACROS
  12140.  
  12141.  
  12142. #define IAsyncManager_QueryInterface(This,riid,ppvObject)    \
  12143.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12144.  
  12145. #define IAsyncManager_AddRef(This)    \
  12146.     (This)->lpVtbl -> AddRef(This)
  12147.  
  12148. #define IAsyncManager_Release(This)    \
  12149.     (This)->lpVtbl -> Release(This)
  12150.  
  12151.  
  12152. #define IAsyncManager_CompleteCall(This,Result)    \
  12153.     (This)->lpVtbl -> CompleteCall(This,Result)
  12154.  
  12155. #define IAsyncManager_GetCallContext(This,riid,pInterface)    \
  12156.     (This)->lpVtbl -> GetCallContext(This,riid,pInterface)
  12157.  
  12158. #define IAsyncManager_GetState(This,pulStateFlags)    \
  12159.     (This)->lpVtbl -> GetState(This,pulStateFlags)
  12160.  
  12161. #endif /* COBJMACROS */
  12162.  
  12163.  
  12164. #endif     /* C style interface */
  12165.  
  12166.  
  12167.  
  12168. HRESULT STDMETHODCALLTYPE IAsyncManager_CompleteCall_Proxy( 
  12169.     IAsyncManager __RPC_FAR * This,
  12170.     /* [in] */ HRESULT Result);
  12171.  
  12172.  
  12173. void __RPC_STUB IAsyncManager_CompleteCall_Stub(
  12174.     IRpcStubBuffer *This,
  12175.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12176.     PRPC_MESSAGE _pRpcMessage,
  12177.     DWORD *_pdwStubPhase);
  12178.  
  12179.  
  12180. HRESULT STDMETHODCALLTYPE IAsyncManager_GetCallContext_Proxy( 
  12181.     IAsyncManager __RPC_FAR * This,
  12182.     /* [in] */ REFIID riid,
  12183.     /* [out] */ void __RPC_FAR *__RPC_FAR *pInterface);
  12184.  
  12185.  
  12186. void __RPC_STUB IAsyncManager_GetCallContext_Stub(
  12187.     IRpcStubBuffer *This,
  12188.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12189.     PRPC_MESSAGE _pRpcMessage,
  12190.     DWORD *_pdwStubPhase);
  12191.  
  12192.  
  12193. HRESULT STDMETHODCALLTYPE IAsyncManager_GetState_Proxy( 
  12194.     IAsyncManager __RPC_FAR * This,
  12195.     /* [out] */ ULONG __RPC_FAR *pulStateFlags);
  12196.  
  12197.  
  12198. void __RPC_STUB IAsyncManager_GetState_Stub(
  12199.     IRpcStubBuffer *This,
  12200.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12201.     PRPC_MESSAGE _pRpcMessage,
  12202.     DWORD *_pdwStubPhase);
  12203.  
  12204.  
  12205.  
  12206. #endif     /* __IAsyncManager_INTERFACE_DEFINED__ */
  12207.  
  12208.  
  12209. #ifndef __ICallFactory_INTERFACE_DEFINED__
  12210. #define __ICallFactory_INTERFACE_DEFINED__
  12211.  
  12212. /* interface ICallFactory */
  12213. /* [unique][uuid][object][local] */ 
  12214.  
  12215.  
  12216. EXTERN_C const IID IID_ICallFactory;
  12217.  
  12218. #if defined(__cplusplus) && !defined(CINTERFACE)
  12219.     
  12220.     MIDL_INTERFACE("1c733a30-2a1c-11ce-ade5-00aa0044773d")
  12221.     ICallFactory : public IUnknown
  12222.     {
  12223.     public:
  12224.         virtual HRESULT STDMETHODCALLTYPE CreateCall( 
  12225.             /* [in] */ REFIID riid,
  12226.             /* [in] */ IUnknown __RPC_FAR *pCtrlUnk,
  12227.             /* [in] */ REFIID riid2,
  12228.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppv) = 0;
  12229.         
  12230.     };
  12231.     
  12232. #else     /* C style interface */
  12233.  
  12234.     typedef struct ICallFactoryVtbl
  12235.     {
  12236.         BEGIN_INTERFACE
  12237.         
  12238.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12239.             ICallFactory __RPC_FAR * This,
  12240.             /* [in] */ REFIID riid,
  12241.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12242.         
  12243.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12244.             ICallFactory __RPC_FAR * This);
  12245.         
  12246.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12247.             ICallFactory __RPC_FAR * This);
  12248.         
  12249.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateCall )( 
  12250.             ICallFactory __RPC_FAR * This,
  12251.             /* [in] */ REFIID riid,
  12252.             /* [in] */ IUnknown __RPC_FAR *pCtrlUnk,
  12253.             /* [in] */ REFIID riid2,
  12254.             /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppv);
  12255.         
  12256.         END_INTERFACE
  12257.     } ICallFactoryVtbl;
  12258.  
  12259.     interface ICallFactory
  12260.     {
  12261.         CONST_VTBL struct ICallFactoryVtbl __RPC_FAR *lpVtbl;
  12262.     };
  12263.  
  12264.     
  12265.  
  12266. #ifdef COBJMACROS
  12267.  
  12268.  
  12269. #define ICallFactory_QueryInterface(This,riid,ppvObject)    \
  12270.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12271.  
  12272. #define ICallFactory_AddRef(This)    \
  12273.     (This)->lpVtbl -> AddRef(This)
  12274.  
  12275. #define ICallFactory_Release(This)    \
  12276.     (This)->lpVtbl -> Release(This)
  12277.  
  12278.  
  12279. #define ICallFactory_CreateCall(This,riid,pCtrlUnk,riid2,ppv)    \
  12280.     (This)->lpVtbl -> CreateCall(This,riid,pCtrlUnk,riid2,ppv)
  12281.  
  12282. #endif /* COBJMACROS */
  12283.  
  12284.  
  12285. #endif     /* C style interface */
  12286.  
  12287.  
  12288.  
  12289. HRESULT STDMETHODCALLTYPE ICallFactory_CreateCall_Proxy( 
  12290.     ICallFactory __RPC_FAR * This,
  12291.     /* [in] */ REFIID riid,
  12292.     /* [in] */ IUnknown __RPC_FAR *pCtrlUnk,
  12293.     /* [in] */ REFIID riid2,
  12294.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppv);
  12295.  
  12296.  
  12297. void __RPC_STUB ICallFactory_CreateCall_Stub(
  12298.     IRpcStubBuffer *This,
  12299.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12300.     PRPC_MESSAGE _pRpcMessage,
  12301.     DWORD *_pdwStubPhase);
  12302.  
  12303.  
  12304.  
  12305. #endif     /* __ICallFactory_INTERFACE_DEFINED__ */
  12306.  
  12307.  
  12308. #ifndef __IRpcHelper_INTERFACE_DEFINED__
  12309. #define __IRpcHelper_INTERFACE_DEFINED__
  12310.  
  12311. /* interface IRpcHelper */
  12312. /* [object][local][unique][version][uuid] */ 
  12313.  
  12314.  
  12315. EXTERN_C const IID IID_IRpcHelper;
  12316.  
  12317. #if defined(__cplusplus) && !defined(CINTERFACE)
  12318.     
  12319.     MIDL_INTERFACE("00000149-0000-0000-C000-000000000046")
  12320.     IRpcHelper : public IUnknown
  12321.     {
  12322.     public:
  12323.         virtual HRESULT STDMETHODCALLTYPE GetDCOMProtocolVersion( 
  12324.             /* [out] */ DWORD __RPC_FAR *pComVersion) = 0;
  12325.         
  12326.         virtual HRESULT STDMETHODCALLTYPE GetIIDFromOBJREF( 
  12327.             /* [in] */ void __RPC_FAR *pObjRef,
  12328.             /* [out] */ IID __RPC_FAR *__RPC_FAR *piid) = 0;
  12329.         
  12330.     };
  12331.     
  12332. #else     /* C style interface */
  12333.  
  12334.     typedef struct IRpcHelperVtbl
  12335.     {
  12336.         BEGIN_INTERFACE
  12337.         
  12338.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12339.             IRpcHelper __RPC_FAR * This,
  12340.             /* [in] */ REFIID riid,
  12341.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12342.         
  12343.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12344.             IRpcHelper __RPC_FAR * This);
  12345.         
  12346.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12347.             IRpcHelper __RPC_FAR * This);
  12348.         
  12349.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDCOMProtocolVersion )( 
  12350.             IRpcHelper __RPC_FAR * This,
  12351.             /* [out] */ DWORD __RPC_FAR *pComVersion);
  12352.         
  12353.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIIDFromOBJREF )( 
  12354.             IRpcHelper __RPC_FAR * This,
  12355.             /* [in] */ void __RPC_FAR *pObjRef,
  12356.             /* [out] */ IID __RPC_FAR *__RPC_FAR *piid);
  12357.         
  12358.         END_INTERFACE
  12359.     } IRpcHelperVtbl;
  12360.  
  12361.     interface IRpcHelper
  12362.     {
  12363.         CONST_VTBL struct IRpcHelperVtbl __RPC_FAR *lpVtbl;
  12364.     };
  12365.  
  12366.     
  12367.  
  12368. #ifdef COBJMACROS
  12369.  
  12370.  
  12371. #define IRpcHelper_QueryInterface(This,riid,ppvObject)    \
  12372.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12373.  
  12374. #define IRpcHelper_AddRef(This)    \
  12375.     (This)->lpVtbl -> AddRef(This)
  12376.  
  12377. #define IRpcHelper_Release(This)    \
  12378.     (This)->lpVtbl -> Release(This)
  12379.  
  12380.  
  12381. #define IRpcHelper_GetDCOMProtocolVersion(This,pComVersion)    \
  12382.     (This)->lpVtbl -> GetDCOMProtocolVersion(This,pComVersion)
  12383.  
  12384. #define IRpcHelper_GetIIDFromOBJREF(This,pObjRef,piid)    \
  12385.     (This)->lpVtbl -> GetIIDFromOBJREF(This,pObjRef,piid)
  12386.  
  12387. #endif /* COBJMACROS */
  12388.  
  12389.  
  12390. #endif     /* C style interface */
  12391.  
  12392.  
  12393.  
  12394. HRESULT STDMETHODCALLTYPE IRpcHelper_GetDCOMProtocolVersion_Proxy( 
  12395.     IRpcHelper __RPC_FAR * This,
  12396.     /* [out] */ DWORD __RPC_FAR *pComVersion);
  12397.  
  12398.  
  12399. void __RPC_STUB IRpcHelper_GetDCOMProtocolVersion_Stub(
  12400.     IRpcStubBuffer *This,
  12401.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12402.     PRPC_MESSAGE _pRpcMessage,
  12403.     DWORD *_pdwStubPhase);
  12404.  
  12405.  
  12406. HRESULT STDMETHODCALLTYPE IRpcHelper_GetIIDFromOBJREF_Proxy( 
  12407.     IRpcHelper __RPC_FAR * This,
  12408.     /* [in] */ void __RPC_FAR *pObjRef,
  12409.     /* [out] */ IID __RPC_FAR *__RPC_FAR *piid);
  12410.  
  12411.  
  12412. void __RPC_STUB IRpcHelper_GetIIDFromOBJREF_Stub(
  12413.     IRpcStubBuffer *This,
  12414.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12415.     PRPC_MESSAGE _pRpcMessage,
  12416.     DWORD *_pdwStubPhase);
  12417.  
  12418.  
  12419.  
  12420. #endif     /* __IRpcHelper_INTERFACE_DEFINED__ */
  12421.  
  12422.  
  12423. #ifndef __IReleaseMarshalBuffers_INTERFACE_DEFINED__
  12424. #define __IReleaseMarshalBuffers_INTERFACE_DEFINED__
  12425.  
  12426. /* interface IReleaseMarshalBuffers */
  12427. /* [uuid][object][local] */ 
  12428.  
  12429.  
  12430. EXTERN_C const IID IID_IReleaseMarshalBuffers;
  12431.  
  12432. #if defined(__cplusplus) && !defined(CINTERFACE)
  12433.     
  12434.     MIDL_INTERFACE("eb0cb9e8-7996-11d2-872e-0000f8080859")
  12435.     IReleaseMarshalBuffers : public IUnknown
  12436.     {
  12437.     public:
  12438.         virtual HRESULT STDMETHODCALLTYPE ReleaseMarshalBuffer( 
  12439.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  12440.             /* [in] */ DWORD dwFlags,
  12441.             /* [unique][in] */ IUnknown __RPC_FAR *pChnl) = 0;
  12442.         
  12443.     };
  12444.     
  12445. #else     /* C style interface */
  12446.  
  12447.     typedef struct IReleaseMarshalBuffersVtbl
  12448.     {
  12449.         BEGIN_INTERFACE
  12450.         
  12451.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12452.             IReleaseMarshalBuffers __RPC_FAR * This,
  12453.             /* [in] */ REFIID riid,
  12454.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12455.         
  12456.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12457.             IReleaseMarshalBuffers __RPC_FAR * This);
  12458.         
  12459.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12460.             IReleaseMarshalBuffers __RPC_FAR * This);
  12461.         
  12462.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ReleaseMarshalBuffer )( 
  12463.             IReleaseMarshalBuffers __RPC_FAR * This,
  12464.             /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  12465.             /* [in] */ DWORD dwFlags,
  12466.             /* [unique][in] */ IUnknown __RPC_FAR *pChnl);
  12467.         
  12468.         END_INTERFACE
  12469.     } IReleaseMarshalBuffersVtbl;
  12470.  
  12471.     interface IReleaseMarshalBuffers
  12472.     {
  12473.         CONST_VTBL struct IReleaseMarshalBuffersVtbl __RPC_FAR *lpVtbl;
  12474.     };
  12475.  
  12476.     
  12477.  
  12478. #ifdef COBJMACROS
  12479.  
  12480.  
  12481. #define IReleaseMarshalBuffers_QueryInterface(This,riid,ppvObject)    \
  12482.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12483.  
  12484. #define IReleaseMarshalBuffers_AddRef(This)    \
  12485.     (This)->lpVtbl -> AddRef(This)
  12486.  
  12487. #define IReleaseMarshalBuffers_Release(This)    \
  12488.     (This)->lpVtbl -> Release(This)
  12489.  
  12490.  
  12491. #define IReleaseMarshalBuffers_ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl)    \
  12492.     (This)->lpVtbl -> ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl)
  12493.  
  12494. #endif /* COBJMACROS */
  12495.  
  12496.  
  12497. #endif     /* C style interface */
  12498.  
  12499.  
  12500.  
  12501. HRESULT STDMETHODCALLTYPE IReleaseMarshalBuffers_ReleaseMarshalBuffer_Proxy( 
  12502.     IReleaseMarshalBuffers __RPC_FAR * This,
  12503.     /* [in] */ RPCOLEMESSAGE __RPC_FAR *pMsg,
  12504.     /* [in] */ DWORD dwFlags,
  12505.     /* [unique][in] */ IUnknown __RPC_FAR *pChnl);
  12506.  
  12507.  
  12508. void __RPC_STUB IReleaseMarshalBuffers_ReleaseMarshalBuffer_Stub(
  12509.     IRpcStubBuffer *This,
  12510.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12511.     PRPC_MESSAGE _pRpcMessage,
  12512.     DWORD *_pdwStubPhase);
  12513.  
  12514.  
  12515.  
  12516. #endif     /* __IReleaseMarshalBuffers_INTERFACE_DEFINED__ */
  12517.  
  12518.  
  12519. #ifndef __IWaitMultiple_INTERFACE_DEFINED__
  12520. #define __IWaitMultiple_INTERFACE_DEFINED__
  12521.  
  12522. /* interface IWaitMultiple */
  12523. /* [uuid][object][local] */ 
  12524.  
  12525.  
  12526. EXTERN_C const IID IID_IWaitMultiple;
  12527.  
  12528. #if defined(__cplusplus) && !defined(CINTERFACE)
  12529.     
  12530.     MIDL_INTERFACE("0000002B-0000-0000-C000-000000000046")
  12531.     IWaitMultiple : public IUnknown
  12532.     {
  12533.     public:
  12534.         virtual HRESULT STDMETHODCALLTYPE WaitMultiple( 
  12535.             /* [in] */ DWORD timeout,
  12536.             /* [out] */ ISynchronize __RPC_FAR *__RPC_FAR *pSync) = 0;
  12537.         
  12538.         virtual HRESULT STDMETHODCALLTYPE AddSynchronize( 
  12539.             /* [in] */ ISynchronize __RPC_FAR *pSync) = 0;
  12540.         
  12541.     };
  12542.     
  12543. #else     /* C style interface */
  12544.  
  12545.     typedef struct IWaitMultipleVtbl
  12546.     {
  12547.         BEGIN_INTERFACE
  12548.         
  12549.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12550.             IWaitMultiple __RPC_FAR * This,
  12551.             /* [in] */ REFIID riid,
  12552.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12553.         
  12554.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12555.             IWaitMultiple __RPC_FAR * This);
  12556.         
  12557.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12558.             IWaitMultiple __RPC_FAR * This);
  12559.         
  12560.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *WaitMultiple )( 
  12561.             IWaitMultiple __RPC_FAR * This,
  12562.             /* [in] */ DWORD timeout,
  12563.             /* [out] */ ISynchronize __RPC_FAR *__RPC_FAR *pSync);
  12564.         
  12565.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddSynchronize )( 
  12566.             IWaitMultiple __RPC_FAR * This,
  12567.             /* [in] */ ISynchronize __RPC_FAR *pSync);
  12568.         
  12569.         END_INTERFACE
  12570.     } IWaitMultipleVtbl;
  12571.  
  12572.     interface IWaitMultiple
  12573.     {
  12574.         CONST_VTBL struct IWaitMultipleVtbl __RPC_FAR *lpVtbl;
  12575.     };
  12576.  
  12577.     
  12578.  
  12579. #ifdef COBJMACROS
  12580.  
  12581.  
  12582. #define IWaitMultiple_QueryInterface(This,riid,ppvObject)    \
  12583.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12584.  
  12585. #define IWaitMultiple_AddRef(This)    \
  12586.     (This)->lpVtbl -> AddRef(This)
  12587.  
  12588. #define IWaitMultiple_Release(This)    \
  12589.     (This)->lpVtbl -> Release(This)
  12590.  
  12591.  
  12592. #define IWaitMultiple_WaitMultiple(This,timeout,pSync)    \
  12593.     (This)->lpVtbl -> WaitMultiple(This,timeout,pSync)
  12594.  
  12595. #define IWaitMultiple_AddSynchronize(This,pSync)    \
  12596.     (This)->lpVtbl -> AddSynchronize(This,pSync)
  12597.  
  12598. #endif /* COBJMACROS */
  12599.  
  12600.  
  12601. #endif     /* C style interface */
  12602.  
  12603.  
  12604.  
  12605. HRESULT STDMETHODCALLTYPE IWaitMultiple_WaitMultiple_Proxy( 
  12606.     IWaitMultiple __RPC_FAR * This,
  12607.     /* [in] */ DWORD timeout,
  12608.     /* [out] */ ISynchronize __RPC_FAR *__RPC_FAR *pSync);
  12609.  
  12610.  
  12611. void __RPC_STUB IWaitMultiple_WaitMultiple_Stub(
  12612.     IRpcStubBuffer *This,
  12613.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12614.     PRPC_MESSAGE _pRpcMessage,
  12615.     DWORD *_pdwStubPhase);
  12616.  
  12617.  
  12618. HRESULT STDMETHODCALLTYPE IWaitMultiple_AddSynchronize_Proxy( 
  12619.     IWaitMultiple __RPC_FAR * This,
  12620.     /* [in] */ ISynchronize __RPC_FAR *pSync);
  12621.  
  12622.  
  12623. void __RPC_STUB IWaitMultiple_AddSynchronize_Stub(
  12624.     IRpcStubBuffer *This,
  12625.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12626.     PRPC_MESSAGE _pRpcMessage,
  12627.     DWORD *_pdwStubPhase);
  12628.  
  12629.  
  12630.  
  12631. #endif     /* __IWaitMultiple_INTERFACE_DEFINED__ */
  12632.  
  12633.  
  12634. #ifndef __IUrlMon_INTERFACE_DEFINED__
  12635. #define __IUrlMon_INTERFACE_DEFINED__
  12636.  
  12637. /* interface IUrlMon */
  12638. /* [uuid][object] */ 
  12639.  
  12640.  
  12641. EXTERN_C const IID IID_IUrlMon;
  12642.  
  12643. #if defined(__cplusplus) && !defined(CINTERFACE)
  12644.     
  12645.     MIDL_INTERFACE("00000026-0000-0000-C000-000000000046")
  12646.     IUrlMon : public IUnknown
  12647.     {
  12648.     public:
  12649.         virtual HRESULT STDMETHODCALLTYPE AsyncGetClassBits( 
  12650.             /* [in] */ REFCLSID rclsid,
  12651.             /* [unique][in] */ LPCWSTR pszTYPE,
  12652.             /* [unique][in] */ LPCWSTR pszExt,
  12653.             /* [in] */ DWORD dwFileVersionMS,
  12654.             /* [in] */ DWORD dwFileVersionLS,
  12655.             /* [unique][in] */ LPCWSTR pszCodeBase,
  12656.             /* [in] */ IBindCtx __RPC_FAR *pbc,
  12657.             /* [in] */ DWORD dwClassContext,
  12658.             /* [in] */ REFIID riid,
  12659.             /* [in] */ DWORD flags) = 0;
  12660.         
  12661.     };
  12662.     
  12663. #else     /* C style interface */
  12664.  
  12665.     typedef struct IUrlMonVtbl
  12666.     {
  12667.         BEGIN_INTERFACE
  12668.         
  12669.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12670.             IUrlMon __RPC_FAR * This,
  12671.             /* [in] */ REFIID riid,
  12672.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12673.         
  12674.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12675.             IUrlMon __RPC_FAR * This);
  12676.         
  12677.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12678.             IUrlMon __RPC_FAR * This);
  12679.         
  12680.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AsyncGetClassBits )( 
  12681.             IUrlMon __RPC_FAR * This,
  12682.             /* [in] */ REFCLSID rclsid,
  12683.             /* [unique][in] */ LPCWSTR pszTYPE,
  12684.             /* [unique][in] */ LPCWSTR pszExt,
  12685.             /* [in] */ DWORD dwFileVersionMS,
  12686.             /* [in] */ DWORD dwFileVersionLS,
  12687.             /* [unique][in] */ LPCWSTR pszCodeBase,
  12688.             /* [in] */ IBindCtx __RPC_FAR *pbc,
  12689.             /* [in] */ DWORD dwClassContext,
  12690.             /* [in] */ REFIID riid,
  12691.             /* [in] */ DWORD flags);
  12692.         
  12693.         END_INTERFACE
  12694.     } IUrlMonVtbl;
  12695.  
  12696.     interface IUrlMon
  12697.     {
  12698.         CONST_VTBL struct IUrlMonVtbl __RPC_FAR *lpVtbl;
  12699.     };
  12700.  
  12701.     
  12702.  
  12703. #ifdef COBJMACROS
  12704.  
  12705.  
  12706. #define IUrlMon_QueryInterface(This,riid,ppvObject)    \
  12707.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12708.  
  12709. #define IUrlMon_AddRef(This)    \
  12710.     (This)->lpVtbl -> AddRef(This)
  12711.  
  12712. #define IUrlMon_Release(This)    \
  12713.     (This)->lpVtbl -> Release(This)
  12714.  
  12715.  
  12716. #define IUrlMon_AsyncGetClassBits(This,rclsid,pszTYPE,pszExt,dwFileVersionMS,dwFileVersionLS,pszCodeBase,pbc,dwClassContext,riid,flags)    \
  12717.     (This)->lpVtbl -> AsyncGetClassBits(This,rclsid,pszTYPE,pszExt,dwFileVersionMS,dwFileVersionLS,pszCodeBase,pbc,dwClassContext,riid,flags)
  12718.  
  12719. #endif /* COBJMACROS */
  12720.  
  12721.  
  12722. #endif     /* C style interface */
  12723.  
  12724.  
  12725.  
  12726. HRESULT STDMETHODCALLTYPE IUrlMon_AsyncGetClassBits_Proxy( 
  12727.     IUrlMon __RPC_FAR * This,
  12728.     /* [in] */ REFCLSID rclsid,
  12729.     /* [unique][in] */ LPCWSTR pszTYPE,
  12730.     /* [unique][in] */ LPCWSTR pszExt,
  12731.     /* [in] */ DWORD dwFileVersionMS,
  12732.     /* [in] */ DWORD dwFileVersionLS,
  12733.     /* [unique][in] */ LPCWSTR pszCodeBase,
  12734.     /* [in] */ IBindCtx __RPC_FAR *pbc,
  12735.     /* [in] */ DWORD dwClassContext,
  12736.     /* [in] */ REFIID riid,
  12737.     /* [in] */ DWORD flags);
  12738.  
  12739.  
  12740. void __RPC_STUB IUrlMon_AsyncGetClassBits_Stub(
  12741.     IRpcStubBuffer *This,
  12742.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12743.     PRPC_MESSAGE _pRpcMessage,
  12744.     DWORD *_pdwStubPhase);
  12745.  
  12746.  
  12747.  
  12748. #endif     /* __IUrlMon_INTERFACE_DEFINED__ */
  12749.  
  12750.  
  12751. #ifndef __IForegroundTransfer_INTERFACE_DEFINED__
  12752. #define __IForegroundTransfer_INTERFACE_DEFINED__
  12753.  
  12754. /* interface IForegroundTransfer */
  12755. /* [uuid][object][local] */ 
  12756.  
  12757.  
  12758. EXTERN_C const IID IID_IForegroundTransfer;
  12759.  
  12760. #if defined(__cplusplus) && !defined(CINTERFACE)
  12761.     
  12762.     MIDL_INTERFACE("00000145-0000-0000-C000-000000000046")
  12763.     IForegroundTransfer : public IUnknown
  12764.     {
  12765.     public:
  12766.         virtual HRESULT STDMETHODCALLTYPE AllowForegroundTransfer( 
  12767.             /* [in] */ void __RPC_FAR *lpvReserved) = 0;
  12768.         
  12769.     };
  12770.     
  12771. #else     /* C style interface */
  12772.  
  12773.     typedef struct IForegroundTransferVtbl
  12774.     {
  12775.         BEGIN_INTERFACE
  12776.         
  12777.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12778.             IForegroundTransfer __RPC_FAR * This,
  12779.             /* [in] */ REFIID riid,
  12780.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12781.         
  12782.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12783.             IForegroundTransfer __RPC_FAR * This);
  12784.         
  12785.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12786.             IForegroundTransfer __RPC_FAR * This);
  12787.         
  12788.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AllowForegroundTransfer )( 
  12789.             IForegroundTransfer __RPC_FAR * This,
  12790.             /* [in] */ void __RPC_FAR *lpvReserved);
  12791.         
  12792.         END_INTERFACE
  12793.     } IForegroundTransferVtbl;
  12794.  
  12795.     interface IForegroundTransfer
  12796.     {
  12797.         CONST_VTBL struct IForegroundTransferVtbl __RPC_FAR *lpVtbl;
  12798.     };
  12799.  
  12800.     
  12801.  
  12802. #ifdef COBJMACROS
  12803.  
  12804.  
  12805. #define IForegroundTransfer_QueryInterface(This,riid,ppvObject)    \
  12806.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12807.  
  12808. #define IForegroundTransfer_AddRef(This)    \
  12809.     (This)->lpVtbl -> AddRef(This)
  12810.  
  12811. #define IForegroundTransfer_Release(This)    \
  12812.     (This)->lpVtbl -> Release(This)
  12813.  
  12814.  
  12815. #define IForegroundTransfer_AllowForegroundTransfer(This,lpvReserved)    \
  12816.     (This)->lpVtbl -> AllowForegroundTransfer(This,lpvReserved)
  12817.  
  12818. #endif /* COBJMACROS */
  12819.  
  12820.  
  12821. #endif     /* C style interface */
  12822.  
  12823.  
  12824.  
  12825. HRESULT STDMETHODCALLTYPE IForegroundTransfer_AllowForegroundTransfer_Proxy( 
  12826.     IForegroundTransfer __RPC_FAR * This,
  12827.     /* [in] */ void __RPC_FAR *lpvReserved);
  12828.  
  12829.  
  12830. void __RPC_STUB IForegroundTransfer_AllowForegroundTransfer_Stub(
  12831.     IRpcStubBuffer *This,
  12832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12833.     PRPC_MESSAGE _pRpcMessage,
  12834.     DWORD *_pdwStubPhase);
  12835.  
  12836.  
  12837.  
  12838. #endif     /* __IForegroundTransfer_INTERFACE_DEFINED__ */
  12839.  
  12840.  
  12841. #ifndef __IPipeByte_INTERFACE_DEFINED__
  12842. #define __IPipeByte_INTERFACE_DEFINED__
  12843.  
  12844. /* interface IPipeByte */
  12845. /* [unique][async_uuid][uuid][object] */ 
  12846.  
  12847.  
  12848. EXTERN_C const IID IID_IPipeByte;
  12849.  
  12850. #if defined(__cplusplus) && !defined(CINTERFACE)
  12851.     
  12852.     MIDL_INTERFACE("DB2F3ACA-2F86-11d1-8E04-00C04FB9989A")
  12853.     IPipeByte : public IUnknown
  12854.     {
  12855.     public:
  12856.         virtual HRESULT STDMETHODCALLTYPE Pull( 
  12857.             /* [length_is][size_is][out] */ BYTE __RPC_FAR *buf,
  12858.             /* [in] */ ULONG cRequest,
  12859.             /* [out] */ ULONG __RPC_FAR *pcReturned) = 0;
  12860.         
  12861.         virtual HRESULT STDMETHODCALLTYPE Push( 
  12862.             /* [size_is][in] */ BYTE __RPC_FAR *buf,
  12863.             /* [in] */ ULONG cSent) = 0;
  12864.         
  12865.     };
  12866.     
  12867. #else     /* C style interface */
  12868.  
  12869.     typedef struct IPipeByteVtbl
  12870.     {
  12871.         BEGIN_INTERFACE
  12872.         
  12873.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12874.             IPipeByte __RPC_FAR * This,
  12875.             /* [in] */ REFIID riid,
  12876.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  12877.         
  12878.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  12879.             IPipeByte __RPC_FAR * This);
  12880.         
  12881.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  12882.             IPipeByte __RPC_FAR * This);
  12883.         
  12884.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Pull )( 
  12885.             IPipeByte __RPC_FAR * This,
  12886.             /* [length_is][size_is][out] */ BYTE __RPC_FAR *buf,
  12887.             /* [in] */ ULONG cRequest,
  12888.             /* [out] */ ULONG __RPC_FAR *pcReturned);
  12889.         
  12890.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Push )( 
  12891.             IPipeByte __RPC_FAR * This,
  12892.             /* [size_is][in] */ BYTE __RPC_FAR *buf,
  12893.             /* [in] */ ULONG cSent);
  12894.         
  12895.         END_INTERFACE
  12896.     } IPipeByteVtbl;
  12897.  
  12898.     interface IPipeByte
  12899.     {
  12900.         CONST_VTBL struct IPipeByteVtbl __RPC_FAR *lpVtbl;
  12901.     };
  12902.  
  12903.     
  12904.  
  12905. #ifdef COBJMACROS
  12906.  
  12907.  
  12908. #define IPipeByte_QueryInterface(This,riid,ppvObject)    \
  12909.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  12910.  
  12911. #define IPipeByte_AddRef(This)    \
  12912.     (This)->lpVtbl -> AddRef(This)
  12913.  
  12914. #define IPipeByte_Release(This)    \
  12915.     (This)->lpVtbl -> Release(This)
  12916.  
  12917.  
  12918. #define IPipeByte_Pull(This,buf,cRequest,pcReturned)    \
  12919.     (This)->lpVtbl -> Pull(This,buf,cRequest,pcReturned)
  12920.  
  12921. #define IPipeByte_Push(This,buf,cSent)    \
  12922.     (This)->lpVtbl -> Push(This,buf,cSent)
  12923.  
  12924. #endif /* COBJMACROS */
  12925.  
  12926.  
  12927. #endif     /* C style interface */
  12928.  
  12929.  
  12930.  
  12931. HRESULT STDMETHODCALLTYPE IPipeByte_Pull_Proxy( 
  12932.     IPipeByte __RPC_FAR * This,
  12933.     /* [length_is][size_is][out] */ BYTE __RPC_FAR *buf,
  12934.     /* [in] */ ULONG cRequest,
  12935.     /* [out] */ ULONG __RPC_FAR *pcReturned);
  12936.  
  12937.  
  12938. void __RPC_STUB IPipeByte_Pull_Stub(
  12939.     IRpcStubBuffer *This,
  12940.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12941.     PRPC_MESSAGE _pRpcMessage,
  12942.     DWORD *_pdwStubPhase);
  12943.  
  12944.  
  12945. HRESULT STDMETHODCALLTYPE IPipeByte_Push_Proxy( 
  12946.     IPipeByte __RPC_FAR * This,
  12947.     /* [size_is][in] */ BYTE __RPC_FAR *buf,
  12948.     /* [in] */ ULONG cSent);
  12949.  
  12950.  
  12951. void __RPC_STUB IPipeByte_Push_Stub(
  12952.     IRpcStubBuffer *This,
  12953.     IRpcChannelBuffer *_pRpcChannelBuffer,
  12954.     PRPC_MESSAGE _pRpcMessage,
  12955.     DWORD *_pdwStubPhase);
  12956.  
  12957.  
  12958.  
  12959. #endif     /* __IPipeByte_INTERFACE_DEFINED__ */
  12960.  
  12961.  
  12962. #ifndef __AsyncIPipeByte_INTERFACE_DEFINED__
  12963. #define __AsyncIPipeByte_INTERFACE_DEFINED__
  12964.  
  12965. /* interface AsyncIPipeByte */
  12966. /* [uuid][unique][object] */ 
  12967.  
  12968.  
  12969. EXTERN_C const IID IID_AsyncIPipeByte;
  12970.  
  12971. #if defined(__cplusplus) && !defined(CINTERFACE)
  12972.     
  12973.     MIDL_INTERFACE("DB2F3ACB-2F86-11d1-8E04-00C04FB9989A")
  12974.     AsyncIPipeByte : public IUnknown
  12975.     {
  12976.     public:
  12977.         virtual HRESULT STDMETHODCALLTYPE Begin_Pull( 
  12978.             /* [in] */ ULONG cRequest) = 0;
  12979.         
  12980.         virtual HRESULT STDMETHODCALLTYPE Finish_Pull( 
  12981.             /* [length_is][size_is][out] */ BYTE __RPC_FAR *buf,
  12982.             /* [out] */ ULONG __RPC_FAR *pcReturned) = 0;
  12983.         
  12984.         virtual HRESULT STDMETHODCALLTYPE Begin_Push( 
  12985.             /* [size_is][in] */ BYTE __RPC_FAR *buf,
  12986.             /* [in] */ ULONG cSent) = 0;
  12987.         
  12988.         virtual HRESULT STDMETHODCALLTYPE Finish_Push( void) = 0;
  12989.         
  12990.     };
  12991.     
  12992. #else     /* C style interface */
  12993.  
  12994.     typedef struct AsyncIPipeByteVtbl
  12995.     {
  12996.         BEGIN_INTERFACE
  12997.         
  12998.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  12999.             AsyncIPipeByte __RPC_FAR * This,
  13000.             /* [in] */ REFIID riid,
  13001.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13002.         
  13003.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13004.             AsyncIPipeByte __RPC_FAR * This);
  13005.         
  13006.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13007.             AsyncIPipeByte __RPC_FAR * This);
  13008.         
  13009.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Begin_Pull )( 
  13010.             AsyncIPipeByte __RPC_FAR * This,
  13011.             /* [in] */ ULONG cRequest);
  13012.         
  13013.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Finish_Pull )( 
  13014.             AsyncIPipeByte __RPC_FAR * This,
  13015.             /* [length_is][size_is][out] */ BYTE __RPC_FAR *buf,
  13016.             /* [out] */ ULONG __RPC_FAR *pcReturned);
  13017.         
  13018.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Begin_Push )( 
  13019.             AsyncIPipeByte __RPC_FAR * This,
  13020.             /* [size_is][in] */ BYTE __RPC_FAR *buf,
  13021.             /* [in] */ ULONG cSent);
  13022.         
  13023.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Finish_Push )( 
  13024.             AsyncIPipeByte __RPC_FAR * This);
  13025.         
  13026.         END_INTERFACE
  13027.     } AsyncIPipeByteVtbl;
  13028.  
  13029.     interface AsyncIPipeByte
  13030.     {
  13031.         CONST_VTBL struct AsyncIPipeByteVtbl __RPC_FAR *lpVtbl;
  13032.     };
  13033.  
  13034.     
  13035.  
  13036. #ifdef COBJMACROS
  13037.  
  13038.  
  13039. #define AsyncIPipeByte_QueryInterface(This,riid,ppvObject)    \
  13040.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13041.  
  13042. #define AsyncIPipeByte_AddRef(This)    \
  13043.     (This)->lpVtbl -> AddRef(This)
  13044.  
  13045. #define AsyncIPipeByte_Release(This)    \
  13046.     (This)->lpVtbl -> Release(This)
  13047.  
  13048.  
  13049. #define AsyncIPipeByte_Begin_Pull(This,cRequest)    \
  13050.     (This)->lpVtbl -> Begin_Pull(This,cRequest)
  13051.  
  13052. #define AsyncIPipeByte_Finish_Pull(This,buf,pcReturned)    \
  13053.     (This)->lpVtbl -> Finish_Pull(This,buf,pcReturned)
  13054.  
  13055. #define AsyncIPipeByte_Begin_Push(This,buf,cSent)    \
  13056.     (This)->lpVtbl -> Begin_Push(This,buf,cSent)
  13057.  
  13058. #define AsyncIPipeByte_Finish_Push(This)    \
  13059.     (This)->lpVtbl -> Finish_Push(This)
  13060.  
  13061. #endif /* COBJMACROS */
  13062.  
  13063.  
  13064. #endif     /* C style interface */
  13065.  
  13066.  
  13067.  
  13068. HRESULT STDMETHODCALLTYPE AsyncIPipeByte_Begin_Pull_Proxy( 
  13069.     AsyncIPipeByte __RPC_FAR * This,
  13070.     /* [in] */ ULONG cRequest);
  13071.  
  13072.  
  13073. void __RPC_STUB AsyncIPipeByte_Begin_Pull_Stub(
  13074.     IRpcStubBuffer *This,
  13075.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13076.     PRPC_MESSAGE _pRpcMessage,
  13077.     DWORD *_pdwStubPhase);
  13078.  
  13079.  
  13080. HRESULT STDMETHODCALLTYPE AsyncIPipeByte_Finish_Pull_Proxy( 
  13081.     AsyncIPipeByte __RPC_FAR * This,
  13082.     /* [length_is][size_is][out] */ BYTE __RPC_FAR *buf,
  13083.     /* [out] */ ULONG __RPC_FAR *pcReturned);
  13084.  
  13085.  
  13086. void __RPC_STUB AsyncIPipeByte_Finish_Pull_Stub(
  13087.     IRpcStubBuffer *This,
  13088.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13089.     PRPC_MESSAGE _pRpcMessage,
  13090.     DWORD *_pdwStubPhase);
  13091.  
  13092.  
  13093. HRESULT STDMETHODCALLTYPE AsyncIPipeByte_Begin_Push_Proxy( 
  13094.     AsyncIPipeByte __RPC_FAR * This,
  13095.     /* [size_is][in] */ BYTE __RPC_FAR *buf,
  13096.     /* [in] */ ULONG cSent);
  13097.  
  13098.  
  13099. void __RPC_STUB AsyncIPipeByte_Begin_Push_Stub(
  13100.     IRpcStubBuffer *This,
  13101.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13102.     PRPC_MESSAGE _pRpcMessage,
  13103.     DWORD *_pdwStubPhase);
  13104.  
  13105.  
  13106. HRESULT STDMETHODCALLTYPE AsyncIPipeByte_Finish_Push_Proxy( 
  13107.     AsyncIPipeByte __RPC_FAR * This);
  13108.  
  13109.  
  13110. void __RPC_STUB AsyncIPipeByte_Finish_Push_Stub(
  13111.     IRpcStubBuffer *This,
  13112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13113.     PRPC_MESSAGE _pRpcMessage,
  13114.     DWORD *_pdwStubPhase);
  13115.  
  13116.  
  13117.  
  13118. #endif     /* __AsyncIPipeByte_INTERFACE_DEFINED__ */
  13119.  
  13120.  
  13121. #ifndef __IPipeLong_INTERFACE_DEFINED__
  13122. #define __IPipeLong_INTERFACE_DEFINED__
  13123.  
  13124. /* interface IPipeLong */
  13125. /* [unique][async_uuid][uuid][object] */ 
  13126.  
  13127.  
  13128. EXTERN_C const IID IID_IPipeLong;
  13129.  
  13130. #if defined(__cplusplus) && !defined(CINTERFACE)
  13131.     
  13132.     MIDL_INTERFACE("DB2F3ACC-2F86-11d1-8E04-00C04FB9989A")
  13133.     IPipeLong : public IUnknown
  13134.     {
  13135.     public:
  13136.         virtual HRESULT STDMETHODCALLTYPE Pull( 
  13137.             /* [length_is][size_is][out] */ LONG __RPC_FAR *buf,
  13138.             /* [in] */ ULONG cRequest,
  13139.             /* [out] */ ULONG __RPC_FAR *pcReturned) = 0;
  13140.         
  13141.         virtual HRESULT STDMETHODCALLTYPE Push( 
  13142.             /* [size_is][in] */ LONG __RPC_FAR *buf,
  13143.             /* [in] */ ULONG cSent) = 0;
  13144.         
  13145.     };
  13146.     
  13147. #else     /* C style interface */
  13148.  
  13149.     typedef struct IPipeLongVtbl
  13150.     {
  13151.         BEGIN_INTERFACE
  13152.         
  13153.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13154.             IPipeLong __RPC_FAR * This,
  13155.             /* [in] */ REFIID riid,
  13156.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13157.         
  13158.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13159.             IPipeLong __RPC_FAR * This);
  13160.         
  13161.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13162.             IPipeLong __RPC_FAR * This);
  13163.         
  13164.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Pull )( 
  13165.             IPipeLong __RPC_FAR * This,
  13166.             /* [length_is][size_is][out] */ LONG __RPC_FAR *buf,
  13167.             /* [in] */ ULONG cRequest,
  13168.             /* [out] */ ULONG __RPC_FAR *pcReturned);
  13169.         
  13170.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Push )( 
  13171.             IPipeLong __RPC_FAR * This,
  13172.             /* [size_is][in] */ LONG __RPC_FAR *buf,
  13173.             /* [in] */ ULONG cSent);
  13174.         
  13175.         END_INTERFACE
  13176.     } IPipeLongVtbl;
  13177.  
  13178.     interface IPipeLong
  13179.     {
  13180.         CONST_VTBL struct IPipeLongVtbl __RPC_FAR *lpVtbl;
  13181.     };
  13182.  
  13183.     
  13184.  
  13185. #ifdef COBJMACROS
  13186.  
  13187.  
  13188. #define IPipeLong_QueryInterface(This,riid,ppvObject)    \
  13189.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13190.  
  13191. #define IPipeLong_AddRef(This)    \
  13192.     (This)->lpVtbl -> AddRef(This)
  13193.  
  13194. #define IPipeLong_Release(This)    \
  13195.     (This)->lpVtbl -> Release(This)
  13196.  
  13197.  
  13198. #define IPipeLong_Pull(This,buf,cRequest,pcReturned)    \
  13199.     (This)->lpVtbl -> Pull(This,buf,cRequest,pcReturned)
  13200.  
  13201. #define IPipeLong_Push(This,buf,cSent)    \
  13202.     (This)->lpVtbl -> Push(This,buf,cSent)
  13203.  
  13204. #endif /* COBJMACROS */
  13205.  
  13206.  
  13207. #endif     /* C style interface */
  13208.  
  13209.  
  13210.  
  13211. HRESULT STDMETHODCALLTYPE IPipeLong_Pull_Proxy( 
  13212.     IPipeLong __RPC_FAR * This,
  13213.     /* [length_is][size_is][out] */ LONG __RPC_FAR *buf,
  13214.     /* [in] */ ULONG cRequest,
  13215.     /* [out] */ ULONG __RPC_FAR *pcReturned);
  13216.  
  13217.  
  13218. void __RPC_STUB IPipeLong_Pull_Stub(
  13219.     IRpcStubBuffer *This,
  13220.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13221.     PRPC_MESSAGE _pRpcMessage,
  13222.     DWORD *_pdwStubPhase);
  13223.  
  13224.  
  13225. HRESULT STDMETHODCALLTYPE IPipeLong_Push_Proxy( 
  13226.     IPipeLong __RPC_FAR * This,
  13227.     /* [size_is][in] */ LONG __RPC_FAR *buf,
  13228.     /* [in] */ ULONG cSent);
  13229.  
  13230.  
  13231. void __RPC_STUB IPipeLong_Push_Stub(
  13232.     IRpcStubBuffer *This,
  13233.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13234.     PRPC_MESSAGE _pRpcMessage,
  13235.     DWORD *_pdwStubPhase);
  13236.  
  13237.  
  13238.  
  13239. #endif     /* __IPipeLong_INTERFACE_DEFINED__ */
  13240.  
  13241.  
  13242. #ifndef __AsyncIPipeLong_INTERFACE_DEFINED__
  13243. #define __AsyncIPipeLong_INTERFACE_DEFINED__
  13244.  
  13245. /* interface AsyncIPipeLong */
  13246. /* [uuid][unique][object] */ 
  13247.  
  13248.  
  13249. EXTERN_C const IID IID_AsyncIPipeLong;
  13250.  
  13251. #if defined(__cplusplus) && !defined(CINTERFACE)
  13252.     
  13253.     MIDL_INTERFACE("DB2F3ACD-2F86-11d1-8E04-00C04FB9989A")
  13254.     AsyncIPipeLong : public IUnknown
  13255.     {
  13256.     public:
  13257.         virtual HRESULT STDMETHODCALLTYPE Begin_Pull( 
  13258.             /* [in] */ ULONG cRequest) = 0;
  13259.         
  13260.         virtual HRESULT STDMETHODCALLTYPE Finish_Pull( 
  13261.             /* [length_is][size_is][out] */ LONG __RPC_FAR *buf,
  13262.             /* [out] */ ULONG __RPC_FAR *pcReturned) = 0;
  13263.         
  13264.         virtual HRESULT STDMETHODCALLTYPE Begin_Push( 
  13265.             /* [size_is][in] */ LONG __RPC_FAR *buf,
  13266.             /* [in] */ ULONG cSent) = 0;
  13267.         
  13268.         virtual HRESULT STDMETHODCALLTYPE Finish_Push( void) = 0;
  13269.         
  13270.     };
  13271.     
  13272. #else     /* C style interface */
  13273.  
  13274.     typedef struct AsyncIPipeLongVtbl
  13275.     {
  13276.         BEGIN_INTERFACE
  13277.         
  13278.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13279.             AsyncIPipeLong __RPC_FAR * This,
  13280.             /* [in] */ REFIID riid,
  13281.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13282.         
  13283.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13284.             AsyncIPipeLong __RPC_FAR * This);
  13285.         
  13286.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13287.             AsyncIPipeLong __RPC_FAR * This);
  13288.         
  13289.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Begin_Pull )( 
  13290.             AsyncIPipeLong __RPC_FAR * This,
  13291.             /* [in] */ ULONG cRequest);
  13292.         
  13293.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Finish_Pull )( 
  13294.             AsyncIPipeLong __RPC_FAR * This,
  13295.             /* [length_is][size_is][out] */ LONG __RPC_FAR *buf,
  13296.             /* [out] */ ULONG __RPC_FAR *pcReturned);
  13297.         
  13298.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Begin_Push )( 
  13299.             AsyncIPipeLong __RPC_FAR * This,
  13300.             /* [size_is][in] */ LONG __RPC_FAR *buf,
  13301.             /* [in] */ ULONG cSent);
  13302.         
  13303.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Finish_Push )( 
  13304.             AsyncIPipeLong __RPC_FAR * This);
  13305.         
  13306.         END_INTERFACE
  13307.     } AsyncIPipeLongVtbl;
  13308.  
  13309.     interface AsyncIPipeLong
  13310.     {
  13311.         CONST_VTBL struct AsyncIPipeLongVtbl __RPC_FAR *lpVtbl;
  13312.     };
  13313.  
  13314.     
  13315.  
  13316. #ifdef COBJMACROS
  13317.  
  13318.  
  13319. #define AsyncIPipeLong_QueryInterface(This,riid,ppvObject)    \
  13320.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13321.  
  13322. #define AsyncIPipeLong_AddRef(This)    \
  13323.     (This)->lpVtbl -> AddRef(This)
  13324.  
  13325. #define AsyncIPipeLong_Release(This)    \
  13326.     (This)->lpVtbl -> Release(This)
  13327.  
  13328.  
  13329. #define AsyncIPipeLong_Begin_Pull(This,cRequest)    \
  13330.     (This)->lpVtbl -> Begin_Pull(This,cRequest)
  13331.  
  13332. #define AsyncIPipeLong_Finish_Pull(This,buf,pcReturned)    \
  13333.     (This)->lpVtbl -> Finish_Pull(This,buf,pcReturned)
  13334.  
  13335. #define AsyncIPipeLong_Begin_Push(This,buf,cSent)    \
  13336.     (This)->lpVtbl -> Begin_Push(This,buf,cSent)
  13337.  
  13338. #define AsyncIPipeLong_Finish_Push(This)    \
  13339.     (This)->lpVtbl -> Finish_Push(This)
  13340.  
  13341. #endif /* COBJMACROS */
  13342.  
  13343.  
  13344. #endif     /* C style interface */
  13345.  
  13346.  
  13347.  
  13348. HRESULT STDMETHODCALLTYPE AsyncIPipeLong_Begin_Pull_Proxy( 
  13349.     AsyncIPipeLong __RPC_FAR * This,
  13350.     /* [in] */ ULONG cRequest);
  13351.  
  13352.  
  13353. void __RPC_STUB AsyncIPipeLong_Begin_Pull_Stub(
  13354.     IRpcStubBuffer *This,
  13355.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13356.     PRPC_MESSAGE _pRpcMessage,
  13357.     DWORD *_pdwStubPhase);
  13358.  
  13359.  
  13360. HRESULT STDMETHODCALLTYPE AsyncIPipeLong_Finish_Pull_Proxy( 
  13361.     AsyncIPipeLong __RPC_FAR * This,
  13362.     /* [length_is][size_is][out] */ LONG __RPC_FAR *buf,
  13363.     /* [out] */ ULONG __RPC_FAR *pcReturned);
  13364.  
  13365.  
  13366. void __RPC_STUB AsyncIPipeLong_Finish_Pull_Stub(
  13367.     IRpcStubBuffer *This,
  13368.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13369.     PRPC_MESSAGE _pRpcMessage,
  13370.     DWORD *_pdwStubPhase);
  13371.  
  13372.  
  13373. HRESULT STDMETHODCALLTYPE AsyncIPipeLong_Begin_Push_Proxy( 
  13374.     AsyncIPipeLong __RPC_FAR * This,
  13375.     /* [size_is][in] */ LONG __RPC_FAR *buf,
  13376.     /* [in] */ ULONG cSent);
  13377.  
  13378.  
  13379. void __RPC_STUB AsyncIPipeLong_Begin_Push_Stub(
  13380.     IRpcStubBuffer *This,
  13381.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13382.     PRPC_MESSAGE _pRpcMessage,
  13383.     DWORD *_pdwStubPhase);
  13384.  
  13385.  
  13386. HRESULT STDMETHODCALLTYPE AsyncIPipeLong_Finish_Push_Proxy( 
  13387.     AsyncIPipeLong __RPC_FAR * This);
  13388.  
  13389.  
  13390. void __RPC_STUB AsyncIPipeLong_Finish_Push_Stub(
  13391.     IRpcStubBuffer *This,
  13392.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13393.     PRPC_MESSAGE _pRpcMessage,
  13394.     DWORD *_pdwStubPhase);
  13395.  
  13396.  
  13397.  
  13398. #endif     /* __AsyncIPipeLong_INTERFACE_DEFINED__ */
  13399.  
  13400.  
  13401. #ifndef __IPipeDouble_INTERFACE_DEFINED__
  13402. #define __IPipeDouble_INTERFACE_DEFINED__
  13403.  
  13404. /* interface IPipeDouble */
  13405. /* [unique][async_uuid][uuid][object] */ 
  13406.  
  13407.  
  13408. EXTERN_C const IID IID_IPipeDouble;
  13409.  
  13410. #if defined(__cplusplus) && !defined(CINTERFACE)
  13411.     
  13412.     MIDL_INTERFACE("DB2F3ACE-2F86-11d1-8E04-00C04FB9989A")
  13413.     IPipeDouble : public IUnknown
  13414.     {
  13415.     public:
  13416.         virtual HRESULT STDMETHODCALLTYPE Pull( 
  13417.             /* [length_is][size_is][out] */ DOUBLE __RPC_FAR *buf,
  13418.             /* [in] */ ULONG cRequest,
  13419.             /* [out] */ ULONG __RPC_FAR *pcReturned) = 0;
  13420.         
  13421.         virtual HRESULT STDMETHODCALLTYPE Push( 
  13422.             /* [size_is][in] */ DOUBLE __RPC_FAR *buf,
  13423.             /* [in] */ ULONG cSent) = 0;
  13424.         
  13425.     };
  13426.     
  13427. #else     /* C style interface */
  13428.  
  13429.     typedef struct IPipeDoubleVtbl
  13430.     {
  13431.         BEGIN_INTERFACE
  13432.         
  13433.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13434.             IPipeDouble __RPC_FAR * This,
  13435.             /* [in] */ REFIID riid,
  13436.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13437.         
  13438.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13439.             IPipeDouble __RPC_FAR * This);
  13440.         
  13441.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13442.             IPipeDouble __RPC_FAR * This);
  13443.         
  13444.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Pull )( 
  13445.             IPipeDouble __RPC_FAR * This,
  13446.             /* [length_is][size_is][out] */ DOUBLE __RPC_FAR *buf,
  13447.             /* [in] */ ULONG cRequest,
  13448.             /* [out] */ ULONG __RPC_FAR *pcReturned);
  13449.         
  13450.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Push )( 
  13451.             IPipeDouble __RPC_FAR * This,
  13452.             /* [size_is][in] */ DOUBLE __RPC_FAR *buf,
  13453.             /* [in] */ ULONG cSent);
  13454.         
  13455.         END_INTERFACE
  13456.     } IPipeDoubleVtbl;
  13457.  
  13458.     interface IPipeDouble
  13459.     {
  13460.         CONST_VTBL struct IPipeDoubleVtbl __RPC_FAR *lpVtbl;
  13461.     };
  13462.  
  13463.     
  13464.  
  13465. #ifdef COBJMACROS
  13466.  
  13467.  
  13468. #define IPipeDouble_QueryInterface(This,riid,ppvObject)    \
  13469.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13470.  
  13471. #define IPipeDouble_AddRef(This)    \
  13472.     (This)->lpVtbl -> AddRef(This)
  13473.  
  13474. #define IPipeDouble_Release(This)    \
  13475.     (This)->lpVtbl -> Release(This)
  13476.  
  13477.  
  13478. #define IPipeDouble_Pull(This,buf,cRequest,pcReturned)    \
  13479.     (This)->lpVtbl -> Pull(This,buf,cRequest,pcReturned)
  13480.  
  13481. #define IPipeDouble_Push(This,buf,cSent)    \
  13482.     (This)->lpVtbl -> Push(This,buf,cSent)
  13483.  
  13484. #endif /* COBJMACROS */
  13485.  
  13486.  
  13487. #endif     /* C style interface */
  13488.  
  13489.  
  13490.  
  13491. HRESULT STDMETHODCALLTYPE IPipeDouble_Pull_Proxy( 
  13492.     IPipeDouble __RPC_FAR * This,
  13493.     /* [length_is][size_is][out] */ DOUBLE __RPC_FAR *buf,
  13494.     /* [in] */ ULONG cRequest,
  13495.     /* [out] */ ULONG __RPC_FAR *pcReturned);
  13496.  
  13497.  
  13498. void __RPC_STUB IPipeDouble_Pull_Stub(
  13499.     IRpcStubBuffer *This,
  13500.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13501.     PRPC_MESSAGE _pRpcMessage,
  13502.     DWORD *_pdwStubPhase);
  13503.  
  13504.  
  13505. HRESULT STDMETHODCALLTYPE IPipeDouble_Push_Proxy( 
  13506.     IPipeDouble __RPC_FAR * This,
  13507.     /* [size_is][in] */ DOUBLE __RPC_FAR *buf,
  13508.     /* [in] */ ULONG cSent);
  13509.  
  13510.  
  13511. void __RPC_STUB IPipeDouble_Push_Stub(
  13512.     IRpcStubBuffer *This,
  13513.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13514.     PRPC_MESSAGE _pRpcMessage,
  13515.     DWORD *_pdwStubPhase);
  13516.  
  13517.  
  13518.  
  13519. #endif     /* __IPipeDouble_INTERFACE_DEFINED__ */
  13520.  
  13521.  
  13522. #ifndef __AsyncIPipeDouble_INTERFACE_DEFINED__
  13523. #define __AsyncIPipeDouble_INTERFACE_DEFINED__
  13524.  
  13525. /* interface AsyncIPipeDouble */
  13526. /* [uuid][unique][object] */ 
  13527.  
  13528.  
  13529. EXTERN_C const IID IID_AsyncIPipeDouble;
  13530.  
  13531. #if defined(__cplusplus) && !defined(CINTERFACE)
  13532.     
  13533.     MIDL_INTERFACE("DB2F3ACF-2F86-11d1-8E04-00C04FB9989A")
  13534.     AsyncIPipeDouble : public IUnknown
  13535.     {
  13536.     public:
  13537.         virtual HRESULT STDMETHODCALLTYPE Begin_Pull( 
  13538.             /* [in] */ ULONG cRequest) = 0;
  13539.         
  13540.         virtual HRESULT STDMETHODCALLTYPE Finish_Pull( 
  13541.             /* [length_is][size_is][out] */ DOUBLE __RPC_FAR *buf,
  13542.             /* [out] */ ULONG __RPC_FAR *pcReturned) = 0;
  13543.         
  13544.         virtual HRESULT STDMETHODCALLTYPE Begin_Push( 
  13545.             /* [size_is][in] */ DOUBLE __RPC_FAR *buf,
  13546.             /* [in] */ ULONG cSent) = 0;
  13547.         
  13548.         virtual HRESULT STDMETHODCALLTYPE Finish_Push( void) = 0;
  13549.         
  13550.     };
  13551.     
  13552. #else     /* C style interface */
  13553.  
  13554.     typedef struct AsyncIPipeDoubleVtbl
  13555.     {
  13556.         BEGIN_INTERFACE
  13557.         
  13558.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13559.             AsyncIPipeDouble __RPC_FAR * This,
  13560.             /* [in] */ REFIID riid,
  13561.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13562.         
  13563.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13564.             AsyncIPipeDouble __RPC_FAR * This);
  13565.         
  13566.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13567.             AsyncIPipeDouble __RPC_FAR * This);
  13568.         
  13569.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Begin_Pull )( 
  13570.             AsyncIPipeDouble __RPC_FAR * This,
  13571.             /* [in] */ ULONG cRequest);
  13572.         
  13573.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Finish_Pull )( 
  13574.             AsyncIPipeDouble __RPC_FAR * This,
  13575.             /* [length_is][size_is][out] */ DOUBLE __RPC_FAR *buf,
  13576.             /* [out] */ ULONG __RPC_FAR *pcReturned);
  13577.         
  13578.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Begin_Push )( 
  13579.             AsyncIPipeDouble __RPC_FAR * This,
  13580.             /* [size_is][in] */ DOUBLE __RPC_FAR *buf,
  13581.             /* [in] */ ULONG cSent);
  13582.         
  13583.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Finish_Push )( 
  13584.             AsyncIPipeDouble __RPC_FAR * This);
  13585.         
  13586.         END_INTERFACE
  13587.     } AsyncIPipeDoubleVtbl;
  13588.  
  13589.     interface AsyncIPipeDouble
  13590.     {
  13591.         CONST_VTBL struct AsyncIPipeDoubleVtbl __RPC_FAR *lpVtbl;
  13592.     };
  13593.  
  13594.     
  13595.  
  13596. #ifdef COBJMACROS
  13597.  
  13598.  
  13599. #define AsyncIPipeDouble_QueryInterface(This,riid,ppvObject)    \
  13600.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13601.  
  13602. #define AsyncIPipeDouble_AddRef(This)    \
  13603.     (This)->lpVtbl -> AddRef(This)
  13604.  
  13605. #define AsyncIPipeDouble_Release(This)    \
  13606.     (This)->lpVtbl -> Release(This)
  13607.  
  13608.  
  13609. #define AsyncIPipeDouble_Begin_Pull(This,cRequest)    \
  13610.     (This)->lpVtbl -> Begin_Pull(This,cRequest)
  13611.  
  13612. #define AsyncIPipeDouble_Finish_Pull(This,buf,pcReturned)    \
  13613.     (This)->lpVtbl -> Finish_Pull(This,buf,pcReturned)
  13614.  
  13615. #define AsyncIPipeDouble_Begin_Push(This,buf,cSent)    \
  13616.     (This)->lpVtbl -> Begin_Push(This,buf,cSent)
  13617.  
  13618. #define AsyncIPipeDouble_Finish_Push(This)    \
  13619.     (This)->lpVtbl -> Finish_Push(This)
  13620.  
  13621. #endif /* COBJMACROS */
  13622.  
  13623.  
  13624. #endif     /* C style interface */
  13625.  
  13626.  
  13627.  
  13628. HRESULT STDMETHODCALLTYPE AsyncIPipeDouble_Begin_Pull_Proxy( 
  13629.     AsyncIPipeDouble __RPC_FAR * This,
  13630.     /* [in] */ ULONG cRequest);
  13631.  
  13632.  
  13633. void __RPC_STUB AsyncIPipeDouble_Begin_Pull_Stub(
  13634.     IRpcStubBuffer *This,
  13635.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13636.     PRPC_MESSAGE _pRpcMessage,
  13637.     DWORD *_pdwStubPhase);
  13638.  
  13639.  
  13640. HRESULT STDMETHODCALLTYPE AsyncIPipeDouble_Finish_Pull_Proxy( 
  13641.     AsyncIPipeDouble __RPC_FAR * This,
  13642.     /* [length_is][size_is][out] */ DOUBLE __RPC_FAR *buf,
  13643.     /* [out] */ ULONG __RPC_FAR *pcReturned);
  13644.  
  13645.  
  13646. void __RPC_STUB AsyncIPipeDouble_Finish_Pull_Stub(
  13647.     IRpcStubBuffer *This,
  13648.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13649.     PRPC_MESSAGE _pRpcMessage,
  13650.     DWORD *_pdwStubPhase);
  13651.  
  13652.  
  13653. HRESULT STDMETHODCALLTYPE AsyncIPipeDouble_Begin_Push_Proxy( 
  13654.     AsyncIPipeDouble __RPC_FAR * This,
  13655.     /* [size_is][in] */ DOUBLE __RPC_FAR *buf,
  13656.     /* [in] */ ULONG cSent);
  13657.  
  13658.  
  13659. void __RPC_STUB AsyncIPipeDouble_Begin_Push_Stub(
  13660.     IRpcStubBuffer *This,
  13661.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13662.     PRPC_MESSAGE _pRpcMessage,
  13663.     DWORD *_pdwStubPhase);
  13664.  
  13665.  
  13666. HRESULT STDMETHODCALLTYPE AsyncIPipeDouble_Finish_Push_Proxy( 
  13667.     AsyncIPipeDouble __RPC_FAR * This);
  13668.  
  13669.  
  13670. void __RPC_STUB AsyncIPipeDouble_Finish_Push_Stub(
  13671.     IRpcStubBuffer *This,
  13672.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13673.     PRPC_MESSAGE _pRpcMessage,
  13674.     DWORD *_pdwStubPhase);
  13675.  
  13676.  
  13677.  
  13678. #endif     /* __AsyncIPipeDouble_INTERFACE_DEFINED__ */
  13679.  
  13680.  
  13681. #ifndef __IThumbnailExtractor_INTERFACE_DEFINED__
  13682. #define __IThumbnailExtractor_INTERFACE_DEFINED__
  13683.  
  13684. /* interface IThumbnailExtractor */
  13685. /* [object][uuid] */ 
  13686.  
  13687.  
  13688. EXTERN_C const IID IID_IThumbnailExtractor;
  13689.  
  13690. #if defined(__cplusplus) && !defined(CINTERFACE)
  13691.     
  13692.     MIDL_INTERFACE("969dc708-5c76-11d1-8d86-0000f804b057")
  13693.     IThumbnailExtractor : public IUnknown
  13694.     {
  13695.     public:
  13696.         virtual HRESULT STDMETHODCALLTYPE ExtractThumbnail( 
  13697.             /* [in] */ IStorage __RPC_FAR *pStg,
  13698.             /* [in] */ ULONG ulLength,
  13699.             /* [in] */ ULONG ulHeight,
  13700.             /* [out] */ ULONG __RPC_FAR *pulOutputLength,
  13701.             /* [out] */ ULONG __RPC_FAR *pulOutputHeight,
  13702.             /* [out] */ HBITMAP __RPC_FAR *phOutputBitmap) = 0;
  13703.         
  13704.         virtual HRESULT STDMETHODCALLTYPE OnFileUpdated( 
  13705.             /* [in] */ IStorage __RPC_FAR *pStg) = 0;
  13706.         
  13707.     };
  13708.     
  13709. #else     /* C style interface */
  13710.  
  13711.     typedef struct IThumbnailExtractorVtbl
  13712.     {
  13713.         BEGIN_INTERFACE
  13714.         
  13715.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13716.             IThumbnailExtractor __RPC_FAR * This,
  13717.             /* [in] */ REFIID riid,
  13718.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13719.         
  13720.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13721.             IThumbnailExtractor __RPC_FAR * This);
  13722.         
  13723.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13724.             IThumbnailExtractor __RPC_FAR * This);
  13725.         
  13726.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ExtractThumbnail )( 
  13727.             IThumbnailExtractor __RPC_FAR * This,
  13728.             /* [in] */ IStorage __RPC_FAR *pStg,
  13729.             /* [in] */ ULONG ulLength,
  13730.             /* [in] */ ULONG ulHeight,
  13731.             /* [out] */ ULONG __RPC_FAR *pulOutputLength,
  13732.             /* [out] */ ULONG __RPC_FAR *pulOutputHeight,
  13733.             /* [out] */ HBITMAP __RPC_FAR *phOutputBitmap);
  13734.         
  13735.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OnFileUpdated )( 
  13736.             IThumbnailExtractor __RPC_FAR * This,
  13737.             /* [in] */ IStorage __RPC_FAR *pStg);
  13738.         
  13739.         END_INTERFACE
  13740.     } IThumbnailExtractorVtbl;
  13741.  
  13742.     interface IThumbnailExtractor
  13743.     {
  13744.         CONST_VTBL struct IThumbnailExtractorVtbl __RPC_FAR *lpVtbl;
  13745.     };
  13746.  
  13747.     
  13748.  
  13749. #ifdef COBJMACROS
  13750.  
  13751.  
  13752. #define IThumbnailExtractor_QueryInterface(This,riid,ppvObject)    \
  13753.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13754.  
  13755. #define IThumbnailExtractor_AddRef(This)    \
  13756.     (This)->lpVtbl -> AddRef(This)
  13757.  
  13758. #define IThumbnailExtractor_Release(This)    \
  13759.     (This)->lpVtbl -> Release(This)
  13760.  
  13761.  
  13762. #define IThumbnailExtractor_ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap)    \
  13763.     (This)->lpVtbl -> ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap)
  13764.  
  13765. #define IThumbnailExtractor_OnFileUpdated(This,pStg)    \
  13766.     (This)->lpVtbl -> OnFileUpdated(This,pStg)
  13767.  
  13768. #endif /* COBJMACROS */
  13769.  
  13770.  
  13771. #endif     /* C style interface */
  13772.  
  13773.  
  13774.  
  13775. HRESULT STDMETHODCALLTYPE IThumbnailExtractor_ExtractThumbnail_Proxy( 
  13776.     IThumbnailExtractor __RPC_FAR * This,
  13777.     /* [in] */ IStorage __RPC_FAR *pStg,
  13778.     /* [in] */ ULONG ulLength,
  13779.     /* [in] */ ULONG ulHeight,
  13780.     /* [out] */ ULONG __RPC_FAR *pulOutputLength,
  13781.     /* [out] */ ULONG __RPC_FAR *pulOutputHeight,
  13782.     /* [out] */ HBITMAP __RPC_FAR *phOutputBitmap);
  13783.  
  13784.  
  13785. void __RPC_STUB IThumbnailExtractor_ExtractThumbnail_Stub(
  13786.     IRpcStubBuffer *This,
  13787.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13788.     PRPC_MESSAGE _pRpcMessage,
  13789.     DWORD *_pdwStubPhase);
  13790.  
  13791.  
  13792. HRESULT STDMETHODCALLTYPE IThumbnailExtractor_OnFileUpdated_Proxy( 
  13793.     IThumbnailExtractor __RPC_FAR * This,
  13794.     /* [in] */ IStorage __RPC_FAR *pStg);
  13795.  
  13796.  
  13797. void __RPC_STUB IThumbnailExtractor_OnFileUpdated_Stub(
  13798.     IRpcStubBuffer *This,
  13799.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13800.     PRPC_MESSAGE _pRpcMessage,
  13801.     DWORD *_pdwStubPhase);
  13802.  
  13803.  
  13804.  
  13805. #endif     /* __IThumbnailExtractor_INTERFACE_DEFINED__ */
  13806.  
  13807.  
  13808. #ifndef __IDummyHICONIncluder_INTERFACE_DEFINED__
  13809. #define __IDummyHICONIncluder_INTERFACE_DEFINED__
  13810.  
  13811. /* interface IDummyHICONIncluder */
  13812. /* [uuid][unique][object] */ 
  13813.  
  13814.  
  13815. EXTERN_C const IID IID_IDummyHICONIncluder;
  13816.  
  13817. #if defined(__cplusplus) && !defined(CINTERFACE)
  13818.     
  13819.     MIDL_INTERFACE("947990de-cc28-11d2-a0f7-00805f858fb1")
  13820.     IDummyHICONIncluder : public IUnknown
  13821.     {
  13822.     public:
  13823.         virtual HRESULT STDMETHODCALLTYPE Dummy( 
  13824.             /* [in] */ HICON h1,
  13825.             /* [in] */ HDC h2) = 0;
  13826.         
  13827.     };
  13828.     
  13829. #else     /* C style interface */
  13830.  
  13831.     typedef struct IDummyHICONIncluderVtbl
  13832.     {
  13833.         BEGIN_INTERFACE
  13834.         
  13835.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  13836.             IDummyHICONIncluder __RPC_FAR * This,
  13837.             /* [in] */ REFIID riid,
  13838.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  13839.         
  13840.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  13841.             IDummyHICONIncluder __RPC_FAR * This);
  13842.         
  13843.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  13844.             IDummyHICONIncluder __RPC_FAR * This);
  13845.         
  13846.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Dummy )( 
  13847.             IDummyHICONIncluder __RPC_FAR * This,
  13848.             /* [in] */ HICON h1,
  13849.             /* [in] */ HDC h2);
  13850.         
  13851.         END_INTERFACE
  13852.     } IDummyHICONIncluderVtbl;
  13853.  
  13854.     interface IDummyHICONIncluder
  13855.     {
  13856.         CONST_VTBL struct IDummyHICONIncluderVtbl __RPC_FAR *lpVtbl;
  13857.     };
  13858.  
  13859.     
  13860.  
  13861. #ifdef COBJMACROS
  13862.  
  13863.  
  13864. #define IDummyHICONIncluder_QueryInterface(This,riid,ppvObject)    \
  13865.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  13866.  
  13867. #define IDummyHICONIncluder_AddRef(This)    \
  13868.     (This)->lpVtbl -> AddRef(This)
  13869.  
  13870. #define IDummyHICONIncluder_Release(This)    \
  13871.     (This)->lpVtbl -> Release(This)
  13872.  
  13873.  
  13874. #define IDummyHICONIncluder_Dummy(This,h1,h2)    \
  13875.     (This)->lpVtbl -> Dummy(This,h1,h2)
  13876.  
  13877. #endif /* COBJMACROS */
  13878.  
  13879.  
  13880. #endif     /* C style interface */
  13881.  
  13882.  
  13883.  
  13884. HRESULT STDMETHODCALLTYPE IDummyHICONIncluder_Dummy_Proxy( 
  13885.     IDummyHICONIncluder __RPC_FAR * This,
  13886.     /* [in] */ HICON h1,
  13887.     /* [in] */ HDC h2);
  13888.  
  13889.  
  13890. void __RPC_STUB IDummyHICONIncluder_Dummy_Stub(
  13891.     IRpcStubBuffer *This,
  13892.     IRpcChannelBuffer *_pRpcChannelBuffer,
  13893.     PRPC_MESSAGE _pRpcMessage,
  13894.     DWORD *_pdwStubPhase);
  13895.  
  13896.  
  13897.  
  13898. #endif     /* __IDummyHICONIncluder_INTERFACE_DEFINED__ */
  13899.  
  13900.  
  13901. /* interface __MIDL_itf_objidl_0081 */
  13902. /* [local] */ 
  13903.  
  13904. #if ( _MSC_VER >= 800 )
  13905. #if _MSC_VER >= 1200
  13906. #pragma warning(pop)
  13907. #else
  13908. #pragma warning(default:4201)
  13909. #endif
  13910. #endif
  13911.  
  13912.  
  13913. extern RPC_IF_HANDLE __MIDL_itf_objidl_0081_v0_0_c_ifspec;
  13914. extern RPC_IF_HANDLE __MIDL_itf_objidl_0081_v0_0_s_ifspec;
  13915.  
  13916. /* Additional Prototypes for ALL interfaces */
  13917.  
  13918. unsigned long             __RPC_USER  ASYNC_STGMEDIUM_UserSize(     unsigned long __RPC_FAR *, unsigned long            , ASYNC_STGMEDIUM __RPC_FAR * ); 
  13919. unsigned char __RPC_FAR * __RPC_USER  ASYNC_STGMEDIUM_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, ASYNC_STGMEDIUM __RPC_FAR * ); 
  13920. unsigned char __RPC_FAR * __RPC_USER  ASYNC_STGMEDIUM_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, ASYNC_STGMEDIUM __RPC_FAR * ); 
  13921. void                      __RPC_USER  ASYNC_STGMEDIUM_UserFree(     unsigned long __RPC_FAR *, ASYNC_STGMEDIUM __RPC_FAR * ); 
  13922.  
  13923. unsigned long             __RPC_USER  CLIPFORMAT_UserSize(     unsigned long __RPC_FAR *, unsigned long            , CLIPFORMAT __RPC_FAR * ); 
  13924. unsigned char __RPC_FAR * __RPC_USER  CLIPFORMAT_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, CLIPFORMAT __RPC_FAR * ); 
  13925. unsigned char __RPC_FAR * __RPC_USER  CLIPFORMAT_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, CLIPFORMAT __RPC_FAR * ); 
  13926. void                      __RPC_USER  CLIPFORMAT_UserFree(     unsigned long __RPC_FAR *, CLIPFORMAT __RPC_FAR * ); 
  13927.  
  13928. unsigned long             __RPC_USER  FLAG_STGMEDIUM_UserSize(     unsigned long __RPC_FAR *, unsigned long            , FLAG_STGMEDIUM __RPC_FAR * ); 
  13929. unsigned char __RPC_FAR * __RPC_USER  FLAG_STGMEDIUM_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, FLAG_STGMEDIUM __RPC_FAR * ); 
  13930. unsigned char __RPC_FAR * __RPC_USER  FLAG_STGMEDIUM_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, FLAG_STGMEDIUM __RPC_FAR * ); 
  13931. void                      __RPC_USER  FLAG_STGMEDIUM_UserFree(     unsigned long __RPC_FAR *, FLAG_STGMEDIUM __RPC_FAR * ); 
  13932.  
  13933. unsigned long             __RPC_USER  HBITMAP_UserSize(     unsigned long __RPC_FAR *, unsigned long            , HBITMAP __RPC_FAR * ); 
  13934. unsigned char __RPC_FAR * __RPC_USER  HBITMAP_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HBITMAP __RPC_FAR * ); 
  13935. unsigned char __RPC_FAR * __RPC_USER  HBITMAP_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HBITMAP __RPC_FAR * ); 
  13936. void                      __RPC_USER  HBITMAP_UserFree(     unsigned long __RPC_FAR *, HBITMAP __RPC_FAR * ); 
  13937.  
  13938. unsigned long             __RPC_USER  HDC_UserSize(     unsigned long __RPC_FAR *, unsigned long            , HDC __RPC_FAR * ); 
  13939. unsigned char __RPC_FAR * __RPC_USER  HDC_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HDC __RPC_FAR * ); 
  13940. unsigned char __RPC_FAR * __RPC_USER  HDC_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HDC __RPC_FAR * ); 
  13941. void                      __RPC_USER  HDC_UserFree(     unsigned long __RPC_FAR *, HDC __RPC_FAR * ); 
  13942.  
  13943. unsigned long             __RPC_USER  HICON_UserSize(     unsigned long __RPC_FAR *, unsigned long            , HICON __RPC_FAR * ); 
  13944. unsigned char __RPC_FAR * __RPC_USER  HICON_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HICON __RPC_FAR * ); 
  13945. unsigned char __RPC_FAR * __RPC_USER  HICON_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, HICON __RPC_FAR * ); 
  13946. void                      __RPC_USER  HICON_UserFree(     unsigned long __RPC_FAR *, HICON __RPC_FAR * ); 
  13947.  
  13948. unsigned long             __RPC_USER  SNB_UserSize(     unsigned long __RPC_FAR *, unsigned long            , SNB __RPC_FAR * ); 
  13949. unsigned char __RPC_FAR * __RPC_USER  SNB_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, SNB __RPC_FAR * ); 
  13950. unsigned char __RPC_FAR * __RPC_USER  SNB_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, SNB __RPC_FAR * ); 
  13951. void                      __RPC_USER  SNB_UserFree(     unsigned long __RPC_FAR *, SNB __RPC_FAR * ); 
  13952.  
  13953. unsigned long             __RPC_USER  STGMEDIUM_UserSize(     unsigned long __RPC_FAR *, unsigned long            , STGMEDIUM __RPC_FAR * ); 
  13954. unsigned char __RPC_FAR * __RPC_USER  STGMEDIUM_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, STGMEDIUM __RPC_FAR * ); 
  13955. unsigned char __RPC_FAR * __RPC_USER  STGMEDIUM_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, STGMEDIUM __RPC_FAR * ); 
  13956. void                      __RPC_USER  STGMEDIUM_UserFree(     unsigned long __RPC_FAR *, STGMEDIUM __RPC_FAR * ); 
  13957.  
  13958. /* [local] */ HRESULT STDMETHODCALLTYPE IEnumUnknown_Next_Proxy( 
  13959.     IEnumUnknown __RPC_FAR * This,
  13960.     /* [in] */ ULONG celt,
  13961.     /* [out] */ IUnknown __RPC_FAR *__RPC_FAR *rgelt,
  13962.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  13963.  
  13964.  
  13965. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumUnknown_Next_Stub( 
  13966.     IEnumUnknown __RPC_FAR * This,
  13967.     /* [in] */ ULONG celt,
  13968.     /* [length_is][size_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *rgelt,
  13969.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  13970.  
  13971. /* [local] */ HRESULT STDMETHODCALLTYPE IBindCtx_SetBindOptions_Proxy( 
  13972.     IBindCtx __RPC_FAR * This,
  13973.     /* [in] */ BIND_OPTS __RPC_FAR *pbindopts);
  13974.  
  13975.  
  13976. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindCtx_SetBindOptions_Stub( 
  13977.     IBindCtx __RPC_FAR * This,
  13978.     /* [in] */ BIND_OPTS2 __RPC_FAR *pbindopts);
  13979.  
  13980. /* [local] */ HRESULT STDMETHODCALLTYPE IBindCtx_GetBindOptions_Proxy( 
  13981.     IBindCtx __RPC_FAR * This,
  13982.     /* [out][in] */ BIND_OPTS __RPC_FAR *pbindopts);
  13983.  
  13984.  
  13985. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindCtx_GetBindOptions_Stub( 
  13986.     IBindCtx __RPC_FAR * This,
  13987.     /* [out][in] */ BIND_OPTS2 __RPC_FAR *pbindopts);
  13988.  
  13989. /* [local] */ HRESULT STDMETHODCALLTYPE IEnumMoniker_Next_Proxy( 
  13990.     IEnumMoniker __RPC_FAR * This,
  13991.     /* [in] */ ULONG celt,
  13992.     /* [length_is][size_is][out] */ IMoniker __RPC_FAR *__RPC_FAR *rgelt,
  13993.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  13994.  
  13995.  
  13996. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumMoniker_Next_Stub( 
  13997.     IEnumMoniker __RPC_FAR * This,
  13998.     /* [in] */ ULONG celt,
  13999.     /* [length_is][size_is][out] */ IMoniker __RPC_FAR *__RPC_FAR *rgelt,
  14000.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  14001.  
  14002. /* [local] */ BOOL STDMETHODCALLTYPE IRunnableObject_IsRunning_Proxy( 
  14003.     IRunnableObject __RPC_FAR * This);
  14004.  
  14005.  
  14006. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRunnableObject_IsRunning_Stub( 
  14007.     IRunnableObject __RPC_FAR * This);
  14008.  
  14009. /* [local] */ HRESULT STDMETHODCALLTYPE IMoniker_BindToObject_Proxy( 
  14010.     IMoniker __RPC_FAR * This,
  14011.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  14012.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  14013.     /* [in] */ REFIID riidResult,
  14014.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvResult);
  14015.  
  14016.  
  14017. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMoniker_BindToObject_Stub( 
  14018.     IMoniker __RPC_FAR * This,
  14019.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  14020.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  14021.     /* [in] */ REFIID riidResult,
  14022.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvResult);
  14023.  
  14024. /* [local] */ HRESULT STDMETHODCALLTYPE IMoniker_BindToStorage_Proxy( 
  14025.     IMoniker __RPC_FAR * This,
  14026.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  14027.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  14028.     /* [in] */ REFIID riid,
  14029.     /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObj);
  14030.  
  14031.  
  14032. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMoniker_BindToStorage_Stub( 
  14033.     IMoniker __RPC_FAR * This,
  14034.     /* [unique][in] */ IBindCtx __RPC_FAR *pbc,
  14035.     /* [unique][in] */ IMoniker __RPC_FAR *pmkToLeft,
  14036.     /* [in] */ REFIID riid,
  14037.     /* [iid_is][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppvObj);
  14038.  
  14039. /* [local] */ HRESULT STDMETHODCALLTYPE IEnumString_Next_Proxy( 
  14040.     IEnumString __RPC_FAR * This,
  14041.     /* [in] */ ULONG celt,
  14042.     /* [length_is][size_is][out] */ LPOLESTR __RPC_FAR *rgelt,
  14043.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  14044.  
  14045.  
  14046. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumString_Next_Stub( 
  14047.     IEnumString __RPC_FAR * This,
  14048.     /* [in] */ ULONG celt,
  14049.     /* [length_is][size_is][out] */ LPOLESTR __RPC_FAR *rgelt,
  14050.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  14051.  
  14052. /* [local] */ HRESULT STDMETHODCALLTYPE ISequentialStream_Read_Proxy( 
  14053.     ISequentialStream __RPC_FAR * This,
  14054.     /* [length_is][size_is][out] */ void __RPC_FAR *pv,
  14055.     /* [in] */ ULONG cb,
  14056.     /* [out] */ ULONG __RPC_FAR *pcbRead);
  14057.  
  14058.  
  14059. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISequentialStream_Read_Stub( 
  14060.     ISequentialStream __RPC_FAR * This,
  14061.     /* [length_is][size_is][out] */ byte __RPC_FAR *pv,
  14062.     /* [in] */ ULONG cb,
  14063.     /* [out] */ ULONG __RPC_FAR *pcbRead);
  14064.  
  14065. /* [local] */ HRESULT STDMETHODCALLTYPE ISequentialStream_Write_Proxy( 
  14066.     ISequentialStream __RPC_FAR * This,
  14067.     /* [size_is][in] */ const void __RPC_FAR *pv,
  14068.     /* [in] */ ULONG cb,
  14069.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  14070.  
  14071.  
  14072. /* [call_as] */ HRESULT STDMETHODCALLTYPE ISequentialStream_Write_Stub( 
  14073.     ISequentialStream __RPC_FAR * This,
  14074.     /* [size_is][in] */ const byte __RPC_FAR *pv,
  14075.     /* [in] */ ULONG cb,
  14076.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  14077.  
  14078. /* [local] */ HRESULT STDMETHODCALLTYPE IStream_Seek_Proxy( 
  14079.     IStream __RPC_FAR * This,
  14080.     /* [in] */ LARGE_INTEGER dlibMove,
  14081.     /* [in] */ DWORD dwOrigin,
  14082.     /* [out] */ ULARGE_INTEGER __RPC_FAR *plibNewPosition);
  14083.  
  14084.  
  14085. /* [call_as] */ HRESULT STDMETHODCALLTYPE IStream_Seek_Stub( 
  14086.     IStream __RPC_FAR * This,
  14087.     /* [in] */ LARGE_INTEGER dlibMove,
  14088.     /* [in] */ DWORD dwOrigin,
  14089.     /* [out] */ ULARGE_INTEGER __RPC_FAR *plibNewPosition);
  14090.  
  14091. /* [local] */ HRESULT STDMETHODCALLTYPE IStream_CopyTo_Proxy( 
  14092.     IStream __RPC_FAR * This,
  14093.     /* [unique][in] */ IStream __RPC_FAR *pstm,
  14094.     /* [in] */ ULARGE_INTEGER cb,
  14095.     /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbRead,
  14096.     /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbWritten);
  14097.  
  14098.  
  14099. /* [call_as] */ HRESULT STDMETHODCALLTYPE IStream_CopyTo_Stub( 
  14100.     IStream __RPC_FAR * This,
  14101.     /* [unique][in] */ IStream __RPC_FAR *pstm,
  14102.     /* [in] */ ULARGE_INTEGER cb,
  14103.     /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbRead,
  14104.     /* [out] */ ULARGE_INTEGER __RPC_FAR *pcbWritten);
  14105.  
  14106. /* [local] */ HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Next_Proxy( 
  14107.     IEnumSTATSTG __RPC_FAR * This,
  14108.     /* [in] */ ULONG celt,
  14109.     /* [length_is][size_is][out] */ STATSTG __RPC_FAR *rgelt,
  14110.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  14111.  
  14112.  
  14113. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Next_Stub( 
  14114.     IEnumSTATSTG __RPC_FAR * This,
  14115.     /* [in] */ ULONG celt,
  14116.     /* [length_is][size_is][out] */ STATSTG __RPC_FAR *rgelt,
  14117.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  14118.  
  14119. /* [local] */ HRESULT STDMETHODCALLTYPE IStorage_OpenStream_Proxy( 
  14120.     IStorage __RPC_FAR * This,
  14121.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  14122.     /* [unique][in] */ void __RPC_FAR *reserved1,
  14123.     /* [in] */ DWORD grfMode,
  14124.     /* [in] */ DWORD reserved2,
  14125.     /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  14126.  
  14127.  
  14128. /* [call_as] */ HRESULT STDMETHODCALLTYPE IStorage_OpenStream_Stub( 
  14129.     IStorage __RPC_FAR * This,
  14130.     /* [string][in] */ const OLECHAR __RPC_FAR *pwcsName,
  14131.     /* [in] */ unsigned long cbReserved1,
  14132.     /* [size_is][unique][in] */ byte __RPC_FAR *reserved1,
  14133.     /* [in] */ DWORD grfMode,
  14134.     /* [in] */ DWORD reserved2,
  14135.     /* [out] */ IStream __RPC_FAR *__RPC_FAR *ppstm);
  14136.  
  14137. /* [local] */ HRESULT STDMETHODCALLTYPE IStorage_EnumElements_Proxy( 
  14138.     IStorage __RPC_FAR * This,
  14139.     /* [in] */ DWORD reserved1,
  14140.     /* [size_is][unique][in] */ void __RPC_FAR *reserved2,
  14141.     /* [in] */ DWORD reserved3,
  14142.     /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum);
  14143.  
  14144.  
  14145. /* [call_as] */ HRESULT STDMETHODCALLTYPE IStorage_EnumElements_Stub( 
  14146.     IStorage __RPC_FAR * This,
  14147.     /* [in] */ DWORD reserved1,
  14148.     /* [in] */ unsigned long cbReserved2,
  14149.     /* [size_is][unique][in] */ byte __RPC_FAR *reserved2,
  14150.     /* [in] */ DWORD reserved3,
  14151.     /* [out] */ IEnumSTATSTG __RPC_FAR *__RPC_FAR *ppenum);
  14152.  
  14153. /* [local] */ HRESULT STDMETHODCALLTYPE ILockBytes_ReadAt_Proxy( 
  14154.     ILockBytes __RPC_FAR * This,
  14155.     /* [in] */ ULARGE_INTEGER ulOffset,
  14156.     /* [length_is][size_is][out] */ void __RPC_FAR *pv,
  14157.     /* [in] */ ULONG cb,
  14158.     /* [out] */ ULONG __RPC_FAR *pcbRead);
  14159.  
  14160.  
  14161. /* [call_as] */ HRESULT __stdcall ILockBytes_ReadAt_Stub( 
  14162.     ILockBytes __RPC_FAR * This,
  14163.     /* [in] */ ULARGE_INTEGER ulOffset,
  14164.     /* [length_is][size_is][out] */ byte __RPC_FAR *pv,
  14165.     /* [in] */ ULONG cb,
  14166.     /* [out] */ ULONG __RPC_FAR *pcbRead);
  14167.  
  14168. /* [local] */ HRESULT STDMETHODCALLTYPE ILockBytes_WriteAt_Proxy( 
  14169.     ILockBytes __RPC_FAR * This,
  14170.     /* [in] */ ULARGE_INTEGER ulOffset,
  14171.     /* [size_is][in] */ const void __RPC_FAR *pv,
  14172.     /* [in] */ ULONG cb,
  14173.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  14174.  
  14175.  
  14176. /* [call_as] */ HRESULT STDMETHODCALLTYPE ILockBytes_WriteAt_Stub( 
  14177.     ILockBytes __RPC_FAR * This,
  14178.     /* [in] */ ULARGE_INTEGER ulOffset,
  14179.     /* [size_is][in] */ const byte __RPC_FAR *pv,
  14180.     /* [in] */ ULONG cb,
  14181.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  14182.  
  14183. /* [local] */ HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Next_Proxy( 
  14184.     IEnumFORMATETC __RPC_FAR * This,
  14185.     /* [in] */ ULONG celt,
  14186.     /* [length_is][size_is][out] */ FORMATETC __RPC_FAR *rgelt,
  14187.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  14188.  
  14189.  
  14190. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Next_Stub( 
  14191.     IEnumFORMATETC __RPC_FAR * This,
  14192.     /* [in] */ ULONG celt,
  14193.     /* [length_is][size_is][out] */ FORMATETC __RPC_FAR *rgelt,
  14194.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  14195.  
  14196. /* [local] */ HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Next_Proxy( 
  14197.     IEnumSTATDATA __RPC_FAR * This,
  14198.     /* [in] */ ULONG celt,
  14199.     /* [length_is][size_is][out] */ STATDATA __RPC_FAR *rgelt,
  14200.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  14201.  
  14202.  
  14203. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Next_Stub( 
  14204.     IEnumSTATDATA __RPC_FAR * This,
  14205.     /* [in] */ ULONG celt,
  14206.     /* [length_is][size_is][out] */ STATDATA __RPC_FAR *rgelt,
  14207.     /* [out] */ ULONG __RPC_FAR *pceltFetched);
  14208.  
  14209. /* [local] */ void STDMETHODCALLTYPE IAdviseSink_OnDataChange_Proxy( 
  14210.     IAdviseSink __RPC_FAR * This,
  14211.     /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  14212.     /* [unique][in] */ STGMEDIUM __RPC_FAR *pStgmed);
  14213.  
  14214.  
  14215. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAdviseSink_OnDataChange_Stub( 
  14216.     IAdviseSink __RPC_FAR * This,
  14217.     /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  14218.     /* [unique][in] */ ASYNC_STGMEDIUM __RPC_FAR *pStgmed);
  14219.  
  14220. /* [local] */ void STDMETHODCALLTYPE IAdviseSink_OnViewChange_Proxy( 
  14221.     IAdviseSink __RPC_FAR * This,
  14222.     /* [in] */ DWORD dwAspect,
  14223.     /* [in] */ LONG lindex);
  14224.  
  14225.  
  14226. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAdviseSink_OnViewChange_Stub( 
  14227.     IAdviseSink __RPC_FAR * This,
  14228.     /* [in] */ DWORD dwAspect,
  14229.     /* [in] */ LONG lindex);
  14230.  
  14231. /* [local] */ void STDMETHODCALLTYPE IAdviseSink_OnRename_Proxy( 
  14232.     IAdviseSink __RPC_FAR * This,
  14233.     /* [in] */ IMoniker __RPC_FAR *pmk);
  14234.  
  14235.  
  14236. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAdviseSink_OnRename_Stub( 
  14237.     IAdviseSink __RPC_FAR * This,
  14238.     /* [in] */ IMoniker __RPC_FAR *pmk);
  14239.  
  14240. /* [local] */ void STDMETHODCALLTYPE IAdviseSink_OnSave_Proxy( 
  14241.     IAdviseSink __RPC_FAR * This);
  14242.  
  14243.  
  14244. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAdviseSink_OnSave_Stub( 
  14245.     IAdviseSink __RPC_FAR * This);
  14246.  
  14247. /* [local] */ void STDMETHODCALLTYPE IAdviseSink_OnClose_Proxy( 
  14248.     IAdviseSink __RPC_FAR * This);
  14249.  
  14250.  
  14251. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAdviseSink_OnClose_Stub( 
  14252.     IAdviseSink __RPC_FAR * This);
  14253.  
  14254. /* [local] */ void STDMETHODCALLTYPE IAdviseSink2_OnLinkSrcChange_Proxy( 
  14255.     IAdviseSink2 __RPC_FAR * This,
  14256.     /* [unique][in] */ IMoniker __RPC_FAR *pmk);
  14257.  
  14258.  
  14259. /* [call_as] */ HRESULT STDMETHODCALLTYPE IAdviseSink2_OnLinkSrcChange_Stub( 
  14260.     IAdviseSink2 __RPC_FAR * This,
  14261.     /* [unique][in] */ IMoniker __RPC_FAR *pmk);
  14262.  
  14263. /* [local] */ HRESULT STDMETHODCALLTYPE IDataObject_GetData_Proxy( 
  14264.     IDataObject __RPC_FAR * This,
  14265.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetcIn,
  14266.     /* [out] */ STGMEDIUM __RPC_FAR *pmedium);
  14267.  
  14268.  
  14269. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDataObject_GetData_Stub( 
  14270.     IDataObject __RPC_FAR * This,
  14271.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetcIn,
  14272.     /* [out] */ STGMEDIUM __RPC_FAR *pRemoteMedium);
  14273.  
  14274. /* [local] */ HRESULT STDMETHODCALLTYPE IDataObject_GetDataHere_Proxy( 
  14275.     IDataObject __RPC_FAR * This,
  14276.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  14277.     /* [out][in] */ STGMEDIUM __RPC_FAR *pmedium);
  14278.  
  14279.  
  14280. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDataObject_GetDataHere_Stub( 
  14281.     IDataObject __RPC_FAR * This,
  14282.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  14283.     /* [out][in] */ STGMEDIUM __RPC_FAR *pRemoteMedium);
  14284.  
  14285. /* [local] */ HRESULT STDMETHODCALLTYPE IDataObject_SetData_Proxy( 
  14286.     IDataObject __RPC_FAR * This,
  14287.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  14288.     /* [unique][in] */ STGMEDIUM __RPC_FAR *pmedium,
  14289.     /* [in] */ BOOL fRelease);
  14290.  
  14291.  
  14292. /* [call_as] */ HRESULT STDMETHODCALLTYPE IDataObject_SetData_Stub( 
  14293.     IDataObject __RPC_FAR * This,
  14294.     /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,
  14295.     /* [unique][in] */ FLAG_STGMEDIUM __RPC_FAR *pmedium,
  14296.     /* [in] */ BOOL fRelease);
  14297.  
  14298. /* [local] */ HRESULT STDMETHODCALLTYPE IFillLockBytes_FillAppend_Proxy( 
  14299.     IFillLockBytes __RPC_FAR * This,
  14300.     /* [size_is][in] */ const void __RPC_FAR *pv,
  14301.     /* [in] */ ULONG cb,
  14302.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  14303.  
  14304.  
  14305. /* [call_as] */ HRESULT __stdcall IFillLockBytes_FillAppend_Stub( 
  14306.     IFillLockBytes __RPC_FAR * This,
  14307.     /* [size_is][in] */ const byte __RPC_FAR *pv,
  14308.     /* [in] */ ULONG cb,
  14309.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  14310.  
  14311. /* [local] */ HRESULT STDMETHODCALLTYPE IFillLockBytes_FillAt_Proxy( 
  14312.     IFillLockBytes __RPC_FAR * This,
  14313.     /* [in] */ ULARGE_INTEGER ulOffset,
  14314.     /* [size_is][in] */ const void __RPC_FAR *pv,
  14315.     /* [in] */ ULONG cb,
  14316.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  14317.  
  14318.  
  14319. /* [call_as] */ HRESULT __stdcall IFillLockBytes_FillAt_Stub( 
  14320.     IFillLockBytes __RPC_FAR * This,
  14321.     /* [in] */ ULARGE_INTEGER ulOffset,
  14322.     /* [size_is][in] */ const byte __RPC_FAR *pv,
  14323.     /* [in] */ ULONG cb,
  14324.     /* [out] */ ULONG __RPC_FAR *pcbWritten);
  14325.  
  14326. /* [local] */ void STDMETHODCALLTYPE AsyncIAdviseSink_Begin_OnDataChange_Proxy( 
  14327.     AsyncIAdviseSink __RPC_FAR * This,
  14328.     /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  14329.     /* [unique][in] */ STGMEDIUM __RPC_FAR *pStgmed);
  14330.  
  14331.  
  14332. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Begin_OnDataChange_Stub( 
  14333.     AsyncIAdviseSink __RPC_FAR * This,
  14334.     /* [unique][in] */ FORMATETC __RPC_FAR *pFormatetc,
  14335.     /* [unique][in] */ ASYNC_STGMEDIUM __RPC_FAR *pStgmed);
  14336.  
  14337. /* [local] */ void STDMETHODCALLTYPE AsyncIAdviseSink_Finish_OnDataChange_Proxy( 
  14338.     AsyncIAdviseSink __RPC_FAR * This);
  14339.  
  14340.  
  14341. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Finish_OnDataChange_Stub( 
  14342.     AsyncIAdviseSink __RPC_FAR * This);
  14343.  
  14344. /* [local] */ void STDMETHODCALLTYPE AsyncIAdviseSink_Begin_OnViewChange_Proxy( 
  14345.     AsyncIAdviseSink __RPC_FAR * This,
  14346.     /* [in] */ DWORD dwAspect,
  14347.     /* [in] */ LONG lindex);
  14348.  
  14349.  
  14350. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Begin_OnViewChange_Stub( 
  14351.     AsyncIAdviseSink __RPC_FAR * This,
  14352.     /* [in] */ DWORD dwAspect,
  14353.     /* [in] */ LONG lindex);
  14354.  
  14355. /* [local] */ void STDMETHODCALLTYPE AsyncIAdviseSink_Finish_OnViewChange_Proxy( 
  14356.     AsyncIAdviseSink __RPC_FAR * This);
  14357.  
  14358.  
  14359. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Finish_OnViewChange_Stub( 
  14360.     AsyncIAdviseSink __RPC_FAR * This);
  14361.  
  14362. /* [local] */ void STDMETHODCALLTYPE AsyncIAdviseSink_Begin_OnRename_Proxy( 
  14363.     AsyncIAdviseSink __RPC_FAR * This,
  14364.     /* [in] */ IMoniker __RPC_FAR *pmk);
  14365.  
  14366.  
  14367. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Begin_OnRename_Stub( 
  14368.     AsyncIAdviseSink __RPC_FAR * This,
  14369.     /* [in] */ IMoniker __RPC_FAR *pmk);
  14370.  
  14371. /* [local] */ void STDMETHODCALLTYPE AsyncIAdviseSink_Finish_OnRename_Proxy( 
  14372.     AsyncIAdviseSink __RPC_FAR * This);
  14373.  
  14374.  
  14375. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Finish_OnRename_Stub( 
  14376.     AsyncIAdviseSink __RPC_FAR * This);
  14377.  
  14378. /* [local] */ void STDMETHODCALLTYPE AsyncIAdviseSink_Begin_OnSave_Proxy( 
  14379.     AsyncIAdviseSink __RPC_FAR * This);
  14380.  
  14381.  
  14382. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Begin_OnSave_Stub( 
  14383.     AsyncIAdviseSink __RPC_FAR * This);
  14384.  
  14385. /* [local] */ void STDMETHODCALLTYPE AsyncIAdviseSink_Finish_OnSave_Proxy( 
  14386.     AsyncIAdviseSink __RPC_FAR * This);
  14387.  
  14388.  
  14389. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Finish_OnSave_Stub( 
  14390.     AsyncIAdviseSink __RPC_FAR * This);
  14391.  
  14392. /* [local] */ void STDMETHODCALLTYPE AsyncIAdviseSink_Begin_OnClose_Proxy( 
  14393.     AsyncIAdviseSink __RPC_FAR * This);
  14394.  
  14395.  
  14396. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Begin_OnClose_Stub( 
  14397.     AsyncIAdviseSink __RPC_FAR * This);
  14398.  
  14399. /* [local] */ void STDMETHODCALLTYPE AsyncIAdviseSink_Finish_OnClose_Proxy( 
  14400.     AsyncIAdviseSink __RPC_FAR * This);
  14401.  
  14402.  
  14403. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink_Finish_OnClose_Stub( 
  14404.     AsyncIAdviseSink __RPC_FAR * This);
  14405.  
  14406. /* [local] */ void STDMETHODCALLTYPE AsyncIAdviseSink2_Begin_OnLinkSrcChange_Proxy( 
  14407.     AsyncIAdviseSink2 __RPC_FAR * This,
  14408.     /* [unique][in] */ IMoniker __RPC_FAR *pmk);
  14409.  
  14410.  
  14411. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink2_Begin_OnLinkSrcChange_Stub( 
  14412.     AsyncIAdviseSink2 __RPC_FAR * This,
  14413.     /* [unique][in] */ IMoniker __RPC_FAR *pmk);
  14414.  
  14415. /* [local] */ void STDMETHODCALLTYPE AsyncIAdviseSink2_Finish_OnLinkSrcChange_Proxy( 
  14416.     AsyncIAdviseSink2 __RPC_FAR * This);
  14417.  
  14418.  
  14419. /* [call_as] */ HRESULT STDMETHODCALLTYPE AsyncIAdviseSink2_Finish_OnLinkSrcChange_Stub( 
  14420.     AsyncIAdviseSink2 __RPC_FAR * This);
  14421.  
  14422.  
  14423.  
  14424. /* end of Additional Prototypes */
  14425.  
  14426. #ifdef __cplusplus
  14427. }
  14428. #endif
  14429.  
  14430. #endif
  14431.  
  14432.  
  14433. #pragma option pop /*P_O_Pop*/
  14434.