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

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for ocidl.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __ocidl_h__
  27. #define __ocidl_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __IEnumConnections_FWD_DEFINED__
  33. #define __IEnumConnections_FWD_DEFINED__
  34. typedef interface IEnumConnections IEnumConnections;
  35. #endif  /* __IEnumConnections_FWD_DEFINED__ */
  36. #ifndef __IConnectionPoint_FWD_DEFINED__
  37. #define __IConnectionPoint_FWD_DEFINED__
  38. typedef interface IConnectionPoint IConnectionPoint;
  39. #endif  /* __IConnectionPoint_FWD_DEFINED__ */
  40. #ifndef __IEnumConnectionPoints_FWD_DEFINED__
  41. #define __IEnumConnectionPoints_FWD_DEFINED__
  42. typedef interface IEnumConnectionPoints IEnumConnectionPoints;
  43. #endif  /* __IEnumConnectionPoints_FWD_DEFINED__ */
  44. #ifndef __IConnectionPointContainer_FWD_DEFINED__
  45. #define __IConnectionPointContainer_FWD_DEFINED__
  46. typedef interface IConnectionPointContainer IConnectionPointContainer;
  47. #endif  /* __IConnectionPointContainer_FWD_DEFINED__ */
  48. #ifndef __IClassFactory2_FWD_DEFINED__
  49. #define __IClassFactory2_FWD_DEFINED__
  50. typedef interface IClassFactory2 IClassFactory2;
  51. #endif  /* __IClassFactory2_FWD_DEFINED__ */
  52. #ifndef __IProvideClassInfo_FWD_DEFINED__
  53. #define __IProvideClassInfo_FWD_DEFINED__
  54. typedef interface IProvideClassInfo IProvideClassInfo;
  55. #endif  /* __IProvideClassInfo_FWD_DEFINED__ */
  56. #ifndef __IProvideClassInfo2_FWD_DEFINED__
  57. #define __IProvideClassInfo2_FWD_DEFINED__
  58. typedef interface IProvideClassInfo2 IProvideClassInfo2;
  59. #endif  /* __IProvideClassInfo2_FWD_DEFINED__ */
  60. #ifndef __IProvideMultipleClassInfo_FWD_DEFINED__
  61. #define __IProvideMultipleClassInfo_FWD_DEFINED__
  62. typedef interface IProvideMultipleClassInfo IProvideMultipleClassInfo;
  63. #endif  /* __IProvideMultipleClassInfo_FWD_DEFINED__ */
  64. #ifndef __IOleControl_FWD_DEFINED__
  65. #define __IOleControl_FWD_DEFINED__
  66. typedef interface IOleControl IOleControl;
  67. #endif  /* __IOleControl_FWD_DEFINED__ */
  68. #ifndef __IOleControlSite_FWD_DEFINED__
  69. #define __IOleControlSite_FWD_DEFINED__
  70. typedef interface IOleControlSite IOleControlSite;
  71. #endif  /* __IOleControlSite_FWD_DEFINED__ */
  72. #ifndef __IPropertyPage_FWD_DEFINED__
  73. #define __IPropertyPage_FWD_DEFINED__
  74. typedef interface IPropertyPage IPropertyPage;
  75. #endif  /* __IPropertyPage_FWD_DEFINED__ */
  76. #ifndef __IPropertyPage2_FWD_DEFINED__
  77. #define __IPropertyPage2_FWD_DEFINED__
  78. typedef interface IPropertyPage2 IPropertyPage2;
  79. #endif  /* __IPropertyPage2_FWD_DEFINED__ */
  80. #ifndef __IPropertyPageSite_FWD_DEFINED__
  81. #define __IPropertyPageSite_FWD_DEFINED__
  82. typedef interface IPropertyPageSite IPropertyPageSite;
  83. #endif  /* __IPropertyPageSite_FWD_DEFINED__ */
  84. #ifndef __IPropertyNotifySink_FWD_DEFINED__
  85. #define __IPropertyNotifySink_FWD_DEFINED__
  86. typedef interface IPropertyNotifySink IPropertyNotifySink;
  87. #endif  /* __IPropertyNotifySink_FWD_DEFINED__ */
  88. #ifndef __ISpecifyPropertyPages_FWD_DEFINED__
  89. #define __ISpecifyPropertyPages_FWD_DEFINED__
  90. typedef interface ISpecifyPropertyPages ISpecifyPropertyPages;
  91. #endif  /* __ISpecifyPropertyPages_FWD_DEFINED__ */
  92. #ifndef __IPersistMemory_FWD_DEFINED__
  93. #define __IPersistMemory_FWD_DEFINED__
  94. typedef interface IPersistMemory IPersistMemory;
  95. #endif  /* __IPersistMemory_FWD_DEFINED__ */
  96. #ifndef __IPersistStreamInit_FWD_DEFINED__
  97. #define __IPersistStreamInit_FWD_DEFINED__
  98. typedef interface IPersistStreamInit IPersistStreamInit;
  99. #endif  /* __IPersistStreamInit_FWD_DEFINED__ */
  100. #ifndef __IPersistPropertyBag_FWD_DEFINED__
  101. #define __IPersistPropertyBag_FWD_DEFINED__
  102. typedef interface IPersistPropertyBag IPersistPropertyBag;
  103. #endif  /* __IPersistPropertyBag_FWD_DEFINED__ */
  104. #ifndef __ISimpleFrameSite_FWD_DEFINED__
  105. #define __ISimpleFrameSite_FWD_DEFINED__
  106. typedef interface ISimpleFrameSite ISimpleFrameSite;
  107. #endif  /* __ISimpleFrameSite_FWD_DEFINED__ */
  108. #ifndef __IFont_FWD_DEFINED__
  109. #define __IFont_FWD_DEFINED__
  110. typedef interface IFont IFont;
  111. #endif  /* __IFont_FWD_DEFINED__ */
  112. #ifndef __IPicture_FWD_DEFINED__
  113. #define __IPicture_FWD_DEFINED__
  114. typedef interface IPicture IPicture;
  115. #endif  /* __IPicture_FWD_DEFINED__ */
  116. #ifndef __IFontEventsDisp_FWD_DEFINED__
  117. #define __IFontEventsDisp_FWD_DEFINED__
  118. typedef interface IFontEventsDisp IFontEventsDisp;
  119. #endif  /* __IFontEventsDisp_FWD_DEFINED__ */
  120. #ifndef __IFontDisp_FWD_DEFINED__
  121. #define __IFontDisp_FWD_DEFINED__
  122. typedef interface IFontDisp IFontDisp;
  123. #endif  /* __IFontDisp_FWD_DEFINED__ */
  124. #ifndef __IPictureDisp_FWD_DEFINED__
  125. #define __IPictureDisp_FWD_DEFINED__
  126. typedef interface IPictureDisp IPictureDisp;
  127. #endif  /* __IPictureDisp_FWD_DEFINED__ */
  128. #ifndef __IOleInPlaceObjectWindowless_FWD_DEFINED__
  129. #define __IOleInPlaceObjectWindowless_FWD_DEFINED__
  130. typedef interface IOleInPlaceObjectWindowless IOleInPlaceObjectWindowless;
  131. #endif  /* __IOleInPlaceObjectWindowless_FWD_DEFINED__ */
  132. #ifndef __IOleInPlaceSiteEx_FWD_DEFINED__
  133. #define __IOleInPlaceSiteEx_FWD_DEFINED__
  134. typedef interface IOleInPlaceSiteEx IOleInPlaceSiteEx;
  135. #endif  /* __IOleInPlaceSiteEx_FWD_DEFINED__ */
  136. #ifndef __IOleInPlaceSiteWindowless_FWD_DEFINED__
  137. #define __IOleInPlaceSiteWindowless_FWD_DEFINED__
  138. typedef interface IOleInPlaceSiteWindowless IOleInPlaceSiteWindowless;
  139. #endif  /* __IOleInPlaceSiteWindowless_FWD_DEFINED__ */
  140. #ifndef __IViewObjectEx_FWD_DEFINED__
  141. #define __IViewObjectEx_FWD_DEFINED__
  142. typedef interface IViewObjectEx IViewObjectEx;
  143. #endif  /* __IViewObjectEx_FWD_DEFINED__ */
  144. #ifndef __IOleUndoUnit_FWD_DEFINED__
  145. #define __IOleUndoUnit_FWD_DEFINED__
  146. typedef interface IOleUndoUnit IOleUndoUnit;
  147. #endif  /* __IOleUndoUnit_FWD_DEFINED__ */
  148. #ifndef __IOleParentUndoUnit_FWD_DEFINED__
  149. #define __IOleParentUndoUnit_FWD_DEFINED__
  150. typedef interface IOleParentUndoUnit IOleParentUndoUnit;
  151. #endif  /* __IOleParentUndoUnit_FWD_DEFINED__ */
  152. #ifndef __IEnumOleUndoUnits_FWD_DEFINED__
  153. #define __IEnumOleUndoUnits_FWD_DEFINED__
  154. typedef interface IEnumOleUndoUnits IEnumOleUndoUnits;
  155. #endif  /* __IEnumOleUndoUnits_FWD_DEFINED__ */
  156. #ifndef __IOleUndoManager_FWD_DEFINED__
  157. #define __IOleUndoManager_FWD_DEFINED__
  158. typedef interface IOleUndoManager IOleUndoManager;
  159. #endif  /* __IOleUndoManager_FWD_DEFINED__ */
  160. #ifndef __IPointerInactive_FWD_DEFINED__
  161. #define __IPointerInactive_FWD_DEFINED__
  162. typedef interface IPointerInactive IPointerInactive;
  163. #endif  /* __IPointerInactive_FWD_DEFINED__ */
  164. #ifndef __IObjectWithSite_FWD_DEFINED__
  165. #define __IObjectWithSite_FWD_DEFINED__
  166. typedef interface IObjectWithSite IObjectWithSite;
  167. #endif  /* __IObjectWithSite_FWD_DEFINED__ */
  168. #ifndef __IPerPropertyBrowsing_FWD_DEFINED__
  169. #define __IPerPropertyBrowsing_FWD_DEFINED__
  170. typedef interface IPerPropertyBrowsing IPerPropertyBrowsing;
  171. #endif  /* __IPerPropertyBrowsing_FWD_DEFINED__ */
  172. #ifndef __IPropertyBag2_FWD_DEFINED__
  173. #define __IPropertyBag2_FWD_DEFINED__
  174. typedef interface IPropertyBag2 IPropertyBag2;
  175. #endif  /* __IPropertyBag2_FWD_DEFINED__ */
  176. #ifndef __IPersistPropertyBag2_FWD_DEFINED__
  177. #define __IPersistPropertyBag2_FWD_DEFINED__
  178. typedef interface IPersistPropertyBag2 IPersistPropertyBag2;
  179. #endif  /* __IPersistPropertyBag2_FWD_DEFINED__ */
  180. #ifndef __IAdviseSinkEx_FWD_DEFINED__
  181. #define __IAdviseSinkEx_FWD_DEFINED__
  182. typedef interface IAdviseSinkEx IAdviseSinkEx;
  183. #endif  /* __IAdviseSinkEx_FWD_DEFINED__ */
  184. #ifndef __IQuickActivate_FWD_DEFINED__
  185. #define __IQuickActivate_FWD_DEFINED__
  186. typedef interface IQuickActivate IQuickActivate;
  187. #endif  /* __IQuickActivate_FWD_DEFINED__ */
  188. /* header files for imported files */
  189. #include "oleidl.h"
  190. #include "oaidl.h"
  191. #include "servprov.h"
  192. #include "urlmon.h"
  193. #ifdef __cplusplus
  194. extern "C"{
  195. #endif 
  196. void * __RPC_USER MIDL_user_allocate(size_t);
  197. void __RPC_USER MIDL_user_free( void * ); 
  198. /* interface __MIDL_itf_ocidl_0000 */
  199. /* [local] */ 
  200. //+-------------------------------------------------------------------------
  201. //
  202. //  Microsoft Windows
  203. //  Copyright (c) Microsoft Corporation. All rights reserved.
  204. //
  205. //--------------------------------------------------------------------------
  206. #if ( _MSC_VER >= 1020 )
  207. #pragma once
  208. #endif
  209. extern RPC_IF_HANDLE __MIDL_itf_ocidl_0000_v0_0_c_ifspec;
  210. extern RPC_IF_HANDLE __MIDL_itf_ocidl_0000_v0_0_s_ifspec;
  211. #ifndef __IOleControlTypes_INTERFACE_DEFINED__
  212. #define __IOleControlTypes_INTERFACE_DEFINED__
  213. /* interface IOleControlTypes */
  214. /* [auto_handle][unique][version] */ 
  215. typedef /* [v1_enum] */ 
  216. enum tagUASFLAGS
  217.     { UAS_NORMAL = 0,
  218. UAS_BLOCKED = 0x1,
  219. UAS_NOPARENTENABLE = 0x2,
  220. UAS_MASK = 0x3
  221.     }  UASFLAGS;
  222. /* State values for the DISPID_READYSTATE property */
  223. typedef /* [v1_enum] */ 
  224. enum tagREADYSTATE
  225.     { READYSTATE_UNINITIALIZED = 0,
  226. READYSTATE_LOADING = 1,
  227. READYSTATE_LOADED = 2,
  228. READYSTATE_INTERACTIVE = 3,
  229. READYSTATE_COMPLETE = 4
  230.     }  READYSTATE;
  231. extern RPC_IF_HANDLE IOleControlTypes_v1_0_c_ifspec;
  232. extern RPC_IF_HANDLE IOleControlTypes_v1_0_s_ifspec;
  233. #endif /* __IOleControlTypes_INTERFACE_DEFINED__ */
  234. #ifndef __IEnumConnections_INTERFACE_DEFINED__
  235. #define __IEnumConnections_INTERFACE_DEFINED__
  236. /* interface IEnumConnections */
  237. /* [unique][uuid][object] */ 
  238. typedef IEnumConnections *PENUMCONNECTIONS;
  239. typedef IEnumConnections *LPENUMCONNECTIONS;
  240. typedef struct tagCONNECTDATA
  241.     {
  242.     IUnknown *pUnk;
  243.     DWORD dwCookie;
  244.     }  CONNECTDATA;
  245. typedef struct tagCONNECTDATA *PCONNECTDATA;
  246. typedef struct tagCONNECTDATA *LPCONNECTDATA;
  247. EXTERN_C const IID IID_IEnumConnections;
  248. #if defined(__cplusplus) && !defined(CINTERFACE)
  249.     
  250.     MIDL_INTERFACE("B196B287-BAB4-101A-B69C-00AA00341D07")
  251.     IEnumConnections : public IUnknown
  252.     {
  253.     public:
  254.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next( 
  255.             /* [in] */ ULONG cConnections,
  256.             /* [length_is][size_is][out] */ LPCONNECTDATA rgcd,
  257.             /* [out] */ ULONG *pcFetched) = 0;
  258.         
  259.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  260.             /* [in] */ ULONG cConnections) = 0;
  261.         
  262.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  263.         
  264.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  265.             /* [out] */ IEnumConnections **ppEnum) = 0;
  266.         
  267.     };
  268.     
  269. #else  /* C style interface */
  270.     typedef struct IEnumConnectionsVtbl
  271.     {
  272.         BEGIN_INTERFACE
  273.         
  274.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  275.             IEnumConnections * This,
  276.             /* [in] */ REFIID riid,
  277.             /* [iid_is][out] */ void **ppvObject);
  278.         
  279.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  280.             IEnumConnections * This);
  281.         
  282.         ULONG ( STDMETHODCALLTYPE *Release )( 
  283.             IEnumConnections * This);
  284.         
  285.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
  286.             IEnumConnections * This,
  287.             /* [in] */ ULONG cConnections,
  288.             /* [length_is][size_is][out] */ LPCONNECTDATA rgcd,
  289.             /* [out] */ ULONG *pcFetched);
  290.         
  291.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  292.             IEnumConnections * This,
  293.             /* [in] */ ULONG cConnections);
  294.         
  295.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  296.             IEnumConnections * This);
  297.         
  298.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  299.             IEnumConnections * This,
  300.             /* [out] */ IEnumConnections **ppEnum);
  301.         
  302.         END_INTERFACE
  303.     } IEnumConnectionsVtbl;
  304.     interface IEnumConnections
  305.     {
  306.         CONST_VTBL struct IEnumConnectionsVtbl *lpVtbl;
  307.     };
  308.     
  309. #ifdef COBJMACROS
  310. #define IEnumConnections_QueryInterface(This,riid,ppvObject)
  311.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  312. #define IEnumConnections_AddRef(This)
  313.     (This)->lpVtbl -> AddRef(This)
  314. #define IEnumConnections_Release(This)
  315.     (This)->lpVtbl -> Release(This)
  316. #define IEnumConnections_Next(This,cConnections,rgcd,pcFetched)
  317.     (This)->lpVtbl -> Next(This,cConnections,rgcd,pcFetched)
  318. #define IEnumConnections_Skip(This,cConnections)
  319.     (This)->lpVtbl -> Skip(This,cConnections)
  320. #define IEnumConnections_Reset(This)
  321.     (This)->lpVtbl -> Reset(This)
  322. #define IEnumConnections_Clone(This,ppEnum)
  323.     (This)->lpVtbl -> Clone(This,ppEnum)
  324. #endif /* COBJMACROS */
  325. #endif  /* C style interface */
  326. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumConnections_RemoteNext_Proxy( 
  327.     IEnumConnections * This,
  328.     /* [in] */ ULONG cConnections,
  329.     /* [length_is][size_is][out] */ LPCONNECTDATA rgcd,
  330.     /* [out] */ ULONG *pcFetched);
  331. void __RPC_STUB IEnumConnections_RemoteNext_Stub(
  332.     IRpcStubBuffer *This,
  333.     IRpcChannelBuffer *_pRpcChannelBuffer,
  334.     PRPC_MESSAGE _pRpcMessage,
  335.     DWORD *_pdwStubPhase);
  336. HRESULT STDMETHODCALLTYPE IEnumConnections_Skip_Proxy( 
  337.     IEnumConnections * This,
  338.     /* [in] */ ULONG cConnections);
  339. void __RPC_STUB IEnumConnections_Skip_Stub(
  340.     IRpcStubBuffer *This,
  341.     IRpcChannelBuffer *_pRpcChannelBuffer,
  342.     PRPC_MESSAGE _pRpcMessage,
  343.     DWORD *_pdwStubPhase);
  344. HRESULT STDMETHODCALLTYPE IEnumConnections_Reset_Proxy( 
  345.     IEnumConnections * This);
  346. void __RPC_STUB IEnumConnections_Reset_Stub(
  347.     IRpcStubBuffer *This,
  348.     IRpcChannelBuffer *_pRpcChannelBuffer,
  349.     PRPC_MESSAGE _pRpcMessage,
  350.     DWORD *_pdwStubPhase);
  351. HRESULT STDMETHODCALLTYPE IEnumConnections_Clone_Proxy( 
  352.     IEnumConnections * This,
  353.     /* [out] */ IEnumConnections **ppEnum);
  354. void __RPC_STUB IEnumConnections_Clone_Stub(
  355.     IRpcStubBuffer *This,
  356.     IRpcChannelBuffer *_pRpcChannelBuffer,
  357.     PRPC_MESSAGE _pRpcMessage,
  358.     DWORD *_pdwStubPhase);
  359. #endif  /* __IEnumConnections_INTERFACE_DEFINED__ */
  360. #ifndef __IConnectionPoint_INTERFACE_DEFINED__
  361. #define __IConnectionPoint_INTERFACE_DEFINED__
  362. /* interface IConnectionPoint */
  363. /* [unique][uuid][object] */ 
  364. typedef IConnectionPoint *PCONNECTIONPOINT;
  365. typedef IConnectionPoint *LPCONNECTIONPOINT;
  366. EXTERN_C const IID IID_IConnectionPoint;
  367. #if defined(__cplusplus) && !defined(CINTERFACE)
  368.     
  369.     MIDL_INTERFACE("B196B286-BAB4-101A-B69C-00AA00341D07")
  370.     IConnectionPoint : public IUnknown
  371.     {
  372.     public:
  373.         virtual HRESULT STDMETHODCALLTYPE GetConnectionInterface( 
  374.             /* [out] */ IID *pIID) = 0;
  375.         
  376.         virtual HRESULT STDMETHODCALLTYPE GetConnectionPointContainer( 
  377.             /* [out] */ IConnectionPointContainer **ppCPC) = 0;
  378.         
  379.         virtual HRESULT STDMETHODCALLTYPE Advise( 
  380.             /* [in] */ IUnknown *pUnkSink,
  381.             /* [out] */ DWORD *pdwCookie) = 0;
  382.         
  383.         virtual HRESULT STDMETHODCALLTYPE Unadvise( 
  384.             /* [in] */ DWORD dwCookie) = 0;
  385.         
  386.         virtual HRESULT STDMETHODCALLTYPE EnumConnections( 
  387.             /* [out] */ IEnumConnections **ppEnum) = 0;
  388.         
  389.     };
  390.     
  391. #else  /* C style interface */
  392.     typedef struct IConnectionPointVtbl
  393.     {
  394.         BEGIN_INTERFACE
  395.         
  396.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  397.             IConnectionPoint * This,
  398.             /* [in] */ REFIID riid,
  399.             /* [iid_is][out] */ void **ppvObject);
  400.         
  401.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  402.             IConnectionPoint * This);
  403.         
  404.         ULONG ( STDMETHODCALLTYPE *Release )( 
  405.             IConnectionPoint * This);
  406.         
  407.         HRESULT ( STDMETHODCALLTYPE *GetConnectionInterface )( 
  408.             IConnectionPoint * This,
  409.             /* [out] */ IID *pIID);
  410.         
  411.         HRESULT ( STDMETHODCALLTYPE *GetConnectionPointContainer )( 
  412.             IConnectionPoint * This,
  413.             /* [out] */ IConnectionPointContainer **ppCPC);
  414.         
  415.         HRESULT ( STDMETHODCALLTYPE *Advise )( 
  416.             IConnectionPoint * This,
  417.             /* [in] */ IUnknown *pUnkSink,
  418.             /* [out] */ DWORD *pdwCookie);
  419.         
  420.         HRESULT ( STDMETHODCALLTYPE *Unadvise )( 
  421.             IConnectionPoint * This,
  422.             /* [in] */ DWORD dwCookie);
  423.         
  424.         HRESULT ( STDMETHODCALLTYPE *EnumConnections )( 
  425.             IConnectionPoint * This,
  426.             /* [out] */ IEnumConnections **ppEnum);
  427.         
  428.         END_INTERFACE
  429.     } IConnectionPointVtbl;
  430.     interface IConnectionPoint
  431.     {
  432.         CONST_VTBL struct IConnectionPointVtbl *lpVtbl;
  433.     };
  434.     
  435. #ifdef COBJMACROS
  436. #define IConnectionPoint_QueryInterface(This,riid,ppvObject)
  437.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  438. #define IConnectionPoint_AddRef(This)
  439.     (This)->lpVtbl -> AddRef(This)
  440. #define IConnectionPoint_Release(This)
  441.     (This)->lpVtbl -> Release(This)
  442. #define IConnectionPoint_GetConnectionInterface(This,pIID)
  443.     (This)->lpVtbl -> GetConnectionInterface(This,pIID)
  444. #define IConnectionPoint_GetConnectionPointContainer(This,ppCPC)
  445.     (This)->lpVtbl -> GetConnectionPointContainer(This,ppCPC)
  446. #define IConnectionPoint_Advise(This,pUnkSink,pdwCookie)
  447.     (This)->lpVtbl -> Advise(This,pUnkSink,pdwCookie)
  448. #define IConnectionPoint_Unadvise(This,dwCookie)
  449.     (This)->lpVtbl -> Unadvise(This,dwCookie)
  450. #define IConnectionPoint_EnumConnections(This,ppEnum)
  451.     (This)->lpVtbl -> EnumConnections(This,ppEnum)
  452. #endif /* COBJMACROS */
  453. #endif  /* C style interface */
  454. HRESULT STDMETHODCALLTYPE IConnectionPoint_GetConnectionInterface_Proxy( 
  455.     IConnectionPoint * This,
  456.     /* [out] */ IID *pIID);
  457. void __RPC_STUB IConnectionPoint_GetConnectionInterface_Stub(
  458.     IRpcStubBuffer *This,
  459.     IRpcChannelBuffer *_pRpcChannelBuffer,
  460.     PRPC_MESSAGE _pRpcMessage,
  461.     DWORD *_pdwStubPhase);
  462. HRESULT STDMETHODCALLTYPE IConnectionPoint_GetConnectionPointContainer_Proxy( 
  463.     IConnectionPoint * This,
  464.     /* [out] */ IConnectionPointContainer **ppCPC);
  465. void __RPC_STUB IConnectionPoint_GetConnectionPointContainer_Stub(
  466.     IRpcStubBuffer *This,
  467.     IRpcChannelBuffer *_pRpcChannelBuffer,
  468.     PRPC_MESSAGE _pRpcMessage,
  469.     DWORD *_pdwStubPhase);
  470. HRESULT STDMETHODCALLTYPE IConnectionPoint_Advise_Proxy( 
  471.     IConnectionPoint * This,
  472.     /* [in] */ IUnknown *pUnkSink,
  473.     /* [out] */ DWORD *pdwCookie);
  474. void __RPC_STUB IConnectionPoint_Advise_Stub(
  475.     IRpcStubBuffer *This,
  476.     IRpcChannelBuffer *_pRpcChannelBuffer,
  477.     PRPC_MESSAGE _pRpcMessage,
  478.     DWORD *_pdwStubPhase);
  479. HRESULT STDMETHODCALLTYPE IConnectionPoint_Unadvise_Proxy( 
  480.     IConnectionPoint * This,
  481.     /* [in] */ DWORD dwCookie);
  482. void __RPC_STUB IConnectionPoint_Unadvise_Stub(
  483.     IRpcStubBuffer *This,
  484.     IRpcChannelBuffer *_pRpcChannelBuffer,
  485.     PRPC_MESSAGE _pRpcMessage,
  486.     DWORD *_pdwStubPhase);
  487. HRESULT STDMETHODCALLTYPE IConnectionPoint_EnumConnections_Proxy( 
  488.     IConnectionPoint * This,
  489.     /* [out] */ IEnumConnections **ppEnum);
  490. void __RPC_STUB IConnectionPoint_EnumConnections_Stub(
  491.     IRpcStubBuffer *This,
  492.     IRpcChannelBuffer *_pRpcChannelBuffer,
  493.     PRPC_MESSAGE _pRpcMessage,
  494.     DWORD *_pdwStubPhase);
  495. #endif  /* __IConnectionPoint_INTERFACE_DEFINED__ */
  496. #ifndef __IEnumConnectionPoints_INTERFACE_DEFINED__
  497. #define __IEnumConnectionPoints_INTERFACE_DEFINED__
  498. /* interface IEnumConnectionPoints */
  499. /* [unique][uuid][object] */ 
  500. typedef IEnumConnectionPoints *PENUMCONNECTIONPOINTS;
  501. typedef IEnumConnectionPoints *LPENUMCONNECTIONPOINTS;
  502. EXTERN_C const IID IID_IEnumConnectionPoints;
  503. #if defined(__cplusplus) && !defined(CINTERFACE)
  504.     
  505.     MIDL_INTERFACE("B196B285-BAB4-101A-B69C-00AA00341D07")
  506.     IEnumConnectionPoints : public IUnknown
  507.     {
  508.     public:
  509.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Next( 
  510.             /* [in] */ ULONG cConnections,
  511.             /* [length_is][size_is][out] */ LPCONNECTIONPOINT *ppCP,
  512.             /* [out] */ ULONG *pcFetched) = 0;
  513.         
  514.         virtual HRESULT STDMETHODCALLTYPE Skip( 
  515.             /* [in] */ ULONG cConnections) = 0;
  516.         
  517.         virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  518.         
  519.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  520.             /* [out] */ IEnumConnectionPoints **ppEnum) = 0;
  521.         
  522.     };
  523.     
  524. #else  /* C style interface */
  525.     typedef struct IEnumConnectionPointsVtbl
  526.     {
  527.         BEGIN_INTERFACE
  528.         
  529.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  530.             IEnumConnectionPoints * This,
  531.             /* [in] */ REFIID riid,
  532.             /* [iid_is][out] */ void **ppvObject);
  533.         
  534.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  535.             IEnumConnectionPoints * This);
  536.         
  537.         ULONG ( STDMETHODCALLTYPE *Release )( 
  538.             IEnumConnectionPoints * This);
  539.         
  540.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Next )( 
  541.             IEnumConnectionPoints * This,
  542.             /* [in] */ ULONG cConnections,
  543.             /* [length_is][size_is][out] */ LPCONNECTIONPOINT *ppCP,
  544.             /* [out] */ ULONG *pcFetched);
  545.         
  546.         HRESULT ( STDMETHODCALLTYPE *Skip )( 
  547.             IEnumConnectionPoints * This,
  548.             /* [in] */ ULONG cConnections);
  549.         
  550.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  551.             IEnumConnectionPoints * This);
  552.         
  553.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  554.             IEnumConnectionPoints * This,
  555.             /* [out] */ IEnumConnectionPoints **ppEnum);
  556.         
  557.         END_INTERFACE
  558.     } IEnumConnectionPointsVtbl;
  559.     interface IEnumConnectionPoints
  560.     {
  561.         CONST_VTBL struct IEnumConnectionPointsVtbl *lpVtbl;
  562.     };
  563.     
  564. #ifdef COBJMACROS
  565. #define IEnumConnectionPoints_QueryInterface(This,riid,ppvObject)
  566.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  567. #define IEnumConnectionPoints_AddRef(This)
  568.     (This)->lpVtbl -> AddRef(This)
  569. #define IEnumConnectionPoints_Release(This)
  570.     (This)->lpVtbl -> Release(This)
  571. #define IEnumConnectionPoints_Next(This,cConnections,ppCP,pcFetched)
  572.     (This)->lpVtbl -> Next(This,cConnections,ppCP,pcFetched)
  573. #define IEnumConnectionPoints_Skip(This,cConnections)
  574.     (This)->lpVtbl -> Skip(This,cConnections)
  575. #define IEnumConnectionPoints_Reset(This)
  576.     (This)->lpVtbl -> Reset(This)
  577. #define IEnumConnectionPoints_Clone(This,ppEnum)
  578.     (This)->lpVtbl -> Clone(This,ppEnum)
  579. #endif /* COBJMACROS */
  580. #endif  /* C style interface */
  581. /* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumConnectionPoints_RemoteNext_Proxy( 
  582.     IEnumConnectionPoints * This,
  583.     /* [in] */ ULONG cConnections,
  584.     /* [length_is][size_is][out] */ LPCONNECTIONPOINT *ppCP,
  585.     /* [out] */ ULONG *pcFetched);
  586. void __RPC_STUB IEnumConnectionPoints_RemoteNext_Stub(
  587.     IRpcStubBuffer *This,
  588.     IRpcChannelBuffer *_pRpcChannelBuffer,
  589.     PRPC_MESSAGE _pRpcMessage,
  590.     DWORD *_pdwStubPhase);
  591. HRESULT STDMETHODCALLTYPE IEnumConnectionPoints_Skip_Proxy( 
  592.     IEnumConnectionPoints * This,
  593.     /* [in] */ ULONG cConnections);
  594. void __RPC_STUB IEnumConnectionPoints_Skip_Stub(
  595.     IRpcStubBuffer *This,
  596.     IRpcChannelBuffer *_pRpcChannelBuffer,
  597.     PRPC_MESSAGE _pRpcMessage,
  598.     DWORD *_pdwStubPhase);
  599. HRESULT STDMETHODCALLTYPE IEnumConnectionPoints_Reset_Proxy( 
  600.     IEnumConnectionPoints * This);
  601. void __RPC_STUB IEnumConnectionPoints_Reset_Stub(
  602.     IRpcStubBuffer *This,
  603.     IRpcChannelBuffer *_pRpcChannelBuffer,
  604.     PRPC_MESSAGE _pRpcMessage,
  605.     DWORD *_pdwStubPhase);
  606. HRESULT STDMETHODCALLTYPE IEnumConnectionPoints_Clone_Proxy( 
  607.     IEnumConnectionPoints * This,
  608.     /* [out] */ IEnumConnectionPoints **ppEnum);
  609. void __RPC_STUB IEnumConnectionPoints_Clone_Stub(
  610.     IRpcStubBuffer *This,
  611.     IRpcChannelBuffer *_pRpcChannelBuffer,
  612.     PRPC_MESSAGE _pRpcMessage,
  613.     DWORD *_pdwStubPhase);
  614. #endif  /* __IEnumConnectionPoints_INTERFACE_DEFINED__ */
  615. #ifndef __IConnectionPointContainer_INTERFACE_DEFINED__
  616. #define __IConnectionPointContainer_INTERFACE_DEFINED__
  617. /* interface IConnectionPointContainer */
  618. /* [unique][uuid][object] */ 
  619. typedef IConnectionPointContainer *PCONNECTIONPOINTCONTAINER;
  620. typedef IConnectionPointContainer *LPCONNECTIONPOINTCONTAINER;
  621. EXTERN_C const IID IID_IConnectionPointContainer;
  622. #if defined(__cplusplus) && !defined(CINTERFACE)
  623.     
  624.     MIDL_INTERFACE("B196B284-BAB4-101A-B69C-00AA00341D07")
  625.     IConnectionPointContainer : public IUnknown
  626.     {
  627.     public:
  628.         virtual HRESULT STDMETHODCALLTYPE EnumConnectionPoints( 
  629.             /* [out] */ IEnumConnectionPoints **ppEnum) = 0;
  630.         
  631.         virtual HRESULT STDMETHODCALLTYPE FindConnectionPoint( 
  632.             /* [in] */ REFIID riid,
  633.             /* [out] */ IConnectionPoint **ppCP) = 0;
  634.         
  635.     };
  636.     
  637. #else  /* C style interface */
  638.     typedef struct IConnectionPointContainerVtbl
  639.     {
  640.         BEGIN_INTERFACE
  641.         
  642.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  643.             IConnectionPointContainer * This,
  644.             /* [in] */ REFIID riid,
  645.             /* [iid_is][out] */ void **ppvObject);
  646.         
  647.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  648.             IConnectionPointContainer * This);
  649.         
  650.         ULONG ( STDMETHODCALLTYPE *Release )( 
  651.             IConnectionPointContainer * This);
  652.         
  653.         HRESULT ( STDMETHODCALLTYPE *EnumConnectionPoints )( 
  654.             IConnectionPointContainer * This,
  655.             /* [out] */ IEnumConnectionPoints **ppEnum);
  656.         
  657.         HRESULT ( STDMETHODCALLTYPE *FindConnectionPoint )( 
  658.             IConnectionPointContainer * This,
  659.             /* [in] */ REFIID riid,
  660.             /* [out] */ IConnectionPoint **ppCP);
  661.         
  662.         END_INTERFACE
  663.     } IConnectionPointContainerVtbl;
  664.     interface IConnectionPointContainer
  665.     {
  666.         CONST_VTBL struct IConnectionPointContainerVtbl *lpVtbl;
  667.     };
  668.     
  669. #ifdef COBJMACROS
  670. #define IConnectionPointContainer_QueryInterface(This,riid,ppvObject)
  671.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  672. #define IConnectionPointContainer_AddRef(This)
  673.     (This)->lpVtbl -> AddRef(This)
  674. #define IConnectionPointContainer_Release(This)
  675.     (This)->lpVtbl -> Release(This)
  676. #define IConnectionPointContainer_EnumConnectionPoints(This,ppEnum)
  677.     (This)->lpVtbl -> EnumConnectionPoints(This,ppEnum)
  678. #define IConnectionPointContainer_FindConnectionPoint(This,riid,ppCP)
  679.     (This)->lpVtbl -> FindConnectionPoint(This,riid,ppCP)
  680. #endif /* COBJMACROS */
  681. #endif  /* C style interface */
  682. HRESULT STDMETHODCALLTYPE IConnectionPointContainer_EnumConnectionPoints_Proxy( 
  683.     IConnectionPointContainer * This,
  684.     /* [out] */ IEnumConnectionPoints **ppEnum);
  685. void __RPC_STUB IConnectionPointContainer_EnumConnectionPoints_Stub(
  686.     IRpcStubBuffer *This,
  687.     IRpcChannelBuffer *_pRpcChannelBuffer,
  688.     PRPC_MESSAGE _pRpcMessage,
  689.     DWORD *_pdwStubPhase);
  690. HRESULT STDMETHODCALLTYPE IConnectionPointContainer_FindConnectionPoint_Proxy( 
  691.     IConnectionPointContainer * This,
  692.     /* [in] */ REFIID riid,
  693.     /* [out] */ IConnectionPoint **ppCP);
  694. void __RPC_STUB IConnectionPointContainer_FindConnectionPoint_Stub(
  695.     IRpcStubBuffer *This,
  696.     IRpcChannelBuffer *_pRpcChannelBuffer,
  697.     PRPC_MESSAGE _pRpcMessage,
  698.     DWORD *_pdwStubPhase);
  699. #endif  /* __IConnectionPointContainer_INTERFACE_DEFINED__ */
  700. #ifndef __IClassFactory2_INTERFACE_DEFINED__
  701. #define __IClassFactory2_INTERFACE_DEFINED__
  702. /* interface IClassFactory2 */
  703. /* [unique][uuid][object] */ 
  704. typedef IClassFactory2 *LPCLASSFACTORY2;
  705. typedef struct tagLICINFO
  706.     {
  707.     LONG cbLicInfo;
  708.     BOOL fRuntimeKeyAvail;
  709.     BOOL fLicVerified;
  710.     }  LICINFO;
  711. typedef struct tagLICINFO *LPLICINFO;
  712. EXTERN_C const IID IID_IClassFactory2;
  713. #if defined(__cplusplus) && !defined(CINTERFACE)
  714.     
  715.     MIDL_INTERFACE("B196B28F-BAB4-101A-B69C-00AA00341D07")
  716.     IClassFactory2 : public IClassFactory
  717.     {
  718.     public:
  719.         virtual HRESULT STDMETHODCALLTYPE GetLicInfo( 
  720.             /* [out] */ LICINFO *pLicInfo) = 0;
  721.         
  722.         virtual HRESULT STDMETHODCALLTYPE RequestLicKey( 
  723.             /* [in] */ DWORD dwReserved,
  724.             /* [out] */ BSTR *pBstrKey) = 0;
  725.         
  726.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateInstanceLic( 
  727.             /* [in] */ IUnknown *pUnkOuter,
  728.             /* [in] */ IUnknown *pUnkReserved,
  729.             /* [in] */ REFIID riid,
  730.             /* [in] */ BSTR bstrKey,
  731.             /* [iid_is][out] */ PVOID *ppvObj) = 0;
  732.         
  733.     };
  734.     
  735. #else  /* C style interface */
  736.     typedef struct IClassFactory2Vtbl
  737.     {
  738.         BEGIN_INTERFACE
  739.         
  740.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  741.             IClassFactory2 * This,
  742.             /* [in] */ REFIID riid,
  743.             /* [iid_is][out] */ void **ppvObject);
  744.         
  745.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  746.             IClassFactory2 * This);
  747.         
  748.         ULONG ( STDMETHODCALLTYPE *Release )( 
  749.             IClassFactory2 * This);
  750.         
  751.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateInstance )( 
  752.             IClassFactory2 * This,
  753.             /* [unique][in] */ IUnknown *pUnkOuter,
  754.             /* [in] */ REFIID riid,
  755.             /* [iid_is][out] */ void **ppvObject);
  756.         
  757.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *LockServer )( 
  758.             IClassFactory2 * This,
  759.             /* [in] */ BOOL fLock);
  760.         
  761.         HRESULT ( STDMETHODCALLTYPE *GetLicInfo )( 
  762.             IClassFactory2 * This,
  763.             /* [out] */ LICINFO *pLicInfo);
  764.         
  765.         HRESULT ( STDMETHODCALLTYPE *RequestLicKey )( 
  766.             IClassFactory2 * This,
  767.             /* [in] */ DWORD dwReserved,
  768.             /* [out] */ BSTR *pBstrKey);
  769.         
  770.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateInstanceLic )( 
  771.             IClassFactory2 * This,
  772.             /* [in] */ IUnknown *pUnkOuter,
  773.             /* [in] */ IUnknown *pUnkReserved,
  774.             /* [in] */ REFIID riid,
  775.             /* [in] */ BSTR bstrKey,
  776.             /* [iid_is][out] */ PVOID *ppvObj);
  777.         
  778.         END_INTERFACE
  779.     } IClassFactory2Vtbl;
  780.     interface IClassFactory2
  781.     {
  782.         CONST_VTBL struct IClassFactory2Vtbl *lpVtbl;
  783.     };
  784.     
  785. #ifdef COBJMACROS
  786. #define IClassFactory2_QueryInterface(This,riid,ppvObject)
  787.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  788. #define IClassFactory2_AddRef(This)
  789.     (This)->lpVtbl -> AddRef(This)
  790. #define IClassFactory2_Release(This)
  791.     (This)->lpVtbl -> Release(This)
  792. #define IClassFactory2_CreateInstance(This,pUnkOuter,riid,ppvObject)
  793.     (This)->lpVtbl -> CreateInstance(This,pUnkOuter,riid,ppvObject)
  794. #define IClassFactory2_LockServer(This,fLock)
  795.     (This)->lpVtbl -> LockServer(This,fLock)
  796. #define IClassFactory2_GetLicInfo(This,pLicInfo)
  797.     (This)->lpVtbl -> GetLicInfo(This,pLicInfo)
  798. #define IClassFactory2_RequestLicKey(This,dwReserved,pBstrKey)
  799.     (This)->lpVtbl -> RequestLicKey(This,dwReserved,pBstrKey)
  800. #define IClassFactory2_CreateInstanceLic(This,pUnkOuter,pUnkReserved,riid,bstrKey,ppvObj)
  801.     (This)->lpVtbl -> CreateInstanceLic(This,pUnkOuter,pUnkReserved,riid,bstrKey,ppvObj)
  802. #endif /* COBJMACROS */
  803. #endif  /* C style interface */
  804. HRESULT STDMETHODCALLTYPE IClassFactory2_GetLicInfo_Proxy( 
  805.     IClassFactory2 * This,
  806.     /* [out] */ LICINFO *pLicInfo);
  807. void __RPC_STUB IClassFactory2_GetLicInfo_Stub(
  808.     IRpcStubBuffer *This,
  809.     IRpcChannelBuffer *_pRpcChannelBuffer,
  810.     PRPC_MESSAGE _pRpcMessage,
  811.     DWORD *_pdwStubPhase);
  812. HRESULT STDMETHODCALLTYPE IClassFactory2_RequestLicKey_Proxy( 
  813.     IClassFactory2 * This,
  814.     /* [in] */ DWORD dwReserved,
  815.     /* [out] */ BSTR *pBstrKey);
  816. void __RPC_STUB IClassFactory2_RequestLicKey_Stub(
  817.     IRpcStubBuffer *This,
  818.     IRpcChannelBuffer *_pRpcChannelBuffer,
  819.     PRPC_MESSAGE _pRpcMessage,
  820.     DWORD *_pdwStubPhase);
  821. /* [call_as] */ HRESULT STDMETHODCALLTYPE IClassFactory2_RemoteCreateInstanceLic_Proxy( 
  822.     IClassFactory2 * This,
  823.     /* [in] */ REFIID riid,
  824.     /* [in] */ BSTR bstrKey,
  825.     /* [iid_is][out] */ IUnknown **ppvObj);
  826. void __RPC_STUB IClassFactory2_RemoteCreateInstanceLic_Stub(
  827.     IRpcStubBuffer *This,
  828.     IRpcChannelBuffer *_pRpcChannelBuffer,
  829.     PRPC_MESSAGE _pRpcMessage,
  830.     DWORD *_pdwStubPhase);
  831. #endif  /* __IClassFactory2_INTERFACE_DEFINED__ */
  832. #ifndef __IProvideClassInfo_INTERFACE_DEFINED__
  833. #define __IProvideClassInfo_INTERFACE_DEFINED__
  834. /* interface IProvideClassInfo */
  835. /* [unique][uuid][object] */ 
  836. typedef IProvideClassInfo *LPPROVIDECLASSINFO;
  837. EXTERN_C const IID IID_IProvideClassInfo;
  838. #if defined(__cplusplus) && !defined(CINTERFACE)
  839.     
  840.     MIDL_INTERFACE("B196B283-BAB4-101A-B69C-00AA00341D07")
  841.     IProvideClassInfo : public IUnknown
  842.     {
  843.     public:
  844.         virtual HRESULT STDMETHODCALLTYPE GetClassInfo( 
  845.             /* [out] */ ITypeInfo **ppTI) = 0;
  846.         
  847.     };
  848.     
  849. #else  /* C style interface */
  850.     typedef struct IProvideClassInfoVtbl
  851.     {
  852.         BEGIN_INTERFACE
  853.         
  854.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  855.             IProvideClassInfo * This,
  856.             /* [in] */ REFIID riid,
  857.             /* [iid_is][out] */ void **ppvObject);
  858.         
  859.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  860.             IProvideClassInfo * This);
  861.         
  862.         ULONG ( STDMETHODCALLTYPE *Release )( 
  863.             IProvideClassInfo * This);
  864.         
  865.         HRESULT ( STDMETHODCALLTYPE *GetClassInfo )( 
  866.             IProvideClassInfo * This,
  867.             /* [out] */ ITypeInfo **ppTI);
  868.         
  869.         END_INTERFACE
  870.     } IProvideClassInfoVtbl;
  871.     interface IProvideClassInfo
  872.     {
  873.         CONST_VTBL struct IProvideClassInfoVtbl *lpVtbl;
  874.     };
  875.     
  876. #ifdef COBJMACROS
  877. #define IProvideClassInfo_QueryInterface(This,riid,ppvObject)
  878.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  879. #define IProvideClassInfo_AddRef(This)
  880.     (This)->lpVtbl -> AddRef(This)
  881. #define IProvideClassInfo_Release(This)
  882.     (This)->lpVtbl -> Release(This)
  883. #define IProvideClassInfo_GetClassInfo(This,ppTI)
  884.     (This)->lpVtbl -> GetClassInfo(This,ppTI)
  885. #endif /* COBJMACROS */
  886. #endif  /* C style interface */
  887. HRESULT STDMETHODCALLTYPE IProvideClassInfo_GetClassInfo_Proxy( 
  888.     IProvideClassInfo * This,
  889.     /* [out] */ ITypeInfo **ppTI);
  890. void __RPC_STUB IProvideClassInfo_GetClassInfo_Stub(
  891.     IRpcStubBuffer *This,
  892.     IRpcChannelBuffer *_pRpcChannelBuffer,
  893.     PRPC_MESSAGE _pRpcMessage,
  894.     DWORD *_pdwStubPhase);
  895. #endif  /* __IProvideClassInfo_INTERFACE_DEFINED__ */
  896. #ifndef __IProvideClassInfo2_INTERFACE_DEFINED__
  897. #define __IProvideClassInfo2_INTERFACE_DEFINED__
  898. /* interface IProvideClassInfo2 */
  899. /* [unique][uuid][object] */ 
  900. typedef IProvideClassInfo2 *LPPROVIDECLASSINFO2;
  901. typedef 
  902. enum tagGUIDKIND
  903.     { GUIDKIND_DEFAULT_SOURCE_DISP_IID = 1
  904.     }  GUIDKIND;
  905. EXTERN_C const IID IID_IProvideClassInfo2;
  906. #if defined(__cplusplus) && !defined(CINTERFACE)
  907.     
  908.     MIDL_INTERFACE("A6BC3AC0-DBAA-11CE-9DE3-00AA004BB851")
  909.     IProvideClassInfo2 : public IProvideClassInfo
  910.     {
  911.     public:
  912.         virtual HRESULT STDMETHODCALLTYPE GetGUID( 
  913.             /* [in] */ DWORD dwGuidKind,
  914.             /* [out] */ GUID *pGUID) = 0;
  915.         
  916.     };
  917.     
  918. #else  /* C style interface */
  919.     typedef struct IProvideClassInfo2Vtbl
  920.     {
  921.         BEGIN_INTERFACE
  922.         
  923.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  924.             IProvideClassInfo2 * This,
  925.             /* [in] */ REFIID riid,
  926.             /* [iid_is][out] */ void **ppvObject);
  927.         
  928.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  929.             IProvideClassInfo2 * This);
  930.         
  931.         ULONG ( STDMETHODCALLTYPE *Release )( 
  932.             IProvideClassInfo2 * This);
  933.         
  934.         HRESULT ( STDMETHODCALLTYPE *GetClassInfo )( 
  935.             IProvideClassInfo2 * This,
  936.             /* [out] */ ITypeInfo **ppTI);
  937.         
  938.         HRESULT ( STDMETHODCALLTYPE *GetGUID )( 
  939.             IProvideClassInfo2 * This,
  940.             /* [in] */ DWORD dwGuidKind,
  941.             /* [out] */ GUID *pGUID);
  942.         
  943.         END_INTERFACE
  944.     } IProvideClassInfo2Vtbl;
  945.     interface IProvideClassInfo2
  946.     {
  947.         CONST_VTBL struct IProvideClassInfo2Vtbl *lpVtbl;
  948.     };
  949.     
  950. #ifdef COBJMACROS
  951. #define IProvideClassInfo2_QueryInterface(This,riid,ppvObject)
  952.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  953. #define IProvideClassInfo2_AddRef(This)
  954.     (This)->lpVtbl -> AddRef(This)
  955. #define IProvideClassInfo2_Release(This)
  956.     (This)->lpVtbl -> Release(This)
  957. #define IProvideClassInfo2_GetClassInfo(This,ppTI)
  958.     (This)->lpVtbl -> GetClassInfo(This,ppTI)
  959. #define IProvideClassInfo2_GetGUID(This,dwGuidKind,pGUID)
  960.     (This)->lpVtbl -> GetGUID(This,dwGuidKind,pGUID)
  961. #endif /* COBJMACROS */
  962. #endif  /* C style interface */
  963. HRESULT STDMETHODCALLTYPE IProvideClassInfo2_GetGUID_Proxy( 
  964.     IProvideClassInfo2 * This,
  965.     /* [in] */ DWORD dwGuidKind,
  966.     /* [out] */ GUID *pGUID);
  967. void __RPC_STUB IProvideClassInfo2_GetGUID_Stub(
  968.     IRpcStubBuffer *This,
  969.     IRpcChannelBuffer *_pRpcChannelBuffer,
  970.     PRPC_MESSAGE _pRpcMessage,
  971.     DWORD *_pdwStubPhase);
  972. #endif  /* __IProvideClassInfo2_INTERFACE_DEFINED__ */
  973. #ifndef __IProvideMultipleClassInfo_INTERFACE_DEFINED__
  974. #define __IProvideMultipleClassInfo_INTERFACE_DEFINED__
  975. /* interface IProvideMultipleClassInfo */
  976. /* [unique][uuid][object] */ 
  977. #define MULTICLASSINFO_GETTYPEINFO           0x00000001
  978. #define MULTICLASSINFO_GETNUMRESERVEDDISPIDS 0x00000002
  979. #define MULTICLASSINFO_GETIIDPRIMARY         0x00000004
  980. #define MULTICLASSINFO_GETIIDSOURCE          0x00000008
  981. #define TIFLAGS_EXTENDDISPATCHONLY           0x00000001
  982. typedef IProvideMultipleClassInfo *LPPROVIDEMULTIPLECLASSINFO;
  983. EXTERN_C const IID IID_IProvideMultipleClassInfo;
  984. #if defined(__cplusplus) && !defined(CINTERFACE)
  985.     
  986.     MIDL_INTERFACE("A7ABA9C1-8983-11cf-8F20-00805F2CD064")
  987.     IProvideMultipleClassInfo : public IProvideClassInfo2
  988.     {
  989.     public:
  990.         virtual HRESULT STDMETHODCALLTYPE GetMultiTypeInfoCount( 
  991.             /* [out] */ ULONG *pcti) = 0;
  992.         
  993.         virtual HRESULT STDMETHODCALLTYPE GetInfoOfIndex( 
  994.             /* [in] */ ULONG iti,
  995.             /* [in] */ DWORD dwFlags,
  996.             /* [out] */ ITypeInfo **pptiCoClass,
  997.             /* [out] */ DWORD *pdwTIFlags,
  998.             /* [out] */ ULONG *pcdispidReserved,
  999.             /* [out] */ IID *piidPrimary,
  1000.             /* [out] */ IID *piidSource) = 0;
  1001.         
  1002.     };
  1003.     
  1004. #else  /* C style interface */
  1005.     typedef struct IProvideMultipleClassInfoVtbl
  1006.     {
  1007.         BEGIN_INTERFACE
  1008.         
  1009.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1010.             IProvideMultipleClassInfo * This,
  1011.             /* [in] */ REFIID riid,
  1012.             /* [iid_is][out] */ void **ppvObject);
  1013.         
  1014.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1015.             IProvideMultipleClassInfo * This);
  1016.         
  1017.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1018.             IProvideMultipleClassInfo * This);
  1019.         
  1020.         HRESULT ( STDMETHODCALLTYPE *GetClassInfo )( 
  1021.             IProvideMultipleClassInfo * This,
  1022.             /* [out] */ ITypeInfo **ppTI);
  1023.         
  1024.         HRESULT ( STDMETHODCALLTYPE *GetGUID )( 
  1025.             IProvideMultipleClassInfo * This,
  1026.             /* [in] */ DWORD dwGuidKind,
  1027.             /* [out] */ GUID *pGUID);
  1028.         
  1029.         HRESULT ( STDMETHODCALLTYPE *GetMultiTypeInfoCount )( 
  1030.             IProvideMultipleClassInfo * This,
  1031.             /* [out] */ ULONG *pcti);
  1032.         
  1033.         HRESULT ( STDMETHODCALLTYPE *GetInfoOfIndex )( 
  1034.             IProvideMultipleClassInfo * This,
  1035.             /* [in] */ ULONG iti,
  1036.             /* [in] */ DWORD dwFlags,
  1037.             /* [out] */ ITypeInfo **pptiCoClass,
  1038.             /* [out] */ DWORD *pdwTIFlags,
  1039.             /* [out] */ ULONG *pcdispidReserved,
  1040.             /* [out] */ IID *piidPrimary,
  1041.             /* [out] */ IID *piidSource);
  1042.         
  1043.         END_INTERFACE
  1044.     } IProvideMultipleClassInfoVtbl;
  1045.     interface IProvideMultipleClassInfo
  1046.     {
  1047.         CONST_VTBL struct IProvideMultipleClassInfoVtbl *lpVtbl;
  1048.     };
  1049.     
  1050. #ifdef COBJMACROS
  1051. #define IProvideMultipleClassInfo_QueryInterface(This,riid,ppvObject)
  1052.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1053. #define IProvideMultipleClassInfo_AddRef(This)
  1054.     (This)->lpVtbl -> AddRef(This)
  1055. #define IProvideMultipleClassInfo_Release(This)
  1056.     (This)->lpVtbl -> Release(This)
  1057. #define IProvideMultipleClassInfo_GetClassInfo(This,ppTI)
  1058.     (This)->lpVtbl -> GetClassInfo(This,ppTI)
  1059. #define IProvideMultipleClassInfo_GetGUID(This,dwGuidKind,pGUID)
  1060.     (This)->lpVtbl -> GetGUID(This,dwGuidKind,pGUID)
  1061. #define IProvideMultipleClassInfo_GetMultiTypeInfoCount(This,pcti)
  1062.     (This)->lpVtbl -> GetMultiTypeInfoCount(This,pcti)
  1063. #define IProvideMultipleClassInfo_GetInfoOfIndex(This,iti,dwFlags,pptiCoClass,pdwTIFlags,pcdispidReserved,piidPrimary,piidSource)
  1064.     (This)->lpVtbl -> GetInfoOfIndex(This,iti,dwFlags,pptiCoClass,pdwTIFlags,pcdispidReserved,piidPrimary,piidSource)
  1065. #endif /* COBJMACROS */
  1066. #endif  /* C style interface */
  1067. HRESULT STDMETHODCALLTYPE IProvideMultipleClassInfo_GetMultiTypeInfoCount_Proxy( 
  1068.     IProvideMultipleClassInfo * This,
  1069.     /* [out] */ ULONG *pcti);
  1070. void __RPC_STUB IProvideMultipleClassInfo_GetMultiTypeInfoCount_Stub(
  1071.     IRpcStubBuffer *This,
  1072.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1073.     PRPC_MESSAGE _pRpcMessage,
  1074.     DWORD *_pdwStubPhase);
  1075. HRESULT STDMETHODCALLTYPE IProvideMultipleClassInfo_GetInfoOfIndex_Proxy( 
  1076.     IProvideMultipleClassInfo * This,
  1077.     /* [in] */ ULONG iti,
  1078.     /* [in] */ DWORD dwFlags,
  1079.     /* [out] */ ITypeInfo **pptiCoClass,
  1080.     /* [out] */ DWORD *pdwTIFlags,
  1081.     /* [out] */ ULONG *pcdispidReserved,
  1082.     /* [out] */ IID *piidPrimary,
  1083.     /* [out] */ IID *piidSource);
  1084. void __RPC_STUB IProvideMultipleClassInfo_GetInfoOfIndex_Stub(
  1085.     IRpcStubBuffer *This,
  1086.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1087.     PRPC_MESSAGE _pRpcMessage,
  1088.     DWORD *_pdwStubPhase);
  1089. #endif  /* __IProvideMultipleClassInfo_INTERFACE_DEFINED__ */
  1090. #ifndef __IOleControl_INTERFACE_DEFINED__
  1091. #define __IOleControl_INTERFACE_DEFINED__
  1092. /* interface IOleControl */
  1093. /* [unique][uuid][object] */ 
  1094. typedef IOleControl *LPOLECONTROL;
  1095. typedef struct tagCONTROLINFO
  1096.     {
  1097.     ULONG cb;
  1098.     HACCEL hAccel;
  1099.     USHORT cAccel;
  1100.     DWORD dwFlags;
  1101.     }  CONTROLINFO;
  1102. typedef struct tagCONTROLINFO *LPCONTROLINFO;
  1103. typedef 
  1104. enum tagCTRLINFO
  1105.     { CTRLINFO_EATS_RETURN = 1,
  1106. CTRLINFO_EATS_ESCAPE = 2
  1107.     }  CTRLINFO;
  1108. EXTERN_C const IID IID_IOleControl;
  1109. #if defined(__cplusplus) && !defined(CINTERFACE)
  1110.     
  1111.     MIDL_INTERFACE("B196B288-BAB4-101A-B69C-00AA00341D07")
  1112.     IOleControl : public IUnknown
  1113.     {
  1114.     public:
  1115.         virtual HRESULT STDMETHODCALLTYPE GetControlInfo( 
  1116.             /* [out] */ CONTROLINFO *pCI) = 0;
  1117.         
  1118.         virtual HRESULT STDMETHODCALLTYPE OnMnemonic( 
  1119.             /* [in] */ MSG *pMsg) = 0;
  1120.         
  1121.         virtual HRESULT STDMETHODCALLTYPE OnAmbientPropertyChange( 
  1122.             /* [in] */ DISPID dispID) = 0;
  1123.         
  1124.         virtual HRESULT STDMETHODCALLTYPE FreezeEvents( 
  1125.             /* [in] */ BOOL bFreeze) = 0;
  1126.         
  1127.     };
  1128.     
  1129. #else  /* C style interface */
  1130.     typedef struct IOleControlVtbl
  1131.     {
  1132.         BEGIN_INTERFACE
  1133.         
  1134.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1135.             IOleControl * This,
  1136.             /* [in] */ REFIID riid,
  1137.             /* [iid_is][out] */ void **ppvObject);
  1138.         
  1139.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1140.             IOleControl * This);
  1141.         
  1142.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1143.             IOleControl * This);
  1144.         
  1145.         HRESULT ( STDMETHODCALLTYPE *GetControlInfo )( 
  1146.             IOleControl * This,
  1147.             /* [out] */ CONTROLINFO *pCI);
  1148.         
  1149.         HRESULT ( STDMETHODCALLTYPE *OnMnemonic )( 
  1150.             IOleControl * This,
  1151.             /* [in] */ MSG *pMsg);
  1152.         
  1153.         HRESULT ( STDMETHODCALLTYPE *OnAmbientPropertyChange )( 
  1154.             IOleControl * This,
  1155.             /* [in] */ DISPID dispID);
  1156.         
  1157.         HRESULT ( STDMETHODCALLTYPE *FreezeEvents )( 
  1158.             IOleControl * This,
  1159.             /* [in] */ BOOL bFreeze);
  1160.         
  1161.         END_INTERFACE
  1162.     } IOleControlVtbl;
  1163.     interface IOleControl
  1164.     {
  1165.         CONST_VTBL struct IOleControlVtbl *lpVtbl;
  1166.     };
  1167.     
  1168. #ifdef COBJMACROS
  1169. #define IOleControl_QueryInterface(This,riid,ppvObject)
  1170.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1171. #define IOleControl_AddRef(This)
  1172.     (This)->lpVtbl -> AddRef(This)
  1173. #define IOleControl_Release(This)
  1174.     (This)->lpVtbl -> Release(This)
  1175. #define IOleControl_GetControlInfo(This,pCI)
  1176.     (This)->lpVtbl -> GetControlInfo(This,pCI)
  1177. #define IOleControl_OnMnemonic(This,pMsg)
  1178.     (This)->lpVtbl -> OnMnemonic(This,pMsg)
  1179. #define IOleControl_OnAmbientPropertyChange(This,dispID)
  1180.     (This)->lpVtbl -> OnAmbientPropertyChange(This,dispID)
  1181. #define IOleControl_FreezeEvents(This,bFreeze)
  1182.     (This)->lpVtbl -> FreezeEvents(This,bFreeze)
  1183. #endif /* COBJMACROS */
  1184. #endif  /* C style interface */
  1185. HRESULT STDMETHODCALLTYPE IOleControl_GetControlInfo_Proxy( 
  1186.     IOleControl * This,
  1187.     /* [out] */ CONTROLINFO *pCI);
  1188. void __RPC_STUB IOleControl_GetControlInfo_Stub(
  1189.     IRpcStubBuffer *This,
  1190.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1191.     PRPC_MESSAGE _pRpcMessage,
  1192.     DWORD *_pdwStubPhase);
  1193. HRESULT STDMETHODCALLTYPE IOleControl_OnMnemonic_Proxy( 
  1194.     IOleControl * This,
  1195.     /* [in] */ MSG *pMsg);
  1196. void __RPC_STUB IOleControl_OnMnemonic_Stub(
  1197.     IRpcStubBuffer *This,
  1198.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1199.     PRPC_MESSAGE _pRpcMessage,
  1200.     DWORD *_pdwStubPhase);
  1201. HRESULT STDMETHODCALLTYPE IOleControl_OnAmbientPropertyChange_Proxy( 
  1202.     IOleControl * This,
  1203.     /* [in] */ DISPID dispID);
  1204. void __RPC_STUB IOleControl_OnAmbientPropertyChange_Stub(
  1205.     IRpcStubBuffer *This,
  1206.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1207.     PRPC_MESSAGE _pRpcMessage,
  1208.     DWORD *_pdwStubPhase);
  1209. HRESULT STDMETHODCALLTYPE IOleControl_FreezeEvents_Proxy( 
  1210.     IOleControl * This,
  1211.     /* [in] */ BOOL bFreeze);
  1212. void __RPC_STUB IOleControl_FreezeEvents_Stub(
  1213.     IRpcStubBuffer *This,
  1214.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1215.     PRPC_MESSAGE _pRpcMessage,
  1216.     DWORD *_pdwStubPhase);
  1217. #endif  /* __IOleControl_INTERFACE_DEFINED__ */
  1218. #ifndef __IOleControlSite_INTERFACE_DEFINED__
  1219. #define __IOleControlSite_INTERFACE_DEFINED__
  1220. /* interface IOleControlSite */
  1221. /* [unique][uuid][object] */ 
  1222. typedef IOleControlSite *LPOLECONTROLSITE;
  1223. typedef struct tagPOINTF
  1224.     {
  1225.     FLOAT x;
  1226.     FLOAT y;
  1227.     }  POINTF;
  1228. typedef struct tagPOINTF *LPPOINTF;
  1229. typedef 
  1230. enum tagXFORMCOORDS
  1231.     { XFORMCOORDS_POSITION = 0x1,
  1232. XFORMCOORDS_SIZE = 0x2,
  1233. XFORMCOORDS_HIMETRICTOCONTAINER = 0x4,
  1234. XFORMCOORDS_CONTAINERTOHIMETRIC = 0x8,
  1235. XFORMCOORDS_EVENTCOMPAT = 0x10
  1236.     }  XFORMCOORDS;
  1237. EXTERN_C const IID IID_IOleControlSite;
  1238. #if defined(__cplusplus) && !defined(CINTERFACE)
  1239.     
  1240.     MIDL_INTERFACE("B196B289-BAB4-101A-B69C-00AA00341D07")
  1241.     IOleControlSite : public IUnknown
  1242.     {
  1243.     public:
  1244.         virtual HRESULT STDMETHODCALLTYPE OnControlInfoChanged( void) = 0;
  1245.         
  1246.         virtual HRESULT STDMETHODCALLTYPE LockInPlaceActive( 
  1247.             /* [in] */ BOOL fLock) = 0;
  1248.         
  1249.         virtual HRESULT STDMETHODCALLTYPE GetExtendedControl( 
  1250.             /* [out] */ IDispatch **ppDisp) = 0;
  1251.         
  1252.         virtual HRESULT STDMETHODCALLTYPE TransformCoords( 
  1253.             /* [out][in] */ POINTL *pPtlHimetric,
  1254.             /* [out][in] */ POINTF *pPtfContainer,
  1255.             /* [in] */ DWORD dwFlags) = 0;
  1256.         
  1257.         virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator( 
  1258.             /* [in] */ MSG *pMsg,
  1259.             /* [in] */ DWORD grfModifiers) = 0;
  1260.         
  1261.         virtual HRESULT STDMETHODCALLTYPE OnFocus( 
  1262.             /* [in] */ BOOL fGotFocus) = 0;
  1263.         
  1264.         virtual HRESULT STDMETHODCALLTYPE ShowPropertyFrame( void) = 0;
  1265.         
  1266.     };
  1267.     
  1268. #else  /* C style interface */
  1269.     typedef struct IOleControlSiteVtbl
  1270.     {
  1271.         BEGIN_INTERFACE
  1272.         
  1273.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1274.             IOleControlSite * This,
  1275.             /* [in] */ REFIID riid,
  1276.             /* [iid_is][out] */ void **ppvObject);
  1277.         
  1278.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1279.             IOleControlSite * This);
  1280.         
  1281.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1282.             IOleControlSite * This);
  1283.         
  1284.         HRESULT ( STDMETHODCALLTYPE *OnControlInfoChanged )( 
  1285.             IOleControlSite * This);
  1286.         
  1287.         HRESULT ( STDMETHODCALLTYPE *LockInPlaceActive )( 
  1288.             IOleControlSite * This,
  1289.             /* [in] */ BOOL fLock);
  1290.         
  1291.         HRESULT ( STDMETHODCALLTYPE *GetExtendedControl )( 
  1292.             IOleControlSite * This,
  1293.             /* [out] */ IDispatch **ppDisp);
  1294.         
  1295.         HRESULT ( STDMETHODCALLTYPE *TransformCoords )( 
  1296.             IOleControlSite * This,
  1297.             /* [out][in] */ POINTL *pPtlHimetric,
  1298.             /* [out][in] */ POINTF *pPtfContainer,
  1299.             /* [in] */ DWORD dwFlags);
  1300.         
  1301.         HRESULT ( STDMETHODCALLTYPE *TranslateAccelerator )( 
  1302.             IOleControlSite * This,
  1303.             /* [in] */ MSG *pMsg,
  1304.             /* [in] */ DWORD grfModifiers);
  1305.         
  1306.         HRESULT ( STDMETHODCALLTYPE *OnFocus )( 
  1307.             IOleControlSite * This,
  1308.             /* [in] */ BOOL fGotFocus);
  1309.         
  1310.         HRESULT ( STDMETHODCALLTYPE *ShowPropertyFrame )( 
  1311.             IOleControlSite * This);
  1312.         
  1313.         END_INTERFACE
  1314.     } IOleControlSiteVtbl;
  1315.     interface IOleControlSite
  1316.     {
  1317.         CONST_VTBL struct IOleControlSiteVtbl *lpVtbl;
  1318.     };
  1319.     
  1320. #ifdef COBJMACROS
  1321. #define IOleControlSite_QueryInterface(This,riid,ppvObject)
  1322.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1323. #define IOleControlSite_AddRef(This)
  1324.     (This)->lpVtbl -> AddRef(This)
  1325. #define IOleControlSite_Release(This)
  1326.     (This)->lpVtbl -> Release(This)
  1327. #define IOleControlSite_OnControlInfoChanged(This)
  1328.     (This)->lpVtbl -> OnControlInfoChanged(This)
  1329. #define IOleControlSite_LockInPlaceActive(This,fLock)
  1330.     (This)->lpVtbl -> LockInPlaceActive(This,fLock)
  1331. #define IOleControlSite_GetExtendedControl(This,ppDisp)
  1332.     (This)->lpVtbl -> GetExtendedControl(This,ppDisp)
  1333. #define IOleControlSite_TransformCoords(This,pPtlHimetric,pPtfContainer,dwFlags)
  1334.     (This)->lpVtbl -> TransformCoords(This,pPtlHimetric,pPtfContainer,dwFlags)
  1335. #define IOleControlSite_TranslateAccelerator(This,pMsg,grfModifiers)
  1336.     (This)->lpVtbl -> TranslateAccelerator(This,pMsg,grfModifiers)
  1337. #define IOleControlSite_OnFocus(This,fGotFocus)
  1338.     (This)->lpVtbl -> OnFocus(This,fGotFocus)
  1339. #define IOleControlSite_ShowPropertyFrame(This)
  1340.     (This)->lpVtbl -> ShowPropertyFrame(This)
  1341. #endif /* COBJMACROS */
  1342. #endif  /* C style interface */
  1343. HRESULT STDMETHODCALLTYPE IOleControlSite_OnControlInfoChanged_Proxy( 
  1344.     IOleControlSite * This);
  1345. void __RPC_STUB IOleControlSite_OnControlInfoChanged_Stub(
  1346.     IRpcStubBuffer *This,
  1347.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1348.     PRPC_MESSAGE _pRpcMessage,
  1349.     DWORD *_pdwStubPhase);
  1350. HRESULT STDMETHODCALLTYPE IOleControlSite_LockInPlaceActive_Proxy( 
  1351.     IOleControlSite * This,
  1352.     /* [in] */ BOOL fLock);
  1353. void __RPC_STUB IOleControlSite_LockInPlaceActive_Stub(
  1354.     IRpcStubBuffer *This,
  1355.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1356.     PRPC_MESSAGE _pRpcMessage,
  1357.     DWORD *_pdwStubPhase);
  1358. HRESULT STDMETHODCALLTYPE IOleControlSite_GetExtendedControl_Proxy( 
  1359.     IOleControlSite * This,
  1360.     /* [out] */ IDispatch **ppDisp);
  1361. void __RPC_STUB IOleControlSite_GetExtendedControl_Stub(
  1362.     IRpcStubBuffer *This,
  1363.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1364.     PRPC_MESSAGE _pRpcMessage,
  1365.     DWORD *_pdwStubPhase);
  1366. HRESULT STDMETHODCALLTYPE IOleControlSite_TransformCoords_Proxy( 
  1367.     IOleControlSite * This,
  1368.     /* [out][in] */ POINTL *pPtlHimetric,
  1369.     /* [out][in] */ POINTF *pPtfContainer,
  1370.     /* [in] */ DWORD dwFlags);
  1371. void __RPC_STUB IOleControlSite_TransformCoords_Stub(
  1372.     IRpcStubBuffer *This,
  1373.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1374.     PRPC_MESSAGE _pRpcMessage,
  1375.     DWORD *_pdwStubPhase);
  1376. HRESULT STDMETHODCALLTYPE IOleControlSite_TranslateAccelerator_Proxy( 
  1377.     IOleControlSite * This,
  1378.     /* [in] */ MSG *pMsg,
  1379.     /* [in] */ DWORD grfModifiers);
  1380. void __RPC_STUB IOleControlSite_TranslateAccelerator_Stub(
  1381.     IRpcStubBuffer *This,
  1382.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1383.     PRPC_MESSAGE _pRpcMessage,
  1384.     DWORD *_pdwStubPhase);
  1385. HRESULT STDMETHODCALLTYPE IOleControlSite_OnFocus_Proxy( 
  1386.     IOleControlSite * This,
  1387.     /* [in] */ BOOL fGotFocus);
  1388. void __RPC_STUB IOleControlSite_OnFocus_Stub(
  1389.     IRpcStubBuffer *This,
  1390.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1391.     PRPC_MESSAGE _pRpcMessage,
  1392.     DWORD *_pdwStubPhase);
  1393. HRESULT STDMETHODCALLTYPE IOleControlSite_ShowPropertyFrame_Proxy( 
  1394.     IOleControlSite * This);
  1395. void __RPC_STUB IOleControlSite_ShowPropertyFrame_Stub(
  1396.     IRpcStubBuffer *This,
  1397.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1398.     PRPC_MESSAGE _pRpcMessage,
  1399.     DWORD *_pdwStubPhase);
  1400. #endif  /* __IOleControlSite_INTERFACE_DEFINED__ */
  1401. #ifndef __IPropertyPage_INTERFACE_DEFINED__
  1402. #define __IPropertyPage_INTERFACE_DEFINED__
  1403. /* interface IPropertyPage */
  1404. /* [unique][uuid][object] */ 
  1405. typedef IPropertyPage *LPPROPERTYPAGE;
  1406. typedef struct tagPROPPAGEINFO
  1407.     {
  1408.     ULONG cb;
  1409.     LPOLESTR pszTitle;
  1410.     SIZE size;
  1411.     LPOLESTR pszDocString;
  1412.     LPOLESTR pszHelpFile;
  1413.     DWORD dwHelpContext;
  1414.     }  PROPPAGEINFO;
  1415. typedef struct tagPROPPAGEINFO *LPPROPPAGEINFO;
  1416. EXTERN_C const IID IID_IPropertyPage;
  1417. #if defined(__cplusplus) && !defined(CINTERFACE)
  1418.     
  1419.     MIDL_INTERFACE("B196B28D-BAB4-101A-B69C-00AA00341D07")
  1420.     IPropertyPage : public IUnknown
  1421.     {
  1422.     public:
  1423.         virtual HRESULT STDMETHODCALLTYPE SetPageSite( 
  1424.             /* [in] */ IPropertyPageSite *pPageSite) = 0;
  1425.         
  1426.         virtual HRESULT STDMETHODCALLTYPE Activate( 
  1427.             /* [in] */ HWND hWndParent,
  1428.             /* [in] */ LPCRECT pRect,
  1429.             /* [in] */ BOOL bModal) = 0;
  1430.         
  1431.         virtual HRESULT STDMETHODCALLTYPE Deactivate( void) = 0;
  1432.         
  1433.         virtual HRESULT STDMETHODCALLTYPE GetPageInfo( 
  1434.             /* [out] */ PROPPAGEINFO *pPageInfo) = 0;
  1435.         
  1436.         virtual HRESULT STDMETHODCALLTYPE SetObjects( 
  1437.             /* [in] */ ULONG cObjects,
  1438.             /* [size_is][in] */ IUnknown **ppUnk) = 0;
  1439.         
  1440.         virtual HRESULT STDMETHODCALLTYPE Show( 
  1441.             /* [in] */ UINT nCmdShow) = 0;
  1442.         
  1443.         virtual HRESULT STDMETHODCALLTYPE Move( 
  1444.             /* [in] */ LPCRECT pRect) = 0;
  1445.         
  1446.         virtual HRESULT STDMETHODCALLTYPE IsPageDirty( void) = 0;
  1447.         
  1448.         virtual HRESULT STDMETHODCALLTYPE Apply( void) = 0;
  1449.         
  1450.         virtual HRESULT STDMETHODCALLTYPE Help( 
  1451.             /* [in] */ LPCOLESTR pszHelpDir) = 0;
  1452.         
  1453.         virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator( 
  1454.             /* [in] */ MSG *pMsg) = 0;
  1455.         
  1456.     };
  1457.     
  1458. #else  /* C style interface */
  1459.     typedef struct IPropertyPageVtbl
  1460.     {
  1461.         BEGIN_INTERFACE
  1462.         
  1463.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1464.             IPropertyPage * This,
  1465.             /* [in] */ REFIID riid,
  1466.             /* [iid_is][out] */ void **ppvObject);
  1467.         
  1468.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1469.             IPropertyPage * This);
  1470.         
  1471.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1472.             IPropertyPage * This);
  1473.         
  1474.         HRESULT ( STDMETHODCALLTYPE *SetPageSite )( 
  1475.             IPropertyPage * This,
  1476.             /* [in] */ IPropertyPageSite *pPageSite);
  1477.         
  1478.         HRESULT ( STDMETHODCALLTYPE *Activate )( 
  1479.             IPropertyPage * This,
  1480.             /* [in] */ HWND hWndParent,
  1481.             /* [in] */ LPCRECT pRect,
  1482.             /* [in] */ BOOL bModal);
  1483.         
  1484.         HRESULT ( STDMETHODCALLTYPE *Deactivate )( 
  1485.             IPropertyPage * This);
  1486.         
  1487.         HRESULT ( STDMETHODCALLTYPE *GetPageInfo )( 
  1488.             IPropertyPage * This,
  1489.             /* [out] */ PROPPAGEINFO *pPageInfo);
  1490.         
  1491.         HRESULT ( STDMETHODCALLTYPE *SetObjects )( 
  1492.             IPropertyPage * This,
  1493.             /* [in] */ ULONG cObjects,
  1494.             /* [size_is][in] */ IUnknown **ppUnk);
  1495.         
  1496.         HRESULT ( STDMETHODCALLTYPE *Show )( 
  1497.             IPropertyPage * This,
  1498.             /* [in] */ UINT nCmdShow);
  1499.         
  1500.         HRESULT ( STDMETHODCALLTYPE *Move )( 
  1501.             IPropertyPage * This,
  1502.             /* [in] */ LPCRECT pRect);
  1503.         
  1504.         HRESULT ( STDMETHODCALLTYPE *IsPageDirty )( 
  1505.             IPropertyPage * This);
  1506.         
  1507.         HRESULT ( STDMETHODCALLTYPE *Apply )( 
  1508.             IPropertyPage * This);
  1509.         
  1510.         HRESULT ( STDMETHODCALLTYPE *Help )( 
  1511.             IPropertyPage * This,
  1512.             /* [in] */ LPCOLESTR pszHelpDir);
  1513.         
  1514.         HRESULT ( STDMETHODCALLTYPE *TranslateAccelerator )( 
  1515.             IPropertyPage * This,
  1516.             /* [in] */ MSG *pMsg);
  1517.         
  1518.         END_INTERFACE
  1519.     } IPropertyPageVtbl;
  1520.     interface IPropertyPage
  1521.     {
  1522.         CONST_VTBL struct IPropertyPageVtbl *lpVtbl;
  1523.     };
  1524.     
  1525. #ifdef COBJMACROS
  1526. #define IPropertyPage_QueryInterface(This,riid,ppvObject)
  1527.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1528. #define IPropertyPage_AddRef(This)
  1529.     (This)->lpVtbl -> AddRef(This)
  1530. #define IPropertyPage_Release(This)
  1531.     (This)->lpVtbl -> Release(This)
  1532. #define IPropertyPage_SetPageSite(This,pPageSite)
  1533.     (This)->lpVtbl -> SetPageSite(This,pPageSite)
  1534. #define IPropertyPage_Activate(This,hWndParent,pRect,bModal)
  1535.     (This)->lpVtbl -> Activate(This,hWndParent,pRect,bModal)
  1536. #define IPropertyPage_Deactivate(This)
  1537.     (This)->lpVtbl -> Deactivate(This)
  1538. #define IPropertyPage_GetPageInfo(This,pPageInfo)
  1539.     (This)->lpVtbl -> GetPageInfo(This,pPageInfo)
  1540. #define IPropertyPage_SetObjects(This,cObjects,ppUnk)
  1541.     (This)->lpVtbl -> SetObjects(This,cObjects,ppUnk)
  1542. #define IPropertyPage_Show(This,nCmdShow)
  1543.     (This)->lpVtbl -> Show(This,nCmdShow)
  1544. #define IPropertyPage_Move(This,pRect)
  1545.     (This)->lpVtbl -> Move(This,pRect)
  1546. #define IPropertyPage_IsPageDirty(This)
  1547.     (This)->lpVtbl -> IsPageDirty(This)
  1548. #define IPropertyPage_Apply(This)
  1549.     (This)->lpVtbl -> Apply(This)
  1550. #define IPropertyPage_Help(This,pszHelpDir)
  1551.     (This)->lpVtbl -> Help(This,pszHelpDir)
  1552. #define IPropertyPage_TranslateAccelerator(This,pMsg)
  1553.     (This)->lpVtbl -> TranslateAccelerator(This,pMsg)
  1554. #endif /* COBJMACROS */
  1555. #endif  /* C style interface */
  1556. HRESULT STDMETHODCALLTYPE IPropertyPage_SetPageSite_Proxy( 
  1557.     IPropertyPage * This,
  1558.     /* [in] */ IPropertyPageSite *pPageSite);
  1559. void __RPC_STUB IPropertyPage_SetPageSite_Stub(
  1560.     IRpcStubBuffer *This,
  1561.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1562.     PRPC_MESSAGE _pRpcMessage,
  1563.     DWORD *_pdwStubPhase);
  1564. HRESULT STDMETHODCALLTYPE IPropertyPage_Activate_Proxy( 
  1565.     IPropertyPage * This,
  1566.     /* [in] */ HWND hWndParent,
  1567.     /* [in] */ LPCRECT pRect,
  1568.     /* [in] */ BOOL bModal);
  1569. void __RPC_STUB IPropertyPage_Activate_Stub(
  1570.     IRpcStubBuffer *This,
  1571.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1572.     PRPC_MESSAGE _pRpcMessage,
  1573.     DWORD *_pdwStubPhase);
  1574. HRESULT STDMETHODCALLTYPE IPropertyPage_Deactivate_Proxy( 
  1575.     IPropertyPage * This);
  1576. void __RPC_STUB IPropertyPage_Deactivate_Stub(
  1577.     IRpcStubBuffer *This,
  1578.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1579.     PRPC_MESSAGE _pRpcMessage,
  1580.     DWORD *_pdwStubPhase);
  1581. HRESULT STDMETHODCALLTYPE IPropertyPage_GetPageInfo_Proxy( 
  1582.     IPropertyPage * This,
  1583.     /* [out] */ PROPPAGEINFO *pPageInfo);
  1584. void __RPC_STUB IPropertyPage_GetPageInfo_Stub(
  1585.     IRpcStubBuffer *This,
  1586.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1587.     PRPC_MESSAGE _pRpcMessage,
  1588.     DWORD *_pdwStubPhase);
  1589. HRESULT STDMETHODCALLTYPE IPropertyPage_SetObjects_Proxy( 
  1590.     IPropertyPage * This,
  1591.     /* [in] */ ULONG cObjects,
  1592.     /* [size_is][in] */ IUnknown **ppUnk);
  1593. void __RPC_STUB IPropertyPage_SetObjects_Stub(
  1594.     IRpcStubBuffer *This,
  1595.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1596.     PRPC_MESSAGE _pRpcMessage,
  1597.     DWORD *_pdwStubPhase);
  1598. HRESULT STDMETHODCALLTYPE IPropertyPage_Show_Proxy( 
  1599.     IPropertyPage * This,
  1600.     /* [in] */ UINT nCmdShow);
  1601. void __RPC_STUB IPropertyPage_Show_Stub(
  1602.     IRpcStubBuffer *This,
  1603.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1604.     PRPC_MESSAGE _pRpcMessage,
  1605.     DWORD *_pdwStubPhase);
  1606. HRESULT STDMETHODCALLTYPE IPropertyPage_Move_Proxy( 
  1607.     IPropertyPage * This,
  1608.     /* [in] */ LPCRECT pRect);
  1609. void __RPC_STUB IPropertyPage_Move_Stub(
  1610.     IRpcStubBuffer *This,
  1611.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1612.     PRPC_MESSAGE _pRpcMessage,
  1613.     DWORD *_pdwStubPhase);
  1614. HRESULT STDMETHODCALLTYPE IPropertyPage_IsPageDirty_Proxy( 
  1615.     IPropertyPage * This);
  1616. void __RPC_STUB IPropertyPage_IsPageDirty_Stub(
  1617.     IRpcStubBuffer *This,
  1618.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1619.     PRPC_MESSAGE _pRpcMessage,
  1620.     DWORD *_pdwStubPhase);
  1621. HRESULT STDMETHODCALLTYPE IPropertyPage_Apply_Proxy( 
  1622.     IPropertyPage * This);
  1623. void __RPC_STUB IPropertyPage_Apply_Stub(
  1624.     IRpcStubBuffer *This,
  1625.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1626.     PRPC_MESSAGE _pRpcMessage,
  1627.     DWORD *_pdwStubPhase);
  1628. HRESULT STDMETHODCALLTYPE IPropertyPage_Help_Proxy( 
  1629.     IPropertyPage * This,
  1630.     /* [in] */ LPCOLESTR pszHelpDir);
  1631. void __RPC_STUB IPropertyPage_Help_Stub(
  1632.     IRpcStubBuffer *This,
  1633.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1634.     PRPC_MESSAGE _pRpcMessage,
  1635.     DWORD *_pdwStubPhase);
  1636. HRESULT STDMETHODCALLTYPE IPropertyPage_TranslateAccelerator_Proxy( 
  1637.     IPropertyPage * This,
  1638.     /* [in] */ MSG *pMsg);
  1639. void __RPC_STUB IPropertyPage_TranslateAccelerator_Stub(
  1640.     IRpcStubBuffer *This,
  1641.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1642.     PRPC_MESSAGE _pRpcMessage,
  1643.     DWORD *_pdwStubPhase);
  1644. #endif  /* __IPropertyPage_INTERFACE_DEFINED__ */
  1645. #ifndef __IPropertyPage2_INTERFACE_DEFINED__
  1646. #define __IPropertyPage2_INTERFACE_DEFINED__
  1647. /* interface IPropertyPage2 */
  1648. /* [unique][uuid][object] */ 
  1649. typedef IPropertyPage2 *LPPROPERTYPAGE2;
  1650. EXTERN_C const IID IID_IPropertyPage2;
  1651. #if defined(__cplusplus) && !defined(CINTERFACE)
  1652.     
  1653.     MIDL_INTERFACE("01E44665-24AC-101B-84ED-08002B2EC713")
  1654.     IPropertyPage2 : public IPropertyPage
  1655.     {
  1656.     public:
  1657.         virtual HRESULT STDMETHODCALLTYPE EditProperty( 
  1658.             /* [in] */ DISPID dispID) = 0;
  1659.         
  1660.     };
  1661.     
  1662. #else  /* C style interface */
  1663.     typedef struct IPropertyPage2Vtbl
  1664.     {
  1665.         BEGIN_INTERFACE
  1666.         
  1667.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1668.             IPropertyPage2 * This,
  1669.             /* [in] */ REFIID riid,
  1670.             /* [iid_is][out] */ void **ppvObject);
  1671.         
  1672.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1673.             IPropertyPage2 * This);
  1674.         
  1675.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1676.             IPropertyPage2 * This);
  1677.         
  1678.         HRESULT ( STDMETHODCALLTYPE *SetPageSite )( 
  1679.             IPropertyPage2 * This,
  1680.             /* [in] */ IPropertyPageSite *pPageSite);
  1681.         
  1682.         HRESULT ( STDMETHODCALLTYPE *Activate )( 
  1683.             IPropertyPage2 * This,
  1684.             /* [in] */ HWND hWndParent,
  1685.             /* [in] */ LPCRECT pRect,
  1686.             /* [in] */ BOOL bModal);
  1687.         
  1688.         HRESULT ( STDMETHODCALLTYPE *Deactivate )( 
  1689.             IPropertyPage2 * This);
  1690.         
  1691.         HRESULT ( STDMETHODCALLTYPE *GetPageInfo )( 
  1692.             IPropertyPage2 * This,
  1693.             /* [out] */ PROPPAGEINFO *pPageInfo);
  1694.         
  1695.         HRESULT ( STDMETHODCALLTYPE *SetObjects )( 
  1696.             IPropertyPage2 * This,
  1697.             /* [in] */ ULONG cObjects,
  1698.             /* [size_is][in] */ IUnknown **ppUnk);
  1699.         
  1700.         HRESULT ( STDMETHODCALLTYPE *Show )( 
  1701.             IPropertyPage2 * This,
  1702.             /* [in] */ UINT nCmdShow);
  1703.         
  1704.         HRESULT ( STDMETHODCALLTYPE *Move )( 
  1705.             IPropertyPage2 * This,
  1706.             /* [in] */ LPCRECT pRect);
  1707.         
  1708.         HRESULT ( STDMETHODCALLTYPE *IsPageDirty )( 
  1709.             IPropertyPage2 * This);
  1710.         
  1711.         HRESULT ( STDMETHODCALLTYPE *Apply )( 
  1712.             IPropertyPage2 * This);
  1713.         
  1714.         HRESULT ( STDMETHODCALLTYPE *Help )( 
  1715.             IPropertyPage2 * This,
  1716.             /* [in] */ LPCOLESTR pszHelpDir);
  1717.         
  1718.         HRESULT ( STDMETHODCALLTYPE *TranslateAccelerator )( 
  1719.             IPropertyPage2 * This,
  1720.             /* [in] */ MSG *pMsg);
  1721.         
  1722.         HRESULT ( STDMETHODCALLTYPE *EditProperty )( 
  1723.             IPropertyPage2 * This,
  1724.             /* [in] */ DISPID dispID);
  1725.         
  1726.         END_INTERFACE
  1727.     } IPropertyPage2Vtbl;
  1728.     interface IPropertyPage2
  1729.     {
  1730.         CONST_VTBL struct IPropertyPage2Vtbl *lpVtbl;
  1731.     };
  1732.     
  1733. #ifdef COBJMACROS
  1734. #define IPropertyPage2_QueryInterface(This,riid,ppvObject)
  1735.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1736. #define IPropertyPage2_AddRef(This)
  1737.     (This)->lpVtbl -> AddRef(This)
  1738. #define IPropertyPage2_Release(This)
  1739.     (This)->lpVtbl -> Release(This)
  1740. #define IPropertyPage2_SetPageSite(This,pPageSite)
  1741.     (This)->lpVtbl -> SetPageSite(This,pPageSite)
  1742. #define IPropertyPage2_Activate(This,hWndParent,pRect,bModal)
  1743.     (This)->lpVtbl -> Activate(This,hWndParent,pRect,bModal)
  1744. #define IPropertyPage2_Deactivate(This)
  1745.     (This)->lpVtbl -> Deactivate(This)
  1746. #define IPropertyPage2_GetPageInfo(This,pPageInfo)
  1747.     (This)->lpVtbl -> GetPageInfo(This,pPageInfo)
  1748. #define IPropertyPage2_SetObjects(This,cObjects,ppUnk)
  1749.     (This)->lpVtbl -> SetObjects(This,cObjects,ppUnk)
  1750. #define IPropertyPage2_Show(This,nCmdShow)
  1751.     (This)->lpVtbl -> Show(This,nCmdShow)
  1752. #define IPropertyPage2_Move(This,pRect)
  1753.     (This)->lpVtbl -> Move(This,pRect)
  1754. #define IPropertyPage2_IsPageDirty(This)
  1755.     (This)->lpVtbl -> IsPageDirty(This)
  1756. #define IPropertyPage2_Apply(This)
  1757.     (This)->lpVtbl -> Apply(This)
  1758. #define IPropertyPage2_Help(This,pszHelpDir)
  1759.     (This)->lpVtbl -> Help(This,pszHelpDir)
  1760. #define IPropertyPage2_TranslateAccelerator(This,pMsg)
  1761.     (This)->lpVtbl -> TranslateAccelerator(This,pMsg)
  1762. #define IPropertyPage2_EditProperty(This,dispID)
  1763.     (This)->lpVtbl -> EditProperty(This,dispID)
  1764. #endif /* COBJMACROS */
  1765. #endif  /* C style interface */
  1766. HRESULT STDMETHODCALLTYPE IPropertyPage2_EditProperty_Proxy( 
  1767.     IPropertyPage2 * This,
  1768.     /* [in] */ DISPID dispID);
  1769. void __RPC_STUB IPropertyPage2_EditProperty_Stub(
  1770.     IRpcStubBuffer *This,
  1771.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1772.     PRPC_MESSAGE _pRpcMessage,
  1773.     DWORD *_pdwStubPhase);
  1774. #endif  /* __IPropertyPage2_INTERFACE_DEFINED__ */
  1775. #ifndef __IPropertyPageSite_INTERFACE_DEFINED__
  1776. #define __IPropertyPageSite_INTERFACE_DEFINED__
  1777. /* interface IPropertyPageSite */
  1778. /* [unique][uuid][object] */ 
  1779. typedef IPropertyPageSite *LPPROPERTYPAGESITE;
  1780. typedef 
  1781. enum tagPROPPAGESTATUS
  1782.     { PROPPAGESTATUS_DIRTY = 0x1,
  1783. PROPPAGESTATUS_VALIDATE = 0x2,
  1784. PROPPAGESTATUS_CLEAN = 0x4
  1785.     }  PROPPAGESTATUS;
  1786. EXTERN_C const IID IID_IPropertyPageSite;
  1787. #if defined(__cplusplus) && !defined(CINTERFACE)
  1788.     
  1789.     MIDL_INTERFACE("B196B28C-BAB4-101A-B69C-00AA00341D07")
  1790.     IPropertyPageSite : public IUnknown
  1791.     {
  1792.     public:
  1793.         virtual HRESULT STDMETHODCALLTYPE OnStatusChange( 
  1794.             /* [in] */ DWORD dwFlags) = 0;
  1795.         
  1796.         virtual HRESULT STDMETHODCALLTYPE GetLocaleID( 
  1797.             /* [out] */ LCID *pLocaleID) = 0;
  1798.         
  1799.         virtual HRESULT STDMETHODCALLTYPE GetPageContainer( 
  1800.             /* [out] */ IUnknown **ppUnk) = 0;
  1801.         
  1802.         virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator( 
  1803.             /* [in] */ MSG *pMsg) = 0;
  1804.         
  1805.     };
  1806.     
  1807. #else  /* C style interface */
  1808.     typedef struct IPropertyPageSiteVtbl
  1809.     {
  1810.         BEGIN_INTERFACE
  1811.         
  1812.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1813.             IPropertyPageSite * This,
  1814.             /* [in] */ REFIID riid,
  1815.             /* [iid_is][out] */ void **ppvObject);
  1816.         
  1817.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1818.             IPropertyPageSite * This);
  1819.         
  1820.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1821.             IPropertyPageSite * This);
  1822.         
  1823.         HRESULT ( STDMETHODCALLTYPE *OnStatusChange )( 
  1824.             IPropertyPageSite * This,
  1825.             /* [in] */ DWORD dwFlags);
  1826.         
  1827.         HRESULT ( STDMETHODCALLTYPE *GetLocaleID )( 
  1828.             IPropertyPageSite * This,
  1829.             /* [out] */ LCID *pLocaleID);
  1830.         
  1831.         HRESULT ( STDMETHODCALLTYPE *GetPageContainer )( 
  1832.             IPropertyPageSite * This,
  1833.             /* [out] */ IUnknown **ppUnk);
  1834.         
  1835.         HRESULT ( STDMETHODCALLTYPE *TranslateAccelerator )( 
  1836.             IPropertyPageSite * This,
  1837.             /* [in] */ MSG *pMsg);
  1838.         
  1839.         END_INTERFACE
  1840.     } IPropertyPageSiteVtbl;
  1841.     interface IPropertyPageSite
  1842.     {
  1843.         CONST_VTBL struct IPropertyPageSiteVtbl *lpVtbl;
  1844.     };
  1845.     
  1846. #ifdef COBJMACROS
  1847. #define IPropertyPageSite_QueryInterface(This,riid,ppvObject)
  1848.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1849. #define IPropertyPageSite_AddRef(This)
  1850.     (This)->lpVtbl -> AddRef(This)
  1851. #define IPropertyPageSite_Release(This)
  1852.     (This)->lpVtbl -> Release(This)
  1853. #define IPropertyPageSite_OnStatusChange(This,dwFlags)
  1854.     (This)->lpVtbl -> OnStatusChange(This,dwFlags)
  1855. #define IPropertyPageSite_GetLocaleID(This,pLocaleID)
  1856.     (This)->lpVtbl -> GetLocaleID(This,pLocaleID)
  1857. #define IPropertyPageSite_GetPageContainer(This,ppUnk)
  1858.     (This)->lpVtbl -> GetPageContainer(This,ppUnk)
  1859. #define IPropertyPageSite_TranslateAccelerator(This,pMsg)
  1860.     (This)->lpVtbl -> TranslateAccelerator(This,pMsg)
  1861. #endif /* COBJMACROS */
  1862. #endif  /* C style interface */
  1863. HRESULT STDMETHODCALLTYPE IPropertyPageSite_OnStatusChange_Proxy( 
  1864.     IPropertyPageSite * This,
  1865.     /* [in] */ DWORD dwFlags);
  1866. void __RPC_STUB IPropertyPageSite_OnStatusChange_Stub(
  1867.     IRpcStubBuffer *This,
  1868.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1869.     PRPC_MESSAGE _pRpcMessage,
  1870.     DWORD *_pdwStubPhase);
  1871. HRESULT STDMETHODCALLTYPE IPropertyPageSite_GetLocaleID_Proxy( 
  1872.     IPropertyPageSite * This,
  1873.     /* [out] */ LCID *pLocaleID);
  1874. void __RPC_STUB IPropertyPageSite_GetLocaleID_Stub(
  1875.     IRpcStubBuffer *This,
  1876.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1877.     PRPC_MESSAGE _pRpcMessage,
  1878.     DWORD *_pdwStubPhase);
  1879. HRESULT STDMETHODCALLTYPE IPropertyPageSite_GetPageContainer_Proxy( 
  1880.     IPropertyPageSite * This,
  1881.     /* [out] */ IUnknown **ppUnk);
  1882. void __RPC_STUB IPropertyPageSite_GetPageContainer_Stub(
  1883.     IRpcStubBuffer *This,
  1884.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1885.     PRPC_MESSAGE _pRpcMessage,
  1886.     DWORD *_pdwStubPhase);
  1887. HRESULT STDMETHODCALLTYPE IPropertyPageSite_TranslateAccelerator_Proxy( 
  1888.     IPropertyPageSite * This,
  1889.     /* [in] */ MSG *pMsg);
  1890. void __RPC_STUB IPropertyPageSite_TranslateAccelerator_Stub(
  1891.     IRpcStubBuffer *This,
  1892.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1893.     PRPC_MESSAGE _pRpcMessage,
  1894.     DWORD *_pdwStubPhase);
  1895. #endif  /* __IPropertyPageSite_INTERFACE_DEFINED__ */
  1896. #ifndef __IPropertyNotifySink_INTERFACE_DEFINED__
  1897. #define __IPropertyNotifySink_INTERFACE_DEFINED__
  1898. /* interface IPropertyNotifySink */
  1899. /* [unique][uuid][object] */ 
  1900. typedef IPropertyNotifySink *LPPROPERTYNOTIFYSINK;
  1901. EXTERN_C const IID IID_IPropertyNotifySink;
  1902. #if defined(__cplusplus) && !defined(CINTERFACE)
  1903.     
  1904.     MIDL_INTERFACE("9BFBBC02-EFF1-101A-84ED-00AA00341D07")
  1905.     IPropertyNotifySink : public IUnknown
  1906.     {
  1907.     public:
  1908.         virtual HRESULT STDMETHODCALLTYPE OnChanged( 
  1909.             /* [in] */ DISPID dispID) = 0;
  1910.         
  1911.         virtual HRESULT STDMETHODCALLTYPE OnRequestEdit( 
  1912.             /* [in] */ DISPID dispID) = 0;
  1913.         
  1914.     };
  1915.     
  1916. #else  /* C style interface */
  1917.     typedef struct IPropertyNotifySinkVtbl
  1918.     {
  1919.         BEGIN_INTERFACE
  1920.         
  1921.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1922.             IPropertyNotifySink * This,
  1923.             /* [in] */ REFIID riid,
  1924.             /* [iid_is][out] */ void **ppvObject);
  1925.         
  1926.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1927.             IPropertyNotifySink * This);
  1928.         
  1929.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1930.             IPropertyNotifySink * This);
  1931.         
  1932.         HRESULT ( STDMETHODCALLTYPE *OnChanged )( 
  1933.             IPropertyNotifySink * This,
  1934.             /* [in] */ DISPID dispID);
  1935.         
  1936.         HRESULT ( STDMETHODCALLTYPE *OnRequestEdit )( 
  1937.             IPropertyNotifySink * This,
  1938.             /* [in] */ DISPID dispID);
  1939.         
  1940.         END_INTERFACE
  1941.     } IPropertyNotifySinkVtbl;
  1942.     interface IPropertyNotifySink
  1943.     {
  1944.         CONST_VTBL struct IPropertyNotifySinkVtbl *lpVtbl;
  1945.     };
  1946.     
  1947. #ifdef COBJMACROS
  1948. #define IPropertyNotifySink_QueryInterface(This,riid,ppvObject)
  1949.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1950. #define IPropertyNotifySink_AddRef(This)
  1951.     (This)->lpVtbl -> AddRef(This)
  1952. #define IPropertyNotifySink_Release(This)
  1953.     (This)->lpVtbl -> Release(This)
  1954. #define IPropertyNotifySink_OnChanged(This,dispID)
  1955.     (This)->lpVtbl -> OnChanged(This,dispID)
  1956. #define IPropertyNotifySink_OnRequestEdit(This,dispID)
  1957.     (This)->lpVtbl -> OnRequestEdit(This,dispID)
  1958. #endif /* COBJMACROS */
  1959. #endif  /* C style interface */
  1960. HRESULT STDMETHODCALLTYPE IPropertyNotifySink_OnChanged_Proxy( 
  1961.     IPropertyNotifySink * This,
  1962.     /* [in] */ DISPID dispID);
  1963. void __RPC_STUB IPropertyNotifySink_OnChanged_Stub(
  1964.     IRpcStubBuffer *This,
  1965.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1966.     PRPC_MESSAGE _pRpcMessage,
  1967.     DWORD *_pdwStubPhase);
  1968. HRESULT STDMETHODCALLTYPE IPropertyNotifySink_OnRequestEdit_Proxy( 
  1969.     IPropertyNotifySink * This,
  1970.     /* [in] */ DISPID dispID);
  1971. void __RPC_STUB IPropertyNotifySink_OnRequestEdit_Stub(
  1972.     IRpcStubBuffer *This,
  1973.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1974.     PRPC_MESSAGE _pRpcMessage,
  1975.     DWORD *_pdwStubPhase);
  1976. #endif  /* __IPropertyNotifySink_INTERFACE_DEFINED__ */
  1977. #ifndef __ISpecifyPropertyPages_INTERFACE_DEFINED__
  1978. #define __ISpecifyPropertyPages_INTERFACE_DEFINED__
  1979. /* interface ISpecifyPropertyPages */
  1980. /* [unique][uuid][object] */ 
  1981. typedef ISpecifyPropertyPages *LPSPECIFYPROPERTYPAGES;
  1982. typedef struct tagCAUUID
  1983.     {
  1984.     ULONG cElems;
  1985.     /* [size_is] */ GUID *pElems;
  1986.     }  CAUUID;
  1987. typedef struct tagCAUUID *LPCAUUID;
  1988. EXTERN_C const IID IID_ISpecifyPropertyPages;
  1989. #if defined(__cplusplus) && !defined(CINTERFACE)
  1990.     
  1991.     MIDL_INTERFACE("B196B28B-BAB4-101A-B69C-00AA00341D07")
  1992.     ISpecifyPropertyPages : public IUnknown
  1993.     {
  1994.     public:
  1995.         virtual HRESULT STDMETHODCALLTYPE GetPages( 
  1996.             /* [out] */ CAUUID *pPages) = 0;
  1997.         
  1998.     };
  1999.     
  2000. #else  /* C style interface */
  2001.     typedef struct ISpecifyPropertyPagesVtbl
  2002.     {
  2003.         BEGIN_INTERFACE
  2004.         
  2005.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2006.             ISpecifyPropertyPages * This,
  2007.             /* [in] */ REFIID riid,
  2008.             /* [iid_is][out] */ void **ppvObject);
  2009.         
  2010.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2011.             ISpecifyPropertyPages * This);
  2012.         
  2013.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2014.             ISpecifyPropertyPages * This);
  2015.         
  2016.         HRESULT ( STDMETHODCALLTYPE *GetPages )( 
  2017.             ISpecifyPropertyPages * This,
  2018.             /* [out] */ CAUUID *pPages);
  2019.         
  2020.         END_INTERFACE
  2021.     } ISpecifyPropertyPagesVtbl;
  2022.     interface ISpecifyPropertyPages
  2023.     {
  2024.         CONST_VTBL struct ISpecifyPropertyPagesVtbl *lpVtbl;
  2025.     };
  2026.     
  2027. #ifdef COBJMACROS
  2028. #define ISpecifyPropertyPages_QueryInterface(This,riid,ppvObject)
  2029.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2030. #define ISpecifyPropertyPages_AddRef(This)
  2031.     (This)->lpVtbl -> AddRef(This)
  2032. #define ISpecifyPropertyPages_Release(This)
  2033.     (This)->lpVtbl -> Release(This)
  2034. #define ISpecifyPropertyPages_GetPages(This,pPages)
  2035.     (This)->lpVtbl -> GetPages(This,pPages)
  2036. #endif /* COBJMACROS */
  2037. #endif  /* C style interface */
  2038. HRESULT STDMETHODCALLTYPE ISpecifyPropertyPages_GetPages_Proxy( 
  2039.     ISpecifyPropertyPages * This,
  2040.     /* [out] */ CAUUID *pPages);
  2041. void __RPC_STUB ISpecifyPropertyPages_GetPages_Stub(
  2042.     IRpcStubBuffer *This,
  2043.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2044.     PRPC_MESSAGE _pRpcMessage,
  2045.     DWORD *_pdwStubPhase);
  2046. #endif  /* __ISpecifyPropertyPages_INTERFACE_DEFINED__ */
  2047. #ifndef __IPersistMemory_INTERFACE_DEFINED__
  2048. #define __IPersistMemory_INTERFACE_DEFINED__
  2049. /* interface IPersistMemory */
  2050. /* [unique][uuid][object] */ 
  2051. typedef IPersistMemory *LPPERSISTMEMORY;
  2052. EXTERN_C const IID IID_IPersistMemory;
  2053. #if defined(__cplusplus) && !defined(CINTERFACE)
  2054.     
  2055.     MIDL_INTERFACE("BD1AE5E0-A6AE-11CE-BD37-504200C10000")
  2056.     IPersistMemory : public IPersist
  2057.     {
  2058.     public:
  2059.         virtual HRESULT STDMETHODCALLTYPE IsDirty( void) = 0;
  2060.         
  2061.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Load( 
  2062.             /* [size_is][in] */ LPVOID pMem,
  2063.             /* [in] */ ULONG cbSize) = 0;
  2064.         
  2065.         virtual /* [local] */ HRESULT STDMETHODCALLTYPE Save( 
  2066.             /* [size_is][out] */ LPVOID pMem,
  2067.             /* [in] */ BOOL fClearDirty,
  2068.             /* [in] */ ULONG cbSize) = 0;
  2069.         
  2070.         virtual HRESULT STDMETHODCALLTYPE GetSizeMax( 
  2071.             /* [out] */ ULONG *pCbSize) = 0;
  2072.         
  2073.         virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0;
  2074.         
  2075.     };
  2076.     
  2077. #else  /* C style interface */
  2078.     typedef struct IPersistMemoryVtbl
  2079.     {
  2080.         BEGIN_INTERFACE
  2081.         
  2082.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2083.             IPersistMemory * This,
  2084.             /* [in] */ REFIID riid,
  2085.             /* [iid_is][out] */ void **ppvObject);
  2086.         
  2087.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2088.             IPersistMemory * This);
  2089.         
  2090.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2091.             IPersistMemory * This);
  2092.         
  2093.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  2094.             IPersistMemory * This,
  2095.             /* [out] */ CLSID *pClassID);
  2096.         
  2097.         HRESULT ( STDMETHODCALLTYPE *IsDirty )( 
  2098.             IPersistMemory * This);
  2099.         
  2100.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
  2101.             IPersistMemory * This,
  2102.             /* [size_is][in] */ LPVOID pMem,
  2103.             /* [in] */ ULONG cbSize);
  2104.         
  2105.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Save )( 
  2106.             IPersistMemory * This,
  2107.             /* [size_is][out] */ LPVOID pMem,
  2108.             /* [in] */ BOOL fClearDirty,
  2109.             /* [in] */ ULONG cbSize);
  2110.         
  2111.         HRESULT ( STDMETHODCALLTYPE *GetSizeMax )( 
  2112.             IPersistMemory * This,
  2113.             /* [out] */ ULONG *pCbSize);
  2114.         
  2115.         HRESULT ( STDMETHODCALLTYPE *InitNew )( 
  2116.             IPersistMemory * This);
  2117.         
  2118.         END_INTERFACE
  2119.     } IPersistMemoryVtbl;
  2120.     interface IPersistMemory
  2121.     {
  2122.         CONST_VTBL struct IPersistMemoryVtbl *lpVtbl;
  2123.     };
  2124.     
  2125. #ifdef COBJMACROS
  2126. #define IPersistMemory_QueryInterface(This,riid,ppvObject)
  2127.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2128. #define IPersistMemory_AddRef(This)
  2129.     (This)->lpVtbl -> AddRef(This)
  2130. #define IPersistMemory_Release(This)
  2131.     (This)->lpVtbl -> Release(This)
  2132. #define IPersistMemory_GetClassID(This,pClassID)
  2133.     (This)->lpVtbl -> GetClassID(This,pClassID)
  2134. #define IPersistMemory_IsDirty(This)
  2135.     (This)->lpVtbl -> IsDirty(This)
  2136. #define IPersistMemory_Load(This,pMem,cbSize)
  2137.     (This)->lpVtbl -> Load(This,pMem,cbSize)
  2138. #define IPersistMemory_Save(This,pMem,fClearDirty,cbSize)
  2139.     (This)->lpVtbl -> Save(This,pMem,fClearDirty,cbSize)
  2140. #define IPersistMemory_GetSizeMax(This,pCbSize)
  2141.     (This)->lpVtbl -> GetSizeMax(This,pCbSize)
  2142. #define IPersistMemory_InitNew(This)
  2143.     (This)->lpVtbl -> InitNew(This)
  2144. #endif /* COBJMACROS */
  2145. #endif  /* C style interface */
  2146. HRESULT STDMETHODCALLTYPE IPersistMemory_IsDirty_Proxy( 
  2147.     IPersistMemory * This);
  2148. void __RPC_STUB IPersistMemory_IsDirty_Stub(
  2149.     IRpcStubBuffer *This,
  2150.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2151.     PRPC_MESSAGE _pRpcMessage,
  2152.     DWORD *_pdwStubPhase);
  2153. /* [call_as] */ HRESULT STDMETHODCALLTYPE IPersistMemory_RemoteLoad_Proxy( 
  2154.     IPersistMemory * This,
  2155.     /* [size_is][in] */ BYTE *pMem,
  2156.     /* [in] */ ULONG cbSize);
  2157. void __RPC_STUB IPersistMemory_RemoteLoad_Stub(
  2158.     IRpcStubBuffer *This,
  2159.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2160.     PRPC_MESSAGE _pRpcMessage,
  2161.     DWORD *_pdwStubPhase);
  2162. /* [call_as] */ HRESULT STDMETHODCALLTYPE IPersistMemory_RemoteSave_Proxy( 
  2163.     IPersistMemory * This,
  2164.     /* [size_is][out] */ BYTE *pMem,
  2165.     /* [in] */ BOOL fClearDirty,
  2166.     /* [in] */ ULONG cbSize);
  2167. void __RPC_STUB IPersistMemory_RemoteSave_Stub(
  2168.     IRpcStubBuffer *This,
  2169.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2170.     PRPC_MESSAGE _pRpcMessage,
  2171.     DWORD *_pdwStubPhase);
  2172. HRESULT STDMETHODCALLTYPE IPersistMemory_GetSizeMax_Proxy( 
  2173.     IPersistMemory * This,
  2174.     /* [out] */ ULONG *pCbSize);
  2175. void __RPC_STUB IPersistMemory_GetSizeMax_Stub(
  2176.     IRpcStubBuffer *This,
  2177.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2178.     PRPC_MESSAGE _pRpcMessage,
  2179.     DWORD *_pdwStubPhase);
  2180. HRESULT STDMETHODCALLTYPE IPersistMemory_InitNew_Proxy( 
  2181.     IPersistMemory * This);
  2182. void __RPC_STUB IPersistMemory_InitNew_Stub(
  2183.     IRpcStubBuffer *This,
  2184.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2185.     PRPC_MESSAGE _pRpcMessage,
  2186.     DWORD *_pdwStubPhase);
  2187. #endif  /* __IPersistMemory_INTERFACE_DEFINED__ */
  2188. #ifndef __IPersistStreamInit_INTERFACE_DEFINED__
  2189. #define __IPersistStreamInit_INTERFACE_DEFINED__
  2190. /* interface IPersistStreamInit */
  2191. /* [unique][uuid][object] */ 
  2192. typedef IPersistStreamInit *LPPERSISTSTREAMINIT;
  2193. EXTERN_C const IID IID_IPersistStreamInit;
  2194. #if defined(__cplusplus) && !defined(CINTERFACE)
  2195.     
  2196.     MIDL_INTERFACE("7FD52380-4E07-101B-AE2D-08002B2EC713")
  2197.     IPersistStreamInit : public IPersist
  2198.     {
  2199.     public:
  2200.         virtual HRESULT STDMETHODCALLTYPE IsDirty( void) = 0;
  2201.         
  2202.         virtual HRESULT STDMETHODCALLTYPE Load( 
  2203.             /* [in] */ LPSTREAM pStm) = 0;
  2204.         
  2205.         virtual HRESULT STDMETHODCALLTYPE Save( 
  2206.             /* [in] */ LPSTREAM pStm,
  2207.             /* [in] */ BOOL fClearDirty) = 0;
  2208.         
  2209.         virtual HRESULT STDMETHODCALLTYPE GetSizeMax( 
  2210.             /* [out] */ ULARGE_INTEGER *pCbSize) = 0;
  2211.         
  2212.         virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0;
  2213.         
  2214.     };
  2215.     
  2216. #else  /* C style interface */
  2217.     typedef struct IPersistStreamInitVtbl
  2218.     {
  2219.         BEGIN_INTERFACE
  2220.         
  2221.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2222.             IPersistStreamInit * This,
  2223.             /* [in] */ REFIID riid,
  2224.             /* [iid_is][out] */ void **ppvObject);
  2225.         
  2226.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2227.             IPersistStreamInit * This);
  2228.         
  2229.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2230.             IPersistStreamInit * This);
  2231.         
  2232.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  2233.             IPersistStreamInit * This,
  2234.             /* [out] */ CLSID *pClassID);
  2235.         
  2236.         HRESULT ( STDMETHODCALLTYPE *IsDirty )( 
  2237.             IPersistStreamInit * This);
  2238.         
  2239.         HRESULT ( STDMETHODCALLTYPE *Load )( 
  2240.             IPersistStreamInit * This,
  2241.             /* [in] */ LPSTREAM pStm);
  2242.         
  2243.         HRESULT ( STDMETHODCALLTYPE *Save )( 
  2244.             IPersistStreamInit * This,
  2245.             /* [in] */ LPSTREAM pStm,
  2246.             /* [in] */ BOOL fClearDirty);
  2247.         
  2248.         HRESULT ( STDMETHODCALLTYPE *GetSizeMax )( 
  2249.             IPersistStreamInit * This,
  2250.             /* [out] */ ULARGE_INTEGER *pCbSize);
  2251.         
  2252.         HRESULT ( STDMETHODCALLTYPE *InitNew )( 
  2253.             IPersistStreamInit * This);
  2254.         
  2255.         END_INTERFACE
  2256.     } IPersistStreamInitVtbl;
  2257.     interface IPersistStreamInit
  2258.     {
  2259.         CONST_VTBL struct IPersistStreamInitVtbl *lpVtbl;
  2260.     };
  2261.     
  2262. #ifdef COBJMACROS
  2263. #define IPersistStreamInit_QueryInterface(This,riid,ppvObject)
  2264.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2265. #define IPersistStreamInit_AddRef(This)
  2266.     (This)->lpVtbl -> AddRef(This)
  2267. #define IPersistStreamInit_Release(This)
  2268.     (This)->lpVtbl -> Release(This)
  2269. #define IPersistStreamInit_GetClassID(This,pClassID)
  2270.     (This)->lpVtbl -> GetClassID(This,pClassID)
  2271. #define IPersistStreamInit_IsDirty(This)
  2272.     (This)->lpVtbl -> IsDirty(This)
  2273. #define IPersistStreamInit_Load(This,pStm)
  2274.     (This)->lpVtbl -> Load(This,pStm)
  2275. #define IPersistStreamInit_Save(This,pStm,fClearDirty)
  2276.     (This)->lpVtbl -> Save(This,pStm,fClearDirty)
  2277. #define IPersistStreamInit_GetSizeMax(This,pCbSize)
  2278.     (This)->lpVtbl -> GetSizeMax(This,pCbSize)
  2279. #define IPersistStreamInit_InitNew(This)
  2280.     (This)->lpVtbl -> InitNew(This)
  2281. #endif /* COBJMACROS */
  2282. #endif  /* C style interface */
  2283. HRESULT STDMETHODCALLTYPE IPersistStreamInit_IsDirty_Proxy( 
  2284.     IPersistStreamInit * This);
  2285. void __RPC_STUB IPersistStreamInit_IsDirty_Stub(
  2286.     IRpcStubBuffer *This,
  2287.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2288.     PRPC_MESSAGE _pRpcMessage,
  2289.     DWORD *_pdwStubPhase);
  2290. HRESULT STDMETHODCALLTYPE IPersistStreamInit_Load_Proxy( 
  2291.     IPersistStreamInit * This,
  2292.     /* [in] */ LPSTREAM pStm);
  2293. void __RPC_STUB IPersistStreamInit_Load_Stub(
  2294.     IRpcStubBuffer *This,
  2295.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2296.     PRPC_MESSAGE _pRpcMessage,
  2297.     DWORD *_pdwStubPhase);
  2298. HRESULT STDMETHODCALLTYPE IPersistStreamInit_Save_Proxy( 
  2299.     IPersistStreamInit * This,
  2300.     /* [in] */ LPSTREAM pStm,
  2301.     /* [in] */ BOOL fClearDirty);
  2302. void __RPC_STUB IPersistStreamInit_Save_Stub(
  2303.     IRpcStubBuffer *This,
  2304.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2305.     PRPC_MESSAGE _pRpcMessage,
  2306.     DWORD *_pdwStubPhase);
  2307. HRESULT STDMETHODCALLTYPE IPersistStreamInit_GetSizeMax_Proxy( 
  2308.     IPersistStreamInit * This,
  2309.     /* [out] */ ULARGE_INTEGER *pCbSize);
  2310. void __RPC_STUB IPersistStreamInit_GetSizeMax_Stub(
  2311.     IRpcStubBuffer *This,
  2312.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2313.     PRPC_MESSAGE _pRpcMessage,
  2314.     DWORD *_pdwStubPhase);
  2315. HRESULT STDMETHODCALLTYPE IPersistStreamInit_InitNew_Proxy( 
  2316.     IPersistStreamInit * This);
  2317. void __RPC_STUB IPersistStreamInit_InitNew_Stub(
  2318.     IRpcStubBuffer *This,
  2319.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2320.     PRPC_MESSAGE _pRpcMessage,
  2321.     DWORD *_pdwStubPhase);
  2322. #endif  /* __IPersistStreamInit_INTERFACE_DEFINED__ */
  2323. #ifndef __IPersistPropertyBag_INTERFACE_DEFINED__
  2324. #define __IPersistPropertyBag_INTERFACE_DEFINED__
  2325. /* interface IPersistPropertyBag */
  2326. /* [unique][uuid][object] */ 
  2327. typedef IPersistPropertyBag *LPPERSISTPROPERTYBAG;
  2328. EXTERN_C const IID IID_IPersistPropertyBag;
  2329. #if defined(__cplusplus) && !defined(CINTERFACE)
  2330.     
  2331.     MIDL_INTERFACE("37D84F60-42CB-11CE-8135-00AA004BB851")
  2332.     IPersistPropertyBag : public IPersist
  2333.     {
  2334.     public:
  2335.         virtual HRESULT STDMETHODCALLTYPE InitNew( void) = 0;
  2336.         
  2337.         virtual HRESULT STDMETHODCALLTYPE Load( 
  2338.             /* [in] */ IPropertyBag *pPropBag,
  2339.             /* [in] */ IErrorLog *pErrorLog) = 0;
  2340.         
  2341.         virtual HRESULT STDMETHODCALLTYPE Save( 
  2342.             /* [in] */ IPropertyBag *pPropBag,
  2343.             /* [in] */ BOOL fClearDirty,
  2344.             /* [in] */ BOOL fSaveAllProperties) = 0;
  2345.         
  2346.     };
  2347.     
  2348. #else  /* C style interface */
  2349.     typedef struct IPersistPropertyBagVtbl
  2350.     {
  2351.         BEGIN_INTERFACE
  2352.         
  2353.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2354.             IPersistPropertyBag * This,
  2355.             /* [in] */ REFIID riid,
  2356.             /* [iid_is][out] */ void **ppvObject);
  2357.         
  2358.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2359.             IPersistPropertyBag * This);
  2360.         
  2361.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2362.             IPersistPropertyBag * This);
  2363.         
  2364.         HRESULT ( STDMETHODCALLTYPE *GetClassID )( 
  2365.             IPersistPropertyBag * This,
  2366.             /* [out] */ CLSID *pClassID);
  2367.         
  2368.         HRESULT ( STDMETHODCALLTYPE *InitNew )( 
  2369.             IPersistPropertyBag * This);
  2370.         
  2371.         HRESULT ( STDMETHODCALLTYPE *Load )( 
  2372.             IPersistPropertyBag * This,
  2373.             /* [in] */ IPropertyBag *pPropBag,
  2374.             /* [in] */ IErrorLog *pErrorLog);
  2375.         
  2376.         HRESULT ( STDMETHODCALLTYPE *Save )( 
  2377.             IPersistPropertyBag * This,
  2378.             /* [in] */ IPropertyBag *pPropBag,
  2379.             /* [in] */ BOOL fClearDirty,
  2380.             /* [in] */ BOOL fSaveAllProperties);
  2381.         
  2382.         END_INTERFACE
  2383.     } IPersistPropertyBagVtbl;
  2384.     interface IPersistPropertyBag
  2385.     {
  2386.         CONST_VTBL struct IPersistPropertyBagVtbl *lpVtbl;
  2387.     };
  2388.     
  2389. #ifdef COBJMACROS
  2390. #define IPersistPropertyBag_QueryInterface(This,riid,ppvObject)
  2391.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2392. #define IPersistPropertyBag_AddRef(This)
  2393.     (This)->lpVtbl -> AddRef(This)
  2394. #define IPersistPropertyBag_Release(This)
  2395.     (This)->lpVtbl -> Release(This)
  2396. #define IPersistPropertyBag_GetClassID(This,pClassID)
  2397.     (This)->lpVtbl -> GetClassID(This,pClassID)
  2398. #define IPersistPropertyBag_InitNew(This)
  2399.     (This)->lpVtbl -> InitNew(This)
  2400. #define IPersistPropertyBag_Load(This,pPropBag,pErrorLog)
  2401.     (This)->lpVtbl -> Load(This,pPropBag,pErrorLog)
  2402. #define IPersistPropertyBag_Save(This,pPropBag,fClearDirty,fSaveAllProperties)
  2403.     (This)->lpVtbl -> Save(This,pPropBag,fClearDirty,fSaveAllProperties)
  2404. #endif /* COBJMACROS */
  2405. #endif  /* C style interface */
  2406. HRESULT STDMETHODCALLTYPE IPersistPropertyBag_InitNew_Proxy( 
  2407.     IPersistPropertyBag * This);
  2408. void __RPC_STUB IPersistPropertyBag_InitNew_Stub(
  2409.     IRpcStubBuffer *This,
  2410.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2411.     PRPC_MESSAGE _pRpcMessage,
  2412.     DWORD *_pdwStubPhase);
  2413. HRESULT STDMETHODCALLTYPE IPersistPropertyBag_Load_Proxy( 
  2414.     IPersistPropertyBag * This,
  2415.     /* [in] */ IPropertyBag *pPropBag,
  2416.     /* [in] */ IErrorLog *pErrorLog);
  2417. void __RPC_STUB IPersistPropertyBag_Load_Stub(
  2418.     IRpcStubBuffer *This,
  2419.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2420.     PRPC_MESSAGE _pRpcMessage,
  2421.     DWORD *_pdwStubPhase);
  2422. HRESULT STDMETHODCALLTYPE IPersistPropertyBag_Save_Proxy( 
  2423.     IPersistPropertyBag * This,
  2424.     /* [in] */ IPropertyBag *pPropBag,
  2425.     /* [in] */ BOOL fClearDirty,
  2426.     /* [in] */ BOOL fSaveAllProperties);
  2427. void __RPC_STUB IPersistPropertyBag_Save_Stub(
  2428.     IRpcStubBuffer *This,
  2429.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2430.     PRPC_MESSAGE _pRpcMessage,
  2431.     DWORD *_pdwStubPhase);
  2432. #endif  /* __IPersistPropertyBag_INTERFACE_DEFINED__ */
  2433. #ifndef __ISimpleFrameSite_INTERFACE_DEFINED__
  2434. #define __ISimpleFrameSite_INTERFACE_DEFINED__
  2435. /* interface ISimpleFrameSite */
  2436. /* [unique][uuid][object] */ 
  2437. typedef ISimpleFrameSite *LPSIMPLEFRAMESITE;
  2438. EXTERN_C const IID IID_ISimpleFrameSite;
  2439. #if defined(__cplusplus) && !defined(CINTERFACE)
  2440.     
  2441.     MIDL_INTERFACE("742B0E01-14E6-101B-914E-00AA00300CAB")
  2442.     ISimpleFrameSite : public IUnknown
  2443.     {
  2444.     public:
  2445.         virtual HRESULT STDMETHODCALLTYPE PreMessageFilter( 
  2446.             /* [in] */ HWND hWnd,
  2447.             /* [in] */ UINT msg,
  2448.             /* [in] */ WPARAM wp,
  2449.             /* [in] */ LPARAM lp,
  2450.             /* [out] */ LRESULT *plResult,
  2451.             /* [out] */ DWORD *pdwCookie) = 0;
  2452.         
  2453.         virtual HRESULT STDMETHODCALLTYPE PostMessageFilter( 
  2454.             /* [in] */ HWND hWnd,
  2455.             /* [in] */ UINT msg,
  2456.             /* [in] */ WPARAM wp,
  2457.             /* [in] */ LPARAM lp,
  2458.             /* [out] */ LRESULT *plResult,
  2459.             /* [in] */ DWORD dwCookie) = 0;
  2460.         
  2461.     };
  2462.     
  2463. #else  /* C style interface */
  2464.     typedef struct ISimpleFrameSiteVtbl
  2465.     {
  2466.         BEGIN_INTERFACE
  2467.         
  2468.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2469.             ISimpleFrameSite * This,
  2470.             /* [in] */ REFIID riid,
  2471.             /* [iid_is][out] */ void **ppvObject);
  2472.         
  2473.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2474.             ISimpleFrameSite * This);
  2475.         
  2476.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2477.             ISimpleFrameSite * This);
  2478.         
  2479.         HRESULT ( STDMETHODCALLTYPE *PreMessageFilter )( 
  2480.             ISimpleFrameSite * This,
  2481.             /* [in] */ HWND hWnd,
  2482.             /* [in] */ UINT msg,
  2483.             /* [in] */ WPARAM wp,
  2484.             /* [in] */ LPARAM lp,
  2485.             /* [out] */ LRESULT *plResult,
  2486.             /* [out] */ DWORD *pdwCookie);
  2487.         
  2488.         HRESULT ( STDMETHODCALLTYPE *PostMessageFilter )( 
  2489.             ISimpleFrameSite * This,
  2490.             /* [in] */ HWND hWnd,
  2491.             /* [in] */ UINT msg,
  2492.             /* [in] */ WPARAM wp,
  2493.             /* [in] */ LPARAM lp,
  2494.             /* [out] */ LRESULT *plResult,
  2495.             /* [in] */ DWORD dwCookie);
  2496.         
  2497.         END_INTERFACE
  2498.     } ISimpleFrameSiteVtbl;
  2499.     interface ISimpleFrameSite
  2500.     {
  2501.         CONST_VTBL struct ISimpleFrameSiteVtbl *lpVtbl;
  2502.     };
  2503.     
  2504. #ifdef COBJMACROS
  2505. #define ISimpleFrameSite_QueryInterface(This,riid,ppvObject)
  2506.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2507. #define ISimpleFrameSite_AddRef(This)
  2508.     (This)->lpVtbl -> AddRef(This)
  2509. #define ISimpleFrameSite_Release(This)
  2510.     (This)->lpVtbl -> Release(This)
  2511. #define ISimpleFrameSite_PreMessageFilter(This,hWnd,msg,wp,lp,plResult,pdwCookie)
  2512.     (This)->lpVtbl -> PreMessageFilter(This,hWnd,msg,wp,lp,plResult,pdwCookie)
  2513. #define ISimpleFrameSite_PostMessageFilter(This,hWnd,msg,wp,lp,plResult,dwCookie)
  2514.     (This)->lpVtbl -> PostMessageFilter(This,hWnd,msg,wp,lp,plResult,dwCookie)
  2515. #endif /* COBJMACROS */
  2516. #endif  /* C style interface */
  2517. HRESULT STDMETHODCALLTYPE ISimpleFrameSite_PreMessageFilter_Proxy( 
  2518.     ISimpleFrameSite * This,
  2519.     /* [in] */ HWND hWnd,
  2520.     /* [in] */ UINT msg,
  2521.     /* [in] */ WPARAM wp,
  2522.     /* [in] */ LPARAM lp,
  2523.     /* [out] */ LRESULT *plResult,
  2524.     /* [out] */ DWORD *pdwCookie);
  2525. void __RPC_STUB ISimpleFrameSite_PreMessageFilter_Stub(
  2526.     IRpcStubBuffer *This,
  2527.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2528.     PRPC_MESSAGE _pRpcMessage,
  2529.     DWORD *_pdwStubPhase);
  2530. HRESULT STDMETHODCALLTYPE ISimpleFrameSite_PostMessageFilter_Proxy( 
  2531.     ISimpleFrameSite * This,
  2532.     /* [in] */ HWND hWnd,
  2533.     /* [in] */ UINT msg,
  2534.     /* [in] */ WPARAM wp,
  2535.     /* [in] */ LPARAM lp,
  2536.     /* [out] */ LRESULT *plResult,
  2537.     /* [in] */ DWORD dwCookie);
  2538. void __RPC_STUB ISimpleFrameSite_PostMessageFilter_Stub(
  2539.     IRpcStubBuffer *This,
  2540.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2541.     PRPC_MESSAGE _pRpcMessage,
  2542.     DWORD *_pdwStubPhase);
  2543. #endif  /* __ISimpleFrameSite_INTERFACE_DEFINED__ */
  2544. #ifndef __IFont_INTERFACE_DEFINED__
  2545. #define __IFont_INTERFACE_DEFINED__
  2546. /* interface IFont */
  2547. /* [unique][uuid][object] */ 
  2548. typedef IFont *LPFONT;
  2549. #if (defined(_WIN32) || defined (_WIN64)) && !defined(OLE2ANSI)
  2550. typedef TEXTMETRICW TEXTMETRICOLE;
  2551. #else
  2552. typedef TEXTMETRIC TEXTMETRICOLE;
  2553. #endif
  2554. typedef TEXTMETRICOLE *LPTEXTMETRICOLE;
  2555. EXTERN_C const IID IID_IFont;
  2556. #if defined(__cplusplus) && !defined(CINTERFACE)
  2557.     
  2558.     MIDL_INTERFACE("BEF6E002-A874-101A-8BBA-00AA00300CAB")
  2559.     IFont : public IUnknown
  2560.     {
  2561.     public:
  2562.         virtual HRESULT STDMETHODCALLTYPE get_Name( 
  2563.             /* [out] */ BSTR *pName) = 0;
  2564.         
  2565.         virtual HRESULT STDMETHODCALLTYPE put_Name( 
  2566.             /* [in] */ BSTR name) = 0;
  2567.         
  2568.         virtual HRESULT STDMETHODCALLTYPE get_Size( 
  2569.             /* [out] */ CY *pSize) = 0;
  2570.         
  2571.         virtual HRESULT STDMETHODCALLTYPE put_Size( 
  2572.             /* [in] */ CY size) = 0;
  2573.         
  2574.         virtual HRESULT STDMETHODCALLTYPE get_Bold( 
  2575.             /* [out] */ BOOL *pBold) = 0;
  2576.         
  2577.         virtual HRESULT STDMETHODCALLTYPE put_Bold( 
  2578.             /* [in] */ BOOL bold) = 0;
  2579.         
  2580.         virtual HRESULT STDMETHODCALLTYPE get_Italic( 
  2581.             /* [out] */ BOOL *pItalic) = 0;
  2582.         
  2583.         virtual HRESULT STDMETHODCALLTYPE put_Italic( 
  2584.             /* [in] */ BOOL italic) = 0;
  2585.         
  2586.         virtual HRESULT STDMETHODCALLTYPE get_Underline( 
  2587.             /* [out] */ BOOL *pUnderline) = 0;
  2588.         
  2589.         virtual HRESULT STDMETHODCALLTYPE put_Underline( 
  2590.             /* [in] */ BOOL underline) = 0;
  2591.         
  2592.         virtual HRESULT STDMETHODCALLTYPE get_Strikethrough( 
  2593.             /* [out] */ BOOL *pStrikethrough) = 0;
  2594.         
  2595.         virtual HRESULT STDMETHODCALLTYPE put_Strikethrough( 
  2596.             /* [in] */ BOOL strikethrough) = 0;
  2597.         
  2598.         virtual HRESULT STDMETHODCALLTYPE get_Weight( 
  2599.             /* [out] */ SHORT *pWeight) = 0;
  2600.         
  2601.         virtual HRESULT STDMETHODCALLTYPE put_Weight( 
  2602.             /* [in] */ SHORT weight) = 0;
  2603.         
  2604.         virtual HRESULT STDMETHODCALLTYPE get_Charset( 
  2605.             /* [out] */ SHORT *pCharset) = 0;
  2606.         
  2607.         virtual HRESULT STDMETHODCALLTYPE put_Charset( 
  2608.             /* [in] */ SHORT charset) = 0;
  2609.         
  2610.         virtual HRESULT STDMETHODCALLTYPE get_hFont( 
  2611.             /* [out] */ HFONT *phFont) = 0;
  2612.         
  2613.         virtual HRESULT STDMETHODCALLTYPE Clone( 
  2614.             /* [out] */ IFont **ppFont) = 0;
  2615.         
  2616.         virtual HRESULT STDMETHODCALLTYPE IsEqual( 
  2617.             /* [in] */ IFont *pFontOther) = 0;
  2618.         
  2619.         virtual HRESULT STDMETHODCALLTYPE SetRatio( 
  2620.             /* [in] */ LONG cyLogical,
  2621.             /* [in] */ LONG cyHimetric) = 0;
  2622.         
  2623.         virtual HRESULT STDMETHODCALLTYPE QueryTextMetrics( 
  2624.             /* [out] */ TEXTMETRICOLE *pTM) = 0;
  2625.         
  2626.         virtual HRESULT STDMETHODCALLTYPE AddRefHfont( 
  2627.             /* [in] */ HFONT hFont) = 0;
  2628.         
  2629.         virtual HRESULT STDMETHODCALLTYPE ReleaseHfont( 
  2630.             /* [in] */ HFONT hFont) = 0;
  2631.         
  2632.         virtual HRESULT STDMETHODCALLTYPE SetHdc( 
  2633.             /* [in] */ HDC hDC) = 0;
  2634.         
  2635.     };
  2636.     
  2637. #else  /* C style interface */
  2638.     typedef struct IFontVtbl
  2639.     {
  2640.         BEGIN_INTERFACE
  2641.         
  2642.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2643.             IFont * This,
  2644.             /* [in] */ REFIID riid,
  2645.             /* [iid_is][out] */ void **ppvObject);
  2646.         
  2647.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2648.             IFont * This);
  2649.         
  2650.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2651.             IFont * This);
  2652.         
  2653.         HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  2654.             IFont * This,
  2655.             /* [out] */ BSTR *pName);
  2656.         
  2657.         HRESULT ( STDMETHODCALLTYPE *put_Name )( 
  2658.             IFont * This,
  2659.             /* [in] */ BSTR name);
  2660.         
  2661.         HRESULT ( STDMETHODCALLTYPE *get_Size )( 
  2662.             IFont * This,
  2663.             /* [out] */ CY *pSize);
  2664.         
  2665.         HRESULT ( STDMETHODCALLTYPE *put_Size )( 
  2666.             IFont * This,
  2667.             /* [in] */ CY size);
  2668.         
  2669.         HRESULT ( STDMETHODCALLTYPE *get_Bold )( 
  2670.             IFont * This,
  2671.             /* [out] */ BOOL *pBold);
  2672.         
  2673.         HRESULT ( STDMETHODCALLTYPE *put_Bold )( 
  2674.             IFont * This,
  2675.             /* [in] */ BOOL bold);
  2676.         
  2677.         HRESULT ( STDMETHODCALLTYPE *get_Italic )( 
  2678.             IFont * This,
  2679.             /* [out] */ BOOL *pItalic);
  2680.         
  2681.         HRESULT ( STDMETHODCALLTYPE *put_Italic )( 
  2682.             IFont * This,
  2683.             /* [in] */ BOOL italic);
  2684.         
  2685.         HRESULT ( STDMETHODCALLTYPE *get_Underline )( 
  2686.             IFont * This,
  2687.             /* [out] */ BOOL *pUnderline);
  2688.         
  2689.         HRESULT ( STDMETHODCALLTYPE *put_Underline )( 
  2690.             IFont * This,
  2691.             /* [in] */ BOOL underline);
  2692.         
  2693.         HRESULT ( STDMETHODCALLTYPE *get_Strikethrough )( 
  2694.             IFont * This,
  2695.             /* [out] */ BOOL *pStrikethrough);
  2696.         
  2697.         HRESULT ( STDMETHODCALLTYPE *put_Strikethrough )( 
  2698.             IFont * This,
  2699.             /* [in] */ BOOL strikethrough);
  2700.         
  2701.         HRESULT ( STDMETHODCALLTYPE *get_Weight )( 
  2702.             IFont * This,
  2703.             /* [out] */ SHORT *pWeight);
  2704.         
  2705.         HRESULT ( STDMETHODCALLTYPE *put_Weight )( 
  2706.             IFont * This,
  2707.             /* [in] */ SHORT weight);
  2708.         
  2709.         HRESULT ( STDMETHODCALLTYPE *get_Charset )( 
  2710.             IFont * This,
  2711.             /* [out] */ SHORT *pCharset);
  2712.         
  2713.         HRESULT ( STDMETHODCALLTYPE *put_Charset )( 
  2714.             IFont * This,
  2715.             /* [in] */ SHORT charset);
  2716.         
  2717.         HRESULT ( STDMETHODCALLTYPE *get_hFont )( 
  2718.             IFont * This,
  2719.             /* [out] */ HFONT *phFont);
  2720.         
  2721.         HRESULT ( STDMETHODCALLTYPE *Clone )( 
  2722.             IFont * This,
  2723.             /* [out] */ IFont **ppFont);
  2724.         
  2725.         HRESULT ( STDMETHODCALLTYPE *IsEqual )( 
  2726.             IFont * This,
  2727.             /* [in] */ IFont *pFontOther);
  2728.         
  2729.         HRESULT ( STDMETHODCALLTYPE *SetRatio )( 
  2730.             IFont * This,
  2731.             /* [in] */ LONG cyLogical,
  2732.             /* [in] */ LONG cyHimetric);
  2733.         
  2734.         HRESULT ( STDMETHODCALLTYPE *QueryTextMetrics )( 
  2735.             IFont * This,
  2736.             /* [out] */ TEXTMETRICOLE *pTM);
  2737.         
  2738.         HRESULT ( STDMETHODCALLTYPE *AddRefHfont )( 
  2739.             IFont * This,
  2740.             /* [in] */ HFONT hFont);
  2741.         
  2742.         HRESULT ( STDMETHODCALLTYPE *ReleaseHfont )( 
  2743.             IFont * This,
  2744.             /* [in] */ HFONT hFont);
  2745.         
  2746.         HRESULT ( STDMETHODCALLTYPE *SetHdc )( 
  2747.             IFont * This,
  2748.             /* [in] */ HDC hDC);
  2749.         
  2750.         END_INTERFACE
  2751.     } IFontVtbl;
  2752.     interface IFont
  2753.     {
  2754.         CONST_VTBL struct IFontVtbl *lpVtbl;
  2755.     };
  2756.     
  2757. #ifdef COBJMACROS
  2758. #define IFont_QueryInterface(This,riid,ppvObject)
  2759.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2760. #define IFont_AddRef(This)
  2761.     (This)->lpVtbl -> AddRef(This)
  2762. #define IFont_Release(This)
  2763.     (This)->lpVtbl -> Release(This)
  2764. #define IFont_get_Name(This,pName)
  2765.     (This)->lpVtbl -> get_Name(This,pName)
  2766. #define IFont_put_Name(This,name)
  2767.     (This)->lpVtbl -> put_Name(This,name)
  2768. #define IFont_get_Size(This,pSize)
  2769.     (This)->lpVtbl -> get_Size(This,pSize)
  2770. #define IFont_put_Size(This,size)
  2771.     (This)->lpVtbl -> put_Size(This,size)
  2772. #define IFont_get_Bold(This,pBold)
  2773.     (This)->lpVtbl -> get_Bold(This,pBold)
  2774. #define IFont_put_Bold(This,bold)
  2775.     (This)->lpVtbl -> put_Bold(This,bold)
  2776. #define IFont_get_Italic(This,pItalic)
  2777.     (This)->lpVtbl -> get_Italic(This,pItalic)
  2778. #define IFont_put_Italic(This,italic)
  2779.     (This)->lpVtbl -> put_Italic(This,italic)
  2780. #define IFont_get_Underline(This,pUnderline)
  2781.     (This)->lpVtbl -> get_Underline(This,pUnderline)
  2782. #define IFont_put_Underline(This,underline)
  2783.     (This)->lpVtbl -> put_Underline(This,underline)
  2784. #define IFont_get_Strikethrough(This,pStrikethrough)
  2785.     (This)->lpVtbl -> get_Strikethrough(This,pStrikethrough)
  2786. #define IFont_put_Strikethrough(This,strikethrough)
  2787.     (This)->lpVtbl -> put_Strikethrough(This,strikethrough)
  2788. #define IFont_get_Weight(This,pWeight)
  2789.     (This)->lpVtbl -> get_Weight(This,pWeight)
  2790. #define IFont_put_Weight(This,weight)
  2791.     (This)->lpVtbl -> put_Weight(This,weight)
  2792. #define IFont_get_Charset(This,pCharset)
  2793.     (This)->lpVtbl -> get_Charset(This,pCharset)
  2794. #define IFont_put_Charset(This,charset)
  2795.     (This)->lpVtbl -> put_Charset(This,charset)
  2796. #define IFont_get_hFont(This,phFont)
  2797.     (This)->lpVtbl -> get_hFont(This,phFont)
  2798. #define IFont_Clone(This,ppFont)
  2799.     (This)->lpVtbl -> Clone(This,ppFont)
  2800. #define IFont_IsEqual(This,pFontOther)
  2801.     (This)->lpVtbl -> IsEqual(This,pFontOther)
  2802. #define IFont_SetRatio(This,cyLogical,cyHimetric)
  2803.     (This)->lpVtbl -> SetRatio(This,cyLogical,cyHimetric)
  2804. #define IFont_QueryTextMetrics(This,pTM)
  2805.     (This)->lpVtbl -> QueryTextMetrics(This,pTM)
  2806. #define IFont_AddRefHfont(This,hFont)
  2807.     (This)->lpVtbl -> AddRefHfont(This,hFont)
  2808. #define IFont_ReleaseHfont(This,hFont)
  2809.     (This)->lpVtbl -> ReleaseHfont(This,hFont)
  2810. #define IFont_SetHdc(This,hDC)
  2811.     (This)->lpVtbl -> SetHdc(This,hDC)
  2812. #endif /* COBJMACROS */
  2813. #endif  /* C style interface */
  2814. HRESULT STDMETHODCALLTYPE IFont_get_Name_Proxy( 
  2815.     IFont * This,
  2816.     /* [out] */ BSTR *pName);
  2817. void __RPC_STUB IFont_get_Name_Stub(
  2818.     IRpcStubBuffer *This,
  2819.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2820.     PRPC_MESSAGE _pRpcMessage,
  2821.     DWORD *_pdwStubPhase);
  2822. HRESULT STDMETHODCALLTYPE IFont_put_Name_Proxy( 
  2823.     IFont * This,
  2824.     /* [in] */ BSTR name);
  2825. void __RPC_STUB IFont_put_Name_Stub(
  2826.     IRpcStubBuffer *This,
  2827.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2828.     PRPC_MESSAGE _pRpcMessage,
  2829.     DWORD *_pdwStubPhase);
  2830. HRESULT STDMETHODCALLTYPE IFont_get_Size_Proxy( 
  2831.     IFont * This,
  2832.     /* [out] */ CY *pSize);
  2833. void __RPC_STUB IFont_get_Size_Stub(
  2834.     IRpcStubBuffer *This,
  2835.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2836.     PRPC_MESSAGE _pRpcMessage,
  2837.     DWORD *_pdwStubPhase);
  2838. HRESULT STDMETHODCALLTYPE IFont_put_Size_Proxy( 
  2839.     IFont * This,
  2840.     /* [in] */ CY size);
  2841. void __RPC_STUB IFont_put_Size_Stub(
  2842.     IRpcStubBuffer *This,
  2843.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2844.     PRPC_MESSAGE _pRpcMessage,
  2845.     DWORD *_pdwStubPhase);
  2846. HRESULT STDMETHODCALLTYPE IFont_get_Bold_Proxy( 
  2847.     IFont * This,
  2848.     /* [out] */ BOOL *pBold);
  2849. void __RPC_STUB IFont_get_Bold_Stub(
  2850.     IRpcStubBuffer *This,
  2851.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2852.     PRPC_MESSAGE _pRpcMessage,
  2853.     DWORD *_pdwStubPhase);
  2854. HRESULT STDMETHODCALLTYPE IFont_put_Bold_Proxy( 
  2855.     IFont * This,
  2856.     /* [in] */ BOOL bold);
  2857. void __RPC_STUB IFont_put_Bold_Stub(
  2858.     IRpcStubBuffer *This,
  2859.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2860.     PRPC_MESSAGE _pRpcMessage,
  2861.     DWORD *_pdwStubPhase);
  2862. HRESULT STDMETHODCALLTYPE IFont_get_Italic_Proxy( 
  2863.     IFont * This,
  2864.     /* [out] */ BOOL *pItalic);
  2865. void __RPC_STUB IFont_get_Italic_Stub(
  2866.     IRpcStubBuffer *This,
  2867.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2868.     PRPC_MESSAGE _pRpcMessage,
  2869.     DWORD *_pdwStubPhase);
  2870. HRESULT STDMETHODCALLTYPE IFont_put_Italic_Proxy( 
  2871.     IFont * This,
  2872.     /* [in] */ BOOL italic);
  2873. void __RPC_STUB IFont_put_Italic_Stub(
  2874.     IRpcStubBuffer *This,
  2875.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2876.     PRPC_MESSAGE _pRpcMessage,
  2877.     DWORD *_pdwStubPhase);
  2878. HRESULT STDMETHODCALLTYPE IFont_get_Underline_Proxy( 
  2879.     IFont * This,
  2880.     /* [out] */ BOOL *pUnderline);
  2881. void __RPC_STUB IFont_get_Underline_Stub(
  2882.     IRpcStubBuffer *This,
  2883.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2884.     PRPC_MESSAGE _pRpcMessage,
  2885.     DWORD *_pdwStubPhase);
  2886. HRESULT STDMETHODCALLTYPE IFont_put_Underline_Proxy( 
  2887.     IFont * This,
  2888.     /* [in] */ BOOL underline);
  2889. void __RPC_STUB IFont_put_Underline_Stub(
  2890.     IRpcStubBuffer *This,
  2891.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2892.     PRPC_MESSAGE _pRpcMessage,
  2893.     DWORD *_pdwStubPhase);
  2894. HRESULT STDMETHODCALLTYPE IFont_get_Strikethrough_Proxy( 
  2895.     IFont * This,
  2896.     /* [out] */ BOOL *pStrikethrough);
  2897. void __RPC_STUB IFont_get_Strikethrough_Stub(
  2898.     IRpcStubBuffer *This,
  2899.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2900.     PRPC_MESSAGE _pRpcMessage,
  2901.     DWORD *_pdwStubPhase);
  2902. HRESULT STDMETHODCALLTYPE IFont_put_Strikethrough_Proxy( 
  2903.     IFont * This,
  2904.     /* [in] */ BOOL strikethrough);
  2905. void __RPC_STUB IFont_put_Strikethrough_Stub(
  2906.     IRpcStubBuffer *This,
  2907.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2908.     PRPC_MESSAGE _pRpcMessage,
  2909.     DWORD *_pdwStubPhase);
  2910. HRESULT STDMETHODCALLTYPE IFont_get_Weight_Proxy( 
  2911.     IFont * This,
  2912.     /* [out] */ SHORT *pWeight);
  2913. void __RPC_STUB IFont_get_Weight_Stub(
  2914.     IRpcStubBuffer *This,
  2915.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2916.     PRPC_MESSAGE _pRpcMessage,
  2917.     DWORD *_pdwStubPhase);
  2918. HRESULT STDMETHODCALLTYPE IFont_put_Weight_Proxy( 
  2919.     IFont * This,
  2920.     /* [in] */ SHORT weight);
  2921. void __RPC_STUB IFont_put_Weight_Stub(
  2922.     IRpcStubBuffer *This,
  2923.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2924.     PRPC_MESSAGE _pRpcMessage,
  2925.     DWORD *_pdwStubPhase);
  2926. HRESULT STDMETHODCALLTYPE IFont_get_Charset_Proxy( 
  2927.     IFont * This,
  2928.     /* [out] */ SHORT *pCharset);
  2929. void __RPC_STUB IFont_get_Charset_Stub(
  2930.     IRpcStubBuffer *This,
  2931.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2932.     PRPC_MESSAGE _pRpcMessage,
  2933.     DWORD *_pdwStubPhase);
  2934. HRESULT STDMETHODCALLTYPE IFont_put_Charset_Proxy( 
  2935.     IFont * This,
  2936.     /* [in] */ SHORT charset);
  2937. void __RPC_STUB IFont_put_Charset_Stub(
  2938.     IRpcStubBuffer *This,
  2939.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2940.     PRPC_MESSAGE _pRpcMessage,
  2941.     DWORD *_pdwStubPhase);
  2942. HRESULT STDMETHODCALLTYPE IFont_get_hFont_Proxy( 
  2943.     IFont * This,
  2944.     /* [out] */ HFONT *phFont);
  2945. void __RPC_STUB IFont_get_hFont_Stub(
  2946.     IRpcStubBuffer *This,
  2947.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2948.     PRPC_MESSAGE _pRpcMessage,
  2949.     DWORD *_pdwStubPhase);
  2950. HRESULT STDMETHODCALLTYPE IFont_Clone_Proxy( 
  2951.     IFont * This,
  2952.     /* [out] */ IFont **ppFont);
  2953. void __RPC_STUB IFont_Clone_Stub(
  2954.     IRpcStubBuffer *This,
  2955.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2956.     PRPC_MESSAGE _pRpcMessage,
  2957.     DWORD *_pdwStubPhase);
  2958. HRESULT STDMETHODCALLTYPE IFont_IsEqual_Proxy( 
  2959.     IFont * This,
  2960.     /* [in] */ IFont *pFontOther);
  2961. void __RPC_STUB IFont_IsEqual_Stub(
  2962.     IRpcStubBuffer *This,
  2963.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2964.     PRPC_MESSAGE _pRpcMessage,
  2965.     DWORD *_pdwStubPhase);
  2966. HRESULT STDMETHODCALLTYPE IFont_SetRatio_Proxy( 
  2967.     IFont * This,
  2968.     /* [in] */ LONG cyLogical,
  2969.     /* [in] */ LONG cyHimetric);
  2970. void __RPC_STUB IFont_SetRatio_Stub(
  2971.     IRpcStubBuffer *This,
  2972.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2973.     PRPC_MESSAGE _pRpcMessage,
  2974.     DWORD *_pdwStubPhase);
  2975. HRESULT STDMETHODCALLTYPE IFont_QueryTextMetrics_Proxy( 
  2976.     IFont * This,
  2977.     /* [out] */ TEXTMETRICOLE *pTM);
  2978. void __RPC_STUB IFont_QueryTextMetrics_Stub(
  2979.     IRpcStubBuffer *This,
  2980.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2981.     PRPC_MESSAGE _pRpcMessage,
  2982.     DWORD *_pdwStubPhase);
  2983. HRESULT STDMETHODCALLTYPE IFont_AddRefHfont_Proxy( 
  2984.     IFont * This,
  2985.     /* [in] */ HFONT hFont);
  2986. void __RPC_STUB IFont_AddRefHfont_Stub(
  2987.     IRpcStubBuffer *This,
  2988.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2989.     PRPC_MESSAGE _pRpcMessage,
  2990.     DWORD *_pdwStubPhase);
  2991. HRESULT STDMETHODCALLTYPE IFont_ReleaseHfont_Proxy( 
  2992.     IFont * This,
  2993.     /* [in] */ HFONT hFont);
  2994. void __RPC_STUB IFont_ReleaseHfont_Stub(
  2995.     IRpcStubBuffer *This,
  2996.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2997.     PRPC_MESSAGE _pRpcMessage,
  2998.     DWORD *_pdwStubPhase);
  2999. HRESULT STDMETHODCALLTYPE IFont_SetHdc_Proxy( 
  3000.     IFont * This,
  3001.     /* [in] */ HDC hDC);
  3002. void __RPC_STUB IFont_SetHdc_Stub(
  3003.     IRpcStubBuffer *This,
  3004.     IRpcChannelBuffer *_pRpcChannelBuffer,
  3005.     PRPC_MESSAGE _pRpcMessage,
  3006.     DWORD *_pdwStubPhase);
  3007. #endif  /* __IFont_INTERFACE_DEFINED__ */
  3008. #ifndef __IPicture_INTERFACE_DEFINED__
  3009. #define __IPicture_INTERFACE_DEFINED__
  3010. /* interface IPicture */
  3011. /* [unique][uuid][object] */ 
  3012. typedef IPicture *LPPICTURE;
  3013. typedef 
  3014. enum tagPictureAttributes
  3015.     { PICTURE_SCALABLE = 0x1,
  3016. PICTURE_TRANSPARENT = 0x2
  3017.     }  PICTUREATTRIBUTES;
  3018. typedef /* [public][uuid] */  DECLSPEC_UUID("66504313-BE0F-101A-8BBB-00AA00300CAB") UINT OLE_HANDLE;
  3019. typedef /* [hidden][uuid] */  DECLSPEC_UUID("66504306-BE0F-101A-8BBB-00AA00300CAB") LONG OLE_XPOS_HIMETRIC;
  3020. typedef /* [hidden][uuid] */  DECLSPEC_UUID("66504307-BE0F-101A-8BBB-00AA00300CAB") LONG OLE_YPOS_HIMETRIC;
  3021. typedef /* [hidden][uuid] */  DECLSPEC_UUID("66504308-BE0F-101A-8BBB-00AA00300CAB") LONG OLE_XSIZE_HIMETRIC;
  3022. typedef /* [hidden][uuid] */  DECLSPEC_UUID("66504309-BE0F-101A-8BBB-00AA00300CAB") LONG OLE_YSIZE_HIMETRIC;
  3023. EXTERN_C const IID IID_IPicture;
  3024. #if defined(__cplusplus) && !defined(CINTERFACE)
  3025.     
  3026.     MIDL_INTERFACE("7BF80980-BF32-101A-8BBB-00AA00300CAB")
  3027.     IPicture : public IUnknown
  3028.     {