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.

250 lines
9.4 KiB

  1. //=--------------------------------------------------------------------------=
  2. // AD98.H
  3. //=--------------------------------------------------------------------------=
  4. // Copyright (c) 1997-1998, Microsoft Corporation
  5. // All Rights Reserved
  6. // Information Contained Herein Is Proprietary and Confidential.
  7. //=--------------------------------------------------------------------------=
  8. // ActiveX[tm] Designer interfaces that are new for 1998.
  9. //=--------------------------------------------------------------------------=
  10. #ifndef _AD98_H_
  11. #define _AD98_H_
  12. #include "designer.h"
  13. //=--------------------------------------------------------------------------=
  14. // DesignerFeatures
  15. //=--------------------------------------------------------------------------=
  16. #define DESIGNERFEATURE_CANBEPUBLIC 0x00000001
  17. #define DESIGNERFEATURE_MUSTBEPUBLIC 0x00000002
  18. #define DESIGNERFEATURE_CANCREATE 0x00000004
  19. #define DESIGNERFEATURE_PREDECLAREDID 0x00000008
  20. #define DESIGNERFEATURE_DONTSITE 0x00000010
  21. #define DESIGNERFEATURE_REGISTRATION 0x00000020
  22. #define DESIGNERFEATURE_INPROCONLY 0x00000040
  23. #define DESIGNERFEATURE_DELAYEVENTSINKING 0x00000080
  24. #define DESIGNERFEATURE_NOTIFYBEFORERUN 0x00000100
  25. #define DESIGNERFEATURE_NOTIFYAFTERRUN 0x00000200
  26. #define DESIGNERFEATURE_STARTUPINFO 0x00000400
  27. //=--------------------------------------------------------------------------=
  28. // CATID_DesignerStatus
  29. //=--------------------------------------------------------------------------=
  30. DEFINE_GUID(CATID_DesignerFeatures, 0x3831d1b0, 0xef3a, 0x11d0, 0x94, 0xce, 0x00, 0xa0, 0xc9, 0x11, 0x10, 0xed);
  31. //=--------------------------------------------------------------------------=
  32. // Designer Ambients Property
  33. //
  34. // DISPID_AMBIENT_CLSID - CLSID of public designer object
  35. // DISPID_AMBIENT_SAVDEMODE - Ambient indicating where the designer is
  36. // being saved:
  37. // DESIGNERSAVEMODE_NORMAL (user's project file),
  38. // DESIGNERSAVEMODE_EXE (EXE or DLL file),
  39. // DESIGNERSAVEMODE_TEMPORARY (temp file for running in the IDE)
  40. // The value of this ambient property is valid only during the call
  41. // to IPersist[Stream|PropertyBag|etc.]::Save on the designer.
  42. //=--------------------------------------------------------------------------=
  43. #define DISPID_AMBIENT_CLSID (-740)
  44. #define DISPID_AMBIENT_SAVEMODE (-741)
  45. #define DISPID_AMBIENT_PROGID (-742)
  46. #define DISPID_AMBIENT_PROJECTDIRECTORY (-743)
  47. #define DISPID_AMBIENT_BUILDDIRECTORY (-744)
  48. #define DISPID_AMBIENT_INTERACTIVE (-745)
  49. #define DESIGNERSAVEMODE_NORMAL 0
  50. #define DESIGNERSAVEMODE_EXE 1
  51. #define DESIGNERSAVEMODE_TEMPORARY 2
  52. //=--------------------------------------------------------------------------=
  53. // IDesignerRegistration
  54. //=--------------------------------------------------------------------------=
  55. #define DESIGNERREGFLAG_INPROCSERVER 0x00000001
  56. #define DESIGNERREGFLAG_LOCALSERVER 0x00000002
  57. // DESIGNERREGINFO
  58. typedef struct tagDESIGNERREGINFO
  59. {
  60. ULONG cb;
  61. DWORD dwFlags;
  62. LPCOLESTR pszProgID;
  63. CLSID clsid;
  64. GUID guidTypeLib;
  65. WORD wVerMajor;
  66. WORD wVerMinor;
  67. BYTE * rgbRegInfo;
  68. } DESIGNERREGINFO;
  69. // 48d36f82-e8c2-11d0-94c4-00a0c91110ed
  70. DEFINE_GUID(IID_IDesignerRegistration, 0x48d36f82, 0xe8c2, 0x11d0, 0x94, 0xc4, 0x00, 0xa0, 0xc9, 0x11, 0x10, 0xed);
  71. #undef INTERFACE
  72. #define INTERFACE IDesignerRegistration
  73. DECLARE_INTERFACE_(IDesignerRegistration, IUnknown)
  74. {
  75. // IUnknown methods
  76. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  77. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  78. STDMETHOD_(ULONG,Release)(THIS) PURE;
  79. // IDesignerRegistration
  80. STDMETHOD(GetRegistrationInfo)(THIS_ BYTE** ppbRegInfo, ULONG* pcbRegInfo) PURE;
  81. };
  82. //=--------------------------------------------------------------------------=
  83. // IDesignerDebugging
  84. //=--------------------------------------------------------------------------=
  85. #define DESIGNERSTARTUPINFO_URL 0x00000001
  86. #define DESIGNERSTARTUPINFO_EXE 0x00000002
  87. typedef struct tagDESIGNERSTARTUPINFO
  88. {
  89. ULONG cb;
  90. DWORD dwStartupFlags;
  91. BSTR bstrStartupData;
  92. } DESIGNERSTARTUPINFO;
  93. // 48d36f83-e8c2-11d0-94c4-00a0c91110ed
  94. DEFINE_GUID(IID_IDesignerDebugging, 0x48d36f83, 0xe8c2, 0x11d0, 0x94, 0xc4, 0x00, 0xa0, 0xc9, 0x11, 0x10, 0xed);
  95. #undef INTERFACE
  96. #define INTERFACE IDesignerDebugging
  97. DECLARE_INTERFACE_(IDesignerDebugging, IUnknown)
  98. {
  99. // IUnknown methods
  100. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  101. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  102. STDMETHOD_(ULONG,Release)(THIS) PURE;
  103. // IDesignerDebugging methods
  104. STDMETHOD(BeforeRun)(LPVOID FAR* ppvData) PURE;
  105. STDMETHOD(AfterRun)(LPVOID pvData) PURE;
  106. STDMETHOD(GetStartupInfo)(THIS_ DESIGNERSTARTUPINFO * pStartupInfo) PURE;
  107. };
  108. //=--------------------------------------------------------------------------=
  109. // CF_CLSID, CF_DESIGNERTOOLBOXITEM, and CF_CLSIDCLASSNAME
  110. //=--------------------------------------------------------------------------=
  111. #ifndef CF_CLSID
  112. #define CF_CLSID "CLSID"
  113. #endif
  114. #define CF_DESIGNERTOOLBOXITEM "DesignerToolboxItem"
  115. #define CF_CLSIDCLASSNAME "ClsdIdClassName"
  116. //=--------------------------------------------------------------------------=
  117. // IDesignerToolbox
  118. //=--------------------------------------------------------------------------=
  119. // 48d36f85-e8c2-11d0-94c4-00a0c91110ed
  120. DEFINE_GUID(IID_IDesignerToolbox, 0x48d36f85, 0xe8c2, 0x11d0, 0x94, 0xc4, 0x00, 0xa0, 0xc9, 0x11, 0x10, 0xed);
  121. #undef INTERFACE
  122. #define INTERFACE IDesignerToolbox
  123. DECLARE_INTERFACE_(IDesignerToolbox, IUnknown)
  124. {
  125. // IUnknown methods
  126. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  127. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  128. STDMETHOD_(ULONG,Release)(THIS) PURE;
  129. // IDesignerToolbox methods
  130. STDMETHOD(IsSupported)(THIS_ IDataObject* pdo) PURE;
  131. STDMETHOD(ItemPicked)(THIS_ IDataObject* pdo) PURE;
  132. STDMETHOD(GetControlsInUse)(THIS_ DWORD * pcControls, CLSID ** prgClsid) PURE;
  133. };
  134. //=--------------------------------------------------------------------------=
  135. // IDesignerToolboxSite
  136. //=--------------------------------------------------------------------------=
  137. // 06d1e0a0-fc81-11d0-94dd-00a0c91110ed
  138. DEFINE_GUID(IID_IDesignerToolboxSite, 0x06d1e0a0, 0xfc81, 0x11d0, 0x94, 0xdd, 0x00, 0xa0, 0xc9, 0x11, 0x10, 0xed);
  139. #define SID_DesignerToolboxSite IID_IDesignerToolboxSite
  140. #undef INTERFACE
  141. #define INTERFACE IDesignerToolboxSite
  142. DECLARE_INTERFACE_(IDesignerToolboxSite, IUnknown)
  143. {
  144. // IUnknown methods
  145. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  146. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  147. STDMETHOD_(ULONG,Release)(THIS) PURE;
  148. // IDesignerToolboxSite methods
  149. STDMETHOD(GetData)(THIS_ IDataObject** ppdo) PURE;
  150. STDMETHOD(OnItemPicked)(THIS) PURE;
  151. STDMETHOD(AddControl)(THIS_ REFCLSID rclsid) PURE;
  152. };
  153. //=--------------------------------------------------------------------------=
  154. // IDesignerProgrammability
  155. //=--------------------------------------------------------------------------=
  156. // 06d1e0a1-fc81-11d0-94dd-00a0c91110ed
  157. DEFINE_GUID(IID_IDesignerProgrammability, 0x06d1e0a1, 0xfc81, 0x11d0, 0x94, 0xdd, 0x00, 0xa0, 0xc9, 0x11, 0x10, 0xed);
  158. #define SID_DesignerProgrammability IID_IDesignerProgrammability
  159. #undef INTERFACE
  160. #define INTERFACE IDesignerProgrammability
  161. DECLARE_INTERFACE_(IDesignerProgrammability, IUnknown)
  162. {
  163. // IUnknown methods
  164. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  165. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  166. STDMETHOD_(ULONG,Release)(THIS) PURE;
  167. // IDesignerProgrammability methods
  168. STDMETHOD(IsValidIdentifier)(THIS_ LPCOLESTR pszId) PURE;
  169. STDMETHOD(IsValidEventName)(THIS_ LPCOLESTR pszEvent) PURE;
  170. STDMETHOD(MakeValidIdentifier)(THIS_ LPCOLESTR pszId, LPOLESTR * ppszValidId) PURE;
  171. };
  172. //=--------------------------------------------------------------------------=
  173. // IActiveDesignerRuntimeSite
  174. //=--------------------------------------------------------------------------=
  175. DEFINE_GUID(IID_IActiveDesignerRuntimeSite, 0xcf2abba0, 0x9450, 0x11d1, 0x89, 0x34, 0x00, 0xa0, 0xc9, 0x11, 0x00, 0x49);
  176. #undef INTERFACE
  177. #define INTERFACE IActiveDesignerRuntimeSite
  178. DECLARE_INTERFACE_(IActiveDesignerRuntimeSite, IUnknown)
  179. {
  180. // IUnknown methods
  181. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  182. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  183. STDMETHOD_(ULONG,Release)(THIS) PURE;
  184. STDMETHOD(GetAdviseSink)(THIS_ MEMBERID memid, IUnknown ** ppunkSink) PURE;
  185. };
  186. //=--------------------------------------------------------------------------=
  187. // IActiveDesignerRuntime
  188. //=--------------------------------------------------------------------------=
  189. DEFINE_GUID(IID_IActiveDesignerRuntime, 0xcf2abba1, 0x9450, 0x11d1, 0x89, 0x34, 0x00, 0xa0, 0xc9, 0x11, 0x00, 0x49);
  190. #undef INTERFACE
  191. #define INTERFACE IActiveDesignerRuntime
  192. DECLARE_INTERFACE_(IActiveDesignerRuntime, IUnknown)
  193. {
  194. // IUnknown methods
  195. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  196. STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  197. STDMETHOD_(ULONG,Release)(THIS) PURE;
  198. // IActiveDesignerRuntime
  199. STDMETHOD(SetSite)(THIS_ IActiveDesignerRuntimeSite * pSite) PURE;
  200. };
  201. #endif // _AD98_H_