Guest User

objidl.h

a guest
Mar 12th, 2013
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 348.80 KB | None | 0 0
  1. /*** Autogenerated by WIDL 1.5.19 from include/objidl.idl - Do not edit ***/
  2.  
  3. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  4. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  5. #endif
  6.  
  7. #include <rpc.h>
  8. #include <rpcndr.h>
  9.  
  10. #ifndef COM_NO_WINDOWS_H
  11. #include <windows.h>
  12. #include <ole2.h>
  13. #endif
  14.  
  15. #ifndef __objidl_h__
  16. #define __objidl_h__
  17.  
  18. /* Forward declarations */
  19.  
  20. #ifndef __IEnumUnknown_FWD_DEFINED__
  21. #define __IEnumUnknown_FWD_DEFINED__
  22. typedef interface IEnumUnknown IEnumUnknown;
  23. #endif
  24.  
  25. #ifndef __IBindCtx_FWD_DEFINED__
  26. #define __IBindCtx_FWD_DEFINED__
  27. typedef interface IBindCtx IBindCtx;
  28. #endif
  29.  
  30. #ifndef __IEnumMoniker_FWD_DEFINED__
  31. #define __IEnumMoniker_FWD_DEFINED__
  32. typedef interface IEnumMoniker IEnumMoniker;
  33. #endif
  34.  
  35. #ifndef __IRunningObjectTable_FWD_DEFINED__
  36. #define __IRunningObjectTable_FWD_DEFINED__
  37. typedef interface IRunningObjectTable IRunningObjectTable;
  38. #endif
  39.  
  40. #ifndef __IPersist_FWD_DEFINED__
  41. #define __IPersist_FWD_DEFINED__
  42. typedef interface IPersist IPersist;
  43. #endif
  44.  
  45. #ifndef __IPersistStream_FWD_DEFINED__
  46. #define __IPersistStream_FWD_DEFINED__
  47. typedef interface IPersistStream IPersistStream;
  48. #endif
  49.  
  50. #ifndef __IMoniker_FWD_DEFINED__
  51. #define __IMoniker_FWD_DEFINED__
  52. typedef interface IMoniker IMoniker;
  53. #endif
  54.  
  55. #ifndef __IEnumString_FWD_DEFINED__
  56. #define __IEnumString_FWD_DEFINED__
  57. typedef interface IEnumString IEnumString;
  58. #endif
  59.  
  60. #ifndef __ISequentialStream_FWD_DEFINED__
  61. #define __ISequentialStream_FWD_DEFINED__
  62. typedef interface ISequentialStream ISequentialStream;
  63. #endif
  64.  
  65. #ifndef __IStream_FWD_DEFINED__
  66. #define __IStream_FWD_DEFINED__
  67. typedef interface IStream IStream;
  68. #endif
  69.  
  70. #ifndef __IEnumSTATSTG_FWD_DEFINED__
  71. #define __IEnumSTATSTG_FWD_DEFINED__
  72. typedef interface IEnumSTATSTG IEnumSTATSTG;
  73. #endif
  74.  
  75. #ifndef __IStorage_FWD_DEFINED__
  76. #define __IStorage_FWD_DEFINED__
  77. typedef interface IStorage IStorage;
  78. #endif
  79.  
  80. #ifndef __IEnumFORMATETC_FWD_DEFINED__
  81. #define __IEnumFORMATETC_FWD_DEFINED__
  82. typedef interface IEnumFORMATETC IEnumFORMATETC;
  83. #endif
  84.  
  85. #ifndef __IEnumSTATDATA_FWD_DEFINED__
  86. #define __IEnumSTATDATA_FWD_DEFINED__
  87. typedef interface IEnumSTATDATA IEnumSTATDATA;
  88. #endif
  89.  
  90. #ifndef __IAdviseSink_FWD_DEFINED__
  91. #define __IAdviseSink_FWD_DEFINED__
  92. typedef interface IAdviseSink IAdviseSink;
  93. #endif
  94.  
  95. #ifndef __IDataObject_FWD_DEFINED__
  96. #define __IDataObject_FWD_DEFINED__
  97. typedef interface IDataObject IDataObject;
  98. #endif
  99.  
  100. /* Headers for imported files */
  101.  
  102. #include <unknwn.h>
  103. #include <wtypes.h>
  104.  
  105. #ifdef __cplusplus
  106. extern "C" {
  107. #endif
  108.  
  109. #ifndef __IMoniker_FWD_DEFINED__
  110. #define __IMoniker_FWD_DEFINED__
  111. typedef interface IMoniker IMoniker;
  112. #endif
  113.  
  114. #ifndef __IEnumMoniker_FWD_DEFINED__
  115. #define __IEnumMoniker_FWD_DEFINED__
  116. typedef interface IEnumMoniker IEnumMoniker;
  117. #endif
  118.  
  119. #ifndef __IRunningObjectTable_FWD_DEFINED__
  120. #define __IRunningObjectTable_FWD_DEFINED__
  121. typedef interface IRunningObjectTable IRunningObjectTable;
  122. #endif
  123.  
  124. #ifndef __IEnumString_FWD_DEFINED__
  125. #define __IEnumString_FWD_DEFINED__
  126. typedef interface IEnumString IEnumString;
  127. #endif
  128.  
  129. #ifndef __IStream_FWD_DEFINED__
  130. #define __IStream_FWD_DEFINED__
  131. typedef interface IStream IStream;
  132. #endif
  133.  
  134. #ifndef __IAdviseSink_FWD_DEFINED__
  135. #define __IAdviseSink_FWD_DEFINED__
  136. typedef interface IAdviseSink IAdviseSink;
  137. #endif
  138.  
  139. #ifndef __IMarshal_FWD_DEFINED__
  140. #define __IMarshal_FWD_DEFINED__
  141. typedef struct IMarshal IMarshal;
  142. #endif
  143.  
  144. #ifndef __IMarshal2_FWD_DEFINED__
  145. #define __IMarshal2_FWD_DEFINED__
  146. typedef struct IMarshal2 IMarshal2;
  147. #endif
  148.  
  149. #ifndef __IMalloc_FWD_DEFINED__
  150. #define __IMalloc_FWD_DEFINED__
  151. typedef struct IMalloc IMalloc;
  152. #endif
  153.  
  154. #ifndef __IMallocSpy_FWD_DEFINED__
  155. #define __IMallocSpy_FWD_DEFINED__
  156. typedef struct IMallocSpy IMallocSpy;
  157. #endif
  158.  
  159. #ifndef __IStdMarshalInfo_FWD_DEFINED__
  160. #define __IStdMarshalInfo_FWD_DEFINED__
  161. typedef struct IStdMarshalInfo IStdMarshalInfo;
  162. #endif
  163.  
  164. #ifndef __IExternalConnection_FWD_DEFINED__
  165. #define __IExternalConnection_FWD_DEFINED__
  166. typedef struct IExternalConnection IExternalConnection;
  167. #endif
  168.  
  169. #ifndef __IMultiQI_FWD_DEFINED__
  170. #define __IMultiQI_FWD_DEFINED__
  171. typedef struct IMultiQI IMultiQI;
  172. #endif
  173.  
  174. #ifndef __AsyncIMultiQI_FWD_DEFINED__
  175. #define __AsyncIMultiQI_FWD_DEFINED__
  176. typedef struct AsyncIMultiQI AsyncIMultiQI;
  177. #endif
  178.  
  179. #ifndef __IInternalUnknown_FWD_DEFINED__
  180. #define __IInternalUnknown_FWD_DEFINED__
  181. typedef struct IInternalUnknown IInternalUnknown;
  182. #endif
  183.  
  184. #ifndef __IRunnableObject_FWD_DEFINED__
  185. #define __IRunnableObject_FWD_DEFINED__
  186. typedef struct IRunnableObject IRunnableObject;
  187. #endif
  188.  
  189. #ifndef __IROTData_FWD_DEFINED__
  190. #define __IROTData_FWD_DEFINED__
  191. typedef struct IROTData IROTData;
  192. #endif
  193.  
  194. #ifndef __IPersistFile_FWD_DEFINED__
  195. #define __IPersistFile_FWD_DEFINED__
  196. typedef struct IPersistFile IPersistFile;
  197. #endif
  198.  
  199. #ifndef __IPersistStorage_FWD_DEFINED__
  200. #define __IPersistStorage_FWD_DEFINED__
  201. typedef struct IPersistStorage IPersistStorage;
  202. #endif
  203.  
  204. #ifndef __ILockBytes_FWD_DEFINED__
  205. #define __ILockBytes_FWD_DEFINED__
  206. typedef struct ILockBytes ILockBytes;
  207. #endif
  208.  
  209. #ifndef __IRootStorage_FWD_DEFINED__
  210. #define __IRootStorage_FWD_DEFINED__
  211. typedef struct IRootStorage IRootStorage;
  212. #endif
  213.  
  214. #ifndef __AsyncIAdviseSink_FWD_DEFINED__
  215. #define __AsyncIAdviseSink_FWD_DEFINED__
  216. typedef struct AsyncIAdviseSink AsyncIAdviseSink;
  217. #endif
  218.  
  219. #ifndef __IAdviseSink2_FWD_DEFINED__
  220. #define __IAdviseSink2_FWD_DEFINED__
  221. typedef struct IAdviseSink2 IAdviseSink2;
  222. #endif
  223.  
  224. #ifndef __AsyncIAdviseSink2_FWD_DEFINED__
  225. #define __AsyncIAdviseSink2_FWD_DEFINED__
  226. typedef struct AsyncIAdviseSink2 AsyncIAdviseSink2;
  227. #endif
  228.  
  229. #ifndef __IDataAdviseHolder_FWD_DEFINED__
  230. #define __IDataAdviseHolder_FWD_DEFINED__
  231. typedef struct IDataAdviseHolder IDataAdviseHolder;
  232. #endif
  233.  
  234. #ifndef __IMessageFilter_FWD_DEFINED__
  235. #define __IMessageFilter_FWD_DEFINED__
  236. typedef struct IMessageFilter IMessageFilter;
  237. #endif
  238.  
  239. #ifndef __IRpcChannelBuffer_FWD_DEFINED__
  240. #define __IRpcChannelBuffer_FWD_DEFINED__
  241. typedef struct IRpcChannelBuffer IRpcChannelBuffer;
  242. #endif
  243.  
  244. #ifndef __IRpcChannelBuffer2_FWD_DEFINED__
  245. #define __IRpcChannelBuffer2_FWD_DEFINED__
  246. typedef struct IRpcChannelBuffer2 IRpcChannelBuffer2;
  247. #endif
  248.  
  249. #ifndef __IAsyncRpcChannelBuffer_FWD_DEFINED__
  250. #define __IAsyncRpcChannelBuffer_FWD_DEFINED__
  251. typedef struct IAsyncRpcChannelBuffer IAsyncRpcChannelBuffer;
  252. #endif
  253.  
  254. #ifndef __IRpcChannelBuffer3_FWD_DEFINED__
  255. #define __IRpcChannelBuffer3_FWD_DEFINED__
  256. typedef struct IRpcChannelBuffer3 IRpcChannelBuffer3;
  257. #endif
  258.  
  259. #ifndef __IRpcSyntaxNegotiate_FWD_DEFINED__
  260. #define __IRpcSyntaxNegotiate_FWD_DEFINED__
  261. typedef struct IRpcSyntaxNegotiate IRpcSyntaxNegotiate;
  262. #endif
  263.  
  264. #ifndef __IRpcProxyBuffer_FWD_DEFINED__
  265. #define __IRpcProxyBuffer_FWD_DEFINED__
  266. typedef struct IRpcProxyBuffer IRpcProxyBuffer;
  267. #endif
  268.  
  269. #ifndef __IRpcStubBuffer_FWD_DEFINED__
  270. #define __IRpcStubBuffer_FWD_DEFINED__
  271. typedef struct IRpcStubBuffer IRpcStubBuffer;
  272. #endif
  273.  
  274. #ifndef __IPSFactoryBuffer_FWD_DEFINED__
  275. #define __IPSFactoryBuffer_FWD_DEFINED__
  276. typedef struct IPSFactoryBuffer IPSFactoryBuffer;
  277. #endif
  278.  
  279. #ifndef __IChannelHook_FWD_DEFINED__
  280. #define __IChannelHook_FWD_DEFINED__
  281. typedef struct IChannelHook IChannelHook;
  282. #endif
  283.  
  284. #ifndef __IClientSecurity_FWD_DEFINED__
  285. #define __IClientSecurity_FWD_DEFINED__
  286. typedef struct IClientSecurity IClientSecurity;
  287. #endif
  288.  
  289. #ifndef __IServerSecurity_FWD_DEFINED__
  290. #define __IServerSecurity_FWD_DEFINED__
  291. typedef struct IServerSecurity IServerSecurity;
  292. #endif
  293.  
  294. #ifndef __IClassActivator_FWD_DEFINED__
  295. #define __IClassActivator_FWD_DEFINED__
  296. typedef struct IClassActivator IClassActivator;
  297. #endif
  298.  
  299. #ifndef __IRpcOptions_FWD_DEFINED__
  300. #define __IRpcOptions_FWD_DEFINED__
  301. typedef struct IRpcOptions IRpcOptions;
  302. #endif
  303.  
  304. #ifndef __IFillLockBytes_FWD_DEFINED__
  305. #define __IFillLockBytes_FWD_DEFINED__
  306. typedef struct IFillLockBytes IFillLockBytes;
  307. #endif
  308.  
  309. #ifndef __IProgressNotify_FWD_DEFINED__
  310. #define __IProgressNotify_FWD_DEFINED__
  311. typedef struct IProgressNotify IProgressNotify;
  312. #endif
  313.  
  314. #ifndef __ILayoutStorage_FWD_DEFINED__
  315. #define __ILayoutStorage_FWD_DEFINED__
  316. typedef struct ILayoutStorage ILayoutStorage;
  317. #endif
  318.  
  319. #ifndef __IBlockingLock_FWD_DEFINED__
  320. #define __IBlockingLock_FWD_DEFINED__
  321. typedef struct IBlockingLock IBlockingLock;
  322. #endif
  323.  
  324. #ifndef __ITimeAndNoticeControl_FWD_DEFINED__
  325. #define __ITimeAndNoticeControl_FWD_DEFINED__
  326. typedef struct ITimeAndNoticeControl ITimeAndNoticeControl;
  327. #endif
  328.  
  329. #ifndef __IOplockStorage_FWD_DEFINED__
  330. #define __IOplockStorage_FWD_DEFINED__
  331. typedef struct IOplockStorage IOplockStorage;
  332. #endif
  333.  
  334. #ifndef __ISurrogate_FWD_DEFINED__
  335. #define __ISurrogate_FWD_DEFINED__
  336. typedef struct ISurrogate ISurrogate;
  337. #endif
  338.  
  339. #ifndef __IGlobalInterfaceTable_FWD_DEFINED__
  340. #define __IGlobalInterfaceTable_FWD_DEFINED__
  341. typedef struct IGlobalInterfaceTable IGlobalInterfaceTable;
  342. #endif
  343.  
  344. #ifndef __IDirectWriterLock_FWD_DEFINED__
  345. #define __IDirectWriterLock_FWD_DEFINED__
  346. typedef struct IDirectWriterLock IDirectWriterLock;
  347. #endif
  348.  
  349. #ifndef __ISynchronize_FWD_DEFINED__
  350. #define __ISynchronize_FWD_DEFINED__
  351. typedef struct ISynchronize ISynchronize;
  352. #endif
  353.  
  354. #ifndef __ISynchronizeHandle_FWD_DEFINED__
  355. #define __ISynchronizeHandle_FWD_DEFINED__
  356. typedef struct ISynchronizeHandle ISynchronizeHandle;
  357. #endif
  358.  
  359. #ifndef __ISynchronizeEvent_FWD_DEFINED__
  360. #define __ISynchronizeEvent_FWD_DEFINED__
  361. typedef struct ISynchronizeEvent ISynchronizeEvent;
  362. #endif
  363.  
  364. #ifndef __ISynchronizeContainer_FWD_DEFINED__
  365. #define __ISynchronizeContainer_FWD_DEFINED__
  366. typedef struct ISynchronizeContainer ISynchronizeContainer;
  367. #endif
  368.  
  369. #ifndef __ISynchronizeMutex_FWD_DEFINED__
  370. #define __ISynchronizeMutex_FWD_DEFINED__
  371. typedef struct ISynchronizeMutex ISynchronizeMutex;
  372. #endif
  373.  
  374. #ifndef __ICancelMethodCalls_FWD_DEFINED__
  375. #define __ICancelMethodCalls_FWD_DEFINED__
  376. typedef struct ICancelMethodCalls ICancelMethodCalls;
  377. #endif
  378.  
  379. #ifndef __IAsyncManager_FWD_DEFINED__
  380. #define __IAsyncManager_FWD_DEFINED__
  381. typedef struct IAsyncManager IAsyncManager;
  382. #endif
  383.  
  384. #ifndef __ICallFactory_FWD_DEFINED__
  385. #define __ICallFactory_FWD_DEFINED__
  386. typedef struct ICallFactory ICallFactory;
  387. #endif
  388.  
  389. #ifndef __IRpcHelper_FWD_DEFINED__
  390. #define __IRpcHelper_FWD_DEFINED__
  391. typedef struct IRpcHelper IRpcHelper;
  392. #endif
  393.  
  394. #ifndef __IReleaseMarshalBuffers_FWD_DEFINED__
  395. #define __IReleaseMarshalBuffers_FWD_DEFINED__
  396. typedef struct IReleaseMarshalBuffers IReleaseMarshalBuffers;
  397. #endif
  398.  
  399. #ifndef __IWaitMultiple_FWD_DEFINED__
  400. #define __IWaitMultiple_FWD_DEFINED__
  401. typedef struct IWaitMultiple IWaitMultiple;
  402. #endif
  403.  
  404. #ifndef __IUrlMon_FWD_DEFINED__
  405. #define __IUrlMon_FWD_DEFINED__
  406. typedef struct IUrlMon IUrlMon;
  407. #endif
  408.  
  409. #ifndef __IForegroundTransfer_FWD_DEFINED__
  410. #define __IForegroundTransfer_FWD_DEFINED__
  411. typedef struct IForegroundTransfer IForegroundTransfer;
  412. #endif
  413.  
  414. #ifndef __IAddrTrackingControl_FWD_DEFINED__
  415. #define __IAddrTrackingControl_FWD_DEFINED__
  416. typedef struct IAddrTrackingControl IAddrTrackingControl;
  417. #endif
  418.  
  419. #ifndef __IAddrExclusionControl_FWD_DEFINED__
  420. #define __IAddrExclusionControl_FWD_DEFINED__
  421. typedef struct IAddrExclusionControl IAddrExclusionControl;
  422. #endif
  423.  
  424. #ifndef __IPipeByte_FWD_DEFINED__
  425. #define __IPipeByte_FWD_DEFINED__
  426. typedef struct IPipeByte IPipeByte;
  427. #endif
  428.  
  429. #ifndef __AsyncIPipeByte_FWD_DEFINED__
  430. #define __AsyncIPipeByte_FWD_DEFINED__
  431. typedef struct AsyncIPipeByte AsyncIPipeByte;
  432. #endif
  433.  
  434. #ifndef __IPipeLong_FWD_DEFINED__
  435. #define __IPipeLong_FWD_DEFINED__
  436. typedef struct IPipeLong IPipeLong;
  437. #endif
  438.  
  439. #ifndef __AsyncIPipeLong_FWD_DEFINED__
  440. #define __AsyncIPipeLong_FWD_DEFINED__
  441. typedef struct AsyncIPipeLong AsyncIPipeLong;
  442. #endif
  443.  
  444. #ifndef __IPipeDouble_FWD_DEFINED__
  445. #define __IPipeDouble_FWD_DEFINED__
  446. typedef struct IPipeDouble IPipeDouble;
  447. #endif
  448.  
  449. #ifndef __AsyncIPipeDouble_FWD_DEFINED__
  450. #define __AsyncIPipeDouble_FWD_DEFINED__
  451. typedef struct AsyncIPipeDouble AsyncIPipeDouble;
  452. #endif
  453.  
  454. #ifndef __IThumbnailExtractor_FWD_DEFINED__
  455. #define __IThumbnailExtractor_FWD_DEFINED__
  456. typedef struct IThumbnailExtractor IThumbnailExtractor;
  457. #endif
  458.  
  459. #ifndef __IDummyHICONIncluder_FWD_DEFINED__
  460. #define __IDummyHICONIncluder_FWD_DEFINED__
  461. typedef struct IDummyHICONIncluder IDummyHICONIncluder;
  462. #endif
  463.  
  464. #ifndef __IEnumContextProps_FWD_DEFINED__
  465. #define __IEnumContextProps_FWD_DEFINED__
  466. typedef struct IEnumContextProps IEnumContextProps;
  467. #endif
  468.  
  469. #ifndef __IContext_FWD_DEFINED__
  470. #define __IContext_FWD_DEFINED__
  471. typedef struct IContext IContext;
  472. #endif
  473.  
  474. #ifndef __IObjContext_FWD_DEFINED__
  475. #define __IObjContext_FWD_DEFINED__
  476. typedef struct IObjContext IObjContext;
  477. #endif
  478.  
  479. #ifndef __IProcessLock_FWD_DEFINED__
  480. #define __IProcessLock_FWD_DEFINED__
  481. typedef struct IProcessLock IProcessLock;
  482. #endif
  483.  
  484. #ifndef __ISurrogateService_FWD_DEFINED__
  485. #define __ISurrogateService_FWD_DEFINED__
  486. typedef struct ISurrogateService ISurrogateService;
  487. #endif
  488.  
  489. #ifndef __IComThreadingInfo_FWD_DEFINED__
  490. #define __IComThreadingInfo_FWD_DEFINED__
  491. typedef struct IComThreadingInfo IComThreadingInfo;
  492. #endif
  493.  
  494. #ifndef __IProcessInitControl_FWD_DEFINED__
  495. #define __IProcessInitControl_FWD_DEFINED__
  496. typedef struct IProcessInitControl IProcessInitControl;
  497. #endif
  498.  
  499. #ifndef __IInitializeSpy_FWD_DEFINED__
  500. #define __IInitializeSpy_FWD_DEFINED__
  501. typedef struct IInitializeSpy IInitializeSpy;
  502. #endif
  503. typedef struct _COSERVERINFO {
  504. DWORD dwReserved1;
  505. LPWSTR pwszName;
  506. COAUTHINFO *pAuthInfo;
  507. DWORD dwReserved2;
  508. } COSERVERINFO;
  509. extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_v0_0_c_ifspec;
  510. extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_v0_0_s_ifspec;
  511.  
  512. #ifndef __IMarshal_INTERFACE_DEFINED__
  513. #define __IMarshal_INTERFACE_DEFINED__
  514. typedef IMarshal *LPMARSHAL;
  515.  
  516. EXTERN_C const IID IID_IMarshal;
  517. #if defined(__cplusplus) && !defined(CINTERFACE)
  518. struct IMarshal : public IUnknown {
  519. public:
  520. virtual HRESULT WINAPI GetUnmarshalClass(REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid) = 0;
  521. virtual HRESULT WINAPI GetMarshalSizeMax(REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize) = 0;
  522. virtual HRESULT WINAPI MarshalInterface(IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags) = 0;
  523. virtual HRESULT WINAPI UnmarshalInterface(IStream *pStm,REFIID riid,void **ppv) = 0;
  524. virtual HRESULT WINAPI ReleaseMarshalData(IStream *pStm) = 0;
  525. virtual HRESULT WINAPI DisconnectObject(DWORD dwReserved) = 0;
  526. };
  527. #else
  528. typedef struct IMarshalVtbl {
  529. BEGIN_INTERFACE
  530. HRESULT (WINAPI *QueryInterface)(IMarshal *This,REFIID riid,void **ppvObject);
  531. ULONG (WINAPI *AddRef)(IMarshal *This);
  532. ULONG (WINAPI *Release)(IMarshal *This);
  533. HRESULT (WINAPI *GetUnmarshalClass)(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid);
  534. HRESULT (WINAPI *GetMarshalSizeMax)(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize);
  535. HRESULT (WINAPI *MarshalInterface)(IMarshal *This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags);
  536. HRESULT (WINAPI *UnmarshalInterface)(IMarshal *This,IStream *pStm,REFIID riid,void **ppv);
  537. HRESULT (WINAPI *ReleaseMarshalData)(IMarshal *This,IStream *pStm);
  538. HRESULT (WINAPI *DisconnectObject)(IMarshal *This,DWORD dwReserved);
  539. END_INTERFACE
  540. } IMarshalVtbl;
  541. struct IMarshal {
  542. CONST_VTBL struct IMarshalVtbl *lpVtbl;
  543. };
  544. #ifdef COBJMACROS
  545. #define IMarshal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  546. #define IMarshal_AddRef(This) (This)->lpVtbl->AddRef(This)
  547. #define IMarshal_Release(This) (This)->lpVtbl->Release(This)
  548. #define IMarshal_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
  549. #define IMarshal_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
  550. #define IMarshal_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
  551. #define IMarshal_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv)
  552. #define IMarshal_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm)
  553. #define IMarshal_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved)
  554. #endif
  555. #endif
  556. HRESULT WINAPI IMarshal_GetUnmarshalClass_Proxy(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid);
  557. void __RPC_STUB IMarshal_GetUnmarshalClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  558. HRESULT WINAPI IMarshal_GetMarshalSizeMax_Proxy(IMarshal *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize);
  559. void __RPC_STUB IMarshal_GetMarshalSizeMax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  560. HRESULT WINAPI IMarshal_MarshalInterface_Proxy(IMarshal *This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags);
  561. void __RPC_STUB IMarshal_MarshalInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  562. HRESULT WINAPI IMarshal_UnmarshalInterface_Proxy(IMarshal *This,IStream *pStm,REFIID riid,void **ppv);
  563. void __RPC_STUB IMarshal_UnmarshalInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  564. HRESULT WINAPI IMarshal_ReleaseMarshalData_Proxy(IMarshal *This,IStream *pStm);
  565. void __RPC_STUB IMarshal_ReleaseMarshalData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  566. HRESULT WINAPI IMarshal_DisconnectObject_Proxy(IMarshal *This,DWORD dwReserved);
  567. void __RPC_STUB IMarshal_DisconnectObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  568. #endif
  569.  
  570. #ifndef __IMarshal2_INTERFACE_DEFINED__
  571. #define __IMarshal2_INTERFACE_DEFINED__
  572. typedef IMarshal2 *LPMARSHAL2;
  573.  
  574. EXTERN_C const IID IID_IMarshal2;
  575. #if defined(__cplusplus) && !defined(CINTERFACE)
  576. struct IMarshal2 : public IMarshal {
  577. };
  578. #else
  579. typedef struct IMarshal2Vtbl {
  580. BEGIN_INTERFACE
  581. HRESULT (WINAPI *QueryInterface)(IMarshal2 *This,REFIID riid,void **ppvObject);
  582. ULONG (WINAPI *AddRef)(IMarshal2 *This);
  583. ULONG (WINAPI *Release)(IMarshal2 *This);
  584. HRESULT (WINAPI *GetUnmarshalClass)(IMarshal2 *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,CLSID *pCid);
  585. HRESULT (WINAPI *GetMarshalSizeMax)(IMarshal2 *This,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags,DWORD *pSize);
  586. HRESULT (WINAPI *MarshalInterface)(IMarshal2 *This,IStream *pStm,REFIID riid,void *pv,DWORD dwDestContext,void *pvDestContext,DWORD mshlflags);
  587. HRESULT (WINAPI *UnmarshalInterface)(IMarshal2 *This,IStream *pStm,REFIID riid,void **ppv);
  588. HRESULT (WINAPI *ReleaseMarshalData)(IMarshal2 *This,IStream *pStm);
  589. HRESULT (WINAPI *DisconnectObject)(IMarshal2 *This,DWORD dwReserved);
  590. END_INTERFACE
  591. } IMarshal2Vtbl;
  592. struct IMarshal2 {
  593. CONST_VTBL struct IMarshal2Vtbl *lpVtbl;
  594. };
  595. #ifdef COBJMACROS
  596. #define IMarshal2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  597. #define IMarshal2_AddRef(This) (This)->lpVtbl->AddRef(This)
  598. #define IMarshal2_Release(This) (This)->lpVtbl->Release(This)
  599. #define IMarshal2_GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid) (This)->lpVtbl->GetUnmarshalClass(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pCid)
  600. #define IMarshal2_GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize) (This)->lpVtbl->GetMarshalSizeMax(This,riid,pv,dwDestContext,pvDestContext,mshlflags,pSize)
  601. #define IMarshal2_MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags) (This)->lpVtbl->MarshalInterface(This,pStm,riid,pv,dwDestContext,pvDestContext,mshlflags)
  602. #define IMarshal2_UnmarshalInterface(This,pStm,riid,ppv) (This)->lpVtbl->UnmarshalInterface(This,pStm,riid,ppv)
  603. #define IMarshal2_ReleaseMarshalData(This,pStm) (This)->lpVtbl->ReleaseMarshalData(This,pStm)
  604. #define IMarshal2_DisconnectObject(This,dwReserved) (This)->lpVtbl->DisconnectObject(This,dwReserved)
  605. #endif
  606. #endif
  607. #endif
  608.  
  609. #ifndef __IMalloc_INTERFACE_DEFINED__
  610. #define __IMalloc_INTERFACE_DEFINED__
  611. typedef IMalloc *LPMALLOC;
  612.  
  613. EXTERN_C const IID IID_IMalloc;
  614. #if defined(__cplusplus) && !defined(CINTERFACE)
  615. struct IMalloc : public IUnknown {
  616. public:
  617. virtual void *WINAPI Alloc(SIZE_T cb) = 0;
  618. virtual void *WINAPI Realloc(void *pv,SIZE_T cb) = 0;
  619. virtual void WINAPI Free(void *pv) = 0;
  620. virtual SIZE_T WINAPI GetSize(void *pv) = 0;
  621. virtual int WINAPI DidAlloc(void *pv) = 0;
  622. virtual void WINAPI HeapMinimize(void) = 0;
  623. };
  624. #else
  625. typedef struct IMallocVtbl {
  626. BEGIN_INTERFACE
  627. HRESULT (WINAPI *QueryInterface)(IMalloc *This,REFIID riid,void **ppvObject);
  628. ULONG (WINAPI *AddRef)(IMalloc *This);
  629. ULONG (WINAPI *Release)(IMalloc *This);
  630. void *(WINAPI *Alloc)(IMalloc *This,SIZE_T cb);
  631. void *(WINAPI *Realloc)(IMalloc *This,void *pv,SIZE_T cb);
  632. void (WINAPI *Free)(IMalloc *This,void *pv);
  633. SIZE_T (WINAPI *GetSize)(IMalloc *This,void *pv);
  634. int (WINAPI *DidAlloc)(IMalloc *This,void *pv);
  635. void (WINAPI *HeapMinimize)(IMalloc *This);
  636. END_INTERFACE
  637. } IMallocVtbl;
  638. struct IMalloc {
  639. CONST_VTBL struct IMallocVtbl *lpVtbl;
  640. };
  641. #ifdef COBJMACROS
  642. #define IMalloc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  643. #define IMalloc_AddRef(This) (This)->lpVtbl->AddRef(This)
  644. #define IMalloc_Release(This) (This)->lpVtbl->Release(This)
  645. #define IMalloc_Alloc(This,cb) (This)->lpVtbl->Alloc(This,cb)
  646. #define IMalloc_Realloc(This,pv,cb) (This)->lpVtbl->Realloc(This,pv,cb)
  647. #define IMalloc_Free(This,pv) (This)->lpVtbl->Free(This,pv)
  648. #define IMalloc_GetSize(This,pv) (This)->lpVtbl->GetSize(This,pv)
  649. #define IMalloc_DidAlloc(This,pv) (This)->lpVtbl->DidAlloc(This,pv)
  650. #define IMalloc_HeapMinimize(This) (This)->lpVtbl->HeapMinimize(This)
  651. #endif
  652. #endif
  653. void *WINAPI IMalloc_Alloc_Proxy(IMalloc *This,SIZE_T cb);
  654. void __RPC_STUB IMalloc_Alloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  655. void *WINAPI IMalloc_Realloc_Proxy(IMalloc *This,void *pv,SIZE_T cb);
  656. void __RPC_STUB IMalloc_Realloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  657. void WINAPI IMalloc_Free_Proxy(IMalloc *This,void *pv);
  658. void __RPC_STUB IMalloc_Free_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  659. SIZE_T WINAPI IMalloc_GetSize_Proxy(IMalloc *This,void *pv);
  660. void __RPC_STUB IMalloc_GetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  661. int WINAPI IMalloc_DidAlloc_Proxy(IMalloc *This,void *pv);
  662. void __RPC_STUB IMalloc_DidAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  663. void WINAPI IMalloc_HeapMinimize_Proxy(IMalloc *This);
  664. void __RPC_STUB IMalloc_HeapMinimize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  665. #endif
  666.  
  667. #ifndef __IMallocSpy_INTERFACE_DEFINED__
  668. #define __IMallocSpy_INTERFACE_DEFINED__
  669. typedef IMallocSpy *LPMALLOCSPY;
  670.  
  671. EXTERN_C const IID IID_IMallocSpy;
  672. #if defined(__cplusplus) && !defined(CINTERFACE)
  673. struct IMallocSpy : public IUnknown {
  674. public:
  675. virtual SIZE_T WINAPI PreAlloc(SIZE_T cbRequest) = 0;
  676. virtual void *WINAPI PostAlloc(void *pActual) = 0;
  677. virtual void *WINAPI PreFree(void *pRequest,WINBOOL fSpyed) = 0;
  678. virtual void WINAPI PostFree(WINBOOL fSpyed) = 0;
  679. virtual SIZE_T WINAPI PreRealloc(void *pRequest,SIZE_T cbRequest,void **ppNewRequest,WINBOOL fSpyed) = 0;
  680. virtual void *WINAPI PostRealloc(void *pActual,WINBOOL fSpyed) = 0;
  681. virtual void *WINAPI PreGetSize(void *pRequest,WINBOOL fSpyed) = 0;
  682. virtual SIZE_T WINAPI PostGetSize(SIZE_T cbActual,WINBOOL fSpyed) = 0;
  683. virtual void *WINAPI PreDidAlloc(void *pRequest,WINBOOL fSpyed) = 0;
  684. virtual int WINAPI PostDidAlloc(void *pRequest,WINBOOL fSpyed,int fActual) = 0;
  685. virtual void WINAPI PreHeapMinimize(void) = 0;
  686. virtual void WINAPI PostHeapMinimize(void) = 0;
  687. };
  688. #else
  689. typedef struct IMallocSpyVtbl {
  690. BEGIN_INTERFACE
  691. HRESULT (WINAPI *QueryInterface)(IMallocSpy *This,REFIID riid,void **ppvObject);
  692. ULONG (WINAPI *AddRef)(IMallocSpy *This);
  693. ULONG (WINAPI *Release)(IMallocSpy *This);
  694. SIZE_T (WINAPI *PreAlloc)(IMallocSpy *This,SIZE_T cbRequest);
  695. void *(WINAPI *PostAlloc)(IMallocSpy *This,void *pActual);
  696. void *(WINAPI *PreFree)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
  697. void (WINAPI *PostFree)(IMallocSpy *This,WINBOOL fSpyed);
  698. SIZE_T (WINAPI *PreRealloc)(IMallocSpy *This,void *pRequest,SIZE_T cbRequest,void **ppNewRequest,WINBOOL fSpyed);
  699. void *(WINAPI *PostRealloc)(IMallocSpy *This,void *pActual,WINBOOL fSpyed);
  700. void *(WINAPI *PreGetSize)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
  701. SIZE_T (WINAPI *PostGetSize)(IMallocSpy *This,SIZE_T cbActual,WINBOOL fSpyed);
  702. void *(WINAPI *PreDidAlloc)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
  703. int (WINAPI *PostDidAlloc)(IMallocSpy *This,void *pRequest,WINBOOL fSpyed,int fActual);
  704. void (WINAPI *PreHeapMinimize)(IMallocSpy *This);
  705. void (WINAPI *PostHeapMinimize)(IMallocSpy *This);
  706. END_INTERFACE
  707. } IMallocSpyVtbl;
  708. struct IMallocSpy {
  709. CONST_VTBL struct IMallocSpyVtbl *lpVtbl;
  710. };
  711. #ifdef COBJMACROS
  712. #define IMallocSpy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  713. #define IMallocSpy_AddRef(This) (This)->lpVtbl->AddRef(This)
  714. #define IMallocSpy_Release(This) (This)->lpVtbl->Release(This)
  715. #define IMallocSpy_PreAlloc(This,cbRequest) (This)->lpVtbl->PreAlloc(This,cbRequest)
  716. #define IMallocSpy_PostAlloc(This,pActual) (This)->lpVtbl->PostAlloc(This,pActual)
  717. #define IMallocSpy_PreFree(This,pRequest,fSpyed) (This)->lpVtbl->PreFree(This,pRequest,fSpyed)
  718. #define IMallocSpy_PostFree(This,fSpyed) (This)->lpVtbl->PostFree(This,fSpyed)
  719. #define IMallocSpy_PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed) (This)->lpVtbl->PreRealloc(This,pRequest,cbRequest,ppNewRequest,fSpyed)
  720. #define IMallocSpy_PostRealloc(This,pActual,fSpyed) (This)->lpVtbl->PostRealloc(This,pActual,fSpyed)
  721. #define IMallocSpy_PreGetSize(This,pRequest,fSpyed) (This)->lpVtbl->PreGetSize(This,pRequest,fSpyed)
  722. #define IMallocSpy_PostGetSize(This,cbActual,fSpyed) (This)->lpVtbl->PostGetSize(This,cbActual,fSpyed)
  723. #define IMallocSpy_PreDidAlloc(This,pRequest,fSpyed) (This)->lpVtbl->PreDidAlloc(This,pRequest,fSpyed)
  724. #define IMallocSpy_PostDidAlloc(This,pRequest,fSpyed,fActual) (This)->lpVtbl->PostDidAlloc(This,pRequest,fSpyed,fActual)
  725. #define IMallocSpy_PreHeapMinimize(This) (This)->lpVtbl->PreHeapMinimize(This)
  726. #define IMallocSpy_PostHeapMinimize(This) (This)->lpVtbl->PostHeapMinimize(This)
  727. #endif
  728. #endif
  729. SIZE_T WINAPI IMallocSpy_PreAlloc_Proxy(IMallocSpy *This,SIZE_T cbRequest);
  730. void __RPC_STUB IMallocSpy_PreAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  731. void *WINAPI IMallocSpy_PostAlloc_Proxy(IMallocSpy *This,void *pActual);
  732. void __RPC_STUB IMallocSpy_PostAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  733. void *WINAPI IMallocSpy_PreFree_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
  734. void __RPC_STUB IMallocSpy_PreFree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  735. void WINAPI IMallocSpy_PostFree_Proxy(IMallocSpy *This,WINBOOL fSpyed);
  736. void __RPC_STUB IMallocSpy_PostFree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  737. SIZE_T WINAPI IMallocSpy_PreRealloc_Proxy(IMallocSpy *This,void *pRequest,SIZE_T cbRequest,void **ppNewRequest,WINBOOL fSpyed);
  738. void __RPC_STUB IMallocSpy_PreRealloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  739. void *WINAPI IMallocSpy_PostRealloc_Proxy(IMallocSpy *This,void *pActual,WINBOOL fSpyed);
  740. void __RPC_STUB IMallocSpy_PostRealloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  741. void *WINAPI IMallocSpy_PreGetSize_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
  742. void __RPC_STUB IMallocSpy_PreGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  743. SIZE_T WINAPI IMallocSpy_PostGetSize_Proxy(IMallocSpy *This,SIZE_T cbActual,WINBOOL fSpyed);
  744. void __RPC_STUB IMallocSpy_PostGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  745. void *WINAPI IMallocSpy_PreDidAlloc_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed);
  746. void __RPC_STUB IMallocSpy_PreDidAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  747. int WINAPI IMallocSpy_PostDidAlloc_Proxy(IMallocSpy *This,void *pRequest,WINBOOL fSpyed,int fActual);
  748. void __RPC_STUB IMallocSpy_PostDidAlloc_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  749. void WINAPI IMallocSpy_PreHeapMinimize_Proxy(IMallocSpy *This);
  750. void __RPC_STUB IMallocSpy_PreHeapMinimize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  751. void WINAPI IMallocSpy_PostHeapMinimize_Proxy(IMallocSpy *This);
  752. void __RPC_STUB IMallocSpy_PostHeapMinimize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  753. #endif
  754.  
  755. #ifndef __IStdMarshalInfo_INTERFACE_DEFINED__
  756. #define __IStdMarshalInfo_INTERFACE_DEFINED__
  757. typedef IStdMarshalInfo *LPSTDMARSHALINFO;
  758.  
  759. EXTERN_C const IID IID_IStdMarshalInfo;
  760. #if defined(__cplusplus) && !defined(CINTERFACE)
  761. struct IStdMarshalInfo : public IUnknown {
  762. public:
  763. virtual HRESULT WINAPI GetClassForHandler(DWORD dwDestContext,void *pvDestContext,CLSID *pClsid) = 0;
  764. };
  765. #else
  766. typedef struct IStdMarshalInfoVtbl {
  767. BEGIN_INTERFACE
  768. HRESULT (WINAPI *QueryInterface)(IStdMarshalInfo *This,REFIID riid,void **ppvObject);
  769. ULONG (WINAPI *AddRef)(IStdMarshalInfo *This);
  770. ULONG (WINAPI *Release)(IStdMarshalInfo *This);
  771. HRESULT (WINAPI *GetClassForHandler)(IStdMarshalInfo *This,DWORD dwDestContext,void *pvDestContext,CLSID *pClsid);
  772. END_INTERFACE
  773. } IStdMarshalInfoVtbl;
  774. struct IStdMarshalInfo {
  775. CONST_VTBL struct IStdMarshalInfoVtbl *lpVtbl;
  776. };
  777. #ifdef COBJMACROS
  778. #define IStdMarshalInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  779. #define IStdMarshalInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
  780. #define IStdMarshalInfo_Release(This) (This)->lpVtbl->Release(This)
  781. #define IStdMarshalInfo_GetClassForHandler(This,dwDestContext,pvDestContext,pClsid) (This)->lpVtbl->GetClassForHandler(This,dwDestContext,pvDestContext,pClsid)
  782. #endif
  783. #endif
  784. HRESULT WINAPI IStdMarshalInfo_GetClassForHandler_Proxy(IStdMarshalInfo *This,DWORD dwDestContext,void *pvDestContext,CLSID *pClsid);
  785. void __RPC_STUB IStdMarshalInfo_GetClassForHandler_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  786. #endif
  787.  
  788. #ifndef __IExternalConnection_INTERFACE_DEFINED__
  789. #define __IExternalConnection_INTERFACE_DEFINED__
  790. typedef IExternalConnection *LPEXTERNALCONNECTION;
  791.  
  792. typedef enum tagEXTCONN {
  793. EXTCONN_STRONG = 0x1,EXTCONN_WEAK = 0x2,EXTCONN_CALLABLE = 0x4
  794. } EXTCONN;
  795.  
  796. EXTERN_C const IID IID_IExternalConnection;
  797. #if defined(__cplusplus) && !defined(CINTERFACE)
  798. struct IExternalConnection : public IUnknown {
  799. public:
  800. virtual DWORD WINAPI AddConnection(DWORD extconn,DWORD reserved) = 0;
  801. virtual DWORD WINAPI ReleaseConnection(DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses) = 0;
  802. };
  803. #else
  804. typedef struct IExternalConnectionVtbl {
  805. BEGIN_INTERFACE
  806. HRESULT (WINAPI *QueryInterface)(IExternalConnection *This,REFIID riid,void **ppvObject);
  807. ULONG (WINAPI *AddRef)(IExternalConnection *This);
  808. ULONG (WINAPI *Release)(IExternalConnection *This);
  809. DWORD (WINAPI *AddConnection)(IExternalConnection *This,DWORD extconn,DWORD reserved);
  810. DWORD (WINAPI *ReleaseConnection)(IExternalConnection *This,DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses);
  811. END_INTERFACE
  812. } IExternalConnectionVtbl;
  813. struct IExternalConnection {
  814. CONST_VTBL struct IExternalConnectionVtbl *lpVtbl;
  815. };
  816. #ifdef COBJMACROS
  817. #define IExternalConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  818. #define IExternalConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
  819. #define IExternalConnection_Release(This) (This)->lpVtbl->Release(This)
  820. #define IExternalConnection_AddConnection(This,extconn,reserved) (This)->lpVtbl->AddConnection(This,extconn,reserved)
  821. #define IExternalConnection_ReleaseConnection(This,extconn,reserved,fLastReleaseCloses) (This)->lpVtbl->ReleaseConnection(This,extconn,reserved,fLastReleaseCloses)
  822. #endif
  823. #endif
  824. DWORD WINAPI IExternalConnection_AddConnection_Proxy(IExternalConnection *This,DWORD extconn,DWORD reserved);
  825. void __RPC_STUB IExternalConnection_AddConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  826. DWORD WINAPI IExternalConnection_ReleaseConnection_Proxy(IExternalConnection *This,DWORD extconn,DWORD reserved,WINBOOL fLastReleaseCloses);
  827. void __RPC_STUB IExternalConnection_ReleaseConnection_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  828. #endif
  829.  
  830. typedef IMultiQI *LPMULTIQI;
  831.  
  832. typedef struct tagMULTI_QI {
  833. const IID *pIID;
  834. IUnknown *pItf;
  835. HRESULT hr;
  836. } MULTI_QI;
  837.  
  838. extern RPC_IF_HANDLE __MIDL_itf_objidl_0015_v0_0_c_ifspec;
  839. extern RPC_IF_HANDLE __MIDL_itf_objidl_0015_v0_0_s_ifspec;
  840. #ifndef __IMultiQI_INTERFACE_DEFINED__
  841. #define __IMultiQI_INTERFACE_DEFINED__
  842. EXTERN_C const IID IID_IMultiQI;
  843. #if defined(__cplusplus) && !defined(CINTERFACE)
  844. struct IMultiQI : public IUnknown {
  845. public:
  846. virtual HRESULT WINAPI QueryMultipleInterfaces(ULONG cMQIs,MULTI_QI *pMQIs) = 0;
  847. };
  848. #else
  849. typedef struct IMultiQIVtbl {
  850. BEGIN_INTERFACE
  851. HRESULT (WINAPI *QueryInterface)(IMultiQI *This,REFIID riid,void **ppvObject);
  852. ULONG (WINAPI *AddRef)(IMultiQI *This);
  853. ULONG (WINAPI *Release)(IMultiQI *This);
  854. HRESULT (WINAPI *QueryMultipleInterfaces)(IMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);
  855. END_INTERFACE
  856. } IMultiQIVtbl;
  857. struct IMultiQI {
  858. CONST_VTBL struct IMultiQIVtbl *lpVtbl;
  859. };
  860. #ifdef COBJMACROS
  861. #define IMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  862. #define IMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This)
  863. #define IMultiQI_Release(This) (This)->lpVtbl->Release(This)
  864. #define IMultiQI_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->QueryMultipleInterfaces(This,cMQIs,pMQIs)
  865. #endif
  866. #endif
  867. HRESULT WINAPI IMultiQI_QueryMultipleInterfaces_Proxy(IMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);
  868. void __RPC_STUB IMultiQI_QueryMultipleInterfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  869. #endif
  870.  
  871. #ifndef __AsyncIMultiQI_INTERFACE_DEFINED__
  872. #define __AsyncIMultiQI_INTERFACE_DEFINED__
  873. EXTERN_C const IID IID_AsyncIMultiQI;
  874. #if defined(__cplusplus) && !defined(CINTERFACE)
  875.  
  876. struct AsyncIMultiQI : public IUnknown {
  877. public:
  878. virtual HRESULT WINAPI Begin_QueryMultipleInterfaces(ULONG cMQIs,MULTI_QI *pMQIs) = 0;
  879. virtual HRESULT WINAPI Finish_QueryMultipleInterfaces(MULTI_QI *pMQIs) = 0;
  880. };
  881. #else
  882. typedef struct AsyncIMultiQIVtbl {
  883. BEGIN_INTERFACE
  884. HRESULT (WINAPI *QueryInterface)(AsyncIMultiQI *This,REFIID riid,void **ppvObject);
  885. ULONG (WINAPI *AddRef)(AsyncIMultiQI *This);
  886. ULONG (WINAPI *Release)(AsyncIMultiQI *This);
  887. HRESULT (WINAPI *Begin_QueryMultipleInterfaces)(AsyncIMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);
  888. HRESULT (WINAPI *Finish_QueryMultipleInterfaces)(AsyncIMultiQI *This,MULTI_QI *pMQIs);
  889. END_INTERFACE
  890. } AsyncIMultiQIVtbl;
  891. struct AsyncIMultiQI {
  892. CONST_VTBL struct AsyncIMultiQIVtbl *lpVtbl;
  893. };
  894. #ifdef COBJMACROS
  895. #define AsyncIMultiQI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  896. #define AsyncIMultiQI_AddRef(This) (This)->lpVtbl->AddRef(This)
  897. #define AsyncIMultiQI_Release(This) (This)->lpVtbl->Release(This)
  898. #define AsyncIMultiQI_Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs) (This)->lpVtbl->Begin_QueryMultipleInterfaces(This,cMQIs,pMQIs)
  899. #define AsyncIMultiQI_Finish_QueryMultipleInterfaces(This,pMQIs) (This)->lpVtbl->Finish_QueryMultipleInterfaces(This,pMQIs)
  900. #endif
  901. #endif
  902. HRESULT WINAPI AsyncIMultiQI_Begin_QueryMultipleInterfaces_Proxy(AsyncIMultiQI *This,ULONG cMQIs,MULTI_QI *pMQIs);
  903. void __RPC_STUB AsyncIMultiQI_Begin_QueryMultipleInterfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  904. HRESULT WINAPI AsyncIMultiQI_Finish_QueryMultipleInterfaces_Proxy(AsyncIMultiQI *This,MULTI_QI *pMQIs);
  905. void __RPC_STUB AsyncIMultiQI_Finish_QueryMultipleInterfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  906. #endif
  907.  
  908. #ifndef __IInternalUnknown_INTERFACE_DEFINED__
  909. #define __IInternalUnknown_INTERFACE_DEFINED__
  910. EXTERN_C const IID IID_IInternalUnknown;
  911. #if defined(__cplusplus) && !defined(CINTERFACE)
  912. struct IInternalUnknown : public IUnknown {
  913. public:
  914. virtual HRESULT WINAPI QueryInternalInterface(REFIID riid,void **ppv) = 0;
  915. };
  916. #else
  917. typedef struct IInternalUnknownVtbl {
  918. BEGIN_INTERFACE
  919. HRESULT (WINAPI *QueryInterface)(IInternalUnknown *This,REFIID riid,void **ppvObject);
  920. ULONG (WINAPI *AddRef)(IInternalUnknown *This);
  921. ULONG (WINAPI *Release)(IInternalUnknown *This);
  922. HRESULT (WINAPI *QueryInternalInterface)(IInternalUnknown *This,REFIID riid,void **ppv);
  923. END_INTERFACE
  924. } IInternalUnknownVtbl;
  925. struct IInternalUnknown {
  926. CONST_VTBL struct IInternalUnknownVtbl *lpVtbl;
  927. };
  928. #ifdef COBJMACROS
  929. #define IInternalUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  930. #define IInternalUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)
  931. #define IInternalUnknown_Release(This) (This)->lpVtbl->Release(This)
  932. #define IInternalUnknown_QueryInternalInterface(This,riid,ppv) (This)->lpVtbl->QueryInternalInterface(This,riid,ppv)
  933. #endif
  934. #endif
  935. HRESULT WINAPI IInternalUnknown_QueryInternalInterface_Proxy(IInternalUnknown *This,REFIID riid,void **ppv);
  936. void __RPC_STUB IInternalUnknown_QueryInternalInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  937. #endif
  938. /*****************************************************************************
  939. * IEnumUnknown interface
  940. */
  941. #ifndef __IEnumUnknown_INTERFACE_DEFINED__
  942. #define __IEnumUnknown_INTERFACE_DEFINED__
  943.  
  944. typedef IEnumUnknown *LPENUMUNKNOWN;
  945. DEFINE_GUID(IID_IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  946. #if defined(__cplusplus) && !defined(CINTERFACE)
  947. MIDL_INTERFACE("00000100-0000-0000-c000-000000000046")
  948. IEnumUnknown : public IUnknown
  949. {
  950. virtual HRESULT STDMETHODCALLTYPE Next(
  951. ULONG celt,
  952. IUnknown **rgelt,
  953. ULONG *pceltFetched) = 0;
  954.  
  955. virtual HRESULT STDMETHODCALLTYPE Skip(
  956. ULONG celt) = 0;
  957.  
  958. virtual HRESULT STDMETHODCALLTYPE Reset(
  959. ) = 0;
  960.  
  961. virtual HRESULT STDMETHODCALLTYPE Clone(
  962. IEnumUnknown **ppenum) = 0;
  963.  
  964. };
  965. #ifdef __CRT_UUID_DECL
  966. __CRT_UUID_DECL(IEnumUnknown, 0x00000100, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  967. #endif
  968. #else
  969. typedef struct IEnumUnknownVtbl {
  970. BEGIN_INTERFACE
  971.  
  972. /*** IUnknown methods ***/
  973. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  974. IEnumUnknown* This,
  975. REFIID riid,
  976. void **ppvObject);
  977.  
  978. ULONG (STDMETHODCALLTYPE *AddRef)(
  979. IEnumUnknown* This);
  980.  
  981. ULONG (STDMETHODCALLTYPE *Release)(
  982. IEnumUnknown* This);
  983.  
  984. /*** IEnumUnknown methods ***/
  985. HRESULT (STDMETHODCALLTYPE *Next)(
  986. IEnumUnknown* This,
  987. ULONG celt,
  988. IUnknown **rgelt,
  989. ULONG *pceltFetched);
  990.  
  991. HRESULT (STDMETHODCALLTYPE *Skip)(
  992. IEnumUnknown* This,
  993. ULONG celt);
  994.  
  995. HRESULT (STDMETHODCALLTYPE *Reset)(
  996. IEnumUnknown* This);
  997.  
  998. HRESULT (STDMETHODCALLTYPE *Clone)(
  999. IEnumUnknown* This,
  1000. IEnumUnknown **ppenum);
  1001.  
  1002. END_INTERFACE
  1003. } IEnumUnknownVtbl;
  1004. interface IEnumUnknown {
  1005. CONST_VTBL IEnumUnknownVtbl* lpVtbl;
  1006. };
  1007.  
  1008. #ifdef COBJMACROS
  1009. #ifndef WIDL_C_INLINE_WRAPPERS
  1010. /*** IUnknown methods ***/
  1011. #define IEnumUnknown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1012. #define IEnumUnknown_AddRef(This) (This)->lpVtbl->AddRef(This)
  1013. #define IEnumUnknown_Release(This) (This)->lpVtbl->Release(This)
  1014. /*** IEnumUnknown methods ***/
  1015. #define IEnumUnknown_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
  1016. #define IEnumUnknown_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  1017. #define IEnumUnknown_Reset(This) (This)->lpVtbl->Reset(This)
  1018. #define IEnumUnknown_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
  1019. #else
  1020. /*** IUnknown methods ***/
  1021. static FORCEINLINE HRESULT IEnumUnknown_QueryInterface(IEnumUnknown* This,REFIID riid,void **ppvObject) {
  1022. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1023. }
  1024. static FORCEINLINE ULONG IEnumUnknown_AddRef(IEnumUnknown* This) {
  1025. return This->lpVtbl->AddRef(This);
  1026. }
  1027. static FORCEINLINE ULONG IEnumUnknown_Release(IEnumUnknown* This) {
  1028. return This->lpVtbl->Release(This);
  1029. }
  1030. /*** IEnumUnknown methods ***/
  1031. static FORCEINLINE HRESULT IEnumUnknown_Next(IEnumUnknown* This,ULONG celt,IUnknown **rgelt,ULONG *pceltFetched) {
  1032. return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
  1033. }
  1034. static FORCEINLINE HRESULT IEnumUnknown_Skip(IEnumUnknown* This,ULONG celt) {
  1035. return This->lpVtbl->Skip(This,celt);
  1036. }
  1037. static FORCEINLINE HRESULT IEnumUnknown_Reset(IEnumUnknown* This) {
  1038. return This->lpVtbl->Reset(This);
  1039. }
  1040. static FORCEINLINE HRESULT IEnumUnknown_Clone(IEnumUnknown* This,IEnumUnknown **ppenum) {
  1041. return This->lpVtbl->Clone(This,ppenum);
  1042. }
  1043. #endif
  1044. #endif
  1045.  
  1046. #endif
  1047.  
  1048. HRESULT STDMETHODCALLTYPE IEnumUnknown_RemoteNext_Proxy(
  1049. IEnumUnknown* This,
  1050. ULONG celt,
  1051. IUnknown **rgelt,
  1052. ULONG *pceltFetched);
  1053. void __RPC_STUB IEnumUnknown_RemoteNext_Stub(
  1054. IRpcStubBuffer* This,
  1055. IRpcChannelBuffer* pRpcChannelBuffer,
  1056. PRPC_MESSAGE pRpcMessage,
  1057. DWORD* pdwStubPhase);
  1058. HRESULT STDMETHODCALLTYPE IEnumUnknown_Skip_Proxy(
  1059. IEnumUnknown* This,
  1060. ULONG celt);
  1061. void __RPC_STUB IEnumUnknown_Skip_Stub(
  1062. IRpcStubBuffer* This,
  1063. IRpcChannelBuffer* pRpcChannelBuffer,
  1064. PRPC_MESSAGE pRpcMessage,
  1065. DWORD* pdwStubPhase);
  1066. HRESULT STDMETHODCALLTYPE IEnumUnknown_Reset_Proxy(
  1067. IEnumUnknown* This);
  1068. void __RPC_STUB IEnumUnknown_Reset_Stub(
  1069. IRpcStubBuffer* This,
  1070. IRpcChannelBuffer* pRpcChannelBuffer,
  1071. PRPC_MESSAGE pRpcMessage,
  1072. DWORD* pdwStubPhase);
  1073. HRESULT STDMETHODCALLTYPE IEnumUnknown_Clone_Proxy(
  1074. IEnumUnknown* This,
  1075. IEnumUnknown **ppenum);
  1076. void __RPC_STUB IEnumUnknown_Clone_Stub(
  1077. IRpcStubBuffer* This,
  1078. IRpcChannelBuffer* pRpcChannelBuffer,
  1079. PRPC_MESSAGE pRpcMessage,
  1080. DWORD* pdwStubPhase);
  1081. HRESULT CALLBACK IEnumUnknown_Next_Proxy(
  1082. IEnumUnknown* This,
  1083. ULONG celt,
  1084. IUnknown **rgelt,
  1085. ULONG *pceltFetched);
  1086. HRESULT __RPC_STUB IEnumUnknown_Next_Stub(
  1087. IEnumUnknown* This,
  1088. ULONG celt,
  1089. IUnknown **rgelt,
  1090. ULONG *pceltFetched);
  1091.  
  1092. #endif /* __IEnumUnknown_INTERFACE_DEFINED__ */
  1093.  
  1094. /*****************************************************************************
  1095. * IBindCtx interface
  1096. */
  1097. #ifndef __IBindCtx_INTERFACE_DEFINED__
  1098. #define __IBindCtx_INTERFACE_DEFINED__
  1099.  
  1100. typedef IBindCtx *LPBC;
  1101. typedef IBindCtx *LPBINDCTX;
  1102. typedef struct tagBIND_OPTS {
  1103. DWORD cbStruct;
  1104. DWORD grfFlags;
  1105. DWORD grfMode;
  1106. DWORD dwTickCountDeadline;
  1107. } BIND_OPTS;
  1108. typedef struct tagBIND_OPTS *LPBIND_OPTS;
  1109. #if defined(__cplusplus)
  1110. typedef struct tagBIND_OPTS2 : tagBIND_OPTS {
  1111. DWORD dwTrackFlags;
  1112. DWORD dwClassContext;
  1113. LCID locale;
  1114. COSERVERINFO *pServerInfo;
  1115. } BIND_OPTS2, *LPBIND_OPTS2;
  1116. #else
  1117. typedef struct tagBIND_OPTS2 {
  1118. DWORD cbStruct;
  1119. DWORD grfFlags;
  1120. DWORD grfMode;
  1121. DWORD dwTickCountDeadline;
  1122. DWORD dwTrackFlags;
  1123. DWORD dwClassContext;
  1124. LCID locale;
  1125. COSERVERINFO *pServerInfo;
  1126. } BIND_OPTS2;
  1127. typedef struct tagBIND_OPTS2 *LPBIND_OPTS2;
  1128. #endif
  1129. #if defined(__cplusplus)
  1130. typedef struct tagBIND_OPTS3 : tagBIND_OPTS2 {
  1131. HWND hwnd;
  1132. } BIND_OPTS3, *LPBIND_OPTS3;
  1133. #else
  1134. typedef struct tagBIND_OPTS3 {
  1135. DWORD cbStruct;
  1136. DWORD grfFlags;
  1137. DWORD grfMode;
  1138. DWORD dwTickCountDeadline;
  1139. DWORD dwTrackFlags;
  1140. DWORD dwClassContext;
  1141. LCID locale;
  1142. COSERVERINFO *pServerInfo;
  1143. HWND hwnd;
  1144. } BIND_OPTS3;
  1145. typedef struct tagBIND_OPTS3 *LPBIND_OPTS3;
  1146. #endif
  1147. typedef enum tagBIND_FLAGS {
  1148. BIND_MAYBOTHERUSER = 1,
  1149. BIND_JUSTTESTEXISTENCE = 2
  1150. } BIND_FLAGS;
  1151. DEFINE_GUID(IID_IBindCtx, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  1152. #if defined(__cplusplus) && !defined(CINTERFACE)
  1153. MIDL_INTERFACE("0000000e-0000-0000-c000-000000000046")
  1154. IBindCtx : public IUnknown
  1155. {
  1156. virtual HRESULT STDMETHODCALLTYPE RegisterObjectBound(
  1157. IUnknown *punk) = 0;
  1158.  
  1159. virtual HRESULT STDMETHODCALLTYPE RevokeObjectBound(
  1160. IUnknown *punk) = 0;
  1161.  
  1162. virtual HRESULT STDMETHODCALLTYPE ReleaseBoundObjects(
  1163. ) = 0;
  1164.  
  1165. virtual HRESULT STDMETHODCALLTYPE SetBindOptions(
  1166. BIND_OPTS *pbindopts) = 0;
  1167.  
  1168. virtual HRESULT STDMETHODCALLTYPE GetBindOptions(
  1169. BIND_OPTS *pbindopts) = 0;
  1170.  
  1171. virtual HRESULT STDMETHODCALLTYPE GetRunningObjectTable(
  1172. IRunningObjectTable **pprot) = 0;
  1173.  
  1174. virtual HRESULT STDMETHODCALLTYPE RegisterObjectParam(
  1175. LPOLESTR pszKey,
  1176. IUnknown *punk) = 0;
  1177.  
  1178. virtual HRESULT STDMETHODCALLTYPE GetObjectParam(
  1179. LPOLESTR pszKey,
  1180. IUnknown **ppunk) = 0;
  1181.  
  1182. virtual HRESULT STDMETHODCALLTYPE EnumObjectParam(
  1183. IEnumString **ppenum) = 0;
  1184.  
  1185. virtual HRESULT STDMETHODCALLTYPE RevokeObjectParam(
  1186. LPOLESTR pszKey) = 0;
  1187.  
  1188. };
  1189. #ifdef __CRT_UUID_DECL
  1190. __CRT_UUID_DECL(IBindCtx, 0x0000000e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  1191. #endif
  1192. #else
  1193. typedef struct IBindCtxVtbl {
  1194. BEGIN_INTERFACE
  1195.  
  1196. /*** IUnknown methods ***/
  1197. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1198. IBindCtx* This,
  1199. REFIID riid,
  1200. void **ppvObject);
  1201.  
  1202. ULONG (STDMETHODCALLTYPE *AddRef)(
  1203. IBindCtx* This);
  1204.  
  1205. ULONG (STDMETHODCALLTYPE *Release)(
  1206. IBindCtx* This);
  1207.  
  1208. /*** IBindCtx methods ***/
  1209. HRESULT (STDMETHODCALLTYPE *RegisterObjectBound)(
  1210. IBindCtx* This,
  1211. IUnknown *punk);
  1212.  
  1213. HRESULT (STDMETHODCALLTYPE *RevokeObjectBound)(
  1214. IBindCtx* This,
  1215. IUnknown *punk);
  1216.  
  1217. HRESULT (STDMETHODCALLTYPE *ReleaseBoundObjects)(
  1218. IBindCtx* This);
  1219.  
  1220. HRESULT (STDMETHODCALLTYPE *SetBindOptions)(
  1221. IBindCtx* This,
  1222. BIND_OPTS *pbindopts);
  1223.  
  1224. HRESULT (STDMETHODCALLTYPE *GetBindOptions)(
  1225. IBindCtx* This,
  1226. BIND_OPTS *pbindopts);
  1227.  
  1228. HRESULT (STDMETHODCALLTYPE *GetRunningObjectTable)(
  1229. IBindCtx* This,
  1230. IRunningObjectTable **pprot);
  1231.  
  1232. HRESULT (STDMETHODCALLTYPE *RegisterObjectParam)(
  1233. IBindCtx* This,
  1234. LPOLESTR pszKey,
  1235. IUnknown *punk);
  1236.  
  1237. HRESULT (STDMETHODCALLTYPE *GetObjectParam)(
  1238. IBindCtx* This,
  1239. LPOLESTR pszKey,
  1240. IUnknown **ppunk);
  1241.  
  1242. HRESULT (STDMETHODCALLTYPE *EnumObjectParam)(
  1243. IBindCtx* This,
  1244. IEnumString **ppenum);
  1245.  
  1246. HRESULT (STDMETHODCALLTYPE *RevokeObjectParam)(
  1247. IBindCtx* This,
  1248. LPOLESTR pszKey);
  1249.  
  1250. END_INTERFACE
  1251. } IBindCtxVtbl;
  1252. interface IBindCtx {
  1253. CONST_VTBL IBindCtxVtbl* lpVtbl;
  1254. };
  1255.  
  1256. #ifdef COBJMACROS
  1257. #ifndef WIDL_C_INLINE_WRAPPERS
  1258. /*** IUnknown methods ***/
  1259. #define IBindCtx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1260. #define IBindCtx_AddRef(This) (This)->lpVtbl->AddRef(This)
  1261. #define IBindCtx_Release(This) (This)->lpVtbl->Release(This)
  1262. /*** IBindCtx methods ***/
  1263. #define IBindCtx_RegisterObjectBound(This,punk) (This)->lpVtbl->RegisterObjectBound(This,punk)
  1264. #define IBindCtx_RevokeObjectBound(This,punk) (This)->lpVtbl->RevokeObjectBound(This,punk)
  1265. #define IBindCtx_ReleaseBoundObjects(This) (This)->lpVtbl->ReleaseBoundObjects(This)
  1266. #define IBindCtx_SetBindOptions(This,pbindopts) (This)->lpVtbl->SetBindOptions(This,pbindopts)
  1267. #define IBindCtx_GetBindOptions(This,pbindopts) (This)->lpVtbl->GetBindOptions(This,pbindopts)
  1268. #define IBindCtx_GetRunningObjectTable(This,pprot) (This)->lpVtbl->GetRunningObjectTable(This,pprot)
  1269. #define IBindCtx_RegisterObjectParam(This,pszKey,punk) (This)->lpVtbl->RegisterObjectParam(This,pszKey,punk)
  1270. #define IBindCtx_GetObjectParam(This,pszKey,ppunk) (This)->lpVtbl->GetObjectParam(This,pszKey,ppunk)
  1271. #define IBindCtx_EnumObjectParam(This,ppenum) (This)->lpVtbl->EnumObjectParam(This,ppenum)
  1272. #define IBindCtx_RevokeObjectParam(This,pszKey) (This)->lpVtbl->RevokeObjectParam(This,pszKey)
  1273. #else
  1274. /*** IUnknown methods ***/
  1275. static FORCEINLINE HRESULT IBindCtx_QueryInterface(IBindCtx* This,REFIID riid,void **ppvObject) {
  1276. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1277. }
  1278. static FORCEINLINE ULONG IBindCtx_AddRef(IBindCtx* This) {
  1279. return This->lpVtbl->AddRef(This);
  1280. }
  1281. static FORCEINLINE ULONG IBindCtx_Release(IBindCtx* This) {
  1282. return This->lpVtbl->Release(This);
  1283. }
  1284. /*** IBindCtx methods ***/
  1285. static FORCEINLINE HRESULT IBindCtx_RegisterObjectBound(IBindCtx* This,IUnknown *punk) {
  1286. return This->lpVtbl->RegisterObjectBound(This,punk);
  1287. }
  1288. static FORCEINLINE HRESULT IBindCtx_RevokeObjectBound(IBindCtx* This,IUnknown *punk) {
  1289. return This->lpVtbl->RevokeObjectBound(This,punk);
  1290. }
  1291. static FORCEINLINE HRESULT IBindCtx_ReleaseBoundObjects(IBindCtx* This) {
  1292. return This->lpVtbl->ReleaseBoundObjects(This);
  1293. }
  1294. static FORCEINLINE HRESULT IBindCtx_SetBindOptions(IBindCtx* This,BIND_OPTS *pbindopts) {
  1295. return This->lpVtbl->SetBindOptions(This,pbindopts);
  1296. }
  1297. static FORCEINLINE HRESULT IBindCtx_GetBindOptions(IBindCtx* This,BIND_OPTS *pbindopts) {
  1298. return This->lpVtbl->GetBindOptions(This,pbindopts);
  1299. }
  1300. static FORCEINLINE HRESULT IBindCtx_GetRunningObjectTable(IBindCtx* This,IRunningObjectTable **pprot) {
  1301. return This->lpVtbl->GetRunningObjectTable(This,pprot);
  1302. }
  1303. static FORCEINLINE HRESULT IBindCtx_RegisterObjectParam(IBindCtx* This,LPOLESTR pszKey,IUnknown *punk) {
  1304. return This->lpVtbl->RegisterObjectParam(This,pszKey,punk);
  1305. }
  1306. static FORCEINLINE HRESULT IBindCtx_GetObjectParam(IBindCtx* This,LPOLESTR pszKey,IUnknown **ppunk) {
  1307. return This->lpVtbl->GetObjectParam(This,pszKey,ppunk);
  1308. }
  1309. static FORCEINLINE HRESULT IBindCtx_EnumObjectParam(IBindCtx* This,IEnumString **ppenum) {
  1310. return This->lpVtbl->EnumObjectParam(This,ppenum);
  1311. }
  1312. static FORCEINLINE HRESULT IBindCtx_RevokeObjectParam(IBindCtx* This,LPOLESTR pszKey) {
  1313. return This->lpVtbl->RevokeObjectParam(This,pszKey);
  1314. }
  1315. #endif
  1316. #endif
  1317.  
  1318. #endif
  1319.  
  1320. HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectBound_Proxy(
  1321. IBindCtx* This,
  1322. IUnknown *punk);
  1323. void __RPC_STUB IBindCtx_RegisterObjectBound_Stub(
  1324. IRpcStubBuffer* This,
  1325. IRpcChannelBuffer* pRpcChannelBuffer,
  1326. PRPC_MESSAGE pRpcMessage,
  1327. DWORD* pdwStubPhase);
  1328. HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectBound_Proxy(
  1329. IBindCtx* This,
  1330. IUnknown *punk);
  1331. void __RPC_STUB IBindCtx_RevokeObjectBound_Stub(
  1332. IRpcStubBuffer* This,
  1333. IRpcChannelBuffer* pRpcChannelBuffer,
  1334. PRPC_MESSAGE pRpcMessage,
  1335. DWORD* pdwStubPhase);
  1336. HRESULT STDMETHODCALLTYPE IBindCtx_ReleaseBoundObjects_Proxy(
  1337. IBindCtx* This);
  1338. void __RPC_STUB IBindCtx_ReleaseBoundObjects_Stub(
  1339. IRpcStubBuffer* This,
  1340. IRpcChannelBuffer* pRpcChannelBuffer,
  1341. PRPC_MESSAGE pRpcMessage,
  1342. DWORD* pdwStubPhase);
  1343. HRESULT STDMETHODCALLTYPE IBindCtx_RemoteSetBindOptions_Proxy(
  1344. IBindCtx* This,
  1345. BIND_OPTS2 *pbindopts);
  1346. void __RPC_STUB IBindCtx_RemoteSetBindOptions_Stub(
  1347. IRpcStubBuffer* This,
  1348. IRpcChannelBuffer* pRpcChannelBuffer,
  1349. PRPC_MESSAGE pRpcMessage,
  1350. DWORD* pdwStubPhase);
  1351. HRESULT STDMETHODCALLTYPE IBindCtx_RemoteGetBindOptions_Proxy(
  1352. IBindCtx* This,
  1353. BIND_OPTS2 *pbindopts);
  1354. void __RPC_STUB IBindCtx_RemoteGetBindOptions_Stub(
  1355. IRpcStubBuffer* This,
  1356. IRpcChannelBuffer* pRpcChannelBuffer,
  1357. PRPC_MESSAGE pRpcMessage,
  1358. DWORD* pdwStubPhase);
  1359. HRESULT STDMETHODCALLTYPE IBindCtx_GetRunningObjectTable_Proxy(
  1360. IBindCtx* This,
  1361. IRunningObjectTable **pprot);
  1362. void __RPC_STUB IBindCtx_GetRunningObjectTable_Stub(
  1363. IRpcStubBuffer* This,
  1364. IRpcChannelBuffer* pRpcChannelBuffer,
  1365. PRPC_MESSAGE pRpcMessage,
  1366. DWORD* pdwStubPhase);
  1367. HRESULT STDMETHODCALLTYPE IBindCtx_RegisterObjectParam_Proxy(
  1368. IBindCtx* This,
  1369. LPOLESTR pszKey,
  1370. IUnknown *punk);
  1371. void __RPC_STUB IBindCtx_RegisterObjectParam_Stub(
  1372. IRpcStubBuffer* This,
  1373. IRpcChannelBuffer* pRpcChannelBuffer,
  1374. PRPC_MESSAGE pRpcMessage,
  1375. DWORD* pdwStubPhase);
  1376. HRESULT STDMETHODCALLTYPE IBindCtx_GetObjectParam_Proxy(
  1377. IBindCtx* This,
  1378. LPOLESTR pszKey,
  1379. IUnknown **ppunk);
  1380. void __RPC_STUB IBindCtx_GetObjectParam_Stub(
  1381. IRpcStubBuffer* This,
  1382. IRpcChannelBuffer* pRpcChannelBuffer,
  1383. PRPC_MESSAGE pRpcMessage,
  1384. DWORD* pdwStubPhase);
  1385. HRESULT STDMETHODCALLTYPE IBindCtx_EnumObjectParam_Proxy(
  1386. IBindCtx* This,
  1387. IEnumString **ppenum);
  1388. void __RPC_STUB IBindCtx_EnumObjectParam_Stub(
  1389. IRpcStubBuffer* This,
  1390. IRpcChannelBuffer* pRpcChannelBuffer,
  1391. PRPC_MESSAGE pRpcMessage,
  1392. DWORD* pdwStubPhase);
  1393. HRESULT STDMETHODCALLTYPE IBindCtx_RevokeObjectParam_Proxy(
  1394. IBindCtx* This,
  1395. LPOLESTR pszKey);
  1396. void __RPC_STUB IBindCtx_RevokeObjectParam_Stub(
  1397. IRpcStubBuffer* This,
  1398. IRpcChannelBuffer* pRpcChannelBuffer,
  1399. PRPC_MESSAGE pRpcMessage,
  1400. DWORD* pdwStubPhase);
  1401. HRESULT CALLBACK IBindCtx_SetBindOptions_Proxy(
  1402. IBindCtx* This,
  1403. BIND_OPTS *pbindopts);
  1404. HRESULT __RPC_STUB IBindCtx_SetBindOptions_Stub(
  1405. IBindCtx* This,
  1406. BIND_OPTS2 *pbindopts);
  1407. HRESULT CALLBACK IBindCtx_GetBindOptions_Proxy(
  1408. IBindCtx* This,
  1409. BIND_OPTS *pbindopts);
  1410. HRESULT __RPC_STUB IBindCtx_GetBindOptions_Stub(
  1411. IBindCtx* This,
  1412. BIND_OPTS2 *pbindopts);
  1413.  
  1414. #endif /* __IBindCtx_INTERFACE_DEFINED__ */
  1415.  
  1416. /*****************************************************************************
  1417. * IEnumMoniker interface
  1418. */
  1419. #ifndef __IEnumMoniker_INTERFACE_DEFINED__
  1420. #define __IEnumMoniker_INTERFACE_DEFINED__
  1421.  
  1422. typedef IEnumMoniker *LPENUMMONIKER;
  1423. DEFINE_GUID(IID_IEnumMoniker, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  1424. #if defined(__cplusplus) && !defined(CINTERFACE)
  1425. MIDL_INTERFACE("00000102-0000-0000-c000-000000000046")
  1426. IEnumMoniker : public IUnknown
  1427. {
  1428. virtual HRESULT STDMETHODCALLTYPE Next(
  1429. ULONG celt,
  1430. IMoniker **rgelt,
  1431. ULONG *pceltFetched) = 0;
  1432.  
  1433. virtual HRESULT STDMETHODCALLTYPE Skip(
  1434. ULONG celt) = 0;
  1435.  
  1436. virtual HRESULT STDMETHODCALLTYPE Reset(
  1437. ) = 0;
  1438.  
  1439. virtual HRESULT STDMETHODCALLTYPE Clone(
  1440. IEnumMoniker **ppenum) = 0;
  1441.  
  1442. };
  1443. #ifdef __CRT_UUID_DECL
  1444. __CRT_UUID_DECL(IEnumMoniker, 0x00000102, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  1445. #endif
  1446. #else
  1447. typedef struct IEnumMonikerVtbl {
  1448. BEGIN_INTERFACE
  1449.  
  1450. /*** IUnknown methods ***/
  1451. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1452. IEnumMoniker* This,
  1453. REFIID riid,
  1454. void **ppvObject);
  1455.  
  1456. ULONG (STDMETHODCALLTYPE *AddRef)(
  1457. IEnumMoniker* This);
  1458.  
  1459. ULONG (STDMETHODCALLTYPE *Release)(
  1460. IEnumMoniker* This);
  1461.  
  1462. /*** IEnumMoniker methods ***/
  1463. HRESULT (STDMETHODCALLTYPE *Next)(
  1464. IEnumMoniker* This,
  1465. ULONG celt,
  1466. IMoniker **rgelt,
  1467. ULONG *pceltFetched);
  1468.  
  1469. HRESULT (STDMETHODCALLTYPE *Skip)(
  1470. IEnumMoniker* This,
  1471. ULONG celt);
  1472.  
  1473. HRESULT (STDMETHODCALLTYPE *Reset)(
  1474. IEnumMoniker* This);
  1475.  
  1476. HRESULT (STDMETHODCALLTYPE *Clone)(
  1477. IEnumMoniker* This,
  1478. IEnumMoniker **ppenum);
  1479.  
  1480. END_INTERFACE
  1481. } IEnumMonikerVtbl;
  1482. interface IEnumMoniker {
  1483. CONST_VTBL IEnumMonikerVtbl* lpVtbl;
  1484. };
  1485.  
  1486. #ifdef COBJMACROS
  1487. #ifndef WIDL_C_INLINE_WRAPPERS
  1488. /*** IUnknown methods ***/
  1489. #define IEnumMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1490. #define IEnumMoniker_AddRef(This) (This)->lpVtbl->AddRef(This)
  1491. #define IEnumMoniker_Release(This) (This)->lpVtbl->Release(This)
  1492. /*** IEnumMoniker methods ***/
  1493. #define IEnumMoniker_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
  1494. #define IEnumMoniker_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  1495. #define IEnumMoniker_Reset(This) (This)->lpVtbl->Reset(This)
  1496. #define IEnumMoniker_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
  1497. #else
  1498. /*** IUnknown methods ***/
  1499. static FORCEINLINE HRESULT IEnumMoniker_QueryInterface(IEnumMoniker* This,REFIID riid,void **ppvObject) {
  1500. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1501. }
  1502. static FORCEINLINE ULONG IEnumMoniker_AddRef(IEnumMoniker* This) {
  1503. return This->lpVtbl->AddRef(This);
  1504. }
  1505. static FORCEINLINE ULONG IEnumMoniker_Release(IEnumMoniker* This) {
  1506. return This->lpVtbl->Release(This);
  1507. }
  1508. /*** IEnumMoniker methods ***/
  1509. static FORCEINLINE HRESULT IEnumMoniker_Next(IEnumMoniker* This,ULONG celt,IMoniker **rgelt,ULONG *pceltFetched) {
  1510. return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
  1511. }
  1512. static FORCEINLINE HRESULT IEnumMoniker_Skip(IEnumMoniker* This,ULONG celt) {
  1513. return This->lpVtbl->Skip(This,celt);
  1514. }
  1515. static FORCEINLINE HRESULT IEnumMoniker_Reset(IEnumMoniker* This) {
  1516. return This->lpVtbl->Reset(This);
  1517. }
  1518. static FORCEINLINE HRESULT IEnumMoniker_Clone(IEnumMoniker* This,IEnumMoniker **ppenum) {
  1519. return This->lpVtbl->Clone(This,ppenum);
  1520. }
  1521. #endif
  1522. #endif
  1523.  
  1524. #endif
  1525.  
  1526. HRESULT STDMETHODCALLTYPE IEnumMoniker_RemoteNext_Proxy(
  1527. IEnumMoniker* This,
  1528. ULONG celt,
  1529. IMoniker **rgelt,
  1530. ULONG *pceltFetched);
  1531. void __RPC_STUB IEnumMoniker_RemoteNext_Stub(
  1532. IRpcStubBuffer* This,
  1533. IRpcChannelBuffer* pRpcChannelBuffer,
  1534. PRPC_MESSAGE pRpcMessage,
  1535. DWORD* pdwStubPhase);
  1536. HRESULT STDMETHODCALLTYPE IEnumMoniker_Skip_Proxy(
  1537. IEnumMoniker* This,
  1538. ULONG celt);
  1539. void __RPC_STUB IEnumMoniker_Skip_Stub(
  1540. IRpcStubBuffer* This,
  1541. IRpcChannelBuffer* pRpcChannelBuffer,
  1542. PRPC_MESSAGE pRpcMessage,
  1543. DWORD* pdwStubPhase);
  1544. HRESULT STDMETHODCALLTYPE IEnumMoniker_Reset_Proxy(
  1545. IEnumMoniker* This);
  1546. void __RPC_STUB IEnumMoniker_Reset_Stub(
  1547. IRpcStubBuffer* This,
  1548. IRpcChannelBuffer* pRpcChannelBuffer,
  1549. PRPC_MESSAGE pRpcMessage,
  1550. DWORD* pdwStubPhase);
  1551. HRESULT STDMETHODCALLTYPE IEnumMoniker_Clone_Proxy(
  1552. IEnumMoniker* This,
  1553. IEnumMoniker **ppenum);
  1554. void __RPC_STUB IEnumMoniker_Clone_Stub(
  1555. IRpcStubBuffer* This,
  1556. IRpcChannelBuffer* pRpcChannelBuffer,
  1557. PRPC_MESSAGE pRpcMessage,
  1558. DWORD* pdwStubPhase);
  1559. HRESULT CALLBACK IEnumMoniker_Next_Proxy(
  1560. IEnumMoniker* This,
  1561. ULONG celt,
  1562. IMoniker **rgelt,
  1563. ULONG *pceltFetched);
  1564. HRESULT __RPC_STUB IEnumMoniker_Next_Stub(
  1565. IEnumMoniker* This,
  1566. ULONG celt,
  1567. IMoniker **rgelt,
  1568. ULONG *pceltFetched);
  1569.  
  1570. #endif /* __IEnumMoniker_INTERFACE_DEFINED__ */
  1571.  
  1572. #ifndef __IRunnableObject_INTERFACE_DEFINED__
  1573. #define __IRunnableObject_INTERFACE_DEFINED__
  1574. typedef IRunnableObject *LPRUNNABLEOBJECT;
  1575.  
  1576. EXTERN_C const IID IID_IRunnableObject;
  1577. #if defined(__cplusplus) && !defined(CINTERFACE)
  1578. struct IRunnableObject : public IUnknown {
  1579. public:
  1580. virtual HRESULT WINAPI GetRunningClass(LPCLSID lpClsid) = 0;
  1581. virtual HRESULT WINAPI Run(LPBINDCTX pbc) = 0;
  1582. virtual WINBOOL WINAPI IsRunning(void) = 0;
  1583. virtual HRESULT WINAPI LockRunning(WINBOOL fLock,WINBOOL fLastUnlockCloses) = 0;
  1584. virtual HRESULT WINAPI SetContainedObject(WINBOOL fContained) = 0;
  1585. };
  1586. #else
  1587. typedef struct IRunnableObjectVtbl {
  1588. BEGIN_INTERFACE
  1589. HRESULT (WINAPI *QueryInterface)(IRunnableObject *This,REFIID riid,void **ppvObject);
  1590. ULONG (WINAPI *AddRef)(IRunnableObject *This);
  1591. ULONG (WINAPI *Release)(IRunnableObject *This);
  1592. HRESULT (WINAPI *GetRunningClass)(IRunnableObject *This,LPCLSID lpClsid);
  1593. HRESULT (WINAPI *Run)(IRunnableObject *This,LPBINDCTX pbc);
  1594. WINBOOL (WINAPI *IsRunning)(IRunnableObject *This);
  1595. HRESULT (WINAPI *LockRunning)(IRunnableObject *This,WINBOOL fLock,WINBOOL fLastUnlockCloses);
  1596. HRESULT (WINAPI *SetContainedObject)(IRunnableObject *This,WINBOOL fContained);
  1597. END_INTERFACE
  1598. } IRunnableObjectVtbl;
  1599. struct IRunnableObject {
  1600. CONST_VTBL struct IRunnableObjectVtbl *lpVtbl;
  1601. };
  1602. #ifdef COBJMACROS
  1603. #define IRunnableObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1604. #define IRunnableObject_AddRef(This) (This)->lpVtbl->AddRef(This)
  1605. #define IRunnableObject_Release(This) (This)->lpVtbl->Release(This)
  1606. #define IRunnableObject_GetRunningClass(This,lpClsid) (This)->lpVtbl->GetRunningClass(This,lpClsid)
  1607. #define IRunnableObject_Run(This,pbc) (This)->lpVtbl->Run(This,pbc)
  1608. #define IRunnableObject_IsRunning(This) (This)->lpVtbl->IsRunning(This)
  1609. #define IRunnableObject_LockRunning(This,fLock,fLastUnlockCloses) (This)->lpVtbl->LockRunning(This,fLock,fLastUnlockCloses)
  1610. #define IRunnableObject_SetContainedObject(This,fContained) (This)->lpVtbl->SetContainedObject(This,fContained)
  1611. #endif
  1612. #endif
  1613. HRESULT WINAPI IRunnableObject_GetRunningClass_Proxy(IRunnableObject *This,LPCLSID lpClsid);
  1614. void __RPC_STUB IRunnableObject_GetRunningClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  1615. HRESULT WINAPI IRunnableObject_Run_Proxy(IRunnableObject *This,LPBINDCTX pbc);
  1616. void __RPC_STUB IRunnableObject_Run_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  1617. HRESULT WINAPI IRunnableObject_RemoteIsRunning_Proxy(IRunnableObject *This);
  1618. void __RPC_STUB IRunnableObject_RemoteIsRunning_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  1619. HRESULT WINAPI IRunnableObject_LockRunning_Proxy(IRunnableObject *This,WINBOOL fLock,WINBOOL fLastUnlockCloses);
  1620. void __RPC_STUB IRunnableObject_LockRunning_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  1621. HRESULT WINAPI IRunnableObject_SetContainedObject_Proxy(IRunnableObject *This,WINBOOL fContained);
  1622. void __RPC_STUB IRunnableObject_SetContainedObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  1623. #endif
  1624. /*****************************************************************************
  1625. * IRunningObjectTable interface
  1626. */
  1627. #ifndef __IRunningObjectTable_INTERFACE_DEFINED__
  1628. #define __IRunningObjectTable_INTERFACE_DEFINED__
  1629.  
  1630. typedef IRunningObjectTable *LPRUNNINGOBJECTTABLE;
  1631. DEFINE_GUID(IID_IRunningObjectTable, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  1632. #if defined(__cplusplus) && !defined(CINTERFACE)
  1633. MIDL_INTERFACE("00000010-0000-0000-c000-000000000046")
  1634. IRunningObjectTable : public IUnknown
  1635. {
  1636. virtual HRESULT STDMETHODCALLTYPE Register(
  1637. DWORD grfFlags,
  1638. IUnknown *punkObject,
  1639. IMoniker *pmkObjectName,
  1640. DWORD *pdwRegister) = 0;
  1641.  
  1642. virtual HRESULT STDMETHODCALLTYPE Revoke(
  1643. DWORD dwRegister) = 0;
  1644.  
  1645. virtual HRESULT STDMETHODCALLTYPE IsRunning(
  1646. IMoniker *pmkObjectName) = 0;
  1647.  
  1648. virtual HRESULT STDMETHODCALLTYPE GetObject(
  1649. IMoniker *pmkObjectName,
  1650. IUnknown **ppunkObject) = 0;
  1651.  
  1652. virtual HRESULT STDMETHODCALLTYPE NoteChangeTime(
  1653. DWORD dwRegister,
  1654. FILETIME *pfiletime) = 0;
  1655.  
  1656. virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange(
  1657. IMoniker *pmkObjectName,
  1658. FILETIME *pfiletime) = 0;
  1659.  
  1660. virtual HRESULT STDMETHODCALLTYPE EnumRunning(
  1661. IEnumMoniker **ppenumMoniker) = 0;
  1662.  
  1663. };
  1664. #ifdef __CRT_UUID_DECL
  1665. __CRT_UUID_DECL(IRunningObjectTable, 0x00000010, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  1666. #endif
  1667. #else
  1668. typedef struct IRunningObjectTableVtbl {
  1669. BEGIN_INTERFACE
  1670.  
  1671. /*** IUnknown methods ***/
  1672. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1673. IRunningObjectTable* This,
  1674. REFIID riid,
  1675. void **ppvObject);
  1676.  
  1677. ULONG (STDMETHODCALLTYPE *AddRef)(
  1678. IRunningObjectTable* This);
  1679.  
  1680. ULONG (STDMETHODCALLTYPE *Release)(
  1681. IRunningObjectTable* This);
  1682.  
  1683. /*** IRunningObjectTable methods ***/
  1684. HRESULT (STDMETHODCALLTYPE *Register)(
  1685. IRunningObjectTable* This,
  1686. DWORD grfFlags,
  1687. IUnknown *punkObject,
  1688. IMoniker *pmkObjectName,
  1689. DWORD *pdwRegister);
  1690.  
  1691. HRESULT (STDMETHODCALLTYPE *Revoke)(
  1692. IRunningObjectTable* This,
  1693. DWORD dwRegister);
  1694.  
  1695. HRESULT (STDMETHODCALLTYPE *IsRunning)(
  1696. IRunningObjectTable* This,
  1697. IMoniker *pmkObjectName);
  1698.  
  1699. HRESULT (STDMETHODCALLTYPE *GetObject)(
  1700. IRunningObjectTable* This,
  1701. IMoniker *pmkObjectName,
  1702. IUnknown **ppunkObject);
  1703.  
  1704. HRESULT (STDMETHODCALLTYPE *NoteChangeTime)(
  1705. IRunningObjectTable* This,
  1706. DWORD dwRegister,
  1707. FILETIME *pfiletime);
  1708.  
  1709. HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)(
  1710. IRunningObjectTable* This,
  1711. IMoniker *pmkObjectName,
  1712. FILETIME *pfiletime);
  1713.  
  1714. HRESULT (STDMETHODCALLTYPE *EnumRunning)(
  1715. IRunningObjectTable* This,
  1716. IEnumMoniker **ppenumMoniker);
  1717.  
  1718. END_INTERFACE
  1719. } IRunningObjectTableVtbl;
  1720. interface IRunningObjectTable {
  1721. CONST_VTBL IRunningObjectTableVtbl* lpVtbl;
  1722. };
  1723.  
  1724. #ifdef COBJMACROS
  1725. #ifndef WIDL_C_INLINE_WRAPPERS
  1726. /*** IUnknown methods ***/
  1727. #define IRunningObjectTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1728. #define IRunningObjectTable_AddRef(This) (This)->lpVtbl->AddRef(This)
  1729. #define IRunningObjectTable_Release(This) (This)->lpVtbl->Release(This)
  1730. /*** IRunningObjectTable methods ***/
  1731. #define IRunningObjectTable_Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister) (This)->lpVtbl->Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister)
  1732. #define IRunningObjectTable_Revoke(This,dwRegister) (This)->lpVtbl->Revoke(This,dwRegister)
  1733. #define IRunningObjectTable_IsRunning(This,pmkObjectName) (This)->lpVtbl->IsRunning(This,pmkObjectName)
  1734. #define IRunningObjectTable_GetObject(This,pmkObjectName,ppunkObject) (This)->lpVtbl->GetObject(This,pmkObjectName,ppunkObject)
  1735. #define IRunningObjectTable_NoteChangeTime(This,dwRegister,pfiletime) (This)->lpVtbl->NoteChangeTime(This,dwRegister,pfiletime)
  1736. #define IRunningObjectTable_GetTimeOfLastChange(This,pmkObjectName,pfiletime) (This)->lpVtbl->GetTimeOfLastChange(This,pmkObjectName,pfiletime)
  1737. #define IRunningObjectTable_EnumRunning(This,ppenumMoniker) (This)->lpVtbl->EnumRunning(This,ppenumMoniker)
  1738. #else
  1739. /*** IUnknown methods ***/
  1740. static FORCEINLINE HRESULT IRunningObjectTable_QueryInterface(IRunningObjectTable* This,REFIID riid,void **ppvObject) {
  1741. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1742. }
  1743. static FORCEINLINE ULONG IRunningObjectTable_AddRef(IRunningObjectTable* This) {
  1744. return This->lpVtbl->AddRef(This);
  1745. }
  1746. static FORCEINLINE ULONG IRunningObjectTable_Release(IRunningObjectTable* This) {
  1747. return This->lpVtbl->Release(This);
  1748. }
  1749. /*** IRunningObjectTable methods ***/
  1750. static FORCEINLINE HRESULT IRunningObjectTable_Register(IRunningObjectTable* This,DWORD grfFlags,IUnknown *punkObject,IMoniker *pmkObjectName,DWORD *pdwRegister) {
  1751. return This->lpVtbl->Register(This,grfFlags,punkObject,pmkObjectName,pdwRegister);
  1752. }
  1753. static FORCEINLINE HRESULT IRunningObjectTable_Revoke(IRunningObjectTable* This,DWORD dwRegister) {
  1754. return This->lpVtbl->Revoke(This,dwRegister);
  1755. }
  1756. static FORCEINLINE HRESULT IRunningObjectTable_IsRunning(IRunningObjectTable* This,IMoniker *pmkObjectName) {
  1757. return This->lpVtbl->IsRunning(This,pmkObjectName);
  1758. }
  1759. static FORCEINLINE HRESULT IRunningObjectTable_GetObject(IRunningObjectTable* This,IMoniker *pmkObjectName,IUnknown **ppunkObject) {
  1760. return This->lpVtbl->GetObject(This,pmkObjectName,ppunkObject);
  1761. }
  1762. static FORCEINLINE HRESULT IRunningObjectTable_NoteChangeTime(IRunningObjectTable* This,DWORD dwRegister,FILETIME *pfiletime) {
  1763. return This->lpVtbl->NoteChangeTime(This,dwRegister,pfiletime);
  1764. }
  1765. static FORCEINLINE HRESULT IRunningObjectTable_GetTimeOfLastChange(IRunningObjectTable* This,IMoniker *pmkObjectName,FILETIME *pfiletime) {
  1766. return This->lpVtbl->GetTimeOfLastChange(This,pmkObjectName,pfiletime);
  1767. }
  1768. static FORCEINLINE HRESULT IRunningObjectTable_EnumRunning(IRunningObjectTable* This,IEnumMoniker **ppenumMoniker) {
  1769. return This->lpVtbl->EnumRunning(This,ppenumMoniker);
  1770. }
  1771. #endif
  1772. #endif
  1773.  
  1774. #endif
  1775.  
  1776. HRESULT STDMETHODCALLTYPE IRunningObjectTable_Register_Proxy(
  1777. IRunningObjectTable* This,
  1778. DWORD grfFlags,
  1779. IUnknown *punkObject,
  1780. IMoniker *pmkObjectName,
  1781. DWORD *pdwRegister);
  1782. void __RPC_STUB IRunningObjectTable_Register_Stub(
  1783. IRpcStubBuffer* This,
  1784. IRpcChannelBuffer* pRpcChannelBuffer,
  1785. PRPC_MESSAGE pRpcMessage,
  1786. DWORD* pdwStubPhase);
  1787. HRESULT STDMETHODCALLTYPE IRunningObjectTable_Revoke_Proxy(
  1788. IRunningObjectTable* This,
  1789. DWORD dwRegister);
  1790. void __RPC_STUB IRunningObjectTable_Revoke_Stub(
  1791. IRpcStubBuffer* This,
  1792. IRpcChannelBuffer* pRpcChannelBuffer,
  1793. PRPC_MESSAGE pRpcMessage,
  1794. DWORD* pdwStubPhase);
  1795. HRESULT STDMETHODCALLTYPE IRunningObjectTable_IsRunning_Proxy(
  1796. IRunningObjectTable* This,
  1797. IMoniker *pmkObjectName);
  1798. void __RPC_STUB IRunningObjectTable_IsRunning_Stub(
  1799. IRpcStubBuffer* This,
  1800. IRpcChannelBuffer* pRpcChannelBuffer,
  1801. PRPC_MESSAGE pRpcMessage,
  1802. DWORD* pdwStubPhase);
  1803. HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetObject_Proxy(
  1804. IRunningObjectTable* This,
  1805. IMoniker *pmkObjectName,
  1806. IUnknown **ppunkObject);
  1807. void __RPC_STUB IRunningObjectTable_GetObject_Stub(
  1808. IRpcStubBuffer* This,
  1809. IRpcChannelBuffer* pRpcChannelBuffer,
  1810. PRPC_MESSAGE pRpcMessage,
  1811. DWORD* pdwStubPhase);
  1812. HRESULT STDMETHODCALLTYPE IRunningObjectTable_NoteChangeTime_Proxy(
  1813. IRunningObjectTable* This,
  1814. DWORD dwRegister,
  1815. FILETIME *pfiletime);
  1816. void __RPC_STUB IRunningObjectTable_NoteChangeTime_Stub(
  1817. IRpcStubBuffer* This,
  1818. IRpcChannelBuffer* pRpcChannelBuffer,
  1819. PRPC_MESSAGE pRpcMessage,
  1820. DWORD* pdwStubPhase);
  1821. HRESULT STDMETHODCALLTYPE IRunningObjectTable_GetTimeOfLastChange_Proxy(
  1822. IRunningObjectTable* This,
  1823. IMoniker *pmkObjectName,
  1824. FILETIME *pfiletime);
  1825. void __RPC_STUB IRunningObjectTable_GetTimeOfLastChange_Stub(
  1826. IRpcStubBuffer* This,
  1827. IRpcChannelBuffer* pRpcChannelBuffer,
  1828. PRPC_MESSAGE pRpcMessage,
  1829. DWORD* pdwStubPhase);
  1830. HRESULT STDMETHODCALLTYPE IRunningObjectTable_EnumRunning_Proxy(
  1831. IRunningObjectTable* This,
  1832. IEnumMoniker **ppenumMoniker);
  1833. void __RPC_STUB IRunningObjectTable_EnumRunning_Stub(
  1834. IRpcStubBuffer* This,
  1835. IRpcChannelBuffer* pRpcChannelBuffer,
  1836. PRPC_MESSAGE pRpcMessage,
  1837. DWORD* pdwStubPhase);
  1838.  
  1839. #endif /* __IRunningObjectTable_INTERFACE_DEFINED__ */
  1840.  
  1841. /*****************************************************************************
  1842. * IPersist interface
  1843. */
  1844. #ifndef __IPersist_INTERFACE_DEFINED__
  1845. #define __IPersist_INTERFACE_DEFINED__
  1846.  
  1847. typedef IPersist *LPPERSIST;
  1848. DEFINE_GUID(IID_IPersist, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  1849. #if defined(__cplusplus) && !defined(CINTERFACE)
  1850. MIDL_INTERFACE("0000010c-0000-0000-c000-000000000046")
  1851. IPersist : public IUnknown
  1852. {
  1853. virtual HRESULT STDMETHODCALLTYPE GetClassID(
  1854. CLSID *pClassID) = 0;
  1855.  
  1856. };
  1857. #ifdef __CRT_UUID_DECL
  1858. __CRT_UUID_DECL(IPersist, 0x0000010c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  1859. #endif
  1860. #else
  1861. typedef struct IPersistVtbl {
  1862. BEGIN_INTERFACE
  1863.  
  1864. /*** IUnknown methods ***/
  1865. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1866. IPersist* This,
  1867. REFIID riid,
  1868. void **ppvObject);
  1869.  
  1870. ULONG (STDMETHODCALLTYPE *AddRef)(
  1871. IPersist* This);
  1872.  
  1873. ULONG (STDMETHODCALLTYPE *Release)(
  1874. IPersist* This);
  1875.  
  1876. /*** IPersist methods ***/
  1877. HRESULT (STDMETHODCALLTYPE *GetClassID)(
  1878. IPersist* This,
  1879. CLSID *pClassID);
  1880.  
  1881. END_INTERFACE
  1882. } IPersistVtbl;
  1883. interface IPersist {
  1884. CONST_VTBL IPersistVtbl* lpVtbl;
  1885. };
  1886.  
  1887. #ifdef COBJMACROS
  1888. #ifndef WIDL_C_INLINE_WRAPPERS
  1889. /*** IUnknown methods ***/
  1890. #define IPersist_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  1891. #define IPersist_AddRef(This) (This)->lpVtbl->AddRef(This)
  1892. #define IPersist_Release(This) (This)->lpVtbl->Release(This)
  1893. /*** IPersist methods ***/
  1894. #define IPersist_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
  1895. #else
  1896. /*** IUnknown methods ***/
  1897. static FORCEINLINE HRESULT IPersist_QueryInterface(IPersist* This,REFIID riid,void **ppvObject) {
  1898. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  1899. }
  1900. static FORCEINLINE ULONG IPersist_AddRef(IPersist* This) {
  1901. return This->lpVtbl->AddRef(This);
  1902. }
  1903. static FORCEINLINE ULONG IPersist_Release(IPersist* This) {
  1904. return This->lpVtbl->Release(This);
  1905. }
  1906. /*** IPersist methods ***/
  1907. static FORCEINLINE HRESULT IPersist_GetClassID(IPersist* This,CLSID *pClassID) {
  1908. return This->lpVtbl->GetClassID(This,pClassID);
  1909. }
  1910. #endif
  1911. #endif
  1912.  
  1913. #endif
  1914.  
  1915. HRESULT STDMETHODCALLTYPE IPersist_GetClassID_Proxy(
  1916. IPersist* This,
  1917. CLSID *pClassID);
  1918. void __RPC_STUB IPersist_GetClassID_Stub(
  1919. IRpcStubBuffer* This,
  1920. IRpcChannelBuffer* pRpcChannelBuffer,
  1921. PRPC_MESSAGE pRpcMessage,
  1922. DWORD* pdwStubPhase);
  1923.  
  1924. #endif /* __IPersist_INTERFACE_DEFINED__ */
  1925.  
  1926. /*****************************************************************************
  1927. * IPersistStream interface
  1928. */
  1929. #ifndef __IPersistStream_INTERFACE_DEFINED__
  1930. #define __IPersistStream_INTERFACE_DEFINED__
  1931.  
  1932. typedef IPersistStream *LPPERSISTSTREAM;
  1933. DEFINE_GUID(IID_IPersistStream, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  1934. #if defined(__cplusplus) && !defined(CINTERFACE)
  1935. MIDL_INTERFACE("00000109-0000-0000-c000-000000000046")
  1936. IPersistStream : public IPersist
  1937. {
  1938. virtual HRESULT STDMETHODCALLTYPE IsDirty(
  1939. ) = 0;
  1940.  
  1941. virtual HRESULT STDMETHODCALLTYPE Load(
  1942. IStream *pStm) = 0;
  1943.  
  1944. virtual HRESULT STDMETHODCALLTYPE Save(
  1945. IStream *pStm,
  1946. WINBOOL fClearDirty) = 0;
  1947.  
  1948. virtual HRESULT STDMETHODCALLTYPE GetSizeMax(
  1949. ULARGE_INTEGER *pcbSize) = 0;
  1950.  
  1951. };
  1952. #ifdef __CRT_UUID_DECL
  1953. __CRT_UUID_DECL(IPersistStream, 0x00000109, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  1954. #endif
  1955. #else
  1956. typedef struct IPersistStreamVtbl {
  1957. BEGIN_INTERFACE
  1958.  
  1959. /*** IUnknown methods ***/
  1960. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  1961. IPersistStream* This,
  1962. REFIID riid,
  1963. void **ppvObject);
  1964.  
  1965. ULONG (STDMETHODCALLTYPE *AddRef)(
  1966. IPersistStream* This);
  1967.  
  1968. ULONG (STDMETHODCALLTYPE *Release)(
  1969. IPersistStream* This);
  1970.  
  1971. /*** IPersist methods ***/
  1972. HRESULT (STDMETHODCALLTYPE *GetClassID)(
  1973. IPersistStream* This,
  1974. CLSID *pClassID);
  1975.  
  1976. /*** IPersistStream methods ***/
  1977. HRESULT (STDMETHODCALLTYPE *IsDirty)(
  1978. IPersistStream* This);
  1979.  
  1980. HRESULT (STDMETHODCALLTYPE *Load)(
  1981. IPersistStream* This,
  1982. IStream *pStm);
  1983.  
  1984. HRESULT (STDMETHODCALLTYPE *Save)(
  1985. IPersistStream* This,
  1986. IStream *pStm,
  1987. WINBOOL fClearDirty);
  1988.  
  1989. HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
  1990. IPersistStream* This,
  1991. ULARGE_INTEGER *pcbSize);
  1992.  
  1993. END_INTERFACE
  1994. } IPersistStreamVtbl;
  1995. interface IPersistStream {
  1996. CONST_VTBL IPersistStreamVtbl* lpVtbl;
  1997. };
  1998.  
  1999. #ifdef COBJMACROS
  2000. #ifndef WIDL_C_INLINE_WRAPPERS
  2001. /*** IUnknown methods ***/
  2002. #define IPersistStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2003. #define IPersistStream_AddRef(This) (This)->lpVtbl->AddRef(This)
  2004. #define IPersistStream_Release(This) (This)->lpVtbl->Release(This)
  2005. /*** IPersist methods ***/
  2006. #define IPersistStream_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
  2007. /*** IPersistStream methods ***/
  2008. #define IPersistStream_IsDirty(This) (This)->lpVtbl->IsDirty(This)
  2009. #define IPersistStream_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
  2010. #define IPersistStream_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
  2011. #define IPersistStream_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
  2012. #else
  2013. /*** IUnknown methods ***/
  2014. static FORCEINLINE HRESULT IPersistStream_QueryInterface(IPersistStream* This,REFIID riid,void **ppvObject) {
  2015. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2016. }
  2017. static FORCEINLINE ULONG IPersistStream_AddRef(IPersistStream* This) {
  2018. return This->lpVtbl->AddRef(This);
  2019. }
  2020. static FORCEINLINE ULONG IPersistStream_Release(IPersistStream* This) {
  2021. return This->lpVtbl->Release(This);
  2022. }
  2023. /*** IPersist methods ***/
  2024. static FORCEINLINE HRESULT IPersistStream_GetClassID(IPersistStream* This,CLSID *pClassID) {
  2025. return This->lpVtbl->GetClassID(This,pClassID);
  2026. }
  2027. /*** IPersistStream methods ***/
  2028. static FORCEINLINE HRESULT IPersistStream_IsDirty(IPersistStream* This) {
  2029. return This->lpVtbl->IsDirty(This);
  2030. }
  2031. static FORCEINLINE HRESULT IPersistStream_Load(IPersistStream* This,IStream *pStm) {
  2032. return This->lpVtbl->Load(This,pStm);
  2033. }
  2034. static FORCEINLINE HRESULT IPersistStream_Save(IPersistStream* This,IStream *pStm,WINBOOL fClearDirty) {
  2035. return This->lpVtbl->Save(This,pStm,fClearDirty);
  2036. }
  2037. static FORCEINLINE HRESULT IPersistStream_GetSizeMax(IPersistStream* This,ULARGE_INTEGER *pcbSize) {
  2038. return This->lpVtbl->GetSizeMax(This,pcbSize);
  2039. }
  2040. #endif
  2041. #endif
  2042.  
  2043. #endif
  2044.  
  2045. HRESULT STDMETHODCALLTYPE IPersistStream_IsDirty_Proxy(
  2046. IPersistStream* This);
  2047. void __RPC_STUB IPersistStream_IsDirty_Stub(
  2048. IRpcStubBuffer* This,
  2049. IRpcChannelBuffer* pRpcChannelBuffer,
  2050. PRPC_MESSAGE pRpcMessage,
  2051. DWORD* pdwStubPhase);
  2052. HRESULT STDMETHODCALLTYPE IPersistStream_Load_Proxy(
  2053. IPersistStream* This,
  2054. IStream *pStm);
  2055. void __RPC_STUB IPersistStream_Load_Stub(
  2056. IRpcStubBuffer* This,
  2057. IRpcChannelBuffer* pRpcChannelBuffer,
  2058. PRPC_MESSAGE pRpcMessage,
  2059. DWORD* pdwStubPhase);
  2060. HRESULT STDMETHODCALLTYPE IPersistStream_Save_Proxy(
  2061. IPersistStream* This,
  2062. IStream *pStm,
  2063. WINBOOL fClearDirty);
  2064. void __RPC_STUB IPersistStream_Save_Stub(
  2065. IRpcStubBuffer* This,
  2066. IRpcChannelBuffer* pRpcChannelBuffer,
  2067. PRPC_MESSAGE pRpcMessage,
  2068. DWORD* pdwStubPhase);
  2069. HRESULT STDMETHODCALLTYPE IPersistStream_GetSizeMax_Proxy(
  2070. IPersistStream* This,
  2071. ULARGE_INTEGER *pcbSize);
  2072. void __RPC_STUB IPersistStream_GetSizeMax_Stub(
  2073. IRpcStubBuffer* This,
  2074. IRpcChannelBuffer* pRpcChannelBuffer,
  2075. PRPC_MESSAGE pRpcMessage,
  2076. DWORD* pdwStubPhase);
  2077.  
  2078. #endif /* __IPersistStream_INTERFACE_DEFINED__ */
  2079.  
  2080. /*****************************************************************************
  2081. * IMoniker interface
  2082. */
  2083. #ifndef __IMoniker_INTERFACE_DEFINED__
  2084. #define __IMoniker_INTERFACE_DEFINED__
  2085.  
  2086. typedef IMoniker *LPMONIKER;
  2087. typedef enum tagMKSYS {
  2088. MKSYS_NONE = 0,
  2089. MKSYS_GENERICCOMPOSITE = 1,
  2090. MKSYS_FILEMONIKER = 2,
  2091. MKSYS_ANTIMONIKER = 3,
  2092. MKSYS_ITEMMONIKER = 4,
  2093. MKSYS_POINTERMONIKER = 5,
  2094. MKSYS_CLASSMONIKER = 7,
  2095. MKSYS_OBJREFMONIKER = 8,
  2096. MKSYS_SESSIONMONIKER = 9,
  2097. MKSYS_LUAMONIKER = 10
  2098. } MKSYS;
  2099. typedef enum tagMKREDUCE {
  2100. MKRREDUCE_ONE = 3 << 16,
  2101. MKRREDUCE_TOUSER = 2 << 16,
  2102. MKRREDUCE_THROUGHUSER = 1 << 16,
  2103. MKRREDUCE_ALL = 0
  2104. } MKRREDUCE;
  2105. DEFINE_GUID(IID_IMoniker, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  2106. #if defined(__cplusplus) && !defined(CINTERFACE)
  2107. MIDL_INTERFACE("0000000f-0000-0000-c000-000000000046")
  2108. IMoniker : public IPersistStream
  2109. {
  2110. virtual HRESULT STDMETHODCALLTYPE BindToObject(
  2111. IBindCtx *pbc,
  2112. IMoniker *pmkToLeft,
  2113. REFIID riidResult,
  2114. void **ppvResult) = 0;
  2115.  
  2116. virtual HRESULT STDMETHODCALLTYPE BindToStorage(
  2117. IBindCtx *pbc,
  2118. IMoniker *pmkToLeft,
  2119. REFIID riid,
  2120. void **ppvObj) = 0;
  2121.  
  2122. virtual HRESULT STDMETHODCALLTYPE Reduce(
  2123. IBindCtx *pbc,
  2124. DWORD dwReduceHowFar,
  2125. IMoniker **ppmkToLeft,
  2126. IMoniker **ppmkReduced) = 0;
  2127.  
  2128. virtual HRESULT STDMETHODCALLTYPE ComposeWith(
  2129. IMoniker *pmkRight,
  2130. WINBOOL fOnlyIfNotGeneric,
  2131. IMoniker **ppmkComposite) = 0;
  2132.  
  2133. virtual HRESULT STDMETHODCALLTYPE Enum(
  2134. WINBOOL fForward,
  2135. IEnumMoniker **ppenumMoniker) = 0;
  2136.  
  2137. virtual HRESULT STDMETHODCALLTYPE IsEqual(
  2138. IMoniker *pmkOtherMoniker) = 0;
  2139.  
  2140. virtual HRESULT STDMETHODCALLTYPE Hash(
  2141. DWORD *pdwHash) = 0;
  2142.  
  2143. virtual HRESULT STDMETHODCALLTYPE IsRunning(
  2144. IBindCtx *pbc,
  2145. IMoniker *pmkToLeft,
  2146. IMoniker *pmkNewlyRunning) = 0;
  2147.  
  2148. virtual HRESULT STDMETHODCALLTYPE GetTimeOfLastChange(
  2149. IBindCtx *pbc,
  2150. IMoniker *pmkToLeft,
  2151. FILETIME *pFileTime) = 0;
  2152.  
  2153. virtual HRESULT STDMETHODCALLTYPE Inverse(
  2154. IMoniker **ppmk) = 0;
  2155.  
  2156. virtual HRESULT STDMETHODCALLTYPE CommonPrefixWith(
  2157. IMoniker *pmkOther,
  2158. IMoniker **ppmkPrefix) = 0;
  2159.  
  2160. virtual HRESULT STDMETHODCALLTYPE RelativePathTo(
  2161. IMoniker *pmkOther,
  2162. IMoniker **ppmkRelPath) = 0;
  2163.  
  2164. virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
  2165. IBindCtx *pbc,
  2166. IMoniker *pmkToLeft,
  2167. LPOLESTR *ppszDisplayName) = 0;
  2168.  
  2169. virtual HRESULT STDMETHODCALLTYPE ParseDisplayName(
  2170. IBindCtx *pbc,
  2171. IMoniker *pmkToLeft,
  2172. LPOLESTR pszDisplayName,
  2173. ULONG *pchEaten,
  2174. IMoniker **ppmkOut) = 0;
  2175.  
  2176. virtual HRESULT STDMETHODCALLTYPE IsSystemMoniker(
  2177. DWORD *pdwMksys) = 0;
  2178.  
  2179. };
  2180. #ifdef __CRT_UUID_DECL
  2181. __CRT_UUID_DECL(IMoniker, 0x0000000f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  2182. #endif
  2183. #else
  2184. typedef struct IMonikerVtbl {
  2185. BEGIN_INTERFACE
  2186.  
  2187. /*** IUnknown methods ***/
  2188. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2189. IMoniker* This,
  2190. REFIID riid,
  2191. void **ppvObject);
  2192.  
  2193. ULONG (STDMETHODCALLTYPE *AddRef)(
  2194. IMoniker* This);
  2195.  
  2196. ULONG (STDMETHODCALLTYPE *Release)(
  2197. IMoniker* This);
  2198.  
  2199. /*** IPersist methods ***/
  2200. HRESULT (STDMETHODCALLTYPE *GetClassID)(
  2201. IMoniker* This,
  2202. CLSID *pClassID);
  2203.  
  2204. /*** IPersistStream methods ***/
  2205. HRESULT (STDMETHODCALLTYPE *IsDirty)(
  2206. IMoniker* This);
  2207.  
  2208. HRESULT (STDMETHODCALLTYPE *Load)(
  2209. IMoniker* This,
  2210. IStream *pStm);
  2211.  
  2212. HRESULT (STDMETHODCALLTYPE *Save)(
  2213. IMoniker* This,
  2214. IStream *pStm,
  2215. WINBOOL fClearDirty);
  2216.  
  2217. HRESULT (STDMETHODCALLTYPE *GetSizeMax)(
  2218. IMoniker* This,
  2219. ULARGE_INTEGER *pcbSize);
  2220.  
  2221. /*** IMoniker methods ***/
  2222. HRESULT (STDMETHODCALLTYPE *BindToObject)(
  2223. IMoniker* This,
  2224. IBindCtx *pbc,
  2225. IMoniker *pmkToLeft,
  2226. REFIID riidResult,
  2227. void **ppvResult);
  2228.  
  2229. HRESULT (STDMETHODCALLTYPE *BindToStorage)(
  2230. IMoniker* This,
  2231. IBindCtx *pbc,
  2232. IMoniker *pmkToLeft,
  2233. REFIID riid,
  2234. void **ppvObj);
  2235.  
  2236. HRESULT (STDMETHODCALLTYPE *Reduce)(
  2237. IMoniker* This,
  2238. IBindCtx *pbc,
  2239. DWORD dwReduceHowFar,
  2240. IMoniker **ppmkToLeft,
  2241. IMoniker **ppmkReduced);
  2242.  
  2243. HRESULT (STDMETHODCALLTYPE *ComposeWith)(
  2244. IMoniker* This,
  2245. IMoniker *pmkRight,
  2246. WINBOOL fOnlyIfNotGeneric,
  2247. IMoniker **ppmkComposite);
  2248.  
  2249. HRESULT (STDMETHODCALLTYPE *Enum)(
  2250. IMoniker* This,
  2251. WINBOOL fForward,
  2252. IEnumMoniker **ppenumMoniker);
  2253.  
  2254. HRESULT (STDMETHODCALLTYPE *IsEqual)(
  2255. IMoniker* This,
  2256. IMoniker *pmkOtherMoniker);
  2257.  
  2258. HRESULT (STDMETHODCALLTYPE *Hash)(
  2259. IMoniker* This,
  2260. DWORD *pdwHash);
  2261.  
  2262. HRESULT (STDMETHODCALLTYPE *IsRunning)(
  2263. IMoniker* This,
  2264. IBindCtx *pbc,
  2265. IMoniker *pmkToLeft,
  2266. IMoniker *pmkNewlyRunning);
  2267.  
  2268. HRESULT (STDMETHODCALLTYPE *GetTimeOfLastChange)(
  2269. IMoniker* This,
  2270. IBindCtx *pbc,
  2271. IMoniker *pmkToLeft,
  2272. FILETIME *pFileTime);
  2273.  
  2274. HRESULT (STDMETHODCALLTYPE *Inverse)(
  2275. IMoniker* This,
  2276. IMoniker **ppmk);
  2277.  
  2278. HRESULT (STDMETHODCALLTYPE *CommonPrefixWith)(
  2279. IMoniker* This,
  2280. IMoniker *pmkOther,
  2281. IMoniker **ppmkPrefix);
  2282.  
  2283. HRESULT (STDMETHODCALLTYPE *RelativePathTo)(
  2284. IMoniker* This,
  2285. IMoniker *pmkOther,
  2286. IMoniker **ppmkRelPath);
  2287.  
  2288. HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
  2289. IMoniker* This,
  2290. IBindCtx *pbc,
  2291. IMoniker *pmkToLeft,
  2292. LPOLESTR *ppszDisplayName);
  2293.  
  2294. HRESULT (STDMETHODCALLTYPE *ParseDisplayName)(
  2295. IMoniker* This,
  2296. IBindCtx *pbc,
  2297. IMoniker *pmkToLeft,
  2298. LPOLESTR pszDisplayName,
  2299. ULONG *pchEaten,
  2300. IMoniker **ppmkOut);
  2301.  
  2302. HRESULT (STDMETHODCALLTYPE *IsSystemMoniker)(
  2303. IMoniker* This,
  2304. DWORD *pdwMksys);
  2305.  
  2306. END_INTERFACE
  2307. } IMonikerVtbl;
  2308. interface IMoniker {
  2309. CONST_VTBL IMonikerVtbl* lpVtbl;
  2310. };
  2311.  
  2312. #ifdef COBJMACROS
  2313. #ifndef WIDL_C_INLINE_WRAPPERS
  2314. /*** IUnknown methods ***/
  2315. #define IMoniker_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2316. #define IMoniker_AddRef(This) (This)->lpVtbl->AddRef(This)
  2317. #define IMoniker_Release(This) (This)->lpVtbl->Release(This)
  2318. /*** IPersist methods ***/
  2319. #define IMoniker_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
  2320. /*** IPersistStream methods ***/
  2321. #define IMoniker_IsDirty(This) (This)->lpVtbl->IsDirty(This)
  2322. #define IMoniker_Load(This,pStm) (This)->lpVtbl->Load(This,pStm)
  2323. #define IMoniker_Save(This,pStm,fClearDirty) (This)->lpVtbl->Save(This,pStm,fClearDirty)
  2324. #define IMoniker_GetSizeMax(This,pcbSize) (This)->lpVtbl->GetSizeMax(This,pcbSize)
  2325. /*** IMoniker methods ***/
  2326. #define IMoniker_BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult) (This)->lpVtbl->BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult)
  2327. #define IMoniker_BindToStorage(This,pbc,pmkToLeft,riid,ppvObj) (This)->lpVtbl->BindToStorage(This,pbc,pmkToLeft,riid,ppvObj)
  2328. #define IMoniker_Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced) (This)->lpVtbl->Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced)
  2329. #define IMoniker_ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite) (This)->lpVtbl->ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite)
  2330. #define IMoniker_Enum(This,fForward,ppenumMoniker) (This)->lpVtbl->Enum(This,fForward,ppenumMoniker)
  2331. #define IMoniker_IsEqual(This,pmkOtherMoniker) (This)->lpVtbl->IsEqual(This,pmkOtherMoniker)
  2332. #define IMoniker_Hash(This,pdwHash) (This)->lpVtbl->Hash(This,pdwHash)
  2333. #define IMoniker_IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning) (This)->lpVtbl->IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning)
  2334. #define IMoniker_GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime) (This)->lpVtbl->GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime)
  2335. #define IMoniker_Inverse(This,ppmk) (This)->lpVtbl->Inverse(This,ppmk)
  2336. #define IMoniker_CommonPrefixWith(This,pmkOther,ppmkPrefix) (This)->lpVtbl->CommonPrefixWith(This,pmkOther,ppmkPrefix)
  2337. #define IMoniker_RelativePathTo(This,pmkOther,ppmkRelPath) (This)->lpVtbl->RelativePathTo(This,pmkOther,ppmkRelPath)
  2338. #define IMoniker_GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName) (This)->lpVtbl->GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName)
  2339. #define IMoniker_ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut) (This)->lpVtbl->ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut)
  2340. #define IMoniker_IsSystemMoniker(This,pdwMksys) (This)->lpVtbl->IsSystemMoniker(This,pdwMksys)
  2341. #else
  2342. /*** IUnknown methods ***/
  2343. static FORCEINLINE HRESULT IMoniker_QueryInterface(IMoniker* This,REFIID riid,void **ppvObject) {
  2344. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2345. }
  2346. static FORCEINLINE ULONG IMoniker_AddRef(IMoniker* This) {
  2347. return This->lpVtbl->AddRef(This);
  2348. }
  2349. static FORCEINLINE ULONG IMoniker_Release(IMoniker* This) {
  2350. return This->lpVtbl->Release(This);
  2351. }
  2352. /*** IPersist methods ***/
  2353. static FORCEINLINE HRESULT IMoniker_GetClassID(IMoniker* This,CLSID *pClassID) {
  2354. return This->lpVtbl->GetClassID(This,pClassID);
  2355. }
  2356. /*** IPersistStream methods ***/
  2357. static FORCEINLINE HRESULT IMoniker_IsDirty(IMoniker* This) {
  2358. return This->lpVtbl->IsDirty(This);
  2359. }
  2360. static FORCEINLINE HRESULT IMoniker_Load(IMoniker* This,IStream *pStm) {
  2361. return This->lpVtbl->Load(This,pStm);
  2362. }
  2363. static FORCEINLINE HRESULT IMoniker_Save(IMoniker* This,IStream *pStm,WINBOOL fClearDirty) {
  2364. return This->lpVtbl->Save(This,pStm,fClearDirty);
  2365. }
  2366. static FORCEINLINE HRESULT IMoniker_GetSizeMax(IMoniker* This,ULARGE_INTEGER *pcbSize) {
  2367. return This->lpVtbl->GetSizeMax(This,pcbSize);
  2368. }
  2369. /*** IMoniker methods ***/
  2370. static FORCEINLINE HRESULT IMoniker_BindToObject(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,REFIID riidResult,void **ppvResult) {
  2371. return This->lpVtbl->BindToObject(This,pbc,pmkToLeft,riidResult,ppvResult);
  2372. }
  2373. static FORCEINLINE HRESULT IMoniker_BindToStorage(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,REFIID riid,void **ppvObj) {
  2374. return This->lpVtbl->BindToStorage(This,pbc,pmkToLeft,riid,ppvObj);
  2375. }
  2376. static FORCEINLINE HRESULT IMoniker_Reduce(IMoniker* This,IBindCtx *pbc,DWORD dwReduceHowFar,IMoniker **ppmkToLeft,IMoniker **ppmkReduced) {
  2377. return This->lpVtbl->Reduce(This,pbc,dwReduceHowFar,ppmkToLeft,ppmkReduced);
  2378. }
  2379. static FORCEINLINE HRESULT IMoniker_ComposeWith(IMoniker* This,IMoniker *pmkRight,WINBOOL fOnlyIfNotGeneric,IMoniker **ppmkComposite) {
  2380. return This->lpVtbl->ComposeWith(This,pmkRight,fOnlyIfNotGeneric,ppmkComposite);
  2381. }
  2382. static FORCEINLINE HRESULT IMoniker_Enum(IMoniker* This,WINBOOL fForward,IEnumMoniker **ppenumMoniker) {
  2383. return This->lpVtbl->Enum(This,fForward,ppenumMoniker);
  2384. }
  2385. static FORCEINLINE HRESULT IMoniker_IsEqual(IMoniker* This,IMoniker *pmkOtherMoniker) {
  2386. return This->lpVtbl->IsEqual(This,pmkOtherMoniker);
  2387. }
  2388. static FORCEINLINE HRESULT IMoniker_Hash(IMoniker* This,DWORD *pdwHash) {
  2389. return This->lpVtbl->Hash(This,pdwHash);
  2390. }
  2391. static FORCEINLINE HRESULT IMoniker_IsRunning(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,IMoniker *pmkNewlyRunning) {
  2392. return This->lpVtbl->IsRunning(This,pbc,pmkToLeft,pmkNewlyRunning);
  2393. }
  2394. static FORCEINLINE HRESULT IMoniker_GetTimeOfLastChange(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,FILETIME *pFileTime) {
  2395. return This->lpVtbl->GetTimeOfLastChange(This,pbc,pmkToLeft,pFileTime);
  2396. }
  2397. static FORCEINLINE HRESULT IMoniker_Inverse(IMoniker* This,IMoniker **ppmk) {
  2398. return This->lpVtbl->Inverse(This,ppmk);
  2399. }
  2400. static FORCEINLINE HRESULT IMoniker_CommonPrefixWith(IMoniker* This,IMoniker *pmkOther,IMoniker **ppmkPrefix) {
  2401. return This->lpVtbl->CommonPrefixWith(This,pmkOther,ppmkPrefix);
  2402. }
  2403. static FORCEINLINE HRESULT IMoniker_RelativePathTo(IMoniker* This,IMoniker *pmkOther,IMoniker **ppmkRelPath) {
  2404. return This->lpVtbl->RelativePathTo(This,pmkOther,ppmkRelPath);
  2405. }
  2406. static FORCEINLINE HRESULT IMoniker_GetDisplayName(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,LPOLESTR *ppszDisplayName) {
  2407. return This->lpVtbl->GetDisplayName(This,pbc,pmkToLeft,ppszDisplayName);
  2408. }
  2409. static FORCEINLINE HRESULT IMoniker_ParseDisplayName(IMoniker* This,IBindCtx *pbc,IMoniker *pmkToLeft,LPOLESTR pszDisplayName,ULONG *pchEaten,IMoniker **ppmkOut) {
  2410. return This->lpVtbl->ParseDisplayName(This,pbc,pmkToLeft,pszDisplayName,pchEaten,ppmkOut);
  2411. }
  2412. static FORCEINLINE HRESULT IMoniker_IsSystemMoniker(IMoniker* This,DWORD *pdwMksys) {
  2413. return This->lpVtbl->IsSystemMoniker(This,pdwMksys);
  2414. }
  2415. #endif
  2416. #endif
  2417.  
  2418. #endif
  2419.  
  2420. HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToObject_Proxy(
  2421. IMoniker* This,
  2422. IBindCtx *pbc,
  2423. IMoniker *pmkToLeft,
  2424. REFIID riidResult,
  2425. IUnknown **ppvResult);
  2426. void __RPC_STUB IMoniker_RemoteBindToObject_Stub(
  2427. IRpcStubBuffer* This,
  2428. IRpcChannelBuffer* pRpcChannelBuffer,
  2429. PRPC_MESSAGE pRpcMessage,
  2430. DWORD* pdwStubPhase);
  2431. HRESULT STDMETHODCALLTYPE IMoniker_RemoteBindToStorage_Proxy(
  2432. IMoniker* This,
  2433. IBindCtx *pbc,
  2434. IMoniker *pmkToLeft,
  2435. REFIID riid,
  2436. IUnknown **ppvObj);
  2437. void __RPC_STUB IMoniker_RemoteBindToStorage_Stub(
  2438. IRpcStubBuffer* This,
  2439. IRpcChannelBuffer* pRpcChannelBuffer,
  2440. PRPC_MESSAGE pRpcMessage,
  2441. DWORD* pdwStubPhase);
  2442. HRESULT STDMETHODCALLTYPE IMoniker_Reduce_Proxy(
  2443. IMoniker* This,
  2444. IBindCtx *pbc,
  2445. DWORD dwReduceHowFar,
  2446. IMoniker **ppmkToLeft,
  2447. IMoniker **ppmkReduced);
  2448. void __RPC_STUB IMoniker_Reduce_Stub(
  2449. IRpcStubBuffer* This,
  2450. IRpcChannelBuffer* pRpcChannelBuffer,
  2451. PRPC_MESSAGE pRpcMessage,
  2452. DWORD* pdwStubPhase);
  2453. HRESULT STDMETHODCALLTYPE IMoniker_ComposeWith_Proxy(
  2454. IMoniker* This,
  2455. IMoniker *pmkRight,
  2456. WINBOOL fOnlyIfNotGeneric,
  2457. IMoniker **ppmkComposite);
  2458. void __RPC_STUB IMoniker_ComposeWith_Stub(
  2459. IRpcStubBuffer* This,
  2460. IRpcChannelBuffer* pRpcChannelBuffer,
  2461. PRPC_MESSAGE pRpcMessage,
  2462. DWORD* pdwStubPhase);
  2463. HRESULT STDMETHODCALLTYPE IMoniker_Enum_Proxy(
  2464. IMoniker* This,
  2465. WINBOOL fForward,
  2466. IEnumMoniker **ppenumMoniker);
  2467. void __RPC_STUB IMoniker_Enum_Stub(
  2468. IRpcStubBuffer* This,
  2469. IRpcChannelBuffer* pRpcChannelBuffer,
  2470. PRPC_MESSAGE pRpcMessage,
  2471. DWORD* pdwStubPhase);
  2472. HRESULT STDMETHODCALLTYPE IMoniker_IsEqual_Proxy(
  2473. IMoniker* This,
  2474. IMoniker *pmkOtherMoniker);
  2475. void __RPC_STUB IMoniker_IsEqual_Stub(
  2476. IRpcStubBuffer* This,
  2477. IRpcChannelBuffer* pRpcChannelBuffer,
  2478. PRPC_MESSAGE pRpcMessage,
  2479. DWORD* pdwStubPhase);
  2480. HRESULT STDMETHODCALLTYPE IMoniker_Hash_Proxy(
  2481. IMoniker* This,
  2482. DWORD *pdwHash);
  2483. void __RPC_STUB IMoniker_Hash_Stub(
  2484. IRpcStubBuffer* This,
  2485. IRpcChannelBuffer* pRpcChannelBuffer,
  2486. PRPC_MESSAGE pRpcMessage,
  2487. DWORD* pdwStubPhase);
  2488. HRESULT STDMETHODCALLTYPE IMoniker_IsRunning_Proxy(
  2489. IMoniker* This,
  2490. IBindCtx *pbc,
  2491. IMoniker *pmkToLeft,
  2492. IMoniker *pmkNewlyRunning);
  2493. void __RPC_STUB IMoniker_IsRunning_Stub(
  2494. IRpcStubBuffer* This,
  2495. IRpcChannelBuffer* pRpcChannelBuffer,
  2496. PRPC_MESSAGE pRpcMessage,
  2497. DWORD* pdwStubPhase);
  2498. HRESULT STDMETHODCALLTYPE IMoniker_GetTimeOfLastChange_Proxy(
  2499. IMoniker* This,
  2500. IBindCtx *pbc,
  2501. IMoniker *pmkToLeft,
  2502. FILETIME *pFileTime);
  2503. void __RPC_STUB IMoniker_GetTimeOfLastChange_Stub(
  2504. IRpcStubBuffer* This,
  2505. IRpcChannelBuffer* pRpcChannelBuffer,
  2506. PRPC_MESSAGE pRpcMessage,
  2507. DWORD* pdwStubPhase);
  2508. HRESULT STDMETHODCALLTYPE IMoniker_Inverse_Proxy(
  2509. IMoniker* This,
  2510. IMoniker **ppmk);
  2511. void __RPC_STUB IMoniker_Inverse_Stub(
  2512. IRpcStubBuffer* This,
  2513. IRpcChannelBuffer* pRpcChannelBuffer,
  2514. PRPC_MESSAGE pRpcMessage,
  2515. DWORD* pdwStubPhase);
  2516. HRESULT STDMETHODCALLTYPE IMoniker_CommonPrefixWith_Proxy(
  2517. IMoniker* This,
  2518. IMoniker *pmkOther,
  2519. IMoniker **ppmkPrefix);
  2520. void __RPC_STUB IMoniker_CommonPrefixWith_Stub(
  2521. IRpcStubBuffer* This,
  2522. IRpcChannelBuffer* pRpcChannelBuffer,
  2523. PRPC_MESSAGE pRpcMessage,
  2524. DWORD* pdwStubPhase);
  2525. HRESULT STDMETHODCALLTYPE IMoniker_RelativePathTo_Proxy(
  2526. IMoniker* This,
  2527. IMoniker *pmkOther,
  2528. IMoniker **ppmkRelPath);
  2529. void __RPC_STUB IMoniker_RelativePathTo_Stub(
  2530. IRpcStubBuffer* This,
  2531. IRpcChannelBuffer* pRpcChannelBuffer,
  2532. PRPC_MESSAGE pRpcMessage,
  2533. DWORD* pdwStubPhase);
  2534. HRESULT STDMETHODCALLTYPE IMoniker_GetDisplayName_Proxy(
  2535. IMoniker* This,
  2536. IBindCtx *pbc,
  2537. IMoniker *pmkToLeft,
  2538. LPOLESTR *ppszDisplayName);
  2539. void __RPC_STUB IMoniker_GetDisplayName_Stub(
  2540. IRpcStubBuffer* This,
  2541. IRpcChannelBuffer* pRpcChannelBuffer,
  2542. PRPC_MESSAGE pRpcMessage,
  2543. DWORD* pdwStubPhase);
  2544. HRESULT STDMETHODCALLTYPE IMoniker_ParseDisplayName_Proxy(
  2545. IMoniker* This,
  2546. IBindCtx *pbc,
  2547. IMoniker *pmkToLeft,
  2548. LPOLESTR pszDisplayName,
  2549. ULONG *pchEaten,
  2550. IMoniker **ppmkOut);
  2551. void __RPC_STUB IMoniker_ParseDisplayName_Stub(
  2552. IRpcStubBuffer* This,
  2553. IRpcChannelBuffer* pRpcChannelBuffer,
  2554. PRPC_MESSAGE pRpcMessage,
  2555. DWORD* pdwStubPhase);
  2556. HRESULT STDMETHODCALLTYPE IMoniker_IsSystemMoniker_Proxy(
  2557. IMoniker* This,
  2558. DWORD *pdwMksys);
  2559. void __RPC_STUB IMoniker_IsSystemMoniker_Stub(
  2560. IRpcStubBuffer* This,
  2561. IRpcChannelBuffer* pRpcChannelBuffer,
  2562. PRPC_MESSAGE pRpcMessage,
  2563. DWORD* pdwStubPhase);
  2564. HRESULT CALLBACK IMoniker_BindToObject_Proxy(
  2565. IMoniker* This,
  2566. IBindCtx *pbc,
  2567. IMoniker *pmkToLeft,
  2568. REFIID riidResult,
  2569. void **ppvResult);
  2570. HRESULT __RPC_STUB IMoniker_BindToObject_Stub(
  2571. IMoniker* This,
  2572. IBindCtx *pbc,
  2573. IMoniker *pmkToLeft,
  2574. REFIID riidResult,
  2575. IUnknown **ppvResult);
  2576. HRESULT CALLBACK IMoniker_BindToStorage_Proxy(
  2577. IMoniker* This,
  2578. IBindCtx *pbc,
  2579. IMoniker *pmkToLeft,
  2580. REFIID riid,
  2581. void **ppvObj);
  2582. HRESULT __RPC_STUB IMoniker_BindToStorage_Stub(
  2583. IMoniker* This,
  2584. IBindCtx *pbc,
  2585. IMoniker *pmkToLeft,
  2586. REFIID riid,
  2587. IUnknown **ppvObj);
  2588.  
  2589. #endif /* __IMoniker_INTERFACE_DEFINED__ */
  2590.  
  2591. #ifndef __IROTData_INTERFACE_DEFINED__
  2592. #define __IROTData_INTERFACE_DEFINED__
  2593. EXTERN_C const IID IID_IROTData;
  2594. #if defined(__cplusplus) && !defined(CINTERFACE)
  2595. struct IROTData : public IUnknown {
  2596. public:
  2597. virtual HRESULT WINAPI GetComparisonData(byte *pbData,ULONG cbMax,ULONG *pcbData) = 0;
  2598. };
  2599. #else
  2600. typedef struct IROTDataVtbl {
  2601. BEGIN_INTERFACE
  2602. HRESULT (WINAPI *QueryInterface)(IROTData *This,REFIID riid,void **ppvObject);
  2603. ULONG (WINAPI *AddRef)(IROTData *This);
  2604. ULONG (WINAPI *Release)(IROTData *This);
  2605. HRESULT (WINAPI *GetComparisonData)(IROTData *This,byte *pbData,ULONG cbMax,ULONG *pcbData);
  2606. END_INTERFACE
  2607. } IROTDataVtbl;
  2608. struct IROTData {
  2609. CONST_VTBL struct IROTDataVtbl *lpVtbl;
  2610. };
  2611. #ifdef COBJMACROS
  2612. #define IROTData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2613. #define IROTData_AddRef(This) (This)->lpVtbl->AddRef(This)
  2614. #define IROTData_Release(This) (This)->lpVtbl->Release(This)
  2615. #define IROTData_GetComparisonData(This,pbData,cbMax,pcbData) (This)->lpVtbl->GetComparisonData(This,pbData,cbMax,pcbData)
  2616. #endif
  2617. #endif
  2618. HRESULT WINAPI IROTData_GetComparisonData_Proxy(IROTData *This,byte *pbData,ULONG cbMax,ULONG *pcbData);
  2619. void __RPC_STUB IROTData_GetComparisonData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  2620. #endif
  2621. /*****************************************************************************
  2622. * IEnumString interface
  2623. */
  2624. #ifndef __IEnumString_INTERFACE_DEFINED__
  2625. #define __IEnumString_INTERFACE_DEFINED__
  2626.  
  2627. typedef IEnumString *LPENUMSTRING;
  2628. DEFINE_GUID(IID_IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  2629. #if defined(__cplusplus) && !defined(CINTERFACE)
  2630. MIDL_INTERFACE("00000101-0000-0000-c000-000000000046")
  2631. IEnumString : public IUnknown
  2632. {
  2633. virtual HRESULT STDMETHODCALLTYPE Next(
  2634. ULONG celt,
  2635. LPOLESTR *rgelt,
  2636. ULONG *pceltFetched) = 0;
  2637.  
  2638. virtual HRESULT STDMETHODCALLTYPE Skip(
  2639. ULONG celt) = 0;
  2640.  
  2641. virtual HRESULT STDMETHODCALLTYPE Reset(
  2642. ) = 0;
  2643.  
  2644. virtual HRESULT STDMETHODCALLTYPE Clone(
  2645. IEnumString **ppenum) = 0;
  2646.  
  2647. };
  2648. #ifdef __CRT_UUID_DECL
  2649. __CRT_UUID_DECL(IEnumString, 0x00000101, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  2650. #endif
  2651. #else
  2652. typedef struct IEnumStringVtbl {
  2653. BEGIN_INTERFACE
  2654.  
  2655. /*** IUnknown methods ***/
  2656. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2657. IEnumString* This,
  2658. REFIID riid,
  2659. void **ppvObject);
  2660.  
  2661. ULONG (STDMETHODCALLTYPE *AddRef)(
  2662. IEnumString* This);
  2663.  
  2664. ULONG (STDMETHODCALLTYPE *Release)(
  2665. IEnumString* This);
  2666.  
  2667. /*** IEnumString methods ***/
  2668. HRESULT (STDMETHODCALLTYPE *Next)(
  2669. IEnumString* This,
  2670. ULONG celt,
  2671. LPOLESTR *rgelt,
  2672. ULONG *pceltFetched);
  2673.  
  2674. HRESULT (STDMETHODCALLTYPE *Skip)(
  2675. IEnumString* This,
  2676. ULONG celt);
  2677.  
  2678. HRESULT (STDMETHODCALLTYPE *Reset)(
  2679. IEnumString* This);
  2680.  
  2681. HRESULT (STDMETHODCALLTYPE *Clone)(
  2682. IEnumString* This,
  2683. IEnumString **ppenum);
  2684.  
  2685. END_INTERFACE
  2686. } IEnumStringVtbl;
  2687. interface IEnumString {
  2688. CONST_VTBL IEnumStringVtbl* lpVtbl;
  2689. };
  2690.  
  2691. #ifdef COBJMACROS
  2692. #ifndef WIDL_C_INLINE_WRAPPERS
  2693. /*** IUnknown methods ***/
  2694. #define IEnumString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2695. #define IEnumString_AddRef(This) (This)->lpVtbl->AddRef(This)
  2696. #define IEnumString_Release(This) (This)->lpVtbl->Release(This)
  2697. /*** IEnumString methods ***/
  2698. #define IEnumString_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
  2699. #define IEnumString_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  2700. #define IEnumString_Reset(This) (This)->lpVtbl->Reset(This)
  2701. #define IEnumString_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
  2702. #else
  2703. /*** IUnknown methods ***/
  2704. static FORCEINLINE HRESULT IEnumString_QueryInterface(IEnumString* This,REFIID riid,void **ppvObject) {
  2705. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2706. }
  2707. static FORCEINLINE ULONG IEnumString_AddRef(IEnumString* This) {
  2708. return This->lpVtbl->AddRef(This);
  2709. }
  2710. static FORCEINLINE ULONG IEnumString_Release(IEnumString* This) {
  2711. return This->lpVtbl->Release(This);
  2712. }
  2713. /*** IEnumString methods ***/
  2714. static FORCEINLINE HRESULT IEnumString_Next(IEnumString* This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched) {
  2715. return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
  2716. }
  2717. static FORCEINLINE HRESULT IEnumString_Skip(IEnumString* This,ULONG celt) {
  2718. return This->lpVtbl->Skip(This,celt);
  2719. }
  2720. static FORCEINLINE HRESULT IEnumString_Reset(IEnumString* This) {
  2721. return This->lpVtbl->Reset(This);
  2722. }
  2723. static FORCEINLINE HRESULT IEnumString_Clone(IEnumString* This,IEnumString **ppenum) {
  2724. return This->lpVtbl->Clone(This,ppenum);
  2725. }
  2726. #endif
  2727. #endif
  2728.  
  2729. #endif
  2730.  
  2731. HRESULT STDMETHODCALLTYPE IEnumString_RemoteNext_Proxy(
  2732. IEnumString* This,
  2733. ULONG celt,
  2734. LPOLESTR *rgelt,
  2735. ULONG *pceltFetched);
  2736. void __RPC_STUB IEnumString_RemoteNext_Stub(
  2737. IRpcStubBuffer* This,
  2738. IRpcChannelBuffer* pRpcChannelBuffer,
  2739. PRPC_MESSAGE pRpcMessage,
  2740. DWORD* pdwStubPhase);
  2741. HRESULT STDMETHODCALLTYPE IEnumString_Skip_Proxy(
  2742. IEnumString* This,
  2743. ULONG celt);
  2744. void __RPC_STUB IEnumString_Skip_Stub(
  2745. IRpcStubBuffer* This,
  2746. IRpcChannelBuffer* pRpcChannelBuffer,
  2747. PRPC_MESSAGE pRpcMessage,
  2748. DWORD* pdwStubPhase);
  2749. HRESULT STDMETHODCALLTYPE IEnumString_Reset_Proxy(
  2750. IEnumString* This);
  2751. void __RPC_STUB IEnumString_Reset_Stub(
  2752. IRpcStubBuffer* This,
  2753. IRpcChannelBuffer* pRpcChannelBuffer,
  2754. PRPC_MESSAGE pRpcMessage,
  2755. DWORD* pdwStubPhase);
  2756. HRESULT STDMETHODCALLTYPE IEnumString_Clone_Proxy(
  2757. IEnumString* This,
  2758. IEnumString **ppenum);
  2759. void __RPC_STUB IEnumString_Clone_Stub(
  2760. IRpcStubBuffer* This,
  2761. IRpcChannelBuffer* pRpcChannelBuffer,
  2762. PRPC_MESSAGE pRpcMessage,
  2763. DWORD* pdwStubPhase);
  2764. HRESULT CALLBACK IEnumString_Next_Proxy(
  2765. IEnumString* This,
  2766. ULONG celt,
  2767. LPOLESTR *rgelt,
  2768. ULONG *pceltFetched);
  2769. HRESULT __RPC_STUB IEnumString_Next_Stub(
  2770. IEnumString* This,
  2771. ULONG celt,
  2772. LPOLESTR *rgelt,
  2773. ULONG *pceltFetched);
  2774.  
  2775. #endif /* __IEnumString_INTERFACE_DEFINED__ */
  2776.  
  2777. /*****************************************************************************
  2778. * ISequentialStream interface
  2779. */
  2780. #ifndef __ISequentialStream_INTERFACE_DEFINED__
  2781. #define __ISequentialStream_INTERFACE_DEFINED__
  2782.  
  2783. DEFINE_GUID(IID_ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d);
  2784. #if defined(__cplusplus) && !defined(CINTERFACE)
  2785. MIDL_INTERFACE("0c733a30-2a1c-11ce-ade5-00aa0044773d")
  2786. ISequentialStream : public IUnknown
  2787. {
  2788. virtual HRESULT STDMETHODCALLTYPE Read(
  2789. void *pv,
  2790. ULONG cb,
  2791. ULONG *pcbRead) = 0;
  2792.  
  2793. virtual HRESULT STDMETHODCALLTYPE Write(
  2794. const void *pv,
  2795. ULONG cb,
  2796. ULONG *pcbWritten) = 0;
  2797.  
  2798. };
  2799. #ifdef __CRT_UUID_DECL
  2800. __CRT_UUID_DECL(ISequentialStream, 0x0c733a30, 0x2a1c, 0x11ce, 0xad,0xe5, 0x00,0xaa,0x00,0x44,0x77,0x3d)
  2801. #endif
  2802. #else
  2803. typedef struct ISequentialStreamVtbl {
  2804. BEGIN_INTERFACE
  2805.  
  2806. /*** IUnknown methods ***/
  2807. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  2808. ISequentialStream* This,
  2809. REFIID riid,
  2810. void **ppvObject);
  2811.  
  2812. ULONG (STDMETHODCALLTYPE *AddRef)(
  2813. ISequentialStream* This);
  2814.  
  2815. ULONG (STDMETHODCALLTYPE *Release)(
  2816. ISequentialStream* This);
  2817.  
  2818. /*** ISequentialStream methods ***/
  2819. HRESULT (STDMETHODCALLTYPE *Read)(
  2820. ISequentialStream* This,
  2821. void *pv,
  2822. ULONG cb,
  2823. ULONG *pcbRead);
  2824.  
  2825. HRESULT (STDMETHODCALLTYPE *Write)(
  2826. ISequentialStream* This,
  2827. const void *pv,
  2828. ULONG cb,
  2829. ULONG *pcbWritten);
  2830.  
  2831. END_INTERFACE
  2832. } ISequentialStreamVtbl;
  2833. interface ISequentialStream {
  2834. CONST_VTBL ISequentialStreamVtbl* lpVtbl;
  2835. };
  2836.  
  2837. #ifdef COBJMACROS
  2838. #ifndef WIDL_C_INLINE_WRAPPERS
  2839. /*** IUnknown methods ***/
  2840. #define ISequentialStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  2841. #define ISequentialStream_AddRef(This) (This)->lpVtbl->AddRef(This)
  2842. #define ISequentialStream_Release(This) (This)->lpVtbl->Release(This)
  2843. /*** ISequentialStream methods ***/
  2844. #define ISequentialStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
  2845. #define ISequentialStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
  2846. #else
  2847. /*** IUnknown methods ***/
  2848. static FORCEINLINE HRESULT ISequentialStream_QueryInterface(ISequentialStream* This,REFIID riid,void **ppvObject) {
  2849. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  2850. }
  2851. static FORCEINLINE ULONG ISequentialStream_AddRef(ISequentialStream* This) {
  2852. return This->lpVtbl->AddRef(This);
  2853. }
  2854. static FORCEINLINE ULONG ISequentialStream_Release(ISequentialStream* This) {
  2855. return This->lpVtbl->Release(This);
  2856. }
  2857. /*** ISequentialStream methods ***/
  2858. static FORCEINLINE HRESULT ISequentialStream_Read(ISequentialStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
  2859. return This->lpVtbl->Read(This,pv,cb,pcbRead);
  2860. }
  2861. static FORCEINLINE HRESULT ISequentialStream_Write(ISequentialStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
  2862. return This->lpVtbl->Write(This,pv,cb,pcbWritten);
  2863. }
  2864. #endif
  2865. #endif
  2866.  
  2867. #endif
  2868.  
  2869. HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteRead_Proxy(
  2870. ISequentialStream* This,
  2871. byte *pv,
  2872. ULONG cb,
  2873. ULONG *pcbRead);
  2874. void __RPC_STUB ISequentialStream_RemoteRead_Stub(
  2875. IRpcStubBuffer* This,
  2876. IRpcChannelBuffer* pRpcChannelBuffer,
  2877. PRPC_MESSAGE pRpcMessage,
  2878. DWORD* pdwStubPhase);
  2879. HRESULT STDMETHODCALLTYPE ISequentialStream_RemoteWrite_Proxy(
  2880. ISequentialStream* This,
  2881. const byte *pv,
  2882. ULONG cb,
  2883. ULONG *pcbWritten);
  2884. void __RPC_STUB ISequentialStream_RemoteWrite_Stub(
  2885. IRpcStubBuffer* This,
  2886. IRpcChannelBuffer* pRpcChannelBuffer,
  2887. PRPC_MESSAGE pRpcMessage,
  2888. DWORD* pdwStubPhase);
  2889. HRESULT CALLBACK ISequentialStream_Read_Proxy(
  2890. ISequentialStream* This,
  2891. void *pv,
  2892. ULONG cb,
  2893. ULONG *pcbRead);
  2894. HRESULT __RPC_STUB ISequentialStream_Read_Stub(
  2895. ISequentialStream* This,
  2896. byte *pv,
  2897. ULONG cb,
  2898. ULONG *pcbRead);
  2899. HRESULT CALLBACK ISequentialStream_Write_Proxy(
  2900. ISequentialStream* This,
  2901. const void *pv,
  2902. ULONG cb,
  2903. ULONG *pcbWritten);
  2904. HRESULT __RPC_STUB ISequentialStream_Write_Stub(
  2905. ISequentialStream* This,
  2906. const byte *pv,
  2907. ULONG cb,
  2908. ULONG *pcbWritten);
  2909.  
  2910. #endif /* __ISequentialStream_INTERFACE_DEFINED__ */
  2911.  
  2912. /*****************************************************************************
  2913. * IStream interface
  2914. */
  2915. #ifndef __IStream_INTERFACE_DEFINED__
  2916. #define __IStream_INTERFACE_DEFINED__
  2917.  
  2918. typedef IStream *LPSTREAM;
  2919. typedef struct tagSTATSTG {
  2920. LPOLESTR pwcsName;
  2921. DWORD type;
  2922. ULARGE_INTEGER cbSize;
  2923. FILETIME mtime;
  2924. FILETIME ctime;
  2925. FILETIME atime;
  2926. DWORD grfMode;
  2927. DWORD grfLocksSupported;
  2928. CLSID clsid;
  2929. DWORD grfStateBits;
  2930. DWORD reserved;
  2931. } STATSTG;
  2932. typedef enum tagSTGTY {
  2933. STGTY_STORAGE = 1,
  2934. STGTY_STREAM = 2,
  2935. STGTY_LOCKBYTES = 3,
  2936. STGTY_PROPERTY = 4
  2937. } STGTY;
  2938. typedef enum tagSTREAM_SEEK {
  2939. STREAM_SEEK_SET = 0,
  2940. STREAM_SEEK_CUR = 1,
  2941. STREAM_SEEK_END = 2
  2942. } STREAM_SEEK;
  2943. typedef enum tagLOCKTYPE {
  2944. LOCK_WRITE = 1,
  2945. LOCK_EXCLUSIVE = 2,
  2946. LOCK_ONLYONCE = 4
  2947. } LOCKTYPE;
  2948. DEFINE_GUID(IID_IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  2949. #if defined(__cplusplus) && !defined(CINTERFACE)
  2950. MIDL_INTERFACE("0000000c-0000-0000-c000-000000000046")
  2951. IStream : public ISequentialStream
  2952. {
  2953. virtual HRESULT STDMETHODCALLTYPE Seek(
  2954. LARGE_INTEGER dlibMove,
  2955. DWORD dwOrigin,
  2956. ULARGE_INTEGER *plibNewPosition) = 0;
  2957.  
  2958. virtual HRESULT STDMETHODCALLTYPE SetSize(
  2959. ULARGE_INTEGER libNewSize) = 0;
  2960.  
  2961. virtual HRESULT STDMETHODCALLTYPE CopyTo(
  2962. IStream *pstm,
  2963. ULARGE_INTEGER cb,
  2964. ULARGE_INTEGER *pcbRead,
  2965. ULARGE_INTEGER *pcbWritten) = 0;
  2966.  
  2967. virtual HRESULT STDMETHODCALLTYPE Commit(
  2968. DWORD grfCommitFlags) = 0;
  2969.  
  2970. virtual HRESULT STDMETHODCALLTYPE Revert(
  2971. ) = 0;
  2972.  
  2973. virtual HRESULT STDMETHODCALLTYPE LockRegion(
  2974. ULARGE_INTEGER libOffset,
  2975. ULARGE_INTEGER cb,
  2976. DWORD dwLockType) = 0;
  2977.  
  2978. virtual HRESULT STDMETHODCALLTYPE UnlockRegion(
  2979. ULARGE_INTEGER libOffset,
  2980. ULARGE_INTEGER cb,
  2981. DWORD dwLockType) = 0;
  2982.  
  2983. virtual HRESULT STDMETHODCALLTYPE Stat(
  2984. STATSTG *pstatstg,
  2985. DWORD grfStatFlag) = 0;
  2986.  
  2987. virtual HRESULT STDMETHODCALLTYPE Clone(
  2988. IStream **ppstm) = 0;
  2989.  
  2990. };
  2991. #ifdef __CRT_UUID_DECL
  2992. __CRT_UUID_DECL(IStream, 0x0000000c, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  2993. #endif
  2994. #else
  2995. typedef struct IStreamVtbl {
  2996. BEGIN_INTERFACE
  2997.  
  2998. /*** IUnknown methods ***/
  2999. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3000. IStream* This,
  3001. REFIID riid,
  3002. void **ppvObject);
  3003.  
  3004. ULONG (STDMETHODCALLTYPE *AddRef)(
  3005. IStream* This);
  3006.  
  3007. ULONG (STDMETHODCALLTYPE *Release)(
  3008. IStream* This);
  3009.  
  3010. /*** ISequentialStream methods ***/
  3011. HRESULT (STDMETHODCALLTYPE *Read)(
  3012. IStream* This,
  3013. void *pv,
  3014. ULONG cb,
  3015. ULONG *pcbRead);
  3016.  
  3017. HRESULT (STDMETHODCALLTYPE *Write)(
  3018. IStream* This,
  3019. const void *pv,
  3020. ULONG cb,
  3021. ULONG *pcbWritten);
  3022.  
  3023. /*** IStream methods ***/
  3024. HRESULT (STDMETHODCALLTYPE *Seek)(
  3025. IStream* This,
  3026. LARGE_INTEGER dlibMove,
  3027. DWORD dwOrigin,
  3028. ULARGE_INTEGER *plibNewPosition);
  3029.  
  3030. HRESULT (STDMETHODCALLTYPE *SetSize)(
  3031. IStream* This,
  3032. ULARGE_INTEGER libNewSize);
  3033.  
  3034. HRESULT (STDMETHODCALLTYPE *CopyTo)(
  3035. IStream* This,
  3036. IStream *pstm,
  3037. ULARGE_INTEGER cb,
  3038. ULARGE_INTEGER *pcbRead,
  3039. ULARGE_INTEGER *pcbWritten);
  3040.  
  3041. HRESULT (STDMETHODCALLTYPE *Commit)(
  3042. IStream* This,
  3043. DWORD grfCommitFlags);
  3044.  
  3045. HRESULT (STDMETHODCALLTYPE *Revert)(
  3046. IStream* This);
  3047.  
  3048. HRESULT (STDMETHODCALLTYPE *LockRegion)(
  3049. IStream* This,
  3050. ULARGE_INTEGER libOffset,
  3051. ULARGE_INTEGER cb,
  3052. DWORD dwLockType);
  3053.  
  3054. HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
  3055. IStream* This,
  3056. ULARGE_INTEGER libOffset,
  3057. ULARGE_INTEGER cb,
  3058. DWORD dwLockType);
  3059.  
  3060. HRESULT (STDMETHODCALLTYPE *Stat)(
  3061. IStream* This,
  3062. STATSTG *pstatstg,
  3063. DWORD grfStatFlag);
  3064.  
  3065. HRESULT (STDMETHODCALLTYPE *Clone)(
  3066. IStream* This,
  3067. IStream **ppstm);
  3068.  
  3069. END_INTERFACE
  3070. } IStreamVtbl;
  3071. interface IStream {
  3072. CONST_VTBL IStreamVtbl* lpVtbl;
  3073. };
  3074.  
  3075. #ifdef COBJMACROS
  3076. #ifndef WIDL_C_INLINE_WRAPPERS
  3077. /*** IUnknown methods ***/
  3078. #define IStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3079. #define IStream_AddRef(This) (This)->lpVtbl->AddRef(This)
  3080. #define IStream_Release(This) (This)->lpVtbl->Release(This)
  3081. /*** ISequentialStream methods ***/
  3082. #define IStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
  3083. #define IStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
  3084. /*** IStream methods ***/
  3085. #define IStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
  3086. #define IStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
  3087. #define IStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
  3088. #define IStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
  3089. #define IStream_Revert(This) (This)->lpVtbl->Revert(This)
  3090. #define IStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
  3091. #define IStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
  3092. #define IStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
  3093. #define IStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
  3094. #else
  3095. /*** IUnknown methods ***/
  3096. static FORCEINLINE HRESULT IStream_QueryInterface(IStream* This,REFIID riid,void **ppvObject) {
  3097. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3098. }
  3099. static FORCEINLINE ULONG IStream_AddRef(IStream* This) {
  3100. return This->lpVtbl->AddRef(This);
  3101. }
  3102. static FORCEINLINE ULONG IStream_Release(IStream* This) {
  3103. return This->lpVtbl->Release(This);
  3104. }
  3105. /*** ISequentialStream methods ***/
  3106. static FORCEINLINE HRESULT IStream_Read(IStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
  3107. return This->lpVtbl->Read(This,pv,cb,pcbRead);
  3108. }
  3109. static FORCEINLINE HRESULT IStream_Write(IStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
  3110. return This->lpVtbl->Write(This,pv,cb,pcbWritten);
  3111. }
  3112. /*** IStream methods ***/
  3113. static FORCEINLINE HRESULT IStream_Seek(IStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
  3114. return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
  3115. }
  3116. static FORCEINLINE HRESULT IStream_SetSize(IStream* This,ULARGE_INTEGER libNewSize) {
  3117. return This->lpVtbl->SetSize(This,libNewSize);
  3118. }
  3119. static FORCEINLINE HRESULT IStream_CopyTo(IStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
  3120. return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
  3121. }
  3122. static FORCEINLINE HRESULT IStream_Commit(IStream* This,DWORD grfCommitFlags) {
  3123. return This->lpVtbl->Commit(This,grfCommitFlags);
  3124. }
  3125. static FORCEINLINE HRESULT IStream_Revert(IStream* This) {
  3126. return This->lpVtbl->Revert(This);
  3127. }
  3128. static FORCEINLINE HRESULT IStream_LockRegion(IStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  3129. return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
  3130. }
  3131. static FORCEINLINE HRESULT IStream_UnlockRegion(IStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
  3132. return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
  3133. }
  3134. static FORCEINLINE HRESULT IStream_Stat(IStream* This,STATSTG *pstatstg,DWORD grfStatFlag) {
  3135. return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
  3136. }
  3137. static FORCEINLINE HRESULT IStream_Clone(IStream* This,IStream **ppstm) {
  3138. return This->lpVtbl->Clone(This,ppstm);
  3139. }
  3140. #endif
  3141. #endif
  3142.  
  3143. #endif
  3144.  
  3145. HRESULT STDMETHODCALLTYPE IStream_RemoteSeek_Proxy(
  3146. IStream* This,
  3147. LARGE_INTEGER dlibMove,
  3148. DWORD dwOrigin,
  3149. ULARGE_INTEGER *plibNewPosition);
  3150. void __RPC_STUB IStream_RemoteSeek_Stub(
  3151. IRpcStubBuffer* This,
  3152. IRpcChannelBuffer* pRpcChannelBuffer,
  3153. PRPC_MESSAGE pRpcMessage,
  3154. DWORD* pdwStubPhase);
  3155. HRESULT STDMETHODCALLTYPE IStream_SetSize_Proxy(
  3156. IStream* This,
  3157. ULARGE_INTEGER libNewSize);
  3158. void __RPC_STUB IStream_SetSize_Stub(
  3159. IRpcStubBuffer* This,
  3160. IRpcChannelBuffer* pRpcChannelBuffer,
  3161. PRPC_MESSAGE pRpcMessage,
  3162. DWORD* pdwStubPhase);
  3163. HRESULT STDMETHODCALLTYPE IStream_RemoteCopyTo_Proxy(
  3164. IStream* This,
  3165. IStream *pstm,
  3166. ULARGE_INTEGER cb,
  3167. ULARGE_INTEGER *pcbRead,
  3168. ULARGE_INTEGER *pcbWritten);
  3169. void __RPC_STUB IStream_RemoteCopyTo_Stub(
  3170. IRpcStubBuffer* This,
  3171. IRpcChannelBuffer* pRpcChannelBuffer,
  3172. PRPC_MESSAGE pRpcMessage,
  3173. DWORD* pdwStubPhase);
  3174. HRESULT STDMETHODCALLTYPE IStream_Commit_Proxy(
  3175. IStream* This,
  3176. DWORD grfCommitFlags);
  3177. void __RPC_STUB IStream_Commit_Stub(
  3178. IRpcStubBuffer* This,
  3179. IRpcChannelBuffer* pRpcChannelBuffer,
  3180. PRPC_MESSAGE pRpcMessage,
  3181. DWORD* pdwStubPhase);
  3182. HRESULT STDMETHODCALLTYPE IStream_Revert_Proxy(
  3183. IStream* This);
  3184. void __RPC_STUB IStream_Revert_Stub(
  3185. IRpcStubBuffer* This,
  3186. IRpcChannelBuffer* pRpcChannelBuffer,
  3187. PRPC_MESSAGE pRpcMessage,
  3188. DWORD* pdwStubPhase);
  3189. HRESULT STDMETHODCALLTYPE IStream_LockRegion_Proxy(
  3190. IStream* This,
  3191. ULARGE_INTEGER libOffset,
  3192. ULARGE_INTEGER cb,
  3193. DWORD dwLockType);
  3194. void __RPC_STUB IStream_LockRegion_Stub(
  3195. IRpcStubBuffer* This,
  3196. IRpcChannelBuffer* pRpcChannelBuffer,
  3197. PRPC_MESSAGE pRpcMessage,
  3198. DWORD* pdwStubPhase);
  3199. HRESULT STDMETHODCALLTYPE IStream_UnlockRegion_Proxy(
  3200. IStream* This,
  3201. ULARGE_INTEGER libOffset,
  3202. ULARGE_INTEGER cb,
  3203. DWORD dwLockType);
  3204. void __RPC_STUB IStream_UnlockRegion_Stub(
  3205. IRpcStubBuffer* This,
  3206. IRpcChannelBuffer* pRpcChannelBuffer,
  3207. PRPC_MESSAGE pRpcMessage,
  3208. DWORD* pdwStubPhase);
  3209. HRESULT STDMETHODCALLTYPE IStream_Stat_Proxy(
  3210. IStream* This,
  3211. STATSTG *pstatstg,
  3212. DWORD grfStatFlag);
  3213. void __RPC_STUB IStream_Stat_Stub(
  3214. IRpcStubBuffer* This,
  3215. IRpcChannelBuffer* pRpcChannelBuffer,
  3216. PRPC_MESSAGE pRpcMessage,
  3217. DWORD* pdwStubPhase);
  3218. HRESULT STDMETHODCALLTYPE IStream_Clone_Proxy(
  3219. IStream* This,
  3220. IStream **ppstm);
  3221. void __RPC_STUB IStream_Clone_Stub(
  3222. IRpcStubBuffer* This,
  3223. IRpcChannelBuffer* pRpcChannelBuffer,
  3224. PRPC_MESSAGE pRpcMessage,
  3225. DWORD* pdwStubPhase);
  3226. HRESULT CALLBACK IStream_Seek_Proxy(
  3227. IStream* This,
  3228. LARGE_INTEGER dlibMove,
  3229. DWORD dwOrigin,
  3230. ULARGE_INTEGER *plibNewPosition);
  3231. HRESULT __RPC_STUB IStream_Seek_Stub(
  3232. IStream* This,
  3233. LARGE_INTEGER dlibMove,
  3234. DWORD dwOrigin,
  3235. ULARGE_INTEGER *plibNewPosition);
  3236. HRESULT CALLBACK IStream_CopyTo_Proxy(
  3237. IStream* This,
  3238. IStream *pstm,
  3239. ULARGE_INTEGER cb,
  3240. ULARGE_INTEGER *pcbRead,
  3241. ULARGE_INTEGER *pcbWritten);
  3242. HRESULT __RPC_STUB IStream_CopyTo_Stub(
  3243. IStream* This,
  3244. IStream *pstm,
  3245. ULARGE_INTEGER cb,
  3246. ULARGE_INTEGER *pcbRead,
  3247. ULARGE_INTEGER *pcbWritten);
  3248.  
  3249. #endif /* __IStream_INTERFACE_DEFINED__ */
  3250.  
  3251. /*****************************************************************************
  3252. * IEnumSTATSTG interface
  3253. */
  3254. #ifndef __IEnumSTATSTG_INTERFACE_DEFINED__
  3255. #define __IEnumSTATSTG_INTERFACE_DEFINED__
  3256.  
  3257. typedef IEnumSTATSTG *LPENUMSTATSTG;
  3258. DEFINE_GUID(IID_IEnumSTATSTG, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  3259. #if defined(__cplusplus) && !defined(CINTERFACE)
  3260. MIDL_INTERFACE("0000000d-0000-0000-c000-000000000046")
  3261. IEnumSTATSTG : public IUnknown
  3262. {
  3263. virtual HRESULT STDMETHODCALLTYPE Next(
  3264. ULONG celt,
  3265. STATSTG *rgelt,
  3266. ULONG *pceltFetched) = 0;
  3267.  
  3268. virtual HRESULT STDMETHODCALLTYPE Skip(
  3269. ULONG celt) = 0;
  3270.  
  3271. virtual HRESULT STDMETHODCALLTYPE Reset(
  3272. ) = 0;
  3273.  
  3274. virtual HRESULT STDMETHODCALLTYPE Clone(
  3275. IEnumSTATSTG **ppenum) = 0;
  3276.  
  3277. };
  3278. #ifdef __CRT_UUID_DECL
  3279. __CRT_UUID_DECL(IEnumSTATSTG, 0x0000000d, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  3280. #endif
  3281. #else
  3282. typedef struct IEnumSTATSTGVtbl {
  3283. BEGIN_INTERFACE
  3284.  
  3285. /*** IUnknown methods ***/
  3286. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3287. IEnumSTATSTG* This,
  3288. REFIID riid,
  3289. void **ppvObject);
  3290.  
  3291. ULONG (STDMETHODCALLTYPE *AddRef)(
  3292. IEnumSTATSTG* This);
  3293.  
  3294. ULONG (STDMETHODCALLTYPE *Release)(
  3295. IEnumSTATSTG* This);
  3296.  
  3297. /*** IEnumSTATSTG methods ***/
  3298. HRESULT (STDMETHODCALLTYPE *Next)(
  3299. IEnumSTATSTG* This,
  3300. ULONG celt,
  3301. STATSTG *rgelt,
  3302. ULONG *pceltFetched);
  3303.  
  3304. HRESULT (STDMETHODCALLTYPE *Skip)(
  3305. IEnumSTATSTG* This,
  3306. ULONG celt);
  3307.  
  3308. HRESULT (STDMETHODCALLTYPE *Reset)(
  3309. IEnumSTATSTG* This);
  3310.  
  3311. HRESULT (STDMETHODCALLTYPE *Clone)(
  3312. IEnumSTATSTG* This,
  3313. IEnumSTATSTG **ppenum);
  3314.  
  3315. END_INTERFACE
  3316. } IEnumSTATSTGVtbl;
  3317. interface IEnumSTATSTG {
  3318. CONST_VTBL IEnumSTATSTGVtbl* lpVtbl;
  3319. };
  3320.  
  3321. #ifdef COBJMACROS
  3322. #ifndef WIDL_C_INLINE_WRAPPERS
  3323. /*** IUnknown methods ***/
  3324. #define IEnumSTATSTG_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3325. #define IEnumSTATSTG_AddRef(This) (This)->lpVtbl->AddRef(This)
  3326. #define IEnumSTATSTG_Release(This) (This)->lpVtbl->Release(This)
  3327. /*** IEnumSTATSTG methods ***/
  3328. #define IEnumSTATSTG_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
  3329. #define IEnumSTATSTG_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  3330. #define IEnumSTATSTG_Reset(This) (This)->lpVtbl->Reset(This)
  3331. #define IEnumSTATSTG_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
  3332. #else
  3333. /*** IUnknown methods ***/
  3334. static FORCEINLINE HRESULT IEnumSTATSTG_QueryInterface(IEnumSTATSTG* This,REFIID riid,void **ppvObject) {
  3335. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3336. }
  3337. static FORCEINLINE ULONG IEnumSTATSTG_AddRef(IEnumSTATSTG* This) {
  3338. return This->lpVtbl->AddRef(This);
  3339. }
  3340. static FORCEINLINE ULONG IEnumSTATSTG_Release(IEnumSTATSTG* This) {
  3341. return This->lpVtbl->Release(This);
  3342. }
  3343. /*** IEnumSTATSTG methods ***/
  3344. static FORCEINLINE HRESULT IEnumSTATSTG_Next(IEnumSTATSTG* This,ULONG celt,STATSTG *rgelt,ULONG *pceltFetched) {
  3345. return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
  3346. }
  3347. static FORCEINLINE HRESULT IEnumSTATSTG_Skip(IEnumSTATSTG* This,ULONG celt) {
  3348. return This->lpVtbl->Skip(This,celt);
  3349. }
  3350. static FORCEINLINE HRESULT IEnumSTATSTG_Reset(IEnumSTATSTG* This) {
  3351. return This->lpVtbl->Reset(This);
  3352. }
  3353. static FORCEINLINE HRESULT IEnumSTATSTG_Clone(IEnumSTATSTG* This,IEnumSTATSTG **ppenum) {
  3354. return This->lpVtbl->Clone(This,ppenum);
  3355. }
  3356. #endif
  3357. #endif
  3358.  
  3359. #endif
  3360.  
  3361. HRESULT STDMETHODCALLTYPE IEnumSTATSTG_RemoteNext_Proxy(
  3362. IEnumSTATSTG* This,
  3363. ULONG celt,
  3364. STATSTG *rgelt,
  3365. ULONG *pceltFetched);
  3366. void __RPC_STUB IEnumSTATSTG_RemoteNext_Stub(
  3367. IRpcStubBuffer* This,
  3368. IRpcChannelBuffer* pRpcChannelBuffer,
  3369. PRPC_MESSAGE pRpcMessage,
  3370. DWORD* pdwStubPhase);
  3371. HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Skip_Proxy(
  3372. IEnumSTATSTG* This,
  3373. ULONG celt);
  3374. void __RPC_STUB IEnumSTATSTG_Skip_Stub(
  3375. IRpcStubBuffer* This,
  3376. IRpcChannelBuffer* pRpcChannelBuffer,
  3377. PRPC_MESSAGE pRpcMessage,
  3378. DWORD* pdwStubPhase);
  3379. HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Reset_Proxy(
  3380. IEnumSTATSTG* This);
  3381. void __RPC_STUB IEnumSTATSTG_Reset_Stub(
  3382. IRpcStubBuffer* This,
  3383. IRpcChannelBuffer* pRpcChannelBuffer,
  3384. PRPC_MESSAGE pRpcMessage,
  3385. DWORD* pdwStubPhase);
  3386. HRESULT STDMETHODCALLTYPE IEnumSTATSTG_Clone_Proxy(
  3387. IEnumSTATSTG* This,
  3388. IEnumSTATSTG **ppenum);
  3389. void __RPC_STUB IEnumSTATSTG_Clone_Stub(
  3390. IRpcStubBuffer* This,
  3391. IRpcChannelBuffer* pRpcChannelBuffer,
  3392. PRPC_MESSAGE pRpcMessage,
  3393. DWORD* pdwStubPhase);
  3394. HRESULT CALLBACK IEnumSTATSTG_Next_Proxy(
  3395. IEnumSTATSTG* This,
  3396. ULONG celt,
  3397. STATSTG *rgelt,
  3398. ULONG *pceltFetched);
  3399. HRESULT __RPC_STUB IEnumSTATSTG_Next_Stub(
  3400. IEnumSTATSTG* This,
  3401. ULONG celt,
  3402. STATSTG *rgelt,
  3403. ULONG *pceltFetched);
  3404.  
  3405. #endif /* __IEnumSTATSTG_INTERFACE_DEFINED__ */
  3406.  
  3407. /*****************************************************************************
  3408. * IStorage interface
  3409. */
  3410. #ifndef __IStorage_INTERFACE_DEFINED__
  3411. #define __IStorage_INTERFACE_DEFINED__
  3412.  
  3413. typedef IStorage *LPSTORAGE;
  3414. typedef struct tagRemSNB {
  3415. ULONG ulCntStr;
  3416. ULONG ulCntChar;
  3417. OLECHAR rgString[1];
  3418. } RemSNB;
  3419. typedef RemSNB *wireSNB;
  3420. typedef OLECHAR **SNB;
  3421. DEFINE_GUID(IID_IStorage, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  3422. #if defined(__cplusplus) && !defined(CINTERFACE)
  3423. MIDL_INTERFACE("0000000b-0000-0000-c000-000000000046")
  3424. IStorage : public IUnknown
  3425. {
  3426. virtual HRESULT STDMETHODCALLTYPE CreateStream(
  3427. LPCOLESTR pwcsName,
  3428. DWORD grfMode,
  3429. DWORD reserved1,
  3430. DWORD reserved2,
  3431. IStream **ppstm) = 0;
  3432.  
  3433. virtual HRESULT STDMETHODCALLTYPE OpenStream(
  3434. LPCOLESTR pwcsName,
  3435. void *reserved1,
  3436. DWORD grfMode,
  3437. DWORD reserved2,
  3438. IStream **ppstm) = 0;
  3439.  
  3440. virtual HRESULT STDMETHODCALLTYPE CreateStorage(
  3441. LPCOLESTR pwcsName,
  3442. DWORD grfMode,
  3443. DWORD dwStgFmt,
  3444. DWORD reserved2,
  3445. IStorage **ppstg) = 0;
  3446.  
  3447. virtual HRESULT STDMETHODCALLTYPE OpenStorage(
  3448. LPCOLESTR pwcsName,
  3449. IStorage *pstgPriority,
  3450. DWORD grfMode,
  3451. SNB snbExclude,
  3452. DWORD reserved,
  3453. IStorage **ppstg) = 0;
  3454.  
  3455. virtual HRESULT STDMETHODCALLTYPE CopyTo(
  3456. DWORD ciidExclude,
  3457. const IID *rgiidExclude,
  3458. SNB snbExclude,
  3459. IStorage *pstgDest) = 0;
  3460.  
  3461. virtual HRESULT STDMETHODCALLTYPE MoveElementTo(
  3462. LPCOLESTR pwcsName,
  3463. IStorage *pstgDest,
  3464. LPCOLESTR pwcsNewName,
  3465. DWORD grfFlags) = 0;
  3466.  
  3467. virtual HRESULT STDMETHODCALLTYPE Commit(
  3468. DWORD grfCommitFlags) = 0;
  3469.  
  3470. virtual HRESULT STDMETHODCALLTYPE Revert(
  3471. ) = 0;
  3472.  
  3473. virtual HRESULT STDMETHODCALLTYPE EnumElements(
  3474. DWORD reserved1,
  3475. void *reserved2,
  3476. DWORD reserved3,
  3477. IEnumSTATSTG **ppenum) = 0;
  3478.  
  3479. virtual HRESULT STDMETHODCALLTYPE DestroyElement(
  3480. LPCOLESTR pwcsName) = 0;
  3481.  
  3482. virtual HRESULT STDMETHODCALLTYPE RenameElement(
  3483. LPCOLESTR pwcsOldName,
  3484. LPCOLESTR pwcsNewName) = 0;
  3485.  
  3486. virtual HRESULT STDMETHODCALLTYPE SetElementTimes(
  3487. LPCOLESTR pwcsName,
  3488. const FILETIME *pctime,
  3489. const FILETIME *patime,
  3490. const FILETIME *pmtime) = 0;
  3491.  
  3492. virtual HRESULT STDMETHODCALLTYPE SetClass(
  3493. REFCLSID clsid) = 0;
  3494.  
  3495. virtual HRESULT STDMETHODCALLTYPE SetStateBits(
  3496. DWORD grfStateBits,
  3497. DWORD grfMask) = 0;
  3498.  
  3499. virtual HRESULT STDMETHODCALLTYPE Stat(
  3500. STATSTG *pstatstg,
  3501. DWORD grfStatFlag) = 0;
  3502.  
  3503. };
  3504. #ifdef __CRT_UUID_DECL
  3505. __CRT_UUID_DECL(IStorage, 0x0000000b, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  3506. #endif
  3507. #else
  3508. typedef struct IStorageVtbl {
  3509. BEGIN_INTERFACE
  3510.  
  3511. /*** IUnknown methods ***/
  3512. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  3513. IStorage* This,
  3514. REFIID riid,
  3515. void **ppvObject);
  3516.  
  3517. ULONG (STDMETHODCALLTYPE *AddRef)(
  3518. IStorage* This);
  3519.  
  3520. ULONG (STDMETHODCALLTYPE *Release)(
  3521. IStorage* This);
  3522.  
  3523. /*** IStorage methods ***/
  3524. HRESULT (STDMETHODCALLTYPE *CreateStream)(
  3525. IStorage* This,
  3526. LPCOLESTR pwcsName,
  3527. DWORD grfMode,
  3528. DWORD reserved1,
  3529. DWORD reserved2,
  3530. IStream **ppstm);
  3531.  
  3532. HRESULT (STDMETHODCALLTYPE *OpenStream)(
  3533. IStorage* This,
  3534. LPCOLESTR pwcsName,
  3535. void *reserved1,
  3536. DWORD grfMode,
  3537. DWORD reserved2,
  3538. IStream **ppstm);
  3539.  
  3540. HRESULT (STDMETHODCALLTYPE *CreateStorage)(
  3541. IStorage* This,
  3542. LPCOLESTR pwcsName,
  3543. DWORD grfMode,
  3544. DWORD dwStgFmt,
  3545. DWORD reserved2,
  3546. IStorage **ppstg);
  3547.  
  3548. HRESULT (STDMETHODCALLTYPE *OpenStorage)(
  3549. IStorage* This,
  3550. LPCOLESTR pwcsName,
  3551. IStorage *pstgPriority,
  3552. DWORD grfMode,
  3553. SNB snbExclude,
  3554. DWORD reserved,
  3555. IStorage **ppstg);
  3556.  
  3557. HRESULT (STDMETHODCALLTYPE *CopyTo)(
  3558. IStorage* This,
  3559. DWORD ciidExclude,
  3560. const IID *rgiidExclude,
  3561. SNB snbExclude,
  3562. IStorage *pstgDest);
  3563.  
  3564. HRESULT (STDMETHODCALLTYPE *MoveElementTo)(
  3565. IStorage* This,
  3566. LPCOLESTR pwcsName,
  3567. IStorage *pstgDest,
  3568. LPCOLESTR pwcsNewName,
  3569. DWORD grfFlags);
  3570.  
  3571. HRESULT (STDMETHODCALLTYPE *Commit)(
  3572. IStorage* This,
  3573. DWORD grfCommitFlags);
  3574.  
  3575. HRESULT (STDMETHODCALLTYPE *Revert)(
  3576. IStorage* This);
  3577.  
  3578. HRESULT (STDMETHODCALLTYPE *EnumElements)(
  3579. IStorage* This,
  3580. DWORD reserved1,
  3581. void *reserved2,
  3582. DWORD reserved3,
  3583. IEnumSTATSTG **ppenum);
  3584.  
  3585. HRESULT (STDMETHODCALLTYPE *DestroyElement)(
  3586. IStorage* This,
  3587. LPCOLESTR pwcsName);
  3588.  
  3589. HRESULT (STDMETHODCALLTYPE *RenameElement)(
  3590. IStorage* This,
  3591. LPCOLESTR pwcsOldName,
  3592. LPCOLESTR pwcsNewName);
  3593.  
  3594. HRESULT (STDMETHODCALLTYPE *SetElementTimes)(
  3595. IStorage* This,
  3596. LPCOLESTR pwcsName,
  3597. const FILETIME *pctime,
  3598. const FILETIME *patime,
  3599. const FILETIME *pmtime);
  3600.  
  3601. HRESULT (STDMETHODCALLTYPE *SetClass)(
  3602. IStorage* This,
  3603. REFCLSID clsid);
  3604.  
  3605. HRESULT (STDMETHODCALLTYPE *SetStateBits)(
  3606. IStorage* This,
  3607. DWORD grfStateBits,
  3608. DWORD grfMask);
  3609.  
  3610. HRESULT (STDMETHODCALLTYPE *Stat)(
  3611. IStorage* This,
  3612. STATSTG *pstatstg,
  3613. DWORD grfStatFlag);
  3614.  
  3615. END_INTERFACE
  3616. } IStorageVtbl;
  3617. interface IStorage {
  3618. CONST_VTBL IStorageVtbl* lpVtbl;
  3619. };
  3620.  
  3621. #ifdef COBJMACROS
  3622. #ifndef WIDL_C_INLINE_WRAPPERS
  3623. /*** IUnknown methods ***/
  3624. #define IStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3625. #define IStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
  3626. #define IStorage_Release(This) (This)->lpVtbl->Release(This)
  3627. /*** IStorage methods ***/
  3628. #define IStorage_CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm) (This)->lpVtbl->CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm)
  3629. #define IStorage_OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm) (This)->lpVtbl->OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm)
  3630. #define IStorage_CreateStorage(This,pwcsName,grfMode,dwStgFmt,reserved2,ppstg) (This)->lpVtbl->CreateStorage(This,pwcsName,grfMode,dwStgFmt,reserved2,ppstg)
  3631. #define IStorage_OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg) (This)->lpVtbl->OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg)
  3632. #define IStorage_CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest) (This)->lpVtbl->CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest)
  3633. #define IStorage_MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags) (This)->lpVtbl->MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags)
  3634. #define IStorage_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
  3635. #define IStorage_Revert(This) (This)->lpVtbl->Revert(This)
  3636. #define IStorage_EnumElements(This,reserved1,reserved2,reserved3,ppenum) (This)->lpVtbl->EnumElements(This,reserved1,reserved2,reserved3,ppenum)
  3637. #define IStorage_DestroyElement(This,pwcsName) (This)->lpVtbl->DestroyElement(This,pwcsName)
  3638. #define IStorage_RenameElement(This,pwcsOldName,pwcsNewName) (This)->lpVtbl->RenameElement(This,pwcsOldName,pwcsNewName)
  3639. #define IStorage_SetElementTimes(This,pwcsName,pctime,patime,pmtime) (This)->lpVtbl->SetElementTimes(This,pwcsName,pctime,patime,pmtime)
  3640. #define IStorage_SetClass(This,clsid) (This)->lpVtbl->SetClass(This,clsid)
  3641. #define IStorage_SetStateBits(This,grfStateBits,grfMask) (This)->lpVtbl->SetStateBits(This,grfStateBits,grfMask)
  3642. #define IStorage_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
  3643. #else
  3644. /*** IUnknown methods ***/
  3645. static FORCEINLINE HRESULT IStorage_QueryInterface(IStorage* This,REFIID riid,void **ppvObject) {
  3646. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  3647. }
  3648. static FORCEINLINE ULONG IStorage_AddRef(IStorage* This) {
  3649. return This->lpVtbl->AddRef(This);
  3650. }
  3651. static FORCEINLINE ULONG IStorage_Release(IStorage* This) {
  3652. return This->lpVtbl->Release(This);
  3653. }
  3654. /*** IStorage methods ***/
  3655. static FORCEINLINE HRESULT IStorage_CreateStream(IStorage* This,LPCOLESTR pwcsName,DWORD grfMode,DWORD reserved1,DWORD reserved2,IStream **ppstm) {
  3656. return This->lpVtbl->CreateStream(This,pwcsName,grfMode,reserved1,reserved2,ppstm);
  3657. }
  3658. static FORCEINLINE HRESULT IStorage_OpenStream(IStorage* This,LPCOLESTR pwcsName,void *reserved1,DWORD grfMode,DWORD reserved2,IStream **ppstm) {
  3659. return This->lpVtbl->OpenStream(This,pwcsName,reserved1,grfMode,reserved2,ppstm);
  3660. }
  3661. static FORCEINLINE HRESULT IStorage_CreateStorage(IStorage* This,LPCOLESTR pwcsName,DWORD grfMode,DWORD dwStgFmt,DWORD reserved2,IStorage **ppstg) {
  3662. return This->lpVtbl->CreateStorage(This,pwcsName,grfMode,dwStgFmt,reserved2,ppstg);
  3663. }
  3664. static FORCEINLINE HRESULT IStorage_OpenStorage(IStorage* This,LPCOLESTR pwcsName,IStorage *pstgPriority,DWORD grfMode,SNB snbExclude,DWORD reserved,IStorage **ppstg) {
  3665. return This->lpVtbl->OpenStorage(This,pwcsName,pstgPriority,grfMode,snbExclude,reserved,ppstg);
  3666. }
  3667. static FORCEINLINE HRESULT IStorage_CopyTo(IStorage* This,DWORD ciidExclude,const IID *rgiidExclude,SNB snbExclude,IStorage *pstgDest) {
  3668. return This->lpVtbl->CopyTo(This,ciidExclude,rgiidExclude,snbExclude,pstgDest);
  3669. }
  3670. static FORCEINLINE HRESULT IStorage_MoveElementTo(IStorage* This,LPCOLESTR pwcsName,IStorage *pstgDest,LPCOLESTR pwcsNewName,DWORD grfFlags) {
  3671. return This->lpVtbl->MoveElementTo(This,pwcsName,pstgDest,pwcsNewName,grfFlags);
  3672. }
  3673. static FORCEINLINE HRESULT IStorage_Commit(IStorage* This,DWORD grfCommitFlags) {
  3674. return This->lpVtbl->Commit(This,grfCommitFlags);
  3675. }
  3676. static FORCEINLINE HRESULT IStorage_Revert(IStorage* This) {
  3677. return This->lpVtbl->Revert(This);
  3678. }
  3679. static FORCEINLINE HRESULT IStorage_EnumElements(IStorage* This,DWORD reserved1,void *reserved2,DWORD reserved3,IEnumSTATSTG **ppenum) {
  3680. return This->lpVtbl->EnumElements(This,reserved1,reserved2,reserved3,ppenum);
  3681. }
  3682. static FORCEINLINE HRESULT IStorage_DestroyElement(IStorage* This,LPCOLESTR pwcsName) {
  3683. return This->lpVtbl->DestroyElement(This,pwcsName);
  3684. }
  3685. static FORCEINLINE HRESULT IStorage_RenameElement(IStorage* This,LPCOLESTR pwcsOldName,LPCOLESTR pwcsNewName) {
  3686. return This->lpVtbl->RenameElement(This,pwcsOldName,pwcsNewName);
  3687. }
  3688. static FORCEINLINE HRESULT IStorage_SetElementTimes(IStorage* This,LPCOLESTR pwcsName,const FILETIME *pctime,const FILETIME *patime,const FILETIME *pmtime) {
  3689. return This->lpVtbl->SetElementTimes(This,pwcsName,pctime,patime,pmtime);
  3690. }
  3691. static FORCEINLINE HRESULT IStorage_SetClass(IStorage* This,REFCLSID clsid) {
  3692. return This->lpVtbl->SetClass(This,clsid);
  3693. }
  3694. static FORCEINLINE HRESULT IStorage_SetStateBits(IStorage* This,DWORD grfStateBits,DWORD grfMask) {
  3695. return This->lpVtbl->SetStateBits(This,grfStateBits,grfMask);
  3696. }
  3697. static FORCEINLINE HRESULT IStorage_Stat(IStorage* This,STATSTG *pstatstg,DWORD grfStatFlag) {
  3698. return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
  3699. }
  3700. #endif
  3701. #endif
  3702.  
  3703. #endif
  3704.  
  3705. HRESULT STDMETHODCALLTYPE IStorage_CreateStream_Proxy(
  3706. IStorage* This,
  3707. LPCOLESTR pwcsName,
  3708. DWORD grfMode,
  3709. DWORD reserved1,
  3710. DWORD reserved2,
  3711. IStream **ppstm);
  3712. void __RPC_STUB IStorage_CreateStream_Stub(
  3713. IRpcStubBuffer* This,
  3714. IRpcChannelBuffer* pRpcChannelBuffer,
  3715. PRPC_MESSAGE pRpcMessage,
  3716. DWORD* pdwStubPhase);
  3717. HRESULT STDMETHODCALLTYPE IStorage_RemoteOpenStream_Proxy(
  3718. IStorage* This,
  3719. LPCOLESTR pwcsName,
  3720. ULONG cbReserved1,
  3721. byte *reserved1,
  3722. DWORD grfMode,
  3723. DWORD reserved2,
  3724. IStream **ppstm);
  3725. void __RPC_STUB IStorage_RemoteOpenStream_Stub(
  3726. IRpcStubBuffer* This,
  3727. IRpcChannelBuffer* pRpcChannelBuffer,
  3728. PRPC_MESSAGE pRpcMessage,
  3729. DWORD* pdwStubPhase);
  3730. HRESULT STDMETHODCALLTYPE IStorage_CreateStorage_Proxy(
  3731. IStorage* This,
  3732. LPCOLESTR pwcsName,
  3733. DWORD grfMode,
  3734. DWORD dwStgFmt,
  3735. DWORD reserved2,
  3736. IStorage **ppstg);
  3737. void __RPC_STUB IStorage_CreateStorage_Stub(
  3738. IRpcStubBuffer* This,
  3739. IRpcChannelBuffer* pRpcChannelBuffer,
  3740. PRPC_MESSAGE pRpcMessage,
  3741. DWORD* pdwStubPhase);
  3742. HRESULT STDMETHODCALLTYPE IStorage_OpenStorage_Proxy(
  3743. IStorage* This,
  3744. LPCOLESTR pwcsName,
  3745. IStorage *pstgPriority,
  3746. DWORD grfMode,
  3747. SNB snbExclude,
  3748. DWORD reserved,
  3749. IStorage **ppstg);
  3750. void __RPC_STUB IStorage_OpenStorage_Stub(
  3751. IRpcStubBuffer* This,
  3752. IRpcChannelBuffer* pRpcChannelBuffer,
  3753. PRPC_MESSAGE pRpcMessage,
  3754. DWORD* pdwStubPhase);
  3755. HRESULT STDMETHODCALLTYPE IStorage_CopyTo_Proxy(
  3756. IStorage* This,
  3757. DWORD ciidExclude,
  3758. const IID *rgiidExclude,
  3759. SNB snbExclude,
  3760. IStorage *pstgDest);
  3761. void __RPC_STUB IStorage_CopyTo_Stub(
  3762. IRpcStubBuffer* This,
  3763. IRpcChannelBuffer* pRpcChannelBuffer,
  3764. PRPC_MESSAGE pRpcMessage,
  3765. DWORD* pdwStubPhase);
  3766. HRESULT STDMETHODCALLTYPE IStorage_MoveElementTo_Proxy(
  3767. IStorage* This,
  3768. LPCOLESTR pwcsName,
  3769. IStorage *pstgDest,
  3770. LPCOLESTR pwcsNewName,
  3771. DWORD grfFlags);
  3772. void __RPC_STUB IStorage_MoveElementTo_Stub(
  3773. IRpcStubBuffer* This,
  3774. IRpcChannelBuffer* pRpcChannelBuffer,
  3775. PRPC_MESSAGE pRpcMessage,
  3776. DWORD* pdwStubPhase);
  3777. HRESULT STDMETHODCALLTYPE IStorage_Commit_Proxy(
  3778. IStorage* This,
  3779. DWORD grfCommitFlags);
  3780. void __RPC_STUB IStorage_Commit_Stub(
  3781. IRpcStubBuffer* This,
  3782. IRpcChannelBuffer* pRpcChannelBuffer,
  3783. PRPC_MESSAGE pRpcMessage,
  3784. DWORD* pdwStubPhase);
  3785. HRESULT STDMETHODCALLTYPE IStorage_Revert_Proxy(
  3786. IStorage* This);
  3787. void __RPC_STUB IStorage_Revert_Stub(
  3788. IRpcStubBuffer* This,
  3789. IRpcChannelBuffer* pRpcChannelBuffer,
  3790. PRPC_MESSAGE pRpcMessage,
  3791. DWORD* pdwStubPhase);
  3792. HRESULT STDMETHODCALLTYPE IStorage_RemoteEnumElements_Proxy(
  3793. IStorage* This,
  3794. DWORD reserved1,
  3795. ULONG cbReserved2,
  3796. byte *reserved2,
  3797. DWORD reserved3,
  3798. IEnumSTATSTG **ppenum);
  3799. void __RPC_STUB IStorage_RemoteEnumElements_Stub(
  3800. IRpcStubBuffer* This,
  3801. IRpcChannelBuffer* pRpcChannelBuffer,
  3802. PRPC_MESSAGE pRpcMessage,
  3803. DWORD* pdwStubPhase);
  3804. HRESULT STDMETHODCALLTYPE IStorage_DestroyElement_Proxy(
  3805. IStorage* This,
  3806. LPCOLESTR pwcsName);
  3807. void __RPC_STUB IStorage_DestroyElement_Stub(
  3808. IRpcStubBuffer* This,
  3809. IRpcChannelBuffer* pRpcChannelBuffer,
  3810. PRPC_MESSAGE pRpcMessage,
  3811. DWORD* pdwStubPhase);
  3812. HRESULT STDMETHODCALLTYPE IStorage_RenameElement_Proxy(
  3813. IStorage* This,
  3814. LPCOLESTR pwcsOldName,
  3815. LPCOLESTR pwcsNewName);
  3816. void __RPC_STUB IStorage_RenameElement_Stub(
  3817. IRpcStubBuffer* This,
  3818. IRpcChannelBuffer* pRpcChannelBuffer,
  3819. PRPC_MESSAGE pRpcMessage,
  3820. DWORD* pdwStubPhase);
  3821. HRESULT STDMETHODCALLTYPE IStorage_SetElementTimes_Proxy(
  3822. IStorage* This,
  3823. LPCOLESTR pwcsName,
  3824. const FILETIME *pctime,
  3825. const FILETIME *patime,
  3826. const FILETIME *pmtime);
  3827. void __RPC_STUB IStorage_SetElementTimes_Stub(
  3828. IRpcStubBuffer* This,
  3829. IRpcChannelBuffer* pRpcChannelBuffer,
  3830. PRPC_MESSAGE pRpcMessage,
  3831. DWORD* pdwStubPhase);
  3832. HRESULT STDMETHODCALLTYPE IStorage_SetClass_Proxy(
  3833. IStorage* This,
  3834. REFCLSID clsid);
  3835. void __RPC_STUB IStorage_SetClass_Stub(
  3836. IRpcStubBuffer* This,
  3837. IRpcChannelBuffer* pRpcChannelBuffer,
  3838. PRPC_MESSAGE pRpcMessage,
  3839. DWORD* pdwStubPhase);
  3840. HRESULT STDMETHODCALLTYPE IStorage_SetStateBits_Proxy(
  3841. IStorage* This,
  3842. DWORD grfStateBits,
  3843. DWORD grfMask);
  3844. void __RPC_STUB IStorage_SetStateBits_Stub(
  3845. IRpcStubBuffer* This,
  3846. IRpcChannelBuffer* pRpcChannelBuffer,
  3847. PRPC_MESSAGE pRpcMessage,
  3848. DWORD* pdwStubPhase);
  3849. HRESULT STDMETHODCALLTYPE IStorage_Stat_Proxy(
  3850. IStorage* This,
  3851. STATSTG *pstatstg,
  3852. DWORD grfStatFlag);
  3853. void __RPC_STUB IStorage_Stat_Stub(
  3854. IRpcStubBuffer* This,
  3855. IRpcChannelBuffer* pRpcChannelBuffer,
  3856. PRPC_MESSAGE pRpcMessage,
  3857. DWORD* pdwStubPhase);
  3858. HRESULT CALLBACK IStorage_OpenStream_Proxy(
  3859. IStorage* This,
  3860. LPCOLESTR pwcsName,
  3861. void *reserved1,
  3862. DWORD grfMode,
  3863. DWORD reserved2,
  3864. IStream **ppstm);
  3865. HRESULT __RPC_STUB IStorage_OpenStream_Stub(
  3866. IStorage* This,
  3867. LPCOLESTR pwcsName,
  3868. ULONG cbReserved1,
  3869. byte *reserved1,
  3870. DWORD grfMode,
  3871. DWORD reserved2,
  3872. IStream **ppstm);
  3873. HRESULT CALLBACK IStorage_EnumElements_Proxy(
  3874. IStorage* This,
  3875. DWORD reserved1,
  3876. void *reserved2,
  3877. DWORD reserved3,
  3878. IEnumSTATSTG **ppenum);
  3879. HRESULT __RPC_STUB IStorage_EnumElements_Stub(
  3880. IStorage* This,
  3881. DWORD reserved1,
  3882. ULONG cbReserved2,
  3883. byte *reserved2,
  3884. DWORD reserved3,
  3885. IEnumSTATSTG **ppenum);
  3886.  
  3887. #endif /* __IStorage_INTERFACE_DEFINED__ */
  3888.  
  3889. #ifndef __IPersistFile_INTERFACE_DEFINED__
  3890. #define __IPersistFile_INTERFACE_DEFINED__
  3891. typedef IPersistFile *LPPERSISTFILE;
  3892.  
  3893. EXTERN_C const IID IID_IPersistFile;
  3894. #if defined(__cplusplus) && !defined(CINTERFACE)
  3895. struct IPersistFile : public IPersist {
  3896. public:
  3897. virtual HRESULT WINAPI IsDirty(void) = 0;
  3898. virtual HRESULT WINAPI Load(LPCOLESTR pszFileName,DWORD dwMode) = 0;
  3899. virtual HRESULT WINAPI Save(LPCOLESTR pszFileName,WINBOOL fRemember) = 0;
  3900. virtual HRESULT WINAPI SaveCompleted(LPCOLESTR pszFileName) = 0;
  3901. virtual HRESULT WINAPI GetCurFile(LPOLESTR *ppszFileName) = 0;
  3902. };
  3903. #else
  3904. typedef struct IPersistFileVtbl {
  3905. BEGIN_INTERFACE
  3906. HRESULT (WINAPI *QueryInterface)(IPersistFile *This,REFIID riid,void **ppvObject);
  3907. ULONG (WINAPI *AddRef)(IPersistFile *This);
  3908. ULONG (WINAPI *Release)(IPersistFile *This);
  3909. HRESULT (WINAPI *GetClassID)(IPersistFile *This,CLSID *pClassID);
  3910. HRESULT (WINAPI *IsDirty)(IPersistFile *This);
  3911. HRESULT (WINAPI *Load)(IPersistFile *This,LPCOLESTR pszFileName,DWORD dwMode);
  3912. HRESULT (WINAPI *Save)(IPersistFile *This,LPCOLESTR pszFileName,WINBOOL fRemember);
  3913. HRESULT (WINAPI *SaveCompleted)(IPersistFile *This,LPCOLESTR pszFileName);
  3914. HRESULT (WINAPI *GetCurFile)(IPersistFile *This,LPOLESTR *ppszFileName);
  3915. END_INTERFACE
  3916. } IPersistFileVtbl;
  3917. struct IPersistFile {
  3918. CONST_VTBL struct IPersistFileVtbl *lpVtbl;
  3919. };
  3920. #ifdef COBJMACROS
  3921. #define IPersistFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3922. #define IPersistFile_AddRef(This) (This)->lpVtbl->AddRef(This)
  3923. #define IPersistFile_Release(This) (This)->lpVtbl->Release(This)
  3924. #define IPersistFile_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
  3925. #define IPersistFile_IsDirty(This) (This)->lpVtbl->IsDirty(This)
  3926. #define IPersistFile_Load(This,pszFileName,dwMode) (This)->lpVtbl->Load(This,pszFileName,dwMode)
  3927. #define IPersistFile_Save(This,pszFileName,fRemember) (This)->lpVtbl->Save(This,pszFileName,fRemember)
  3928. #define IPersistFile_SaveCompleted(This,pszFileName) (This)->lpVtbl->SaveCompleted(This,pszFileName)
  3929. #define IPersistFile_GetCurFile(This,ppszFileName) (This)->lpVtbl->GetCurFile(This,ppszFileName)
  3930. #endif
  3931. #endif
  3932. HRESULT WINAPI IPersistFile_IsDirty_Proxy(IPersistFile *This);
  3933. void __RPC_STUB IPersistFile_IsDirty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  3934. HRESULT WINAPI IPersistFile_Load_Proxy(IPersistFile *This,LPCOLESTR pszFileName,DWORD dwMode);
  3935. void __RPC_STUB IPersistFile_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  3936. HRESULT WINAPI IPersistFile_Save_Proxy(IPersistFile *This,LPCOLESTR pszFileName,WINBOOL fRemember);
  3937. void __RPC_STUB IPersistFile_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  3938. HRESULT WINAPI IPersistFile_SaveCompleted_Proxy(IPersistFile *This,LPCOLESTR pszFileName);
  3939. void __RPC_STUB IPersistFile_SaveCompleted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  3940. HRESULT WINAPI IPersistFile_GetCurFile_Proxy(IPersistFile *This,LPOLESTR *ppszFileName);
  3941. void __RPC_STUB IPersistFile_GetCurFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  3942. #endif
  3943.  
  3944. #ifndef __IPersistStorage_INTERFACE_DEFINED__
  3945. #define __IPersistStorage_INTERFACE_DEFINED__
  3946. typedef IPersistStorage *LPPERSISTSTORAGE;
  3947.  
  3948. EXTERN_C const IID IID_IPersistStorage;
  3949. #if defined(__cplusplus) && !defined(CINTERFACE)
  3950. struct IPersistStorage : public IPersist {
  3951. public:
  3952. virtual HRESULT WINAPI IsDirty(void) = 0;
  3953. virtual HRESULT WINAPI InitNew(IStorage *pStg) = 0;
  3954. virtual HRESULT WINAPI Load(IStorage *pStg) = 0;
  3955. virtual HRESULT WINAPI Save(IStorage *pStgSave,WINBOOL fSameAsLoad) = 0;
  3956. virtual HRESULT WINAPI SaveCompleted(IStorage *pStgNew) = 0;
  3957. virtual HRESULT WINAPI HandsOffStorage(void) = 0;
  3958. };
  3959. #else
  3960. typedef struct IPersistStorageVtbl {
  3961. BEGIN_INTERFACE
  3962. HRESULT (WINAPI *QueryInterface)(IPersistStorage *This,REFIID riid,void **ppvObject);
  3963. ULONG (WINAPI *AddRef)(IPersistStorage *This);
  3964. ULONG (WINAPI *Release)(IPersistStorage *This);
  3965. HRESULT (WINAPI *GetClassID)(IPersistStorage *This,CLSID *pClassID);
  3966. HRESULT (WINAPI *IsDirty)(IPersistStorage *This);
  3967. HRESULT (WINAPI *InitNew)(IPersistStorage *This,IStorage *pStg);
  3968. HRESULT (WINAPI *Load)(IPersistStorage *This,IStorage *pStg);
  3969. HRESULT (WINAPI *Save)(IPersistStorage *This,IStorage *pStgSave,WINBOOL fSameAsLoad);
  3970. HRESULT (WINAPI *SaveCompleted)(IPersistStorage *This,IStorage *pStgNew);
  3971. HRESULT (WINAPI *HandsOffStorage)(IPersistStorage *This);
  3972. END_INTERFACE
  3973. } IPersistStorageVtbl;
  3974. struct IPersistStorage {
  3975. CONST_VTBL struct IPersistStorageVtbl *lpVtbl;
  3976. };
  3977. #ifdef COBJMACROS
  3978. #define IPersistStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  3979. #define IPersistStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
  3980. #define IPersistStorage_Release(This) (This)->lpVtbl->Release(This)
  3981. #define IPersistStorage_GetClassID(This,pClassID) (This)->lpVtbl->GetClassID(This,pClassID)
  3982. #define IPersistStorage_IsDirty(This) (This)->lpVtbl->IsDirty(This)
  3983. #define IPersistStorage_InitNew(This,pStg) (This)->lpVtbl->InitNew(This,pStg)
  3984. #define IPersistStorage_Load(This,pStg) (This)->lpVtbl->Load(This,pStg)
  3985. #define IPersistStorage_Save(This,pStgSave,fSameAsLoad) (This)->lpVtbl->Save(This,pStgSave,fSameAsLoad)
  3986. #define IPersistStorage_SaveCompleted(This,pStgNew) (This)->lpVtbl->SaveCompleted(This,pStgNew)
  3987. #define IPersistStorage_HandsOffStorage(This) (This)->lpVtbl->HandsOffStorage(This)
  3988. #endif
  3989. #endif
  3990. HRESULT WINAPI IPersistStorage_IsDirty_Proxy(IPersistStorage *This);
  3991. void __RPC_STUB IPersistStorage_IsDirty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  3992. HRESULT WINAPI IPersistStorage_InitNew_Proxy(IPersistStorage *This,IStorage *pStg);
  3993. void __RPC_STUB IPersistStorage_InitNew_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  3994. HRESULT WINAPI IPersistStorage_Load_Proxy(IPersistStorage *This,IStorage *pStg);
  3995. void __RPC_STUB IPersistStorage_Load_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  3996. HRESULT WINAPI IPersistStorage_Save_Proxy(IPersistStorage *This,IStorage *pStgSave,WINBOOL fSameAsLoad);
  3997. void __RPC_STUB IPersistStorage_Save_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  3998. HRESULT WINAPI IPersistStorage_SaveCompleted_Proxy(IPersistStorage *This,IStorage *pStgNew);
  3999. void __RPC_STUB IPersistStorage_SaveCompleted_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4000. HRESULT WINAPI IPersistStorage_HandsOffStorage_Proxy(IPersistStorage *This);
  4001. void __RPC_STUB IPersistStorage_HandsOffStorage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4002. #endif
  4003.  
  4004. #ifndef __ILockBytes_INTERFACE_DEFINED__
  4005. #define __ILockBytes_INTERFACE_DEFINED__
  4006. typedef ILockBytes *LPLOCKBYTES;
  4007.  
  4008. EXTERN_C const IID IID_ILockBytes;
  4009. #if defined(__cplusplus) && !defined(CINTERFACE)
  4010. struct ILockBytes : public IUnknown {
  4011. public:
  4012. virtual HRESULT WINAPI ReadAt(ULARGE_INTEGER ulOffset,void *pv,ULONG cb,ULONG *pcbRead) = 0;
  4013. virtual HRESULT WINAPI WriteAt(ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten) = 0;
  4014. virtual HRESULT WINAPI Flush(void) = 0;
  4015. virtual HRESULT WINAPI SetSize(ULARGE_INTEGER cb) = 0;
  4016. virtual HRESULT WINAPI LockRegion(ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) = 0;
  4017. virtual HRESULT WINAPI UnlockRegion(ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) = 0;
  4018. virtual HRESULT WINAPI Stat(STATSTG *pstatstg,DWORD grfStatFlag) = 0;
  4019. };
  4020. #else
  4021. typedef struct ILockBytesVtbl {
  4022. BEGIN_INTERFACE
  4023. HRESULT (WINAPI *QueryInterface)(ILockBytes *This,REFIID riid,void **ppvObject);
  4024. ULONG (WINAPI *AddRef)(ILockBytes *This);
  4025. ULONG (WINAPI *Release)(ILockBytes *This);
  4026. HRESULT (WINAPI *ReadAt)(ILockBytes *This,ULARGE_INTEGER ulOffset,void *pv,ULONG cb,ULONG *pcbRead);
  4027. HRESULT (WINAPI *WriteAt)(ILockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);
  4028. HRESULT (WINAPI *Flush)(ILockBytes *This);
  4029. HRESULT (WINAPI *SetSize)(ILockBytes *This,ULARGE_INTEGER cb);
  4030. HRESULT (WINAPI *LockRegion)(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);
  4031. HRESULT (WINAPI *UnlockRegion)(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);
  4032. HRESULT (WINAPI *Stat)(ILockBytes *This,STATSTG *pstatstg,DWORD grfStatFlag);
  4033. END_INTERFACE
  4034. } ILockBytesVtbl;
  4035. struct ILockBytes {
  4036. CONST_VTBL struct ILockBytesVtbl *lpVtbl;
  4037. };
  4038. #ifdef COBJMACROS
  4039. #define ILockBytes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4040. #define ILockBytes_AddRef(This) (This)->lpVtbl->AddRef(This)
  4041. #define ILockBytes_Release(This) (This)->lpVtbl->Release(This)
  4042. #define ILockBytes_ReadAt(This,ulOffset,pv,cb,pcbRead) (This)->lpVtbl->ReadAt(This,ulOffset,pv,cb,pcbRead)
  4043. #define ILockBytes_WriteAt(This,ulOffset,pv,cb,pcbWritten) (This)->lpVtbl->WriteAt(This,ulOffset,pv,cb,pcbWritten)
  4044. #define ILockBytes_Flush(This) (This)->lpVtbl->Flush(This)
  4045. #define ILockBytes_SetSize(This,cb) (This)->lpVtbl->SetSize(This,cb)
  4046. #define ILockBytes_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
  4047. #define ILockBytes_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
  4048. #define ILockBytes_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
  4049. #endif
  4050. #endif
  4051. HRESULT WINAPI ILockBytes_RemoteReadAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,byte *pv,ULONG cb,ULONG *pcbRead);
  4052. void __RPC_STUB ILockBytes_RemoteReadAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4053. HRESULT WINAPI ILockBytes_RemoteWriteAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);
  4054. void __RPC_STUB ILockBytes_RemoteWriteAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4055. HRESULT WINAPI ILockBytes_Flush_Proxy(ILockBytes *This);
  4056. void __RPC_STUB ILockBytes_Flush_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4057. HRESULT WINAPI ILockBytes_SetSize_Proxy(ILockBytes *This,ULARGE_INTEGER cb);
  4058. void __RPC_STUB ILockBytes_SetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4059. HRESULT WINAPI ILockBytes_LockRegion_Proxy(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);
  4060. void __RPC_STUB ILockBytes_LockRegion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4061. HRESULT WINAPI ILockBytes_UnlockRegion_Proxy(ILockBytes *This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType);
  4062. void __RPC_STUB ILockBytes_UnlockRegion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4063. HRESULT WINAPI ILockBytes_Stat_Proxy(ILockBytes *This,STATSTG *pstatstg,DWORD grfStatFlag);
  4064. void __RPC_STUB ILockBytes_Stat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4065. #endif
  4066. /*****************************************************************************
  4067. * IEnumFORMATETC interface
  4068. */
  4069. #ifndef __IEnumFORMATETC_INTERFACE_DEFINED__
  4070. #define __IEnumFORMATETC_INTERFACE_DEFINED__
  4071.  
  4072. typedef IEnumFORMATETC *LPENUMFORMATETC;
  4073. typedef struct tagDVTARGETDEVICE {
  4074. DWORD tdSize;
  4075. WORD tdDriverNameOffset;
  4076. WORD tdDeviceNameOffset;
  4077. WORD tdPortNameOffset;
  4078. WORD tdExtDevmodeOffset;
  4079. BYTE tdData[1];
  4080. } DVTARGETDEVICE;
  4081. typedef CLIPFORMAT *LPCLIPFORMAT;
  4082. typedef struct tagFORMATETC {
  4083. CLIPFORMAT cfFormat;
  4084. DVTARGETDEVICE *ptd;
  4085. DWORD dwAspect;
  4086. LONG lindex;
  4087. DWORD tymed;
  4088. } FORMATETC;
  4089. typedef struct tagFORMATETC *LPFORMATETC;
  4090. DEFINE_GUID(IID_IEnumFORMATETC, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  4091. #if defined(__cplusplus) && !defined(CINTERFACE)
  4092. MIDL_INTERFACE("00000103-0000-0000-c000-000000000046")
  4093. IEnumFORMATETC : public IUnknown
  4094. {
  4095. virtual HRESULT STDMETHODCALLTYPE Next(
  4096. ULONG celt,
  4097. FORMATETC *rgelt,
  4098. ULONG *pceltFetched) = 0;
  4099.  
  4100. virtual HRESULT STDMETHODCALLTYPE Skip(
  4101. ULONG celt) = 0;
  4102.  
  4103. virtual HRESULT STDMETHODCALLTYPE Reset(
  4104. ) = 0;
  4105.  
  4106. virtual HRESULT STDMETHODCALLTYPE Clone(
  4107. IEnumFORMATETC **ppenum) = 0;
  4108.  
  4109. };
  4110. #ifdef __CRT_UUID_DECL
  4111. __CRT_UUID_DECL(IEnumFORMATETC, 0x00000103, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  4112. #endif
  4113. #else
  4114. typedef struct IEnumFORMATETCVtbl {
  4115. BEGIN_INTERFACE
  4116.  
  4117. /*** IUnknown methods ***/
  4118. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4119. IEnumFORMATETC* This,
  4120. REFIID riid,
  4121. void **ppvObject);
  4122.  
  4123. ULONG (STDMETHODCALLTYPE *AddRef)(
  4124. IEnumFORMATETC* This);
  4125.  
  4126. ULONG (STDMETHODCALLTYPE *Release)(
  4127. IEnumFORMATETC* This);
  4128.  
  4129. /*** IEnumFORMATETC methods ***/
  4130. HRESULT (STDMETHODCALLTYPE *Next)(
  4131. IEnumFORMATETC* This,
  4132. ULONG celt,
  4133. FORMATETC *rgelt,
  4134. ULONG *pceltFetched);
  4135.  
  4136. HRESULT (STDMETHODCALLTYPE *Skip)(
  4137. IEnumFORMATETC* This,
  4138. ULONG celt);
  4139.  
  4140. HRESULT (STDMETHODCALLTYPE *Reset)(
  4141. IEnumFORMATETC* This);
  4142.  
  4143. HRESULT (STDMETHODCALLTYPE *Clone)(
  4144. IEnumFORMATETC* This,
  4145. IEnumFORMATETC **ppenum);
  4146.  
  4147. END_INTERFACE
  4148. } IEnumFORMATETCVtbl;
  4149. interface IEnumFORMATETC {
  4150. CONST_VTBL IEnumFORMATETCVtbl* lpVtbl;
  4151. };
  4152.  
  4153. #ifdef COBJMACROS
  4154. #ifndef WIDL_C_INLINE_WRAPPERS
  4155. /*** IUnknown methods ***/
  4156. #define IEnumFORMATETC_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4157. #define IEnumFORMATETC_AddRef(This) (This)->lpVtbl->AddRef(This)
  4158. #define IEnumFORMATETC_Release(This) (This)->lpVtbl->Release(This)
  4159. /*** IEnumFORMATETC methods ***/
  4160. #define IEnumFORMATETC_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
  4161. #define IEnumFORMATETC_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  4162. #define IEnumFORMATETC_Reset(This) (This)->lpVtbl->Reset(This)
  4163. #define IEnumFORMATETC_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
  4164. #else
  4165. /*** IUnknown methods ***/
  4166. static FORCEINLINE HRESULT IEnumFORMATETC_QueryInterface(IEnumFORMATETC* This,REFIID riid,void **ppvObject) {
  4167. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4168. }
  4169. static FORCEINLINE ULONG IEnumFORMATETC_AddRef(IEnumFORMATETC* This) {
  4170. return This->lpVtbl->AddRef(This);
  4171. }
  4172. static FORCEINLINE ULONG IEnumFORMATETC_Release(IEnumFORMATETC* This) {
  4173. return This->lpVtbl->Release(This);
  4174. }
  4175. /*** IEnumFORMATETC methods ***/
  4176. static FORCEINLINE HRESULT IEnumFORMATETC_Next(IEnumFORMATETC* This,ULONG celt,FORMATETC *rgelt,ULONG *pceltFetched) {
  4177. return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
  4178. }
  4179. static FORCEINLINE HRESULT IEnumFORMATETC_Skip(IEnumFORMATETC* This,ULONG celt) {
  4180. return This->lpVtbl->Skip(This,celt);
  4181. }
  4182. static FORCEINLINE HRESULT IEnumFORMATETC_Reset(IEnumFORMATETC* This) {
  4183. return This->lpVtbl->Reset(This);
  4184. }
  4185. static FORCEINLINE HRESULT IEnumFORMATETC_Clone(IEnumFORMATETC* This,IEnumFORMATETC **ppenum) {
  4186. return This->lpVtbl->Clone(This,ppenum);
  4187. }
  4188. #endif
  4189. #endif
  4190.  
  4191. #endif
  4192.  
  4193. HRESULT STDMETHODCALLTYPE IEnumFORMATETC_RemoteNext_Proxy(
  4194. IEnumFORMATETC* This,
  4195. ULONG celt,
  4196. FORMATETC *rgelt,
  4197. ULONG *pceltFetched);
  4198. void __RPC_STUB IEnumFORMATETC_RemoteNext_Stub(
  4199. IRpcStubBuffer* This,
  4200. IRpcChannelBuffer* pRpcChannelBuffer,
  4201. PRPC_MESSAGE pRpcMessage,
  4202. DWORD* pdwStubPhase);
  4203. HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Skip_Proxy(
  4204. IEnumFORMATETC* This,
  4205. ULONG celt);
  4206. void __RPC_STUB IEnumFORMATETC_Skip_Stub(
  4207. IRpcStubBuffer* This,
  4208. IRpcChannelBuffer* pRpcChannelBuffer,
  4209. PRPC_MESSAGE pRpcMessage,
  4210. DWORD* pdwStubPhase);
  4211. HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Reset_Proxy(
  4212. IEnumFORMATETC* This);
  4213. void __RPC_STUB IEnumFORMATETC_Reset_Stub(
  4214. IRpcStubBuffer* This,
  4215. IRpcChannelBuffer* pRpcChannelBuffer,
  4216. PRPC_MESSAGE pRpcMessage,
  4217. DWORD* pdwStubPhase);
  4218. HRESULT STDMETHODCALLTYPE IEnumFORMATETC_Clone_Proxy(
  4219. IEnumFORMATETC* This,
  4220. IEnumFORMATETC **ppenum);
  4221. void __RPC_STUB IEnumFORMATETC_Clone_Stub(
  4222. IRpcStubBuffer* This,
  4223. IRpcChannelBuffer* pRpcChannelBuffer,
  4224. PRPC_MESSAGE pRpcMessage,
  4225. DWORD* pdwStubPhase);
  4226. HRESULT CALLBACK IEnumFORMATETC_Next_Proxy(
  4227. IEnumFORMATETC* This,
  4228. ULONG celt,
  4229. FORMATETC *rgelt,
  4230. ULONG *pceltFetched);
  4231. HRESULT __RPC_STUB IEnumFORMATETC_Next_Stub(
  4232. IEnumFORMATETC* This,
  4233. ULONG celt,
  4234. FORMATETC *rgelt,
  4235. ULONG *pceltFetched);
  4236.  
  4237. #endif /* __IEnumFORMATETC_INTERFACE_DEFINED__ */
  4238.  
  4239. /*****************************************************************************
  4240. * IEnumSTATDATA interface
  4241. */
  4242. #ifndef __IEnumSTATDATA_INTERFACE_DEFINED__
  4243. #define __IEnumSTATDATA_INTERFACE_DEFINED__
  4244.  
  4245. typedef IEnumSTATDATA *LPENUMSTATDATA;
  4246. typedef enum tagADVF {
  4247. ADVF_NODATA = 1,
  4248. ADVF_PRIMEFIRST = 2,
  4249. ADVF_ONLYONCE = 4,
  4250. ADVF_DATAONSTOP = 64,
  4251. ADVFCACHE_NOHANDLER = 8,
  4252. ADVFCACHE_FORCEBUILTIN = 16,
  4253. ADVFCACHE_ONSAVE = 32
  4254. } ADVF;
  4255. typedef struct tagSTATDATA {
  4256. FORMATETC formatetc;
  4257. DWORD advf;
  4258. IAdviseSink *pAdvSink;
  4259. DWORD dwConnection;
  4260. } STATDATA;
  4261. typedef STATDATA *LPSTATDATA;
  4262. DEFINE_GUID(IID_IEnumSTATDATA, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  4263. #if defined(__cplusplus) && !defined(CINTERFACE)
  4264. MIDL_INTERFACE("00000105-0000-0000-c000-000000000046")
  4265. IEnumSTATDATA : public IUnknown
  4266. {
  4267. virtual HRESULT STDMETHODCALLTYPE Next(
  4268. ULONG celt,
  4269. STATDATA *rgelt,
  4270. ULONG *pceltFetched) = 0;
  4271.  
  4272. virtual HRESULT STDMETHODCALLTYPE Skip(
  4273. ULONG celt) = 0;
  4274.  
  4275. virtual HRESULT STDMETHODCALLTYPE Reset(
  4276. ) = 0;
  4277.  
  4278. virtual HRESULT STDMETHODCALLTYPE Clone(
  4279. IEnumSTATDATA **ppenum) = 0;
  4280.  
  4281. };
  4282. #ifdef __CRT_UUID_DECL
  4283. __CRT_UUID_DECL(IEnumSTATDATA, 0x00000105, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  4284. #endif
  4285. #else
  4286. typedef struct IEnumSTATDATAVtbl {
  4287. BEGIN_INTERFACE
  4288.  
  4289. /*** IUnknown methods ***/
  4290. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4291. IEnumSTATDATA* This,
  4292. REFIID riid,
  4293. void **ppvObject);
  4294.  
  4295. ULONG (STDMETHODCALLTYPE *AddRef)(
  4296. IEnumSTATDATA* This);
  4297.  
  4298. ULONG (STDMETHODCALLTYPE *Release)(
  4299. IEnumSTATDATA* This);
  4300.  
  4301. /*** IEnumSTATDATA methods ***/
  4302. HRESULT (STDMETHODCALLTYPE *Next)(
  4303. IEnumSTATDATA* This,
  4304. ULONG celt,
  4305. STATDATA *rgelt,
  4306. ULONG *pceltFetched);
  4307.  
  4308. HRESULT (STDMETHODCALLTYPE *Skip)(
  4309. IEnumSTATDATA* This,
  4310. ULONG celt);
  4311.  
  4312. HRESULT (STDMETHODCALLTYPE *Reset)(
  4313. IEnumSTATDATA* This);
  4314.  
  4315. HRESULT (STDMETHODCALLTYPE *Clone)(
  4316. IEnumSTATDATA* This,
  4317. IEnumSTATDATA **ppenum);
  4318.  
  4319. END_INTERFACE
  4320. } IEnumSTATDATAVtbl;
  4321. interface IEnumSTATDATA {
  4322. CONST_VTBL IEnumSTATDATAVtbl* lpVtbl;
  4323. };
  4324.  
  4325. #ifdef COBJMACROS
  4326. #ifndef WIDL_C_INLINE_WRAPPERS
  4327. /*** IUnknown methods ***/
  4328. #define IEnumSTATDATA_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4329. #define IEnumSTATDATA_AddRef(This) (This)->lpVtbl->AddRef(This)
  4330. #define IEnumSTATDATA_Release(This) (This)->lpVtbl->Release(This)
  4331. /*** IEnumSTATDATA methods ***/
  4332. #define IEnumSTATDATA_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
  4333. #define IEnumSTATDATA_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  4334. #define IEnumSTATDATA_Reset(This) (This)->lpVtbl->Reset(This)
  4335. #define IEnumSTATDATA_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
  4336. #else
  4337. /*** IUnknown methods ***/
  4338. static FORCEINLINE HRESULT IEnumSTATDATA_QueryInterface(IEnumSTATDATA* This,REFIID riid,void **ppvObject) {
  4339. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4340. }
  4341. static FORCEINLINE ULONG IEnumSTATDATA_AddRef(IEnumSTATDATA* This) {
  4342. return This->lpVtbl->AddRef(This);
  4343. }
  4344. static FORCEINLINE ULONG IEnumSTATDATA_Release(IEnumSTATDATA* This) {
  4345. return This->lpVtbl->Release(This);
  4346. }
  4347. /*** IEnumSTATDATA methods ***/
  4348. static FORCEINLINE HRESULT IEnumSTATDATA_Next(IEnumSTATDATA* This,ULONG celt,STATDATA *rgelt,ULONG *pceltFetched) {
  4349. return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
  4350. }
  4351. static FORCEINLINE HRESULT IEnumSTATDATA_Skip(IEnumSTATDATA* This,ULONG celt) {
  4352. return This->lpVtbl->Skip(This,celt);
  4353. }
  4354. static FORCEINLINE HRESULT IEnumSTATDATA_Reset(IEnumSTATDATA* This) {
  4355. return This->lpVtbl->Reset(This);
  4356. }
  4357. static FORCEINLINE HRESULT IEnumSTATDATA_Clone(IEnumSTATDATA* This,IEnumSTATDATA **ppenum) {
  4358. return This->lpVtbl->Clone(This,ppenum);
  4359. }
  4360. #endif
  4361. #endif
  4362.  
  4363. #endif
  4364.  
  4365. HRESULT STDMETHODCALLTYPE IEnumSTATDATA_RemoteNext_Proxy(
  4366. IEnumSTATDATA* This,
  4367. ULONG celt,
  4368. STATDATA *rgelt,
  4369. ULONG *pceltFetched);
  4370. void __RPC_STUB IEnumSTATDATA_RemoteNext_Stub(
  4371. IRpcStubBuffer* This,
  4372. IRpcChannelBuffer* pRpcChannelBuffer,
  4373. PRPC_MESSAGE pRpcMessage,
  4374. DWORD* pdwStubPhase);
  4375. HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Skip_Proxy(
  4376. IEnumSTATDATA* This,
  4377. ULONG celt);
  4378. void __RPC_STUB IEnumSTATDATA_Skip_Stub(
  4379. IRpcStubBuffer* This,
  4380. IRpcChannelBuffer* pRpcChannelBuffer,
  4381. PRPC_MESSAGE pRpcMessage,
  4382. DWORD* pdwStubPhase);
  4383. HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Reset_Proxy(
  4384. IEnumSTATDATA* This);
  4385. void __RPC_STUB IEnumSTATDATA_Reset_Stub(
  4386. IRpcStubBuffer* This,
  4387. IRpcChannelBuffer* pRpcChannelBuffer,
  4388. PRPC_MESSAGE pRpcMessage,
  4389. DWORD* pdwStubPhase);
  4390. HRESULT STDMETHODCALLTYPE IEnumSTATDATA_Clone_Proxy(
  4391. IEnumSTATDATA* This,
  4392. IEnumSTATDATA **ppenum);
  4393. void __RPC_STUB IEnumSTATDATA_Clone_Stub(
  4394. IRpcStubBuffer* This,
  4395. IRpcChannelBuffer* pRpcChannelBuffer,
  4396. PRPC_MESSAGE pRpcMessage,
  4397. DWORD* pdwStubPhase);
  4398. HRESULT CALLBACK IEnumSTATDATA_Next_Proxy(
  4399. IEnumSTATDATA* This,
  4400. ULONG celt,
  4401. STATDATA *rgelt,
  4402. ULONG *pceltFetched);
  4403. HRESULT __RPC_STUB IEnumSTATDATA_Next_Stub(
  4404. IEnumSTATDATA* This,
  4405. ULONG celt,
  4406. STATDATA *rgelt,
  4407. ULONG *pceltFetched);
  4408.  
  4409. #endif /* __IEnumSTATDATA_INTERFACE_DEFINED__ */
  4410.  
  4411. #ifndef __IRootStorage_INTERFACE_DEFINED__
  4412. #define __IRootStorage_INTERFACE_DEFINED__
  4413. typedef IRootStorage *LPROOTSTORAGE;
  4414.  
  4415. EXTERN_C const IID IID_IRootStorage;
  4416. #if defined(__cplusplus) && !defined(CINTERFACE)
  4417. struct IRootStorage : public IUnknown {
  4418. public:
  4419. virtual HRESULT WINAPI SwitchToFile(LPOLESTR pszFile) = 0;
  4420. };
  4421. #else
  4422. typedef struct IRootStorageVtbl {
  4423. BEGIN_INTERFACE
  4424. HRESULT (WINAPI *QueryInterface)(IRootStorage *This,REFIID riid,void **ppvObject);
  4425. ULONG (WINAPI *AddRef)(IRootStorage *This);
  4426. ULONG (WINAPI *Release)(IRootStorage *This);
  4427. HRESULT (WINAPI *SwitchToFile)(IRootStorage *This,LPOLESTR pszFile);
  4428. END_INTERFACE
  4429. } IRootStorageVtbl;
  4430. struct IRootStorage {
  4431. CONST_VTBL struct IRootStorageVtbl *lpVtbl;
  4432. };
  4433. #ifdef COBJMACROS
  4434. #define IRootStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4435. #define IRootStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
  4436. #define IRootStorage_Release(This) (This)->lpVtbl->Release(This)
  4437. #define IRootStorage_SwitchToFile(This,pszFile) (This)->lpVtbl->SwitchToFile(This,pszFile)
  4438. #endif
  4439. #endif
  4440. HRESULT WINAPI IRootStorage_SwitchToFile_Proxy(IRootStorage *This,LPOLESTR pszFile);
  4441. void __RPC_STUB IRootStorage_SwitchToFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4442. #endif
  4443. /*****************************************************************************
  4444. * IAdviseSink interface
  4445. */
  4446. #ifndef __IAdviseSink_INTERFACE_DEFINED__
  4447. #define __IAdviseSink_INTERFACE_DEFINED__
  4448.  
  4449. typedef IAdviseSink *LPADVISESINK;
  4450. typedef enum tagTYMED {
  4451. TYMED_HGLOBAL = 1,
  4452. TYMED_FILE = 2,
  4453. TYMED_ISTREAM = 4,
  4454. TYMED_ISTORAGE = 8,
  4455. TYMED_GDI = 16,
  4456. TYMED_MFPICT = 32,
  4457. TYMED_ENHMF = 64,
  4458. TYMED_NULL = 0
  4459. } TYMED;
  4460. typedef struct tagRemSTGMEDIUM {
  4461. DWORD tymed;
  4462. DWORD dwHandleType;
  4463. ULONG pData;
  4464. ULONG pUnkForRelease;
  4465. ULONG cbData;
  4466. byte data[1];
  4467. } RemSTGMEDIUM;
  4468. #if 0
  4469. typedef struct tagSTGMEDIUM {
  4470. DWORD tymed;
  4471. union {
  4472. HBITMAP hBitmap;
  4473. HMETAFILEPICT hMetaFilePict;
  4474. HENHMETAFILE hEnhMetaFile;
  4475. HGLOBAL hGlobal;
  4476. LPOLESTR lpszFileName;
  4477. IStream *pstm;
  4478. IStorage *pstg;
  4479. } DUMMYUNIONNAME;
  4480. IUnknown *pUnkForRelease;
  4481. } uSTGMEDIUM;
  4482. #else
  4483. typedef struct tagSTGMEDIUM {
  4484. DWORD tymed;
  4485. __C89_NAMELESS union {
  4486. HBITMAP hBitmap;
  4487. HMETAFILEPICT hMetaFilePict;
  4488. HENHMETAFILE hEnhMetaFile;
  4489. HGLOBAL hGlobal;
  4490. LPOLESTR lpszFileName;
  4491. IStream *pstm;
  4492. IStorage *pstg;
  4493. } DUMMYUNIONNAME;
  4494. IUnknown *pUnkForRelease;
  4495. } uSTGMEDIUM;
  4496. #endif
  4497. typedef struct _GDI_OBJECT {
  4498. DWORD ObjectType;
  4499. union {
  4500. wireHBITMAP hBitmap;
  4501. wireHPALETTE hPalette;
  4502. wireHGLOBAL hGeneric;
  4503. } u;
  4504. } GDI_OBJECT;
  4505. #if 0
  4506. typedef struct _userSTGMEDIUM {
  4507. struct _STGMEDIUM_UNION {
  4508. DWORD tymed;
  4509. union {
  4510. wireHMETAFILEPICT hMetaFilePict;
  4511. wireHENHMETAFILE hHEnhMetaFile;
  4512. GDI_OBJECT *hGdiHandle;
  4513. wireHGLOBAL hGlobal;
  4514. LPOLESTR lpszFileName;
  4515. BYTE_BLOB *pstm;
  4516. BYTE_BLOB *pstg;
  4517. } u;
  4518. } DUMMYUNIONNAME;
  4519. IUnknown *pUnkForRelease;
  4520. } userSTGMEDIUM;
  4521. #else
  4522. typedef struct _userSTGMEDIUM {
  4523. __C89_NAMELESS struct _STGMEDIUM_UNION {
  4524. DWORD tymed;
  4525. union {
  4526. wireHMETAFILEPICT hMetaFilePict;
  4527. wireHENHMETAFILE hHEnhMetaFile;
  4528. GDI_OBJECT *hGdiHandle;
  4529. wireHGLOBAL hGlobal;
  4530. LPOLESTR lpszFileName;
  4531. BYTE_BLOB *pstm;
  4532. BYTE_BLOB *pstg;
  4533. } u;
  4534. } DUMMYUNIONNAME;
  4535. IUnknown *pUnkForRelease;
  4536. } userSTGMEDIUM;
  4537. #endif
  4538. typedef userSTGMEDIUM *wireSTGMEDIUM;
  4539. typedef uSTGMEDIUM STGMEDIUM;
  4540. typedef userSTGMEDIUM *wireASYNC_STGMEDIUM;
  4541. typedef STGMEDIUM ASYNC_STGMEDIUM;
  4542. typedef STGMEDIUM *LPSTGMEDIUM;
  4543. typedef struct _userFLAG_STGMEDIUM {
  4544. LONG ContextFlags;
  4545. LONG fPassOwnership;
  4546. userSTGMEDIUM Stgmed;
  4547. } userFLAG_STGMEDIUM;
  4548. typedef userFLAG_STGMEDIUM *wireFLAG_STGMEDIUM;
  4549. typedef struct _FLAG_STGMEDIUM {
  4550. LONG ContextFlags;
  4551. LONG fPassOwnership;
  4552. STGMEDIUM Stgmed;
  4553. } FLAG_STGMEDIUM;
  4554. DEFINE_GUID(IID_IAdviseSink, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  4555. #if defined(__cplusplus) && !defined(CINTERFACE)
  4556. MIDL_INTERFACE("0000010f-0000-0000-c000-000000000046")
  4557. IAdviseSink : public IUnknown
  4558. {
  4559. virtual void STDMETHODCALLTYPE OnDataChange(
  4560. FORMATETC *pFormatetc,
  4561. STGMEDIUM *pStgmed) = 0;
  4562.  
  4563. virtual void STDMETHODCALLTYPE OnViewChange(
  4564. DWORD dwAspect,
  4565. LONG lindex) = 0;
  4566.  
  4567. virtual void STDMETHODCALLTYPE OnRename(
  4568. IMoniker *pmk) = 0;
  4569.  
  4570. virtual void STDMETHODCALLTYPE OnSave(
  4571. ) = 0;
  4572.  
  4573. virtual void STDMETHODCALLTYPE OnClose(
  4574. ) = 0;
  4575.  
  4576. };
  4577. #ifdef __CRT_UUID_DECL
  4578. __CRT_UUID_DECL(IAdviseSink, 0x0000010f, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  4579. #endif
  4580. #else
  4581. typedef struct IAdviseSinkVtbl {
  4582. BEGIN_INTERFACE
  4583.  
  4584. /*** IUnknown methods ***/
  4585. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4586. IAdviseSink* This,
  4587. REFIID riid,
  4588. void **ppvObject);
  4589.  
  4590. ULONG (STDMETHODCALLTYPE *AddRef)(
  4591. IAdviseSink* This);
  4592.  
  4593. ULONG (STDMETHODCALLTYPE *Release)(
  4594. IAdviseSink* This);
  4595.  
  4596. /*** IAdviseSink methods ***/
  4597. void (STDMETHODCALLTYPE *OnDataChange)(
  4598. IAdviseSink* This,
  4599. FORMATETC *pFormatetc,
  4600. STGMEDIUM *pStgmed);
  4601.  
  4602. void (STDMETHODCALLTYPE *OnViewChange)(
  4603. IAdviseSink* This,
  4604. DWORD dwAspect,
  4605. LONG lindex);
  4606.  
  4607. void (STDMETHODCALLTYPE *OnRename)(
  4608. IAdviseSink* This,
  4609. IMoniker *pmk);
  4610.  
  4611. void (STDMETHODCALLTYPE *OnSave)(
  4612. IAdviseSink* This);
  4613.  
  4614. void (STDMETHODCALLTYPE *OnClose)(
  4615. IAdviseSink* This);
  4616.  
  4617. END_INTERFACE
  4618. } IAdviseSinkVtbl;
  4619. interface IAdviseSink {
  4620. CONST_VTBL IAdviseSinkVtbl* lpVtbl;
  4621. };
  4622.  
  4623. #ifdef COBJMACROS
  4624. #ifndef WIDL_C_INLINE_WRAPPERS
  4625. /*** IUnknown methods ***/
  4626. #define IAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4627. #define IAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This)
  4628. #define IAdviseSink_Release(This) (This)->lpVtbl->Release(This)
  4629. /*** IAdviseSink methods ***/
  4630. #define IAdviseSink_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed)
  4631. #define IAdviseSink_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex)
  4632. #define IAdviseSink_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk)
  4633. #define IAdviseSink_OnSave(This) (This)->lpVtbl->OnSave(This)
  4634. #define IAdviseSink_OnClose(This) (This)->lpVtbl->OnClose(This)
  4635. #else
  4636. /*** IUnknown methods ***/
  4637. static FORCEINLINE HRESULT IAdviseSink_QueryInterface(IAdviseSink* This,REFIID riid,void **ppvObject) {
  4638. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  4639. }
  4640. static FORCEINLINE ULONG IAdviseSink_AddRef(IAdviseSink* This) {
  4641. return This->lpVtbl->AddRef(This);
  4642. }
  4643. static FORCEINLINE ULONG IAdviseSink_Release(IAdviseSink* This) {
  4644. return This->lpVtbl->Release(This);
  4645. }
  4646. /*** IAdviseSink methods ***/
  4647. static FORCEINLINE void IAdviseSink_OnDataChange(IAdviseSink* This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed) {
  4648. This->lpVtbl->OnDataChange(This,pFormatetc,pStgmed);
  4649. }
  4650. static FORCEINLINE void IAdviseSink_OnViewChange(IAdviseSink* This,DWORD dwAspect,LONG lindex) {
  4651. This->lpVtbl->OnViewChange(This,dwAspect,lindex);
  4652. }
  4653. static FORCEINLINE void IAdviseSink_OnRename(IAdviseSink* This,IMoniker *pmk) {
  4654. This->lpVtbl->OnRename(This,pmk);
  4655. }
  4656. static FORCEINLINE void IAdviseSink_OnSave(IAdviseSink* This) {
  4657. This->lpVtbl->OnSave(This);
  4658. }
  4659. static FORCEINLINE void IAdviseSink_OnClose(IAdviseSink* This) {
  4660. This->lpVtbl->OnClose(This);
  4661. }
  4662. #endif
  4663. #endif
  4664.  
  4665. #endif
  4666.  
  4667. HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnDataChange_Proxy(
  4668. IAdviseSink* This,
  4669. FORMATETC *pFormatetc,
  4670. ASYNC_STGMEDIUM *pStgmed);
  4671. void __RPC_STUB IAdviseSink_RemoteOnDataChange_Stub(
  4672. IRpcStubBuffer* This,
  4673. IRpcChannelBuffer* pRpcChannelBuffer,
  4674. PRPC_MESSAGE pRpcMessage,
  4675. DWORD* pdwStubPhase);
  4676. HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnViewChange_Proxy(
  4677. IAdviseSink* This,
  4678. DWORD dwAspect,
  4679. LONG lindex);
  4680. void __RPC_STUB IAdviseSink_RemoteOnViewChange_Stub(
  4681. IRpcStubBuffer* This,
  4682. IRpcChannelBuffer* pRpcChannelBuffer,
  4683. PRPC_MESSAGE pRpcMessage,
  4684. DWORD* pdwStubPhase);
  4685. HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnRename_Proxy(
  4686. IAdviseSink* This,
  4687. IMoniker *pmk);
  4688. void __RPC_STUB IAdviseSink_RemoteOnRename_Stub(
  4689. IRpcStubBuffer* This,
  4690. IRpcChannelBuffer* pRpcChannelBuffer,
  4691. PRPC_MESSAGE pRpcMessage,
  4692. DWORD* pdwStubPhase);
  4693. HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnSave_Proxy(
  4694. IAdviseSink* This);
  4695. void __RPC_STUB IAdviseSink_RemoteOnSave_Stub(
  4696. IRpcStubBuffer* This,
  4697. IRpcChannelBuffer* pRpcChannelBuffer,
  4698. PRPC_MESSAGE pRpcMessage,
  4699. DWORD* pdwStubPhase);
  4700. HRESULT STDMETHODCALLTYPE IAdviseSink_RemoteOnClose_Proxy(
  4701. IAdviseSink* This);
  4702. void __RPC_STUB IAdviseSink_RemoteOnClose_Stub(
  4703. IRpcStubBuffer* This,
  4704. IRpcChannelBuffer* pRpcChannelBuffer,
  4705. PRPC_MESSAGE pRpcMessage,
  4706. DWORD* pdwStubPhase);
  4707. void CALLBACK IAdviseSink_OnDataChange_Proxy(
  4708. IAdviseSink* This,
  4709. FORMATETC *pFormatetc,
  4710. STGMEDIUM *pStgmed);
  4711. HRESULT __RPC_STUB IAdviseSink_OnDataChange_Stub(
  4712. IAdviseSink* This,
  4713. FORMATETC *pFormatetc,
  4714. ASYNC_STGMEDIUM *pStgmed);
  4715. void CALLBACK IAdviseSink_OnViewChange_Proxy(
  4716. IAdviseSink* This,
  4717. DWORD dwAspect,
  4718. LONG lindex);
  4719. HRESULT __RPC_STUB IAdviseSink_OnViewChange_Stub(
  4720. IAdviseSink* This,
  4721. DWORD dwAspect,
  4722. LONG lindex);
  4723. void CALLBACK IAdviseSink_OnRename_Proxy(
  4724. IAdviseSink* This,
  4725. IMoniker *pmk);
  4726. HRESULT __RPC_STUB IAdviseSink_OnRename_Stub(
  4727. IAdviseSink* This,
  4728. IMoniker *pmk);
  4729. void CALLBACK IAdviseSink_OnSave_Proxy(
  4730. IAdviseSink* This);
  4731. HRESULT __RPC_STUB IAdviseSink_OnSave_Stub(
  4732. IAdviseSink* This);
  4733. void CALLBACK IAdviseSink_OnClose_Proxy(
  4734. IAdviseSink* This);
  4735. HRESULT __RPC_STUB IAdviseSink_OnClose_Stub(
  4736. IAdviseSink* This);
  4737.  
  4738. #endif /* __IAdviseSink_INTERFACE_DEFINED__ */
  4739.  
  4740. #ifndef __AsyncIAdviseSink_INTERFACE_DEFINED__
  4741. #define __AsyncIAdviseSink_INTERFACE_DEFINED__
  4742. EXTERN_C const IID IID_AsyncIAdviseSink;
  4743. #if defined(__cplusplus) && !defined(CINTERFACE)
  4744. struct AsyncIAdviseSink : public IUnknown {
  4745. public:
  4746. virtual void WINAPI Begin_OnDataChange(FORMATETC *pFormatetc,STGMEDIUM *pStgmed) = 0;
  4747. virtual void WINAPI Finish_OnDataChange(void) = 0;
  4748. virtual void WINAPI Begin_OnViewChange(DWORD dwAspect,LONG lindex) = 0;
  4749. virtual void WINAPI Finish_OnViewChange(void) = 0;
  4750. virtual void WINAPI Begin_OnRename(IMoniker *pmk) = 0;
  4751. virtual void WINAPI Finish_OnRename(void) = 0;
  4752. virtual void WINAPI Begin_OnSave(void) = 0;
  4753. virtual void WINAPI Finish_OnSave(void) = 0;
  4754. virtual void WINAPI Begin_OnClose(void) = 0;
  4755. virtual void WINAPI Finish_OnClose(void) = 0;
  4756. };
  4757. #else
  4758. typedef struct AsyncIAdviseSinkVtbl {
  4759. BEGIN_INTERFACE
  4760. HRESULT (WINAPI *QueryInterface)(AsyncIAdviseSink *This,REFIID riid,void **ppvObject);
  4761. ULONG (WINAPI *AddRef)(AsyncIAdviseSink *This);
  4762. ULONG (WINAPI *Release)(AsyncIAdviseSink *This);
  4763. void (WINAPI *Begin_OnDataChange)(AsyncIAdviseSink *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);
  4764. void (WINAPI *Finish_OnDataChange)(AsyncIAdviseSink *This);
  4765. void (WINAPI *Begin_OnViewChange)(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);
  4766. void (WINAPI *Finish_OnViewChange)(AsyncIAdviseSink *This);
  4767. void (WINAPI *Begin_OnRename)(AsyncIAdviseSink *This,IMoniker *pmk);
  4768. void (WINAPI *Finish_OnRename)(AsyncIAdviseSink *This);
  4769. void (WINAPI *Begin_OnSave)(AsyncIAdviseSink *This);
  4770. void (WINAPI *Finish_OnSave)(AsyncIAdviseSink *This);
  4771. void (WINAPI *Begin_OnClose)(AsyncIAdviseSink *This);
  4772. void (WINAPI *Finish_OnClose)(AsyncIAdviseSink *This);
  4773. END_INTERFACE
  4774. } AsyncIAdviseSinkVtbl;
  4775. struct AsyncIAdviseSink {
  4776. CONST_VTBL struct AsyncIAdviseSinkVtbl *lpVtbl;
  4777. };
  4778. #ifdef COBJMACROS
  4779. #define AsyncIAdviseSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4780. #define AsyncIAdviseSink_AddRef(This) (This)->lpVtbl->AddRef(This)
  4781. #define AsyncIAdviseSink_Release(This) (This)->lpVtbl->Release(This)
  4782. #define AsyncIAdviseSink_Begin_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed)
  4783. #define AsyncIAdviseSink_Finish_OnDataChange(This) (This)->lpVtbl->Finish_OnDataChange(This)
  4784. #define AsyncIAdviseSink_Begin_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex)
  4785. #define AsyncIAdviseSink_Finish_OnViewChange(This) (This)->lpVtbl->Finish_OnViewChange(This)
  4786. #define AsyncIAdviseSink_Begin_OnRename(This,pmk) (This)->lpVtbl->Begin_OnRename(This,pmk)
  4787. #define AsyncIAdviseSink_Finish_OnRename(This) (This)->lpVtbl->Finish_OnRename(This)
  4788. #define AsyncIAdviseSink_Begin_OnSave(This) (This)->lpVtbl->Begin_OnSave(This)
  4789. #define AsyncIAdviseSink_Finish_OnSave(This) (This)->lpVtbl->Finish_OnSave(This)
  4790. #define AsyncIAdviseSink_Begin_OnClose(This) (This)->lpVtbl->Begin_OnClose(This)
  4791. #define AsyncIAdviseSink_Finish_OnClose(This) (This)->lpVtbl->Finish_OnClose(This)
  4792. #endif
  4793. #endif
  4794. HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnDataChange_Proxy(AsyncIAdviseSink *This,FORMATETC *pFormatetc,ASYNC_STGMEDIUM *pStgmed);
  4795. void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnDataChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4796. HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnDataChange_Proxy(AsyncIAdviseSink *This);
  4797. void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnDataChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4798. HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnViewChange_Proxy(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);
  4799. void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnViewChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4800. HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnViewChange_Proxy(AsyncIAdviseSink *This);
  4801. void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnViewChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4802. HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnRename_Proxy(AsyncIAdviseSink *This,IMoniker *pmk);
  4803. void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnRename_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4804. HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnRename_Proxy(AsyncIAdviseSink *This);
  4805. void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnRename_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4806. HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnSave_Proxy(AsyncIAdviseSink *This);
  4807. void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnSave_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4808. HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnSave_Proxy(AsyncIAdviseSink *This);
  4809. void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnSave_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4810. HRESULT WINAPI AsyncIAdviseSink_Begin_RemoteOnClose_Proxy(AsyncIAdviseSink *This);
  4811. void __RPC_STUB AsyncIAdviseSink_Begin_RemoteOnClose_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4812. HRESULT WINAPI AsyncIAdviseSink_Finish_RemoteOnClose_Proxy(AsyncIAdviseSink *This);
  4813. void __RPC_STUB AsyncIAdviseSink_Finish_RemoteOnClose_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4814. #endif
  4815.  
  4816. #ifndef __IAdviseSink2_INTERFACE_DEFINED__
  4817. #define __IAdviseSink2_INTERFACE_DEFINED__
  4818. typedef IAdviseSink2 *LPADVISESINK2;
  4819.  
  4820. EXTERN_C const IID IID_IAdviseSink2;
  4821. #if defined(__cplusplus) && !defined(CINTERFACE)
  4822. struct IAdviseSink2 : public IAdviseSink {
  4823. public:
  4824. virtual void WINAPI OnLinkSrcChange(IMoniker *pmk) = 0;
  4825. };
  4826. #else
  4827. typedef struct IAdviseSink2Vtbl {
  4828. BEGIN_INTERFACE
  4829. HRESULT (WINAPI *QueryInterface)(IAdviseSink2 *This,REFIID riid,void **ppvObject);
  4830. ULONG (WINAPI *AddRef)(IAdviseSink2 *This);
  4831. ULONG (WINAPI *Release)(IAdviseSink2 *This);
  4832. void (WINAPI *OnDataChange)(IAdviseSink2 *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);
  4833. void (WINAPI *OnViewChange)(IAdviseSink2 *This,DWORD dwAspect,LONG lindex);
  4834. void (WINAPI *OnRename)(IAdviseSink2 *This,IMoniker *pmk);
  4835. void (WINAPI *OnSave)(IAdviseSink2 *This);
  4836. void (WINAPI *OnClose)(IAdviseSink2 *This);
  4837. void (WINAPI *OnLinkSrcChange)(IAdviseSink2 *This,IMoniker *pmk);
  4838. END_INTERFACE
  4839. } IAdviseSink2Vtbl;
  4840. struct IAdviseSink2 {
  4841. CONST_VTBL struct IAdviseSink2Vtbl *lpVtbl;
  4842. };
  4843. #ifdef COBJMACROS
  4844. #define IAdviseSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4845. #define IAdviseSink2_AddRef(This) (This)->lpVtbl->AddRef(This)
  4846. #define IAdviseSink2_Release(This) (This)->lpVtbl->Release(This)
  4847. #define IAdviseSink2_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->OnDataChange(This,pFormatetc,pStgmed)
  4848. #define IAdviseSink2_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->OnViewChange(This,dwAspect,lindex)
  4849. #define IAdviseSink2_OnRename(This,pmk) (This)->lpVtbl->OnRename(This,pmk)
  4850. #define IAdviseSink2_OnSave(This) (This)->lpVtbl->OnSave(This)
  4851. #define IAdviseSink2_OnClose(This) (This)->lpVtbl->OnClose(This)
  4852. #define IAdviseSink2_OnLinkSrcChange(This,pmk) (This)->lpVtbl->OnLinkSrcChange(This,pmk)
  4853. #endif
  4854. #endif
  4855. HRESULT WINAPI IAdviseSink2_RemoteOnLinkSrcChange_Proxy(IAdviseSink2 *This,IMoniker *pmk);
  4856. void __RPC_STUB IAdviseSink2_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4857. #endif
  4858.  
  4859. #ifndef __AsyncIAdviseSink2_INTERFACE_DEFINED__
  4860. #define __AsyncIAdviseSink2_INTERFACE_DEFINED__
  4861. EXTERN_C const IID IID_AsyncIAdviseSink2;
  4862. #if defined(__cplusplus) && !defined(CINTERFACE)
  4863. struct AsyncIAdviseSink2 : public AsyncIAdviseSink {
  4864. public:
  4865. virtual void WINAPI Begin_OnLinkSrcChange(IMoniker *pmk) = 0;
  4866. virtual void WINAPI Finish_OnLinkSrcChange(void) = 0;
  4867. };
  4868. #else
  4869. typedef struct AsyncIAdviseSink2Vtbl {
  4870. BEGIN_INTERFACE
  4871. HRESULT (WINAPI *QueryInterface)(AsyncIAdviseSink2 *This,REFIID riid,void **ppvObject);
  4872. ULONG (WINAPI *AddRef)(AsyncIAdviseSink2 *This);
  4873. ULONG (WINAPI *Release)(AsyncIAdviseSink2 *This);
  4874. void (WINAPI *Begin_OnDataChange)(AsyncIAdviseSink2 *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);
  4875. void (WINAPI *Finish_OnDataChange)(AsyncIAdviseSink2 *This);
  4876. void (WINAPI *Begin_OnViewChange)(AsyncIAdviseSink2 *This,DWORD dwAspect,LONG lindex);
  4877. void (WINAPI *Finish_OnViewChange)(AsyncIAdviseSink2 *This);
  4878. void (WINAPI *Begin_OnRename)(AsyncIAdviseSink2 *This,IMoniker *pmk);
  4879. void (WINAPI *Finish_OnRename)(AsyncIAdviseSink2 *This);
  4880. void (WINAPI *Begin_OnSave)(AsyncIAdviseSink2 *This);
  4881. void (WINAPI *Finish_OnSave)(AsyncIAdviseSink2 *This);
  4882. void (WINAPI *Begin_OnClose)(AsyncIAdviseSink2 *This);
  4883. void (WINAPI *Finish_OnClose)(AsyncIAdviseSink2 *This);
  4884. void (WINAPI *Begin_OnLinkSrcChange)(AsyncIAdviseSink2 *This,IMoniker *pmk);
  4885. void (WINAPI *Finish_OnLinkSrcChange)(AsyncIAdviseSink2 *This);
  4886. END_INTERFACE
  4887. } AsyncIAdviseSink2Vtbl;
  4888. struct AsyncIAdviseSink2 {
  4889. CONST_VTBL struct AsyncIAdviseSink2Vtbl *lpVtbl;
  4890. };
  4891. #ifdef COBJMACROS
  4892. #define AsyncIAdviseSink2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  4893. #define AsyncIAdviseSink2_AddRef(This) (This)->lpVtbl->AddRef(This)
  4894. #define AsyncIAdviseSink2_Release(This) (This)->lpVtbl->Release(This)
  4895. #define AsyncIAdviseSink2_Begin_OnDataChange(This,pFormatetc,pStgmed) (This)->lpVtbl->Begin_OnDataChange(This,pFormatetc,pStgmed)
  4896. #define AsyncIAdviseSink2_Finish_OnDataChange(This) (This)->lpVtbl->Finish_OnDataChange(This)
  4897. #define AsyncIAdviseSink2_Begin_OnViewChange(This,dwAspect,lindex) (This)->lpVtbl->Begin_OnViewChange(This,dwAspect,lindex)
  4898. #define AsyncIAdviseSink2_Finish_OnViewChange(This) (This)->lpVtbl->Finish_OnViewChange(This)
  4899. #define AsyncIAdviseSink2_Begin_OnRename(This,pmk) (This)->lpVtbl->Begin_OnRename(This,pmk)
  4900. #define AsyncIAdviseSink2_Finish_OnRename(This) (This)->lpVtbl->Finish_OnRename(This)
  4901. #define AsyncIAdviseSink2_Begin_OnSave(This) (This)->lpVtbl->Begin_OnSave(This)
  4902. #define AsyncIAdviseSink2_Finish_OnSave(This) (This)->lpVtbl->Finish_OnSave(This)
  4903. #define AsyncIAdviseSink2_Begin_OnClose(This) (This)->lpVtbl->Begin_OnClose(This)
  4904. #define AsyncIAdviseSink2_Finish_OnClose(This) (This)->lpVtbl->Finish_OnClose(This)
  4905. #define AsyncIAdviseSink2_Begin_OnLinkSrcChange(This,pmk) (This)->lpVtbl->Begin_OnLinkSrcChange(This,pmk)
  4906. #define AsyncIAdviseSink2_Finish_OnLinkSrcChange(This) (This)->lpVtbl->Finish_OnLinkSrcChange(This)
  4907. #endif
  4908. #endif
  4909. HRESULT WINAPI AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This,IMoniker *pmk);
  4910. void __RPC_STUB AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4911. HRESULT WINAPI AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This);
  4912. void __RPC_STUB AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  4913. #endif
  4914. /*****************************************************************************
  4915. * IDataObject interface
  4916. */
  4917. #ifndef __IDataObject_INTERFACE_DEFINED__
  4918. #define __IDataObject_INTERFACE_DEFINED__
  4919.  
  4920. typedef IDataObject *LPDATAOBJECT;
  4921. typedef enum tagDATADIR {
  4922. DATADIR_GET = 1,
  4923. DATADIR_SET = 2
  4924. } DATADIR;
  4925. DEFINE_GUID(IID_IDataObject, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
  4926. #if defined(__cplusplus) && !defined(CINTERFACE)
  4927. MIDL_INTERFACE("0000010e-0000-0000-c000-000000000046")
  4928. IDataObject : public IUnknown
  4929. {
  4930. virtual HRESULT STDMETHODCALLTYPE GetData(
  4931. FORMATETC *pformatetcIn,
  4932. STGMEDIUM *pmedium) = 0;
  4933.  
  4934. virtual HRESULT STDMETHODCALLTYPE GetDataHere(
  4935. FORMATETC *pformatetc,
  4936. STGMEDIUM *pmedium) = 0;
  4937.  
  4938. virtual HRESULT STDMETHODCALLTYPE QueryGetData(
  4939. FORMATETC *pformatetc) = 0;
  4940.  
  4941. virtual HRESULT STDMETHODCALLTYPE GetCanonicalFormatEtc(
  4942. FORMATETC *pformatectIn,
  4943. FORMATETC *pformatetcOut) = 0;
  4944.  
  4945. virtual HRESULT STDMETHODCALLTYPE SetData(
  4946. FORMATETC *pformatetc,
  4947. STGMEDIUM *pmedium,
  4948. WINBOOL fRelease) = 0;
  4949.  
  4950. virtual HRESULT STDMETHODCALLTYPE EnumFormatEtc(
  4951. DWORD dwDirection,
  4952. IEnumFORMATETC **ppenumFormatEtc) = 0;
  4953.  
  4954. virtual HRESULT STDMETHODCALLTYPE DAdvise(
  4955. FORMATETC *pformatetc,
  4956. DWORD advf,
  4957. IAdviseSink *pAdvSink,
  4958. DWORD *pdwConnection) = 0;
  4959.  
  4960. virtual HRESULT STDMETHODCALLTYPE DUnadvise(
  4961. DWORD dwConnection) = 0;
  4962.  
  4963. virtual HRESULT STDMETHODCALLTYPE EnumDAdvise(
  4964. IEnumSTATDATA **ppenumAdvise) = 0;
  4965.  
  4966. };
  4967. #ifdef __CRT_UUID_DECL
  4968. __CRT_UUID_DECL(IDataObject, 0x0000010e, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
  4969. #endif
  4970. #else
  4971. typedef struct IDataObjectVtbl {
  4972. BEGIN_INTERFACE
  4973.  
  4974. /*** IUnknown methods ***/
  4975. HRESULT (STDMETHODCALLTYPE *QueryInterface)(
  4976. IDataObject* This,
  4977. REFIID riid,
  4978. void **ppvObject);
  4979.  
  4980. ULONG (STDMETHODCALLTYPE *AddRef)(
  4981. IDataObject* This);
  4982.  
  4983. ULONG (STDMETHODCALLTYPE *Release)(
  4984. IDataObject* This);
  4985.  
  4986. /*** IDataObject methods ***/
  4987. HRESULT (STDMETHODCALLTYPE *GetData)(
  4988. IDataObject* This,
  4989. FORMATETC *pformatetcIn,
  4990. STGMEDIUM *pmedium);
  4991.  
  4992. HRESULT (STDMETHODCALLTYPE *GetDataHere)(
  4993. IDataObject* This,
  4994. FORMATETC *pformatetc,
  4995. STGMEDIUM *pmedium);
  4996.  
  4997. HRESULT (STDMETHODCALLTYPE *QueryGetData)(
  4998. IDataObject* This,
  4999. FORMATETC *pformatetc);
  5000.  
  5001. HRESULT (STDMETHODCALLTYPE *GetCanonicalFormatEtc)(
  5002. IDataObject* This,
  5003. FORMATETC *pformatectIn,
  5004. FORMATETC *pformatetcOut);
  5005.  
  5006. HRESULT (STDMETHODCALLTYPE *SetData)(
  5007. IDataObject* This,
  5008. FORMATETC *pformatetc,
  5009. STGMEDIUM *pmedium,
  5010. WINBOOL fRelease);
  5011.  
  5012. HRESULT (STDMETHODCALLTYPE *EnumFormatEtc)(
  5013. IDataObject* This,
  5014. DWORD dwDirection,
  5015. IEnumFORMATETC **ppenumFormatEtc);
  5016.  
  5017. HRESULT (STDMETHODCALLTYPE *DAdvise)(
  5018. IDataObject* This,
  5019. FORMATETC *pformatetc,
  5020. DWORD advf,
  5021. IAdviseSink *pAdvSink,
  5022. DWORD *pdwConnection);
  5023.  
  5024. HRESULT (STDMETHODCALLTYPE *DUnadvise)(
  5025. IDataObject* This,
  5026. DWORD dwConnection);
  5027.  
  5028. HRESULT (STDMETHODCALLTYPE *EnumDAdvise)(
  5029. IDataObject* This,
  5030. IEnumSTATDATA **ppenumAdvise);
  5031.  
  5032. END_INTERFACE
  5033. } IDataObjectVtbl;
  5034. interface IDataObject {
  5035. CONST_VTBL IDataObjectVtbl* lpVtbl;
  5036. };
  5037.  
  5038. #ifdef COBJMACROS
  5039. #ifndef WIDL_C_INLINE_WRAPPERS
  5040. /*** IUnknown methods ***/
  5041. #define IDataObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5042. #define IDataObject_AddRef(This) (This)->lpVtbl->AddRef(This)
  5043. #define IDataObject_Release(This) (This)->lpVtbl->Release(This)
  5044. /*** IDataObject methods ***/
  5045. #define IDataObject_GetData(This,pformatetcIn,pmedium) (This)->lpVtbl->GetData(This,pformatetcIn,pmedium)
  5046. #define IDataObject_GetDataHere(This,pformatetc,pmedium) (This)->lpVtbl->GetDataHere(This,pformatetc,pmedium)
  5047. #define IDataObject_QueryGetData(This,pformatetc) (This)->lpVtbl->QueryGetData(This,pformatetc)
  5048. #define IDataObject_GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut) (This)->lpVtbl->GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut)
  5049. #define IDataObject_SetData(This,pformatetc,pmedium,fRelease) (This)->lpVtbl->SetData(This,pformatetc,pmedium,fRelease)
  5050. #define IDataObject_EnumFormatEtc(This,dwDirection,ppenumFormatEtc) (This)->lpVtbl->EnumFormatEtc(This,dwDirection,ppenumFormatEtc)
  5051. #define IDataObject_DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection) (This)->lpVtbl->DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection)
  5052. #define IDataObject_DUnadvise(This,dwConnection) (This)->lpVtbl->DUnadvise(This,dwConnection)
  5053. #define IDataObject_EnumDAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumDAdvise(This,ppenumAdvise)
  5054. #else
  5055. /*** IUnknown methods ***/
  5056. static FORCEINLINE HRESULT IDataObject_QueryInterface(IDataObject* This,REFIID riid,void **ppvObject) {
  5057. return This->lpVtbl->QueryInterface(This,riid,ppvObject);
  5058. }
  5059. static FORCEINLINE ULONG IDataObject_AddRef(IDataObject* This) {
  5060. return This->lpVtbl->AddRef(This);
  5061. }
  5062. static FORCEINLINE ULONG IDataObject_Release(IDataObject* This) {
  5063. return This->lpVtbl->Release(This);
  5064. }
  5065. /*** IDataObject methods ***/
  5066. static FORCEINLINE HRESULT IDataObject_GetData(IDataObject* This,FORMATETC *pformatetcIn,STGMEDIUM *pmedium) {
  5067. return This->lpVtbl->GetData(This,pformatetcIn,pmedium);
  5068. }
  5069. static FORCEINLINE HRESULT IDataObject_GetDataHere(IDataObject* This,FORMATETC *pformatetc,STGMEDIUM *pmedium) {
  5070. return This->lpVtbl->GetDataHere(This,pformatetc,pmedium);
  5071. }
  5072. static FORCEINLINE HRESULT IDataObject_QueryGetData(IDataObject* This,FORMATETC *pformatetc) {
  5073. return This->lpVtbl->QueryGetData(This,pformatetc);
  5074. }
  5075. static FORCEINLINE HRESULT IDataObject_GetCanonicalFormatEtc(IDataObject* This,FORMATETC *pformatectIn,FORMATETC *pformatetcOut) {
  5076. return This->lpVtbl->GetCanonicalFormatEtc(This,pformatectIn,pformatetcOut);
  5077. }
  5078. static FORCEINLINE HRESULT IDataObject_SetData(IDataObject* This,FORMATETC *pformatetc,STGMEDIUM *pmedium,WINBOOL fRelease) {
  5079. return This->lpVtbl->SetData(This,pformatetc,pmedium,fRelease);
  5080. }
  5081. static FORCEINLINE HRESULT IDataObject_EnumFormatEtc(IDataObject* This,DWORD dwDirection,IEnumFORMATETC **ppenumFormatEtc) {
  5082. return This->lpVtbl->EnumFormatEtc(This,dwDirection,ppenumFormatEtc);
  5083. }
  5084. static FORCEINLINE HRESULT IDataObject_DAdvise(IDataObject* This,FORMATETC *pformatetc,DWORD advf,IAdviseSink *pAdvSink,DWORD *pdwConnection) {
  5085. return This->lpVtbl->DAdvise(This,pformatetc,advf,pAdvSink,pdwConnection);
  5086. }
  5087. static FORCEINLINE HRESULT IDataObject_DUnadvise(IDataObject* This,DWORD dwConnection) {
  5088. return This->lpVtbl->DUnadvise(This,dwConnection);
  5089. }
  5090. static FORCEINLINE HRESULT IDataObject_EnumDAdvise(IDataObject* This,IEnumSTATDATA **ppenumAdvise) {
  5091. return This->lpVtbl->EnumDAdvise(This,ppenumAdvise);
  5092. }
  5093. #endif
  5094. #endif
  5095.  
  5096. #endif
  5097.  
  5098. HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetData_Proxy(
  5099. IDataObject* This,
  5100. FORMATETC *pformatetcIn,
  5101. STGMEDIUM *pRemoteMedium);
  5102. void __RPC_STUB IDataObject_RemoteGetData_Stub(
  5103. IRpcStubBuffer* This,
  5104. IRpcChannelBuffer* pRpcChannelBuffer,
  5105. PRPC_MESSAGE pRpcMessage,
  5106. DWORD* pdwStubPhase);
  5107. HRESULT STDMETHODCALLTYPE IDataObject_RemoteGetDataHere_Proxy(
  5108. IDataObject* This,
  5109. FORMATETC *pformatetc,
  5110. STGMEDIUM *pRemoteMedium);
  5111. void __RPC_STUB IDataObject_RemoteGetDataHere_Stub(
  5112. IRpcStubBuffer* This,
  5113. IRpcChannelBuffer* pRpcChannelBuffer,
  5114. PRPC_MESSAGE pRpcMessage,
  5115. DWORD* pdwStubPhase);
  5116. HRESULT STDMETHODCALLTYPE IDataObject_QueryGetData_Proxy(
  5117. IDataObject* This,
  5118. FORMATETC *pformatetc);
  5119. void __RPC_STUB IDataObject_QueryGetData_Stub(
  5120. IRpcStubBuffer* This,
  5121. IRpcChannelBuffer* pRpcChannelBuffer,
  5122. PRPC_MESSAGE pRpcMessage,
  5123. DWORD* pdwStubPhase);
  5124. HRESULT STDMETHODCALLTYPE IDataObject_GetCanonicalFormatEtc_Proxy(
  5125. IDataObject* This,
  5126. FORMATETC *pformatectIn,
  5127. FORMATETC *pformatetcOut);
  5128. void __RPC_STUB IDataObject_GetCanonicalFormatEtc_Stub(
  5129. IRpcStubBuffer* This,
  5130. IRpcChannelBuffer* pRpcChannelBuffer,
  5131. PRPC_MESSAGE pRpcMessage,
  5132. DWORD* pdwStubPhase);
  5133. HRESULT STDMETHODCALLTYPE IDataObject_RemoteSetData_Proxy(
  5134. IDataObject* This,
  5135. FORMATETC *pformatetc,
  5136. FLAG_STGMEDIUM *pmedium,
  5137. WINBOOL fRelease);
  5138. void __RPC_STUB IDataObject_RemoteSetData_Stub(
  5139. IRpcStubBuffer* This,
  5140. IRpcChannelBuffer* pRpcChannelBuffer,
  5141. PRPC_MESSAGE pRpcMessage,
  5142. DWORD* pdwStubPhase);
  5143. HRESULT STDMETHODCALLTYPE IDataObject_EnumFormatEtc_Proxy(
  5144. IDataObject* This,
  5145. DWORD dwDirection,
  5146. IEnumFORMATETC **ppenumFormatEtc);
  5147. void __RPC_STUB IDataObject_EnumFormatEtc_Stub(
  5148. IRpcStubBuffer* This,
  5149. IRpcChannelBuffer* pRpcChannelBuffer,
  5150. PRPC_MESSAGE pRpcMessage,
  5151. DWORD* pdwStubPhase);
  5152. HRESULT STDMETHODCALLTYPE IDataObject_DAdvise_Proxy(
  5153. IDataObject* This,
  5154. FORMATETC *pformatetc,
  5155. DWORD advf,
  5156. IAdviseSink *pAdvSink,
  5157. DWORD *pdwConnection);
  5158. void __RPC_STUB IDataObject_DAdvise_Stub(
  5159. IRpcStubBuffer* This,
  5160. IRpcChannelBuffer* pRpcChannelBuffer,
  5161. PRPC_MESSAGE pRpcMessage,
  5162. DWORD* pdwStubPhase);
  5163. HRESULT STDMETHODCALLTYPE IDataObject_DUnadvise_Proxy(
  5164. IDataObject* This,
  5165. DWORD dwConnection);
  5166. void __RPC_STUB IDataObject_DUnadvise_Stub(
  5167. IRpcStubBuffer* This,
  5168. IRpcChannelBuffer* pRpcChannelBuffer,
  5169. PRPC_MESSAGE pRpcMessage,
  5170. DWORD* pdwStubPhase);
  5171. HRESULT STDMETHODCALLTYPE IDataObject_EnumDAdvise_Proxy(
  5172. IDataObject* This,
  5173. IEnumSTATDATA **ppenumAdvise);
  5174. void __RPC_STUB IDataObject_EnumDAdvise_Stub(
  5175. IRpcStubBuffer* This,
  5176. IRpcChannelBuffer* pRpcChannelBuffer,
  5177. PRPC_MESSAGE pRpcMessage,
  5178. DWORD* pdwStubPhase);
  5179. HRESULT CALLBACK IDataObject_GetData_Proxy(
  5180. IDataObject* This,
  5181. FORMATETC *pformatetcIn,
  5182. STGMEDIUM *pmedium);
  5183. HRESULT __RPC_STUB IDataObject_GetData_Stub(
  5184. IDataObject* This,
  5185. FORMATETC *pformatetcIn,
  5186. STGMEDIUM *pRemoteMedium);
  5187. HRESULT CALLBACK IDataObject_GetDataHere_Proxy(
  5188. IDataObject* This,
  5189. FORMATETC *pformatetc,
  5190. STGMEDIUM *pmedium);
  5191. HRESULT __RPC_STUB IDataObject_GetDataHere_Stub(
  5192. IDataObject* This,
  5193. FORMATETC *pformatetc,
  5194. STGMEDIUM *pRemoteMedium);
  5195. HRESULT CALLBACK IDataObject_SetData_Proxy(
  5196. IDataObject* This,
  5197. FORMATETC *pformatetc,
  5198. STGMEDIUM *pmedium,
  5199. WINBOOL fRelease);
  5200. HRESULT __RPC_STUB IDataObject_SetData_Stub(
  5201. IDataObject* This,
  5202. FORMATETC *pformatetc,
  5203. FLAG_STGMEDIUM *pmedium,
  5204. WINBOOL fRelease);
  5205.  
  5206. #endif /* __IDataObject_INTERFACE_DEFINED__ */
  5207.  
  5208. #ifndef __IDataAdviseHolder_INTERFACE_DEFINED__
  5209. #define __IDataAdviseHolder_INTERFACE_DEFINED__
  5210. typedef IDataAdviseHolder *LPDATAADVISEHOLDER;
  5211. EXTERN_C const IID IID_IDataAdviseHolder;
  5212. #if defined(__cplusplus) && !defined(CINTERFACE)
  5213. struct IDataAdviseHolder : public IUnknown {
  5214. public:
  5215. virtual HRESULT WINAPI Advise(IDataObject *pDataObject,FORMATETC *pFetc,DWORD advf,IAdviseSink *pAdvise,DWORD *pdwConnection) = 0;
  5216. virtual HRESULT WINAPI Unadvise(DWORD dwConnection) = 0;
  5217. virtual HRESULT WINAPI EnumAdvise(IEnumSTATDATA **ppenumAdvise) = 0;
  5218. virtual HRESULT WINAPI SendOnDataChange(IDataObject *pDataObject,DWORD dwReserved,DWORD advf) = 0;
  5219. };
  5220. #else
  5221. typedef struct IDataAdviseHolderVtbl {
  5222. BEGIN_INTERFACE
  5223. HRESULT (WINAPI *QueryInterface)(IDataAdviseHolder *This,REFIID riid,void **ppvObject);
  5224. ULONG (WINAPI *AddRef)(IDataAdviseHolder *This);
  5225. ULONG (WINAPI *Release)(IDataAdviseHolder *This);
  5226. HRESULT (WINAPI *Advise)(IDataAdviseHolder *This,IDataObject *pDataObject,FORMATETC *pFetc,DWORD advf,IAdviseSink *pAdvise,DWORD *pdwConnection);
  5227. HRESULT (WINAPI *Unadvise)(IDataAdviseHolder *This,DWORD dwConnection);
  5228. HRESULT (WINAPI *EnumAdvise)(IDataAdviseHolder *This,IEnumSTATDATA **ppenumAdvise);
  5229. HRESULT (WINAPI *SendOnDataChange)(IDataAdviseHolder *This,IDataObject *pDataObject,DWORD dwReserved,DWORD advf);
  5230. END_INTERFACE
  5231. } IDataAdviseHolderVtbl;
  5232. struct IDataAdviseHolder {
  5233. CONST_VTBL struct IDataAdviseHolderVtbl *lpVtbl;
  5234. };
  5235. #ifdef COBJMACROS
  5236. #define IDataAdviseHolder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5237. #define IDataAdviseHolder_AddRef(This) (This)->lpVtbl->AddRef(This)
  5238. #define IDataAdviseHolder_Release(This) (This)->lpVtbl->Release(This)
  5239. #define IDataAdviseHolder_Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection) (This)->lpVtbl->Advise(This,pDataObject,pFetc,advf,pAdvise,pdwConnection)
  5240. #define IDataAdviseHolder_Unadvise(This,dwConnection) (This)->lpVtbl->Unadvise(This,dwConnection)
  5241. #define IDataAdviseHolder_EnumAdvise(This,ppenumAdvise) (This)->lpVtbl->EnumAdvise(This,ppenumAdvise)
  5242. #define IDataAdviseHolder_SendOnDataChange(This,pDataObject,dwReserved,advf) (This)->lpVtbl->SendOnDataChange(This,pDataObject,dwReserved,advf)
  5243. #endif
  5244. #endif
  5245. HRESULT WINAPI IDataAdviseHolder_Advise_Proxy(IDataAdviseHolder *This,IDataObject *pDataObject,FORMATETC *pFetc,DWORD advf,IAdviseSink *pAdvise,DWORD *pdwConnection);
  5246. void __RPC_STUB IDataAdviseHolder_Advise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5247. HRESULT WINAPI IDataAdviseHolder_Unadvise_Proxy(IDataAdviseHolder *This,DWORD dwConnection);
  5248. void __RPC_STUB IDataAdviseHolder_Unadvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5249. HRESULT WINAPI IDataAdviseHolder_EnumAdvise_Proxy(IDataAdviseHolder *This,IEnumSTATDATA **ppenumAdvise);
  5250. void __RPC_STUB IDataAdviseHolder_EnumAdvise_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5251. HRESULT WINAPI IDataAdviseHolder_SendOnDataChange_Proxy(IDataAdviseHolder *This,IDataObject *pDataObject,DWORD dwReserved,DWORD advf);
  5252. void __RPC_STUB IDataAdviseHolder_SendOnDataChange_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5253. #endif
  5254.  
  5255. #ifndef __IMessageFilter_INTERFACE_DEFINED__
  5256. #define __IMessageFilter_INTERFACE_DEFINED__
  5257. typedef IMessageFilter *LPMESSAGEFILTER;
  5258.  
  5259. typedef enum tagCALLTYPE {
  5260. CALLTYPE_TOPLEVEL = 1,CALLTYPE_NESTED = 2,CALLTYPE_ASYNC = 3,CALLTYPE_TOPLEVEL_CALLPENDING = 4,CALLTYPE_ASYNC_CALLPENDING = 5
  5261. } CALLTYPE;
  5262.  
  5263. typedef enum tagSERVERCALL {
  5264. SERVERCALL_ISHANDLED = 0,SERVERCALL_REJECTED = 1,SERVERCALL_RETRYLATER = 2
  5265. } SERVERCALL;
  5266.  
  5267. typedef enum tagPENDINGTYPE {
  5268. PENDINGTYPE_TOPLEVEL = 1,PENDINGTYPE_NESTED = 2
  5269. } PENDINGTYPE;
  5270.  
  5271. typedef enum tagPENDINGMSG {
  5272. PENDINGMSG_CANCELCALL = 0,PENDINGMSG_WAITNOPROCESS = 1,PENDINGMSG_WAITDEFPROCESS = 2
  5273. } PENDINGMSG;
  5274.  
  5275. typedef struct tagINTERFACEINFO {
  5276. IUnknown *pUnk;
  5277. IID iid;
  5278. WORD wMethod;
  5279. } INTERFACEINFO;
  5280.  
  5281. typedef struct tagINTERFACEINFO *LPINTERFACEINFO;
  5282.  
  5283. EXTERN_C const IID IID_IMessageFilter;
  5284. #if defined(__cplusplus) && !defined(CINTERFACE)
  5285. struct IMessageFilter : public IUnknown {
  5286. public:
  5287. virtual DWORD WINAPI HandleInComingCall(DWORD dwCallType,HTASK htaskCaller,DWORD dwTickCount,LPINTERFACEINFO lpInterfaceInfo) = 0;
  5288. virtual DWORD WINAPI RetryRejectedCall(HTASK htaskCallee,DWORD dwTickCount,DWORD dwRejectType) = 0;
  5289. virtual DWORD WINAPI MessagePending(HTASK htaskCallee,DWORD dwTickCount,DWORD dwPendingType) = 0;
  5290. };
  5291. #else
  5292. typedef struct IMessageFilterVtbl {
  5293. BEGIN_INTERFACE
  5294. HRESULT (WINAPI *QueryInterface)(IMessageFilter *This,REFIID riid,void **ppvObject);
  5295. ULONG (WINAPI *AddRef)(IMessageFilter *This);
  5296. ULONG (WINAPI *Release)(IMessageFilter *This);
  5297. DWORD (WINAPI *HandleInComingCall)(IMessageFilter *This,DWORD dwCallType,HTASK htaskCaller,DWORD dwTickCount,LPINTERFACEINFO lpInterfaceInfo);
  5298. DWORD (WINAPI *RetryRejectedCall)(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwRejectType);
  5299. DWORD (WINAPI *MessagePending)(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwPendingType);
  5300. END_INTERFACE
  5301. } IMessageFilterVtbl;
  5302. struct IMessageFilter {
  5303. CONST_VTBL struct IMessageFilterVtbl *lpVtbl;
  5304. };
  5305. #ifdef COBJMACROS
  5306. #define IMessageFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5307. #define IMessageFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
  5308. #define IMessageFilter_Release(This) (This)->lpVtbl->Release(This)
  5309. #define IMessageFilter_HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo) (This)->lpVtbl->HandleInComingCall(This,dwCallType,htaskCaller,dwTickCount,lpInterfaceInfo)
  5310. #define IMessageFilter_RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType) (This)->lpVtbl->RetryRejectedCall(This,htaskCallee,dwTickCount,dwRejectType)
  5311. #define IMessageFilter_MessagePending(This,htaskCallee,dwTickCount,dwPendingType) (This)->lpVtbl->MessagePending(This,htaskCallee,dwTickCount,dwPendingType)
  5312. #endif
  5313. #endif
  5314. DWORD WINAPI IMessageFilter_HandleInComingCall_Proxy(IMessageFilter *This,DWORD dwCallType,HTASK htaskCaller,DWORD dwTickCount,LPINTERFACEINFO lpInterfaceInfo);
  5315. void __RPC_STUB IMessageFilter_HandleInComingCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5316. DWORD WINAPI IMessageFilter_RetryRejectedCall_Proxy(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwRejectType);
  5317. void __RPC_STUB IMessageFilter_RetryRejectedCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5318. DWORD WINAPI IMessageFilter_MessagePending_Proxy(IMessageFilter *This,HTASK htaskCallee,DWORD dwTickCount,DWORD dwPendingType);
  5319. void __RPC_STUB IMessageFilter_MessagePending_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5320. #endif
  5321.  
  5322. #ifndef __IRpcChannelBuffer_INTERFACE_DEFINED__
  5323. #define __IRpcChannelBuffer_INTERFACE_DEFINED__
  5324. typedef ULONG RPCOLEDATAREP;
  5325.  
  5326. typedef struct tagRPCOLEMESSAGE {
  5327. void *reserved1;
  5328. RPCOLEDATAREP dataRepresentation;
  5329. void *Buffer;
  5330. ULONG cbBuffer;
  5331. ULONG iMethod;
  5332. void *reserved2[5 ];
  5333. ULONG rpcFlags;
  5334. } RPCOLEMESSAGE;
  5335.  
  5336. typedef RPCOLEMESSAGE *PRPCOLEMESSAGE;
  5337.  
  5338. EXTERN_C const IID IID_IRpcChannelBuffer;
  5339. #if defined(__cplusplus) && !defined(CINTERFACE)
  5340. struct IRpcChannelBuffer : public IUnknown {
  5341. public:
  5342. virtual HRESULT WINAPI GetBuffer(RPCOLEMESSAGE *pMessage,REFIID riid) = 0;
  5343. virtual HRESULT WINAPI SendReceive(RPCOLEMESSAGE *pMessage,ULONG *pStatus) = 0;
  5344. virtual HRESULT WINAPI FreeBuffer(RPCOLEMESSAGE *pMessage) = 0;
  5345. virtual HRESULT WINAPI GetDestCtx(DWORD *pdwDestContext,void **ppvDestContext) = 0;
  5346. virtual HRESULT WINAPI IsConnected(void) = 0;
  5347. };
  5348. #else
  5349. typedef struct IRpcChannelBufferVtbl {
  5350. BEGIN_INTERFACE
  5351. HRESULT (WINAPI *QueryInterface)(IRpcChannelBuffer *This,REFIID riid,void **ppvObject);
  5352. ULONG (WINAPI *AddRef)(IRpcChannelBuffer *This);
  5353. ULONG (WINAPI *Release)(IRpcChannelBuffer *This);
  5354. HRESULT (WINAPI *GetBuffer)(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,REFIID riid);
  5355. HRESULT (WINAPI *SendReceive)(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);
  5356. HRESULT (WINAPI *FreeBuffer)(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage);
  5357. HRESULT (WINAPI *GetDestCtx)(IRpcChannelBuffer *This,DWORD *pdwDestContext,void **ppvDestContext);
  5358. HRESULT (WINAPI *IsConnected)(IRpcChannelBuffer *This);
  5359. END_INTERFACE
  5360. } IRpcChannelBufferVtbl;
  5361. struct IRpcChannelBuffer {
  5362. CONST_VTBL struct IRpcChannelBufferVtbl *lpVtbl;
  5363. };
  5364. #ifdef COBJMACROS
  5365. #define IRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5366. #define IRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
  5367. #define IRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This)
  5368. #define IRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
  5369. #define IRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
  5370. #define IRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
  5371. #define IRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
  5372. #define IRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This)
  5373. #endif
  5374. #endif
  5375. HRESULT WINAPI IRpcChannelBuffer_GetBuffer_Proxy(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,REFIID riid);
  5376. void __RPC_STUB IRpcChannelBuffer_GetBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5377. HRESULT WINAPI IRpcChannelBuffer_SendReceive_Proxy(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);
  5378. void __RPC_STUB IRpcChannelBuffer_SendReceive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5379. HRESULT WINAPI IRpcChannelBuffer_FreeBuffer_Proxy(IRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage);
  5380. void __RPC_STUB IRpcChannelBuffer_FreeBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5381. HRESULT WINAPI IRpcChannelBuffer_GetDestCtx_Proxy(IRpcChannelBuffer *This,DWORD *pdwDestContext,void **ppvDestContext);
  5382. void __RPC_STUB IRpcChannelBuffer_GetDestCtx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5383. HRESULT WINAPI IRpcChannelBuffer_IsConnected_Proxy(IRpcChannelBuffer *This);
  5384. void __RPC_STUB IRpcChannelBuffer_IsConnected_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5385. #endif
  5386.  
  5387. #ifndef __IRpcChannelBuffer2_INTERFACE_DEFINED__
  5388. #define __IRpcChannelBuffer2_INTERFACE_DEFINED__
  5389. EXTERN_C const IID IID_IRpcChannelBuffer2;
  5390. #if defined(__cplusplus) && !defined(CINTERFACE)
  5391. struct IRpcChannelBuffer2 : public IRpcChannelBuffer {
  5392. public:
  5393. virtual HRESULT WINAPI GetProtocolVersion(DWORD *pdwVersion) = 0;
  5394. };
  5395. #else
  5396. typedef struct IRpcChannelBuffer2Vtbl {
  5397. BEGIN_INTERFACE
  5398. HRESULT (WINAPI *QueryInterface)(IRpcChannelBuffer2 *This,REFIID riid,void **ppvObject);
  5399. ULONG (WINAPI *AddRef)(IRpcChannelBuffer2 *This);
  5400. ULONG (WINAPI *Release)(IRpcChannelBuffer2 *This);
  5401. HRESULT (WINAPI *GetBuffer)(IRpcChannelBuffer2 *This,RPCOLEMESSAGE *pMessage,REFIID riid);
  5402. HRESULT (WINAPI *SendReceive)(IRpcChannelBuffer2 *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);
  5403. HRESULT (WINAPI *FreeBuffer)(IRpcChannelBuffer2 *This,RPCOLEMESSAGE *pMessage);
  5404. HRESULT (WINAPI *GetDestCtx)(IRpcChannelBuffer2 *This,DWORD *pdwDestContext,void **ppvDestContext);
  5405. HRESULT (WINAPI *IsConnected)(IRpcChannelBuffer2 *This);
  5406. HRESULT (WINAPI *GetProtocolVersion)(IRpcChannelBuffer2 *This,DWORD *pdwVersion);
  5407. END_INTERFACE
  5408. } IRpcChannelBuffer2Vtbl;
  5409. struct IRpcChannelBuffer2 {
  5410. CONST_VTBL struct IRpcChannelBuffer2Vtbl *lpVtbl;
  5411. };
  5412. #ifdef COBJMACROS
  5413. #define IRpcChannelBuffer2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5414. #define IRpcChannelBuffer2_AddRef(This) (This)->lpVtbl->AddRef(This)
  5415. #define IRpcChannelBuffer2_Release(This) (This)->lpVtbl->Release(This)
  5416. #define IRpcChannelBuffer2_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
  5417. #define IRpcChannelBuffer2_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
  5418. #define IRpcChannelBuffer2_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
  5419. #define IRpcChannelBuffer2_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
  5420. #define IRpcChannelBuffer2_IsConnected(This) (This)->lpVtbl->IsConnected(This)
  5421. #define IRpcChannelBuffer2_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)
  5422. #endif
  5423. #endif
  5424. HRESULT WINAPI IRpcChannelBuffer2_GetProtocolVersion_Proxy(IRpcChannelBuffer2 *This,DWORD *pdwVersion);
  5425. void __RPC_STUB IRpcChannelBuffer2_GetProtocolVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5426. #endif
  5427.  
  5428. #ifndef __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__
  5429. #define __IAsyncRpcChannelBuffer_INTERFACE_DEFINED__
  5430. EXTERN_C const IID IID_IAsyncRpcChannelBuffer;
  5431. #if defined(__cplusplus) && !defined(CINTERFACE)
  5432. struct IAsyncRpcChannelBuffer : public IRpcChannelBuffer2 {
  5433. public:
  5434. virtual HRESULT WINAPI Send(RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus) = 0;
  5435. virtual HRESULT WINAPI Receive(RPCOLEMESSAGE *pMsg,ULONG *pulStatus) = 0;
  5436. virtual HRESULT WINAPI GetDestCtxEx(RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) = 0;
  5437. };
  5438. #else
  5439. typedef struct IAsyncRpcChannelBufferVtbl {
  5440. BEGIN_INTERFACE
  5441. HRESULT (WINAPI *QueryInterface)(IAsyncRpcChannelBuffer *This,REFIID riid,void **ppvObject);
  5442. ULONG (WINAPI *AddRef)(IAsyncRpcChannelBuffer *This);
  5443. ULONG (WINAPI *Release)(IAsyncRpcChannelBuffer *This);
  5444. HRESULT (WINAPI *GetBuffer)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,REFIID riid);
  5445. HRESULT (WINAPI *SendReceive)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);
  5446. HRESULT (WINAPI *FreeBuffer)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMessage);
  5447. HRESULT (WINAPI *GetDestCtx)(IAsyncRpcChannelBuffer *This,DWORD *pdwDestContext,void **ppvDestContext);
  5448. HRESULT (WINAPI *IsConnected)(IAsyncRpcChannelBuffer *This);
  5449. HRESULT (WINAPI *GetProtocolVersion)(IAsyncRpcChannelBuffer *This,DWORD *pdwVersion);
  5450. HRESULT (WINAPI *Send)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus);
  5451. HRESULT (WINAPI *Receive)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);
  5452. HRESULT (WINAPI *GetDestCtxEx)(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);
  5453. END_INTERFACE
  5454. } IAsyncRpcChannelBufferVtbl;
  5455. struct IAsyncRpcChannelBuffer {
  5456. CONST_VTBL struct IAsyncRpcChannelBufferVtbl *lpVtbl;
  5457. };
  5458. #ifdef COBJMACROS
  5459. #define IAsyncRpcChannelBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5460. #define IAsyncRpcChannelBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
  5461. #define IAsyncRpcChannelBuffer_Release(This) (This)->lpVtbl->Release(This)
  5462. #define IAsyncRpcChannelBuffer_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
  5463. #define IAsyncRpcChannelBuffer_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
  5464. #define IAsyncRpcChannelBuffer_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
  5465. #define IAsyncRpcChannelBuffer_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
  5466. #define IAsyncRpcChannelBuffer_IsConnected(This) (This)->lpVtbl->IsConnected(This)
  5467. #define IAsyncRpcChannelBuffer_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)
  5468. #define IAsyncRpcChannelBuffer_Send(This,pMsg,pSync,pulStatus) (This)->lpVtbl->Send(This,pMsg,pSync,pulStatus)
  5469. #define IAsyncRpcChannelBuffer_Receive(This,pMsg,pulStatus) (This)->lpVtbl->Receive(This,pMsg,pulStatus)
  5470. #define IAsyncRpcChannelBuffer_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
  5471. #endif
  5472. #endif
  5473. HRESULT WINAPI IAsyncRpcChannelBuffer_Send_Proxy(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ISynchronize *pSync,ULONG *pulStatus);
  5474. void __RPC_STUB IAsyncRpcChannelBuffer_Send_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5475. HRESULT WINAPI IAsyncRpcChannelBuffer_Receive_Proxy(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);
  5476. void __RPC_STUB IAsyncRpcChannelBuffer_Receive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5477. HRESULT WINAPI IAsyncRpcChannelBuffer_GetDestCtxEx_Proxy(IAsyncRpcChannelBuffer *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);
  5478. void __RPC_STUB IAsyncRpcChannelBuffer_GetDestCtxEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5479. #endif
  5480.  
  5481. #ifndef __IRpcChannelBuffer3_INTERFACE_DEFINED__
  5482. #define __IRpcChannelBuffer3_INTERFACE_DEFINED__
  5483. EXTERN_C const IID IID_IRpcChannelBuffer3;
  5484. #if defined(__cplusplus) && !defined(CINTERFACE)
  5485. struct IRpcChannelBuffer3 : public IRpcChannelBuffer2 {
  5486. public:
  5487. virtual HRESULT WINAPI Send(RPCOLEMESSAGE *pMsg,ULONG *pulStatus) = 0;
  5488. virtual HRESULT WINAPI Receive(RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus) = 0;
  5489. virtual HRESULT WINAPI Cancel(RPCOLEMESSAGE *pMsg) = 0;
  5490. virtual HRESULT WINAPI GetCallContext(RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface) = 0;
  5491. virtual HRESULT WINAPI GetDestCtxEx(RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext) = 0;
  5492. virtual HRESULT WINAPI GetState(RPCOLEMESSAGE *pMsg,DWORD *pState) = 0;
  5493. virtual HRESULT WINAPI RegisterAsync(RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr) = 0;
  5494. };
  5495. #else
  5496. typedef struct IRpcChannelBuffer3Vtbl {
  5497. BEGIN_INTERFACE
  5498. HRESULT (WINAPI *QueryInterface)(IRpcChannelBuffer3 *This,REFIID riid,void **ppvObject);
  5499. ULONG (WINAPI *AddRef)(IRpcChannelBuffer3 *This);
  5500. ULONG (WINAPI *Release)(IRpcChannelBuffer3 *This);
  5501. HRESULT (WINAPI *GetBuffer)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMessage,REFIID riid);
  5502. HRESULT (WINAPI *SendReceive)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMessage,ULONG *pStatus);
  5503. HRESULT (WINAPI *FreeBuffer)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMessage);
  5504. HRESULT (WINAPI *GetDestCtx)(IRpcChannelBuffer3 *This,DWORD *pdwDestContext,void **ppvDestContext);
  5505. HRESULT (WINAPI *IsConnected)(IRpcChannelBuffer3 *This);
  5506. HRESULT (WINAPI *GetProtocolVersion)(IRpcChannelBuffer3 *This,DWORD *pdwVersion);
  5507. HRESULT (WINAPI *Send)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);
  5508. HRESULT (WINAPI *Receive)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus);
  5509. HRESULT (WINAPI *Cancel)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg);
  5510. HRESULT (WINAPI *GetCallContext)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface);
  5511. HRESULT (WINAPI *GetDestCtxEx)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);
  5512. HRESULT (WINAPI *GetState)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pState);
  5513. HRESULT (WINAPI *RegisterAsync)(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr);
  5514. END_INTERFACE
  5515. } IRpcChannelBuffer3Vtbl;
  5516. struct IRpcChannelBuffer3 {
  5517. CONST_VTBL struct IRpcChannelBuffer3Vtbl *lpVtbl;
  5518. };
  5519. #ifdef COBJMACROS
  5520. #define IRpcChannelBuffer3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5521. #define IRpcChannelBuffer3_AddRef(This) (This)->lpVtbl->AddRef(This)
  5522. #define IRpcChannelBuffer3_Release(This) (This)->lpVtbl->Release(This)
  5523. #define IRpcChannelBuffer3_GetBuffer(This,pMessage,riid) (This)->lpVtbl->GetBuffer(This,pMessage,riid)
  5524. #define IRpcChannelBuffer3_SendReceive(This,pMessage,pStatus) (This)->lpVtbl->SendReceive(This,pMessage,pStatus)
  5525. #define IRpcChannelBuffer3_FreeBuffer(This,pMessage) (This)->lpVtbl->FreeBuffer(This,pMessage)
  5526. #define IRpcChannelBuffer3_GetDestCtx(This,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtx(This,pdwDestContext,ppvDestContext)
  5527. #define IRpcChannelBuffer3_IsConnected(This) (This)->lpVtbl->IsConnected(This)
  5528. #define IRpcChannelBuffer3_GetProtocolVersion(This,pdwVersion) (This)->lpVtbl->GetProtocolVersion(This,pdwVersion)
  5529. #define IRpcChannelBuffer3_Send(This,pMsg,pulStatus) (This)->lpVtbl->Send(This,pMsg,pulStatus)
  5530. #define IRpcChannelBuffer3_Receive(This,pMsg,ulSize,pulStatus) (This)->lpVtbl->Receive(This,pMsg,ulSize,pulStatus)
  5531. #define IRpcChannelBuffer3_Cancel(This,pMsg) (This)->lpVtbl->Cancel(This,pMsg)
  5532. #define IRpcChannelBuffer3_GetCallContext(This,pMsg,riid,pInterface) (This)->lpVtbl->GetCallContext(This,pMsg,riid,pInterface)
  5533. #define IRpcChannelBuffer3_GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext) (This)->lpVtbl->GetDestCtxEx(This,pMsg,pdwDestContext,ppvDestContext)
  5534. #define IRpcChannelBuffer3_GetState(This,pMsg,pState) (This)->lpVtbl->GetState(This,pMsg,pState)
  5535. #define IRpcChannelBuffer3_RegisterAsync(This,pMsg,pAsyncMgr) (This)->lpVtbl->RegisterAsync(This,pMsg,pAsyncMgr)
  5536. #endif
  5537. #endif
  5538. HRESULT WINAPI IRpcChannelBuffer3_Send_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG *pulStatus);
  5539. void __RPC_STUB IRpcChannelBuffer3_Send_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5540. HRESULT WINAPI IRpcChannelBuffer3_Receive_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,ULONG ulSize,ULONG *pulStatus);
  5541. void __RPC_STUB IRpcChannelBuffer3_Receive_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5542. HRESULT WINAPI IRpcChannelBuffer3_Cancel_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg);
  5543. void __RPC_STUB IRpcChannelBuffer3_Cancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5544. HRESULT WINAPI IRpcChannelBuffer3_GetCallContext_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,REFIID riid,void **pInterface);
  5545. void __RPC_STUB IRpcChannelBuffer3_GetCallContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5546. HRESULT WINAPI IRpcChannelBuffer3_GetDestCtxEx_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pdwDestContext,void **ppvDestContext);
  5547. void __RPC_STUB IRpcChannelBuffer3_GetDestCtxEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5548. HRESULT WINAPI IRpcChannelBuffer3_GetState_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,DWORD *pState);
  5549. void __RPC_STUB IRpcChannelBuffer3_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5550. HRESULT WINAPI IRpcChannelBuffer3_RegisterAsync_Proxy(IRpcChannelBuffer3 *This,RPCOLEMESSAGE *pMsg,IAsyncManager *pAsyncMgr);
  5551. void __RPC_STUB IRpcChannelBuffer3_RegisterAsync_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5552. #endif
  5553.  
  5554. #ifndef __IRpcSyntaxNegotiate_INTERFACE_DEFINED__
  5555. #define __IRpcSyntaxNegotiate_INTERFACE_DEFINED__
  5556. EXTERN_C const IID IID_IRpcSyntaxNegotiate;
  5557. #if defined(__cplusplus) && !defined(CINTERFACE)
  5558. struct IRpcSyntaxNegotiate : public IUnknown {
  5559. public:
  5560. virtual HRESULT WINAPI NegotiateSyntax(RPCOLEMESSAGE *pMsg) = 0;
  5561. };
  5562. #else
  5563. typedef struct IRpcSyntaxNegotiateVtbl {
  5564. BEGIN_INTERFACE
  5565. HRESULT (WINAPI *QueryInterface)(IRpcSyntaxNegotiate *This,REFIID riid,void **ppvObject);
  5566. ULONG (WINAPI *AddRef)(IRpcSyntaxNegotiate *This);
  5567. ULONG (WINAPI *Release)(IRpcSyntaxNegotiate *This);
  5568. HRESULT (WINAPI *NegotiateSyntax)(IRpcSyntaxNegotiate *This,RPCOLEMESSAGE *pMsg);
  5569. END_INTERFACE
  5570. } IRpcSyntaxNegotiateVtbl;
  5571. struct IRpcSyntaxNegotiate {
  5572. CONST_VTBL struct IRpcSyntaxNegotiateVtbl *lpVtbl;
  5573. };
  5574. #ifdef COBJMACROS
  5575. #define IRpcSyntaxNegotiate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5576. #define IRpcSyntaxNegotiate_AddRef(This) (This)->lpVtbl->AddRef(This)
  5577. #define IRpcSyntaxNegotiate_Release(This) (This)->lpVtbl->Release(This)
  5578. #define IRpcSyntaxNegotiate_NegotiateSyntax(This,pMsg) (This)->lpVtbl->NegotiateSyntax(This,pMsg)
  5579. #endif
  5580. #endif
  5581. HRESULT WINAPI IRpcSyntaxNegotiate_NegotiateSyntax_Proxy(IRpcSyntaxNegotiate *This,RPCOLEMESSAGE *pMsg);
  5582. void __RPC_STUB IRpcSyntaxNegotiate_NegotiateSyntax_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5583. #endif
  5584.  
  5585. #ifndef __IRpcProxyBuffer_INTERFACE_DEFINED__
  5586. #define __IRpcProxyBuffer_INTERFACE_DEFINED__
  5587. EXTERN_C const IID IID_IRpcProxyBuffer;
  5588. #if defined(__cplusplus) && !defined(CINTERFACE)
  5589. struct IRpcProxyBuffer : public IUnknown {
  5590. public:
  5591. virtual HRESULT WINAPI Connect(IRpcChannelBuffer *pRpcChannelBuffer) = 0;
  5592. virtual void WINAPI Disconnect(void) = 0;
  5593. };
  5594. #else
  5595. typedef struct IRpcProxyBufferVtbl {
  5596. BEGIN_INTERFACE
  5597. HRESULT (WINAPI *QueryInterface)(IRpcProxyBuffer *This,REFIID riid,void **ppvObject);
  5598. ULONG (WINAPI *AddRef)(IRpcProxyBuffer *This);
  5599. ULONG (WINAPI *Release)(IRpcProxyBuffer *This);
  5600. HRESULT (WINAPI *Connect)(IRpcProxyBuffer *This,IRpcChannelBuffer *pRpcChannelBuffer);
  5601. void (WINAPI *Disconnect)(IRpcProxyBuffer *This);
  5602. END_INTERFACE
  5603. } IRpcProxyBufferVtbl;
  5604. struct IRpcProxyBuffer {
  5605. CONST_VTBL struct IRpcProxyBufferVtbl *lpVtbl;
  5606. };
  5607. #ifdef COBJMACROS
  5608. #define IRpcProxyBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5609. #define IRpcProxyBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
  5610. #define IRpcProxyBuffer_Release(This) (This)->lpVtbl->Release(This)
  5611. #define IRpcProxyBuffer_Connect(This,pRpcChannelBuffer) (This)->lpVtbl->Connect(This,pRpcChannelBuffer)
  5612. #define IRpcProxyBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This)
  5613. #endif
  5614. #endif
  5615. HRESULT WINAPI IRpcProxyBuffer_Connect_Proxy(IRpcProxyBuffer *This,IRpcChannelBuffer *pRpcChannelBuffer);
  5616. void __RPC_STUB IRpcProxyBuffer_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5617. void WINAPI IRpcProxyBuffer_Disconnect_Proxy(IRpcProxyBuffer *This);
  5618. void __RPC_STUB IRpcProxyBuffer_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5619. #endif
  5620.  
  5621. #ifndef __IRpcStubBuffer_INTERFACE_DEFINED__
  5622. #define __IRpcStubBuffer_INTERFACE_DEFINED__
  5623. EXTERN_C const IID IID_IRpcStubBuffer;
  5624. #if defined(__cplusplus) && !defined(CINTERFACE)
  5625. struct IRpcStubBuffer : public IUnknown {
  5626. public:
  5627. virtual HRESULT WINAPI Connect(IUnknown *pUnkServer) = 0;
  5628. virtual void WINAPI Disconnect(void) = 0;
  5629. virtual HRESULT WINAPI Invoke(RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer) = 0;
  5630. virtual IRpcStubBuffer *WINAPI IsIIDSupported(REFIID riid) = 0;
  5631. virtual ULONG WINAPI CountRefs(void) = 0;
  5632. virtual HRESULT WINAPI DebugServerQueryInterface(void **ppv) = 0;
  5633. virtual void WINAPI DebugServerRelease(void *pv) = 0;
  5634. };
  5635. #else
  5636. typedef struct IRpcStubBufferVtbl {
  5637. BEGIN_INTERFACE
  5638. HRESULT (WINAPI *QueryInterface)(IRpcStubBuffer *This,REFIID riid,void **ppvObject);
  5639. ULONG (WINAPI *AddRef)(IRpcStubBuffer *This);
  5640. ULONG (WINAPI *Release)(IRpcStubBuffer *This);
  5641. HRESULT (WINAPI *Connect)(IRpcStubBuffer *This,IUnknown *pUnkServer);
  5642. void (WINAPI *Disconnect)(IRpcStubBuffer *This);
  5643. HRESULT (WINAPI *Invoke)(IRpcStubBuffer *This,RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer);
  5644. IRpcStubBuffer *(WINAPI *IsIIDSupported)(IRpcStubBuffer *This,REFIID riid);
  5645. ULONG (WINAPI *CountRefs)(IRpcStubBuffer *This);
  5646. HRESULT (WINAPI *DebugServerQueryInterface)(IRpcStubBuffer *This,void **ppv);
  5647. void (WINAPI *DebugServerRelease)(IRpcStubBuffer *This,void *pv);
  5648. END_INTERFACE
  5649. } IRpcStubBufferVtbl;
  5650. struct IRpcStubBuffer {
  5651. CONST_VTBL struct IRpcStubBufferVtbl *lpVtbl;
  5652. };
  5653. #ifdef COBJMACROS
  5654. #define IRpcStubBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5655. #define IRpcStubBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
  5656. #define IRpcStubBuffer_Release(This) (This)->lpVtbl->Release(This)
  5657. #define IRpcStubBuffer_Connect(This,pUnkServer) (This)->lpVtbl->Connect(This,pUnkServer)
  5658. #define IRpcStubBuffer_Disconnect(This) (This)->lpVtbl->Disconnect(This)
  5659. #define IRpcStubBuffer_Invoke(This,_prpcmsg,_pRpcChannelBuffer) (This)->lpVtbl->Invoke(This,_prpcmsg,_pRpcChannelBuffer)
  5660. #define IRpcStubBuffer_IsIIDSupported(This,riid) (This)->lpVtbl->IsIIDSupported(This,riid)
  5661. #define IRpcStubBuffer_CountRefs(This) (This)->lpVtbl->CountRefs(This)
  5662. #define IRpcStubBuffer_DebugServerQueryInterface(This,ppv) (This)->lpVtbl->DebugServerQueryInterface(This,ppv)
  5663. #define IRpcStubBuffer_DebugServerRelease(This,pv) (This)->lpVtbl->DebugServerRelease(This,pv)
  5664. #endif
  5665. #endif
  5666. HRESULT WINAPI IRpcStubBuffer_Connect_Proxy(IRpcStubBuffer *This,IUnknown *pUnkServer);
  5667. void __RPC_STUB IRpcStubBuffer_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5668. void WINAPI IRpcStubBuffer_Disconnect_Proxy(IRpcStubBuffer *This);
  5669. void __RPC_STUB IRpcStubBuffer_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5670. HRESULT WINAPI IRpcStubBuffer_Invoke_Proxy(IRpcStubBuffer *This,RPCOLEMESSAGE *_prpcmsg,IRpcChannelBuffer *_pRpcChannelBuffer);
  5671. void __RPC_STUB IRpcStubBuffer_Invoke_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5672. IRpcStubBuffer *WINAPI IRpcStubBuffer_IsIIDSupported_Proxy(IRpcStubBuffer *This,REFIID riid);
  5673. void __RPC_STUB IRpcStubBuffer_IsIIDSupported_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5674. ULONG WINAPI IRpcStubBuffer_CountRefs_Proxy(IRpcStubBuffer *This);
  5675. void __RPC_STUB IRpcStubBuffer_CountRefs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5676. HRESULT WINAPI IRpcStubBuffer_DebugServerQueryInterface_Proxy(IRpcStubBuffer *This,void **ppv);
  5677. void __RPC_STUB IRpcStubBuffer_DebugServerQueryInterface_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5678. void WINAPI IRpcStubBuffer_DebugServerRelease_Proxy(IRpcStubBuffer *This,void *pv);
  5679. void __RPC_STUB IRpcStubBuffer_DebugServerRelease_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5680. #endif
  5681.  
  5682. #ifndef __IPSFactoryBuffer_INTERFACE_DEFINED__
  5683. #define __IPSFactoryBuffer_INTERFACE_DEFINED__
  5684. EXTERN_C const IID IID_IPSFactoryBuffer;
  5685. #if defined(__cplusplus) && !defined(CINTERFACE)
  5686. struct IPSFactoryBuffer : public IUnknown {
  5687. public:
  5688. virtual HRESULT WINAPI CreateProxy(IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv) = 0;
  5689. virtual HRESULT WINAPI CreateStub(REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub) = 0;
  5690. };
  5691. #else
  5692. typedef struct IPSFactoryBufferVtbl {
  5693. BEGIN_INTERFACE
  5694. HRESULT (WINAPI *QueryInterface)(IPSFactoryBuffer *This,REFIID riid,void **ppvObject);
  5695. ULONG (WINAPI *AddRef)(IPSFactoryBuffer *This);
  5696. ULONG (WINAPI *Release)(IPSFactoryBuffer *This);
  5697. HRESULT (WINAPI *CreateProxy)(IPSFactoryBuffer *This,IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv);
  5698. HRESULT (WINAPI *CreateStub)(IPSFactoryBuffer *This,REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub);
  5699. END_INTERFACE
  5700. } IPSFactoryBufferVtbl;
  5701. struct IPSFactoryBuffer {
  5702. CONST_VTBL struct IPSFactoryBufferVtbl *lpVtbl;
  5703. };
  5704. #ifdef COBJMACROS
  5705. #define IPSFactoryBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5706. #define IPSFactoryBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
  5707. #define IPSFactoryBuffer_Release(This) (This)->lpVtbl->Release(This)
  5708. #define IPSFactoryBuffer_CreateProxy(This,pUnkOuter,riid,ppProxy,ppv) (This)->lpVtbl->CreateProxy(This,pUnkOuter,riid,ppProxy,ppv)
  5709. #define IPSFactoryBuffer_CreateStub(This,riid,pUnkServer,ppStub) (This)->lpVtbl->CreateStub(This,riid,pUnkServer,ppStub)
  5710. #endif
  5711. #endif
  5712. HRESULT WINAPI IPSFactoryBuffer_CreateProxy_Proxy(IPSFactoryBuffer *This,IUnknown *pUnkOuter,REFIID riid,IRpcProxyBuffer **ppProxy,void **ppv);
  5713. void __RPC_STUB IPSFactoryBuffer_CreateProxy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5714. HRESULT WINAPI IPSFactoryBuffer_CreateStub_Proxy(IPSFactoryBuffer *This,REFIID riid,IUnknown *pUnkServer,IRpcStubBuffer **ppStub);
  5715. void __RPC_STUB IPSFactoryBuffer_CreateStub_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5716. #endif
  5717.  
  5718. typedef struct SChannelHookCallInfo {
  5719. IID iid;
  5720. DWORD cbSize;
  5721. GUID uCausality;
  5722. DWORD dwServerPid;
  5723. DWORD iMethod;
  5724. void *pObject;
  5725. } SChannelHookCallInfo;
  5726.  
  5727. extern RPC_IF_HANDLE __MIDL_itf_objidl_0050_v0_0_c_ifspec;
  5728. extern RPC_IF_HANDLE __MIDL_itf_objidl_0050_v0_0_s_ifspec;
  5729.  
  5730. #ifndef __IChannelHook_INTERFACE_DEFINED__
  5731. #define __IChannelHook_INTERFACE_DEFINED__
  5732. EXTERN_C const IID IID_IChannelHook;
  5733. #if defined(__cplusplus) && !defined(CINTERFACE)
  5734. struct IChannelHook : public IUnknown {
  5735. public:
  5736. virtual void WINAPI ClientGetSize(REFGUID uExtent,REFIID riid,ULONG *pDataSize) = 0;
  5737. virtual void WINAPI ClientFillBuffer(REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer) = 0;
  5738. virtual void WINAPI ClientNotify(REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault) = 0;
  5739. virtual void WINAPI ServerNotify(REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep) = 0;
  5740. virtual void WINAPI ServerGetSize(REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize) = 0;
  5741. virtual void WINAPI ServerFillBuffer(REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault) = 0;
  5742. };
  5743. #else
  5744. typedef struct IChannelHookVtbl {
  5745. BEGIN_INTERFACE
  5746. HRESULT (WINAPI *QueryInterface)(IChannelHook *This,REFIID riid,void **ppvObject);
  5747. ULONG (WINAPI *AddRef)(IChannelHook *This);
  5748. ULONG (WINAPI *Release)(IChannelHook *This);
  5749. void (WINAPI *ClientGetSize)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize);
  5750. void (WINAPI *ClientFillBuffer)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer);
  5751. void (WINAPI *ClientNotify)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault);
  5752. void (WINAPI *ServerNotify)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep);
  5753. void (WINAPI *ServerGetSize)(IChannelHook *This,REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize);
  5754. void (WINAPI *ServerFillBuffer)(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault);
  5755. END_INTERFACE
  5756. } IChannelHookVtbl;
  5757. struct IChannelHook {
  5758. CONST_VTBL struct IChannelHookVtbl *lpVtbl;
  5759. };
  5760. #ifdef COBJMACROS
  5761. #define IChannelHook_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5762. #define IChannelHook_AddRef(This) (This)->lpVtbl->AddRef(This)
  5763. #define IChannelHook_Release(This) (This)->lpVtbl->Release(This)
  5764. #define IChannelHook_ClientGetSize(This,uExtent,riid,pDataSize) (This)->lpVtbl->ClientGetSize(This,uExtent,riid,pDataSize)
  5765. #define IChannelHook_ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer) (This)->lpVtbl->ClientFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer)
  5766. #define IChannelHook_ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault) (This)->lpVtbl->ClientNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep,hrFault)
  5767. #define IChannelHook_ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep) (This)->lpVtbl->ServerNotify(This,uExtent,riid,cbDataSize,pDataBuffer,lDataRep)
  5768. #define IChannelHook_ServerGetSize(This,uExtent,riid,hrFault,pDataSize) (This)->lpVtbl->ServerGetSize(This,uExtent,riid,hrFault,pDataSize)
  5769. #define IChannelHook_ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault) (This)->lpVtbl->ServerFillBuffer(This,uExtent,riid,pDataSize,pDataBuffer,hrFault)
  5770. #endif
  5771. #endif
  5772. void WINAPI IChannelHook_ClientGetSize_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize);
  5773. void __RPC_STUB IChannelHook_ClientGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5774. void WINAPI IChannelHook_ClientFillBuffer_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer);
  5775. void __RPC_STUB IChannelHook_ClientFillBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5776. void WINAPI IChannelHook_ClientNotify_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep,HRESULT hrFault);
  5777. void __RPC_STUB IChannelHook_ClientNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5778. void WINAPI IChannelHook_ServerNotify_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG cbDataSize,void *pDataBuffer,DWORD lDataRep);
  5779. void __RPC_STUB IChannelHook_ServerNotify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5780. void WINAPI IChannelHook_ServerGetSize_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,HRESULT hrFault,ULONG *pDataSize);
  5781. void __RPC_STUB IChannelHook_ServerGetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5782. void WINAPI IChannelHook_ServerFillBuffer_Proxy(IChannelHook *This,REFGUID uExtent,REFIID riid,ULONG *pDataSize,void *pDataBuffer,HRESULT hrFault);
  5783. void __RPC_STUB IChannelHook_ServerFillBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5784. #endif
  5785.  
  5786. extern const FMTID FMTID_SummaryInformation;
  5787. extern const FMTID FMTID_DocSummaryInformation;
  5788. extern const FMTID FMTID_UserDefinedProperties;
  5789. extern const FMTID FMTID_DiscardableInformation;
  5790. extern const FMTID FMTID_ImageSummaryInformation;
  5791. extern const FMTID FMTID_AudioSummaryInformation;
  5792. extern const FMTID FMTID_VideoSummaryInformation;
  5793. extern const FMTID FMTID_MediaFileSummaryInformation;
  5794. extern RPC_IF_HANDLE __MIDL_itf_objidl_0051_v0_0_c_ifspec;
  5795. extern RPC_IF_HANDLE __MIDL_itf_objidl_0051_v0_0_s_ifspec;
  5796. #ifndef __IClientSecurity_INTERFACE_DEFINED__
  5797. #define __IClientSecurity_INTERFACE_DEFINED__
  5798. typedef struct tagSOLE_AUTHENTICATION_SERVICE {
  5799. DWORD dwAuthnSvc;
  5800. DWORD dwAuthzSvc;
  5801. OLECHAR *pPrincipalName;
  5802. HRESULT hr;
  5803. } SOLE_AUTHENTICATION_SERVICE;
  5804.  
  5805. typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE;
  5806.  
  5807. typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES {
  5808. EOAC_NONE = 0,EOAC_MUTUAL_AUTH = 0x1,EOAC_STATIC_CLOAKING = 0x20,EOAC_DYNAMIC_CLOAKING = 0x40,EOAC_ANY_AUTHORITY = 0x80,EOAC_MAKE_FULLSIC = 0x100,
  5809. EOAC_DEFAULT = 0x800,EOAC_SECURE_REFS = 0x2,EOAC_ACCESS_CONTROL = 0x4,EOAC_APPID = 0x8,EOAC_DYNAMIC = 0x10,EOAC_REQUIRE_FULLSIC = 0x200,
  5810. EOAC_AUTO_IMPERSONATE = 0x400,EOAC_NO_CUSTOM_MARSHAL = 0x2000,EOAC_DISABLE_AAA = 0x1000
  5811. } EOLE_AUTHENTICATION_CAPABILITIES;
  5812.  
  5813. #define COLE_DEFAULT_PRINCIPAL ((OLECHAR *)-1)
  5814. #define COLE_DEFAULT_AUTHINFO ((void *)-1)
  5815.  
  5816. typedef struct tagSOLE_AUTHENTICATION_INFO {
  5817. DWORD dwAuthnSvc;
  5818. DWORD dwAuthzSvc;
  5819. void *pAuthInfo;
  5820. } SOLE_AUTHENTICATION_INFO;
  5821.  
  5822. typedef struct tagSOLE_AUTHENTICATION_INFO *PSOLE_AUTHENTICATION_INFO;
  5823.  
  5824. typedef struct tagSOLE_AUTHENTICATION_LIST {
  5825. DWORD cAuthInfo;
  5826. SOLE_AUTHENTICATION_INFO *aAuthInfo;
  5827. } SOLE_AUTHENTICATION_LIST;
  5828.  
  5829. typedef struct tagSOLE_AUTHENTICATION_LIST *PSOLE_AUTHENTICATION_LIST;
  5830.  
  5831. EXTERN_C const IID IID_IClientSecurity;
  5832. #if defined(__cplusplus) && !defined(CINTERFACE)
  5833. struct IClientSecurity : public IUnknown {
  5834. public:
  5835. virtual HRESULT WINAPI QueryBlanket(IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites) = 0;
  5836. virtual HRESULT WINAPI SetBlanket(IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities) = 0;
  5837. virtual HRESULT WINAPI CopyProxy(IUnknown *pProxy,IUnknown **ppCopy) = 0;
  5838. };
  5839. #else
  5840. typedef struct IClientSecurityVtbl {
  5841. BEGIN_INTERFACE
  5842. HRESULT (WINAPI *QueryInterface)(IClientSecurity *This,REFIID riid,void **ppvObject);
  5843. ULONG (WINAPI *AddRef)(IClientSecurity *This);
  5844. ULONG (WINAPI *Release)(IClientSecurity *This);
  5845. HRESULT (WINAPI *QueryBlanket)(IClientSecurity *This,IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites);
  5846. HRESULT (WINAPI *SetBlanket)(IClientSecurity *This,IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities);
  5847. HRESULT (WINAPI *CopyProxy)(IClientSecurity *This,IUnknown *pProxy,IUnknown **ppCopy);
  5848. END_INTERFACE
  5849. } IClientSecurityVtbl;
  5850. struct IClientSecurity {
  5851. CONST_VTBL struct IClientSecurityVtbl *lpVtbl;
  5852. };
  5853. #ifdef COBJMACROS
  5854. #define IClientSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5855. #define IClientSecurity_AddRef(This) (This)->lpVtbl->AddRef(This)
  5856. #define IClientSecurity_Release(This) (This)->lpVtbl->Release(This)
  5857. #define IClientSecurity_QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites) (This)->lpVtbl->QueryBlanket(This,pProxy,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pAuthInfo,pCapabilites)
  5858. #define IClientSecurity_SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities) (This)->lpVtbl->SetBlanket(This,pProxy,dwAuthnSvc,dwAuthzSvc,pServerPrincName,dwAuthnLevel,dwImpLevel,pAuthInfo,dwCapabilities)
  5859. #define IClientSecurity_CopyProxy(This,pProxy,ppCopy) (This)->lpVtbl->CopyProxy(This,pProxy,ppCopy)
  5860. #endif
  5861. #endif
  5862. HRESULT WINAPI IClientSecurity_QueryBlanket_Proxy(IClientSecurity *This,IUnknown *pProxy,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pAuthInfo,DWORD *pCapabilites);
  5863. void __RPC_STUB IClientSecurity_QueryBlanket_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5864. HRESULT WINAPI IClientSecurity_SetBlanket_Proxy(IClientSecurity *This,IUnknown *pProxy,DWORD dwAuthnSvc,DWORD dwAuthzSvc,OLECHAR *pServerPrincName,DWORD dwAuthnLevel,DWORD dwImpLevel,void *pAuthInfo,DWORD dwCapabilities);
  5865. void __RPC_STUB IClientSecurity_SetBlanket_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5866. HRESULT WINAPI IClientSecurity_CopyProxy_Proxy(IClientSecurity *This,IUnknown *pProxy,IUnknown **ppCopy);
  5867. void __RPC_STUB IClientSecurity_CopyProxy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5868. #endif
  5869.  
  5870. #ifndef __IServerSecurity_INTERFACE_DEFINED__
  5871. #define __IServerSecurity_INTERFACE_DEFINED__
  5872. EXTERN_C const IID IID_IServerSecurity;
  5873. #if defined(__cplusplus) && !defined(CINTERFACE)
  5874. struct IServerSecurity : public IUnknown {
  5875. public:
  5876. virtual HRESULT WINAPI QueryBlanket(DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities) = 0;
  5877. virtual HRESULT WINAPI ImpersonateClient(void) = 0;
  5878. virtual HRESULT WINAPI RevertToSelf(void) = 0;
  5879. virtual WINBOOL WINAPI IsImpersonating(void) = 0;
  5880. };
  5881. #else
  5882. typedef struct IServerSecurityVtbl {
  5883. BEGIN_INTERFACE
  5884. HRESULT (WINAPI *QueryInterface)(IServerSecurity *This,REFIID riid,void **ppvObject);
  5885. ULONG (WINAPI *AddRef)(IServerSecurity *This);
  5886. ULONG (WINAPI *Release)(IServerSecurity *This);
  5887. HRESULT (WINAPI *QueryBlanket)(IServerSecurity *This,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities);
  5888. HRESULT (WINAPI *ImpersonateClient)(IServerSecurity *This);
  5889. HRESULT (WINAPI *RevertToSelf)(IServerSecurity *This);
  5890. WINBOOL (WINAPI *IsImpersonating)(IServerSecurity *This);
  5891. END_INTERFACE
  5892. } IServerSecurityVtbl;
  5893. struct IServerSecurity {
  5894. CONST_VTBL struct IServerSecurityVtbl *lpVtbl;
  5895. };
  5896. #ifdef COBJMACROS
  5897. #define IServerSecurity_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5898. #define IServerSecurity_AddRef(This) (This)->lpVtbl->AddRef(This)
  5899. #define IServerSecurity_Release(This) (This)->lpVtbl->Release(This)
  5900. #define IServerSecurity_QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities) (This)->lpVtbl->QueryBlanket(This,pAuthnSvc,pAuthzSvc,pServerPrincName,pAuthnLevel,pImpLevel,pPrivs,pCapabilities)
  5901. #define IServerSecurity_ImpersonateClient(This) (This)->lpVtbl->ImpersonateClient(This)
  5902. #define IServerSecurity_RevertToSelf(This) (This)->lpVtbl->RevertToSelf(This)
  5903. #define IServerSecurity_IsImpersonating(This) (This)->lpVtbl->IsImpersonating(This)
  5904. #endif
  5905. #endif
  5906. HRESULT WINAPI IServerSecurity_QueryBlanket_Proxy(IServerSecurity *This,DWORD *pAuthnSvc,DWORD *pAuthzSvc,OLECHAR **pServerPrincName,DWORD *pAuthnLevel,DWORD *pImpLevel,void **pPrivs,DWORD *pCapabilities);
  5907. void __RPC_STUB IServerSecurity_QueryBlanket_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5908. HRESULT WINAPI IServerSecurity_ImpersonateClient_Proxy(IServerSecurity *This);
  5909. void __RPC_STUB IServerSecurity_ImpersonateClient_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5910. HRESULT WINAPI IServerSecurity_RevertToSelf_Proxy(IServerSecurity *This);
  5911. void __RPC_STUB IServerSecurity_RevertToSelf_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5912. WINBOOL WINAPI IServerSecurity_IsImpersonating_Proxy(IServerSecurity *This);
  5913. void __RPC_STUB IServerSecurity_IsImpersonating_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5914. #endif
  5915.  
  5916. #ifndef __IClassActivator_INTERFACE_DEFINED__
  5917. #define __IClassActivator_INTERFACE_DEFINED__
  5918. EXTERN_C const IID IID_IClassActivator;
  5919. #if defined(__cplusplus) && !defined(CINTERFACE)
  5920. struct IClassActivator : public IUnknown {
  5921. public:
  5922. virtual HRESULT WINAPI GetClassObject(REFCLSID rclsid,DWORD dwClassContext,LCID locale,REFIID riid,void **ppv) = 0;
  5923. };
  5924. #else
  5925. typedef struct IClassActivatorVtbl {
  5926. BEGIN_INTERFACE
  5927. HRESULT (WINAPI *QueryInterface)(IClassActivator *This,REFIID riid,void **ppvObject);
  5928. ULONG (WINAPI *AddRef)(IClassActivator *This);
  5929. ULONG (WINAPI *Release)(IClassActivator *This);
  5930. HRESULT (WINAPI *GetClassObject)(IClassActivator *This,REFCLSID rclsid,DWORD dwClassContext,LCID locale,REFIID riid,void **ppv);
  5931. END_INTERFACE
  5932. } IClassActivatorVtbl;
  5933. struct IClassActivator {
  5934. CONST_VTBL struct IClassActivatorVtbl *lpVtbl;
  5935. };
  5936. #ifdef COBJMACROS
  5937. #define IClassActivator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5938. #define IClassActivator_AddRef(This) (This)->lpVtbl->AddRef(This)
  5939. #define IClassActivator_Release(This) (This)->lpVtbl->Release(This)
  5940. #define IClassActivator_GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv) (This)->lpVtbl->GetClassObject(This,rclsid,dwClassContext,locale,riid,ppv)
  5941. #endif
  5942. #endif
  5943. HRESULT WINAPI IClassActivator_GetClassObject_Proxy(IClassActivator *This,REFCLSID rclsid,DWORD dwClassContext,LCID locale,REFIID riid,void **ppv);
  5944. void __RPC_STUB IClassActivator_GetClassObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5945. #endif
  5946.  
  5947. #ifndef __IRpcOptions_INTERFACE_DEFINED__
  5948. #define __IRpcOptions_INTERFACE_DEFINED__
  5949. EXTERN_C const IID IID_IRpcOptions;
  5950. #if defined(__cplusplus) && !defined(CINTERFACE)
  5951. struct IRpcOptions : public IUnknown {
  5952. public:
  5953. virtual HRESULT WINAPI Set(IUnknown *pPrx,DWORD dwProperty,ULONG_PTR dwValue) = 0;
  5954. virtual HRESULT WINAPI Query(IUnknown *pPrx,DWORD dwProperty,ULONG_PTR *pdwValue) = 0;
  5955. };
  5956. #else
  5957. typedef struct IRpcOptionsVtbl {
  5958. BEGIN_INTERFACE
  5959. HRESULT (WINAPI *QueryInterface)(IRpcOptions *This,REFIID riid,void **ppvObject);
  5960. ULONG (WINAPI *AddRef)(IRpcOptions *This);
  5961. ULONG (WINAPI *Release)(IRpcOptions *This);
  5962. HRESULT (WINAPI *Set)(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR dwValue);
  5963. HRESULT (WINAPI *Query)(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR *pdwValue);
  5964. END_INTERFACE
  5965. } IRpcOptionsVtbl;
  5966. struct IRpcOptions {
  5967. CONST_VTBL struct IRpcOptionsVtbl *lpVtbl;
  5968. };
  5969. #ifdef COBJMACROS
  5970. #define IRpcOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  5971. #define IRpcOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
  5972. #define IRpcOptions_Release(This) (This)->lpVtbl->Release(This)
  5973. #define IRpcOptions_Set(This,pPrx,dwProperty,dwValue) (This)->lpVtbl->Set(This,pPrx,dwProperty,dwValue)
  5974. #define IRpcOptions_Query(This,pPrx,dwProperty,pdwValue) (This)->lpVtbl->Query(This,pPrx,dwProperty,pdwValue)
  5975. #endif
  5976. #endif
  5977. HRESULT WINAPI IRpcOptions_Set_Proxy(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR dwValue);
  5978. void __RPC_STUB IRpcOptions_Set_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5979. HRESULT WINAPI IRpcOptions_Query_Proxy(IRpcOptions *This,IUnknown *pPrx,DWORD dwProperty,ULONG_PTR *pdwValue);
  5980. void __RPC_STUB IRpcOptions_Query_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  5981. #endif
  5982.  
  5983. enum __MIDL___MIDL_itf_objidl_0055_0001 {
  5984. COMBND_RPCTIMEOUT = 0x1,COMBND_SERVER_LOCALITY = 0x2
  5985. };
  5986.  
  5987. enum __MIDL___MIDL_itf_objidl_0055_0002 {
  5988. SERVER_LOCALITY_PROCESS_LOCAL = 0,SERVER_LOCALITY_MACHINE_LOCAL = 1,SERVER_LOCALITY_REMOTE = 2
  5989. };
  5990. extern RPC_IF_HANDLE __MIDL_itf_objidl_0055_v0_0_c_ifspec;
  5991. extern RPC_IF_HANDLE __MIDL_itf_objidl_0055_v0_0_s_ifspec;
  5992.  
  5993. #ifndef __IFillLockBytes_INTERFACE_DEFINED__
  5994. #define __IFillLockBytes_INTERFACE_DEFINED__
  5995. EXTERN_C const IID IID_IFillLockBytes;
  5996. #if defined(__cplusplus) && !defined(CINTERFACE)
  5997. struct IFillLockBytes : public IUnknown {
  5998. public:
  5999. virtual HRESULT WINAPI FillAppend(const void *pv,ULONG cb,ULONG *pcbWritten) = 0;
  6000. virtual HRESULT WINAPI FillAt(ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten) = 0;
  6001. virtual HRESULT WINAPI SetFillSize(ULARGE_INTEGER ulSize) = 0;
  6002. virtual HRESULT WINAPI Terminate(WINBOOL bCanceled) = 0;
  6003. };
  6004. #else
  6005. typedef struct IFillLockBytesVtbl {
  6006. BEGIN_INTERFACE
  6007. HRESULT (WINAPI *QueryInterface)(IFillLockBytes *This,REFIID riid,void **ppvObject);
  6008. ULONG (WINAPI *AddRef)(IFillLockBytes *This);
  6009. ULONG (WINAPI *Release)(IFillLockBytes *This);
  6010. HRESULT (WINAPI *FillAppend)(IFillLockBytes *This,const void *pv,ULONG cb,ULONG *pcbWritten);
  6011. HRESULT (WINAPI *FillAt)(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);
  6012. HRESULT (WINAPI *SetFillSize)(IFillLockBytes *This,ULARGE_INTEGER ulSize);
  6013. HRESULT (WINAPI *Terminate)(IFillLockBytes *This,WINBOOL bCanceled);
  6014. END_INTERFACE
  6015. } IFillLockBytesVtbl;
  6016. struct IFillLockBytes {
  6017. CONST_VTBL struct IFillLockBytesVtbl *lpVtbl;
  6018. };
  6019. #ifdef COBJMACROS
  6020. #define IFillLockBytes_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6021. #define IFillLockBytes_AddRef(This) (This)->lpVtbl->AddRef(This)
  6022. #define IFillLockBytes_Release(This) (This)->lpVtbl->Release(This)
  6023. #define IFillLockBytes_FillAppend(This,pv,cb,pcbWritten) (This)->lpVtbl->FillAppend(This,pv,cb,pcbWritten)
  6024. #define IFillLockBytes_FillAt(This,ulOffset,pv,cb,pcbWritten) (This)->lpVtbl->FillAt(This,ulOffset,pv,cb,pcbWritten)
  6025. #define IFillLockBytes_SetFillSize(This,ulSize) (This)->lpVtbl->SetFillSize(This,ulSize)
  6026. #define IFillLockBytes_Terminate(This,bCanceled) (This)->lpVtbl->Terminate(This,bCanceled)
  6027. #endif
  6028. #endif
  6029. HRESULT WINAPI IFillLockBytes_RemoteFillAppend_Proxy(IFillLockBytes *This,const byte *pv,ULONG cb,ULONG *pcbWritten);
  6030. void __RPC_STUB IFillLockBytes_RemoteFillAppend_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6031. HRESULT WINAPI IFillLockBytes_RemoteFillAt_Proxy(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);
  6032. void __RPC_STUB IFillLockBytes_RemoteFillAt_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6033. HRESULT WINAPI IFillLockBytes_SetFillSize_Proxy(IFillLockBytes *This,ULARGE_INTEGER ulSize);
  6034. void __RPC_STUB IFillLockBytes_SetFillSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6035. HRESULT WINAPI IFillLockBytes_Terminate_Proxy(IFillLockBytes *This,WINBOOL bCanceled);
  6036. void __RPC_STUB IFillLockBytes_Terminate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6037. #endif
  6038.  
  6039. #ifndef __IProgressNotify_INTERFACE_DEFINED__
  6040. #define __IProgressNotify_INTERFACE_DEFINED__
  6041. EXTERN_C const IID IID_IProgressNotify;
  6042. #if defined(__cplusplus) && !defined(CINTERFACE)
  6043. struct IProgressNotify : public IUnknown {
  6044. public:
  6045. virtual HRESULT WINAPI OnProgress(DWORD dwProgressCurrent,DWORD dwProgressMaximum,WINBOOL fAccurate,WINBOOL fOwner) = 0;
  6046. };
  6047. #else
  6048. typedef struct IProgressNotifyVtbl {
  6049. BEGIN_INTERFACE
  6050. HRESULT (WINAPI *QueryInterface)(IProgressNotify *This,REFIID riid,void **ppvObject);
  6051. ULONG (WINAPI *AddRef)(IProgressNotify *This);
  6052. ULONG (WINAPI *Release)(IProgressNotify *This);
  6053. HRESULT (WINAPI *OnProgress)(IProgressNotify *This,DWORD dwProgressCurrent,DWORD dwProgressMaximum,WINBOOL fAccurate,WINBOOL fOwner);
  6054. END_INTERFACE
  6055. } IProgressNotifyVtbl;
  6056. struct IProgressNotify {
  6057. CONST_VTBL struct IProgressNotifyVtbl *lpVtbl;
  6058. };
  6059. #ifdef COBJMACROS
  6060. #define IProgressNotify_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6061. #define IProgressNotify_AddRef(This) (This)->lpVtbl->AddRef(This)
  6062. #define IProgressNotify_Release(This) (This)->lpVtbl->Release(This)
  6063. #define IProgressNotify_OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner) (This)->lpVtbl->OnProgress(This,dwProgressCurrent,dwProgressMaximum,fAccurate,fOwner)
  6064. #endif
  6065. #endif
  6066. HRESULT WINAPI IProgressNotify_OnProgress_Proxy(IProgressNotify *This,DWORD dwProgressCurrent,DWORD dwProgressMaximum,WINBOOL fAccurate,WINBOOL fOwner);
  6067. void __RPC_STUB IProgressNotify_OnProgress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6068. #endif
  6069.  
  6070. #ifndef __ILayoutStorage_INTERFACE_DEFINED__
  6071. #define __ILayoutStorage_INTERFACE_DEFINED__
  6072. typedef struct tagStorageLayout {
  6073. DWORD LayoutType;
  6074. OLECHAR *pwcsElementName;
  6075. LARGE_INTEGER cOffset;
  6076. LARGE_INTEGER cBytes;
  6077. } StorageLayout;
  6078.  
  6079. EXTERN_C const IID IID_ILayoutStorage;
  6080. #if defined(__cplusplus) && !defined(CINTERFACE)
  6081. struct ILayoutStorage : public IUnknown {
  6082. public:
  6083. virtual HRESULT WINAPI LayoutScript(StorageLayout *pStorageLayout,DWORD nEntries,DWORD glfInterleavedFlag) = 0;
  6084. virtual HRESULT WINAPI BeginMonitor(void) = 0;
  6085. virtual HRESULT WINAPI EndMonitor(void) = 0;
  6086. virtual HRESULT WINAPI ReLayoutDocfile(OLECHAR *pwcsNewDfName) = 0;
  6087. virtual HRESULT WINAPI ReLayoutDocfileOnILockBytes(ILockBytes *pILockBytes) = 0;
  6088. };
  6089. #else
  6090. typedef struct ILayoutStorageVtbl {
  6091. BEGIN_INTERFACE
  6092. HRESULT (WINAPI *QueryInterface)(ILayoutStorage *This,REFIID riid,void **ppvObject);
  6093. ULONG (WINAPI *AddRef)(ILayoutStorage *This);
  6094. ULONG (WINAPI *Release)(ILayoutStorage *This);
  6095. HRESULT (WINAPI *LayoutScript)(ILayoutStorage *This,StorageLayout *pStorageLayout,DWORD nEntries,DWORD glfInterleavedFlag);
  6096. HRESULT (WINAPI *BeginMonitor)(ILayoutStorage *This);
  6097. HRESULT (WINAPI *EndMonitor)(ILayoutStorage *This);
  6098. HRESULT (WINAPI *ReLayoutDocfile)(ILayoutStorage *This,OLECHAR *pwcsNewDfName);
  6099. HRESULT (WINAPI *ReLayoutDocfileOnILockBytes)(ILayoutStorage *This,ILockBytes *pILockBytes);
  6100. END_INTERFACE
  6101. } ILayoutStorageVtbl;
  6102. struct ILayoutStorage {
  6103. CONST_VTBL struct ILayoutStorageVtbl *lpVtbl;
  6104. };
  6105. #ifdef COBJMACROS
  6106. #define ILayoutStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6107. #define ILayoutStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
  6108. #define ILayoutStorage_Release(This) (This)->lpVtbl->Release(This)
  6109. #define ILayoutStorage_LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag) (This)->lpVtbl->LayoutScript(This,pStorageLayout,nEntries,glfInterleavedFlag)
  6110. #define ILayoutStorage_BeginMonitor(This) (This)->lpVtbl->BeginMonitor(This)
  6111. #define ILayoutStorage_EndMonitor(This) (This)->lpVtbl->EndMonitor(This)
  6112. #define ILayoutStorage_ReLayoutDocfile(This,pwcsNewDfName) (This)->lpVtbl->ReLayoutDocfile(This,pwcsNewDfName)
  6113. #define ILayoutStorage_ReLayoutDocfileOnILockBytes(This,pILockBytes) (This)->lpVtbl->ReLayoutDocfileOnILockBytes(This,pILockBytes)
  6114. #endif
  6115. #endif
  6116. HRESULT WINAPI ILayoutStorage_LayoutScript_Proxy(ILayoutStorage *This,StorageLayout *pStorageLayout,DWORD nEntries,DWORD glfInterleavedFlag);
  6117. void __RPC_STUB ILayoutStorage_LayoutScript_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6118. HRESULT WINAPI ILayoutStorage_BeginMonitor_Proxy(ILayoutStorage *This);
  6119. void __RPC_STUB ILayoutStorage_BeginMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6120. HRESULT WINAPI ILayoutStorage_EndMonitor_Proxy(ILayoutStorage *This);
  6121. void __RPC_STUB ILayoutStorage_EndMonitor_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6122. HRESULT WINAPI ILayoutStorage_ReLayoutDocfile_Proxy(ILayoutStorage *This,OLECHAR *pwcsNewDfName);
  6123. void __RPC_STUB ILayoutStorage_ReLayoutDocfile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6124. HRESULT WINAPI ILayoutStorage_ReLayoutDocfileOnILockBytes_Proxy(ILayoutStorage *This,ILockBytes *pILockBytes);
  6125. void __RPC_STUB ILayoutStorage_ReLayoutDocfileOnILockBytes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6126. #endif
  6127.  
  6128. #ifndef __IBlockingLock_INTERFACE_DEFINED__
  6129. #define __IBlockingLock_INTERFACE_DEFINED__
  6130. EXTERN_C const IID IID_IBlockingLock;
  6131. #if defined(__cplusplus) && !defined(CINTERFACE)
  6132. struct IBlockingLock : public IUnknown {
  6133. public:
  6134. virtual HRESULT WINAPI Lock(DWORD dwTimeout) = 0;
  6135. virtual HRESULT WINAPI Unlock(void) = 0;
  6136. };
  6137. #else
  6138. typedef struct IBlockingLockVtbl {
  6139. BEGIN_INTERFACE
  6140. HRESULT (WINAPI *QueryInterface)(IBlockingLock *This,REFIID riid,void **ppvObject);
  6141. ULONG (WINAPI *AddRef)(IBlockingLock *This);
  6142. ULONG (WINAPI *Release)(IBlockingLock *This);
  6143. HRESULT (WINAPI *Lock)(IBlockingLock *This,DWORD dwTimeout);
  6144. HRESULT (WINAPI *Unlock)(IBlockingLock *This);
  6145. END_INTERFACE
  6146. } IBlockingLockVtbl;
  6147. struct IBlockingLock {
  6148. CONST_VTBL struct IBlockingLockVtbl *lpVtbl;
  6149. };
  6150. #ifdef COBJMACROS
  6151. #define IBlockingLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6152. #define IBlockingLock_AddRef(This) (This)->lpVtbl->AddRef(This)
  6153. #define IBlockingLock_Release(This) (This)->lpVtbl->Release(This)
  6154. #define IBlockingLock_Lock(This,dwTimeout) (This)->lpVtbl->Lock(This,dwTimeout)
  6155. #define IBlockingLock_Unlock(This) (This)->lpVtbl->Unlock(This)
  6156. #endif
  6157. #endif
  6158. HRESULT WINAPI IBlockingLock_Lock_Proxy(IBlockingLock *This,DWORD dwTimeout);
  6159. void __RPC_STUB IBlockingLock_Lock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6160. HRESULT WINAPI IBlockingLock_Unlock_Proxy(IBlockingLock *This);
  6161. void __RPC_STUB IBlockingLock_Unlock_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6162. #endif
  6163.  
  6164. #ifndef __ITimeAndNoticeControl_INTERFACE_DEFINED__
  6165. #define __ITimeAndNoticeControl_INTERFACE_DEFINED__
  6166. EXTERN_C const IID IID_ITimeAndNoticeControl;
  6167. #if defined(__cplusplus) && !defined(CINTERFACE)
  6168. struct ITimeAndNoticeControl : public IUnknown {
  6169. public:
  6170. virtual HRESULT WINAPI SuppressChanges(DWORD res1,DWORD res2) = 0;
  6171. };
  6172. #else
  6173. typedef struct ITimeAndNoticeControlVtbl {
  6174. BEGIN_INTERFACE
  6175. HRESULT (WINAPI *QueryInterface)(ITimeAndNoticeControl *This,REFIID riid,void **ppvObject);
  6176. ULONG (WINAPI *AddRef)(ITimeAndNoticeControl *This);
  6177. ULONG (WINAPI *Release)(ITimeAndNoticeControl *This);
  6178. HRESULT (WINAPI *SuppressChanges)(ITimeAndNoticeControl *This,DWORD res1,DWORD res2);
  6179. END_INTERFACE
  6180. } ITimeAndNoticeControlVtbl;
  6181. struct ITimeAndNoticeControl {
  6182. CONST_VTBL struct ITimeAndNoticeControlVtbl *lpVtbl;
  6183. };
  6184. #ifdef COBJMACROS
  6185. #define ITimeAndNoticeControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6186. #define ITimeAndNoticeControl_AddRef(This) (This)->lpVtbl->AddRef(This)
  6187. #define ITimeAndNoticeControl_Release(This) (This)->lpVtbl->Release(This)
  6188. #define ITimeAndNoticeControl_SuppressChanges(This,res1,res2) (This)->lpVtbl->SuppressChanges(This,res1,res2)
  6189. #endif
  6190. #endif
  6191. HRESULT WINAPI ITimeAndNoticeControl_SuppressChanges_Proxy(ITimeAndNoticeControl *This,DWORD res1,DWORD res2);
  6192. void __RPC_STUB ITimeAndNoticeControl_SuppressChanges_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6193. #endif
  6194.  
  6195. #ifndef __IOplockStorage_INTERFACE_DEFINED__
  6196. #define __IOplockStorage_INTERFACE_DEFINED__
  6197. EXTERN_C const IID IID_IOplockStorage;
  6198. #if defined(__cplusplus) && !defined(CINTERFACE)
  6199. struct IOplockStorage : public IUnknown {
  6200. public:
  6201. virtual HRESULT WINAPI CreateStorageEx(LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen) = 0;
  6202. virtual HRESULT WINAPI OpenStorageEx(LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen) = 0;
  6203. };
  6204. #else
  6205. typedef struct IOplockStorageVtbl {
  6206. BEGIN_INTERFACE
  6207. HRESULT (WINAPI *QueryInterface)(IOplockStorage *This,REFIID riid,void **ppvObject);
  6208. ULONG (WINAPI *AddRef)(IOplockStorage *This);
  6209. ULONG (WINAPI *Release)(IOplockStorage *This);
  6210. HRESULT (WINAPI *CreateStorageEx)(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);
  6211. HRESULT (WINAPI *OpenStorageEx)(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);
  6212. END_INTERFACE
  6213. } IOplockStorageVtbl;
  6214. struct IOplockStorage {
  6215. CONST_VTBL struct IOplockStorageVtbl *lpVtbl;
  6216. };
  6217. #ifdef COBJMACROS
  6218. #define IOplockStorage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6219. #define IOplockStorage_AddRef(This) (This)->lpVtbl->AddRef(This)
  6220. #define IOplockStorage_Release(This) (This)->lpVtbl->Release(This)
  6221. #define IOplockStorage_CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen) (This)->lpVtbl->CreateStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)
  6222. #define IOplockStorage_OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen) (This)->lpVtbl->OpenStorageEx(This,pwcsName,grfMode,stgfmt,grfAttrs,riid,ppstgOpen)
  6223. #endif
  6224. #endif
  6225. HRESULT WINAPI IOplockStorage_CreateStorageEx_Proxy(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);
  6226. void __RPC_STUB IOplockStorage_CreateStorageEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6227. HRESULT WINAPI IOplockStorage_OpenStorageEx_Proxy(IOplockStorage *This,LPCWSTR pwcsName,DWORD grfMode,DWORD stgfmt,DWORD grfAttrs,REFIID riid,void **ppstgOpen);
  6228. void __RPC_STUB IOplockStorage_OpenStorageEx_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6229. #endif
  6230.  
  6231. #ifndef __ISurrogate_INTERFACE_DEFINED__
  6232. #define __ISurrogate_INTERFACE_DEFINED__
  6233. typedef ISurrogate *LPSURROGATE;
  6234.  
  6235. EXTERN_C const IID IID_ISurrogate;
  6236. #if defined(__cplusplus) && !defined(CINTERFACE)
  6237. struct ISurrogate : public IUnknown {
  6238. public:
  6239. virtual HRESULT WINAPI LoadDllServer(REFCLSID Clsid) = 0;
  6240. virtual HRESULT WINAPI FreeSurrogate(void) = 0;
  6241. };
  6242. #else
  6243. typedef struct ISurrogateVtbl {
  6244. BEGIN_INTERFACE
  6245. HRESULT (WINAPI *QueryInterface)(ISurrogate *This,REFIID riid,void **ppvObject);
  6246. ULONG (WINAPI *AddRef)(ISurrogate *This);
  6247. ULONG (WINAPI *Release)(ISurrogate *This);
  6248. HRESULT (WINAPI *LoadDllServer)(ISurrogate *This,REFCLSID Clsid);
  6249. HRESULT (WINAPI *FreeSurrogate)(ISurrogate *This);
  6250. END_INTERFACE
  6251. } ISurrogateVtbl;
  6252. struct ISurrogate {
  6253. CONST_VTBL struct ISurrogateVtbl *lpVtbl;
  6254. };
  6255. #ifdef COBJMACROS
  6256. #define ISurrogate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6257. #define ISurrogate_AddRef(This) (This)->lpVtbl->AddRef(This)
  6258. #define ISurrogate_Release(This) (This)->lpVtbl->Release(This)
  6259. #define ISurrogate_LoadDllServer(This,Clsid) (This)->lpVtbl->LoadDllServer(This,Clsid)
  6260. #define ISurrogate_FreeSurrogate(This) (This)->lpVtbl->FreeSurrogate(This)
  6261. #endif
  6262. #endif
  6263. HRESULT WINAPI ISurrogate_LoadDllServer_Proxy(ISurrogate *This,REFCLSID Clsid);
  6264. void __RPC_STUB ISurrogate_LoadDllServer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6265. HRESULT WINAPI ISurrogate_FreeSurrogate_Proxy(ISurrogate *This);
  6266. void __RPC_STUB ISurrogate_FreeSurrogate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6267. #endif
  6268.  
  6269. #ifndef __IGlobalInterfaceTable_INTERFACE_DEFINED__
  6270. #define __IGlobalInterfaceTable_INTERFACE_DEFINED__
  6271. typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE;
  6272.  
  6273. EXTERN_C const IID IID_IGlobalInterfaceTable;
  6274. #if defined(__cplusplus) && !defined(CINTERFACE)
  6275. struct IGlobalInterfaceTable : public IUnknown {
  6276. public:
  6277. virtual HRESULT WINAPI RegisterInterfaceInGlobal(IUnknown *pUnk,REFIID riid,DWORD *pdwCookie) = 0;
  6278. virtual HRESULT WINAPI RevokeInterfaceFromGlobal(DWORD dwCookie) = 0;
  6279. virtual HRESULT WINAPI GetInterfaceFromGlobal(DWORD dwCookie,REFIID riid,void **ppv) = 0;
  6280. };
  6281. #else
  6282. typedef struct IGlobalInterfaceTableVtbl {
  6283. BEGIN_INTERFACE
  6284. HRESULT (WINAPI *QueryInterface)(IGlobalInterfaceTable *This,REFIID riid,void **ppvObject);
  6285. ULONG (WINAPI *AddRef)(IGlobalInterfaceTable *This);
  6286. ULONG (WINAPI *Release)(IGlobalInterfaceTable *This);
  6287. HRESULT (WINAPI *RegisterInterfaceInGlobal)(IGlobalInterfaceTable *This,IUnknown *pUnk,REFIID riid,DWORD *pdwCookie);
  6288. HRESULT (WINAPI *RevokeInterfaceFromGlobal)(IGlobalInterfaceTable *This,DWORD dwCookie);
  6289. HRESULT (WINAPI *GetInterfaceFromGlobal)(IGlobalInterfaceTable *This,DWORD dwCookie,REFIID riid,void **ppv);
  6290. END_INTERFACE
  6291. } IGlobalInterfaceTableVtbl;
  6292. struct IGlobalInterfaceTable {
  6293. CONST_VTBL struct IGlobalInterfaceTableVtbl *lpVtbl;
  6294. };
  6295. #ifdef COBJMACROS
  6296. #define IGlobalInterfaceTable_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6297. #define IGlobalInterfaceTable_AddRef(This) (This)->lpVtbl->AddRef(This)
  6298. #define IGlobalInterfaceTable_Release(This) (This)->lpVtbl->Release(This)
  6299. #define IGlobalInterfaceTable_RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie) (This)->lpVtbl->RegisterInterfaceInGlobal(This,pUnk,riid,pdwCookie)
  6300. #define IGlobalInterfaceTable_RevokeInterfaceFromGlobal(This,dwCookie) (This)->lpVtbl->RevokeInterfaceFromGlobal(This,dwCookie)
  6301. #define IGlobalInterfaceTable_GetInterfaceFromGlobal(This,dwCookie,riid,ppv) (This)->lpVtbl->GetInterfaceFromGlobal(This,dwCookie,riid,ppv)
  6302. #endif
  6303. #endif
  6304. HRESULT WINAPI IGlobalInterfaceTable_RegisterInterfaceInGlobal_Proxy(IGlobalInterfaceTable *This,IUnknown *pUnk,REFIID riid,DWORD *pdwCookie);
  6305. void __RPC_STUB IGlobalInterfaceTable_RegisterInterfaceInGlobal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6306. HRESULT WINAPI IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Proxy(IGlobalInterfaceTable *This,DWORD dwCookie);
  6307. void __RPC_STUB IGlobalInterfaceTable_RevokeInterfaceFromGlobal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6308. HRESULT WINAPI IGlobalInterfaceTable_GetInterfaceFromGlobal_Proxy(IGlobalInterfaceTable *This,DWORD dwCookie,REFIID riid,void **ppv);
  6309. void __RPC_STUB IGlobalInterfaceTable_GetInterfaceFromGlobal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6310. #endif
  6311.  
  6312. #ifndef __IDirectWriterLock_INTERFACE_DEFINED__
  6313. #define __IDirectWriterLock_INTERFACE_DEFINED__
  6314. EXTERN_C const IID IID_IDirectWriterLock;
  6315. #if defined(__cplusplus) && !defined(CINTERFACE)
  6316. struct IDirectWriterLock : public IUnknown {
  6317. public:
  6318. virtual HRESULT WINAPI WaitForWriteAccess(DWORD dwTimeout) = 0;
  6319. virtual HRESULT WINAPI ReleaseWriteAccess(void) = 0;
  6320. virtual HRESULT WINAPI HaveWriteAccess(void) = 0;
  6321. };
  6322. #else
  6323. typedef struct IDirectWriterLockVtbl {
  6324. BEGIN_INTERFACE
  6325. HRESULT (WINAPI *QueryInterface)(IDirectWriterLock *This,REFIID riid,void **ppvObject);
  6326. ULONG (WINAPI *AddRef)(IDirectWriterLock *This);
  6327. ULONG (WINAPI *Release)(IDirectWriterLock *This);
  6328. HRESULT (WINAPI *WaitForWriteAccess)(IDirectWriterLock *This,DWORD dwTimeout);
  6329. HRESULT (WINAPI *ReleaseWriteAccess)(IDirectWriterLock *This);
  6330. HRESULT (WINAPI *HaveWriteAccess)(IDirectWriterLock *This);
  6331. END_INTERFACE
  6332. } IDirectWriterLockVtbl;
  6333. struct IDirectWriterLock {
  6334. CONST_VTBL struct IDirectWriterLockVtbl *lpVtbl;
  6335. };
  6336. #ifdef COBJMACROS
  6337. #define IDirectWriterLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6338. #define IDirectWriterLock_AddRef(This) (This)->lpVtbl->AddRef(This)
  6339. #define IDirectWriterLock_Release(This) (This)->lpVtbl->Release(This)
  6340. #define IDirectWriterLock_WaitForWriteAccess(This,dwTimeout) (This)->lpVtbl->WaitForWriteAccess(This,dwTimeout)
  6341. #define IDirectWriterLock_ReleaseWriteAccess(This) (This)->lpVtbl->ReleaseWriteAccess(This)
  6342. #define IDirectWriterLock_HaveWriteAccess(This) (This)->lpVtbl->HaveWriteAccess(This)
  6343. #endif
  6344. #endif
  6345. HRESULT WINAPI IDirectWriterLock_WaitForWriteAccess_Proxy(IDirectWriterLock *This,DWORD dwTimeout);
  6346. void __RPC_STUB IDirectWriterLock_WaitForWriteAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6347. HRESULT WINAPI IDirectWriterLock_ReleaseWriteAccess_Proxy(IDirectWriterLock *This);
  6348. void __RPC_STUB IDirectWriterLock_ReleaseWriteAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6349. HRESULT WINAPI IDirectWriterLock_HaveWriteAccess_Proxy(IDirectWriterLock *This);
  6350. void __RPC_STUB IDirectWriterLock_HaveWriteAccess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6351. #endif
  6352.  
  6353. #ifndef __ISynchronize_INTERFACE_DEFINED__
  6354. #define __ISynchronize_INTERFACE_DEFINED__
  6355. EXTERN_C const IID IID_ISynchronize;
  6356. #if defined(__cplusplus) && !defined(CINTERFACE)
  6357. struct ISynchronize : public IUnknown {
  6358. public:
  6359. virtual HRESULT WINAPI Wait(DWORD dwFlags,DWORD dwMilliseconds) = 0;
  6360. virtual HRESULT WINAPI Signal(void) = 0;
  6361. virtual HRESULT WINAPI Reset(void) = 0;
  6362. };
  6363. #else
  6364. typedef struct ISynchronizeVtbl {
  6365. BEGIN_INTERFACE
  6366. HRESULT (WINAPI *QueryInterface)(ISynchronize *This,REFIID riid,void **ppvObject);
  6367. ULONG (WINAPI *AddRef)(ISynchronize *This);
  6368. ULONG (WINAPI *Release)(ISynchronize *This);
  6369. HRESULT (WINAPI *Wait)(ISynchronize *This,DWORD dwFlags,DWORD dwMilliseconds);
  6370. HRESULT (WINAPI *Signal)(ISynchronize *This);
  6371. HRESULT (WINAPI *Reset)(ISynchronize *This);
  6372. END_INTERFACE
  6373. } ISynchronizeVtbl;
  6374. struct ISynchronize {
  6375. CONST_VTBL struct ISynchronizeVtbl *lpVtbl;
  6376. };
  6377. #ifdef COBJMACROS
  6378. #define ISynchronize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6379. #define ISynchronize_AddRef(This) (This)->lpVtbl->AddRef(This)
  6380. #define ISynchronize_Release(This) (This)->lpVtbl->Release(This)
  6381. #define ISynchronize_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds)
  6382. #define ISynchronize_Signal(This) (This)->lpVtbl->Signal(This)
  6383. #define ISynchronize_Reset(This) (This)->lpVtbl->Reset(This)
  6384. #endif
  6385. #endif
  6386. HRESULT WINAPI ISynchronize_Wait_Proxy(ISynchronize *This,DWORD dwFlags,DWORD dwMilliseconds);
  6387. void __RPC_STUB ISynchronize_Wait_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6388. HRESULT WINAPI ISynchronize_Signal_Proxy(ISynchronize *This);
  6389. void __RPC_STUB ISynchronize_Signal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6390. HRESULT WINAPI ISynchronize_Reset_Proxy(ISynchronize *This);
  6391. void __RPC_STUB ISynchronize_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6392. #endif
  6393.  
  6394. #ifndef __ISynchronizeHandle_INTERFACE_DEFINED__
  6395. #define __ISynchronizeHandle_INTERFACE_DEFINED__
  6396. EXTERN_C const IID IID_ISynchronizeHandle;
  6397. #if defined(__cplusplus) && !defined(CINTERFACE)
  6398. struct ISynchronizeHandle : public IUnknown {
  6399. public:
  6400. virtual HRESULT WINAPI GetHandle(HANDLE *ph) = 0;
  6401. };
  6402. #else
  6403. typedef struct ISynchronizeHandleVtbl {
  6404. BEGIN_INTERFACE
  6405. HRESULT (WINAPI *QueryInterface)(ISynchronizeHandle *This,REFIID riid,void **ppvObject);
  6406. ULONG (WINAPI *AddRef)(ISynchronizeHandle *This);
  6407. ULONG (WINAPI *Release)(ISynchronizeHandle *This);
  6408. HRESULT (WINAPI *GetHandle)(ISynchronizeHandle *This,HANDLE *ph);
  6409. END_INTERFACE
  6410. } ISynchronizeHandleVtbl;
  6411. struct ISynchronizeHandle {
  6412. CONST_VTBL struct ISynchronizeHandleVtbl *lpVtbl;
  6413. };
  6414. #ifdef COBJMACROS
  6415. #define ISynchronizeHandle_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6416. #define ISynchronizeHandle_AddRef(This) (This)->lpVtbl->AddRef(This)
  6417. #define ISynchronizeHandle_Release(This) (This)->lpVtbl->Release(This)
  6418. #define ISynchronizeHandle_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph)
  6419. #endif
  6420. #endif
  6421. HRESULT WINAPI ISynchronizeHandle_GetHandle_Proxy(ISynchronizeHandle *This,HANDLE *ph);
  6422. void __RPC_STUB ISynchronizeHandle_GetHandle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6423. #endif
  6424.  
  6425. #ifndef __ISynchronizeEvent_INTERFACE_DEFINED__
  6426. #define __ISynchronizeEvent_INTERFACE_DEFINED__
  6427. EXTERN_C const IID IID_ISynchronizeEvent;
  6428. #if defined(__cplusplus) && !defined(CINTERFACE)
  6429. struct ISynchronizeEvent : public ISynchronizeHandle {
  6430. public:
  6431. virtual HRESULT WINAPI SetEventHandle(HANDLE *ph) = 0;
  6432. };
  6433. #else
  6434. typedef struct ISynchronizeEventVtbl {
  6435. BEGIN_INTERFACE
  6436. HRESULT (WINAPI *QueryInterface)(ISynchronizeEvent *This,REFIID riid,void **ppvObject);
  6437. ULONG (WINAPI *AddRef)(ISynchronizeEvent *This);
  6438. ULONG (WINAPI *Release)(ISynchronizeEvent *This);
  6439. HRESULT (WINAPI *GetHandle)(ISynchronizeEvent *This,HANDLE *ph);
  6440. HRESULT (WINAPI *SetEventHandle)(ISynchronizeEvent *This,HANDLE *ph);
  6441. END_INTERFACE
  6442. } ISynchronizeEventVtbl;
  6443. struct ISynchronizeEvent {
  6444. CONST_VTBL struct ISynchronizeEventVtbl *lpVtbl;
  6445. };
  6446. #ifdef COBJMACROS
  6447. #define ISynchronizeEvent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6448. #define ISynchronizeEvent_AddRef(This) (This)->lpVtbl->AddRef(This)
  6449. #define ISynchronizeEvent_Release(This) (This)->lpVtbl->Release(This)
  6450. #define ISynchronizeEvent_GetHandle(This,ph) (This)->lpVtbl->GetHandle(This,ph)
  6451. #define ISynchronizeEvent_SetEventHandle(This,ph) (This)->lpVtbl->SetEventHandle(This,ph)
  6452. #endif
  6453. #endif
  6454. HRESULT WINAPI ISynchronizeEvent_SetEventHandle_Proxy(ISynchronizeEvent *This,HANDLE *ph);
  6455. void __RPC_STUB ISynchronizeEvent_SetEventHandle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6456. #endif
  6457.  
  6458. #ifndef __ISynchronizeContainer_INTERFACE_DEFINED__
  6459. #define __ISynchronizeContainer_INTERFACE_DEFINED__
  6460. EXTERN_C const IID IID_ISynchronizeContainer;
  6461. #if defined(__cplusplus) && !defined(CINTERFACE)
  6462. struct ISynchronizeContainer : public IUnknown {
  6463. public:
  6464. virtual HRESULT WINAPI AddSynchronize(ISynchronize *pSync) = 0;
  6465. virtual HRESULT WINAPI WaitMultiple(DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync) = 0;
  6466. };
  6467. #else
  6468. typedef struct ISynchronizeContainerVtbl {
  6469. BEGIN_INTERFACE
  6470. HRESULT (WINAPI *QueryInterface)(ISynchronizeContainer *This,REFIID riid,void **ppvObject);
  6471. ULONG (WINAPI *AddRef)(ISynchronizeContainer *This);
  6472. ULONG (WINAPI *Release)(ISynchronizeContainer *This);
  6473. HRESULT (WINAPI *AddSynchronize)(ISynchronizeContainer *This,ISynchronize *pSync);
  6474. HRESULT (WINAPI *WaitMultiple)(ISynchronizeContainer *This,DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync);
  6475. END_INTERFACE
  6476. } ISynchronizeContainerVtbl;
  6477. struct ISynchronizeContainer {
  6478. CONST_VTBL struct ISynchronizeContainerVtbl *lpVtbl;
  6479. };
  6480. #ifdef COBJMACROS
  6481. #define ISynchronizeContainer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6482. #define ISynchronizeContainer_AddRef(This) (This)->lpVtbl->AddRef(This)
  6483. #define ISynchronizeContainer_Release(This) (This)->lpVtbl->Release(This)
  6484. #define ISynchronizeContainer_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync)
  6485. #define ISynchronizeContainer_WaitMultiple(This,dwFlags,dwTimeOut,ppSync) (This)->lpVtbl->WaitMultiple(This,dwFlags,dwTimeOut,ppSync)
  6486. #endif
  6487. #endif
  6488. HRESULT WINAPI ISynchronizeContainer_AddSynchronize_Proxy(ISynchronizeContainer *This,ISynchronize *pSync);
  6489. void __RPC_STUB ISynchronizeContainer_AddSynchronize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6490. HRESULT WINAPI ISynchronizeContainer_WaitMultiple_Proxy(ISynchronizeContainer *This,DWORD dwFlags,DWORD dwTimeOut,ISynchronize **ppSync);
  6491. void __RPC_STUB ISynchronizeContainer_WaitMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6492. #endif
  6493.  
  6494. #ifndef __ISynchronizeMutex_INTERFACE_DEFINED__
  6495. #define __ISynchronizeMutex_INTERFACE_DEFINED__
  6496. EXTERN_C const IID IID_ISynchronizeMutex;
  6497. #if defined(__cplusplus) && !defined(CINTERFACE)
  6498. struct ISynchronizeMutex : public ISynchronize {
  6499. public:
  6500. virtual HRESULT WINAPI ReleaseMutex(void) = 0;
  6501. };
  6502. #else
  6503. typedef struct ISynchronizeMutexVtbl {
  6504. BEGIN_INTERFACE
  6505. HRESULT (WINAPI *QueryInterface)(ISynchronizeMutex *This,REFIID riid,void **ppvObject);
  6506. ULONG (WINAPI *AddRef)(ISynchronizeMutex *This);
  6507. ULONG (WINAPI *Release)(ISynchronizeMutex *This);
  6508. HRESULT (WINAPI *Wait)(ISynchronizeMutex *This,DWORD dwFlags,DWORD dwMilliseconds);
  6509. HRESULT (WINAPI *Signal)(ISynchronizeMutex *This);
  6510. HRESULT (WINAPI *Reset)(ISynchronizeMutex *This);
  6511. HRESULT (WINAPI *ReleaseMutex)(ISynchronizeMutex *This);
  6512. END_INTERFACE
  6513. } ISynchronizeMutexVtbl;
  6514. struct ISynchronizeMutex {
  6515. CONST_VTBL struct ISynchronizeMutexVtbl *lpVtbl;
  6516. };
  6517. #ifdef COBJMACROS
  6518. #define ISynchronizeMutex_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6519. #define ISynchronizeMutex_AddRef(This) (This)->lpVtbl->AddRef(This)
  6520. #define ISynchronizeMutex_Release(This) (This)->lpVtbl->Release(This)
  6521. #define ISynchronizeMutex_Wait(This,dwFlags,dwMilliseconds) (This)->lpVtbl->Wait(This,dwFlags,dwMilliseconds)
  6522. #define ISynchronizeMutex_Signal(This) (This)->lpVtbl->Signal(This)
  6523. #define ISynchronizeMutex_Reset(This) (This)->lpVtbl->Reset(This)
  6524. #define ISynchronizeMutex_ReleaseMutex(This) (This)->lpVtbl->ReleaseMutex(This)
  6525. #endif
  6526. #endif
  6527. HRESULT WINAPI ISynchronizeMutex_ReleaseMutex_Proxy(ISynchronizeMutex *This);
  6528. void __RPC_STUB ISynchronizeMutex_ReleaseMutex_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6529. #endif
  6530.  
  6531. #ifndef __ICancelMethodCalls_INTERFACE_DEFINED__
  6532. #define __ICancelMethodCalls_INTERFACE_DEFINED__
  6533. typedef ICancelMethodCalls *LPCANCELMETHODCALLS;
  6534.  
  6535. EXTERN_C const IID IID_ICancelMethodCalls;
  6536. #if defined(__cplusplus) && !defined(CINTERFACE)
  6537. struct ICancelMethodCalls : public IUnknown {
  6538. public:
  6539. virtual HRESULT WINAPI Cancel(ULONG ulSeconds) = 0;
  6540. virtual HRESULT WINAPI TestCancel(void) = 0;
  6541. };
  6542. #else
  6543. typedef struct ICancelMethodCallsVtbl {
  6544. BEGIN_INTERFACE
  6545. HRESULT (WINAPI *QueryInterface)(ICancelMethodCalls *This,REFIID riid,void **ppvObject);
  6546. ULONG (WINAPI *AddRef)(ICancelMethodCalls *This);
  6547. ULONG (WINAPI *Release)(ICancelMethodCalls *This);
  6548. HRESULT (WINAPI *Cancel)(ICancelMethodCalls *This,ULONG ulSeconds);
  6549. HRESULT (WINAPI *TestCancel)(ICancelMethodCalls *This);
  6550. END_INTERFACE
  6551. } ICancelMethodCallsVtbl;
  6552. struct ICancelMethodCalls {
  6553. CONST_VTBL struct ICancelMethodCallsVtbl *lpVtbl;
  6554. };
  6555. #ifdef COBJMACROS
  6556. #define ICancelMethodCalls_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6557. #define ICancelMethodCalls_AddRef(This) (This)->lpVtbl->AddRef(This)
  6558. #define ICancelMethodCalls_Release(This) (This)->lpVtbl->Release(This)
  6559. #define ICancelMethodCalls_Cancel(This,ulSeconds) (This)->lpVtbl->Cancel(This,ulSeconds)
  6560. #define ICancelMethodCalls_TestCancel(This) (This)->lpVtbl->TestCancel(This)
  6561. #endif
  6562. #endif
  6563. HRESULT WINAPI ICancelMethodCalls_Cancel_Proxy(ICancelMethodCalls *This,ULONG ulSeconds);
  6564. void __RPC_STUB ICancelMethodCalls_Cancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6565. HRESULT WINAPI ICancelMethodCalls_TestCancel_Proxy(ICancelMethodCalls *This);
  6566. void __RPC_STUB ICancelMethodCalls_TestCancel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6567. #endif
  6568.  
  6569. #ifndef __IAsyncManager_INTERFACE_DEFINED__
  6570. #define __IAsyncManager_INTERFACE_DEFINED__
  6571. typedef enum tagDCOM_CALL_STATE {
  6572. DCOM_NONE = 0,DCOM_CALL_COMPLETE = 0x1,DCOM_CALL_CANCELED = 0x2
  6573. } DCOM_CALL_STATE;
  6574.  
  6575. EXTERN_C const IID IID_IAsyncManager;
  6576. #if defined(__cplusplus) && !defined(CINTERFACE)
  6577. struct IAsyncManager : public IUnknown {
  6578. public:
  6579. virtual HRESULT WINAPI CompleteCall(HRESULT Result) = 0;
  6580. virtual HRESULT WINAPI GetCallContext(REFIID riid,void **pInterface) = 0;
  6581. virtual HRESULT WINAPI GetState(ULONG *pulStateFlags) = 0;
  6582. };
  6583. #else
  6584. typedef struct IAsyncManagerVtbl {
  6585. BEGIN_INTERFACE
  6586. HRESULT (WINAPI *QueryInterface)(IAsyncManager *This,REFIID riid,void **ppvObject);
  6587. ULONG (WINAPI *AddRef)(IAsyncManager *This);
  6588. ULONG (WINAPI *Release)(IAsyncManager *This);
  6589. HRESULT (WINAPI *CompleteCall)(IAsyncManager *This,HRESULT Result);
  6590. HRESULT (WINAPI *GetCallContext)(IAsyncManager *This,REFIID riid,void **pInterface);
  6591. HRESULT (WINAPI *GetState)(IAsyncManager *This,ULONG *pulStateFlags);
  6592. END_INTERFACE
  6593. } IAsyncManagerVtbl;
  6594. struct IAsyncManager {
  6595. CONST_VTBL struct IAsyncManagerVtbl *lpVtbl;
  6596. };
  6597. #ifdef COBJMACROS
  6598. #define IAsyncManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6599. #define IAsyncManager_AddRef(This) (This)->lpVtbl->AddRef(This)
  6600. #define IAsyncManager_Release(This) (This)->lpVtbl->Release(This)
  6601. #define IAsyncManager_CompleteCall(This,Result) (This)->lpVtbl->CompleteCall(This,Result)
  6602. #define IAsyncManager_GetCallContext(This,riid,pInterface) (This)->lpVtbl->GetCallContext(This,riid,pInterface)
  6603. #define IAsyncManager_GetState(This,pulStateFlags) (This)->lpVtbl->GetState(This,pulStateFlags)
  6604. #endif
  6605. #endif
  6606. HRESULT WINAPI IAsyncManager_CompleteCall_Proxy(IAsyncManager *This,HRESULT Result);
  6607. void __RPC_STUB IAsyncManager_CompleteCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6608. HRESULT WINAPI IAsyncManager_GetCallContext_Proxy(IAsyncManager *This,REFIID riid,void **pInterface);
  6609. void __RPC_STUB IAsyncManager_GetCallContext_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6610. HRESULT WINAPI IAsyncManager_GetState_Proxy(IAsyncManager *This,ULONG *pulStateFlags);
  6611. void __RPC_STUB IAsyncManager_GetState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6612. #endif
  6613.  
  6614. #ifndef __ICallFactory_INTERFACE_DEFINED__
  6615. #define __ICallFactory_INTERFACE_DEFINED__
  6616. EXTERN_C const IID IID_ICallFactory;
  6617. #if defined(__cplusplus) && !defined(CINTERFACE)
  6618. struct ICallFactory : public IUnknown {
  6619. public:
  6620. virtual HRESULT WINAPI CreateCall(REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv) = 0;
  6621. };
  6622. #else
  6623. typedef struct ICallFactoryVtbl {
  6624. BEGIN_INTERFACE
  6625. HRESULT (WINAPI *QueryInterface)(ICallFactory *This,REFIID riid,void **ppvObject);
  6626. ULONG (WINAPI *AddRef)(ICallFactory *This);
  6627. ULONG (WINAPI *Release)(ICallFactory *This);
  6628. HRESULT (WINAPI *CreateCall)(ICallFactory *This,REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv);
  6629. END_INTERFACE
  6630. } ICallFactoryVtbl;
  6631. struct ICallFactory {
  6632. CONST_VTBL struct ICallFactoryVtbl *lpVtbl;
  6633. };
  6634. #ifdef COBJMACROS
  6635. #define ICallFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6636. #define ICallFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
  6637. #define ICallFactory_Release(This) (This)->lpVtbl->Release(This)
  6638. #define ICallFactory_CreateCall(This,riid,pCtrlUnk,riid2,ppv) (This)->lpVtbl->CreateCall(This,riid,pCtrlUnk,riid2,ppv)
  6639. #endif
  6640. #endif
  6641. HRESULT WINAPI ICallFactory_CreateCall_Proxy(ICallFactory *This,REFIID riid,IUnknown *pCtrlUnk,REFIID riid2,IUnknown **ppv);
  6642. void __RPC_STUB ICallFactory_CreateCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6643. #endif
  6644.  
  6645. #ifndef __IRpcHelper_INTERFACE_DEFINED__
  6646. #define __IRpcHelper_INTERFACE_DEFINED__
  6647. EXTERN_C const IID IID_IRpcHelper;
  6648. #if defined(__cplusplus) && !defined(CINTERFACE)
  6649. struct IRpcHelper : public IUnknown {
  6650. public:
  6651. virtual HRESULT WINAPI GetDCOMProtocolVersion(DWORD *pComVersion) = 0;
  6652. virtual HRESULT WINAPI GetIIDFromOBJREF(void *pObjRef,IID **piid) = 0;
  6653. };
  6654. #else
  6655. typedef struct IRpcHelperVtbl {
  6656. BEGIN_INTERFACE
  6657. HRESULT (WINAPI *QueryInterface)(IRpcHelper *This,REFIID riid,void **ppvObject);
  6658. ULONG (WINAPI *AddRef)(IRpcHelper *This);
  6659. ULONG (WINAPI *Release)(IRpcHelper *This);
  6660. HRESULT (WINAPI *GetDCOMProtocolVersion)(IRpcHelper *This,DWORD *pComVersion);
  6661. HRESULT (WINAPI *GetIIDFromOBJREF)(IRpcHelper *This,void *pObjRef,IID **piid);
  6662. END_INTERFACE
  6663. } IRpcHelperVtbl;
  6664. struct IRpcHelper {
  6665. CONST_VTBL struct IRpcHelperVtbl *lpVtbl;
  6666. };
  6667. #ifdef COBJMACROS
  6668. #define IRpcHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6669. #define IRpcHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
  6670. #define IRpcHelper_Release(This) (This)->lpVtbl->Release(This)
  6671. #define IRpcHelper_GetDCOMProtocolVersion(This,pComVersion) (This)->lpVtbl->GetDCOMProtocolVersion(This,pComVersion)
  6672. #define IRpcHelper_GetIIDFromOBJREF(This,pObjRef,piid) (This)->lpVtbl->GetIIDFromOBJREF(This,pObjRef,piid)
  6673. #endif
  6674. #endif
  6675. HRESULT WINAPI IRpcHelper_GetDCOMProtocolVersion_Proxy(IRpcHelper *This,DWORD *pComVersion);
  6676. void __RPC_STUB IRpcHelper_GetDCOMProtocolVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6677. HRESULT WINAPI IRpcHelper_GetIIDFromOBJREF_Proxy(IRpcHelper *This,void *pObjRef,IID **piid);
  6678. void __RPC_STUB IRpcHelper_GetIIDFromOBJREF_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6679. #endif
  6680.  
  6681. #ifndef __IReleaseMarshalBuffers_INTERFACE_DEFINED__
  6682. #define __IReleaseMarshalBuffers_INTERFACE_DEFINED__
  6683. EXTERN_C const IID IID_IReleaseMarshalBuffers;
  6684. #if defined(__cplusplus) && !defined(CINTERFACE)
  6685. struct IReleaseMarshalBuffers : public IUnknown {
  6686. public:
  6687. virtual HRESULT WINAPI ReleaseMarshalBuffer(RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl) = 0;
  6688. };
  6689. #else
  6690. typedef struct IReleaseMarshalBuffersVtbl {
  6691. BEGIN_INTERFACE
  6692. HRESULT (WINAPI *QueryInterface)(IReleaseMarshalBuffers *This,REFIID riid,void **ppvObject);
  6693. ULONG (WINAPI *AddRef)(IReleaseMarshalBuffers *This);
  6694. ULONG (WINAPI *Release)(IReleaseMarshalBuffers *This);
  6695. HRESULT (WINAPI *ReleaseMarshalBuffer)(IReleaseMarshalBuffers *This,RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl);
  6696. END_INTERFACE
  6697. } IReleaseMarshalBuffersVtbl;
  6698. struct IReleaseMarshalBuffers {
  6699. CONST_VTBL struct IReleaseMarshalBuffersVtbl *lpVtbl;
  6700. };
  6701. #ifdef COBJMACROS
  6702. #define IReleaseMarshalBuffers_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6703. #define IReleaseMarshalBuffers_AddRef(This) (This)->lpVtbl->AddRef(This)
  6704. #define IReleaseMarshalBuffers_Release(This) (This)->lpVtbl->Release(This)
  6705. #define IReleaseMarshalBuffers_ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl) (This)->lpVtbl->ReleaseMarshalBuffer(This,pMsg,dwFlags,pChnl)
  6706. #endif
  6707. #endif
  6708. HRESULT WINAPI IReleaseMarshalBuffers_ReleaseMarshalBuffer_Proxy(IReleaseMarshalBuffers *This,RPCOLEMESSAGE *pMsg,DWORD dwFlags,IUnknown *pChnl);
  6709. void __RPC_STUB IReleaseMarshalBuffers_ReleaseMarshalBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6710. #endif
  6711.  
  6712. #ifndef __IWaitMultiple_INTERFACE_DEFINED__
  6713. #define __IWaitMultiple_INTERFACE_DEFINED__
  6714. EXTERN_C const IID IID_IWaitMultiple;
  6715. #if defined(__cplusplus) && !defined(CINTERFACE)
  6716. struct IWaitMultiple : public IUnknown {
  6717. public:
  6718. virtual HRESULT WINAPI WaitMultiple(DWORD timeout,ISynchronize **pSync) = 0;
  6719. virtual HRESULT WINAPI AddSynchronize(ISynchronize *pSync) = 0;
  6720. };
  6721. #else
  6722. typedef struct IWaitMultipleVtbl {
  6723. BEGIN_INTERFACE
  6724. HRESULT (WINAPI *QueryInterface)(IWaitMultiple *This,REFIID riid,void **ppvObject);
  6725. ULONG (WINAPI *AddRef)(IWaitMultiple *This);
  6726. ULONG (WINAPI *Release)(IWaitMultiple *This);
  6727. HRESULT (WINAPI *WaitMultiple)(IWaitMultiple *This,DWORD timeout,ISynchronize **pSync);
  6728. HRESULT (WINAPI *AddSynchronize)(IWaitMultiple *This,ISynchronize *pSync);
  6729. END_INTERFACE
  6730. } IWaitMultipleVtbl;
  6731. struct IWaitMultiple {
  6732. CONST_VTBL struct IWaitMultipleVtbl *lpVtbl;
  6733. };
  6734. #ifdef COBJMACROS
  6735. #define IWaitMultiple_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6736. #define IWaitMultiple_AddRef(This) (This)->lpVtbl->AddRef(This)
  6737. #define IWaitMultiple_Release(This) (This)->lpVtbl->Release(This)
  6738. #define IWaitMultiple_WaitMultiple(This,timeout,pSync) (This)->lpVtbl->WaitMultiple(This,timeout,pSync)
  6739. #define IWaitMultiple_AddSynchronize(This,pSync) (This)->lpVtbl->AddSynchronize(This,pSync)
  6740. #endif
  6741. #endif
  6742. HRESULT WINAPI IWaitMultiple_WaitMultiple_Proxy(IWaitMultiple *This,DWORD timeout,ISynchronize **pSync);
  6743. void __RPC_STUB IWaitMultiple_WaitMultiple_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6744. HRESULT WINAPI IWaitMultiple_AddSynchronize_Proxy(IWaitMultiple *This,ISynchronize *pSync);
  6745. void __RPC_STUB IWaitMultiple_AddSynchronize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6746. #endif
  6747.  
  6748. #ifndef __IUrlMon_INTERFACE_DEFINED__
  6749. #define __IUrlMon_INTERFACE_DEFINED__
  6750. EXTERN_C const IID IID_IUrlMon;
  6751. #if defined(__cplusplus) && !defined(CINTERFACE)
  6752. struct IUrlMon : public IUnknown {
  6753. public:
  6754. virtual HRESULT WINAPI AsyncGetClassBits(REFCLSID rclsid,LPCWSTR pszTYPE,LPCWSTR pszExt,DWORD dwFileVersionMS,DWORD dwFileVersionLS,LPCWSTR pszCodeBase,IBindCtx *pbc,DWORD dwClassContext,REFIID riid,DWORD flags) = 0;
  6755. };
  6756. #else
  6757. typedef struct IUrlMonVtbl {
  6758. BEGIN_INTERFACE
  6759. HRESULT (WINAPI *QueryInterface)(IUrlMon *This,REFIID riid,void **ppvObject);
  6760. ULONG (WINAPI *AddRef)(IUrlMon *This);
  6761. ULONG (WINAPI *Release)(IUrlMon *This);
  6762. HRESULT (WINAPI *AsyncGetClassBits)(IUrlMon *This,REFCLSID rclsid,LPCWSTR pszTYPE,LPCWSTR pszExt,DWORD dwFileVersionMS,DWORD dwFileVersionLS,LPCWSTR pszCodeBase,IBindCtx *pbc,DWORD dwClassContext,REFIID riid,DWORD flags);
  6763. END_INTERFACE
  6764. } IUrlMonVtbl;
  6765. struct IUrlMon {
  6766. CONST_VTBL struct IUrlMonVtbl *lpVtbl;
  6767. };
  6768. #ifdef COBJMACROS
  6769. #define IUrlMon_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6770. #define IUrlMon_AddRef(This) (This)->lpVtbl->AddRef(This)
  6771. #define IUrlMon_Release(This) (This)->lpVtbl->Release(This)
  6772. #define IUrlMon_AsyncGetClassBits(This,rclsid,pszTYPE,pszExt,dwFileVersionMS,dwFileVersionLS,pszCodeBase,pbc,dwClassContext,riid,flags) (This)->lpVtbl->AsyncGetClassBits(This,rclsid,pszTYPE,pszExt,dwFileVersionMS,dwFileVersionLS,pszCodeBase,pbc,dwClassContext,riid,flags)
  6773. #endif
  6774. #endif
  6775. HRESULT WINAPI IUrlMon_AsyncGetClassBits_Proxy(IUrlMon *This,REFCLSID rclsid,LPCWSTR pszTYPE,LPCWSTR pszExt,DWORD dwFileVersionMS,DWORD dwFileVersionLS,LPCWSTR pszCodeBase,IBindCtx *pbc,DWORD dwClassContext,REFIID riid,DWORD flags);
  6776. void __RPC_STUB IUrlMon_AsyncGetClassBits_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6777. #endif
  6778.  
  6779. #ifndef __IForegroundTransfer_INTERFACE_DEFINED__
  6780. #define __IForegroundTransfer_INTERFACE_DEFINED__
  6781. EXTERN_C const IID IID_IForegroundTransfer;
  6782. #if defined(__cplusplus) && !defined(CINTERFACE)
  6783. struct IForegroundTransfer : public IUnknown {
  6784. public:
  6785. virtual HRESULT WINAPI AllowForegroundTransfer(void *lpvReserved) = 0;
  6786. };
  6787. #else
  6788. typedef struct IForegroundTransferVtbl {
  6789. BEGIN_INTERFACE
  6790. HRESULT (WINAPI *QueryInterface)(IForegroundTransfer *This,REFIID riid,void **ppvObject);
  6791. ULONG (WINAPI *AddRef)(IForegroundTransfer *This);
  6792. ULONG (WINAPI *Release)(IForegroundTransfer *This);
  6793. HRESULT (WINAPI *AllowForegroundTransfer)(IForegroundTransfer *This,void *lpvReserved);
  6794. END_INTERFACE
  6795. } IForegroundTransferVtbl;
  6796. struct IForegroundTransfer {
  6797. CONST_VTBL struct IForegroundTransferVtbl *lpVtbl;
  6798. };
  6799. #ifdef COBJMACROS
  6800. #define IForegroundTransfer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6801. #define IForegroundTransfer_AddRef(This) (This)->lpVtbl->AddRef(This)
  6802. #define IForegroundTransfer_Release(This) (This)->lpVtbl->Release(This)
  6803. #define IForegroundTransfer_AllowForegroundTransfer(This,lpvReserved) (This)->lpVtbl->AllowForegroundTransfer(This,lpvReserved)
  6804. #endif
  6805. #endif
  6806. HRESULT WINAPI IForegroundTransfer_AllowForegroundTransfer_Proxy(IForegroundTransfer *This,void *lpvReserved);
  6807. void __RPC_STUB IForegroundTransfer_AllowForegroundTransfer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6808. #endif
  6809.  
  6810. #ifndef __IAddrTrackingControl_INTERFACE_DEFINED__
  6811. #define __IAddrTrackingControl_INTERFACE_DEFINED__
  6812. typedef IAddrTrackingControl *LPADDRTRACKINGCONTROL;
  6813.  
  6814. EXTERN_C const IID IID_IAddrTrackingControl;
  6815. #if defined(__cplusplus) && !defined(CINTERFACE)
  6816. struct IAddrTrackingControl : public IUnknown {
  6817. public:
  6818. virtual HRESULT WINAPI EnableCOMDynamicAddrTracking(void) = 0;
  6819. virtual HRESULT WINAPI DisableCOMDynamicAddrTracking(void) = 0;
  6820. };
  6821. #else
  6822. typedef struct IAddrTrackingControlVtbl {
  6823. BEGIN_INTERFACE
  6824. HRESULT (WINAPI *QueryInterface)(IAddrTrackingControl *This,REFIID riid,void **ppvObject);
  6825. ULONG (WINAPI *AddRef)(IAddrTrackingControl *This);
  6826. ULONG (WINAPI *Release)(IAddrTrackingControl *This);
  6827. HRESULT (WINAPI *EnableCOMDynamicAddrTracking)(IAddrTrackingControl *This);
  6828. HRESULT (WINAPI *DisableCOMDynamicAddrTracking)(IAddrTrackingControl *This);
  6829. END_INTERFACE
  6830. } IAddrTrackingControlVtbl;
  6831. struct IAddrTrackingControl {
  6832. CONST_VTBL struct IAddrTrackingControlVtbl *lpVtbl;
  6833. };
  6834. #ifdef COBJMACROS
  6835. #define IAddrTrackingControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6836. #define IAddrTrackingControl_AddRef(This) (This)->lpVtbl->AddRef(This)
  6837. #define IAddrTrackingControl_Release(This) (This)->lpVtbl->Release(This)
  6838. #define IAddrTrackingControl_EnableCOMDynamicAddrTracking(This) (This)->lpVtbl->EnableCOMDynamicAddrTracking(This)
  6839. #define IAddrTrackingControl_DisableCOMDynamicAddrTracking(This) (This)->lpVtbl->DisableCOMDynamicAddrTracking(This)
  6840. #endif
  6841. #endif
  6842. HRESULT WINAPI IAddrTrackingControl_EnableCOMDynamicAddrTracking_Proxy(IAddrTrackingControl *This);
  6843. void __RPC_STUB IAddrTrackingControl_EnableCOMDynamicAddrTracking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6844. HRESULT WINAPI IAddrTrackingControl_DisableCOMDynamicAddrTracking_Proxy(IAddrTrackingControl *This);
  6845. void __RPC_STUB IAddrTrackingControl_DisableCOMDynamicAddrTracking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6846. #endif
  6847.  
  6848. #ifndef __IAddrExclusionControl_INTERFACE_DEFINED__
  6849. #define __IAddrExclusionControl_INTERFACE_DEFINED__
  6850. typedef IAddrExclusionControl *LPADDREXCLUSIONCONTROL;
  6851.  
  6852. EXTERN_C const IID IID_IAddrExclusionControl;
  6853. #if defined(__cplusplus) && !defined(CINTERFACE)
  6854. struct IAddrExclusionControl : public IUnknown {
  6855. public:
  6856. virtual HRESULT WINAPI GetCurrentAddrExclusionList(REFIID riid,void **ppEnumerator) = 0;
  6857. virtual HRESULT WINAPI UpdateAddrExclusionList(IUnknown *pEnumerator) = 0;
  6858. };
  6859. #else
  6860. typedef struct IAddrExclusionControlVtbl {
  6861. BEGIN_INTERFACE
  6862. HRESULT (WINAPI *QueryInterface)(IAddrExclusionControl *This,REFIID riid,void **ppvObject);
  6863. ULONG (WINAPI *AddRef)(IAddrExclusionControl *This);
  6864. ULONG (WINAPI *Release)(IAddrExclusionControl *This);
  6865. HRESULT (WINAPI *GetCurrentAddrExclusionList)(IAddrExclusionControl *This,REFIID riid,void **ppEnumerator);
  6866. HRESULT (WINAPI *UpdateAddrExclusionList)(IAddrExclusionControl *This,IUnknown *pEnumerator);
  6867. END_INTERFACE
  6868. } IAddrExclusionControlVtbl;
  6869. struct IAddrExclusionControl {
  6870. CONST_VTBL struct IAddrExclusionControlVtbl *lpVtbl;
  6871. };
  6872. #ifdef COBJMACROS
  6873. #define IAddrExclusionControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6874. #define IAddrExclusionControl_AddRef(This) (This)->lpVtbl->AddRef(This)
  6875. #define IAddrExclusionControl_Release(This) (This)->lpVtbl->Release(This)
  6876. #define IAddrExclusionControl_GetCurrentAddrExclusionList(This,riid,ppEnumerator) (This)->lpVtbl->GetCurrentAddrExclusionList(This,riid,ppEnumerator)
  6877. #define IAddrExclusionControl_UpdateAddrExclusionList(This,pEnumerator) (This)->lpVtbl->UpdateAddrExclusionList(This,pEnumerator)
  6878. #endif
  6879. #endif
  6880. HRESULT WINAPI IAddrExclusionControl_GetCurrentAddrExclusionList_Proxy(IAddrExclusionControl *This,REFIID riid,void **ppEnumerator);
  6881. void __RPC_STUB IAddrExclusionControl_GetCurrentAddrExclusionList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6882. HRESULT WINAPI IAddrExclusionControl_UpdateAddrExclusionList_Proxy(IAddrExclusionControl *This,IUnknown *pEnumerator);
  6883. void __RPC_STUB IAddrExclusionControl_UpdateAddrExclusionList_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6884. #endif
  6885.  
  6886. #ifndef __IPipeByte_INTERFACE_DEFINED__
  6887. #define __IPipeByte_INTERFACE_DEFINED__
  6888. EXTERN_C const IID IID_IPipeByte;
  6889. #if defined(__cplusplus) && !defined(CINTERFACE)
  6890. struct IPipeByte : public IUnknown {
  6891. public:
  6892. virtual HRESULT WINAPI Pull(BYTE *buf,ULONG cRequest,ULONG *pcReturned) = 0;
  6893. virtual HRESULT WINAPI Push(BYTE *buf,ULONG cSent) = 0;
  6894. };
  6895. #else
  6896. typedef struct IPipeByteVtbl {
  6897. BEGIN_INTERFACE
  6898. HRESULT (WINAPI *QueryInterface)(IPipeByte *This,REFIID riid,void **ppvObject);
  6899. ULONG (WINAPI *AddRef)(IPipeByte *This);
  6900. ULONG (WINAPI *Release)(IPipeByte *This);
  6901. HRESULT (WINAPI *Pull)(IPipeByte *This,BYTE *buf,ULONG cRequest,ULONG *pcReturned);
  6902. HRESULT (WINAPI *Push)(IPipeByte *This,BYTE *buf,ULONG cSent);
  6903. END_INTERFACE
  6904. } IPipeByteVtbl;
  6905. struct IPipeByte {
  6906. CONST_VTBL struct IPipeByteVtbl *lpVtbl;
  6907. };
  6908. #ifdef COBJMACROS
  6909. #define IPipeByte_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6910. #define IPipeByte_AddRef(This) (This)->lpVtbl->AddRef(This)
  6911. #define IPipeByte_Release(This) (This)->lpVtbl->Release(This)
  6912. #define IPipeByte_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)
  6913. #define IPipeByte_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)
  6914. #endif
  6915. #endif
  6916. HRESULT WINAPI IPipeByte_Pull_Proxy(IPipeByte *This,BYTE *buf,ULONG cRequest,ULONG *pcReturned);
  6917. void __RPC_STUB IPipeByte_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6918. HRESULT WINAPI IPipeByte_Push_Proxy(IPipeByte *This,BYTE *buf,ULONG cSent);
  6919. void __RPC_STUB IPipeByte_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6920. #endif
  6921.  
  6922. #ifndef __AsyncIPipeByte_INTERFACE_DEFINED__
  6923. #define __AsyncIPipeByte_INTERFACE_DEFINED__
  6924. EXTERN_C const IID IID_AsyncIPipeByte;
  6925. #if defined(__cplusplus) && !defined(CINTERFACE)
  6926. struct AsyncIPipeByte : public IUnknown {
  6927. public:
  6928. virtual HRESULT WINAPI Begin_Pull(ULONG cRequest) = 0;
  6929. virtual HRESULT WINAPI Finish_Pull(BYTE *buf,ULONG *pcReturned) = 0;
  6930. virtual HRESULT WINAPI Begin_Push(BYTE *buf,ULONG cSent) = 0;
  6931. virtual HRESULT WINAPI Finish_Push(void) = 0;
  6932. };
  6933. #else
  6934. typedef struct AsyncIPipeByteVtbl {
  6935. BEGIN_INTERFACE
  6936. HRESULT (WINAPI *QueryInterface)(AsyncIPipeByte *This,REFIID riid,void **ppvObject);
  6937. ULONG (WINAPI *AddRef)(AsyncIPipeByte *This);
  6938. ULONG (WINAPI *Release)(AsyncIPipeByte *This);
  6939. HRESULT (WINAPI *Begin_Pull)(AsyncIPipeByte *This,ULONG cRequest);
  6940. HRESULT (WINAPI *Finish_Pull)(AsyncIPipeByte *This,BYTE *buf,ULONG *pcReturned);
  6941. HRESULT (WINAPI *Begin_Push)(AsyncIPipeByte *This,BYTE *buf,ULONG cSent);
  6942. HRESULT (WINAPI *Finish_Push)(AsyncIPipeByte *This);
  6943. END_INTERFACE
  6944. } AsyncIPipeByteVtbl;
  6945. struct AsyncIPipeByte {
  6946. CONST_VTBL struct AsyncIPipeByteVtbl *lpVtbl;
  6947. };
  6948. #ifdef COBJMACROS
  6949. #define AsyncIPipeByte_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6950. #define AsyncIPipeByte_AddRef(This) (This)->lpVtbl->AddRef(This)
  6951. #define AsyncIPipeByte_Release(This) (This)->lpVtbl->Release(This)
  6952. #define AsyncIPipeByte_Begin_Pull(This,cRequest) (This)->lpVtbl->Begin_Pull(This,cRequest)
  6953. #define AsyncIPipeByte_Finish_Pull(This,buf,pcReturned) (This)->lpVtbl->Finish_Pull(This,buf,pcReturned)
  6954. #define AsyncIPipeByte_Begin_Push(This,buf,cSent) (This)->lpVtbl->Begin_Push(This,buf,cSent)
  6955. #define AsyncIPipeByte_Finish_Push(This) (This)->lpVtbl->Finish_Push(This)
  6956. #endif
  6957. #endif
  6958. HRESULT WINAPI AsyncIPipeByte_Begin_Pull_Proxy(AsyncIPipeByte *This,ULONG cRequest);
  6959. void __RPC_STUB AsyncIPipeByte_Begin_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6960. HRESULT WINAPI AsyncIPipeByte_Finish_Pull_Proxy(AsyncIPipeByte *This,BYTE *buf,ULONG *pcReturned);
  6961. void __RPC_STUB AsyncIPipeByte_Finish_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6962. HRESULT WINAPI AsyncIPipeByte_Begin_Push_Proxy(AsyncIPipeByte *This,BYTE *buf,ULONG cSent);
  6963. void __RPC_STUB AsyncIPipeByte_Begin_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6964. HRESULT WINAPI AsyncIPipeByte_Finish_Push_Proxy(AsyncIPipeByte *This);
  6965. void __RPC_STUB AsyncIPipeByte_Finish_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  6966. #endif
  6967.  
  6968. #ifndef __IPipeLong_INTERFACE_DEFINED__
  6969. #define __IPipeLong_INTERFACE_DEFINED__
  6970. EXTERN_C const IID IID_IPipeLong;
  6971. #if defined(__cplusplus) && !defined(CINTERFACE)
  6972. struct IPipeLong : public IUnknown {
  6973. public:
  6974. virtual HRESULT WINAPI Pull(LONG *buf,ULONG cRequest,ULONG *pcReturned) = 0;
  6975. virtual HRESULT WINAPI Push(LONG *buf,ULONG cSent) = 0;
  6976. };
  6977. #else
  6978. typedef struct IPipeLongVtbl {
  6979. BEGIN_INTERFACE
  6980. HRESULT (WINAPI *QueryInterface)(IPipeLong *This,REFIID riid,void **ppvObject);
  6981. ULONG (WINAPI *AddRef)(IPipeLong *This);
  6982. ULONG (WINAPI *Release)(IPipeLong *This);
  6983. HRESULT (WINAPI *Pull)(IPipeLong *This,LONG *buf,ULONG cRequest,ULONG *pcReturned);
  6984. HRESULT (WINAPI *Push)(IPipeLong *This,LONG *buf,ULONG cSent);
  6985. END_INTERFACE
  6986. } IPipeLongVtbl;
  6987. struct IPipeLong {
  6988. CONST_VTBL struct IPipeLongVtbl *lpVtbl;
  6989. };
  6990. #ifdef COBJMACROS
  6991. #define IPipeLong_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  6992. #define IPipeLong_AddRef(This) (This)->lpVtbl->AddRef(This)
  6993. #define IPipeLong_Release(This) (This)->lpVtbl->Release(This)
  6994. #define IPipeLong_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)
  6995. #define IPipeLong_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)
  6996. #endif
  6997. #endif
  6998. HRESULT WINAPI IPipeLong_Pull_Proxy(IPipeLong *This,LONG *buf,ULONG cRequest,ULONG *pcReturned);
  6999. void __RPC_STUB IPipeLong_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7000. HRESULT WINAPI IPipeLong_Push_Proxy(IPipeLong *This,LONG *buf,ULONG cSent);
  7001. void __RPC_STUB IPipeLong_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7002. #endif
  7003.  
  7004. #ifndef __AsyncIPipeLong_INTERFACE_DEFINED__
  7005. #define __AsyncIPipeLong_INTERFACE_DEFINED__
  7006. EXTERN_C const IID IID_AsyncIPipeLong;
  7007. #if defined(__cplusplus) && !defined(CINTERFACE)
  7008. struct AsyncIPipeLong : public IUnknown {
  7009. public:
  7010. virtual HRESULT WINAPI Begin_Pull(ULONG cRequest) = 0;
  7011. virtual HRESULT WINAPI Finish_Pull(LONG *buf,ULONG *pcReturned) = 0;
  7012. virtual HRESULT WINAPI Begin_Push(LONG *buf,ULONG cSent) = 0;
  7013. virtual HRESULT WINAPI Finish_Push(void) = 0;
  7014. };
  7015. #else
  7016. typedef struct AsyncIPipeLongVtbl {
  7017. BEGIN_INTERFACE
  7018. HRESULT (WINAPI *QueryInterface)(AsyncIPipeLong *This,REFIID riid,void **ppvObject);
  7019. ULONG (WINAPI *AddRef)(AsyncIPipeLong *This);
  7020. ULONG (WINAPI *Release)(AsyncIPipeLong *This);
  7021. HRESULT (WINAPI *Begin_Pull)(AsyncIPipeLong *This,ULONG cRequest);
  7022. HRESULT (WINAPI *Finish_Pull)(AsyncIPipeLong *This,LONG *buf,ULONG *pcReturned);
  7023. HRESULT (WINAPI *Begin_Push)(AsyncIPipeLong *This,LONG *buf,ULONG cSent);
  7024. HRESULT (WINAPI *Finish_Push)(AsyncIPipeLong *This);
  7025. END_INTERFACE
  7026. } AsyncIPipeLongVtbl;
  7027. struct AsyncIPipeLong {
  7028. CONST_VTBL struct AsyncIPipeLongVtbl *lpVtbl;
  7029. };
  7030. #ifdef COBJMACROS
  7031. #define AsyncIPipeLong_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7032. #define AsyncIPipeLong_AddRef(This) (This)->lpVtbl->AddRef(This)
  7033. #define AsyncIPipeLong_Release(This) (This)->lpVtbl->Release(This)
  7034. #define AsyncIPipeLong_Begin_Pull(This,cRequest) (This)->lpVtbl->Begin_Pull(This,cRequest)
  7035. #define AsyncIPipeLong_Finish_Pull(This,buf,pcReturned) (This)->lpVtbl->Finish_Pull(This,buf,pcReturned)
  7036. #define AsyncIPipeLong_Begin_Push(This,buf,cSent) (This)->lpVtbl->Begin_Push(This,buf,cSent)
  7037. #define AsyncIPipeLong_Finish_Push(This) (This)->lpVtbl->Finish_Push(This)
  7038. #endif
  7039. #endif
  7040. HRESULT WINAPI AsyncIPipeLong_Begin_Pull_Proxy(AsyncIPipeLong *This,ULONG cRequest);
  7041. void __RPC_STUB AsyncIPipeLong_Begin_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7042. HRESULT WINAPI AsyncIPipeLong_Finish_Pull_Proxy(AsyncIPipeLong *This,LONG *buf,ULONG *pcReturned);
  7043. void __RPC_STUB AsyncIPipeLong_Finish_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7044. HRESULT WINAPI AsyncIPipeLong_Begin_Push_Proxy(AsyncIPipeLong *This,LONG *buf,ULONG cSent);
  7045. void __RPC_STUB AsyncIPipeLong_Begin_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7046. HRESULT WINAPI AsyncIPipeLong_Finish_Push_Proxy(AsyncIPipeLong *This);
  7047. void __RPC_STUB AsyncIPipeLong_Finish_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7048. #endif
  7049.  
  7050. #ifndef __IPipeDouble_INTERFACE_DEFINED__
  7051. #define __IPipeDouble_INTERFACE_DEFINED__
  7052. EXTERN_C const IID IID_IPipeDouble;
  7053. #if defined(__cplusplus) && !defined(CINTERFACE)
  7054. struct IPipeDouble : public IUnknown {
  7055. public:
  7056. virtual HRESULT WINAPI Pull(DOUBLE *buf,ULONG cRequest,ULONG *pcReturned) = 0;
  7057. virtual HRESULT WINAPI Push(DOUBLE *buf,ULONG cSent) = 0;
  7058. };
  7059. #else
  7060. typedef struct IPipeDoubleVtbl {
  7061. BEGIN_INTERFACE
  7062. HRESULT (WINAPI *QueryInterface)(IPipeDouble *This,REFIID riid,void **ppvObject);
  7063. ULONG (WINAPI *AddRef)(IPipeDouble *This);
  7064. ULONG (WINAPI *Release)(IPipeDouble *This);
  7065. HRESULT (WINAPI *Pull)(IPipeDouble *This,DOUBLE *buf,ULONG cRequest,ULONG *pcReturned);
  7066. HRESULT (WINAPI *Push)(IPipeDouble *This,DOUBLE *buf,ULONG cSent);
  7067. END_INTERFACE
  7068. } IPipeDoubleVtbl;
  7069. struct IPipeDouble {
  7070. CONST_VTBL struct IPipeDoubleVtbl *lpVtbl;
  7071. };
  7072. #ifdef COBJMACROS
  7073. #define IPipeDouble_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7074. #define IPipeDouble_AddRef(This) (This)->lpVtbl->AddRef(This)
  7075. #define IPipeDouble_Release(This) (This)->lpVtbl->Release(This)
  7076. #define IPipeDouble_Pull(This,buf,cRequest,pcReturned) (This)->lpVtbl->Pull(This,buf,cRequest,pcReturned)
  7077. #define IPipeDouble_Push(This,buf,cSent) (This)->lpVtbl->Push(This,buf,cSent)
  7078. #endif
  7079. #endif
  7080. HRESULT WINAPI IPipeDouble_Pull_Proxy(IPipeDouble *This,DOUBLE *buf,ULONG cRequest,ULONG *pcReturned);
  7081. void __RPC_STUB IPipeDouble_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7082. HRESULT WINAPI IPipeDouble_Push_Proxy(IPipeDouble *This,DOUBLE *buf,ULONG cSent);
  7083. void __RPC_STUB IPipeDouble_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7084. #endif
  7085.  
  7086. #ifndef __AsyncIPipeDouble_INTERFACE_DEFINED__
  7087. #define __AsyncIPipeDouble_INTERFACE_DEFINED__
  7088. EXTERN_C const IID IID_AsyncIPipeDouble;
  7089. #if defined(__cplusplus) && !defined(CINTERFACE)
  7090. struct AsyncIPipeDouble : public IUnknown {
  7091. public:
  7092. virtual HRESULT WINAPI Begin_Pull(ULONG cRequest) = 0;
  7093. virtual HRESULT WINAPI Finish_Pull(DOUBLE *buf,ULONG *pcReturned) = 0;
  7094. virtual HRESULT WINAPI Begin_Push(DOUBLE *buf,ULONG cSent) = 0;
  7095. virtual HRESULT WINAPI Finish_Push(void) = 0;
  7096. };
  7097. #else
  7098. typedef struct AsyncIPipeDoubleVtbl {
  7099. BEGIN_INTERFACE
  7100. HRESULT (WINAPI *QueryInterface)(AsyncIPipeDouble *This,REFIID riid,void **ppvObject);
  7101. ULONG (WINAPI *AddRef)(AsyncIPipeDouble *This);
  7102. ULONG (WINAPI *Release)(AsyncIPipeDouble *This);
  7103. HRESULT (WINAPI *Begin_Pull)(AsyncIPipeDouble *This,ULONG cRequest);
  7104. HRESULT (WINAPI *Finish_Pull)(AsyncIPipeDouble *This,DOUBLE *buf,ULONG *pcReturned);
  7105. HRESULT (WINAPI *Begin_Push)(AsyncIPipeDouble *This,DOUBLE *buf,ULONG cSent);
  7106. HRESULT (WINAPI *Finish_Push)(AsyncIPipeDouble *This);
  7107. END_INTERFACE
  7108. } AsyncIPipeDoubleVtbl;
  7109. struct AsyncIPipeDouble {
  7110. CONST_VTBL struct AsyncIPipeDoubleVtbl *lpVtbl;
  7111. };
  7112. #ifdef COBJMACROS
  7113. #define AsyncIPipeDouble_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7114. #define AsyncIPipeDouble_AddRef(This) (This)->lpVtbl->AddRef(This)
  7115. #define AsyncIPipeDouble_Release(This) (This)->lpVtbl->Release(This)
  7116. #define AsyncIPipeDouble_Begin_Pull(This,cRequest) (This)->lpVtbl->Begin_Pull(This,cRequest)
  7117. #define AsyncIPipeDouble_Finish_Pull(This,buf,pcReturned) (This)->lpVtbl->Finish_Pull(This,buf,pcReturned)
  7118. #define AsyncIPipeDouble_Begin_Push(This,buf,cSent) (This)->lpVtbl->Begin_Push(This,buf,cSent)
  7119. #define AsyncIPipeDouble_Finish_Push(This) (This)->lpVtbl->Finish_Push(This)
  7120. #endif
  7121. #endif
  7122. HRESULT WINAPI AsyncIPipeDouble_Begin_Pull_Proxy(AsyncIPipeDouble *This,ULONG cRequest);
  7123. void __RPC_STUB AsyncIPipeDouble_Begin_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7124. HRESULT WINAPI AsyncIPipeDouble_Finish_Pull_Proxy(AsyncIPipeDouble *This,DOUBLE *buf,ULONG *pcReturned);
  7125. void __RPC_STUB AsyncIPipeDouble_Finish_Pull_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7126. HRESULT WINAPI AsyncIPipeDouble_Begin_Push_Proxy(AsyncIPipeDouble *This,DOUBLE *buf,ULONG cSent);
  7127. void __RPC_STUB AsyncIPipeDouble_Begin_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7128. HRESULT WINAPI AsyncIPipeDouble_Finish_Push_Proxy(AsyncIPipeDouble *This);
  7129. void __RPC_STUB AsyncIPipeDouble_Finish_Push_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7130. #endif
  7131.  
  7132. #ifndef __IThumbnailExtractor_INTERFACE_DEFINED__
  7133. #define __IThumbnailExtractor_INTERFACE_DEFINED__
  7134. EXTERN_C const IID IID_IThumbnailExtractor;
  7135. #if defined(__cplusplus) && !defined(CINTERFACE)
  7136. struct IThumbnailExtractor : public IUnknown {
  7137. public:
  7138. virtual HRESULT WINAPI ExtractThumbnail(IStorage *pStg,ULONG ulLength,ULONG ulHeight,ULONG *pulOutputLength,ULONG *pulOutputHeight,HBITMAP *phOutputBitmap) = 0;
  7139. virtual HRESULT WINAPI OnFileUpdated(IStorage *pStg) = 0;
  7140. };
  7141. #else
  7142. typedef struct IThumbnailExtractorVtbl {
  7143. BEGIN_INTERFACE
  7144. HRESULT (WINAPI *QueryInterface)(IThumbnailExtractor *This,REFIID riid,void **ppvObject);
  7145. ULONG (WINAPI *AddRef)(IThumbnailExtractor *This);
  7146. ULONG (WINAPI *Release)(IThumbnailExtractor *This);
  7147. HRESULT (WINAPI *ExtractThumbnail)(IThumbnailExtractor *This,IStorage *pStg,ULONG ulLength,ULONG ulHeight,ULONG *pulOutputLength,ULONG *pulOutputHeight,HBITMAP *phOutputBitmap);
  7148. HRESULT (WINAPI *OnFileUpdated)(IThumbnailExtractor *This,IStorage *pStg);
  7149. END_INTERFACE
  7150. } IThumbnailExtractorVtbl;
  7151. struct IThumbnailExtractor {
  7152. CONST_VTBL struct IThumbnailExtractorVtbl *lpVtbl;
  7153. };
  7154. #ifdef COBJMACROS
  7155. #define IThumbnailExtractor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7156. #define IThumbnailExtractor_AddRef(This) (This)->lpVtbl->AddRef(This)
  7157. #define IThumbnailExtractor_Release(This) (This)->lpVtbl->Release(This)
  7158. #define IThumbnailExtractor_ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap) (This)->lpVtbl->ExtractThumbnail(This,pStg,ulLength,ulHeight,pulOutputLength,pulOutputHeight,phOutputBitmap)
  7159. #define IThumbnailExtractor_OnFileUpdated(This,pStg) (This)->lpVtbl->OnFileUpdated(This,pStg)
  7160. #endif
  7161. #endif
  7162. HRESULT WINAPI IThumbnailExtractor_ExtractThumbnail_Proxy(IThumbnailExtractor *This,IStorage *pStg,ULONG ulLength,ULONG ulHeight,ULONG *pulOutputLength,ULONG *pulOutputHeight,HBITMAP *phOutputBitmap);
  7163. void __RPC_STUB IThumbnailExtractor_ExtractThumbnail_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7164. HRESULT WINAPI IThumbnailExtractor_OnFileUpdated_Proxy(IThumbnailExtractor *This,IStorage *pStg);
  7165. void __RPC_STUB IThumbnailExtractor_OnFileUpdated_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7166. #endif
  7167.  
  7168. #ifndef __IDummyHICONIncluder_INTERFACE_DEFINED__
  7169. #define __IDummyHICONIncluder_INTERFACE_DEFINED__
  7170. EXTERN_C const IID IID_IDummyHICONIncluder;
  7171. #if defined(__cplusplus) && !defined(CINTERFACE)
  7172. struct IDummyHICONIncluder : public IUnknown {
  7173. public:
  7174. virtual HRESULT WINAPI Dummy(HICON h1,HDC h2) = 0;
  7175. };
  7176. #else
  7177. typedef struct IDummyHICONIncluderVtbl {
  7178. BEGIN_INTERFACE
  7179. HRESULT (WINAPI *QueryInterface)(IDummyHICONIncluder *This,REFIID riid,void **ppvObject);
  7180. ULONG (WINAPI *AddRef)(IDummyHICONIncluder *This);
  7181. ULONG (WINAPI *Release)(IDummyHICONIncluder *This);
  7182. HRESULT (WINAPI *Dummy)(IDummyHICONIncluder *This,HICON h1,HDC h2);
  7183. END_INTERFACE
  7184. } IDummyHICONIncluderVtbl;
  7185. struct IDummyHICONIncluder {
  7186. CONST_VTBL struct IDummyHICONIncluderVtbl *lpVtbl;
  7187. };
  7188. #ifdef COBJMACROS
  7189. #define IDummyHICONIncluder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7190. #define IDummyHICONIncluder_AddRef(This) (This)->lpVtbl->AddRef(This)
  7191. #define IDummyHICONIncluder_Release(This) (This)->lpVtbl->Release(This)
  7192. #define IDummyHICONIncluder_Dummy(This,h1,h2) (This)->lpVtbl->Dummy(This,h1,h2)
  7193. #endif
  7194. #endif
  7195. HRESULT WINAPI IDummyHICONIncluder_Dummy_Proxy(IDummyHICONIncluder *This,HICON h1,HDC h2);
  7196. void __RPC_STUB IDummyHICONIncluder_Dummy_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7197. #endif
  7198.  
  7199. #if defined USE_COM_CONTEXT_DEF || defined BUILDTYPE_COMSVCS
  7200. typedef DWORD CPFLAGS;
  7201.  
  7202. typedef struct tagContextProperty {
  7203. GUID policyId;
  7204. CPFLAGS flags;
  7205. IUnknown *pUnk;
  7206. } ContextProperty;
  7207.  
  7208. extern RPC_IF_HANDLE __MIDL_itf_objidl_0084_v0_0_c_ifspec;
  7209. extern RPC_IF_HANDLE __MIDL_itf_objidl_0084_v0_0_s_ifspec;
  7210.  
  7211. #ifndef __IEnumContextProps_INTERFACE_DEFINED__
  7212. #define __IEnumContextProps_INTERFACE_DEFINED__
  7213. typedef IEnumContextProps *LPENUMCONTEXTPROPS;
  7214.  
  7215. EXTERN_C const IID IID_IEnumContextProps;
  7216. #if defined(__cplusplus) && !defined(CINTERFACE)
  7217. struct IEnumContextProps : public IUnknown {
  7218. public:
  7219. virtual HRESULT WINAPI Next(ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched) = 0;
  7220. virtual HRESULT WINAPI Skip(ULONG celt) = 0;
  7221. virtual HRESULT WINAPI Reset(void) = 0;
  7222. virtual HRESULT WINAPI Clone(IEnumContextProps **ppEnumContextProps) = 0;
  7223. virtual HRESULT WINAPI Count(ULONG *pcelt) = 0;
  7224. };
  7225. #else
  7226. typedef struct IEnumContextPropsVtbl {
  7227. BEGIN_INTERFACE
  7228. HRESULT (WINAPI *QueryInterface)(IEnumContextProps *This,REFIID riid,void **ppvObject);
  7229. ULONG (WINAPI *AddRef)(IEnumContextProps *This);
  7230. ULONG (WINAPI *Release)(IEnumContextProps *This);
  7231. HRESULT (WINAPI *Next)(IEnumContextProps *This,ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched);
  7232. HRESULT (WINAPI *Skip)(IEnumContextProps *This,ULONG celt);
  7233. HRESULT (WINAPI *Reset)(IEnumContextProps *This);
  7234. HRESULT (WINAPI *Clone)(IEnumContextProps *This,IEnumContextProps **ppEnumContextProps);
  7235. HRESULT (WINAPI *Count)(IEnumContextProps *This,ULONG *pcelt);
  7236. END_INTERFACE
  7237. } IEnumContextPropsVtbl;
  7238. struct IEnumContextProps {
  7239. CONST_VTBL struct IEnumContextPropsVtbl *lpVtbl;
  7240. };
  7241. #ifdef COBJMACROS
  7242. #define IEnumContextProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7243. #define IEnumContextProps_AddRef(This) (This)->lpVtbl->AddRef(This)
  7244. #define IEnumContextProps_Release(This) (This)->lpVtbl->Release(This)
  7245. #define IEnumContextProps_Next(This,celt,pContextProperties,pceltFetched) (This)->lpVtbl->Next(This,celt,pContextProperties,pceltFetched)
  7246. #define IEnumContextProps_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
  7247. #define IEnumContextProps_Reset(This) (This)->lpVtbl->Reset(This)
  7248. #define IEnumContextProps_Clone(This,ppEnumContextProps) (This)->lpVtbl->Clone(This,ppEnumContextProps)
  7249. #define IEnumContextProps_Count(This,pcelt) (This)->lpVtbl->Count(This,pcelt)
  7250. #endif
  7251. #endif
  7252. HRESULT WINAPI IEnumContextProps_Next_Proxy(IEnumContextProps *This,ULONG celt,ContextProperty *pContextProperties,ULONG *pceltFetched);
  7253. void __RPC_STUB IEnumContextProps_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7254. HRESULT WINAPI IEnumContextProps_Skip_Proxy(IEnumContextProps *This,ULONG celt);
  7255. void __RPC_STUB IEnumContextProps_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7256. HRESULT WINAPI IEnumContextProps_Reset_Proxy(IEnumContextProps *This);
  7257. void __RPC_STUB IEnumContextProps_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7258. HRESULT WINAPI IEnumContextProps_Clone_Proxy(IEnumContextProps *This,IEnumContextProps **ppEnumContextProps);
  7259. void __RPC_STUB IEnumContextProps_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7260. HRESULT WINAPI IEnumContextProps_Count_Proxy(IEnumContextProps *This,ULONG *pcelt);
  7261. void __RPC_STUB IEnumContextProps_Count_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7262. #endif
  7263.  
  7264. #ifndef __IContext_INTERFACE_DEFINED__
  7265. #define __IContext_INTERFACE_DEFINED__
  7266. EXTERN_C const IID IID_IContext;
  7267. #if defined(__cplusplus) && !defined(CINTERFACE)
  7268. struct IContext : public IUnknown {
  7269. public:
  7270. virtual HRESULT WINAPI SetProperty(REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk) = 0;
  7271. virtual HRESULT WINAPI RemoveProperty(REFGUID rPolicyId) = 0;
  7272. virtual HRESULT WINAPI GetProperty(REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk) = 0;
  7273. virtual HRESULT WINAPI EnumContextProps(IEnumContextProps **ppEnumContextProps) = 0;
  7274. };
  7275. #else
  7276. typedef struct IContextVtbl {
  7277. BEGIN_INTERFACE
  7278. HRESULT (WINAPI *QueryInterface)(IContext *This,REFIID riid,void **ppvObject);
  7279. ULONG (WINAPI *AddRef)(IContext *This);
  7280. ULONG (WINAPI *Release)(IContext *This);
  7281. HRESULT (WINAPI *SetProperty)(IContext *This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk);
  7282. HRESULT (WINAPI *RemoveProperty)(IContext *This,REFGUID rPolicyId);
  7283. HRESULT (WINAPI *GetProperty)(IContext *This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk);
  7284. HRESULT (WINAPI *EnumContextProps)(IContext *This,IEnumContextProps **ppEnumContextProps);
  7285. END_INTERFACE
  7286. } IContextVtbl;
  7287. struct IContext {
  7288. CONST_VTBL struct IContextVtbl *lpVtbl;
  7289. };
  7290. #ifdef COBJMACROS
  7291. #define IContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7292. #define IContext_AddRef(This) (This)->lpVtbl->AddRef(This)
  7293. #define IContext_Release(This) (This)->lpVtbl->Release(This)
  7294. #define IContext_SetProperty(This,rpolicyId,flags,pUnk) (This)->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk)
  7295. #define IContext_RemoveProperty(This,rPolicyId) (This)->lpVtbl->RemoveProperty(This,rPolicyId)
  7296. #define IContext_GetProperty(This,rGuid,pFlags,ppUnk) (This)->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk)
  7297. #define IContext_EnumContextProps(This,ppEnumContextProps) (This)->lpVtbl->EnumContextProps(This,ppEnumContextProps)
  7298. #endif
  7299. #endif
  7300. HRESULT WINAPI IContext_SetProperty_Proxy(IContext *This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk);
  7301. void __RPC_STUB IContext_SetProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7302. HRESULT WINAPI IContext_RemoveProperty_Proxy(IContext *This,REFGUID rPolicyId);
  7303. void __RPC_STUB IContext_RemoveProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7304. HRESULT WINAPI IContext_GetProperty_Proxy(IContext *This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk);
  7305. void __RPC_STUB IContext_GetProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7306. HRESULT WINAPI IContext_EnumContextProps_Proxy(IContext *This,IEnumContextProps **ppEnumContextProps);
  7307. void __RPC_STUB IContext_EnumContextProps_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7308. #endif
  7309.  
  7310. #ifndef BUILDTYPE_COMSVCS
  7311. extern RPC_IF_HANDLE __MIDL_itf_objidl_0086_v0_0_c_ifspec;
  7312. extern RPC_IF_HANDLE __MIDL_itf_objidl_0086_v0_0_s_ifspec;
  7313.  
  7314. #ifndef __IObjContext_INTERFACE_DEFINED__
  7315. #define __IObjContext_INTERFACE_DEFINED__
  7316. EXTERN_C const IID IID_IObjContext;
  7317. #if defined(__cplusplus) && !defined(CINTERFACE)
  7318. struct IObjContext : public IContext {
  7319. public:
  7320. virtual void WINAPI Reserved1(void) = 0;
  7321. virtual void WINAPI Reserved2(void) = 0;
  7322. virtual void WINAPI Reserved3(void) = 0;
  7323. virtual void WINAPI Reserved4(void) = 0;
  7324. virtual void WINAPI Reserved5(void) = 0;
  7325. virtual void WINAPI Reserved6(void) = 0;
  7326. virtual void WINAPI Reserved7(void) = 0;
  7327. };
  7328. #else
  7329. typedef struct IObjContextVtbl {
  7330. BEGIN_INTERFACE
  7331. HRESULT (WINAPI *QueryInterface)(IObjContext *This,REFIID riid,void **ppvObject);
  7332. ULONG (WINAPI *AddRef)(IObjContext *This);
  7333. ULONG (WINAPI *Release)(IObjContext *This);
  7334. HRESULT (WINAPI *SetProperty)(IObjContext *This,REFGUID rpolicyId,CPFLAGS flags,IUnknown *pUnk);
  7335. HRESULT (WINAPI *RemoveProperty)(IObjContext *This,REFGUID rPolicyId);
  7336. HRESULT (WINAPI *GetProperty)(IObjContext *This,REFGUID rGuid,CPFLAGS *pFlags,IUnknown **ppUnk);
  7337. HRESULT (WINAPI *EnumContextProps)(IObjContext *This,IEnumContextProps **ppEnumContextProps);
  7338. void (WINAPI *Reserved1)(IObjContext *This);
  7339. void (WINAPI *Reserved2)(IObjContext *This);
  7340. void (WINAPI *Reserved3)(IObjContext *This);
  7341. void (WINAPI *Reserved4)(IObjContext *This);
  7342. void (WINAPI *Reserved5)(IObjContext *This);
  7343. void (WINAPI *Reserved6)(IObjContext *This);
  7344. void (WINAPI *Reserved7)(IObjContext *This);
  7345. END_INTERFACE
  7346. } IObjContextVtbl;
  7347. struct IObjContext {
  7348. CONST_VTBL struct IObjContextVtbl *lpVtbl;
  7349. };
  7350. #ifdef COBJMACROS
  7351. #define IObjContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7352. #define IObjContext_AddRef(This) (This)->lpVtbl->AddRef(This)
  7353. #define IObjContext_Release(This) (This)->lpVtbl->Release(This)
  7354. #define IObjContext_SetProperty(This,rpolicyId,flags,pUnk) (This)->lpVtbl->SetProperty(This,rpolicyId,flags,pUnk)
  7355. #define IObjContext_RemoveProperty(This,rPolicyId) (This)->lpVtbl->RemoveProperty(This,rPolicyId)
  7356. #define IObjContext_GetProperty(This,rGuid,pFlags,ppUnk) (This)->lpVtbl->GetProperty(This,rGuid,pFlags,ppUnk)
  7357. #define IObjContext_EnumContextProps(This,ppEnumContextProps) (This)->lpVtbl->EnumContextProps(This,ppEnumContextProps)
  7358. #define IObjContext_Reserved1(This) (This)->lpVtbl->Reserved1(This)
  7359. #define IObjContext_Reserved2(This) (This)->lpVtbl->Reserved2(This)
  7360. #define IObjContext_Reserved3(This) (This)->lpVtbl->Reserved3(This)
  7361. #define IObjContext_Reserved4(This) (This)->lpVtbl->Reserved4(This)
  7362. #define IObjContext_Reserved5(This) (This)->lpVtbl->Reserved5(This)
  7363. #define IObjContext_Reserved6(This) (This)->lpVtbl->Reserved6(This)
  7364. #define IObjContext_Reserved7(This) (This)->lpVtbl->Reserved7(This)
  7365. #endif
  7366. #endif
  7367. void WINAPI IObjContext_Reserved1_Proxy(IObjContext *This);
  7368. void __RPC_STUB IObjContext_Reserved1_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7369. void WINAPI IObjContext_Reserved2_Proxy(IObjContext *This);
  7370. void __RPC_STUB IObjContext_Reserved2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7371. void WINAPI IObjContext_Reserved3_Proxy(IObjContext *This);
  7372. void __RPC_STUB IObjContext_Reserved3_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7373. void WINAPI IObjContext_Reserved4_Proxy(IObjContext *This);
  7374. void __RPC_STUB IObjContext_Reserved4_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7375. void WINAPI IObjContext_Reserved5_Proxy(IObjContext *This);
  7376. void __RPC_STUB IObjContext_Reserved5_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7377. void WINAPI IObjContext_Reserved6_Proxy(IObjContext *This);
  7378. void __RPC_STUB IObjContext_Reserved6_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7379. void WINAPI IObjContext_Reserved7_Proxy(IObjContext *This);
  7380. void __RPC_STUB IObjContext_Reserved7_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7381. #endif
  7382. #endif
  7383. #endif
  7384. typedef enum tagApplicationType {
  7385. ServerApplication = 0,LibraryApplication = ServerApplication + 1
  7386. } ApplicationType;
  7387.  
  7388. typedef enum tagShutdownType {
  7389. IdleShutdown = 0,ForcedShutdown = IdleShutdown + 1
  7390. } ShutdownType;
  7391.  
  7392. extern RPC_IF_HANDLE __MIDL_itf_objidl_0087_v0_0_c_ifspec;
  7393. extern RPC_IF_HANDLE __MIDL_itf_objidl_0087_v0_0_s_ifspec;
  7394.  
  7395. #ifndef __IProcessLock_INTERFACE_DEFINED__
  7396. #define __IProcessLock_INTERFACE_DEFINED__
  7397. EXTERN_C const IID IID_IProcessLock;
  7398. #if defined(__cplusplus) && !defined(CINTERFACE)
  7399. struct IProcessLock : public IUnknown {
  7400. public:
  7401. virtual ULONG WINAPI AddRefOnProcess(void) = 0;
  7402. virtual ULONG WINAPI ReleaseRefOnProcess(void) = 0;
  7403. };
  7404. #else
  7405. typedef struct IProcessLockVtbl {
  7406. BEGIN_INTERFACE
  7407. HRESULT (WINAPI *QueryInterface)(IProcessLock *This,REFIID riid,void **ppvObject);
  7408. ULONG (WINAPI *AddRef)(IProcessLock *This);
  7409. ULONG (WINAPI *Release)(IProcessLock *This);
  7410. ULONG (WINAPI *AddRefOnProcess)(IProcessLock *This);
  7411. ULONG (WINAPI *ReleaseRefOnProcess)(IProcessLock *This);
  7412. END_INTERFACE
  7413. } IProcessLockVtbl;
  7414. struct IProcessLock {
  7415. CONST_VTBL struct IProcessLockVtbl *lpVtbl;
  7416. };
  7417. #ifdef COBJMACROS
  7418. #define IProcessLock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7419. #define IProcessLock_AddRef(This) (This)->lpVtbl->AddRef(This)
  7420. #define IProcessLock_Release(This) (This)->lpVtbl->Release(This)
  7421. #define IProcessLock_AddRefOnProcess(This) (This)->lpVtbl->AddRefOnProcess(This)
  7422. #define IProcessLock_ReleaseRefOnProcess(This) (This)->lpVtbl->ReleaseRefOnProcess(This)
  7423. #endif
  7424. #endif
  7425. ULONG WINAPI IProcessLock_AddRefOnProcess_Proxy(IProcessLock *This);
  7426. void __RPC_STUB IProcessLock_AddRefOnProcess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7427. ULONG WINAPI IProcessLock_ReleaseRefOnProcess_Proxy(IProcessLock *This);
  7428. void __RPC_STUB IProcessLock_ReleaseRefOnProcess_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7429. #endif
  7430.  
  7431. #ifndef __ISurrogateService_INTERFACE_DEFINED__
  7432. #define __ISurrogateService_INTERFACE_DEFINED__
  7433. EXTERN_C const IID IID_ISurrogateService;
  7434. #if defined(__cplusplus) && !defined(CINTERFACE)
  7435. struct ISurrogateService : public IUnknown {
  7436. public:
  7437. virtual HRESULT WINAPI Init(REFGUID rguidProcessID,IProcessLock *pProcessLock,WINBOOL *pfApplicationAware) = 0;
  7438. virtual HRESULT WINAPI ApplicationLaunch(REFGUID rguidApplID,ApplicationType appType) = 0;
  7439. virtual HRESULT WINAPI ApplicationFree(REFGUID rguidApplID) = 0;
  7440. virtual HRESULT WINAPI CatalogRefresh(ULONG ulReserved) = 0;
  7441. virtual HRESULT WINAPI ProcessShutdown(ShutdownType shutdownType) = 0;
  7442. };
  7443. #else
  7444. typedef struct ISurrogateServiceVtbl {
  7445. BEGIN_INTERFACE
  7446. HRESULT (WINAPI *QueryInterface)(ISurrogateService *This,REFIID riid,void **ppvObject);
  7447. ULONG (WINAPI *AddRef)(ISurrogateService *This);
  7448. ULONG (WINAPI *Release)(ISurrogateService *This);
  7449. HRESULT (WINAPI *Init)(ISurrogateService *This,REFGUID rguidProcessID,IProcessLock *pProcessLock,WINBOOL *pfApplicationAware);
  7450. HRESULT (WINAPI *ApplicationLaunch)(ISurrogateService *This,REFGUID rguidApplID,ApplicationType appType);
  7451. HRESULT (WINAPI *ApplicationFree)(ISurrogateService *This,REFGUID rguidApplID);
  7452. HRESULT (WINAPI *CatalogRefresh)(ISurrogateService *This,ULONG ulReserved);
  7453. HRESULT (WINAPI *ProcessShutdown)(ISurrogateService *This,ShutdownType shutdownType);
  7454. END_INTERFACE
  7455. } ISurrogateServiceVtbl;
  7456. struct ISurrogateService {
  7457. CONST_VTBL struct ISurrogateServiceVtbl *lpVtbl;
  7458. };
  7459. #ifdef COBJMACROS
  7460. #define ISurrogateService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7461. #define ISurrogateService_AddRef(This) (This)->lpVtbl->AddRef(This)
  7462. #define ISurrogateService_Release(This) (This)->lpVtbl->Release(This)
  7463. #define ISurrogateService_Init(This,rguidProcessID,pProcessLock,pfApplicationAware) (This)->lpVtbl->Init(This,rguidProcessID,pProcessLock,pfApplicationAware)
  7464. #define ISurrogateService_ApplicationLaunch(This,rguidApplID,appType) (This)->lpVtbl->ApplicationLaunch(This,rguidApplID,appType)
  7465. #define ISurrogateService_ApplicationFree(This,rguidApplID) (This)->lpVtbl->ApplicationFree(This,rguidApplID)
  7466. #define ISurrogateService_CatalogRefresh(This,ulReserved) (This)->lpVtbl->CatalogRefresh(This,ulReserved)
  7467. #define ISurrogateService_ProcessShutdown(This,shutdownType) (This)->lpVtbl->ProcessShutdown(This,shutdownType)
  7468. #endif
  7469. #endif
  7470. HRESULT WINAPI ISurrogateService_Init_Proxy(ISurrogateService *This,REFGUID rguidProcessID,IProcessLock *pProcessLock,WINBOOL *pfApplicationAware);
  7471. void __RPC_STUB ISurrogateService_Init_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7472. HRESULT WINAPI ISurrogateService_ApplicationLaunch_Proxy(ISurrogateService *This,REFGUID rguidApplID,ApplicationType appType);
  7473. void __RPC_STUB ISurrogateService_ApplicationLaunch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7474. HRESULT WINAPI ISurrogateService_ApplicationFree_Proxy(ISurrogateService *This,REFGUID rguidApplID);
  7475. void __RPC_STUB ISurrogateService_ApplicationFree_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7476. HRESULT WINAPI ISurrogateService_CatalogRefresh_Proxy(ISurrogateService *This,ULONG ulReserved);
  7477. void __RPC_STUB ISurrogateService_CatalogRefresh_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7478. HRESULT WINAPI ISurrogateService_ProcessShutdown_Proxy(ISurrogateService *This,ShutdownType shutdownType);
  7479. void __RPC_STUB ISurrogateService_ProcessShutdown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7480. #endif
  7481.  
  7482. typedef enum _APTTYPE {
  7483. APTTYPE_CURRENT = -1,APTTYPE_STA = 0,APTTYPE_MTA = 1,APTTYPE_NA = 2,APTTYPE_MAINSTA = 3
  7484. } APTTYPE;
  7485.  
  7486. typedef enum _THDTYPE {
  7487. THDTYPE_BLOCKMESSAGES = 0,THDTYPE_PROCESSMESSAGES = 1
  7488. } THDTYPE;
  7489.  
  7490. typedef DWORD APARTMENTID;
  7491.  
  7492. extern RPC_IF_HANDLE __MIDL_itf_objidl_0089_v0_0_c_ifspec;
  7493. extern RPC_IF_HANDLE __MIDL_itf_objidl_0089_v0_0_s_ifspec;
  7494.  
  7495. #ifndef __IComThreadingInfo_INTERFACE_DEFINED__
  7496. #define __IComThreadingInfo_INTERFACE_DEFINED__
  7497. EXTERN_C const IID IID_IComThreadingInfo;
  7498. #if defined(__cplusplus) && !defined(CINTERFACE)
  7499. struct IComThreadingInfo : public IUnknown {
  7500. public:
  7501. virtual HRESULT WINAPI GetCurrentApartmentType(APTTYPE *pAptType) = 0;
  7502. virtual HRESULT WINAPI GetCurrentThreadType(THDTYPE *pThreadType) = 0;
  7503. virtual HRESULT WINAPI GetCurrentLogicalThreadId(GUID *pguidLogicalThreadId) = 0;
  7504. virtual HRESULT WINAPI SetCurrentLogicalThreadId(REFGUID rguid) = 0;
  7505. };
  7506. #else
  7507. typedef struct IComThreadingInfoVtbl {
  7508. BEGIN_INTERFACE
  7509. HRESULT (WINAPI *QueryInterface)(IComThreadingInfo *This,REFIID riid,void **ppvObject);
  7510. ULONG (WINAPI *AddRef)(IComThreadingInfo *This);
  7511. ULONG (WINAPI *Release)(IComThreadingInfo *This);
  7512. HRESULT (WINAPI *GetCurrentApartmentType)(IComThreadingInfo *This,APTTYPE *pAptType);
  7513. HRESULT (WINAPI *GetCurrentThreadType)(IComThreadingInfo *This,THDTYPE *pThreadType);
  7514. HRESULT (WINAPI *GetCurrentLogicalThreadId)(IComThreadingInfo *This,GUID *pguidLogicalThreadId);
  7515. HRESULT (WINAPI *SetCurrentLogicalThreadId)(IComThreadingInfo *This,REFGUID rguid);
  7516. END_INTERFACE
  7517. } IComThreadingInfoVtbl;
  7518. struct IComThreadingInfo {
  7519. CONST_VTBL struct IComThreadingInfoVtbl *lpVtbl;
  7520. };
  7521. #ifdef COBJMACROS
  7522. #define IComThreadingInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7523. #define IComThreadingInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
  7524. #define IComThreadingInfo_Release(This) (This)->lpVtbl->Release(This)
  7525. #define IComThreadingInfo_GetCurrentApartmentType(This,pAptType) (This)->lpVtbl->GetCurrentApartmentType(This,pAptType)
  7526. #define IComThreadingInfo_GetCurrentThreadType(This,pThreadType) (This)->lpVtbl->GetCurrentThreadType(This,pThreadType)
  7527. #define IComThreadingInfo_GetCurrentLogicalThreadId(This,pguidLogicalThreadId) (This)->lpVtbl->GetCurrentLogicalThreadId(This,pguidLogicalThreadId)
  7528. #define IComThreadingInfo_SetCurrentLogicalThreadId(This,rguid) (This)->lpVtbl->SetCurrentLogicalThreadId(This,rguid)
  7529. #endif
  7530. #endif
  7531. HRESULT WINAPI IComThreadingInfo_GetCurrentApartmentType_Proxy(IComThreadingInfo *This,APTTYPE *pAptType);
  7532. void __RPC_STUB IComThreadingInfo_GetCurrentApartmentType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7533. HRESULT WINAPI IComThreadingInfo_GetCurrentThreadType_Proxy(IComThreadingInfo *This,THDTYPE *pThreadType);
  7534. void __RPC_STUB IComThreadingInfo_GetCurrentThreadType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7535. HRESULT WINAPI IComThreadingInfo_GetCurrentLogicalThreadId_Proxy(IComThreadingInfo *This,GUID *pguidLogicalThreadId);
  7536. void __RPC_STUB IComThreadingInfo_GetCurrentLogicalThreadId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7537. HRESULT WINAPI IComThreadingInfo_SetCurrentLogicalThreadId_Proxy(IComThreadingInfo *This,REFGUID rguid);
  7538. void __RPC_STUB IComThreadingInfo_SetCurrentLogicalThreadId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7539. #endif
  7540.  
  7541. #ifndef __IProcessInitControl_INTERFACE_DEFINED__
  7542. #define __IProcessInitControl_INTERFACE_DEFINED__
  7543. EXTERN_C const IID IID_IProcessInitControl;
  7544. #if defined(__cplusplus) && !defined(CINTERFACE)
  7545. struct IProcessInitControl : public IUnknown {
  7546. public:
  7547. virtual HRESULT WINAPI ResetInitializerTimeout(DWORD dwSecondsRemaining) = 0;
  7548. };
  7549. #else
  7550. typedef struct IProcessInitControlVtbl {
  7551. BEGIN_INTERFACE
  7552. HRESULT (WINAPI *QueryInterface)(IProcessInitControl *This,REFIID riid,void **ppvObject);
  7553. ULONG (WINAPI *AddRef)(IProcessInitControl *This);
  7554. ULONG (WINAPI *Release)(IProcessInitControl *This);
  7555. HRESULT (WINAPI *ResetInitializerTimeout)(IProcessInitControl *This,DWORD dwSecondsRemaining);
  7556. END_INTERFACE
  7557. } IProcessInitControlVtbl;
  7558. struct IProcessInitControl {
  7559. CONST_VTBL struct IProcessInitControlVtbl *lpVtbl;
  7560. };
  7561. #ifdef COBJMACROS
  7562. #define IProcessInitControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7563. #define IProcessInitControl_AddRef(This) (This)->lpVtbl->AddRef(This)
  7564. #define IProcessInitControl_Release(This) (This)->lpVtbl->Release(This)
  7565. #define IProcessInitControl_ResetInitializerTimeout(This,dwSecondsRemaining) (This)->lpVtbl->ResetInitializerTimeout(This,dwSecondsRemaining)
  7566. #endif
  7567. #endif
  7568. HRESULT WINAPI IProcessInitControl_ResetInitializerTimeout_Proxy(IProcessInitControl *This,DWORD dwSecondsRemaining);
  7569. void __RPC_STUB IProcessInitControl_ResetInitializerTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7570. #endif
  7571.  
  7572. extern RPC_IF_HANDLE __MIDL_itf_objidl_0091_v0_0_c_ifspec;
  7573. extern RPC_IF_HANDLE __MIDL_itf_objidl_0091_v0_0_s_ifspec;
  7574.  
  7575. #ifndef __IInitializeSpy_INTERFACE_DEFINED__
  7576. #define __IInitializeSpy_INTERFACE_DEFINED__
  7577. typedef IInitializeSpy *LPINITIALIZESPY;
  7578.  
  7579. EXTERN_C const IID IID_IInitializeSpy;
  7580. #if defined(__cplusplus) && !defined(CINTERFACE)
  7581. struct IInitializeSpy : public IUnknown {
  7582. public:
  7583. virtual HRESULT WINAPI PreInitialize(DWORD dwCoInit,DWORD dwCurThreadAptRefs) = 0;
  7584. virtual HRESULT WINAPI PostInitialize(HRESULT hrCoInit,DWORD dwCoInit,DWORD dwNewThreadAptRefs) = 0;
  7585. virtual HRESULT WINAPI PreUninitialize(DWORD dwCurThreadAptRefs) = 0;
  7586. virtual HRESULT WINAPI PostUninitialize(DWORD dwNewThreadAptRefs) = 0;
  7587. };
  7588. #else
  7589. typedef struct IInitializeSpyVtbl {
  7590. BEGIN_INTERFACE
  7591. HRESULT (WINAPI *QueryInterface)(IInitializeSpy *This,REFIID riid,void **ppvObject);
  7592. ULONG (WINAPI *AddRef)(IInitializeSpy *This);
  7593. ULONG (WINAPI *Release)(IInitializeSpy *This);
  7594. HRESULT (WINAPI *PreInitialize)(IInitializeSpy *This,DWORD dwCoInit,DWORD dwCurThreadAptRefs);
  7595. HRESULT (WINAPI *PostInitialize)(IInitializeSpy *This,HRESULT hrCoInit,DWORD dwCoInit,DWORD dwNewThreadAptRefs);
  7596. HRESULT (WINAPI *PreUninitialize)(IInitializeSpy *This,DWORD dwCurThreadAptRefs);
  7597. HRESULT (WINAPI *PostUninitialize)(IInitializeSpy *This,DWORD dwNewThreadAptRefs);
  7598. END_INTERFACE
  7599. } IInitializeSpyVtbl;
  7600. struct IInitializeSpy {
  7601. CONST_VTBL struct IInitializeSpyVtbl *lpVtbl;
  7602. };
  7603. #ifdef COBJMACROS
  7604. #define IInitializeSpy_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  7605. #define IInitializeSpy_AddRef(This) (This)->lpVtbl->AddRef(This)
  7606. #define IInitializeSpy_Release(This) (This)->lpVtbl->Release(This)
  7607. #define IInitializeSpy_PreInitialize(This,dwCoInit,dwCurThreadAptRefs) (This)->lpVtbl->PreInitialize(This,dwCoInit,dwCurThreadAptRefs)
  7608. #define IInitializeSpy_PostInitialize(This,hrCoInit,dwCoInit,dwNewThreadAptRefs) (This)->lpVtbl->PostInitialize(This,hrCoInit,dwCoInit,dwNewThreadAptRefs)
  7609. #define IInitializeSpy_PreUninitialize(This,dwCurThreadAptRefs) (This)->lpVtbl->PreUninitialize(This,dwCurThreadAptRefs)
  7610. #define IInitializeSpy_PostUninitialize(This,dwNewThreadAptRefs) (This)->lpVtbl->PostUninitialize(This,dwNewThreadAptRefs)
  7611. #endif
  7612. #endif
  7613. HRESULT WINAPI IInitializeSpy_PreInitialize_Proxy(IInitializeSpy *This,DWORD dwCoInit,DWORD dwCurThreadAptRefs);
  7614. void __RPC_STUB IInitializeSpy_PreInitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7615. HRESULT WINAPI IInitializeSpy_PostInitialize_Proxy(IInitializeSpy *This,HRESULT hrCoInit,DWORD dwCoInit,DWORD dwNewThreadAptRefs);
  7616. void __RPC_STUB IInitializeSpy_PostInitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7617. HRESULT WINAPI IInitializeSpy_PreUninitialize_Proxy(IInitializeSpy *This,DWORD dwCurThreadAptRefs);
  7618. void __RPC_STUB IInitializeSpy_PreUninitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7619. HRESULT WINAPI IInitializeSpy_PostUninitialize_Proxy(IInitializeSpy *This,DWORD dwNewThreadAptRefs);
  7620. void __RPC_STUB IInitializeSpy_PostUninitialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  7621. #endif
  7622.  
  7623. extern RPC_IF_HANDLE __MIDL_itf_objidl_0092_v0_0_c_ifspec;
  7624. extern RPC_IF_HANDLE __MIDL_itf_objidl_0092_v0_0_s_ifspec;
  7625.  
  7626. ULONG __RPC_API CLIPFORMAT_UserSize(ULONG *,ULONG,CLIPFORMAT *);
  7627. unsigned char *__RPC_API CLIPFORMAT_UserMarshal(ULONG *,unsigned char *,CLIPFORMAT *);
  7628. unsigned char *__RPC_API CLIPFORMAT_UserUnmarshal(ULONG *,unsigned char *,CLIPFORMAT *);
  7629. void __RPC_API CLIPFORMAT_UserFree(ULONG *,CLIPFORMAT *);
  7630. ULONG __RPC_API HBITMAP_UserSize(ULONG *,ULONG,HBITMAP *);
  7631. unsigned char *__RPC_API HBITMAP_UserMarshal(ULONG *,unsigned char *,HBITMAP *);
  7632. unsigned char *__RPC_API HBITMAP_UserUnmarshal(ULONG *,unsigned char *,HBITMAP *);
  7633. void __RPC_API HBITMAP_UserFree(ULONG *,HBITMAP *);
  7634. ULONG __RPC_API HDC_UserSize(ULONG *,ULONG,HDC *);
  7635. unsigned char *__RPC_API HDC_UserMarshal(ULONG *,unsigned char *,HDC *);
  7636. unsigned char *__RPC_API HDC_UserUnmarshal(ULONG *,unsigned char *,HDC *);
  7637. void __RPC_API HDC_UserFree(ULONG *,HDC *);
  7638. ULONG __RPC_API HICON_UserSize(ULONG *,ULONG,HICON *);
  7639. unsigned char *__RPC_API HICON_UserMarshal(ULONG *,unsigned char *,HICON *);
  7640. unsigned char *__RPC_API HICON_UserUnmarshal(ULONG *,unsigned char *,HICON *);
  7641. void __RPC_API HICON_UserFree(ULONG *,HICON *);
  7642.  
  7643. HRESULT WINAPI IEnumUnknown_Next_Proxy(IEnumUnknown *This,ULONG celt,IUnknown **rgelt,ULONG *pceltFetched);
  7644. HRESULT WINAPI IEnumUnknown_Next_Stub(IEnumUnknown *This,ULONG celt,IUnknown **rgelt,ULONG *pceltFetched);
  7645. HRESULT WINAPI IBindCtx_SetBindOptions_Proxy(IBindCtx *This,BIND_OPTS *pbindopts);
  7646. HRESULT WINAPI IBindCtx_SetBindOptions_Stub(IBindCtx *This,BIND_OPTS2 *pbindopts);
  7647. HRESULT WINAPI IBindCtx_GetBindOptions_Proxy(IBindCtx *This,BIND_OPTS *pbindopts);
  7648. HRESULT WINAPI IBindCtx_GetBindOptions_Stub(IBindCtx *This,BIND_OPTS2 *pbindopts);
  7649. HRESULT WINAPI IEnumMoniker_Next_Proxy(IEnumMoniker *This,ULONG celt,IMoniker **rgelt,ULONG *pceltFetched);
  7650. HRESULT WINAPI IEnumMoniker_Next_Stub(IEnumMoniker *This,ULONG celt,IMoniker **rgelt,ULONG *pceltFetched);
  7651. WINBOOL WINAPI IRunnableObject_IsRunning_Proxy(IRunnableObject *This);
  7652. HRESULT WINAPI IRunnableObject_IsRunning_Stub(IRunnableObject *This);
  7653. HRESULT WINAPI IEnumString_Next_Proxy(IEnumString *This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched);
  7654. HRESULT WINAPI IEnumString_Next_Stub(IEnumString *This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched);
  7655. HRESULT WINAPI ILockBytes_ReadAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,void *pv,ULONG cb,ULONG *pcbRead);
  7656. HRESULT WINAPI ILockBytes_ReadAt_Stub(ILockBytes *This,ULARGE_INTEGER ulOffset,byte *pv,ULONG cb,ULONG *pcbRead);
  7657. HRESULT WINAPI ILockBytes_WriteAt_Proxy(ILockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);
  7658. HRESULT WINAPI ILockBytes_WriteAt_Stub(ILockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);
  7659. void WINAPI IAdviseSink2_OnLinkSrcChange_Proxy(IAdviseSink2 *This,IMoniker *pmk);
  7660. HRESULT WINAPI IAdviseSink2_OnLinkSrcChange_Stub(IAdviseSink2 *This,IMoniker *pmk);
  7661. HRESULT WINAPI IFillLockBytes_FillAppend_Proxy(IFillLockBytes *This,const void *pv,ULONG cb,ULONG *pcbWritten);
  7662. HRESULT WINAPI IFillLockBytes_FillAppend_Stub(IFillLockBytes *This,const byte *pv,ULONG cb,ULONG *pcbWritten);
  7663. HRESULT WINAPI IFillLockBytes_FillAt_Proxy(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const void *pv,ULONG cb,ULONG *pcbWritten);
  7664. HRESULT WINAPI IFillLockBytes_FillAt_Stub(IFillLockBytes *This,ULARGE_INTEGER ulOffset,const byte *pv,ULONG cb,ULONG *pcbWritten);
  7665. void WINAPI AsyncIAdviseSink_Begin_OnDataChange_Proxy(AsyncIAdviseSink *This,FORMATETC *pFormatetc,STGMEDIUM *pStgmed);
  7666. HRESULT WINAPI AsyncIAdviseSink_Begin_OnDataChange_Stub(AsyncIAdviseSink *This,FORMATETC *pFormatetc,ASYNC_STGMEDIUM *pStgmed);
  7667. void WINAPI AsyncIAdviseSink_Finish_OnDataChange_Proxy(AsyncIAdviseSink *This);
  7668. HRESULT WINAPI AsyncIAdviseSink_Finish_OnDataChange_Stub(AsyncIAdviseSink *This);
  7669. void WINAPI AsyncIAdviseSink_Begin_OnViewChange_Proxy(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);
  7670. HRESULT WINAPI AsyncIAdviseSink_Begin_OnViewChange_Stub(AsyncIAdviseSink *This,DWORD dwAspect,LONG lindex);
  7671. void WINAPI AsyncIAdviseSink_Finish_OnViewChange_Proxy(AsyncIAdviseSink *This);
  7672. HRESULT WINAPI AsyncIAdviseSink_Finish_OnViewChange_Stub(AsyncIAdviseSink *This);
  7673. void WINAPI AsyncIAdviseSink_Begin_OnRename_Proxy(AsyncIAdviseSink *This,IMoniker *pmk);
  7674. HRESULT WINAPI AsyncIAdviseSink_Begin_OnRename_Stub(AsyncIAdviseSink *This,IMoniker *pmk);
  7675. void WINAPI AsyncIAdviseSink_Finish_OnRename_Proxy(AsyncIAdviseSink *This);
  7676. HRESULT WINAPI AsyncIAdviseSink_Finish_OnRename_Stub(AsyncIAdviseSink *This);
  7677. void WINAPI AsyncIAdviseSink_Begin_OnSave_Proxy(AsyncIAdviseSink *This);
  7678. HRESULT WINAPI AsyncIAdviseSink_Begin_OnSave_Stub(AsyncIAdviseSink *This);
  7679. void WINAPI AsyncIAdviseSink_Finish_OnSave_Proxy(AsyncIAdviseSink *This);
  7680. HRESULT WINAPI AsyncIAdviseSink_Finish_OnSave_Stub(AsyncIAdviseSink *This);
  7681. void WINAPI AsyncIAdviseSink_Begin_OnClose_Proxy(AsyncIAdviseSink *This);
  7682. HRESULT WINAPI AsyncIAdviseSink_Begin_OnClose_Stub(AsyncIAdviseSink *This);
  7683. void WINAPI AsyncIAdviseSink_Finish_OnClose_Proxy(AsyncIAdviseSink *This);
  7684. HRESULT WINAPI AsyncIAdviseSink_Finish_OnClose_Stub(AsyncIAdviseSink *This);
  7685. void WINAPI AsyncIAdviseSink2_Begin_OnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This,IMoniker *pmk);
  7686. HRESULT WINAPI AsyncIAdviseSink2_Begin_OnLinkSrcChange_Stub(AsyncIAdviseSink2 *This,IMoniker *pmk);
  7687. void WINAPI AsyncIAdviseSink2_Finish_OnLinkSrcChange_Proxy(AsyncIAdviseSink2 *This);
  7688. HRESULT WINAPI AsyncIAdviseSink2_Finish_OnLinkSrcChange_Stub(AsyncIAdviseSink2 *This);
  7689.  
  7690. #if (_WIN32_WINNT >= 0x0601)
  7691. typedef enum _APTTYPEQUALIFIER {
  7692. APTTYPEQUALIFIER_NONE = 0,
  7693. APTTYPEQUALIFIER_IMPLICIT_MTA = 1,
  7694. APTTYPEQUALIFIER_NA_ON_MTA = 2,
  7695. APTTYPEQUALIFIER_NA_ON_STA = 3,
  7696. APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA = 4,
  7697. APTTYPEQUALIFIER_NA_ON_MAINSTA = 5
  7698. } APTTYPEQUALIFIER;
  7699. #endif /*(_WIN32_WINNT >= 0x0601)*/
  7700. /* Begin additional prototypes for all interfaces */
  7701.  
  7702. ULONG __RPC_USER SNB_UserSize (ULONG *, ULONG, SNB *);
  7703. unsigned char * __RPC_USER SNB_UserMarshal (ULONG *, unsigned char *, SNB *);
  7704. unsigned char * __RPC_USER SNB_UserUnmarshal(ULONG *, unsigned char *, SNB *);
  7705. void __RPC_USER SNB_UserFree (ULONG *, SNB *);
  7706. ULONG __RPC_USER CLIPFORMAT_UserSize (ULONG *, ULONG, CLIPFORMAT *);
  7707. unsigned char * __RPC_USER CLIPFORMAT_UserMarshal (ULONG *, unsigned char *, CLIPFORMAT *);
  7708. unsigned char * __RPC_USER CLIPFORMAT_UserUnmarshal(ULONG *, unsigned char *, CLIPFORMAT *);
  7709. void __RPC_USER CLIPFORMAT_UserFree (ULONG *, CLIPFORMAT *);
  7710. ULONG __RPC_USER STGMEDIUM_UserSize (ULONG *, ULONG, STGMEDIUM *);
  7711. unsigned char * __RPC_USER STGMEDIUM_UserMarshal (ULONG *, unsigned char *, STGMEDIUM *);
  7712. unsigned char * __RPC_USER STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, STGMEDIUM *);
  7713. void __RPC_USER STGMEDIUM_UserFree (ULONG *, STGMEDIUM *);
  7714. ULONG __RPC_USER ASYNC_STGMEDIUM_UserSize (ULONG *, ULONG, ASYNC_STGMEDIUM *);
  7715. unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserMarshal (ULONG *, unsigned char *, ASYNC_STGMEDIUM *);
  7716. unsigned char * __RPC_USER ASYNC_STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, ASYNC_STGMEDIUM *);
  7717. void __RPC_USER ASYNC_STGMEDIUM_UserFree (ULONG *, ASYNC_STGMEDIUM *);
  7718. ULONG __RPC_USER FLAG_STGMEDIUM_UserSize (ULONG *, ULONG, FLAG_STGMEDIUM *);
  7719. unsigned char * __RPC_USER FLAG_STGMEDIUM_UserMarshal (ULONG *, unsigned char *, FLAG_STGMEDIUM *);
  7720. unsigned char * __RPC_USER FLAG_STGMEDIUM_UserUnmarshal(ULONG *, unsigned char *, FLAG_STGMEDIUM *);
  7721. void __RPC_USER FLAG_STGMEDIUM_UserFree (ULONG *, FLAG_STGMEDIUM *);
  7722.  
  7723. /* End additional prototypes */
  7724.  
  7725. #ifdef __cplusplus
  7726. }
  7727. #endif
  7728.  
  7729. #endif /* __objidl_h__ */
Advertisement
Add Comment
Please, Sign In to add comment