xref: /reactos/sdk/include/psdk/exdisp.idl (revision 019f21ee)
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(0), 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(0)] HRESULT Item(
585            [in, optional] VARIANT index,
586            [out, retval] IDispatch **Folder);
587
588    [id(-4)] HRESULT _NewEnum([out, retval] IUnknown **ppunk);
589
590    [hidden] HRESULT Register(
591            [in] IDispatch *pid,
592            [in] long hWnd,
593            [in] int swClass,
594            [out] long *plCookie);
595
596    [hidden] HRESULT RegisterPending(
597            [in] long lThreadId,
598            [in] VARIANT *pvarloc,
599            [in] VARIANT *pvarlocRoot,
600            [in] int swClass,
601            [out] long *plCookie);
602
603    [hidden] HRESULT Revoke([in] long lCookie);
604    [hidden] HRESULT OnNavigate([in] long lCookie, [in] VARIANT *pvarLoc);
605    [hidden] HRESULT OnActivated([in] long lCookie, [in] VARIANT_BOOL fActive);
606    [hidden] HRESULT FindWindowSW(
607            [in] VARIANT *pvarLoc,
608            [in] VARIANT *pvarLocRoot,
609            [in] int swClass,
610            [out] long *phwnd,
611            [in] int swfwOptions,
612            [out, retval] IDispatch **ppdispOut);
613
614    [hidden] HRESULT OnCreated([in] long lCookie, [in] IUnknown *punk);
615    [hidden] HRESULT ProcessAttachDetach([in] VARIANT_BOOL fAttach);
616}
617
618[
619    threading(apartment),
620    uuid(9ba05972-f6a8-11cf-a442-00a0c90a8f39)
621]
622coclass ShellWindows
623{
624    [default] interface IShellWindows;
625    [default, source] dispinterface DShellWindowsEvents;
626}
627
628[
629    odl,
630    uuid(729fe2f8-1ea8-11d1-8f85-00C04fc2fbe1),
631    dual,
632    oleautomation
633]
634interface IShellUIHelper : IDispatch {
635    [id(1), hidden] HRESULT ResetFirstBootMode();
636    [id(2), hidden] HRESULT ResetSafeMode();
637    [id(3), hidden] HRESULT RefreshOfflineDesktop();
638
639    [id(4)] HRESULT AddFavorite(
640            [in] BSTR URL,
641            [in, optional] VARIANT* Title);
642
643    [id(5)] HRESULT AddChannel([in] BSTR URL);
644
645    [id(6)] HRESULT AddDesktopComponent(
646            [in] BSTR URL,
647            [in] BSTR Type,
648            [in, optional] VARIANT *Left,
649            [in, optional] VARIANT *Top,
650            [in, optional] VARIANT *Width,
651            [in, optional] VARIANT *Height);
652
653    [id(7)] HRESULT IsSubscribed(
654            [in] BSTR URL,
655            [out, retval] VARIANT_BOOL *pBool);
656
657    [id(8)] HRESULT NavigateAndFind(
658            [in] BSTR URL,
659            [in] BSTR strQuery,
660            [in] VARIANT *varTargetFrame);
661
662    [id(9)] HRESULT ImportExportFavorites(
663            [in] VARIANT_BOOL fImport,
664            [in] BSTR strImpExpPath);
665
666    [id(10)] HRESULT AutoCompleteSaveForm([in, optional] VARIANT *Form);
667
668    [id(11)] HRESULT AutoScan(
669            [in] BSTR strSearch,
670            [in] BSTR strFailureUrl,
671            [in, optional] VARIANT *pvarTargetFrame);
672
673    [id(12), hidden] HRESULT AutoCompleteAttach([in, optional] VARIANT *Reserved);
674
675    [id(13)] HRESULT ShowBrowserUI(
676            [in] BSTR bstrName,
677            [in] VARIANT *pvarIn,
678            [out, retval] VARIANT *pvarOut);
679}
680
681[
682    uuid(a7fe6eda-1932-4281-b881-87b31b8bc52c),
683    oleautomation,
684    dual
685]
686interface IShellUIHelper2 : IShellUIHelper {
687    [id(DISPID_ADDSEARCHPROVIDER)]
688    HRESULT AddSearchProvider([in] BSTR URL);
689
690    [id(DISPID_RUNONCESHOWN)]
691    HRESULT RunOnceShown();
692
693    [id(DISPID_SKIPRUNONCE)]
694    HRESULT SkipRunOnce();
695
696    [id(DISPID_CUSTOMIZESETTINGS)] HRESULT CustomizeSettings(
697        [in] VARIANT_BOOL fSQM,
698        [in] VARIANT_BOOL fPhishing,
699        [in] BSTR bstrLocale);
700
701    [id(DISPID_SQMENABLED)]
702    HRESULT SqmEnabled([out, retval] VARIANT_BOOL *pfEnabled);
703
704    [id(DISPID_PHISHINGENABLED)]
705    HRESULT PhishingEnabled([out, retval] VARIANT_BOOL *pfEnabled);
706
707    [id(DISPID_BRANDIMAGEURI)]
708    HRESULT BrandImageUri([out, retval] BSTR *pbstrUri);
709
710    [id(DISPID_SKIPTABSWELCOME)]
711    HRESULT SkipTabsWelcome();
712
713    [id(DISPID_DIAGNOSECONNECTION)]
714    HRESULT DiagnoseConnection();
715
716    [id(DISPID_CUSTOMIZECLEARTYPE)]
717    HRESULT CustomizeClearType([in] VARIANT_BOOL fSet);
718
719    [id(DISPID_ISSEARCHPROVIDERINSTALLED)]
720    HRESULT IsSearchProviderInstalled(
721        [in] BSTR URL,
722        [out, retval] DWORD *pdwResult);
723
724    [id(DISPID_ISSEARCHMIGRATED)]
725    HRESULT IsSearchMigrated([out, retval] VARIANT_BOOL *pfMigrated);
726
727    [id(DISPID_DEFAULTSEARCHPROVIDER)]
728    HRESULT DefaultSearchProvider([out, retval] BSTR *pbstrName);
729
730    [id(DISPID_RUNONCEREQUIREDSETTINGSCOMPLETE)]
731    HRESULT RunOnceRequiredSettingsComplete([in] VARIANT_BOOL fComplete);
732
733    [id(DISPID_RUNONCEHASSHOWN)]
734    HRESULT RunOnceHasShown([out, retval] VARIANT_BOOL *pfShown);
735
736    [id(DISPID_SEARCHGUIDEURL)]
737    HRESULT SearchGuideUrl([out, retval] BSTR *pbstrUrl);
738}
739
740[
741    helpstring("Microsoft Shell UI Helper"),
742    threading(apartment),
743    progid("Shell.UIHelper.1"),
744    vi_progid("Shell.UIHelper"),
745    uuid(64ab4bb7-111e-11d1-8f79-00c04fc2fbe1)
746]
747coclass ShellUIHelper {
748    [default] interface IShellUIHelper2;
749}
750
751[
752    uuid(55136806-b2de-11d1-b9f2-00a0c98bc547)
753]
754dispinterface DShellNameSpaceEvents {
755    properties:
756    methods:
757    [id(1)] void FavoritesSelectionChange(
758            [in] long cItems,
759            [in] long hItem,
760            [in] BSTR strName,
761            [in] BSTR strUrl,
762            [in] long cVisits,
763            [in] BSTR strDate,
764            [in] long fAvailableOffline);
765
766    [id(2)] void SelectionChange();
767    [id(3)] void DoubleClick();
768    [id(4)] void Initialized();
769}
770
771[
772    odl,
773    uuid(55136804-b2de-11d1-b9f2-00a0c98bc547),
774    hidden,
775    dual,
776    oleautomation
777]
778interface IShellFavoritesNameSpace : IDispatch {
779    [id(1)] HRESULT MoveSelectionUp();
780    [id(2)] HRESULT MoveSelectionDown();
781    [id(3)] HRESULT ResetSort();
782    [id(4)] HRESULT NewFolder();
783    [id(5)] HRESULT Synchronize();
784    [id(6)] HRESULT Import();
785    [id(7)] HRESULT Export();
786    [id(8)] HRESULT InvokeContextMenuCommand([in] BSTR strCommand);
787    [id(9)] HRESULT MoveSelectionTo();
788    [id(10), propget] HRESULT SubscriptionsEnabled([out, retval] VARIANT_BOOL *pBool);
789    [id(11)] HRESULT CreateSubscriptionForSelection([out, retval] VARIANT_BOOL *pBool);
790    [id(12)] HRESULT DeleteSubscriptionForSelection([out, retval] VARIANT_BOOL *pBool);
791    [id(13)] HRESULT SetRoot([in] BSTR bstrFullPath);
792}
793
794[
795    odl,
796    uuid(e572d3c9-37be-4ae2-825d-d521763e3108),
797    hidden,
798    dual,
799    oleautomation
800]
801interface IShellNameSpace : IShellFavoritesNameSpace {
802    [id(14), propget] HRESULT EnumOptions([out, retval] long* pgrfEnumFlags);
803    [id(14), propput] HRESULT EnumOptions([in] long pgrfEnumFlags);
804
805    [id(15), propget] HRESULT SelectedItem([out, retval] IDispatch **pItem);
806    [id(15), propput] HRESULT SelectedItem([in] IDispatch *pItem);
807
808    [id(16), propget] HRESULT Root([out, retval] VARIANT *pvar);
809    [id(16), propput] HRESULT Root([in] VARIANT pvar);
810
811    [id(17), propget] HRESULT Depth([out, retval] int *piDepth);
812    [id(17), propput] HRESULT Depth([in] int piDepth);
813
814    [id(18), propget] HRESULT Mode([out, retval] unsigned int *puMode);
815    [id(18), propput] HRESULT Mode([in] unsigned int puMode);
816
817    [id(19), propget] HRESULT Flags([out, retval] unsigned long *pdwFlags);
818    [id(19), propput] HRESULT Flags([in] unsigned long pdwFlags);
819
820    [id(20), propput] HRESULT TVFlags([in] unsigned long dwFlags);
821    [id(20), propget] HRESULT TVFlags([out, retval] unsigned long *dwFlags);
822
823    [id(21), propget] HRESULT Columns([out, retval] BSTR *bstrColumns);
824    [id(21), propput] HRESULT Columns([in] BSTR bstrColumns);
825
826    [id(22), propget] HRESULT CountViewTypes([out, retval] int *piTypes);
827
828    [id(23)] HRESULT SetViewType([in] int iType);
829    [id(24)] HRESULT SelectedItems([out, retval] IDispatch **ppid);
830    [id(25)] HRESULT Expand([in] VARIANT var,  int iDepth);
831    [id(26)] HRESULT UnselectAll();
832}
833
834[
835    helpstring("Shell Name Space"),
836    threading(apartment),
837    progid("ShellNameSpace.ShellNameSpace.1"),
838    vi_progid("ShellNameSpace.ShellNameSpace"),
839    uuid(2f2f1f96-2bc1-4b1c-be28-ea3774f4676a)
840]
841coclass ShellShellNameSpace {
842    [default] interface IShellNameSpace;
843    [default, source] dispinterface DShellNameSpaceEvents;
844}
845
846[
847    helpstring("Shell Name Space"),
848    threading(apartment),
849    progid("ShellNameSpace.ShellNameSpace.1"),
850    vi_progid("ShellNameSpace.ShellNameSpace"),
851    uuid(55136805-b2de-11d1-b9f2-00a0c98bc547)
852]
853coclass ShellNameSpace {
854    [default] interface IShellNameSpace;
855    [default, source] dispinterface DShellNameSpaceEvents;
856}
857
858[
859    odl,
860    uuid(f3470f24-15fd-11d2-bb2e-00805ff7efca),
861    hidden,
862    dual,
863    oleautomation
864]
865interface IScriptErrorList : IDispatch {
866    [id(10)] HRESULT advanceError();
867    [id(11)] HRESULT retreatError();
868    [id(12)] HRESULT canAdvanceError([out, retval] long *pfCanAdvance);
869    [id(13)] HRESULT canRetreatError([out, retval] long *pfCanRetreat);
870    [id(14)] HRESULT getErrorLine([out, retval] long *plLine);
871    [id(15)] HRESULT getErrorChar([out, retval] long *plChar);
872    [id(16)] HRESULT getErrorCode([out, retval] long *plCode);
873    [id(17)] HRESULT getErrorMsg([out, retval] BSTR *pstr);
874    [id(18)] HRESULT getErrorUrl([out, retval] BSTR *pstr);
875    [id(23)] HRESULT getAlwaysShowLockState([out, retval] long *pfAlwaysShowLocked);
876    [id(19)] HRESULT getDetailsPaneOpen([out, retval] long *pfDetailsPaneOpen);
877    [id(20)] HRESULT setDetailsPaneOpen(long fDetailsPaneOpen);
878    [id(21)] HRESULT getPerErrorDisplay([out, retval] long *pfPerErrorDisplay);
879    [id(22)] HRESULT setPerErrorDisplay(long fPerErrorDisplay);
880}
881
882[
883    uuid(efd01300-160f-11d2-bb2e-00805ff7efca),
884    hidden,
885    noncreatable
886]
887coclass CScriptErrorList {
888    [default] interface IScriptErrorList;
889}
890
891[
892    odl,
893    uuid(ba9239a4-3dd5-11d2-bf8b-00c04fb93661),
894    hidden,
895    dual,
896    oleautomation
897]
898interface ISearch : IDispatch {
899    [propget] HRESULT Title([out, retval] BSTR *pbstrTitle);
900    [propget] HRESULT Id([out, retval] BSTR *pbstrId);
901    [propget] HRESULT URL([out, retval] BSTR *pbstrUrl);
902}
903
904[
905    odl,
906    uuid(47c922a2-3dd5-11d2-bf8b-00c04fb93661),
907    hidden,
908    dual,
909    oleautomation
910]
911interface ISearches : IDispatch {
912    [propget] HRESULT Count([out, retval] long *plCount);
913    [propget] HRESULT Default([out, retval] BSTR *pbstrDefault);
914
915    HRESULT Item(
916            [in, optional] VARIANT index,
917            [out, retval] ISearch **ppid);
918
919    [id(-4)] HRESULT _NewEnum([out, retval] IUnknown **ppunk);
920}
921
922[
923    odl,
924    uuid(72423e8f-8011-11d2-be79-00a0c9a83da1),
925    hidden,
926    dual,
927    oleautomation
928]
929interface ISearchAssistantOC : IDispatch {
930    [id(1)] HRESULT AddNextMenuItem([in] BSTR bstrText, [in] long idItem);
931    [id(2)] HRESULT SetDefaultSearchUrl([in] BSTR bstrUrl);
932    [id(3)] HRESULT NavigateToDefaultSearch();
933
934    [id(4)] HRESULT IsRestricted(
935            [in] BSTR bstrGuid,
936            [out, retval] VARIANT_BOOL *pVal);
937
938    [id(5), propget] HRESULT ShellFeaturesEnabled([out, retval] VARIANT_BOOL *pVal);
939    [id(6), propget] HRESULT SearchAssistantDefault([out, retval] VARIANT_BOOL *pVal);
940    [id(7), propget] HRESULT Searches([out, retval] ISearches **ppid);
941    [id(8), propget] HRESULT InWebFolder([out, retval] VARIANT_BOOL *pVal);
942
943    [id(9)] HRESULT PutProperty(
944            [in] VARIANT_BOOL bPerLocale,
945            [in] BSTR bstrName,
946            [in] BSTR bstrValue);
947
948    [id(10)] HRESULT GetProperty(
949            [in] VARIANT_BOOL bPerLocale,
950            [in] BSTR bstrName,
951            [out, retval] BSTR *pbstrValue);
952
953    [id(11), propput] HRESULT EventHandled([in] VARIANT_BOOL rhs);
954    [id(12)] HRESULT ResetNextMenu();
955    [id(13)] HRESULT FindOnWeb();
956    [id(14)] HRESULT FindFilesOrFolders();
957    [id(15)] HRESULT FindComputer();
958    [id(16)] HRESULT FindPrinter();
959    [id(17)] HRESULT FindPeople();
960
961    [id(18)] HRESULT GetSearchAssistantURL(
962            [in] VARIANT_BOOL bSubstitute,
963            [in] VARIANT_BOOL bCustomize,
964            [out, retval] BSTR *pbstrValue);
965
966    [id(19)] HRESULT NotifySearchSettingsChanged();
967
968    [id(20), propput] HRESULT ASProvider([in] BSTR pProvider);
969    [id(20), propget] HRESULT ASProvider([out, retval] BSTR *pProvider);
970
971    [id(21), propput] HRESULT ASSetting([in] int pSetting);
972    [id(21), propget] HRESULT ASSetting([out, retval] int *pSetting);
973
974    [id(22)] HRESULT NETDetectNextNavigate();
975    [id(23)] HRESULT PutFindText([in] BSTR FindText);
976    [id(24), propget] HRESULT Version([out, retval] int *pVersion);
977
978    [id(25)] HRESULT EncodeString(
979            [in] BSTR bstrValue,
980            [in] BSTR bstrCharSet,
981            [in] VARIANT_BOOL bUseUTF8,
982            [out, retval] BSTR* pbstrResult);
983}
984
985[
986    odl,
987    uuid(72423e8f-8011-11d2-be79-00a0c9a83da2),
988    hidden,
989    dual,
990    oleautomation
991]
992interface ISearchAssistantOC2 : ISearchAssistantOC {
993    [id(26), propget] HRESULT ShowFindPrinter([out, retval] VARIANT_BOOL *pbShowFindPrinter);
994}
995
996[
997    odl,
998    uuid(72423e8f-8011-11d2-be79-00a0c9a83da3),
999    hidden,
1000    dual,
1001    oleautomation
1002]
1003interface ISearchAssistantOC3 : ISearchAssistantOC2 {
1004    [id(27), propget] HRESULT SearchCompanionAvailable([out, retval] VARIANT_BOOL *pbAvailable);
1005
1006    [id(28), propput] HRESULT UseSearchCompanion([in] VARIANT_BOOL pbUseSC);
1007    [id(28), propget] HRESULT UseSearchCompanion([out, retval] VARIANT_BOOL *pbUseSC);
1008}
1009
1010[
1011    uuid(1611fdda-445b-11d2-85de-00C04fa35c89),
1012    hidden
1013]
1014dispinterface _SearchAssistantEvents {
1015    properties:
1016    methods:
1017    [id(1)] void OnNextMenuSelect([in] long idItem);
1018    [id(2)] void OnNewSearch();
1019}
1020
1021[
1022    helpstring("SearchAssistantOC"),
1023    threading(apartment),
1024    progid("SearchAssistantOC.SearchAssistantOC.1"),
1025    vi_progid("SearchAssistantOC.SearchAssistantOC"),
1026    uuid(2e71fd0f-aab1-42c0-9146-6d2c4edcf07d),
1027    hidden
1028]
1029coclass ShellSearchAssistantOC {
1030    [default] interface ISearchAssistantOC3;
1031    [default, source] dispinterface _SearchAssistantEvents;
1032}
1033
1034[
1035    threading(apartment),
1036    progid("SearchAssistantOC.SearchAssistantOC.1"),
1037    vi_progid("SearchAssistantOC.SearchAssistantOC"),
1038    uuid(b45ff030-4447-11d2-85de-00C04fa35c89),
1039    hidden
1040]
1041coclass SearchAssistantOC {
1042    [default] interface ISearchAssistantOC3;
1043    [default, source] dispinterface _SearchAssistantEvents;
1044}
1045
1046[
1047    uuid(60890160-69f0-11d1-b758-00a0c90564fe),
1048    hidden
1049]
1050dispinterface DSearchCommandEvents {
1051    properties:
1052    methods:
1053    [id(DISPID_SEARCHSTART)]    void SearchStart();
1054    [id(DISPID_SEARCHCOMPLETE)] void SearchComplete();
1055    [id(DISPID_SEARCHABORT)]    void SearchAbort();
1056}
1057
1058} /* library */
1059