master
   1/*** Autogenerated by WIDL 10.4 from include/exdisp.idl - Do not edit ***/
   2
   3#ifdef _WIN32
   4#ifndef __REQUIRED_RPCNDR_H_VERSION__
   5#define __REQUIRED_RPCNDR_H_VERSION__ 475
   6#endif
   7#include <rpc.h>
   8#include <rpcndr.h>
   9#endif
  10
  11#ifndef COM_NO_WINDOWS_H
  12#include <windows.h>
  13#include <ole2.h>
  14#endif
  15
  16#ifndef __exdisp_h__
  17#define __exdisp_h__
  18
  19/* Forward declarations */
  20
  21#ifndef __IWebBrowser_FWD_DEFINED__
  22#define __IWebBrowser_FWD_DEFINED__
  23typedef interface IWebBrowser IWebBrowser;
  24#ifdef __cplusplus
  25interface IWebBrowser;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __DWebBrowserEvents_FWD_DEFINED__
  30#define __DWebBrowserEvents_FWD_DEFINED__
  31typedef interface DWebBrowserEvents DWebBrowserEvents;
  32#ifdef __cplusplus
  33interface DWebBrowserEvents;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __IWebBrowserApp_FWD_DEFINED__
  38#define __IWebBrowserApp_FWD_DEFINED__
  39typedef interface IWebBrowserApp IWebBrowserApp;
  40#ifdef __cplusplus
  41interface IWebBrowserApp;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __IWebBrowser2_FWD_DEFINED__
  46#define __IWebBrowser2_FWD_DEFINED__
  47typedef interface IWebBrowser2 IWebBrowser2;
  48#ifdef __cplusplus
  49interface IWebBrowser2;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __DWebBrowserEvents2_FWD_DEFINED__
  54#define __DWebBrowserEvents2_FWD_DEFINED__
  55typedef interface DWebBrowserEvents2 DWebBrowserEvents2;
  56#ifdef __cplusplus
  57interface DWebBrowserEvents2;
  58#endif /* __cplusplus */
  59#endif
  60
  61#ifndef __WebBrowser_V1_FWD_DEFINED__
  62#define __WebBrowser_V1_FWD_DEFINED__
  63#ifdef __cplusplus
  64typedef class WebBrowser_V1 WebBrowser_V1;
  65#else
  66typedef struct WebBrowser_V1 WebBrowser_V1;
  67#endif /* defined __cplusplus */
  68#endif /* defined __WebBrowser_V1_FWD_DEFINED__ */
  69
  70#ifndef __WebBrowser_FWD_DEFINED__
  71#define __WebBrowser_FWD_DEFINED__
  72#ifdef __cplusplus
  73typedef class WebBrowser WebBrowser;
  74#else
  75typedef struct WebBrowser WebBrowser;
  76#endif /* defined __cplusplus */
  77#endif /* defined __WebBrowser_FWD_DEFINED__ */
  78
  79#ifndef __InternetExplorer_FWD_DEFINED__
  80#define __InternetExplorer_FWD_DEFINED__
  81#ifdef __cplusplus
  82typedef class InternetExplorer InternetExplorer;
  83#else
  84typedef struct InternetExplorer InternetExplorer;
  85#endif /* defined __cplusplus */
  86#endif /* defined __InternetExplorer_FWD_DEFINED__ */
  87
  88#ifndef __ShellBrowserWindow_FWD_DEFINED__
  89#define __ShellBrowserWindow_FWD_DEFINED__
  90#ifdef __cplusplus
  91typedef class ShellBrowserWindow ShellBrowserWindow;
  92#else
  93typedef struct ShellBrowserWindow ShellBrowserWindow;
  94#endif /* defined __cplusplus */
  95#endif /* defined __ShellBrowserWindow_FWD_DEFINED__ */
  96
  97#ifndef __DShellWindowsEvents_FWD_DEFINED__
  98#define __DShellWindowsEvents_FWD_DEFINED__
  99typedef interface DShellWindowsEvents DShellWindowsEvents;
 100#ifdef __cplusplus
 101interface DShellWindowsEvents;
 102#endif /* __cplusplus */
 103#endif
 104
 105#ifndef __IShellWindows_FWD_DEFINED__
 106#define __IShellWindows_FWD_DEFINED__
 107typedef interface IShellWindows IShellWindows;
 108#ifdef __cplusplus
 109interface IShellWindows;
 110#endif /* __cplusplus */
 111#endif
 112
 113#ifndef __ShellWindows_FWD_DEFINED__
 114#define __ShellWindows_FWD_DEFINED__
 115#ifdef __cplusplus
 116typedef class ShellWindows ShellWindows;
 117#else
 118typedef struct ShellWindows ShellWindows;
 119#endif /* defined __cplusplus */
 120#endif /* defined __ShellWindows_FWD_DEFINED__ */
 121
 122#ifndef __IShellUIHelper_FWD_DEFINED__
 123#define __IShellUIHelper_FWD_DEFINED__
 124typedef interface IShellUIHelper IShellUIHelper;
 125#ifdef __cplusplus
 126interface IShellUIHelper;
 127#endif /* __cplusplus */
 128#endif
 129
 130#ifndef __IShellUIHelper2_FWD_DEFINED__
 131#define __IShellUIHelper2_FWD_DEFINED__
 132typedef interface IShellUIHelper2 IShellUIHelper2;
 133#ifdef __cplusplus
 134interface IShellUIHelper2;
 135#endif /* __cplusplus */
 136#endif
 137
 138#ifndef __ShellUIHelper_FWD_DEFINED__
 139#define __ShellUIHelper_FWD_DEFINED__
 140#ifdef __cplusplus
 141typedef class ShellUIHelper ShellUIHelper;
 142#else
 143typedef struct ShellUIHelper ShellUIHelper;
 144#endif /* defined __cplusplus */
 145#endif /* defined __ShellUIHelper_FWD_DEFINED__ */
 146
 147#ifndef __DShellNameSpaceEvents_FWD_DEFINED__
 148#define __DShellNameSpaceEvents_FWD_DEFINED__
 149typedef interface DShellNameSpaceEvents DShellNameSpaceEvents;
 150#ifdef __cplusplus
 151interface DShellNameSpaceEvents;
 152#endif /* __cplusplus */
 153#endif
 154
 155#ifndef __IShellFavoritesNameSpace_FWD_DEFINED__
 156#define __IShellFavoritesNameSpace_FWD_DEFINED__
 157typedef interface IShellFavoritesNameSpace IShellFavoritesNameSpace;
 158#ifdef __cplusplus
 159interface IShellFavoritesNameSpace;
 160#endif /* __cplusplus */
 161#endif
 162
 163#ifndef __IShellNameSpace_FWD_DEFINED__
 164#define __IShellNameSpace_FWD_DEFINED__
 165typedef interface IShellNameSpace IShellNameSpace;
 166#ifdef __cplusplus
 167interface IShellNameSpace;
 168#endif /* __cplusplus */
 169#endif
 170
 171#ifndef __ShellShellNameSpace_FWD_DEFINED__
 172#define __ShellShellNameSpace_FWD_DEFINED__
 173#ifdef __cplusplus
 174typedef class ShellShellNameSpace ShellShellNameSpace;
 175#else
 176typedef struct ShellShellNameSpace ShellShellNameSpace;
 177#endif /* defined __cplusplus */
 178#endif /* defined __ShellShellNameSpace_FWD_DEFINED__ */
 179
 180#ifndef __ShellNameSpace_FWD_DEFINED__
 181#define __ShellNameSpace_FWD_DEFINED__
 182#ifdef __cplusplus
 183typedef class ShellNameSpace ShellNameSpace;
 184#else
 185typedef struct ShellNameSpace ShellNameSpace;
 186#endif /* defined __cplusplus */
 187#endif /* defined __ShellNameSpace_FWD_DEFINED__ */
 188
 189#ifndef __IScriptErrorList_FWD_DEFINED__
 190#define __IScriptErrorList_FWD_DEFINED__
 191typedef interface IScriptErrorList IScriptErrorList;
 192#ifdef __cplusplus
 193interface IScriptErrorList;
 194#endif /* __cplusplus */
 195#endif
 196
 197#ifndef __CScriptErrorList_FWD_DEFINED__
 198#define __CScriptErrorList_FWD_DEFINED__
 199#ifdef __cplusplus
 200typedef class CScriptErrorList CScriptErrorList;
 201#else
 202typedef struct CScriptErrorList CScriptErrorList;
 203#endif /* defined __cplusplus */
 204#endif /* defined __CScriptErrorList_FWD_DEFINED__ */
 205
 206#ifndef __ISearch_FWD_DEFINED__
 207#define __ISearch_FWD_DEFINED__
 208typedef interface ISearch ISearch;
 209#ifdef __cplusplus
 210interface ISearch;
 211#endif /* __cplusplus */
 212#endif
 213
 214#ifndef __ISearches_FWD_DEFINED__
 215#define __ISearches_FWD_DEFINED__
 216typedef interface ISearches ISearches;
 217#ifdef __cplusplus
 218interface ISearches;
 219#endif /* __cplusplus */
 220#endif
 221
 222#ifndef __ISearchAssistantOC_FWD_DEFINED__
 223#define __ISearchAssistantOC_FWD_DEFINED__
 224typedef interface ISearchAssistantOC ISearchAssistantOC;
 225#ifdef __cplusplus
 226interface ISearchAssistantOC;
 227#endif /* __cplusplus */
 228#endif
 229
 230#ifndef __ISearchAssistantOC2_FWD_DEFINED__
 231#define __ISearchAssistantOC2_FWD_DEFINED__
 232typedef interface ISearchAssistantOC2 ISearchAssistantOC2;
 233#ifdef __cplusplus
 234interface ISearchAssistantOC2;
 235#endif /* __cplusplus */
 236#endif
 237
 238#ifndef __ISearchAssistantOC3_FWD_DEFINED__
 239#define __ISearchAssistantOC3_FWD_DEFINED__
 240typedef interface ISearchAssistantOC3 ISearchAssistantOC3;
 241#ifdef __cplusplus
 242interface ISearchAssistantOC3;
 243#endif /* __cplusplus */
 244#endif
 245
 246#ifndef ___SearchAssistantEvents_FWD_DEFINED__
 247#define ___SearchAssistantEvents_FWD_DEFINED__
 248typedef interface _SearchAssistantEvents _SearchAssistantEvents;
 249#ifdef __cplusplus
 250interface _SearchAssistantEvents;
 251#endif /* __cplusplus */
 252#endif
 253
 254#ifndef __ShellSearchAssistantOC_FWD_DEFINED__
 255#define __ShellSearchAssistantOC_FWD_DEFINED__
 256#ifdef __cplusplus
 257typedef class ShellSearchAssistantOC ShellSearchAssistantOC;
 258#else
 259typedef struct ShellSearchAssistantOC ShellSearchAssistantOC;
 260#endif /* defined __cplusplus */
 261#endif /* defined __ShellSearchAssistantOC_FWD_DEFINED__ */
 262
 263#ifndef __SearchAssistantOC_FWD_DEFINED__
 264#define __SearchAssistantOC_FWD_DEFINED__
 265#ifdef __cplusplus
 266typedef class SearchAssistantOC SearchAssistantOC;
 267#else
 268typedef struct SearchAssistantOC SearchAssistantOC;
 269#endif /* defined __cplusplus */
 270#endif /* defined __SearchAssistantOC_FWD_DEFINED__ */
 271
 272/* Headers for imported files */
 273
 274#include <ocidl.h>
 275#include <docobj.h>
 276
 277#ifdef __cplusplus
 278extern "C" {
 279#endif
 280
 281#ifdef WINE_NO_UNICODE_MACROS
 282#undef FindText
 283#endif
 284#ifndef __SHDocVw_LIBRARY_DEFINED__
 285#define __SHDocVw_LIBRARY_DEFINED__
 286
 287DEFINE_GUID(LIBID_SHDocVw, 0xeab22ac0, 0x30c1, 0x11cf, 0xa7,0xeb, 0x00,0x00,0xc0,0x5b,0xae,0x0b);
 288
 289/*****************************************************************************
 290 * IWebBrowser interface
 291 */
 292#ifndef __IWebBrowser_INTERFACE_DEFINED__
 293#define __IWebBrowser_INTERFACE_DEFINED__
 294
 295typedef enum BrowserNavConstants {
 296    navOpenInNewWindow = 0x1,
 297    navNoHistory = 0x2,
 298    navNoReadFromCache = 0x4,
 299    navNoWriteToCache = 0x8,
 300    navAllowAutosearch = 0x10,
 301    navBrowserBar = 0x20,
 302    navHyperlink = 0x40,
 303    navEnforceRestricted = 0x80,
 304    navNewWindowsManaged = 0x100,
 305    navUntrustedForDownload = 0x200,
 306    navTrustedForActiveX = 0x400,
 307    navOpenInNewTab = 0x800,
 308    navOpenInBackgroundTab = 0x1000,
 309    navKeepWordWheelText = 0x2000,
 310    navVirtualTab = 0x4000,
 311    navBlockRedirectsXDomain = 0x8000,
 312    navOpenNewForegroundTab = 0x10000,
 313    navTravelLogScreenshot = 0x20000,
 314    navDeferUnload = 0x40000,
 315    navSpeculative = 0x80000,
 316    navSuggestNewWindow = 0x100000,
 317    navSuggestNewTab = 0x200000,
 318    navReserved1 = 0x400000,
 319    navHomepageNavigate = 0x800000,
 320    navRefresh = 0x1000000,
 321    navHostNavigation = 0x2000000,
 322    navReserved2 = 0x4000000,
 323    navReserved3 = 0x8000000,
 324    navReserved4 = 0x10000000
 325} BrowserNavConstants;
 326typedef enum RefreshConstants {
 327    REFRESH_NORMAL = 0,
 328    REFRESH_IFEXPIRED = 1,
 329    REFRESH_COMPLETELY = 3
 330} RefreshConstants;
 331DEFINE_GUID(IID_IWebBrowser, 0xeab22ac1, 0x30c1, 0x11cf, 0xa7,0xeb, 0x00,0x00,0xc0,0x5b,0xae,0x0b);
 332#if defined(__cplusplus) && !defined(CINTERFACE)
 333MIDL_INTERFACE("eab22ac1-30c1-11cf-a7eb-0000c05bae0b")
 334IWebBrowser : public IDispatch
 335{
 336    virtual HRESULT STDMETHODCALLTYPE GoBack(
 337        ) = 0;
 338
 339    virtual HRESULT STDMETHODCALLTYPE GoForward(
 340        ) = 0;
 341
 342    virtual HRESULT STDMETHODCALLTYPE GoHome(
 343        ) = 0;
 344
 345    virtual HRESULT STDMETHODCALLTYPE GoSearch(
 346        ) = 0;
 347
 348    virtual HRESULT STDMETHODCALLTYPE Navigate(
 349        BSTR URL,
 350        VARIANT *Flags,
 351        VARIANT *TargetFrameName,
 352        VARIANT *PostData,
 353        VARIANT *Headers) = 0;
 354
 355    virtual HRESULT STDMETHODCALLTYPE Refresh(
 356        ) = 0;
 357
 358    virtual HRESULT STDMETHODCALLTYPE Refresh2(
 359        VARIANT *Level) = 0;
 360
 361    virtual HRESULT STDMETHODCALLTYPE Stop(
 362        ) = 0;
 363
 364    virtual HRESULT STDMETHODCALLTYPE get_Application(
 365        IDispatch **ppDisp) = 0;
 366
 367    virtual HRESULT STDMETHODCALLTYPE get_Parent(
 368        IDispatch **ppDisp) = 0;
 369
 370    virtual HRESULT STDMETHODCALLTYPE get_Container(
 371        IDispatch **ppDisp) = 0;
 372
 373    virtual HRESULT STDMETHODCALLTYPE get_Document(
 374        IDispatch **ppDisp) = 0;
 375
 376    virtual HRESULT STDMETHODCALLTYPE get_TopLevelContainer(
 377        VARIANT_BOOL *pBool) = 0;
 378
 379    virtual HRESULT STDMETHODCALLTYPE get_Type(
 380        BSTR *Type) = 0;
 381
 382    virtual HRESULT STDMETHODCALLTYPE get_Left(
 383        LONG *pl) = 0;
 384
 385    virtual HRESULT STDMETHODCALLTYPE put_Left(
 386        LONG Left) = 0;
 387
 388    virtual HRESULT STDMETHODCALLTYPE get_Top(
 389        LONG *pl) = 0;
 390
 391    virtual HRESULT STDMETHODCALLTYPE put_Top(
 392        LONG Top) = 0;
 393
 394    virtual HRESULT STDMETHODCALLTYPE get_Width(
 395        LONG *pl) = 0;
 396
 397    virtual HRESULT STDMETHODCALLTYPE put_Width(
 398        LONG Width) = 0;
 399
 400    virtual HRESULT STDMETHODCALLTYPE get_Height(
 401        LONG *pl) = 0;
 402
 403    virtual HRESULT STDMETHODCALLTYPE put_Height(
 404        LONG Height) = 0;
 405
 406    virtual HRESULT STDMETHODCALLTYPE get_LocationName(
 407        BSTR *LocationName) = 0;
 408
 409    virtual HRESULT STDMETHODCALLTYPE get_LocationURL(
 410        BSTR *LocationURL) = 0;
 411
 412    virtual HRESULT STDMETHODCALLTYPE get_Busy(
 413        VARIANT_BOOL *pBool) = 0;
 414
 415};
 416#ifdef __CRT_UUID_DECL
 417__CRT_UUID_DECL(IWebBrowser, 0xeab22ac1, 0x30c1, 0x11cf, 0xa7,0xeb, 0x00,0x00,0xc0,0x5b,0xae,0x0b)
 418#endif
 419#else
 420typedef struct IWebBrowserVtbl {
 421    BEGIN_INTERFACE
 422
 423    /*** IUnknown methods ***/
 424    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 425        IWebBrowser *This,
 426        REFIID riid,
 427        void **ppvObject);
 428
 429    ULONG (STDMETHODCALLTYPE *AddRef)(
 430        IWebBrowser *This);
 431
 432    ULONG (STDMETHODCALLTYPE *Release)(
 433        IWebBrowser *This);
 434
 435    /*** IDispatch methods ***/
 436    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
 437        IWebBrowser *This,
 438        UINT *pctinfo);
 439
 440    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
 441        IWebBrowser *This,
 442        UINT iTInfo,
 443        LCID lcid,
 444        ITypeInfo **ppTInfo);
 445
 446    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
 447        IWebBrowser *This,
 448        REFIID riid,
 449        LPOLESTR *rgszNames,
 450        UINT cNames,
 451        LCID lcid,
 452        DISPID *rgDispId);
 453
 454    HRESULT (STDMETHODCALLTYPE *Invoke)(
 455        IWebBrowser *This,
 456        DISPID dispIdMember,
 457        REFIID riid,
 458        LCID lcid,
 459        WORD wFlags,
 460        DISPPARAMS *pDispParams,
 461        VARIANT *pVarResult,
 462        EXCEPINFO *pExcepInfo,
 463        UINT *puArgErr);
 464
 465    /*** IWebBrowser methods ***/
 466    HRESULT (STDMETHODCALLTYPE *GoBack)(
 467        IWebBrowser *This);
 468
 469    HRESULT (STDMETHODCALLTYPE *GoForward)(
 470        IWebBrowser *This);
 471
 472    HRESULT (STDMETHODCALLTYPE *GoHome)(
 473        IWebBrowser *This);
 474
 475    HRESULT (STDMETHODCALLTYPE *GoSearch)(
 476        IWebBrowser *This);
 477
 478    HRESULT (STDMETHODCALLTYPE *Navigate)(
 479        IWebBrowser *This,
 480        BSTR URL,
 481        VARIANT *Flags,
 482        VARIANT *TargetFrameName,
 483        VARIANT *PostData,
 484        VARIANT *Headers);
 485
 486    HRESULT (STDMETHODCALLTYPE *Refresh)(
 487        IWebBrowser *This);
 488
 489    HRESULT (STDMETHODCALLTYPE *Refresh2)(
 490        IWebBrowser *This,
 491        VARIANT *Level);
 492
 493    HRESULT (STDMETHODCALLTYPE *Stop)(
 494        IWebBrowser *This);
 495
 496    HRESULT (STDMETHODCALLTYPE *get_Application)(
 497        IWebBrowser *This,
 498        IDispatch **ppDisp);
 499
 500    HRESULT (STDMETHODCALLTYPE *get_Parent)(
 501        IWebBrowser *This,
 502        IDispatch **ppDisp);
 503
 504    HRESULT (STDMETHODCALLTYPE *get_Container)(
 505        IWebBrowser *This,
 506        IDispatch **ppDisp);
 507
 508    HRESULT (STDMETHODCALLTYPE *get_Document)(
 509        IWebBrowser *This,
 510        IDispatch **ppDisp);
 511
 512    HRESULT (STDMETHODCALLTYPE *get_TopLevelContainer)(
 513        IWebBrowser *This,
 514        VARIANT_BOOL *pBool);
 515
 516    HRESULT (STDMETHODCALLTYPE *get_Type)(
 517        IWebBrowser *This,
 518        BSTR *Type);
 519
 520    HRESULT (STDMETHODCALLTYPE *get_Left)(
 521        IWebBrowser *This,
 522        LONG *pl);
 523
 524    HRESULT (STDMETHODCALLTYPE *put_Left)(
 525        IWebBrowser *This,
 526        LONG Left);
 527
 528    HRESULT (STDMETHODCALLTYPE *get_Top)(
 529        IWebBrowser *This,
 530        LONG *pl);
 531
 532    HRESULT (STDMETHODCALLTYPE *put_Top)(
 533        IWebBrowser *This,
 534        LONG Top);
 535
 536    HRESULT (STDMETHODCALLTYPE *get_Width)(
 537        IWebBrowser *This,
 538        LONG *pl);
 539
 540    HRESULT (STDMETHODCALLTYPE *put_Width)(
 541        IWebBrowser *This,
 542        LONG Width);
 543
 544    HRESULT (STDMETHODCALLTYPE *get_Height)(
 545        IWebBrowser *This,
 546        LONG *pl);
 547
 548    HRESULT (STDMETHODCALLTYPE *put_Height)(
 549        IWebBrowser *This,
 550        LONG Height);
 551
 552    HRESULT (STDMETHODCALLTYPE *get_LocationName)(
 553        IWebBrowser *This,
 554        BSTR *LocationName);
 555
 556    HRESULT (STDMETHODCALLTYPE *get_LocationURL)(
 557        IWebBrowser *This,
 558        BSTR *LocationURL);
 559
 560    HRESULT (STDMETHODCALLTYPE *get_Busy)(
 561        IWebBrowser *This,
 562        VARIANT_BOOL *pBool);
 563
 564    END_INTERFACE
 565} IWebBrowserVtbl;
 566
 567interface IWebBrowser {
 568    CONST_VTBL IWebBrowserVtbl* lpVtbl;
 569};
 570
 571#ifdef COBJMACROS
 572#ifndef WIDL_C_INLINE_WRAPPERS
 573/*** IUnknown methods ***/
 574#define IWebBrowser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 575#define IWebBrowser_AddRef(This) (This)->lpVtbl->AddRef(This)
 576#define IWebBrowser_Release(This) (This)->lpVtbl->Release(This)
 577/*** IDispatch methods ***/
 578#define IWebBrowser_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 579#define IWebBrowser_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 580#define IWebBrowser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 581#define IWebBrowser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 582/*** IWebBrowser methods ***/
 583#define IWebBrowser_GoBack(This) (This)->lpVtbl->GoBack(This)
 584#define IWebBrowser_GoForward(This) (This)->lpVtbl->GoForward(This)
 585#define IWebBrowser_GoHome(This) (This)->lpVtbl->GoHome(This)
 586#define IWebBrowser_GoSearch(This) (This)->lpVtbl->GoSearch(This)
 587#define IWebBrowser_Navigate(This,URL,Flags,TargetFrameName,PostData,Headers) (This)->lpVtbl->Navigate(This,URL,Flags,TargetFrameName,PostData,Headers)
 588#define IWebBrowser_Refresh(This) (This)->lpVtbl->Refresh(This)
 589#define IWebBrowser_Refresh2(This,Level) (This)->lpVtbl->Refresh2(This,Level)
 590#define IWebBrowser_Stop(This) (This)->lpVtbl->Stop(This)
 591#define IWebBrowser_get_Application(This,ppDisp) (This)->lpVtbl->get_Application(This,ppDisp)
 592#define IWebBrowser_get_Parent(This,ppDisp) (This)->lpVtbl->get_Parent(This,ppDisp)
 593#define IWebBrowser_get_Container(This,ppDisp) (This)->lpVtbl->get_Container(This,ppDisp)
 594#define IWebBrowser_get_Document(This,ppDisp) (This)->lpVtbl->get_Document(This,ppDisp)
 595#define IWebBrowser_get_TopLevelContainer(This,pBool) (This)->lpVtbl->get_TopLevelContainer(This,pBool)
 596#define IWebBrowser_get_Type(This,Type) (This)->lpVtbl->get_Type(This,Type)
 597#define IWebBrowser_get_Left(This,pl) (This)->lpVtbl->get_Left(This,pl)
 598#define IWebBrowser_put_Left(This,Left) (This)->lpVtbl->put_Left(This,Left)
 599#define IWebBrowser_get_Top(This,pl) (This)->lpVtbl->get_Top(This,pl)
 600#define IWebBrowser_put_Top(This,Top) (This)->lpVtbl->put_Top(This,Top)
 601#define IWebBrowser_get_Width(This,pl) (This)->lpVtbl->get_Width(This,pl)
 602#define IWebBrowser_put_Width(This,Width) (This)->lpVtbl->put_Width(This,Width)
 603#define IWebBrowser_get_Height(This,pl) (This)->lpVtbl->get_Height(This,pl)
 604#define IWebBrowser_put_Height(This,Height) (This)->lpVtbl->put_Height(This,Height)
 605#define IWebBrowser_get_LocationName(This,LocationName) (This)->lpVtbl->get_LocationName(This,LocationName)
 606#define IWebBrowser_get_LocationURL(This,LocationURL) (This)->lpVtbl->get_LocationURL(This,LocationURL)
 607#define IWebBrowser_get_Busy(This,pBool) (This)->lpVtbl->get_Busy(This,pBool)
 608#else
 609/*** IUnknown methods ***/
 610static inline HRESULT IWebBrowser_QueryInterface(IWebBrowser* This,REFIID riid,void **ppvObject) {
 611    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 612}
 613static inline ULONG IWebBrowser_AddRef(IWebBrowser* This) {
 614    return This->lpVtbl->AddRef(This);
 615}
 616static inline ULONG IWebBrowser_Release(IWebBrowser* This) {
 617    return This->lpVtbl->Release(This);
 618}
 619/*** IDispatch methods ***/
 620static inline HRESULT IWebBrowser_GetTypeInfoCount(IWebBrowser* This,UINT *pctinfo) {
 621    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 622}
 623static inline HRESULT IWebBrowser_GetTypeInfo(IWebBrowser* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
 624    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
 625}
 626static inline HRESULT IWebBrowser_GetIDsOfNames(IWebBrowser* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
 627    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
 628}
 629static inline HRESULT IWebBrowser_Invoke(IWebBrowser* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
 630    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
 631}
 632/*** IWebBrowser methods ***/
 633static inline HRESULT IWebBrowser_GoBack(IWebBrowser* This) {
 634    return This->lpVtbl->GoBack(This);
 635}
 636static inline HRESULT IWebBrowser_GoForward(IWebBrowser* This) {
 637    return This->lpVtbl->GoForward(This);
 638}
 639static inline HRESULT IWebBrowser_GoHome(IWebBrowser* This) {
 640    return This->lpVtbl->GoHome(This);
 641}
 642static inline HRESULT IWebBrowser_GoSearch(IWebBrowser* This) {
 643    return This->lpVtbl->GoSearch(This);
 644}
 645static inline HRESULT IWebBrowser_Navigate(IWebBrowser* This,BSTR URL,VARIANT *Flags,VARIANT *TargetFrameName,VARIANT *PostData,VARIANT *Headers) {
 646    return This->lpVtbl->Navigate(This,URL,Flags,TargetFrameName,PostData,Headers);
 647}
 648static inline HRESULT IWebBrowser_Refresh(IWebBrowser* This) {
 649    return This->lpVtbl->Refresh(This);
 650}
 651static inline HRESULT IWebBrowser_Refresh2(IWebBrowser* This,VARIANT *Level) {
 652    return This->lpVtbl->Refresh2(This,Level);
 653}
 654static inline HRESULT IWebBrowser_Stop(IWebBrowser* This) {
 655    return This->lpVtbl->Stop(This);
 656}
 657static inline HRESULT IWebBrowser_get_Application(IWebBrowser* This,IDispatch **ppDisp) {
 658    return This->lpVtbl->get_Application(This,ppDisp);
 659}
 660static inline HRESULT IWebBrowser_get_Parent(IWebBrowser* This,IDispatch **ppDisp) {
 661    return This->lpVtbl->get_Parent(This,ppDisp);
 662}
 663static inline HRESULT IWebBrowser_get_Container(IWebBrowser* This,IDispatch **ppDisp) {
 664    return This->lpVtbl->get_Container(This,ppDisp);
 665}
 666static inline HRESULT IWebBrowser_get_Document(IWebBrowser* This,IDispatch **ppDisp) {
 667    return This->lpVtbl->get_Document(This,ppDisp);
 668}
 669static inline HRESULT IWebBrowser_get_TopLevelContainer(IWebBrowser* This,VARIANT_BOOL *pBool) {
 670    return This->lpVtbl->get_TopLevelContainer(This,pBool);
 671}
 672static inline HRESULT IWebBrowser_get_Type(IWebBrowser* This,BSTR *Type) {
 673    return This->lpVtbl->get_Type(This,Type);
 674}
 675static inline HRESULT IWebBrowser_get_Left(IWebBrowser* This,LONG *pl) {
 676    return This->lpVtbl->get_Left(This,pl);
 677}
 678static inline HRESULT IWebBrowser_put_Left(IWebBrowser* This,LONG Left) {
 679    return This->lpVtbl->put_Left(This,Left);
 680}
 681static inline HRESULT IWebBrowser_get_Top(IWebBrowser* This,LONG *pl) {
 682    return This->lpVtbl->get_Top(This,pl);
 683}
 684static inline HRESULT IWebBrowser_put_Top(IWebBrowser* This,LONG Top) {
 685    return This->lpVtbl->put_Top(This,Top);
 686}
 687static inline HRESULT IWebBrowser_get_Width(IWebBrowser* This,LONG *pl) {
 688    return This->lpVtbl->get_Width(This,pl);
 689}
 690static inline HRESULT IWebBrowser_put_Width(IWebBrowser* This,LONG Width) {
 691    return This->lpVtbl->put_Width(This,Width);
 692}
 693static inline HRESULT IWebBrowser_get_Height(IWebBrowser* This,LONG *pl) {
 694    return This->lpVtbl->get_Height(This,pl);
 695}
 696static inline HRESULT IWebBrowser_put_Height(IWebBrowser* This,LONG Height) {
 697    return This->lpVtbl->put_Height(This,Height);
 698}
 699static inline HRESULT IWebBrowser_get_LocationName(IWebBrowser* This,BSTR *LocationName) {
 700    return This->lpVtbl->get_LocationName(This,LocationName);
 701}
 702static inline HRESULT IWebBrowser_get_LocationURL(IWebBrowser* This,BSTR *LocationURL) {
 703    return This->lpVtbl->get_LocationURL(This,LocationURL);
 704}
 705static inline HRESULT IWebBrowser_get_Busy(IWebBrowser* This,VARIANT_BOOL *pBool) {
 706    return This->lpVtbl->get_Busy(This,pBool);
 707}
 708#endif
 709#endif
 710
 711#endif
 712
 713
 714#endif  /* __IWebBrowser_INTERFACE_DEFINED__ */
 715
 716/*****************************************************************************
 717 * DWebBrowserEvents dispinterface
 718 */
 719#ifndef __DWebBrowserEvents_DISPINTERFACE_DEFINED__
 720#define __DWebBrowserEvents_DISPINTERFACE_DEFINED__
 721
 722DEFINE_GUID(DIID_DWebBrowserEvents, 0xeab22ac2, 0x30c1, 0x11cf, 0xa7,0xeb, 0x00,0x00,0xc0,0x5b,0xae,0x0b);
 723#if defined(__cplusplus) && !defined(CINTERFACE)
 724MIDL_INTERFACE("eab22ac2-30c1-11cf-a7eb-0000c05bae0b")
 725DWebBrowserEvents : public IDispatch
 726{
 727};
 728#ifdef __CRT_UUID_DECL
 729__CRT_UUID_DECL(DWebBrowserEvents, 0xeab22ac2, 0x30c1, 0x11cf, 0xa7,0xeb, 0x00,0x00,0xc0,0x5b,0xae,0x0b)
 730#endif
 731#else
 732typedef struct DWebBrowserEventsVtbl {
 733    BEGIN_INTERFACE
 734
 735    /*** IUnknown methods ***/
 736    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 737        DWebBrowserEvents *This,
 738        REFIID riid,
 739        void **ppvObject);
 740
 741    ULONG (STDMETHODCALLTYPE *AddRef)(
 742        DWebBrowserEvents *This);
 743
 744    ULONG (STDMETHODCALLTYPE *Release)(
 745        DWebBrowserEvents *This);
 746
 747    /*** IDispatch methods ***/
 748    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
 749        DWebBrowserEvents *This,
 750        UINT *pctinfo);
 751
 752    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
 753        DWebBrowserEvents *This,
 754        UINT iTInfo,
 755        LCID lcid,
 756        ITypeInfo **ppTInfo);
 757
 758    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
 759        DWebBrowserEvents *This,
 760        REFIID riid,
 761        LPOLESTR *rgszNames,
 762        UINT cNames,
 763        LCID lcid,
 764        DISPID *rgDispId);
 765
 766    HRESULT (STDMETHODCALLTYPE *Invoke)(
 767        DWebBrowserEvents *This,
 768        DISPID dispIdMember,
 769        REFIID riid,
 770        LCID lcid,
 771        WORD wFlags,
 772        DISPPARAMS *pDispParams,
 773        VARIANT *pVarResult,
 774        EXCEPINFO *pExcepInfo,
 775        UINT *puArgErr);
 776
 777    END_INTERFACE
 778} DWebBrowserEventsVtbl;
 779
 780interface DWebBrowserEvents {
 781    CONST_VTBL DWebBrowserEventsVtbl* lpVtbl;
 782};
 783
 784#ifdef COBJMACROS
 785#ifndef WIDL_C_INLINE_WRAPPERS
 786/*** IUnknown methods ***/
 787#define DWebBrowserEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 788#define DWebBrowserEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
 789#define DWebBrowserEvents_Release(This) (This)->lpVtbl->Release(This)
 790/*** IDispatch methods ***/
 791#define DWebBrowserEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 792#define DWebBrowserEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 793#define DWebBrowserEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 794#define DWebBrowserEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 795#else
 796/*** IUnknown methods ***/
 797static inline HRESULT DWebBrowserEvents_QueryInterface(DWebBrowserEvents* This,REFIID riid,void **ppvObject) {
 798    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 799}
 800static inline ULONG DWebBrowserEvents_AddRef(DWebBrowserEvents* This) {
 801    return This->lpVtbl->AddRef(This);
 802}
 803static inline ULONG DWebBrowserEvents_Release(DWebBrowserEvents* This) {
 804    return This->lpVtbl->Release(This);
 805}
 806/*** IDispatch methods ***/
 807static inline HRESULT DWebBrowserEvents_GetTypeInfoCount(DWebBrowserEvents* This,UINT *pctinfo) {
 808    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 809}
 810static inline HRESULT DWebBrowserEvents_GetTypeInfo(DWebBrowserEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
 811    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
 812}
 813static inline HRESULT DWebBrowserEvents_GetIDsOfNames(DWebBrowserEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
 814    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
 815}
 816static inline HRESULT DWebBrowserEvents_Invoke(DWebBrowserEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
 817    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
 818}
 819#endif
 820#endif
 821
 822#endif
 823
 824#endif  /* __DWebBrowserEvents_DISPINTERFACE_DEFINED__ */
 825
 826typedef enum CommandStateChangeConstants {
 827    CSC_UPDATECOMMANDS = -1,
 828    CSC_NAVIGATEFORWARD = 1,
 829    CSC_NAVIGATEBACK = 2
 830} CommandStateChangeConstants;
 831/*****************************************************************************
 832 * IWebBrowserApp interface
 833 */
 834#ifndef __IWebBrowserApp_INTERFACE_DEFINED__
 835#define __IWebBrowserApp_INTERFACE_DEFINED__
 836
 837DEFINE_GUID(IID_IWebBrowserApp, 0x0002df05, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
 838#if defined(__cplusplus) && !defined(CINTERFACE)
 839MIDL_INTERFACE("0002df05-0000-0000-c000-000000000046")
 840IWebBrowserApp : public IWebBrowser
 841{
 842    virtual HRESULT STDMETHODCALLTYPE Quit(
 843        ) = 0;
 844
 845    virtual HRESULT STDMETHODCALLTYPE ClientToWindow(
 846        int *pcx,
 847        int *pcy) = 0;
 848
 849    virtual HRESULT STDMETHODCALLTYPE PutProperty(
 850        BSTR Property,
 851        VARIANT vtValue) = 0;
 852
 853    virtual HRESULT STDMETHODCALLTYPE GetProperty(
 854        BSTR Property,
 855        VARIANT *pvtValue) = 0;
 856
 857    virtual HRESULT STDMETHODCALLTYPE get_Name(
 858        BSTR *Name) = 0;
 859
 860    virtual HRESULT STDMETHODCALLTYPE get_HWND(
 861        SHANDLE_PTR *pHWND) = 0;
 862
 863    virtual HRESULT STDMETHODCALLTYPE get_FullName(
 864        BSTR *FullName) = 0;
 865
 866    virtual HRESULT STDMETHODCALLTYPE get_Path(
 867        BSTR *Path) = 0;
 868
 869    virtual HRESULT STDMETHODCALLTYPE get_Visible(
 870        VARIANT_BOOL *pBool) = 0;
 871
 872    virtual HRESULT STDMETHODCALLTYPE put_Visible(
 873        VARIANT_BOOL Value) = 0;
 874
 875    virtual HRESULT STDMETHODCALLTYPE get_StatusBar(
 876        VARIANT_BOOL *pBool) = 0;
 877
 878    virtual HRESULT STDMETHODCALLTYPE put_StatusBar(
 879        VARIANT_BOOL Value) = 0;
 880
 881    virtual HRESULT STDMETHODCALLTYPE get_StatusText(
 882        BSTR *StatusText) = 0;
 883
 884    virtual HRESULT STDMETHODCALLTYPE put_StatusText(
 885        BSTR StatusText) = 0;
 886
 887    virtual HRESULT STDMETHODCALLTYPE get_ToolBar(
 888        int *Value) = 0;
 889
 890    virtual HRESULT STDMETHODCALLTYPE put_ToolBar(
 891        int Value) = 0;
 892
 893    virtual HRESULT STDMETHODCALLTYPE get_MenuBar(
 894        VARIANT_BOOL *Value) = 0;
 895
 896    virtual HRESULT STDMETHODCALLTYPE put_MenuBar(
 897        VARIANT_BOOL Value) = 0;
 898
 899    virtual HRESULT STDMETHODCALLTYPE get_FullScreen(
 900        VARIANT_BOOL *pbFullScreen) = 0;
 901
 902    virtual HRESULT STDMETHODCALLTYPE put_FullScreen(
 903        VARIANT_BOOL bFullScreen) = 0;
 904
 905};
 906#ifdef __CRT_UUID_DECL
 907__CRT_UUID_DECL(IWebBrowserApp, 0x0002df05, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
 908#endif
 909#else
 910typedef struct IWebBrowserAppVtbl {
 911    BEGIN_INTERFACE
 912
 913    /*** IUnknown methods ***/
 914    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 915        IWebBrowserApp *This,
 916        REFIID riid,
 917        void **ppvObject);
 918
 919    ULONG (STDMETHODCALLTYPE *AddRef)(
 920        IWebBrowserApp *This);
 921
 922    ULONG (STDMETHODCALLTYPE *Release)(
 923        IWebBrowserApp *This);
 924
 925    /*** IDispatch methods ***/
 926    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
 927        IWebBrowserApp *This,
 928        UINT *pctinfo);
 929
 930    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
 931        IWebBrowserApp *This,
 932        UINT iTInfo,
 933        LCID lcid,
 934        ITypeInfo **ppTInfo);
 935
 936    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
 937        IWebBrowserApp *This,
 938        REFIID riid,
 939        LPOLESTR *rgszNames,
 940        UINT cNames,
 941        LCID lcid,
 942        DISPID *rgDispId);
 943
 944    HRESULT (STDMETHODCALLTYPE *Invoke)(
 945        IWebBrowserApp *This,
 946        DISPID dispIdMember,
 947        REFIID riid,
 948        LCID lcid,
 949        WORD wFlags,
 950        DISPPARAMS *pDispParams,
 951        VARIANT *pVarResult,
 952        EXCEPINFO *pExcepInfo,
 953        UINT *puArgErr);
 954
 955    /*** IWebBrowser methods ***/
 956    HRESULT (STDMETHODCALLTYPE *GoBack)(
 957        IWebBrowserApp *This);
 958
 959    HRESULT (STDMETHODCALLTYPE *GoForward)(
 960        IWebBrowserApp *This);
 961
 962    HRESULT (STDMETHODCALLTYPE *GoHome)(
 963        IWebBrowserApp *This);
 964
 965    HRESULT (STDMETHODCALLTYPE *GoSearch)(
 966        IWebBrowserApp *This);
 967
 968    HRESULT (STDMETHODCALLTYPE *Navigate)(
 969        IWebBrowserApp *This,
 970        BSTR URL,
 971        VARIANT *Flags,
 972        VARIANT *TargetFrameName,
 973        VARIANT *PostData,
 974        VARIANT *Headers);
 975
 976    HRESULT (STDMETHODCALLTYPE *Refresh)(
 977        IWebBrowserApp *This);
 978
 979    HRESULT (STDMETHODCALLTYPE *Refresh2)(
 980        IWebBrowserApp *This,
 981        VARIANT *Level);
 982
 983    HRESULT (STDMETHODCALLTYPE *Stop)(
 984        IWebBrowserApp *This);
 985
 986    HRESULT (STDMETHODCALLTYPE *get_Application)(
 987        IWebBrowserApp *This,
 988        IDispatch **ppDisp);
 989
 990    HRESULT (STDMETHODCALLTYPE *get_Parent)(
 991        IWebBrowserApp *This,
 992        IDispatch **ppDisp);
 993
 994    HRESULT (STDMETHODCALLTYPE *get_Container)(
 995        IWebBrowserApp *This,
 996        IDispatch **ppDisp);
 997
 998    HRESULT (STDMETHODCALLTYPE *get_Document)(
 999        IWebBrowserApp *This,
1000        IDispatch **ppDisp);
1001
1002    HRESULT (STDMETHODCALLTYPE *get_TopLevelContainer)(
1003        IWebBrowserApp *This,
1004        VARIANT_BOOL *pBool);
1005
1006    HRESULT (STDMETHODCALLTYPE *get_Type)(
1007        IWebBrowserApp *This,
1008        BSTR *Type);
1009
1010    HRESULT (STDMETHODCALLTYPE *get_Left)(
1011        IWebBrowserApp *This,
1012        LONG *pl);
1013
1014    HRESULT (STDMETHODCALLTYPE *put_Left)(
1015        IWebBrowserApp *This,
1016        LONG Left);
1017
1018    HRESULT (STDMETHODCALLTYPE *get_Top)(
1019        IWebBrowserApp *This,
1020        LONG *pl);
1021
1022    HRESULT (STDMETHODCALLTYPE *put_Top)(
1023        IWebBrowserApp *This,
1024        LONG Top);
1025
1026    HRESULT (STDMETHODCALLTYPE *get_Width)(
1027        IWebBrowserApp *This,
1028        LONG *pl);
1029
1030    HRESULT (STDMETHODCALLTYPE *put_Width)(
1031        IWebBrowserApp *This,
1032        LONG Width);
1033
1034    HRESULT (STDMETHODCALLTYPE *get_Height)(
1035        IWebBrowserApp *This,
1036        LONG *pl);
1037
1038    HRESULT (STDMETHODCALLTYPE *put_Height)(
1039        IWebBrowserApp *This,
1040        LONG Height);
1041
1042    HRESULT (STDMETHODCALLTYPE *get_LocationName)(
1043        IWebBrowserApp *This,
1044        BSTR *LocationName);
1045
1046    HRESULT (STDMETHODCALLTYPE *get_LocationURL)(
1047        IWebBrowserApp *This,
1048        BSTR *LocationURL);
1049
1050    HRESULT (STDMETHODCALLTYPE *get_Busy)(
1051        IWebBrowserApp *This,
1052        VARIANT_BOOL *pBool);
1053
1054    /*** IWebBrowserApp methods ***/
1055    HRESULT (STDMETHODCALLTYPE *Quit)(
1056        IWebBrowserApp *This);
1057
1058    HRESULT (STDMETHODCALLTYPE *ClientToWindow)(
1059        IWebBrowserApp *This,
1060        int *pcx,
1061        int *pcy);
1062
1063    HRESULT (STDMETHODCALLTYPE *PutProperty)(
1064        IWebBrowserApp *This,
1065        BSTR Property,
1066        VARIANT vtValue);
1067
1068    HRESULT (STDMETHODCALLTYPE *GetProperty)(
1069        IWebBrowserApp *This,
1070        BSTR Property,
1071        VARIANT *pvtValue);
1072
1073    HRESULT (STDMETHODCALLTYPE *get_Name)(
1074        IWebBrowserApp *This,
1075        BSTR *Name);
1076
1077    HRESULT (STDMETHODCALLTYPE *get_HWND)(
1078        IWebBrowserApp *This,
1079        SHANDLE_PTR *pHWND);
1080
1081    HRESULT (STDMETHODCALLTYPE *get_FullName)(
1082        IWebBrowserApp *This,
1083        BSTR *FullName);
1084
1085    HRESULT (STDMETHODCALLTYPE *get_Path)(
1086        IWebBrowserApp *This,
1087        BSTR *Path);
1088
1089    HRESULT (STDMETHODCALLTYPE *get_Visible)(
1090        IWebBrowserApp *This,
1091        VARIANT_BOOL *pBool);
1092
1093    HRESULT (STDMETHODCALLTYPE *put_Visible)(
1094        IWebBrowserApp *This,
1095        VARIANT_BOOL Value);
1096
1097    HRESULT (STDMETHODCALLTYPE *get_StatusBar)(
1098        IWebBrowserApp *This,
1099        VARIANT_BOOL *pBool);
1100
1101    HRESULT (STDMETHODCALLTYPE *put_StatusBar)(
1102        IWebBrowserApp *This,
1103        VARIANT_BOOL Value);
1104
1105    HRESULT (STDMETHODCALLTYPE *get_StatusText)(
1106        IWebBrowserApp *This,
1107        BSTR *StatusText);
1108
1109    HRESULT (STDMETHODCALLTYPE *put_StatusText)(
1110        IWebBrowserApp *This,
1111        BSTR StatusText);
1112
1113    HRESULT (STDMETHODCALLTYPE *get_ToolBar)(
1114        IWebBrowserApp *This,
1115        int *Value);
1116
1117    HRESULT (STDMETHODCALLTYPE *put_ToolBar)(
1118        IWebBrowserApp *This,
1119        int Value);
1120
1121    HRESULT (STDMETHODCALLTYPE *get_MenuBar)(
1122        IWebBrowserApp *This,
1123        VARIANT_BOOL *Value);
1124
1125    HRESULT (STDMETHODCALLTYPE *put_MenuBar)(
1126        IWebBrowserApp *This,
1127        VARIANT_BOOL Value);
1128
1129    HRESULT (STDMETHODCALLTYPE *get_FullScreen)(
1130        IWebBrowserApp *This,
1131        VARIANT_BOOL *pbFullScreen);
1132
1133    HRESULT (STDMETHODCALLTYPE *put_FullScreen)(
1134        IWebBrowserApp *This,
1135        VARIANT_BOOL bFullScreen);
1136
1137    END_INTERFACE
1138} IWebBrowserAppVtbl;
1139
1140interface IWebBrowserApp {
1141    CONST_VTBL IWebBrowserAppVtbl* lpVtbl;
1142};
1143
1144#ifdef COBJMACROS
1145#ifndef WIDL_C_INLINE_WRAPPERS
1146/*** IUnknown methods ***/
1147#define IWebBrowserApp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1148#define IWebBrowserApp_AddRef(This) (This)->lpVtbl->AddRef(This)
1149#define IWebBrowserApp_Release(This) (This)->lpVtbl->Release(This)
1150/*** IDispatch methods ***/
1151#define IWebBrowserApp_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1152#define IWebBrowserApp_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1153#define IWebBrowserApp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1154#define IWebBrowserApp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1155/*** IWebBrowser methods ***/
1156#define IWebBrowserApp_GoBack(This) (This)->lpVtbl->GoBack(This)
1157#define IWebBrowserApp_GoForward(This) (This)->lpVtbl->GoForward(This)
1158#define IWebBrowserApp_GoHome(This) (This)->lpVtbl->GoHome(This)
1159#define IWebBrowserApp_GoSearch(This) (This)->lpVtbl->GoSearch(This)
1160#define IWebBrowserApp_Navigate(This,URL,Flags,TargetFrameName,PostData,Headers) (This)->lpVtbl->Navigate(This,URL,Flags,TargetFrameName,PostData,Headers)
1161#define IWebBrowserApp_Refresh(This) (This)->lpVtbl->Refresh(This)
1162#define IWebBrowserApp_Refresh2(This,Level) (This)->lpVtbl->Refresh2(This,Level)
1163#define IWebBrowserApp_Stop(This) (This)->lpVtbl->Stop(This)
1164#define IWebBrowserApp_get_Application(This,ppDisp) (This)->lpVtbl->get_Application(This,ppDisp)
1165#define IWebBrowserApp_get_Parent(This,ppDisp) (This)->lpVtbl->get_Parent(This,ppDisp)
1166#define IWebBrowserApp_get_Container(This,ppDisp) (This)->lpVtbl->get_Container(This,ppDisp)
1167#define IWebBrowserApp_get_Document(This,ppDisp) (This)->lpVtbl->get_Document(This,ppDisp)
1168#define IWebBrowserApp_get_TopLevelContainer(This,pBool) (This)->lpVtbl->get_TopLevelContainer(This,pBool)
1169#define IWebBrowserApp_get_Type(This,Type) (This)->lpVtbl->get_Type(This,Type)
1170#define IWebBrowserApp_get_Left(This,pl) (This)->lpVtbl->get_Left(This,pl)
1171#define IWebBrowserApp_put_Left(This,Left) (This)->lpVtbl->put_Left(This,Left)
1172#define IWebBrowserApp_get_Top(This,pl) (This)->lpVtbl->get_Top(This,pl)
1173#define IWebBrowserApp_put_Top(This,Top) (This)->lpVtbl->put_Top(This,Top)
1174#define IWebBrowserApp_get_Width(This,pl) (This)->lpVtbl->get_Width(This,pl)
1175#define IWebBrowserApp_put_Width(This,Width) (This)->lpVtbl->put_Width(This,Width)
1176#define IWebBrowserApp_get_Height(This,pl) (This)->lpVtbl->get_Height(This,pl)
1177#define IWebBrowserApp_put_Height(This,Height) (This)->lpVtbl->put_Height(This,Height)
1178#define IWebBrowserApp_get_LocationName(This,LocationName) (This)->lpVtbl->get_LocationName(This,LocationName)
1179#define IWebBrowserApp_get_LocationURL(This,LocationURL) (This)->lpVtbl->get_LocationURL(This,LocationURL)
1180#define IWebBrowserApp_get_Busy(This,pBool) (This)->lpVtbl->get_Busy(This,pBool)
1181/*** IWebBrowserApp methods ***/
1182#define IWebBrowserApp_Quit(This) (This)->lpVtbl->Quit(This)
1183#define IWebBrowserApp_ClientToWindow(This,pcx,pcy) (This)->lpVtbl->ClientToWindow(This,pcx,pcy)
1184#define IWebBrowserApp_PutProperty(This,Property,vtValue) (This)->lpVtbl->PutProperty(This,Property,vtValue)
1185#define IWebBrowserApp_GetProperty(This,Property,pvtValue) (This)->lpVtbl->GetProperty(This,Property,pvtValue)
1186#define IWebBrowserApp_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
1187#define IWebBrowserApp_get_HWND(This,pHWND) (This)->lpVtbl->get_HWND(This,pHWND)
1188#define IWebBrowserApp_get_FullName(This,FullName) (This)->lpVtbl->get_FullName(This,FullName)
1189#define IWebBrowserApp_get_Path(This,Path) (This)->lpVtbl->get_Path(This,Path)
1190#define IWebBrowserApp_get_Visible(This,pBool) (This)->lpVtbl->get_Visible(This,pBool)
1191#define IWebBrowserApp_put_Visible(This,Value) (This)->lpVtbl->put_Visible(This,Value)
1192#define IWebBrowserApp_get_StatusBar(This,pBool) (This)->lpVtbl->get_StatusBar(This,pBool)
1193#define IWebBrowserApp_put_StatusBar(This,Value) (This)->lpVtbl->put_StatusBar(This,Value)
1194#define IWebBrowserApp_get_StatusText(This,StatusText) (This)->lpVtbl->get_StatusText(This,StatusText)
1195#define IWebBrowserApp_put_StatusText(This,StatusText) (This)->lpVtbl->put_StatusText(This,StatusText)
1196#define IWebBrowserApp_get_ToolBar(This,Value) (This)->lpVtbl->get_ToolBar(This,Value)
1197#define IWebBrowserApp_put_ToolBar(This,Value) (This)->lpVtbl->put_ToolBar(This,Value)
1198#define IWebBrowserApp_get_MenuBar(This,Value) (This)->lpVtbl->get_MenuBar(This,Value)
1199#define IWebBrowserApp_put_MenuBar(This,Value) (This)->lpVtbl->put_MenuBar(This,Value)
1200#define IWebBrowserApp_get_FullScreen(This,pbFullScreen) (This)->lpVtbl->get_FullScreen(This,pbFullScreen)
1201#define IWebBrowserApp_put_FullScreen(This,bFullScreen) (This)->lpVtbl->put_FullScreen(This,bFullScreen)
1202#else
1203/*** IUnknown methods ***/
1204static inline HRESULT IWebBrowserApp_QueryInterface(IWebBrowserApp* This,REFIID riid,void **ppvObject) {
1205    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1206}
1207static inline ULONG IWebBrowserApp_AddRef(IWebBrowserApp* This) {
1208    return This->lpVtbl->AddRef(This);
1209}
1210static inline ULONG IWebBrowserApp_Release(IWebBrowserApp* This) {
1211    return This->lpVtbl->Release(This);
1212}
1213/*** IDispatch methods ***/
1214static inline HRESULT IWebBrowserApp_GetTypeInfoCount(IWebBrowserApp* This,UINT *pctinfo) {
1215    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1216}
1217static inline HRESULT IWebBrowserApp_GetTypeInfo(IWebBrowserApp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1218    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1219}
1220static inline HRESULT IWebBrowserApp_GetIDsOfNames(IWebBrowserApp* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1221    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1222}
1223static inline HRESULT IWebBrowserApp_Invoke(IWebBrowserApp* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1224    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1225}
1226/*** IWebBrowser methods ***/
1227static inline HRESULT IWebBrowserApp_GoBack(IWebBrowserApp* This) {
1228    return This->lpVtbl->GoBack(This);
1229}
1230static inline HRESULT IWebBrowserApp_GoForward(IWebBrowserApp* This) {
1231    return This->lpVtbl->GoForward(This);
1232}
1233static inline HRESULT IWebBrowserApp_GoHome(IWebBrowserApp* This) {
1234    return This->lpVtbl->GoHome(This);
1235}
1236static inline HRESULT IWebBrowserApp_GoSearch(IWebBrowserApp* This) {
1237    return This->lpVtbl->GoSearch(This);
1238}
1239static inline HRESULT IWebBrowserApp_Navigate(IWebBrowserApp* This,BSTR URL,VARIANT *Flags,VARIANT *TargetFrameName,VARIANT *PostData,VARIANT *Headers) {
1240    return This->lpVtbl->Navigate(This,URL,Flags,TargetFrameName,PostData,Headers);
1241}
1242static inline HRESULT IWebBrowserApp_Refresh(IWebBrowserApp* This) {
1243    return This->lpVtbl->Refresh(This);
1244}
1245static inline HRESULT IWebBrowserApp_Refresh2(IWebBrowserApp* This,VARIANT *Level) {
1246    return This->lpVtbl->Refresh2(This,Level);
1247}
1248static inline HRESULT IWebBrowserApp_Stop(IWebBrowserApp* This) {
1249    return This->lpVtbl->Stop(This);
1250}
1251static inline HRESULT IWebBrowserApp_get_Application(IWebBrowserApp* This,IDispatch **ppDisp) {
1252    return This->lpVtbl->get_Application(This,ppDisp);
1253}
1254static inline HRESULT IWebBrowserApp_get_Parent(IWebBrowserApp* This,IDispatch **ppDisp) {
1255    return This->lpVtbl->get_Parent(This,ppDisp);
1256}
1257static inline HRESULT IWebBrowserApp_get_Container(IWebBrowserApp* This,IDispatch **ppDisp) {
1258    return This->lpVtbl->get_Container(This,ppDisp);
1259}
1260static inline HRESULT IWebBrowserApp_get_Document(IWebBrowserApp* This,IDispatch **ppDisp) {
1261    return This->lpVtbl->get_Document(This,ppDisp);
1262}
1263static inline HRESULT IWebBrowserApp_get_TopLevelContainer(IWebBrowserApp* This,VARIANT_BOOL *pBool) {
1264    return This->lpVtbl->get_TopLevelContainer(This,pBool);
1265}
1266static inline HRESULT IWebBrowserApp_get_Type(IWebBrowserApp* This,BSTR *Type) {
1267    return This->lpVtbl->get_Type(This,Type);
1268}
1269static inline HRESULT IWebBrowserApp_get_Left(IWebBrowserApp* This,LONG *pl) {
1270    return This->lpVtbl->get_Left(This,pl);
1271}
1272static inline HRESULT IWebBrowserApp_put_Left(IWebBrowserApp* This,LONG Left) {
1273    return This->lpVtbl->put_Left(This,Left);
1274}
1275static inline HRESULT IWebBrowserApp_get_Top(IWebBrowserApp* This,LONG *pl) {
1276    return This->lpVtbl->get_Top(This,pl);
1277}
1278static inline HRESULT IWebBrowserApp_put_Top(IWebBrowserApp* This,LONG Top) {
1279    return This->lpVtbl->put_Top(This,Top);
1280}
1281static inline HRESULT IWebBrowserApp_get_Width(IWebBrowserApp* This,LONG *pl) {
1282    return This->lpVtbl->get_Width(This,pl);
1283}
1284static inline HRESULT IWebBrowserApp_put_Width(IWebBrowserApp* This,LONG Width) {
1285    return This->lpVtbl->put_Width(This,Width);
1286}
1287static inline HRESULT IWebBrowserApp_get_Height(IWebBrowserApp* This,LONG *pl) {
1288    return This->lpVtbl->get_Height(This,pl);
1289}
1290static inline HRESULT IWebBrowserApp_put_Height(IWebBrowserApp* This,LONG Height) {
1291    return This->lpVtbl->put_Height(This,Height);
1292}
1293static inline HRESULT IWebBrowserApp_get_LocationName(IWebBrowserApp* This,BSTR *LocationName) {
1294    return This->lpVtbl->get_LocationName(This,LocationName);
1295}
1296static inline HRESULT IWebBrowserApp_get_LocationURL(IWebBrowserApp* This,BSTR *LocationURL) {
1297    return This->lpVtbl->get_LocationURL(This,LocationURL);
1298}
1299static inline HRESULT IWebBrowserApp_get_Busy(IWebBrowserApp* This,VARIANT_BOOL *pBool) {
1300    return This->lpVtbl->get_Busy(This,pBool);
1301}
1302/*** IWebBrowserApp methods ***/
1303static inline HRESULT IWebBrowserApp_Quit(IWebBrowserApp* This) {
1304    return This->lpVtbl->Quit(This);
1305}
1306static inline HRESULT IWebBrowserApp_ClientToWindow(IWebBrowserApp* This,int *pcx,int *pcy) {
1307    return This->lpVtbl->ClientToWindow(This,pcx,pcy);
1308}
1309static inline HRESULT IWebBrowserApp_PutProperty(IWebBrowserApp* This,BSTR Property,VARIANT vtValue) {
1310    return This->lpVtbl->PutProperty(This,Property,vtValue);
1311}
1312static inline HRESULT IWebBrowserApp_GetProperty(IWebBrowserApp* This,BSTR Property,VARIANT *pvtValue) {
1313    return This->lpVtbl->GetProperty(This,Property,pvtValue);
1314}
1315static inline HRESULT IWebBrowserApp_get_Name(IWebBrowserApp* This,BSTR *Name) {
1316    return This->lpVtbl->get_Name(This,Name);
1317}
1318static inline HRESULT IWebBrowserApp_get_HWND(IWebBrowserApp* This,SHANDLE_PTR *pHWND) {
1319    return This->lpVtbl->get_HWND(This,pHWND);
1320}
1321static inline HRESULT IWebBrowserApp_get_FullName(IWebBrowserApp* This,BSTR *FullName) {
1322    return This->lpVtbl->get_FullName(This,FullName);
1323}
1324static inline HRESULT IWebBrowserApp_get_Path(IWebBrowserApp* This,BSTR *Path) {
1325    return This->lpVtbl->get_Path(This,Path);
1326}
1327static inline HRESULT IWebBrowserApp_get_Visible(IWebBrowserApp* This,VARIANT_BOOL *pBool) {
1328    return This->lpVtbl->get_Visible(This,pBool);
1329}
1330static inline HRESULT IWebBrowserApp_put_Visible(IWebBrowserApp* This,VARIANT_BOOL Value) {
1331    return This->lpVtbl->put_Visible(This,Value);
1332}
1333static inline HRESULT IWebBrowserApp_get_StatusBar(IWebBrowserApp* This,VARIANT_BOOL *pBool) {
1334    return This->lpVtbl->get_StatusBar(This,pBool);
1335}
1336static inline HRESULT IWebBrowserApp_put_StatusBar(IWebBrowserApp* This,VARIANT_BOOL Value) {
1337    return This->lpVtbl->put_StatusBar(This,Value);
1338}
1339static inline HRESULT IWebBrowserApp_get_StatusText(IWebBrowserApp* This,BSTR *StatusText) {
1340    return This->lpVtbl->get_StatusText(This,StatusText);
1341}
1342static inline HRESULT IWebBrowserApp_put_StatusText(IWebBrowserApp* This,BSTR StatusText) {
1343    return This->lpVtbl->put_StatusText(This,StatusText);
1344}
1345static inline HRESULT IWebBrowserApp_get_ToolBar(IWebBrowserApp* This,int *Value) {
1346    return This->lpVtbl->get_ToolBar(This,Value);
1347}
1348static inline HRESULT IWebBrowserApp_put_ToolBar(IWebBrowserApp* This,int Value) {
1349    return This->lpVtbl->put_ToolBar(This,Value);
1350}
1351static inline HRESULT IWebBrowserApp_get_MenuBar(IWebBrowserApp* This,VARIANT_BOOL *Value) {
1352    return This->lpVtbl->get_MenuBar(This,Value);
1353}
1354static inline HRESULT IWebBrowserApp_put_MenuBar(IWebBrowserApp* This,VARIANT_BOOL Value) {
1355    return This->lpVtbl->put_MenuBar(This,Value);
1356}
1357static inline HRESULT IWebBrowserApp_get_FullScreen(IWebBrowserApp* This,VARIANT_BOOL *pbFullScreen) {
1358    return This->lpVtbl->get_FullScreen(This,pbFullScreen);
1359}
1360static inline HRESULT IWebBrowserApp_put_FullScreen(IWebBrowserApp* This,VARIANT_BOOL bFullScreen) {
1361    return This->lpVtbl->put_FullScreen(This,bFullScreen);
1362}
1363#endif
1364#endif
1365
1366#endif
1367
1368
1369#endif  /* __IWebBrowserApp_INTERFACE_DEFINED__ */
1370
1371/*****************************************************************************
1372 * IWebBrowser2 interface
1373 */
1374#ifndef __IWebBrowser2_INTERFACE_DEFINED__
1375#define __IWebBrowser2_INTERFACE_DEFINED__
1376
1377DEFINE_GUID(IID_IWebBrowser2, 0xd30c1661, 0xcdaf, 0x11d0, 0x8a,0x3e, 0x00,0xc0,0x4f,0xc9,0xe2,0x6e);
1378#if defined(__cplusplus) && !defined(CINTERFACE)
1379MIDL_INTERFACE("d30c1661-cdaf-11d0-8a3e-00c04fc9e26e")
1380IWebBrowser2 : public IWebBrowserApp
1381{
1382    virtual HRESULT STDMETHODCALLTYPE Navigate2(
1383        VARIANT *URL,
1384        VARIANT *Flags,
1385        VARIANT *TargetFrameName,
1386        VARIANT *PostData,
1387        VARIANT *Headers) = 0;
1388
1389    virtual HRESULT STDMETHODCALLTYPE QueryStatusWB(
1390        OLECMDID cmdID,
1391        OLECMDF *pcmdf) = 0;
1392
1393    virtual HRESULT STDMETHODCALLTYPE ExecWB(
1394        OLECMDID cmdID,
1395        OLECMDEXECOPT cmdexecopt,
1396        VARIANT *pvaIn,
1397        VARIANT *pvaOut) = 0;
1398
1399    virtual HRESULT STDMETHODCALLTYPE ShowBrowserBar(
1400        VARIANT *pvaClsid,
1401        VARIANT *pvarShow,
1402        VARIANT *pvarSize) = 0;
1403
1404    virtual HRESULT STDMETHODCALLTYPE get_ReadyState(
1405        READYSTATE *plReadyState) = 0;
1406
1407    virtual HRESULT STDMETHODCALLTYPE get_Offline(
1408        VARIANT_BOOL *pbOffline) = 0;
1409
1410    virtual HRESULT STDMETHODCALLTYPE put_Offline(
1411        VARIANT_BOOL bOffline) = 0;
1412
1413    virtual HRESULT STDMETHODCALLTYPE get_Silent(
1414        VARIANT_BOOL *pbSilent) = 0;
1415
1416    virtual HRESULT STDMETHODCALLTYPE put_Silent(
1417        VARIANT_BOOL bSilent) = 0;
1418
1419    virtual HRESULT STDMETHODCALLTYPE get_RegisterAsBrowser(
1420        VARIANT_BOOL *pbRegister) = 0;
1421
1422    virtual HRESULT STDMETHODCALLTYPE put_RegisterAsBrowser(
1423        VARIANT_BOOL bRegister) = 0;
1424
1425    virtual HRESULT STDMETHODCALLTYPE get_RegisterAsDropTarget(
1426        VARIANT_BOOL *pbRegister) = 0;
1427
1428    virtual HRESULT STDMETHODCALLTYPE put_RegisterAsDropTarget(
1429        VARIANT_BOOL bRegister) = 0;
1430
1431    virtual HRESULT STDMETHODCALLTYPE get_TheaterMode(
1432        VARIANT_BOOL *pbRegister) = 0;
1433
1434    virtual HRESULT STDMETHODCALLTYPE put_TheaterMode(
1435        VARIANT_BOOL bRegister) = 0;
1436
1437    virtual HRESULT STDMETHODCALLTYPE get_AddressBar(
1438        VARIANT_BOOL *Value) = 0;
1439
1440    virtual HRESULT STDMETHODCALLTYPE put_AddressBar(
1441        VARIANT_BOOL Value) = 0;
1442
1443    virtual HRESULT STDMETHODCALLTYPE get_Resizable(
1444        VARIANT_BOOL *Value) = 0;
1445
1446    virtual HRESULT STDMETHODCALLTYPE put_Resizable(
1447        VARIANT_BOOL Value) = 0;
1448
1449};
1450#ifdef __CRT_UUID_DECL
1451__CRT_UUID_DECL(IWebBrowser2, 0xd30c1661, 0xcdaf, 0x11d0, 0x8a,0x3e, 0x00,0xc0,0x4f,0xc9,0xe2,0x6e)
1452#endif
1453#else
1454typedef struct IWebBrowser2Vtbl {
1455    BEGIN_INTERFACE
1456
1457    /*** IUnknown methods ***/
1458    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1459        IWebBrowser2 *This,
1460        REFIID riid,
1461        void **ppvObject);
1462
1463    ULONG (STDMETHODCALLTYPE *AddRef)(
1464        IWebBrowser2 *This);
1465
1466    ULONG (STDMETHODCALLTYPE *Release)(
1467        IWebBrowser2 *This);
1468
1469    /*** IDispatch methods ***/
1470    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1471        IWebBrowser2 *This,
1472        UINT *pctinfo);
1473
1474    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1475        IWebBrowser2 *This,
1476        UINT iTInfo,
1477        LCID lcid,
1478        ITypeInfo **ppTInfo);
1479
1480    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1481        IWebBrowser2 *This,
1482        REFIID riid,
1483        LPOLESTR *rgszNames,
1484        UINT cNames,
1485        LCID lcid,
1486        DISPID *rgDispId);
1487
1488    HRESULT (STDMETHODCALLTYPE *Invoke)(
1489        IWebBrowser2 *This,
1490        DISPID dispIdMember,
1491        REFIID riid,
1492        LCID lcid,
1493        WORD wFlags,
1494        DISPPARAMS *pDispParams,
1495        VARIANT *pVarResult,
1496        EXCEPINFO *pExcepInfo,
1497        UINT *puArgErr);
1498
1499    /*** IWebBrowser methods ***/
1500    HRESULT (STDMETHODCALLTYPE *GoBack)(
1501        IWebBrowser2 *This);
1502
1503    HRESULT (STDMETHODCALLTYPE *GoForward)(
1504        IWebBrowser2 *This);
1505
1506    HRESULT (STDMETHODCALLTYPE *GoHome)(
1507        IWebBrowser2 *This);
1508
1509    HRESULT (STDMETHODCALLTYPE *GoSearch)(
1510        IWebBrowser2 *This);
1511
1512    HRESULT (STDMETHODCALLTYPE *Navigate)(
1513        IWebBrowser2 *This,
1514        BSTR URL,
1515        VARIANT *Flags,
1516        VARIANT *TargetFrameName,
1517        VARIANT *PostData,
1518        VARIANT *Headers);
1519
1520    HRESULT (STDMETHODCALLTYPE *Refresh)(
1521        IWebBrowser2 *This);
1522
1523    HRESULT (STDMETHODCALLTYPE *Refresh2)(
1524        IWebBrowser2 *This,
1525        VARIANT *Level);
1526
1527    HRESULT (STDMETHODCALLTYPE *Stop)(
1528        IWebBrowser2 *This);
1529
1530    HRESULT (STDMETHODCALLTYPE *get_Application)(
1531        IWebBrowser2 *This,
1532        IDispatch **ppDisp);
1533
1534    HRESULT (STDMETHODCALLTYPE *get_Parent)(
1535        IWebBrowser2 *This,
1536        IDispatch **ppDisp);
1537
1538    HRESULT (STDMETHODCALLTYPE *get_Container)(
1539        IWebBrowser2 *This,
1540        IDispatch **ppDisp);
1541
1542    HRESULT (STDMETHODCALLTYPE *get_Document)(
1543        IWebBrowser2 *This,
1544        IDispatch **ppDisp);
1545
1546    HRESULT (STDMETHODCALLTYPE *get_TopLevelContainer)(
1547        IWebBrowser2 *This,
1548        VARIANT_BOOL *pBool);
1549
1550    HRESULT (STDMETHODCALLTYPE *get_Type)(
1551        IWebBrowser2 *This,
1552        BSTR *Type);
1553
1554    HRESULT (STDMETHODCALLTYPE *get_Left)(
1555        IWebBrowser2 *This,
1556        LONG *pl);
1557
1558    HRESULT (STDMETHODCALLTYPE *put_Left)(
1559        IWebBrowser2 *This,
1560        LONG Left);
1561
1562    HRESULT (STDMETHODCALLTYPE *get_Top)(
1563        IWebBrowser2 *This,
1564        LONG *pl);
1565
1566    HRESULT (STDMETHODCALLTYPE *put_Top)(
1567        IWebBrowser2 *This,
1568        LONG Top);
1569
1570    HRESULT (STDMETHODCALLTYPE *get_Width)(
1571        IWebBrowser2 *This,
1572        LONG *pl);
1573
1574    HRESULT (STDMETHODCALLTYPE *put_Width)(
1575        IWebBrowser2 *This,
1576        LONG Width);
1577
1578    HRESULT (STDMETHODCALLTYPE *get_Height)(
1579        IWebBrowser2 *This,
1580        LONG *pl);
1581
1582    HRESULT (STDMETHODCALLTYPE *put_Height)(
1583        IWebBrowser2 *This,
1584        LONG Height);
1585
1586    HRESULT (STDMETHODCALLTYPE *get_LocationName)(
1587        IWebBrowser2 *This,
1588        BSTR *LocationName);
1589
1590    HRESULT (STDMETHODCALLTYPE *get_LocationURL)(
1591        IWebBrowser2 *This,
1592        BSTR *LocationURL);
1593
1594    HRESULT (STDMETHODCALLTYPE *get_Busy)(
1595        IWebBrowser2 *This,
1596        VARIANT_BOOL *pBool);
1597
1598    /*** IWebBrowserApp methods ***/
1599    HRESULT (STDMETHODCALLTYPE *Quit)(
1600        IWebBrowser2 *This);
1601
1602    HRESULT (STDMETHODCALLTYPE *ClientToWindow)(
1603        IWebBrowser2 *This,
1604        int *pcx,
1605        int *pcy);
1606
1607    HRESULT (STDMETHODCALLTYPE *PutProperty)(
1608        IWebBrowser2 *This,
1609        BSTR Property,
1610        VARIANT vtValue);
1611
1612    HRESULT (STDMETHODCALLTYPE *GetProperty)(
1613        IWebBrowser2 *This,
1614        BSTR Property,
1615        VARIANT *pvtValue);
1616
1617    HRESULT (STDMETHODCALLTYPE *get_Name)(
1618        IWebBrowser2 *This,
1619        BSTR *Name);
1620
1621    HRESULT (STDMETHODCALLTYPE *get_HWND)(
1622        IWebBrowser2 *This,
1623        SHANDLE_PTR *pHWND);
1624
1625    HRESULT (STDMETHODCALLTYPE *get_FullName)(
1626        IWebBrowser2 *This,
1627        BSTR *FullName);
1628
1629    HRESULT (STDMETHODCALLTYPE *get_Path)(
1630        IWebBrowser2 *This,
1631        BSTR *Path);
1632
1633    HRESULT (STDMETHODCALLTYPE *get_Visible)(
1634        IWebBrowser2 *This,
1635        VARIANT_BOOL *pBool);
1636
1637    HRESULT (STDMETHODCALLTYPE *put_Visible)(
1638        IWebBrowser2 *This,
1639        VARIANT_BOOL Value);
1640
1641    HRESULT (STDMETHODCALLTYPE *get_StatusBar)(
1642        IWebBrowser2 *This,
1643        VARIANT_BOOL *pBool);
1644
1645    HRESULT (STDMETHODCALLTYPE *put_StatusBar)(
1646        IWebBrowser2 *This,
1647        VARIANT_BOOL Value);
1648
1649    HRESULT (STDMETHODCALLTYPE *get_StatusText)(
1650        IWebBrowser2 *This,
1651        BSTR *StatusText);
1652
1653    HRESULT (STDMETHODCALLTYPE *put_StatusText)(
1654        IWebBrowser2 *This,
1655        BSTR StatusText);
1656
1657    HRESULT (STDMETHODCALLTYPE *get_ToolBar)(
1658        IWebBrowser2 *This,
1659        int *Value);
1660
1661    HRESULT (STDMETHODCALLTYPE *put_ToolBar)(
1662        IWebBrowser2 *This,
1663        int Value);
1664
1665    HRESULT (STDMETHODCALLTYPE *get_MenuBar)(
1666        IWebBrowser2 *This,
1667        VARIANT_BOOL *Value);
1668
1669    HRESULT (STDMETHODCALLTYPE *put_MenuBar)(
1670        IWebBrowser2 *This,
1671        VARIANT_BOOL Value);
1672
1673    HRESULT (STDMETHODCALLTYPE *get_FullScreen)(
1674        IWebBrowser2 *This,
1675        VARIANT_BOOL *pbFullScreen);
1676
1677    HRESULT (STDMETHODCALLTYPE *put_FullScreen)(
1678        IWebBrowser2 *This,
1679        VARIANT_BOOL bFullScreen);
1680
1681    /*** IWebBrowser2 methods ***/
1682    HRESULT (STDMETHODCALLTYPE *Navigate2)(
1683        IWebBrowser2 *This,
1684        VARIANT *URL,
1685        VARIANT *Flags,
1686        VARIANT *TargetFrameName,
1687        VARIANT *PostData,
1688        VARIANT *Headers);
1689
1690    HRESULT (STDMETHODCALLTYPE *QueryStatusWB)(
1691        IWebBrowser2 *This,
1692        OLECMDID cmdID,
1693        OLECMDF *pcmdf);
1694
1695    HRESULT (STDMETHODCALLTYPE *ExecWB)(
1696        IWebBrowser2 *This,
1697        OLECMDID cmdID,
1698        OLECMDEXECOPT cmdexecopt,
1699        VARIANT *pvaIn,
1700        VARIANT *pvaOut);
1701
1702    HRESULT (STDMETHODCALLTYPE *ShowBrowserBar)(
1703        IWebBrowser2 *This,
1704        VARIANT *pvaClsid,
1705        VARIANT *pvarShow,
1706        VARIANT *pvarSize);
1707
1708    HRESULT (STDMETHODCALLTYPE *get_ReadyState)(
1709        IWebBrowser2 *This,
1710        READYSTATE *plReadyState);
1711
1712    HRESULT (STDMETHODCALLTYPE *get_Offline)(
1713        IWebBrowser2 *This,
1714        VARIANT_BOOL *pbOffline);
1715
1716    HRESULT (STDMETHODCALLTYPE *put_Offline)(
1717        IWebBrowser2 *This,
1718        VARIANT_BOOL bOffline);
1719
1720    HRESULT (STDMETHODCALLTYPE *get_Silent)(
1721        IWebBrowser2 *This,
1722        VARIANT_BOOL *pbSilent);
1723
1724    HRESULT (STDMETHODCALLTYPE *put_Silent)(
1725        IWebBrowser2 *This,
1726        VARIANT_BOOL bSilent);
1727
1728    HRESULT (STDMETHODCALLTYPE *get_RegisterAsBrowser)(
1729        IWebBrowser2 *This,
1730        VARIANT_BOOL *pbRegister);
1731
1732    HRESULT (STDMETHODCALLTYPE *put_RegisterAsBrowser)(
1733        IWebBrowser2 *This,
1734        VARIANT_BOOL bRegister);
1735
1736    HRESULT (STDMETHODCALLTYPE *get_RegisterAsDropTarget)(
1737        IWebBrowser2 *This,
1738        VARIANT_BOOL *pbRegister);
1739
1740    HRESULT (STDMETHODCALLTYPE *put_RegisterAsDropTarget)(
1741        IWebBrowser2 *This,
1742        VARIANT_BOOL bRegister);
1743
1744    HRESULT (STDMETHODCALLTYPE *get_TheaterMode)(
1745        IWebBrowser2 *This,
1746        VARIANT_BOOL *pbRegister);
1747
1748    HRESULT (STDMETHODCALLTYPE *put_TheaterMode)(
1749        IWebBrowser2 *This,
1750        VARIANT_BOOL bRegister);
1751
1752    HRESULT (STDMETHODCALLTYPE *get_AddressBar)(
1753        IWebBrowser2 *This,
1754        VARIANT_BOOL *Value);
1755
1756    HRESULT (STDMETHODCALLTYPE *put_AddressBar)(
1757        IWebBrowser2 *This,
1758        VARIANT_BOOL Value);
1759
1760    HRESULT (STDMETHODCALLTYPE *get_Resizable)(
1761        IWebBrowser2 *This,
1762        VARIANT_BOOL *Value);
1763
1764    HRESULT (STDMETHODCALLTYPE *put_Resizable)(
1765        IWebBrowser2 *This,
1766        VARIANT_BOOL Value);
1767
1768    END_INTERFACE
1769} IWebBrowser2Vtbl;
1770
1771interface IWebBrowser2 {
1772    CONST_VTBL IWebBrowser2Vtbl* lpVtbl;
1773};
1774
1775#ifdef COBJMACROS
1776#ifndef WIDL_C_INLINE_WRAPPERS
1777/*** IUnknown methods ***/
1778#define IWebBrowser2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1779#define IWebBrowser2_AddRef(This) (This)->lpVtbl->AddRef(This)
1780#define IWebBrowser2_Release(This) (This)->lpVtbl->Release(This)
1781/*** IDispatch methods ***/
1782#define IWebBrowser2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1783#define IWebBrowser2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1784#define IWebBrowser2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1785#define IWebBrowser2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1786/*** IWebBrowser methods ***/
1787#define IWebBrowser2_GoBack(This) (This)->lpVtbl->GoBack(This)
1788#define IWebBrowser2_GoForward(This) (This)->lpVtbl->GoForward(This)
1789#define IWebBrowser2_GoHome(This) (This)->lpVtbl->GoHome(This)
1790#define IWebBrowser2_GoSearch(This) (This)->lpVtbl->GoSearch(This)
1791#define IWebBrowser2_Navigate(This,URL,Flags,TargetFrameName,PostData,Headers) (This)->lpVtbl->Navigate(This,URL,Flags,TargetFrameName,PostData,Headers)
1792#define IWebBrowser2_Refresh(This) (This)->lpVtbl->Refresh(This)
1793#define IWebBrowser2_Refresh2(This,Level) (This)->lpVtbl->Refresh2(This,Level)
1794#define IWebBrowser2_Stop(This) (This)->lpVtbl->Stop(This)
1795#define IWebBrowser2_get_Application(This,ppDisp) (This)->lpVtbl->get_Application(This,ppDisp)
1796#define IWebBrowser2_get_Parent(This,ppDisp) (This)->lpVtbl->get_Parent(This,ppDisp)
1797#define IWebBrowser2_get_Container(This,ppDisp) (This)->lpVtbl->get_Container(This,ppDisp)
1798#define IWebBrowser2_get_Document(This,ppDisp) (This)->lpVtbl->get_Document(This,ppDisp)
1799#define IWebBrowser2_get_TopLevelContainer(This,pBool) (This)->lpVtbl->get_TopLevelContainer(This,pBool)
1800#define IWebBrowser2_get_Type(This,Type) (This)->lpVtbl->get_Type(This,Type)
1801#define IWebBrowser2_get_Left(This,pl) (This)->lpVtbl->get_Left(This,pl)
1802#define IWebBrowser2_put_Left(This,Left) (This)->lpVtbl->put_Left(This,Left)
1803#define IWebBrowser2_get_Top(This,pl) (This)->lpVtbl->get_Top(This,pl)
1804#define IWebBrowser2_put_Top(This,Top) (This)->lpVtbl->put_Top(This,Top)
1805#define IWebBrowser2_get_Width(This,pl) (This)->lpVtbl->get_Width(This,pl)
1806#define IWebBrowser2_put_Width(This,Width) (This)->lpVtbl->put_Width(This,Width)
1807#define IWebBrowser2_get_Height(This,pl) (This)->lpVtbl->get_Height(This,pl)
1808#define IWebBrowser2_put_Height(This,Height) (This)->lpVtbl->put_Height(This,Height)
1809#define IWebBrowser2_get_LocationName(This,LocationName) (This)->lpVtbl->get_LocationName(This,LocationName)
1810#define IWebBrowser2_get_LocationURL(This,LocationURL) (This)->lpVtbl->get_LocationURL(This,LocationURL)
1811#define IWebBrowser2_get_Busy(This,pBool) (This)->lpVtbl->get_Busy(This,pBool)
1812/*** IWebBrowserApp methods ***/
1813#define IWebBrowser2_Quit(This) (This)->lpVtbl->Quit(This)
1814#define IWebBrowser2_ClientToWindow(This,pcx,pcy) (This)->lpVtbl->ClientToWindow(This,pcx,pcy)
1815#define IWebBrowser2_PutProperty(This,Property,vtValue) (This)->lpVtbl->PutProperty(This,Property,vtValue)
1816#define IWebBrowser2_GetProperty(This,Property,pvtValue) (This)->lpVtbl->GetProperty(This,Property,pvtValue)
1817#define IWebBrowser2_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
1818#define IWebBrowser2_get_HWND(This,pHWND) (This)->lpVtbl->get_HWND(This,pHWND)
1819#define IWebBrowser2_get_FullName(This,FullName) (This)->lpVtbl->get_FullName(This,FullName)
1820#define IWebBrowser2_get_Path(This,Path) (This)->lpVtbl->get_Path(This,Path)
1821#define IWebBrowser2_get_Visible(This,pBool) (This)->lpVtbl->get_Visible(This,pBool)
1822#define IWebBrowser2_put_Visible(This,Value) (This)->lpVtbl->put_Visible(This,Value)
1823#define IWebBrowser2_get_StatusBar(This,pBool) (This)->lpVtbl->get_StatusBar(This,pBool)
1824#define IWebBrowser2_put_StatusBar(This,Value) (This)->lpVtbl->put_StatusBar(This,Value)
1825#define IWebBrowser2_get_StatusText(This,StatusText) (This)->lpVtbl->get_StatusText(This,StatusText)
1826#define IWebBrowser2_put_StatusText(This,StatusText) (This)->lpVtbl->put_StatusText(This,StatusText)
1827#define IWebBrowser2_get_ToolBar(This,Value) (This)->lpVtbl->get_ToolBar(This,Value)
1828#define IWebBrowser2_put_ToolBar(This,Value) (This)->lpVtbl->put_ToolBar(This,Value)
1829#define IWebBrowser2_get_MenuBar(This,Value) (This)->lpVtbl->get_MenuBar(This,Value)
1830#define IWebBrowser2_put_MenuBar(This,Value) (This)->lpVtbl->put_MenuBar(This,Value)
1831#define IWebBrowser2_get_FullScreen(This,pbFullScreen) (This)->lpVtbl->get_FullScreen(This,pbFullScreen)
1832#define IWebBrowser2_put_FullScreen(This,bFullScreen) (This)->lpVtbl->put_FullScreen(This,bFullScreen)
1833/*** IWebBrowser2 methods ***/
1834#define IWebBrowser2_Navigate2(This,URL,Flags,TargetFrameName,PostData,Headers) (This)->lpVtbl->Navigate2(This,URL,Flags,TargetFrameName,PostData,Headers)
1835#define IWebBrowser2_QueryStatusWB(This,cmdID,pcmdf) (This)->lpVtbl->QueryStatusWB(This,cmdID,pcmdf)
1836#define IWebBrowser2_ExecWB(This,cmdID,cmdexecopt,pvaIn,pvaOut) (This)->lpVtbl->ExecWB(This,cmdID,cmdexecopt,pvaIn,pvaOut)
1837#define IWebBrowser2_ShowBrowserBar(This,pvaClsid,pvarShow,pvarSize) (This)->lpVtbl->ShowBrowserBar(This,pvaClsid,pvarShow,pvarSize)
1838#define IWebBrowser2_get_ReadyState(This,plReadyState) (This)->lpVtbl->get_ReadyState(This,plReadyState)
1839#define IWebBrowser2_get_Offline(This,pbOffline) (This)->lpVtbl->get_Offline(This,pbOffline)
1840#define IWebBrowser2_put_Offline(This,bOffline) (This)->lpVtbl->put_Offline(This,bOffline)
1841#define IWebBrowser2_get_Silent(This,pbSilent) (This)->lpVtbl->get_Silent(This,pbSilent)
1842#define IWebBrowser2_put_Silent(This,bSilent) (This)->lpVtbl->put_Silent(This,bSilent)
1843#define IWebBrowser2_get_RegisterAsBrowser(This,pbRegister) (This)->lpVtbl->get_RegisterAsBrowser(This,pbRegister)
1844#define IWebBrowser2_put_RegisterAsBrowser(This,bRegister) (This)->lpVtbl->put_RegisterAsBrowser(This,bRegister)
1845#define IWebBrowser2_get_RegisterAsDropTarget(This,pbRegister) (This)->lpVtbl->get_RegisterAsDropTarget(This,pbRegister)
1846#define IWebBrowser2_put_RegisterAsDropTarget(This,bRegister) (This)->lpVtbl->put_RegisterAsDropTarget(This,bRegister)
1847#define IWebBrowser2_get_TheaterMode(This,pbRegister) (This)->lpVtbl->get_TheaterMode(This,pbRegister)
1848#define IWebBrowser2_put_TheaterMode(This,bRegister) (This)->lpVtbl->put_TheaterMode(This,bRegister)
1849#define IWebBrowser2_get_AddressBar(This,Value) (This)->lpVtbl->get_AddressBar(This,Value)
1850#define IWebBrowser2_put_AddressBar(This,Value) (This)->lpVtbl->put_AddressBar(This,Value)
1851#define IWebBrowser2_get_Resizable(This,Value) (This)->lpVtbl->get_Resizable(This,Value)
1852#define IWebBrowser2_put_Resizable(This,Value) (This)->lpVtbl->put_Resizable(This,Value)
1853#else
1854/*** IUnknown methods ***/
1855static inline HRESULT IWebBrowser2_QueryInterface(IWebBrowser2* This,REFIID riid,void **ppvObject) {
1856    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1857}
1858static inline ULONG IWebBrowser2_AddRef(IWebBrowser2* This) {
1859    return This->lpVtbl->AddRef(This);
1860}
1861static inline ULONG IWebBrowser2_Release(IWebBrowser2* This) {
1862    return This->lpVtbl->Release(This);
1863}
1864/*** IDispatch methods ***/
1865static inline HRESULT IWebBrowser2_GetTypeInfoCount(IWebBrowser2* This,UINT *pctinfo) {
1866    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1867}
1868static inline HRESULT IWebBrowser2_GetTypeInfo(IWebBrowser2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1869    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1870}
1871static inline HRESULT IWebBrowser2_GetIDsOfNames(IWebBrowser2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1872    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1873}
1874static inline HRESULT IWebBrowser2_Invoke(IWebBrowser2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1875    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1876}
1877/*** IWebBrowser methods ***/
1878static inline HRESULT IWebBrowser2_GoBack(IWebBrowser2* This) {
1879    return This->lpVtbl->GoBack(This);
1880}
1881static inline HRESULT IWebBrowser2_GoForward(IWebBrowser2* This) {
1882    return This->lpVtbl->GoForward(This);
1883}
1884static inline HRESULT IWebBrowser2_GoHome(IWebBrowser2* This) {
1885    return This->lpVtbl->GoHome(This);
1886}
1887static inline HRESULT IWebBrowser2_GoSearch(IWebBrowser2* This) {
1888    return This->lpVtbl->GoSearch(This);
1889}
1890static inline HRESULT IWebBrowser2_Navigate(IWebBrowser2* This,BSTR URL,VARIANT *Flags,VARIANT *TargetFrameName,VARIANT *PostData,VARIANT *Headers) {
1891    return This->lpVtbl->Navigate(This,URL,Flags,TargetFrameName,PostData,Headers);
1892}
1893static inline HRESULT IWebBrowser2_Refresh(IWebBrowser2* This) {
1894    return This->lpVtbl->Refresh(This);
1895}
1896static inline HRESULT IWebBrowser2_Refresh2(IWebBrowser2* This,VARIANT *Level) {
1897    return This->lpVtbl->Refresh2(This,Level);
1898}
1899static inline HRESULT IWebBrowser2_Stop(IWebBrowser2* This) {
1900    return This->lpVtbl->Stop(This);
1901}
1902static inline HRESULT IWebBrowser2_get_Application(IWebBrowser2* This,IDispatch **ppDisp) {
1903    return This->lpVtbl->get_Application(This,ppDisp);
1904}
1905static inline HRESULT IWebBrowser2_get_Parent(IWebBrowser2* This,IDispatch **ppDisp) {
1906    return This->lpVtbl->get_Parent(This,ppDisp);
1907}
1908static inline HRESULT IWebBrowser2_get_Container(IWebBrowser2* This,IDispatch **ppDisp) {
1909    return This->lpVtbl->get_Container(This,ppDisp);
1910}
1911static inline HRESULT IWebBrowser2_get_Document(IWebBrowser2* This,IDispatch **ppDisp) {
1912    return This->lpVtbl->get_Document(This,ppDisp);
1913}
1914static inline HRESULT IWebBrowser2_get_TopLevelContainer(IWebBrowser2* This,VARIANT_BOOL *pBool) {
1915    return This->lpVtbl->get_TopLevelContainer(This,pBool);
1916}
1917static inline HRESULT IWebBrowser2_get_Type(IWebBrowser2* This,BSTR *Type) {
1918    return This->lpVtbl->get_Type(This,Type);
1919}
1920static inline HRESULT IWebBrowser2_get_Left(IWebBrowser2* This,LONG *pl) {
1921    return This->lpVtbl->get_Left(This,pl);
1922}
1923static inline HRESULT IWebBrowser2_put_Left(IWebBrowser2* This,LONG Left) {
1924    return This->lpVtbl->put_Left(This,Left);
1925}
1926static inline HRESULT IWebBrowser2_get_Top(IWebBrowser2* This,LONG *pl) {
1927    return This->lpVtbl->get_Top(This,pl);
1928}
1929static inline HRESULT IWebBrowser2_put_Top(IWebBrowser2* This,LONG Top) {
1930    return This->lpVtbl->put_Top(This,Top);
1931}
1932static inline HRESULT IWebBrowser2_get_Width(IWebBrowser2* This,LONG *pl) {
1933    return This->lpVtbl->get_Width(This,pl);
1934}
1935static inline HRESULT IWebBrowser2_put_Width(IWebBrowser2* This,LONG Width) {
1936    return This->lpVtbl->put_Width(This,Width);
1937}
1938static inline HRESULT IWebBrowser2_get_Height(IWebBrowser2* This,LONG *pl) {
1939    return This->lpVtbl->get_Height(This,pl);
1940}
1941static inline HRESULT IWebBrowser2_put_Height(IWebBrowser2* This,LONG Height) {
1942    return This->lpVtbl->put_Height(This,Height);
1943}
1944static inline HRESULT IWebBrowser2_get_LocationName(IWebBrowser2* This,BSTR *LocationName) {
1945    return This->lpVtbl->get_LocationName(This,LocationName);
1946}
1947static inline HRESULT IWebBrowser2_get_LocationURL(IWebBrowser2* This,BSTR *LocationURL) {
1948    return This->lpVtbl->get_LocationURL(This,LocationURL);
1949}
1950static inline HRESULT IWebBrowser2_get_Busy(IWebBrowser2* This,VARIANT_BOOL *pBool) {
1951    return This->lpVtbl->get_Busy(This,pBool);
1952}
1953/*** IWebBrowserApp methods ***/
1954static inline HRESULT IWebBrowser2_Quit(IWebBrowser2* This) {
1955    return This->lpVtbl->Quit(This);
1956}
1957static inline HRESULT IWebBrowser2_ClientToWindow(IWebBrowser2* This,int *pcx,int *pcy) {
1958    return This->lpVtbl->ClientToWindow(This,pcx,pcy);
1959}
1960static inline HRESULT IWebBrowser2_PutProperty(IWebBrowser2* This,BSTR Property,VARIANT vtValue) {
1961    return This->lpVtbl->PutProperty(This,Property,vtValue);
1962}
1963static inline HRESULT IWebBrowser2_GetProperty(IWebBrowser2* This,BSTR Property,VARIANT *pvtValue) {
1964    return This->lpVtbl->GetProperty(This,Property,pvtValue);
1965}
1966static inline HRESULT IWebBrowser2_get_Name(IWebBrowser2* This,BSTR *Name) {
1967    return This->lpVtbl->get_Name(This,Name);
1968}
1969static inline HRESULT IWebBrowser2_get_HWND(IWebBrowser2* This,SHANDLE_PTR *pHWND) {
1970    return This->lpVtbl->get_HWND(This,pHWND);
1971}
1972static inline HRESULT IWebBrowser2_get_FullName(IWebBrowser2* This,BSTR *FullName) {
1973    return This->lpVtbl->get_FullName(This,FullName);
1974}
1975static inline HRESULT IWebBrowser2_get_Path(IWebBrowser2* This,BSTR *Path) {
1976    return This->lpVtbl->get_Path(This,Path);
1977}
1978static inline HRESULT IWebBrowser2_get_Visible(IWebBrowser2* This,VARIANT_BOOL *pBool) {
1979    return This->lpVtbl->get_Visible(This,pBool);
1980}
1981static inline HRESULT IWebBrowser2_put_Visible(IWebBrowser2* This,VARIANT_BOOL Value) {
1982    return This->lpVtbl->put_Visible(This,Value);
1983}
1984static inline HRESULT IWebBrowser2_get_StatusBar(IWebBrowser2* This,VARIANT_BOOL *pBool) {
1985    return This->lpVtbl->get_StatusBar(This,pBool);
1986}
1987static inline HRESULT IWebBrowser2_put_StatusBar(IWebBrowser2* This,VARIANT_BOOL Value) {
1988    return This->lpVtbl->put_StatusBar(This,Value);
1989}
1990static inline HRESULT IWebBrowser2_get_StatusText(IWebBrowser2* This,BSTR *StatusText) {
1991    return This->lpVtbl->get_StatusText(This,StatusText);
1992}
1993static inline HRESULT IWebBrowser2_put_StatusText(IWebBrowser2* This,BSTR StatusText) {
1994    return This->lpVtbl->put_StatusText(This,StatusText);
1995}
1996static inline HRESULT IWebBrowser2_get_ToolBar(IWebBrowser2* This,int *Value) {
1997    return This->lpVtbl->get_ToolBar(This,Value);
1998}
1999static inline HRESULT IWebBrowser2_put_ToolBar(IWebBrowser2* This,int Value) {
2000    return This->lpVtbl->put_ToolBar(This,Value);
2001}
2002static inline HRESULT IWebBrowser2_get_MenuBar(IWebBrowser2* This,VARIANT_BOOL *Value) {
2003    return This->lpVtbl->get_MenuBar(This,Value);
2004}
2005static inline HRESULT IWebBrowser2_put_MenuBar(IWebBrowser2* This,VARIANT_BOOL Value) {
2006    return This->lpVtbl->put_MenuBar(This,Value);
2007}
2008static inline HRESULT IWebBrowser2_get_FullScreen(IWebBrowser2* This,VARIANT_BOOL *pbFullScreen) {
2009    return This->lpVtbl->get_FullScreen(This,pbFullScreen);
2010}
2011static inline HRESULT IWebBrowser2_put_FullScreen(IWebBrowser2* This,VARIANT_BOOL bFullScreen) {
2012    return This->lpVtbl->put_FullScreen(This,bFullScreen);
2013}
2014/*** IWebBrowser2 methods ***/
2015static inline HRESULT IWebBrowser2_Navigate2(IWebBrowser2* This,VARIANT *URL,VARIANT *Flags,VARIANT *TargetFrameName,VARIANT *PostData,VARIANT *Headers) {
2016    return This->lpVtbl->Navigate2(This,URL,Flags,TargetFrameName,PostData,Headers);
2017}
2018static inline HRESULT IWebBrowser2_QueryStatusWB(IWebBrowser2* This,OLECMDID cmdID,OLECMDF *pcmdf) {
2019    return This->lpVtbl->QueryStatusWB(This,cmdID,pcmdf);
2020}
2021static inline HRESULT IWebBrowser2_ExecWB(IWebBrowser2* This,OLECMDID cmdID,OLECMDEXECOPT cmdexecopt,VARIANT *pvaIn,VARIANT *pvaOut) {
2022    return This->lpVtbl->ExecWB(This,cmdID,cmdexecopt,pvaIn,pvaOut);
2023}
2024static inline HRESULT IWebBrowser2_ShowBrowserBar(IWebBrowser2* This,VARIANT *pvaClsid,VARIANT *pvarShow,VARIANT *pvarSize) {
2025    return This->lpVtbl->ShowBrowserBar(This,pvaClsid,pvarShow,pvarSize);
2026}
2027static inline HRESULT IWebBrowser2_get_ReadyState(IWebBrowser2* This,READYSTATE *plReadyState) {
2028    return This->lpVtbl->get_ReadyState(This,plReadyState);
2029}
2030static inline HRESULT IWebBrowser2_get_Offline(IWebBrowser2* This,VARIANT_BOOL *pbOffline) {
2031    return This->lpVtbl->get_Offline(This,pbOffline);
2032}
2033static inline HRESULT IWebBrowser2_put_Offline(IWebBrowser2* This,VARIANT_BOOL bOffline) {
2034    return This->lpVtbl->put_Offline(This,bOffline);
2035}
2036static inline HRESULT IWebBrowser2_get_Silent(IWebBrowser2* This,VARIANT_BOOL *pbSilent) {
2037    return This->lpVtbl->get_Silent(This,pbSilent);
2038}
2039static inline HRESULT IWebBrowser2_put_Silent(IWebBrowser2* This,VARIANT_BOOL bSilent) {
2040    return This->lpVtbl->put_Silent(This,bSilent);
2041}
2042static inline HRESULT IWebBrowser2_get_RegisterAsBrowser(IWebBrowser2* This,VARIANT_BOOL *pbRegister) {
2043    return This->lpVtbl->get_RegisterAsBrowser(This,pbRegister);
2044}
2045static inline HRESULT IWebBrowser2_put_RegisterAsBrowser(IWebBrowser2* This,VARIANT_BOOL bRegister) {
2046    return This->lpVtbl->put_RegisterAsBrowser(This,bRegister);
2047}
2048static inline HRESULT IWebBrowser2_get_RegisterAsDropTarget(IWebBrowser2* This,VARIANT_BOOL *pbRegister) {
2049    return This->lpVtbl->get_RegisterAsDropTarget(This,pbRegister);
2050}
2051static inline HRESULT IWebBrowser2_put_RegisterAsDropTarget(IWebBrowser2* This,VARIANT_BOOL bRegister) {
2052    return This->lpVtbl->put_RegisterAsDropTarget(This,bRegister);
2053}
2054static inline HRESULT IWebBrowser2_get_TheaterMode(IWebBrowser2* This,VARIANT_BOOL *pbRegister) {
2055    return This->lpVtbl->get_TheaterMode(This,pbRegister);
2056}
2057static inline HRESULT IWebBrowser2_put_TheaterMode(IWebBrowser2* This,VARIANT_BOOL bRegister) {
2058    return This->lpVtbl->put_TheaterMode(This,bRegister);
2059}
2060static inline HRESULT IWebBrowser2_get_AddressBar(IWebBrowser2* This,VARIANT_BOOL *Value) {
2061    return This->lpVtbl->get_AddressBar(This,Value);
2062}
2063static inline HRESULT IWebBrowser2_put_AddressBar(IWebBrowser2* This,VARIANT_BOOL Value) {
2064    return This->lpVtbl->put_AddressBar(This,Value);
2065}
2066static inline HRESULT IWebBrowser2_get_Resizable(IWebBrowser2* This,VARIANT_BOOL *Value) {
2067    return This->lpVtbl->get_Resizable(This,Value);
2068}
2069static inline HRESULT IWebBrowser2_put_Resizable(IWebBrowser2* This,VARIANT_BOOL Value) {
2070    return This->lpVtbl->put_Resizable(This,Value);
2071}
2072#endif
2073#endif
2074
2075#endif
2076
2077
2078#endif  /* __IWebBrowser2_INTERFACE_DEFINED__ */
2079
2080typedef enum SecureLockIconConstants {
2081    secureLockIconUnsecure = 0,
2082    secureLockIconMixed = 1,
2083    secureLockIconSecureUnknownBits = 2,
2084    secureLockIconSecure40Bit = 3,
2085    secureLockIconSecure56Bit = 4,
2086    secureLockIconSecureFortezza = 5,
2087    secureLockIconSecure128Bit = 6
2088} SecureLockIconConstants;
2089/*****************************************************************************
2090 * DWebBrowserEvents2 dispinterface
2091 */
2092#ifndef __DWebBrowserEvents2_DISPINTERFACE_DEFINED__
2093#define __DWebBrowserEvents2_DISPINTERFACE_DEFINED__
2094
2095DEFINE_GUID(DIID_DWebBrowserEvents2, 0x34a715a0, 0x6587, 0x11d0, 0x92,0x4a, 0x00,0x20,0xaf,0xc7,0xac,0x4d);
2096#if defined(__cplusplus) && !defined(CINTERFACE)
2097MIDL_INTERFACE("34a715a0-6587-11d0-924a-0020afc7ac4d")
2098DWebBrowserEvents2 : public IDispatch
2099{
2100};
2101#ifdef __CRT_UUID_DECL
2102__CRT_UUID_DECL(DWebBrowserEvents2, 0x34a715a0, 0x6587, 0x11d0, 0x92,0x4a, 0x00,0x20,0xaf,0xc7,0xac,0x4d)
2103#endif
2104#else
2105typedef struct DWebBrowserEvents2Vtbl {
2106    BEGIN_INTERFACE
2107
2108    /*** IUnknown methods ***/
2109    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2110        DWebBrowserEvents2 *This,
2111        REFIID riid,
2112        void **ppvObject);
2113
2114    ULONG (STDMETHODCALLTYPE *AddRef)(
2115        DWebBrowserEvents2 *This);
2116
2117    ULONG (STDMETHODCALLTYPE *Release)(
2118        DWebBrowserEvents2 *This);
2119
2120    /*** IDispatch methods ***/
2121    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2122        DWebBrowserEvents2 *This,
2123        UINT *pctinfo);
2124
2125    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2126        DWebBrowserEvents2 *This,
2127        UINT iTInfo,
2128        LCID lcid,
2129        ITypeInfo **ppTInfo);
2130
2131    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2132        DWebBrowserEvents2 *This,
2133        REFIID riid,
2134        LPOLESTR *rgszNames,
2135        UINT cNames,
2136        LCID lcid,
2137        DISPID *rgDispId);
2138
2139    HRESULT (STDMETHODCALLTYPE *Invoke)(
2140        DWebBrowserEvents2 *This,
2141        DISPID dispIdMember,
2142        REFIID riid,
2143        LCID lcid,
2144        WORD wFlags,
2145        DISPPARAMS *pDispParams,
2146        VARIANT *pVarResult,
2147        EXCEPINFO *pExcepInfo,
2148        UINT *puArgErr);
2149
2150    END_INTERFACE
2151} DWebBrowserEvents2Vtbl;
2152
2153interface DWebBrowserEvents2 {
2154    CONST_VTBL DWebBrowserEvents2Vtbl* lpVtbl;
2155};
2156
2157#ifdef COBJMACROS
2158#ifndef WIDL_C_INLINE_WRAPPERS
2159/*** IUnknown methods ***/
2160#define DWebBrowserEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2161#define DWebBrowserEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
2162#define DWebBrowserEvents2_Release(This) (This)->lpVtbl->Release(This)
2163/*** IDispatch methods ***/
2164#define DWebBrowserEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2165#define DWebBrowserEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2166#define DWebBrowserEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2167#define DWebBrowserEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2168#else
2169/*** IUnknown methods ***/
2170static inline HRESULT DWebBrowserEvents2_QueryInterface(DWebBrowserEvents2* This,REFIID riid,void **ppvObject) {
2171    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2172}
2173static inline ULONG DWebBrowserEvents2_AddRef(DWebBrowserEvents2* This) {
2174    return This->lpVtbl->AddRef(This);
2175}
2176static inline ULONG DWebBrowserEvents2_Release(DWebBrowserEvents2* This) {
2177    return This->lpVtbl->Release(This);
2178}
2179/*** IDispatch methods ***/
2180static inline HRESULT DWebBrowserEvents2_GetTypeInfoCount(DWebBrowserEvents2* This,UINT *pctinfo) {
2181    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2182}
2183static inline HRESULT DWebBrowserEvents2_GetTypeInfo(DWebBrowserEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2184    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2185}
2186static inline HRESULT DWebBrowserEvents2_GetIDsOfNames(DWebBrowserEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2187    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2188}
2189static inline HRESULT DWebBrowserEvents2_Invoke(DWebBrowserEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2190    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2191}
2192#endif
2193#endif
2194
2195#endif
2196
2197#endif  /* __DWebBrowserEvents2_DISPINTERFACE_DEFINED__ */
2198
2199/*****************************************************************************
2200 * WebBrowser_V1 coclass
2201 */
2202
2203DEFINE_GUID(CLSID_WebBrowser_V1, 0xeab22ac3, 0x30c1, 0x11cf, 0xa7,0xeb, 0x00,0x00,0xc0,0x5b,0xae,0x0b);
2204
2205#ifdef __cplusplus
2206class DECLSPEC_UUID("eab22ac3-30c1-11cf-a7eb-0000c05bae0b") WebBrowser_V1;
2207#ifdef __CRT_UUID_DECL
2208__CRT_UUID_DECL(WebBrowser_V1, 0xeab22ac3, 0x30c1, 0x11cf, 0xa7,0xeb, 0x00,0x00,0xc0,0x5b,0xae,0x0b)
2209#endif
2210#endif
2211
2212/*****************************************************************************
2213 * WebBrowser coclass
2214 */
2215
2216DEFINE_GUID(CLSID_WebBrowser, 0x8856f961, 0x340a, 0x11d0, 0xa9,0x6b, 0x00,0xc0,0x4f,0xd7,0x05,0xa2);
2217
2218#ifdef __cplusplus
2219class DECLSPEC_UUID("8856f961-340a-11d0-a96b-00c04fd705a2") WebBrowser;
2220#ifdef __CRT_UUID_DECL
2221__CRT_UUID_DECL(WebBrowser, 0x8856f961, 0x340a, 0x11d0, 0xa9,0x6b, 0x00,0xc0,0x4f,0xd7,0x05,0xa2)
2222#endif
2223#endif
2224
2225/*****************************************************************************
2226 * InternetExplorer coclass
2227 */
2228
2229DEFINE_GUID(CLSID_InternetExplorer, 0x0002df01, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
2230
2231#ifdef __cplusplus
2232class DECLSPEC_UUID("0002df01-0000-0000-c000-000000000046") InternetExplorer;
2233#ifdef __CRT_UUID_DECL
2234__CRT_UUID_DECL(InternetExplorer, 0x0002df01, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
2235#endif
2236#endif
2237
2238/*****************************************************************************
2239 * ShellBrowserWindow coclass
2240 */
2241
2242DEFINE_GUID(CLSID_ShellBrowserWindow, 0xc08afd90, 0xf2a1, 0x11d1, 0x84,0x55, 0x00,0xa0,0xc9,0x1f,0x38,0x80);
2243
2244#ifdef __cplusplus
2245class DECLSPEC_UUID("c08afd90-f2a1-11d1-8455-00a0c91f3880") ShellBrowserWindow;
2246#ifdef __CRT_UUID_DECL
2247__CRT_UUID_DECL(ShellBrowserWindow, 0xc08afd90, 0xf2a1, 0x11d1, 0x84,0x55, 0x00,0xa0,0xc9,0x1f,0x38,0x80)
2248#endif
2249#endif
2250
2251typedef enum ShellWindowTypeConstants {
2252    SWC_EXPLORER = 0,
2253    SWC_BROWSER = 1,
2254    SWC_3RDPARTY = 2,
2255    SWC_CALLBACK = 4,
2256    SWC_DESKTOP = 8
2257} ShellWindowTypeConstants;
2258typedef enum ShellWindowFindWindowOptions {
2259    SWFO_NEEDDISPATCH = 1,
2260    SWFO_INCLUDEPENDING = 2,
2261    SWFO_COOKIEPASSED = 4
2262} ShellWindowFindWindowOptions;
2263/*****************************************************************************
2264 * DShellWindowsEvents dispinterface
2265 */
2266#ifndef __DShellWindowsEvents_DISPINTERFACE_DEFINED__
2267#define __DShellWindowsEvents_DISPINTERFACE_DEFINED__
2268
2269DEFINE_GUID(DIID_DShellWindowsEvents, 0xfe4106e0, 0x399a, 0x11d0, 0xa4,0x8c, 0x00,0xa0,0xc9,0x0a,0x8f,0x39);
2270#if defined(__cplusplus) && !defined(CINTERFACE)
2271MIDL_INTERFACE("fe4106e0-399a-11d0-a48c-00a0c90a8f39")
2272DShellWindowsEvents : public IDispatch
2273{
2274};
2275#ifdef __CRT_UUID_DECL
2276__CRT_UUID_DECL(DShellWindowsEvents, 0xfe4106e0, 0x399a, 0x11d0, 0xa4,0x8c, 0x00,0xa0,0xc9,0x0a,0x8f,0x39)
2277#endif
2278#else
2279typedef struct DShellWindowsEventsVtbl {
2280    BEGIN_INTERFACE
2281
2282    /*** IUnknown methods ***/
2283    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2284        DShellWindowsEvents *This,
2285        REFIID riid,
2286        void **ppvObject);
2287
2288    ULONG (STDMETHODCALLTYPE *AddRef)(
2289        DShellWindowsEvents *This);
2290
2291    ULONG (STDMETHODCALLTYPE *Release)(
2292        DShellWindowsEvents *This);
2293
2294    /*** IDispatch methods ***/
2295    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2296        DShellWindowsEvents *This,
2297        UINT *pctinfo);
2298
2299    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2300        DShellWindowsEvents *This,
2301        UINT iTInfo,
2302        LCID lcid,
2303        ITypeInfo **ppTInfo);
2304
2305    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2306        DShellWindowsEvents *This,
2307        REFIID riid,
2308        LPOLESTR *rgszNames,
2309        UINT cNames,
2310        LCID lcid,
2311        DISPID *rgDispId);
2312
2313    HRESULT (STDMETHODCALLTYPE *Invoke)(
2314        DShellWindowsEvents *This,
2315        DISPID dispIdMember,
2316        REFIID riid,
2317        LCID lcid,
2318        WORD wFlags,
2319        DISPPARAMS *pDispParams,
2320        VARIANT *pVarResult,
2321        EXCEPINFO *pExcepInfo,
2322        UINT *puArgErr);
2323
2324    END_INTERFACE
2325} DShellWindowsEventsVtbl;
2326
2327interface DShellWindowsEvents {
2328    CONST_VTBL DShellWindowsEventsVtbl* lpVtbl;
2329};
2330
2331#ifdef COBJMACROS
2332#ifndef WIDL_C_INLINE_WRAPPERS
2333/*** IUnknown methods ***/
2334#define DShellWindowsEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2335#define DShellWindowsEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
2336#define DShellWindowsEvents_Release(This) (This)->lpVtbl->Release(This)
2337/*** IDispatch methods ***/
2338#define DShellWindowsEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2339#define DShellWindowsEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2340#define DShellWindowsEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2341#define DShellWindowsEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2342#else
2343/*** IUnknown methods ***/
2344static inline HRESULT DShellWindowsEvents_QueryInterface(DShellWindowsEvents* This,REFIID riid,void **ppvObject) {
2345    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2346}
2347static inline ULONG DShellWindowsEvents_AddRef(DShellWindowsEvents* This) {
2348    return This->lpVtbl->AddRef(This);
2349}
2350static inline ULONG DShellWindowsEvents_Release(DShellWindowsEvents* This) {
2351    return This->lpVtbl->Release(This);
2352}
2353/*** IDispatch methods ***/
2354static inline HRESULT DShellWindowsEvents_GetTypeInfoCount(DShellWindowsEvents* This,UINT *pctinfo) {
2355    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2356}
2357static inline HRESULT DShellWindowsEvents_GetTypeInfo(DShellWindowsEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2358    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2359}
2360static inline HRESULT DShellWindowsEvents_GetIDsOfNames(DShellWindowsEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2361    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2362}
2363static inline HRESULT DShellWindowsEvents_Invoke(DShellWindowsEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2364    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2365}
2366#endif
2367#endif
2368
2369#endif
2370
2371#endif  /* __DShellWindowsEvents_DISPINTERFACE_DEFINED__ */
2372
2373/*****************************************************************************
2374 * IShellWindows interface
2375 */
2376#ifndef __IShellWindows_INTERFACE_DEFINED__
2377#define __IShellWindows_INTERFACE_DEFINED__
2378
2379DEFINE_GUID(IID_IShellWindows, 0x85cb6900, 0x4d95, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85);
2380#if defined(__cplusplus) && !defined(CINTERFACE)
2381MIDL_INTERFACE("85cb6900-4d95-11cf-960c-0080c7f4ee85")
2382IShellWindows : public IDispatch
2383{
2384    virtual HRESULT STDMETHODCALLTYPE get_Count(
2385        LONG *Count) = 0;
2386
2387    virtual HRESULT STDMETHODCALLTYPE Item(
2388        VARIANT index,
2389        IDispatch **Folder) = 0;
2390
2391    virtual HRESULT STDMETHODCALLTYPE _NewEnum(
2392        IUnknown **ppunk) = 0;
2393
2394    virtual HRESULT STDMETHODCALLTYPE Register(
2395        IDispatch *pid,
2396        LONG hWnd,
2397        int swClass,
2398        LONG *plCookie) = 0;
2399
2400    virtual HRESULT STDMETHODCALLTYPE RegisterPending(
2401        LONG lThreadId,
2402        VARIANT *pvarloc,
2403        VARIANT *pvarlocRoot,
2404        int swClass,
2405        LONG *plCookie) = 0;
2406
2407    virtual HRESULT STDMETHODCALLTYPE Revoke(
2408        LONG lCookie) = 0;
2409
2410    virtual HRESULT STDMETHODCALLTYPE OnNavigate(
2411        LONG lCookie,
2412        VARIANT *pvarLoc) = 0;
2413
2414    virtual HRESULT STDMETHODCALLTYPE OnActivated(
2415        LONG lCookie,
2416        VARIANT_BOOL fActive) = 0;
2417
2418    virtual HRESULT STDMETHODCALLTYPE FindWindowSW(
2419        VARIANT *pvarLoc,
2420        VARIANT *pvarLocRoot,
2421        int swClass,
2422        LONG *phwnd,
2423        int swfwOptions,
2424        IDispatch **ppdispOut) = 0;
2425
2426    virtual HRESULT STDMETHODCALLTYPE OnCreated(
2427        LONG lCookie,
2428        IUnknown *punk) = 0;
2429
2430    virtual HRESULT STDMETHODCALLTYPE ProcessAttachDetach(
2431        VARIANT_BOOL fAttach) = 0;
2432
2433};
2434#ifdef __CRT_UUID_DECL
2435__CRT_UUID_DECL(IShellWindows, 0x85cb6900, 0x4d95, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85)
2436#endif
2437#else
2438typedef struct IShellWindowsVtbl {
2439    BEGIN_INTERFACE
2440
2441    /*** IUnknown methods ***/
2442    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2443        IShellWindows *This,
2444        REFIID riid,
2445        void **ppvObject);
2446
2447    ULONG (STDMETHODCALLTYPE *AddRef)(
2448        IShellWindows *This);
2449
2450    ULONG (STDMETHODCALLTYPE *Release)(
2451        IShellWindows *This);
2452
2453    /*** IDispatch methods ***/
2454    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2455        IShellWindows *This,
2456        UINT *pctinfo);
2457
2458    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2459        IShellWindows *This,
2460        UINT iTInfo,
2461        LCID lcid,
2462        ITypeInfo **ppTInfo);
2463
2464    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2465        IShellWindows *This,
2466        REFIID riid,
2467        LPOLESTR *rgszNames,
2468        UINT cNames,
2469        LCID lcid,
2470        DISPID *rgDispId);
2471
2472    HRESULT (STDMETHODCALLTYPE *Invoke)(
2473        IShellWindows *This,
2474        DISPID dispIdMember,
2475        REFIID riid,
2476        LCID lcid,
2477        WORD wFlags,
2478        DISPPARAMS *pDispParams,
2479        VARIANT *pVarResult,
2480        EXCEPINFO *pExcepInfo,
2481        UINT *puArgErr);
2482
2483    /*** IShellWindows methods ***/
2484    HRESULT (STDMETHODCALLTYPE *get_Count)(
2485        IShellWindows *This,
2486        LONG *Count);
2487
2488    HRESULT (STDMETHODCALLTYPE *Item)(
2489        IShellWindows *This,
2490        VARIANT index,
2491        IDispatch **Folder);
2492
2493    HRESULT (STDMETHODCALLTYPE *_NewEnum)(
2494        IShellWindows *This,
2495        IUnknown **ppunk);
2496
2497    HRESULT (STDMETHODCALLTYPE *Register)(
2498        IShellWindows *This,
2499        IDispatch *pid,
2500        LONG hWnd,
2501        int swClass,
2502        LONG *plCookie);
2503
2504    HRESULT (STDMETHODCALLTYPE *RegisterPending)(
2505        IShellWindows *This,
2506        LONG lThreadId,
2507        VARIANT *pvarloc,
2508        VARIANT *pvarlocRoot,
2509        int swClass,
2510        LONG *plCookie);
2511
2512    HRESULT (STDMETHODCALLTYPE *Revoke)(
2513        IShellWindows *This,
2514        LONG lCookie);
2515
2516    HRESULT (STDMETHODCALLTYPE *OnNavigate)(
2517        IShellWindows *This,
2518        LONG lCookie,
2519        VARIANT *pvarLoc);
2520
2521    HRESULT (STDMETHODCALLTYPE *OnActivated)(
2522        IShellWindows *This,
2523        LONG lCookie,
2524        VARIANT_BOOL fActive);
2525
2526    HRESULT (STDMETHODCALLTYPE *FindWindowSW)(
2527        IShellWindows *This,
2528        VARIANT *pvarLoc,
2529        VARIANT *pvarLocRoot,
2530        int swClass,
2531        LONG *phwnd,
2532        int swfwOptions,
2533        IDispatch **ppdispOut);
2534
2535    HRESULT (STDMETHODCALLTYPE *OnCreated)(
2536        IShellWindows *This,
2537        LONG lCookie,
2538        IUnknown *punk);
2539
2540    HRESULT (STDMETHODCALLTYPE *ProcessAttachDetach)(
2541        IShellWindows *This,
2542        VARIANT_BOOL fAttach);
2543
2544    END_INTERFACE
2545} IShellWindowsVtbl;
2546
2547interface IShellWindows {
2548    CONST_VTBL IShellWindowsVtbl* lpVtbl;
2549};
2550
2551#ifdef COBJMACROS
2552#ifndef WIDL_C_INLINE_WRAPPERS
2553/*** IUnknown methods ***/
2554#define IShellWindows_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2555#define IShellWindows_AddRef(This) (This)->lpVtbl->AddRef(This)
2556#define IShellWindows_Release(This) (This)->lpVtbl->Release(This)
2557/*** IDispatch methods ***/
2558#define IShellWindows_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2559#define IShellWindows_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2560#define IShellWindows_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2561#define IShellWindows_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2562/*** IShellWindows methods ***/
2563#define IShellWindows_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
2564#define IShellWindows_Item(This,index,Folder) (This)->lpVtbl->Item(This,index,Folder)
2565#define IShellWindows__NewEnum(This,ppunk) (This)->lpVtbl->_NewEnum(This,ppunk)
2566#define IShellWindows_Register(This,pid,hWnd,swClass,plCookie) (This)->lpVtbl->Register(This,pid,hWnd,swClass,plCookie)
2567#define IShellWindows_RegisterPending(This,lThreadId,pvarloc,pvarlocRoot,swClass,plCookie) (This)->lpVtbl->RegisterPending(This,lThreadId,pvarloc,pvarlocRoot,swClass,plCookie)
2568#define IShellWindows_Revoke(This,lCookie) (This)->lpVtbl->Revoke(This,lCookie)
2569#define IShellWindows_OnNavigate(This,lCookie,pvarLoc) (This)->lpVtbl->OnNavigate(This,lCookie,pvarLoc)
2570#define IShellWindows_OnActivated(This,lCookie,fActive) (This)->lpVtbl->OnActivated(This,lCookie,fActive)
2571#define IShellWindows_FindWindowSW(This,pvarLoc,pvarLocRoot,swClass,phwnd,swfwOptions,ppdispOut) (This)->lpVtbl->FindWindowSW(This,pvarLoc,pvarLocRoot,swClass,phwnd,swfwOptions,ppdispOut)
2572#define IShellWindows_OnCreated(This,lCookie,punk) (This)->lpVtbl->OnCreated(This,lCookie,punk)
2573#define IShellWindows_ProcessAttachDetach(This,fAttach) (This)->lpVtbl->ProcessAttachDetach(This,fAttach)
2574#else
2575/*** IUnknown methods ***/
2576static inline HRESULT IShellWindows_QueryInterface(IShellWindows* This,REFIID riid,void **ppvObject) {
2577    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2578}
2579static inline ULONG IShellWindows_AddRef(IShellWindows* This) {
2580    return This->lpVtbl->AddRef(This);
2581}
2582static inline ULONG IShellWindows_Release(IShellWindows* This) {
2583    return This->lpVtbl->Release(This);
2584}
2585/*** IDispatch methods ***/
2586static inline HRESULT IShellWindows_GetTypeInfoCount(IShellWindows* This,UINT *pctinfo) {
2587    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2588}
2589static inline HRESULT IShellWindows_GetTypeInfo(IShellWindows* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2590    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2591}
2592static inline HRESULT IShellWindows_GetIDsOfNames(IShellWindows* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2593    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2594}
2595static inline HRESULT IShellWindows_Invoke(IShellWindows* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2596    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2597}
2598/*** IShellWindows methods ***/
2599static inline HRESULT IShellWindows_get_Count(IShellWindows* This,LONG *Count) {
2600    return This->lpVtbl->get_Count(This,Count);
2601}
2602static inline HRESULT IShellWindows_Item(IShellWindows* This,VARIANT index,IDispatch **Folder) {
2603    return This->lpVtbl->Item(This,index,Folder);
2604}
2605static inline HRESULT IShellWindows__NewEnum(IShellWindows* This,IUnknown **ppunk) {
2606    return This->lpVtbl->_NewEnum(This,ppunk);
2607}
2608static inline HRESULT IShellWindows_Register(IShellWindows* This,IDispatch *pid,LONG hWnd,int swClass,LONG *plCookie) {
2609    return This->lpVtbl->Register(This,pid,hWnd,swClass,plCookie);
2610}
2611static inline HRESULT IShellWindows_RegisterPending(IShellWindows* This,LONG lThreadId,VARIANT *pvarloc,VARIANT *pvarlocRoot,int swClass,LONG *plCookie) {
2612    return This->lpVtbl->RegisterPending(This,lThreadId,pvarloc,pvarlocRoot,swClass,plCookie);
2613}
2614static inline HRESULT IShellWindows_Revoke(IShellWindows* This,LONG lCookie) {
2615    return This->lpVtbl->Revoke(This,lCookie);
2616}
2617static inline HRESULT IShellWindows_OnNavigate(IShellWindows* This,LONG lCookie,VARIANT *pvarLoc) {
2618    return This->lpVtbl->OnNavigate(This,lCookie,pvarLoc);
2619}
2620static inline HRESULT IShellWindows_OnActivated(IShellWindows* This,LONG lCookie,VARIANT_BOOL fActive) {
2621    return This->lpVtbl->OnActivated(This,lCookie,fActive);
2622}
2623static inline HRESULT IShellWindows_FindWindowSW(IShellWindows* This,VARIANT *pvarLoc,VARIANT *pvarLocRoot,int swClass,LONG *phwnd,int swfwOptions,IDispatch **ppdispOut) {
2624    return This->lpVtbl->FindWindowSW(This,pvarLoc,pvarLocRoot,swClass,phwnd,swfwOptions,ppdispOut);
2625}
2626static inline HRESULT IShellWindows_OnCreated(IShellWindows* This,LONG lCookie,IUnknown *punk) {
2627    return This->lpVtbl->OnCreated(This,lCookie,punk);
2628}
2629static inline HRESULT IShellWindows_ProcessAttachDetach(IShellWindows* This,VARIANT_BOOL fAttach) {
2630    return This->lpVtbl->ProcessAttachDetach(This,fAttach);
2631}
2632#endif
2633#endif
2634
2635#endif
2636
2637
2638#endif  /* __IShellWindows_INTERFACE_DEFINED__ */
2639
2640/*****************************************************************************
2641 * ShellWindows coclass
2642 */
2643
2644DEFINE_GUID(CLSID_ShellWindows, 0x9ba05972, 0xf6a8, 0x11cf, 0xa4,0x42, 0x00,0xa0,0xc9,0x0a,0x8f,0x39);
2645
2646#ifdef __cplusplus
2647class DECLSPEC_UUID("9ba05972-f6a8-11cf-a442-00a0c90a8f39") ShellWindows;
2648#ifdef __CRT_UUID_DECL
2649__CRT_UUID_DECL(ShellWindows, 0x9ba05972, 0xf6a8, 0x11cf, 0xa4,0x42, 0x00,0xa0,0xc9,0x0a,0x8f,0x39)
2650#endif
2651#endif
2652
2653/*****************************************************************************
2654 * IShellUIHelper interface
2655 */
2656#ifndef __IShellUIHelper_INTERFACE_DEFINED__
2657#define __IShellUIHelper_INTERFACE_DEFINED__
2658
2659DEFINE_GUID(IID_IShellUIHelper, 0x729fe2f8, 0x1ea8, 0x11d1, 0x8f,0x85, 0x00,0xc0,0x4f,0xc2,0xfb,0xe1);
2660#if defined(__cplusplus) && !defined(CINTERFACE)
2661MIDL_INTERFACE("729fe2f8-1ea8-11d1-8f85-00c04fc2fbe1")
2662IShellUIHelper : public IDispatch
2663{
2664    virtual HRESULT STDMETHODCALLTYPE ResetFirstBootMode(
2665        ) = 0;
2666
2667    virtual HRESULT STDMETHODCALLTYPE ResetSafeMode(
2668        ) = 0;
2669
2670    virtual HRESULT STDMETHODCALLTYPE RefreshOfflineDesktop(
2671        ) = 0;
2672
2673    virtual HRESULT STDMETHODCALLTYPE AddFavorite(
2674        BSTR URL,
2675        VARIANT *Title) = 0;
2676
2677    virtual HRESULT STDMETHODCALLTYPE AddChannel(
2678        BSTR URL) = 0;
2679
2680    virtual HRESULT STDMETHODCALLTYPE AddDesktopComponent(
2681        BSTR URL,
2682        BSTR Type,
2683        VARIANT *Left,
2684        VARIANT *Top,
2685        VARIANT *Width,
2686        VARIANT *Height) = 0;
2687
2688    virtual HRESULT STDMETHODCALLTYPE IsSubscribed(
2689        BSTR URL,
2690        VARIANT_BOOL *pBool) = 0;
2691
2692    virtual HRESULT STDMETHODCALLTYPE NavigateAndFind(
2693        BSTR URL,
2694        BSTR strQuery,
2695        VARIANT *varTargetFrame) = 0;
2696
2697    virtual HRESULT STDMETHODCALLTYPE ImportExportFavorites(
2698        VARIANT_BOOL fImport,
2699        BSTR strImpExpPath) = 0;
2700
2701    virtual HRESULT STDMETHODCALLTYPE AutoCompleteSaveForm(
2702        VARIANT *Form) = 0;
2703
2704    virtual HRESULT STDMETHODCALLTYPE AutoScan(
2705        BSTR strSearch,
2706        BSTR strFailureUrl,
2707        VARIANT *pvarTargetFrame) = 0;
2708
2709    virtual HRESULT STDMETHODCALLTYPE AutoCompleteAttach(
2710        VARIANT *Reserved) = 0;
2711
2712    virtual HRESULT STDMETHODCALLTYPE ShowBrowserUI(
2713        BSTR bstrName,
2714        VARIANT *pvarIn,
2715        VARIANT *pvarOut) = 0;
2716
2717};
2718#ifdef __CRT_UUID_DECL
2719__CRT_UUID_DECL(IShellUIHelper, 0x729fe2f8, 0x1ea8, 0x11d1, 0x8f,0x85, 0x00,0xc0,0x4f,0xc2,0xfb,0xe1)
2720#endif
2721#else
2722typedef struct IShellUIHelperVtbl {
2723    BEGIN_INTERFACE
2724
2725    /*** IUnknown methods ***/
2726    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2727        IShellUIHelper *This,
2728        REFIID riid,
2729        void **ppvObject);
2730
2731    ULONG (STDMETHODCALLTYPE *AddRef)(
2732        IShellUIHelper *This);
2733
2734    ULONG (STDMETHODCALLTYPE *Release)(
2735        IShellUIHelper *This);
2736
2737    /*** IDispatch methods ***/
2738    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2739        IShellUIHelper *This,
2740        UINT *pctinfo);
2741
2742    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2743        IShellUIHelper *This,
2744        UINT iTInfo,
2745        LCID lcid,
2746        ITypeInfo **ppTInfo);
2747
2748    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2749        IShellUIHelper *This,
2750        REFIID riid,
2751        LPOLESTR *rgszNames,
2752        UINT cNames,
2753        LCID lcid,
2754        DISPID *rgDispId);
2755
2756    HRESULT (STDMETHODCALLTYPE *Invoke)(
2757        IShellUIHelper *This,
2758        DISPID dispIdMember,
2759        REFIID riid,
2760        LCID lcid,
2761        WORD wFlags,
2762        DISPPARAMS *pDispParams,
2763        VARIANT *pVarResult,
2764        EXCEPINFO *pExcepInfo,
2765        UINT *puArgErr);
2766
2767    /*** IShellUIHelper methods ***/
2768    HRESULT (STDMETHODCALLTYPE *ResetFirstBootMode)(
2769        IShellUIHelper *This);
2770
2771    HRESULT (STDMETHODCALLTYPE *ResetSafeMode)(
2772        IShellUIHelper *This);
2773
2774    HRESULT (STDMETHODCALLTYPE *RefreshOfflineDesktop)(
2775        IShellUIHelper *This);
2776
2777    HRESULT (STDMETHODCALLTYPE *AddFavorite)(
2778        IShellUIHelper *This,
2779        BSTR URL,
2780        VARIANT *Title);
2781
2782    HRESULT (STDMETHODCALLTYPE *AddChannel)(
2783        IShellUIHelper *This,
2784        BSTR URL);
2785
2786    HRESULT (STDMETHODCALLTYPE *AddDesktopComponent)(
2787        IShellUIHelper *This,
2788        BSTR URL,
2789        BSTR Type,
2790        VARIANT *Left,
2791        VARIANT *Top,
2792        VARIANT *Width,
2793        VARIANT *Height);
2794
2795    HRESULT (STDMETHODCALLTYPE *IsSubscribed)(
2796        IShellUIHelper *This,
2797        BSTR URL,
2798        VARIANT_BOOL *pBool);
2799
2800    HRESULT (STDMETHODCALLTYPE *NavigateAndFind)(
2801        IShellUIHelper *This,
2802        BSTR URL,
2803        BSTR strQuery,
2804        VARIANT *varTargetFrame);
2805
2806    HRESULT (STDMETHODCALLTYPE *ImportExportFavorites)(
2807        IShellUIHelper *This,
2808        VARIANT_BOOL fImport,
2809        BSTR strImpExpPath);
2810
2811    HRESULT (STDMETHODCALLTYPE *AutoCompleteSaveForm)(
2812        IShellUIHelper *This,
2813        VARIANT *Form);
2814
2815    HRESULT (STDMETHODCALLTYPE *AutoScan)(
2816        IShellUIHelper *This,
2817        BSTR strSearch,
2818        BSTR strFailureUrl,
2819        VARIANT *pvarTargetFrame);
2820
2821    HRESULT (STDMETHODCALLTYPE *AutoCompleteAttach)(
2822        IShellUIHelper *This,
2823        VARIANT *Reserved);
2824
2825    HRESULT (STDMETHODCALLTYPE *ShowBrowserUI)(
2826        IShellUIHelper *This,
2827        BSTR bstrName,
2828        VARIANT *pvarIn,
2829        VARIANT *pvarOut);
2830
2831    END_INTERFACE
2832} IShellUIHelperVtbl;
2833
2834interface IShellUIHelper {
2835    CONST_VTBL IShellUIHelperVtbl* lpVtbl;
2836};
2837
2838#ifdef COBJMACROS
2839#ifndef WIDL_C_INLINE_WRAPPERS
2840/*** IUnknown methods ***/
2841#define IShellUIHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2842#define IShellUIHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
2843#define IShellUIHelper_Release(This) (This)->lpVtbl->Release(This)
2844/*** IDispatch methods ***/
2845#define IShellUIHelper_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2846#define IShellUIHelper_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2847#define IShellUIHelper_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2848#define IShellUIHelper_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2849/*** IShellUIHelper methods ***/
2850#define IShellUIHelper_ResetFirstBootMode(This) (This)->lpVtbl->ResetFirstBootMode(This)
2851#define IShellUIHelper_ResetSafeMode(This) (This)->lpVtbl->ResetSafeMode(This)
2852#define IShellUIHelper_RefreshOfflineDesktop(This) (This)->lpVtbl->RefreshOfflineDesktop(This)
2853#define IShellUIHelper_AddFavorite(This,URL,Title) (This)->lpVtbl->AddFavorite(This,URL,Title)
2854#define IShellUIHelper_AddChannel(This,URL) (This)->lpVtbl->AddChannel(This,URL)
2855#define IShellUIHelper_AddDesktopComponent(This,URL,Type,Left,Top,Width,Height) (This)->lpVtbl->AddDesktopComponent(This,URL,Type,Left,Top,Width,Height)
2856#define IShellUIHelper_IsSubscribed(This,URL,pBool) (This)->lpVtbl->IsSubscribed(This,URL,pBool)
2857#define IShellUIHelper_NavigateAndFind(This,URL,strQuery,varTargetFrame) (This)->lpVtbl->NavigateAndFind(This,URL,strQuery,varTargetFrame)
2858#define IShellUIHelper_ImportExportFavorites(This,fImport,strImpExpPath) (This)->lpVtbl->ImportExportFavorites(This,fImport,strImpExpPath)
2859#define IShellUIHelper_AutoCompleteSaveForm(This,Form) (This)->lpVtbl->AutoCompleteSaveForm(This,Form)
2860#define IShellUIHelper_AutoScan(This,strSearch,strFailureUrl,pvarTargetFrame) (This)->lpVtbl->AutoScan(This,strSearch,strFailureUrl,pvarTargetFrame)
2861#define IShellUIHelper_AutoCompleteAttach(This,Reserved) (This)->lpVtbl->AutoCompleteAttach(This,Reserved)
2862#define IShellUIHelper_ShowBrowserUI(This,bstrName,pvarIn,pvarOut) (This)->lpVtbl->ShowBrowserUI(This,bstrName,pvarIn,pvarOut)
2863#else
2864/*** IUnknown methods ***/
2865static inline HRESULT IShellUIHelper_QueryInterface(IShellUIHelper* This,REFIID riid,void **ppvObject) {
2866    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2867}
2868static inline ULONG IShellUIHelper_AddRef(IShellUIHelper* This) {
2869    return This->lpVtbl->AddRef(This);
2870}
2871static inline ULONG IShellUIHelper_Release(IShellUIHelper* This) {
2872    return This->lpVtbl->Release(This);
2873}
2874/*** IDispatch methods ***/
2875static inline HRESULT IShellUIHelper_GetTypeInfoCount(IShellUIHelper* This,UINT *pctinfo) {
2876    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2877}
2878static inline HRESULT IShellUIHelper_GetTypeInfo(IShellUIHelper* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2879    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2880}
2881static inline HRESULT IShellUIHelper_GetIDsOfNames(IShellUIHelper* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2882    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2883}
2884static inline HRESULT IShellUIHelper_Invoke(IShellUIHelper* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2885    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2886}
2887/*** IShellUIHelper methods ***/
2888static inline HRESULT IShellUIHelper_ResetFirstBootMode(IShellUIHelper* This) {
2889    return This->lpVtbl->ResetFirstBootMode(This);
2890}
2891static inline HRESULT IShellUIHelper_ResetSafeMode(IShellUIHelper* This) {
2892    return This->lpVtbl->ResetSafeMode(This);
2893}
2894static inline HRESULT IShellUIHelper_RefreshOfflineDesktop(IShellUIHelper* This) {
2895    return This->lpVtbl->RefreshOfflineDesktop(This);
2896}
2897static inline HRESULT IShellUIHelper_AddFavorite(IShellUIHelper* This,BSTR URL,VARIANT *Title) {
2898    return This->lpVtbl->AddFavorite(This,URL,Title);
2899}
2900static inline HRESULT IShellUIHelper_AddChannel(IShellUIHelper* This,BSTR URL) {
2901    return This->lpVtbl->AddChannel(This,URL);
2902}
2903static inline HRESULT IShellUIHelper_AddDesktopComponent(IShellUIHelper* This,BSTR URL,BSTR Type,VARIANT *Left,VARIANT *Top,VARIANT *Width,VARIANT *Height) {
2904    return This->lpVtbl->AddDesktopComponent(This,URL,Type,Left,Top,Width,Height);
2905}
2906static inline HRESULT IShellUIHelper_IsSubscribed(IShellUIHelper* This,BSTR URL,VARIANT_BOOL *pBool) {
2907    return This->lpVtbl->IsSubscribed(This,URL,pBool);
2908}
2909static inline HRESULT IShellUIHelper_NavigateAndFind(IShellUIHelper* This,BSTR URL,BSTR strQuery,VARIANT *varTargetFrame) {
2910    return This->lpVtbl->NavigateAndFind(This,URL,strQuery,varTargetFrame);
2911}
2912static inline HRESULT IShellUIHelper_ImportExportFavorites(IShellUIHelper* This,VARIANT_BOOL fImport,BSTR strImpExpPath) {
2913    return This->lpVtbl->ImportExportFavorites(This,fImport,strImpExpPath);
2914}
2915static inline HRESULT IShellUIHelper_AutoCompleteSaveForm(IShellUIHelper* This,VARIANT *Form) {
2916    return This->lpVtbl->AutoCompleteSaveForm(This,Form);
2917}
2918static inline HRESULT IShellUIHelper_AutoScan(IShellUIHelper* This,BSTR strSearch,BSTR strFailureUrl,VARIANT *pvarTargetFrame) {
2919    return This->lpVtbl->AutoScan(This,strSearch,strFailureUrl,pvarTargetFrame);
2920}
2921static inline HRESULT IShellUIHelper_AutoCompleteAttach(IShellUIHelper* This,VARIANT *Reserved) {
2922    return This->lpVtbl->AutoCompleteAttach(This,Reserved);
2923}
2924static inline HRESULT IShellUIHelper_ShowBrowserUI(IShellUIHelper* This,BSTR bstrName,VARIANT *pvarIn,VARIANT *pvarOut) {
2925    return This->lpVtbl->ShowBrowserUI(This,bstrName,pvarIn,pvarOut);
2926}
2927#endif
2928#endif
2929
2930#endif
2931
2932
2933#endif  /* __IShellUIHelper_INTERFACE_DEFINED__ */
2934
2935/*****************************************************************************
2936 * IShellUIHelper2 interface
2937 */
2938#ifndef __IShellUIHelper2_INTERFACE_DEFINED__
2939#define __IShellUIHelper2_INTERFACE_DEFINED__
2940
2941DEFINE_GUID(IID_IShellUIHelper2, 0xa7fe6eda, 0x1932, 0x4281, 0xb8,0x81, 0x87,0xb3,0x1b,0x8b,0xc5,0x2c);
2942#if defined(__cplusplus) && !defined(CINTERFACE)
2943MIDL_INTERFACE("a7fe6eda-1932-4281-b881-87b31b8bc52c")
2944IShellUIHelper2 : public IShellUIHelper
2945{
2946    virtual HRESULT STDMETHODCALLTYPE AddSearchProvider(
2947        BSTR URL) = 0;
2948
2949    virtual HRESULT STDMETHODCALLTYPE RunOnceShown(
2950        ) = 0;
2951
2952    virtual HRESULT STDMETHODCALLTYPE SkipRunOnce(
2953        ) = 0;
2954
2955    virtual HRESULT STDMETHODCALLTYPE CustomizeSettings(
2956        VARIANT_BOOL fSQM,
2957        VARIANT_BOOL fPhishing,
2958        BSTR bstrLocale) = 0;
2959
2960    virtual HRESULT STDMETHODCALLTYPE SqmEnabled(
2961        VARIANT_BOOL *pfEnabled) = 0;
2962
2963    virtual HRESULT STDMETHODCALLTYPE PhishingEnabled(
2964        VARIANT_BOOL *pfEnabled) = 0;
2965
2966    virtual HRESULT STDMETHODCALLTYPE BrandImageUri(
2967        BSTR *pbstrUri) = 0;
2968
2969    virtual HRESULT STDMETHODCALLTYPE SkipTabsWelcome(
2970        ) = 0;
2971
2972    virtual HRESULT STDMETHODCALLTYPE DiagnoseConnection(
2973        ) = 0;
2974
2975    virtual HRESULT STDMETHODCALLTYPE CustomizeClearType(
2976        VARIANT_BOOL fSet) = 0;
2977
2978    virtual HRESULT STDMETHODCALLTYPE IsSearchProviderInstalled(
2979        BSTR URL,
2980        DWORD *pdwResult) = 0;
2981
2982    virtual HRESULT STDMETHODCALLTYPE IsSearchMigrated(
2983        VARIANT_BOOL *pfMigrated) = 0;
2984
2985    virtual HRESULT STDMETHODCALLTYPE DefaultSearchProvider(
2986        BSTR *pbstrName) = 0;
2987
2988    virtual HRESULT STDMETHODCALLTYPE RunOnceRequiredSettingsComplete(
2989        VARIANT_BOOL fComplete) = 0;
2990
2991    virtual HRESULT STDMETHODCALLTYPE RunOnceHasShown(
2992        VARIANT_BOOL *pfShown) = 0;
2993
2994    virtual HRESULT STDMETHODCALLTYPE SearchGuideUrl(
2995        BSTR *pbstrUrl) = 0;
2996
2997};
2998#ifdef __CRT_UUID_DECL
2999__CRT_UUID_DECL(IShellUIHelper2, 0xa7fe6eda, 0x1932, 0x4281, 0xb8,0x81, 0x87,0xb3,0x1b,0x8b,0xc5,0x2c)
3000#endif
3001#else
3002typedef struct IShellUIHelper2Vtbl {
3003    BEGIN_INTERFACE
3004
3005    /*** IUnknown methods ***/
3006    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3007        IShellUIHelper2 *This,
3008        REFIID riid,
3009        void **ppvObject);
3010
3011    ULONG (STDMETHODCALLTYPE *AddRef)(
3012        IShellUIHelper2 *This);
3013
3014    ULONG (STDMETHODCALLTYPE *Release)(
3015        IShellUIHelper2 *This);
3016
3017    /*** IDispatch methods ***/
3018    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3019        IShellUIHelper2 *This,
3020        UINT *pctinfo);
3021
3022    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3023        IShellUIHelper2 *This,
3024        UINT iTInfo,
3025        LCID lcid,
3026        ITypeInfo **ppTInfo);
3027
3028    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3029        IShellUIHelper2 *This,
3030        REFIID riid,
3031        LPOLESTR *rgszNames,
3032        UINT cNames,
3033        LCID lcid,
3034        DISPID *rgDispId);
3035
3036    HRESULT (STDMETHODCALLTYPE *Invoke)(
3037        IShellUIHelper2 *This,
3038        DISPID dispIdMember,
3039        REFIID riid,
3040        LCID lcid,
3041        WORD wFlags,
3042        DISPPARAMS *pDispParams,
3043        VARIANT *pVarResult,
3044        EXCEPINFO *pExcepInfo,
3045        UINT *puArgErr);
3046
3047    /*** IShellUIHelper methods ***/
3048    HRESULT (STDMETHODCALLTYPE *ResetFirstBootMode)(
3049        IShellUIHelper2 *This);
3050
3051    HRESULT (STDMETHODCALLTYPE *ResetSafeMode)(
3052        IShellUIHelper2 *This);
3053
3054    HRESULT (STDMETHODCALLTYPE *RefreshOfflineDesktop)(
3055        IShellUIHelper2 *This);
3056
3057    HRESULT (STDMETHODCALLTYPE *AddFavorite)(
3058        IShellUIHelper2 *This,
3059        BSTR URL,
3060        VARIANT *Title);
3061
3062    HRESULT (STDMETHODCALLTYPE *AddChannel)(
3063        IShellUIHelper2 *This,
3064        BSTR URL);
3065
3066    HRESULT (STDMETHODCALLTYPE *AddDesktopComponent)(
3067        IShellUIHelper2 *This,
3068        BSTR URL,
3069        BSTR Type,
3070        VARIANT *Left,
3071        VARIANT *Top,
3072        VARIANT *Width,
3073        VARIANT *Height);
3074
3075    HRESULT (STDMETHODCALLTYPE *IsSubscribed)(
3076        IShellUIHelper2 *This,
3077        BSTR URL,
3078        VARIANT_BOOL *pBool);
3079
3080    HRESULT (STDMETHODCALLTYPE *NavigateAndFind)(
3081        IShellUIHelper2 *This,
3082        BSTR URL,
3083        BSTR strQuery,
3084        VARIANT *varTargetFrame);
3085
3086    HRESULT (STDMETHODCALLTYPE *ImportExportFavorites)(
3087        IShellUIHelper2 *This,
3088        VARIANT_BOOL fImport,
3089        BSTR strImpExpPath);
3090
3091    HRESULT (STDMETHODCALLTYPE *AutoCompleteSaveForm)(
3092        IShellUIHelper2 *This,
3093        VARIANT *Form);
3094
3095    HRESULT (STDMETHODCALLTYPE *AutoScan)(
3096        IShellUIHelper2 *This,
3097        BSTR strSearch,
3098        BSTR strFailureUrl,
3099        VARIANT *pvarTargetFrame);
3100
3101    HRESULT (STDMETHODCALLTYPE *AutoCompleteAttach)(
3102        IShellUIHelper2 *This,
3103        VARIANT *Reserved);
3104
3105    HRESULT (STDMETHODCALLTYPE *ShowBrowserUI)(
3106        IShellUIHelper2 *This,
3107        BSTR bstrName,
3108        VARIANT *pvarIn,
3109        VARIANT *pvarOut);
3110
3111    /*** IShellUIHelper2 methods ***/
3112    HRESULT (STDMETHODCALLTYPE *AddSearchProvider)(
3113        IShellUIHelper2 *This,
3114        BSTR URL);
3115
3116    HRESULT (STDMETHODCALLTYPE *RunOnceShown)(
3117        IShellUIHelper2 *This);
3118
3119    HRESULT (STDMETHODCALLTYPE *SkipRunOnce)(
3120        IShellUIHelper2 *This);
3121
3122    HRESULT (STDMETHODCALLTYPE *CustomizeSettings)(
3123        IShellUIHelper2 *This,
3124        VARIANT_BOOL fSQM,
3125        VARIANT_BOOL fPhishing,
3126        BSTR bstrLocale);
3127
3128    HRESULT (STDMETHODCALLTYPE *SqmEnabled)(
3129        IShellUIHelper2 *This,
3130        VARIANT_BOOL *pfEnabled);
3131
3132    HRESULT (STDMETHODCALLTYPE *PhishingEnabled)(
3133        IShellUIHelper2 *This,
3134        VARIANT_BOOL *pfEnabled);
3135
3136    HRESULT (STDMETHODCALLTYPE *BrandImageUri)(
3137        IShellUIHelper2 *This,
3138        BSTR *pbstrUri);
3139
3140    HRESULT (STDMETHODCALLTYPE *SkipTabsWelcome)(
3141        IShellUIHelper2 *This);
3142
3143    HRESULT (STDMETHODCALLTYPE *DiagnoseConnection)(
3144        IShellUIHelper2 *This);
3145
3146    HRESULT (STDMETHODCALLTYPE *CustomizeClearType)(
3147        IShellUIHelper2 *This,
3148        VARIANT_BOOL fSet);
3149
3150    HRESULT (STDMETHODCALLTYPE *IsSearchProviderInstalled)(
3151        IShellUIHelper2 *This,
3152        BSTR URL,
3153        DWORD *pdwResult);
3154
3155    HRESULT (STDMETHODCALLTYPE *IsSearchMigrated)(
3156        IShellUIHelper2 *This,
3157        VARIANT_BOOL *pfMigrated);
3158
3159    HRESULT (STDMETHODCALLTYPE *DefaultSearchProvider)(
3160        IShellUIHelper2 *This,
3161        BSTR *pbstrName);
3162
3163    HRESULT (STDMETHODCALLTYPE *RunOnceRequiredSettingsComplete)(
3164        IShellUIHelper2 *This,
3165        VARIANT_BOOL fComplete);
3166
3167    HRESULT (STDMETHODCALLTYPE *RunOnceHasShown)(
3168        IShellUIHelper2 *This,
3169        VARIANT_BOOL *pfShown);
3170
3171    HRESULT (STDMETHODCALLTYPE *SearchGuideUrl)(
3172        IShellUIHelper2 *This,
3173        BSTR *pbstrUrl);
3174
3175    END_INTERFACE
3176} IShellUIHelper2Vtbl;
3177
3178interface IShellUIHelper2 {
3179    CONST_VTBL IShellUIHelper2Vtbl* lpVtbl;
3180};
3181
3182#ifdef COBJMACROS
3183#ifndef WIDL_C_INLINE_WRAPPERS
3184/*** IUnknown methods ***/
3185#define IShellUIHelper2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3186#define IShellUIHelper2_AddRef(This) (This)->lpVtbl->AddRef(This)
3187#define IShellUIHelper2_Release(This) (This)->lpVtbl->Release(This)
3188/*** IDispatch methods ***/
3189#define IShellUIHelper2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3190#define IShellUIHelper2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3191#define IShellUIHelper2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3192#define IShellUIHelper2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3193/*** IShellUIHelper methods ***/
3194#define IShellUIHelper2_ResetFirstBootMode(This) (This)->lpVtbl->ResetFirstBootMode(This)
3195#define IShellUIHelper2_ResetSafeMode(This) (This)->lpVtbl->ResetSafeMode(This)
3196#define IShellUIHelper2_RefreshOfflineDesktop(This) (This)->lpVtbl->RefreshOfflineDesktop(This)
3197#define IShellUIHelper2_AddFavorite(This,URL,Title) (This)->lpVtbl->AddFavorite(This,URL,Title)
3198#define IShellUIHelper2_AddChannel(This,URL) (This)->lpVtbl->AddChannel(This,URL)
3199#define IShellUIHelper2_AddDesktopComponent(This,URL,Type,Left,Top,Width,Height) (This)->lpVtbl->AddDesktopComponent(This,URL,Type,Left,Top,Width,Height)
3200#define IShellUIHelper2_IsSubscribed(This,URL,pBool) (This)->lpVtbl->IsSubscribed(This,URL,pBool)
3201#define IShellUIHelper2_NavigateAndFind(This,URL,strQuery,varTargetFrame) (This)->lpVtbl->NavigateAndFind(This,URL,strQuery,varTargetFrame)
3202#define IShellUIHelper2_ImportExportFavorites(This,fImport,strImpExpPath) (This)->lpVtbl->ImportExportFavorites(This,fImport,strImpExpPath)
3203#define IShellUIHelper2_AutoCompleteSaveForm(This,Form) (This)->lpVtbl->AutoCompleteSaveForm(This,Form)
3204#define IShellUIHelper2_AutoScan(This,strSearch,strFailureUrl,pvarTargetFrame) (This)->lpVtbl->AutoScan(This,strSearch,strFailureUrl,pvarTargetFrame)
3205#define IShellUIHelper2_AutoCompleteAttach(This,Reserved) (This)->lpVtbl->AutoCompleteAttach(This,Reserved)
3206#define IShellUIHelper2_ShowBrowserUI(This,bstrName,pvarIn,pvarOut) (This)->lpVtbl->ShowBrowserUI(This,bstrName,pvarIn,pvarOut)
3207/*** IShellUIHelper2 methods ***/
3208#define IShellUIHelper2_AddSearchProvider(This,URL) (This)->lpVtbl->AddSearchProvider(This,URL)
3209#define IShellUIHelper2_RunOnceShown(This) (This)->lpVtbl->RunOnceShown(This)
3210#define IShellUIHelper2_SkipRunOnce(This) (This)->lpVtbl->SkipRunOnce(This)
3211#define IShellUIHelper2_CustomizeSettings(This,fSQM,fPhishing,bstrLocale) (This)->lpVtbl->CustomizeSettings(This,fSQM,fPhishing,bstrLocale)
3212#define IShellUIHelper2_SqmEnabled(This,pfEnabled) (This)->lpVtbl->SqmEnabled(This,pfEnabled)
3213#define IShellUIHelper2_PhishingEnabled(This,pfEnabled) (This)->lpVtbl->PhishingEnabled(This,pfEnabled)
3214#define IShellUIHelper2_BrandImageUri(This,pbstrUri) (This)->lpVtbl->BrandImageUri(This,pbstrUri)
3215#define IShellUIHelper2_SkipTabsWelcome(This) (This)->lpVtbl->SkipTabsWelcome(This)
3216#define IShellUIHelper2_DiagnoseConnection(This) (This)->lpVtbl->DiagnoseConnection(This)
3217#define IShellUIHelper2_CustomizeClearType(This,fSet) (This)->lpVtbl->CustomizeClearType(This,fSet)
3218#define IShellUIHelper2_IsSearchProviderInstalled(This,URL,pdwResult) (This)->lpVtbl->IsSearchProviderInstalled(This,URL,pdwResult)
3219#define IShellUIHelper2_IsSearchMigrated(This,pfMigrated) (This)->lpVtbl->IsSearchMigrated(This,pfMigrated)
3220#define IShellUIHelper2_DefaultSearchProvider(This,pbstrName) (This)->lpVtbl->DefaultSearchProvider(This,pbstrName)
3221#define IShellUIHelper2_RunOnceRequiredSettingsComplete(This,fComplete) (This)->lpVtbl->RunOnceRequiredSettingsComplete(This,fComplete)
3222#define IShellUIHelper2_RunOnceHasShown(This,pfShown) (This)->lpVtbl->RunOnceHasShown(This,pfShown)
3223#define IShellUIHelper2_SearchGuideUrl(This,pbstrUrl) (This)->lpVtbl->SearchGuideUrl(This,pbstrUrl)
3224#else
3225/*** IUnknown methods ***/
3226static inline HRESULT IShellUIHelper2_QueryInterface(IShellUIHelper2* This,REFIID riid,void **ppvObject) {
3227    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3228}
3229static inline ULONG IShellUIHelper2_AddRef(IShellUIHelper2* This) {
3230    return This->lpVtbl->AddRef(This);
3231}
3232static inline ULONG IShellUIHelper2_Release(IShellUIHelper2* This) {
3233    return This->lpVtbl->Release(This);
3234}
3235/*** IDispatch methods ***/
3236static inline HRESULT IShellUIHelper2_GetTypeInfoCount(IShellUIHelper2* This,UINT *pctinfo) {
3237    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3238}
3239static inline HRESULT IShellUIHelper2_GetTypeInfo(IShellUIHelper2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3240    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3241}
3242static inline HRESULT IShellUIHelper2_GetIDsOfNames(IShellUIHelper2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3243    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3244}
3245static inline HRESULT IShellUIHelper2_Invoke(IShellUIHelper2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3246    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3247}
3248/*** IShellUIHelper methods ***/
3249static inline HRESULT IShellUIHelper2_ResetFirstBootMode(IShellUIHelper2* This) {
3250    return This->lpVtbl->ResetFirstBootMode(This);
3251}
3252static inline HRESULT IShellUIHelper2_ResetSafeMode(IShellUIHelper2* This) {
3253    return This->lpVtbl->ResetSafeMode(This);
3254}
3255static inline HRESULT IShellUIHelper2_RefreshOfflineDesktop(IShellUIHelper2* This) {
3256    return This->lpVtbl->RefreshOfflineDesktop(This);
3257}
3258static inline HRESULT IShellUIHelper2_AddFavorite(IShellUIHelper2* This,BSTR URL,VARIANT *Title) {
3259    return This->lpVtbl->AddFavorite(This,URL,Title);
3260}
3261static inline HRESULT IShellUIHelper2_AddChannel(IShellUIHelper2* This,BSTR URL) {
3262    return This->lpVtbl->AddChannel(This,URL);
3263}
3264static inline HRESULT IShellUIHelper2_AddDesktopComponent(IShellUIHelper2* This,BSTR URL,BSTR Type,VARIANT *Left,VARIANT *Top,VARIANT *Width,VARIANT *Height) {
3265    return This->lpVtbl->AddDesktopComponent(This,URL,Type,Left,Top,Width,Height);
3266}
3267static inline HRESULT IShellUIHelper2_IsSubscribed(IShellUIHelper2* This,BSTR URL,VARIANT_BOOL *pBool) {
3268    return This->lpVtbl->IsSubscribed(This,URL,pBool);
3269}
3270static inline HRESULT IShellUIHelper2_NavigateAndFind(IShellUIHelper2* This,BSTR URL,BSTR strQuery,VARIANT *varTargetFrame) {
3271    return This->lpVtbl->NavigateAndFind(This,URL,strQuery,varTargetFrame);
3272}
3273static inline HRESULT IShellUIHelper2_ImportExportFavorites(IShellUIHelper2* This,VARIANT_BOOL fImport,BSTR strImpExpPath) {
3274    return This->lpVtbl->ImportExportFavorites(This,fImport,strImpExpPath);
3275}
3276static inline HRESULT IShellUIHelper2_AutoCompleteSaveForm(IShellUIHelper2* This,VARIANT *Form) {
3277    return This->lpVtbl->AutoCompleteSaveForm(This,Form);
3278}
3279static inline HRESULT IShellUIHelper2_AutoScan(IShellUIHelper2* This,BSTR strSearch,BSTR strFailureUrl,VARIANT *pvarTargetFrame) {
3280    return This->lpVtbl->AutoScan(This,strSearch,strFailureUrl,pvarTargetFrame);
3281}
3282static inline HRESULT IShellUIHelper2_AutoCompleteAttach(IShellUIHelper2* This,VARIANT *Reserved) {
3283    return This->lpVtbl->AutoCompleteAttach(This,Reserved);
3284}
3285static inline HRESULT IShellUIHelper2_ShowBrowserUI(IShellUIHelper2* This,BSTR bstrName,VARIANT *pvarIn,VARIANT *pvarOut) {
3286    return This->lpVtbl->ShowBrowserUI(This,bstrName,pvarIn,pvarOut);
3287}
3288/*** IShellUIHelper2 methods ***/
3289static inline HRESULT IShellUIHelper2_AddSearchProvider(IShellUIHelper2* This,BSTR URL) {
3290    return This->lpVtbl->AddSearchProvider(This,URL);
3291}
3292static inline HRESULT IShellUIHelper2_RunOnceShown(IShellUIHelper2* This) {
3293    return This->lpVtbl->RunOnceShown(This);
3294}
3295static inline HRESULT IShellUIHelper2_SkipRunOnce(IShellUIHelper2* This) {
3296    return This->lpVtbl->SkipRunOnce(This);
3297}
3298static inline HRESULT IShellUIHelper2_CustomizeSettings(IShellUIHelper2* This,VARIANT_BOOL fSQM,VARIANT_BOOL fPhishing,BSTR bstrLocale) {
3299    return This->lpVtbl->CustomizeSettings(This,fSQM,fPhishing,bstrLocale);
3300}
3301static inline HRESULT IShellUIHelper2_SqmEnabled(IShellUIHelper2* This,VARIANT_BOOL *pfEnabled) {
3302    return This->lpVtbl->SqmEnabled(This,pfEnabled);
3303}
3304static inline HRESULT IShellUIHelper2_PhishingEnabled(IShellUIHelper2* This,VARIANT_BOOL *pfEnabled) {
3305    return This->lpVtbl->PhishingEnabled(This,pfEnabled);
3306}
3307static inline HRESULT IShellUIHelper2_BrandImageUri(IShellUIHelper2* This,BSTR *pbstrUri) {
3308    return This->lpVtbl->BrandImageUri(This,pbstrUri);
3309}
3310static inline HRESULT IShellUIHelper2_SkipTabsWelcome(IShellUIHelper2* This) {
3311    return This->lpVtbl->SkipTabsWelcome(This);
3312}
3313static inline HRESULT IShellUIHelper2_DiagnoseConnection(IShellUIHelper2* This) {
3314    return This->lpVtbl->DiagnoseConnection(This);
3315}
3316static inline HRESULT IShellUIHelper2_CustomizeClearType(IShellUIHelper2* This,VARIANT_BOOL fSet) {
3317    return This->lpVtbl->CustomizeClearType(This,fSet);
3318}
3319static inline HRESULT IShellUIHelper2_IsSearchProviderInstalled(IShellUIHelper2* This,BSTR URL,DWORD *pdwResult) {
3320    return This->lpVtbl->IsSearchProviderInstalled(This,URL,pdwResult);
3321}
3322static inline HRESULT IShellUIHelper2_IsSearchMigrated(IShellUIHelper2* This,VARIANT_BOOL *pfMigrated) {
3323    return This->lpVtbl->IsSearchMigrated(This,pfMigrated);
3324}
3325static inline HRESULT IShellUIHelper2_DefaultSearchProvider(IShellUIHelper2* This,BSTR *pbstrName) {
3326    return This->lpVtbl->DefaultSearchProvider(This,pbstrName);
3327}
3328static inline HRESULT IShellUIHelper2_RunOnceRequiredSettingsComplete(IShellUIHelper2* This,VARIANT_BOOL fComplete) {
3329    return This->lpVtbl->RunOnceRequiredSettingsComplete(This,fComplete);
3330}
3331static inline HRESULT IShellUIHelper2_RunOnceHasShown(IShellUIHelper2* This,VARIANT_BOOL *pfShown) {
3332    return This->lpVtbl->RunOnceHasShown(This,pfShown);
3333}
3334static inline HRESULT IShellUIHelper2_SearchGuideUrl(IShellUIHelper2* This,BSTR *pbstrUrl) {
3335    return This->lpVtbl->SearchGuideUrl(This,pbstrUrl);
3336}
3337#endif
3338#endif
3339
3340#endif
3341
3342
3343#endif  /* __IShellUIHelper2_INTERFACE_DEFINED__ */
3344
3345/*****************************************************************************
3346 * ShellUIHelper coclass
3347 */
3348
3349DEFINE_GUID(CLSID_ShellUIHelper, 0x64ab4bb7, 0x111e, 0x11d1, 0x8f,0x79, 0x00,0xc0,0x4f,0xc2,0xfb,0xe1);
3350
3351#ifdef __cplusplus
3352class DECLSPEC_UUID("64ab4bb7-111e-11d1-8f79-00c04fc2fbe1") ShellUIHelper;
3353#ifdef __CRT_UUID_DECL
3354__CRT_UUID_DECL(ShellUIHelper, 0x64ab4bb7, 0x111e, 0x11d1, 0x8f,0x79, 0x00,0xc0,0x4f,0xc2,0xfb,0xe1)
3355#endif
3356#endif
3357
3358/*****************************************************************************
3359 * DShellNameSpaceEvents dispinterface
3360 */
3361#ifndef __DShellNameSpaceEvents_DISPINTERFACE_DEFINED__
3362#define __DShellNameSpaceEvents_DISPINTERFACE_DEFINED__
3363
3364DEFINE_GUID(DIID_DShellNameSpaceEvents, 0x55136806, 0xb2de, 0x11d1, 0xb9,0xf2, 0x00,0xa0,0xc9,0x8b,0xc5,0x47);
3365#if defined(__cplusplus) && !defined(CINTERFACE)
3366MIDL_INTERFACE("55136806-b2de-11d1-b9f2-00a0c98bc547")
3367DShellNameSpaceEvents : public IDispatch
3368{
3369};
3370#ifdef __CRT_UUID_DECL
3371__CRT_UUID_DECL(DShellNameSpaceEvents, 0x55136806, 0xb2de, 0x11d1, 0xb9,0xf2, 0x00,0xa0,0xc9,0x8b,0xc5,0x47)
3372#endif
3373#else
3374typedef struct DShellNameSpaceEventsVtbl {
3375    BEGIN_INTERFACE
3376
3377    /*** IUnknown methods ***/
3378    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3379        DShellNameSpaceEvents *This,
3380        REFIID riid,
3381        void **ppvObject);
3382
3383    ULONG (STDMETHODCALLTYPE *AddRef)(
3384        DShellNameSpaceEvents *This);
3385
3386    ULONG (STDMETHODCALLTYPE *Release)(
3387        DShellNameSpaceEvents *This);
3388
3389    /*** IDispatch methods ***/
3390    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3391        DShellNameSpaceEvents *This,
3392        UINT *pctinfo);
3393
3394    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3395        DShellNameSpaceEvents *This,
3396        UINT iTInfo,
3397        LCID lcid,
3398        ITypeInfo **ppTInfo);
3399
3400    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3401        DShellNameSpaceEvents *This,
3402        REFIID riid,
3403        LPOLESTR *rgszNames,
3404        UINT cNames,
3405        LCID lcid,
3406        DISPID *rgDispId);
3407
3408    HRESULT (STDMETHODCALLTYPE *Invoke)(
3409        DShellNameSpaceEvents *This,
3410        DISPID dispIdMember,
3411        REFIID riid,
3412        LCID lcid,
3413        WORD wFlags,
3414        DISPPARAMS *pDispParams,
3415        VARIANT *pVarResult,
3416        EXCEPINFO *pExcepInfo,
3417        UINT *puArgErr);
3418
3419    END_INTERFACE
3420} DShellNameSpaceEventsVtbl;
3421
3422interface DShellNameSpaceEvents {
3423    CONST_VTBL DShellNameSpaceEventsVtbl* lpVtbl;
3424};
3425
3426#ifdef COBJMACROS
3427#ifndef WIDL_C_INLINE_WRAPPERS
3428/*** IUnknown methods ***/
3429#define DShellNameSpaceEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3430#define DShellNameSpaceEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
3431#define DShellNameSpaceEvents_Release(This) (This)->lpVtbl->Release(This)
3432/*** IDispatch methods ***/
3433#define DShellNameSpaceEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3434#define DShellNameSpaceEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3435#define DShellNameSpaceEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3436#define DShellNameSpaceEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3437#else
3438/*** IUnknown methods ***/
3439static inline HRESULT DShellNameSpaceEvents_QueryInterface(DShellNameSpaceEvents* This,REFIID riid,void **ppvObject) {
3440    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3441}
3442static inline ULONG DShellNameSpaceEvents_AddRef(DShellNameSpaceEvents* This) {
3443    return This->lpVtbl->AddRef(This);
3444}
3445static inline ULONG DShellNameSpaceEvents_Release(DShellNameSpaceEvents* This) {
3446    return This->lpVtbl->Release(This);
3447}
3448/*** IDispatch methods ***/
3449static inline HRESULT DShellNameSpaceEvents_GetTypeInfoCount(DShellNameSpaceEvents* This,UINT *pctinfo) {
3450    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3451}
3452static inline HRESULT DShellNameSpaceEvents_GetTypeInfo(DShellNameSpaceEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3453    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3454}
3455static inline HRESULT DShellNameSpaceEvents_GetIDsOfNames(DShellNameSpaceEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3456    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3457}
3458static inline HRESULT DShellNameSpaceEvents_Invoke(DShellNameSpaceEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3459    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3460}
3461#endif
3462#endif
3463
3464#endif
3465
3466#endif  /* __DShellNameSpaceEvents_DISPINTERFACE_DEFINED__ */
3467
3468/*****************************************************************************
3469 * IShellFavoritesNameSpace interface
3470 */
3471#ifndef __IShellFavoritesNameSpace_INTERFACE_DEFINED__
3472#define __IShellFavoritesNameSpace_INTERFACE_DEFINED__
3473
3474DEFINE_GUID(IID_IShellFavoritesNameSpace, 0x55136804, 0xb2de, 0x11d1, 0xb9,0xf2, 0x00,0xa0,0xc9,0x8b,0xc5,0x47);
3475#if defined(__cplusplus) && !defined(CINTERFACE)
3476MIDL_INTERFACE("55136804-b2de-11d1-b9f2-00a0c98bc547")
3477IShellFavoritesNameSpace : public IDispatch
3478{
3479    virtual HRESULT STDMETHODCALLTYPE MoveSelectionUp(
3480        ) = 0;
3481
3482    virtual HRESULT STDMETHODCALLTYPE MoveSelectionDown(
3483        ) = 0;
3484
3485    virtual HRESULT STDMETHODCALLTYPE ResetSort(
3486        ) = 0;
3487
3488    virtual HRESULT STDMETHODCALLTYPE NewFolder(
3489        ) = 0;
3490
3491    virtual HRESULT STDMETHODCALLTYPE Synchronize(
3492        ) = 0;
3493
3494    virtual HRESULT STDMETHODCALLTYPE Import(
3495        ) = 0;
3496
3497    virtual HRESULT STDMETHODCALLTYPE Export(
3498        ) = 0;
3499
3500    virtual HRESULT STDMETHODCALLTYPE InvokeContextMenuCommand(
3501        BSTR strCommand) = 0;
3502
3503    virtual HRESULT STDMETHODCALLTYPE MoveSelectionTo(
3504        ) = 0;
3505
3506    virtual HRESULT STDMETHODCALLTYPE get_SubscriptionsEnabled(
3507        VARIANT_BOOL *pBool) = 0;
3508
3509    virtual HRESULT STDMETHODCALLTYPE CreateSubscriptionForSelection(
3510        VARIANT_BOOL *pBool) = 0;
3511
3512    virtual HRESULT STDMETHODCALLTYPE DeleteSubscriptionForSelection(
3513        VARIANT_BOOL *pBool) = 0;
3514
3515    virtual HRESULT STDMETHODCALLTYPE SetRoot(
3516        BSTR bstrFullPath) = 0;
3517
3518};
3519#ifdef __CRT_UUID_DECL
3520__CRT_UUID_DECL(IShellFavoritesNameSpace, 0x55136804, 0xb2de, 0x11d1, 0xb9,0xf2, 0x00,0xa0,0xc9,0x8b,0xc5,0x47)
3521#endif
3522#else
3523typedef struct IShellFavoritesNameSpaceVtbl {
3524    BEGIN_INTERFACE
3525
3526    /*** IUnknown methods ***/
3527    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3528        IShellFavoritesNameSpace *This,
3529        REFIID riid,
3530        void **ppvObject);
3531
3532    ULONG (STDMETHODCALLTYPE *AddRef)(
3533        IShellFavoritesNameSpace *This);
3534
3535    ULONG (STDMETHODCALLTYPE *Release)(
3536        IShellFavoritesNameSpace *This);
3537
3538    /*** IDispatch methods ***/
3539    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3540        IShellFavoritesNameSpace *This,
3541        UINT *pctinfo);
3542
3543    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3544        IShellFavoritesNameSpace *This,
3545        UINT iTInfo,
3546        LCID lcid,
3547        ITypeInfo **ppTInfo);
3548
3549    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3550        IShellFavoritesNameSpace *This,
3551        REFIID riid,
3552        LPOLESTR *rgszNames,
3553        UINT cNames,
3554        LCID lcid,
3555        DISPID *rgDispId);
3556
3557    HRESULT (STDMETHODCALLTYPE *Invoke)(
3558        IShellFavoritesNameSpace *This,
3559        DISPID dispIdMember,
3560        REFIID riid,
3561        LCID lcid,
3562        WORD wFlags,
3563        DISPPARAMS *pDispParams,
3564        VARIANT *pVarResult,
3565        EXCEPINFO *pExcepInfo,
3566        UINT *puArgErr);
3567
3568    /*** IShellFavoritesNameSpace methods ***/
3569    HRESULT (STDMETHODCALLTYPE *MoveSelectionUp)(
3570        IShellFavoritesNameSpace *This);
3571
3572    HRESULT (STDMETHODCALLTYPE *MoveSelectionDown)(
3573        IShellFavoritesNameSpace *This);
3574
3575    HRESULT (STDMETHODCALLTYPE *ResetSort)(
3576        IShellFavoritesNameSpace *This);
3577
3578    HRESULT (STDMETHODCALLTYPE *NewFolder)(
3579        IShellFavoritesNameSpace *This);
3580
3581    HRESULT (STDMETHODCALLTYPE *Synchronize)(
3582        IShellFavoritesNameSpace *This);
3583
3584    HRESULT (STDMETHODCALLTYPE *Import)(
3585        IShellFavoritesNameSpace *This);
3586
3587    HRESULT (STDMETHODCALLTYPE *Export)(
3588        IShellFavoritesNameSpace *This);
3589
3590    HRESULT (STDMETHODCALLTYPE *InvokeContextMenuCommand)(
3591        IShellFavoritesNameSpace *This,
3592        BSTR strCommand);
3593
3594    HRESULT (STDMETHODCALLTYPE *MoveSelectionTo)(
3595        IShellFavoritesNameSpace *This);
3596
3597    HRESULT (STDMETHODCALLTYPE *get_SubscriptionsEnabled)(
3598        IShellFavoritesNameSpace *This,
3599        VARIANT_BOOL *pBool);
3600
3601    HRESULT (STDMETHODCALLTYPE *CreateSubscriptionForSelection)(
3602        IShellFavoritesNameSpace *This,
3603        VARIANT_BOOL *pBool);
3604
3605    HRESULT (STDMETHODCALLTYPE *DeleteSubscriptionForSelection)(
3606        IShellFavoritesNameSpace *This,
3607        VARIANT_BOOL *pBool);
3608
3609    HRESULT (STDMETHODCALLTYPE *SetRoot)(
3610        IShellFavoritesNameSpace *This,
3611        BSTR bstrFullPath);
3612
3613    END_INTERFACE
3614} IShellFavoritesNameSpaceVtbl;
3615
3616interface IShellFavoritesNameSpace {
3617    CONST_VTBL IShellFavoritesNameSpaceVtbl* lpVtbl;
3618};
3619
3620#ifdef COBJMACROS
3621#ifndef WIDL_C_INLINE_WRAPPERS
3622/*** IUnknown methods ***/
3623#define IShellFavoritesNameSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3624#define IShellFavoritesNameSpace_AddRef(This) (This)->lpVtbl->AddRef(This)
3625#define IShellFavoritesNameSpace_Release(This) (This)->lpVtbl->Release(This)
3626/*** IDispatch methods ***/
3627#define IShellFavoritesNameSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3628#define IShellFavoritesNameSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3629#define IShellFavoritesNameSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3630#define IShellFavoritesNameSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3631/*** IShellFavoritesNameSpace methods ***/
3632#define IShellFavoritesNameSpace_MoveSelectionUp(This) (This)->lpVtbl->MoveSelectionUp(This)
3633#define IShellFavoritesNameSpace_MoveSelectionDown(This) (This)->lpVtbl->MoveSelectionDown(This)
3634#define IShellFavoritesNameSpace_ResetSort(This) (This)->lpVtbl->ResetSort(This)
3635#define IShellFavoritesNameSpace_NewFolder(This) (This)->lpVtbl->NewFolder(This)
3636#define IShellFavoritesNameSpace_Synchronize(This) (This)->lpVtbl->Synchronize(This)
3637#define IShellFavoritesNameSpace_Import(This) (This)->lpVtbl->Import(This)
3638#define IShellFavoritesNameSpace_Export(This) (This)->lpVtbl->Export(This)
3639#define IShellFavoritesNameSpace_InvokeContextMenuCommand(This,strCommand) (This)->lpVtbl->InvokeContextMenuCommand(This,strCommand)
3640#define IShellFavoritesNameSpace_MoveSelectionTo(This) (This)->lpVtbl->MoveSelectionTo(This)
3641#define IShellFavoritesNameSpace_get_SubscriptionsEnabled(This,pBool) (This)->lpVtbl->get_SubscriptionsEnabled(This,pBool)
3642#define IShellFavoritesNameSpace_CreateSubscriptionForSelection(This,pBool) (This)->lpVtbl->CreateSubscriptionForSelection(This,pBool)
3643#define IShellFavoritesNameSpace_DeleteSubscriptionForSelection(This,pBool) (This)->lpVtbl->DeleteSubscriptionForSelection(This,pBool)
3644#define IShellFavoritesNameSpace_SetRoot(This,bstrFullPath) (This)->lpVtbl->SetRoot(This,bstrFullPath)
3645#else
3646/*** IUnknown methods ***/
3647static inline HRESULT IShellFavoritesNameSpace_QueryInterface(IShellFavoritesNameSpace* This,REFIID riid,void **ppvObject) {
3648    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3649}
3650static inline ULONG IShellFavoritesNameSpace_AddRef(IShellFavoritesNameSpace* This) {
3651    return This->lpVtbl->AddRef(This);
3652}
3653static inline ULONG IShellFavoritesNameSpace_Release(IShellFavoritesNameSpace* This) {
3654    return This->lpVtbl->Release(This);
3655}
3656/*** IDispatch methods ***/
3657static inline HRESULT IShellFavoritesNameSpace_GetTypeInfoCount(IShellFavoritesNameSpace* This,UINT *pctinfo) {
3658    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3659}
3660static inline HRESULT IShellFavoritesNameSpace_GetTypeInfo(IShellFavoritesNameSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3661    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3662}
3663static inline HRESULT IShellFavoritesNameSpace_GetIDsOfNames(IShellFavoritesNameSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3664    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3665}
3666static inline HRESULT IShellFavoritesNameSpace_Invoke(IShellFavoritesNameSpace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3667    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3668}
3669/*** IShellFavoritesNameSpace methods ***/
3670static inline HRESULT IShellFavoritesNameSpace_MoveSelectionUp(IShellFavoritesNameSpace* This) {
3671    return This->lpVtbl->MoveSelectionUp(This);
3672}
3673static inline HRESULT IShellFavoritesNameSpace_MoveSelectionDown(IShellFavoritesNameSpace* This) {
3674    return This->lpVtbl->MoveSelectionDown(This);
3675}
3676static inline HRESULT IShellFavoritesNameSpace_ResetSort(IShellFavoritesNameSpace* This) {
3677    return This->lpVtbl->ResetSort(This);
3678}
3679static inline HRESULT IShellFavoritesNameSpace_NewFolder(IShellFavoritesNameSpace* This) {
3680    return This->lpVtbl->NewFolder(This);
3681}
3682static inline HRESULT IShellFavoritesNameSpace_Synchronize(IShellFavoritesNameSpace* This) {
3683    return This->lpVtbl->Synchronize(This);
3684}
3685static inline HRESULT IShellFavoritesNameSpace_Import(IShellFavoritesNameSpace* This) {
3686    return This->lpVtbl->Import(This);
3687}
3688static inline HRESULT IShellFavoritesNameSpace_Export(IShellFavoritesNameSpace* This) {
3689    return This->lpVtbl->Export(This);
3690}
3691static inline HRESULT IShellFavoritesNameSpace_InvokeContextMenuCommand(IShellFavoritesNameSpace* This,BSTR strCommand) {
3692    return This->lpVtbl->InvokeContextMenuCommand(This,strCommand);
3693}
3694static inline HRESULT IShellFavoritesNameSpace_MoveSelectionTo(IShellFavoritesNameSpace* This) {
3695    return This->lpVtbl->MoveSelectionTo(This);
3696}
3697static inline HRESULT IShellFavoritesNameSpace_get_SubscriptionsEnabled(IShellFavoritesNameSpace* This,VARIANT_BOOL *pBool) {
3698    return This->lpVtbl->get_SubscriptionsEnabled(This,pBool);
3699}
3700static inline HRESULT IShellFavoritesNameSpace_CreateSubscriptionForSelection(IShellFavoritesNameSpace* This,VARIANT_BOOL *pBool) {
3701    return This->lpVtbl->CreateSubscriptionForSelection(This,pBool);
3702}
3703static inline HRESULT IShellFavoritesNameSpace_DeleteSubscriptionForSelection(IShellFavoritesNameSpace* This,VARIANT_BOOL *pBool) {
3704    return This->lpVtbl->DeleteSubscriptionForSelection(This,pBool);
3705}
3706static inline HRESULT IShellFavoritesNameSpace_SetRoot(IShellFavoritesNameSpace* This,BSTR bstrFullPath) {
3707    return This->lpVtbl->SetRoot(This,bstrFullPath);
3708}
3709#endif
3710#endif
3711
3712#endif
3713
3714
3715#endif  /* __IShellFavoritesNameSpace_INTERFACE_DEFINED__ */
3716
3717/*****************************************************************************
3718 * IShellNameSpace interface
3719 */
3720#ifndef __IShellNameSpace_INTERFACE_DEFINED__
3721#define __IShellNameSpace_INTERFACE_DEFINED__
3722
3723DEFINE_GUID(IID_IShellNameSpace, 0xe572d3c9, 0x37be, 0x4ae2, 0x82,0x5d, 0xd5,0x21,0x76,0x3e,0x31,0x08);
3724#if defined(__cplusplus) && !defined(CINTERFACE)
3725MIDL_INTERFACE("e572d3c9-37be-4ae2-825d-d521763e3108")
3726IShellNameSpace : public IShellFavoritesNameSpace
3727{
3728    virtual HRESULT STDMETHODCALLTYPE get_EnumOptions(
3729        LONG *pgrfEnumFlags) = 0;
3730
3731    virtual HRESULT STDMETHODCALLTYPE put_EnumOptions(
3732        LONG pgrfEnumFlags) = 0;
3733
3734    virtual HRESULT STDMETHODCALLTYPE get_SelectedItem(
3735        IDispatch **pItem) = 0;
3736
3737    virtual HRESULT STDMETHODCALLTYPE put_SelectedItem(
3738        IDispatch *pItem) = 0;
3739
3740    virtual HRESULT STDMETHODCALLTYPE get_Root(
3741        VARIANT *pvar) = 0;
3742
3743    virtual HRESULT STDMETHODCALLTYPE put_Root(
3744        VARIANT pvar) = 0;
3745
3746    virtual HRESULT STDMETHODCALLTYPE get_Depth(
3747        int *piDepth) = 0;
3748
3749    virtual HRESULT STDMETHODCALLTYPE put_Depth(
3750        int piDepth) = 0;
3751
3752    virtual HRESULT STDMETHODCALLTYPE get_Mode(
3753        unsigned int *puMode) = 0;
3754
3755    virtual HRESULT STDMETHODCALLTYPE put_Mode(
3756        unsigned int puMode) = 0;
3757
3758    virtual HRESULT STDMETHODCALLTYPE get_Flags(
3759        ULONG *pdwFlags) = 0;
3760
3761    virtual HRESULT STDMETHODCALLTYPE put_Flags(
3762        ULONG pdwFlags) = 0;
3763
3764    virtual HRESULT STDMETHODCALLTYPE put_TVFlags(
3765        ULONG dwFlags) = 0;
3766
3767    virtual HRESULT STDMETHODCALLTYPE get_TVFlags(
3768        ULONG *dwFlags) = 0;
3769
3770    virtual HRESULT STDMETHODCALLTYPE get_Columns(
3771        BSTR *bstrColumns) = 0;
3772
3773    virtual HRESULT STDMETHODCALLTYPE put_Columns(
3774        BSTR bstrColumns) = 0;
3775
3776    virtual HRESULT STDMETHODCALLTYPE get_CountViewTypes(
3777        int *piTypes) = 0;
3778
3779    virtual HRESULT STDMETHODCALLTYPE SetViewType(
3780        int iType) = 0;
3781
3782    virtual HRESULT STDMETHODCALLTYPE SelectedItems(
3783        IDispatch **ppid) = 0;
3784
3785    virtual HRESULT STDMETHODCALLTYPE Expand(
3786        VARIANT var,
3787        int iDepth) = 0;
3788
3789    virtual HRESULT STDMETHODCALLTYPE UnselectAll(
3790        ) = 0;
3791
3792};
3793#ifdef __CRT_UUID_DECL
3794__CRT_UUID_DECL(IShellNameSpace, 0xe572d3c9, 0x37be, 0x4ae2, 0x82,0x5d, 0xd5,0x21,0x76,0x3e,0x31,0x08)
3795#endif
3796#else
3797typedef struct IShellNameSpaceVtbl {
3798    BEGIN_INTERFACE
3799
3800    /*** IUnknown methods ***/
3801    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3802        IShellNameSpace *This,
3803        REFIID riid,
3804        void **ppvObject);
3805
3806    ULONG (STDMETHODCALLTYPE *AddRef)(
3807        IShellNameSpace *This);
3808
3809    ULONG (STDMETHODCALLTYPE *Release)(
3810        IShellNameSpace *This);
3811
3812    /*** IDispatch methods ***/
3813    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3814        IShellNameSpace *This,
3815        UINT *pctinfo);
3816
3817    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3818        IShellNameSpace *This,
3819        UINT iTInfo,
3820        LCID lcid,
3821        ITypeInfo **ppTInfo);
3822
3823    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3824        IShellNameSpace *This,
3825        REFIID riid,
3826        LPOLESTR *rgszNames,
3827        UINT cNames,
3828        LCID lcid,
3829        DISPID *rgDispId);
3830
3831    HRESULT (STDMETHODCALLTYPE *Invoke)(
3832        IShellNameSpace *This,
3833        DISPID dispIdMember,
3834        REFIID riid,
3835        LCID lcid,
3836        WORD wFlags,
3837        DISPPARAMS *pDispParams,
3838        VARIANT *pVarResult,
3839        EXCEPINFO *pExcepInfo,
3840        UINT *puArgErr);
3841
3842    /*** IShellFavoritesNameSpace methods ***/
3843    HRESULT (STDMETHODCALLTYPE *MoveSelectionUp)(
3844        IShellNameSpace *This);
3845
3846    HRESULT (STDMETHODCALLTYPE *MoveSelectionDown)(
3847        IShellNameSpace *This);
3848
3849    HRESULT (STDMETHODCALLTYPE *ResetSort)(
3850        IShellNameSpace *This);
3851
3852    HRESULT (STDMETHODCALLTYPE *NewFolder)(
3853        IShellNameSpace *This);
3854
3855    HRESULT (STDMETHODCALLTYPE *Synchronize)(
3856        IShellNameSpace *This);
3857
3858    HRESULT (STDMETHODCALLTYPE *Import)(
3859        IShellNameSpace *This);
3860
3861    HRESULT (STDMETHODCALLTYPE *Export)(
3862        IShellNameSpace *This);
3863
3864    HRESULT (STDMETHODCALLTYPE *InvokeContextMenuCommand)(
3865        IShellNameSpace *This,
3866        BSTR strCommand);
3867
3868    HRESULT (STDMETHODCALLTYPE *MoveSelectionTo)(
3869        IShellNameSpace *This);
3870
3871    HRESULT (STDMETHODCALLTYPE *get_SubscriptionsEnabled)(
3872        IShellNameSpace *This,
3873        VARIANT_BOOL *pBool);
3874
3875    HRESULT (STDMETHODCALLTYPE *CreateSubscriptionForSelection)(
3876        IShellNameSpace *This,
3877        VARIANT_BOOL *pBool);
3878
3879    HRESULT (STDMETHODCALLTYPE *DeleteSubscriptionForSelection)(
3880        IShellNameSpace *This,
3881        VARIANT_BOOL *pBool);
3882
3883    HRESULT (STDMETHODCALLTYPE *SetRoot)(
3884        IShellNameSpace *This,
3885        BSTR bstrFullPath);
3886
3887    /*** IShellNameSpace methods ***/
3888    HRESULT (STDMETHODCALLTYPE *get_EnumOptions)(
3889        IShellNameSpace *This,
3890        LONG *pgrfEnumFlags);
3891
3892    HRESULT (STDMETHODCALLTYPE *put_EnumOptions)(
3893        IShellNameSpace *This,
3894        LONG pgrfEnumFlags);
3895
3896    HRESULT (STDMETHODCALLTYPE *get_SelectedItem)(
3897        IShellNameSpace *This,
3898        IDispatch **pItem);
3899
3900    HRESULT (STDMETHODCALLTYPE *put_SelectedItem)(
3901        IShellNameSpace *This,
3902        IDispatch *pItem);
3903
3904    HRESULT (STDMETHODCALLTYPE *get_Root)(
3905        IShellNameSpace *This,
3906        VARIANT *pvar);
3907
3908    HRESULT (STDMETHODCALLTYPE *put_Root)(
3909        IShellNameSpace *This,
3910        VARIANT pvar);
3911
3912    HRESULT (STDMETHODCALLTYPE *get_Depth)(
3913        IShellNameSpace *This,
3914        int *piDepth);
3915
3916    HRESULT (STDMETHODCALLTYPE *put_Depth)(
3917        IShellNameSpace *This,
3918        int piDepth);
3919
3920    HRESULT (STDMETHODCALLTYPE *get_Mode)(
3921        IShellNameSpace *This,
3922        unsigned int *puMode);
3923
3924    HRESULT (STDMETHODCALLTYPE *put_Mode)(
3925        IShellNameSpace *This,
3926        unsigned int puMode);
3927
3928    HRESULT (STDMETHODCALLTYPE *get_Flags)(
3929        IShellNameSpace *This,
3930        ULONG *pdwFlags);
3931
3932    HRESULT (STDMETHODCALLTYPE *put_Flags)(
3933        IShellNameSpace *This,
3934        ULONG pdwFlags);
3935
3936    HRESULT (STDMETHODCALLTYPE *put_TVFlags)(
3937        IShellNameSpace *This,
3938        ULONG dwFlags);
3939
3940    HRESULT (STDMETHODCALLTYPE *get_TVFlags)(
3941        IShellNameSpace *This,
3942        ULONG *dwFlags);
3943
3944    HRESULT (STDMETHODCALLTYPE *get_Columns)(
3945        IShellNameSpace *This,
3946        BSTR *bstrColumns);
3947
3948    HRESULT (STDMETHODCALLTYPE *put_Columns)(
3949        IShellNameSpace *This,
3950        BSTR bstrColumns);
3951
3952    HRESULT (STDMETHODCALLTYPE *get_CountViewTypes)(
3953        IShellNameSpace *This,
3954        int *piTypes);
3955
3956    HRESULT (STDMETHODCALLTYPE *SetViewType)(
3957        IShellNameSpace *This,
3958        int iType);
3959
3960    HRESULT (STDMETHODCALLTYPE *SelectedItems)(
3961        IShellNameSpace *This,
3962        IDispatch **ppid);
3963
3964    HRESULT (STDMETHODCALLTYPE *Expand)(
3965        IShellNameSpace *This,
3966        VARIANT var,
3967        int iDepth);
3968
3969    HRESULT (STDMETHODCALLTYPE *UnselectAll)(
3970        IShellNameSpace *This);
3971
3972    END_INTERFACE
3973} IShellNameSpaceVtbl;
3974
3975interface IShellNameSpace {
3976    CONST_VTBL IShellNameSpaceVtbl* lpVtbl;
3977};
3978
3979#ifdef COBJMACROS
3980#ifndef WIDL_C_INLINE_WRAPPERS
3981/*** IUnknown methods ***/
3982#define IShellNameSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3983#define IShellNameSpace_AddRef(This) (This)->lpVtbl->AddRef(This)
3984#define IShellNameSpace_Release(This) (This)->lpVtbl->Release(This)
3985/*** IDispatch methods ***/
3986#define IShellNameSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3987#define IShellNameSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3988#define IShellNameSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3989#define IShellNameSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3990/*** IShellFavoritesNameSpace methods ***/
3991#define IShellNameSpace_MoveSelectionUp(This) (This)->lpVtbl->MoveSelectionUp(This)
3992#define IShellNameSpace_MoveSelectionDown(This) (This)->lpVtbl->MoveSelectionDown(This)
3993#define IShellNameSpace_ResetSort(This) (This)->lpVtbl->ResetSort(This)
3994#define IShellNameSpace_NewFolder(This) (This)->lpVtbl->NewFolder(This)
3995#define IShellNameSpace_Synchronize(This) (This)->lpVtbl->Synchronize(This)
3996#define IShellNameSpace_Import(This) (This)->lpVtbl->Import(This)
3997#define IShellNameSpace_Export(This) (This)->lpVtbl->Export(This)
3998#define IShellNameSpace_InvokeContextMenuCommand(This,strCommand) (This)->lpVtbl->InvokeContextMenuCommand(This,strCommand)
3999#define IShellNameSpace_MoveSelectionTo(This) (This)->lpVtbl->MoveSelectionTo(This)
4000#define IShellNameSpace_get_SubscriptionsEnabled(This,pBool) (This)->lpVtbl->get_SubscriptionsEnabled(This,pBool)
4001#define IShellNameSpace_CreateSubscriptionForSelection(This,pBool) (This)->lpVtbl->CreateSubscriptionForSelection(This,pBool)
4002#define IShellNameSpace_DeleteSubscriptionForSelection(This,pBool) (This)->lpVtbl->DeleteSubscriptionForSelection(This,pBool)
4003#define IShellNameSpace_SetRoot(This,bstrFullPath) (This)->lpVtbl->SetRoot(This,bstrFullPath)
4004/*** IShellNameSpace methods ***/
4005#define IShellNameSpace_get_EnumOptions(This,pgrfEnumFlags) (This)->lpVtbl->get_EnumOptions(This,pgrfEnumFlags)
4006#define IShellNameSpace_put_EnumOptions(This,pgrfEnumFlags) (This)->lpVtbl->put_EnumOptions(This,pgrfEnumFlags)
4007#define IShellNameSpace_get_SelectedItem(This,pItem) (This)->lpVtbl->get_SelectedItem(This,pItem)
4008#define IShellNameSpace_put_SelectedItem(This,pItem) (This)->lpVtbl->put_SelectedItem(This,pItem)
4009#define IShellNameSpace_get_Root(This,pvar) (This)->lpVtbl->get_Root(This,pvar)
4010#define IShellNameSpace_put_Root(This,pvar) (This)->lpVtbl->put_Root(This,pvar)
4011#define IShellNameSpace_get_Depth(This,piDepth) (This)->lpVtbl->get_Depth(This,piDepth)
4012#define IShellNameSpace_put_Depth(This,piDepth) (This)->lpVtbl->put_Depth(This,piDepth)
4013#define IShellNameSpace_get_Mode(This,puMode) (This)->lpVtbl->get_Mode(This,puMode)
4014#define IShellNameSpace_put_Mode(This,puMode) (This)->lpVtbl->put_Mode(This,puMode)
4015#define IShellNameSpace_get_Flags(This,pdwFlags) (This)->lpVtbl->get_Flags(This,pdwFlags)
4016#define IShellNameSpace_put_Flags(This,pdwFlags) (This)->lpVtbl->put_Flags(This,pdwFlags)
4017#define IShellNameSpace_put_TVFlags(This,dwFlags) (This)->lpVtbl->put_TVFlags(This,dwFlags)
4018#define IShellNameSpace_get_TVFlags(This,dwFlags) (This)->lpVtbl->get_TVFlags(This,dwFlags)
4019#define IShellNameSpace_get_Columns(This,bstrColumns) (This)->lpVtbl->get_Columns(This,bstrColumns)
4020#define IShellNameSpace_put_Columns(This,bstrColumns) (This)->lpVtbl->put_Columns(This,bstrColumns)
4021#define IShellNameSpace_get_CountViewTypes(This,piTypes) (This)->lpVtbl->get_CountViewTypes(This,piTypes)
4022#define IShellNameSpace_SetViewType(This,iType) (This)->lpVtbl->SetViewType(This,iType)
4023#define IShellNameSpace_SelectedItems(This,ppid) (This)->lpVtbl->SelectedItems(This,ppid)
4024#define IShellNameSpace_Expand(This,var,iDepth) (This)->lpVtbl->Expand(This,var,iDepth)
4025#define IShellNameSpace_UnselectAll(This) (This)->lpVtbl->UnselectAll(This)
4026#else
4027/*** IUnknown methods ***/
4028static inline HRESULT IShellNameSpace_QueryInterface(IShellNameSpace* This,REFIID riid,void **ppvObject) {
4029    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4030}
4031static inline ULONG IShellNameSpace_AddRef(IShellNameSpace* This) {
4032    return This->lpVtbl->AddRef(This);
4033}
4034static inline ULONG IShellNameSpace_Release(IShellNameSpace* This) {
4035    return This->lpVtbl->Release(This);
4036}
4037/*** IDispatch methods ***/
4038static inline HRESULT IShellNameSpace_GetTypeInfoCount(IShellNameSpace* This,UINT *pctinfo) {
4039    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4040}
4041static inline HRESULT IShellNameSpace_GetTypeInfo(IShellNameSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4042    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4043}
4044static inline HRESULT IShellNameSpace_GetIDsOfNames(IShellNameSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4045    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4046}
4047static inline HRESULT IShellNameSpace_Invoke(IShellNameSpace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4048    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4049}
4050/*** IShellFavoritesNameSpace methods ***/
4051static inline HRESULT IShellNameSpace_MoveSelectionUp(IShellNameSpace* This) {
4052    return This->lpVtbl->MoveSelectionUp(This);
4053}
4054static inline HRESULT IShellNameSpace_MoveSelectionDown(IShellNameSpace* This) {
4055    return This->lpVtbl->MoveSelectionDown(This);
4056}
4057static inline HRESULT IShellNameSpace_ResetSort(IShellNameSpace* This) {
4058    return This->lpVtbl->ResetSort(This);
4059}
4060static inline HRESULT IShellNameSpace_NewFolder(IShellNameSpace* This) {
4061    return This->lpVtbl->NewFolder(This);
4062}
4063static inline HRESULT IShellNameSpace_Synchronize(IShellNameSpace* This) {
4064    return This->lpVtbl->Synchronize(This);
4065}
4066static inline HRESULT IShellNameSpace_Import(IShellNameSpace* This) {
4067    return This->lpVtbl->Import(This);
4068}
4069static inline HRESULT IShellNameSpace_Export(IShellNameSpace* This) {
4070    return This->lpVtbl->Export(This);
4071}
4072static inline HRESULT IShellNameSpace_InvokeContextMenuCommand(IShellNameSpace* This,BSTR strCommand) {
4073    return This->lpVtbl->InvokeContextMenuCommand(This,strCommand);
4074}
4075static inline HRESULT IShellNameSpace_MoveSelectionTo(IShellNameSpace* This) {
4076    return This->lpVtbl->MoveSelectionTo(This);
4077}
4078static inline HRESULT IShellNameSpace_get_SubscriptionsEnabled(IShellNameSpace* This,VARIANT_BOOL *pBool) {
4079    return This->lpVtbl->get_SubscriptionsEnabled(This,pBool);
4080}
4081static inline HRESULT IShellNameSpace_CreateSubscriptionForSelection(IShellNameSpace* This,VARIANT_BOOL *pBool) {
4082    return This->lpVtbl->CreateSubscriptionForSelection(This,pBool);
4083}
4084static inline HRESULT IShellNameSpace_DeleteSubscriptionForSelection(IShellNameSpace* This,VARIANT_BOOL *pBool) {
4085    return This->lpVtbl->DeleteSubscriptionForSelection(This,pBool);
4086}
4087static inline HRESULT IShellNameSpace_SetRoot(IShellNameSpace* This,BSTR bstrFullPath) {
4088    return This->lpVtbl->SetRoot(This,bstrFullPath);
4089}
4090/*** IShellNameSpace methods ***/
4091static inline HRESULT IShellNameSpace_get_EnumOptions(IShellNameSpace* This,LONG *pgrfEnumFlags) {
4092    return This->lpVtbl->get_EnumOptions(This,pgrfEnumFlags);
4093}
4094static inline HRESULT IShellNameSpace_put_EnumOptions(IShellNameSpace* This,LONG pgrfEnumFlags) {
4095    return This->lpVtbl->put_EnumOptions(This,pgrfEnumFlags);
4096}
4097static inline HRESULT IShellNameSpace_get_SelectedItem(IShellNameSpace* This,IDispatch **pItem) {
4098    return This->lpVtbl->get_SelectedItem(This,pItem);
4099}
4100static inline HRESULT IShellNameSpace_put_SelectedItem(IShellNameSpace* This,IDispatch *pItem) {
4101    return This->lpVtbl->put_SelectedItem(This,pItem);
4102}
4103static inline HRESULT IShellNameSpace_get_Root(IShellNameSpace* This,VARIANT *pvar) {
4104    return This->lpVtbl->get_Root(This,pvar);
4105}
4106static inline HRESULT IShellNameSpace_put_Root(IShellNameSpace* This,VARIANT pvar) {
4107    return This->lpVtbl->put_Root(This,pvar);
4108}
4109static inline HRESULT IShellNameSpace_get_Depth(IShellNameSpace* This,int *piDepth) {
4110    return This->lpVtbl->get_Depth(This,piDepth);
4111}
4112static inline HRESULT IShellNameSpace_put_Depth(IShellNameSpace* This,int piDepth) {
4113    return This->lpVtbl->put_Depth(This,piDepth);
4114}
4115static inline HRESULT IShellNameSpace_get_Mode(IShellNameSpace* This,unsigned int *puMode) {
4116    return This->lpVtbl->get_Mode(This,puMode);
4117}
4118static inline HRESULT IShellNameSpace_put_Mode(IShellNameSpace* This,unsigned int puMode) {
4119    return This->lpVtbl->put_Mode(This,puMode);
4120}
4121static inline HRESULT IShellNameSpace_get_Flags(IShellNameSpace* This,ULONG *pdwFlags) {
4122    return This->lpVtbl->get_Flags(This,pdwFlags);
4123}
4124static inline HRESULT IShellNameSpace_put_Flags(IShellNameSpace* This,ULONG pdwFlags) {
4125    return This->lpVtbl->put_Flags(This,pdwFlags);
4126}
4127static inline HRESULT IShellNameSpace_put_TVFlags(IShellNameSpace* This,ULONG dwFlags) {
4128    return This->lpVtbl->put_TVFlags(This,dwFlags);
4129}
4130static inline HRESULT IShellNameSpace_get_TVFlags(IShellNameSpace* This,ULONG *dwFlags) {
4131    return This->lpVtbl->get_TVFlags(This,dwFlags);
4132}
4133static inline HRESULT IShellNameSpace_get_Columns(IShellNameSpace* This,BSTR *bstrColumns) {
4134    return This->lpVtbl->get_Columns(This,bstrColumns);
4135}
4136static inline HRESULT IShellNameSpace_put_Columns(IShellNameSpace* This,BSTR bstrColumns) {
4137    return This->lpVtbl->put_Columns(This,bstrColumns);
4138}
4139static inline HRESULT IShellNameSpace_get_CountViewTypes(IShellNameSpace* This,int *piTypes) {
4140    return This->lpVtbl->get_CountViewTypes(This,piTypes);
4141}
4142static inline HRESULT IShellNameSpace_SetViewType(IShellNameSpace* This,int iType) {
4143    return This->lpVtbl->SetViewType(This,iType);
4144}
4145static inline HRESULT IShellNameSpace_SelectedItems(IShellNameSpace* This,IDispatch **ppid) {
4146    return This->lpVtbl->SelectedItems(This,ppid);
4147}
4148static inline HRESULT IShellNameSpace_Expand(IShellNameSpace* This,VARIANT var,int iDepth) {
4149    return This->lpVtbl->Expand(This,var,iDepth);
4150}
4151static inline HRESULT IShellNameSpace_UnselectAll(IShellNameSpace* This) {
4152    return This->lpVtbl->UnselectAll(This);
4153}
4154#endif
4155#endif
4156
4157#endif
4158
4159
4160#endif  /* __IShellNameSpace_INTERFACE_DEFINED__ */
4161
4162/*****************************************************************************
4163 * ShellShellNameSpace coclass
4164 */
4165
4166DEFINE_GUID(CLSID_ShellShellNameSpace, 0x2f2f1f96, 0x2bc1, 0x4b1c, 0xbe,0x28, 0xea,0x37,0x74,0xf4,0x67,0x6a);
4167
4168#ifdef __cplusplus
4169class DECLSPEC_UUID("2f2f1f96-2bc1-4b1c-be28-ea3774f4676a") ShellShellNameSpace;
4170#ifdef __CRT_UUID_DECL
4171__CRT_UUID_DECL(ShellShellNameSpace, 0x2f2f1f96, 0x2bc1, 0x4b1c, 0xbe,0x28, 0xea,0x37,0x74,0xf4,0x67,0x6a)
4172#endif
4173#endif
4174
4175/*****************************************************************************
4176 * ShellNameSpace coclass
4177 */
4178
4179DEFINE_GUID(CLSID_ShellNameSpace, 0x55136805, 0xb2de, 0x11d1, 0xb9,0xf2, 0x00,0xa0,0xc9,0x8b,0xc5,0x47);
4180
4181#ifdef __cplusplus
4182class DECLSPEC_UUID("55136805-b2de-11d1-b9f2-00a0c98bc547") ShellNameSpace;
4183#ifdef __CRT_UUID_DECL
4184__CRT_UUID_DECL(ShellNameSpace, 0x55136805, 0xb2de, 0x11d1, 0xb9,0xf2, 0x00,0xa0,0xc9,0x8b,0xc5,0x47)
4185#endif
4186#endif
4187
4188/*****************************************************************************
4189 * IScriptErrorList interface
4190 */
4191#ifndef __IScriptErrorList_INTERFACE_DEFINED__
4192#define __IScriptErrorList_INTERFACE_DEFINED__
4193
4194DEFINE_GUID(IID_IScriptErrorList, 0xf3470f24, 0x15fd, 0x11d2, 0xbb,0x2e, 0x00,0x80,0x5f,0xf7,0xef,0xca);
4195#if defined(__cplusplus) && !defined(CINTERFACE)
4196MIDL_INTERFACE("f3470f24-15fd-11d2-bb2e-00805ff7efca")
4197IScriptErrorList : public IDispatch
4198{
4199    virtual HRESULT STDMETHODCALLTYPE advanceError(
4200        ) = 0;
4201
4202    virtual HRESULT STDMETHODCALLTYPE retreatError(
4203        ) = 0;
4204
4205    virtual HRESULT STDMETHODCALLTYPE canAdvanceError(
4206        LONG *pfCanAdvance) = 0;
4207
4208    virtual HRESULT STDMETHODCALLTYPE canRetreatError(
4209        LONG *pfCanRetreat) = 0;
4210
4211    virtual HRESULT STDMETHODCALLTYPE getErrorLine(
4212        LONG *plLine) = 0;
4213
4214    virtual HRESULT STDMETHODCALLTYPE getErrorChar(
4215        LONG *plChar) = 0;
4216
4217    virtual HRESULT STDMETHODCALLTYPE getErrorCode(
4218        LONG *plCode) = 0;
4219
4220    virtual HRESULT STDMETHODCALLTYPE getErrorMsg(
4221        BSTR *pstr) = 0;
4222
4223    virtual HRESULT STDMETHODCALLTYPE getErrorUrl(
4224        BSTR *pstr) = 0;
4225
4226    virtual HRESULT STDMETHODCALLTYPE getAlwaysShowLockState(
4227        LONG *pfAlwaysShowLocked) = 0;
4228
4229    virtual HRESULT STDMETHODCALLTYPE getDetailsPaneOpen(
4230        LONG *pfDetailsPaneOpen) = 0;
4231
4232    virtual HRESULT STDMETHODCALLTYPE setDetailsPaneOpen(
4233        LONG fDetailsPaneOpen) = 0;
4234
4235    virtual HRESULT STDMETHODCALLTYPE getPerErrorDisplay(
4236        LONG *pfPerErrorDisplay) = 0;
4237
4238    virtual HRESULT STDMETHODCALLTYPE setPerErrorDisplay(
4239        LONG fPerErrorDisplay) = 0;
4240
4241};
4242#ifdef __CRT_UUID_DECL
4243__CRT_UUID_DECL(IScriptErrorList, 0xf3470f24, 0x15fd, 0x11d2, 0xbb,0x2e, 0x00,0x80,0x5f,0xf7,0xef,0xca)
4244#endif
4245#else
4246typedef struct IScriptErrorListVtbl {
4247    BEGIN_INTERFACE
4248
4249    /*** IUnknown methods ***/
4250    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4251        IScriptErrorList *This,
4252        REFIID riid,
4253        void **ppvObject);
4254
4255    ULONG (STDMETHODCALLTYPE *AddRef)(
4256        IScriptErrorList *This);
4257
4258    ULONG (STDMETHODCALLTYPE *Release)(
4259        IScriptErrorList *This);
4260
4261    /*** IDispatch methods ***/
4262    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4263        IScriptErrorList *This,
4264        UINT *pctinfo);
4265
4266    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4267        IScriptErrorList *This,
4268        UINT iTInfo,
4269        LCID lcid,
4270        ITypeInfo **ppTInfo);
4271
4272    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4273        IScriptErrorList *This,
4274        REFIID riid,
4275        LPOLESTR *rgszNames,
4276        UINT cNames,
4277        LCID lcid,
4278        DISPID *rgDispId);
4279
4280    HRESULT (STDMETHODCALLTYPE *Invoke)(
4281        IScriptErrorList *This,
4282        DISPID dispIdMember,
4283        REFIID riid,
4284        LCID lcid,
4285        WORD wFlags,
4286        DISPPARAMS *pDispParams,
4287        VARIANT *pVarResult,
4288        EXCEPINFO *pExcepInfo,
4289        UINT *puArgErr);
4290
4291    /*** IScriptErrorList methods ***/
4292    HRESULT (STDMETHODCALLTYPE *advanceError)(
4293        IScriptErrorList *This);
4294
4295    HRESULT (STDMETHODCALLTYPE *retreatError)(
4296        IScriptErrorList *This);
4297
4298    HRESULT (STDMETHODCALLTYPE *canAdvanceError)(
4299        IScriptErrorList *This,
4300        LONG *pfCanAdvance);
4301
4302    HRESULT (STDMETHODCALLTYPE *canRetreatError)(
4303        IScriptErrorList *This,
4304        LONG *pfCanRetreat);
4305
4306    HRESULT (STDMETHODCALLTYPE *getErrorLine)(
4307        IScriptErrorList *This,
4308        LONG *plLine);
4309
4310    HRESULT (STDMETHODCALLTYPE *getErrorChar)(
4311        IScriptErrorList *This,
4312        LONG *plChar);
4313
4314    HRESULT (STDMETHODCALLTYPE *getErrorCode)(
4315        IScriptErrorList *This,
4316        LONG *plCode);
4317
4318    HRESULT (STDMETHODCALLTYPE *getErrorMsg)(
4319        IScriptErrorList *This,
4320        BSTR *pstr);
4321
4322    HRESULT (STDMETHODCALLTYPE *getErrorUrl)(
4323        IScriptErrorList *This,
4324        BSTR *pstr);
4325
4326    HRESULT (STDMETHODCALLTYPE *getAlwaysShowLockState)(
4327        IScriptErrorList *This,
4328        LONG *pfAlwaysShowLocked);
4329
4330    HRESULT (STDMETHODCALLTYPE *getDetailsPaneOpen)(
4331        IScriptErrorList *This,
4332        LONG *pfDetailsPaneOpen);
4333
4334    HRESULT (STDMETHODCALLTYPE *setDetailsPaneOpen)(
4335        IScriptErrorList *This,
4336        LONG fDetailsPaneOpen);
4337
4338    HRESULT (STDMETHODCALLTYPE *getPerErrorDisplay)(
4339        IScriptErrorList *This,
4340        LONG *pfPerErrorDisplay);
4341
4342    HRESULT (STDMETHODCALLTYPE *setPerErrorDisplay)(
4343        IScriptErrorList *This,
4344        LONG fPerErrorDisplay);
4345
4346    END_INTERFACE
4347} IScriptErrorListVtbl;
4348
4349interface IScriptErrorList {
4350    CONST_VTBL IScriptErrorListVtbl* lpVtbl;
4351};
4352
4353#ifdef COBJMACROS
4354#ifndef WIDL_C_INLINE_WRAPPERS
4355/*** IUnknown methods ***/
4356#define IScriptErrorList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4357#define IScriptErrorList_AddRef(This) (This)->lpVtbl->AddRef(This)
4358#define IScriptErrorList_Release(This) (This)->lpVtbl->Release(This)
4359/*** IDispatch methods ***/
4360#define IScriptErrorList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4361#define IScriptErrorList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4362#define IScriptErrorList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4363#define IScriptErrorList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4364/*** IScriptErrorList methods ***/
4365#define IScriptErrorList_advanceError(This) (This)->lpVtbl->advanceError(This)
4366#define IScriptErrorList_retreatError(This) (This)->lpVtbl->retreatError(This)
4367#define IScriptErrorList_canAdvanceError(This,pfCanAdvance) (This)->lpVtbl->canAdvanceError(This,pfCanAdvance)
4368#define IScriptErrorList_canRetreatError(This,pfCanRetreat) (This)->lpVtbl->canRetreatError(This,pfCanRetreat)
4369#define IScriptErrorList_getErrorLine(This,plLine) (This)->lpVtbl->getErrorLine(This,plLine)
4370#define IScriptErrorList_getErrorChar(This,plChar) (This)->lpVtbl->getErrorChar(This,plChar)
4371#define IScriptErrorList_getErrorCode(This,plCode) (This)->lpVtbl->getErrorCode(This,plCode)
4372#define IScriptErrorList_getErrorMsg(This,pstr) (This)->lpVtbl->getErrorMsg(This,pstr)
4373#define IScriptErrorList_getErrorUrl(This,pstr) (This)->lpVtbl->getErrorUrl(This,pstr)
4374#define IScriptErrorList_getAlwaysShowLockState(This,pfAlwaysShowLocked) (This)->lpVtbl->getAlwaysShowLockState(This,pfAlwaysShowLocked)
4375#define IScriptErrorList_getDetailsPaneOpen(This,pfDetailsPaneOpen) (This)->lpVtbl->getDetailsPaneOpen(This,pfDetailsPaneOpen)
4376#define IScriptErrorList_setDetailsPaneOpen(This,fDetailsPaneOpen) (This)->lpVtbl->setDetailsPaneOpen(This,fDetailsPaneOpen)
4377#define IScriptErrorList_getPerErrorDisplay(This,pfPerErrorDisplay) (This)->lpVtbl->getPerErrorDisplay(This,pfPerErrorDisplay)
4378#define IScriptErrorList_setPerErrorDisplay(This,fPerErrorDisplay) (This)->lpVtbl->setPerErrorDisplay(This,fPerErrorDisplay)
4379#else
4380/*** IUnknown methods ***/
4381static inline HRESULT IScriptErrorList_QueryInterface(IScriptErrorList* This,REFIID riid,void **ppvObject) {
4382    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4383}
4384static inline ULONG IScriptErrorList_AddRef(IScriptErrorList* This) {
4385    return This->lpVtbl->AddRef(This);
4386}
4387static inline ULONG IScriptErrorList_Release(IScriptErrorList* This) {
4388    return This->lpVtbl->Release(This);
4389}
4390/*** IDispatch methods ***/
4391static inline HRESULT IScriptErrorList_GetTypeInfoCount(IScriptErrorList* This,UINT *pctinfo) {
4392    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4393}
4394static inline HRESULT IScriptErrorList_GetTypeInfo(IScriptErrorList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4395    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4396}
4397static inline HRESULT IScriptErrorList_GetIDsOfNames(IScriptErrorList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4398    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4399}
4400static inline HRESULT IScriptErrorList_Invoke(IScriptErrorList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4401    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4402}
4403/*** IScriptErrorList methods ***/
4404static inline HRESULT IScriptErrorList_advanceError(IScriptErrorList* This) {
4405    return This->lpVtbl->advanceError(This);
4406}
4407static inline HRESULT IScriptErrorList_retreatError(IScriptErrorList* This) {
4408    return This->lpVtbl->retreatError(This);
4409}
4410static inline HRESULT IScriptErrorList_canAdvanceError(IScriptErrorList* This,LONG *pfCanAdvance) {
4411    return This->lpVtbl->canAdvanceError(This,pfCanAdvance);
4412}
4413static inline HRESULT IScriptErrorList_canRetreatError(IScriptErrorList* This,LONG *pfCanRetreat) {
4414    return This->lpVtbl->canRetreatError(This,pfCanRetreat);
4415}
4416static inline HRESULT IScriptErrorList_getErrorLine(IScriptErrorList* This,LONG *plLine) {
4417    return This->lpVtbl->getErrorLine(This,plLine);
4418}
4419static inline HRESULT IScriptErrorList_getErrorChar(IScriptErrorList* This,LONG *plChar) {
4420    return This->lpVtbl->getErrorChar(This,plChar);
4421}
4422static inline HRESULT IScriptErrorList_getErrorCode(IScriptErrorList* This,LONG *plCode) {
4423    return This->lpVtbl->getErrorCode(This,plCode);
4424}
4425static inline HRESULT IScriptErrorList_getErrorMsg(IScriptErrorList* This,BSTR *pstr) {
4426    return This->lpVtbl->getErrorMsg(This,pstr);
4427}
4428static inline HRESULT IScriptErrorList_getErrorUrl(IScriptErrorList* This,BSTR *pstr) {
4429    return This->lpVtbl->getErrorUrl(This,pstr);
4430}
4431static inline HRESULT IScriptErrorList_getAlwaysShowLockState(IScriptErrorList* This,LONG *pfAlwaysShowLocked) {
4432    return This->lpVtbl->getAlwaysShowLockState(This,pfAlwaysShowLocked);
4433}
4434static inline HRESULT IScriptErrorList_getDetailsPaneOpen(IScriptErrorList* This,LONG *pfDetailsPaneOpen) {
4435    return This->lpVtbl->getDetailsPaneOpen(This,pfDetailsPaneOpen);
4436}
4437static inline HRESULT IScriptErrorList_setDetailsPaneOpen(IScriptErrorList* This,LONG fDetailsPaneOpen) {
4438    return This->lpVtbl->setDetailsPaneOpen(This,fDetailsPaneOpen);
4439}
4440static inline HRESULT IScriptErrorList_getPerErrorDisplay(IScriptErrorList* This,LONG *pfPerErrorDisplay) {
4441    return This->lpVtbl->getPerErrorDisplay(This,pfPerErrorDisplay);
4442}
4443static inline HRESULT IScriptErrorList_setPerErrorDisplay(IScriptErrorList* This,LONG fPerErrorDisplay) {
4444    return This->lpVtbl->setPerErrorDisplay(This,fPerErrorDisplay);
4445}
4446#endif
4447#endif
4448
4449#endif
4450
4451
4452#endif  /* __IScriptErrorList_INTERFACE_DEFINED__ */
4453
4454/*****************************************************************************
4455 * CScriptErrorList coclass
4456 */
4457
4458DEFINE_GUID(CLSID_CScriptErrorList, 0xefd01300, 0x160f, 0x11d2, 0xbb,0x2e, 0x00,0x80,0x5f,0xf7,0xef,0xca);
4459
4460#ifdef __cplusplus
4461class DECLSPEC_UUID("efd01300-160f-11d2-bb2e-00805ff7efca") CScriptErrorList;
4462#ifdef __CRT_UUID_DECL
4463__CRT_UUID_DECL(CScriptErrorList, 0xefd01300, 0x160f, 0x11d2, 0xbb,0x2e, 0x00,0x80,0x5f,0xf7,0xef,0xca)
4464#endif
4465#endif
4466
4467/*****************************************************************************
4468 * ISearch interface
4469 */
4470#ifndef __ISearch_INTERFACE_DEFINED__
4471#define __ISearch_INTERFACE_DEFINED__
4472
4473DEFINE_GUID(IID_ISearch, 0xba9239a4, 0x3dd5, 0x11d2, 0xbf,0x8b, 0x00,0xc0,0x4f,0xb9,0x36,0x61);
4474#if defined(__cplusplus) && !defined(CINTERFACE)
4475MIDL_INTERFACE("ba9239a4-3dd5-11d2-bf8b-00c04fb93661")
4476ISearch : public IDispatch
4477{
4478    virtual HRESULT STDMETHODCALLTYPE get_Title(
4479        BSTR *pbstrTitle) = 0;
4480
4481    virtual HRESULT STDMETHODCALLTYPE get_Id(
4482        BSTR *pbstrId) = 0;
4483
4484    virtual HRESULT STDMETHODCALLTYPE get_URL(
4485        BSTR *pbstrUrl) = 0;
4486
4487};
4488#ifdef __CRT_UUID_DECL
4489__CRT_UUID_DECL(ISearch, 0xba9239a4, 0x3dd5, 0x11d2, 0xbf,0x8b, 0x00,0xc0,0x4f,0xb9,0x36,0x61)
4490#endif
4491#else
4492typedef struct ISearchVtbl {
4493    BEGIN_INTERFACE
4494
4495    /*** IUnknown methods ***/
4496    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4497        ISearch *This,
4498        REFIID riid,
4499        void **ppvObject);
4500
4501    ULONG (STDMETHODCALLTYPE *AddRef)(
4502        ISearch *This);
4503
4504    ULONG (STDMETHODCALLTYPE *Release)(
4505        ISearch *This);
4506
4507    /*** IDispatch methods ***/
4508    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4509        ISearch *This,
4510        UINT *pctinfo);
4511
4512    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4513        ISearch *This,
4514        UINT iTInfo,
4515        LCID lcid,
4516        ITypeInfo **ppTInfo);
4517
4518    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4519        ISearch *This,
4520        REFIID riid,
4521        LPOLESTR *rgszNames,
4522        UINT cNames,
4523        LCID lcid,
4524        DISPID *rgDispId);
4525
4526    HRESULT (STDMETHODCALLTYPE *Invoke)(
4527        ISearch *This,
4528        DISPID dispIdMember,
4529        REFIID riid,
4530        LCID lcid,
4531        WORD wFlags,
4532        DISPPARAMS *pDispParams,
4533        VARIANT *pVarResult,
4534        EXCEPINFO *pExcepInfo,
4535        UINT *puArgErr);
4536
4537    /*** ISearch methods ***/
4538    HRESULT (STDMETHODCALLTYPE *get_Title)(
4539        ISearch *This,
4540        BSTR *pbstrTitle);
4541
4542    HRESULT (STDMETHODCALLTYPE *get_Id)(
4543        ISearch *This,
4544        BSTR *pbstrId);
4545
4546    HRESULT (STDMETHODCALLTYPE *get_URL)(
4547        ISearch *This,
4548        BSTR *pbstrUrl);
4549
4550    END_INTERFACE
4551} ISearchVtbl;
4552
4553interface ISearch {
4554    CONST_VTBL ISearchVtbl* lpVtbl;
4555};
4556
4557#ifdef COBJMACROS
4558#ifndef WIDL_C_INLINE_WRAPPERS
4559/*** IUnknown methods ***/
4560#define ISearch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4561#define ISearch_AddRef(This) (This)->lpVtbl->AddRef(This)
4562#define ISearch_Release(This) (This)->lpVtbl->Release(This)
4563/*** IDispatch methods ***/
4564#define ISearch_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4565#define ISearch_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4566#define ISearch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4567#define ISearch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4568/*** ISearch methods ***/
4569#define ISearch_get_Title(This,pbstrTitle) (This)->lpVtbl->get_Title(This,pbstrTitle)
4570#define ISearch_get_Id(This,pbstrId) (This)->lpVtbl->get_Id(This,pbstrId)
4571#define ISearch_get_URL(This,pbstrUrl) (This)->lpVtbl->get_URL(This,pbstrUrl)
4572#else
4573/*** IUnknown methods ***/
4574static inline HRESULT ISearch_QueryInterface(ISearch* This,REFIID riid,void **ppvObject) {
4575    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4576}
4577static inline ULONG ISearch_AddRef(ISearch* This) {
4578    return This->lpVtbl->AddRef(This);
4579}
4580static inline ULONG ISearch_Release(ISearch* This) {
4581    return This->lpVtbl->Release(This);
4582}
4583/*** IDispatch methods ***/
4584static inline HRESULT ISearch_GetTypeInfoCount(ISearch* This,UINT *pctinfo) {
4585    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4586}
4587static inline HRESULT ISearch_GetTypeInfo(ISearch* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4588    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4589}
4590static inline HRESULT ISearch_GetIDsOfNames(ISearch* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4591    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4592}
4593static inline HRESULT ISearch_Invoke(ISearch* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4594    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4595}
4596/*** ISearch methods ***/
4597static inline HRESULT ISearch_get_Title(ISearch* This,BSTR *pbstrTitle) {
4598    return This->lpVtbl->get_Title(This,pbstrTitle);
4599}
4600static inline HRESULT ISearch_get_Id(ISearch* This,BSTR *pbstrId) {
4601    return This->lpVtbl->get_Id(This,pbstrId);
4602}
4603static inline HRESULT ISearch_get_URL(ISearch* This,BSTR *pbstrUrl) {
4604    return This->lpVtbl->get_URL(This,pbstrUrl);
4605}
4606#endif
4607#endif
4608
4609#endif
4610
4611
4612#endif  /* __ISearch_INTERFACE_DEFINED__ */
4613
4614/*****************************************************************************
4615 * ISearches interface
4616 */
4617#ifndef __ISearches_INTERFACE_DEFINED__
4618#define __ISearches_INTERFACE_DEFINED__
4619
4620DEFINE_GUID(IID_ISearches, 0x47c922a2, 0x3dd5, 0x11d2, 0xbf,0x8b, 0x00,0xc0,0x4f,0xb9,0x36,0x61);
4621#if defined(__cplusplus) && !defined(CINTERFACE)
4622MIDL_INTERFACE("47c922a2-3dd5-11d2-bf8b-00c04fb93661")
4623ISearches : public IDispatch
4624{
4625    virtual HRESULT STDMETHODCALLTYPE get_Count(
4626        LONG *plCount) = 0;
4627
4628    virtual HRESULT STDMETHODCALLTYPE get_Default(
4629        BSTR *pbstrDefault) = 0;
4630
4631    virtual HRESULT STDMETHODCALLTYPE Item(
4632        VARIANT index,
4633        ISearch **ppid) = 0;
4634
4635    virtual HRESULT STDMETHODCALLTYPE _NewEnum(
4636        IUnknown **ppunk) = 0;
4637
4638};
4639#ifdef __CRT_UUID_DECL
4640__CRT_UUID_DECL(ISearches, 0x47c922a2, 0x3dd5, 0x11d2, 0xbf,0x8b, 0x00,0xc0,0x4f,0xb9,0x36,0x61)
4641#endif
4642#else
4643typedef struct ISearchesVtbl {
4644    BEGIN_INTERFACE
4645
4646    /*** IUnknown methods ***/
4647    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4648        ISearches *This,
4649        REFIID riid,
4650        void **ppvObject);
4651
4652    ULONG (STDMETHODCALLTYPE *AddRef)(
4653        ISearches *This);
4654
4655    ULONG (STDMETHODCALLTYPE *Release)(
4656        ISearches *This);
4657
4658    /*** IDispatch methods ***/
4659    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4660        ISearches *This,
4661        UINT *pctinfo);
4662
4663    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4664        ISearches *This,
4665        UINT iTInfo,
4666        LCID lcid,
4667        ITypeInfo **ppTInfo);
4668
4669    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4670        ISearches *This,
4671        REFIID riid,
4672        LPOLESTR *rgszNames,
4673        UINT cNames,
4674        LCID lcid,
4675        DISPID *rgDispId);
4676
4677    HRESULT (STDMETHODCALLTYPE *Invoke)(
4678        ISearches *This,
4679        DISPID dispIdMember,
4680        REFIID riid,
4681        LCID lcid,
4682        WORD wFlags,
4683        DISPPARAMS *pDispParams,
4684        VARIANT *pVarResult,
4685        EXCEPINFO *pExcepInfo,
4686        UINT *puArgErr);
4687
4688    /*** ISearches methods ***/
4689    HRESULT (STDMETHODCALLTYPE *get_Count)(
4690        ISearches *This,
4691        LONG *plCount);
4692
4693    HRESULT (STDMETHODCALLTYPE *get_Default)(
4694        ISearches *This,
4695        BSTR *pbstrDefault);
4696
4697    HRESULT (STDMETHODCALLTYPE *Item)(
4698        ISearches *This,
4699        VARIANT index,
4700        ISearch **ppid);
4701
4702    HRESULT (STDMETHODCALLTYPE *_NewEnum)(
4703        ISearches *This,
4704        IUnknown **ppunk);
4705
4706    END_INTERFACE
4707} ISearchesVtbl;
4708
4709interface ISearches {
4710    CONST_VTBL ISearchesVtbl* lpVtbl;
4711};
4712
4713#ifdef COBJMACROS
4714#ifndef WIDL_C_INLINE_WRAPPERS
4715/*** IUnknown methods ***/
4716#define ISearches_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4717#define ISearches_AddRef(This) (This)->lpVtbl->AddRef(This)
4718#define ISearches_Release(This) (This)->lpVtbl->Release(This)
4719/*** IDispatch methods ***/
4720#define ISearches_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4721#define ISearches_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4722#define ISearches_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4723#define ISearches_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4724/*** ISearches methods ***/
4725#define ISearches_get_Count(This,plCount) (This)->lpVtbl->get_Count(This,plCount)
4726#define ISearches_get_Default(This,pbstrDefault) (This)->lpVtbl->get_Default(This,pbstrDefault)
4727#define ISearches_Item(This,index,ppid) (This)->lpVtbl->Item(This,index,ppid)
4728#define ISearches__NewEnum(This,ppunk) (This)->lpVtbl->_NewEnum(This,ppunk)
4729#else
4730/*** IUnknown methods ***/
4731static inline HRESULT ISearches_QueryInterface(ISearches* This,REFIID riid,void **ppvObject) {
4732    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4733}
4734static inline ULONG ISearches_AddRef(ISearches* This) {
4735    return This->lpVtbl->AddRef(This);
4736}
4737static inline ULONG ISearches_Release(ISearches* This) {
4738    return This->lpVtbl->Release(This);
4739}
4740/*** IDispatch methods ***/
4741static inline HRESULT ISearches_GetTypeInfoCount(ISearches* This,UINT *pctinfo) {
4742    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4743}
4744static inline HRESULT ISearches_GetTypeInfo(ISearches* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4745    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4746}
4747static inline HRESULT ISearches_GetIDsOfNames(ISearches* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4748    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4749}
4750static inline HRESULT ISearches_Invoke(ISearches* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4751    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4752}
4753/*** ISearches methods ***/
4754static inline HRESULT ISearches_get_Count(ISearches* This,LONG *plCount) {
4755    return This->lpVtbl->get_Count(This,plCount);
4756}
4757static inline HRESULT ISearches_get_Default(ISearches* This,BSTR *pbstrDefault) {
4758    return This->lpVtbl->get_Default(This,pbstrDefault);
4759}
4760static inline HRESULT ISearches_Item(ISearches* This,VARIANT index,ISearch **ppid) {
4761    return This->lpVtbl->Item(This,index,ppid);
4762}
4763static inline HRESULT ISearches__NewEnum(ISearches* This,IUnknown **ppunk) {
4764    return This->lpVtbl->_NewEnum(This,ppunk);
4765}
4766#endif
4767#endif
4768
4769#endif
4770
4771
4772#endif  /* __ISearches_INTERFACE_DEFINED__ */
4773
4774/*****************************************************************************
4775 * ISearchAssistantOC interface
4776 */
4777#ifndef __ISearchAssistantOC_INTERFACE_DEFINED__
4778#define __ISearchAssistantOC_INTERFACE_DEFINED__
4779
4780DEFINE_GUID(IID_ISearchAssistantOC, 0x72423e8f, 0x8011, 0x11d2, 0xbe,0x79, 0x00,0xa0,0xc9,0xa8,0x3d,0xa1);
4781#if defined(__cplusplus) && !defined(CINTERFACE)
4782MIDL_INTERFACE("72423e8f-8011-11d2-be79-00a0c9a83da1")
4783ISearchAssistantOC : public IDispatch
4784{
4785    virtual HRESULT STDMETHODCALLTYPE AddNextMenuItem(
4786        BSTR bstrText,
4787        LONG idItem) = 0;
4788
4789    virtual HRESULT STDMETHODCALLTYPE SetDefaultSearchUrl(
4790        BSTR bstrUrl) = 0;
4791
4792    virtual HRESULT STDMETHODCALLTYPE NavigateToDefaultSearch(
4793        ) = 0;
4794
4795    virtual HRESULT STDMETHODCALLTYPE IsRestricted(
4796        BSTR bstrGuid,
4797        VARIANT_BOOL *pVal) = 0;
4798
4799    virtual HRESULT STDMETHODCALLTYPE get_ShellFeaturesEnabled(
4800        VARIANT_BOOL *pVal) = 0;
4801
4802    virtual HRESULT STDMETHODCALLTYPE get_SearchAssistantDefault(
4803        VARIANT_BOOL *pVal) = 0;
4804
4805    virtual HRESULT STDMETHODCALLTYPE get_Searches(
4806        ISearches **ppid) = 0;
4807
4808    virtual HRESULT STDMETHODCALLTYPE get_InWebFolder(
4809        VARIANT_BOOL *pVal) = 0;
4810
4811    virtual HRESULT STDMETHODCALLTYPE PutProperty(
4812        VARIANT_BOOL bPerLocale,
4813        BSTR bstrName,
4814        BSTR bstrValue) = 0;
4815
4816    virtual HRESULT STDMETHODCALLTYPE GetProperty(
4817        VARIANT_BOOL bPerLocale,
4818        BSTR bstrName,
4819        BSTR *pbstrValue) = 0;
4820
4821    virtual HRESULT STDMETHODCALLTYPE put_EventHandled(
4822        VARIANT_BOOL rhs) = 0;
4823
4824    virtual HRESULT STDMETHODCALLTYPE ResetNextMenu(
4825        ) = 0;
4826
4827    virtual HRESULT STDMETHODCALLTYPE FindOnWeb(
4828        ) = 0;
4829
4830    virtual HRESULT STDMETHODCALLTYPE FindFilesOrFolders(
4831        ) = 0;
4832
4833    virtual HRESULT STDMETHODCALLTYPE FindComputer(
4834        ) = 0;
4835
4836    virtual HRESULT STDMETHODCALLTYPE FindPrinter(
4837        ) = 0;
4838
4839    virtual HRESULT STDMETHODCALLTYPE FindPeople(
4840        ) = 0;
4841
4842    virtual HRESULT STDMETHODCALLTYPE GetSearchAssistantURL(
4843        VARIANT_BOOL bSubstitute,
4844        VARIANT_BOOL bCustomize,
4845        BSTR *pbstrValue) = 0;
4846
4847    virtual HRESULT STDMETHODCALLTYPE NotifySearchSettingsChanged(
4848        ) = 0;
4849
4850    virtual HRESULT STDMETHODCALLTYPE put_ASProvider(
4851        BSTR pProvider) = 0;
4852
4853    virtual HRESULT STDMETHODCALLTYPE get_ASProvider(
4854        BSTR *pProvider) = 0;
4855
4856    virtual HRESULT STDMETHODCALLTYPE put_ASSetting(
4857        int pSetting) = 0;
4858
4859    virtual HRESULT STDMETHODCALLTYPE get_ASSetting(
4860        int *pSetting) = 0;
4861
4862    virtual HRESULT STDMETHODCALLTYPE NETDetectNextNavigate(
4863        ) = 0;
4864
4865    virtual HRESULT STDMETHODCALLTYPE PutFindText(
4866        BSTR FindText) = 0;
4867
4868    virtual HRESULT STDMETHODCALLTYPE get_Version(
4869        int *pVersion) = 0;
4870
4871    virtual HRESULT STDMETHODCALLTYPE EncodeString(
4872        BSTR bstrValue,
4873        BSTR bstrCharSet,
4874        VARIANT_BOOL bUseUTF8,
4875        BSTR *pbstrResult) = 0;
4876
4877};
4878#ifdef __CRT_UUID_DECL
4879__CRT_UUID_DECL(ISearchAssistantOC, 0x72423e8f, 0x8011, 0x11d2, 0xbe,0x79, 0x00,0xa0,0xc9,0xa8,0x3d,0xa1)
4880#endif
4881#else
4882typedef struct ISearchAssistantOCVtbl {
4883    BEGIN_INTERFACE
4884
4885    /*** IUnknown methods ***/
4886    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4887        ISearchAssistantOC *This,
4888        REFIID riid,
4889        void **ppvObject);
4890
4891    ULONG (STDMETHODCALLTYPE *AddRef)(
4892        ISearchAssistantOC *This);
4893
4894    ULONG (STDMETHODCALLTYPE *Release)(
4895        ISearchAssistantOC *This);
4896
4897    /*** IDispatch methods ***/
4898    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4899        ISearchAssistantOC *This,
4900        UINT *pctinfo);
4901
4902    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4903        ISearchAssistantOC *This,
4904        UINT iTInfo,
4905        LCID lcid,
4906        ITypeInfo **ppTInfo);
4907
4908    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4909        ISearchAssistantOC *This,
4910        REFIID riid,
4911        LPOLESTR *rgszNames,
4912        UINT cNames,
4913        LCID lcid,
4914        DISPID *rgDispId);
4915
4916    HRESULT (STDMETHODCALLTYPE *Invoke)(
4917        ISearchAssistantOC *This,
4918        DISPID dispIdMember,
4919        REFIID riid,
4920        LCID lcid,
4921        WORD wFlags,
4922        DISPPARAMS *pDispParams,
4923        VARIANT *pVarResult,
4924        EXCEPINFO *pExcepInfo,
4925        UINT *puArgErr);
4926
4927    /*** ISearchAssistantOC methods ***/
4928    HRESULT (STDMETHODCALLTYPE *AddNextMenuItem)(
4929        ISearchAssistantOC *This,
4930        BSTR bstrText,
4931        LONG idItem);
4932
4933    HRESULT (STDMETHODCALLTYPE *SetDefaultSearchUrl)(
4934        ISearchAssistantOC *This,
4935        BSTR bstrUrl);
4936
4937    HRESULT (STDMETHODCALLTYPE *NavigateToDefaultSearch)(
4938        ISearchAssistantOC *This);
4939
4940    HRESULT (STDMETHODCALLTYPE *IsRestricted)(
4941        ISearchAssistantOC *This,
4942        BSTR bstrGuid,
4943        VARIANT_BOOL *pVal);
4944
4945    HRESULT (STDMETHODCALLTYPE *get_ShellFeaturesEnabled)(
4946        ISearchAssistantOC *This,
4947        VARIANT_BOOL *pVal);
4948
4949    HRESULT (STDMETHODCALLTYPE *get_SearchAssistantDefault)(
4950        ISearchAssistantOC *This,
4951        VARIANT_BOOL *pVal);
4952
4953    HRESULT (STDMETHODCALLTYPE *get_Searches)(
4954        ISearchAssistantOC *This,
4955        ISearches **ppid);
4956
4957    HRESULT (STDMETHODCALLTYPE *get_InWebFolder)(
4958        ISearchAssistantOC *This,
4959        VARIANT_BOOL *pVal);
4960
4961    HRESULT (STDMETHODCALLTYPE *PutProperty)(
4962        ISearchAssistantOC *This,
4963        VARIANT_BOOL bPerLocale,
4964        BSTR bstrName,
4965        BSTR bstrValue);
4966
4967    HRESULT (STDMETHODCALLTYPE *GetProperty)(
4968        ISearchAssistantOC *This,
4969        VARIANT_BOOL bPerLocale,
4970        BSTR bstrName,
4971        BSTR *pbstrValue);
4972
4973    HRESULT (STDMETHODCALLTYPE *put_EventHandled)(
4974        ISearchAssistantOC *This,
4975        VARIANT_BOOL rhs);
4976
4977    HRESULT (STDMETHODCALLTYPE *ResetNextMenu)(
4978        ISearchAssistantOC *This);
4979
4980    HRESULT (STDMETHODCALLTYPE *FindOnWeb)(
4981        ISearchAssistantOC *This);
4982
4983    HRESULT (STDMETHODCALLTYPE *FindFilesOrFolders)(
4984        ISearchAssistantOC *This);
4985
4986    HRESULT (STDMETHODCALLTYPE *FindComputer)(
4987        ISearchAssistantOC *This);
4988
4989    HRESULT (STDMETHODCALLTYPE *FindPrinter)(
4990        ISearchAssistantOC *This);
4991
4992    HRESULT (STDMETHODCALLTYPE *FindPeople)(
4993        ISearchAssistantOC *This);
4994
4995    HRESULT (STDMETHODCALLTYPE *GetSearchAssistantURL)(
4996        ISearchAssistantOC *This,
4997        VARIANT_BOOL bSubstitute,
4998        VARIANT_BOOL bCustomize,
4999        BSTR *pbstrValue);
5000
5001    HRESULT (STDMETHODCALLTYPE *NotifySearchSettingsChanged)(
5002        ISearchAssistantOC *This);
5003
5004    HRESULT (STDMETHODCALLTYPE *put_ASProvider)(
5005        ISearchAssistantOC *This,
5006        BSTR pProvider);
5007
5008    HRESULT (STDMETHODCALLTYPE *get_ASProvider)(
5009        ISearchAssistantOC *This,
5010        BSTR *pProvider);
5011
5012    HRESULT (STDMETHODCALLTYPE *put_ASSetting)(
5013        ISearchAssistantOC *This,
5014        int pSetting);
5015
5016    HRESULT (STDMETHODCALLTYPE *get_ASSetting)(
5017        ISearchAssistantOC *This,
5018        int *pSetting);
5019
5020    HRESULT (STDMETHODCALLTYPE *NETDetectNextNavigate)(
5021        ISearchAssistantOC *This);
5022
5023    HRESULT (STDMETHODCALLTYPE *PutFindText)(
5024        ISearchAssistantOC *This,
5025        BSTR FindText);
5026
5027    HRESULT (STDMETHODCALLTYPE *get_Version)(
5028        ISearchAssistantOC *This,
5029        int *pVersion);
5030
5031    HRESULT (STDMETHODCALLTYPE *EncodeString)(
5032        ISearchAssistantOC *This,
5033        BSTR bstrValue,
5034        BSTR bstrCharSet,
5035        VARIANT_BOOL bUseUTF8,
5036        BSTR *pbstrResult);
5037
5038    END_INTERFACE
5039} ISearchAssistantOCVtbl;
5040
5041interface ISearchAssistantOC {
5042    CONST_VTBL ISearchAssistantOCVtbl* lpVtbl;
5043};
5044
5045#ifdef COBJMACROS
5046#ifndef WIDL_C_INLINE_WRAPPERS
5047/*** IUnknown methods ***/
5048#define ISearchAssistantOC_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5049#define ISearchAssistantOC_AddRef(This) (This)->lpVtbl->AddRef(This)
5050#define ISearchAssistantOC_Release(This) (This)->lpVtbl->Release(This)
5051/*** IDispatch methods ***/
5052#define ISearchAssistantOC_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
5053#define ISearchAssistantOC_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
5054#define ISearchAssistantOC_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
5055#define ISearchAssistantOC_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
5056/*** ISearchAssistantOC methods ***/
5057#define ISearchAssistantOC_AddNextMenuItem(This,bstrText,idItem) (This)->lpVtbl->AddNextMenuItem(This,bstrText,idItem)
5058#define ISearchAssistantOC_SetDefaultSearchUrl(This,bstrUrl) (This)->lpVtbl->SetDefaultSearchUrl(This,bstrUrl)
5059#define ISearchAssistantOC_NavigateToDefaultSearch(This) (This)->lpVtbl->NavigateToDefaultSearch(This)
5060#define ISearchAssistantOC_IsRestricted(This,bstrGuid,pVal) (This)->lpVtbl->IsRestricted(This,bstrGuid,pVal)
5061#define ISearchAssistantOC_get_ShellFeaturesEnabled(This,pVal) (This)->lpVtbl->get_ShellFeaturesEnabled(This,pVal)
5062#define ISearchAssistantOC_get_SearchAssistantDefault(This,pVal) (This)->lpVtbl->get_SearchAssistantDefault(This,pVal)
5063#define ISearchAssistantOC_get_Searches(This,ppid) (This)->lpVtbl->get_Searches(This,ppid)
5064#define ISearchAssistantOC_get_InWebFolder(This,pVal) (This)->lpVtbl->get_InWebFolder(This,pVal)
5065#define ISearchAssistantOC_PutProperty(This,bPerLocale,bstrName,bstrValue) (This)->lpVtbl->PutProperty(This,bPerLocale,bstrName,bstrValue)
5066#define ISearchAssistantOC_GetProperty(This,bPerLocale,bstrName,pbstrValue) (This)->lpVtbl->GetProperty(This,bPerLocale,bstrName,pbstrValue)
5067#define ISearchAssistantOC_put_EventHandled(This,rhs) (This)->lpVtbl->put_EventHandled(This,rhs)
5068#define ISearchAssistantOC_ResetNextMenu(This) (This)->lpVtbl->ResetNextMenu(This)
5069#define ISearchAssistantOC_FindOnWeb(This) (This)->lpVtbl->FindOnWeb(This)
5070#define ISearchAssistantOC_FindFilesOrFolders(This) (This)->lpVtbl->FindFilesOrFolders(This)
5071#define ISearchAssistantOC_FindComputer(This) (This)->lpVtbl->FindComputer(This)
5072#define ISearchAssistantOC_FindPrinter(This) (This)->lpVtbl->FindPrinter(This)
5073#define ISearchAssistantOC_FindPeople(This) (This)->lpVtbl->FindPeople(This)
5074#define ISearchAssistantOC_GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue) (This)->lpVtbl->GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue)
5075#define ISearchAssistantOC_NotifySearchSettingsChanged(This) (This)->lpVtbl->NotifySearchSettingsChanged(This)
5076#define ISearchAssistantOC_put_ASProvider(This,pProvider) (This)->lpVtbl->put_ASProvider(This,pProvider)
5077#define ISearchAssistantOC_get_ASProvider(This,pProvider) (This)->lpVtbl->get_ASProvider(This,pProvider)
5078#define ISearchAssistantOC_put_ASSetting(This,pSetting) (This)->lpVtbl->put_ASSetting(This,pSetting)
5079#define ISearchAssistantOC_get_ASSetting(This,pSetting) (This)->lpVtbl->get_ASSetting(This,pSetting)
5080#define ISearchAssistantOC_NETDetectNextNavigate(This) (This)->lpVtbl->NETDetectNextNavigate(This)
5081#define ISearchAssistantOC_PutFindText(This,FindText) (This)->lpVtbl->PutFindText(This,FindText)
5082#define ISearchAssistantOC_get_Version(This,pVersion) (This)->lpVtbl->get_Version(This,pVersion)
5083#define ISearchAssistantOC_EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult) (This)->lpVtbl->EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult)
5084#else
5085/*** IUnknown methods ***/
5086static inline HRESULT ISearchAssistantOC_QueryInterface(ISearchAssistantOC* This,REFIID riid,void **ppvObject) {
5087    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5088}
5089static inline ULONG ISearchAssistantOC_AddRef(ISearchAssistantOC* This) {
5090    return This->lpVtbl->AddRef(This);
5091}
5092static inline ULONG ISearchAssistantOC_Release(ISearchAssistantOC* This) {
5093    return This->lpVtbl->Release(This);
5094}
5095/*** IDispatch methods ***/
5096static inline HRESULT ISearchAssistantOC_GetTypeInfoCount(ISearchAssistantOC* This,UINT *pctinfo) {
5097    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
5098}
5099static inline HRESULT ISearchAssistantOC_GetTypeInfo(ISearchAssistantOC* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
5100    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
5101}
5102static inline HRESULT ISearchAssistantOC_GetIDsOfNames(ISearchAssistantOC* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
5103    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
5104}
5105static inline HRESULT ISearchAssistantOC_Invoke(ISearchAssistantOC* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
5106    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
5107}
5108/*** ISearchAssistantOC methods ***/
5109static inline HRESULT ISearchAssistantOC_AddNextMenuItem(ISearchAssistantOC* This,BSTR bstrText,LONG idItem) {
5110    return This->lpVtbl->AddNextMenuItem(This,bstrText,idItem);
5111}
5112static inline HRESULT ISearchAssistantOC_SetDefaultSearchUrl(ISearchAssistantOC* This,BSTR bstrUrl) {
5113    return This->lpVtbl->SetDefaultSearchUrl(This,bstrUrl);
5114}
5115static inline HRESULT ISearchAssistantOC_NavigateToDefaultSearch(ISearchAssistantOC* This) {
5116    return This->lpVtbl->NavigateToDefaultSearch(This);
5117}
5118static inline HRESULT ISearchAssistantOC_IsRestricted(ISearchAssistantOC* This,BSTR bstrGuid,VARIANT_BOOL *pVal) {
5119    return This->lpVtbl->IsRestricted(This,bstrGuid,pVal);
5120}
5121static inline HRESULT ISearchAssistantOC_get_ShellFeaturesEnabled(ISearchAssistantOC* This,VARIANT_BOOL *pVal) {
5122    return This->lpVtbl->get_ShellFeaturesEnabled(This,pVal);
5123}
5124static inline HRESULT ISearchAssistantOC_get_SearchAssistantDefault(ISearchAssistantOC* This,VARIANT_BOOL *pVal) {
5125    return This->lpVtbl->get_SearchAssistantDefault(This,pVal);
5126}
5127static inline HRESULT ISearchAssistantOC_get_Searches(ISearchAssistantOC* This,ISearches **ppid) {
5128    return This->lpVtbl->get_Searches(This,ppid);
5129}
5130static inline HRESULT ISearchAssistantOC_get_InWebFolder(ISearchAssistantOC* This,VARIANT_BOOL *pVal) {
5131    return This->lpVtbl->get_InWebFolder(This,pVal);
5132}
5133static inline HRESULT ISearchAssistantOC_PutProperty(ISearchAssistantOC* This,VARIANT_BOOL bPerLocale,BSTR bstrName,BSTR bstrValue) {
5134    return This->lpVtbl->PutProperty(This,bPerLocale,bstrName,bstrValue);
5135}
5136static inline HRESULT ISearchAssistantOC_GetProperty(ISearchAssistantOC* This,VARIANT_BOOL bPerLocale,BSTR bstrName,BSTR *pbstrValue) {
5137    return This->lpVtbl->GetProperty(This,bPerLocale,bstrName,pbstrValue);
5138}
5139static inline HRESULT ISearchAssistantOC_put_EventHandled(ISearchAssistantOC* This,VARIANT_BOOL rhs) {
5140    return This->lpVtbl->put_EventHandled(This,rhs);
5141}
5142static inline HRESULT ISearchAssistantOC_ResetNextMenu(ISearchAssistantOC* This) {
5143    return This->lpVtbl->ResetNextMenu(This);
5144}
5145static inline HRESULT ISearchAssistantOC_FindOnWeb(ISearchAssistantOC* This) {
5146    return This->lpVtbl->FindOnWeb(This);
5147}
5148static inline HRESULT ISearchAssistantOC_FindFilesOrFolders(ISearchAssistantOC* This) {
5149    return This->lpVtbl->FindFilesOrFolders(This);
5150}
5151static inline HRESULT ISearchAssistantOC_FindComputer(ISearchAssistantOC* This) {
5152    return This->lpVtbl->FindComputer(This);
5153}
5154static inline HRESULT ISearchAssistantOC_FindPrinter(ISearchAssistantOC* This) {
5155    return This->lpVtbl->FindPrinter(This);
5156}
5157static inline HRESULT ISearchAssistantOC_FindPeople(ISearchAssistantOC* This) {
5158    return This->lpVtbl->FindPeople(This);
5159}
5160static inline HRESULT ISearchAssistantOC_GetSearchAssistantURL(ISearchAssistantOC* This,VARIANT_BOOL bSubstitute,VARIANT_BOOL bCustomize,BSTR *pbstrValue) {
5161    return This->lpVtbl->GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue);
5162}
5163static inline HRESULT ISearchAssistantOC_NotifySearchSettingsChanged(ISearchAssistantOC* This) {
5164    return This->lpVtbl->NotifySearchSettingsChanged(This);
5165}
5166static inline HRESULT ISearchAssistantOC_put_ASProvider(ISearchAssistantOC* This,BSTR pProvider) {
5167    return This->lpVtbl->put_ASProvider(This,pProvider);
5168}
5169static inline HRESULT ISearchAssistantOC_get_ASProvider(ISearchAssistantOC* This,BSTR *pProvider) {
5170    return This->lpVtbl->get_ASProvider(This,pProvider);
5171}
5172static inline HRESULT ISearchAssistantOC_put_ASSetting(ISearchAssistantOC* This,int pSetting) {
5173    return This->lpVtbl->put_ASSetting(This,pSetting);
5174}
5175static inline HRESULT ISearchAssistantOC_get_ASSetting(ISearchAssistantOC* This,int *pSetting) {
5176    return This->lpVtbl->get_ASSetting(This,pSetting);
5177}
5178static inline HRESULT ISearchAssistantOC_NETDetectNextNavigate(ISearchAssistantOC* This) {
5179    return This->lpVtbl->NETDetectNextNavigate(This);
5180}
5181static inline HRESULT ISearchAssistantOC_PutFindText(ISearchAssistantOC* This,BSTR FindText) {
5182    return This->lpVtbl->PutFindText(This,FindText);
5183}
5184static inline HRESULT ISearchAssistantOC_get_Version(ISearchAssistantOC* This,int *pVersion) {
5185    return This->lpVtbl->get_Version(This,pVersion);
5186}
5187static inline HRESULT ISearchAssistantOC_EncodeString(ISearchAssistantOC* This,BSTR bstrValue,BSTR bstrCharSet,VARIANT_BOOL bUseUTF8,BSTR *pbstrResult) {
5188    return This->lpVtbl->EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult);
5189}
5190#endif
5191#endif
5192
5193#endif
5194
5195
5196#endif  /* __ISearchAssistantOC_INTERFACE_DEFINED__ */
5197
5198/*****************************************************************************
5199 * ISearchAssistantOC2 interface
5200 */
5201#ifndef __ISearchAssistantOC2_INTERFACE_DEFINED__
5202#define __ISearchAssistantOC2_INTERFACE_DEFINED__
5203
5204DEFINE_GUID(IID_ISearchAssistantOC2, 0x72423e8f, 0x8011, 0x11d2, 0xbe,0x79, 0x00,0xa0,0xc9,0xa8,0x3d,0xa2);
5205#if defined(__cplusplus) && !defined(CINTERFACE)
5206MIDL_INTERFACE("72423e8f-8011-11d2-be79-00a0c9a83da2")
5207ISearchAssistantOC2 : public ISearchAssistantOC
5208{
5209    virtual HRESULT STDMETHODCALLTYPE get_ShowFindPrinter(
5210        VARIANT_BOOL *pbShowFindPrinter) = 0;
5211
5212};
5213#ifdef __CRT_UUID_DECL
5214__CRT_UUID_DECL(ISearchAssistantOC2, 0x72423e8f, 0x8011, 0x11d2, 0xbe,0x79, 0x00,0xa0,0xc9,0xa8,0x3d,0xa2)
5215#endif
5216#else
5217typedef struct ISearchAssistantOC2Vtbl {
5218    BEGIN_INTERFACE
5219
5220    /*** IUnknown methods ***/
5221    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5222        ISearchAssistantOC2 *This,
5223        REFIID riid,
5224        void **ppvObject);
5225
5226    ULONG (STDMETHODCALLTYPE *AddRef)(
5227        ISearchAssistantOC2 *This);
5228
5229    ULONG (STDMETHODCALLTYPE *Release)(
5230        ISearchAssistantOC2 *This);
5231
5232    /*** IDispatch methods ***/
5233    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
5234        ISearchAssistantOC2 *This,
5235        UINT *pctinfo);
5236
5237    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
5238        ISearchAssistantOC2 *This,
5239        UINT iTInfo,
5240        LCID lcid,
5241        ITypeInfo **ppTInfo);
5242
5243    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
5244        ISearchAssistantOC2 *This,
5245        REFIID riid,
5246        LPOLESTR *rgszNames,
5247        UINT cNames,
5248        LCID lcid,
5249        DISPID *rgDispId);
5250
5251    HRESULT (STDMETHODCALLTYPE *Invoke)(
5252        ISearchAssistantOC2 *This,
5253        DISPID dispIdMember,
5254        REFIID riid,
5255        LCID lcid,
5256        WORD wFlags,
5257        DISPPARAMS *pDispParams,
5258        VARIANT *pVarResult,
5259        EXCEPINFO *pExcepInfo,
5260        UINT *puArgErr);
5261
5262    /*** ISearchAssistantOC methods ***/
5263    HRESULT (STDMETHODCALLTYPE *AddNextMenuItem)(
5264        ISearchAssistantOC2 *This,
5265        BSTR bstrText,
5266        LONG idItem);
5267
5268    HRESULT (STDMETHODCALLTYPE *SetDefaultSearchUrl)(
5269        ISearchAssistantOC2 *This,
5270        BSTR bstrUrl);
5271
5272    HRESULT (STDMETHODCALLTYPE *NavigateToDefaultSearch)(
5273        ISearchAssistantOC2 *This);
5274
5275    HRESULT (STDMETHODCALLTYPE *IsRestricted)(
5276        ISearchAssistantOC2 *This,
5277        BSTR bstrGuid,
5278        VARIANT_BOOL *pVal);
5279
5280    HRESULT (STDMETHODCALLTYPE *get_ShellFeaturesEnabled)(
5281        ISearchAssistantOC2 *This,
5282        VARIANT_BOOL *pVal);
5283
5284    HRESULT (STDMETHODCALLTYPE *get_SearchAssistantDefault)(
5285        ISearchAssistantOC2 *This,
5286        VARIANT_BOOL *pVal);
5287
5288    HRESULT (STDMETHODCALLTYPE *get_Searches)(
5289        ISearchAssistantOC2 *This,
5290        ISearches **ppid);
5291
5292    HRESULT (STDMETHODCALLTYPE *get_InWebFolder)(
5293        ISearchAssistantOC2 *This,
5294        VARIANT_BOOL *pVal);
5295
5296    HRESULT (STDMETHODCALLTYPE *PutProperty)(
5297        ISearchAssistantOC2 *This,
5298        VARIANT_BOOL bPerLocale,
5299        BSTR bstrName,
5300        BSTR bstrValue);
5301
5302    HRESULT (STDMETHODCALLTYPE *GetProperty)(
5303        ISearchAssistantOC2 *This,
5304        VARIANT_BOOL bPerLocale,
5305        BSTR bstrName,
5306        BSTR *pbstrValue);
5307
5308    HRESULT (STDMETHODCALLTYPE *put_EventHandled)(
5309        ISearchAssistantOC2 *This,
5310        VARIANT_BOOL rhs);
5311
5312    HRESULT (STDMETHODCALLTYPE *ResetNextMenu)(
5313        ISearchAssistantOC2 *This);
5314
5315    HRESULT (STDMETHODCALLTYPE *FindOnWeb)(
5316        ISearchAssistantOC2 *This);
5317
5318    HRESULT (STDMETHODCALLTYPE *FindFilesOrFolders)(
5319        ISearchAssistantOC2 *This);
5320
5321    HRESULT (STDMETHODCALLTYPE *FindComputer)(
5322        ISearchAssistantOC2 *This);
5323
5324    HRESULT (STDMETHODCALLTYPE *FindPrinter)(
5325        ISearchAssistantOC2 *This);
5326
5327    HRESULT (STDMETHODCALLTYPE *FindPeople)(
5328        ISearchAssistantOC2 *This);
5329
5330    HRESULT (STDMETHODCALLTYPE *GetSearchAssistantURL)(
5331        ISearchAssistantOC2 *This,
5332        VARIANT_BOOL bSubstitute,
5333        VARIANT_BOOL bCustomize,
5334        BSTR *pbstrValue);
5335
5336    HRESULT (STDMETHODCALLTYPE *NotifySearchSettingsChanged)(
5337        ISearchAssistantOC2 *This);
5338
5339    HRESULT (STDMETHODCALLTYPE *put_ASProvider)(
5340        ISearchAssistantOC2 *This,
5341        BSTR pProvider);
5342
5343    HRESULT (STDMETHODCALLTYPE *get_ASProvider)(
5344        ISearchAssistantOC2 *This,
5345        BSTR *pProvider);
5346
5347    HRESULT (STDMETHODCALLTYPE *put_ASSetting)(
5348        ISearchAssistantOC2 *This,
5349        int pSetting);
5350
5351    HRESULT (STDMETHODCALLTYPE *get_ASSetting)(
5352        ISearchAssistantOC2 *This,
5353        int *pSetting);
5354
5355    HRESULT (STDMETHODCALLTYPE *NETDetectNextNavigate)(
5356        ISearchAssistantOC2 *This);
5357
5358    HRESULT (STDMETHODCALLTYPE *PutFindText)(
5359        ISearchAssistantOC2 *This,
5360        BSTR FindText);
5361
5362    HRESULT (STDMETHODCALLTYPE *get_Version)(
5363        ISearchAssistantOC2 *This,
5364        int *pVersion);
5365
5366    HRESULT (STDMETHODCALLTYPE *EncodeString)(
5367        ISearchAssistantOC2 *This,
5368        BSTR bstrValue,
5369        BSTR bstrCharSet,
5370        VARIANT_BOOL bUseUTF8,
5371        BSTR *pbstrResult);
5372
5373    /*** ISearchAssistantOC2 methods ***/
5374    HRESULT (STDMETHODCALLTYPE *get_ShowFindPrinter)(
5375        ISearchAssistantOC2 *This,
5376        VARIANT_BOOL *pbShowFindPrinter);
5377
5378    END_INTERFACE
5379} ISearchAssistantOC2Vtbl;
5380
5381interface ISearchAssistantOC2 {
5382    CONST_VTBL ISearchAssistantOC2Vtbl* lpVtbl;
5383};
5384
5385#ifdef COBJMACROS
5386#ifndef WIDL_C_INLINE_WRAPPERS
5387/*** IUnknown methods ***/
5388#define ISearchAssistantOC2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5389#define ISearchAssistantOC2_AddRef(This) (This)->lpVtbl->AddRef(This)
5390#define ISearchAssistantOC2_Release(This) (This)->lpVtbl->Release(This)
5391/*** IDispatch methods ***/
5392#define ISearchAssistantOC2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
5393#define ISearchAssistantOC2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
5394#define ISearchAssistantOC2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
5395#define ISearchAssistantOC2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
5396/*** ISearchAssistantOC methods ***/
5397#define ISearchAssistantOC2_AddNextMenuItem(This,bstrText,idItem) (This)->lpVtbl->AddNextMenuItem(This,bstrText,idItem)
5398#define ISearchAssistantOC2_SetDefaultSearchUrl(This,bstrUrl) (This)->lpVtbl->SetDefaultSearchUrl(This,bstrUrl)
5399#define ISearchAssistantOC2_NavigateToDefaultSearch(This) (This)->lpVtbl->NavigateToDefaultSearch(This)
5400#define ISearchAssistantOC2_IsRestricted(This,bstrGuid,pVal) (This)->lpVtbl->IsRestricted(This,bstrGuid,pVal)
5401#define ISearchAssistantOC2_get_ShellFeaturesEnabled(This,pVal) (This)->lpVtbl->get_ShellFeaturesEnabled(This,pVal)
5402#define ISearchAssistantOC2_get_SearchAssistantDefault(This,pVal) (This)->lpVtbl->get_SearchAssistantDefault(This,pVal)
5403#define ISearchAssistantOC2_get_Searches(This,ppid) (This)->lpVtbl->get_Searches(This,ppid)
5404#define ISearchAssistantOC2_get_InWebFolder(This,pVal) (This)->lpVtbl->get_InWebFolder(This,pVal)
5405#define ISearchAssistantOC2_PutProperty(This,bPerLocale,bstrName,bstrValue) (This)->lpVtbl->PutProperty(This,bPerLocale,bstrName,bstrValue)
5406#define ISearchAssistantOC2_GetProperty(This,bPerLocale,bstrName,pbstrValue) (This)->lpVtbl->GetProperty(This,bPerLocale,bstrName,pbstrValue)
5407#define ISearchAssistantOC2_put_EventHandled(This,rhs) (This)->lpVtbl->put_EventHandled(This,rhs)
5408#define ISearchAssistantOC2_ResetNextMenu(This) (This)->lpVtbl->ResetNextMenu(This)
5409#define ISearchAssistantOC2_FindOnWeb(This) (This)->lpVtbl->FindOnWeb(This)
5410#define ISearchAssistantOC2_FindFilesOrFolders(This) (This)->lpVtbl->FindFilesOrFolders(This)
5411#define ISearchAssistantOC2_FindComputer(This) (This)->lpVtbl->FindComputer(This)
5412#define ISearchAssistantOC2_FindPrinter(This) (This)->lpVtbl->FindPrinter(This)
5413#define ISearchAssistantOC2_FindPeople(This) (This)->lpVtbl->FindPeople(This)
5414#define ISearchAssistantOC2_GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue) (This)->lpVtbl->GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue)
5415#define ISearchAssistantOC2_NotifySearchSettingsChanged(This) (This)->lpVtbl->NotifySearchSettingsChanged(This)
5416#define ISearchAssistantOC2_put_ASProvider(This,pProvider) (This)->lpVtbl->put_ASProvider(This,pProvider)
5417#define ISearchAssistantOC2_get_ASProvider(This,pProvider) (This)->lpVtbl->get_ASProvider(This,pProvider)
5418#define ISearchAssistantOC2_put_ASSetting(This,pSetting) (This)->lpVtbl->put_ASSetting(This,pSetting)
5419#define ISearchAssistantOC2_get_ASSetting(This,pSetting) (This)->lpVtbl->get_ASSetting(This,pSetting)
5420#define ISearchAssistantOC2_NETDetectNextNavigate(This) (This)->lpVtbl->NETDetectNextNavigate(This)
5421#define ISearchAssistantOC2_PutFindText(This,FindText) (This)->lpVtbl->PutFindText(This,FindText)
5422#define ISearchAssistantOC2_get_Version(This,pVersion) (This)->lpVtbl->get_Version(This,pVersion)
5423#define ISearchAssistantOC2_EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult) (This)->lpVtbl->EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult)
5424/*** ISearchAssistantOC2 methods ***/
5425#define ISearchAssistantOC2_get_ShowFindPrinter(This,pbShowFindPrinter) (This)->lpVtbl->get_ShowFindPrinter(This,pbShowFindPrinter)
5426#else
5427/*** IUnknown methods ***/
5428static inline HRESULT ISearchAssistantOC2_QueryInterface(ISearchAssistantOC2* This,REFIID riid,void **ppvObject) {
5429    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5430}
5431static inline ULONG ISearchAssistantOC2_AddRef(ISearchAssistantOC2* This) {
5432    return This->lpVtbl->AddRef(This);
5433}
5434static inline ULONG ISearchAssistantOC2_Release(ISearchAssistantOC2* This) {
5435    return This->lpVtbl->Release(This);
5436}
5437/*** IDispatch methods ***/
5438static inline HRESULT ISearchAssistantOC2_GetTypeInfoCount(ISearchAssistantOC2* This,UINT *pctinfo) {
5439    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
5440}
5441static inline HRESULT ISearchAssistantOC2_GetTypeInfo(ISearchAssistantOC2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
5442    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
5443}
5444static inline HRESULT ISearchAssistantOC2_GetIDsOfNames(ISearchAssistantOC2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
5445    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
5446}
5447static inline HRESULT ISearchAssistantOC2_Invoke(ISearchAssistantOC2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
5448    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
5449}
5450/*** ISearchAssistantOC methods ***/
5451static inline HRESULT ISearchAssistantOC2_AddNextMenuItem(ISearchAssistantOC2* This,BSTR bstrText,LONG idItem) {
5452    return This->lpVtbl->AddNextMenuItem(This,bstrText,idItem);
5453}
5454static inline HRESULT ISearchAssistantOC2_SetDefaultSearchUrl(ISearchAssistantOC2* This,BSTR bstrUrl) {
5455    return This->lpVtbl->SetDefaultSearchUrl(This,bstrUrl);
5456}
5457static inline HRESULT ISearchAssistantOC2_NavigateToDefaultSearch(ISearchAssistantOC2* This) {
5458    return This->lpVtbl->NavigateToDefaultSearch(This);
5459}
5460static inline HRESULT ISearchAssistantOC2_IsRestricted(ISearchAssistantOC2* This,BSTR bstrGuid,VARIANT_BOOL *pVal) {
5461    return This->lpVtbl->IsRestricted(This,bstrGuid,pVal);
5462}
5463static inline HRESULT ISearchAssistantOC2_get_ShellFeaturesEnabled(ISearchAssistantOC2* This,VARIANT_BOOL *pVal) {
5464    return This->lpVtbl->get_ShellFeaturesEnabled(This,pVal);
5465}
5466static inline HRESULT ISearchAssistantOC2_get_SearchAssistantDefault(ISearchAssistantOC2* This,VARIANT_BOOL *pVal) {
5467    return This->lpVtbl->get_SearchAssistantDefault(This,pVal);
5468}
5469static inline HRESULT ISearchAssistantOC2_get_Searches(ISearchAssistantOC2* This,ISearches **ppid) {
5470    return This->lpVtbl->get_Searches(This,ppid);
5471}
5472static inline HRESULT ISearchAssistantOC2_get_InWebFolder(ISearchAssistantOC2* This,VARIANT_BOOL *pVal) {
5473    return This->lpVtbl->get_InWebFolder(This,pVal);
5474}
5475static inline HRESULT ISearchAssistantOC2_PutProperty(ISearchAssistantOC2* This,VARIANT_BOOL bPerLocale,BSTR bstrName,BSTR bstrValue) {
5476    return This->lpVtbl->PutProperty(This,bPerLocale,bstrName,bstrValue);
5477}
5478static inline HRESULT ISearchAssistantOC2_GetProperty(ISearchAssistantOC2* This,VARIANT_BOOL bPerLocale,BSTR bstrName,BSTR *pbstrValue) {
5479    return This->lpVtbl->GetProperty(This,bPerLocale,bstrName,pbstrValue);
5480}
5481static inline HRESULT ISearchAssistantOC2_put_EventHandled(ISearchAssistantOC2* This,VARIANT_BOOL rhs) {
5482    return This->lpVtbl->put_EventHandled(This,rhs);
5483}
5484static inline HRESULT ISearchAssistantOC2_ResetNextMenu(ISearchAssistantOC2* This) {
5485    return This->lpVtbl->ResetNextMenu(This);
5486}
5487static inline HRESULT ISearchAssistantOC2_FindOnWeb(ISearchAssistantOC2* This) {
5488    return This->lpVtbl->FindOnWeb(This);
5489}
5490static inline HRESULT ISearchAssistantOC2_FindFilesOrFolders(ISearchAssistantOC2* This) {
5491    return This->lpVtbl->FindFilesOrFolders(This);
5492}
5493static inline HRESULT ISearchAssistantOC2_FindComputer(ISearchAssistantOC2* This) {
5494    return This->lpVtbl->FindComputer(This);
5495}
5496static inline HRESULT ISearchAssistantOC2_FindPrinter(ISearchAssistantOC2* This) {
5497    return This->lpVtbl->FindPrinter(This);
5498}
5499static inline HRESULT ISearchAssistantOC2_FindPeople(ISearchAssistantOC2* This) {
5500    return This->lpVtbl->FindPeople(This);
5501}
5502static inline HRESULT ISearchAssistantOC2_GetSearchAssistantURL(ISearchAssistantOC2* This,VARIANT_BOOL bSubstitute,VARIANT_BOOL bCustomize,BSTR *pbstrValue) {
5503    return This->lpVtbl->GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue);
5504}
5505static inline HRESULT ISearchAssistantOC2_NotifySearchSettingsChanged(ISearchAssistantOC2* This) {
5506    return This->lpVtbl->NotifySearchSettingsChanged(This);
5507}
5508static inline HRESULT ISearchAssistantOC2_put_ASProvider(ISearchAssistantOC2* This,BSTR pProvider) {
5509    return This->lpVtbl->put_ASProvider(This,pProvider);
5510}
5511static inline HRESULT ISearchAssistantOC2_get_ASProvider(ISearchAssistantOC2* This,BSTR *pProvider) {
5512    return This->lpVtbl->get_ASProvider(This,pProvider);
5513}
5514static inline HRESULT ISearchAssistantOC2_put_ASSetting(ISearchAssistantOC2* This,int pSetting) {
5515    return This->lpVtbl->put_ASSetting(This,pSetting);
5516}
5517static inline HRESULT ISearchAssistantOC2_get_ASSetting(ISearchAssistantOC2* This,int *pSetting) {
5518    return This->lpVtbl->get_ASSetting(This,pSetting);
5519}
5520static inline HRESULT ISearchAssistantOC2_NETDetectNextNavigate(ISearchAssistantOC2* This) {
5521    return This->lpVtbl->NETDetectNextNavigate(This);
5522}
5523static inline HRESULT ISearchAssistantOC2_PutFindText(ISearchAssistantOC2* This,BSTR FindText) {
5524    return This->lpVtbl->PutFindText(This,FindText);
5525}
5526static inline HRESULT ISearchAssistantOC2_get_Version(ISearchAssistantOC2* This,int *pVersion) {
5527    return This->lpVtbl->get_Version(This,pVersion);
5528}
5529static inline HRESULT ISearchAssistantOC2_EncodeString(ISearchAssistantOC2* This,BSTR bstrValue,BSTR bstrCharSet,VARIANT_BOOL bUseUTF8,BSTR *pbstrResult) {
5530    return This->lpVtbl->EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult);
5531}
5532/*** ISearchAssistantOC2 methods ***/
5533static inline HRESULT ISearchAssistantOC2_get_ShowFindPrinter(ISearchAssistantOC2* This,VARIANT_BOOL *pbShowFindPrinter) {
5534    return This->lpVtbl->get_ShowFindPrinter(This,pbShowFindPrinter);
5535}
5536#endif
5537#endif
5538
5539#endif
5540
5541
5542#endif  /* __ISearchAssistantOC2_INTERFACE_DEFINED__ */
5543
5544/*****************************************************************************
5545 * ISearchAssistantOC3 interface
5546 */
5547#ifndef __ISearchAssistantOC3_INTERFACE_DEFINED__
5548#define __ISearchAssistantOC3_INTERFACE_DEFINED__
5549
5550DEFINE_GUID(IID_ISearchAssistantOC3, 0x72423e8f, 0x8011, 0x11d2, 0xbe,0x79, 0x00,0xa0,0xc9,0xa8,0x3d,0xa3);
5551#if defined(__cplusplus) && !defined(CINTERFACE)
5552MIDL_INTERFACE("72423e8f-8011-11d2-be79-00a0c9a83da3")
5553ISearchAssistantOC3 : public ISearchAssistantOC2
5554{
5555    virtual HRESULT STDMETHODCALLTYPE get_SearchCompanionAvailable(
5556        VARIANT_BOOL *pbAvailable) = 0;
5557
5558    virtual HRESULT STDMETHODCALLTYPE put_UseSearchCompanion(
5559        VARIANT_BOOL pbUseSC) = 0;
5560
5561    virtual HRESULT STDMETHODCALLTYPE get_UseSearchCompanion(
5562        VARIANT_BOOL *pbUseSC) = 0;
5563
5564};
5565#ifdef __CRT_UUID_DECL
5566__CRT_UUID_DECL(ISearchAssistantOC3, 0x72423e8f, 0x8011, 0x11d2, 0xbe,0x79, 0x00,0xa0,0xc9,0xa8,0x3d,0xa3)
5567#endif
5568#else
5569typedef struct ISearchAssistantOC3Vtbl {
5570    BEGIN_INTERFACE
5571
5572    /*** IUnknown methods ***/
5573    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5574        ISearchAssistantOC3 *This,
5575        REFIID riid,
5576        void **ppvObject);
5577
5578    ULONG (STDMETHODCALLTYPE *AddRef)(
5579        ISearchAssistantOC3 *This);
5580
5581    ULONG (STDMETHODCALLTYPE *Release)(
5582        ISearchAssistantOC3 *This);
5583
5584    /*** IDispatch methods ***/
5585    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
5586        ISearchAssistantOC3 *This,
5587        UINT *pctinfo);
5588
5589    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
5590        ISearchAssistantOC3 *This,
5591        UINT iTInfo,
5592        LCID lcid,
5593        ITypeInfo **ppTInfo);
5594
5595    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
5596        ISearchAssistantOC3 *This,
5597        REFIID riid,
5598        LPOLESTR *rgszNames,
5599        UINT cNames,
5600        LCID lcid,
5601        DISPID *rgDispId);
5602
5603    HRESULT (STDMETHODCALLTYPE *Invoke)(
5604        ISearchAssistantOC3 *This,
5605        DISPID dispIdMember,
5606        REFIID riid,
5607        LCID lcid,
5608        WORD wFlags,
5609        DISPPARAMS *pDispParams,
5610        VARIANT *pVarResult,
5611        EXCEPINFO *pExcepInfo,
5612        UINT *puArgErr);
5613
5614    /*** ISearchAssistantOC methods ***/
5615    HRESULT (STDMETHODCALLTYPE *AddNextMenuItem)(
5616        ISearchAssistantOC3 *This,
5617        BSTR bstrText,
5618        LONG idItem);
5619
5620    HRESULT (STDMETHODCALLTYPE *SetDefaultSearchUrl)(
5621        ISearchAssistantOC3 *This,
5622        BSTR bstrUrl);
5623
5624    HRESULT (STDMETHODCALLTYPE *NavigateToDefaultSearch)(
5625        ISearchAssistantOC3 *This);
5626
5627    HRESULT (STDMETHODCALLTYPE *IsRestricted)(
5628        ISearchAssistantOC3 *This,
5629        BSTR bstrGuid,
5630        VARIANT_BOOL *pVal);
5631
5632    HRESULT (STDMETHODCALLTYPE *get_ShellFeaturesEnabled)(
5633        ISearchAssistantOC3 *This,
5634        VARIANT_BOOL *pVal);
5635
5636    HRESULT (STDMETHODCALLTYPE *get_SearchAssistantDefault)(
5637        ISearchAssistantOC3 *This,
5638        VARIANT_BOOL *pVal);
5639
5640    HRESULT (STDMETHODCALLTYPE *get_Searches)(
5641        ISearchAssistantOC3 *This,
5642        ISearches **ppid);
5643
5644    HRESULT (STDMETHODCALLTYPE *get_InWebFolder)(
5645        ISearchAssistantOC3 *This,
5646        VARIANT_BOOL *pVal);
5647
5648    HRESULT (STDMETHODCALLTYPE *PutProperty)(
5649        ISearchAssistantOC3 *This,
5650        VARIANT_BOOL bPerLocale,
5651        BSTR bstrName,
5652        BSTR bstrValue);
5653
5654    HRESULT (STDMETHODCALLTYPE *GetProperty)(
5655        ISearchAssistantOC3 *This,
5656        VARIANT_BOOL bPerLocale,
5657        BSTR bstrName,
5658        BSTR *pbstrValue);
5659
5660    HRESULT (STDMETHODCALLTYPE *put_EventHandled)(
5661        ISearchAssistantOC3 *This,
5662        VARIANT_BOOL rhs);
5663
5664    HRESULT (STDMETHODCALLTYPE *ResetNextMenu)(
5665        ISearchAssistantOC3 *This);
5666
5667    HRESULT (STDMETHODCALLTYPE *FindOnWeb)(
5668        ISearchAssistantOC3 *This);
5669
5670    HRESULT (STDMETHODCALLTYPE *FindFilesOrFolders)(
5671        ISearchAssistantOC3 *This);
5672
5673    HRESULT (STDMETHODCALLTYPE *FindComputer)(
5674        ISearchAssistantOC3 *This);
5675
5676    HRESULT (STDMETHODCALLTYPE *FindPrinter)(
5677        ISearchAssistantOC3 *This);
5678
5679    HRESULT (STDMETHODCALLTYPE *FindPeople)(
5680        ISearchAssistantOC3 *This);
5681
5682    HRESULT (STDMETHODCALLTYPE *GetSearchAssistantURL)(
5683        ISearchAssistantOC3 *This,
5684        VARIANT_BOOL bSubstitute,
5685        VARIANT_BOOL bCustomize,
5686        BSTR *pbstrValue);
5687
5688    HRESULT (STDMETHODCALLTYPE *NotifySearchSettingsChanged)(
5689        ISearchAssistantOC3 *This);
5690
5691    HRESULT (STDMETHODCALLTYPE *put_ASProvider)(
5692        ISearchAssistantOC3 *This,
5693        BSTR pProvider);
5694
5695    HRESULT (STDMETHODCALLTYPE *get_ASProvider)(
5696        ISearchAssistantOC3 *This,
5697        BSTR *pProvider);
5698
5699    HRESULT (STDMETHODCALLTYPE *put_ASSetting)(
5700        ISearchAssistantOC3 *This,
5701        int pSetting);
5702
5703    HRESULT (STDMETHODCALLTYPE *get_ASSetting)(
5704        ISearchAssistantOC3 *This,
5705        int *pSetting);
5706
5707    HRESULT (STDMETHODCALLTYPE *NETDetectNextNavigate)(
5708        ISearchAssistantOC3 *This);
5709
5710    HRESULT (STDMETHODCALLTYPE *PutFindText)(
5711        ISearchAssistantOC3 *This,
5712        BSTR FindText);
5713
5714    HRESULT (STDMETHODCALLTYPE *get_Version)(
5715        ISearchAssistantOC3 *This,
5716        int *pVersion);
5717
5718    HRESULT (STDMETHODCALLTYPE *EncodeString)(
5719        ISearchAssistantOC3 *This,
5720        BSTR bstrValue,
5721        BSTR bstrCharSet,
5722        VARIANT_BOOL bUseUTF8,
5723        BSTR *pbstrResult);
5724
5725    /*** ISearchAssistantOC2 methods ***/
5726    HRESULT (STDMETHODCALLTYPE *get_ShowFindPrinter)(
5727        ISearchAssistantOC3 *This,
5728        VARIANT_BOOL *pbShowFindPrinter);
5729
5730    /*** ISearchAssistantOC3 methods ***/
5731    HRESULT (STDMETHODCALLTYPE *get_SearchCompanionAvailable)(
5732        ISearchAssistantOC3 *This,
5733        VARIANT_BOOL *pbAvailable);
5734
5735    HRESULT (STDMETHODCALLTYPE *put_UseSearchCompanion)(
5736        ISearchAssistantOC3 *This,
5737        VARIANT_BOOL pbUseSC);
5738
5739    HRESULT (STDMETHODCALLTYPE *get_UseSearchCompanion)(
5740        ISearchAssistantOC3 *This,
5741        VARIANT_BOOL *pbUseSC);
5742
5743    END_INTERFACE
5744} ISearchAssistantOC3Vtbl;
5745
5746interface ISearchAssistantOC3 {
5747    CONST_VTBL ISearchAssistantOC3Vtbl* lpVtbl;
5748};
5749
5750#ifdef COBJMACROS
5751#ifndef WIDL_C_INLINE_WRAPPERS
5752/*** IUnknown methods ***/
5753#define ISearchAssistantOC3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5754#define ISearchAssistantOC3_AddRef(This) (This)->lpVtbl->AddRef(This)
5755#define ISearchAssistantOC3_Release(This) (This)->lpVtbl->Release(This)
5756/*** IDispatch methods ***/
5757#define ISearchAssistantOC3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
5758#define ISearchAssistantOC3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
5759#define ISearchAssistantOC3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
5760#define ISearchAssistantOC3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
5761/*** ISearchAssistantOC methods ***/
5762#define ISearchAssistantOC3_AddNextMenuItem(This,bstrText,idItem) (This)->lpVtbl->AddNextMenuItem(This,bstrText,idItem)
5763#define ISearchAssistantOC3_SetDefaultSearchUrl(This,bstrUrl) (This)->lpVtbl->SetDefaultSearchUrl(This,bstrUrl)
5764#define ISearchAssistantOC3_NavigateToDefaultSearch(This) (This)->lpVtbl->NavigateToDefaultSearch(This)
5765#define ISearchAssistantOC3_IsRestricted(This,bstrGuid,pVal) (This)->lpVtbl->IsRestricted(This,bstrGuid,pVal)
5766#define ISearchAssistantOC3_get_ShellFeaturesEnabled(This,pVal) (This)->lpVtbl->get_ShellFeaturesEnabled(This,pVal)
5767#define ISearchAssistantOC3_get_SearchAssistantDefault(This,pVal) (This)->lpVtbl->get_SearchAssistantDefault(This,pVal)
5768#define ISearchAssistantOC3_get_Searches(This,ppid) (This)->lpVtbl->get_Searches(This,ppid)
5769#define ISearchAssistantOC3_get_InWebFolder(This,pVal) (This)->lpVtbl->get_InWebFolder(This,pVal)
5770#define ISearchAssistantOC3_PutProperty(This,bPerLocale,bstrName,bstrValue) (This)->lpVtbl->PutProperty(This,bPerLocale,bstrName,bstrValue)
5771#define ISearchAssistantOC3_GetProperty(This,bPerLocale,bstrName,pbstrValue) (This)->lpVtbl->GetProperty(This,bPerLocale,bstrName,pbstrValue)
5772#define ISearchAssistantOC3_put_EventHandled(This,rhs) (This)->lpVtbl->put_EventHandled(This,rhs)
5773#define ISearchAssistantOC3_ResetNextMenu(This) (This)->lpVtbl->ResetNextMenu(This)
5774#define ISearchAssistantOC3_FindOnWeb(This) (This)->lpVtbl->FindOnWeb(This)
5775#define ISearchAssistantOC3_FindFilesOrFolders(This) (This)->lpVtbl->FindFilesOrFolders(This)
5776#define ISearchAssistantOC3_FindComputer(This) (This)->lpVtbl->FindComputer(This)
5777#define ISearchAssistantOC3_FindPrinter(This) (This)->lpVtbl->FindPrinter(This)
5778#define ISearchAssistantOC3_FindPeople(This) (This)->lpVtbl->FindPeople(This)
5779#define ISearchAssistantOC3_GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue) (This)->lpVtbl->GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue)
5780#define ISearchAssistantOC3_NotifySearchSettingsChanged(This) (This)->lpVtbl->NotifySearchSettingsChanged(This)
5781#define ISearchAssistantOC3_put_ASProvider(This,pProvider) (This)->lpVtbl->put_ASProvider(This,pProvider)
5782#define ISearchAssistantOC3_get_ASProvider(This,pProvider) (This)->lpVtbl->get_ASProvider(This,pProvider)
5783#define ISearchAssistantOC3_put_ASSetting(This,pSetting) (This)->lpVtbl->put_ASSetting(This,pSetting)
5784#define ISearchAssistantOC3_get_ASSetting(This,pSetting) (This)->lpVtbl->get_ASSetting(This,pSetting)
5785#define ISearchAssistantOC3_NETDetectNextNavigate(This) (This)->lpVtbl->NETDetectNextNavigate(This)
5786#define ISearchAssistantOC3_PutFindText(This,FindText) (This)->lpVtbl->PutFindText(This,FindText)
5787#define ISearchAssistantOC3_get_Version(This,pVersion) (This)->lpVtbl->get_Version(This,pVersion)
5788#define ISearchAssistantOC3_EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult) (This)->lpVtbl->EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult)
5789/*** ISearchAssistantOC2 methods ***/
5790#define ISearchAssistantOC3_get_ShowFindPrinter(This,pbShowFindPrinter) (This)->lpVtbl->get_ShowFindPrinter(This,pbShowFindPrinter)
5791/*** ISearchAssistantOC3 methods ***/
5792#define ISearchAssistantOC3_get_SearchCompanionAvailable(This,pbAvailable) (This)->lpVtbl->get_SearchCompanionAvailable(This,pbAvailable)
5793#define ISearchAssistantOC3_put_UseSearchCompanion(This,pbUseSC) (This)->lpVtbl->put_UseSearchCompanion(This,pbUseSC)
5794#define ISearchAssistantOC3_get_UseSearchCompanion(This,pbUseSC) (This)->lpVtbl->get_UseSearchCompanion(This,pbUseSC)
5795#else
5796/*** IUnknown methods ***/
5797static inline HRESULT ISearchAssistantOC3_QueryInterface(ISearchAssistantOC3* This,REFIID riid,void **ppvObject) {
5798    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5799}
5800static inline ULONG ISearchAssistantOC3_AddRef(ISearchAssistantOC3* This) {
5801    return This->lpVtbl->AddRef(This);
5802}
5803static inline ULONG ISearchAssistantOC3_Release(ISearchAssistantOC3* This) {
5804    return This->lpVtbl->Release(This);
5805}
5806/*** IDispatch methods ***/
5807static inline HRESULT ISearchAssistantOC3_GetTypeInfoCount(ISearchAssistantOC3* This,UINT *pctinfo) {
5808    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
5809}
5810static inline HRESULT ISearchAssistantOC3_GetTypeInfo(ISearchAssistantOC3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
5811    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
5812}
5813static inline HRESULT ISearchAssistantOC3_GetIDsOfNames(ISearchAssistantOC3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
5814    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
5815}
5816static inline HRESULT ISearchAssistantOC3_Invoke(ISearchAssistantOC3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
5817    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
5818}
5819/*** ISearchAssistantOC methods ***/
5820static inline HRESULT ISearchAssistantOC3_AddNextMenuItem(ISearchAssistantOC3* This,BSTR bstrText,LONG idItem) {
5821    return This->lpVtbl->AddNextMenuItem(This,bstrText,idItem);
5822}
5823static inline HRESULT ISearchAssistantOC3_SetDefaultSearchUrl(ISearchAssistantOC3* This,BSTR bstrUrl) {
5824    return This->lpVtbl->SetDefaultSearchUrl(This,bstrUrl);
5825}
5826static inline HRESULT ISearchAssistantOC3_NavigateToDefaultSearch(ISearchAssistantOC3* This) {
5827    return This->lpVtbl->NavigateToDefaultSearch(This);
5828}
5829static inline HRESULT ISearchAssistantOC3_IsRestricted(ISearchAssistantOC3* This,BSTR bstrGuid,VARIANT_BOOL *pVal) {
5830    return This->lpVtbl->IsRestricted(This,bstrGuid,pVal);
5831}
5832static inline HRESULT ISearchAssistantOC3_get_ShellFeaturesEnabled(ISearchAssistantOC3* This,VARIANT_BOOL *pVal) {
5833    return This->lpVtbl->get_ShellFeaturesEnabled(This,pVal);
5834}
5835static inline HRESULT ISearchAssistantOC3_get_SearchAssistantDefault(ISearchAssistantOC3* This,VARIANT_BOOL *pVal) {
5836    return This->lpVtbl->get_SearchAssistantDefault(This,pVal);
5837}
5838static inline HRESULT ISearchAssistantOC3_get_Searches(ISearchAssistantOC3* This,ISearches **ppid) {
5839    return This->lpVtbl->get_Searches(This,ppid);
5840}
5841static inline HRESULT ISearchAssistantOC3_get_InWebFolder(ISearchAssistantOC3* This,VARIANT_BOOL *pVal) {
5842    return This->lpVtbl->get_InWebFolder(This,pVal);
5843}
5844static inline HRESULT ISearchAssistantOC3_PutProperty(ISearchAssistantOC3* This,VARIANT_BOOL bPerLocale,BSTR bstrName,BSTR bstrValue) {
5845    return This->lpVtbl->PutProperty(This,bPerLocale,bstrName,bstrValue);
5846}
5847static inline HRESULT ISearchAssistantOC3_GetProperty(ISearchAssistantOC3* This,VARIANT_BOOL bPerLocale,BSTR bstrName,BSTR *pbstrValue) {
5848    return This->lpVtbl->GetProperty(This,bPerLocale,bstrName,pbstrValue);
5849}
5850static inline HRESULT ISearchAssistantOC3_put_EventHandled(ISearchAssistantOC3* This,VARIANT_BOOL rhs) {
5851    return This->lpVtbl->put_EventHandled(This,rhs);
5852}
5853static inline HRESULT ISearchAssistantOC3_ResetNextMenu(ISearchAssistantOC3* This) {
5854    return This->lpVtbl->ResetNextMenu(This);
5855}
5856static inline HRESULT ISearchAssistantOC3_FindOnWeb(ISearchAssistantOC3* This) {
5857    return This->lpVtbl->FindOnWeb(This);
5858}
5859static inline HRESULT ISearchAssistantOC3_FindFilesOrFolders(ISearchAssistantOC3* This) {
5860    return This->lpVtbl->FindFilesOrFolders(This);
5861}
5862static inline HRESULT ISearchAssistantOC3_FindComputer(ISearchAssistantOC3* This) {
5863    return This->lpVtbl->FindComputer(This);
5864}
5865static inline HRESULT ISearchAssistantOC3_FindPrinter(ISearchAssistantOC3* This) {
5866    return This->lpVtbl->FindPrinter(This);
5867}
5868static inline HRESULT ISearchAssistantOC3_FindPeople(ISearchAssistantOC3* This) {
5869    return This->lpVtbl->FindPeople(This);
5870}
5871static inline HRESULT ISearchAssistantOC3_GetSearchAssistantURL(ISearchAssistantOC3* This,VARIANT_BOOL bSubstitute,VARIANT_BOOL bCustomize,BSTR *pbstrValue) {
5872    return This->lpVtbl->GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue);
5873}
5874static inline HRESULT ISearchAssistantOC3_NotifySearchSettingsChanged(ISearchAssistantOC3* This) {
5875    return This->lpVtbl->NotifySearchSettingsChanged(This);
5876}
5877static inline HRESULT ISearchAssistantOC3_put_ASProvider(ISearchAssistantOC3* This,BSTR pProvider) {
5878    return This->lpVtbl->put_ASProvider(This,pProvider);
5879}
5880static inline HRESULT ISearchAssistantOC3_get_ASProvider(ISearchAssistantOC3* This,BSTR *pProvider) {
5881    return This->lpVtbl->get_ASProvider(This,pProvider);
5882}
5883static inline HRESULT ISearchAssistantOC3_put_ASSetting(ISearchAssistantOC3* This,int pSetting) {
5884    return This->lpVtbl->put_ASSetting(This,pSetting);
5885}
5886static inline HRESULT ISearchAssistantOC3_get_ASSetting(ISearchAssistantOC3* This,int *pSetting) {
5887    return This->lpVtbl->get_ASSetting(This,pSetting);
5888}
5889static inline HRESULT ISearchAssistantOC3_NETDetectNextNavigate(ISearchAssistantOC3* This) {
5890    return This->lpVtbl->NETDetectNextNavigate(This);
5891}
5892static inline HRESULT ISearchAssistantOC3_PutFindText(ISearchAssistantOC3* This,BSTR FindText) {
5893    return This->lpVtbl->PutFindText(This,FindText);
5894}
5895static inline HRESULT ISearchAssistantOC3_get_Version(ISearchAssistantOC3* This,int *pVersion) {
5896    return This->lpVtbl->get_Version(This,pVersion);
5897}
5898static inline HRESULT ISearchAssistantOC3_EncodeString(ISearchAssistantOC3* This,BSTR bstrValue,BSTR bstrCharSet,VARIANT_BOOL bUseUTF8,BSTR *pbstrResult) {
5899    return This->lpVtbl->EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult);
5900}
5901/*** ISearchAssistantOC2 methods ***/
5902static inline HRESULT ISearchAssistantOC3_get_ShowFindPrinter(ISearchAssistantOC3* This,VARIANT_BOOL *pbShowFindPrinter) {
5903    return This->lpVtbl->get_ShowFindPrinter(This,pbShowFindPrinter);
5904}
5905/*** ISearchAssistantOC3 methods ***/
5906static inline HRESULT ISearchAssistantOC3_get_SearchCompanionAvailable(ISearchAssistantOC3* This,VARIANT_BOOL *pbAvailable) {
5907    return This->lpVtbl->get_SearchCompanionAvailable(This,pbAvailable);
5908}
5909static inline HRESULT ISearchAssistantOC3_put_UseSearchCompanion(ISearchAssistantOC3* This,VARIANT_BOOL pbUseSC) {
5910    return This->lpVtbl->put_UseSearchCompanion(This,pbUseSC);
5911}
5912static inline HRESULT ISearchAssistantOC3_get_UseSearchCompanion(ISearchAssistantOC3* This,VARIANT_BOOL *pbUseSC) {
5913    return This->lpVtbl->get_UseSearchCompanion(This,pbUseSC);
5914}
5915#endif
5916#endif
5917
5918#endif
5919
5920
5921#endif  /* __ISearchAssistantOC3_INTERFACE_DEFINED__ */
5922
5923/*****************************************************************************
5924 * _SearchAssistantEvents dispinterface
5925 */
5926#ifndef ___SearchAssistantEvents_DISPINTERFACE_DEFINED__
5927#define ___SearchAssistantEvents_DISPINTERFACE_DEFINED__
5928
5929DEFINE_GUID(DIID__SearchAssistantEvents, 0x1611fdda, 0x445b, 0x11d2, 0x85,0xde, 0x00,0xc0,0x4f,0xa3,0x5c,0x89);
5930#if defined(__cplusplus) && !defined(CINTERFACE)
5931MIDL_INTERFACE("1611fdda-445b-11d2-85de-00c04fa35c89")
5932_SearchAssistantEvents : public IDispatch
5933{
5934};
5935#ifdef __CRT_UUID_DECL
5936__CRT_UUID_DECL(_SearchAssistantEvents, 0x1611fdda, 0x445b, 0x11d2, 0x85,0xde, 0x00,0xc0,0x4f,0xa3,0x5c,0x89)
5937#endif
5938#else
5939typedef struct _SearchAssistantEventsVtbl {
5940    BEGIN_INTERFACE
5941
5942    /*** IUnknown methods ***/
5943    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5944        _SearchAssistantEvents *This,
5945        REFIID riid,
5946        void **ppvObject);
5947
5948    ULONG (STDMETHODCALLTYPE *AddRef)(
5949        _SearchAssistantEvents *This);
5950
5951    ULONG (STDMETHODCALLTYPE *Release)(
5952        _SearchAssistantEvents *This);
5953
5954    /*** IDispatch methods ***/
5955    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
5956        _SearchAssistantEvents *This,
5957        UINT *pctinfo);
5958
5959    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
5960        _SearchAssistantEvents *This,
5961        UINT iTInfo,
5962        LCID lcid,
5963        ITypeInfo **ppTInfo);
5964
5965    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
5966        _SearchAssistantEvents *This,
5967        REFIID riid,
5968        LPOLESTR *rgszNames,
5969        UINT cNames,
5970        LCID lcid,
5971        DISPID *rgDispId);
5972
5973    HRESULT (STDMETHODCALLTYPE *Invoke)(
5974        _SearchAssistantEvents *This,
5975        DISPID dispIdMember,
5976        REFIID riid,
5977        LCID lcid,
5978        WORD wFlags,
5979        DISPPARAMS *pDispParams,
5980        VARIANT *pVarResult,
5981        EXCEPINFO *pExcepInfo,
5982        UINT *puArgErr);
5983
5984    END_INTERFACE
5985} _SearchAssistantEventsVtbl;
5986
5987interface _SearchAssistantEvents {
5988    CONST_VTBL _SearchAssistantEventsVtbl* lpVtbl;
5989};
5990
5991#ifdef COBJMACROS
5992#ifndef WIDL_C_INLINE_WRAPPERS
5993/*** IUnknown methods ***/
5994#define _SearchAssistantEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5995#define _SearchAssistantEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
5996#define _SearchAssistantEvents_Release(This) (This)->lpVtbl->Release(This)
5997/*** IDispatch methods ***/
5998#define _SearchAssistantEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
5999#define _SearchAssistantEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
6000#define _SearchAssistantEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
6001#define _SearchAssistantEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
6002#else
6003/*** IUnknown methods ***/
6004static inline HRESULT _SearchAssistantEvents_QueryInterface(_SearchAssistantEvents* This,REFIID riid,void **ppvObject) {
6005    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6006}
6007static inline ULONG _SearchAssistantEvents_AddRef(_SearchAssistantEvents* This) {
6008    return This->lpVtbl->AddRef(This);
6009}
6010static inline ULONG _SearchAssistantEvents_Release(_SearchAssistantEvents* This) {
6011    return This->lpVtbl->Release(This);
6012}
6013/*** IDispatch methods ***/
6014static inline HRESULT _SearchAssistantEvents_GetTypeInfoCount(_SearchAssistantEvents* This,UINT *pctinfo) {
6015    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
6016}
6017static inline HRESULT _SearchAssistantEvents_GetTypeInfo(_SearchAssistantEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
6018    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
6019}
6020static inline HRESULT _SearchAssistantEvents_GetIDsOfNames(_SearchAssistantEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
6021    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
6022}
6023static inline HRESULT _SearchAssistantEvents_Invoke(_SearchAssistantEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
6024    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
6025}
6026#endif
6027#endif
6028
6029#endif
6030
6031#endif  /* ___SearchAssistantEvents_DISPINTERFACE_DEFINED__ */
6032
6033/*****************************************************************************
6034 * ShellSearchAssistantOC coclass
6035 */
6036
6037DEFINE_GUID(CLSID_ShellSearchAssistantOC, 0x2e71fd0f, 0xaab1, 0x42c0, 0x91,0x46, 0x6d,0x2c,0x4e,0xdc,0xf0,0x7d);
6038
6039#ifdef __cplusplus
6040class DECLSPEC_UUID("2e71fd0f-aab1-42c0-9146-6d2c4edcf07d") ShellSearchAssistantOC;
6041#ifdef __CRT_UUID_DECL
6042__CRT_UUID_DECL(ShellSearchAssistantOC, 0x2e71fd0f, 0xaab1, 0x42c0, 0x91,0x46, 0x6d,0x2c,0x4e,0xdc,0xf0,0x7d)
6043#endif
6044#endif
6045
6046/*****************************************************************************
6047 * SearchAssistantOC coclass
6048 */
6049
6050DEFINE_GUID(CLSID_SearchAssistantOC, 0xb45ff030, 0x4447, 0x11d2, 0x85,0xde, 0x00,0xc0,0x4f,0xa3,0x5c,0x89);
6051
6052#ifdef __cplusplus
6053class DECLSPEC_UUID("b45ff030-4447-11d2-85de-00c04fa35c89") SearchAssistantOC;
6054#ifdef __CRT_UUID_DECL
6055__CRT_UUID_DECL(SearchAssistantOC, 0xb45ff030, 0x4447, 0x11d2, 0x85,0xde, 0x00,0xc0,0x4f,0xa3,0x5c,0x89)
6056#endif
6057#endif
6058
6059#endif /* __SHDocVw_LIBRARY_DEFINED__ */
6060/* Begin additional prototypes for all interfaces */
6061
6062ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
6063unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
6064unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
6065void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
6066ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
6067unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
6068unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
6069void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
6070
6071/* End additional prototypes */
6072
6073#ifdef __cplusplus
6074}
6075#endif
6076
6077#endif /* __exdisp_h__ */