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