ObjIdl.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:418k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for objidl.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __objidl_h__
  27. #define __objidl_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IMarshal_FWD_DEFINED__
  33. #define __IMarshal_FWD_DEFINED__
  34. typedef interface IMarshal IMarshal;
  35. #endif  /* __IMarshal_FWD_DEFINED__ */
  36. #ifndef __IMarshal2_FWD_DEFINED__
  37. #define __IMarshal2_FWD_DEFINED__
  38. typedef interface IMarshal2 IMarshal2;
  39. #endif  /* __IMarshal2_FWD_DEFINED__ */
  40. #ifndef __IMalloc_FWD_DEFINED__
  41. #define __IMalloc_FWD_DEFINED__
  42. typedef interface IMalloc IMalloc;
  43. #endif  /* __IMalloc_FWD_DEFINED__ */
  44. #ifndef __IMallocSpy_FWD_DEFINED__
  45. #define __IMallocSpy_FWD_DEFINED__
  46. typedef interface IMallocSpy IMallocSpy;
  47. #endif  /* __IMallocSpy_FWD_DEFINED__ */
  48. #ifndef __IStdMarshalInfo_FWD_DEFINED__
  49. #define __IStdMarshalInfo_FWD_DEFINED__
  50. typedef interface IStdMarshalInfo IStdMarshalInfo;
  51. #endif  /* __IStdMarshalInfo_FWD_DEFINED__ */
  52. #ifndef __IExternalConnection_FWD_DEFINED__
  53. #define __IExternalConnection_FWD_DEFINED__
  54. typedef interface IExternalConnection IExternalConnection;
  55. #endif  /* __IExternalConnection_FWD_DEFINED__ */
  56. #ifndef __IMultiQI_FWD_DEFINED__
  57. #define __IMultiQI_FWD_DEFINED__
  58. typedef interface IMultiQI IMultiQI;
  59. #endif  /* __IMultiQI_FWD_DEFINED__ */
  60. #ifndef __AsyncIMultiQI_FWD_DEFINED__
  61. #define __AsyncIMultiQI_FWD_DEFINED__
  62. typedef interface AsyncIMultiQI AsyncIMultiQI;
  63. #endif  /* __AsyncIMultiQI_FWD_DEFINED__ */
  64. #ifndef __IInternalUnknown_FWD_DEFINED__
  65. #define __IInternalUnknown_FWD_DEFINED__
  66. typedef interface IInternalUnknown IInternalUnknown;
  67. #endif  /* __IInternalUnknown_FWD_DEFINED__ */
  68. #ifndef __IEnumUnknown_FWD_DEFINED__
  69. #define __IEnumUnknown_FWD_DEFINED__
  70. typedef interface IEnumUnknown IEnumUnknown;
  71. #endif  /* __IEnumUnknown_FWD_DEFINED__ */
  72. #ifndef __IBindCtx_FWD_DEFINED__
  73. #define __IBindCtx_FWD_DEFINED__
  74. typedef interface IBindCtx IBindCtx;
  75. #endif  /* __IBindCtx_FWD_DEFINED__ */
  76. #ifndef __IEnumMoniker_FWD_DEFINED__
  77. #define __IEnumMoniker_FWD_DEFINED__
  78. typedef interface IEnumMoniker IEnumMoniker;
  79. #endif  /* __IEnumMoniker_FWD_DEFINED__ */
  80. #ifndef __IRunnableObject_FWD_DEFINED__
  81. #define __IRunnableObject_FWD_DEFINED__
  82. typedef interface IRunnableObject IRunnableObject;
  83. #endif  /* __IRunnableObject_FWD_DEFINED__ */
  84. #ifndef __IRunningObjectTable_FWD_DEFINED__
  85. #define __IRunningObjectTable_FWD_DEFINED__
  86. typedef interface IRunningObjectTable IRunningObjectTable;
  87. #endif  /* __IRunningObjectTable_FWD_DEFINED__ */
  88. #ifndef __IPersist_FWD_DEFINED__
  89. #define __IPersist_FWD_DEFINED__
  90. typedef interface IPersist IPersist;
  91. #endif  /* __IPersist_FWD_DEFINED__ */
  92. #ifndef __IPersistStream_FWD_DEFINED__
  93. #define __IPersistStream_FWD_DEFINED__
  94. typedef interface IPersistStream IPersistStream;
  95. #endif  /* __IPersistStream_FWD_DEFINED__ */
  96. #ifndef __IMoniker_FWD_DEFINED__
  97. #define __IMoniker_FWD_DEFINED__
  98. typedef interface IMoniker IMoniker;
  99. #endif  /* __IMoniker_FWD_DEFINED__ */
  100. #ifndef __IROTData_FWD_DEFINED__
  101. #define __IROTData_FWD_DEFINED__
  102. typedef interface IROTData IROTData;
  103. #endif  /* __IROTData_FWD_DEFINED__ */
  104. #ifndef __IEnumString_FWD_DEFINED__
  105. #define __IEnumString_FWD_DEFINED__
  106. typedef interface IEnumString IEnumString;
  107. #endif  /* __IEnumString_FWD_DEFINED__ */
  108. #ifndef __ISequentialStream_FWD_DEFINED__
  109. #define __ISequentialStream_FWD_DEFINED__
  110. typedef interface ISequentialStream ISequentialStream;
  111. #endif  /* __ISequentialStream_FWD_DEFINED__ */
  112. #ifndef __IStream_FWD_DEFINED__
  113. #define __IStream_FWD_DEFINED__
  114. typedef interface IStream IStream;
  115. #endif  /* __IStream_FWD_DEFINED__ */
  116. #ifndef __IEnumSTATSTG_FWD_DEFINED__
  117. #define __IEnumSTATSTG_FWD_DEFINED__
  118. typedef interface IEnumSTATSTG IEnumSTATSTG;
  119. #endif  /* __IEnumSTATSTG_FWD_DEFINED__ */
  120. #ifndef __IStorage_FWD_DEFINED__
  121. #define __IStorage_FWD_DEFINED__
  122. typedef interface IStorage IStorage;
  123. #endif  /* __IStorage_FWD_DEFINED__ */
  124. #ifndef __IPersistFile_FWD_DEFINED__
  125. #define __IPersistFile_FWD_DEFINED__
  126. typedef interface IPersistFile IPersistFile;
  127. #endif  /* __IPersistFile_FWD_DEFINED__ */
  128. #ifndef __IPersistStorage_FWD_DEFINED__
  129. #define __IPersistStorage_FWD_DEFINED__
  130. typedef interface IPersistStorage IPersistStorage;
  131. #endif  /* __IPersistStorage_FWD_DEFINED__ */
  132. #ifndef __ILockBytes_FWD_DEFINED__
  133. #define __ILockBytes_FWD_DEFINED__
  134. typedef interface ILockBytes ILockBytes;
  135. #endif  /* __ILockBytes_FWD_DEFINED__ */
  136. #ifndef __IEnumFORMATETC_FWD_DEFINED__
  137. #define __IEnumFORMATETC_FWD_DEFINED__
  138. typedef interface IEnumFORMATETC IEnumFORMATETC;
  139. #endif  /* __IEnumFORMATETC_FWD_DEFINED__ */
  140. #ifndef __IEnumSTATDATA_FWD_DEFINED__
  141. #define __IEnumSTATDATA_FWD_DEFINED__
  142. typedef interface IEnumSTATDATA IEnumSTATDATA;
  143. #endif  /* __IEnumSTATDATA_FWD_DEFINED__ */
  144. #ifndef __IRootStorage_FWD_DEFINED__
  145. #define __IRootStorage_FWD_DEFINED__
  146. typedef interface IRootStorage IRootStorage;
  147. #endif  /* __IRootStorage_FWD_DEFINED__ */
  148. #ifndef __IAdviseSink_FWD_DEFINED__
  149. #define __IAdviseSink_FWD_DEFINED__
  150. typedef interface IAdviseSink IAdviseSink;
  151. #endif  /* __IAdviseSink_FWD_DEFINED__ */
  152. #ifndef __AsyncIAdviseSink_FWD_DEFINED__
  153. #define __AsyncIAdviseSink_FWD_DEFINED__
  154. typedef interface AsyncIAdviseSink AsyncIAdviseSink;
  155. #endif  /* __AsyncIAdviseSink_FWD_DEFINED__ */
  156. #ifndef __IAdviseSink2_FWD_DEFINED__
  157. #define __IAdviseSink2_FWD_DEFINED__
  158. typedef interface IAdviseSink2 IAdviseSink2;
  159. #endif  /* __IAdviseSink2_FWD_DEFINED__ */
  160. #ifndef __AsyncIAdviseSink2_FWD_DEFINED__
  161. #define __AsyncIAdviseSink2_FWD_DEFINED__
  162. typedef interface AsyncIAdviseSink2 AsyncIAdviseSink2;
  163. #endif  /* __AsyncIAdviseSink2_FWD_DEFINED__ */
  164. #ifndef __IDataObject_FWD_DEFINED__
  165. #define __IDataObject_FWD_DEFINED__
  166. typedef interface IDataObject IDataObject;
  167. #endif  /* __IDataObject_FWD_DEFINED__ */
  168. #ifndef __IDataAdviseHolder_FWD_DEFINED__
  169. #define __IDataAdviseHolder_FWD_DEFINED__
  170. typedef interface IDataAdviseHolder IDataAdviseHolder;
  171. #endif  /* __IDataAdviseHolder_FWD_DEFINED__ */
  172. #ifndef __IMessageFilter_FWD_DEFINED__
  173. #define __IMessageFilter_FWD_DEFINED__
  174. typedef interface IMessageFilter IMessageFilter;
  175. #endif  /* __IMessageFilter_FWD_DEFINED__ */
  176. #ifndef __IRpcChannelBuffer_FWD_DEFINED__
  177. #define __IRpcChannelBuffer_FWD_DEFINED__
  178. typedef interface IRpcChannelBuffer IRpcChannelBuffer;
  179. #endif  /* __IRpcChannelBuffer_FWD_DEFINED__ */
  180. #ifndef __IRpcChannelBuffer2_FWD_DEFINED__
  181. #define __IRpcChannelBuffer2_FWD_DEFINED__
  182. typedef interface IRpcChannelBuffer2 IRpcChannelBuffer2;
  183. #endif  /* __IRpcChannelBuffer2_FWD_DEFINED__ */
  184. #ifndef __IAsyncRpcChannelBuffer_FWD_DEFINED__
  185. #define __IAsyncRpcChannelBuffer_FWD_DEFINED__
  186. typedef interface IAsyncRpcChannelBuffer IAsyncRpcChannelBuffer;
  187. #endif  /* __IAsyncRpcChannelBuffer_FWD_DEFINED__ */
  188. #ifndef __IRpcChannelBuffer3_FWD_DEFINED__
  189. #define __IRpcChannelBuffer3_FWD_DEFINED__
  190. typedef interface IRpcChannelBuffer3 IRpcChannelBuffer3;
  191. #endif  /* __IRpcChannelBuffer3_FWD_DEFINED__ */
  192. #ifndef __IRpcSyntaxNegotiate_FWD_DEFINED__
  193. #define __IRpcSyntaxNegotiate_FWD_DEFINED__
  194. typedef interface IRpcSyntaxNegotiate IRpcSyntaxNegotiate;
  195. #endif  /* __IRpcSyntaxNegotiate_FWD_DEFINED__ */
  196. #ifndef __IRpcProxyBuffer_FWD_DEFINED__
  197. #define __IRpcProxyBuffer_FWD_DEFINED__
  198. typedef interface IRpcProxyBuffer IRpcProxyBuffer;
  199. #endif  /* __IRpcProxyBuffer_FWD_DEFINED__ */
  200. #ifndef __IRpcStubBuffer_FWD_DEFINED__
  201. #define __IRpcStubBuffer_FWD_DEFINED__
  202. typedef interface IRpcStubBuffer IRpcStubBuffer;
  203. #endif  /* __IRpcStubBuffer_FWD_DEFINED__ */
  204. #ifndef __IPSFactoryBuffer_FWD_DEFINED__
  205. #define __IPSFactoryBuffer_FWD_DEFINED__
  206. typedef interface IPSFactoryBuffer IPSFactoryBuffer;
  207. #endif  /* __IPSFactoryBuffer_FWD_DEFINED__ */
  208. #ifndef __IChannelHook_FWD_DEFINED__
  209. #define __IChannelHook_FWD_DEFINED__
  210. typedef interface IChannelHook IChannelHook;
  211. #endif  /* __IChannelHook_FWD_DEFINED__ */
  212. #ifndef __IClientSecurity_FWD_DEFINED__
  213. #define __IClientSecurity_FWD_DEFINED__
  214. typedef interface IClientSecurity IClientSecurity;
  215. #endif  /* __IClientSecurity_FWD_DEFINED__ */
  216. #ifndef __IServerSecurity_FWD_DEFINED__
  217. #define __IServerSecurity_FWD_DEFINED__
  218. typedef interface IServerSecurity IServerSecurity;
  219. #endif  /* __IServerSecurity_FWD_DEFINED__ */
  220. #ifndef __IClassActivator_FWD_DEFINED__
  221. #define __IClassActivator_FWD_DEFINED__
  222. typedef interface IClassActivator IClassActivator;
  223. #endif  /* __IClassActivator_FWD_DEFINED__ */
  224. #ifndef __IRpcOptions_FWD_DEFINED__
  225. #define __IRpcOptions_FWD_DEFINED__
  226. typedef interface IRpcOptions IRpcOptions;
  227. #endif  /* __IRpcOptions_FWD_DEFINED__ */
  228. #ifndef __IFillLockBytes_FWD_DEFINED__
  229. #define __IFillLockBytes_FWD_DEFINED__
  230. typedef interface IFillLockBytes IFillLockBytes;
  231. #endif  /* __IFillLockBytes_FWD_DEFINED__ */
  232. #ifndef __IProgressNotify_FWD_DEFINED__
  233. #define __IProgressNotify_FWD_DEFINED__
  234. typedef interface IProgressNotify IProgressNotify;
  235. #endif  /* __IProgressNotify_FWD_DEFINED__ */
  236. #ifndef __ILayoutStorage_FWD_DEFINED__
  237. #define __ILayoutStorage_FWD_DEFINED__
  238. typedef interface ILayoutStorage ILayoutStorage;
  239. #endif  /* __ILayoutStorage_FWD_DEFINED__ */
  240. #ifndef __IBlockingLock_FWD_DEFINED__
  241. #define __IBlockingLock_FWD_DEFINED__
  242. typedef interface IBlockingLock IBlockingLock;
  243. #endif  /* __IBlockingLock_FWD_DEFINED__ */
  244. #ifndef __ITimeAndNoticeControl_FWD_DEFINED__
  245. #define __ITimeAndNoticeControl_FWD_DEFINED__
  246. typedef interface ITimeAndNoticeControl ITimeAndNoticeControl;
  247. #endif  /* __ITimeAndNoticeControl_FWD_DEFINED__ */
  248. #ifndef __IOplockStorage_FWD_DEFINED__
  249. #define __IOplockStorage_FWD_DEFINED__
  250. typedef interface IOplockStorage IOplockStorage;
  251. #endif  /* __IOplockStorage_FWD_DEFINED__ */
  252. #ifndef __ISurrogate_FWD_DEFINED__
  253. #define __ISurrogate_FWD_DEFINED__
  254. typedef interface ISurrogate ISurrogate;
  255. #endif  /* __ISurrogate_FWD_DEFINED__ */
  256. #ifndef __IGlobalInterfaceTable_FWD_DEFINED__
  257. #define __IGlobalInterfaceTable_FWD_DEFINED__
  258. typedef interface IGlobalInterfaceTable IGlobalInterfaceTable;
  259. #endif  /* __IGlobalInterfaceTable_FWD_DEFINED__ */
  260. #ifndef __IDirectWriterLock_FWD_DEFINED__
  261. #define __IDirectWriterLock_FWD_DEFINED__
  262. typedef interface IDirectWriterLock IDirectWriterLock;
  263. #endif  /* __IDirectWriterLock_FWD_DEFINED__ */
  264. #ifndef __ISynchronize_FWD_DEFINED__
  265. #define __ISynchronize_FWD_DEFINED__
  266. typedef interface ISynchronize ISynchronize;
  267. #endif  /* __ISynchronize_FWD_DEFINED__ */
  268. #ifndef __ISynchronizeHandle_FWD_DEFINED__
  269. #define __ISynchronizeHandle_FWD_DEFINED__
  270. typedef interface ISynchronizeHandle ISynchronizeHandle;
  271. #endif  /* __ISynchronizeHandle_FWD_DEFINED__ */
  272. #ifndef __ISynchronizeEvent_FWD_DEFINED__
  273. #define __ISynchronizeEvent_FWD_DEFINED__
  274. typedef interface ISynchronizeEvent ISynchronizeEvent;
  275. #endif  /* __ISynchronizeEvent_FWD_DEFINED__ */
  276. #ifndef __ISynchronizeContainer_FWD_DEFINED__
  277. #define __ISynchronizeContainer_FWD_DEFINED__
  278. typedef interface ISynchronizeContainer ISynchronizeContainer;
  279. #endif  /* __ISynchronizeContainer_FWD_DEFINED__ */
  280. #ifndef __ISynchronizeMutex_FWD_DEFINED__
  281. #define __ISynchronizeMutex_FWD_DEFINED__
  282. typedef interface ISynchronizeMutex ISynchronizeMutex;
  283. #endif  /* __ISynchronizeMutex_FWD_DEFINED__ */
  284. #ifndef __ICancelMethodCalls_FWD_DEFINED__
  285. #define __ICancelMethodCalls_FWD_DEFINED__
  286. typedef interface ICancelMethodCalls ICancelMethodCalls;
  287. #endif  /* __ICancelMethodCalls_FWD_DEFINED__ */
  288. #ifndef __IAsyncManager_FWD_DEFINED__
  289. #define __IAsyncManager_FWD_DEFINED__
  290. typedef interface IAsyncManager IAsyncManager;
  291. #endif  /* __IAsyncManager_FWD_DEFINED__ */
  292. #ifndef __ICallFactory_FWD_DEFINED__
  293. #define __ICallFactory_FWD_DEFINED__
  294. typedef interface ICallFactory ICallFactory;
  295. #endif  /* __ICallFactory_FWD_DEFINED__ */
  296. #ifndef __IRpcHelper_FWD_DEFINED__
  297. #define __IRpcHelper_FWD_DEFINED__
  298. typedef interface IRpcHelper IRpcHelper;
  299. #endif  /* __IRpcHelper_FWD_DEFINED__ */
  300. #ifndef __IReleaseMarshalBuffers_FWD_DEFINED__
  301. #define __IReleaseMarshalBuffers_FWD_DEFINED__
  302. typedef interface IReleaseMarshalBuffers IReleaseMarshalBuffers;
  303. #endif  /* __IReleaseMarshalBuffers_FWD_DEFINED__ */
  304. #ifndef __IWaitMultiple_FWD_DEFINED__
  305. #define __IWaitMultiple_FWD_DEFINED__
  306. typedef interface IWaitMultiple IWaitMultiple;
  307. #endif  /* __IWaitMultiple_FWD_DEFINED__ */
  308. #ifndef __IUrlMon_FWD_DEFINED__
  309. #define __IUrlMon_FWD_DEFINED__
  310. typedef interface IUrlMon IUrlMon;
  311. #endif  /* __IUrlMon_FWD_DEFINED__ */
  312. #ifndef __IForegroundTransfer_FWD_DEFINED__
  313. #define __IForegroundTransfer_FWD_DEFINED__
  314. typedef interface IForegroundTransfer IForegroundTransfer;
  315. #endif  /* __IForegroundTransfer_FWD_DEFINED__ */
  316. #ifndef __IAddrTrackingControl_FWD_DEFINED__
  317. #define __IAddrTrackingControl_FWD_DEFINED__
  318. typedef interface IAddrTrackingControl IAddrTrackingControl;
  319. #endif  /* __IAddrTrackingControl_FWD_DEFINED__ */
  320. #ifndef __IAddrExclusionControl_FWD_DEFINED__
  321. #define __IAddrExclusionControl_FWD_DEFINED__
  322. typedef interface IAddrExclusionControl IAddrExclusionControl;
  323. #endif  /* __IAddrExclusionControl_FWD_DEFINED__ */
  324. #ifndef __IPipeByte_FWD_DEFINED__
  325. #define __IPipeByte_FWD_DEFINED__
  326. typedef interface IPipeByte IPipeByte;
  327. #endif  /* __IPipeByte_FWD_DEFINED__ */
  328. #ifndef __AsyncIPipeByte_FWD_DEFINED__
  329. #define __AsyncIPipeByte_FWD_DEFINED__
  330. typedef interface AsyncIPipeByte AsyncIPipeByte;
  331. #endif  /* __AsyncIPipeByte_FWD_DEFINED__ */
  332. #ifndef __IPipeLong_FWD_DEFINED__
  333. #define __IPipeLong_FWD_DEFINED__
  334. typedef interface IPipeLong IPipeLong;
  335. #endif  /* __IPipeLong_FWD_DEFINED__ */
  336. #ifndef __AsyncIPipeLong_FWD_DEFINED__
  337. #define __AsyncIPipeLong_FWD_DEFINED__
  338. typedef interface AsyncIPipeLong AsyncIPipeLong;
  339. #endif  /* __AsyncIPipeLong_FWD_DEFINED__ */
  340. #ifndef __IPipeDouble_FWD_DEFINED__
  341. #define __IPipeDouble_FWD_DEFINED__
  342. typedef interface IPipeDouble IPipeDouble;
  343. #endif  /* __IPipeDouble_FWD_DEFINED__ */
  344. #ifndef __AsyncIPipeDouble_FWD_DEFINED__
  345. #define __AsyncIPipeDouble_FWD_DEFINED__
  346. typedef interface AsyncIPipeDouble AsyncIPipeDouble;
  347. #endif  /* __AsyncIPipeDouble_FWD_DEFINED__ */
  348. #ifndef __IThumbnailExtractor_FWD_DEFINED__
  349. #define __IThumbnailExtractor_FWD_DEFINED__
  350. typedef interface IThumbnailExtractor IThumbnailExtractor;
  351. #endif  /* __IThumbnailExtractor_FWD_DEFINED__ */
  352. #ifndef __IDummyHICONIncluder_FWD_DEFINED__
  353. #define __IDummyHICONIncluder_FWD_DEFINED__
  354. typedef interface IDummyHICONIncluder IDummyHICONIncluder;
  355. #endif  /* __IDummyHICONIncluder_FWD_DEFINED__ */
  356. #ifndef __IComThreadingInfo_FWD_DEFINED__
  357. #define __IComThreadingInfo_FWD_DEFINED__
  358. typedef interface IComThreadingInfo IComThreadingInfo;
  359. #endif  /* __IComThreadingInfo_FWD_DEFINED__ */
  360. #ifndef __IProcessInitControl_FWD_DEFINED__
  361. #define __IProcessInitControl_FWD_DEFINED__
  362. typedef interface IProcessInitControl IProcessInitControl;
  363. #endif  /* __IProcessInitControl_FWD_DEFINED__ */
  364. /* header files for imported files */
  365. #include "unknwn.h"
  366. #ifdef __cplusplus
  367. extern "C"{
  368. #endif 
  369. void * __RPC_USER MIDL_user_allocate(size_t);
  370. void __RPC_USER MIDL_user_free( void * ); 
  371. /* interface __MIDL_itf_objidl_0000 */
  372. /* [local] */ 
  373. //+-------------------------------------------------------------------------
  374. //+-------------------------------------------------------------------------
  375. //
  376. //  Microsoft Windows
  377. //  Copyright (c) Microsoft Corporation. All rights reserved.
  378. //
  379. //--------------------------------------------------------------------------
  380. #if ( _MSC_VER >= 800 )
  381. #if _MSC_VER >= 1200
  382. #pragma warning(push)
  383. #endif
  384. #pragma warning(disable:4201)
  385. #endif
  386. #if ( _MSC_VER >= 1020 )
  387. #pragma once
  388. #endif
  389. typedef struct _COSERVERINFO
  390.     {
  391.     DWORD dwReserved1;
  392.     LPWSTR pwszName;
  393.     COAUTHINFO *pAuthInfo;
  394.     DWORD dwReserved2;
  395.     }  COSERVERINFO;
  396. extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_v0_0_c_ifspec;
  397. extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_v0_0_s_ifspec;
  398. #ifndef __IMarshal_INTERFACE_DEFINED__
  399. #define __IMarshal_INTERFACE_DEFINED__
  400. /* interface IMarshal */
  401. /* [uuid][object][local] */ 
  402. typedef /* [unique] */ IMarshal *LPMARSHAL;
  403. EXTERN_C const IID IID_IMarshal;
  404. #if defined(__cplusplus) && !defined(CINTERFACE)
  405.     
  406.     MIDL_INTERFACE("00000003-0000-0000-C000-000000000046")
  407.     IMarshal : public IUnknown
  408.     {
  409.     public:
  410.         virtual HRESULT STDMETHODCALLTYPE GetUnmarshalClass( 
  411.             /* [in] */ REFIID riid,
  412.             /* [unique][in] */ void *pv,
  413.             /* [in] */ DWORD dwDestContext,
  414.             /* [unique][in] */ void *pvDestContext,
  415.             /* [in] */ DWORD mshlflags,
  416.             /* [out] */ CLSID *pCid) = 0;
  417.         
  418.         virtual HRESULT STDMETHODCALLTYPE GetMarshalSizeMax( 
  419.             /* [in] */ REFIID riid,
  420.             /* [unique][in] */ void *pv,
  421.             /* [in] */ DWORD dwDestContext,
  422.             /* [unique][in] */ void *pvDestContext,
  423.             /* [in] */ DWORD mshlflags,
  424.             /* [out] */ DWORD *pSize) = 0;
  425.         
  426.         virtual HRESULT STDMETHODCALLTYPE MarshalInterface( 
  427.             /* [unique][in] */ IStream *pStm,
  428.             /* [in] */ REFIID riid,
  429.             /* [unique][in] */ void *pv,
  430.             /* [in] */ DWORD dwDestContext,
  431.             /* [unique][in] */ void *pvDestContext,
  432.             /* [in] */ DWORD mshlflags) = 0;
  433.         
  434.         virtual HRESULT STDMETHODCALLTYPE UnmarshalInterface( 
  435.             /* [unique][in] */ IStream *pStm,
  436.             /* [in] */ REFIID riid,
  437.             /* [out] */ void **ppv) = 0;
  438.         
  439.         virtual HRESULT STDMETHODCALLTYPE ReleaseMarshalData( 
  440.             /* [unique][in] */ IStream *pStm) = 0;
  441.         
  442.         virtual HRESULT STDMETHODCALLTYPE DisconnectObject( 
  443.             /* [in] */ DWORD dwReserved) = 0;
  444.         
  445.     };
  446.     
  447. #else  /* C style interface */
  448.     typedef struct IMarshalVtbl
  449.     {
  450.         BEGIN_INTERFACE
  451.         
  452.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  453.             IMarshal * This,
  454.             /* [in] */ REFIID riid,
  455.             /* [iid_is][out] */ void **ppvObject);
  456.         
  457.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  458.             IMarshal * This);
  459.         
  460.         ULONG ( STDMETHODCALLTYPE *Release )( 
  461.             IMarshal * This);
  462.         
  463.         HRESULT ( STDMETHODCALLTYPE *GetUnmarshalClass )( 
  464.             IMarshal * This,
  465.             /* [in] */ REFIID riid,
  466.             /* [unique][in] */ void *pv,
  467.             /* [in] */ DWORD dwDestContext,
  468.             /* [unique][in] */ void *pvDestContext,
  469.             /* [in] */ DWORD mshlflags,
  470.             /* [out] */ CLSID *pCid);
  471.         
  472.         HRESULT ( STDMETHODCALLTYPE *GetMarshalSizeMax )( 
  473.             IMarshal * This,
  474.             /* [in] */ REFIID riid,
  475.             /* [unique][in] */ void *pv,
  476.             /* [in] */ DWORD dwDestContext,
  477.             /* [unique][in] */ void *pvDestContext,
  478.             /* [in] */ DWORD mshlflags,
  479.             /* [out] */ DWORD *pSize);
  480.         
  481.         HRESULT ( STDMETHODCALLTYPE *MarshalInterface )( 
  482.             IMarshal * This,
  483.             /* [unique][in] */ IStream *pStm,
  484.             /* [in] */ REFIID riid,
  485.             /* [unique][in] */ void *pv,
  486.             /* [in] */ DWORD dwDestContext,
  487.             /* [unique][in] */ void *pvDestContext,
  488.             /* [in] */ DWORD mshlflags);
  489.         
  490.         HRESULT ( STDMETHODCALLTYPE *UnmarshalInterface )( 
  491.             IMarshal * This,
  492.             /* [unique][in] */ IStream *pStm,
  493.             /* [in] */ REFIID riid,
  494.             /* [out] */ void **ppv);
  495.         
  496.         HRESULT ( STDMETHODCALLTYPE *ReleaseMarshalData )( 
  497.             IMarshal * This,
  498.             /* [unique][in] */ IStream *pStm);
  499.         
  500.         HRESULT ( STDMETHODCALLTYPE *DisconnectObject )( 
  501.             IMarshal * This,
  502.             /* [in] */ DWORD dwReserved);
  503.         
  504.         END_INTERFACE
  505.     } IMarshalVtbl;
  506.     interface IMarshal
  507.     {
  508.         CONST_VTBL struct IMarshalVtbl *lpVtbl;
  509.     };
  510.     
  511. #ifdef COBJMACROS
  512. #define IMarshal_QueryInterface(This,riid,ppvObject)
  513.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  514. #define IMarshal_AddRef(This)
  515.     (This)->lpVtbl -> AddRef(This)
  516. #define IMarshal_Release(This)
  517.     (This)->lpVtbl -> Release(This)
  518. #define IMarshal_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
  519.     (This)->lpVtbl -> GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
  520. #define IMarshal_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
  521.     (This)->lpVtbl -> GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
  522. #define IMarshal_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
  523.     (This)->lpVtbl -> MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
  524. #define IMarshal_UnmarshalInterface(This,pStm,riid,ppv)
  525.     (This)->lpVtbl -> UnmarshalInterface(This,pStm,riid,ppv)
  526. #define IMarshal_ReleaseMarshalData(This,pStm)
  527.     (This)->lpVtbl -> ReleaseMarshalData(This,pStm)
  528. #define IMarshal_DisconnectObject(This,dwReserved)
  529.     (This)->lpVtbl -> DisconnectObject(This,dwReserved)
  530. #endif /* COBJMACROS */
  531. #endif  /* C style interface */
  532. HRESULT STDMETHODCALLTYPE IMarshal_GetUnmarshalClass_Proxy( 
  533.     IMarshal * This,
  534.     /* [in] */ REFIID riid,
  535.     /* [unique][in] */ void *pv,
  536.     /* [in] */ DWORD dwDestContext,
  537.     /* [unique][in] */ void *pvDestContext,
  538.     /* [in] */ DWORD mshlflags,
  539.     /* [out] */ CLSID *pCid);
  540. void __RPC_STUB IMarshal_GetUnmarshalClass_Stub(
  541.     IRpcStubBuffer *This,
  542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  543.     PRPC_MESSAGE _pRpcMessage,
  544.     DWORD *_pdwStubPhase);
  545. HRESULT STDMETHODCALLTYPE IMarshal_GetMarshalSizeMax_Proxy( 
  546.     IMarshal * This,
  547.     /* [in] */ REFIID riid,
  548.     /* [unique][in] */ void *pv,
  549.     /* [in] */ DWORD dwDestContext,
  550.     /* [unique][in] */ void *pvDestContext,
  551.     /* [in] */ DWORD mshlflags,
  552.     /* [out] */ DWORD *pSize);
  553. void __RPC_STUB IMarshal_GetMarshalSizeMax_Stub(
  554.     IRpcStubBuffer *This,
  555.     IRpcChannelBuffer *_pRpcChannelBuffer,
  556.     PRPC_MESSAGE _pRpcMessage,
  557.     DWORD *_pdwStubPhase);
  558. HRESULT STDMETHODCALLTYPE IMarshal_MarshalInterface_Proxy( 
  559.     IMarshal * This,
  560.     /* [unique][in] */ IStream *pStm,
  561.     /* [in] */ REFIID riid,
  562.     /* [unique][in] */ void *pv,
  563.     /* [in] */ DWORD dwDestContext,
  564.     /* [unique][in] */ void *pvDestContext,
  565.     /* [in] */ DWORD mshlflags);
  566. void __RPC_STUB IMarshal_MarshalInterface_Stub(
  567.     IRpcStubBuffer *This,
  568.     IRpcChannelBuffer *_pRpcChannelBuffer,
  569.     PRPC_MESSAGE _pRpcMessage,
  570.     DWORD *_pdwStubPhase);
  571. HRESULT STDMETHODCALLTYPE IMarshal_UnmarshalInterface_Proxy( 
  572.     IMarshal * This,
  573.     /* [unique][in] */ IStream *pStm,
  574.     /* [in] */ REFIID riid,
  575.     /* [out] */ void **ppv);
  576. void __RPC_STUB IMarshal_UnmarshalInterface_Stub(
  577.     IRpcStubBuffer *This,
  578.     IRpcChannelBuffer *_pRpcChannelBuffer,
  579.     PRPC_MESSAGE _pRpcMessage,
  580.     DWORD *_pdwStubPhase);
  581. HRESULT STDMETHODCALLTYPE IMarshal_ReleaseMarshalData_Proxy( 
  582.     IMarshal * This,
  583.     /* [unique][in] */ IStream *pStm);
  584. void __RPC_STUB IMarshal_ReleaseMarshalData_Stub(
  585.     IRpcStubBuffer *This,
  586.     IRpcChannelBuffer *_pRpcChannelBuffer,
  587.     PRPC_MESSAGE _pRpcMessage,
  588.     DWORD *_pdwStubPhase);
  589. HRESULT STDMETHODCALLTYPE IMarshal_DisconnectObject_Proxy( 
  590.     IMarshal * This,
  591.     /* [in] */ DWORD dwReserved);
  592. void __RPC_STUB IMarshal_DisconnectObject_Stub(
  593.     IRpcStubBuffer *This,
  594.     IRpcChannelBuffer *_pRpcChannelBuffer,
  595.     PRPC_MESSAGE _pRpcMessage,
  596.     DWORD *_pdwStubPhase);
  597. #endif  /* __IMarshal_INTERFACE_DEFINED__ */
  598. #ifndef __IMarshal2_INTERFACE_DEFINED__
  599. #define __IMarshal2_INTERFACE_DEFINED__
  600. /* interface IMarshal2 */
  601. /* [uuid][object][local] */ 
  602. typedef /* [unique] */ IMarshal2 *LPMARSHAL2;
  603. EXTERN_C const IID IID_IMarshal2;
  604. #if defined(__cplusplus) && !defined(CINTERFACE)
  605.     
  606.     MIDL_INTERFACE("000001cf-0000-0000-C000-000000000046")
  607.     IMarshal2 : public IMarshal
  608.     {
  609.     public:
  610.     };
  611.     
  612. #else  /* C style interface */
  613.     typedef struct IMarshal2Vtbl
  614.     {
  615.         BEGIN_INTERFACE
  616.         
  617.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  618.             IMarshal2 * This,
  619.             /* [in] */ REFIID riid,
  620.             /* [iid_is][out] */ void **ppvObject);
  621.         
  622.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  623.             IMarshal2 * This);
  624.         
  625.         ULONG ( STDMETHODCALLTYPE *Release )( 
  626.             IMarshal2 * This);
  627.         
  628.         HRESULT ( STDMETHODCALLTYPE *GetUnmarshalClass )( 
  629.             IMarshal2 * This,
  630.             /* [in] */ REFIID riid,
  631.             /* [unique][in] */ void *pv,
  632.             /* [in] */ DWORD dwDestContext,
  633.             /* [unique][in] */ void *pvDestContext,
  634.             /* [in] */ DWORD mshlflags,
  635.             /* [out] */ CLSID *pCid);
  636.         
  637.         HRESULT ( STDMETHODCALLTYPE *GetMarshalSizeMax )( 
  638.             IMarshal2 * This,
  639.             /* [in] */ REFIID riid,
  640.             /* [unique][in] */ void *pv,
  641.             /* [in] */ DWORD dwDestContext,
  642.             /* [unique][in] */ void *pvDestContext,
  643.             /* [in] */ DWORD mshlflags,
  644.             /* [out] */ DWORD *pSize);
  645.         
  646.         HRESULT ( STDMETHODCALLTYPE *MarshalInterface )( 
  647.             IMarshal2 * This,
  648.             /* [unique][in] */ IStream *pStm,
  649.             /* [in] */ REFIID riid,
  650.             /* [unique][in] */ void *pv,
  651.             /* [in] */ DWORD dwDestContext,
  652.             /* [unique][in] */ void *pvDestContext,
  653.             /* [in] */ DWORD mshlflags);
  654.         
  655.         HRESULT ( STDMETHODCALLTYPE *UnmarshalInterface )( 
  656.             IMarshal2 * This,
  657.             /* [unique][in] */ IStream *pStm,
  658.             /* [in] */ REFIID riid,
  659.             /* [out] */ void **ppv);
  660.         
  661.         HRESULT ( STDMETHODCALLTYPE *ReleaseMarshalData )( 
  662.             IMarshal2 * This,
  663.             /* [unique][in] */ IStream *pStm);
  664.         
  665.         HRESULT ( STDMETHODCALLTYPE *DisconnectObject )( 
  666.             IMarshal2 * This,
  667.             /* [in] */ DWORD dwReserved);
  668.         
  669.         END_INTERFACE
  670.     } IMarshal2Vtbl;
  671.     interface IMarshal2
  672.     {
  673.         CONST_VTBL struct IMarshal2Vtbl *lpVtbl;
  674.     };
  675.     
  676. #ifdef COBJMACROS
  677. #define IMarshal2_QueryInterface(This,riid,ppvObject)
  678.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  679. #define IMarshal2_AddRef(This)
  680.     (This)->lpVtbl -> AddRef(This)
  681. #define IMarshal2_Release(This)
  682.     (This)->lpVtbl -> Release(This)
  683. #define IMarshal2_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
  684.     (This)->lpVtbl -> GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
  685. #define IMarshal2_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
  686.     (This)->lpVtbl -> GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
  687. #define IMarshal2_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
  688.     (This)->lpVtbl -> MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
  689. #define IMarshal2_UnmarshalInterface(This,pStm,riid,ppv)
  690.     (This)->lpVtbl -> UnmarshalInterface(This,pStm,riid,ppv)
  691. #define IMarshal2_ReleaseMarshalData(This,pStm)
  692.     (This)->lpVtbl -> ReleaseMarshalData(This,pStm)
  693. #define IMarshal2_DisconnectObject(This,dwReserved)
  694.     (This)->lpVtbl -> DisconnectObject(This,dwReserved)
  695. #endif /* COBJMACROS */
  696. #endif  /* C style interface */
  697. #endif  /* __IMarshal2_INTERFACE_DEFINED__ */
  698. #ifndef __IMalloc_INTERFACE_DEFINED__
  699. #define __IMalloc_INTERFACE_DEFINED__
  700. /* interface IMalloc */
  701. /* [uuid][object][local] */ 
  702. typedef /* [unique] */ IMalloc *LPMALLOC;
  703. EXTERN_C const IID IID_IMalloc;
  704. #if defined(__cplusplus) && !defined(CINTERFACE)
  705.     
  706.     MIDL_INTERFACE("00000002-0000-0000-C000-000000000046")
  707.     IMalloc : public IUnknown
  708.     {
  709.     public:
  710.         virtual void *STDMETHODCALLTYPE Alloc( 
  711.             /* [in] */ SIZE_T cb) = 0;
  712.         
  713.         virtual void *STDMETHODCALLTYPE Realloc( 
  714.             /* [in] */ void *pv,
  715.             /* [in] */ SIZE_T cb) = 0;
  716.         
  717.         virtual void STDMETHODCALLTYPE Free( 
  718.             /* [in] */ void *pv) = 0;
  719.         
  720.         virtual SIZE_T STDMETHODCALLTYPE GetSize( 
  721.             /* [in] */ void *pv) = 0;
  722.         
  723.         virtual int STDMETHODCALLTYPE DidAlloc( 
  724.             void *pv) = 0;
  725.         
  726.         virtual void STDMETHODCALLTYPE HeapMinimize( void) = 0;
  727.         
  728.     };
  729.     
  730. #else  /* C style interface */
  731.     typedef struct IMallocVtbl
  732.     {
  733.         BEGIN_INTERFACE
  734.         
  735.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  736.             IMalloc * This,
  737.             /* [in] */ REFIID riid,
  738.             /* [iid_is][out] */ void **ppvObject);
  739.         
  740.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  741.             IMalloc * This);
  742.         
  743.         ULONG ( STDMETHODCALLTYPE *Release )( 
  744.             IMalloc * This);
  745.         
  746.         void *( STDMETHODCALLTYPE *Alloc )( 
  747.             IMalloc * This,
  748.             /* [in] */ SIZE_T cb);
  749.         
  750.         void *( STDMETHODCALLTYPE *Realloc )( 
  751.             IMalloc * This,
  752.             /* [in] */ void *pv,
  753.             /* [in] */ SIZE_T cb);
  754.         
  755.         void ( STDMETHODCALLTYPE *Free )( 
  756.             IMalloc * This,
  757.             /* [in] */ void *pv);
  758.         
  759.         SIZE_T ( STDMETHODCALLTYPE *GetSize )( 
  760.             IMalloc * This,
  761.             /* [in] */ void *pv);
  762.         
  763.         int ( STDMETHODCALLTYPE *DidAlloc )( 
  764.             IMalloc * This,
  765.             void *pv);
  766.         
  767.         void ( STDMETHODCALLTYPE *HeapMinimize )( 
  768.             IMalloc * This);
  769.         
  770.         END_INTERFACE
  771.     } IMallocVtbl;
  772.     interface IMalloc
  773.     {
  774.         CONST_VTBL struct IMallocVtbl *lpVtbl;
  775.     };
  776.     
  777. #ifdef COBJMACROS
  778. #define IMalloc_QueryInterface(This,riid,ppvObject)
  779.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  780. #define IMalloc_AddRef(This)
  781.     (This)->lpVtbl -> AddRef(This)
  782. #define IMalloc_Release(This)
  783.     (This)->lpVtbl -> Release(This)
  784. #define IMalloc_Alloc(This,cb)
  785.     (This)->lpVtbl -> Alloc(This,cb)
  786. #define IMalloc_Realloc(This,pv,cb)
  787.     (This)->lpVtbl -> Realloc(This,pv,cb)
  788. #define IMalloc_Free(This,pv)
  789.     (This)->lpVtbl -> Free(This,pv)
  790. #define IMalloc_GetSize(This,pv)
  791.     (This)->lpVtbl -> GetSize(This,pv)
  792. #define IMalloc_DidAlloc(This,pv)
  793.     (This)->lpVtbl -> DidAlloc(This,pv)
  794. #define IMalloc_HeapMinimize(This)
  795.     (This)->lpVtbl -> HeapMinimize(This)
  796. #endif /* COBJMACROS */
  797. #endif  /* C style interface */
  798. void *STDMETHODCALLTYPE IMalloc_Alloc_Proxy( 
  799.     IMalloc * This,
  800.     /* [in] */ SIZE_T cb);
  801. void __RPC_STUB IMalloc_Alloc_Stub(
  802.     IRpcStubBuffer *This,
  803.     IRpcChannelBuffer *_pRpcChannelBuffer,
  804.     PRPC_MESSAGE _pRpcMessage,
  805.     DWORD *_pdwStubPhase);
  806. void *STDMETHODCALLTYPE IMalloc_Realloc_Proxy( 
  807.     IMalloc * This,
  808.     /* [in] */ void *pv,
  809.     /* [in] */ SIZE_T cb);
  810. void __RPC_STUB IMalloc_Realloc_Stub(
  811.     IRpcStubBuffer *This,
  812.     IRpcChannelBuffer *_pRpcChannelBuffer,
  813.     PRPC_MESSAGE _pRpcMessage,
  814.     DWORD *_pdwStubPhase);
  815. void STDMETHODCALLTYPE IMalloc_Free_Proxy( 
  816.     IMalloc * This,
  817.     /* [in] */ void *pv);
  818. void __RPC_STUB IMalloc_Free_Stub(
  819.     IRpcStubBuffer *This,
  820.     IRpcChannelBuffer *_pRpcChannelBuffer,
  821.     PRPC_MESSAGE _pRpcMessage,
  822.     DWORD *_pdwStubPhase);
  823. SIZE_T STDMETHODCALLTYPE IMalloc_GetSize_Proxy( 
  824.     IMalloc * This,
  825.     /* [in] */ void *pv);
  826. void __RPC_STUB IMalloc_GetSize_Stub(
  827.     IRpcStubBuffer *This,
  828.     IRpcChannelBuffer *_pRpcChannelBuffer,
  829.     PRPC_MESSAGE _pRpcMessage,
  830.     DWORD *_pdwStubPhase);
  831. int STDMETHODCALLTYPE IMalloc_DidAlloc_Proxy( 
  832.     IMalloc * This,
  833.     void *pv);
  834. void __RPC_STUB IMalloc_DidAlloc_Stub(
  835.     IRpcStubBuffer *This,
  836.     IRpcChannelBuffer *_pRpcChannelBuffer,
  837.     PRPC_MESSAGE _pRpcMessage,
  838.     DWORD *_pdwStubPhase);
  839. void STDMETHODCALLTYPE IMalloc_HeapMinimize_Proxy( 
  840.     IMalloc * This);
  841. void __RPC_STUB IMalloc_HeapMinimize_Stub(
  842.     IRpcStubBuffer *This,
  843.     IRpcChannelBuffer *_pRpcChannelBuffer,
  844.     PRPC_MESSAGE _pRpcMessage,
  845.     DWORD *_pdwStubPhase);
  846. #endif  /* __IMalloc_INTERFACE_DEFINED__ */
  847. #ifndef __IMallocSpy_INTERFACE_DEFINED__
  848. #define __IMallocSpy_INTERFACE_DEFINED__
  849. /* interface IMallocSpy */
  850. /* [uuid][object][local] */ 
  851. typedef /* [unique] */ IMallocSpy *LPMALLOCSPY;
  852. EXTERN_C const IID IID_IMallocSpy;
  853. #if defined(__cplusplus) && !defined(CINTERFACE)
  854.     
  855.     MIDL_INTERFACE("0000001d-0000-0000-C000-000000000046")
  856.     IMallocSpy : public IUnknown
  857.     {
  858.     public:
  859.         virtual SIZE_T STDMETHODCALLTYPE PreAlloc( 
  860.             /* [in] */ SIZE_T cbRequest) = 0;
  861.         
  862.         virtual void *STDMETHODCALLTYPE PostAlloc( 
  863.             /* [in] */ void *pActual) = 0;
  864.         
  865.         virtual void *STDMETHODCALLTYPE PreFree( 
  866.             /* [in] */ void *pRequest,
  867.             /* [in] */ BOOL fSpyed) = 0;
  868.         
  869.         virtual void STDMETHODCALLTYPE PostFree( 
  870.             /* [in] */ BOOL fSpyed) = 0;
  871.         
  872.         virtual SIZE_T STDMETHODCALLTYPE PreRealloc( 
  873.             /* [in] */ void *pRequest,
  874.             /* [in] */ SIZE_T cbRequest,
  875.             /* [out] */ void **ppNewRequest,
  876.             /* [in] */ BOOL fSpyed) = 0;
  877.         
  878.         virtual void *STDMETHODCALLTYPE PostRealloc( 
  879.             /* [in] */ void *pActual,
  880.             /* [in] */ BOOL fSpyed) = 0;
  881.         
  882.         virtual void *STDMETHODCALLTYPE PreGetSize( 
  883.             /* [in] */ void *pRequest,
  884.             /* [in] */ BOOL fSpyed) = 0;
  885.         
  886.         virtual SIZE_T STDMETHODCALLTYPE PostGetSize( 
  887.             /* [in] */ SIZE_T cbActual,
  888.             /* [in] */ BOOL fSpyed) = 0;
  889.         
  890.         virtual void *STDMETHODCALLTYPE PreDidAlloc( 
  891.             /* [in] */ void *pRequest,
  892.             /* [in] */ BOOL fSpyed) = 0;
  893.         
  894.         virtual int STDMETHODCALLTYPE PostDidAlloc( 
  895.             /* [in] */ void *pRequest,
  896.             /* [in] */ BOOL fSpyed,
  897.             /* [in] */ int fActual) = 0;
  898.         
  899.         virtual void STDMETHODCALLTYPE PreHeapMinimize( void) = 0;
  900.         
  901.         virtual void STDMETHODCALLTYPE PostHeapMinimize( void) = 0;
  902.         
  903.     };
  904.     
  905. #else  /* C style interface */
  906.     typedef struct IMallocSpyVtbl
  907.     {
  908.         BEGIN_INTERFACE
  909.         
  910.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  911.             IMallocSpy * This,
  912.             /* [in] */ REFIID riid,
  913.             /* [iid_is][out] */ void **ppvObject);
  914.         
  915.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  916.             IMallocSpy * This);
  917.         
  918.         ULONG ( STDMETHODCALLTYPE *Release )( 
  919.             IMallocSpy * This);
  920.         
  921.         SIZE_T ( STDMETHODCALLTYPE *PreAlloc )( 
  922.             IMallocSpy * This,
  923.             /* [in] */ SIZE_T cbRequest);
  924.         
  925.         void *( STDMETHODCALLTYPE *PostAlloc )( 
  926.             IMallocSpy * This,
  927.             /* [in] */ void *pActual);
  928.         
  929.         void *( STDMETHODCALLTYPE *PreFree )( 
  930.             IMallocSpy * This,
  931.             /* [in] */ void *pRequest,
  932.             /* [in] */ BOOL fSpyed);
  933.         
  934.         void ( STDMETHODCALLTYPE *PostFree )( 
  935.             IMallocSpy * This,
  936.             /* [in] */ BOOL fSpyed);
  937.         
  938.         SIZE_T ( STDMETHODCALLTYPE *PreRealloc )( 
  939.             IMallocSpy * This,
  940.             /* [in] */ void *pRequest,
  941.             /* [in] */ SIZE_T cbRequest,
  942.             /* [out] */ void **ppNewRequest,
  943.             /* [in] */ BOOL fSpyed);
  944.         
  945.         void *( STDMETHODCALLTYPE *PostRealloc )( 
  946.             IMallocSpy * This,
  947.             /* [in] */ void *pActual,
  948.             /* [in] */ BOOL fSpyed);
  949.         
  950.         void *( STDMETHODCALLTYPE *PreGetSize )( 
  951.             IMallocSpy * This,
  952.             /* [in] */ void *pRequest,
  953.             /* [in] */ BOOL fSpyed);
  954.         
  955.         SIZE_T ( STDMETHODCALLTYPE *PostGetSize )( 
  956.             IMallocSpy * This,
  957.             /* [in] */ SIZE_T cbActual,
  958.             /* [in] */ BOOL fSpyed);
  959.         
  960.         void *( STDMETHODCALLTYPE *PreDidAlloc )( 
  961.             IMallocSpy * This,
  962.             /* [in] */ void *pRequest,
  963.             /* [in] */ BOOL fSpyed);
  964.         
  965.         int ( STDMETHODCALLTYPE *PostDidAlloc )( 
  966.             IMallocSpy * This,
  967.             /* [in] */ void *pRequest,
  968.             /* [in] */ BOOL fSpyed,
  969.             /* [in] */ int fActual);
  970.         
  971.         void ( STDMETHODCALLTYPE *PreHeapMinimize )( 
  972.             IMallocSpy * This);
  973.         
  974.         void ( STDMETHODCALLTYPE *PostHeapMinimize )( 
  975.             IMallocSpy * This);
  976.         
  977.         END_INTERFACE
  978.     } IMallocSpyVtbl;
  979.     interface IMallocSpy
  980.     {
  981.         CONST_VTBL struct IMallocSpyVtbl *lpVtbl;
  982.     };
  983.     
  984. #ifdef COBJMACROS
  985. #define IMallocSpy_QueryInterface(This,riid,ppvObject)
  986.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  987. #define IMallocSpy_AddRef(This)
  988.     (This)->lpVtbl -> AddRef(This)
  989. #define IMallocSpy_Release(This)
  990.     (This)->lpVtbl -> Release(This)
  991. #define IMallocSpy_PreAlloc(This,cbRequest)
  992.     (This)->lpVtbl -> PreAlloc(This,cbRequest)
  993. #define IMallocSpy_PostAlloc(This,pActual)
  994.     (This)->lpVtbl -> PostAlloc(This,pActual)
  995. #define IMallocSpy_PreFree(This,pRequest,fSpyed)
  996.     (This)->lpVtbl -> PreFree(This,pRequest,fSpyed)
  997. #define IMallocSpy_PostFree(This,fSpyed)
  998.     (This)->lpVtbl -> PostFree(This,fSpyed)
  999. #define IMallocSpy_PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed)
  1000.     (This)->lpVtbl -> PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed)
  1001. #define IMallocSpy_PostRealloc(This,pActual,fSpyed)
  1002.     (This)->lpVtbl -> PostRealloc(This,pActual,fSpyed)
  1003. #define IMallocSpy_PreGetSize(This,pRequest,fSpyed)
  1004.     (This)->lpVtbl -> PreGetSize(This,pRequest,fSpyed)
  1005. #define IMallocSpy_PostGetSize(This,cbActual,fSpyed)
  1006.     (This)->lpVtbl -> PostGetSize(This,cbActual,fSpyed)
  1007. #define IMallocSpy_PreDidAlloc(This,pRequest,fSpyed)
  1008.     (This)->lpVtbl -> PreDidAlloc(This,pRequest,fSpyed)
  1009. #define IMallocSpy_PostDidAlloc(This,pRequest,fSpyed,fActual)
  1010.     (This)->lpVtbl -> PostDidAlloc(This,pRequest,fSpyed,fActual)
  1011. #define IMallocSpy_PreHeapMinimize(This)
  1012.     (This)->lpVtbl -> PreHeapMinimize(This)
  1013. #define IMallocSpy_PostHeapMinimize(This)
  1014.     (This)->lpVtbl -> PostHeapMinimize(This)
  1015. #endif /* COBJMACROS */
  1016. #endif  /* C style interface */
  1017. SIZE_T STDMETHODCALLTYPE IMallocSpy_PreAlloc_Proxy( 
  1018.     IMallocSpy * This,
  1019.     /* [in] */ SIZE_T cbRequest);
  1020. void __RPC_STUB IMallocSpy_PreAlloc_Stub(
  1021.     IRpcStubBuffer *This,
  1022.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1023.     PRPC_MESSAGE _pRpcMessage,
  1024.     DWORD *_pdwStubPhase);
  1025. void *STDMETHODCALLTYPE IMallocSpy_PostAlloc_Proxy( 
  1026.     IMallocSpy * This,
  1027.     /* [in] */ void *pActual);
  1028. void __RPC_STUB IMallocSpy_PostAlloc_Stub(
  1029.     IRpcStubBuffer *This,
  1030.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1031.     PRPC_MESSAGE _pRpcMessage,
  1032.     DWORD *_pdwStubPhase);
  1033. void *STDMETHODCALLTYPE IMallocSpy_PreFree_Proxy( 
  1034.     IMallocSpy * This,
  1035.     /* [in] */ void *pRequest,
  1036.     /* [in] */ BOOL fSpyed);
  1037. void __RPC_STUB IMallocSpy_PreFree_Stub(
  1038.     IRpcStubBuffer *This,
  1039.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1040.     PRPC_MESSAGE _pRpcMessage,
  1041.     DWORD *_pdwStubPhase);
  1042. void STDMETHODCALLTYPE IMallocSpy_PostFree_Proxy( 
  1043.     IMallocSpy * This,
  1044.     /* [in] */ BOOL fSpyed);
  1045. void __RPC_STUB IMallocSpy_PostFree_Stub(
  1046.     IRpcStubBuffer *This,
  1047.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1048.     PRPC_MESSAGE _pRpcMessage,
  1049.     DWORD *_pdwStubPhase);
  1050. SIZE_T STDMETHODCALLTYPE IMallocSpy_PreRealloc_Proxy( 
  1051.     IMallocSpy * This,
  1052.     /* [in] */ void *pRequest,
  1053.     /* [in] */ SIZE_T cbRequest,
  1054.     /* [out] */ void **ppNewRequest,
  1055.     /* [in] */ BOOL fSpyed);
  1056. void __RPC_STUB IMallocSpy_PreRealloc_Stub(
  1057.     IRpcStubBuffer *This,
  1058.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1059.     PRPC_MESSAGE _pRpcMessage,
  1060.     DWORD *_pdwStubPhase);
  1061. void *STDMETHODCALLTYPE IMallocSpy_PostRealloc_Proxy( 
  1062.     IMallocSpy * This,
  1063.     /* [in] */ void *pActual,
  1064.     /* [in] */ BOOL fSpyed);
  1065. void __RPC_STUB IMallocSpy_PostRealloc_Stub(
  1066.     IRpcStubBuffer *This,
  1067.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1068.     PRPC_MESSAGE _pRpcMessage,
  1069.     DWORD *_pdwStubPhase);
  1070. void *STDMETHODCALLTYPE IMallocSpy_PreGetSize_Proxy( 
  1071.     IMallocSpy * This,
  1072.     /* [in] */ void *pRequest,
  1073.     /* [in] */ BOOL fSpyed);
  1074. void __RPC_STUB IMallocSpy_PreGetSize_Stub(
  1075.     IRpcStubBuffer *This,
  1076.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1077.     PRPC_MESSAGE _pRpcMessage,
  1078.     DWORD *_pdwStubPhase);
  1079. SIZE_T STDMETHODCALLTYPE IMallocSpy_PostGetSize_Proxy( 
  1080.     IMallocSpy * This,
  1081.     /* [in] */ SIZE_T cbActual,
  1082.     /* [in] */ BOOL fSpyed);
  1083. void __RPC_STUB IMallocSpy_PostGetSize_Stub(
  1084.     IRpcStubBuffer *This,
  1085.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1086.     PRPC_MESSAGE _pRpcMessage,
  1087.     DWORD *_pdwStubPhase);
  1088. void *STDMETHODCALLTYPE IMallocSpy_PreDidAlloc_Proxy( 
  1089.     IMallocSpy * This,
  1090.     /* [in] */ void *pRequest,
  1091.     /* [in] */ BOOL fSpyed);
  1092. void __RPC_STUB IMallocSpy_PreDidAlloc_Stub(
  1093.     IRpcStubBuffer *This,
  1094.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1095.     PRPC_MESSAGE _pRpcMessage,
  1096.     DWORD *_pdwStubPhase);
  1097. int STDMETHODCALLTYPE IMallocSpy_PostDidAlloc_Proxy( 
  1098.     IMallocSpy * This,
  1099.     /* [in] */ void *pRequest,
  1100.     /* [in] */ BOOL fSpyed,
  1101.     /* [in] */ int fActual);
  1102. void __RPC_STUB IMallocSpy_PostDidAlloc_Stub(
  1103.     IRpcStubBuffer *This,
  1104.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1105.     PRPC_MESSAGE _pRpcMessage,
  1106.     DWORD *_pdwStubPhase);
  1107. void STDMETHODCALLTYPE IMallocSpy_PreHeapMinimize_Proxy( 
  1108.     IMallocSpy * This);
  1109. void __RPC_STUB IMallocSpy_PreHeapMinimize_Stub(
  1110.     IRpcStubBuffer *This,
  1111.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1112.     PRPC_MESSAGE _pRpcMessage,
  1113.     DWORD *_pdwStubPhase);
  1114. void STDMETHODCALLTYPE IMallocSpy_PostHeapMinimize_Proxy( 
  1115.     IMallocSpy * This);
  1116. void __RPC_STUB IMallocSpy_PostHeapMinimize_Stub(
  1117.     IRpcStubBuffer *This,
  1118.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1119.     PRPC_MESSAGE _pRpcMessage,
  1120.     DWORD *_pdwStubPhase);
  1121. #endif  /* __IMallocSpy_INTERFACE_DEFINED__ */
  1122. #ifndef __IStdMarshalInfo_INTERFACE_DEFINED__
  1123. #define __IStdMarshalInfo_INTERFACE_DEFINED__
  1124. /* interface IStdMarshalInfo */
  1125. /* [uuid][object][local] */ 
  1126. typedef /* [unique] */ IStdMarshalInfo *LPSTDMARSHALINFO;
  1127. EXTERN_C const IID IID_IStdMarshalInfo;
  1128. #if defined(__cplusplus) && !defined(CINTERFACE)
  1129.     
  1130.     MIDL_INTERFACE("00000018-0000-0000-C000-000000000046")
  1131.     IStdMarshalInfo : public IUnknown
  1132.     {
  1133.     public:
  1134.         virtual HRESULT STDMETHODCALLTYPE GetClassForHandler( 
  1135.             /* [in] */ DWORD dwDestContext,
  1136.             /* [unique][in] */ void *pvDestContext,
  1137.             /* [out] */ CLSID *pClsid) = 0;
  1138.         
  1139.     };
  1140.     
  1141. #else  /* C style interface */
  1142.     typedef struct IStdMarshalInfoVtbl
  1143.     {
  1144.         BEGIN_INTERFACE
  1145.         
  1146.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1147.             IStdMarshalInfo * This,
  1148.             /* [in] */ REFIID riid,
  1149.             /* [iid_is][out] */ void **ppvObject);
  1150.         
  1151.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1152.             IStdMarshalInfo * This);
  1153.         
  1154.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1155.             IStdMarshalInfo * This);
  1156.         
  1157.         HRESULT ( STDMETHODCALLTYPE *GetClassForHandler )( 
  1158.             IStdMarshalInfo * This,
  1159.             /* [in] */ DWORD dwDestContext,
  1160.             /* [unique][in] */ void *pvDestContext,
  1161.             /* [out] */ CLSID *pClsid);
  1162.         
  1163.         END_INTERFACE
  1164.     } IStdMarshalInfoVtbl;
  1165.     interface IStdMarshalInfo
  1166.     {
  1167.         CONST_VTBL struct IStdMarshalInfoVtbl *lpVtbl;
  1168.     };
  1169.     
  1170. #ifdef COBJMACROS
  1171. #define IStdMarshalInfo_QueryInterface(This,riid,ppvObject)
  1172.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1173. #define IStdMarshalInfo_AddRef(This)
  1174.     (This)->lpVtbl -> AddRef(This)
  1175. #define IStdMarshalInfo_Release(This)
  1176.     (This)->lpVtbl -> Release(This)
  1177. #define IStdMarshalInfo_GetClassForHandler(This,dwDestContext,pvDestContext,pClsid)
  1178.     (This)->lpVtbl -> GetClassForHandler(This,dwDestContext,pvDestContext,pClsid)
  1179. #endif /* COBJMACROS */
  1180. #endif  /* C style interface */
  1181. HRESULT STDMETHODCALLTYPE IStdMarshalInfo_GetClassForHandler_Proxy( 
  1182.     IStdMarshalInfo * This,
  1183.     /* [in] */ DWORD dwDestContext,
  1184.     /* [unique][in] */ void *pvDestContext,
  1185.     /* [out] */ CLSID *pClsid);
  1186. void __RPC_STUB IStdMarshalInfo_GetClassForHandler_Stub(
  1187.     IRpcStubBuffer *This,
  1188.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1189.     PRPC_MESSAGE _pRpcMessage,
  1190.     DWORD *_pdwStubPhase);
  1191. #endif  /* __IStdMarshalInfo_INTERFACE_DEFINED__ */
  1192. #ifndef __IExternalConnection_INTERFACE_DEFINED__
  1193. #define __IExternalConnection_INTERFACE_DEFINED__
  1194. /* interface IExternalConnection */
  1195. /* [uuid][local][object] */ 
  1196. typedef /* [unique] */ IExternalConnection *LPEXTERNALCONNECTION;
  1197. typedef 
  1198. enum tagEXTCONN
  1199.     { EXTCONN_STRONG = 0x1,
  1200. EXTCONN_WEAK = 0x2,
  1201. EXTCONN_CALLABLE = 0x4
  1202.     }  EXTCONN;
  1203. EXTERN_C const IID IID_IExternalConnection;
  1204. #if defined(__cplusplus) && !defined(CINTERFACE)
  1205.     
  1206.     MIDL_INTERFACE("00000019-0000-0000-C000-000000000046")
  1207.     IExternalConnection : public IUnknown
  1208.     {
  1209.     public:
  1210.         virtual DWORD STDMETHODCALLTYPE AddConnection( 
  1211.             /* [in] */ DWORD extconn,
  1212.             /* [in] */ DWORD reserved) = 0;
  1213.         
  1214.         virtual DWORD STDMETHODCALLTYPE ReleaseConnection( 
  1215.             /* [in] */ DWORD extconn,
  1216.             /* [in] */ DWORD reserved,
  1217.             /* [in] */ BOOL fLastReleaseCloses) = 0;
  1218.         
  1219.     };
  1220.     
  1221. #else  /* C style interface */
  1222.     typedef struct IExternalConnectionVtbl
  1223.     {
  1224.         BEGIN_INTERFACE
  1225.         
  1226.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1227.             IExternalConnection * This,
  1228.             /* [in] */ REFIID riid,
  1229.             /* [iid_is][out] */ void **ppvObject);
  1230.         
  1231.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1232.             IExternalConnection * This);
  1233.         
  1234.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1235.             IExternalConnection * This);
  1236.         
  1237.         DWORD ( STDMETHODCALLTYPE *AddConnection )( 
  1238.             IExternalConnection * This,
  1239.             /* [in] */ DWORD extconn,
  1240.             /* [in] */ DWORD reserved);
  1241.         
  1242.         DWORD ( STDMETHODCALLTYPE *ReleaseConnection )( 
  1243.             IExternalConnection * This,
  1244.             /* [in] */ DWORD extconn,
  1245.             /* [in] */ DWORD reserved,
  1246.             /* [in] */ BOOL fLastReleaseCloses);
  1247.         
  1248.         END_INTERFACE
  1249.     } IExternalConnectionVtbl;
  1250.     interface IExternalConnection
  1251.     {
  1252.         CONST_VTBL struct IExternalConnectionVtbl *lpVtbl;
  1253.     };
  1254.     
  1255. #ifdef COBJMACROS
  1256. #define IExternalConnection_QueryInterface(This,riid,ppvObject)
  1257.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1258. #define IExternalConnection_AddRef(This)
  1259.     (This)->lpVtbl -> AddRef(This)
  1260. #define IExternalConnection_Release(This)
  1261.     (This)->lpVtbl -> Release(This)
  1262. #define IExternalConnection_AddConnection(This,extconn,reserved)
  1263.     (This)->lpVtbl -> AddConnection(This,extconn,reserved)
  1264. #define IExternalConnection_ReleaseConnection(This,extconn,reserved,fLastReleaseCloses)
  1265.     (This)->lpVtbl -> ReleaseConnection(This,extconn,reserved,fLastReleaseCloses)
  1266. #endif /* COBJMACROS */
  1267. #endif  /* C style interface */
  1268. DWORD STDMETHODCALLTYPE IExternalConnection_AddConnection_Proxy( 
  1269.     IExternalConnection * This,
  1270.     /* [in] */ DWORD extconn,
  1271.     /* [in] */ DWORD reserved);
  1272. void __RPC_STUB IExternalConnection_AddConnection_Stub(
  1273.     IRpcStubBuffer *This,
  1274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1275.     PRPC_MESSAGE _pRpcMessage,
  1276.     DWORD *_pdwStubPhase);
  1277. DWORD STDMETHODCALLTYPE IExternalConnection_ReleaseConnection_Proxy( 
  1278.     IExternalConnection * This,
  1279.     /* [in] */ DWORD extconn,
  1280.     /* [in] */ DWORD reserved,
  1281.     /* [in] */ BOOL fLastReleaseCloses);
  1282. void __RPC_STUB IExternalConnection_ReleaseConnection_Stub(
  1283.     IRpcStubBuffer *This,
  1284.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1285.     PRPC_MESSAGE _pRpcMessage,
  1286.     DWORD *_pdwStubPhase);
  1287. #endif  /* __IExternalConnection_INTERFACE_DEFINED__ */
  1288. /* interface __MIDL_itf_objidl_0015 */
  1289. /* [local] */ 
  1290. typedef /* [unique] */ IMultiQI *LPMULTIQI;
  1291. typedef struct tagMULTI_QI
  1292.     {
  1293.     const IID *pIID;
  1294.     IUnknown *pItf;
  1295.     HRESULT hr;
  1296.     }  MULTI_QI;
  1297. extern RPC_IF_HANDLE __MIDL_itf_objidl_0015_v0_0_c_ifspec;
  1298. extern RPC_IF_HANDLE __MIDL_itf_objidl_0015_v0_0_s_ifspec;
  1299. #ifndef __IMultiQI_INTERFACE_DEFINED__
  1300. #define __IMultiQI_INTERFACE_DEFINED__
  1301. /* interface IMultiQI */
  1302. /* [async_uuid][uuid][local][object] */ 
  1303. EXTERN_C const IID IID_IMultiQI;
  1304. #if defined(__cplusplus) && !defined(CINTERFACE)
  1305.     
  1306.     MIDL_INTERFACE("00000020-0000-0000-C000-000000000046")
  1307.     IMultiQI : public IUnknown
  1308.     {
  1309.     public:
  1310.         virtual HRESULT STDMETHODCALLTYPE QueryMultipleInterfaces( 
  1311.             /* [in] */ ULONG cMQIs,
  1312.             /* [out][in] */ MULTI_QI *pMQIs) = 0;
  1313.         
  1314.     };
  1315.     
  1316. #else  /* C style interface */
  1317.     typedef struct IMultiQIVtbl
  1318.     {
  1319.         BEGIN_INTERFACE
  1320.         
  1321.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1322.             IMultiQI * This,
  1323.             /* [in] */ REFIID riid,
  1324.             /* [iid_is][out] */ void **ppvObject);
  1325.         
  1326.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1327.             IMultiQI * This);
  1328.         
  1329.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1330.             IMultiQI * This);
  1331.         
  1332.         HRESULT ( STDMETHODCALLTYPE *QueryMultipleInterfaces )( 
  1333.             IMultiQI * This,
  1334.             /* [in] */ ULONG cMQIs,
  1335.             /* [out][in] */ MULTI_QI *pMQIs);
  1336.         
  1337.         END_INTERFACE
  1338.     } IMultiQIVtbl;
  1339.     interface IMultiQI
  1340.     {
  1341.         CONST_VTBL struct IMultiQIVtbl *lpVtbl;
  1342.     };
  1343.     
  1344. #ifdef COBJMACROS
  1345. #define IMultiQI_QueryInterface(This,riid,ppvObject)
  1346.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1347. #define IMultiQI_AddRef(This)
  1348.     (This)->lpVtbl -> AddRef(This)
  1349. #define IMultiQI_Release(This)
  1350.     (This)->lpVtbl -> Release(This)
  1351. #define IMultiQI_QueryMultipleInterfaces(This,cMQIs,pMQIs)
  1352.     (This)->lpVtbl -> QueryMultipleInterfaces(This,cMQIs,pMQIs)
  1353. #endif /* COBJMACROS */
  1354. #endif  /* C style interface */
  1355. HRESULT STDMETHODCALLTYPE IMultiQI_QueryMultipleInterfaces_Proxy( 
  1356.     IMultiQI * This,
  1357.     /* [in] */ ULONG cMQIs,
  1358.     /* [out][in] */ MULTI_QI *pMQIs);
  1359. void __RPC_STUB IMultiQI_QueryMultipleInterfaces_Stub(
  1360.     IRpcStubBuffer *This,
  1361.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1362.     PRPC_MESSAGE _pRpcMessage,
  1363.     DWORD *_pdwStubPhase);
  1364. #endif  /* __IMultiQI_INTERFACE_DEFINED__ */
  1365. #ifndef __AsyncIMultiQI_INTERFACE_DEFINED__
  1366. #define __AsyncIMultiQI_INTERFACE_DEFINED__
  1367. /* interface AsyncIMultiQI */
  1368. /* [uuid][local][object] */ 
  1369. EXTERN_C const IID IID_AsyncIMultiQI;
  1370. #if defined(__cplusplus) && !defined(CINTERFACE)
  1371.     
  1372.     MIDL_INTERFACE("000e0020-0000-0000-C000-000000000046")
  1373.     AsyncIMultiQI : public IUnknown
  1374.     {
  1375.     public:
  1376.         virtual HRESULT STDMETHODCALLTYPE Begin_QueryMultipleInterfaces( 
  1377.             /* [in] */ ULONG cMQIs,
  1378.             /* [out][in] */ MULTI_QI *pMQIs) = 0;
  1379.         
  1380.         virtual HRESULT STDMETHODCALLTYPE Finish_QueryMultipleInterfaces( 
  1381.             /* [out][in] */ MULTI_QI *pMQIs) = 0;
  1382.         
  1383.     };
  1384.     
  1385. #else  /* C style interface */
  1386.     typedef struct AsyncIMultiQIVtbl
  1387.     {
  1388.         BEGIN_INTERFACE
  1389.         
  1390.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1391.             AsyncIMultiQI * This,
  1392.             /* [in] */ REFIID riid,
  1393.             /* [iid_is][out] */ void **ppvObject);
  1394.         
  1395.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1396.             AsyncIMultiQI * This);
  1397.         
  1398.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1399.             AsyncIMultiQI * This);
  1400.         
  1401.         HRESULT ( STDMETHODCALLTYPE *Begin_QueryMultipleInterfaces )( 
  1402.             AsyncIMultiQI * This,
  1403.             /* [in] */ ULONG cMQIs,
  1404.             /* [out][in] */ MULTI_QI *pMQIs);
  1405.         
  1406.         HRESULT ( STDMETHODCALLTYPE *Finish_QueryMultipleInterfaces )( 
  1407.             AsyncIMultiQI * This,
  1408.             /* [out][in] */ MULTI_QI *pMQIs);
  1409.         
  1410.         END_INTERFACE
  1411.     } AsyncIMultiQIVtbl;
  1412.     interface AsyncIMultiQI
  1413.     {
  1414.         CONST_VTBL struct AsyncIMultiQIVtbl *lpVtbl;
  1415.     };
  1416.     
  1417. #ifdef COBJMACROS
  1418. #define AsyncIMultiQI_QueryInterface(This,riid,ppvObject)
  1419.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1420. #define AsyncIMultiQI_AddRef(This)
  1421.     (This)->lpVtbl -> AddRef(This)
  1422. #define AsyncIMultiQI_Release(This)
  1423.     (This)->lpVtbl -> Release(This)
  1424. #define AsyncIMultiQI_Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs)
  1425.     (This)->lpVtbl -> Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs)
  1426. #define AsyncIMultiQI_Finish_QueryMultipleInterfaces(This,pMQIs)
  1427.     (This)->lpVtbl -> Finish_QueryMultipleInterfaces(This,pMQIs)
  1428. #endif /* COBJMACROS */
  1429. #endif  /* C style interface */
  1430. HRESULT STDMETHODCALLTYPE AsyncIMultiQI_Begin_QueryMultipleInterfaces_Proxy( 
  1431.     AsyncIMultiQI * This,
  1432.     /* [in] */ ULONG cMQIs,
  1433.     /* [out][in] */ MULTI_QI *pMQIs);
  1434. void __RPC_STUB AsyncIMultiQI_Begin_QueryMultipleInterfaces_Stub(
  1435.     IRpcStubBuffer *This,
  1436.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1437.     PRPC_MESSAGE _pRpcMessage,
  1438.     DWORD *_pdwStubPhase);
  1439. HRESULT STDMETHODCALLTYPE AsyncIMultiQI_Finish_QueryMultipleInterfaces_Proxy( 
  1440.     AsyncIMultiQI * This,
  1441.     /* [out][in] */ MULTI_QI *pMQIs);
  1442. void __RPC_STUB AsyncIMultiQI_Finish_QueryMultipleInterfaces_Stub(
  1443.     IRpcStubBuffer *This,
  1444.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1445.     PRPC_MESSAGE _pRpcMessage,
  1446.     DWORD *_pdwStubPhase);
  1447. #endif  /* __AsyncIMultiQI_INTERFACE_DEFINED__ */
  1448. #ifndef __IInternalUnknown_INTERFACE_DEFINED__
  1449. #define __IInternalUnknown_INTERFACE_DEFINED__
  1450. /* interface IInternalUnknown */
  1451. /* [uuid][local][object] */ 
  1452. EXTERN_C const IID IID_IInternalUnknown;
  1453. #if defined(__cplusplus) && !defined(CINTERFACE)
  1454.     
  1455.     MIDL_INTERFACE("00000021-0000-0000-C000-000000000046")
  1456.     IInternalUnknown : public IUnknown
  1457.     {
  1458.     public:
  1459.         virtual HRESULT STDMETHODCALLTYPE QueryInternalInterface( 
  1460.             /* [in] */ REFIID riid,
  1461.             /* [out] */ void **ppv) = 0;
  1462.         
  1463.     };
  1464.     
  1465. #else  /* C style interface */
  1466.     typedef struct IInternalUnknownVtbl
  1467.     {
  1468.         BEGIN_INTERFACE
  1469.         
  1470.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1471.             IInternalUnknown * This,
  1472.             /* [in] */ REFIID riid,
  1473.             /* [iid_is][out] */ void **ppvObject);
  1474.         
  1475.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1476.             IInternalUnknown * This);
  1477.         
  1478.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1479.             IInternalUnknown * This);
  1480.         
  1481.         HRESULT ( STDMETHODCALLTYPE *QueryInternalInterface )( 
  1482.             IInternalUnknown * This,
  1483.             /* [in] */ REFIID riid,
  1484.             /* [out] */ void **ppv);
  1485.         
  1486.         END_INTERFACE
  1487.     } IInternalUnknownVtbl;
  1488.     interface IInternalUnknown
  1489.     {
  1490.         CONST_VTBL struct IInternalUnknownVtbl *lpVtbl;
  1491.     };
  1492.     
  1493. #ifdef COBJMACROS
  1494. #define IInternalUnknown_QueryInterface(This,riid,ppvObject)
  1495.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1496. #define IInternalUnknown_AddRef(This)
  1497.     (This)->lpVtbl -> AddRef(This)
  1498. #define IInternalUnknown_Release(This)
  1499.     (This)->lpVtbl -> Release(This)
  1500. #define IInternalUnknown_QueryInternalInterface(This,riid,ppv)
  1501.     (This)->lpVtbl -> QueryInternalInterface(This,riid,ppv)
  1502. #endif /* COBJMACROS */
  1503. #endif  /* C style interface */
  1504. HRESULT STDMETHODCALLTYPE IInternalUnknown_QueryInternalInterface_Proxy( 
  1505.     IInternalUnknown * This,
  1506.     /* [in] */ REFIID riid,
  1507.     /* [out] */ void **ppv);
  1508. void __RPC_STUB IInternalUnknown_QueryInternalInterface_Stub(
  1509.     IRpcStubBuffer *This,
  1510.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1511.     PRPC_MESSAGE _pRpcMessage,
  1512.     DWORD *_pdwStubPhase);
  1513. #endif  /* __IInternalUnknown_INTERFACE_DEFINED__ */
  1514. #ifndef __IEnumUnknown_INTERFACE_DEFINED__
  1515. #define __IEnumUnknown_INTERFACE_DEFINED__
  1516. /* interface IEnumUnknown */
  1517. /* [unique][uuid][object] */ 
  1518. typedef /* [unique] */ IEnumUnknown *LPENUMUNKNOWN;
  1519. EXTERN_C const IID IID_IEnumUnknown;
  1520. #if defined(__cplusplus) && !defined(CINTERFACE)
  1521.     
  1522.     MIDL_INTERFACE("00000100-0000-0000-C000-000000000046")
  1523.     IEnumUnknown : public IUnknown
  1524.     {
  1525.     public:
  1526.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next( 
  1527.             /* [in] */ ULONG celt,
  1528.             /* [out] */ IUnknown **rgelt,
  1529.             /* [out] */ ULONG *pceltFetched) = 0;
  1530.         
  1531.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1532.             /* [in] */ ULONG celt) = 0;
  1533.         
  1534.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1535.         
  1536.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1537.             /* [out] */ IEnumUnknown **ppenum) = 0;
  1538.         
  1539.     };
  1540.     
  1541. #else  /* C style interface */
  1542.     typedef struct IEnumUnknownVtbl
  1543.     {
  1544.         BEGIN_INTERFACE
  1545.         
  1546.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1547.             IEnumUnknown * This,
  1548.             /* [in] */ REFIID riid,
  1549.             /* [iid_is][out] */ void **ppvObject);
  1550.         
  1551.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1552.             IEnumUnknown * This);
  1553.         
  1554.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1555.             IEnumUnknown * This);
  1556.         
  1557.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
  1558.             IEnumUnknown * This,
  1559.             /* [in] */ ULONG celt,
  1560.             /* [out] */ IUnknown **rgelt,
  1561.             /* [out] */ ULONG *pceltFetched);
  1562.         
  1563.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1564.             IEnumUnknown * This,
  1565.             /* [in] */ ULONG celt);
  1566.         
  1567.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1568.             IEnumUnknown * This);
  1569.         
  1570.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1571.             IEnumUnknown * This,
  1572.             /* [out] */ IEnumUnknown **ppenum);
  1573.         
  1574.         END_INTERFACE
  1575.     } IEnumUnknownVtbl;
  1576.     interface IEnumUnknown
  1577.     {
  1578.         CONST_VTBL struct IEnumUnknownVtbl *lpVtbl;
  1579.     };
  1580.     
  1581. #ifdef COBJMACROS
  1582. #define IEnumUnknown_QueryInterface(This,riid,ppvObject)
  1583.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1584. #define IEnumUnknown_AddRef(This)
  1585.     (This)->lpVtbl -> AddRef(This)
  1586. #define IEnumUnknown_Release(This)
  1587.     (This)->lpVtbl -> Release(This)
  1588. #define IEnumUnknown_Next(This,celt,rgelt,pceltFetched)
  1589.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  1590. #define IEnumUnknown_Skip(This,celt)
  1591.     (This)->lpVtbl -> Skip(This,celt)
  1592. #define IEnumUnknown_Reset(This)
  1593.     (This)->lpVtbl -> Reset(This)
  1594. #define IEnumUnknown_Clone(This,ppenum)
  1595.     (This)->lpVtbl -> Clone(This,ppenum)
  1596. #endif /* COBJMACROS */
  1597. #endif  /* C style interface */
  1598. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumUnknown_RemoteNext_Proxy( 
  1599.     IEnumUnknown * This,
  1600.     /* [in] */ ULONG celt,
  1601.     /* [length_is][size_is][out] */ IUnknown **rgelt,
  1602.     /* [out] */ ULONG *pceltFetched);
  1603. void __RPC_STUB IEnumUnknown_RemoteNext_Stub(
  1604.     IRpcStubBuffer *This,
  1605.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1606.     PRPC_MESSAGE _pRpcMessage,
  1607.     DWORD *_pdwStubPhase);
  1608. HRESULT STDMETHODCALLTYPE IEnumUnknown_Skip_Proxy( 
  1609.     IEnumUnknown * This,
  1610.     /* [in] */ ULONG celt);
  1611. void __RPC_STUB IEnumUnknown_Skip_Stub(
  1612.     IRpcStubBuffer *This,
  1613.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1614.     PRPC_MESSAGE _pRpcMessage,
  1615.     DWORD *_pdwStubPhase);
  1616. HRESULT STDMETHODCALLTYPE IEnumUnknown_Reset_Proxy( 
  1617.     IEnumUnknown * This);
  1618. void __RPC_STUB IEnumUnknown_Reset_Stub(
  1619.     IRpcStubBuffer *This,
  1620.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1621.     PRPC_MESSAGE _pRpcMessage,
  1622.     DWORD *_pdwStubPhase);
  1623. HRESULT STDMETHODCALLTYPE IEnumUnknown_Clone_Proxy( 
  1624.     IEnumUnknown * This,
  1625.     /* [out] */ IEnumUnknown **ppenum);
  1626. void __RPC_STUB IEnumUnknown_Clone_Stub(
  1627.     IRpcStubBuffer *This,
  1628.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1629.     PRPC_MESSAGE _pRpcMessage,
  1630.     DWORD *_pdwStubPhase);
  1631. #endif  /* __IEnumUnknown_INTERFACE_DEFINED__ */
  1632. #ifndef __IBindCtx_INTERFACE_DEFINED__
  1633. #define __IBindCtx_INTERFACE_DEFINED__
  1634. /* interface IBindCtx */
  1635. /* [unique][uuid][object] */ 
  1636. typedef /* [unique] */ IBindCtx *LPBC;
  1637. typedef /* [unique] */ IBindCtx *LPBINDCTX;
  1638. typedef struct tagBIND_OPTS
  1639.     {
  1640.     DWORD cbStruct;
  1641.     DWORD grfFlags;
  1642.     DWORD grfMode;
  1643.     DWORD dwTickCountDeadline;
  1644.     }  BIND_OPTS;
  1645. typedef struct tagBIND_OPTS *LPBIND_OPTS;
  1646. #if defined(__cplusplus)
  1647.     typedef struct tagBIND_OPTS2 : tagBIND_OPTS{
  1648.     DWORD           dwTrackFlags;
  1649.     DWORD           dwClassContext;
  1650.     LCID            locale;
  1651.     COSERVERINFO *  pServerInfo;
  1652.     } BIND_OPTS2, * LPBIND_OPTS2;
  1653. #else
  1654. typedef struct tagBIND_OPTS2
  1655.     {
  1656.     DWORD cbStruct;
  1657.     DWORD grfFlags;
  1658.     DWORD grfMode;
  1659.     DWORD dwTickCountDeadline;
  1660.     DWORD dwTrackFlags;
  1661.     DWORD dwClassContext;
  1662.     LCID locale;
  1663.     COSERVERINFO *pServerInfo;
  1664.     }  BIND_OPTS2;
  1665. typedef struct tagBIND_OPTS2 *LPBIND_OPTS2;
  1666. #endif
  1667. typedef 
  1668. enum tagBIND_FLAGS
  1669.     { BIND_MAYBOTHERUSER = 1,
  1670. BIND_JUSTTESTEXISTENCE = 2
  1671.     }  BIND_FLAGS;
  1672. EXTERN_C const IID IID_IBindCtx;
  1673. #if defined(__cplusplus) && !defined(CINTERFACE)
  1674.     
  1675.     MIDL_INTERFACE("0000000e-0000-0000-C000-000000000046")
  1676.     IBindCtx : public IUnknown
  1677.     {
  1678.     public:
  1679.         virtual HRESULT STDMETHODCALLTYPE RegisterObjectBound( 
  1680.             /* [unique][in] */ IUnknown *punk) = 0;
  1681.         
  1682.         virtual HRESULT STDMETHODCALLTYPE RevokeObjectBound( 
  1683.             /* [unique][in] */ IUnknown *punk) = 0;
  1684.         
  1685.         virtual HRESULT STDMETHODCALLTYPE ReleaseBoundObjects( void) = 0;
  1686.         
  1687.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetBindOptions( 
  1688.             /* [in] */ BIND_OPTS *pbindopts) = 0;
  1689.         
  1690.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetBindOptions( 
  1691.             /* [out][in] */ BIND_OPTS *pbindopts) = 0;
  1692.         
  1693.         virtual HRESULT STDMETHODCALLTYPE GetRunningObjectTable( 
  1694.             /* [out] */ IRunningObjectTable **pprot) = 0;
  1695.         
  1696.         virtual HRESULT STDMETHODCALLTYPE RegisterObjectParam( 
  1697.             /* [in] */ LPOLESTR pszKey,
  1698.             /* [unique][in] */ IUnknown *punk) = 0;
  1699.         
  1700.         virtual HRESULT STDMETHODCALLTYPE GetObjectParam( 
  1701.             /* [in] */ LPOLESTR pszKey,
  1702.             /* [out] */ IUnknown **ppunk) = 0;
  1703.         
  1704.         virtual HRESULT STDMETHODCALLTYPE EnumObjectParam( 
  1705.             /* [out] */ IEnumString **ppenum) = 0;
  1706.         
  1707.         virtual HRESULT STDMETHODCALLTYPE RevokeObjectParam( 
  1708.             /* [in] */ LPOLESTR pszKey) = 0;
  1709.         
  1710.     };
  1711.     
  1712. #else  /* C style interface */
  1713.     typedef struct IBindCtxVtbl
  1714.     {
  1715.         BEGIN_INTERFACE
  1716.         
  1717.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1718.             IBindCtx * This,
  1719.             /* [in] */ REFIID riid,
  1720.             /* [iid_is][out] */ void **ppvObject);
  1721.         
  1722.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1723.             IBindCtx * This);
  1724.         
  1725.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1726.             IBindCtx * This);
  1727.         
  1728.         HRESULT ( STDMETHODCALLTYPE *RegisterObjectBound )( 
  1729.             IBindCtx * This,
  1730.             /* [unique][in] */ IUnknown *punk);
  1731.         
  1732.         HRESULT ( STDMETHODCALLTYPE *RevokeObjectBound )( 
  1733.             IBindCtx * This,
  1734.             /* [unique][in] */ IUnknown *punk);
  1735.         
  1736.         HRESULT ( STDMETHODCALLTYPE *ReleaseBoundObjects )( 
  1737.             IBindCtx * This);
  1738.         
  1739.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetBindOptions )( 
  1740.             IBindCtx * This,
  1741.             /* [in] */ BIND_OPTS *pbindopts);
  1742.         
  1743.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetBindOptions )( 
  1744.             IBindCtx * This,
  1745.             /* [out][in] */ BIND_OPTS *pbindopts);
  1746.         
  1747.         HRESULT ( STDMETHODCALLTYPE *GetRunningObjectTable )( 
  1748.             IBindCtx * This,
  1749.             /* [out] */ IRunningObjectTable **pprot);
  1750.         
  1751.         HRESULT ( STDMETHODCALLTYPE *RegisterObjectParam )( 
  1752.             IBindCtx * This,
  1753.             /* [in] */ LPOLESTR pszKey,
  1754.             /* [unique][in] */ IUnknown *punk);
  1755.         
  1756.         HRESULT ( STDMETHODCALLTYPE *GetObjectParam )( 
  1757.             IBindCtx * This,
  1758.             /* [in] */ LPOLESTR pszKey,
  1759.             /* [out] */ IUnknown **ppunk);
  1760.         
  1761.         HRESULT ( STDMETHODCALLTYPE *EnumObjectParam )( 
  1762.             IBindCtx * This,
  1763.             /* [out] */ IEnumString **ppenum);
  1764.         
  1765.         HRESULT ( STDMETHODCALLTYPE *RevokeObjectParam )( 
  1766.             IBindCtx * This,
  1767.             /* [in] */ LPOLESTR pszKey);
  1768.         
  1769.         END_INTERFACE
  1770.     } IBindCtxVtbl;
  1771.     interface IBindCtx
  1772.     {
  1773.         CONST_VTBL struct IBindCtxVtbl *lpVtbl;
  1774.     };
  1775.     
  1776. #ifdef COBJMACROS
  1777. #define IBindCtx_QueryInterface(This,riid,ppvObject)
  1778.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1779. #define IBindCtx_AddRef(This)
  1780.     (This)->lpVtbl -> AddRef(This)
  1781. #define IBindCtx_Release(This)
  1782.     (This)->lpVtbl -> Release(This)
  1783. #define IBindCtx_RegisterObjectBound(This,punk)
  1784.     (This)->lpVtbl -> RegisterObjectBound(This,punk)
  1785. #define IBindCtx_RevokeObjectBound(This,punk)
  1786.     (This)->lpVtbl -> RevokeObjectBound(This,punk)
  1787. #define IBindCtx_ReleaseBoundObjects(This)
  1788.     (This)->lpVtbl -> ReleaseBoundObjects(This)
  1789. #define IBindCtx_SetBindOptions(This,pbindopts)
  1790.     (This)->lpVtbl -> SetBindOptions(This,pbindopts)
  1791. #define IBindCtx_GetBindOptions(This,pbindopts)
  1792.     (This)->lpVtbl -> GetBindOptions(This,pbindopts)
  1793. #define IBindCtx_GetRunningObjectTable(This,pprot)
  1794.     (This)->lpVtbl -> GetRunningObjectTable(This,pprot)
  1795. #define IBindCtx_RegisterObjectParam(This,pszKey,punk)
  1796.     (This)->lpVtbl -> RegisterObjectParam(This,pszKey,punk)
  1797. #define IBindCtx_GetObjectParam(This,pszKey,ppunk)
  1798.     (This)->lpVtbl -> GetObjectParam(This,pszKey,ppunk)
  1799. #define IBindCtx_EnumObjectParam(This,ppenum)
  1800.     (This)->lpVtbl -> EnumObjectParam(This,ppenum)
  1801. #define IBindCtx_RevokeObjectParam(This,pszKey)
  1802.     (This)->lpVtbl -> RevokeObjectParam(This,pszKey)
  1803. #endif /* COBJMACROS */
  1804. #endif  /* C style interface */
  1805. HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectBound_Proxy( 
  1806.     IBindCtx * This,
  1807.     /* [unique][in] */ IUnknown *punk);
  1808. void __RPC_STUB IBindCtx_RegisterObjectBound_Stub(
  1809.     IRpcStubBuffer *This,
  1810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1811.     PRPC_MESSAGE _pRpcMessage,
  1812.     DWORD *_pdwStubPhase);
  1813. HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectBound_Proxy( 
  1814.     IBindCtx * This,
  1815.     /* [unique][in] */ IUnknown *punk);
  1816. void __RPC_STUB IBindCtx_RevokeObjectBound_Stub(
  1817.     IRpcStubBuffer *This,
  1818.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1819.     PRPC_MESSAGE _pRpcMessage,
  1820.     DWORD *_pdwStubPhase);
  1821. HRESULT STDMETHODCALLTYPE IBindCtx_ReleaseBoundObjects_Proxy( 
  1822.     IBindCtx * This);
  1823. void __RPC_STUB IBindCtx_ReleaseBoundObjects_Stub(
  1824.     IRpcStubBuffer *This,
  1825.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1826.     PRPC_MESSAGE _pRpcMessage,
  1827.     DWORD *_pdwStubPhase);
  1828. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindCtx_RemoteSetBindOptions_Proxy( 
  1829.     IBindCtx * This,
  1830.     /* [in] */ BIND_OPTS2 *pbindopts);
  1831. void __RPC_STUB IBindCtx_RemoteSetBindOptions_Stub(
  1832.     IRpcStubBuffer *This,
  1833.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1834.     PRPC_MESSAGE _pRpcMessage,
  1835.     DWORD *_pdwStubPhase);
  1836. /* [call_as] */ HRESULT STDMETHODCALLTYPE IBindCtx_RemoteGetBindOptions_Proxy( 
  1837.     IBindCtx * This,
  1838.     /* [out][in] */ BIND_OPTS2 *pbindopts);
  1839. void __RPC_STUB IBindCtx_RemoteGetBindOptions_Stub(
  1840.     IRpcStubBuffer *This,
  1841.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1842.     PRPC_MESSAGE _pRpcMessage,
  1843.     DWORD *_pdwStubPhase);
  1844. HRESULT STDMETHODCALLTYPE IBindCtx_GetRunningObjectTable_Proxy( 
  1845.     IBindCtx * This,
  1846.     /* [out] */ IRunningObjectTable **pprot);
  1847. void __RPC_STUB IBindCtx_GetRunningObjectTable_Stub(
  1848.     IRpcStubBuffer *This,
  1849.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1850.     PRPC_MESSAGE _pRpcMessage,
  1851.     DWORD *_pdwStubPhase);
  1852. HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectParam_Proxy( 
  1853.     IBindCtx * This,
  1854.     /* [in] */ LPOLESTR pszKey,
  1855.     /* [unique][in] */ IUnknown *punk);
  1856. void __RPC_STUB IBindCtx_RegisterObjectParam_Stub(
  1857.     IRpcStubBuffer *This,
  1858.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1859.     PRPC_MESSAGE _pRpcMessage,
  1860.     DWORD *_pdwStubPhase);
  1861. HRESULT STDMETHODCALLTYPE IBindCtx_GetObjectParam_Proxy( 
  1862.     IBindCtx * This,
  1863.     /* [in] */ LPOLESTR pszKey,
  1864.     /* [out] */ IUnknown **ppunk);
  1865. void __RPC_STUB IBindCtx_GetObjectParam_Stub(
  1866.     IRpcStubBuffer *This,
  1867.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1868.     PRPC_MESSAGE _pRpcMessage,
  1869.     DWORD *_pdwStubPhase);
  1870. HRESULT STDMETHODCALLTYPE IBindCtx_EnumObjectParam_Proxy( 
  1871.     IBindCtx * This,
  1872.     /* [out] */ IEnumString **ppenum);
  1873. void __RPC_STUB IBindCtx_EnumObjectParam_Stub(
  1874.     IRpcStubBuffer *This,
  1875.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1876.     PRPC_MESSAGE _pRpcMessage,
  1877.     DWORD *_pdwStubPhase);
  1878. HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectParam_Proxy( 
  1879.     IBindCtx * This,
  1880.     /* [in] */ LPOLESTR pszKey);
  1881. void __RPC_STUB IBindCtx_RevokeObjectParam_Stub(
  1882.     IRpcStubBuffer *This,
  1883.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1884.     PRPC_MESSAGE _pRpcMessage,
  1885.     DWORD *_pdwStubPhase);
  1886. #endif  /* __IBindCtx_INTERFACE_DEFINED__ */
  1887. #ifndef __IEnumMoniker_INTERFACE_DEFINED__
  1888. #define __IEnumMoniker_INTERFACE_DEFINED__
  1889. /* interface IEnumMoniker */
  1890. /* [unique][uuid][object] */ 
  1891. typedef /* [unique] */ IEnumMoniker *LPENUMMONIKER;
  1892. EXTERN_C const IID IID_IEnumMoniker;
  1893. #if defined(__cplusplus) && !defined(CINTERFACE)
  1894.     
  1895.     MIDL_INTERFACE("00000102-0000-0000-C000-000000000046")
  1896.     IEnumMoniker : public IUnknown
  1897.     {
  1898.     public:
  1899.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next( 
  1900.             /* [in] */ ULONG celt,
  1901.             /* [length_is][size_is][out] */ IMoniker **rgelt,
  1902.             /* [out] */ ULONG *pceltFetched) = 0;
  1903.         
  1904.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  1905.             /* [in] */ ULONG celt) = 0;
  1906.         
  1907.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  1908.         
  1909.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  1910.             /* [out] */ IEnumMoniker **ppenum) = 0;
  1911.         
  1912.     };
  1913.     
  1914. #else  /* C style interface */
  1915.     typedef struct IEnumMonikerVtbl
  1916.     {
  1917.         BEGIN_INTERFACE
  1918.         
  1919.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1920.             IEnumMoniker * This,
  1921.             /* [in] */ REFIID riid,
  1922.             /* [iid_is][out] */ void **ppvObject);
  1923.         
  1924.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1925.             IEnumMoniker * This);
  1926.         
  1927.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1928.             IEnumMoniker * This);
  1929.         
  1930.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
  1931.             IEnumMoniker * This,
  1932.             /* [in] */ ULONG celt,
  1933.             /* [length_is][size_is][out] */ IMoniker **rgelt,
  1934.             /* [out] */ ULONG *pceltFetched);
  1935.         
  1936.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  1937.             IEnumMoniker * This,
  1938.             /* [in] */ ULONG celt);
  1939.         
  1940.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1941.             IEnumMoniker * This);
  1942.         
  1943.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  1944.             IEnumMoniker * This,
  1945.             /* [out] */ IEnumMoniker **ppenum);
  1946.         
  1947.         END_INTERFACE
  1948.     } IEnumMonikerVtbl;
  1949.     interface IEnumMoniker
  1950.     {
  1951.         CONST_VTBL struct IEnumMonikerVtbl *lpVtbl;
  1952.     };
  1953.     
  1954. #ifdef COBJMACROS
  1955. #define IEnumMoniker_QueryInterface(This,riid,ppvObject)
  1956.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1957. #define IEnumMoniker_AddRef(This)
  1958.     (This)->lpVtbl -> AddRef(This)
  1959. #define IEnumMoniker_Release(This)
  1960.     (This)->lpVtbl -> Release(This)
  1961. #define IEnumMoniker_Next(This,celt,rgelt,pceltFetched)
  1962.     (This)->lpVtbl -> Next(This,celt,rgelt,pceltFetched)
  1963. #define IEnumMoniker_Skip(This,celt)
  1964.     (This)->lpVtbl -> Skip(This,celt)
  1965. #define IEnumMoniker_Reset(This)
  1966.     (This)->lpVtbl -> Reset(This)
  1967. #define IEnumMoniker_Clone(This,ppenum)
  1968.     (This)->lpVtbl -> Clone(This,ppenum)
  1969. #endif /* COBJMACROS */
  1970. #endif  /* C style interface */
  1971. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumMoniker_RemoteNext_Proxy( 
  1972.     IEnumMoniker * This,
  1973.     /* [in] */ ULONG celt,
  1974.     /* [length_is][size_is][out] */ IMoniker **rgelt,
  1975.     /* [out] */ ULONG *pceltFetched);
  1976. void __RPC_STUB IEnumMoniker_RemoteNext_Stub(
  1977.     IRpcStubBuffer *This,
  1978.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1979.     PRPC_MESSAGE _pRpcMessage,
  1980.     DWORD *_pdwStubPhase);
  1981. HRESULT STDMETHODCALLTYPE IEnumMoniker_Skip_Proxy( 
  1982.     IEnumMoniker * This,
  1983.     /* [in] */ ULONG celt);
  1984. void __RPC_STUB IEnumMoniker_Skip_Stub(
  1985.     IRpcStubBuffer *This,
  1986.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1987.     PRPC_MESSAGE _pRpcMessage,
  1988.     DWORD *_pdwStubPhase);
  1989. HRESULT STDMETHODCALLTYPE IEnumMoniker_Reset_Proxy( 
  1990.     IEnumMoniker * This);
  1991. void __RPC_STUB IEnumMoniker_Reset_Stub(
  1992.     IRpcStubBuffer *This,
  1993.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1994.     PRPC_MESSAGE _pRpcMessage,
  1995.     DWORD *_pdwStubPhase);
  1996. HRESULT STDMETHODCALLTYPE IEnumMoniker_Clone_Proxy( 
  1997.     IEnumMoniker * This,
  1998.     /* [out] */ IEnumMoniker **ppenum);
  1999. void __RPC_STUB IEnumMoniker_Clone_Stub(
  2000.     IRpcStubBuffer *This,
  2001.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2002.     PRPC_MESSAGE _pRpcMessage,
  2003.     DWORD *_pdwStubPhase);
  2004. #endif  /* __IEnumMoniker_INTERFACE_DEFINED__ */
  2005. #ifndef __IRunnableObject_INTERFACE_DEFINED__
  2006. #define __IRunnableObject_INTERFACE_DEFINED__
  2007. /* interface IRunnableObject */
  2008. /* [uuid][object] */ 
  2009. typedef /* [unique] */ IRunnableObject *LPRUNNABLEOBJECT;
  2010. EXTERN_C const IID IID_IRunnableObject;
  2011. #if defined(__cplusplus) && !defined(CINTERFACE)
  2012.     
  2013.     MIDL_INTERFACE("00000126-0000-0000-C000-000000000046")
  2014.     IRunnableObject : public IUnknown
  2015.     {
  2016.     public:
  2017.         virtual HRESULT STDMETHODCALLTYPE GetRunningClass( 
  2018.             /* [out] */ LPCLSID lpClsid) = 0;
  2019.         
  2020.         virtual HRESULT STDMETHODCALLTYPE Run( 
  2021.             /* [in] */ LPBINDCTX pbc) = 0;
  2022.         
  2023.         virtual /* [local] */ BOOL STDMETHODCALLTYPE IsRunning( void) = 0;
  2024.         
  2025.         virtual HRESULT STDMETHODCALLTYPE LockRunning( 
  2026.             /* [in] */ BOOL fLock,
  2027.             /* [in] */ BOOL fLastUnlockCloses) = 0;
  2028.         
  2029.         virtual HRESULT STDMETHODCALLTYPE SetContainedObject( 
  2030.             /* [in] */ BOOL fContained) = 0;
  2031.         
  2032.     };
  2033.     
  2034. #else  /* C style interface */
  2035.     typedef struct IRunnableObjectVtbl
  2036.     {
  2037.         BEGIN_INTERFACE
  2038.         
  2039.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2040.             IRunnableObject * This,
  2041.             /* [in] */ REFIID riid,
  2042.             /* [iid_is][out] */ void **ppvObject);
  2043.         
  2044.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2045.             IRunnableObject * This);
  2046.         
  2047.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2048.             IRunnableObject * This);
  2049.         
  2050.         HRESULT ( STDMETHODCALLTYPE *GetRunningClass )( 
  2051.             IRunnableObject * This,
  2052.             /* [out] */ LPCLSID lpClsid);
  2053.         
  2054.         HRESULT ( STDMETHODCALLTYPE *Run )( 
  2055.             IRunnableObject * This,
  2056.             /* [in] */ LPBINDCTX pbc);
  2057.         
  2058.         /* [local] */ BOOL ( STDMETHODCALLTYPE *IsRunning )( 
  2059.             IRunnableObject * This);
  2060.         
  2061.         HRESULT ( STDMETHODCALLTYPE *LockRunning )( 
  2062.             IRunnableObject * This,
  2063.             /* [in] */ BOOL fLock,
  2064.             /* [in] */ BOOL fLastUnlockCloses);
  2065.         
  2066.         HRESULT ( STDMETHODCALLTYPE *SetContainedObject )( 
  2067.             IRunnableObject * This,
  2068.             /* [in] */ BOOL fContained);
  2069.         
  2070.         END_INTERFACE
  2071.     } IRunnableObjectVtbl;
  2072.     interface IRunnableObject
  2073.     {
  2074.         CONST_VTBL struct IRunnableObjectVtbl *lpVtbl;
  2075.     };
  2076.     
  2077. #ifdef COBJMACROS
  2078. #define IRunnableObject_QueryInterface(This,riid,ppvObject)
  2079.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2080. #define IRunnableObject_AddRef(This)
  2081.     (This)->lpVtbl -> AddRef(This)
  2082. #define IRunnableObject_Release(This)
  2083.     (This)->lpVtbl -> Release(This)
  2084. #define IRunnableObject_GetRunningClass(This,lpClsid)
  2085.     (This)->lpVtbl -> GetRunningClass(This,lpClsid)
  2086. #define IRunnableObject_Run(This,pbc)
  2087.     (This)->lpVtbl -> Run(This,pbc)
  2088. #define IRunnableObject_IsRunning(This)
  2089.     (This)->lpVtbl -> IsRunning(This)
  2090. #define IRunnableObject_LockRunning(This,fLock,fLastUnlockCloses)
  2091.     (This)->lpVtbl -> LockRunning(This,fLock,fLastUnlockCloses)
  2092. #define IRunnableObject_SetContainedObject(This,fContained)
  2093.     (This)->lpVtbl -> SetContainedObject(This,fContained)
  2094. #endif /* COBJMACROS */
  2095. #endif  /* C style interface */
  2096. HRESULT STDMETHODCALLTYPE IRunnableObject_GetRunningClass_Proxy( 
  2097.     IRunnableObject * This,
  2098.     /* [out] */ LPCLSID lpClsid);
  2099. void __RPC_STUB IRunnableObject_GetRunningClass_Stub(
  2100.     IRpcStubBuffer *This,
  2101.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2102.     PRPC_MESSAGE _pRpcMessage,
  2103.     DWORD *_pdwStubPhase);
  2104. HRESULT STDMETHODCALLTYPE IRunnableObject_Run_Proxy( 
  2105.     IRunnableObject * This,
  2106.     /* [in] */ LPBINDCTX pbc);
  2107. void __RPC_STUB IRunnableObject_Run_Stub(
  2108.     IRpcStubBuffer *This,
  2109.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2110.     PRPC_MESSAGE _pRpcMessage,
  2111.     DWORD *_pdwStubPhase);
  2112. /* [call_as] */ HRESULT STDMETHODCALLTYPE IRunnableObject_RemoteIsRunning_Proxy( 
  2113.     IRunnableObject * This);
  2114. void __RPC_STUB IRunnableObject_RemoteIsRunning_Stub(
  2115.     IRpcStubBuffer *This,
  2116.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2117.     PRPC_MESSAGE _pRpcMessage,
  2118.     DWORD *_pdwStubPhase);
  2119. HRESULT STDMETHODCALLTYPE IRunnableObject_LockRunning_Proxy( 
  2120.     IRunnableObject * This,
  2121.     /* [in] */ BOOL fLock,
  2122.     /* [in] */ BOOL fLastUnlockCloses);
  2123. void __RPC_STUB IRunnableObject_LockRunning_Stub(
  2124.     IRpcStubBuffer *This,
  2125.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2126.     PRPC_MESSAGE _pRpcMessage,
  2127.     DWORD *_pdwStubPhase);
  2128. HRESULT STDMETHODCALLTYPE IRunnableObject_SetContainedObject_Proxy( 
  2129.     IRunnableObject * This,
  2130.     /* [in] */ BOOL fContained);
  2131. void __RPC_STUB IRunnableObject_SetContainedObject_Stub(
  2132.     IRpcStubBuffer *This,
  2133.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2134.     PRPC_MESSAGE _pRpcMessage,
  2135.     DWORD *_pdwStubPhase);
  2136. #endif  /* __IRunnableObject_INTERFACE_DEFINED__ */
  2137. #ifndef __IRunningObjectTable_INTERFACE_DEFINED__
  2138. #define __IRunningObjectTable_INTERFACE_DEFINED__
  2139. /* interface IRunningObjectTable */
  2140. /* [uuid][object] */ 
  2141. typedef /* [unique] */ IRunningObjectTable *LPRUNNINGOBJECTTABLE;
  2142. EXTERN_C const IID IID_IRunningObjectTable;
  2143. #if defined(__cplusplus) && !defined(CINTERFACE)
  2144.     
  2145.     MIDL_INTERFACE("00000010-0000-0000-C000-000000000046")
  2146.     IRunningObjectTable : public IUnknown
  2147.     {
  2148.     public:
  2149.         virtual HRESULT STDMETHODCALLTYPE Register( 
  2150.             /* [in] */ DWORD grfFlags,
  2151.             /* [unique][in] */ IUnknown *punkObject,
  2152.             /* [unique][in] */ IMoniker *pmkObjectName,
  2153.             /* [out] */ DWORD *pdwRegister) = 0;
  2154.         
  2155.         virtual HRESULT STDMETHODCALLTYPE Revoke( 
  2156.             /* [in] */ DWORD dwRegister) = 0;
  2157.         
  2158.         virtual HRESULT STDMETHODCALLTYPE IsRunning( 
  2159.             /* [unique][in] */ IMoniker *pmkObjectName) = 0;
  2160.         
  2161.         virtual HRESULT STDMETHODCALLTYPE GetObject( 
  2162.             /* [unique][in] */ IMoniker *pmkObjectName,
  2163.             /* [out] */ IUnknown **ppunkObject) = 0;
  2164.         
  2165.         virtual HRESULT STDMETHODCALLTYPE NoteChangeTime( 
  2166.             /* [in] */ DWORD dwRegister,
  2167.             /* [in] */ FILETIME *pfiletime) = 0;
  2168.         
  2169.         virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange( 
  2170.             /* [unique][in] */ IMoniker *pmkObjectName,
  2171.             /* [out] */ FILETIME *pfiletime) = 0;
  2172.         
  2173.         virtual HRESULT STDMETHODCALLTYPE EnumRunning( 
  2174.             /* [out] */ IEnumMoniker **ppenumMoniker) = 0;
  2175.         
  2176.     };
  2177.     
  2178. #else  /* C style interface */
  2179.     typedef struct IRunningObjectTableVtbl
  2180.     {
  2181.         BEGIN_INTERFACE
  2182.         
  2183.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2184.             IRunningObjectTable * This,
  2185.             /* [in] */ REFIID riid,
  2186.             /* [iid_is][out] */ void **ppvObject);
  2187.         
  2188.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2189.             IRunningObjectTable * This);
  2190.         
  2191.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2192.             IRunningObjectTable * This);
  2193.         
  2194.         HRESULT ( STDMETHODCALLTYPE *Register )( 
  2195.             IRunningObjectTable * This,
  2196.             /* [in] */ DWORD grfFlags,
  2197.             /* [unique][in] */ IUnknown *punkObject,
  2198.             /* [unique][in] */ IMoniker *pmkObjectName,
  2199.             /* [out] */ DWORD *pdwRegister);
  2200.         
  2201.         HRESULT ( STDMETHODCALLTYPE *Revoke )( 
  2202.             IRunningObjectTable * This,
  2203.             /* [in] */ DWORD dwRegister);
  2204.         
  2205.         HRESULT ( STDMETHODCALLTYPE *IsRunning )( 
  2206.             IRunningObjectTable * This,
  2207.             /* [unique][in] */ IMoniker *pmkObjectName);
  2208.         
  2209.         HRESULT ( STDMETHODCALLTYPE *GetObject )( 
  2210.             IRunningObjectTable * This,
  2211.             /* [unique][in] */ IMoniker *pmkObjectName,
  2212.             /* [out] */ IUnknown **ppunkObject);
  2213.         
  2214.         HRESULT ( STDMETHODCALLTYPE *NoteChangeTime )( 
  2215.             IRunningObjectTable * This,
  2216.             /* [in] */ DWORD dwRegister,
  2217.             /* [in] */ FILETIME *pfiletime);
  2218.         
  2219.         HRESULT ( STDMETHODCALLTYPE *GetTimeOfLastChange )( 
  2220.             IRunningObjectTable * This,
  2221.             /* [unique][in] */ IMoniker *pmkObjectName,
  2222.             /* [out] */ FILETIME *pfiletime);
  2223.         
  2224.         HRESULT ( STDMETHODCALLTYPE *EnumRunning )( 
  2225.             IRunningObjectTable * This,
  2226.             /* [out] */ IEnumMoniker **ppenumMoniker);
  2227.         
  2228.         END_INTERFACE
  2229.     } IRunningObjectTableVtbl;
  2230.     interface IRunningObjectTable
  2231.     {
  2232.         CONST_VTBL struct IRunningObjectTableVtbl *lpVtbl;
  2233.     };
  2234.     
  2235. #ifdef COBJMACROS
  2236. #define IRunningObjectTable_QueryInterface(This,riid,ppvObject)
  2237.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2238. #define IRunningObjectTable_AddRef(This)
  2239.     (This)->lpVtbl -> AddRef(This)
  2240. #define IRunningObjectTable_Release(This)
  2241.     (This)->lpVtbl -> Release(This)
  2242. #define IRunningObjectTable_Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister)
  2243.     (This)->lpVtbl -> Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister)
  2244. #define IRunningObjectTable_Revoke(This,dwRegister)
  2245.     (This)->lpVtbl -> Revoke(This,dwRegister)
  2246. #define IRunningObjectTable_IsRunning(This,pmkObjectName)
  2247.     (This)->lpVtbl -> IsRunning(This,pmkObjectName)
  2248. #define IRunningObjectTable_GetObject(This,pmkObjectName,ppunkObject)
  2249.     (This)->lpVtbl -> GetObject(This,pmkObjectName,ppunkObject)
  2250. #define IRunningObjectTable_NoteChangeTime(This,dwRegister,pfiletime)
  2251.     (This)->lpVtbl -> NoteChangeTime(This,dwRegister,pfiletime)
  2252. #define IRunningObjectTable_GetTimeOfLastChange(This,pmkObjectName,pfiletime)
  2253.     (This)->lpVtbl -> GetTimeOfLastChange(This,pmkObjectName,pfiletime)
  2254. #define IRunningObjectTable_EnumRunning(This,ppenumMoniker)
  2255.     (This)->lpVtbl -> EnumRunning(This,ppenumMoniker)
  2256. #endif /* COBJMACROS */
  2257. #endif  /* C style interface */
  2258. HRESULT STDMETHODCALLTYPE IRunningObjectTable_Register_Proxy( 
  2259.     IRunningObjectTable * This,
  2260.     /* [in] */ DWORD grfFlags,
  2261.     /* [unique][in] */ IUnknown *punkObject,
  2262.     /* [unique][in] */ IMoniker *pmkObjectName,
  2263.     /* [out] */ DWORD *pdwRegister);
  2264. void __RPC_STUB IRunningObjectTable_Register_Stub(
  2265.     IRpcStubBuffer *This,
  2266.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2267.     PRPC_MESSAGE _pRpcMessage,
  2268.     DWORD *_pdwStubPhase);
  2269. HRESULT STDMETHODCALLTYPE IRunningObjectTable_Revoke_Proxy( 
  2270.     IRunningObjectTable * This,
  2271.     /* [in] */ DWORD dwRegister);
  2272. void __RPC_STUB IRunningObjectTable_Revoke_Stub(
  2273.     IRpcStubBuffer *This,
  2274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2275.     PRPC_MESSAGE _pRpcMessage,
  2276.     DWORD *_pdwStubPhase);
  2277. HRESULT STDMETHODCALLTYPE IRunningObjectTable_IsRunning_Proxy( 
  2278.     IRunningObjectTable * This,
  2279.     /* [unique][in] */ IMoniker *pmkObjectName);
  2280. void __RPC_STUB IRunningObjectTable_IsRunning_Stub(
  2281.     IRpcStubBuffer *This,
  2282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2283.     PRPC_MESSAGE _pRpcMessage,
  2284.     DWORD *_pdwStubPhase);
  2285. HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetObject_Proxy( 
  2286.     IRunningObjectTable * This,
  2287.     /* [unique][in] */ IMoniker *pmkObjectName,
  2288.     /* [out] */ IUnknown **ppunkObject);
  2289. void __RPC_STUB IRunningObjectTable_GetObject_Stub(
  2290.     IRpcStubBuffer *This,
  2291.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2292.     PRPC_MESSAGE _pRpcMessage,
  2293.     DWORD *_pdwStubPhase);
  2294. HRESULT STDMETHODCALLTYPE IRunningObjectTable_NoteChangeTime_Proxy( 
  2295.     IRunningObjectTable * This,
  2296.     /* [in] */ DWORD dwRegister,
  2297.     /* [in] */ FILETIME *pfiletime);
  2298. void __RPC_STUB IRunningObjectTable_NoteChangeTime_Stub(
  2299.     IRpcStubBuffer *This,
  2300.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2301.     PRPC_MESSAGE _pRpcMessage,
  2302.     DWORD *_pdwStubPhase);
  2303. HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetTimeOfLastChange_Proxy( 
  2304.     IRunningObjectTable * This,
  2305.     /* [unique][in] */ IMoniker *pmkObjectName,
  2306.     /* [out] */ FILETIME *pfiletime);
  2307. void __RPC_STUB IRunningObjectTable_GetTimeOfLastChange_Stub(
  2308.     IRpcStubBuffer *This,
  2309.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2310.     PRPC_MESSAGE _pRpcMessage,
  2311.     DWORD *_pdwStubPhase);
  2312. HRESULT STDMETHODCALLTYPE IRunningObjectTable_EnumRunning_Proxy( 
  2313.     IRunningObjectTable * This,
  2314.     /* [out] */ IEnumMoniker **ppenumMoniker);
  2315. void __RPC_STUB IRunningObjectTable_EnumRunning_Stub(
  2316.     IRpcStubBuffer *This,
  2317.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2318.     PRPC_MESSAGE _pRpcMessage,
  2319.     DWORD *_pdwStubPhase);
  2320. #endif  /* __IRunningObjectTable_INTERFACE_DEFINED__ */
  2321. #ifndef __IPersist_INTERFACE_DEFINED__
  2322. #define __IPersist_INTERFACE_DEFINED__
  2323. /* interface IPersist */
  2324. /* [uuid][object] */ 
  2325. typedef /* [unique] */ IPersist *LPPERSIST;
  2326. EXTERN_C const IID IID_IPersist;
  2327. #if defined(__cplusplus) && !defined(CINTERFACE)
  2328.     
  2329.     MIDL_INTERFACE("0000010c-0000-0000-C000-000000000046")
  2330.     IPersist : public IUnknown
  2331.     {
  2332.     public:
  2333.         virtual HRESULT STDMETHODCALLTYPE GetClassID( 
  2334.             /* [out] */ CLSID *pClassID) = 0;
  2335.         
  2336.     };
  2337.     
  2338. #else  /* C style interface */
  2339.     typedef struct IPersistVtbl
  2340.     {
  2341.         BEGIN_INTERFACE
  2342.         
  2343.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2344.             IPersist * This,
  2345.             /* [in] */ REFIID riid,
  2346.             /* [iid_is][out] */ void **ppvObject);
  2347.         
  2348.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2349.             IPersist * This);
  2350.         
  2351.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2352.             IPersist * This);
  2353.         
  2354.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  2355.             IPersist * This,
  2356.             /* [out] */ CLSID *pClassID);
  2357.         
  2358.         END_INTERFACE
  2359.     } IPersistVtbl;
  2360.     interface IPersist
  2361.     {
  2362.         CONST_VTBL struct IPersistVtbl *lpVtbl;
  2363.     };
  2364.     
  2365. #ifdef COBJMACROS
  2366. #define IPersist_QueryInterface(This,riid,ppvObject)
  2367.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2368. #define IPersist_AddRef(This)
  2369.     (This)->lpVtbl -> AddRef(This)
  2370. #define IPersist_Release(This)
  2371.     (This)->lpVtbl -> Release(This)
  2372. #define IPersist_GetClassID(This,pClassID)
  2373.     (This)->lpVtbl -> GetClassID(This,pClassID)
  2374. #endif /* COBJMACROS */
  2375. #endif  /* C style interface */
  2376. HRESULT STDMETHODCALLTYPE IPersist_GetClassID_Proxy( 
  2377.     IPersist * This,
  2378.     /* [out] */ CLSID *pClassID);
  2379. void __RPC_STUB IPersist_GetClassID_Stub(
  2380.     IRpcStubBuffer *This,
  2381.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2382.     PRPC_MESSAGE _pRpcMessage,
  2383.     DWORD *_pdwStubPhase);
  2384. #endif  /* __IPersist_INTERFACE_DEFINED__ */
  2385. #ifndef __IPersistStream_INTERFACE_DEFINED__
  2386. #define __IPersistStream_INTERFACE_DEFINED__
  2387. /* interface IPersistStream */
  2388. /* [unique][uuid][object] */ 
  2389. typedef /* [unique] */ IPersistStream *LPPERSISTSTREAM;
  2390. EXTERN_C const IID IID_IPersistStream;
  2391. #if defined(__cplusplus) && !defined(CINTERFACE)
  2392.     
  2393.     MIDL_INTERFACE("00000109-0000-0000-C000-000000000046")
  2394.     IPersistStream : public IPersist
  2395.     {
  2396.     public:
  2397.         virtual HRESULT STDMETHODCALLTYPE IsDirty( void) = 0;
  2398.         
  2399.         virtual HRESULT STDMETHODCALLTYPE Load( 
  2400.             /* [unique][in] */ IStream *pStm) = 0;
  2401.         
  2402.         virtual HRESULT STDMETHODCALLTYPE Save( 
  2403.             /* [unique][in] */ IStream *pStm,
  2404.             /* [in] */ BOOL fClearDirty) = 0;
  2405.         
  2406.         virtual HRESULT STDMETHODCALLTYPE GetSizeMax( 
  2407.             /* [out] */ ULARGE_INTEGER *pcbSize) = 0;
  2408.         
  2409.     };
  2410.     
  2411. #else  /* C style interface */
  2412.     typedef struct IPersistStreamVtbl
  2413.     {
  2414.         BEGIN_INTERFACE
  2415.         
  2416.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2417.             IPersistStream * This,
  2418.             /* [in] */ REFIID riid,
  2419.             /* [iid_is][out] */ void **ppvObject);
  2420.         
  2421.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2422.             IPersistStream * This);
  2423.         
  2424.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2425.             IPersistStream * This);
  2426.         
  2427.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  2428.             IPersistStream * This,
  2429.             /* [out] */ CLSID *pClassID);
  2430.         
  2431.         HRESULT ( STDMETHODCALLTYPE *IsDirty )( 
  2432.             IPersistStream * This);
  2433.         
  2434.         HRESULT ( STDMETHODCALLTYPE *Load )( 
  2435.             IPersistStream * This,
  2436.             /* [unique][in] */ IStream *pStm);
  2437.         
  2438.         HRESULT ( STDMETHODCALLTYPE *Save )( 
  2439.             IPersistStream * This,
  2440.             /* [unique][in] */ IStream *pStm,
  2441.             /* [in] */ BOOL fClearDirty);
  2442.         
  2443.         HRESULT ( STDMETHODCALLTYPE *GetSizeMax )( 
  2444.             IPersistStream * This,
  2445.             /* [out] */ ULARGE_INTEGER *pcbSize);
  2446.         
  2447.         END_INTERFACE
  2448.     } IPersistStreamVtbl;
  2449.     interface IPersistStream
  2450.     {
  2451.         CONST_VTBL struct IPersistStreamVtbl *lpVtbl;
  2452.     };
  2453.     
  2454. #ifdef COBJMACROS
  2455. #define IPersistStream_QueryInterface(This,riid,ppvObject)
  2456.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2457. #define IPersistStream_AddRef(This)
  2458.     (This)->lpVtbl -> AddRef(This)
  2459. #define IPersistStream_Release(This)
  2460.     (This)->lpVtbl -> Release(This)
  2461. #define IPersistStream_GetClassID(This,pClassID)
  2462.     (This)->lpVtbl -> GetClassID(This,pClassID)
  2463. #define IPersistStream_IsDirty(This)
  2464.     (This)->lpVtbl -> IsDirty(This)
  2465. #define IPersistStream_Load(This,pStm)
  2466.     (This)->lpVtbl -> Load(This,pStm)
  2467. #define IPersistStream_Save(This,pStm,fClearDirty)
  2468.     (This)->lpVtbl -> Save(This,pStm,fClearDirty)
  2469. #define IPersistStream_GetSizeMax(This,pcbSize)
  2470.     (This)->lpVtbl -> GetSizeMax(This,pcbSize)
  2471. #endif /* COBJMACROS */
  2472. #endif  /* C style interface */
  2473. HRESULT STDMETHODCALLTYPE IPersistStream_IsDirty_Proxy( 
  2474.     IPersistStream * This);
  2475. void __RPC_STUB IPersistStream_IsDirty_Stub(
  2476.     IRpcStubBuffer *This,
  2477.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2478.     PRPC_MESSAGE _pRpcMessage,
  2479.     DWORD *_pdwStubPhase);
  2480. HRESULT STDMETHODCALLTYPE IPersistStream_Load_Proxy( 
  2481.     IPersistStream * This,
  2482.     /* [unique][in] */ IStream *pStm);
  2483. void __RPC_STUB IPersistStream_Load_Stub(
  2484.     IRpcStubBuffer *This,
  2485.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2486.     PRPC_MESSAGE _pRpcMessage,
  2487.     DWORD *_pdwStubPhase);
  2488. HRESULT STDMETHODCALLTYPE IPersistStream_Save_Proxy( 
  2489.     IPersistStream * This,
  2490.     /* [unique][in] */ IStream *pStm,
  2491.     /* [in] */ BOOL fClearDirty);
  2492. void __RPC_STUB IPersistStream_Save_Stub(
  2493.     IRpcStubBuffer *This,
  2494.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2495.     PRPC_MESSAGE _pRpcMessage,
  2496.     DWORD *_pdwStubPhase);
  2497. HRESULT STDMETHODCALLTYPE IPersistStream_GetSizeMax_Proxy( 
  2498.     IPersistStream * This,
  2499.     /* [out] */ ULARGE_INTEGER *pcbSize);
  2500. void __RPC_STUB IPersistStream_GetSizeMax_Stub(
  2501.     IRpcStubBuffer *This,
  2502.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2503.     PRPC_MESSAGE _pRpcMessage,
  2504.     DWORD *_pdwStubPhase);
  2505. #endif  /* __IPersistStream_INTERFACE_DEFINED__ */
  2506. #ifndef __IMoniker_INTERFACE_DEFINED__
  2507. #define __IMoniker_INTERFACE_DEFINED__
  2508. /* interface IMoniker */
  2509. /* [unique][uuid][object] */ 
  2510. typedef /* [unique] */ IMoniker *LPMONIKER;
  2511. typedef 
  2512. enum tagMKSYS
  2513.     { MKSYS_NONE = 0,
  2514. MKSYS_GENERICCOMPOSITE = 1,
  2515. MKSYS_FILEMONIKER = 2,
  2516. MKSYS_ANTIMONIKER = 3,
  2517. MKSYS_ITEMMONIKER = 4,
  2518. MKSYS_POINTERMONIKER = 5,
  2519. MKSYS_CLASSMONIKER = 7,
  2520. MKSYS_OBJREFMONIKER = 8,
  2521. MKSYS_SESSIONMONIKER = 9
  2522.     }  MKSYS;
  2523. typedef /* [v1_enum] */ 
  2524. enum tagMKREDUCE
  2525.     { MKRREDUCE_ONE = 3 << 16,
  2526. MKRREDUCE_TOUSER = 2 << 16,
  2527. MKRREDUCE_THROUGHUSER = 1 << 16,
  2528. MKRREDUCE_ALL = 0
  2529.     }  MKRREDUCE;
  2530. EXTERN_C const IID IID_IMoniker;
  2531. #if defined(__cplusplus) && !defined(CINTERFACE)
  2532.     
  2533.     MIDL_INTERFACE("0000000f-0000-0000-C000-000000000046")
  2534.     IMoniker : public IPersistStream
  2535.     {
  2536.     public:
  2537.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE BindToObject( 
  2538.             /* [unique][in] */ IBindCtx *pbc,
  2539.             /* [unique][in] */ IMoniker *pmkToLeft,
  2540.             /* [in] */ REFIID riidResult,
  2541.             /* [iid_is][out] */ void **ppvResult) = 0;
  2542.         
  2543.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE BindToStorage( 
  2544.             /* [unique][in] */ IBindCtx *pbc,
  2545.             /* [unique][in] */ IMoniker *pmkToLeft,
  2546.             /* [in] */ REFIID riid,
  2547.             /* [iid_is][out] */ void **ppvObj) = 0;
  2548.         
  2549.         virtual HRESULT STDMETHODCALLTYPE Reduce( 
  2550.             /* [unique][in] */ IBindCtx *pbc,
  2551.             /* [in] */ DWORD dwReduceHowFar,
  2552.             /* [unique][out][in] */ IMoniker **ppmkToLeft,
  2553.             /* [out] */ IMoniker **ppmkReduced) = 0;
  2554.         
  2555.         virtual HRESULT STDMETHODCALLTYPE ComposeWith( 
  2556.             /* [unique][in] */ IMoniker *pmkRight,
  2557.             /* [in] */ BOOL fOnlyIfNotGeneric,
  2558.             /* [out] */ IMoniker **ppmkComposite) = 0;
  2559.         
  2560.         virtual HRESULT STDMETHODCALLTYPE Enum( 
  2561.             /* [in] */ BOOL fForward,
  2562.             /* [out] */ IEnumMoniker **ppenumMoniker) = 0;
  2563.         
  2564.         virtual HRESULT STDMETHODCALLTYPE IsEqual( 
  2565.             /* [unique][in] */ IMoniker *pmkOtherMoniker) = 0;
  2566.         
  2567.         virtual HRESULT STDMETHODCALLTYPE Hash( 
  2568.             /* [out] */ DWORD *pdwHash) = 0;
  2569.         
  2570.         virtual HRESULT STDMETHODCALLTYPE IsRunning( 
  2571.             /* [unique][in] */ IBindCtx *pbc,
  2572.             /* [unique][in] */ IMoniker *pmkToLeft,
  2573.             /* [unique][in] */ IMoniker *pmkNewlyRunning) = 0;
  2574.         
  2575.         virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange( 
  2576.             /* [unique][in] */ IBindCtx *pbc,
  2577.             /* [unique][in] */ IMoniker *pmkToLeft,
  2578.             /* [out] */ FILETIME *pFileTime) = 0;
  2579.         
  2580.         virtual HRESULT STDMETHODCALLTYPE Inverse( 
  2581.             /* [out] */ IMoniker **ppmk) = 0;
  2582.         
  2583.         virtual HRESULT STDMETHODCALLTYPE CommonPrefixWith( 
  2584.             /* [unique][in] */ IMoniker *pmkOther,
  2585.             /* [out] */ IMoniker **ppmkPrefix) = 0;
  2586.         
  2587.         virtual HRESULT STDMETHODCALLTYPE RelativePathTo( 
  2588.             /* [unique][in] */ IMoniker *pmkOther,
  2589.             /* [out] */ IMoniker **ppmkRelPath) = 0;
  2590.         
  2591.         virtual HRESULT STDMETHODCALLTYPE GetDisplayName( 
  2592.             /* [unique][in] */ IBindCtx *pbc,
  2593.             /* [unique][in] */ IMoniker *pmkToLeft,
  2594.             /* [out] */ LPOLESTR *ppszDisplayName) = 0;
  2595.         
  2596.         virtual HRESULT STDMETHODCALLTYPE ParseDisplayName( 
  2597.             /* [unique][in] */ IBindCtx *pbc,
  2598.             /* [unique][in] */ IMoniker *pmkToLeft,
  2599.             /* [in] */ LPOLESTR pszDisplayName,
  2600.             /* [out] */ ULONG *pchEaten,
  2601.             /* [out] */ IMoniker **ppmkOut) = 0;
  2602.         
  2603.         virtual HRESULT STDMETHODCALLTYPE IsSystemMoniker( 
  2604.             /* [out] */ DWORD *pdwMksys) = 0;
  2605.         
  2606.     };
  2607.     
  2608. #else  /* C style interface */
  2609.     typedef struct IMonikerVtbl
  2610.     {
  2611.         BEGIN_INTERFACE
  2612.         
  2613.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2614.             IMoniker * This,
  2615.             /* [in] */ REFIID riid,
  2616.             /* [iid_is][out] */ void **ppvObject);
  2617.         
  2618.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2619.             IMoniker * This);
  2620.         
  2621.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2622.             IMoniker * This);
  2623.         
  2624.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  2625.             IMoniker * This,
  2626.             /* [out] */ CLSID *pClassID);
  2627.         
  2628.         HRESULT ( STDMETHODCALLTYPE *IsDirty )( 
  2629.             IMoniker * This);
  2630.         
  2631.         HRESULT ( STDMETHODCALLTYPE *Load )( 
  2632.             IMoniker * This,
  2633.             /* [unique][in] */ IStream *pStm);
  2634.         
  2635.         HRESULT ( STDMETHODCALLTYPE *Save )( 
  2636.             IMoniker * This,
  2637.             /* [unique][in] */ IStream *pStm,
  2638.             /* [in] */ BOOL fClearDirty);
  2639.         
  2640.         HRESULT ( STDMETHODCALLTYPE *GetSizeMax )( 
  2641.             IMoniker * This,
  2642.             /* [out] */ ULARGE_INTEGER *pcbSize);
  2643.         
  2644.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *BindToObject )( 
  2645.             IMoniker * This,
  2646.             /* [unique][in] */ IBindCtx *pbc,
  2647.             /* [unique][in] */ IMoniker *pmkToLeft,
  2648.             /* [in] */ REFIID riidResult,
  2649.             /* [iid_is][out] */ void **ppvResult);
  2650.         
  2651.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *BindToStorage )( 
  2652.             IMoniker * This,
  2653.             /* [unique][in] */ IBindCtx *pbc,
  2654.             /* [unique][in] */ IMoniker *pmkToLeft,
  2655.             /* [in] */ REFIID riid,
  2656.             /* [iid_is][out] */ void **ppvObj);
  2657.         
  2658.         HRESULT ( STDMETHODCALLTYPE *Reduce )( 
  2659.             IMoniker * This,
  2660.             /* [unique][in] */ IBindCtx *pbc,
  2661.             /* [in] */ DWORD dwReduceHowFar,
  2662.             /* [unique][out][in] */ IMoniker **ppmkToLeft,
  2663.             /* [out] */ IMoniker **ppmkReduced);
  2664.         
  2665.         HRESULT ( STDMETHODCALLTYPE *ComposeWith )( 
  2666.             IMoniker * This,
  2667.             /* [unique][in] */ IMoniker *pmkRight,
  2668.             /* [in] */ BOOL fOnlyIfNotGeneric,
  2669.             /* [out] */ IMoniker **ppmkComposite);
  2670.         
  2671.         HRESULT ( STDMETHODCALLTYPE *Enum )( 
  2672.             IMoniker * This,
  2673.             /* [in] */ BOOL fForward,
  2674.             /* [out] */ IEnumMoniker **ppenumMoniker);
  2675.         
  2676.         HRESULT ( STDMETHODCALLTYPE *IsEqual )( 
  2677.             IMoniker * This,
  2678.             /* [unique][in] */ IMoniker *pmkOtherMoniker);
  2679.         
  2680.         HRESULT ( STDMETHODCALLTYPE *Hash )( 
  2681.             IMoniker * This,
  2682.             /* [out] */ DWORD *pdwHash);
  2683.         
  2684.         HRESULT ( STDMETHODCALLTYPE *IsRunning )( 
  2685.             IMoniker * This,
  2686.             /* [unique][in] */ IBindCtx *pbc,
  2687.             /* [unique][in] */ IMoniker *pmkToLeft,
  2688.             /* [unique][in] */ IMoniker *pmkNewlyRunning);
  2689.         
  2690.         HRESULT ( STDMETHODCALLTYPE *GetTimeOfLastChange )( 
  2691.             IMoniker * This,
  2692.             /* [unique][in] */ IBindCtx *pbc,
  2693.             /* [unique][in] */ IMoniker *pmkToLeft,
  2694.             /* [out] */ FILETIME *pFileTime);
  2695.         
  2696.         HRESULT ( STDMETHODCALLTYPE *Inverse )( 
  2697.             IMoniker * This,
  2698.             /* [out] */ IMoniker **ppmk);
  2699.         
  2700.         HRESULT ( STDMETHODCALLTYPE *CommonPrefixWith )( 
  2701.             IMoniker * This,
  2702.             /* [unique][in] */ IMoniker *pmkOther,
  2703.             /* [out] */ IMoniker **ppmkPrefix);
  2704.         
  2705.         HRESULT ( STDMETHODCALLTYPE *RelativePathTo )( 
  2706.             IMoniker * This,
  2707.             /* [unique][in] */ IMoniker *pmkOther,
  2708.             /* [out] */ IMoniker **ppmkRelPath);
  2709.         
  2710.         HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( 
  2711.             IMoniker * This,
  2712.             /* [unique][in] */ IBindCtx *pbc,
  2713.             /* [unique][in] */ IMoniker *pmkToLeft,
  2714.             /* [out] */ LPOLESTR *ppszDisplayName);
  2715.         
  2716.         HRESULT ( STDMETHODCALLTYPE *ParseDisplayName )( 
  2717.             IMoniker * This,
  2718.             /* [unique][in] */ IBindCtx *pbc,
  2719.             /* [unique][in] */ IMoniker *pmkToLeft,
  2720.             /* [in] */ LPOLESTR pszDisplayName,
  2721.             /* [out] */ ULONG *pchEaten,
  2722.             /* [out] */ IMoniker **ppmkOut);
  2723.         
  2724.         HRESULT ( STDMETHODCALLTYPE *IsSystemMoniker )( 
  2725.             IMoniker * This,
  2726.             /* [out] */ DWORD *pdwMksys);
  2727.         
  2728.         END_INTERFACE
  2729.     } IMonikerVtbl;
  2730.     interface IMoniker
  2731.     {
  2732.         CONST_VTBL struct IMonikerVtbl *lpVtbl;
  2733.     };
  2734.     
  2735. #ifdef COBJMACROS
  2736. #define IMoniker_QueryInterface(This,riid,ppvObject)
  2737.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2738. #define IMoniker_AddRef(This)
  2739.     (This)->lpVtbl -> AddRef(This)
  2740. #define IMoniker_Release(This)
  2741.     (This)->lpVtbl -> Release(This)
  2742. #define IMoniker_GetClassID(This,pClassID)
  2743.     (This)->lpVtbl -> GetClassID(This,pClassID)
  2744. #define IMoniker_IsDirty(This)
  2745.     (This)->lpVtbl -> IsDirty(This)
  2746. #define IMoniker_Load(This,pStm)
  2747.     (This)->lpVtbl -> Load(This,pStm)
  2748. #define IMoniker_Save(This,pStm,fClearDirty)
  2749.     (This)->lpVtbl -> Save(This,pStm,fClearDirty)
  2750. #define IMoniker_GetSizeMax(This,pcbSize)
  2751.     (This)->lpVtbl -> GetSizeMax(This,pcbSize)
  2752. #define IMoniker_BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult)
  2753.     (This)->lpVtbl -> BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult)
  2754. #define IMoniker_BindToStorage(This,pbc,pmkToLeft,riid,ppvObj)
  2755.     (This)->lpVtbl -> BindToStorage(This,pbc,pmkToLeft,riid,ppvObj)
  2756. #define IMoniker_Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced)
  2757.     (This)->lpVtbl -> Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced)
  2758. #define IMoniker_ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite)
  2759.     (This)->lpVtbl -> ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite)
  2760. #define IMoniker_Enum(This,fForward,ppenumMoniker)
  2761.     (This)->lpVtbl -> Enum(This,fForward,ppenumMoniker)
  2762. #define IMoniker_IsEqual(This,pmkOtherMoniker)
  2763.     (This)->lpVtbl -> IsEqual(This,pmkOtherMoniker)
  2764. #define IMoniker_Hash(This,pdwHash)
  2765.     (This)->lpVtbl -> Hash(This,pdwHash)
  2766. #define IMoniker_IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning)
  2767.     (This)->lpVtbl -> IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning)
  2768. #define IMoniker_GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime)
  2769.     (This)->lpVtbl -> GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime)
  2770. #define IMoniker_Inverse(This,ppmk)
  2771.     (This)->lpVtbl -> Inverse(This,ppmk)
  2772. #define IMoniker_CommonPrefixWith(This,pmkOther,ppmkPrefix)
  2773.     (This)->lpVtbl -> CommonPrefixWith(This,pmkOther,ppmkPrefix)
  2774. #define IMoniker_RelativePathTo(This,pmkOther,ppmkRelPath)
  2775.     (This)->lpVtbl -> RelativePathTo(This,pmkOther,ppmkRelPath)
  2776. #define IMoniker_GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName)
  2777.     (This)->lpVtbl -> GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName)
  2778. #define IMoniker_ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut)
  2779.     (This)->lpVtbl -> ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut)
  2780. #define IMoniker_IsSystemMoniker(This,pdwMksys)
  2781.     (This)->lpVtbl -> IsSystemMoniker(This,pdwMksys)
  2782. #endif /* COBJMACROS */
  2783. #endif  /* C style interface */
  2784. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToObject_Proxy( 
  2785.     IMoniker * This,
  2786.     /* [unique][in] */ IBindCtx *pbc,
  2787.     /* [unique][in] */ IMoniker *pmkToLeft,
  2788.     /* [in] */ REFIID riidResult,
  2789.     /* [iid_is][out] */ IUnknown **ppvResult);
  2790. void __RPC_STUB IMoniker_RemoteBindToObject_Stub(
  2791.     IRpcStubBuffer *This,
  2792.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2793.     PRPC_MESSAGE _pRpcMessage,
  2794.     DWORD *_pdwStubPhase);
  2795. /* [call_as] */ HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToStorage_Proxy(