exdisp.idl 32 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081
  1. /*
  2. * Defines the COM interfaces and APIs related to the IE Web browser
  3. *
  4. * Copyright (C) 2001 John R. Sheets (for CodeWeavers)
  5. * Copyright (C) 2003 Alexandre Julliard
  6. * Copyright (C) 2004 Jacek Caban
  7. *
  8. * This library is free software; you can redistribute it and/or
  9. * modify it under the terms of the GNU Lesser General Public
  10. * License as published by the Free Software Foundation; either
  11. * version 2.1 of the License, or (at your option) any later version.
  12. *
  13. * This library is distributed in the hope that it will be useful,
  14. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  16. * Lesser General Public License for more details.
  17. *
  18. * You should have received a copy of the GNU Lesser General Public
  19. * License along with this library; if not, write to the Free Software
  20. * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
  21. */
  22. import "ocidl.idl";
  23. import "docobj.idl";
  24. #include <olectl.h>
  25. #include <exdispid.h>
  26. #ifndef __WIDL__
  27. #define threading(model)
  28. #define progid(str)
  29. #define vi_progid(str)
  30. #endif
  31. cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
  32. cpp_quote("#undef FindText")
  33. cpp_quote("#endif")
  34. /*****************************************************************************
  35. * SHDocVw library
  36. */
  37. [
  38. uuid(EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B),
  39. version(1.1),
  40. helpstring("Microsoft Internet Controls")
  41. ]
  42. library SHDocVw
  43. {
  44. importlib("stdole2.tlb");
  45. /*****************************************************************************
  46. * IWebBrowser interface
  47. */
  48. [
  49. object,
  50. oleautomation,
  51. uuid(eab22ac1-30c1-11cf-a7eb-0000c05bae0b),
  52. hidden,
  53. dual
  54. ]
  55. interface IWebBrowser : IDispatch
  56. {
  57. typedef enum BrowserNavConstants
  58. {
  59. navOpenInNewWindow = 0x00000001,
  60. navNoHistory = 0x00000002,
  61. navNoReadFromCache = 0x00000004,
  62. navNoWriteToCache = 0x00000008,
  63. navAllowAutosearch = 0x00000010,
  64. navBrowserBar = 0x00000020,
  65. navHyperlink = 0x00000040,
  66. navEnforceRestricted = 0x00000080,
  67. navNewWindowsManaged = 0x00000100,
  68. navUntrustedForDownload = 0x00000200,
  69. navTrustedForActiveX = 0x00000400,
  70. navOpenInNewTab = 0x00000800,
  71. navOpenInBackgroundTab = 0x00001000,
  72. navKeepWordWheelText = 0x00002000,
  73. navVirtualTab = 0x00004000,
  74. navBlockRedirectsXDomain = 0x00008000,
  75. navOpenNewForegroundTab = 0x00010000,
  76. navTravelLogScreenshot = 0x00020000,
  77. navDeferUnload = 0x00040000,
  78. navSpeculative = 0x00080000,
  79. navSuggestNewWindow = 0x00100000,
  80. navSuggestNewTab = 0x00200000,
  81. navReserved1 = 0x00400000,
  82. navHomepageNavigate = 0x00800000,
  83. navRefresh = 0x01000000,
  84. navHostNavigation = 0x02000000,
  85. navReserved2 = 0x04000000,
  86. navReserved3 = 0x08000000,
  87. navReserved4 = 0x10000000,
  88. } BrowserNavConstants;
  89. typedef enum RefreshConstants
  90. {
  91. REFRESH_NORMAL = 0,
  92. REFRESH_IFEXPIRED = 1,
  93. REFRESH_COMPLETELY = 3
  94. } RefreshConstants;
  95. [id(100)] HRESULT GoBack();
  96. [id(101)] HRESULT GoForward();
  97. [id(102)] HRESULT GoHome();
  98. [id(103)] HRESULT GoSearch();
  99. [id(104)]
  100. HRESULT Navigate(
  101. [in] BSTR URL,
  102. [in, optional] VARIANT *Flags,
  103. [in, optional] VARIANT *TargetFrameName,
  104. [in, optional] VARIANT *PostData,
  105. [in, optional] VARIANT *Headers);
  106. [id(DISPID_REFRESH)] HRESULT Refresh();
  107. [id(105)] HRESULT Refresh2([in, optional] VARIANT *Level);
  108. [id(106)] HRESULT Stop();
  109. [id(200), propget] HRESULT Application([out, retval] IDispatch** ppDisp);
  110. [id(201), propget] HRESULT Parent([out, retval] IDispatch** ppDisp);
  111. [id(202), propget] HRESULT Container([out, retval] IDispatch** ppDisp);
  112. [id(203), propget] HRESULT Document([out, retval] IDispatch** ppDisp);
  113. [id(204), propget] HRESULT TopLevelContainer([out, retval] VARIANT_BOOL* pBool);
  114. [id(205), propget] HRESULT Type([out, retval] BSTR* Type);
  115. [id(206), propget] HRESULT Left([out, retval] long *pl);
  116. [id(206), propput] HRESULT Left([in] long Left);
  117. [id(207), propget] HRESULT Top([out, retval] long *pl);
  118. [id(207), propput] HRESULT Top([in] long Top);
  119. [id(208), propget] HRESULT Width([out, retval] long *pl);
  120. [id(208), propput] HRESULT Width([in] long Width);
  121. [id(209), propget] HRESULT Height([out, retval] long *pl);
  122. [id(209), propput] HRESULT Height([in] long Height);
  123. [id(210), propget] HRESULT LocationName([out, retval] BSTR *LocationName);
  124. [id(211), propget] HRESULT LocationURL([out, retval] BSTR *LocationURL);
  125. [id(212), propget] HRESULT Busy([out, retval] VARIANT_BOOL *pBool);
  126. }
  127. /*****************************************************************************
  128. * DWebBrowserEvents dispinterface
  129. */
  130. [
  131. uuid(eab22ac2-30c1-11CF-a7eb-0000C05bae0b),
  132. hidden
  133. ]
  134. dispinterface DWebBrowserEvents
  135. {
  136. properties:
  137. methods:
  138. [id(DISPID_BEFORENAVIGATE)]
  139. void BeforeNavigate(
  140. [in] BSTR URL,
  141. long Flags,
  142. BSTR TargetFrameName,
  143. VARIANT *PostData,
  144. BSTR Headers,
  145. [in, out] VARIANT_BOOL *Cancel);
  146. [id(DISPID_NAVIGATECOMPLETE)]
  147. void NavigateComplete([in] BSTR URL);
  148. [id(DISPID_STATUSTEXTCHANGE)]
  149. void StatusTextChange([in] BSTR Text);
  150. [id(DISPID_PROGRESSCHANGE)]
  151. void ProgressChange([in] long Progress, [in] long ProgressMax);
  152. [id(DISPID_DOWNLOADCOMPLETE)]
  153. void DownloadComplete();
  154. [id(DISPID_COMMANDSTATECHANGE)]
  155. void CommandStateChange([in] long Command, [in]VARIANT_BOOL Enable);
  156. [id(DISPID_DOWNLOADBEGIN)]
  157. void DownloadBegin();
  158. [id(DISPID_NEWWINDOW)]
  159. void NewWindow(
  160. [in] BSTR URL,
  161. [in] long Flags,
  162. [in] BSTR TargetFrameName,
  163. [in] VARIANT *PostData,
  164. [in] BSTR Headers,
  165. [in,out] VARIANT_BOOL *Processed);
  166. [id(DISPID_TITLECHANGE)]
  167. void TitleChange([in] BSTR Text);
  168. [id(DISPID_FRAMEBEFORENAVIGATE)]
  169. void FrameBeforeNavigate(
  170. [in] BSTR URL,
  171. long Flags,
  172. BSTR TargetFrameName,
  173. VARIANT *PostData,
  174. BSTR Headers,
  175. [in, out]VARIANT_BOOL *Cancel);
  176. [id(DISPID_FRAMENAVIGATECOMPLETE)]
  177. void FrameNavigateComplete([in] BSTR URL);
  178. [id(DISPID_FRAMENEWWINDOW)]
  179. void FrameNewWindow(
  180. [in] BSTR URL,
  181. [in] long Flags,
  182. [in] BSTR TargetFrameName,
  183. [in] VARIANT *PostData,
  184. [in] BSTR Headers,
  185. [in,out] VARIANT_BOOL *Processed);
  186. [id(DISPID_QUIT)]
  187. void Quit([in, out] VARIANT_BOOL *Cancel);
  188. [id(DISPID_WINDOWMOVE)]
  189. void WindowMove();
  190. [id(DISPID_WINDOWRESIZE)]
  191. void WindowResize();
  192. [id(DISPID_WINDOWACTIVATE)]
  193. void WindowActivate();
  194. [id(DISPID_PROPERTYCHANGE)]
  195. void PropertyChange([in] BSTR Property);
  196. }
  197. typedef
  198. [
  199. uuid(34a226e0-df30-11cf-89a9-00a0c9054129)
  200. ]
  201. enum CommandStateChangeConstants {
  202. CSC_UPDATECOMMANDS = -1,
  203. CSC_NAVIGATEFORWARD = 1,
  204. CSC_NAVIGATEBACK = 2
  205. } CommandStateChangeConstants;
  206. /*****************************************************************************
  207. * IWebBrowserApp interface
  208. */
  209. [
  210. object,
  211. oleautomation,
  212. uuid(0002df05-0000-0000-c000-000000000046),
  213. hidden,
  214. dual
  215. ]
  216. interface IWebBrowserApp : IWebBrowser
  217. {
  218. [id(300)] HRESULT Quit();
  219. [id(301)] HRESULT ClientToWindow([in,out] int* pcx, [in,out] int* pcy);
  220. [id(302)] HRESULT PutProperty([in] BSTR Property, [in] VARIANT vtValue);
  221. [id(303)] HRESULT GetProperty([in] BSTR Property, [out, retval] VARIANT *pvtValue);
  222. [id(DISPID_VALUE), propget] HRESULT Name([out, retval] BSTR* Name);
  223. [id(DISPID_HWND), propget] HRESULT HWND([out, retval] SHANDLE_PTR *pHWND);
  224. [id(400), propget] HRESULT FullName([out, retval] BSTR* FullName);
  225. [id(401), propget] HRESULT Path([out, retval] BSTR* Path);
  226. [id(402), propget] HRESULT Visible([out, retval] VARIANT_BOOL* pBool);
  227. [id(402), propput] HRESULT Visible([in] VARIANT_BOOL Value);
  228. [id(403), propget] HRESULT StatusBar([out, retval] VARIANT_BOOL* pBool);
  229. [id(403), propput] HRESULT StatusBar([in] VARIANT_BOOL Value);
  230. [id(404), propget] HRESULT StatusText([out, retval] BSTR *StatusText);
  231. [id(404), propput] HRESULT StatusText([in] BSTR StatusText);
  232. [id(405), propget] HRESULT ToolBar([out, retval] int * Value);
  233. [id(405), propput] HRESULT ToolBar([in] int Value);
  234. [id(406), propget] HRESULT MenuBar([out, retval] VARIANT_BOOL *Value);
  235. [id(406), propput] HRESULT MenuBar([in] VARIANT_BOOL Value);
  236. [id(407), propget] HRESULT FullScreen([out, retval] VARIANT_BOOL *pbFullScreen);
  237. [id(407), propput] HRESULT FullScreen([in] VARIANT_BOOL bFullScreen);
  238. }
  239. /*****************************************************************************
  240. * IWebBrowser2 interface
  241. */
  242. [
  243. object,
  244. oleautomation,
  245. uuid(d30c1661-cdaf-11d0-8a3e-00c04fc9e26e),
  246. hidden,
  247. dual
  248. ]
  249. interface IWebBrowser2 : IWebBrowserApp
  250. {
  251. [id(500)] HRESULT Navigate2(
  252. [in] VARIANT *URL,
  253. [in, optional] VARIANT *Flags,
  254. [in, optional] VARIANT *TargetFrameName,
  255. [in, optional] VARIANT *PostData,
  256. [in, optional] VARIANT *Headers);
  257. [id(501)] HRESULT QueryStatusWB(
  258. [in] OLECMDID cmdID,
  259. [out, retval] OLECMDF *pcmdf);
  260. [id(502)] HRESULT ExecWB(
  261. [in] OLECMDID cmdID,
  262. [in] OLECMDEXECOPT cmdexecopt,
  263. [in, optional] VARIANT *pvaIn,
  264. [out, in, optional] VARIANT *pvaOut);
  265. [id(503)] HRESULT ShowBrowserBar(
  266. [in] VARIANT *pvaClsid,
  267. [in, optional] VARIANT *pvarShow,
  268. [in, optional] VARIANT *pvarSize);
  269. [id(DISPID_READYSTATE), propget, bindable]
  270. HRESULT ReadyState([out, retval] READYSTATE *plReadyState);
  271. [id(550), propget] HRESULT Offline([out, retval] VARIANT_BOOL *pbOffline);
  272. [id(550), propput] HRESULT Offline([in] VARIANT_BOOL bOffline);
  273. [id(551), propget] HRESULT Silent([out, retval] VARIANT_BOOL *pbSilent);
  274. [id(551), propput] HRESULT Silent([in] VARIANT_BOOL bSilent);
  275. [id(552), propget] HRESULT RegisterAsBrowser([out, retval] VARIANT_BOOL *pbRegister);
  276. [id(552), propput] HRESULT RegisterAsBrowser([in] VARIANT_BOOL bRegister);
  277. [id(553), propget] HRESULT RegisterAsDropTarget([out, retval] VARIANT_BOOL *pbRegister);
  278. [id(553), propput] HRESULT RegisterAsDropTarget([in] VARIANT_BOOL bRegister);
  279. [id(554), propget] HRESULT TheaterMode([out, retval] VARIANT_BOOL *pbRegister);
  280. [id(554), propput] HRESULT TheaterMode([in] VARIANT_BOOL bRegister);
  281. [id(555), propget] HRESULT AddressBar([out, retval] VARIANT_BOOL *Value);
  282. [id(555), propput] HRESULT AddressBar([in] VARIANT_BOOL Value);
  283. [id(556), propget] HRESULT Resizable([out, retval] VARIANT_BOOL *Value);
  284. [id(556), propput] HRESULT Resizable([in] VARIANT_BOOL Value);
  285. }
  286. typedef
  287. [
  288. uuid(65507be0-91a8-11d3-a845-009027220e6d)
  289. ]
  290. enum SecureLockIconConstants {
  291. secureLockIconUnsecure = 0,
  292. secureLockIconMixed = 1,
  293. secureLockIconSecureUnknownBits = 2,
  294. secureLockIconSecure40Bit = 3,
  295. secureLockIconSecure56Bit = 4,
  296. secureLockIconSecureFortezza = 5,
  297. secureLockIconSecure128Bit = 6
  298. } SecureLockIconConstants;
  299. /*****************************************************************************
  300. * DWebBrowserEvents2 dispinterface
  301. */
  302. [
  303. uuid(34a715a0-6587-11d0-924a-0020afc7ac4d),
  304. hidden
  305. ]
  306. dispinterface DWebBrowserEvents2
  307. {
  308. properties:
  309. methods:
  310. [id(DISPID_STATUSTEXTCHANGE)]
  311. void StatusTextChange([in] BSTR Text);
  312. [id(DISPID_PROGRESSCHANGE)]
  313. void ProgressChange([in] long Progress, [in] long ProgressMax);
  314. [id(DISPID_COMMANDSTATECHANGE)]
  315. void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable);
  316. [id(DISPID_DOWNLOADBEGIN)]
  317. void DownloadBegin();
  318. [id(DISPID_DOWNLOADCOMPLETE)]
  319. void DownloadComplete();
  320. [id(DISPID_TITLECHANGE)]
  321. void TitleChange([in] BSTR Text);
  322. [id(DISPID_PROPERTYCHANGE)]
  323. void PropertyChange([in] BSTR szProperty);
  324. [id(DISPID_BEFORENAVIGATE2)]
  325. void BeforeNavigate2(
  326. [in] IDispatch *pDisp,
  327. [in] VARIANT *URL,
  328. [in] VARIANT *Flags,
  329. [in] VARIANT *TargetFrameName,
  330. [in] VARIANT *PostData,
  331. [in] VARIANT *Headers,
  332. [in, out] VARIANT_BOOL *Cancel);
  333. [id(DISPID_NEWWINDOW2)]
  334. void NewWindow2([in, out] IDispatch **ppDisp, [in, out] VARIANT_BOOL *Cancel);
  335. [id(DISPID_NAVIGATECOMPLETE2)]
  336. void NavigateComplete2([in] IDispatch *pDisp, [in] VARIANT *URL);
  337. [id(DISPID_DOCUMENTCOMPLETE)]
  338. void DocumentComplete([in] IDispatch *pDisp, [in] VARIANT *URL);
  339. [id(DISPID_ONQUIT)]
  340. void OnQuit();
  341. [id(DISPID_ONVISIBLE)]
  342. void OnVisible([in] VARIANT_BOOL Visible);
  343. [id(DISPID_ONTOOLBAR)]
  344. void OnToolBar([in] VARIANT_BOOL ToolBar);
  345. [id(DISPID_ONMENUBAR)]
  346. void OnMenuBar([in] VARIANT_BOOL MenuBar);
  347. [id(DISPID_ONSTATUSBAR)]
  348. void OnStatusBar([in] VARIANT_BOOL StatusBar);
  349. [id(DISPID_ONFULLSCREEN)]
  350. void OnFullScreen([in] VARIANT_BOOL FullScreen);
  351. [id(DISPID_ONTHEATERMODE)]
  352. void OnTheaterMode([in] VARIANT_BOOL TheaterMode);
  353. [id(DISPID_WINDOWSETRESIZABLE)]
  354. void WindowSetResizable([in] VARIANT_BOOL Resizable);
  355. [id(DISPID_WINDOWSETLEFT)]
  356. void WindowSetLeft([in] long Left);
  357. [id(DISPID_WINDOWSETTOP)]
  358. void WindowSetTop([in] long Top);
  359. [id(DISPID_WINDOWSETWIDTH)]
  360. void WindowSetWidth([in] long Width);
  361. [id(DISPID_WINDOWSETHEIGHT)]
  362. void WindowSetHeight([in] long Height);
  363. [id(DISPID_WINDOWCLOSING)]
  364. void WindowClosing(
  365. [in] VARIANT_BOOL IsChildWindow,
  366. [in, out] VARIANT_BOOL *Cancel);
  367. [id(DISPID_CLIENTTOHOSTWINDOW)]
  368. void ClientToHostWindow(
  369. [in, out] long *CX,
  370. [in, out] long *CY);
  371. [id(DISPID_SETSECURELOCKICON)]
  372. void SetSecureLockIcon([in] long SecureLockIcon);
  373. [id(DISPID_FILEDOWNLOAD)]
  374. void FileDownload(
  375. [in] VARIANT_BOOL ActiveDocument,
  376. [in, out] VARIANT_BOOL *Cancel);
  377. [id(DISPID_NAVIGATEERROR)]
  378. void NavigateError(
  379. [in] IDispatch *pDisp,
  380. [in] VARIANT *URL,
  381. [in] VARIANT *Frame,
  382. [in] VARIANT *StatusCode,
  383. [in, out] VARIANT_BOOL *Cancel);
  384. [id(DISPID_PRINTTEMPLATEINSTANTIATION)]
  385. void PrintTemplateInstantiation([in] IDispatch *pDisp);
  386. [id(DISPID_PRINTTEMPLATETEARDOWN)]
  387. void PrintTemplateTeardown([in] IDispatch *pDisp);
  388. [id(DISPID_UPDATEPAGESTATUS)]
  389. void UpdatePageStatus(
  390. [in] IDispatch *pDisp,
  391. [in] VARIANT *nPage,
  392. [in] VARIANT *fDone);
  393. [id(DISPID_PRIVACYIMPACTEDSTATECHANGE)]
  394. void PrivacyImpactedStateChange([in] VARIANT_BOOL bImpacted);
  395. [id(DISPID_NEWWINDOW3)]
  396. void NewWindow3(
  397. [in, out] IDispatch **ppDisp,
  398. [in, out] VARIANT_BOOL *Cancel,
  399. [in] DWORD dwFlags,
  400. [in] BSTR bstrUrlContext,
  401. [in] BSTR bstrUrl);
  402. [id(DISPID_SETPHISHINGFILTERSTATUS)]
  403. void SetPhishingFilterStatus([in] long PhishingFilterStatus);
  404. [id(DISPID_WINDOWSTATECHANGED)]
  405. void WindowStateChanged(
  406. [in] DWORD dwWindowStateFlags,
  407. [in] DWORD dwValidFlagsMask);
  408. [id(DISPID_NEWPROCESS)]
  409. void NewProcess(
  410. [in] long lCauseFlag,
  411. [in] IDispatch *pWB2,
  412. [in, out] VARIANT_BOOL *Cancel);
  413. [id(DISPID_THIRDPARTYURLBLOCKED)]
  414. void ThirdPartyUrlBlocked(
  415. [in] VARIANT *URL,
  416. [in] DWORD dwCount);
  417. [id(DISPID_REDIRECTXDOMAINBLOCKED)]
  418. void RedirectXDomainBlocked(
  419. [in] IDispatch *pDisp,
  420. [in] VARIANT *StartURL,
  421. [in] VARIANT *RedirectURL,
  422. [in] VARIANT *Frame,
  423. [in] VARIANT *StatusCode);
  424. [id(DISPID_BEFORESCRIPTEXECUTE)]
  425. void BeforeScriptExecute([in] IDispatch *pDispWindow);
  426. [id(DISPID_WEBWORKERSTARTED)]
  427. void WebWorkerStarted(
  428. [in] DWORD dwUniqueID,
  429. [in] BSTR bstrWorkerLabel);
  430. [id(DISPID_WEBWORKERFINISHED)]
  431. void WebWorkerFinished([in] DWORD dwUniqueID);
  432. }
  433. [
  434. helpstring("Microsoft Web Browser Version 1"),
  435. threading(apartment),
  436. progid("Shell.Explorer.1"),
  437. vi_progid("Shell.Explorer"),
  438. uuid(eab22ac3-30c1-11cf-a7eb-0000c05bae0b),
  439. control
  440. ]
  441. coclass WebBrowser_V1
  442. {
  443. interface IWebBrowser2;
  444. [default] interface IWebBrowser;
  445. [source] dispinterface DWebBrowserEvents2;
  446. [default, source] dispinterface DWebBrowserEvents;
  447. }
  448. [
  449. helpstring("Microsoft Web Browser"),
  450. threading(apartment),
  451. progid("Shell.Explorer.2"),
  452. vi_progid("Shell.Explorer"),
  453. uuid(8856f961-340a-11d0-a96b-00c04fd705a2),
  454. control
  455. ]
  456. coclass WebBrowser
  457. {
  458. [default] interface IWebBrowser2;
  459. interface IWebBrowser;
  460. [default, source] dispinterface DWebBrowserEvents2;
  461. [source] dispinterface DWebBrowserEvents;
  462. }
  463. [
  464. helpstring("Internet Explorer(Ver 1.0)"),
  465. progid("InternetExplorer.Application.1"),
  466. vi_progid("InternetExplorer.Application"),
  467. uuid(0002df01-0000-0000-c000-000000000046)
  468. ]
  469. coclass InternetExplorer
  470. {
  471. [default] interface IWebBrowser2;
  472. interface IWebBrowserApp;
  473. [default, source] dispinterface DWebBrowserEvents2;
  474. [source] dispinterface DWebBrowserEvents;
  475. }
  476. [
  477. uuid(C08AFD90-F2A1-11D1-8455-00A0C91F3880),
  478. hidden
  479. ]
  480. coclass ShellBrowserWindow
  481. {
  482. [default] interface IWebBrowser2;
  483. interface IWebBrowserApp;
  484. [default, source] dispinterface DWebBrowserEvents2;
  485. [source] dispinterface DWebBrowserEvents;
  486. }
  487. typedef
  488. [
  489. uuid(f41e6981-28e5-11d0-82b4-00a0c90c29c5)
  490. ]
  491. enum ShellWindowTypeConstants {
  492. SWC_EXPLORER = 0,
  493. SWC_BROWSER = 1,
  494. SWC_3RDPARTY = 2,
  495. SWC_CALLBACK = 4,
  496. SWC_DESKTOP = 8
  497. } ShellWindowTypeConstants;
  498. typedef
  499. [
  500. uuid(7716a370-38Ca-11d0-a48B-00a0c90a8f39)
  501. ]
  502. enum ShellWindowFindWindowOptions {
  503. SWFO_NEEDDISPATCH = 1,
  504. SWFO_INCLUDEPENDING = 2,
  505. SWFO_COOKIEPASSED = 4
  506. } ShellWindowFindWindowOptions;
  507. [
  508. uuid(FE4106E0-399A-11D0-A48C-00A0C90A8F39)
  509. ]
  510. dispinterface DShellWindowsEvents {
  511. properties:
  512. methods:
  513. [id(DISPID_WINDOWREGISTERED)]
  514. void WindowRegistered([in] long lCookie);
  515. [id(DISPID_WINDOWREVOKED)]
  516. void WindowRevoked([in] long lCookie);
  517. }
  518. [
  519. object,
  520. oleautomation,
  521. uuid(85cb6900-4d95-11cf-960c-0080c7f4ee85),
  522. dual
  523. ]
  524. interface IShellWindows : IDispatch
  525. {
  526. [propget] HRESULT Count([out, retval] long *Count);
  527. [id(DISPID_VALUE)]
  528. HRESULT Item(
  529. [in, optional] VARIANT index,
  530. [out, retval] IDispatch **Folder);
  531. [id(DISPID_NEWENUM)]
  532. HRESULT _NewEnum([out, retval] IUnknown **ppunk);
  533. [hidden] HRESULT Register(
  534. [in] IDispatch *pid,
  535. [in] long hWnd,
  536. [in] int swClass,
  537. [out] long *plCookie);
  538. [hidden] HRESULT RegisterPending(
  539. [in] long lThreadId,
  540. [in] VARIANT *pvarloc,
  541. [in] VARIANT *pvarlocRoot,
  542. [in] int swClass,
  543. [out] long *plCookie);
  544. [hidden] HRESULT Revoke([in] long lCookie);
  545. [hidden] HRESULT OnNavigate([in] long lCookie, [in] VARIANT *pvarLoc);
  546. [hidden] HRESULT OnActivated([in] long lCookie, [in] VARIANT_BOOL fActive);
  547. [hidden] HRESULT FindWindowSW(
  548. [in] VARIANT *pvarLoc,
  549. [in] VARIANT *pvarLocRoot,
  550. [in] int swClass,
  551. [out] long *phwnd,
  552. [in] int swfwOptions,
  553. [out, retval] IDispatch **ppdispOut);
  554. [hidden] HRESULT OnCreated([in] long lCookie, [in] IUnknown *punk);
  555. [hidden] HRESULT ProcessAttachDetach([in] VARIANT_BOOL fAttach);
  556. }
  557. [
  558. threading(apartment),
  559. uuid(9ba05972-f6a8-11cf-a442-00a0c90a8f39)
  560. ]
  561. coclass ShellWindows
  562. {
  563. [default] interface IShellWindows;
  564. [default, source] dispinterface DShellWindowsEvents;
  565. }
  566. [
  567. odl,
  568. uuid(729fe2f8-1ea8-11d1-8f85-00C04fc2fbe1),
  569. dual,
  570. oleautomation
  571. ]
  572. interface IShellUIHelper : IDispatch {
  573. [id(1), hidden] HRESULT ResetFirstBootMode();
  574. [id(2), hidden] HRESULT ResetSafeMode();
  575. [id(3), hidden] HRESULT RefreshOfflineDesktop();
  576. [id(4)] HRESULT AddFavorite(
  577. [in] BSTR URL,
  578. [in, optional] VARIANT* Title);
  579. [id(5)] HRESULT AddChannel([in] BSTR URL);
  580. [id(6)] HRESULT AddDesktopComponent(
  581. [in] BSTR URL,
  582. [in] BSTR Type,
  583. [in, optional] VARIANT *Left,
  584. [in, optional] VARIANT *Top,
  585. [in, optional] VARIANT *Width,
  586. [in, optional] VARIANT *Height);
  587. [id(7)] HRESULT IsSubscribed(
  588. [in] BSTR URL,
  589. [out, retval] VARIANT_BOOL *pBool);
  590. [id(8)] HRESULT NavigateAndFind(
  591. [in] BSTR URL,
  592. [in] BSTR strQuery,
  593. [in] VARIANT *varTargetFrame);
  594. [id(9)] HRESULT ImportExportFavorites(
  595. [in] VARIANT_BOOL fImport,
  596. [in] BSTR strImpExpPath);
  597. [id(10)] HRESULT AutoCompleteSaveForm([in, optional] VARIANT *Form);
  598. [id(11)] HRESULT AutoScan(
  599. [in] BSTR strSearch,
  600. [in] BSTR strFailureUrl,
  601. [in, optional] VARIANT *pvarTargetFrame);
  602. [id(12), hidden] HRESULT AutoCompleteAttach([in, optional] VARIANT *Reserved);
  603. [id(13)] HRESULT ShowBrowserUI(
  604. [in] BSTR bstrName,
  605. [in] VARIANT *pvarIn,
  606. [out, retval] VARIANT *pvarOut);
  607. }
  608. [
  609. uuid(a7fe6eda-1932-4281-b881-87b31b8bc52c),
  610. oleautomation,
  611. dual
  612. ]
  613. interface IShellUIHelper2 : IShellUIHelper {
  614. [id(DISPID_ADDSEARCHPROVIDER)]
  615. HRESULT AddSearchProvider([in] BSTR URL);
  616. [id(DISPID_RUNONCESHOWN)]
  617. HRESULT RunOnceShown();
  618. [id(DISPID_SKIPRUNONCE)]
  619. HRESULT SkipRunOnce();
  620. [id(DISPID_CUSTOMIZESETTINGS)] HRESULT CustomizeSettings(
  621. [in] VARIANT_BOOL fSQM,
  622. [in] VARIANT_BOOL fPhishing,
  623. [in] BSTR bstrLocale);
  624. [id(DISPID_SQMENABLED)]
  625. HRESULT SqmEnabled([out, retval] VARIANT_BOOL *pfEnabled);
  626. [id(DISPID_PHISHINGENABLED)]
  627. HRESULT PhishingEnabled([out, retval] VARIANT_BOOL *pfEnabled);
  628. [id(DISPID_BRANDIMAGEURI)]
  629. HRESULT BrandImageUri([out, retval] BSTR *pbstrUri);
  630. [id(DISPID_SKIPTABSWELCOME)]
  631. HRESULT SkipTabsWelcome();
  632. [id(DISPID_DIAGNOSECONNECTION)]
  633. HRESULT DiagnoseConnection();
  634. [id(DISPID_CUSTOMIZECLEARTYPE)]
  635. HRESULT CustomizeClearType([in] VARIANT_BOOL fSet);
  636. [id(DISPID_ISSEARCHPROVIDERINSTALLED)]
  637. HRESULT IsSearchProviderInstalled(
  638. [in] BSTR URL,
  639. [out, retval] DWORD *pdwResult);
  640. [id(DISPID_ISSEARCHMIGRATED)]
  641. HRESULT IsSearchMigrated([out, retval] VARIANT_BOOL *pfMigrated);
  642. [id(DISPID_DEFAULTSEARCHPROVIDER)]
  643. HRESULT DefaultSearchProvider([out, retval] BSTR *pbstrName);
  644. [id(DISPID_RUNONCEREQUIREDSETTINGSCOMPLETE)]
  645. HRESULT RunOnceRequiredSettingsComplete([in] VARIANT_BOOL fComplete);
  646. [id(DISPID_RUNONCEHASSHOWN)]
  647. HRESULT RunOnceHasShown([out, retval] VARIANT_BOOL *pfShown);
  648. [id(DISPID_SEARCHGUIDEURL)]
  649. HRESULT SearchGuideUrl([out, retval] BSTR *pbstrUrl);
  650. }
  651. [
  652. helpstring("Microsoft Shell UI Helper"),
  653. threading(apartment),
  654. progid("Shell.UIHelper.1"),
  655. vi_progid("Shell.UIHelper"),
  656. uuid(64ab4bb7-111e-11d1-8f79-00c04fc2fbe1)
  657. ]
  658. coclass ShellUIHelper {
  659. [default] interface IShellUIHelper2;
  660. }
  661. [
  662. uuid(55136806-b2de-11d1-b9f2-00a0c98bc547)
  663. ]
  664. dispinterface DShellNameSpaceEvents {
  665. properties:
  666. methods:
  667. [id(1)] void FavoritesSelectionChange(
  668. [in] long cItems,
  669. [in] long hItem,
  670. [in] BSTR strName,
  671. [in] BSTR strUrl,
  672. [in] long cVisits,
  673. [in] BSTR strDate,
  674. [in] long fAvailableOffline);
  675. [id(2)] void SelectionChange();
  676. [id(3)] void DoubleClick();
  677. [id(4)] void Initialized();
  678. }
  679. [
  680. odl,
  681. uuid(55136804-b2de-11d1-b9f2-00a0c98bc547),
  682. hidden,
  683. dual,
  684. oleautomation
  685. ]
  686. interface IShellFavoritesNameSpace : IDispatch {
  687. [id(1)] HRESULT MoveSelectionUp();
  688. [id(2)] HRESULT MoveSelectionDown();
  689. [id(3)] HRESULT ResetSort();
  690. [id(4)] HRESULT NewFolder();
  691. [id(5)] HRESULT Synchronize();
  692. [id(6)] HRESULT Import();
  693. [id(7)] HRESULT Export();
  694. [id(8)] HRESULT InvokeContextMenuCommand([in] BSTR strCommand);
  695. [id(9)] HRESULT MoveSelectionTo();
  696. [id(10), propget] HRESULT SubscriptionsEnabled([out, retval] VARIANT_BOOL *pBool);
  697. [id(11)] HRESULT CreateSubscriptionForSelection([out, retval] VARIANT_BOOL *pBool);
  698. [id(12)] HRESULT DeleteSubscriptionForSelection([out, retval] VARIANT_BOOL *pBool);
  699. [id(13)] HRESULT SetRoot([in] BSTR bstrFullPath);
  700. }
  701. [
  702. odl,
  703. uuid(e572d3c9-37be-4ae2-825d-d521763e3108),
  704. hidden,
  705. dual,
  706. oleautomation
  707. ]
  708. interface IShellNameSpace : IShellFavoritesNameSpace {
  709. [id(14), propget] HRESULT EnumOptions([out, retval] long* pgrfEnumFlags);
  710. [id(14), propput] HRESULT EnumOptions([in] long pgrfEnumFlags);
  711. [id(15), propget] HRESULT SelectedItem([out, retval] IDispatch **pItem);
  712. [id(15), propput] HRESULT SelectedItem([in] IDispatch *pItem);
  713. [id(16), propget] HRESULT Root([out, retval] VARIANT *pvar);
  714. [id(16), propput] HRESULT Root([in] VARIANT pvar);
  715. [id(17), propget] HRESULT Depth([out, retval] int *piDepth);
  716. [id(17), propput] HRESULT Depth([in] int piDepth);
  717. [id(18), propget] HRESULT Mode([out, retval] unsigned int *puMode);
  718. [id(18), propput] HRESULT Mode([in] unsigned int puMode);
  719. [id(19), propget] HRESULT Flags([out, retval] unsigned long *pdwFlags);
  720. [id(19), propput] HRESULT Flags([in] unsigned long pdwFlags);
  721. [id(20), propput] HRESULT TVFlags([in] unsigned long dwFlags);
  722. [id(20), propget] HRESULT TVFlags([out, retval] unsigned long *dwFlags);
  723. [id(21), propget] HRESULT Columns([out, retval] BSTR *bstrColumns);
  724. [id(21), propput] HRESULT Columns([in] BSTR bstrColumns);
  725. [id(22), propget] HRESULT CountViewTypes([out, retval] int *piTypes);
  726. [id(23)] HRESULT SetViewType([in] int iType);
  727. [id(24)] HRESULT SelectedItems([out, retval] IDispatch **ppid);
  728. [id(25)] HRESULT Expand([in] VARIANT var, int iDepth);
  729. [id(26)] HRESULT UnselectAll();
  730. }
  731. [
  732. helpstring("Shell Name Space"),
  733. threading(apartment),
  734. progid("ShellNameSpace.ShellNameSpace.1"),
  735. vi_progid("ShellNameSpace.ShellNameSpace"),
  736. uuid(2f2f1f96-2bc1-4b1c-be28-ea3774f4676a)
  737. ]
  738. coclass ShellShellNameSpace {
  739. [default] interface IShellNameSpace;
  740. [default, source] dispinterface DShellNameSpaceEvents;
  741. }
  742. [
  743. helpstring("Shell Name Space"),
  744. threading(apartment),
  745. progid("ShellNameSpace.ShellNameSpace.1"),
  746. vi_progid("ShellNameSpace.ShellNameSpace"),
  747. uuid(55136805-b2de-11d1-b9f2-00a0c98bc547)
  748. ]
  749. coclass ShellNameSpace {
  750. [default] interface IShellNameSpace;
  751. [default, source] dispinterface DShellNameSpaceEvents;
  752. }
  753. [
  754. odl,
  755. uuid(f3470f24-15fd-11d2-bb2e-00805ff7efca),
  756. hidden,
  757. dual,
  758. oleautomation
  759. ]
  760. interface IScriptErrorList : IDispatch {
  761. [id(10)] HRESULT advanceError();
  762. [id(11)] HRESULT retreatError();
  763. [id(12)] HRESULT canAdvanceError([out, retval] long *pfCanAdvance);
  764. [id(13)] HRESULT canRetreatError([out, retval] long *pfCanRetreat);
  765. [id(14)] HRESULT getErrorLine([out, retval] long *plLine);
  766. [id(15)] HRESULT getErrorChar([out, retval] long *plChar);
  767. [id(16)] HRESULT getErrorCode([out, retval] long *plCode);
  768. [id(17)] HRESULT getErrorMsg([out, retval] BSTR *pstr);
  769. [id(18)] HRESULT getErrorUrl([out, retval] BSTR *pstr);
  770. [id(23)] HRESULT getAlwaysShowLockState([out, retval] long *pfAlwaysShowLocked);
  771. [id(19)] HRESULT getDetailsPaneOpen([out, retval] long *pfDetailsPaneOpen);
  772. [id(20)] HRESULT setDetailsPaneOpen(long fDetailsPaneOpen);
  773. [id(21)] HRESULT getPerErrorDisplay([out, retval] long *pfPerErrorDisplay);
  774. [id(22)] HRESULT setPerErrorDisplay(long fPerErrorDisplay);
  775. }
  776. [
  777. uuid(efd01300-160f-11d2-bb2e-00805ff7efca),
  778. hidden,
  779. noncreatable
  780. ]
  781. coclass CScriptErrorList {
  782. [default] interface IScriptErrorList;
  783. }
  784. [
  785. odl,
  786. uuid(ba9239a4-3dd5-11d2-bf8b-00c04fb93661),
  787. hidden,
  788. dual,
  789. oleautomation
  790. ]
  791. interface ISearch : IDispatch {
  792. [propget] HRESULT Title([out, retval] BSTR *pbstrTitle);
  793. [propget] HRESULT Id([out, retval] BSTR *pbstrId);
  794. [propget] HRESULT URL([out, retval] BSTR *pbstrUrl);
  795. }
  796. [
  797. odl,
  798. uuid(47c922a2-3dd5-11d2-bf8b-00c04fb93661),
  799. hidden,
  800. dual,
  801. oleautomation
  802. ]
  803. interface ISearches : IDispatch {
  804. [propget] HRESULT Count([out, retval] long *plCount);
  805. [propget] HRESULT Default([out, retval] BSTR *pbstrDefault);
  806. HRESULT Item(
  807. [in, optional] VARIANT index,
  808. [out, retval] ISearch **ppid);
  809. [id(DISPID_NEWENUM)]
  810. HRESULT _NewEnum([out, retval] IUnknown **ppunk);
  811. }
  812. [
  813. odl,
  814. uuid(72423e8f-8011-11d2-be79-00a0c9a83da1),
  815. hidden,
  816. dual,
  817. oleautomation
  818. ]
  819. interface ISearchAssistantOC : IDispatch {
  820. [id(1)] HRESULT AddNextMenuItem([in] BSTR bstrText, [in] long idItem);
  821. [id(2)] HRESULT SetDefaultSearchUrl([in] BSTR bstrUrl);
  822. [id(3)] HRESULT NavigateToDefaultSearch();
  823. [id(4)] HRESULT IsRestricted(
  824. [in] BSTR bstrGuid,
  825. [out, retval] VARIANT_BOOL *pVal);
  826. [id(5), propget] HRESULT ShellFeaturesEnabled([out, retval] VARIANT_BOOL *pVal);
  827. [id(6), propget] HRESULT SearchAssistantDefault([out, retval] VARIANT_BOOL *pVal);
  828. [id(7), propget] HRESULT Searches([out, retval] ISearches **ppid);
  829. [id(8), propget] HRESULT InWebFolder([out, retval] VARIANT_BOOL *pVal);
  830. [id(9)] HRESULT PutProperty(
  831. [in] VARIANT_BOOL bPerLocale,
  832. [in] BSTR bstrName,
  833. [in] BSTR bstrValue);
  834. [id(10)] HRESULT GetProperty(
  835. [in] VARIANT_BOOL bPerLocale,
  836. [in] BSTR bstrName,
  837. [out, retval] BSTR *pbstrValue);
  838. [id(11), propput] HRESULT EventHandled([in] VARIANT_BOOL rhs);
  839. [id(12)] HRESULT ResetNextMenu();
  840. [id(13)] HRESULT FindOnWeb();
  841. [id(14)] HRESULT FindFilesOrFolders();
  842. [id(15)] HRESULT FindComputer();
  843. [id(16)] HRESULT FindPrinter();
  844. [id(17)] HRESULT FindPeople();
  845. [id(18)] HRESULT GetSearchAssistantURL(
  846. [in] VARIANT_BOOL bSubstitute,
  847. [in] VARIANT_BOOL bCustomize,
  848. [out, retval] BSTR *pbstrValue);
  849. [id(19)] HRESULT NotifySearchSettingsChanged();
  850. [id(20), propput] HRESULT ASProvider([in] BSTR pProvider);
  851. [id(20), propget] HRESULT ASProvider([out, retval] BSTR *pProvider);
  852. [id(21), propput] HRESULT ASSetting([in] int pSetting);
  853. [id(21), propget] HRESULT ASSetting([out, retval] int *pSetting);
  854. [id(22)] HRESULT NETDetectNextNavigate();
  855. [id(23)] HRESULT PutFindText([in] BSTR FindText);
  856. [id(24), propget] HRESULT Version([out, retval] int *pVersion);
  857. [id(25)] HRESULT EncodeString(
  858. [in] BSTR bstrValue,
  859. [in] BSTR bstrCharSet,
  860. [in] VARIANT_BOOL bUseUTF8,
  861. [out, retval] BSTR* pbstrResult);
  862. }
  863. [
  864. odl,
  865. uuid(72423e8f-8011-11d2-be79-00a0c9a83da2),
  866. hidden,
  867. dual,
  868. oleautomation
  869. ]
  870. interface ISearchAssistantOC2 : ISearchAssistantOC {
  871. [id(26), propget] HRESULT ShowFindPrinter([out, retval] VARIANT_BOOL *pbShowFindPrinter);
  872. }
  873. [
  874. odl,
  875. uuid(72423e8f-8011-11d2-be79-00a0c9a83da3),
  876. hidden,
  877. dual,
  878. oleautomation
  879. ]
  880. interface ISearchAssistantOC3 : ISearchAssistantOC2 {
  881. [id(27), propget] HRESULT SearchCompanionAvailable([out, retval] VARIANT_BOOL *pbAvailable);
  882. [id(28), propput] HRESULT UseSearchCompanion([in] VARIANT_BOOL pbUseSC);
  883. [id(28), propget] HRESULT UseSearchCompanion([out, retval] VARIANT_BOOL *pbUseSC);
  884. }
  885. [
  886. uuid(1611fdda-445b-11d2-85de-00C04fa35c89),
  887. hidden
  888. ]
  889. dispinterface _SearchAssistantEvents {
  890. properties:
  891. methods:
  892. [id(1)] void OnNextMenuSelect([in] long idItem);
  893. [id(2)] void OnNewSearch();
  894. }
  895. [
  896. helpstring("SearchAssistantOC"),
  897. threading(apartment),
  898. progid("SearchAssistantOC.SearchAssistantOC.1"),
  899. vi_progid("SearchAssistantOC.SearchAssistantOC"),
  900. uuid(2e71fd0f-aab1-42c0-9146-6d2c4edcf07d),
  901. hidden
  902. ]
  903. coclass ShellSearchAssistantOC {
  904. [default] interface ISearchAssistantOC3;
  905. [default, source] dispinterface _SearchAssistantEvents;
  906. }
  907. [
  908. threading(apartment),
  909. progid("SearchAssistantOC.SearchAssistantOC.1"),
  910. vi_progid("SearchAssistantOC.SearchAssistantOC"),
  911. uuid(b45ff030-4447-11d2-85de-00C04fa35c89),
  912. hidden
  913. ]
  914. coclass SearchAssistantOC {
  915. [default] interface ISearchAssistantOC3;
  916. [default, source] dispinterface _SearchAssistantEvents;
  917. }
  918. } /* library */