Leaked source code of windows server 2003
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.

295 lines
13 KiB

  1. // marscore.idl : IDL source for marscore.dll
  2. //
  3. // This file will be processed by the MIDL tool to
  4. // produce the type library (marscore.tlb) and marshalling code.
  5. import "oaidl.idl";
  6. import "ocidl.idl";
  7. import "mshtml.idl";
  8. #ifdef USE_DOWNLOADMANAGER
  9. import "dlmgridl.idl";
  10. #endif
  11. #include "olectl.h"
  12. cpp_quote("#define MTF_USE_DEFAULT_POS 0x00000001")
  13. cpp_quote("#define MTF_MANAGE_WINDOW_SIZE 0x00000002")
  14. cpp_quote("#define MTF_DONT_SHOW_WINDOW 0x00000004")
  15. cpp_quote("#define MTF_RESTORING_FROM_REGISTRY 0x00000008")
  16. //// LEGACY CODE CHECK:
  17. //// LEGACY CODE CHECK: -----Original Message-----
  18. //// LEGACY CODE CHECK: From: Oleg Ovetchkine
  19. //// LEGACY CODE CHECK: Sent: Thursday, May 03, 2001 2:46 PM
  20. //// LEGACY CODE CHECK: To: Desktop Delta Mail Communications; IE Check-in Mail; IE Build Lab
  21. //// LEGACY CODE CHECK: Subject: Lab06: (G) Approved bug fix
  22. //// LEGACY CODE CHECK:
  23. //// LEGACY CODE CHECK:
  24. //// LEGACY CODE CHECK: 26693 HSS:UI:Bad redraw shifts navbar down and right a few pixels, leaving a transparent band top & left
  25. //// LEGACY CODE CHECK:
  26. //// LEGACY CODE CHECK: We have legacy code that supposed to render UI active border around trident when it is hosted.
  27. //// LEGACY CODE CHECK: The bug happens due to two events. First, we set border flag to TRUE while processing CRootElement::BecomeUIActive(),
  28. //// LEGACY CODE CHECK: second because of the flag we inflate window region rectangle by 4 pixels each side,
  29. //// LEGACY CODE CHECK: which causes four pixels bands not to be rendering from left and top sides later.
  30. //// LEGACY CODE CHECK:
  31. //// LEGACY CODE CHECK: We already have a bit flag that suppresses setting border flag in first place (CServer::_fMsoDocMode.
  32. //// LEGACY CODE CHECK: _fMsoDocMode == TRUE when client supports IID_IOleDocumentSite).
  33. //// LEGACY CODE CHECK:
  34. //// LEGACY CODE CHECK: Taking into acount the stage we are now, my suggestion whould be to implement appHack fix for HSS
  35. //// LEGACY CODE CHECK: by introducing one more bit flag on CDoc object, set it to TRUE when Trident is hosted by HSS and
  36. //// LEGACY CODE CHECK: suppress border flag when appHack flag is TRUE. I have worked out the way to recognize HSS application with dmassare,
  37. //// LEGACY CODE CHECK: implemented the fix and verified it on HSS.
  38. //// LEGACY CODE CHECK:
  39. //// LEGACY CODE CHECK:
  40. //// LEGACY CODE CHECK: !!NEVER!! change GUID for SID_SMarsPanel and IMarsPanel.
  41. //// LEGACY CODE CHECK:
  42. typedef struct
  43. {
  44. UINT cbSize;
  45. HICON hIcon;
  46. int nCmdShow;
  47. DWORD dwFlags;
  48. LPCWSTR pwszTitle;
  49. LPCWSTR pwszPanelURL;
  50. LPCWSTR pwszFirstPlace;
  51. RECT rcDefaultPosition;
  52. }
  53. MARSTHREADPARAM;
  54. [
  55. uuid(88519F49-040A-11D3-9883-00C04FA35C89),
  56. version(1.0)
  57. ]
  58. library MARSCORELib
  59. {
  60. importlib("stdole32.tlb");
  61. importlib("stdole2.tlb");
  62. [
  63. object,
  64. uuid(988934A0-064B-11D3-BB80-00104B35E7F9),
  65. dual,
  66. pointer_default(unique)
  67. ]
  68. interface IMarsPanel : IDispatch
  69. {
  70. [propget, id( 1)] HRESULT name ( [out, retval] BSTR *pVal );
  71. [propget, id( 2)] HRESULT content ( [out, retval] IDispatch* *pVal );
  72. [propget, id( 3)] HRESULT visible ( [out, retval] VARIANT_BOOL *pVal );
  73. [propput, id( 3)] HRESULT visible ( [in ] VARIANT_BOOL newVal );
  74. [propget, id( 4)] HRESULT startUrl ( [out, retval] BSTR *pVal );
  75. [propput, id( 4)] HRESULT startUrl ( [in ] BSTR newVal );
  76. [propget, id( 5)] HRESULT height ( [out, retval] long *pVal );
  77. [propput, id( 5)] HRESULT height ( [in ] long newVal );
  78. [propget, id( 6)] HRESULT width ( [out, retval] long *pVal );
  79. [propput, id( 6)] HRESULT width ( [in ] long newVal );
  80. [propget, id( 7)] HRESULT x ( [out, retval] long *pVal );
  81. [propput, id( 7)] HRESULT x ( [in ] long newVal );
  82. [propget, id( 8)] HRESULT y ( [out, retval] long *pVal );
  83. [propput, id( 8)] HRESULT y ( [in ] long newVal );
  84. [propget, id( 9)] HRESULT position ( [out, retval] VARIANT *pVal );
  85. [propput, id( 9)] HRESULT position ( [in ] VARIANT newVal );
  86. [propget, id(10)] HRESULT autoSize ( [out, retval] VARIANT_BOOL *pVal );
  87. [propput, id(10)] HRESULT autoSize ( [in ] VARIANT_BOOL newVal );
  88. [propget, id(11)] HRESULT contentInvalid ( [out, retval] VARIANT_BOOL *pVal );
  89. [propput, id(11)] HRESULT contentInvalid ( [in ] VARIANT_BOOL newVal );
  90. [propget, id(12)] HRESULT layoutIndex ( [out, retval] long *pVal );
  91. [propget, id(13)] HRESULT isCurrentlyVisible( [out, retval] VARIANT_BOOL *pVal );
  92. [id(20)] HRESULT moveto( [in] VARIANT lX, [in] VARIANT lY, [in] VARIANT lWidth, [in] VARIANT lHeight );
  93. [id(21)] HRESULT restrictHeight( [in] VARIANT lMin, [in] VARIANT lMax, [in] VARIANT varMarker );
  94. [id(22)] HRESULT restrictWidth ( [in] VARIANT lMin, [in] VARIANT lMax, [in] VARIANT varMarker );
  95. [id(23)] HRESULT canResize( [in] long lDX, [in] long lDY, [out, retval] VARIANT_BOOL *pVal );
  96. [id(24)] HRESULT navigate([in] VARIANT varTarget, [in, optional] VARIANT varForceLoad);
  97. [id(25)] HRESULT refresh();
  98. [id(26)] HRESULT activate();
  99. [id(27)] HRESULT insertBefore( [in] VARIANT varInsertBefore );
  100. [id(28)] HRESULT execMshtml( [in ] DWORD nCmdID ,
  101. [in ] DWORD nCmdExecOpt ,
  102. [in, optional] VARIANTARG *pvaIn ,
  103. [in, out, optional] VARIANTARG *pvaOut );
  104. }
  105. [
  106. object,
  107. uuid(988934A1-064B-11D3-BB80-00104B35E7F9),
  108. dual,
  109. pointer_default(unique)
  110. ]
  111. interface IMarsPanelCollection : IDispatch
  112. {
  113. [propget, id(1000) ] HRESULT length ( [out, retval] LONG *plNumPanels );
  114. [propget, id(DISPID_VALUE) ] HRESULT item ( [in] VARIANT varPanel, [out, retval] IMarsPanel* *ppPanel );
  115. [propget, id(DISPID_NEWENUM), hidden, restricted] HRESULT _newEnum( [out, retval] IUnknown* *ppEnumPanels );
  116. [propget, id(1)] HRESULT panel( [in] BSTR bstrName, [out, retval] IMarsPanel* *ppPanel );
  117. [id(2)] HRESULT addPanel( [in ] BSTR bstrName ,
  118. [in ] VARIANT varType ,
  119. [in ] BSTR bstrStartUrl ,
  120. [in ] VARIANT varCreate ,
  121. [in ] long lFlags ,
  122. [out, retval] IMarsPanel* *ppPanel );
  123. [id(3)] HRESULT removePanel([in] BSTR bstrName);
  124. [id(4)] HRESULT lockLayout ();
  125. [id(5)] HRESULT unlockLayout();
  126. [propget, id(6)] HRESULT activePanel( [out, retval] IMarsPanel* *ppPanel );
  127. };
  128. [
  129. object,
  130. uuid(988934A2-064B-11D3-BB80-00104B35E7F9),
  131. dual,
  132. pointer_default(unique)
  133. ]
  134. interface IMarsPlace : IDispatch
  135. {
  136. [propget, id(1)] HRESULT name( [out, retval] BSTR *pbstrName );
  137. [id(2)] HRESULT transitionTo();
  138. };
  139. [
  140. object,
  141. uuid(988934A3-064B-11D3-BB80-00104B35E7F9),
  142. dual,
  143. pointer_default(unique)
  144. ]
  145. interface IMarsPlaceCollection : IDispatch
  146. {
  147. [ id(1)] HRESULT place ( [in] BSTR bstrName, [out, retval] IMarsPlace* *ppMarsPlace );
  148. [propget, id(2)] HRESULT currentPlace( [out, retval] IMarsPlace* *ppMarsPlace );
  149. [ id(3)] HRESULT transitionTo( [in] BSTR bstrName );
  150. };
  151. [
  152. object,
  153. uuid(E2984BA5-294A-4cc5-8CA9-82CDDEC72DD0),
  154. dual,
  155. pointer_default(unique)
  156. ]
  157. interface IMarsWindowOM : IDispatch
  158. {
  159. [propget, id( 1)] HRESULT active ( [out, retval] VARIANT_BOOL *pVal );
  160. [propget, id( 2)] HRESULT minimized( [out, retval] VARIANT_BOOL *pVal );
  161. [propput, id( 2)] HRESULT minimized( [in ] VARIANT_BOOL newVal );
  162. [propget, id( 3)] HRESULT maximized( [out, retval] VARIANT_BOOL *pVal );
  163. [propput, id( 3)] HRESULT maximized( [in ] VARIANT_BOOL newVal );
  164. [propget, id( 4)] HRESULT title ( [out, retval] BSTR *pVal );
  165. [propput, id( 4)] HRESULT title ( [in ] BSTR newVal );
  166. [propget, id( 5)] HRESULT x ( [out, retval] long *pVal );
  167. [propput, id( 5)] HRESULT x ( [in ] long newVal );
  168. [propget, id( 6)] HRESULT y ( [out, retval] long *pVal );
  169. [propput, id( 6)] HRESULT y ( [in ] long newVal );
  170. [propget, id( 7)] HRESULT width ( [out, retval] long *pVal );
  171. [propput, id( 7)] HRESULT width ( [in ] long newVal );
  172. [propget, id( 8)] HRESULT height ( [out, retval] long *pVal );
  173. [propput, id( 8)] HRESULT height ( [in ] long newVal );
  174. [propget, id( 9)] HRESULT visible ( [out, retval] VARIANT_BOOL *pVal );
  175. [propput, id( 9)] HRESULT visible ( [in ] VARIANT_BOOL newVal );
  176. [propget, id(15)] HRESULT panels( [out, retval] IMarsPanelCollection* *ppPanels );
  177. [propget, id(16)] HRESULT places( [out, retval] IMarsPlaceCollection* *ppPlaces );
  178. [id(20)] HRESULT setWindowDimensions( [in] long lX, [in] long lY, [in] long lW, [in] long lH );
  179. [id(21)] HRESULT close();
  180. [id(22)] HRESULT refreshLayout();
  181. }
  182. [
  183. uuid(6E204F82-E5AB-4567-B28E-57A5C8BFDDB6),
  184. ]
  185. coclass MarsExternal
  186. {
  187. [default] interface IMarsExternal;
  188. };
  189. cpp_quote("#define MARS_E_BAD_FIREEVENT_ARGS 1000")
  190. cpp_quote("")
  191. cpp_quote("// {24EC0AE8-734E-4c18-B191-6D3BF1D9413B}")
  192. cpp_quote("DEFINE_GUID(SID_SMarsPanel, ")
  193. cpp_quote("0x24ec0ae8, 0x734e, 0x4c18, 0xb1, 0x91, 0x6d, 0x3b, 0xf1, 0xd9, 0x41, 0x3b);")
  194. cpp_quote("")
  195. cpp_quote("// {CECC5FD8-4FEF-448f-B5CB-59E44F9D7ED5}")
  196. cpp_quote("DEFINE_GUID(SID_SMarsWindow, ")
  197. cpp_quote("0xcecc5fd8, 0x4fef, 0x448f, 0xb5, 0xcb, 0x59, 0xe4, 0x4f, 0x9d, 0x7e, 0xd5);")
  198. cpp_quote("")
  199. cpp_quote("// {6A0DFD86-87FD-4722-A21B-31920DCECBFE}")
  200. cpp_quote("DEFINE_GUID(SID_SMarsDocument, ")
  201. cpp_quote("0x6a0dfd86, 0x87fd, 0x4722, 0xa2, 0x1b, 0x31, 0x92, 0xd, 0xce, 0xcb, 0xfe);")
  202. cpp_quote("")
  203. cpp_quote("// {847F06DF-970F-4535-883F-B780CB605A12}")
  204. cpp_quote("DEFINE_GUID(SID_SMarsHost, ")
  205. cpp_quote("0x847f06df, 0x970f, 0x4535, 0x88, 0x3f, 0xb7, 0x80, 0xcb, 0x60, 0x5a, 0x12);")
  206. cpp_quote("")
  207. cpp_quote("typedef HRESULT (STDMETHODCALLTYPE *PFNMARSTHREADPROC)(IMarsHost *pMarsHost, MARSTHREADPARAM *pThreadParam);")
  208. cpp_quote("#define ORD_MARSTHREADPROC 5")
  209. };
  210. [
  211. object,
  212. uuid(CC6FFEB0-E379-427a-9810-A16B7A826A89),
  213. pointer_default(unique)
  214. ]
  215. interface IMarsHost : IUnknown
  216. {
  217. typedef enum
  218. {
  219. // punk - a mars window
  220. // lParam - WINDOWPLACEMENT*
  221. MARSHOST_ON_WIN_SETPOS,
  222. // punk - a mars window
  223. // lParam - unused
  224. MARSHOST_ON_WIN_INIT,
  225. MARSHOST_ON_WIN_READY,
  226. MARSHOST_ON_WIN_PASSIVATE,
  227. // punk - a mars panel
  228. // lParam - unused
  229. MARSHOST_ON_PANEL_INIT,
  230. MARSHOST_ON_PANEL_PASSIVATE,
  231. MARSHOST_ON_PANEL_CONTROL_CREATE,
  232. // punk - a mars place
  233. // lParam - unused
  234. MARSHOST_ON_PLACE_TRANSITION_DONE,
  235. // punk - IUnknown of the faulting document
  236. // lParam - unused
  237. MARSHOST_ON_SCRIPT_ERROR,
  238. }
  239. MARSHOSTEVENT;
  240. HRESULT OnHostNotify([in] MARSHOSTEVENT event, [in] IUnknown *punk, [in] LPARAM lParam);
  241. HRESULT PreTranslateMessage( [in] MSG* msg );
  242. };
  243. [
  244. object,
  245. uuid(B616B681-04D6-11D3-9883-00C04FA35C89),
  246. dual,
  247. pointer_default(unique)
  248. ]
  249. interface IMarsExternal : IDispatch
  250. {
  251. [propget, id(1)] HRESULT singleButtonMouse( [out, retval] VARIANT_BOOL *pVal );
  252. [propput, id(1)] HRESULT singleButtonMouse( [in ] VARIANT_BOOL newVal );
  253. [propget, id(2)] HRESULT panels ( [out, retval] IMarsPanelCollection* *pVal );
  254. [propget, id(3)] HRESULT places ( [out, retval] IMarsPlaceCollection* *pVal );
  255. [propget, id(4)] HRESULT window ( [out, retval] IMarsWindowOM* *pVal );
  256. };