Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

254 lines
8.8 KiB

  1. //=--------------------------------------------------------------------------=
  2. // Designer.H
  3. //=--------------------------------------------------------------------------=
  4. // Copyright (c) 1988-1996, Microsoft Corporation
  5. // All Rights Reserved
  6. // Information Contained Herein Is Proprietary and Confidential.
  7. //=--------------------------------------------------------------------------=
  8. // just about everything you might find useful in an ActiveX[tm] Designer.
  9. //
  10. #ifndef _DESIGNER_H_
  11. // CATID for Designers
  12. //
  13. // {4EB304D0-7555-11cf-A0C2-00AA0062BE57}
  14. DEFINE_GUID(CATID_Designer, 0x4eb304d0, 0x7555, 0x11cf, 0xa0, 0xc2, 0x0, 0xaa, 0x0, 0x62, 0xbe, 0x57);
  15. // IActiveDesigner
  16. //
  17. // {51AAE3E0-7486-11cf-A0C2-00AA0062BE57}
  18. DEFINE_GUID(IID_IActiveDesigner, 0x51aae3e0, 0x7486, 0x11cf, 0xa0, 0xc2, 0x0, 0xaa, 0x0, 0x62, 0xbe, 0x57);
  19. #undef INTERFACE
  20. #define INTERFACE IActiveDesigner
  21. DECLARE_INTERFACE_(IActiveDesigner, IUnknown)
  22. {
  23. // IUnknown methods
  24. //
  25. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  26. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  27. STDMETHOD_(ULONG,Release)(THIS) PURE;
  28. // IActiveDesigner methods
  29. //
  30. STDMETHOD(GetRuntimeClassID)(THIS_ CLSID *pclsid) PURE;
  31. STDMETHOD(GetRuntimeMiscStatusFlags)(THIS_ DWORD *pdwMiscFlags) PURE;
  32. STDMETHOD(QueryPersistenceInterface)(THIS_ REFIID riidPersist) PURE;
  33. STDMETHOD(SaveRuntimeState)(THIS_ REFIID riidPersist, REFIID riidObjStgMed, void *pObjStgMed) PURE;
  34. STDMETHOD(GetExtensibilityObject)(THIS_ IDispatch **ppvObjOut) PURE;
  35. };
  36. //-------------------------------------------------------------------------
  37. // IServiceProvider Interface
  38. // This interface is implemented by an object that wish to provide "services"
  39. //
  40. //-------------------------------------------------------------------------
  41. #ifndef __IServiceProvider_INTERFACE_DEFINED__
  42. #define __IServiceProvider_INTERFACE_DEFINED__
  43. #ifndef __IServiceProvider_INTERFACE_DEFINED
  44. #define __IServiceProvider_INTERFACE_DEFINED
  45. // { 6d5140c1-7436-11ce-8034-00aa006009fa }
  46. DEFINE_GUID(IID_IServiceProvider, 0x6d5140c1, 0x7436, 0x11ce, 0x80, 0x34, 0x00, 0xaa, 0x00, 0x60, 0x09, 0xfa);
  47. #undef INTERFACE
  48. #define INTERFACE IServiceProvider
  49. DECLARE_INTERFACE_(IServiceProvider, IUnknown)
  50. {
  51. BEGIN_INTERFACE
  52. // *** IUnknown methods ***
  53. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  54. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  55. STDMETHOD_(ULONG, Release)(THIS) PURE;
  56. // *** IServiceProvider methods ***
  57. STDMETHOD(QueryService)(THIS_
  58. /* [in] */ REFGUID rsid,
  59. /* [in] */ REFIID iid,
  60. /* [out] */ void ** ppvObj) PURE;
  61. };
  62. #endif // __IServiceProvider_INTERFACE_DEFINED
  63. #endif // __IServiceProvider_INTERFACE_DEFINED__
  64. //-------------------------------------------------------------------------
  65. // SCodeNavigate Service.
  66. // This service let's an extended object show the code module
  67. // behind it.
  68. //
  69. // interfaces implemented:
  70. // ICodeNavigate
  71. // ICodeNavigate2
  72. //-------------------------------------------------------------------------
  73. // { 6d5140c4-7436-11ce-8034-00aa006009fa }
  74. DEFINE_GUID(IID_ICodeNavigate, 0x6d5140c4, 0x7436, 0x11ce, 0x80, 0x34, 0x00, 0xaa, 0x00, 0x60, 0x09, 0xfa);
  75. #define SID_SCodeNavigate IID_ICodeNavigate
  76. #undef INTERFACE
  77. #define INTERFACE ICodeNavigate
  78. DECLARE_INTERFACE_(ICodeNavigate, IUnknown)
  79. {
  80. BEGIN_INTERFACE
  81. // *** IUnknown methods ***
  82. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  83. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  84. STDMETHOD_(ULONG, Release)(THIS) PURE;
  85. // *** ICodeNavigate methods ***
  86. STDMETHOD(DisplayDefaultEventHandler)(THIS_ /* [in] */ LPCOLESTR lpstrObjectName) PURE;
  87. };
  88. // { 2702ad60-3459-11d1-88fd-00a0c9110049 }
  89. DEFINE_GUID(IID_ICodeNavigate2, 0x2702ad60, 0x3459, 0x11d1, 0x88, 0xfd, 0x00, 0xa0, 0xc9, 0x11, 0x00, 0x49);
  90. #undef INTERFACE
  91. #define INTERFACE ICodeNavigate2
  92. DECLARE_INTERFACE_(ICodeNavigate2, ICodeNavigate)
  93. {
  94. BEGIN_INTERFACE
  95. // *** IUnknown methods ***
  96. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  97. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  98. STDMETHOD_(ULONG, Release)(THIS) PURE;
  99. // *** ICodeNavigate methods ***
  100. STDMETHOD(DisplayDefaultEventHandler)(THIS_ /* [in] */ LPCOLESTR lpstrObjectName) PURE;
  101. // *** ICodeNavigate2 methods ***
  102. STDMETHOD(DisplayEventHandler)(THIS_ /* [in] */ LPCOLESTR lpstrObjectName, LPCOLESTR lpstrEventName) PURE;
  103. };
  104. //-------------------------------------------------------------------------
  105. // STrackSelection Service
  106. // This service is used by the host to help designer track the
  107. // currently selected object in the host
  108. //
  109. // interfaces implemented:
  110. // ITrackSelection
  111. //-------------------------------------------------------------------------
  112. #define GETOBJS_ALL 1
  113. #define GETOBJS_SELECTED 2
  114. #define SELOBJS_ACTIVATE_WINDOW 1
  115. // { 6d5140c6-7436-11ce-8034-00aa006009fa }
  116. DEFINE_GUID(IID_ISelectionContainer, 0x6d5140c6, 0x7436, 0x11ce, 0x80, 0x34, 0x00, 0xaa, 0x00, 0x60, 0x09, 0xfa);
  117. #undef INTERFACE
  118. #define INTERFACE ISelectionContainer
  119. DECLARE_INTERFACE_(ISelectionContainer, IUnknown)
  120. {
  121. BEGIN_INTERFACE
  122. // *** IUnknown methods ***
  123. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  124. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  125. STDMETHOD_(ULONG, Release)(THIS) PURE;
  126. // *** ISelectionContainer methods ***
  127. STDMETHOD(CountObjects)(THIS_
  128. /* [in] */ DWORD dwFlags,
  129. /* [out] */ ULONG * pc) PURE;
  130. STDMETHOD(GetObjects)(THIS_
  131. /* [in] */ DWORD dwFlags,
  132. /* [in] */ ULONG cObjects,
  133. /* [out] */ IUnknown **apUnkObjects) PURE;
  134. STDMETHOD(SelectObjects)(THIS_
  135. /* [in] */ ULONG cSelect,
  136. /* [in] */ IUnknown **apUnkSelect,
  137. /* [in] */ DWORD dwFlags) PURE;
  138. };
  139. // { 6d5140c5-7436-11ce-8034-00aa006009fa }
  140. DEFINE_GUID(IID_ITrackSelection, 0x6d5140c5, 0x7436, 0x11ce, 0x80, 0x34, 0x00, 0xaa, 0x00, 0x60, 0x09, 0xfa);
  141. #define SID_STrackSelection IID_ITrackSelection
  142. #undef INTERFACE
  143. #define INTERFACE ITrackSelection
  144. DECLARE_INTERFACE_(ITrackSelection, IUnknown)
  145. {
  146. BEGIN_INTERFACE
  147. // *** IUnknown methods ***
  148. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  149. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  150. STDMETHOD_(ULONG, Release)(THIS) PURE;
  151. // *** ITrackSelection methods ***
  152. STDMETHOD(OnSelectChange)(THIS_
  153. /* [in] */ ISelectionContainer * pSC) PURE;
  154. };
  155. //-------------------------------------------------------------------------
  156. // SProfferTypelib Service
  157. // this service allows components and hosts to allow
  158. // them to add typelibs to the project
  159. //
  160. // interfaces implemented:
  161. // IProfferTypelib
  162. //-------------------------------------------------------------------------
  163. // { 718cc500-0a76-11cf-8045-00aa006009fa }
  164. DEFINE_GUID(IID_IProfferTypeLib, 0x718cc500, 0x0A76, 0x11cf, 0x80, 0x45, 0x00, 0xaa, 0x00, 0x60, 0x09, 0xfa);
  165. #define SID_SProfferTypeLib IID_IProfferTypeLib
  166. #define CONTROLTYPELIB (0x00000001)
  167. #undef INTERFACE
  168. #define INTERFACE IProfferTypeLib
  169. DECLARE_INTERFACE_(IProfferTypeLib, IUnknown)
  170. {
  171. BEGIN_INTERFACE
  172. // *** IUnknown methods ***
  173. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  174. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  175. STDMETHOD_(ULONG, Release)(THIS) PURE;
  176. // *** IProfferTypelib methods ***
  177. STDMETHOD(ProfferTypeLib)(THIS_
  178. /* [in] */ REFGUID guidTypeLib,
  179. /* [in] */ UINT uVerMaj,
  180. /* [in] */ UINT uVerMin,
  181. /* [in] */ DWORD dwFlags) PURE;
  182. };
  183. // { 468cfb80-b4f9-11cf-80dd-00aa00614895 }
  184. DEFINE_GUID(IID_IProvideDynamicClassInfo, 0x468cfb80, 0xb4f9, 0x11cf, 0x80, 0xdd, 0x00, 0xaa, 0x00, 0x61, 0x48, 0x95);
  185. #undef INTERFACE
  186. #define INTERFACE IProvideDynamicClassInfo
  187. DECLARE_INTERFACE_(IProvideDynamicClassInfo, IProvideClassInfo)
  188. {
  189. BEGIN_INTERFACE
  190. // *** IUnknown methods ***
  191. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  192. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  193. STDMETHOD_(ULONG, Release)(THIS) PURE;
  194. // *** IProvideDynamicClassInfo ***
  195. STDMETHOD(GetDynamicClassInfo)(THIS_ ITypeInfo ** ppTI, DWORD * pdwCookie) PURE;
  196. STDMETHOD(FreezeShape)(void) PURE;
  197. };
  198. //-------------------------------------------------------------------------
  199. // SApplicationObject Service
  200. // Host applications proffer their application [add-in model] object as
  201. // this service.
  202. // Various objects implement the "Application" property by returning
  203. // this service.
  204. //
  205. //-------------------------------------------------------------------------
  206. // { 0c539790-12e4-11cf-b661-00aa004cd6d8 }
  207. DEFINE_GUID(SID_SApplicationObject, 0x0c539790, 0x12e4, 0x11cf, 0xb6, 0x61, 0x00, 0xaa, 0x00, 0x4c, 0xd6, 0xd8);
  208. #define _DESIGNER_H_
  209. #endif // _DESIGNER_H_