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.

964 lines
46 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright 1995-1998 Microsoft Corporation. All Rights Reserved.
  5. //
  6. //--------------------------------------------------------------------------
  7. import "ocidl.idl";
  8. import "docobj.idl";
  9. #include <olectl.h>
  10. #include "exdispid.h"
  11. [
  12. uuid(EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B), // LIBID_ShDocVw
  13. helpstring("Microsoft Internet Controls"),
  14. lcid(0x0000),
  15. version(1.1)
  16. ]
  17. library SHDocVw {
  18. importlib("stdole2.tlb");
  19. [
  20. uuid(EAB22AC1-30C1-11CF-A7EB-0000C05BAE0B), // IID_IWebBrowser
  21. helpstring("Web Browser interface"),
  22. helpcontext(0x0000),
  23. hidden,
  24. dual,
  25. oleautomation,
  26. odl
  27. ]
  28. interface IWebBrowser : IDispatch
  29. {
  30. [id(100), helpstring("Navigates to the previous item in the history list."), helpcontext(0x0000)]
  31. HRESULT GoBack();
  32. [id(101), helpstring("Navigates to the next item in the history list."), helpcontext(0x0000)]
  33. HRESULT GoForward();
  34. [id(102), helpstring("Go home/start page."), helpcontext(0x0000)]
  35. HRESULT GoHome();
  36. [id(103), helpstring("Go Search Page."), helpcontext(0x0000)]
  37. HRESULT GoSearch();
  38. [id(104), helpstring("Navigates to a URL or file."), helpcontext(0x0000)]
  39. HRESULT Navigate([in] BSTR URL,
  40. [in, optional] VARIANT * Flags,
  41. [in, optional] VARIANT * TargetFrameName,
  42. [in, optional] VARIANT * PostData,
  43. [in, optional] VARIANT * Headers);
  44. typedef
  45. [
  46. uuid(14EE5380-A378-11cf-A731-00A0C9082637),
  47. helpstring("Constants for WebBrowser navigation flags")
  48. ]
  49. enum BrowserNavConstants {
  50. [helpstring("Open in new window")] navOpenInNewWindow = 0x0001,
  51. [helpstring("Exclude from history list")] navNoHistory = 0x0002,
  52. [helpstring("Don't read from cache")] navNoReadFromCache = 0x0004,
  53. [helpstring("Don't write from cache")] navNoWriteToCache = 0x0008,
  54. [helpstring("Try other sites on failure")] navAllowAutosearch = 0x0010,
  55. [helpstring("OpenBrowserBar")] navBrowserBar = 0x0020,
  56. [helpstring("Hyperlink")] navHyperlink = 0x0040,
  57. [helpstring("Enforce restricted zone")] navEnforceRestricted = 0x0080
  58. } BrowserNavConstants;
  59. [id(DISPID_REFRESH), helpstring("Refresh the currently viewed page."), helpcontext(0x0000)]
  60. HRESULT Refresh();
  61. // The standard Refresh takes no parameters and we need some... use a new name
  62. [id(105), helpstring("Refresh the currently viewed page."), helpcontext(0x0000)]
  63. HRESULT Refresh2([in,optional] VARIANT * Level);
  64. typedef
  65. [
  66. uuid(C317C261-A991-11cf-A731-00A0C9082637),
  67. helpstring("Constants for Refresh")
  68. ]
  69. enum RefreshConstants { // must map to these in sdk\inc\docobj.h
  70. [helpstring("Refresh normal")] REFRESH_NORMAL = 0, //== OLECMDIDF_REFRESH_NORMAL
  71. [helpstring("Refresh if expired")] REFRESH_IFEXPIRED = 1, //== OLECMDIDF_REFRESH_IFEXPIRED
  72. [helpstring("Refresh completely")] REFRESH_COMPLETELY = 3 //== OLECMDIDF_REFRESH_COMPLETELY
  73. } RefreshConstants;
  74. [id(106), helpstring("Stops opening a file."), helpcontext(0x0000)]
  75. HRESULT Stop();
  76. // Automation heirarchy...
  77. [id(200), propget, helpstring("Returns the application automation object if accessible, this automation object otherwise.."), helpcontext(0x0000)]
  78. HRESULT Application([out,retval] IDispatch** ppDisp);
  79. [id(201), propget, helpstring("Returns the automation object of the container/parent if one exists or this automation object."), helpcontext(0x0000)]
  80. HRESULT Parent([out,retval] IDispatch** ppDisp);
  81. [id(202), propget, helpstring("Returns the container/parent automation object, if any."), helpcontext(0x0000)]
  82. HRESULT Container([out,retval] IDispatch** ppDisp);
  83. [id(203), propget, helpstring("Returns the active Document automation object, if any."), helpcontext(0x0000)]
  84. HRESULT Document([out,retval] IDispatch** ppDisp);
  85. [id(204), propget, helpstring("Returns True if this is the top level object."), helpcontext(0x0000)]
  86. HRESULT TopLevelContainer([out, retval] VARIANT_BOOL* pBool);
  87. [id(205), propget, helpstring("Returns the type of the contained document object."), helpcontext(0x0000)]
  88. HRESULT Type([out,retval] BSTR* Type);
  89. // Window stuff...
  90. [id(206), propget, helpstring("The horizontal position (pixels) of the frame window relative to the screen/container."), helpcontext(0x0000)]
  91. HRESULT Left([out, retval] long *pl);
  92. [id(206), propput]
  93. HRESULT Left([in] long Left);
  94. [id(207), propget, helpstring("The vertical position (pixels) of the frame window relative to the screen/container."), helpcontext(0x0000)]
  95. HRESULT Top([out, retval] long *pl);
  96. [id(207), propput]
  97. HRESULT Top([in] long Top);
  98. [id(208), propget, helpstring("The horizontal dimension (pixels) of the frame window/object."), helpcontext(0x0000)]
  99. HRESULT Width([out, retval] long *pl);
  100. [id(208), propput]
  101. HRESULT Width([in] long Width);
  102. [id(209), propget, helpstring("The vertical dimension (pixels) of the frame window/object."), helpcontext(0x0000)]
  103. HRESULT Height([out, retval] long *pl);
  104. [id(209), propput]
  105. HRESULT Height([in] long Height);
  106. // WebBrowser stuff...
  107. [id(210), propget, helpstring("Gets the short (UI-friendly) name of the URL/file currently viewed."), helpcontext(0x0000)]
  108. HRESULT LocationName([out,retval] BSTR *LocationName);
  109. [id(211), propget, helpstring("Gets the full URL/path currently viewed."), helpcontext(0x0000)]
  110. HRESULT LocationURL([out,retval] BSTR * LocationURL);
  111. // Added a property to see if the viewer is currenly busy or not...
  112. [id(212), propget, helpstring("Query to see if something is still in progress."), helpcontext(0x0000)]
  113. HRESULT Busy([out,retval] VARIANT_BOOL *pBool);
  114. }
  115. [
  116. uuid(EAB22AC2-30C1-11CF-A7EB-0000C05BAE0B), // DIID_DWebBrowserEvents
  117. helpstring("Web Browser Control Events (old)"),
  118. hidden
  119. ]
  120. dispinterface DWebBrowserEvents
  121. {
  122. properties:
  123. methods:
  124. [id(DISPID_BEFORENAVIGATE), helpstring("Fired when a new hyperlink is being navigated to."), helpcontext(0x0000)]
  125. void BeforeNavigate([in] BSTR URL, long Flags, BSTR TargetFrameName, VARIANT * PostData, BSTR Headers, [in, out]VARIANT_BOOL * Cancel);
  126. [id(DISPID_NAVIGATECOMPLETE), helpstring("Fired when the document being navigated to becomes visible and enters the navigation stack."), helpcontext(0x0000)]
  127. void NavigateComplete([in] BSTR URL );
  128. [id(DISPID_STATUSTEXTCHANGE), helpstring("Statusbar text changed."), helpcontext(0x0000)]
  129. void StatusTextChange([in]BSTR Text);
  130. [id(DISPID_PROGRESSCHANGE), helpstring("Fired when download progress is updated."), helpcontext(0x0000)]
  131. void ProgressChange([in] long Progress, [in] long ProgressMax);
  132. [id(DISPID_DOWNLOADCOMPLETE), helpstring("Download of page complete."), helpcontext(0x0000)]
  133. void DownloadComplete();
  134. [id(DISPID_COMMANDSTATECHANGE), helpstring("The enabled state of a command changed"), helpcontext(0x0000)]
  135. void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable);
  136. [id(DISPID_DOWNLOADBEGIN), helpstring("Download of a page started."), helpcontext(0x000)]
  137. void DownloadBegin();
  138. [id(DISPID_NEWWINDOW), helpstring("Fired when a new window should be created."), helpcontext(0x0000)]
  139. void NewWindow([in] BSTR URL, [in] long Flags, [in] BSTR TargetFrameName, [in] VARIANT * PostData, [in] BSTR Headers, [in,out] VARIANT_BOOL * Processed);
  140. [id(DISPID_TITLECHANGE), helpstring("Document title changed."), helpcontext(0x0000)]
  141. void TitleChange([in]BSTR Text);
  142. [id(DISPID_FRAMEBEFORENAVIGATE), helpstring("Fired when a new hyperlink is being navigated to in a frame."), helpcontext(0x0000)]
  143. void FrameBeforeNavigate([in] BSTR URL, long Flags, BSTR TargetFrameName, VARIANT * PostData, BSTR Headers, [in, out]VARIANT_BOOL * Cancel);
  144. [id(DISPID_FRAMENAVIGATECOMPLETE), helpstring("Fired when a new hyperlink is being navigated to in a frame."), helpcontext(0x0000)]
  145. void FrameNavigateComplete([in] BSTR URL );
  146. [id(DISPID_FRAMENEWWINDOW), helpstring("Fired when a new window should be created."), helpcontext(0x0000)]
  147. void FrameNewWindow([in] BSTR URL, [in] long Flags, [in] BSTR TargetFrameName, [in] VARIANT * PostData, [in] BSTR Headers, [in,out] VARIANT_BOOL * Processed);
  148. // The following are IWebBrowserApp specific:
  149. //
  150. [id(DISPID_QUIT), helpstring("Fired when application is quiting."), helpcontext(0x0000)]
  151. void Quit([in, out] VARIANT_BOOL * Cancel);
  152. [id(DISPID_WINDOWMOVE), helpstring("Fired when window has been moved."), helpcontext(0x0000)]
  153. void WindowMove();
  154. [id(DISPID_WINDOWRESIZE), helpstring("Fired when window has been sized."), helpcontext(0x0000)]
  155. void WindowResize();
  156. [id(DISPID_WINDOWACTIVATE), helpstring("Fired when window has been activated."), helpcontext(0x0000)]
  157. void WindowActivate();
  158. [id(DISPID_PROPERTYCHANGE), helpstring("Fired when the PutProperty method has been called."), helpcontext(0x0000)]
  159. void PropertyChange([in] BSTR Property);
  160. }
  161. typedef
  162. [
  163. uuid(34A226E0-DF30-11CF-89A9-00A0C9054129),
  164. helpstring("Constants for WebBrowser CommandStateChange")
  165. ]
  166. enum CommandStateChangeConstants {
  167. [helpstring("Command Change")] CSC_UPDATECOMMANDS = 0xFFFFFFFF,
  168. [helpstring("Navigate Forward")] CSC_NAVIGATEFORWARD = 0x00000001,
  169. [helpstring("Navigate Back")] CSC_NAVIGATEBACK = 0x00000002,
  170. } CommandStateChangeConstants;
  171. [
  172. uuid(0002DF05-0000-0000-C000-000000000046), // IID_IWebBrowserApp
  173. helpstring("Web Browser Application Interface."),
  174. helpcontext(0x0000),
  175. hidden,
  176. oleautomation,
  177. dual
  178. ]
  179. interface IWebBrowserApp : IWebBrowser
  180. {
  181. [id(300), helpstring("Exits application and closes the open document."), helpcontext(0x0000)]
  182. HRESULT Quit();
  183. [id(301), helpstring("Converts client sizes into window sizes."), helpcontext(0x0000)]
  184. HRESULT ClientToWindow([in,out] int* pcx, [in,out] int* pcy);
  185. [id(302), helpstring("Associates vtValue with the name szProperty in the context of the object."), helpcontext(0x0000)]
  186. HRESULT PutProperty([in] BSTR Property, [in] VARIANT vtValue);
  187. [id(303), helpstring("Retrieve the Associated value for the property vtValue in the context of the object."), helpcontext(0x0000)]
  188. HRESULT GetProperty([in] BSTR Property, [out, retval] VARIANT *pvtValue);
  189. [id(0), propget, helpstring("Returns name of the application."), helpcontext(0x0000)]
  190. HRESULT Name([out,retval] BSTR* Name);
  191. [id(DISPID_HWND), propget, helpstring("Returns the HWND of the current IE window."), helpcontext(0x0000)]
  192. HRESULT HWND([out,retval] SHANDLE_PTR * pHWND);
  193. [id(400), propget, helpstring("Returns file specification of the application, including path."), helpcontext(0x0000)]
  194. HRESULT FullName([out,retval] BSTR* FullName);
  195. [id(401), propget, helpstring("Returns the path to the application."), helpcontext(0x0000)]
  196. HRESULT Path([out,retval] BSTR* Path);
  197. [id(402), propget, helpstring("Determines whether the application is visible or hidden."), helpcontext(0x0000)]
  198. HRESULT Visible([out, retval] VARIANT_BOOL* pBool);
  199. [id(402), propput, helpstring("Determines whether the application is visible or hidden."), helpcontext(0x0000)]
  200. HRESULT Visible([in] VARIANT_BOOL Value);
  201. [id(403), propget, helpstring("Turn on or off the statusbar."), helpcontext(0x0000)]
  202. HRESULT StatusBar([out, retval] VARIANT_BOOL* pBool);
  203. [id(403), propput, helpstring("Turn on or off the statusbar."), helpcontext(0x0000)]
  204. HRESULT StatusBar([in] VARIANT_BOOL Value);
  205. [id(404), propget, helpstring("Text of Status window."), helpcontext(0x0000)]
  206. HRESULT StatusText([out, retval] BSTR *StatusText);
  207. [id(404), propput, helpstring("Text of Status window."), helpcontext(0x0000)]
  208. HRESULT StatusText([in] BSTR StatusText);
  209. [id(405), propget, helpstring("Controls which toolbar is shown."), helpcontext(0x0000)]
  210. HRESULT ToolBar([out, retval] int * Value);
  211. [id(405), propput, helpstring("Controls which toolbar is shown."), helpcontext(0x0000)]
  212. HRESULT ToolBar([in] int Value);
  213. [id(406), propget, helpstring("Controls whether menubar is shown."), helpcontext(0x0000)]
  214. HRESULT MenuBar([out, retval] VARIANT_BOOL * Value);
  215. [id(406), propput, helpstring("Controls whether menubar is shown."), helpcontext(0x0000)]
  216. HRESULT MenuBar([in] VARIANT_BOOL Value);
  217. [id(407), propget, helpstring("Maximizes window and turns off statusbar, toolbar, menubar, and titlebar."), helpcontext(0x0000)]
  218. HRESULT FullScreen([out, retval] VARIANT_BOOL * pbFullScreen);
  219. [id(407), propput, helpstring("Maximizes window and turns off statusbar, toolbar, menubar, and titlebar."), helpcontext(0x0000)]
  220. HRESULT FullScreen([in] VARIANT_BOOL bFullScreen);
  221. }
  222. [
  223. uuid(D30C1661-CDAF-11d0-8A3E-00C04FC9E26E), // IID_IWebBrowser2
  224. helpstring("Web Browser Interface for IE4."),
  225. helpcontext(0x0000),
  226. hidden,
  227. oleautomation,
  228. dual
  229. ]
  230. interface IWebBrowser2 : IWebBrowserApp
  231. {
  232. [id(500), helpstring("Navigates to a URL or file or pidl."), helpcontext(0x0000)]
  233. HRESULT Navigate2([in] VARIANT * URL,
  234. [in, optional] VARIANT * Flags,
  235. [in, optional] VARIANT * TargetFrameName,
  236. [in, optional] VARIANT * PostData,
  237. [in, optional] VARIANT * Headers);
  238. [id(501), helpstring("IOleCommandTarget::QueryStatus"), helpcontext(0x0000)]
  239. HRESULT QueryStatusWB([in] OLECMDID cmdID, [out, retval] OLECMDF * pcmdf);
  240. [id(502), helpstring("IOleCommandTarget::Exec"), helpcontext(0x0000)]
  241. HRESULT ExecWB([in] OLECMDID cmdID, [in] OLECMDEXECOPT cmdexecopt, [in, optional] VARIANT * pvaIn, [out, in, optional] VARIANT * pvaOut);
  242. [id(503), helpstring("Set BrowserBar to Clsid"), helpcontext(0x0000)]
  243. HRESULT ShowBrowserBar( [in] VARIANT * pvaClsid,
  244. [in, optional] VARIANT * pvarShow,
  245. [in, optional] VARIANT * pvarSize );
  246. [id(DISPID_READYSTATE), propget, bindable]
  247. HRESULT ReadyState([retval, out] READYSTATE * plReadyState);
  248. [id(550), propget, helpstring("Controls if the frame is offline (read from cache)"), helpcontext(0x0000)]
  249. HRESULT Offline([out, retval] VARIANT_BOOL * pbOffline);
  250. [id(550), propput, helpstring("Controls if the frame is offline (read from cache)"), helpcontext(0x0000)]
  251. HRESULT Offline([in] VARIANT_BOOL bOffline);
  252. [id(551), propget, helpstring("Controls if any dialog boxes can be shown"), helpcontext(0x0000)]
  253. HRESULT Silent([out, retval] VARIANT_BOOL * pbSilent);
  254. [id(551), propput, helpstring("Controls if any dialog boxes can be shown"), helpcontext(0x0000)]
  255. HRESULT Silent([in] VARIANT_BOOL bSilent);
  256. [id(552), propget, helpstring("Registers OC as a top-level browser (for target name resolution)"), helpcontext(0x0000)]
  257. HRESULT RegisterAsBrowser([out, retval] VARIANT_BOOL * pbRegister);
  258. [id(552), propput, helpstring("Registers OC as a top-level browser (for target name resolution)"), helpcontext(0x0000)]
  259. HRESULT RegisterAsBrowser([in] VARIANT_BOOL bRegister);
  260. [id(553), propget, helpstring("Registers OC as a drop target for navigation"), helpcontext(0x0000)]
  261. HRESULT RegisterAsDropTarget([out, retval] VARIANT_BOOL * pbRegister);
  262. [id(553), propput, helpstring("Registers OC as a drop target for navigation"), helpcontext(0x0000)]
  263. HRESULT RegisterAsDropTarget([in] VARIANT_BOOL bRegister);
  264. [id(554), propget, helpstring("Controls if the browser is in theater mode"), helpcontext(0x0000)]
  265. HRESULT TheaterMode([out, retval] VARIANT_BOOL * pbRegister);
  266. [id(554), propput, helpstring("Controls if the browser is in theater mode"), helpcontext(0x0000)]
  267. HRESULT TheaterMode([in] VARIANT_BOOL bRegister);
  268. [id(555), propget, helpstring("Controls whether address bar is shown"), helpcontext(0x0000)]
  269. HRESULT AddressBar([out, retval] VARIANT_BOOL * Value);
  270. [id(555), propput, helpstring("Controls whether address bar is shown"), helpcontext(0x0000)]
  271. HRESULT AddressBar([in] VARIANT_BOOL Value);
  272. [id(556), propget, helpstring("Controls whether the window is resizable"), helpcontext(0x0000)]
  273. HRESULT Resizable([out, retval] VARIANT_BOOL * Value);
  274. [id(556), propput, helpstring("Controls whether the window is resizable"), helpcontext(0x0000)]
  275. HRESULT Resizable([in] VARIANT_BOOL Value);
  276. }
  277. typedef
  278. [
  279. uuid(65507BE0-91A8-11d3-A845-009027220E6D),
  280. helpstring("Constants for WebBrowser security icon notification")
  281. ]
  282. enum SecureLockIconConstants {
  283. secureLockIconUnsecure = 0x0000,
  284. secureLockIconMixed = 0x0001,
  285. secureLockIconSecureUnknownBits = 0x0002,
  286. secureLockIconSecure40Bit = 0x0003,
  287. secureLockIconSecure56Bit = 0x0004,
  288. secureLockIconSecureFortezza = 0x0005,
  289. secureLockIconSecure128Bit = 0x0006,
  290. } SecureLockIconConstants;
  291. [
  292. uuid(34A715A0-6587-11D0-924A-0020AFC7AC4D), // IID_DWebBrowserEvents2
  293. helpstring("Web Browser Control events interface"),
  294. hidden
  295. ]
  296. dispinterface DWebBrowserEvents2
  297. {
  298. properties:
  299. methods:
  300. [id(DISPID_STATUSTEXTCHANGE), helpstring("Statusbar text changed."), helpcontext(0x0000)]
  301. void StatusTextChange([in]BSTR Text);
  302. [id(DISPID_PROGRESSCHANGE), helpstring("Fired when download progress is updated."), helpcontext(0x0000)]
  303. void ProgressChange([in] long Progress, [in] long ProgressMax);
  304. [id(DISPID_COMMANDSTATECHANGE), helpstring("The enabled state of a command changed."), helpcontext(0x0000)]
  305. void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable);
  306. [id(DISPID_DOWNLOADBEGIN), helpstring("Download of a page started."), helpcontext(0x000)]
  307. void DownloadBegin();
  308. [id(DISPID_DOWNLOADCOMPLETE), helpstring("Download of page complete."), helpcontext(0x0000)]
  309. void DownloadComplete();
  310. [id(DISPID_TITLECHANGE), helpstring("Document title changed."), helpcontext(0x0000)]
  311. void TitleChange([in] BSTR Text);
  312. [id(DISPID_PROPERTYCHANGE), helpstring("Fired when the PutProperty method has been called."), helpcontext(0x0000)]
  313. void PropertyChange([in] BSTR szProperty);
  314. // New events for IE40:
  315. //
  316. [id(DISPID_BEFORENAVIGATE2), helpstring("Fired before navigate occurs in the given WebBrowser (window or frameset element). The processing of this navigation may be modified."), helpcontext(0x0000)]
  317. void BeforeNavigate2([in] IDispatch* pDisp,
  318. [in] VARIANT * URL, [in] VARIANT * Flags, [in] VARIANT * TargetFrameName, [in] VARIANT * PostData, [in] VARIANT * Headers,
  319. [in,out] VARIANT_BOOL * Cancel);
  320. [id(DISPID_NEWWINDOW2), helpstring("A new, hidden, non-navigated WebBrowser window is needed."), helpcontext(0x0000)]
  321. void NewWindow2([in, out] IDispatch** ppDisp, [in, out] VARIANT_BOOL * Cancel);
  322. [id(DISPID_NAVIGATECOMPLETE2), helpstring("Fired when the document being navigated to becomes visible and enters the navigation stack."), helpcontext(0x0000)]
  323. void NavigateComplete2([in] IDispatch* pDisp, [in] VARIANT * URL );
  324. [id(DISPID_DOCUMENTCOMPLETE), helpstring("Fired when the document being navigated to reaches ReadyState_Complete."), helpcontext(0x0000)]
  325. void DocumentComplete([in] IDispatch* pDisp, [in] VARIANT * URL );
  326. [id(DISPID_ONQUIT), helpstring("Fired when application is quiting."), helpcontext(0x0000)]
  327. void OnQuit();
  328. [id(DISPID_ONVISIBLE), helpstring("Fired when the window should be shown/hidden"), helpcontext(0x0000)]
  329. void OnVisible([in] VARIANT_BOOL Visible);
  330. [id(DISPID_ONTOOLBAR), helpstring("Fired when the toolbar should be shown/hidden"), helpcontext(0x0000)]
  331. void OnToolBar([in] VARIANT_BOOL ToolBar);
  332. [id(DISPID_ONMENUBAR), helpstring("Fired when the menubar should be shown/hidden"), helpcontext(0x0000)]
  333. void OnMenuBar([in] VARIANT_BOOL MenuBar);
  334. [id(DISPID_ONSTATUSBAR), helpstring("Fired when the statusbar should be shown/hidden"), helpcontext(0x0000)]
  335. void OnStatusBar([in] VARIANT_BOOL StatusBar);
  336. [id(DISPID_ONFULLSCREEN), helpstring("Fired when fullscreen mode should be on/off"), helpcontext(0x0000)]
  337. void OnFullScreen([in] VARIANT_BOOL FullScreen);
  338. [id(DISPID_ONTHEATERMODE), helpstring("Fired when theater mode should be on/off"), helpcontext(0x0000)]
  339. void OnTheaterMode([in] VARIANT_BOOL TheaterMode);
  340. // New events for IE 5.5
  341. [id(DISPID_WINDOWSETRESIZABLE), helpstring("Fired when the host window should allow/disallow resizing"), helpcontext(0x0000)]
  342. void WindowSetResizable([in] VARIANT_BOOL Resizable);
  343. [id(DISPID_WINDOWSETLEFT), helpstring("Fired when the host window should change its Left coordinate"), helpcontext(0x0000)]
  344. void WindowSetLeft([in] long Left);
  345. [id(DISPID_WINDOWSETTOP), helpstring("Fired when the host window should change its Top coordinate"), helpcontext(0x0000)]
  346. void WindowSetTop([in] long Top);
  347. [id(DISPID_WINDOWSETWIDTH), helpstring("Fired when the host window should change its width"), helpcontext(0x0000)]
  348. void WindowSetWidth([in] long Width);
  349. [id(DISPID_WINDOWSETHEIGHT), helpstring("Fired when the host window should change its height"), helpcontext(0x0000)]
  350. void WindowSetHeight([in] long Height);
  351. [id(DISPID_WINDOWCLOSING), helpstring("Fired when the WebBrowser is about to be closed by script"), helpcontext(0x0000)]
  352. void WindowClosing([in] VARIANT_BOOL IsChildWindow, [in, out] VARIANT_BOOL * Cancel);
  353. [id(DISPID_CLIENTTOHOSTWINDOW), helpstring("Fired to request client sizes be converted to host window sizes"), helpcontext(0x0000)]
  354. void ClientToHostWindow([in, out] long* CX, [in, out] long* CY);
  355. [id(DISPID_SETSECURELOCKICON), helpstring("Fired to indicate the security level of the current web page contents"), helpcontext(0x0000)]
  356. void SetSecureLockIcon([in] long SecureLockIcon);
  357. [id(DISPID_FILEDOWNLOAD), helpstring("Fired to indicate the File Download dialog is opening"), helpcontext(0x0000)]
  358. void FileDownload([in, out] VARIANT_BOOL * Cancel);
  359. // New events for IE 6.0
  360. [id(DISPID_NAVIGATEERROR), helpstring("Fired when a binding error occurs (window or frameset element)."), helpcontext(0x0000)]
  361. void NavigateError([in] IDispatch* pDisp, [in] VARIANT* URL, [in] VARIANT* Frame, [in] VARIANT* StatusCode, [in,out] VARIANT_BOOL* Cancel);
  362. [id(DISPID_PRINTTEMPLATEINSTANTIATION), helpstring("Fired when a print template is instantiated."), helpcontext(0x0000)]
  363. void PrintTemplateInstantiation([in] IDispatch* pDisp);
  364. [id(DISPID_PRINTTEMPLATETEARDOWN), helpstring("Fired when a print template destroyed."), helpcontext(0x0000)]
  365. void PrintTemplateTeardown([in] IDispatch* pDisp);
  366. [id(DISPID_UPDATEPAGESTATUS), helpstring("Fired when a page is spooled. When it is fired can be changed by a custom template."), helpcontext(0x0000)]
  367. void UpdatePageStatus([in] IDispatch* pDisp, [in] VARIANT* nPage, [in] VARIANT* fDone);
  368. [id(DISPID_PRIVACYIMPACTEDSTATECHANGE), helpstring("Fired when the global privacy impacted state changes"), helpcontext(0x0000)]
  369. void PrivacyImpactedStateChange([in] VARIANT_BOOL bImpacted);
  370. }
  371. [
  372. uuid(EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B), // v.1 clsid CLSID_WebBrowser_V1
  373. control,
  374. helpstring("WebBrowser Control")
  375. ]
  376. coclass WebBrowser_V1
  377. {
  378. interface IWebBrowser2;
  379. [default] interface IWebBrowser;
  380. [source] dispinterface DWebBrowserEvents2;
  381. [default, source] dispinterface DWebBrowserEvents;
  382. }
  383. [
  384. uuid(8856F961-340A-11D0-A96B-00C04FD705A2), // v.2 clsid CLSID_WebBrowser
  385. control,
  386. helpstring("WebBrowser Control")
  387. ]
  388. coclass WebBrowser
  389. {
  390. [default] interface IWebBrowser2;
  391. interface IWebBrowser;
  392. [default, source] dispinterface DWebBrowserEvents2;
  393. [source] dispinterface DWebBrowserEvents;
  394. }
  395. [
  396. uuid(0002DF01-0000-0000-C000-000000000046), // CLSID_InternetExplorer
  397. helpstring("Internet Explorer Application."),
  398. ]
  399. coclass InternetExplorer
  400. {
  401. [default] interface IWebBrowser2;
  402. interface IWebBrowserApp;
  403. [default, source] dispinterface DWebBrowserEvents2;
  404. [source] dispinterface DWebBrowserEvents;
  405. }
  406. [
  407. uuid(c08afd90-f2a1-11d1-8455-00a0c91f3880), // CLSID_ShellBrowser
  408. helpstring("Shell Browser Window."),
  409. hidden,
  410. ]
  411. coclass ShellBrowserWindow
  412. {
  413. [default] interface IWebBrowser2;
  414. interface IWebBrowserApp;
  415. [default, source] dispinterface DWebBrowserEvents2;
  416. [source] dispinterface DWebBrowserEvents;
  417. }
  418. typedef
  419. [
  420. uuid(F41E6981-28E5-11d0-82B4-00A0C90C29C5),
  421. helpstring("Constants for ShellWindows registration")
  422. ]
  423. enum ShellWindowTypeConstants {
  424. [helpstring("Explorer")] SWC_EXPLORER = 0x0,
  425. [helpstring("Various Browsing Windows")] SWC_BROWSER = 0x00000001,
  426. [helpstring("3rd Party Browsers")] SWC_3RDPARTY = 0x00000002,
  427. [helpstring("Creation Callback")] SWC_CALLBACK = 0x00000004,
  428. } ShellWindowTypeConstants;
  429. typedef
  430. [
  431. uuid(7716a370-38ca-11d0-a48b-00a0c90a8f39),
  432. helpstring("Options for ShellWindows FindWindow"),
  433. hidden
  434. ]
  435. enum ShellWindowFindWindowOptions {
  436. [helpstring("Need Dispatch")] SWFO_NEEDDISPATCH = 0x00000001,
  437. [helpstring("Include Pending")] SWFO_INCLUDEPENDING = 0x00000002,
  438. [helpstring("Cookie Passed")] SWFO_COOKIEPASSED = 0x00000004,
  439. } ShellWindowFindWindowOptions;
  440. [
  441. uuid(fe4106e0-399a-11d0-a48c-00a0c90a8f39), // DIID_DShellWindowsEvents
  442. helpstring("Event interface for IShellWindows"),
  443. ]
  444. dispinterface DShellWindowsEvents
  445. {
  446. properties:
  447. methods:
  448. [id(DISPID_WINDOWREGISTERED), helpstring("A new window was registered."), helpcontext(0x0000)]
  449. void WindowRegistered([in] long lCookie);
  450. [id(DISPID_WINDOWREVOKED), helpstring("A new window was revoked."), helpcontext(0x0000)]
  451. void WindowRevoked([in] long lCookie);
  452. }
  453. [
  454. uuid(85CB6900-4D95-11CF-960C-0080C7F4EE85), // IID_IShellWindows
  455. helpstring("Definition of interface IShellWindows"),
  456. oleautomation,
  457. dual,
  458. odl,
  459. ]
  460. interface IShellWindows : IDispatch
  461. {
  462. //Properties
  463. [propget, helpstring("Get count of open Shell windows")]
  464. HRESULT Count([out, retval] long *Count);
  465. //Methods
  466. [id(0), helpstring("Return the shell window for the given index")]
  467. HRESULT Item([in,optional] VARIANT index, [out, retval]IDispatch **Folder);
  468. [id(-4), helpstring("Enumerates the figures")]
  469. HRESULT _NewEnum([out, retval] IUnknown **ppunk);
  470. // Some private hidden members to allow shell windows to add and
  471. // remove themself from the list. We mark them hidden to keep
  472. // random VB apps from trying to Register...
  473. [helpstring("Register a window with the list"), hidden]
  474. HRESULT Register([in] IDispatch *pid,
  475. [in] long hwnd,
  476. [in] int swClass,
  477. [out]long *plCookie);
  478. [helpstring("Register a pending open with the list"), hidden]
  479. HRESULT RegisterPending([in] long lThreadId,
  480. [in] VARIANT* pvarloc, // will hold pidl that is being opened.
  481. [in] VARIANT* pvarlocRoot, // Optional root pidl
  482. [in] int swClass,
  483. [out]long *plCookie);
  484. [helpstring("Remove a window from the list"), hidden]
  485. HRESULT Revoke([in]long lCookie);
  486. // As an optimization, each window notifies the new location
  487. // only when
  488. // (1) it's being deactivated
  489. // (2) getFullName is called (we overload it to force update)
  490. [helpstring("Notifies the new location"), hidden]
  491. HRESULT OnNavigate([in]long lCookie, [in] VARIANT* pvarLoc);
  492. [helpstring("Notifies the activation"), hidden]
  493. HRESULT OnActivated([in]long lCookie, [in] VARIANT_BOOL fActive);
  494. [helpstring("Find the window based on the location"), hidden]
  495. HRESULT FindWindowSW([in] VARIANT* pvarLoc,
  496. [in] VARIANT* pvarLocRoot, /* unused */
  497. [in] int swClass,
  498. [out] long * phwnd,
  499. [in] int swfwOptions,
  500. [out,retval] IDispatch** ppdispOut);
  501. [helpstring("Notifies on creation and frame name set"), hidden]
  502. HRESULT OnCreated([in]long lCookie,[in] IUnknown *punk);
  503. [helpstring("Used by IExplore to register different processes"), hidden]
  504. HRESULT ProcessAttachDetach([in] VARIANT_BOOL fAttach);
  505. }
  506. [
  507. uuid(9BA05972-F6A8-11CF-A442-00A0C90A8F39), // CLSID_ShellWindows
  508. helpstring("ShellDispatch Load in Shell Context")
  509. ]
  510. coclass ShellWindows
  511. {
  512. [default] interface IShellWindows;
  513. [default, source] dispinterface DShellWindowsEvents;
  514. }
  515. [
  516. uuid(729FE2F8-1EA8-11d1-8F85-00C04FC2FBE1), // IID_IShellUIHelper
  517. helpstring("Shell UI Helper Control Interface"),
  518. oleautomation, dual
  519. ]
  520. interface IShellUIHelper : IDispatch
  521. {
  522. [hidden, id(DISPID_RESETFIRSTBOOTMODE)] HRESULT ResetFirstBootMode();
  523. [hidden, id(DISPID_RESETSAFEMODE)] HRESULT ResetSafeMode();
  524. [hidden, id(DISPID_REFRESHOFFLINEDESKTOP)] HRESULT RefreshOfflineDesktop();
  525. [id(DISPID_ADDFAVORITE)] HRESULT AddFavorite([in] BSTR URL, [optional, in] VARIANT *Title);
  526. [id(DISPID_ADDCHANNEL)] HRESULT AddChannel([in] BSTR URL);
  527. [id(DISPID_ADDDESKTOPCOMPONENT)] HRESULT AddDesktopComponent([in] BSTR URL, [in] BSTR Type,
  528. [optional, in] VARIANT *Left,
  529. [optional, in] VARIANT *Top,
  530. [optional, in] VARIANT *Width,
  531. [optional, in] VARIANT *Height);
  532. [id(DISPID_ISSUBSCRIBED)] HRESULT IsSubscribed([in] BSTR URL, [out,retval] VARIANT_BOOL* pBool);
  533. [id(DISPID_NAVIGATEANDFIND)] HRESULT NavigateAndFind([in] BSTR URL, [in] BSTR strQuery, [in] VARIANT* varTargetFrame);
  534. [id(DISPID_IMPORTEXPORTFAVORITES)] HRESULT ImportExportFavorites([in] VARIANT_BOOL fImport, [in] BSTR strImpExpPath);
  535. [id(DISPID_AUTOCOMPLETESAVEFORM)] HRESULT AutoCompleteSaveForm([optional, in] VARIANT *Form);
  536. [id(DISPID_AUTOSCAN)] HRESULT AutoScan([in] BSTR strSearch, [in] BSTR strFailureUrl, [optional, in] VARIANT* pvarTargetFrame);
  537. [hidden, id(DISPID_AUTOCOMPLETEATTACH)] HRESULT AutoCompleteAttach([optional, in] VARIANT *Reserved);
  538. [id(DISPID_SHOWBROWSERUI)] HRESULT ShowBrowserUI([in] BSTR bstrName, [in] VARIANT *pvarIn, [out, retval] VARIANT *pvarOut);
  539. }
  540. [
  541. uuid(64AB4BB7-111E-11d1-8F79-00C04FC2FBE1) // CLSID_ShellUIHelper
  542. ]
  543. coclass ShellUIHelper
  544. {
  545. [default] interface IShellUIHelper;
  546. }
  547. [
  548. uuid(55136806-B2DE-11D1-B9F2-00A0C98BC547) //DIID_DShellNameSpaceEvents
  549. ]
  550. dispinterface DShellNameSpaceEvents
  551. {
  552. properties:
  553. methods:
  554. [id(DISPID_FAVSELECTIONCHANGE)]
  555. void FavoritesSelectionChange([in] long cItems, [in] long hItem, [in] BSTR strName,
  556. [in] BSTR strUrl, [in] long cVisits, [in] BSTR strDate,
  557. [in] BOOL fAvailableOffline);
  558. [id(DISPID_SELECTIONCHANGE)]
  559. void SelectionChange();
  560. [id(DISPID_DOUBLECLICK)]
  561. void DoubleClick();
  562. [id(DISPID_INITIALIZED)]
  563. void Initialized();
  564. }
  565. [
  566. object,
  567. uuid(55136804-B2DE-11D1-B9F2-00A0C98BC547), //IID_IShellFavoritesNameSpace
  568. dual,
  569. helpstring("IShellFavoritesNameSpace Interface"),
  570. pointer_default(unique),
  571. hidden
  572. ]
  573. interface IShellFavoritesNameSpace : IDispatch
  574. {
  575. [id(DISPID_MOVESELECTIONUP), helpstring("method MoveSelectionUp")]
  576. HRESULT MoveSelectionUp();
  577. [id(DISPID_MOVESELECTIONDOWN), helpstring("method MoveSelectionDown")]
  578. HRESULT MoveSelectionDown();
  579. [id(DISPID_RESETSORT), helpstring("method ResetSort")]
  580. HRESULT ResetSort();
  581. [id(DISPID_NEWFOLDER), helpstring("method NewFolder")]
  582. HRESULT NewFolder();
  583. [id(DISPID_SYNCHRONIZE), helpstring("method Synchronize")]
  584. HRESULT Synchronize();
  585. [id(DISPID_IMPORT), helpstring("method Import")]
  586. HRESULT Import();
  587. [id(DISPID_EXPORT), helpstring("method Export")]
  588. HRESULT Export();
  589. [id(DISPID_INVOKECONTEXTMENU), helpstring("method InvokeContextMenuCommand")]
  590. HRESULT InvokeContextMenuCommand([in] BSTR strCommand);
  591. [id(DISPID_MOVESELECTIONTO), helpstring("method MoveSelectionTo")]
  592. HRESULT MoveSelectionTo();
  593. [propget, id(DISPID_SUBSCRIPTIONSENABLED), helpstring("Query to see if subscriptions are enabled")]
  594. HRESULT SubscriptionsEnabled([out, retval] VARIANT_BOOL *pBool);
  595. [id(DISPID_CREATESUBSCRIPTION), helpstring("method CreateSubscriptionForSelection")]
  596. HRESULT CreateSubscriptionForSelection([out, retval] VARIANT_BOOL *pBool);
  597. [id(DISPID_DELETESUBSCRIPTION), helpstring("method DeleteSubscriptionForSelection")]
  598. HRESULT DeleteSubscriptionForSelection([out, retval] VARIANT_BOOL *pBool);
  599. [id(DISPID_SETROOT), helpstring("old, use put_Root() instead")]
  600. HRESULT SetRoot([in] BSTR bstrFullPath);
  601. }
  602. [
  603. object,
  604. uuid(e572d3c9-37be-4ae2-825d-d521763e3108), // IID_IShellNameSpace
  605. dual,
  606. helpstring("IShellNameSpace Interface"),
  607. pointer_default(unique),
  608. hidden
  609. ]
  610. interface IShellNameSpace : IShellFavoritesNameSpace
  611. {
  612. [propget, id(DISPID_ENUMOPTIONS), helpstring("options ")]
  613. HRESULT EnumOptions([out, retval] LONG *pgrfEnumFlags);
  614. [propput, id(DISPID_ENUMOPTIONS), helpstring("options ")]
  615. HRESULT EnumOptions([in] LONG lVal);
  616. [propget, id(DISPID_SELECTEDITEM), helpstring("get the selected item")]
  617. HRESULT SelectedItem([out, retval] IDispatch **pItem);
  618. [propput, id(DISPID_SELECTEDITEM), helpstring("select an item in the tree")]
  619. HRESULT SelectedItem([in] IDispatch *pItem);
  620. [propget, id(DISPID_ROOT), helpstring("get the root item")]
  621. HRESULT Root([out, retval] VARIANT *pvar);
  622. [propput, id(DISPID_ROOT), helpstring("set the root")]
  623. HRESULT Root([in] VARIANT var);
  624. [propget, id(DISPID_DEPTH), helpstring("")]
  625. HRESULT Depth([out, retval] int *piDepth);
  626. [propput, id(DISPID_DEPTH), helpstring("")]
  627. HRESULT Depth([in] int iDepth);
  628. [propget, id(DISPID_MODE), helpstring("")]
  629. HRESULT Mode([out, retval] UINT *puMode);
  630. [propput, id(DISPID_MODE), helpstring("")]
  631. HRESULT Mode([in] UINT uMode);
  632. [propget, id(DISPID_FLAGS), helpstring("")]
  633. HRESULT Flags([out, retval] DWORD *pdwFlags);
  634. [propput, id(DISPID_FLAGS), helpstring("")]
  635. HRESULT Flags([in] DWORD dwFlags);
  636. [propput, id(DISPID_TVFLAGS), helpstring("")]
  637. HRESULT TVFlags([in] DWORD dwFlags);
  638. [propget, id(DISPID_TVFLAGS), helpstring("")]
  639. HRESULT TVFlags([out, retval] DWORD *dwFlags);
  640. [propget, id(DISPID_NSCOLUMNS), helpstring("")]
  641. HRESULT Columns([out, retval] BSTR *bstrColumns);
  642. [propput, id(DISPID_NSCOLUMNS), helpstring("")]
  643. HRESULT Columns([in] BSTR bstrColumns);
  644. [propget, id(DISPID_COUNTVIEWTYPES), helpstring("number of view types")]
  645. HRESULT CountViewTypes([out, retval] int *piTypes);
  646. [id(DISPID_SETVIEWTYPE), helpstring("set view type")]
  647. HRESULT SetViewType([in] int iType);
  648. [id(DISPID_SELECTEDITEMS), helpstring("collection of selected items")]
  649. HRESULT SelectedItems([out, retval] IDispatch **ppid);
  650. [id(DISPID_EXPAND), helpstring("expands item specified depth")]
  651. HRESULT Expand([in] VARIANT var, int iDepth);
  652. //[propget,id(DISPID_READYSTATE), helpstring("return ready state of the control")]
  653. // HRESULT ReadyState([retval, out] READYSTATE * plReadyState);
  654. [id(DISPID_UNSELECTALL), helpstring("unselects all items")]
  655. HRESULT UnselectAll();
  656. }
  657. [
  658. uuid(55136805-B2DE-11D1-B9F2-00A0C98BC547) // CLSID_ShellNameSpace
  659. ]
  660. coclass ShellNameSpace
  661. {
  662. [default] interface IShellNameSpace;
  663. [default, source] dispinterface DShellNameSpaceEvents;
  664. };
  665. [
  666. uuid(F3470F24-15FD-11d2-BB2E-00805FF7EFCA), // IID_IScriptErrorList
  667. helpstring("Script Error List Interface"),
  668. oleautomation,
  669. hidden,
  670. dual
  671. ]
  672. interface IScriptErrorList : IDispatch
  673. {
  674. // navigation through list of errors
  675. [id(DISPID_ADVANCEERROR)] HRESULT advanceError();
  676. [id(DISPID_RETREATERROR)] HRESULT retreatError();
  677. [id(DISPID_CANADVANCEERROR)] HRESULT canAdvanceError([out, retval] BOOL * pfCanAdvance);
  678. [id(DISPID_CANRETREATERROR)] HRESULT canRetreatError([out, retval] BOOL * pfCanRetreat);
  679. // data access for the current error in the error list
  680. [id(DISPID_GETERRORLINE)] HRESULT getErrorLine([out, retval] LONG * plLine);
  681. [id(DISPID_GETERRORCHAR)] HRESULT getErrorChar([out, retval] LONG * plChar);
  682. [id(DISPID_GETERRORCODE)] HRESULT getErrorCode([out, retval] LONG * plCode);
  683. [id(DISPID_GETERRORMSG)] HRESULT getErrorMsg([out, retval] BSTR * pstr);
  684. [id(DISPID_GETERRORURL)] HRESULT getErrorUrl([out, retval] BSTR * pstr);
  685. [id(DISPID_GETALWAYSSHOWLOCKSTATE)] HRESULT getAlwaysShowLockState([out, retval] BOOL * pfAlwaysShowLocked);
  686. [id(DISPID_GETDETAILSSTATE)] HRESULT getDetailsPaneOpen([out, retval] BOOL * pfDetailsPaneOpen);
  687. [id(DISPID_SETDETAILSSTATE)] HRESULT setDetailsPaneOpen(BOOL fDetailsPaneOpen);
  688. [id(DISPID_GETPERERRSTATE)] HRESULT getPerErrorDisplay([out, retval] BOOL * pfPerErrorDisplay);
  689. [id(DISPID_SETPERERRSTATE)] HRESULT setPerErrorDisplay(BOOL fPerErrorDisplay);
  690. }
  691. [
  692. uuid(EFD01300-160F-11d2-BB2E-00805FF7EFCA), // CLSID_ScriptErrorList
  693. hidden
  694. ]
  695. coclass CScriptErrorList
  696. {
  697. [default] interface IScriptErrorList;
  698. }
  699. [
  700. uuid(ba9239a4-3dd5-11d2-bf8b-00c04fb93661), // IID_ISearch
  701. helpstring("Enumerated Search"),
  702. hidden,
  703. oleautomation,
  704. dual,
  705. odl,
  706. ]
  707. interface ISearch : IDispatch
  708. {
  709. [propget, helpstring("Get search title")]
  710. HRESULT Title([out, retval] BSTR *pbstrTitle);
  711. [propget, helpstring("Get search guid")]
  712. HRESULT Id([out, retval] BSTR *pbstrId);
  713. [propget, helpstring("Get search url")]
  714. HRESULT Url([out, retval] BSTR *pbstrUrl);
  715. }
  716. [
  717. uuid(47c922a2-3dd5-11d2-bf8b-00c04fb93661), // IID_ISearches
  718. helpstring("Searches Enum"),
  719. hidden,
  720. oleautomation,
  721. dual,
  722. odl,
  723. ]
  724. interface ISearches : IDispatch
  725. {
  726. [propget, helpstring("Get the count of searches")]
  727. HRESULT Count([out, retval] long *plCount);
  728. [propget, helpstring("Get the default search name")]
  729. HRESULT Default([out, retval] BSTR *pbstrDefault);
  730. [helpstring("Return the specified search")]
  731. HRESULT Item([in,optional] VARIANT index, [out, retval]ISearch **ppid);
  732. [id(-4), helpstring("Enumerates the searches")]
  733. HRESULT _NewEnum([out, retval] IUnknown **ppunk);
  734. }
  735. [
  736. object,
  737. uuid(72423E8F-8011-11d2-BE79-00A0C9A83DA1),
  738. hidden,
  739. dual,
  740. helpstring("ISearchAssistantOC Interface"),
  741. pointer_default(unique)
  742. ]
  743. interface ISearchAssistantOC : IDispatch
  744. {
  745. [id(1)] HRESULT AddNextMenuItem([in] BSTR bstrText, [in] long idItem);
  746. [id(2)] HRESULT SetDefaultSearchUrl([in] BSTR bstrUrl);
  747. [id(3)] HRESULT NavigateToDefaultSearch();
  748. [id(4)] HRESULT IsRestricted([in] BSTR bstrGuid, [out, retval] VARIANT_BOOL *pVal);
  749. [propget, id(5), helpstring("property ShellFeaturesEnabled")] HRESULT ShellFeaturesEnabled([out, retval] VARIANT_BOOL *pVal);
  750. [propget, id(6), helpstring("property SearchAssistantDefault")] HRESULT SearchAssistantDefault([out, retval] VARIANT_BOOL *pVal);
  751. [propget, id(7), helpstring("Get searches")] HRESULT Searches([out, retval] ISearches **ppid);
  752. [propget, id(8), helpstring("Returns true if the current folder is web folder")] HRESULT InWebFolder([out, retval] VARIANT_BOOL *pVal);
  753. [id(9)] HRESULT PutProperty([in] VARIANT_BOOL bPerLocale, [in] BSTR bstrName, [in] BSTR bstrValue);
  754. [id(10)] HRESULT GetProperty([in] VARIANT_BOOL bPerLocale, [in] BSTR bstrName, [out, retval] BSTR *pbstrValue);
  755. [propput, id(11)] HRESULT EventHandled([in] VARIANT_BOOL bHandled);
  756. [id(12)] HRESULT ResetNextMenu();
  757. [id(13)] HRESULT FindOnWeb() ;
  758. [id(14)] HRESULT FindFilesOrFolders() ;
  759. [id(15)] HRESULT FindComputer() ;
  760. [id(16)] HRESULT FindPrinter() ;
  761. [id(17)] HRESULT FindPeople() ;
  762. [id(18)] HRESULT GetSearchAssistantURL([in] VARIANT_BOOL bSubstitute, [in] VARIANT_BOOL bCustomize, [out, retval] BSTR *pbstrValue);
  763. [id(19)] HRESULT NotifySearchSettingsChanged();
  764. [propput, id(20)] HRESULT ASProvider([in] BSTR Provider);
  765. [propget, id(20)] HRESULT ASProvider([out, retval] BSTR *pProvider);
  766. [propput, id(21)] HRESULT ASSetting([in] int Setting);
  767. [propget, id(21)] HRESULT ASSetting([out, retval] int *pSetting);
  768. [id(22)] HRESULT NETDetectNextNavigate();
  769. [id(23)] HRESULT PutFindText([in] BSTR FindText);
  770. [propget, id(24)] HRESULT Version([out, retval] int *pVersion);
  771. [id(25)] HRESULT EncodeString([in] BSTR bstrValue, [in] BSTR bstrCharSet, [in] VARIANT_BOOL bUseUTF8, [out, retval] BSTR *pbstrResult);
  772. };
  773. [
  774. object,
  775. uuid(72423E8F-8011-11d2-BE79-00A0C9A83DA2),
  776. hidden,
  777. dual,
  778. helpstring("ISearchAssistantOC2 Interface"),
  779. pointer_default(unique)
  780. ]
  781. interface ISearchAssistantOC2 : ISearchAssistantOC
  782. {
  783. [propget, id(26)] HRESULT ShowFindPrinter([out, retval] VARIANT_BOOL *pbShowFindPrinter);
  784. };
  785. [
  786. object,
  787. uuid(72423E8F-8011-11d2-BE79-00A0C9A83DA3),
  788. hidden,
  789. dual,
  790. helpstring("ISearchAssistantOC3 Interface"),
  791. pointer_default(unique)
  792. ]
  793. interface ISearchAssistantOC3 : ISearchAssistantOC2
  794. {
  795. [propget, id(27)] HRESULT SearchCompanionAvailable([out, retval] VARIANT_BOOL *pbAvailable);
  796. [propput, id(28)] HRESULT UseSearchCompanion([in] VARIANT_BOOL bUseSC);
  797. [propget, id(28)] HRESULT UseSearchCompanion([out, retval] VARIANT_BOOL *pbUseSC);
  798. };
  799. [
  800. uuid(1611FDDA-445B-11d2-85DE-00C04FA35C89),
  801. hidden
  802. ]
  803. dispinterface _SearchAssistantEvents
  804. {
  805. properties:
  806. methods:
  807. [id(1)] void OnNextMenuSelect([in] long idItem);
  808. [id(2)] void OnNewSearch();
  809. };
  810. [
  811. uuid(B45FF030-4447-11D2-85DE-00C04FA35C89),
  812. helpstring("SearchAssistantOC Class"),
  813. hidden
  814. ]
  815. coclass SearchAssistantOC
  816. {
  817. [default] interface ISearchAssistantOC3;
  818. [default, source] dispinterface _SearchAssistantEvents;
  819. };
  820. }; // SHDocVw library