Home | History | Annotate | Download | only in include
      1 /*** Autogenerated by WIDL 1.6 from include/exdisp.idl - Do not edit ***/
      2 
      3 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      4 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      5 #endif
      6 
      7 #include <rpc.h>
      8 #include <rpcndr.h>
      9 
     10 #ifndef COM_NO_WINDOWS_H
     11 #include <windows.h>
     12 #include <ole2.h>
     13 #endif
     14 
     15 #ifndef __exdisp_h__
     16 #define __exdisp_h__
     17 
     18 /* Forward declarations */
     19 
     20 #ifndef __IWebBrowser_FWD_DEFINED__
     21 #define __IWebBrowser_FWD_DEFINED__
     22 typedef interface IWebBrowser IWebBrowser;
     23 #endif
     24 
     25 #ifndef __DWebBrowserEvents_FWD_DEFINED__
     26 #define __DWebBrowserEvents_FWD_DEFINED__
     27 typedef interface DWebBrowserEvents DWebBrowserEvents;
     28 #endif
     29 
     30 #ifndef __IWebBrowserApp_FWD_DEFINED__
     31 #define __IWebBrowserApp_FWD_DEFINED__
     32 typedef interface IWebBrowserApp IWebBrowserApp;
     33 #endif
     34 
     35 #ifndef __IWebBrowser2_FWD_DEFINED__
     36 #define __IWebBrowser2_FWD_DEFINED__
     37 typedef interface IWebBrowser2 IWebBrowser2;
     38 #endif
     39 
     40 #ifndef __DWebBrowserEvents2_FWD_DEFINED__
     41 #define __DWebBrowserEvents2_FWD_DEFINED__
     42 typedef interface DWebBrowserEvents2 DWebBrowserEvents2;
     43 #endif
     44 
     45 #ifndef __WebBrowser_V1_FWD_DEFINED__
     46 #define __WebBrowser_V1_FWD_DEFINED__
     47 #ifdef __cplusplus
     48 typedef class WebBrowser_V1 WebBrowser_V1;
     49 #else
     50 typedef struct WebBrowser_V1 WebBrowser_V1;
     51 #endif /* defined __cplusplus */
     52 #endif /* defined __WebBrowser_V1_FWD_DEFINED__ */
     53 
     54 #ifndef __WebBrowser_FWD_DEFINED__
     55 #define __WebBrowser_FWD_DEFINED__
     56 #ifdef __cplusplus
     57 typedef class WebBrowser WebBrowser;
     58 #else
     59 typedef struct WebBrowser WebBrowser;
     60 #endif /* defined __cplusplus */
     61 #endif /* defined __WebBrowser_FWD_DEFINED__ */
     62 
     63 #ifndef __InternetExplorer_FWD_DEFINED__
     64 #define __InternetExplorer_FWD_DEFINED__
     65 #ifdef __cplusplus
     66 typedef class InternetExplorer InternetExplorer;
     67 #else
     68 typedef struct InternetExplorer InternetExplorer;
     69 #endif /* defined __cplusplus */
     70 #endif /* defined __InternetExplorer_FWD_DEFINED__ */
     71 
     72 #ifndef __ShellBrowserWindow_FWD_DEFINED__
     73 #define __ShellBrowserWindow_FWD_DEFINED__
     74 #ifdef __cplusplus
     75 typedef class ShellBrowserWindow ShellBrowserWindow;
     76 #else
     77 typedef struct ShellBrowserWindow ShellBrowserWindow;
     78 #endif /* defined __cplusplus */
     79 #endif /* defined __ShellBrowserWindow_FWD_DEFINED__ */
     80 
     81 #ifndef __DShellWindowsEvents_FWD_DEFINED__
     82 #define __DShellWindowsEvents_FWD_DEFINED__
     83 typedef interface DShellWindowsEvents DShellWindowsEvents;
     84 #endif
     85 
     86 #ifndef __IShellWindows_FWD_DEFINED__
     87 #define __IShellWindows_FWD_DEFINED__
     88 typedef interface IShellWindows IShellWindows;
     89 #endif
     90 
     91 #ifndef __ShellWindows_FWD_DEFINED__
     92 #define __ShellWindows_FWD_DEFINED__
     93 #ifdef __cplusplus
     94 typedef class ShellWindows ShellWindows;
     95 #else
     96 typedef struct ShellWindows ShellWindows;
     97 #endif /* defined __cplusplus */
     98 #endif /* defined __ShellWindows_FWD_DEFINED__ */
     99 
    100 #ifndef __IShellUIHelper_FWD_DEFINED__
    101 #define __IShellUIHelper_FWD_DEFINED__
    102 typedef interface IShellUIHelper IShellUIHelper;
    103 #endif
    104 
    105 #ifndef __IShellUIHelper2_FWD_DEFINED__
    106 #define __IShellUIHelper2_FWD_DEFINED__
    107 typedef interface IShellUIHelper2 IShellUIHelper2;
    108 #endif
    109 
    110 #ifndef __ShellUIHelper_FWD_DEFINED__
    111 #define __ShellUIHelper_FWD_DEFINED__
    112 #ifdef __cplusplus
    113 typedef class ShellUIHelper ShellUIHelper;
    114 #else
    115 typedef struct ShellUIHelper ShellUIHelper;
    116 #endif /* defined __cplusplus */
    117 #endif /* defined __ShellUIHelper_FWD_DEFINED__ */
    118 
    119 #ifndef __DShellNameSpaceEvents_FWD_DEFINED__
    120 #define __DShellNameSpaceEvents_FWD_DEFINED__
    121 typedef interface DShellNameSpaceEvents DShellNameSpaceEvents;
    122 #endif
    123 
    124 #ifndef __IShellFavoritesNameSpace_FWD_DEFINED__
    125 #define __IShellFavoritesNameSpace_FWD_DEFINED__
    126 typedef interface IShellFavoritesNameSpace IShellFavoritesNameSpace;
    127 #endif
    128 
    129 #ifndef __IShellNameSpace_FWD_DEFINED__
    130 #define __IShellNameSpace_FWD_DEFINED__
    131 typedef interface IShellNameSpace IShellNameSpace;
    132 #endif
    133 
    134 #ifndef __ShellShellNameSpace_FWD_DEFINED__
    135 #define __ShellShellNameSpace_FWD_DEFINED__
    136 #ifdef __cplusplus
    137 typedef class ShellShellNameSpace ShellShellNameSpace;
    138 #else
    139 typedef struct ShellShellNameSpace ShellShellNameSpace;
    140 #endif /* defined __cplusplus */
    141 #endif /* defined __ShellShellNameSpace_FWD_DEFINED__ */
    142 
    143 #ifndef __ShellNameSpace_FWD_DEFINED__
    144 #define __ShellNameSpace_FWD_DEFINED__
    145 #ifdef __cplusplus
    146 typedef class ShellNameSpace ShellNameSpace;
    147 #else
    148 typedef struct ShellNameSpace ShellNameSpace;
    149 #endif /* defined __cplusplus */
    150 #endif /* defined __ShellNameSpace_FWD_DEFINED__ */
    151 
    152 #ifndef __IScriptErrorList_FWD_DEFINED__
    153 #define __IScriptErrorList_FWD_DEFINED__
    154 typedef interface IScriptErrorList IScriptErrorList;
    155 #endif
    156 
    157 #ifndef __CScriptErrorList_FWD_DEFINED__
    158 #define __CScriptErrorList_FWD_DEFINED__
    159 #ifdef __cplusplus
    160 typedef class CScriptErrorList CScriptErrorList;
    161 #else
    162 typedef struct CScriptErrorList CScriptErrorList;
    163 #endif /* defined __cplusplus */
    164 #endif /* defined __CScriptErrorList_FWD_DEFINED__ */
    165 
    166 #ifndef __ISearch_FWD_DEFINED__
    167 #define __ISearch_FWD_DEFINED__
    168 typedef interface ISearch ISearch;
    169 #endif
    170 
    171 #ifndef __ISearches_FWD_DEFINED__
    172 #define __ISearches_FWD_DEFINED__
    173 typedef interface ISearches ISearches;
    174 #endif
    175 
    176 #ifndef __ISearchAssistantOC_FWD_DEFINED__
    177 #define __ISearchAssistantOC_FWD_DEFINED__
    178 typedef interface ISearchAssistantOC ISearchAssistantOC;
    179 #endif
    180 
    181 #ifndef __ISearchAssistantOC2_FWD_DEFINED__
    182 #define __ISearchAssistantOC2_FWD_DEFINED__
    183 typedef interface ISearchAssistantOC2 ISearchAssistantOC2;
    184 #endif
    185 
    186 #ifndef __ISearchAssistantOC3_FWD_DEFINED__
    187 #define __ISearchAssistantOC3_FWD_DEFINED__
    188 typedef interface ISearchAssistantOC3 ISearchAssistantOC3;
    189 #endif
    190 
    191 #ifndef ___SearchAssistantEvents_FWD_DEFINED__
    192 #define ___SearchAssistantEvents_FWD_DEFINED__
    193 typedef interface _SearchAssistantEvents _SearchAssistantEvents;
    194 #endif
    195 
    196 #ifndef __ShellSearchAssistantOC_FWD_DEFINED__
    197 #define __ShellSearchAssistantOC_FWD_DEFINED__
    198 #ifdef __cplusplus
    199 typedef class ShellSearchAssistantOC ShellSearchAssistantOC;
    200 #else
    201 typedef struct ShellSearchAssistantOC ShellSearchAssistantOC;
    202 #endif /* defined __cplusplus */
    203 #endif /* defined __ShellSearchAssistantOC_FWD_DEFINED__ */
    204 
    205 #ifndef __SearchAssistantOC_FWD_DEFINED__
    206 #define __SearchAssistantOC_FWD_DEFINED__
    207 #ifdef __cplusplus
    208 typedef class SearchAssistantOC SearchAssistantOC;
    209 #else
    210 typedef struct SearchAssistantOC SearchAssistantOC;
    211 #endif /* defined __cplusplus */
    212 #endif /* defined __SearchAssistantOC_FWD_DEFINED__ */
    213 
    214 /* Headers for imported files */
    215 
    216 #include <ocidl.h>
    217 #include <docobj.h>
    218 
    219 #ifdef __cplusplus
    220 extern "C" {
    221 #endif
    222 
    223 #ifdef WINE_NO_UNICODE_MACROS
    224 #undef FindText
    225 #endif
    226 
    227 DEFINE_GUID(LIBID_SHDocVw, 0xeab22ac0, 0x30c1, 0x11cf, 0xa7,0xeb, 0x00,0x00,0xc0,0x5b,0xae,0x0b);
    228 
    229 /*****************************************************************************
    230  * IWebBrowser interface
    231  */
    232 #ifndef __IWebBrowser_INTERFACE_DEFINED__
    233 #define __IWebBrowser_INTERFACE_DEFINED__
    234 
    235 typedef enum BrowserNavConstants {
    236     navOpenInNewWindow = 0x1,
    237     navNoHistory = 0x2,
    238     navNoReadFromCache = 0x4,
    239     navNoWriteToCache = 0x8,
    240     navAllowAutosearch = 0x10,
    241     navBrowserBar = 0x20,
    242     navHyperlink = 0x40,
    243     navEnforceRestricted = 0x80
    244 } BrowserNavConstants;
    245 typedef enum RefreshConstants {
    246     REFRESH_NORMAL = 0,
    247     REFRESH_IFEXPIRED = 1,
    248     REFRESH_COMPLETELY = 3
    249 } RefreshConstants;
    250 DEFINE_GUID(IID_IWebBrowser, 0xeab22ac1, 0x30c1, 0x11cf, 0xa7,0xeb, 0x00,0x00,0xc0,0x5b,0xae,0x0b);
    251 #if defined(__cplusplus) && !defined(CINTERFACE)
    252 MIDL_INTERFACE("eab22ac1-30c1-11cf-a7eb-0000c05bae0b")
    253 IWebBrowser : public IDispatch
    254 {
    255     virtual HRESULT STDMETHODCALLTYPE GoBack(
    256         ) = 0;
    257 
    258     virtual HRESULT STDMETHODCALLTYPE GoForward(
    259         ) = 0;
    260 
    261     virtual HRESULT STDMETHODCALLTYPE GoHome(
    262         ) = 0;
    263 
    264     virtual HRESULT STDMETHODCALLTYPE GoSearch(
    265         ) = 0;
    266 
    267     virtual HRESULT STDMETHODCALLTYPE Navigate(
    268         BSTR URL,
    269         VARIANT *Flags,
    270         VARIANT *TargetFrameName,
    271         VARIANT *PostData,
    272         VARIANT *Headers) = 0;
    273 
    274     virtual HRESULT STDMETHODCALLTYPE Refresh(
    275         ) = 0;
    276 
    277     virtual HRESULT STDMETHODCALLTYPE Refresh2(
    278         VARIANT *Level) = 0;
    279 
    280     virtual HRESULT STDMETHODCALLTYPE Stop(
    281         ) = 0;
    282 
    283     virtual HRESULT STDMETHODCALLTYPE get_Application(
    284         IDispatch **ppDisp) = 0;
    285 
    286     virtual HRESULT STDMETHODCALLTYPE get_Parent(
    287         IDispatch **ppDisp) = 0;
    288 
    289     virtual HRESULT STDMETHODCALLTYPE get_Container(
    290         IDispatch **ppDisp) = 0;
    291 
    292     virtual HRESULT STDMETHODCALLTYPE get_Document(
    293         IDispatch **ppDisp) = 0;
    294 
    295     virtual HRESULT STDMETHODCALLTYPE get_TopLevelContainer(
    296         VARIANT_BOOL *pBool) = 0;
    297 
    298     virtual HRESULT STDMETHODCALLTYPE get_Type(
    299         BSTR *Type) = 0;
    300 
    301     virtual HRESULT STDMETHODCALLTYPE get_Left(
    302         LONG *pl) = 0;
    303 
    304     virtual HRESULT STDMETHODCALLTYPE put_Left(
    305         LONG Left) = 0;
    306 
    307     virtual HRESULT STDMETHODCALLTYPE get_Top(
    308         LONG *pl) = 0;
    309 
    310     virtual HRESULT STDMETHODCALLTYPE put_Top(
    311         LONG Top) = 0;
    312 
    313     virtual HRESULT STDMETHODCALLTYPE get_Width(
    314         LONG *pl) = 0;
    315 
    316     virtual HRESULT STDMETHODCALLTYPE put_Width(
    317         LONG Width) = 0;
    318 
    319     virtual HRESULT STDMETHODCALLTYPE get_Height(
    320         LONG *pl) = 0;
    321 
    322     virtual HRESULT STDMETHODCALLTYPE put_Height(
    323         LONG Height) = 0;
    324 
    325     virtual HRESULT STDMETHODCALLTYPE get_LocationName(
    326         BSTR *LocationName) = 0;
    327 
    328     virtual HRESULT STDMETHODCALLTYPE get_LocationURL(
    329         BSTR *LocationURL) = 0;
    330 
    331     virtual HRESULT STDMETHODCALLTYPE get_Busy(
    332         VARIANT_BOOL *pBool) = 0;
    333 
    334 };
    335 #ifdef __CRT_UUID_DECL
    336 __CRT_UUID_DECL(IWebBrowser, 0xeab22ac1, 0x30c1, 0x11cf, 0xa7,0xeb, 0x00,0x00,0xc0,0x5b,0xae,0x0b)
    337 #endif
    338 #else
    339 typedef struct IWebBrowserVtbl {
    340     BEGIN_INTERFACE
    341 
    342     /*** IUnknown methods ***/
    343     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    344         IWebBrowser* This,
    345         REFIID riid,
    346         void **ppvObject);
    347 
    348     ULONG (STDMETHODCALLTYPE *AddRef)(
    349         IWebBrowser* This);
    350 
    351     ULONG (STDMETHODCALLTYPE *Release)(
    352         IWebBrowser* This);
    353 
    354     /*** IDispatch methods ***/
    355     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
    356         IWebBrowser* This,
    357         UINT *pctinfo);
    358 
    359     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
    360         IWebBrowser* This,
    361         UINT iTInfo,
    362         LCID lcid,
    363         ITypeInfo **ppTInfo);
    364 
    365     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
    366         IWebBrowser* This,
    367         REFIID riid,
    368         LPOLESTR *rgszNames,
    369         UINT cNames,
    370         LCID lcid,
    371         DISPID *rgDispId);
    372 
    373     HRESULT (STDMETHODCALLTYPE *Invoke)(
    374         IWebBrowser* This,
    375         DISPID dispIdMember,
    376         REFIID riid,
    377         LCID lcid,
    378         WORD wFlags,
    379         DISPPARAMS *pDispParams,
    380         VARIANT *pVarResult,
    381         EXCEPINFO *pExcepInfo,
    382         UINT *puArgErr);
    383 
    384     /*** IWebBrowser methods ***/
    385     HRESULT (STDMETHODCALLTYPE *GoBack)(
    386         IWebBrowser* This);
    387 
    388     HRESULT (STDMETHODCALLTYPE *GoForward)(
    389         IWebBrowser* This);
    390 
    391     HRESULT (STDMETHODCALLTYPE *GoHome)(
    392         IWebBrowser* This);
    393 
    394     HRESULT (STDMETHODCALLTYPE *GoSearch)(
    395         IWebBrowser* This);
    396 
    397     HRESULT (STDMETHODCALLTYPE *Navigate)(
    398         IWebBrowser* This,
    399         BSTR URL,
    400         VARIANT *Flags,
    401         VARIANT *TargetFrameName,
    402         VARIANT *PostData,
    403         VARIANT *Headers);
    404 
    405     HRESULT (STDMETHODCALLTYPE *Refresh)(
    406         IWebBrowser* This);
    407 
    408     HRESULT (STDMETHODCALLTYPE *Refresh2)(
    409         IWebBrowser* This,
    410         VARIANT *Level);
    411 
    412     HRESULT (STDMETHODCALLTYPE *Stop)(
    413         IWebBrowser* This);
    414 
    415     HRESULT (STDMETHODCALLTYPE *get_Application)(
    416         IWebBrowser* This,
    417         IDispatch **ppDisp);
    418 
    419     HRESULT (STDMETHODCALLTYPE *get_Parent)(
    420         IWebBrowser* This,
    421         IDispatch **ppDisp);
    422 
    423     HRESULT (STDMETHODCALLTYPE *get_Container)(
    424         IWebBrowser* This,
    425         IDispatch **ppDisp);
    426 
    427     HRESULT (STDMETHODCALLTYPE *get_Document)(
    428         IWebBrowser* This,
    429         IDispatch **ppDisp);
    430 
    431     HRESULT (STDMETHODCALLTYPE *get_TopLevelContainer)(
    432         IWebBrowser* This,
    433         VARIANT_BOOL *pBool);
    434 
    435     HRESULT (STDMETHODCALLTYPE *get_Type)(
    436         IWebBrowser* This,
    437         BSTR *Type);
    438 
    439     HRESULT (STDMETHODCALLTYPE *get_Left)(
    440         IWebBrowser* This,
    441         LONG *pl);
    442 
    443     HRESULT (STDMETHODCALLTYPE *put_Left)(
    444         IWebBrowser* This,
    445         LONG Left);
    446 
    447     HRESULT (STDMETHODCALLTYPE *get_Top)(
    448         IWebBrowser* This,
    449         LONG *pl);
    450 
    451     HRESULT (STDMETHODCALLTYPE *put_Top)(
    452         IWebBrowser* This,
    453         LONG Top);
    454 
    455     HRESULT (STDMETHODCALLTYPE *get_Width)(
    456         IWebBrowser* This,
    457         LONG *pl);
    458 
    459     HRESULT (STDMETHODCALLTYPE *put_Width)(
    460         IWebBrowser* This,
    461         LONG Width);
    462 
    463     HRESULT (STDMETHODCALLTYPE *get_Height)(
    464         IWebBrowser* This,
    465         LONG *pl);
    466 
    467     HRESULT (STDMETHODCALLTYPE *put_Height)(
    468         IWebBrowser* This,
    469         LONG Height);
    470 
    471     HRESULT (STDMETHODCALLTYPE *get_LocationName)(
    472         IWebBrowser* This,
    473         BSTR *LocationName);
    474 
    475     HRESULT (STDMETHODCALLTYPE *get_LocationURL)(
    476         IWebBrowser* This,
    477         BSTR *LocationURL);
    478 
    479     HRESULT (STDMETHODCALLTYPE *get_Busy)(
    480         IWebBrowser* This,
    481         VARIANT_BOOL *pBool);
    482 
    483     END_INTERFACE
    484 } IWebBrowserVtbl;
    485 interface IWebBrowser {
    486     CONST_VTBL IWebBrowserVtbl* lpVtbl;
    487 };
    488 
    489 #ifdef COBJMACROS
    490 #ifndef WIDL_C_INLINE_WRAPPERS
    491 /*** IUnknown methods ***/
    492 #define IWebBrowser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    493 #define IWebBrowser_AddRef(This) (This)->lpVtbl->AddRef(This)
    494 #define IWebBrowser_Release(This) (This)->lpVtbl->Release(This)
    495 /*** IDispatch methods ***/
    496 #define IWebBrowser_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    497 #define IWebBrowser_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    498 #define IWebBrowser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    499 #define IWebBrowser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    500 /*** IWebBrowser methods ***/
    501 #define IWebBrowser_GoBack(This) (This)->lpVtbl->GoBack(This)
    502 #define IWebBrowser_GoForward(This) (This)->lpVtbl->GoForward(This)
    503 #define IWebBrowser_GoHome(This) (This)->lpVtbl->GoHome(This)
    504 #define IWebBrowser_GoSearch(This) (This)->lpVtbl->GoSearch(This)
    505 #define IWebBrowser_Navigate(This,URL,Flags,TargetFrameName,PostData,Headers) (This)->lpVtbl->Navigate(This,URL,Flags,TargetFrameName,PostData,Headers)
    506 #define IWebBrowser_Refresh(This) (This)->lpVtbl->Refresh(This)
    507 #define IWebBrowser_Refresh2(This,Level) (This)->lpVtbl->Refresh2(This,Level)
    508 #define IWebBrowser_Stop(This) (This)->lpVtbl->Stop(This)
    509 #define IWebBrowser_get_Application(This,ppDisp) (This)->lpVtbl->get_Application(This,ppDisp)
    510 #define IWebBrowser_get_Parent(This,ppDisp) (This)->lpVtbl->get_Parent(This,ppDisp)
    511 #define IWebBrowser_get_Container(This,ppDisp) (This)->lpVtbl->get_Container(This,ppDisp)
    512 #define IWebBrowser_get_Document(This,ppDisp) (This)->lpVtbl->get_Document(This,ppDisp)
    513 #define IWebBrowser_get_TopLevelContainer(This,pBool) (This)->lpVtbl->get_TopLevelContainer(This,pBool)
    514 #define IWebBrowser_get_Type(This,Type) (This)->lpVtbl->get_Type(This,Type)
    515 #define IWebBrowser_get_Left(This,pl) (This)->lpVtbl->get_Left(This,pl)
    516 #define IWebBrowser_put_Left(This,Left) (This)->lpVtbl->put_Left(This,Left)
    517 #define IWebBrowser_get_Top(This,pl) (This)->lpVtbl->get_Top(This,pl)
    518 #define IWebBrowser_put_Top(This,Top) (This)->lpVtbl->put_Top(This,Top)
    519 #define IWebBrowser_get_Width(This,pl) (This)->lpVtbl->get_Width(This,pl)
    520 #define IWebBrowser_put_Width(This,Width) (This)->lpVtbl->put_Width(This,Width)
    521 #define IWebBrowser_get_Height(This,pl) (This)->lpVtbl->get_Height(This,pl)
    522 #define IWebBrowser_put_Height(This,Height) (This)->lpVtbl->put_Height(This,Height)
    523 #define IWebBrowser_get_LocationName(This,LocationName) (This)->lpVtbl->get_LocationName(This,LocationName)
    524 #define IWebBrowser_get_LocationURL(This,LocationURL) (This)->lpVtbl->get_LocationURL(This,LocationURL)
    525 #define IWebBrowser_get_Busy(This,pBool) (This)->lpVtbl->get_Busy(This,pBool)
    526 #else
    527 /*** IUnknown methods ***/
    528 static FORCEINLINE HRESULT IWebBrowser_QueryInterface(IWebBrowser* This,REFIID riid,void **ppvObject) {
    529     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    530 }
    531 static FORCEINLINE ULONG IWebBrowser_AddRef(IWebBrowser* This) {
    532     return This->lpVtbl->AddRef(This);
    533 }
    534 static FORCEINLINE ULONG IWebBrowser_Release(IWebBrowser* This) {
    535     return This->lpVtbl->Release(This);
    536 }
    537 /*** IDispatch methods ***/
    538 static FORCEINLINE HRESULT IWebBrowser_GetTypeInfoCount(IWebBrowser* This,UINT *pctinfo) {
    539     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    540 }
    541 static FORCEINLINE HRESULT IWebBrowser_GetTypeInfo(IWebBrowser* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    542     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
    543 }
    544 static FORCEINLINE HRESULT IWebBrowser_GetIDsOfNames(IWebBrowser* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    545     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
    546 }
    547 static FORCEINLINE HRESULT IWebBrowser_Invoke(IWebBrowser* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    548     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
    549 }
    550 /*** IWebBrowser methods ***/
    551 static FORCEINLINE HRESULT IWebBrowser_GoBack(IWebBrowser* This) {
    552     return This->lpVtbl->GoBack(This);
    553 }
    554 static FORCEINLINE HRESULT IWebBrowser_GoForward(IWebBrowser* This) {
    555     return This->lpVtbl->GoForward(This);
    556 }
    557 static FORCEINLINE HRESULT IWebBrowser_GoHome(IWebBrowser* This) {
    558     return This->lpVtbl->GoHome(This);
    559 }
    560 static FORCEINLINE HRESULT IWebBrowser_GoSearch(IWebBrowser* This) {
    561     return This->lpVtbl->GoSearch(This);
    562 }
    563 static FORCEINLINE HRESULT IWebBrowser_Navigate(IWebBrowser* This,BSTR URL,VARIANT *Flags,VARIANT *TargetFrameName,VARIANT *PostData,VARIANT *Headers) {
    564     return This->lpVtbl->Navigate(This,URL,Flags,TargetFrameName,PostData,Headers);
    565 }
    566 static FORCEINLINE HRESULT IWebBrowser_Refresh(IWebBrowser* This) {
    567     return This->lpVtbl->Refresh(This);
    568 }
    569 static FORCEINLINE HRESULT IWebBrowser_Refresh2(IWebBrowser* This,VARIANT *Level) {
    570     return This->lpVtbl->Refresh2(This,Level);
    571 }
    572 static FORCEINLINE HRESULT IWebBrowser_Stop(IWebBrowser* This) {
    573     return This->lpVtbl->Stop(This);
    574 }
    575 static FORCEINLINE HRESULT IWebBrowser_get_Application(IWebBrowser* This,IDispatch **ppDisp) {
    576     return This->lpVtbl->get_Application(This,ppDisp);
    577 }
    578 static FORCEINLINE HRESULT IWebBrowser_get_Parent(IWebBrowser* This,IDispatch **ppDisp) {
    579     return This->lpVtbl->get_Parent(This,ppDisp);
    580 }
    581 static FORCEINLINE HRESULT IWebBrowser_get_Container(IWebBrowser* This,IDispatch **ppDisp) {
    582     return This->lpVtbl->get_Container(This,ppDisp);
    583 }
    584 static FORCEINLINE HRESULT IWebBrowser_get_Document(IWebBrowser* This,IDispatch **ppDisp) {
    585     return This->lpVtbl->get_Document(This,ppDisp);
    586 }
    587 static FORCEINLINE HRESULT IWebBrowser_get_TopLevelContainer(IWebBrowser* This,VARIANT_BOOL *pBool) {
    588     return This->lpVtbl->get_TopLevelContainer(This,pBool);
    589 }
    590 static FORCEINLINE HRESULT IWebBrowser_get_Type(IWebBrowser* This,BSTR *Type) {
    591     return This->lpVtbl->get_Type(This,Type);
    592 }
    593 static FORCEINLINE HRESULT IWebBrowser_get_Left(IWebBrowser* This,LONG *pl) {
    594     return This->lpVtbl->get_Left(This,pl);
    595 }
    596 static FORCEINLINE HRESULT IWebBrowser_put_Left(IWebBrowser* This,LONG Left) {
    597     return This->lpVtbl->put_Left(This,Left);
    598 }
    599 static FORCEINLINE HRESULT IWebBrowser_get_Top(IWebBrowser* This,LONG *pl) {
    600     return This->lpVtbl->get_Top(This,pl);
    601 }
    602 static FORCEINLINE HRESULT IWebBrowser_put_Top(IWebBrowser* This,LONG Top) {
    603     return This->lpVtbl->put_Top(This,Top);
    604 }
    605 static FORCEINLINE HRESULT IWebBrowser_get_Width(IWebBrowser* This,LONG *pl) {
    606     return This->lpVtbl->get_Width(This,pl);
    607 }
    608 static FORCEINLINE HRESULT IWebBrowser_put_Width(IWebBrowser* This,LONG Width) {
    609     return This->lpVtbl->put_Width(This,Width);
    610 }
    611 static FORCEINLINE HRESULT IWebBrowser_get_Height(IWebBrowser* This,LONG *pl) {
    612     return This->lpVtbl->get_Height(This,pl);
    613 }
    614 static FORCEINLINE HRESULT IWebBrowser_put_Height(IWebBrowser* This,LONG Height) {
    615     return This->lpVtbl->put_Height(This,Height);
    616 }
    617 static FORCEINLINE HRESULT IWebBrowser_get_LocationName(IWebBrowser* This,BSTR *LocationName) {
    618     return This->lpVtbl->get_LocationName(This,LocationName);
    619 }
    620 static FORCEINLINE HRESULT IWebBrowser_get_LocationURL(IWebBrowser* This,BSTR *LocationURL) {
    621     return This->lpVtbl->get_LocationURL(This,LocationURL);
    622 }
    623 static FORCEINLINE HRESULT IWebBrowser_get_Busy(IWebBrowser* This,VARIANT_BOOL *pBool) {
    624     return This->lpVtbl->get_Busy(This,pBool);
    625 }
    626 #endif
    627 #endif
    628 
    629 #endif
    630 
    631 HRESULT STDMETHODCALLTYPE IWebBrowser_GoBack_Proxy(
    632     IWebBrowser* This);
    633 void __RPC_STUB IWebBrowser_GoBack_Stub(
    634     IRpcStubBuffer* This,
    635     IRpcChannelBuffer* pRpcChannelBuffer,
    636     PRPC_MESSAGE pRpcMessage,
    637     DWORD* pdwStubPhase);
    638 HRESULT STDMETHODCALLTYPE IWebBrowser_GoForward_Proxy(
    639     IWebBrowser* This);
    640 void __RPC_STUB IWebBrowser_GoForward_Stub(
    641     IRpcStubBuffer* This,
    642     IRpcChannelBuffer* pRpcChannelBuffer,
    643     PRPC_MESSAGE pRpcMessage,
    644     DWORD* pdwStubPhase);
    645 HRESULT STDMETHODCALLTYPE IWebBrowser_GoHome_Proxy(
    646     IWebBrowser* This);
    647 void __RPC_STUB IWebBrowser_GoHome_Stub(
    648     IRpcStubBuffer* This,
    649     IRpcChannelBuffer* pRpcChannelBuffer,
    650     PRPC_MESSAGE pRpcMessage,
    651     DWORD* pdwStubPhase);
    652 HRESULT STDMETHODCALLTYPE IWebBrowser_GoSearch_Proxy(
    653     IWebBrowser* This);
    654 void __RPC_STUB IWebBrowser_GoSearch_Stub(
    655     IRpcStubBuffer* This,
    656     IRpcChannelBuffer* pRpcChannelBuffer,
    657     PRPC_MESSAGE pRpcMessage,
    658     DWORD* pdwStubPhase);
    659 HRESULT STDMETHODCALLTYPE IWebBrowser_Navigate_Proxy(
    660     IWebBrowser* This,
    661     BSTR URL,
    662     VARIANT *Flags,
    663     VARIANT *TargetFrameName,
    664     VARIANT *PostData,
    665     VARIANT *Headers);
    666 void __RPC_STUB IWebBrowser_Navigate_Stub(
    667     IRpcStubBuffer* This,
    668     IRpcChannelBuffer* pRpcChannelBuffer,
    669     PRPC_MESSAGE pRpcMessage,
    670     DWORD* pdwStubPhase);
    671 HRESULT STDMETHODCALLTYPE IWebBrowser_Refresh_Proxy(
    672     IWebBrowser* This);
    673 void __RPC_STUB IWebBrowser_Refresh_Stub(
    674     IRpcStubBuffer* This,
    675     IRpcChannelBuffer* pRpcChannelBuffer,
    676     PRPC_MESSAGE pRpcMessage,
    677     DWORD* pdwStubPhase);
    678 HRESULT STDMETHODCALLTYPE IWebBrowser_Refresh2_Proxy(
    679     IWebBrowser* This,
    680     VARIANT *Level);
    681 void __RPC_STUB IWebBrowser_Refresh2_Stub(
    682     IRpcStubBuffer* This,
    683     IRpcChannelBuffer* pRpcChannelBuffer,
    684     PRPC_MESSAGE pRpcMessage,
    685     DWORD* pdwStubPhase);
    686 HRESULT STDMETHODCALLTYPE IWebBrowser_Stop_Proxy(
    687     IWebBrowser* This);
    688 void __RPC_STUB IWebBrowser_Stop_Stub(
    689     IRpcStubBuffer* This,
    690     IRpcChannelBuffer* pRpcChannelBuffer,
    691     PRPC_MESSAGE pRpcMessage,
    692     DWORD* pdwStubPhase);
    693 HRESULT STDMETHODCALLTYPE IWebBrowser_get_Application_Proxy(
    694     IWebBrowser* This,
    695     IDispatch **ppDisp);
    696 void __RPC_STUB IWebBrowser_get_Application_Stub(
    697     IRpcStubBuffer* This,
    698     IRpcChannelBuffer* pRpcChannelBuffer,
    699     PRPC_MESSAGE pRpcMessage,
    700     DWORD* pdwStubPhase);
    701 HRESULT STDMETHODCALLTYPE IWebBrowser_get_Parent_Proxy(
    702     IWebBrowser* This,
    703     IDispatch **ppDisp);
    704 void __RPC_STUB IWebBrowser_get_Parent_Stub(
    705     IRpcStubBuffer* This,
    706     IRpcChannelBuffer* pRpcChannelBuffer,
    707     PRPC_MESSAGE pRpcMessage,
    708     DWORD* pdwStubPhase);
    709 HRESULT STDMETHODCALLTYPE IWebBrowser_get_Container_Proxy(
    710     IWebBrowser* This,
    711     IDispatch **ppDisp);
    712 void __RPC_STUB IWebBrowser_get_Container_Stub(
    713     IRpcStubBuffer* This,
    714     IRpcChannelBuffer* pRpcChannelBuffer,
    715     PRPC_MESSAGE pRpcMessage,
    716     DWORD* pdwStubPhase);
    717 HRESULT STDMETHODCALLTYPE IWebBrowser_get_Document_Proxy(
    718     IWebBrowser* This,
    719     IDispatch **ppDisp);
    720 void __RPC_STUB IWebBrowser_get_Document_Stub(
    721     IRpcStubBuffer* This,
    722     IRpcChannelBuffer* pRpcChannelBuffer,
    723     PRPC_MESSAGE pRpcMessage,
    724     DWORD* pdwStubPhase);
    725 HRESULT STDMETHODCALLTYPE IWebBrowser_get_TopLevelContainer_Proxy(
    726     IWebBrowser* This,
    727     VARIANT_BOOL *pBool);
    728 void __RPC_STUB IWebBrowser_get_TopLevelContainer_Stub(
    729     IRpcStubBuffer* This,
    730     IRpcChannelBuffer* pRpcChannelBuffer,
    731     PRPC_MESSAGE pRpcMessage,
    732     DWORD* pdwStubPhase);
    733 HRESULT STDMETHODCALLTYPE IWebBrowser_get_Type_Proxy(
    734     IWebBrowser* This,
    735     BSTR *Type);
    736 void __RPC_STUB IWebBrowser_get_Type_Stub(
    737     IRpcStubBuffer* This,
    738     IRpcChannelBuffer* pRpcChannelBuffer,
    739     PRPC_MESSAGE pRpcMessage,
    740     DWORD* pdwStubPhase);
    741 HRESULT STDMETHODCALLTYPE IWebBrowser_get_Left_Proxy(
    742     IWebBrowser* This,
    743     LONG *pl);
    744 void __RPC_STUB IWebBrowser_get_Left_Stub(
    745     IRpcStubBuffer* This,
    746     IRpcChannelBuffer* pRpcChannelBuffer,
    747     PRPC_MESSAGE pRpcMessage,
    748     DWORD* pdwStubPhase);
    749 HRESULT STDMETHODCALLTYPE IWebBrowser_put_Left_Proxy(
    750     IWebBrowser* This,
    751     LONG Left);
    752 void __RPC_STUB IWebBrowser_put_Left_Stub(
    753     IRpcStubBuffer* This,
    754     IRpcChannelBuffer* pRpcChannelBuffer,
    755     PRPC_MESSAGE pRpcMessage,
    756     DWORD* pdwStubPhase);
    757 HRESULT STDMETHODCALLTYPE IWebBrowser_get_Top_Proxy(
    758     IWebBrowser* This,
    759     LONG *pl);
    760 void __RPC_STUB IWebBrowser_get_Top_Stub(
    761     IRpcStubBuffer* This,
    762     IRpcChannelBuffer* pRpcChannelBuffer,
    763     PRPC_MESSAGE pRpcMessage,
    764     DWORD* pdwStubPhase);
    765 HRESULT STDMETHODCALLTYPE IWebBrowser_put_Top_Proxy(
    766     IWebBrowser* This,
    767     LONG Top);
    768 void __RPC_STUB IWebBrowser_put_Top_Stub(
    769     IRpcStubBuffer* This,
    770     IRpcChannelBuffer* pRpcChannelBuffer,
    771     PRPC_MESSAGE pRpcMessage,
    772     DWORD* pdwStubPhase);
    773 HRESULT STDMETHODCALLTYPE IWebBrowser_get_Width_Proxy(
    774     IWebBrowser* This,
    775     LONG *pl);
    776 void __RPC_STUB IWebBrowser_get_Width_Stub(
    777     IRpcStubBuffer* This,
    778     IRpcChannelBuffer* pRpcChannelBuffer,
    779     PRPC_MESSAGE pRpcMessage,
    780     DWORD* pdwStubPhase);
    781 HRESULT STDMETHODCALLTYPE IWebBrowser_put_Width_Proxy(
    782     IWebBrowser* This,
    783     LONG Width);
    784 void __RPC_STUB IWebBrowser_put_Width_Stub(
    785     IRpcStubBuffer* This,
    786     IRpcChannelBuffer* pRpcChannelBuffer,
    787     PRPC_MESSAGE pRpcMessage,
    788     DWORD* pdwStubPhase);
    789 HRESULT STDMETHODCALLTYPE IWebBrowser_get_Height_Proxy(
    790     IWebBrowser* This,
    791     LONG *pl);
    792 void __RPC_STUB IWebBrowser_get_Height_Stub(
    793     IRpcStubBuffer* This,
    794     IRpcChannelBuffer* pRpcChannelBuffer,
    795     PRPC_MESSAGE pRpcMessage,
    796     DWORD* pdwStubPhase);
    797 HRESULT STDMETHODCALLTYPE IWebBrowser_put_Height_Proxy(
    798     IWebBrowser* This,
    799     LONG Height);
    800 void __RPC_STUB IWebBrowser_put_Height_Stub(
    801     IRpcStubBuffer* This,
    802     IRpcChannelBuffer* pRpcChannelBuffer,
    803     PRPC_MESSAGE pRpcMessage,
    804     DWORD* pdwStubPhase);
    805 HRESULT STDMETHODCALLTYPE IWebBrowser_get_LocationName_Proxy(
    806     IWebBrowser* This,
    807     BSTR *LocationName);
    808 void __RPC_STUB IWebBrowser_get_LocationName_Stub(
    809     IRpcStubBuffer* This,
    810     IRpcChannelBuffer* pRpcChannelBuffer,
    811     PRPC_MESSAGE pRpcMessage,
    812     DWORD* pdwStubPhase);
    813 HRESULT STDMETHODCALLTYPE IWebBrowser_get_LocationURL_Proxy(
    814     IWebBrowser* This,
    815     BSTR *LocationURL);
    816 void __RPC_STUB IWebBrowser_get_LocationURL_Stub(
    817     IRpcStubBuffer* This,
    818     IRpcChannelBuffer* pRpcChannelBuffer,
    819     PRPC_MESSAGE pRpcMessage,
    820     DWORD* pdwStubPhase);
    821 HRESULT STDMETHODCALLTYPE IWebBrowser_get_Busy_Proxy(
    822     IWebBrowser* This,
    823     VARIANT_BOOL *pBool);
    824 void __RPC_STUB IWebBrowser_get_Busy_Stub(
    825     IRpcStubBuffer* This,
    826     IRpcChannelBuffer* pRpcChannelBuffer,
    827     PRPC_MESSAGE pRpcMessage,
    828     DWORD* pdwStubPhase);
    829 
    830 #endif  /* __IWebBrowser_INTERFACE_DEFINED__ */
    831 
    832 /*****************************************************************************
    833  * DWebBrowserEvents dispinterface
    834  */
    835 #ifndef __DWebBrowserEvents_DISPINTERFACE_DEFINED__
    836 #define __DWebBrowserEvents_DISPINTERFACE_DEFINED__
    837 
    838 DEFINE_GUID(DIID_DWebBrowserEvents, 0xeab22ac2, 0x30c1, 0x11cf, 0xa7,0xeb, 0x00,0x00,0xc0,0x5b,0xae,0x0b);
    839 #if defined(__cplusplus) && !defined(CINTERFACE)
    840 MIDL_INTERFACE("eab22ac2-30c1-11cf-a7eb-0000c05bae0b")
    841 DWebBrowserEvents : public IDispatch
    842 {
    843 };
    844 #ifdef __CRT_UUID_DECL
    845 __CRT_UUID_DECL(DWebBrowserEvents, 0xeab22ac2, 0x30c1, 0x11cf, 0xa7,0xeb, 0x00,0x00,0xc0,0x5b,0xae,0x0b)
    846 #endif
    847 #else
    848 typedef struct DWebBrowserEventsVtbl {
    849     BEGIN_INTERFACE
    850 
    851     /*** IUnknown methods ***/
    852     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
    853         DWebBrowserEvents* This,
    854         REFIID riid,
    855         void **ppvObject);
    856 
    857     ULONG (STDMETHODCALLTYPE *AddRef)(
    858         DWebBrowserEvents* This);
    859 
    860     ULONG (STDMETHODCALLTYPE *Release)(
    861         DWebBrowserEvents* This);
    862 
    863     /*** IDispatch methods ***/
    864     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
    865         DWebBrowserEvents* This,
    866         UINT *pctinfo);
    867 
    868     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
    869         DWebBrowserEvents* This,
    870         UINT iTInfo,
    871         LCID lcid,
    872         ITypeInfo **ppTInfo);
    873 
    874     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
    875         DWebBrowserEvents* This,
    876         REFIID riid,
    877         LPOLESTR *rgszNames,
    878         UINT cNames,
    879         LCID lcid,
    880         DISPID *rgDispId);
    881 
    882     HRESULT (STDMETHODCALLTYPE *Invoke)(
    883         DWebBrowserEvents* This,
    884         DISPID dispIdMember,
    885         REFIID riid,
    886         LCID lcid,
    887         WORD wFlags,
    888         DISPPARAMS *pDispParams,
    889         VARIANT *pVarResult,
    890         EXCEPINFO *pExcepInfo,
    891         UINT *puArgErr);
    892 
    893     END_INTERFACE
    894 } DWebBrowserEventsVtbl;
    895 interface DWebBrowserEvents {
    896     CONST_VTBL DWebBrowserEventsVtbl* lpVtbl;
    897 };
    898 
    899 #ifdef COBJMACROS
    900 #ifndef WIDL_C_INLINE_WRAPPERS
    901 /*** IUnknown methods ***/
    902 #define DWebBrowserEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    903 #define DWebBrowserEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
    904 #define DWebBrowserEvents_Release(This) (This)->lpVtbl->Release(This)
    905 /*** IDispatch methods ***/
    906 #define DWebBrowserEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    907 #define DWebBrowserEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    908 #define DWebBrowserEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    909 #define DWebBrowserEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    910 #else
    911 /*** IUnknown methods ***/
    912 static FORCEINLINE HRESULT DWebBrowserEvents_QueryInterface(DWebBrowserEvents* This,REFIID riid,void **ppvObject) {
    913     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
    914 }
    915 static FORCEINLINE ULONG DWebBrowserEvents_AddRef(DWebBrowserEvents* This) {
    916     return This->lpVtbl->AddRef(This);
    917 }
    918 static FORCEINLINE ULONG DWebBrowserEvents_Release(DWebBrowserEvents* This) {
    919     return This->lpVtbl->Release(This);
    920 }
    921 /*** IDispatch methods ***/
    922 static FORCEINLINE HRESULT DWebBrowserEvents_GetTypeInfoCount(DWebBrowserEvents* This,UINT *pctinfo) {
    923     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
    924 }
    925 static FORCEINLINE HRESULT DWebBrowserEvents_GetTypeInfo(DWebBrowserEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
    926     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
    927 }
    928 static FORCEINLINE HRESULT DWebBrowserEvents_GetIDsOfNames(DWebBrowserEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
    929     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
    930 }
    931 static FORCEINLINE HRESULT DWebBrowserEvents_Invoke(DWebBrowserEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
    932     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
    933 }
    934 #endif
    935 #endif
    936 
    937 #endif
    938 
    939 #endif  /* __DWebBrowserEvents_DISPINTERFACE_DEFINED__ */
    940 
    941 typedef enum CommandStateChangeConstants {
    942     CSC_UPDATECOMMANDS = -1,
    943     CSC_NAVIGATEFORWARD = 1,
    944     CSC_NAVIGATEBACK = 2
    945 } CommandStateChangeConstants;
    946 /*****************************************************************************
    947  * IWebBrowserApp interface
    948  */
    949 #ifndef __IWebBrowserApp_INTERFACE_DEFINED__
    950 #define __IWebBrowserApp_INTERFACE_DEFINED__
    951 
    952 DEFINE_GUID(IID_IWebBrowserApp, 0x0002df05, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
    953 #if defined(__cplusplus) && !defined(CINTERFACE)
    954 MIDL_INTERFACE("0002df05-0000-0000-c000-000000000046")
    955 IWebBrowserApp : public IWebBrowser
    956 {
    957     virtual HRESULT STDMETHODCALLTYPE Quit(
    958         ) = 0;
    959 
    960     virtual HRESULT STDMETHODCALLTYPE ClientToWindow(
    961         int *pcx,
    962         int *pcy) = 0;
    963 
    964     virtual HRESULT STDMETHODCALLTYPE PutProperty(
    965         BSTR Property,
    966         VARIANT vtValue) = 0;
    967 
    968     virtual HRESULT STDMETHODCALLTYPE GetProperty(
    969         BSTR Property,
    970         VARIANT *pvtValue) = 0;
    971 
    972     virtual HRESULT STDMETHODCALLTYPE get_Name(
    973         BSTR *Name) = 0;
    974 
    975     virtual HRESULT STDMETHODCALLTYPE get_HWND(
    976         SHANDLE_PTR *pHWND) = 0;
    977 
    978     virtual HRESULT STDMETHODCALLTYPE get_FullName(
    979         BSTR *FullName) = 0;
    980 
    981     virtual HRESULT STDMETHODCALLTYPE get_Path(
    982         BSTR *Path) = 0;
    983 
    984     virtual HRESULT STDMETHODCALLTYPE get_Visible(
    985         VARIANT_BOOL *pBool) = 0;
    986 
    987     virtual HRESULT STDMETHODCALLTYPE put_Visible(
    988         VARIANT_BOOL Value) = 0;
    989 
    990     virtual HRESULT STDMETHODCALLTYPE get_StatusBar(
    991         VARIANT_BOOL *pBool) = 0;
    992 
    993     virtual HRESULT STDMETHODCALLTYPE put_StatusBar(
    994         VARIANT_BOOL Value) = 0;
    995 
    996     virtual HRESULT STDMETHODCALLTYPE get_StatusText(
    997         BSTR *StatusText) = 0;
    998 
    999     virtual HRESULT STDMETHODCALLTYPE put_StatusText(
   1000         BSTR StatusText) = 0;
   1001 
   1002     virtual HRESULT STDMETHODCALLTYPE get_ToolBar(
   1003         int *Value) = 0;
   1004 
   1005     virtual HRESULT STDMETHODCALLTYPE put_ToolBar(
   1006         int Value) = 0;
   1007 
   1008     virtual HRESULT STDMETHODCALLTYPE get_MenuBar(
   1009         VARIANT_BOOL *Value) = 0;
   1010 
   1011     virtual HRESULT STDMETHODCALLTYPE put_MenuBar(
   1012         VARIANT_BOOL Value) = 0;
   1013 
   1014     virtual HRESULT STDMETHODCALLTYPE get_FullScreen(
   1015         VARIANT_BOOL *pbFullScreen) = 0;
   1016 
   1017     virtual HRESULT STDMETHODCALLTYPE put_FullScreen(
   1018         VARIANT_BOOL bFullScreen) = 0;
   1019 
   1020 };
   1021 #ifdef __CRT_UUID_DECL
   1022 __CRT_UUID_DECL(IWebBrowserApp, 0x0002df05, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   1023 #endif
   1024 #else
   1025 typedef struct IWebBrowserAppVtbl {
   1026     BEGIN_INTERFACE
   1027 
   1028     /*** IUnknown methods ***/
   1029     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1030         IWebBrowserApp* This,
   1031         REFIID riid,
   1032         void **ppvObject);
   1033 
   1034     ULONG (STDMETHODCALLTYPE *AddRef)(
   1035         IWebBrowserApp* This);
   1036 
   1037     ULONG (STDMETHODCALLTYPE *Release)(
   1038         IWebBrowserApp* This);
   1039 
   1040     /*** IDispatch methods ***/
   1041     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1042         IWebBrowserApp* This,
   1043         UINT *pctinfo);
   1044 
   1045     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1046         IWebBrowserApp* This,
   1047         UINT iTInfo,
   1048         LCID lcid,
   1049         ITypeInfo **ppTInfo);
   1050 
   1051     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1052         IWebBrowserApp* This,
   1053         REFIID riid,
   1054         LPOLESTR *rgszNames,
   1055         UINT cNames,
   1056         LCID lcid,
   1057         DISPID *rgDispId);
   1058 
   1059     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1060         IWebBrowserApp* This,
   1061         DISPID dispIdMember,
   1062         REFIID riid,
   1063         LCID lcid,
   1064         WORD wFlags,
   1065         DISPPARAMS *pDispParams,
   1066         VARIANT *pVarResult,
   1067         EXCEPINFO *pExcepInfo,
   1068         UINT *puArgErr);
   1069 
   1070     /*** IWebBrowser methods ***/
   1071     HRESULT (STDMETHODCALLTYPE *GoBack)(
   1072         IWebBrowserApp* This);
   1073 
   1074     HRESULT (STDMETHODCALLTYPE *GoForward)(
   1075         IWebBrowserApp* This);
   1076 
   1077     HRESULT (STDMETHODCALLTYPE *GoHome)(
   1078         IWebBrowserApp* This);
   1079 
   1080     HRESULT (STDMETHODCALLTYPE *GoSearch)(
   1081         IWebBrowserApp* This);
   1082 
   1083     HRESULT (STDMETHODCALLTYPE *Navigate)(
   1084         IWebBrowserApp* This,
   1085         BSTR URL,
   1086         VARIANT *Flags,
   1087         VARIANT *TargetFrameName,
   1088         VARIANT *PostData,
   1089         VARIANT *Headers);
   1090 
   1091     HRESULT (STDMETHODCALLTYPE *Refresh)(
   1092         IWebBrowserApp* This);
   1093 
   1094     HRESULT (STDMETHODCALLTYPE *Refresh2)(
   1095         IWebBrowserApp* This,
   1096         VARIANT *Level);
   1097 
   1098     HRESULT (STDMETHODCALLTYPE *Stop)(
   1099         IWebBrowserApp* This);
   1100 
   1101     HRESULT (STDMETHODCALLTYPE *get_Application)(
   1102         IWebBrowserApp* This,
   1103         IDispatch **ppDisp);
   1104 
   1105     HRESULT (STDMETHODCALLTYPE *get_Parent)(
   1106         IWebBrowserApp* This,
   1107         IDispatch **ppDisp);
   1108 
   1109     HRESULT (STDMETHODCALLTYPE *get_Container)(
   1110         IWebBrowserApp* This,
   1111         IDispatch **ppDisp);
   1112 
   1113     HRESULT (STDMETHODCALLTYPE *get_Document)(
   1114         IWebBrowserApp* This,
   1115         IDispatch **ppDisp);
   1116 
   1117     HRESULT (STDMETHODCALLTYPE *get_TopLevelContainer)(
   1118         IWebBrowserApp* This,
   1119         VARIANT_BOOL *pBool);
   1120 
   1121     HRESULT (STDMETHODCALLTYPE *get_Type)(
   1122         IWebBrowserApp* This,
   1123         BSTR *Type);
   1124 
   1125     HRESULT (STDMETHODCALLTYPE *get_Left)(
   1126         IWebBrowserApp* This,
   1127         LONG *pl);
   1128 
   1129     HRESULT (STDMETHODCALLTYPE *put_Left)(
   1130         IWebBrowserApp* This,
   1131         LONG Left);
   1132 
   1133     HRESULT (STDMETHODCALLTYPE *get_Top)(
   1134         IWebBrowserApp* This,
   1135         LONG *pl);
   1136 
   1137     HRESULT (STDMETHODCALLTYPE *put_Top)(
   1138         IWebBrowserApp* This,
   1139         LONG Top);
   1140 
   1141     HRESULT (STDMETHODCALLTYPE *get_Width)(
   1142         IWebBrowserApp* This,
   1143         LONG *pl);
   1144 
   1145     HRESULT (STDMETHODCALLTYPE *put_Width)(
   1146         IWebBrowserApp* This,
   1147         LONG Width);
   1148 
   1149     HRESULT (STDMETHODCALLTYPE *get_Height)(
   1150         IWebBrowserApp* This,
   1151         LONG *pl);
   1152 
   1153     HRESULT (STDMETHODCALLTYPE *put_Height)(
   1154         IWebBrowserApp* This,
   1155         LONG Height);
   1156 
   1157     HRESULT (STDMETHODCALLTYPE *get_LocationName)(
   1158         IWebBrowserApp* This,
   1159         BSTR *LocationName);
   1160 
   1161     HRESULT (STDMETHODCALLTYPE *get_LocationURL)(
   1162         IWebBrowserApp* This,
   1163         BSTR *LocationURL);
   1164 
   1165     HRESULT (STDMETHODCALLTYPE *get_Busy)(
   1166         IWebBrowserApp* This,
   1167         VARIANT_BOOL *pBool);
   1168 
   1169     /*** IWebBrowserApp methods ***/
   1170     HRESULT (STDMETHODCALLTYPE *Quit)(
   1171         IWebBrowserApp* This);
   1172 
   1173     HRESULT (STDMETHODCALLTYPE *ClientToWindow)(
   1174         IWebBrowserApp* This,
   1175         int *pcx,
   1176         int *pcy);
   1177 
   1178     HRESULT (STDMETHODCALLTYPE *PutProperty)(
   1179         IWebBrowserApp* This,
   1180         BSTR Property,
   1181         VARIANT vtValue);
   1182 
   1183     HRESULT (STDMETHODCALLTYPE *GetProperty)(
   1184         IWebBrowserApp* This,
   1185         BSTR Property,
   1186         VARIANT *pvtValue);
   1187 
   1188     HRESULT (STDMETHODCALLTYPE *get_Name)(
   1189         IWebBrowserApp* This,
   1190         BSTR *Name);
   1191 
   1192     HRESULT (STDMETHODCALLTYPE *get_HWND)(
   1193         IWebBrowserApp* This,
   1194         SHANDLE_PTR *pHWND);
   1195 
   1196     HRESULT (STDMETHODCALLTYPE *get_FullName)(
   1197         IWebBrowserApp* This,
   1198         BSTR *FullName);
   1199 
   1200     HRESULT (STDMETHODCALLTYPE *get_Path)(
   1201         IWebBrowserApp* This,
   1202         BSTR *Path);
   1203 
   1204     HRESULT (STDMETHODCALLTYPE *get_Visible)(
   1205         IWebBrowserApp* This,
   1206         VARIANT_BOOL *pBool);
   1207 
   1208     HRESULT (STDMETHODCALLTYPE *put_Visible)(
   1209         IWebBrowserApp* This,
   1210         VARIANT_BOOL Value);
   1211 
   1212     HRESULT (STDMETHODCALLTYPE *get_StatusBar)(
   1213         IWebBrowserApp* This,
   1214         VARIANT_BOOL *pBool);
   1215 
   1216     HRESULT (STDMETHODCALLTYPE *put_StatusBar)(
   1217         IWebBrowserApp* This,
   1218         VARIANT_BOOL Value);
   1219 
   1220     HRESULT (STDMETHODCALLTYPE *get_StatusText)(
   1221         IWebBrowserApp* This,
   1222         BSTR *StatusText);
   1223 
   1224     HRESULT (STDMETHODCALLTYPE *put_StatusText)(
   1225         IWebBrowserApp* This,
   1226         BSTR StatusText);
   1227 
   1228     HRESULT (STDMETHODCALLTYPE *get_ToolBar)(
   1229         IWebBrowserApp* This,
   1230         int *Value);
   1231 
   1232     HRESULT (STDMETHODCALLTYPE *put_ToolBar)(
   1233         IWebBrowserApp* This,
   1234         int Value);
   1235 
   1236     HRESULT (STDMETHODCALLTYPE *get_MenuBar)(
   1237         IWebBrowserApp* This,
   1238         VARIANT_BOOL *Value);
   1239 
   1240     HRESULT (STDMETHODCALLTYPE *put_MenuBar)(
   1241         IWebBrowserApp* This,
   1242         VARIANT_BOOL Value);
   1243 
   1244     HRESULT (STDMETHODCALLTYPE *get_FullScreen)(
   1245         IWebBrowserApp* This,
   1246         VARIANT_BOOL *pbFullScreen);
   1247 
   1248     HRESULT (STDMETHODCALLTYPE *put_FullScreen)(
   1249         IWebBrowserApp* This,
   1250         VARIANT_BOOL bFullScreen);
   1251 
   1252     END_INTERFACE
   1253 } IWebBrowserAppVtbl;
   1254 interface IWebBrowserApp {
   1255     CONST_VTBL IWebBrowserAppVtbl* lpVtbl;
   1256 };
   1257 
   1258 #ifdef COBJMACROS
   1259 #ifndef WIDL_C_INLINE_WRAPPERS
   1260 /*** IUnknown methods ***/
   1261 #define IWebBrowserApp_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1262 #define IWebBrowserApp_AddRef(This) (This)->lpVtbl->AddRef(This)
   1263 #define IWebBrowserApp_Release(This) (This)->lpVtbl->Release(This)
   1264 /*** IDispatch methods ***/
   1265 #define IWebBrowserApp_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1266 #define IWebBrowserApp_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1267 #define IWebBrowserApp_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1268 #define IWebBrowserApp_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1269 /*** IWebBrowser methods ***/
   1270 #define IWebBrowserApp_GoBack(This) (This)->lpVtbl->GoBack(This)
   1271 #define IWebBrowserApp_GoForward(This) (This)->lpVtbl->GoForward(This)
   1272 #define IWebBrowserApp_GoHome(This) (This)->lpVtbl->GoHome(This)
   1273 #define IWebBrowserApp_GoSearch(This) (This)->lpVtbl->GoSearch(This)
   1274 #define IWebBrowserApp_Navigate(This,URL,Flags,TargetFrameName,PostData,Headers) (This)->lpVtbl->Navigate(This,URL,Flags,TargetFrameName,PostData,Headers)
   1275 #define IWebBrowserApp_Refresh(This) (This)->lpVtbl->Refresh(This)
   1276 #define IWebBrowserApp_Refresh2(This,Level) (This)->lpVtbl->Refresh2(This,Level)
   1277 #define IWebBrowserApp_Stop(This) (This)->lpVtbl->Stop(This)
   1278 #define IWebBrowserApp_get_Application(This,ppDisp) (This)->lpVtbl->get_Application(This,ppDisp)
   1279 #define IWebBrowserApp_get_Parent(This,ppDisp) (This)->lpVtbl->get_Parent(This,ppDisp)
   1280 #define IWebBrowserApp_get_Container(This,ppDisp) (This)->lpVtbl->get_Container(This,ppDisp)
   1281 #define IWebBrowserApp_get_Document(This,ppDisp) (This)->lpVtbl->get_Document(This,ppDisp)
   1282 #define IWebBrowserApp_get_TopLevelContainer(This,pBool) (This)->lpVtbl->get_TopLevelContainer(This,pBool)
   1283 #define IWebBrowserApp_get_Type(This,Type) (This)->lpVtbl->get_Type(This,Type)
   1284 #define IWebBrowserApp_get_Left(This,pl) (This)->lpVtbl->get_Left(This,pl)
   1285 #define IWebBrowserApp_put_Left(This,Left) (This)->lpVtbl->put_Left(This,Left)
   1286 #define IWebBrowserApp_get_Top(This,pl) (This)->lpVtbl->get_Top(This,pl)
   1287 #define IWebBrowserApp_put_Top(This,Top) (This)->lpVtbl->put_Top(This,Top)
   1288 #define IWebBrowserApp_get_Width(This,pl) (This)->lpVtbl->get_Width(This,pl)
   1289 #define IWebBrowserApp_put_Width(This,Width) (This)->lpVtbl->put_Width(This,Width)
   1290 #define IWebBrowserApp_get_Height(This,pl) (This)->lpVtbl->get_Height(This,pl)
   1291 #define IWebBrowserApp_put_Height(This,Height) (This)->lpVtbl->put_Height(This,Height)
   1292 #define IWebBrowserApp_get_LocationName(This,LocationName) (This)->lpVtbl->get_LocationName(This,LocationName)
   1293 #define IWebBrowserApp_get_LocationURL(This,LocationURL) (This)->lpVtbl->get_LocationURL(This,LocationURL)
   1294 #define IWebBrowserApp_get_Busy(This,pBool) (This)->lpVtbl->get_Busy(This,pBool)
   1295 /*** IWebBrowserApp methods ***/
   1296 #define IWebBrowserApp_Quit(This) (This)->lpVtbl->Quit(This)
   1297 #define IWebBrowserApp_ClientToWindow(This,pcx,pcy) (This)->lpVtbl->ClientToWindow(This,pcx,pcy)
   1298 #define IWebBrowserApp_PutProperty(This,Property,vtValue) (This)->lpVtbl->PutProperty(This,Property,vtValue)
   1299 #define IWebBrowserApp_GetProperty(This,Property,pvtValue) (This)->lpVtbl->GetProperty(This,Property,pvtValue)
   1300 #define IWebBrowserApp_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
   1301 #define IWebBrowserApp_get_HWND(This,pHWND) (This)->lpVtbl->get_HWND(This,pHWND)
   1302 #define IWebBrowserApp_get_FullName(This,FullName) (This)->lpVtbl->get_FullName(This,FullName)
   1303 #define IWebBrowserApp_get_Path(This,Path) (This)->lpVtbl->get_Path(This,Path)
   1304 #define IWebBrowserApp_get_Visible(This,pBool) (This)->lpVtbl->get_Visible(This,pBool)
   1305 #define IWebBrowserApp_put_Visible(This,Value) (This)->lpVtbl->put_Visible(This,Value)
   1306 #define IWebBrowserApp_get_StatusBar(This,pBool) (This)->lpVtbl->get_StatusBar(This,pBool)
   1307 #define IWebBrowserApp_put_StatusBar(This,Value) (This)->lpVtbl->put_StatusBar(This,Value)
   1308 #define IWebBrowserApp_get_StatusText(This,StatusText) (This)->lpVtbl->get_StatusText(This,StatusText)
   1309 #define IWebBrowserApp_put_StatusText(This,StatusText) (This)->lpVtbl->put_StatusText(This,StatusText)
   1310 #define IWebBrowserApp_get_ToolBar(This,Value) (This)->lpVtbl->get_ToolBar(This,Value)
   1311 #define IWebBrowserApp_put_ToolBar(This,Value) (This)->lpVtbl->put_ToolBar(This,Value)
   1312 #define IWebBrowserApp_get_MenuBar(This,Value) (This)->lpVtbl->get_MenuBar(This,Value)
   1313 #define IWebBrowserApp_put_MenuBar(This,Value) (This)->lpVtbl->put_MenuBar(This,Value)
   1314 #define IWebBrowserApp_get_FullScreen(This,pbFullScreen) (This)->lpVtbl->get_FullScreen(This,pbFullScreen)
   1315 #define IWebBrowserApp_put_FullScreen(This,bFullScreen) (This)->lpVtbl->put_FullScreen(This,bFullScreen)
   1316 #else
   1317 /*** IUnknown methods ***/
   1318 static FORCEINLINE HRESULT IWebBrowserApp_QueryInterface(IWebBrowserApp* This,REFIID riid,void **ppvObject) {
   1319     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   1320 }
   1321 static FORCEINLINE ULONG IWebBrowserApp_AddRef(IWebBrowserApp* This) {
   1322     return This->lpVtbl->AddRef(This);
   1323 }
   1324 static FORCEINLINE ULONG IWebBrowserApp_Release(IWebBrowserApp* This) {
   1325     return This->lpVtbl->Release(This);
   1326 }
   1327 /*** IDispatch methods ***/
   1328 static FORCEINLINE HRESULT IWebBrowserApp_GetTypeInfoCount(IWebBrowserApp* This,UINT *pctinfo) {
   1329     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   1330 }
   1331 static FORCEINLINE HRESULT IWebBrowserApp_GetTypeInfo(IWebBrowserApp* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   1332     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   1333 }
   1334 static FORCEINLINE HRESULT IWebBrowserApp_GetIDsOfNames(IWebBrowserApp* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   1335     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   1336 }
   1337 static FORCEINLINE HRESULT IWebBrowserApp_Invoke(IWebBrowserApp* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   1338     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   1339 }
   1340 /*** IWebBrowser methods ***/
   1341 static FORCEINLINE HRESULT IWebBrowserApp_GoBack(IWebBrowserApp* This) {
   1342     return This->lpVtbl->GoBack(This);
   1343 }
   1344 static FORCEINLINE HRESULT IWebBrowserApp_GoForward(IWebBrowserApp* This) {
   1345     return This->lpVtbl->GoForward(This);
   1346 }
   1347 static FORCEINLINE HRESULT IWebBrowserApp_GoHome(IWebBrowserApp* This) {
   1348     return This->lpVtbl->GoHome(This);
   1349 }
   1350 static FORCEINLINE HRESULT IWebBrowserApp_GoSearch(IWebBrowserApp* This) {
   1351     return This->lpVtbl->GoSearch(This);
   1352 }
   1353 static FORCEINLINE HRESULT IWebBrowserApp_Navigate(IWebBrowserApp* This,BSTR URL,VARIANT *Flags,VARIANT *TargetFrameName,VARIANT *PostData,VARIANT *Headers) {
   1354     return This->lpVtbl->Navigate(This,URL,Flags,TargetFrameName,PostData,Headers);
   1355 }
   1356 static FORCEINLINE HRESULT IWebBrowserApp_Refresh(IWebBrowserApp* This) {
   1357     return This->lpVtbl->Refresh(This);
   1358 }
   1359 static FORCEINLINE HRESULT IWebBrowserApp_Refresh2(IWebBrowserApp* This,VARIANT *Level) {
   1360     return This->lpVtbl->Refresh2(This,Level);
   1361 }
   1362 static FORCEINLINE HRESULT IWebBrowserApp_Stop(IWebBrowserApp* This) {
   1363     return This->lpVtbl->Stop(This);
   1364 }
   1365 static FORCEINLINE HRESULT IWebBrowserApp_get_Application(IWebBrowserApp* This,IDispatch **ppDisp) {
   1366     return This->lpVtbl->get_Application(This,ppDisp);
   1367 }
   1368 static FORCEINLINE HRESULT IWebBrowserApp_get_Parent(IWebBrowserApp* This,IDispatch **ppDisp) {
   1369     return This->lpVtbl->get_Parent(This,ppDisp);
   1370 }
   1371 static FORCEINLINE HRESULT IWebBrowserApp_get_Container(IWebBrowserApp* This,IDispatch **ppDisp) {
   1372     return This->lpVtbl->get_Container(This,ppDisp);
   1373 }
   1374 static FORCEINLINE HRESULT IWebBrowserApp_get_Document(IWebBrowserApp* This,IDispatch **ppDisp) {
   1375     return This->lpVtbl->get_Document(This,ppDisp);
   1376 }
   1377 static FORCEINLINE HRESULT IWebBrowserApp_get_TopLevelContainer(IWebBrowserApp* This,VARIANT_BOOL *pBool) {
   1378     return This->lpVtbl->get_TopLevelContainer(This,pBool);
   1379 }
   1380 static FORCEINLINE HRESULT IWebBrowserApp_get_Type(IWebBrowserApp* This,BSTR *Type) {
   1381     return This->lpVtbl->get_Type(This,Type);
   1382 }
   1383 static FORCEINLINE HRESULT IWebBrowserApp_get_Left(IWebBrowserApp* This,LONG *pl) {
   1384     return This->lpVtbl->get_Left(This,pl);
   1385 }
   1386 static FORCEINLINE HRESULT IWebBrowserApp_put_Left(IWebBrowserApp* This,LONG Left) {
   1387     return This->lpVtbl->put_Left(This,Left);
   1388 }
   1389 static FORCEINLINE HRESULT IWebBrowserApp_get_Top(IWebBrowserApp* This,LONG *pl) {
   1390     return This->lpVtbl->get_Top(This,pl);
   1391 }
   1392 static FORCEINLINE HRESULT IWebBrowserApp_put_Top(IWebBrowserApp* This,LONG Top) {
   1393     return This->lpVtbl->put_Top(This,Top);
   1394 }
   1395 static FORCEINLINE HRESULT IWebBrowserApp_get_Width(IWebBrowserApp* This,LONG *pl) {
   1396     return This->lpVtbl->get_Width(This,pl);
   1397 }
   1398 static FORCEINLINE HRESULT IWebBrowserApp_put_Width(IWebBrowserApp* This,LONG Width) {
   1399     return This->lpVtbl->put_Width(This,Width);
   1400 }
   1401 static FORCEINLINE HRESULT IWebBrowserApp_get_Height(IWebBrowserApp* This,LONG *pl) {
   1402     return This->lpVtbl->get_Height(This,pl);
   1403 }
   1404 static FORCEINLINE HRESULT IWebBrowserApp_put_Height(IWebBrowserApp* This,LONG Height) {
   1405     return This->lpVtbl->put_Height(This,Height);
   1406 }
   1407 static FORCEINLINE HRESULT IWebBrowserApp_get_LocationName(IWebBrowserApp* This,BSTR *LocationName) {
   1408     return This->lpVtbl->get_LocationName(This,LocationName);
   1409 }
   1410 static FORCEINLINE HRESULT IWebBrowserApp_get_LocationURL(IWebBrowserApp* This,BSTR *LocationURL) {
   1411     return This->lpVtbl->get_LocationURL(This,LocationURL);
   1412 }
   1413 static FORCEINLINE HRESULT IWebBrowserApp_get_Busy(IWebBrowserApp* This,VARIANT_BOOL *pBool) {
   1414     return This->lpVtbl->get_Busy(This,pBool);
   1415 }
   1416 /*** IWebBrowserApp methods ***/
   1417 static FORCEINLINE HRESULT IWebBrowserApp_Quit(IWebBrowserApp* This) {
   1418     return This->lpVtbl->Quit(This);
   1419 }
   1420 static FORCEINLINE HRESULT IWebBrowserApp_ClientToWindow(IWebBrowserApp* This,int *pcx,int *pcy) {
   1421     return This->lpVtbl->ClientToWindow(This,pcx,pcy);
   1422 }
   1423 static FORCEINLINE HRESULT IWebBrowserApp_PutProperty(IWebBrowserApp* This,BSTR Property,VARIANT vtValue) {
   1424     return This->lpVtbl->PutProperty(This,Property,vtValue);
   1425 }
   1426 static FORCEINLINE HRESULT IWebBrowserApp_GetProperty(IWebBrowserApp* This,BSTR Property,VARIANT *pvtValue) {
   1427     return This->lpVtbl->GetProperty(This,Property,pvtValue);
   1428 }
   1429 static FORCEINLINE HRESULT IWebBrowserApp_get_Name(IWebBrowserApp* This,BSTR *Name) {
   1430     return This->lpVtbl->get_Name(This,Name);
   1431 }
   1432 static FORCEINLINE HRESULT IWebBrowserApp_get_HWND(IWebBrowserApp* This,SHANDLE_PTR *pHWND) {
   1433     return This->lpVtbl->get_HWND(This,pHWND);
   1434 }
   1435 static FORCEINLINE HRESULT IWebBrowserApp_get_FullName(IWebBrowserApp* This,BSTR *FullName) {
   1436     return This->lpVtbl->get_FullName(This,FullName);
   1437 }
   1438 static FORCEINLINE HRESULT IWebBrowserApp_get_Path(IWebBrowserApp* This,BSTR *Path) {
   1439     return This->lpVtbl->get_Path(This,Path);
   1440 }
   1441 static FORCEINLINE HRESULT IWebBrowserApp_get_Visible(IWebBrowserApp* This,VARIANT_BOOL *pBool) {
   1442     return This->lpVtbl->get_Visible(This,pBool);
   1443 }
   1444 static FORCEINLINE HRESULT IWebBrowserApp_put_Visible(IWebBrowserApp* This,VARIANT_BOOL Value) {
   1445     return This->lpVtbl->put_Visible(This,Value);
   1446 }
   1447 static FORCEINLINE HRESULT IWebBrowserApp_get_StatusBar(IWebBrowserApp* This,VARIANT_BOOL *pBool) {
   1448     return This->lpVtbl->get_StatusBar(This,pBool);
   1449 }
   1450 static FORCEINLINE HRESULT IWebBrowserApp_put_StatusBar(IWebBrowserApp* This,VARIANT_BOOL Value) {
   1451     return This->lpVtbl->put_StatusBar(This,Value);
   1452 }
   1453 static FORCEINLINE HRESULT IWebBrowserApp_get_StatusText(IWebBrowserApp* This,BSTR *StatusText) {
   1454     return This->lpVtbl->get_StatusText(This,StatusText);
   1455 }
   1456 static FORCEINLINE HRESULT IWebBrowserApp_put_StatusText(IWebBrowserApp* This,BSTR StatusText) {
   1457     return This->lpVtbl->put_StatusText(This,StatusText);
   1458 }
   1459 static FORCEINLINE HRESULT IWebBrowserApp_get_ToolBar(IWebBrowserApp* This,int *Value) {
   1460     return This->lpVtbl->get_ToolBar(This,Value);
   1461 }
   1462 static FORCEINLINE HRESULT IWebBrowserApp_put_ToolBar(IWebBrowserApp* This,int Value) {
   1463     return This->lpVtbl->put_ToolBar(This,Value);
   1464 }
   1465 static FORCEINLINE HRESULT IWebBrowserApp_get_MenuBar(IWebBrowserApp* This,VARIANT_BOOL *Value) {
   1466     return This->lpVtbl->get_MenuBar(This,Value);
   1467 }
   1468 static FORCEINLINE HRESULT IWebBrowserApp_put_MenuBar(IWebBrowserApp* This,VARIANT_BOOL Value) {
   1469     return This->lpVtbl->put_MenuBar(This,Value);
   1470 }
   1471 static FORCEINLINE HRESULT IWebBrowserApp_get_FullScreen(IWebBrowserApp* This,VARIANT_BOOL *pbFullScreen) {
   1472     return This->lpVtbl->get_FullScreen(This,pbFullScreen);
   1473 }
   1474 static FORCEINLINE HRESULT IWebBrowserApp_put_FullScreen(IWebBrowserApp* This,VARIANT_BOOL bFullScreen) {
   1475     return This->lpVtbl->put_FullScreen(This,bFullScreen);
   1476 }
   1477 #endif
   1478 #endif
   1479 
   1480 #endif
   1481 
   1482 HRESULT STDMETHODCALLTYPE IWebBrowserApp_Quit_Proxy(
   1483     IWebBrowserApp* This);
   1484 void __RPC_STUB IWebBrowserApp_Quit_Stub(
   1485     IRpcStubBuffer* This,
   1486     IRpcChannelBuffer* pRpcChannelBuffer,
   1487     PRPC_MESSAGE pRpcMessage,
   1488     DWORD* pdwStubPhase);
   1489 HRESULT STDMETHODCALLTYPE IWebBrowserApp_ClientToWindow_Proxy(
   1490     IWebBrowserApp* This,
   1491     int *pcx,
   1492     int *pcy);
   1493 void __RPC_STUB IWebBrowserApp_ClientToWindow_Stub(
   1494     IRpcStubBuffer* This,
   1495     IRpcChannelBuffer* pRpcChannelBuffer,
   1496     PRPC_MESSAGE pRpcMessage,
   1497     DWORD* pdwStubPhase);
   1498 HRESULT STDMETHODCALLTYPE IWebBrowserApp_PutProperty_Proxy(
   1499     IWebBrowserApp* This,
   1500     BSTR Property,
   1501     VARIANT vtValue);
   1502 void __RPC_STUB IWebBrowserApp_PutProperty_Stub(
   1503     IRpcStubBuffer* This,
   1504     IRpcChannelBuffer* pRpcChannelBuffer,
   1505     PRPC_MESSAGE pRpcMessage,
   1506     DWORD* pdwStubPhase);
   1507 HRESULT STDMETHODCALLTYPE IWebBrowserApp_GetProperty_Proxy(
   1508     IWebBrowserApp* This,
   1509     BSTR Property,
   1510     VARIANT *pvtValue);
   1511 void __RPC_STUB IWebBrowserApp_GetProperty_Stub(
   1512     IRpcStubBuffer* This,
   1513     IRpcChannelBuffer* pRpcChannelBuffer,
   1514     PRPC_MESSAGE pRpcMessage,
   1515     DWORD* pdwStubPhase);
   1516 HRESULT STDMETHODCALLTYPE IWebBrowserApp_get_Name_Proxy(
   1517     IWebBrowserApp* This,
   1518     BSTR *Name);
   1519 void __RPC_STUB IWebBrowserApp_get_Name_Stub(
   1520     IRpcStubBuffer* This,
   1521     IRpcChannelBuffer* pRpcChannelBuffer,
   1522     PRPC_MESSAGE pRpcMessage,
   1523     DWORD* pdwStubPhase);
   1524 HRESULT STDMETHODCALLTYPE IWebBrowserApp_get_HWND_Proxy(
   1525     IWebBrowserApp* This,
   1526     SHANDLE_PTR *pHWND);
   1527 void __RPC_STUB IWebBrowserApp_get_HWND_Stub(
   1528     IRpcStubBuffer* This,
   1529     IRpcChannelBuffer* pRpcChannelBuffer,
   1530     PRPC_MESSAGE pRpcMessage,
   1531     DWORD* pdwStubPhase);
   1532 HRESULT STDMETHODCALLTYPE IWebBrowserApp_get_FullName_Proxy(
   1533     IWebBrowserApp* This,
   1534     BSTR *FullName);
   1535 void __RPC_STUB IWebBrowserApp_get_FullName_Stub(
   1536     IRpcStubBuffer* This,
   1537     IRpcChannelBuffer* pRpcChannelBuffer,
   1538     PRPC_MESSAGE pRpcMessage,
   1539     DWORD* pdwStubPhase);
   1540 HRESULT STDMETHODCALLTYPE IWebBrowserApp_get_Path_Proxy(
   1541     IWebBrowserApp* This,
   1542     BSTR *Path);
   1543 void __RPC_STUB IWebBrowserApp_get_Path_Stub(
   1544     IRpcStubBuffer* This,
   1545     IRpcChannelBuffer* pRpcChannelBuffer,
   1546     PRPC_MESSAGE pRpcMessage,
   1547     DWORD* pdwStubPhase);
   1548 HRESULT STDMETHODCALLTYPE IWebBrowserApp_get_Visible_Proxy(
   1549     IWebBrowserApp* This,
   1550     VARIANT_BOOL *pBool);
   1551 void __RPC_STUB IWebBrowserApp_get_Visible_Stub(
   1552     IRpcStubBuffer* This,
   1553     IRpcChannelBuffer* pRpcChannelBuffer,
   1554     PRPC_MESSAGE pRpcMessage,
   1555     DWORD* pdwStubPhase);
   1556 HRESULT STDMETHODCALLTYPE IWebBrowserApp_put_Visible_Proxy(
   1557     IWebBrowserApp* This,
   1558     VARIANT_BOOL Value);
   1559 void __RPC_STUB IWebBrowserApp_put_Visible_Stub(
   1560     IRpcStubBuffer* This,
   1561     IRpcChannelBuffer* pRpcChannelBuffer,
   1562     PRPC_MESSAGE pRpcMessage,
   1563     DWORD* pdwStubPhase);
   1564 HRESULT STDMETHODCALLTYPE IWebBrowserApp_get_StatusBar_Proxy(
   1565     IWebBrowserApp* This,
   1566     VARIANT_BOOL *pBool);
   1567 void __RPC_STUB IWebBrowserApp_get_StatusBar_Stub(
   1568     IRpcStubBuffer* This,
   1569     IRpcChannelBuffer* pRpcChannelBuffer,
   1570     PRPC_MESSAGE pRpcMessage,
   1571     DWORD* pdwStubPhase);
   1572 HRESULT STDMETHODCALLTYPE IWebBrowserApp_put_StatusBar_Proxy(
   1573     IWebBrowserApp* This,
   1574     VARIANT_BOOL Value);
   1575 void __RPC_STUB IWebBrowserApp_put_StatusBar_Stub(
   1576     IRpcStubBuffer* This,
   1577     IRpcChannelBuffer* pRpcChannelBuffer,
   1578     PRPC_MESSAGE pRpcMessage,
   1579     DWORD* pdwStubPhase);
   1580 HRESULT STDMETHODCALLTYPE IWebBrowserApp_get_StatusText_Proxy(
   1581     IWebBrowserApp* This,
   1582     BSTR *StatusText);
   1583 void __RPC_STUB IWebBrowserApp_get_StatusText_Stub(
   1584     IRpcStubBuffer* This,
   1585     IRpcChannelBuffer* pRpcChannelBuffer,
   1586     PRPC_MESSAGE pRpcMessage,
   1587     DWORD* pdwStubPhase);
   1588 HRESULT STDMETHODCALLTYPE IWebBrowserApp_put_StatusText_Proxy(
   1589     IWebBrowserApp* This,
   1590     BSTR StatusText);
   1591 void __RPC_STUB IWebBrowserApp_put_StatusText_Stub(
   1592     IRpcStubBuffer* This,
   1593     IRpcChannelBuffer* pRpcChannelBuffer,
   1594     PRPC_MESSAGE pRpcMessage,
   1595     DWORD* pdwStubPhase);
   1596 HRESULT STDMETHODCALLTYPE IWebBrowserApp_get_ToolBar_Proxy(
   1597     IWebBrowserApp* This,
   1598     int *Value);
   1599 void __RPC_STUB IWebBrowserApp_get_ToolBar_Stub(
   1600     IRpcStubBuffer* This,
   1601     IRpcChannelBuffer* pRpcChannelBuffer,
   1602     PRPC_MESSAGE pRpcMessage,
   1603     DWORD* pdwStubPhase);
   1604 HRESULT STDMETHODCALLTYPE IWebBrowserApp_put_ToolBar_Proxy(
   1605     IWebBrowserApp* This,
   1606     int Value);
   1607 void __RPC_STUB IWebBrowserApp_put_ToolBar_Stub(
   1608     IRpcStubBuffer* This,
   1609     IRpcChannelBuffer* pRpcChannelBuffer,
   1610     PRPC_MESSAGE pRpcMessage,
   1611     DWORD* pdwStubPhase);
   1612 HRESULT STDMETHODCALLTYPE IWebBrowserApp_get_MenuBar_Proxy(
   1613     IWebBrowserApp* This,
   1614     VARIANT_BOOL *Value);
   1615 void __RPC_STUB IWebBrowserApp_get_MenuBar_Stub(
   1616     IRpcStubBuffer* This,
   1617     IRpcChannelBuffer* pRpcChannelBuffer,
   1618     PRPC_MESSAGE pRpcMessage,
   1619     DWORD* pdwStubPhase);
   1620 HRESULT STDMETHODCALLTYPE IWebBrowserApp_put_MenuBar_Proxy(
   1621     IWebBrowserApp* This,
   1622     VARIANT_BOOL Value);
   1623 void __RPC_STUB IWebBrowserApp_put_MenuBar_Stub(
   1624     IRpcStubBuffer* This,
   1625     IRpcChannelBuffer* pRpcChannelBuffer,
   1626     PRPC_MESSAGE pRpcMessage,
   1627     DWORD* pdwStubPhase);
   1628 HRESULT STDMETHODCALLTYPE IWebBrowserApp_get_FullScreen_Proxy(
   1629     IWebBrowserApp* This,
   1630     VARIANT_BOOL *pbFullScreen);
   1631 void __RPC_STUB IWebBrowserApp_get_FullScreen_Stub(
   1632     IRpcStubBuffer* This,
   1633     IRpcChannelBuffer* pRpcChannelBuffer,
   1634     PRPC_MESSAGE pRpcMessage,
   1635     DWORD* pdwStubPhase);
   1636 HRESULT STDMETHODCALLTYPE IWebBrowserApp_put_FullScreen_Proxy(
   1637     IWebBrowserApp* This,
   1638     VARIANT_BOOL bFullScreen);
   1639 void __RPC_STUB IWebBrowserApp_put_FullScreen_Stub(
   1640     IRpcStubBuffer* This,
   1641     IRpcChannelBuffer* pRpcChannelBuffer,
   1642     PRPC_MESSAGE pRpcMessage,
   1643     DWORD* pdwStubPhase);
   1644 
   1645 #endif  /* __IWebBrowserApp_INTERFACE_DEFINED__ */
   1646 
   1647 /*****************************************************************************
   1648  * IWebBrowser2 interface
   1649  */
   1650 #ifndef __IWebBrowser2_INTERFACE_DEFINED__
   1651 #define __IWebBrowser2_INTERFACE_DEFINED__
   1652 
   1653 DEFINE_GUID(IID_IWebBrowser2, 0xd30c1661, 0xcdaf, 0x11d0, 0x8a,0x3e, 0x00,0xc0,0x4f,0xc9,0xe2,0x6e);
   1654 #if defined(__cplusplus) && !defined(CINTERFACE)
   1655 MIDL_INTERFACE("d30c1661-cdaf-11d0-8a3e-00c04fc9e26e")
   1656 IWebBrowser2 : public IWebBrowserApp
   1657 {
   1658     virtual HRESULT STDMETHODCALLTYPE Navigate2(
   1659         VARIANT *URL,
   1660         VARIANT *Flags,
   1661         VARIANT *TargetFrameName,
   1662         VARIANT *PostData,
   1663         VARIANT *Headers) = 0;
   1664 
   1665     virtual HRESULT STDMETHODCALLTYPE QueryStatusWB(
   1666         OLECMDID cmdID,
   1667         OLECMDF *pcmdf) = 0;
   1668 
   1669     virtual HRESULT STDMETHODCALLTYPE ExecWB(
   1670         OLECMDID cmdID,
   1671         OLECMDEXECOPT cmdexecopt,
   1672         VARIANT *pvaIn,
   1673         VARIANT *pvaOut) = 0;
   1674 
   1675     virtual HRESULT STDMETHODCALLTYPE ShowBrowserBar(
   1676         VARIANT *pvaClsid,
   1677         VARIANT *pvarShow,
   1678         VARIANT *pvarSize) = 0;
   1679 
   1680     virtual HRESULT STDMETHODCALLTYPE get_ReadyState(
   1681         READYSTATE *plReadyState) = 0;
   1682 
   1683     virtual HRESULT STDMETHODCALLTYPE get_Offline(
   1684         VARIANT_BOOL *pbOffline) = 0;
   1685 
   1686     virtual HRESULT STDMETHODCALLTYPE put_Offline(
   1687         VARIANT_BOOL bOffline) = 0;
   1688 
   1689     virtual HRESULT STDMETHODCALLTYPE get_Silent(
   1690         VARIANT_BOOL *pbSilent) = 0;
   1691 
   1692     virtual HRESULT STDMETHODCALLTYPE put_Silent(
   1693         VARIANT_BOOL bSilent) = 0;
   1694 
   1695     virtual HRESULT STDMETHODCALLTYPE get_RegisterAsBrowser(
   1696         VARIANT_BOOL *pbRegister) = 0;
   1697 
   1698     virtual HRESULT STDMETHODCALLTYPE put_RegisterAsBrowser(
   1699         VARIANT_BOOL bRegister) = 0;
   1700 
   1701     virtual HRESULT STDMETHODCALLTYPE get_RegisterAsDropTarget(
   1702         VARIANT_BOOL *pbRegister) = 0;
   1703 
   1704     virtual HRESULT STDMETHODCALLTYPE put_RegisterAsDropTarget(
   1705         VARIANT_BOOL bRegister) = 0;
   1706 
   1707     virtual HRESULT STDMETHODCALLTYPE get_TheaterMode(
   1708         VARIANT_BOOL *pbRegister) = 0;
   1709 
   1710     virtual HRESULT STDMETHODCALLTYPE put_TheaterMode(
   1711         VARIANT_BOOL bRegister) = 0;
   1712 
   1713     virtual HRESULT STDMETHODCALLTYPE get_AddressBar(
   1714         VARIANT_BOOL *Value) = 0;
   1715 
   1716     virtual HRESULT STDMETHODCALLTYPE put_AddressBar(
   1717         VARIANT_BOOL Value) = 0;
   1718 
   1719     virtual HRESULT STDMETHODCALLTYPE get_Resizable(
   1720         VARIANT_BOOL *Value) = 0;
   1721 
   1722     virtual HRESULT STDMETHODCALLTYPE put_Resizable(
   1723         VARIANT_BOOL Value) = 0;
   1724 
   1725 };
   1726 #ifdef __CRT_UUID_DECL
   1727 __CRT_UUID_DECL(IWebBrowser2, 0xd30c1661, 0xcdaf, 0x11d0, 0x8a,0x3e, 0x00,0xc0,0x4f,0xc9,0xe2,0x6e)
   1728 #endif
   1729 #else
   1730 typedef struct IWebBrowser2Vtbl {
   1731     BEGIN_INTERFACE
   1732 
   1733     /*** IUnknown methods ***/
   1734     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   1735         IWebBrowser2* This,
   1736         REFIID riid,
   1737         void **ppvObject);
   1738 
   1739     ULONG (STDMETHODCALLTYPE *AddRef)(
   1740         IWebBrowser2* This);
   1741 
   1742     ULONG (STDMETHODCALLTYPE *Release)(
   1743         IWebBrowser2* This);
   1744 
   1745     /*** IDispatch methods ***/
   1746     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   1747         IWebBrowser2* This,
   1748         UINT *pctinfo);
   1749 
   1750     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   1751         IWebBrowser2* This,
   1752         UINT iTInfo,
   1753         LCID lcid,
   1754         ITypeInfo **ppTInfo);
   1755 
   1756     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   1757         IWebBrowser2* This,
   1758         REFIID riid,
   1759         LPOLESTR *rgszNames,
   1760         UINT cNames,
   1761         LCID lcid,
   1762         DISPID *rgDispId);
   1763 
   1764     HRESULT (STDMETHODCALLTYPE *Invoke)(
   1765         IWebBrowser2* This,
   1766         DISPID dispIdMember,
   1767         REFIID riid,
   1768         LCID lcid,
   1769         WORD wFlags,
   1770         DISPPARAMS *pDispParams,
   1771         VARIANT *pVarResult,
   1772         EXCEPINFO *pExcepInfo,
   1773         UINT *puArgErr);
   1774 
   1775     /*** IWebBrowser methods ***/
   1776     HRESULT (STDMETHODCALLTYPE *GoBack)(
   1777         IWebBrowser2* This);
   1778 
   1779     HRESULT (STDMETHODCALLTYPE *GoForward)(
   1780         IWebBrowser2* This);
   1781 
   1782     HRESULT (STDMETHODCALLTYPE *GoHome)(
   1783         IWebBrowser2* This);
   1784 
   1785     HRESULT (STDMETHODCALLTYPE *GoSearch)(
   1786         IWebBrowser2* This);
   1787 
   1788     HRESULT (STDMETHODCALLTYPE *Navigate)(
   1789         IWebBrowser2* This,
   1790         BSTR URL,
   1791         VARIANT *Flags,
   1792         VARIANT *TargetFrameName,
   1793         VARIANT *PostData,
   1794         VARIANT *Headers);
   1795 
   1796     HRESULT (STDMETHODCALLTYPE *Refresh)(
   1797         IWebBrowser2* This);
   1798 
   1799     HRESULT (STDMETHODCALLTYPE *Refresh2)(
   1800         IWebBrowser2* This,
   1801         VARIANT *Level);
   1802 
   1803     HRESULT (STDMETHODCALLTYPE *Stop)(
   1804         IWebBrowser2* This);
   1805 
   1806     HRESULT (STDMETHODCALLTYPE *get_Application)(
   1807         IWebBrowser2* This,
   1808         IDispatch **ppDisp);
   1809 
   1810     HRESULT (STDMETHODCALLTYPE *get_Parent)(
   1811         IWebBrowser2* This,
   1812         IDispatch **ppDisp);
   1813 
   1814     HRESULT (STDMETHODCALLTYPE *get_Container)(
   1815         IWebBrowser2* This,
   1816         IDispatch **ppDisp);
   1817 
   1818     HRESULT (STDMETHODCALLTYPE *get_Document)(
   1819         IWebBrowser2* This,
   1820         IDispatch **ppDisp);
   1821 
   1822     HRESULT (STDMETHODCALLTYPE *get_TopLevelContainer)(
   1823         IWebBrowser2* This,
   1824         VARIANT_BOOL *pBool);
   1825 
   1826     HRESULT (STDMETHODCALLTYPE *get_Type)(
   1827         IWebBrowser2* This,
   1828         BSTR *Type);
   1829 
   1830     HRESULT (STDMETHODCALLTYPE *get_Left)(
   1831         IWebBrowser2* This,
   1832         LONG *pl);
   1833 
   1834     HRESULT (STDMETHODCALLTYPE *put_Left)(
   1835         IWebBrowser2* This,
   1836         LONG Left);
   1837 
   1838     HRESULT (STDMETHODCALLTYPE *get_Top)(
   1839         IWebBrowser2* This,
   1840         LONG *pl);
   1841 
   1842     HRESULT (STDMETHODCALLTYPE *put_Top)(
   1843         IWebBrowser2* This,
   1844         LONG Top);
   1845 
   1846     HRESULT (STDMETHODCALLTYPE *get_Width)(
   1847         IWebBrowser2* This,
   1848         LONG *pl);
   1849 
   1850     HRESULT (STDMETHODCALLTYPE *put_Width)(
   1851         IWebBrowser2* This,
   1852         LONG Width);
   1853 
   1854     HRESULT (STDMETHODCALLTYPE *get_Height)(
   1855         IWebBrowser2* This,
   1856         LONG *pl);
   1857 
   1858     HRESULT (STDMETHODCALLTYPE *put_Height)(
   1859         IWebBrowser2* This,
   1860         LONG Height);
   1861 
   1862     HRESULT (STDMETHODCALLTYPE *get_LocationName)(
   1863         IWebBrowser2* This,
   1864         BSTR *LocationName);
   1865 
   1866     HRESULT (STDMETHODCALLTYPE *get_LocationURL)(
   1867         IWebBrowser2* This,
   1868         BSTR *LocationURL);
   1869 
   1870     HRESULT (STDMETHODCALLTYPE *get_Busy)(
   1871         IWebBrowser2* This,
   1872         VARIANT_BOOL *pBool);
   1873 
   1874     /*** IWebBrowserApp methods ***/
   1875     HRESULT (STDMETHODCALLTYPE *Quit)(
   1876         IWebBrowser2* This);
   1877 
   1878     HRESULT (STDMETHODCALLTYPE *ClientToWindow)(
   1879         IWebBrowser2* This,
   1880         int *pcx,
   1881         int *pcy);
   1882 
   1883     HRESULT (STDMETHODCALLTYPE *PutProperty)(
   1884         IWebBrowser2* This,
   1885         BSTR Property,
   1886         VARIANT vtValue);
   1887 
   1888     HRESULT (STDMETHODCALLTYPE *GetProperty)(
   1889         IWebBrowser2* This,
   1890         BSTR Property,
   1891         VARIANT *pvtValue);
   1892 
   1893     HRESULT (STDMETHODCALLTYPE *get_Name)(
   1894         IWebBrowser2* This,
   1895         BSTR *Name);
   1896 
   1897     HRESULT (STDMETHODCALLTYPE *get_HWND)(
   1898         IWebBrowser2* This,
   1899         SHANDLE_PTR *pHWND);
   1900 
   1901     HRESULT (STDMETHODCALLTYPE *get_FullName)(
   1902         IWebBrowser2* This,
   1903         BSTR *FullName);
   1904 
   1905     HRESULT (STDMETHODCALLTYPE *get_Path)(
   1906         IWebBrowser2* This,
   1907         BSTR *Path);
   1908 
   1909     HRESULT (STDMETHODCALLTYPE *get_Visible)(
   1910         IWebBrowser2* This,
   1911         VARIANT_BOOL *pBool);
   1912 
   1913     HRESULT (STDMETHODCALLTYPE *put_Visible)(
   1914         IWebBrowser2* This,
   1915         VARIANT_BOOL Value);
   1916 
   1917     HRESULT (STDMETHODCALLTYPE *get_StatusBar)(
   1918         IWebBrowser2* This,
   1919         VARIANT_BOOL *pBool);
   1920 
   1921     HRESULT (STDMETHODCALLTYPE *put_StatusBar)(
   1922         IWebBrowser2* This,
   1923         VARIANT_BOOL Value);
   1924 
   1925     HRESULT (STDMETHODCALLTYPE *get_StatusText)(
   1926         IWebBrowser2* This,
   1927         BSTR *StatusText);
   1928 
   1929     HRESULT (STDMETHODCALLTYPE *put_StatusText)(
   1930         IWebBrowser2* This,
   1931         BSTR StatusText);
   1932 
   1933     HRESULT (STDMETHODCALLTYPE *get_ToolBar)(
   1934         IWebBrowser2* This,
   1935         int *Value);
   1936 
   1937     HRESULT (STDMETHODCALLTYPE *put_ToolBar)(
   1938         IWebBrowser2* This,
   1939         int Value);
   1940 
   1941     HRESULT (STDMETHODCALLTYPE *get_MenuBar)(
   1942         IWebBrowser2* This,
   1943         VARIANT_BOOL *Value);
   1944 
   1945     HRESULT (STDMETHODCALLTYPE *put_MenuBar)(
   1946         IWebBrowser2* This,
   1947         VARIANT_BOOL Value);
   1948 
   1949     HRESULT (STDMETHODCALLTYPE *get_FullScreen)(
   1950         IWebBrowser2* This,
   1951         VARIANT_BOOL *pbFullScreen);
   1952 
   1953     HRESULT (STDMETHODCALLTYPE *put_FullScreen)(
   1954         IWebBrowser2* This,
   1955         VARIANT_BOOL bFullScreen);
   1956 
   1957     /*** IWebBrowser2 methods ***/
   1958     HRESULT (STDMETHODCALLTYPE *Navigate2)(
   1959         IWebBrowser2* This,
   1960         VARIANT *URL,
   1961         VARIANT *Flags,
   1962         VARIANT *TargetFrameName,
   1963         VARIANT *PostData,
   1964         VARIANT *Headers);
   1965 
   1966     HRESULT (STDMETHODCALLTYPE *QueryStatusWB)(
   1967         IWebBrowser2* This,
   1968         OLECMDID cmdID,
   1969         OLECMDF *pcmdf);
   1970 
   1971     HRESULT (STDMETHODCALLTYPE *ExecWB)(
   1972         IWebBrowser2* This,
   1973         OLECMDID cmdID,
   1974         OLECMDEXECOPT cmdexecopt,
   1975         VARIANT *pvaIn,
   1976         VARIANT *pvaOut);
   1977 
   1978     HRESULT (STDMETHODCALLTYPE *ShowBrowserBar)(
   1979         IWebBrowser2* This,
   1980         VARIANT *pvaClsid,
   1981         VARIANT *pvarShow,
   1982         VARIANT *pvarSize);
   1983 
   1984     HRESULT (STDMETHODCALLTYPE *get_ReadyState)(
   1985         IWebBrowser2* This,
   1986         READYSTATE *plReadyState);
   1987 
   1988     HRESULT (STDMETHODCALLTYPE *get_Offline)(
   1989         IWebBrowser2* This,
   1990         VARIANT_BOOL *pbOffline);
   1991 
   1992     HRESULT (STDMETHODCALLTYPE *put_Offline)(
   1993         IWebBrowser2* This,
   1994         VARIANT_BOOL bOffline);
   1995 
   1996     HRESULT (STDMETHODCALLTYPE *get_Silent)(
   1997         IWebBrowser2* This,
   1998         VARIANT_BOOL *pbSilent);
   1999 
   2000     HRESULT (STDMETHODCALLTYPE *put_Silent)(
   2001         IWebBrowser2* This,
   2002         VARIANT_BOOL bSilent);
   2003 
   2004     HRESULT (STDMETHODCALLTYPE *get_RegisterAsBrowser)(
   2005         IWebBrowser2* This,
   2006         VARIANT_BOOL *pbRegister);
   2007 
   2008     HRESULT (STDMETHODCALLTYPE *put_RegisterAsBrowser)(
   2009         IWebBrowser2* This,
   2010         VARIANT_BOOL bRegister);
   2011 
   2012     HRESULT (STDMETHODCALLTYPE *get_RegisterAsDropTarget)(
   2013         IWebBrowser2* This,
   2014         VARIANT_BOOL *pbRegister);
   2015 
   2016     HRESULT (STDMETHODCALLTYPE *put_RegisterAsDropTarget)(
   2017         IWebBrowser2* This,
   2018         VARIANT_BOOL bRegister);
   2019 
   2020     HRESULT (STDMETHODCALLTYPE *get_TheaterMode)(
   2021         IWebBrowser2* This,
   2022         VARIANT_BOOL *pbRegister);
   2023 
   2024     HRESULT (STDMETHODCALLTYPE *put_TheaterMode)(
   2025         IWebBrowser2* This,
   2026         VARIANT_BOOL bRegister);
   2027 
   2028     HRESULT (STDMETHODCALLTYPE *get_AddressBar)(
   2029         IWebBrowser2* This,
   2030         VARIANT_BOOL *Value);
   2031 
   2032     HRESULT (STDMETHODCALLTYPE *put_AddressBar)(
   2033         IWebBrowser2* This,
   2034         VARIANT_BOOL Value);
   2035 
   2036     HRESULT (STDMETHODCALLTYPE *get_Resizable)(
   2037         IWebBrowser2* This,
   2038         VARIANT_BOOL *Value);
   2039 
   2040     HRESULT (STDMETHODCALLTYPE *put_Resizable)(
   2041         IWebBrowser2* This,
   2042         VARIANT_BOOL Value);
   2043 
   2044     END_INTERFACE
   2045 } IWebBrowser2Vtbl;
   2046 interface IWebBrowser2 {
   2047     CONST_VTBL IWebBrowser2Vtbl* lpVtbl;
   2048 };
   2049 
   2050 #ifdef COBJMACROS
   2051 #ifndef WIDL_C_INLINE_WRAPPERS
   2052 /*** IUnknown methods ***/
   2053 #define IWebBrowser2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2054 #define IWebBrowser2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2055 #define IWebBrowser2_Release(This) (This)->lpVtbl->Release(This)
   2056 /*** IDispatch methods ***/
   2057 #define IWebBrowser2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2058 #define IWebBrowser2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2059 #define IWebBrowser2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2060 #define IWebBrowser2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2061 /*** IWebBrowser methods ***/
   2062 #define IWebBrowser2_GoBack(This) (This)->lpVtbl->GoBack(This)
   2063 #define IWebBrowser2_GoForward(This) (This)->lpVtbl->GoForward(This)
   2064 #define IWebBrowser2_GoHome(This) (This)->lpVtbl->GoHome(This)
   2065 #define IWebBrowser2_GoSearch(This) (This)->lpVtbl->GoSearch(This)
   2066 #define IWebBrowser2_Navigate(This,URL,Flags,TargetFrameName,PostData,Headers) (This)->lpVtbl->Navigate(This,URL,Flags,TargetFrameName,PostData,Headers)
   2067 #define IWebBrowser2_Refresh(This) (This)->lpVtbl->Refresh(This)
   2068 #define IWebBrowser2_Refresh2(This,Level) (This)->lpVtbl->Refresh2(This,Level)
   2069 #define IWebBrowser2_Stop(This) (This)->lpVtbl->Stop(This)
   2070 #define IWebBrowser2_get_Application(This,ppDisp) (This)->lpVtbl->get_Application(This,ppDisp)
   2071 #define IWebBrowser2_get_Parent(This,ppDisp) (This)->lpVtbl->get_Parent(This,ppDisp)
   2072 #define IWebBrowser2_get_Container(This,ppDisp) (This)->lpVtbl->get_Container(This,ppDisp)
   2073 #define IWebBrowser2_get_Document(This,ppDisp) (This)->lpVtbl->get_Document(This,ppDisp)
   2074 #define IWebBrowser2_get_TopLevelContainer(This,pBool) (This)->lpVtbl->get_TopLevelContainer(This,pBool)
   2075 #define IWebBrowser2_get_Type(This,Type) (This)->lpVtbl->get_Type(This,Type)
   2076 #define IWebBrowser2_get_Left(This,pl) (This)->lpVtbl->get_Left(This,pl)
   2077 #define IWebBrowser2_put_Left(This,Left) (This)->lpVtbl->put_Left(This,Left)
   2078 #define IWebBrowser2_get_Top(This,pl) (This)->lpVtbl->get_Top(This,pl)
   2079 #define IWebBrowser2_put_Top(This,Top) (This)->lpVtbl->put_Top(This,Top)
   2080 #define IWebBrowser2_get_Width(This,pl) (This)->lpVtbl->get_Width(This,pl)
   2081 #define IWebBrowser2_put_Width(This,Width) (This)->lpVtbl->put_Width(This,Width)
   2082 #define IWebBrowser2_get_Height(This,pl) (This)->lpVtbl->get_Height(This,pl)
   2083 #define IWebBrowser2_put_Height(This,Height) (This)->lpVtbl->put_Height(This,Height)
   2084 #define IWebBrowser2_get_LocationName(This,LocationName) (This)->lpVtbl->get_LocationName(This,LocationName)
   2085 #define IWebBrowser2_get_LocationURL(This,LocationURL) (This)->lpVtbl->get_LocationURL(This,LocationURL)
   2086 #define IWebBrowser2_get_Busy(This,pBool) (This)->lpVtbl->get_Busy(This,pBool)
   2087 /*** IWebBrowserApp methods ***/
   2088 #define IWebBrowser2_Quit(This) (This)->lpVtbl->Quit(This)
   2089 #define IWebBrowser2_ClientToWindow(This,pcx,pcy) (This)->lpVtbl->ClientToWindow(This,pcx,pcy)
   2090 #define IWebBrowser2_PutProperty(This,Property,vtValue) (This)->lpVtbl->PutProperty(This,Property,vtValue)
   2091 #define IWebBrowser2_GetProperty(This,Property,pvtValue) (This)->lpVtbl->GetProperty(This,Property,pvtValue)
   2092 #define IWebBrowser2_get_Name(This,Name) (This)->lpVtbl->get_Name(This,Name)
   2093 #define IWebBrowser2_get_HWND(This,pHWND) (This)->lpVtbl->get_HWND(This,pHWND)
   2094 #define IWebBrowser2_get_FullName(This,FullName) (This)->lpVtbl->get_FullName(This,FullName)
   2095 #define IWebBrowser2_get_Path(This,Path) (This)->lpVtbl->get_Path(This,Path)
   2096 #define IWebBrowser2_get_Visible(This,pBool) (This)->lpVtbl->get_Visible(This,pBool)
   2097 #define IWebBrowser2_put_Visible(This,Value) (This)->lpVtbl->put_Visible(This,Value)
   2098 #define IWebBrowser2_get_StatusBar(This,pBool) (This)->lpVtbl->get_StatusBar(This,pBool)
   2099 #define IWebBrowser2_put_StatusBar(This,Value) (This)->lpVtbl->put_StatusBar(This,Value)
   2100 #define IWebBrowser2_get_StatusText(This,StatusText) (This)->lpVtbl->get_StatusText(This,StatusText)
   2101 #define IWebBrowser2_put_StatusText(This,StatusText) (This)->lpVtbl->put_StatusText(This,StatusText)
   2102 #define IWebBrowser2_get_ToolBar(This,Value) (This)->lpVtbl->get_ToolBar(This,Value)
   2103 #define IWebBrowser2_put_ToolBar(This,Value) (This)->lpVtbl->put_ToolBar(This,Value)
   2104 #define IWebBrowser2_get_MenuBar(This,Value) (This)->lpVtbl->get_MenuBar(This,Value)
   2105 #define IWebBrowser2_put_MenuBar(This,Value) (This)->lpVtbl->put_MenuBar(This,Value)
   2106 #define IWebBrowser2_get_FullScreen(This,pbFullScreen) (This)->lpVtbl->get_FullScreen(This,pbFullScreen)
   2107 #define IWebBrowser2_put_FullScreen(This,bFullScreen) (This)->lpVtbl->put_FullScreen(This,bFullScreen)
   2108 /*** IWebBrowser2 methods ***/
   2109 #define IWebBrowser2_Navigate2(This,URL,Flags,TargetFrameName,PostData,Headers) (This)->lpVtbl->Navigate2(This,URL,Flags,TargetFrameName,PostData,Headers)
   2110 #define IWebBrowser2_QueryStatusWB(This,cmdID,pcmdf) (This)->lpVtbl->QueryStatusWB(This,cmdID,pcmdf)
   2111 #define IWebBrowser2_ExecWB(This,cmdID,cmdexecopt,pvaIn,pvaOut) (This)->lpVtbl->ExecWB(This,cmdID,cmdexecopt,pvaIn,pvaOut)
   2112 #define IWebBrowser2_ShowBrowserBar(This,pvaClsid,pvarShow,pvarSize) (This)->lpVtbl->ShowBrowserBar(This,pvaClsid,pvarShow,pvarSize)
   2113 #define IWebBrowser2_get_ReadyState(This,plReadyState) (This)->lpVtbl->get_ReadyState(This,plReadyState)
   2114 #define IWebBrowser2_get_Offline(This,pbOffline) (This)->lpVtbl->get_Offline(This,pbOffline)
   2115 #define IWebBrowser2_put_Offline(This,bOffline) (This)->lpVtbl->put_Offline(This,bOffline)
   2116 #define IWebBrowser2_get_Silent(This,pbSilent) (This)->lpVtbl->get_Silent(This,pbSilent)
   2117 #define IWebBrowser2_put_Silent(This,bSilent) (This)->lpVtbl->put_Silent(This,bSilent)
   2118 #define IWebBrowser2_get_RegisterAsBrowser(This,pbRegister) (This)->lpVtbl->get_RegisterAsBrowser(This,pbRegister)
   2119 #define IWebBrowser2_put_RegisterAsBrowser(This,bRegister) (This)->lpVtbl->put_RegisterAsBrowser(This,bRegister)
   2120 #define IWebBrowser2_get_RegisterAsDropTarget(This,pbRegister) (This)->lpVtbl->get_RegisterAsDropTarget(This,pbRegister)
   2121 #define IWebBrowser2_put_RegisterAsDropTarget(This,bRegister) (This)->lpVtbl->put_RegisterAsDropTarget(This,bRegister)
   2122 #define IWebBrowser2_get_TheaterMode(This,pbRegister) (This)->lpVtbl->get_TheaterMode(This,pbRegister)
   2123 #define IWebBrowser2_put_TheaterMode(This,bRegister) (This)->lpVtbl->put_TheaterMode(This,bRegister)
   2124 #define IWebBrowser2_get_AddressBar(This,Value) (This)->lpVtbl->get_AddressBar(This,Value)
   2125 #define IWebBrowser2_put_AddressBar(This,Value) (This)->lpVtbl->put_AddressBar(This,Value)
   2126 #define IWebBrowser2_get_Resizable(This,Value) (This)->lpVtbl->get_Resizable(This,Value)
   2127 #define IWebBrowser2_put_Resizable(This,Value) (This)->lpVtbl->put_Resizable(This,Value)
   2128 #else
   2129 /*** IUnknown methods ***/
   2130 static FORCEINLINE HRESULT IWebBrowser2_QueryInterface(IWebBrowser2* This,REFIID riid,void **ppvObject) {
   2131     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2132 }
   2133 static FORCEINLINE ULONG IWebBrowser2_AddRef(IWebBrowser2* This) {
   2134     return This->lpVtbl->AddRef(This);
   2135 }
   2136 static FORCEINLINE ULONG IWebBrowser2_Release(IWebBrowser2* This) {
   2137     return This->lpVtbl->Release(This);
   2138 }
   2139 /*** IDispatch methods ***/
   2140 static FORCEINLINE HRESULT IWebBrowser2_GetTypeInfoCount(IWebBrowser2* This,UINT *pctinfo) {
   2141     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2142 }
   2143 static FORCEINLINE HRESULT IWebBrowser2_GetTypeInfo(IWebBrowser2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2144     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2145 }
   2146 static FORCEINLINE HRESULT IWebBrowser2_GetIDsOfNames(IWebBrowser2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2147     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2148 }
   2149 static FORCEINLINE HRESULT IWebBrowser2_Invoke(IWebBrowser2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2150     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2151 }
   2152 /*** IWebBrowser methods ***/
   2153 static FORCEINLINE HRESULT IWebBrowser2_GoBack(IWebBrowser2* This) {
   2154     return This->lpVtbl->GoBack(This);
   2155 }
   2156 static FORCEINLINE HRESULT IWebBrowser2_GoForward(IWebBrowser2* This) {
   2157     return This->lpVtbl->GoForward(This);
   2158 }
   2159 static FORCEINLINE HRESULT IWebBrowser2_GoHome(IWebBrowser2* This) {
   2160     return This->lpVtbl->GoHome(This);
   2161 }
   2162 static FORCEINLINE HRESULT IWebBrowser2_GoSearch(IWebBrowser2* This) {
   2163     return This->lpVtbl->GoSearch(This);
   2164 }
   2165 static FORCEINLINE HRESULT IWebBrowser2_Navigate(IWebBrowser2* This,BSTR URL,VARIANT *Flags,VARIANT *TargetFrameName,VARIANT *PostData,VARIANT *Headers) {
   2166     return This->lpVtbl->Navigate(This,URL,Flags,TargetFrameName,PostData,Headers);
   2167 }
   2168 static FORCEINLINE HRESULT IWebBrowser2_Refresh(IWebBrowser2* This) {
   2169     return This->lpVtbl->Refresh(This);
   2170 }
   2171 static FORCEINLINE HRESULT IWebBrowser2_Refresh2(IWebBrowser2* This,VARIANT *Level) {
   2172     return This->lpVtbl->Refresh2(This,Level);
   2173 }
   2174 static FORCEINLINE HRESULT IWebBrowser2_Stop(IWebBrowser2* This) {
   2175     return This->lpVtbl->Stop(This);
   2176 }
   2177 static FORCEINLINE HRESULT IWebBrowser2_get_Application(IWebBrowser2* This,IDispatch **ppDisp) {
   2178     return This->lpVtbl->get_Application(This,ppDisp);
   2179 }
   2180 static FORCEINLINE HRESULT IWebBrowser2_get_Parent(IWebBrowser2* This,IDispatch **ppDisp) {
   2181     return This->lpVtbl->get_Parent(This,ppDisp);
   2182 }
   2183 static FORCEINLINE HRESULT IWebBrowser2_get_Container(IWebBrowser2* This,IDispatch **ppDisp) {
   2184     return This->lpVtbl->get_Container(This,ppDisp);
   2185 }
   2186 static FORCEINLINE HRESULT IWebBrowser2_get_Document(IWebBrowser2* This,IDispatch **ppDisp) {
   2187     return This->lpVtbl->get_Document(This,ppDisp);
   2188 }
   2189 static FORCEINLINE HRESULT IWebBrowser2_get_TopLevelContainer(IWebBrowser2* This,VARIANT_BOOL *pBool) {
   2190     return This->lpVtbl->get_TopLevelContainer(This,pBool);
   2191 }
   2192 static FORCEINLINE HRESULT IWebBrowser2_get_Type(IWebBrowser2* This,BSTR *Type) {
   2193     return This->lpVtbl->get_Type(This,Type);
   2194 }
   2195 static FORCEINLINE HRESULT IWebBrowser2_get_Left(IWebBrowser2* This,LONG *pl) {
   2196     return This->lpVtbl->get_Left(This,pl);
   2197 }
   2198 static FORCEINLINE HRESULT IWebBrowser2_put_Left(IWebBrowser2* This,LONG Left) {
   2199     return This->lpVtbl->put_Left(This,Left);
   2200 }
   2201 static FORCEINLINE HRESULT IWebBrowser2_get_Top(IWebBrowser2* This,LONG *pl) {
   2202     return This->lpVtbl->get_Top(This,pl);
   2203 }
   2204 static FORCEINLINE HRESULT IWebBrowser2_put_Top(IWebBrowser2* This,LONG Top) {
   2205     return This->lpVtbl->put_Top(This,Top);
   2206 }
   2207 static FORCEINLINE HRESULT IWebBrowser2_get_Width(IWebBrowser2* This,LONG *pl) {
   2208     return This->lpVtbl->get_Width(This,pl);
   2209 }
   2210 static FORCEINLINE HRESULT IWebBrowser2_put_Width(IWebBrowser2* This,LONG Width) {
   2211     return This->lpVtbl->put_Width(This,Width);
   2212 }
   2213 static FORCEINLINE HRESULT IWebBrowser2_get_Height(IWebBrowser2* This,LONG *pl) {
   2214     return This->lpVtbl->get_Height(This,pl);
   2215 }
   2216 static FORCEINLINE HRESULT IWebBrowser2_put_Height(IWebBrowser2* This,LONG Height) {
   2217     return This->lpVtbl->put_Height(This,Height);
   2218 }
   2219 static FORCEINLINE HRESULT IWebBrowser2_get_LocationName(IWebBrowser2* This,BSTR *LocationName) {
   2220     return This->lpVtbl->get_LocationName(This,LocationName);
   2221 }
   2222 static FORCEINLINE HRESULT IWebBrowser2_get_LocationURL(IWebBrowser2* This,BSTR *LocationURL) {
   2223     return This->lpVtbl->get_LocationURL(This,LocationURL);
   2224 }
   2225 static FORCEINLINE HRESULT IWebBrowser2_get_Busy(IWebBrowser2* This,VARIANT_BOOL *pBool) {
   2226     return This->lpVtbl->get_Busy(This,pBool);
   2227 }
   2228 /*** IWebBrowserApp methods ***/
   2229 static FORCEINLINE HRESULT IWebBrowser2_Quit(IWebBrowser2* This) {
   2230     return This->lpVtbl->Quit(This);
   2231 }
   2232 static FORCEINLINE HRESULT IWebBrowser2_ClientToWindow(IWebBrowser2* This,int *pcx,int *pcy) {
   2233     return This->lpVtbl->ClientToWindow(This,pcx,pcy);
   2234 }
   2235 static FORCEINLINE HRESULT IWebBrowser2_PutProperty(IWebBrowser2* This,BSTR Property,VARIANT vtValue) {
   2236     return This->lpVtbl->PutProperty(This,Property,vtValue);
   2237 }
   2238 static FORCEINLINE HRESULT IWebBrowser2_GetProperty(IWebBrowser2* This,BSTR Property,VARIANT *pvtValue) {
   2239     return This->lpVtbl->GetProperty(This,Property,pvtValue);
   2240 }
   2241 static FORCEINLINE HRESULT IWebBrowser2_get_Name(IWebBrowser2* This,BSTR *Name) {
   2242     return This->lpVtbl->get_Name(This,Name);
   2243 }
   2244 static FORCEINLINE HRESULT IWebBrowser2_get_HWND(IWebBrowser2* This,SHANDLE_PTR *pHWND) {
   2245     return This->lpVtbl->get_HWND(This,pHWND);
   2246 }
   2247 static FORCEINLINE HRESULT IWebBrowser2_get_FullName(IWebBrowser2* This,BSTR *FullName) {
   2248     return This->lpVtbl->get_FullName(This,FullName);
   2249 }
   2250 static FORCEINLINE HRESULT IWebBrowser2_get_Path(IWebBrowser2* This,BSTR *Path) {
   2251     return This->lpVtbl->get_Path(This,Path);
   2252 }
   2253 static FORCEINLINE HRESULT IWebBrowser2_get_Visible(IWebBrowser2* This,VARIANT_BOOL *pBool) {
   2254     return This->lpVtbl->get_Visible(This,pBool);
   2255 }
   2256 static FORCEINLINE HRESULT IWebBrowser2_put_Visible(IWebBrowser2* This,VARIANT_BOOL Value) {
   2257     return This->lpVtbl->put_Visible(This,Value);
   2258 }
   2259 static FORCEINLINE HRESULT IWebBrowser2_get_StatusBar(IWebBrowser2* This,VARIANT_BOOL *pBool) {
   2260     return This->lpVtbl->get_StatusBar(This,pBool);
   2261 }
   2262 static FORCEINLINE HRESULT IWebBrowser2_put_StatusBar(IWebBrowser2* This,VARIANT_BOOL Value) {
   2263     return This->lpVtbl->put_StatusBar(This,Value);
   2264 }
   2265 static FORCEINLINE HRESULT IWebBrowser2_get_StatusText(IWebBrowser2* This,BSTR *StatusText) {
   2266     return This->lpVtbl->get_StatusText(This,StatusText);
   2267 }
   2268 static FORCEINLINE HRESULT IWebBrowser2_put_StatusText(IWebBrowser2* This,BSTR StatusText) {
   2269     return This->lpVtbl->put_StatusText(This,StatusText);
   2270 }
   2271 static FORCEINLINE HRESULT IWebBrowser2_get_ToolBar(IWebBrowser2* This,int *Value) {
   2272     return This->lpVtbl->get_ToolBar(This,Value);
   2273 }
   2274 static FORCEINLINE HRESULT IWebBrowser2_put_ToolBar(IWebBrowser2* This,int Value) {
   2275     return This->lpVtbl->put_ToolBar(This,Value);
   2276 }
   2277 static FORCEINLINE HRESULT IWebBrowser2_get_MenuBar(IWebBrowser2* This,VARIANT_BOOL *Value) {
   2278     return This->lpVtbl->get_MenuBar(This,Value);
   2279 }
   2280 static FORCEINLINE HRESULT IWebBrowser2_put_MenuBar(IWebBrowser2* This,VARIANT_BOOL Value) {
   2281     return This->lpVtbl->put_MenuBar(This,Value);
   2282 }
   2283 static FORCEINLINE HRESULT IWebBrowser2_get_FullScreen(IWebBrowser2* This,VARIANT_BOOL *pbFullScreen) {
   2284     return This->lpVtbl->get_FullScreen(This,pbFullScreen);
   2285 }
   2286 static FORCEINLINE HRESULT IWebBrowser2_put_FullScreen(IWebBrowser2* This,VARIANT_BOOL bFullScreen) {
   2287     return This->lpVtbl->put_FullScreen(This,bFullScreen);
   2288 }
   2289 /*** IWebBrowser2 methods ***/
   2290 static FORCEINLINE HRESULT IWebBrowser2_Navigate2(IWebBrowser2* This,VARIANT *URL,VARIANT *Flags,VARIANT *TargetFrameName,VARIANT *PostData,VARIANT *Headers) {
   2291     return This->lpVtbl->Navigate2(This,URL,Flags,TargetFrameName,PostData,Headers);
   2292 }
   2293 static FORCEINLINE HRESULT IWebBrowser2_QueryStatusWB(IWebBrowser2* This,OLECMDID cmdID,OLECMDF *pcmdf) {
   2294     return This->lpVtbl->QueryStatusWB(This,cmdID,pcmdf);
   2295 }
   2296 static FORCEINLINE HRESULT IWebBrowser2_ExecWB(IWebBrowser2* This,OLECMDID cmdID,OLECMDEXECOPT cmdexecopt,VARIANT *pvaIn,VARIANT *pvaOut) {
   2297     return This->lpVtbl->ExecWB(This,cmdID,cmdexecopt,pvaIn,pvaOut);
   2298 }
   2299 static FORCEINLINE HRESULT IWebBrowser2_ShowBrowserBar(IWebBrowser2* This,VARIANT *pvaClsid,VARIANT *pvarShow,VARIANT *pvarSize) {
   2300     return This->lpVtbl->ShowBrowserBar(This,pvaClsid,pvarShow,pvarSize);
   2301 }
   2302 static FORCEINLINE HRESULT IWebBrowser2_get_ReadyState(IWebBrowser2* This,READYSTATE *plReadyState) {
   2303     return This->lpVtbl->get_ReadyState(This,plReadyState);
   2304 }
   2305 static FORCEINLINE HRESULT IWebBrowser2_get_Offline(IWebBrowser2* This,VARIANT_BOOL *pbOffline) {
   2306     return This->lpVtbl->get_Offline(This,pbOffline);
   2307 }
   2308 static FORCEINLINE HRESULT IWebBrowser2_put_Offline(IWebBrowser2* This,VARIANT_BOOL bOffline) {
   2309     return This->lpVtbl->put_Offline(This,bOffline);
   2310 }
   2311 static FORCEINLINE HRESULT IWebBrowser2_get_Silent(IWebBrowser2* This,VARIANT_BOOL *pbSilent) {
   2312     return This->lpVtbl->get_Silent(This,pbSilent);
   2313 }
   2314 static FORCEINLINE HRESULT IWebBrowser2_put_Silent(IWebBrowser2* This,VARIANT_BOOL bSilent) {
   2315     return This->lpVtbl->put_Silent(This,bSilent);
   2316 }
   2317 static FORCEINLINE HRESULT IWebBrowser2_get_RegisterAsBrowser(IWebBrowser2* This,VARIANT_BOOL *pbRegister) {
   2318     return This->lpVtbl->get_RegisterAsBrowser(This,pbRegister);
   2319 }
   2320 static FORCEINLINE HRESULT IWebBrowser2_put_RegisterAsBrowser(IWebBrowser2* This,VARIANT_BOOL bRegister) {
   2321     return This->lpVtbl->put_RegisterAsBrowser(This,bRegister);
   2322 }
   2323 static FORCEINLINE HRESULT IWebBrowser2_get_RegisterAsDropTarget(IWebBrowser2* This,VARIANT_BOOL *pbRegister) {
   2324     return This->lpVtbl->get_RegisterAsDropTarget(This,pbRegister);
   2325 }
   2326 static FORCEINLINE HRESULT IWebBrowser2_put_RegisterAsDropTarget(IWebBrowser2* This,VARIANT_BOOL bRegister) {
   2327     return This->lpVtbl->put_RegisterAsDropTarget(This,bRegister);
   2328 }
   2329 static FORCEINLINE HRESULT IWebBrowser2_get_TheaterMode(IWebBrowser2* This,VARIANT_BOOL *pbRegister) {
   2330     return This->lpVtbl->get_TheaterMode(This,pbRegister);
   2331 }
   2332 static FORCEINLINE HRESULT IWebBrowser2_put_TheaterMode(IWebBrowser2* This,VARIANT_BOOL bRegister) {
   2333     return This->lpVtbl->put_TheaterMode(This,bRegister);
   2334 }
   2335 static FORCEINLINE HRESULT IWebBrowser2_get_AddressBar(IWebBrowser2* This,VARIANT_BOOL *Value) {
   2336     return This->lpVtbl->get_AddressBar(This,Value);
   2337 }
   2338 static FORCEINLINE HRESULT IWebBrowser2_put_AddressBar(IWebBrowser2* This,VARIANT_BOOL Value) {
   2339     return This->lpVtbl->put_AddressBar(This,Value);
   2340 }
   2341 static FORCEINLINE HRESULT IWebBrowser2_get_Resizable(IWebBrowser2* This,VARIANT_BOOL *Value) {
   2342     return This->lpVtbl->get_Resizable(This,Value);
   2343 }
   2344 static FORCEINLINE HRESULT IWebBrowser2_put_Resizable(IWebBrowser2* This,VARIANT_BOOL Value) {
   2345     return This->lpVtbl->put_Resizable(This,Value);
   2346 }
   2347 #endif
   2348 #endif
   2349 
   2350 #endif
   2351 
   2352 HRESULT STDMETHODCALLTYPE IWebBrowser2_Navigate2_Proxy(
   2353     IWebBrowser2* This,
   2354     VARIANT *URL,
   2355     VARIANT *Flags,
   2356     VARIANT *TargetFrameName,
   2357     VARIANT *PostData,
   2358     VARIANT *Headers);
   2359 void __RPC_STUB IWebBrowser2_Navigate2_Stub(
   2360     IRpcStubBuffer* This,
   2361     IRpcChannelBuffer* pRpcChannelBuffer,
   2362     PRPC_MESSAGE pRpcMessage,
   2363     DWORD* pdwStubPhase);
   2364 HRESULT STDMETHODCALLTYPE IWebBrowser2_QueryStatusWB_Proxy(
   2365     IWebBrowser2* This,
   2366     OLECMDID cmdID,
   2367     OLECMDF *pcmdf);
   2368 void __RPC_STUB IWebBrowser2_QueryStatusWB_Stub(
   2369     IRpcStubBuffer* This,
   2370     IRpcChannelBuffer* pRpcChannelBuffer,
   2371     PRPC_MESSAGE pRpcMessage,
   2372     DWORD* pdwStubPhase);
   2373 HRESULT STDMETHODCALLTYPE IWebBrowser2_ExecWB_Proxy(
   2374     IWebBrowser2* This,
   2375     OLECMDID cmdID,
   2376     OLECMDEXECOPT cmdexecopt,
   2377     VARIANT *pvaIn,
   2378     VARIANT *pvaOut);
   2379 void __RPC_STUB IWebBrowser2_ExecWB_Stub(
   2380     IRpcStubBuffer* This,
   2381     IRpcChannelBuffer* pRpcChannelBuffer,
   2382     PRPC_MESSAGE pRpcMessage,
   2383     DWORD* pdwStubPhase);
   2384 HRESULT STDMETHODCALLTYPE IWebBrowser2_ShowBrowserBar_Proxy(
   2385     IWebBrowser2* This,
   2386     VARIANT *pvaClsid,
   2387     VARIANT *pvarShow,
   2388     VARIANT *pvarSize);
   2389 void __RPC_STUB IWebBrowser2_ShowBrowserBar_Stub(
   2390     IRpcStubBuffer* This,
   2391     IRpcChannelBuffer* pRpcChannelBuffer,
   2392     PRPC_MESSAGE pRpcMessage,
   2393     DWORD* pdwStubPhase);
   2394 HRESULT STDMETHODCALLTYPE IWebBrowser2_get_ReadyState_Proxy(
   2395     IWebBrowser2* This,
   2396     READYSTATE *plReadyState);
   2397 void __RPC_STUB IWebBrowser2_get_ReadyState_Stub(
   2398     IRpcStubBuffer* This,
   2399     IRpcChannelBuffer* pRpcChannelBuffer,
   2400     PRPC_MESSAGE pRpcMessage,
   2401     DWORD* pdwStubPhase);
   2402 HRESULT STDMETHODCALLTYPE IWebBrowser2_get_Offline_Proxy(
   2403     IWebBrowser2* This,
   2404     VARIANT_BOOL *pbOffline);
   2405 void __RPC_STUB IWebBrowser2_get_Offline_Stub(
   2406     IRpcStubBuffer* This,
   2407     IRpcChannelBuffer* pRpcChannelBuffer,
   2408     PRPC_MESSAGE pRpcMessage,
   2409     DWORD* pdwStubPhase);
   2410 HRESULT STDMETHODCALLTYPE IWebBrowser2_put_Offline_Proxy(
   2411     IWebBrowser2* This,
   2412     VARIANT_BOOL bOffline);
   2413 void __RPC_STUB IWebBrowser2_put_Offline_Stub(
   2414     IRpcStubBuffer* This,
   2415     IRpcChannelBuffer* pRpcChannelBuffer,
   2416     PRPC_MESSAGE pRpcMessage,
   2417     DWORD* pdwStubPhase);
   2418 HRESULT STDMETHODCALLTYPE IWebBrowser2_get_Silent_Proxy(
   2419     IWebBrowser2* This,
   2420     VARIANT_BOOL *pbSilent);
   2421 void __RPC_STUB IWebBrowser2_get_Silent_Stub(
   2422     IRpcStubBuffer* This,
   2423     IRpcChannelBuffer* pRpcChannelBuffer,
   2424     PRPC_MESSAGE pRpcMessage,
   2425     DWORD* pdwStubPhase);
   2426 HRESULT STDMETHODCALLTYPE IWebBrowser2_put_Silent_Proxy(
   2427     IWebBrowser2* This,
   2428     VARIANT_BOOL bSilent);
   2429 void __RPC_STUB IWebBrowser2_put_Silent_Stub(
   2430     IRpcStubBuffer* This,
   2431     IRpcChannelBuffer* pRpcChannelBuffer,
   2432     PRPC_MESSAGE pRpcMessage,
   2433     DWORD* pdwStubPhase);
   2434 HRESULT STDMETHODCALLTYPE IWebBrowser2_get_RegisterAsBrowser_Proxy(
   2435     IWebBrowser2* This,
   2436     VARIANT_BOOL *pbRegister);
   2437 void __RPC_STUB IWebBrowser2_get_RegisterAsBrowser_Stub(
   2438     IRpcStubBuffer* This,
   2439     IRpcChannelBuffer* pRpcChannelBuffer,
   2440     PRPC_MESSAGE pRpcMessage,
   2441     DWORD* pdwStubPhase);
   2442 HRESULT STDMETHODCALLTYPE IWebBrowser2_put_RegisterAsBrowser_Proxy(
   2443     IWebBrowser2* This,
   2444     VARIANT_BOOL bRegister);
   2445 void __RPC_STUB IWebBrowser2_put_RegisterAsBrowser_Stub(
   2446     IRpcStubBuffer* This,
   2447     IRpcChannelBuffer* pRpcChannelBuffer,
   2448     PRPC_MESSAGE pRpcMessage,
   2449     DWORD* pdwStubPhase);
   2450 HRESULT STDMETHODCALLTYPE IWebBrowser2_get_RegisterAsDropTarget_Proxy(
   2451     IWebBrowser2* This,
   2452     VARIANT_BOOL *pbRegister);
   2453 void __RPC_STUB IWebBrowser2_get_RegisterAsDropTarget_Stub(
   2454     IRpcStubBuffer* This,
   2455     IRpcChannelBuffer* pRpcChannelBuffer,
   2456     PRPC_MESSAGE pRpcMessage,
   2457     DWORD* pdwStubPhase);
   2458 HRESULT STDMETHODCALLTYPE IWebBrowser2_put_RegisterAsDropTarget_Proxy(
   2459     IWebBrowser2* This,
   2460     VARIANT_BOOL bRegister);
   2461 void __RPC_STUB IWebBrowser2_put_RegisterAsDropTarget_Stub(
   2462     IRpcStubBuffer* This,
   2463     IRpcChannelBuffer* pRpcChannelBuffer,
   2464     PRPC_MESSAGE pRpcMessage,
   2465     DWORD* pdwStubPhase);
   2466 HRESULT STDMETHODCALLTYPE IWebBrowser2_get_TheaterMode_Proxy(
   2467     IWebBrowser2* This,
   2468     VARIANT_BOOL *pbRegister);
   2469 void __RPC_STUB IWebBrowser2_get_TheaterMode_Stub(
   2470     IRpcStubBuffer* This,
   2471     IRpcChannelBuffer* pRpcChannelBuffer,
   2472     PRPC_MESSAGE pRpcMessage,
   2473     DWORD* pdwStubPhase);
   2474 HRESULT STDMETHODCALLTYPE IWebBrowser2_put_TheaterMode_Proxy(
   2475     IWebBrowser2* This,
   2476     VARIANT_BOOL bRegister);
   2477 void __RPC_STUB IWebBrowser2_put_TheaterMode_Stub(
   2478     IRpcStubBuffer* This,
   2479     IRpcChannelBuffer* pRpcChannelBuffer,
   2480     PRPC_MESSAGE pRpcMessage,
   2481     DWORD* pdwStubPhase);
   2482 HRESULT STDMETHODCALLTYPE IWebBrowser2_get_AddressBar_Proxy(
   2483     IWebBrowser2* This,
   2484     VARIANT_BOOL *Value);
   2485 void __RPC_STUB IWebBrowser2_get_AddressBar_Stub(
   2486     IRpcStubBuffer* This,
   2487     IRpcChannelBuffer* pRpcChannelBuffer,
   2488     PRPC_MESSAGE pRpcMessage,
   2489     DWORD* pdwStubPhase);
   2490 HRESULT STDMETHODCALLTYPE IWebBrowser2_put_AddressBar_Proxy(
   2491     IWebBrowser2* This,
   2492     VARIANT_BOOL Value);
   2493 void __RPC_STUB IWebBrowser2_put_AddressBar_Stub(
   2494     IRpcStubBuffer* This,
   2495     IRpcChannelBuffer* pRpcChannelBuffer,
   2496     PRPC_MESSAGE pRpcMessage,
   2497     DWORD* pdwStubPhase);
   2498 HRESULT STDMETHODCALLTYPE IWebBrowser2_get_Resizable_Proxy(
   2499     IWebBrowser2* This,
   2500     VARIANT_BOOL *Value);
   2501 void __RPC_STUB IWebBrowser2_get_Resizable_Stub(
   2502     IRpcStubBuffer* This,
   2503     IRpcChannelBuffer* pRpcChannelBuffer,
   2504     PRPC_MESSAGE pRpcMessage,
   2505     DWORD* pdwStubPhase);
   2506 HRESULT STDMETHODCALLTYPE IWebBrowser2_put_Resizable_Proxy(
   2507     IWebBrowser2* This,
   2508     VARIANT_BOOL Value);
   2509 void __RPC_STUB IWebBrowser2_put_Resizable_Stub(
   2510     IRpcStubBuffer* This,
   2511     IRpcChannelBuffer* pRpcChannelBuffer,
   2512     PRPC_MESSAGE pRpcMessage,
   2513     DWORD* pdwStubPhase);
   2514 
   2515 #endif  /* __IWebBrowser2_INTERFACE_DEFINED__ */
   2516 
   2517 typedef enum SecureLockIconConstants {
   2518     secureLockIconUnsecure = 0,
   2519     secureLockIconMixed = 1,
   2520     secureLockIconSecureUnknownBits = 2,
   2521     secureLockIconSecure40Bit = 3,
   2522     secureLockIconSecure56Bit = 4,
   2523     secureLockIconSecureFortezza = 5,
   2524     secureLockIconSecure128Bit = 6
   2525 } SecureLockIconConstants;
   2526 /*****************************************************************************
   2527  * DWebBrowserEvents2 dispinterface
   2528  */
   2529 #ifndef __DWebBrowserEvents2_DISPINTERFACE_DEFINED__
   2530 #define __DWebBrowserEvents2_DISPINTERFACE_DEFINED__
   2531 
   2532 DEFINE_GUID(DIID_DWebBrowserEvents2, 0x34a715a0, 0x6587, 0x11d0, 0x92,0x4a, 0x00,0x20,0xaf,0xc7,0xac,0x4d);
   2533 #if defined(__cplusplus) && !defined(CINTERFACE)
   2534 MIDL_INTERFACE("34a715a0-6587-11d0-924a-0020afc7ac4d")
   2535 DWebBrowserEvents2 : public IDispatch
   2536 {
   2537 };
   2538 #ifdef __CRT_UUID_DECL
   2539 __CRT_UUID_DECL(DWebBrowserEvents2, 0x34a715a0, 0x6587, 0x11d0, 0x92,0x4a, 0x00,0x20,0xaf,0xc7,0xac,0x4d)
   2540 #endif
   2541 #else
   2542 typedef struct DWebBrowserEvents2Vtbl {
   2543     BEGIN_INTERFACE
   2544 
   2545     /*** IUnknown methods ***/
   2546     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2547         DWebBrowserEvents2* This,
   2548         REFIID riid,
   2549         void **ppvObject);
   2550 
   2551     ULONG (STDMETHODCALLTYPE *AddRef)(
   2552         DWebBrowserEvents2* This);
   2553 
   2554     ULONG (STDMETHODCALLTYPE *Release)(
   2555         DWebBrowserEvents2* This);
   2556 
   2557     /*** IDispatch methods ***/
   2558     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2559         DWebBrowserEvents2* This,
   2560         UINT *pctinfo);
   2561 
   2562     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2563         DWebBrowserEvents2* This,
   2564         UINT iTInfo,
   2565         LCID lcid,
   2566         ITypeInfo **ppTInfo);
   2567 
   2568     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2569         DWebBrowserEvents2* This,
   2570         REFIID riid,
   2571         LPOLESTR *rgszNames,
   2572         UINT cNames,
   2573         LCID lcid,
   2574         DISPID *rgDispId);
   2575 
   2576     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2577         DWebBrowserEvents2* This,
   2578         DISPID dispIdMember,
   2579         REFIID riid,
   2580         LCID lcid,
   2581         WORD wFlags,
   2582         DISPPARAMS *pDispParams,
   2583         VARIANT *pVarResult,
   2584         EXCEPINFO *pExcepInfo,
   2585         UINT *puArgErr);
   2586 
   2587     END_INTERFACE
   2588 } DWebBrowserEvents2Vtbl;
   2589 interface DWebBrowserEvents2 {
   2590     CONST_VTBL DWebBrowserEvents2Vtbl* lpVtbl;
   2591 };
   2592 
   2593 #ifdef COBJMACROS
   2594 #ifndef WIDL_C_INLINE_WRAPPERS
   2595 /*** IUnknown methods ***/
   2596 #define DWebBrowserEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2597 #define DWebBrowserEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2598 #define DWebBrowserEvents2_Release(This) (This)->lpVtbl->Release(This)
   2599 /*** IDispatch methods ***/
   2600 #define DWebBrowserEvents2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2601 #define DWebBrowserEvents2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2602 #define DWebBrowserEvents2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2603 #define DWebBrowserEvents2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2604 #else
   2605 /*** IUnknown methods ***/
   2606 static FORCEINLINE HRESULT DWebBrowserEvents2_QueryInterface(DWebBrowserEvents2* This,REFIID riid,void **ppvObject) {
   2607     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2608 }
   2609 static FORCEINLINE ULONG DWebBrowserEvents2_AddRef(DWebBrowserEvents2* This) {
   2610     return This->lpVtbl->AddRef(This);
   2611 }
   2612 static FORCEINLINE ULONG DWebBrowserEvents2_Release(DWebBrowserEvents2* This) {
   2613     return This->lpVtbl->Release(This);
   2614 }
   2615 /*** IDispatch methods ***/
   2616 static FORCEINLINE HRESULT DWebBrowserEvents2_GetTypeInfoCount(DWebBrowserEvents2* This,UINT *pctinfo) {
   2617     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2618 }
   2619 static FORCEINLINE HRESULT DWebBrowserEvents2_GetTypeInfo(DWebBrowserEvents2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2620     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2621 }
   2622 static FORCEINLINE HRESULT DWebBrowserEvents2_GetIDsOfNames(DWebBrowserEvents2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2623     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2624 }
   2625 static FORCEINLINE HRESULT DWebBrowserEvents2_Invoke(DWebBrowserEvents2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2626     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2627 }
   2628 #endif
   2629 #endif
   2630 
   2631 #endif
   2632 
   2633 #endif  /* __DWebBrowserEvents2_DISPINTERFACE_DEFINED__ */
   2634 
   2635 /*****************************************************************************
   2636  * WebBrowser_V1 coclass
   2637  */
   2638 
   2639 DEFINE_GUID(CLSID_WebBrowser_V1, 0xeab22ac3, 0x30c1, 0x11cf, 0xa7,0xeb, 0x00,0x00,0xc0,0x5b,0xae,0x0b);
   2640 
   2641 #ifdef __cplusplus
   2642 class DECLSPEC_UUID("eab22ac3-30c1-11cf-a7eb-0000c05bae0b") WebBrowser_V1;
   2643 #ifdef __CRT_UUID_DECL
   2644 __CRT_UUID_DECL(WebBrowser_V1, 0xeab22ac3, 0x30c1, 0x11cf, 0xa7,0xeb, 0x00,0x00,0xc0,0x5b,0xae,0x0b)
   2645 #endif
   2646 #endif
   2647 
   2648 /*****************************************************************************
   2649  * WebBrowser coclass
   2650  */
   2651 
   2652 DEFINE_GUID(CLSID_WebBrowser, 0x8856f961, 0x340a, 0x11d0, 0xa9,0x6b, 0x00,0xc0,0x4f,0xd7,0x05,0xa2);
   2653 
   2654 #ifdef __cplusplus
   2655 class DECLSPEC_UUID("8856f961-340a-11d0-a96b-00c04fd705a2") WebBrowser;
   2656 #ifdef __CRT_UUID_DECL
   2657 __CRT_UUID_DECL(WebBrowser, 0x8856f961, 0x340a, 0x11d0, 0xa9,0x6b, 0x00,0xc0,0x4f,0xd7,0x05,0xa2)
   2658 #endif
   2659 #endif
   2660 
   2661 /*****************************************************************************
   2662  * InternetExplorer coclass
   2663  */
   2664 
   2665 DEFINE_GUID(CLSID_InternetExplorer, 0x0002df01, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46);
   2666 
   2667 #ifdef __cplusplus
   2668 class DECLSPEC_UUID("0002df01-0000-0000-c000-000000000046") InternetExplorer;
   2669 #ifdef __CRT_UUID_DECL
   2670 __CRT_UUID_DECL(InternetExplorer, 0x0002df01, 0x0000, 0x0000, 0xc0,0x00, 0x00,0x00,0x00,0x00,0x00,0x46)
   2671 #endif
   2672 #endif
   2673 
   2674 /*****************************************************************************
   2675  * ShellBrowserWindow coclass
   2676  */
   2677 
   2678 DEFINE_GUID(CLSID_ShellBrowserWindow, 0xc08afd90, 0xf2a1, 0x11d1, 0x84,0x55, 0x00,0xa0,0xc9,0x1f,0x38,0x80);
   2679 
   2680 #ifdef __cplusplus
   2681 class DECLSPEC_UUID("c08afd90-f2a1-11d1-8455-00a0c91f3880") ShellBrowserWindow;
   2682 #ifdef __CRT_UUID_DECL
   2683 __CRT_UUID_DECL(ShellBrowserWindow, 0xc08afd90, 0xf2a1, 0x11d1, 0x84,0x55, 0x00,0xa0,0xc9,0x1f,0x38,0x80)
   2684 #endif
   2685 #endif
   2686 
   2687 typedef enum ShellWindowTypeConstants {
   2688     SWC_EXPLORER = 0,
   2689     SWC_BROWSER = 1,
   2690     SWC_3RDPARTY = 2,
   2691     SWC_CALLBACK = 4,
   2692     SWC_DESKTOP = 8
   2693 } ShellWindowTypeConstants;
   2694 typedef enum ShellWindowFindWindowOptions {
   2695     SWFO_NEEDDISPATCH = 1,
   2696     SWFO_INCLUDEPENDING = 2,
   2697     SWFO_COOKIEPASSED = 4
   2698 } ShellWindowFindWindowOptions;
   2699 /*****************************************************************************
   2700  * DShellWindowsEvents dispinterface
   2701  */
   2702 #ifndef __DShellWindowsEvents_DISPINTERFACE_DEFINED__
   2703 #define __DShellWindowsEvents_DISPINTERFACE_DEFINED__
   2704 
   2705 DEFINE_GUID(DIID_DShellWindowsEvents, 0xfe4106e0, 0x399a, 0x11d0, 0xa4,0x8c, 0x00,0xa0,0xc9,0x0a,0x8f,0x39);
   2706 #if defined(__cplusplus) && !defined(CINTERFACE)
   2707 MIDL_INTERFACE("fe4106e0-399a-11d0-a48c-00a0c90a8f39")
   2708 DShellWindowsEvents : public IDispatch
   2709 {
   2710 };
   2711 #ifdef __CRT_UUID_DECL
   2712 __CRT_UUID_DECL(DShellWindowsEvents, 0xfe4106e0, 0x399a, 0x11d0, 0xa4,0x8c, 0x00,0xa0,0xc9,0x0a,0x8f,0x39)
   2713 #endif
   2714 #else
   2715 typedef struct DShellWindowsEventsVtbl {
   2716     BEGIN_INTERFACE
   2717 
   2718     /*** IUnknown methods ***/
   2719     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2720         DShellWindowsEvents* This,
   2721         REFIID riid,
   2722         void **ppvObject);
   2723 
   2724     ULONG (STDMETHODCALLTYPE *AddRef)(
   2725         DShellWindowsEvents* This);
   2726 
   2727     ULONG (STDMETHODCALLTYPE *Release)(
   2728         DShellWindowsEvents* This);
   2729 
   2730     /*** IDispatch methods ***/
   2731     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2732         DShellWindowsEvents* This,
   2733         UINT *pctinfo);
   2734 
   2735     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2736         DShellWindowsEvents* This,
   2737         UINT iTInfo,
   2738         LCID lcid,
   2739         ITypeInfo **ppTInfo);
   2740 
   2741     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2742         DShellWindowsEvents* This,
   2743         REFIID riid,
   2744         LPOLESTR *rgszNames,
   2745         UINT cNames,
   2746         LCID lcid,
   2747         DISPID *rgDispId);
   2748 
   2749     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2750         DShellWindowsEvents* This,
   2751         DISPID dispIdMember,
   2752         REFIID riid,
   2753         LCID lcid,
   2754         WORD wFlags,
   2755         DISPPARAMS *pDispParams,
   2756         VARIANT *pVarResult,
   2757         EXCEPINFO *pExcepInfo,
   2758         UINT *puArgErr);
   2759 
   2760     END_INTERFACE
   2761 } DShellWindowsEventsVtbl;
   2762 interface DShellWindowsEvents {
   2763     CONST_VTBL DShellWindowsEventsVtbl* lpVtbl;
   2764 };
   2765 
   2766 #ifdef COBJMACROS
   2767 #ifndef WIDL_C_INLINE_WRAPPERS
   2768 /*** IUnknown methods ***/
   2769 #define DShellWindowsEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2770 #define DShellWindowsEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
   2771 #define DShellWindowsEvents_Release(This) (This)->lpVtbl->Release(This)
   2772 /*** IDispatch methods ***/
   2773 #define DShellWindowsEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2774 #define DShellWindowsEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2775 #define DShellWindowsEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2776 #define DShellWindowsEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2777 #else
   2778 /*** IUnknown methods ***/
   2779 static FORCEINLINE HRESULT DShellWindowsEvents_QueryInterface(DShellWindowsEvents* This,REFIID riid,void **ppvObject) {
   2780     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   2781 }
   2782 static FORCEINLINE ULONG DShellWindowsEvents_AddRef(DShellWindowsEvents* This) {
   2783     return This->lpVtbl->AddRef(This);
   2784 }
   2785 static FORCEINLINE ULONG DShellWindowsEvents_Release(DShellWindowsEvents* This) {
   2786     return This->lpVtbl->Release(This);
   2787 }
   2788 /*** IDispatch methods ***/
   2789 static FORCEINLINE HRESULT DShellWindowsEvents_GetTypeInfoCount(DShellWindowsEvents* This,UINT *pctinfo) {
   2790     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   2791 }
   2792 static FORCEINLINE HRESULT DShellWindowsEvents_GetTypeInfo(DShellWindowsEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   2793     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   2794 }
   2795 static FORCEINLINE HRESULT DShellWindowsEvents_GetIDsOfNames(DShellWindowsEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   2796     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   2797 }
   2798 static FORCEINLINE HRESULT DShellWindowsEvents_Invoke(DShellWindowsEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   2799     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   2800 }
   2801 #endif
   2802 #endif
   2803 
   2804 #endif
   2805 
   2806 #endif  /* __DShellWindowsEvents_DISPINTERFACE_DEFINED__ */
   2807 
   2808 /*****************************************************************************
   2809  * IShellWindows interface
   2810  */
   2811 #ifndef __IShellWindows_INTERFACE_DEFINED__
   2812 #define __IShellWindows_INTERFACE_DEFINED__
   2813 
   2814 DEFINE_GUID(IID_IShellWindows, 0x85cb6900, 0x4d95, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85);
   2815 #if defined(__cplusplus) && !defined(CINTERFACE)
   2816 MIDL_INTERFACE("85cb6900-4d95-11cf-960c-0080c7f4ee85")
   2817 IShellWindows : public IDispatch
   2818 {
   2819     virtual HRESULT STDMETHODCALLTYPE get_Count(
   2820         LONG *Count) = 0;
   2821 
   2822     virtual HRESULT STDMETHODCALLTYPE Item(
   2823         VARIANT index,
   2824         IDispatch **Folder) = 0;
   2825 
   2826     virtual HRESULT STDMETHODCALLTYPE _NewEnum(
   2827         IUnknown **ppunk) = 0;
   2828 
   2829     virtual HRESULT STDMETHODCALLTYPE Register(
   2830         IDispatch *pid,
   2831         LONG hWnd,
   2832         int swClass,
   2833         LONG *plCookie) = 0;
   2834 
   2835     virtual HRESULT STDMETHODCALLTYPE RegisterPending(
   2836         LONG lThreadId,
   2837         VARIANT *pvarloc,
   2838         VARIANT *pvarlocRoot,
   2839         int swClass,
   2840         LONG *plCookie) = 0;
   2841 
   2842     virtual HRESULT STDMETHODCALLTYPE Revoke(
   2843         LONG lCookie) = 0;
   2844 
   2845     virtual HRESULT STDMETHODCALLTYPE OnNavigate(
   2846         LONG lCookie,
   2847         VARIANT *pvarLoc) = 0;
   2848 
   2849     virtual HRESULT STDMETHODCALLTYPE OnActivated(
   2850         LONG lCookie,
   2851         VARIANT_BOOL fActive) = 0;
   2852 
   2853     virtual HRESULT STDMETHODCALLTYPE FindWindowSW(
   2854         VARIANT *pvarLoc,
   2855         VARIANT *pvarLocRoot,
   2856         int swClass,
   2857         LONG *phwnd,
   2858         int swfwOptions,
   2859         IDispatch **ppdispOut) = 0;
   2860 
   2861     virtual HRESULT STDMETHODCALLTYPE OnCreated(
   2862         LONG lCookie,
   2863         IUnknown *punk) = 0;
   2864 
   2865     virtual HRESULT STDMETHODCALLTYPE ProcessAttachDetach(
   2866         VARIANT_BOOL fAttach) = 0;
   2867 
   2868 };
   2869 #ifdef __CRT_UUID_DECL
   2870 __CRT_UUID_DECL(IShellWindows, 0x85cb6900, 0x4d95, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85)
   2871 #endif
   2872 #else
   2873 typedef struct IShellWindowsVtbl {
   2874     BEGIN_INTERFACE
   2875 
   2876     /*** IUnknown methods ***/
   2877     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   2878         IShellWindows* This,
   2879         REFIID riid,
   2880         void **ppvObject);
   2881 
   2882     ULONG (STDMETHODCALLTYPE *AddRef)(
   2883         IShellWindows* This);
   2884 
   2885     ULONG (STDMETHODCALLTYPE *Release)(
   2886         IShellWindows* This);
   2887 
   2888     /*** IDispatch methods ***/
   2889     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   2890         IShellWindows* This,
   2891         UINT *pctinfo);
   2892 
   2893     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   2894         IShellWindows* This,
   2895         UINT iTInfo,
   2896         LCID lcid,
   2897         ITypeInfo **ppTInfo);
   2898 
   2899     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   2900         IShellWindows* This,
   2901         REFIID riid,
   2902         LPOLESTR *rgszNames,
   2903         UINT cNames,
   2904         LCID lcid,
   2905         DISPID *rgDispId);
   2906 
   2907     HRESULT (STDMETHODCALLTYPE *Invoke)(
   2908         IShellWindows* This,
   2909         DISPID dispIdMember,
   2910         REFIID riid,
   2911         LCID lcid,
   2912         WORD wFlags,
   2913         DISPPARAMS *pDispParams,
   2914         VARIANT *pVarResult,
   2915         EXCEPINFO *pExcepInfo,
   2916         UINT *puArgErr);
   2917 
   2918     /*** IShellWindows methods ***/
   2919     HRESULT (STDMETHODCALLTYPE *get_Count)(
   2920         IShellWindows* This,
   2921         LONG *Count);
   2922 
   2923     HRESULT (STDMETHODCALLTYPE *Item)(
   2924         IShellWindows* This,
   2925         VARIANT index,
   2926         IDispatch **Folder);
   2927 
   2928     HRESULT (STDMETHODCALLTYPE *_NewEnum)(
   2929         IShellWindows* This,
   2930         IUnknown **ppunk);
   2931 
   2932     HRESULT (STDMETHODCALLTYPE *Register)(
   2933         IShellWindows* This,
   2934         IDispatch *pid,
   2935         LONG hWnd,
   2936         int swClass,
   2937         LONG *plCookie);
   2938 
   2939     HRESULT (STDMETHODCALLTYPE *RegisterPending)(
   2940         IShellWindows* This,
   2941         LONG lThreadId,
   2942         VARIANT *pvarloc,
   2943         VARIANT *pvarlocRoot,
   2944         int swClass,
   2945         LONG *plCookie);
   2946 
   2947     HRESULT (STDMETHODCALLTYPE *Revoke)(
   2948         IShellWindows* This,
   2949         LONG lCookie);
   2950 
   2951     HRESULT (STDMETHODCALLTYPE *OnNavigate)(
   2952         IShellWindows* This,
   2953         LONG lCookie,
   2954         VARIANT *pvarLoc);
   2955 
   2956     HRESULT (STDMETHODCALLTYPE *OnActivated)(
   2957         IShellWindows* This,
   2958         LONG lCookie,
   2959         VARIANT_BOOL fActive);
   2960 
   2961     HRESULT (STDMETHODCALLTYPE *FindWindowSW)(
   2962         IShellWindows* This,
   2963         VARIANT *pvarLoc,
   2964         VARIANT *pvarLocRoot,
   2965         int swClass,
   2966         LONG *phwnd,
   2967         int swfwOptions,
   2968         IDispatch **ppdispOut);
   2969 
   2970     HRESULT (STDMETHODCALLTYPE *OnCreated)(
   2971         IShellWindows* This,
   2972         LONG lCookie,
   2973         IUnknown *punk);
   2974 
   2975     HRESULT (STDMETHODCALLTYPE *ProcessAttachDetach)(
   2976         IShellWindows* This,
   2977         VARIANT_BOOL fAttach);
   2978 
   2979     END_INTERFACE
   2980 } IShellWindowsVtbl;
   2981 interface IShellWindows {
   2982     CONST_VTBL IShellWindowsVtbl* lpVtbl;
   2983 };
   2984 
   2985 #ifdef COBJMACROS
   2986 #ifndef WIDL_C_INLINE_WRAPPERS
   2987 /*** IUnknown methods ***/
   2988 #define IShellWindows_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2989 #define IShellWindows_AddRef(This) (This)->lpVtbl->AddRef(This)
   2990 #define IShellWindows_Release(This) (This)->lpVtbl->Release(This)
   2991 /*** IDispatch methods ***/
   2992 #define IShellWindows_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2993 #define IShellWindows_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2994 #define IShellWindows_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2995 #define IShellWindows_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2996 /*** IShellWindows methods ***/
   2997 #define IShellWindows_get_Count(This,Count) (This)->lpVtbl->get_Count(This,Count)
   2998 #define IShellWindows_Item(This,index,Folder) (This)->lpVtbl->Item(This,index,Folder)
   2999 #define IShellWindows__NewEnum(This,ppunk) (This)->lpVtbl->_NewEnum(This,ppunk)
   3000 #define IShellWindows_Register(This,pid,hWnd,swClass,plCookie) (This)->lpVtbl->Register(This,pid,hWnd,swClass,plCookie)
   3001 #define IShellWindows_RegisterPending(This,lThreadId,pvarloc,pvarlocRoot,swClass,plCookie) (This)->lpVtbl->RegisterPending(This,lThreadId,pvarloc,pvarlocRoot,swClass,plCookie)
   3002 #define IShellWindows_Revoke(This,lCookie) (This)->lpVtbl->Revoke(This,lCookie)
   3003 #define IShellWindows_OnNavigate(This,lCookie,pvarLoc) (This)->lpVtbl->OnNavigate(This,lCookie,pvarLoc)
   3004 #define IShellWindows_OnActivated(This,lCookie,fActive) (This)->lpVtbl->OnActivated(This,lCookie,fActive)
   3005 #define IShellWindows_FindWindowSW(This,pvarLoc,pvarLocRoot,swClass,phwnd,swfwOptions,ppdispOut) (This)->lpVtbl->FindWindowSW(This,pvarLoc,pvarLocRoot,swClass,phwnd,swfwOptions,ppdispOut)
   3006 #define IShellWindows_OnCreated(This,lCookie,punk) (This)->lpVtbl->OnCreated(This,lCookie,punk)
   3007 #define IShellWindows_ProcessAttachDetach(This,fAttach) (This)->lpVtbl->ProcessAttachDetach(This,fAttach)
   3008 #else
   3009 /*** IUnknown methods ***/
   3010 static FORCEINLINE HRESULT IShellWindows_QueryInterface(IShellWindows* This,REFIID riid,void **ppvObject) {
   3011     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3012 }
   3013 static FORCEINLINE ULONG IShellWindows_AddRef(IShellWindows* This) {
   3014     return This->lpVtbl->AddRef(This);
   3015 }
   3016 static FORCEINLINE ULONG IShellWindows_Release(IShellWindows* This) {
   3017     return This->lpVtbl->Release(This);
   3018 }
   3019 /*** IDispatch methods ***/
   3020 static FORCEINLINE HRESULT IShellWindows_GetTypeInfoCount(IShellWindows* This,UINT *pctinfo) {
   3021     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3022 }
   3023 static FORCEINLINE HRESULT IShellWindows_GetTypeInfo(IShellWindows* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3024     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3025 }
   3026 static FORCEINLINE HRESULT IShellWindows_GetIDsOfNames(IShellWindows* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3027     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3028 }
   3029 static FORCEINLINE HRESULT IShellWindows_Invoke(IShellWindows* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3030     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3031 }
   3032 /*** IShellWindows methods ***/
   3033 static FORCEINLINE HRESULT IShellWindows_get_Count(IShellWindows* This,LONG *Count) {
   3034     return This->lpVtbl->get_Count(This,Count);
   3035 }
   3036 static FORCEINLINE HRESULT IShellWindows_Item(IShellWindows* This,VARIANT index,IDispatch **Folder) {
   3037     return This->lpVtbl->Item(This,index,Folder);
   3038 }
   3039 static FORCEINLINE HRESULT IShellWindows__NewEnum(IShellWindows* This,IUnknown **ppunk) {
   3040     return This->lpVtbl->_NewEnum(This,ppunk);
   3041 }
   3042 static FORCEINLINE HRESULT IShellWindows_Register(IShellWindows* This,IDispatch *pid,LONG hWnd,int swClass,LONG *plCookie) {
   3043     return This->lpVtbl->Register(This,pid,hWnd,swClass,plCookie);
   3044 }
   3045 static FORCEINLINE HRESULT IShellWindows_RegisterPending(IShellWindows* This,LONG lThreadId,VARIANT *pvarloc,VARIANT *pvarlocRoot,int swClass,LONG *plCookie) {
   3046     return This->lpVtbl->RegisterPending(This,lThreadId,pvarloc,pvarlocRoot,swClass,plCookie);
   3047 }
   3048 static FORCEINLINE HRESULT IShellWindows_Revoke(IShellWindows* This,LONG lCookie) {
   3049     return This->lpVtbl->Revoke(This,lCookie);
   3050 }
   3051 static FORCEINLINE HRESULT IShellWindows_OnNavigate(IShellWindows* This,LONG lCookie,VARIANT *pvarLoc) {
   3052     return This->lpVtbl->OnNavigate(This,lCookie,pvarLoc);
   3053 }
   3054 static FORCEINLINE HRESULT IShellWindows_OnActivated(IShellWindows* This,LONG lCookie,VARIANT_BOOL fActive) {
   3055     return This->lpVtbl->OnActivated(This,lCookie,fActive);
   3056 }
   3057 static FORCEINLINE HRESULT IShellWindows_FindWindowSW(IShellWindows* This,VARIANT *pvarLoc,VARIANT *pvarLocRoot,int swClass,LONG *phwnd,int swfwOptions,IDispatch **ppdispOut) {
   3058     return This->lpVtbl->FindWindowSW(This,pvarLoc,pvarLocRoot,swClass,phwnd,swfwOptions,ppdispOut);
   3059 }
   3060 static FORCEINLINE HRESULT IShellWindows_OnCreated(IShellWindows* This,LONG lCookie,IUnknown *punk) {
   3061     return This->lpVtbl->OnCreated(This,lCookie,punk);
   3062 }
   3063 static FORCEINLINE HRESULT IShellWindows_ProcessAttachDetach(IShellWindows* This,VARIANT_BOOL fAttach) {
   3064     return This->lpVtbl->ProcessAttachDetach(This,fAttach);
   3065 }
   3066 #endif
   3067 #endif
   3068 
   3069 #endif
   3070 
   3071 HRESULT STDMETHODCALLTYPE IShellWindows_get_Count_Proxy(
   3072     IShellWindows* This,
   3073     LONG *Count);
   3074 void __RPC_STUB IShellWindows_get_Count_Stub(
   3075     IRpcStubBuffer* This,
   3076     IRpcChannelBuffer* pRpcChannelBuffer,
   3077     PRPC_MESSAGE pRpcMessage,
   3078     DWORD* pdwStubPhase);
   3079 HRESULT STDMETHODCALLTYPE IShellWindows_Item_Proxy(
   3080     IShellWindows* This,
   3081     VARIANT index,
   3082     IDispatch **Folder);
   3083 void __RPC_STUB IShellWindows_Item_Stub(
   3084     IRpcStubBuffer* This,
   3085     IRpcChannelBuffer* pRpcChannelBuffer,
   3086     PRPC_MESSAGE pRpcMessage,
   3087     DWORD* pdwStubPhase);
   3088 HRESULT STDMETHODCALLTYPE IShellWindows__NewEnum_Proxy(
   3089     IShellWindows* This,
   3090     IUnknown **ppunk);
   3091 void __RPC_STUB IShellWindows__NewEnum_Stub(
   3092     IRpcStubBuffer* This,
   3093     IRpcChannelBuffer* pRpcChannelBuffer,
   3094     PRPC_MESSAGE pRpcMessage,
   3095     DWORD* pdwStubPhase);
   3096 HRESULT STDMETHODCALLTYPE IShellWindows_Register_Proxy(
   3097     IShellWindows* This,
   3098     IDispatch *pid,
   3099     LONG hWnd,
   3100     int swClass,
   3101     LONG *plCookie);
   3102 void __RPC_STUB IShellWindows_Register_Stub(
   3103     IRpcStubBuffer* This,
   3104     IRpcChannelBuffer* pRpcChannelBuffer,
   3105     PRPC_MESSAGE pRpcMessage,
   3106     DWORD* pdwStubPhase);
   3107 HRESULT STDMETHODCALLTYPE IShellWindows_RegisterPending_Proxy(
   3108     IShellWindows* This,
   3109     LONG lThreadId,
   3110     VARIANT *pvarloc,
   3111     VARIANT *pvarlocRoot,
   3112     int swClass,
   3113     LONG *plCookie);
   3114 void __RPC_STUB IShellWindows_RegisterPending_Stub(
   3115     IRpcStubBuffer* This,
   3116     IRpcChannelBuffer* pRpcChannelBuffer,
   3117     PRPC_MESSAGE pRpcMessage,
   3118     DWORD* pdwStubPhase);
   3119 HRESULT STDMETHODCALLTYPE IShellWindows_Revoke_Proxy(
   3120     IShellWindows* This,
   3121     LONG lCookie);
   3122 void __RPC_STUB IShellWindows_Revoke_Stub(
   3123     IRpcStubBuffer* This,
   3124     IRpcChannelBuffer* pRpcChannelBuffer,
   3125     PRPC_MESSAGE pRpcMessage,
   3126     DWORD* pdwStubPhase);
   3127 HRESULT STDMETHODCALLTYPE IShellWindows_OnNavigate_Proxy(
   3128     IShellWindows* This,
   3129     LONG lCookie,
   3130     VARIANT *pvarLoc);
   3131 void __RPC_STUB IShellWindows_OnNavigate_Stub(
   3132     IRpcStubBuffer* This,
   3133     IRpcChannelBuffer* pRpcChannelBuffer,
   3134     PRPC_MESSAGE pRpcMessage,
   3135     DWORD* pdwStubPhase);
   3136 HRESULT STDMETHODCALLTYPE IShellWindows_OnActivated_Proxy(
   3137     IShellWindows* This,
   3138     LONG lCookie,
   3139     VARIANT_BOOL fActive);
   3140 void __RPC_STUB IShellWindows_OnActivated_Stub(
   3141     IRpcStubBuffer* This,
   3142     IRpcChannelBuffer* pRpcChannelBuffer,
   3143     PRPC_MESSAGE pRpcMessage,
   3144     DWORD* pdwStubPhase);
   3145 HRESULT STDMETHODCALLTYPE IShellWindows_FindWindowSW_Proxy(
   3146     IShellWindows* This,
   3147     VARIANT *pvarLoc,
   3148     VARIANT *pvarLocRoot,
   3149     int swClass,
   3150     LONG *phwnd,
   3151     int swfwOptions,
   3152     IDispatch **ppdispOut);
   3153 void __RPC_STUB IShellWindows_FindWindowSW_Stub(
   3154     IRpcStubBuffer* This,
   3155     IRpcChannelBuffer* pRpcChannelBuffer,
   3156     PRPC_MESSAGE pRpcMessage,
   3157     DWORD* pdwStubPhase);
   3158 HRESULT STDMETHODCALLTYPE IShellWindows_OnCreated_Proxy(
   3159     IShellWindows* This,
   3160     LONG lCookie,
   3161     IUnknown *punk);
   3162 void __RPC_STUB IShellWindows_OnCreated_Stub(
   3163     IRpcStubBuffer* This,
   3164     IRpcChannelBuffer* pRpcChannelBuffer,
   3165     PRPC_MESSAGE pRpcMessage,
   3166     DWORD* pdwStubPhase);
   3167 HRESULT STDMETHODCALLTYPE IShellWindows_ProcessAttachDetach_Proxy(
   3168     IShellWindows* This,
   3169     VARIANT_BOOL fAttach);
   3170 void __RPC_STUB IShellWindows_ProcessAttachDetach_Stub(
   3171     IRpcStubBuffer* This,
   3172     IRpcChannelBuffer* pRpcChannelBuffer,
   3173     PRPC_MESSAGE pRpcMessage,
   3174     DWORD* pdwStubPhase);
   3175 
   3176 #endif  /* __IShellWindows_INTERFACE_DEFINED__ */
   3177 
   3178 /*****************************************************************************
   3179  * ShellWindows coclass
   3180  */
   3181 
   3182 DEFINE_GUID(CLSID_ShellWindows, 0x9ba05972, 0xf6a8, 0x11cf, 0xa4,0x42, 0x00,0xa0,0xc9,0x0a,0x8f,0x39);
   3183 
   3184 #ifdef __cplusplus
   3185 class DECLSPEC_UUID("9ba05972-f6a8-11cf-a442-00a0c90a8f39") ShellWindows;
   3186 #ifdef __CRT_UUID_DECL
   3187 __CRT_UUID_DECL(ShellWindows, 0x9ba05972, 0xf6a8, 0x11cf, 0xa4,0x42, 0x00,0xa0,0xc9,0x0a,0x8f,0x39)
   3188 #endif
   3189 #endif
   3190 
   3191 /*****************************************************************************
   3192  * IShellUIHelper interface
   3193  */
   3194 #ifndef __IShellUIHelper_INTERFACE_DEFINED__
   3195 #define __IShellUIHelper_INTERFACE_DEFINED__
   3196 
   3197 DEFINE_GUID(IID_IShellUIHelper, 0x729fe2f8, 0x1ea8, 0x11d1, 0x8f,0x85, 0x00,0xc0,0x4f,0xc2,0xfb,0xe1);
   3198 #if defined(__cplusplus) && !defined(CINTERFACE)
   3199 MIDL_INTERFACE("729fe2f8-1ea8-11d1-8f85-00c04fc2fbe1")
   3200 IShellUIHelper : public IDispatch
   3201 {
   3202     virtual HRESULT STDMETHODCALLTYPE ResetFirstBootMode(
   3203         ) = 0;
   3204 
   3205     virtual HRESULT STDMETHODCALLTYPE ResetSafeMode(
   3206         ) = 0;
   3207 
   3208     virtual HRESULT STDMETHODCALLTYPE RefreshOfflineDesktop(
   3209         ) = 0;
   3210 
   3211     virtual HRESULT STDMETHODCALLTYPE AddFavorite(
   3212         BSTR URL,
   3213         VARIANT *Title) = 0;
   3214 
   3215     virtual HRESULT STDMETHODCALLTYPE AddChannel(
   3216         BSTR URL) = 0;
   3217 
   3218     virtual HRESULT STDMETHODCALLTYPE AddDesktopComponent(
   3219         BSTR URL,
   3220         BSTR Type,
   3221         VARIANT *Left,
   3222         VARIANT *Top,
   3223         VARIANT *Width,
   3224         VARIANT *Height) = 0;
   3225 
   3226     virtual HRESULT STDMETHODCALLTYPE IsSubscribed(
   3227         BSTR URL,
   3228         VARIANT_BOOL *pBool) = 0;
   3229 
   3230     virtual HRESULT STDMETHODCALLTYPE NavigateAndFind(
   3231         BSTR URL,
   3232         BSTR strQuery,
   3233         VARIANT *varTargetFrame) = 0;
   3234 
   3235     virtual HRESULT STDMETHODCALLTYPE ImportExportFavorites(
   3236         VARIANT_BOOL fImport,
   3237         BSTR strImpExpPath) = 0;
   3238 
   3239     virtual HRESULT STDMETHODCALLTYPE AutoCompleteSaveForm(
   3240         VARIANT *Form) = 0;
   3241 
   3242     virtual HRESULT STDMETHODCALLTYPE AutoScan(
   3243         BSTR strSearch,
   3244         BSTR strFailureUrl,
   3245         VARIANT *pvarTargetFrame) = 0;
   3246 
   3247     virtual HRESULT STDMETHODCALLTYPE AutoCompleteAttach(
   3248         VARIANT *Reserved) = 0;
   3249 
   3250     virtual HRESULT STDMETHODCALLTYPE ShowBrowserUI(
   3251         BSTR bstrName,
   3252         VARIANT *pvarIn,
   3253         VARIANT *pvarOut) = 0;
   3254 
   3255 };
   3256 #ifdef __CRT_UUID_DECL
   3257 __CRT_UUID_DECL(IShellUIHelper, 0x729fe2f8, 0x1ea8, 0x11d1, 0x8f,0x85, 0x00,0xc0,0x4f,0xc2,0xfb,0xe1)
   3258 #endif
   3259 #else
   3260 typedef struct IShellUIHelperVtbl {
   3261     BEGIN_INTERFACE
   3262 
   3263     /*** IUnknown methods ***/
   3264     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3265         IShellUIHelper* This,
   3266         REFIID riid,
   3267         void **ppvObject);
   3268 
   3269     ULONG (STDMETHODCALLTYPE *AddRef)(
   3270         IShellUIHelper* This);
   3271 
   3272     ULONG (STDMETHODCALLTYPE *Release)(
   3273         IShellUIHelper* This);
   3274 
   3275     /*** IDispatch methods ***/
   3276     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3277         IShellUIHelper* This,
   3278         UINT *pctinfo);
   3279 
   3280     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3281         IShellUIHelper* This,
   3282         UINT iTInfo,
   3283         LCID lcid,
   3284         ITypeInfo **ppTInfo);
   3285 
   3286     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   3287         IShellUIHelper* This,
   3288         REFIID riid,
   3289         LPOLESTR *rgszNames,
   3290         UINT cNames,
   3291         LCID lcid,
   3292         DISPID *rgDispId);
   3293 
   3294     HRESULT (STDMETHODCALLTYPE *Invoke)(
   3295         IShellUIHelper* This,
   3296         DISPID dispIdMember,
   3297         REFIID riid,
   3298         LCID lcid,
   3299         WORD wFlags,
   3300         DISPPARAMS *pDispParams,
   3301         VARIANT *pVarResult,
   3302         EXCEPINFO *pExcepInfo,
   3303         UINT *puArgErr);
   3304 
   3305     /*** IShellUIHelper methods ***/
   3306     HRESULT (STDMETHODCALLTYPE *ResetFirstBootMode)(
   3307         IShellUIHelper* This);
   3308 
   3309     HRESULT (STDMETHODCALLTYPE *ResetSafeMode)(
   3310         IShellUIHelper* This);
   3311 
   3312     HRESULT (STDMETHODCALLTYPE *RefreshOfflineDesktop)(
   3313         IShellUIHelper* This);
   3314 
   3315     HRESULT (STDMETHODCALLTYPE *AddFavorite)(
   3316         IShellUIHelper* This,
   3317         BSTR URL,
   3318         VARIANT *Title);
   3319 
   3320     HRESULT (STDMETHODCALLTYPE *AddChannel)(
   3321         IShellUIHelper* This,
   3322         BSTR URL);
   3323 
   3324     HRESULT (STDMETHODCALLTYPE *AddDesktopComponent)(
   3325         IShellUIHelper* This,
   3326         BSTR URL,
   3327         BSTR Type,
   3328         VARIANT *Left,
   3329         VARIANT *Top,
   3330         VARIANT *Width,
   3331         VARIANT *Height);
   3332 
   3333     HRESULT (STDMETHODCALLTYPE *IsSubscribed)(
   3334         IShellUIHelper* This,
   3335         BSTR URL,
   3336         VARIANT_BOOL *pBool);
   3337 
   3338     HRESULT (STDMETHODCALLTYPE *NavigateAndFind)(
   3339         IShellUIHelper* This,
   3340         BSTR URL,
   3341         BSTR strQuery,
   3342         VARIANT *varTargetFrame);
   3343 
   3344     HRESULT (STDMETHODCALLTYPE *ImportExportFavorites)(
   3345         IShellUIHelper* This,
   3346         VARIANT_BOOL fImport,
   3347         BSTR strImpExpPath);
   3348 
   3349     HRESULT (STDMETHODCALLTYPE *AutoCompleteSaveForm)(
   3350         IShellUIHelper* This,
   3351         VARIANT *Form);
   3352 
   3353     HRESULT (STDMETHODCALLTYPE *AutoScan)(
   3354         IShellUIHelper* This,
   3355         BSTR strSearch,
   3356         BSTR strFailureUrl,
   3357         VARIANT *pvarTargetFrame);
   3358 
   3359     HRESULT (STDMETHODCALLTYPE *AutoCompleteAttach)(
   3360         IShellUIHelper* This,
   3361         VARIANT *Reserved);
   3362 
   3363     HRESULT (STDMETHODCALLTYPE *ShowBrowserUI)(
   3364         IShellUIHelper* This,
   3365         BSTR bstrName,
   3366         VARIANT *pvarIn,
   3367         VARIANT *pvarOut);
   3368 
   3369     END_INTERFACE
   3370 } IShellUIHelperVtbl;
   3371 interface IShellUIHelper {
   3372     CONST_VTBL IShellUIHelperVtbl* lpVtbl;
   3373 };
   3374 
   3375 #ifdef COBJMACROS
   3376 #ifndef WIDL_C_INLINE_WRAPPERS
   3377 /*** IUnknown methods ***/
   3378 #define IShellUIHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3379 #define IShellUIHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
   3380 #define IShellUIHelper_Release(This) (This)->lpVtbl->Release(This)
   3381 /*** IDispatch methods ***/
   3382 #define IShellUIHelper_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3383 #define IShellUIHelper_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3384 #define IShellUIHelper_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3385 #define IShellUIHelper_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3386 /*** IShellUIHelper methods ***/
   3387 #define IShellUIHelper_ResetFirstBootMode(This) (This)->lpVtbl->ResetFirstBootMode(This)
   3388 #define IShellUIHelper_ResetSafeMode(This) (This)->lpVtbl->ResetSafeMode(This)
   3389 #define IShellUIHelper_RefreshOfflineDesktop(This) (This)->lpVtbl->RefreshOfflineDesktop(This)
   3390 #define IShellUIHelper_AddFavorite(This,URL,Title) (This)->lpVtbl->AddFavorite(This,URL,Title)
   3391 #define IShellUIHelper_AddChannel(This,URL) (This)->lpVtbl->AddChannel(This,URL)
   3392 #define IShellUIHelper_AddDesktopComponent(This,URL,Type,Left,Top,Width,Height) (This)->lpVtbl->AddDesktopComponent(This,URL,Type,Left,Top,Width,Height)
   3393 #define IShellUIHelper_IsSubscribed(This,URL,pBool) (This)->lpVtbl->IsSubscribed(This,URL,pBool)
   3394 #define IShellUIHelper_NavigateAndFind(This,URL,strQuery,varTargetFrame) (This)->lpVtbl->NavigateAndFind(This,URL,strQuery,varTargetFrame)
   3395 #define IShellUIHelper_ImportExportFavorites(This,fImport,strImpExpPath) (This)->lpVtbl->ImportExportFavorites(This,fImport,strImpExpPath)
   3396 #define IShellUIHelper_AutoCompleteSaveForm(This,Form) (This)->lpVtbl->AutoCompleteSaveForm(This,Form)
   3397 #define IShellUIHelper_AutoScan(This,strSearch,strFailureUrl,pvarTargetFrame) (This)->lpVtbl->AutoScan(This,strSearch,strFailureUrl,pvarTargetFrame)
   3398 #define IShellUIHelper_AutoCompleteAttach(This,Reserved) (This)->lpVtbl->AutoCompleteAttach(This,Reserved)
   3399 #define IShellUIHelper_ShowBrowserUI(This,bstrName,pvarIn,pvarOut) (This)->lpVtbl->ShowBrowserUI(This,bstrName,pvarIn,pvarOut)
   3400 #else
   3401 /*** IUnknown methods ***/
   3402 static FORCEINLINE HRESULT IShellUIHelper_QueryInterface(IShellUIHelper* This,REFIID riid,void **ppvObject) {
   3403     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3404 }
   3405 static FORCEINLINE ULONG IShellUIHelper_AddRef(IShellUIHelper* This) {
   3406     return This->lpVtbl->AddRef(This);
   3407 }
   3408 static FORCEINLINE ULONG IShellUIHelper_Release(IShellUIHelper* This) {
   3409     return This->lpVtbl->Release(This);
   3410 }
   3411 /*** IDispatch methods ***/
   3412 static FORCEINLINE HRESULT IShellUIHelper_GetTypeInfoCount(IShellUIHelper* This,UINT *pctinfo) {
   3413     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3414 }
   3415 static FORCEINLINE HRESULT IShellUIHelper_GetTypeInfo(IShellUIHelper* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3416     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3417 }
   3418 static FORCEINLINE HRESULT IShellUIHelper_GetIDsOfNames(IShellUIHelper* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3419     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3420 }
   3421 static FORCEINLINE HRESULT IShellUIHelper_Invoke(IShellUIHelper* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3422     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3423 }
   3424 /*** IShellUIHelper methods ***/
   3425 static FORCEINLINE HRESULT IShellUIHelper_ResetFirstBootMode(IShellUIHelper* This) {
   3426     return This->lpVtbl->ResetFirstBootMode(This);
   3427 }
   3428 static FORCEINLINE HRESULT IShellUIHelper_ResetSafeMode(IShellUIHelper* This) {
   3429     return This->lpVtbl->ResetSafeMode(This);
   3430 }
   3431 static FORCEINLINE HRESULT IShellUIHelper_RefreshOfflineDesktop(IShellUIHelper* This) {
   3432     return This->lpVtbl->RefreshOfflineDesktop(This);
   3433 }
   3434 static FORCEINLINE HRESULT IShellUIHelper_AddFavorite(IShellUIHelper* This,BSTR URL,VARIANT *Title) {
   3435     return This->lpVtbl->AddFavorite(This,URL,Title);
   3436 }
   3437 static FORCEINLINE HRESULT IShellUIHelper_AddChannel(IShellUIHelper* This,BSTR URL) {
   3438     return This->lpVtbl->AddChannel(This,URL);
   3439 }
   3440 static FORCEINLINE HRESULT IShellUIHelper_AddDesktopComponent(IShellUIHelper* This,BSTR URL,BSTR Type,VARIANT *Left,VARIANT *Top,VARIANT *Width,VARIANT *Height) {
   3441     return This->lpVtbl->AddDesktopComponent(This,URL,Type,Left,Top,Width,Height);
   3442 }
   3443 static FORCEINLINE HRESULT IShellUIHelper_IsSubscribed(IShellUIHelper* This,BSTR URL,VARIANT_BOOL *pBool) {
   3444     return This->lpVtbl->IsSubscribed(This,URL,pBool);
   3445 }
   3446 static FORCEINLINE HRESULT IShellUIHelper_NavigateAndFind(IShellUIHelper* This,BSTR URL,BSTR strQuery,VARIANT *varTargetFrame) {
   3447     return This->lpVtbl->NavigateAndFind(This,URL,strQuery,varTargetFrame);
   3448 }
   3449 static FORCEINLINE HRESULT IShellUIHelper_ImportExportFavorites(IShellUIHelper* This,VARIANT_BOOL fImport,BSTR strImpExpPath) {
   3450     return This->lpVtbl->ImportExportFavorites(This,fImport,strImpExpPath);
   3451 }
   3452 static FORCEINLINE HRESULT IShellUIHelper_AutoCompleteSaveForm(IShellUIHelper* This,VARIANT *Form) {
   3453     return This->lpVtbl->AutoCompleteSaveForm(This,Form);
   3454 }
   3455 static FORCEINLINE HRESULT IShellUIHelper_AutoScan(IShellUIHelper* This,BSTR strSearch,BSTR strFailureUrl,VARIANT *pvarTargetFrame) {
   3456     return This->lpVtbl->AutoScan(This,strSearch,strFailureUrl,pvarTargetFrame);
   3457 }
   3458 static FORCEINLINE HRESULT IShellUIHelper_AutoCompleteAttach(IShellUIHelper* This,VARIANT *Reserved) {
   3459     return This->lpVtbl->AutoCompleteAttach(This,Reserved);
   3460 }
   3461 static FORCEINLINE HRESULT IShellUIHelper_ShowBrowserUI(IShellUIHelper* This,BSTR bstrName,VARIANT *pvarIn,VARIANT *pvarOut) {
   3462     return This->lpVtbl->ShowBrowserUI(This,bstrName,pvarIn,pvarOut);
   3463 }
   3464 #endif
   3465 #endif
   3466 
   3467 #endif
   3468 
   3469 HRESULT STDMETHODCALLTYPE IShellUIHelper_ResetFirstBootMode_Proxy(
   3470     IShellUIHelper* This);
   3471 void __RPC_STUB IShellUIHelper_ResetFirstBootMode_Stub(
   3472     IRpcStubBuffer* This,
   3473     IRpcChannelBuffer* pRpcChannelBuffer,
   3474     PRPC_MESSAGE pRpcMessage,
   3475     DWORD* pdwStubPhase);
   3476 HRESULT STDMETHODCALLTYPE IShellUIHelper_ResetSafeMode_Proxy(
   3477     IShellUIHelper* This);
   3478 void __RPC_STUB IShellUIHelper_ResetSafeMode_Stub(
   3479     IRpcStubBuffer* This,
   3480     IRpcChannelBuffer* pRpcChannelBuffer,
   3481     PRPC_MESSAGE pRpcMessage,
   3482     DWORD* pdwStubPhase);
   3483 HRESULT STDMETHODCALLTYPE IShellUIHelper_RefreshOfflineDesktop_Proxy(
   3484     IShellUIHelper* This);
   3485 void __RPC_STUB IShellUIHelper_RefreshOfflineDesktop_Stub(
   3486     IRpcStubBuffer* This,
   3487     IRpcChannelBuffer* pRpcChannelBuffer,
   3488     PRPC_MESSAGE pRpcMessage,
   3489     DWORD* pdwStubPhase);
   3490 HRESULT STDMETHODCALLTYPE IShellUIHelper_AddFavorite_Proxy(
   3491     IShellUIHelper* This,
   3492     BSTR URL,
   3493     VARIANT *Title);
   3494 void __RPC_STUB IShellUIHelper_AddFavorite_Stub(
   3495     IRpcStubBuffer* This,
   3496     IRpcChannelBuffer* pRpcChannelBuffer,
   3497     PRPC_MESSAGE pRpcMessage,
   3498     DWORD* pdwStubPhase);
   3499 HRESULT STDMETHODCALLTYPE IShellUIHelper_AddChannel_Proxy(
   3500     IShellUIHelper* This,
   3501     BSTR URL);
   3502 void __RPC_STUB IShellUIHelper_AddChannel_Stub(
   3503     IRpcStubBuffer* This,
   3504     IRpcChannelBuffer* pRpcChannelBuffer,
   3505     PRPC_MESSAGE pRpcMessage,
   3506     DWORD* pdwStubPhase);
   3507 HRESULT STDMETHODCALLTYPE IShellUIHelper_AddDesktopComponent_Proxy(
   3508     IShellUIHelper* This,
   3509     BSTR URL,
   3510     BSTR Type,
   3511     VARIANT *Left,
   3512     VARIANT *Top,
   3513     VARIANT *Width,
   3514     VARIANT *Height);
   3515 void __RPC_STUB IShellUIHelper_AddDesktopComponent_Stub(
   3516     IRpcStubBuffer* This,
   3517     IRpcChannelBuffer* pRpcChannelBuffer,
   3518     PRPC_MESSAGE pRpcMessage,
   3519     DWORD* pdwStubPhase);
   3520 HRESULT STDMETHODCALLTYPE IShellUIHelper_IsSubscribed_Proxy(
   3521     IShellUIHelper* This,
   3522     BSTR URL,
   3523     VARIANT_BOOL *pBool);
   3524 void __RPC_STUB IShellUIHelper_IsSubscribed_Stub(
   3525     IRpcStubBuffer* This,
   3526     IRpcChannelBuffer* pRpcChannelBuffer,
   3527     PRPC_MESSAGE pRpcMessage,
   3528     DWORD* pdwStubPhase);
   3529 HRESULT STDMETHODCALLTYPE IShellUIHelper_NavigateAndFind_Proxy(
   3530     IShellUIHelper* This,
   3531     BSTR URL,
   3532     BSTR strQuery,
   3533     VARIANT *varTargetFrame);
   3534 void __RPC_STUB IShellUIHelper_NavigateAndFind_Stub(
   3535     IRpcStubBuffer* This,
   3536     IRpcChannelBuffer* pRpcChannelBuffer,
   3537     PRPC_MESSAGE pRpcMessage,
   3538     DWORD* pdwStubPhase);
   3539 HRESULT STDMETHODCALLTYPE IShellUIHelper_ImportExportFavorites_Proxy(
   3540     IShellUIHelper* This,
   3541     VARIANT_BOOL fImport,
   3542     BSTR strImpExpPath);
   3543 void __RPC_STUB IShellUIHelper_ImportExportFavorites_Stub(
   3544     IRpcStubBuffer* This,
   3545     IRpcChannelBuffer* pRpcChannelBuffer,
   3546     PRPC_MESSAGE pRpcMessage,
   3547     DWORD* pdwStubPhase);
   3548 HRESULT STDMETHODCALLTYPE IShellUIHelper_AutoCompleteSaveForm_Proxy(
   3549     IShellUIHelper* This,
   3550     VARIANT *Form);
   3551 void __RPC_STUB IShellUIHelper_AutoCompleteSaveForm_Stub(
   3552     IRpcStubBuffer* This,
   3553     IRpcChannelBuffer* pRpcChannelBuffer,
   3554     PRPC_MESSAGE pRpcMessage,
   3555     DWORD* pdwStubPhase);
   3556 HRESULT STDMETHODCALLTYPE IShellUIHelper_AutoScan_Proxy(
   3557     IShellUIHelper* This,
   3558     BSTR strSearch,
   3559     BSTR strFailureUrl,
   3560     VARIANT *pvarTargetFrame);
   3561 void __RPC_STUB IShellUIHelper_AutoScan_Stub(
   3562     IRpcStubBuffer* This,
   3563     IRpcChannelBuffer* pRpcChannelBuffer,
   3564     PRPC_MESSAGE pRpcMessage,
   3565     DWORD* pdwStubPhase);
   3566 HRESULT STDMETHODCALLTYPE IShellUIHelper_AutoCompleteAttach_Proxy(
   3567     IShellUIHelper* This,
   3568     VARIANT *Reserved);
   3569 void __RPC_STUB IShellUIHelper_AutoCompleteAttach_Stub(
   3570     IRpcStubBuffer* This,
   3571     IRpcChannelBuffer* pRpcChannelBuffer,
   3572     PRPC_MESSAGE pRpcMessage,
   3573     DWORD* pdwStubPhase);
   3574 HRESULT STDMETHODCALLTYPE IShellUIHelper_ShowBrowserUI_Proxy(
   3575     IShellUIHelper* This,
   3576     BSTR bstrName,
   3577     VARIANT *pvarIn,
   3578     VARIANT *pvarOut);
   3579 void __RPC_STUB IShellUIHelper_ShowBrowserUI_Stub(
   3580     IRpcStubBuffer* This,
   3581     IRpcChannelBuffer* pRpcChannelBuffer,
   3582     PRPC_MESSAGE pRpcMessage,
   3583     DWORD* pdwStubPhase);
   3584 
   3585 #endif  /* __IShellUIHelper_INTERFACE_DEFINED__ */
   3586 
   3587 /*****************************************************************************
   3588  * IShellUIHelper2 interface
   3589  */
   3590 #ifndef __IShellUIHelper2_INTERFACE_DEFINED__
   3591 #define __IShellUIHelper2_INTERFACE_DEFINED__
   3592 
   3593 DEFINE_GUID(IID_IShellUIHelper2, 0xa7fe6eda, 0x1932, 0x4281, 0xb8,0x81, 0x87,0xb3,0x1b,0x8b,0xc5,0x2c);
   3594 #if defined(__cplusplus) && !defined(CINTERFACE)
   3595 MIDL_INTERFACE("a7fe6eda-1932-4281-b881-87b31b8bc52c")
   3596 IShellUIHelper2 : public IShellUIHelper
   3597 {
   3598     virtual HRESULT STDMETHODCALLTYPE AddSearchProvider(
   3599         BSTR URL) = 0;
   3600 
   3601     virtual HRESULT STDMETHODCALLTYPE RunOnceShown(
   3602         ) = 0;
   3603 
   3604     virtual HRESULT STDMETHODCALLTYPE SkipRunOnce(
   3605         ) = 0;
   3606 
   3607     virtual HRESULT STDMETHODCALLTYPE CustomizeSettings(
   3608         VARIANT_BOOL fSQM,
   3609         VARIANT_BOOL fPhishing,
   3610         BSTR bstrLocale) = 0;
   3611 
   3612     virtual HRESULT STDMETHODCALLTYPE SqmEnabled(
   3613         VARIANT_BOOL *pfEnabled) = 0;
   3614 
   3615     virtual HRESULT STDMETHODCALLTYPE PhishingEnabled(
   3616         VARIANT_BOOL *pfEnabled) = 0;
   3617 
   3618     virtual HRESULT STDMETHODCALLTYPE BrandImageUri(
   3619         BSTR *pbstrUri) = 0;
   3620 
   3621     virtual HRESULT STDMETHODCALLTYPE SkipTabsWelcome(
   3622         ) = 0;
   3623 
   3624     virtual HRESULT STDMETHODCALLTYPE DiagnoseConnection(
   3625         ) = 0;
   3626 
   3627     virtual HRESULT STDMETHODCALLTYPE CustomizeClearType(
   3628         VARIANT_BOOL fSet) = 0;
   3629 
   3630     virtual HRESULT STDMETHODCALLTYPE IsSearchProviderInstalled(
   3631         BSTR URL,
   3632         DWORD *pdwResult) = 0;
   3633 
   3634     virtual HRESULT STDMETHODCALLTYPE IsSearchMigrated(
   3635         VARIANT_BOOL *pfMigrated) = 0;
   3636 
   3637     virtual HRESULT STDMETHODCALLTYPE DefaultSearchProvider(
   3638         BSTR *pbstrName) = 0;
   3639 
   3640     virtual HRESULT STDMETHODCALLTYPE RunOnceRequiredSettingsComplete(
   3641         VARIANT_BOOL fComplete) = 0;
   3642 
   3643     virtual HRESULT STDMETHODCALLTYPE RunOnceHasShown(
   3644         VARIANT_BOOL *pfShown) = 0;
   3645 
   3646     virtual HRESULT STDMETHODCALLTYPE SearchGuideUrl(
   3647         BSTR *pbstrUrl) = 0;
   3648 
   3649 };
   3650 #ifdef __CRT_UUID_DECL
   3651 __CRT_UUID_DECL(IShellUIHelper2, 0xa7fe6eda, 0x1932, 0x4281, 0xb8,0x81, 0x87,0xb3,0x1b,0x8b,0xc5,0x2c)
   3652 #endif
   3653 #else
   3654 typedef struct IShellUIHelper2Vtbl {
   3655     BEGIN_INTERFACE
   3656 
   3657     /*** IUnknown methods ***/
   3658     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   3659         IShellUIHelper2* This,
   3660         REFIID riid,
   3661         void **ppvObject);
   3662 
   3663     ULONG (STDMETHODCALLTYPE *AddRef)(
   3664         IShellUIHelper2* This);
   3665 
   3666     ULONG (STDMETHODCALLTYPE *Release)(
   3667         IShellUIHelper2* This);
   3668 
   3669     /*** IDispatch methods ***/
   3670     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   3671         IShellUIHelper2* This,
   3672         UINT *pctinfo);
   3673 
   3674     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   3675         IShellUIHelper2* This,
   3676         UINT iTInfo,
   3677         LCID lcid,
   3678         ITypeInfo **ppTInfo);
   3679 
   3680     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   3681         IShellUIHelper2* This,
   3682         REFIID riid,
   3683         LPOLESTR *rgszNames,
   3684         UINT cNames,
   3685         LCID lcid,
   3686         DISPID *rgDispId);
   3687 
   3688     HRESULT (STDMETHODCALLTYPE *Invoke)(
   3689         IShellUIHelper2* This,
   3690         DISPID dispIdMember,
   3691         REFIID riid,
   3692         LCID lcid,
   3693         WORD wFlags,
   3694         DISPPARAMS *pDispParams,
   3695         VARIANT *pVarResult,
   3696         EXCEPINFO *pExcepInfo,
   3697         UINT *puArgErr);
   3698 
   3699     /*** IShellUIHelper methods ***/
   3700     HRESULT (STDMETHODCALLTYPE *ResetFirstBootMode)(
   3701         IShellUIHelper2* This);
   3702 
   3703     HRESULT (STDMETHODCALLTYPE *ResetSafeMode)(
   3704         IShellUIHelper2* This);
   3705 
   3706     HRESULT (STDMETHODCALLTYPE *RefreshOfflineDesktop)(
   3707         IShellUIHelper2* This);
   3708 
   3709     HRESULT (STDMETHODCALLTYPE *AddFavorite)(
   3710         IShellUIHelper2* This,
   3711         BSTR URL,
   3712         VARIANT *Title);
   3713 
   3714     HRESULT (STDMETHODCALLTYPE *AddChannel)(
   3715         IShellUIHelper2* This,
   3716         BSTR URL);
   3717 
   3718     HRESULT (STDMETHODCALLTYPE *AddDesktopComponent)(
   3719         IShellUIHelper2* This,
   3720         BSTR URL,
   3721         BSTR Type,
   3722         VARIANT *Left,
   3723         VARIANT *Top,
   3724         VARIANT *Width,
   3725         VARIANT *Height);
   3726 
   3727     HRESULT (STDMETHODCALLTYPE *IsSubscribed)(
   3728         IShellUIHelper2* This,
   3729         BSTR URL,
   3730         VARIANT_BOOL *pBool);
   3731 
   3732     HRESULT (STDMETHODCALLTYPE *NavigateAndFind)(
   3733         IShellUIHelper2* This,
   3734         BSTR URL,
   3735         BSTR strQuery,
   3736         VARIANT *varTargetFrame);
   3737 
   3738     HRESULT (STDMETHODCALLTYPE *ImportExportFavorites)(
   3739         IShellUIHelper2* This,
   3740         VARIANT_BOOL fImport,
   3741         BSTR strImpExpPath);
   3742 
   3743     HRESULT (STDMETHODCALLTYPE *AutoCompleteSaveForm)(
   3744         IShellUIHelper2* This,
   3745         VARIANT *Form);
   3746 
   3747     HRESULT (STDMETHODCALLTYPE *AutoScan)(
   3748         IShellUIHelper2* This,
   3749         BSTR strSearch,
   3750         BSTR strFailureUrl,
   3751         VARIANT *pvarTargetFrame);
   3752 
   3753     HRESULT (STDMETHODCALLTYPE *AutoCompleteAttach)(
   3754         IShellUIHelper2* This,
   3755         VARIANT *Reserved);
   3756 
   3757     HRESULT (STDMETHODCALLTYPE *ShowBrowserUI)(
   3758         IShellUIHelper2* This,
   3759         BSTR bstrName,
   3760         VARIANT *pvarIn,
   3761         VARIANT *pvarOut);
   3762 
   3763     /*** IShellUIHelper2 methods ***/
   3764     HRESULT (STDMETHODCALLTYPE *AddSearchProvider)(
   3765         IShellUIHelper2* This,
   3766         BSTR URL);
   3767 
   3768     HRESULT (STDMETHODCALLTYPE *RunOnceShown)(
   3769         IShellUIHelper2* This);
   3770 
   3771     HRESULT (STDMETHODCALLTYPE *SkipRunOnce)(
   3772         IShellUIHelper2* This);
   3773 
   3774     HRESULT (STDMETHODCALLTYPE *CustomizeSettings)(
   3775         IShellUIHelper2* This,
   3776         VARIANT_BOOL fSQM,
   3777         VARIANT_BOOL fPhishing,
   3778         BSTR bstrLocale);
   3779 
   3780     HRESULT (STDMETHODCALLTYPE *SqmEnabled)(
   3781         IShellUIHelper2* This,
   3782         VARIANT_BOOL *pfEnabled);
   3783 
   3784     HRESULT (STDMETHODCALLTYPE *PhishingEnabled)(
   3785         IShellUIHelper2* This,
   3786         VARIANT_BOOL *pfEnabled);
   3787 
   3788     HRESULT (STDMETHODCALLTYPE *BrandImageUri)(
   3789         IShellUIHelper2* This,
   3790         BSTR *pbstrUri);
   3791 
   3792     HRESULT (STDMETHODCALLTYPE *SkipTabsWelcome)(
   3793         IShellUIHelper2* This);
   3794 
   3795     HRESULT (STDMETHODCALLTYPE *DiagnoseConnection)(
   3796         IShellUIHelper2* This);
   3797 
   3798     HRESULT (STDMETHODCALLTYPE *CustomizeClearType)(
   3799         IShellUIHelper2* This,
   3800         VARIANT_BOOL fSet);
   3801 
   3802     HRESULT (STDMETHODCALLTYPE *IsSearchProviderInstalled)(
   3803         IShellUIHelper2* This,
   3804         BSTR URL,
   3805         DWORD *pdwResult);
   3806 
   3807     HRESULT (STDMETHODCALLTYPE *IsSearchMigrated)(
   3808         IShellUIHelper2* This,
   3809         VARIANT_BOOL *pfMigrated);
   3810 
   3811     HRESULT (STDMETHODCALLTYPE *DefaultSearchProvider)(
   3812         IShellUIHelper2* This,
   3813         BSTR *pbstrName);
   3814 
   3815     HRESULT (STDMETHODCALLTYPE *RunOnceRequiredSettingsComplete)(
   3816         IShellUIHelper2* This,
   3817         VARIANT_BOOL fComplete);
   3818 
   3819     HRESULT (STDMETHODCALLTYPE *RunOnceHasShown)(
   3820         IShellUIHelper2* This,
   3821         VARIANT_BOOL *pfShown);
   3822 
   3823     HRESULT (STDMETHODCALLTYPE *SearchGuideUrl)(
   3824         IShellUIHelper2* This,
   3825         BSTR *pbstrUrl);
   3826 
   3827     END_INTERFACE
   3828 } IShellUIHelper2Vtbl;
   3829 interface IShellUIHelper2 {
   3830     CONST_VTBL IShellUIHelper2Vtbl* lpVtbl;
   3831 };
   3832 
   3833 #ifdef COBJMACROS
   3834 #ifndef WIDL_C_INLINE_WRAPPERS
   3835 /*** IUnknown methods ***/
   3836 #define IShellUIHelper2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   3837 #define IShellUIHelper2_AddRef(This) (This)->lpVtbl->AddRef(This)
   3838 #define IShellUIHelper2_Release(This) (This)->lpVtbl->Release(This)
   3839 /*** IDispatch methods ***/
   3840 #define IShellUIHelper2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   3841 #define IShellUIHelper2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   3842 #define IShellUIHelper2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   3843 #define IShellUIHelper2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   3844 /*** IShellUIHelper methods ***/
   3845 #define IShellUIHelper2_ResetFirstBootMode(This) (This)->lpVtbl->ResetFirstBootMode(This)
   3846 #define IShellUIHelper2_ResetSafeMode(This) (This)->lpVtbl->ResetSafeMode(This)
   3847 #define IShellUIHelper2_RefreshOfflineDesktop(This) (This)->lpVtbl->RefreshOfflineDesktop(This)
   3848 #define IShellUIHelper2_AddFavorite(This,URL,Title) (This)->lpVtbl->AddFavorite(This,URL,Title)
   3849 #define IShellUIHelper2_AddChannel(This,URL) (This)->lpVtbl->AddChannel(This,URL)
   3850 #define IShellUIHelper2_AddDesktopComponent(This,URL,Type,Left,Top,Width,Height) (This)->lpVtbl->AddDesktopComponent(This,URL,Type,Left,Top,Width,Height)
   3851 #define IShellUIHelper2_IsSubscribed(This,URL,pBool) (This)->lpVtbl->IsSubscribed(This,URL,pBool)
   3852 #define IShellUIHelper2_NavigateAndFind(This,URL,strQuery,varTargetFrame) (This)->lpVtbl->NavigateAndFind(This,URL,strQuery,varTargetFrame)
   3853 #define IShellUIHelper2_ImportExportFavorites(This,fImport,strImpExpPath) (This)->lpVtbl->ImportExportFavorites(This,fImport,strImpExpPath)
   3854 #define IShellUIHelper2_AutoCompleteSaveForm(This,Form) (This)->lpVtbl->AutoCompleteSaveForm(This,Form)
   3855 #define IShellUIHelper2_AutoScan(This,strSearch,strFailureUrl,pvarTargetFrame) (This)->lpVtbl->AutoScan(This,strSearch,strFailureUrl,pvarTargetFrame)
   3856 #define IShellUIHelper2_AutoCompleteAttach(This,Reserved) (This)->lpVtbl->AutoCompleteAttach(This,Reserved)
   3857 #define IShellUIHelper2_ShowBrowserUI(This,bstrName,pvarIn,pvarOut) (This)->lpVtbl->ShowBrowserUI(This,bstrName,pvarIn,pvarOut)
   3858 /*** IShellUIHelper2 methods ***/
   3859 #define IShellUIHelper2_AddSearchProvider(This,URL) (This)->lpVtbl->AddSearchProvider(This,URL)
   3860 #define IShellUIHelper2_RunOnceShown(This) (This)->lpVtbl->RunOnceShown(This)
   3861 #define IShellUIHelper2_SkipRunOnce(This) (This)->lpVtbl->SkipRunOnce(This)
   3862 #define IShellUIHelper2_CustomizeSettings(This,fSQM,fPhishing,bstrLocale) (This)->lpVtbl->CustomizeSettings(This,fSQM,fPhishing,bstrLocale)
   3863 #define IShellUIHelper2_SqmEnabled(This,pfEnabled) (This)->lpVtbl->SqmEnabled(This,pfEnabled)
   3864 #define IShellUIHelper2_PhishingEnabled(This,pfEnabled) (This)->lpVtbl->PhishingEnabled(This,pfEnabled)
   3865 #define IShellUIHelper2_BrandImageUri(This,pbstrUri) (This)->lpVtbl->BrandImageUri(This,pbstrUri)
   3866 #define IShellUIHelper2_SkipTabsWelcome(This) (This)->lpVtbl->SkipTabsWelcome(This)
   3867 #define IShellUIHelper2_DiagnoseConnection(This) (This)->lpVtbl->DiagnoseConnection(This)
   3868 #define IShellUIHelper2_CustomizeClearType(This,fSet) (This)->lpVtbl->CustomizeClearType(This,fSet)
   3869 #define IShellUIHelper2_IsSearchProviderInstalled(This,URL,pdwResult) (This)->lpVtbl->IsSearchProviderInstalled(This,URL,pdwResult)
   3870 #define IShellUIHelper2_IsSearchMigrated(This,pfMigrated) (This)->lpVtbl->IsSearchMigrated(This,pfMigrated)
   3871 #define IShellUIHelper2_DefaultSearchProvider(This,pbstrName) (This)->lpVtbl->DefaultSearchProvider(This,pbstrName)
   3872 #define IShellUIHelper2_RunOnceRequiredSettingsComplete(This,fComplete) (This)->lpVtbl->RunOnceRequiredSettingsComplete(This,fComplete)
   3873 #define IShellUIHelper2_RunOnceHasShown(This,pfShown) (This)->lpVtbl->RunOnceHasShown(This,pfShown)
   3874 #define IShellUIHelper2_SearchGuideUrl(This,pbstrUrl) (This)->lpVtbl->SearchGuideUrl(This,pbstrUrl)
   3875 #else
   3876 /*** IUnknown methods ***/
   3877 static FORCEINLINE HRESULT IShellUIHelper2_QueryInterface(IShellUIHelper2* This,REFIID riid,void **ppvObject) {
   3878     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   3879 }
   3880 static FORCEINLINE ULONG IShellUIHelper2_AddRef(IShellUIHelper2* This) {
   3881     return This->lpVtbl->AddRef(This);
   3882 }
   3883 static FORCEINLINE ULONG IShellUIHelper2_Release(IShellUIHelper2* This) {
   3884     return This->lpVtbl->Release(This);
   3885 }
   3886 /*** IDispatch methods ***/
   3887 static FORCEINLINE HRESULT IShellUIHelper2_GetTypeInfoCount(IShellUIHelper2* This,UINT *pctinfo) {
   3888     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   3889 }
   3890 static FORCEINLINE HRESULT IShellUIHelper2_GetTypeInfo(IShellUIHelper2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   3891     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   3892 }
   3893 static FORCEINLINE HRESULT IShellUIHelper2_GetIDsOfNames(IShellUIHelper2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   3894     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   3895 }
   3896 static FORCEINLINE HRESULT IShellUIHelper2_Invoke(IShellUIHelper2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   3897     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   3898 }
   3899 /*** IShellUIHelper methods ***/
   3900 static FORCEINLINE HRESULT IShellUIHelper2_ResetFirstBootMode(IShellUIHelper2* This) {
   3901     return This->lpVtbl->ResetFirstBootMode(This);
   3902 }
   3903 static FORCEINLINE HRESULT IShellUIHelper2_ResetSafeMode(IShellUIHelper2* This) {
   3904     return This->lpVtbl->ResetSafeMode(This);
   3905 }
   3906 static FORCEINLINE HRESULT IShellUIHelper2_RefreshOfflineDesktop(IShellUIHelper2* This) {
   3907     return This->lpVtbl->RefreshOfflineDesktop(This);
   3908 }
   3909 static FORCEINLINE HRESULT IShellUIHelper2_AddFavorite(IShellUIHelper2* This,BSTR URL,VARIANT *Title) {
   3910     return This->lpVtbl->AddFavorite(This,URL,Title);
   3911 }
   3912 static FORCEINLINE HRESULT IShellUIHelper2_AddChannel(IShellUIHelper2* This,BSTR URL) {
   3913     return This->lpVtbl->AddChannel(This,URL);
   3914 }
   3915 static FORCEINLINE HRESULT IShellUIHelper2_AddDesktopComponent(IShellUIHelper2* This,BSTR URL,BSTR Type,VARIANT *Left,VARIANT *Top,VARIANT *Width,VARIANT *Height) {
   3916     return This->lpVtbl->AddDesktopComponent(This,URL,Type,Left,Top,Width,Height);
   3917 }
   3918 static FORCEINLINE HRESULT IShellUIHelper2_IsSubscribed(IShellUIHelper2* This,BSTR URL,VARIANT_BOOL *pBool) {
   3919     return This->lpVtbl->IsSubscribed(This,URL,pBool);
   3920 }
   3921 static FORCEINLINE HRESULT IShellUIHelper2_NavigateAndFind(IShellUIHelper2* This,BSTR URL,BSTR strQuery,VARIANT *varTargetFrame) {
   3922     return This->lpVtbl->NavigateAndFind(This,URL,strQuery,varTargetFrame);
   3923 }
   3924 static FORCEINLINE HRESULT IShellUIHelper2_ImportExportFavorites(IShellUIHelper2* This,VARIANT_BOOL fImport,BSTR strImpExpPath) {
   3925     return This->lpVtbl->ImportExportFavorites(This,fImport,strImpExpPath);
   3926 }
   3927 static FORCEINLINE HRESULT IShellUIHelper2_AutoCompleteSaveForm(IShellUIHelper2* This,VARIANT *Form) {
   3928     return This->lpVtbl->AutoCompleteSaveForm(This,Form);
   3929 }
   3930 static FORCEINLINE HRESULT IShellUIHelper2_AutoScan(IShellUIHelper2* This,BSTR strSearch,BSTR strFailureUrl,VARIANT *pvarTargetFrame) {
   3931     return This->lpVtbl->AutoScan(This,strSearch,strFailureUrl,pvarTargetFrame);
   3932 }
   3933 static FORCEINLINE HRESULT IShellUIHelper2_AutoCompleteAttach(IShellUIHelper2* This,VARIANT *Reserved) {
   3934     return This->lpVtbl->AutoCompleteAttach(This,Reserved);
   3935 }
   3936 static FORCEINLINE HRESULT IShellUIHelper2_ShowBrowserUI(IShellUIHelper2* This,BSTR bstrName,VARIANT *pvarIn,VARIANT *pvarOut) {
   3937     return This->lpVtbl->ShowBrowserUI(This,bstrName,pvarIn,pvarOut);
   3938 }
   3939 /*** IShellUIHelper2 methods ***/
   3940 static FORCEINLINE HRESULT IShellUIHelper2_AddSearchProvider(IShellUIHelper2* This,BSTR URL) {
   3941     return This->lpVtbl->AddSearchProvider(This,URL);
   3942 }
   3943 static FORCEINLINE HRESULT IShellUIHelper2_RunOnceShown(IShellUIHelper2* This) {
   3944     return This->lpVtbl->RunOnceShown(This);
   3945 }
   3946 static FORCEINLINE HRESULT IShellUIHelper2_SkipRunOnce(IShellUIHelper2* This) {
   3947     return This->lpVtbl->SkipRunOnce(This);
   3948 }
   3949 static FORCEINLINE HRESULT IShellUIHelper2_CustomizeSettings(IShellUIHelper2* This,VARIANT_BOOL fSQM,VARIANT_BOOL fPhishing,BSTR bstrLocale) {
   3950     return This->lpVtbl->CustomizeSettings(This,fSQM,fPhishing,bstrLocale);
   3951 }
   3952 static FORCEINLINE HRESULT IShellUIHelper2_SqmEnabled(IShellUIHelper2* This,VARIANT_BOOL *pfEnabled) {
   3953     return This->lpVtbl->SqmEnabled(This,pfEnabled);
   3954 }
   3955 static FORCEINLINE HRESULT IShellUIHelper2_PhishingEnabled(IShellUIHelper2* This,VARIANT_BOOL *pfEnabled) {
   3956     return This->lpVtbl->PhishingEnabled(This,pfEnabled);
   3957 }
   3958 static FORCEINLINE HRESULT IShellUIHelper2_BrandImageUri(IShellUIHelper2* This,BSTR *pbstrUri) {
   3959     return This->lpVtbl->BrandImageUri(This,pbstrUri);
   3960 }
   3961 static FORCEINLINE HRESULT IShellUIHelper2_SkipTabsWelcome(IShellUIHelper2* This) {
   3962     return This->lpVtbl->SkipTabsWelcome(This);
   3963 }
   3964 static FORCEINLINE HRESULT IShellUIHelper2_DiagnoseConnection(IShellUIHelper2* This) {
   3965     return This->lpVtbl->DiagnoseConnection(This);
   3966 }
   3967 static FORCEINLINE HRESULT IShellUIHelper2_CustomizeClearType(IShellUIHelper2* This,VARIANT_BOOL fSet) {
   3968     return This->lpVtbl->CustomizeClearType(This,fSet);
   3969 }
   3970 static FORCEINLINE HRESULT IShellUIHelper2_IsSearchProviderInstalled(IShellUIHelper2* This,BSTR URL,DWORD *pdwResult) {
   3971     return This->lpVtbl->IsSearchProviderInstalled(This,URL,pdwResult);
   3972 }
   3973 static FORCEINLINE HRESULT IShellUIHelper2_IsSearchMigrated(IShellUIHelper2* This,VARIANT_BOOL *pfMigrated) {
   3974     return This->lpVtbl->IsSearchMigrated(This,pfMigrated);
   3975 }
   3976 static FORCEINLINE HRESULT IShellUIHelper2_DefaultSearchProvider(IShellUIHelper2* This,BSTR *pbstrName) {
   3977     return This->lpVtbl->DefaultSearchProvider(This,pbstrName);
   3978 }
   3979 static FORCEINLINE HRESULT IShellUIHelper2_RunOnceRequiredSettingsComplete(IShellUIHelper2* This,VARIANT_BOOL fComplete) {
   3980     return This->lpVtbl->RunOnceRequiredSettingsComplete(This,fComplete);
   3981 }
   3982 static FORCEINLINE HRESULT IShellUIHelper2_RunOnceHasShown(IShellUIHelper2* This,VARIANT_BOOL *pfShown) {
   3983     return This->lpVtbl->RunOnceHasShown(This,pfShown);
   3984 }
   3985 static FORCEINLINE HRESULT IShellUIHelper2_SearchGuideUrl(IShellUIHelper2* This,BSTR *pbstrUrl) {
   3986     return This->lpVtbl->SearchGuideUrl(This,pbstrUrl);
   3987 }
   3988 #endif
   3989 #endif
   3990 
   3991 #endif
   3992 
   3993 HRESULT STDMETHODCALLTYPE IShellUIHelper2_AddSearchProvider_Proxy(
   3994     IShellUIHelper2* This,
   3995     BSTR URL);
   3996 void __RPC_STUB IShellUIHelper2_AddSearchProvider_Stub(
   3997     IRpcStubBuffer* This,
   3998     IRpcChannelBuffer* pRpcChannelBuffer,
   3999     PRPC_MESSAGE pRpcMessage,
   4000     DWORD* pdwStubPhase);
   4001 HRESULT STDMETHODCALLTYPE IShellUIHelper2_RunOnceShown_Proxy(
   4002     IShellUIHelper2* This);
   4003 void __RPC_STUB IShellUIHelper2_RunOnceShown_Stub(
   4004     IRpcStubBuffer* This,
   4005     IRpcChannelBuffer* pRpcChannelBuffer,
   4006     PRPC_MESSAGE pRpcMessage,
   4007     DWORD* pdwStubPhase);
   4008 HRESULT STDMETHODCALLTYPE IShellUIHelper2_SkipRunOnce_Proxy(
   4009     IShellUIHelper2* This);
   4010 void __RPC_STUB IShellUIHelper2_SkipRunOnce_Stub(
   4011     IRpcStubBuffer* This,
   4012     IRpcChannelBuffer* pRpcChannelBuffer,
   4013     PRPC_MESSAGE pRpcMessage,
   4014     DWORD* pdwStubPhase);
   4015 HRESULT STDMETHODCALLTYPE IShellUIHelper2_CustomizeSettings_Proxy(
   4016     IShellUIHelper2* This,
   4017     VARIANT_BOOL fSQM,
   4018     VARIANT_BOOL fPhishing,
   4019     BSTR bstrLocale);
   4020 void __RPC_STUB IShellUIHelper2_CustomizeSettings_Stub(
   4021     IRpcStubBuffer* This,
   4022     IRpcChannelBuffer* pRpcChannelBuffer,
   4023     PRPC_MESSAGE pRpcMessage,
   4024     DWORD* pdwStubPhase);
   4025 HRESULT STDMETHODCALLTYPE IShellUIHelper2_SqmEnabled_Proxy(
   4026     IShellUIHelper2* This,
   4027     VARIANT_BOOL *pfEnabled);
   4028 void __RPC_STUB IShellUIHelper2_SqmEnabled_Stub(
   4029     IRpcStubBuffer* This,
   4030     IRpcChannelBuffer* pRpcChannelBuffer,
   4031     PRPC_MESSAGE pRpcMessage,
   4032     DWORD* pdwStubPhase);
   4033 HRESULT STDMETHODCALLTYPE IShellUIHelper2_PhishingEnabled_Proxy(
   4034     IShellUIHelper2* This,
   4035     VARIANT_BOOL *pfEnabled);
   4036 void __RPC_STUB IShellUIHelper2_PhishingEnabled_Stub(
   4037     IRpcStubBuffer* This,
   4038     IRpcChannelBuffer* pRpcChannelBuffer,
   4039     PRPC_MESSAGE pRpcMessage,
   4040     DWORD* pdwStubPhase);
   4041 HRESULT STDMETHODCALLTYPE IShellUIHelper2_BrandImageUri_Proxy(
   4042     IShellUIHelper2* This,
   4043     BSTR *pbstrUri);
   4044 void __RPC_STUB IShellUIHelper2_BrandImageUri_Stub(
   4045     IRpcStubBuffer* This,
   4046     IRpcChannelBuffer* pRpcChannelBuffer,
   4047     PRPC_MESSAGE pRpcMessage,
   4048     DWORD* pdwStubPhase);
   4049 HRESULT STDMETHODCALLTYPE IShellUIHelper2_SkipTabsWelcome_Proxy(
   4050     IShellUIHelper2* This);
   4051 void __RPC_STUB IShellUIHelper2_SkipTabsWelcome_Stub(
   4052     IRpcStubBuffer* This,
   4053     IRpcChannelBuffer* pRpcChannelBuffer,
   4054     PRPC_MESSAGE pRpcMessage,
   4055     DWORD* pdwStubPhase);
   4056 HRESULT STDMETHODCALLTYPE IShellUIHelper2_DiagnoseConnection_Proxy(
   4057     IShellUIHelper2* This);
   4058 void __RPC_STUB IShellUIHelper2_DiagnoseConnection_Stub(
   4059     IRpcStubBuffer* This,
   4060     IRpcChannelBuffer* pRpcChannelBuffer,
   4061     PRPC_MESSAGE pRpcMessage,
   4062     DWORD* pdwStubPhase);
   4063 HRESULT STDMETHODCALLTYPE IShellUIHelper2_CustomizeClearType_Proxy(
   4064     IShellUIHelper2* This,
   4065     VARIANT_BOOL fSet);
   4066 void __RPC_STUB IShellUIHelper2_CustomizeClearType_Stub(
   4067     IRpcStubBuffer* This,
   4068     IRpcChannelBuffer* pRpcChannelBuffer,
   4069     PRPC_MESSAGE pRpcMessage,
   4070     DWORD* pdwStubPhase);
   4071 HRESULT STDMETHODCALLTYPE IShellUIHelper2_IsSearchProviderInstalled_Proxy(
   4072     IShellUIHelper2* This,
   4073     BSTR URL,
   4074     DWORD *pdwResult);
   4075 void __RPC_STUB IShellUIHelper2_IsSearchProviderInstalled_Stub(
   4076     IRpcStubBuffer* This,
   4077     IRpcChannelBuffer* pRpcChannelBuffer,
   4078     PRPC_MESSAGE pRpcMessage,
   4079     DWORD* pdwStubPhase);
   4080 HRESULT STDMETHODCALLTYPE IShellUIHelper2_IsSearchMigrated_Proxy(
   4081     IShellUIHelper2* This,
   4082     VARIANT_BOOL *pfMigrated);
   4083 void __RPC_STUB IShellUIHelper2_IsSearchMigrated_Stub(
   4084     IRpcStubBuffer* This,
   4085     IRpcChannelBuffer* pRpcChannelBuffer,
   4086     PRPC_MESSAGE pRpcMessage,
   4087     DWORD* pdwStubPhase);
   4088 HRESULT STDMETHODCALLTYPE IShellUIHelper2_DefaultSearchProvider_Proxy(
   4089     IShellUIHelper2* This,
   4090     BSTR *pbstrName);
   4091 void __RPC_STUB IShellUIHelper2_DefaultSearchProvider_Stub(
   4092     IRpcStubBuffer* This,
   4093     IRpcChannelBuffer* pRpcChannelBuffer,
   4094     PRPC_MESSAGE pRpcMessage,
   4095     DWORD* pdwStubPhase);
   4096 HRESULT STDMETHODCALLTYPE IShellUIHelper2_RunOnceRequiredSettingsComplete_Proxy(
   4097     IShellUIHelper2* This,
   4098     VARIANT_BOOL fComplete);
   4099 void __RPC_STUB IShellUIHelper2_RunOnceRequiredSettingsComplete_Stub(
   4100     IRpcStubBuffer* This,
   4101     IRpcChannelBuffer* pRpcChannelBuffer,
   4102     PRPC_MESSAGE pRpcMessage,
   4103     DWORD* pdwStubPhase);
   4104 HRESULT STDMETHODCALLTYPE IShellUIHelper2_RunOnceHasShown_Proxy(
   4105     IShellUIHelper2* This,
   4106     VARIANT_BOOL *pfShown);
   4107 void __RPC_STUB IShellUIHelper2_RunOnceHasShown_Stub(
   4108     IRpcStubBuffer* This,
   4109     IRpcChannelBuffer* pRpcChannelBuffer,
   4110     PRPC_MESSAGE pRpcMessage,
   4111     DWORD* pdwStubPhase);
   4112 HRESULT STDMETHODCALLTYPE IShellUIHelper2_SearchGuideUrl_Proxy(
   4113     IShellUIHelper2* This,
   4114     BSTR *pbstrUrl);
   4115 void __RPC_STUB IShellUIHelper2_SearchGuideUrl_Stub(
   4116     IRpcStubBuffer* This,
   4117     IRpcChannelBuffer* pRpcChannelBuffer,
   4118     PRPC_MESSAGE pRpcMessage,
   4119     DWORD* pdwStubPhase);
   4120 
   4121 #endif  /* __IShellUIHelper2_INTERFACE_DEFINED__ */
   4122 
   4123 /*****************************************************************************
   4124  * ShellUIHelper coclass
   4125  */
   4126 
   4127 DEFINE_GUID(CLSID_ShellUIHelper, 0x64ab4bb7, 0x111e, 0x11d1, 0x8f,0x79, 0x00,0xc0,0x4f,0xc2,0xfb,0xe1);
   4128 
   4129 #ifdef __cplusplus
   4130 class DECLSPEC_UUID("64ab4bb7-111e-11d1-8f79-00c04fc2fbe1") ShellUIHelper;
   4131 #ifdef __CRT_UUID_DECL
   4132 __CRT_UUID_DECL(ShellUIHelper, 0x64ab4bb7, 0x111e, 0x11d1, 0x8f,0x79, 0x00,0xc0,0x4f,0xc2,0xfb,0xe1)
   4133 #endif
   4134 #endif
   4135 
   4136 /*****************************************************************************
   4137  * DShellNameSpaceEvents dispinterface
   4138  */
   4139 #ifndef __DShellNameSpaceEvents_DISPINTERFACE_DEFINED__
   4140 #define __DShellNameSpaceEvents_DISPINTERFACE_DEFINED__
   4141 
   4142 DEFINE_GUID(DIID_DShellNameSpaceEvents, 0x55136806, 0xb2de, 0x11d1, 0xb9,0xf2, 0x00,0xa0,0xc9,0x8b,0xc5,0x47);
   4143 #if defined(__cplusplus) && !defined(CINTERFACE)
   4144 MIDL_INTERFACE("55136806-b2de-11d1-b9f2-00a0c98bc547")
   4145 DShellNameSpaceEvents : public IDispatch
   4146 {
   4147 };
   4148 #ifdef __CRT_UUID_DECL
   4149 __CRT_UUID_DECL(DShellNameSpaceEvents, 0x55136806, 0xb2de, 0x11d1, 0xb9,0xf2, 0x00,0xa0,0xc9,0x8b,0xc5,0x47)
   4150 #endif
   4151 #else
   4152 typedef struct DShellNameSpaceEventsVtbl {
   4153     BEGIN_INTERFACE
   4154 
   4155     /*** IUnknown methods ***/
   4156     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4157         DShellNameSpaceEvents* This,
   4158         REFIID riid,
   4159         void **ppvObject);
   4160 
   4161     ULONG (STDMETHODCALLTYPE *AddRef)(
   4162         DShellNameSpaceEvents* This);
   4163 
   4164     ULONG (STDMETHODCALLTYPE *Release)(
   4165         DShellNameSpaceEvents* This);
   4166 
   4167     /*** IDispatch methods ***/
   4168     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   4169         DShellNameSpaceEvents* This,
   4170         UINT *pctinfo);
   4171 
   4172     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   4173         DShellNameSpaceEvents* This,
   4174         UINT iTInfo,
   4175         LCID lcid,
   4176         ITypeInfo **ppTInfo);
   4177 
   4178     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   4179         DShellNameSpaceEvents* This,
   4180         REFIID riid,
   4181         LPOLESTR *rgszNames,
   4182         UINT cNames,
   4183         LCID lcid,
   4184         DISPID *rgDispId);
   4185 
   4186     HRESULT (STDMETHODCALLTYPE *Invoke)(
   4187         DShellNameSpaceEvents* This,
   4188         DISPID dispIdMember,
   4189         REFIID riid,
   4190         LCID lcid,
   4191         WORD wFlags,
   4192         DISPPARAMS *pDispParams,
   4193         VARIANT *pVarResult,
   4194         EXCEPINFO *pExcepInfo,
   4195         UINT *puArgErr);
   4196 
   4197     END_INTERFACE
   4198 } DShellNameSpaceEventsVtbl;
   4199 interface DShellNameSpaceEvents {
   4200     CONST_VTBL DShellNameSpaceEventsVtbl* lpVtbl;
   4201 };
   4202 
   4203 #ifdef COBJMACROS
   4204 #ifndef WIDL_C_INLINE_WRAPPERS
   4205 /*** IUnknown methods ***/
   4206 #define DShellNameSpaceEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4207 #define DShellNameSpaceEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
   4208 #define DShellNameSpaceEvents_Release(This) (This)->lpVtbl->Release(This)
   4209 /*** IDispatch methods ***/
   4210 #define DShellNameSpaceEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4211 #define DShellNameSpaceEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4212 #define DShellNameSpaceEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4213 #define DShellNameSpaceEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4214 #else
   4215 /*** IUnknown methods ***/
   4216 static FORCEINLINE HRESULT DShellNameSpaceEvents_QueryInterface(DShellNameSpaceEvents* This,REFIID riid,void **ppvObject) {
   4217     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4218 }
   4219 static FORCEINLINE ULONG DShellNameSpaceEvents_AddRef(DShellNameSpaceEvents* This) {
   4220     return This->lpVtbl->AddRef(This);
   4221 }
   4222 static FORCEINLINE ULONG DShellNameSpaceEvents_Release(DShellNameSpaceEvents* This) {
   4223     return This->lpVtbl->Release(This);
   4224 }
   4225 /*** IDispatch methods ***/
   4226 static FORCEINLINE HRESULT DShellNameSpaceEvents_GetTypeInfoCount(DShellNameSpaceEvents* This,UINT *pctinfo) {
   4227     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4228 }
   4229 static FORCEINLINE HRESULT DShellNameSpaceEvents_GetTypeInfo(DShellNameSpaceEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4230     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4231 }
   4232 static FORCEINLINE HRESULT DShellNameSpaceEvents_GetIDsOfNames(DShellNameSpaceEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   4233     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   4234 }
   4235 static FORCEINLINE HRESULT DShellNameSpaceEvents_Invoke(DShellNameSpaceEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   4236     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   4237 }
   4238 #endif
   4239 #endif
   4240 
   4241 #endif
   4242 
   4243 #endif  /* __DShellNameSpaceEvents_DISPINTERFACE_DEFINED__ */
   4244 
   4245 /*****************************************************************************
   4246  * IShellFavoritesNameSpace interface
   4247  */
   4248 #ifndef __IShellFavoritesNameSpace_INTERFACE_DEFINED__
   4249 #define __IShellFavoritesNameSpace_INTERFACE_DEFINED__
   4250 
   4251 DEFINE_GUID(IID_IShellFavoritesNameSpace, 0x55136804, 0xb2de, 0x11d1, 0xb9,0xf2, 0x00,0xa0,0xc9,0x8b,0xc5,0x47);
   4252 #if defined(__cplusplus) && !defined(CINTERFACE)
   4253 MIDL_INTERFACE("55136804-b2de-11d1-b9f2-00a0c98bc547")
   4254 IShellFavoritesNameSpace : public IDispatch
   4255 {
   4256     virtual HRESULT STDMETHODCALLTYPE MoveSelectionUp(
   4257         ) = 0;
   4258 
   4259     virtual HRESULT STDMETHODCALLTYPE MoveSelectionDown(
   4260         ) = 0;
   4261 
   4262     virtual HRESULT STDMETHODCALLTYPE ResetSort(
   4263         ) = 0;
   4264 
   4265     virtual HRESULT STDMETHODCALLTYPE NewFolder(
   4266         ) = 0;
   4267 
   4268     virtual HRESULT STDMETHODCALLTYPE Synchronize(
   4269         ) = 0;
   4270 
   4271     virtual HRESULT STDMETHODCALLTYPE Import(
   4272         ) = 0;
   4273 
   4274     virtual HRESULT STDMETHODCALLTYPE Export(
   4275         ) = 0;
   4276 
   4277     virtual HRESULT STDMETHODCALLTYPE InvokeContextMenuCommand(
   4278         BSTR strCommand) = 0;
   4279 
   4280     virtual HRESULT STDMETHODCALLTYPE MoveSelectionTo(
   4281         ) = 0;
   4282 
   4283     virtual HRESULT STDMETHODCALLTYPE get_SubscriptionsEnabled(
   4284         VARIANT_BOOL *pBool) = 0;
   4285 
   4286     virtual HRESULT STDMETHODCALLTYPE CreateSubscriptionForSelection(
   4287         VARIANT_BOOL *pBool) = 0;
   4288 
   4289     virtual HRESULT STDMETHODCALLTYPE DeleteSubscriptionForSelection(
   4290         VARIANT_BOOL *pBool) = 0;
   4291 
   4292     virtual HRESULT STDMETHODCALLTYPE SetRoot(
   4293         BSTR bstrFullPath) = 0;
   4294 
   4295 };
   4296 #ifdef __CRT_UUID_DECL
   4297 __CRT_UUID_DECL(IShellFavoritesNameSpace, 0x55136804, 0xb2de, 0x11d1, 0xb9,0xf2, 0x00,0xa0,0xc9,0x8b,0xc5,0x47)
   4298 #endif
   4299 #else
   4300 typedef struct IShellFavoritesNameSpaceVtbl {
   4301     BEGIN_INTERFACE
   4302 
   4303     /*** IUnknown methods ***/
   4304     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4305         IShellFavoritesNameSpace* This,
   4306         REFIID riid,
   4307         void **ppvObject);
   4308 
   4309     ULONG (STDMETHODCALLTYPE *AddRef)(
   4310         IShellFavoritesNameSpace* This);
   4311 
   4312     ULONG (STDMETHODCALLTYPE *Release)(
   4313         IShellFavoritesNameSpace* This);
   4314 
   4315     /*** IDispatch methods ***/
   4316     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   4317         IShellFavoritesNameSpace* This,
   4318         UINT *pctinfo);
   4319 
   4320     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   4321         IShellFavoritesNameSpace* This,
   4322         UINT iTInfo,
   4323         LCID lcid,
   4324         ITypeInfo **ppTInfo);
   4325 
   4326     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   4327         IShellFavoritesNameSpace* This,
   4328         REFIID riid,
   4329         LPOLESTR *rgszNames,
   4330         UINT cNames,
   4331         LCID lcid,
   4332         DISPID *rgDispId);
   4333 
   4334     HRESULT (STDMETHODCALLTYPE *Invoke)(
   4335         IShellFavoritesNameSpace* This,
   4336         DISPID dispIdMember,
   4337         REFIID riid,
   4338         LCID lcid,
   4339         WORD wFlags,
   4340         DISPPARAMS *pDispParams,
   4341         VARIANT *pVarResult,
   4342         EXCEPINFO *pExcepInfo,
   4343         UINT *puArgErr);
   4344 
   4345     /*** IShellFavoritesNameSpace methods ***/
   4346     HRESULT (STDMETHODCALLTYPE *MoveSelectionUp)(
   4347         IShellFavoritesNameSpace* This);
   4348 
   4349     HRESULT (STDMETHODCALLTYPE *MoveSelectionDown)(
   4350         IShellFavoritesNameSpace* This);
   4351 
   4352     HRESULT (STDMETHODCALLTYPE *ResetSort)(
   4353         IShellFavoritesNameSpace* This);
   4354 
   4355     HRESULT (STDMETHODCALLTYPE *NewFolder)(
   4356         IShellFavoritesNameSpace* This);
   4357 
   4358     HRESULT (STDMETHODCALLTYPE *Synchronize)(
   4359         IShellFavoritesNameSpace* This);
   4360 
   4361     HRESULT (STDMETHODCALLTYPE *Import)(
   4362         IShellFavoritesNameSpace* This);
   4363 
   4364     HRESULT (STDMETHODCALLTYPE *Export)(
   4365         IShellFavoritesNameSpace* This);
   4366 
   4367     HRESULT (STDMETHODCALLTYPE *InvokeContextMenuCommand)(
   4368         IShellFavoritesNameSpace* This,
   4369         BSTR strCommand);
   4370 
   4371     HRESULT (STDMETHODCALLTYPE *MoveSelectionTo)(
   4372         IShellFavoritesNameSpace* This);
   4373 
   4374     HRESULT (STDMETHODCALLTYPE *get_SubscriptionsEnabled)(
   4375         IShellFavoritesNameSpace* This,
   4376         VARIANT_BOOL *pBool);
   4377 
   4378     HRESULT (STDMETHODCALLTYPE *CreateSubscriptionForSelection)(
   4379         IShellFavoritesNameSpace* This,
   4380         VARIANT_BOOL *pBool);
   4381 
   4382     HRESULT (STDMETHODCALLTYPE *DeleteSubscriptionForSelection)(
   4383         IShellFavoritesNameSpace* This,
   4384         VARIANT_BOOL *pBool);
   4385 
   4386     HRESULT (STDMETHODCALLTYPE *SetRoot)(
   4387         IShellFavoritesNameSpace* This,
   4388         BSTR bstrFullPath);
   4389 
   4390     END_INTERFACE
   4391 } IShellFavoritesNameSpaceVtbl;
   4392 interface IShellFavoritesNameSpace {
   4393     CONST_VTBL IShellFavoritesNameSpaceVtbl* lpVtbl;
   4394 };
   4395 
   4396 #ifdef COBJMACROS
   4397 #ifndef WIDL_C_INLINE_WRAPPERS
   4398 /*** IUnknown methods ***/
   4399 #define IShellFavoritesNameSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4400 #define IShellFavoritesNameSpace_AddRef(This) (This)->lpVtbl->AddRef(This)
   4401 #define IShellFavoritesNameSpace_Release(This) (This)->lpVtbl->Release(This)
   4402 /*** IDispatch methods ***/
   4403 #define IShellFavoritesNameSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4404 #define IShellFavoritesNameSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4405 #define IShellFavoritesNameSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4406 #define IShellFavoritesNameSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4407 /*** IShellFavoritesNameSpace methods ***/
   4408 #define IShellFavoritesNameSpace_MoveSelectionUp(This) (This)->lpVtbl->MoveSelectionUp(This)
   4409 #define IShellFavoritesNameSpace_MoveSelectionDown(This) (This)->lpVtbl->MoveSelectionDown(This)
   4410 #define IShellFavoritesNameSpace_ResetSort(This) (This)->lpVtbl->ResetSort(This)
   4411 #define IShellFavoritesNameSpace_NewFolder(This) (This)->lpVtbl->NewFolder(This)
   4412 #define IShellFavoritesNameSpace_Synchronize(This) (This)->lpVtbl->Synchronize(This)
   4413 #define IShellFavoritesNameSpace_Import(This) (This)->lpVtbl->Import(This)
   4414 #define IShellFavoritesNameSpace_Export(This) (This)->lpVtbl->Export(This)
   4415 #define IShellFavoritesNameSpace_InvokeContextMenuCommand(This,strCommand) (This)->lpVtbl->InvokeContextMenuCommand(This,strCommand)
   4416 #define IShellFavoritesNameSpace_MoveSelectionTo(This) (This)->lpVtbl->MoveSelectionTo(This)
   4417 #define IShellFavoritesNameSpace_get_SubscriptionsEnabled(This,pBool) (This)->lpVtbl->get_SubscriptionsEnabled(This,pBool)
   4418 #define IShellFavoritesNameSpace_CreateSubscriptionForSelection(This,pBool) (This)->lpVtbl->CreateSubscriptionForSelection(This,pBool)
   4419 #define IShellFavoritesNameSpace_DeleteSubscriptionForSelection(This,pBool) (This)->lpVtbl->DeleteSubscriptionForSelection(This,pBool)
   4420 #define IShellFavoritesNameSpace_SetRoot(This,bstrFullPath) (This)->lpVtbl->SetRoot(This,bstrFullPath)
   4421 #else
   4422 /*** IUnknown methods ***/
   4423 static FORCEINLINE HRESULT IShellFavoritesNameSpace_QueryInterface(IShellFavoritesNameSpace* This,REFIID riid,void **ppvObject) {
   4424     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4425 }
   4426 static FORCEINLINE ULONG IShellFavoritesNameSpace_AddRef(IShellFavoritesNameSpace* This) {
   4427     return This->lpVtbl->AddRef(This);
   4428 }
   4429 static FORCEINLINE ULONG IShellFavoritesNameSpace_Release(IShellFavoritesNameSpace* This) {
   4430     return This->lpVtbl->Release(This);
   4431 }
   4432 /*** IDispatch methods ***/
   4433 static FORCEINLINE HRESULT IShellFavoritesNameSpace_GetTypeInfoCount(IShellFavoritesNameSpace* This,UINT *pctinfo) {
   4434     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4435 }
   4436 static FORCEINLINE HRESULT IShellFavoritesNameSpace_GetTypeInfo(IShellFavoritesNameSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4437     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4438 }
   4439 static FORCEINLINE HRESULT IShellFavoritesNameSpace_GetIDsOfNames(IShellFavoritesNameSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   4440     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   4441 }
   4442 static FORCEINLINE HRESULT IShellFavoritesNameSpace_Invoke(IShellFavoritesNameSpace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   4443     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   4444 }
   4445 /*** IShellFavoritesNameSpace methods ***/
   4446 static FORCEINLINE HRESULT IShellFavoritesNameSpace_MoveSelectionUp(IShellFavoritesNameSpace* This) {
   4447     return This->lpVtbl->MoveSelectionUp(This);
   4448 }
   4449 static FORCEINLINE HRESULT IShellFavoritesNameSpace_MoveSelectionDown(IShellFavoritesNameSpace* This) {
   4450     return This->lpVtbl->MoveSelectionDown(This);
   4451 }
   4452 static FORCEINLINE HRESULT IShellFavoritesNameSpace_ResetSort(IShellFavoritesNameSpace* This) {
   4453     return This->lpVtbl->ResetSort(This);
   4454 }
   4455 static FORCEINLINE HRESULT IShellFavoritesNameSpace_NewFolder(IShellFavoritesNameSpace* This) {
   4456     return This->lpVtbl->NewFolder(This);
   4457 }
   4458 static FORCEINLINE HRESULT IShellFavoritesNameSpace_Synchronize(IShellFavoritesNameSpace* This) {
   4459     return This->lpVtbl->Synchronize(This);
   4460 }
   4461 static FORCEINLINE HRESULT IShellFavoritesNameSpace_Import(IShellFavoritesNameSpace* This) {
   4462     return This->lpVtbl->Import(This);
   4463 }
   4464 static FORCEINLINE HRESULT IShellFavoritesNameSpace_Export(IShellFavoritesNameSpace* This) {
   4465     return This->lpVtbl->Export(This);
   4466 }
   4467 static FORCEINLINE HRESULT IShellFavoritesNameSpace_InvokeContextMenuCommand(IShellFavoritesNameSpace* This,BSTR strCommand) {
   4468     return This->lpVtbl->InvokeContextMenuCommand(This,strCommand);
   4469 }
   4470 static FORCEINLINE HRESULT IShellFavoritesNameSpace_MoveSelectionTo(IShellFavoritesNameSpace* This) {
   4471     return This->lpVtbl->MoveSelectionTo(This);
   4472 }
   4473 static FORCEINLINE HRESULT IShellFavoritesNameSpace_get_SubscriptionsEnabled(IShellFavoritesNameSpace* This,VARIANT_BOOL *pBool) {
   4474     return This->lpVtbl->get_SubscriptionsEnabled(This,pBool);
   4475 }
   4476 static FORCEINLINE HRESULT IShellFavoritesNameSpace_CreateSubscriptionForSelection(IShellFavoritesNameSpace* This,VARIANT_BOOL *pBool) {
   4477     return This->lpVtbl->CreateSubscriptionForSelection(This,pBool);
   4478 }
   4479 static FORCEINLINE HRESULT IShellFavoritesNameSpace_DeleteSubscriptionForSelection(IShellFavoritesNameSpace* This,VARIANT_BOOL *pBool) {
   4480     return This->lpVtbl->DeleteSubscriptionForSelection(This,pBool);
   4481 }
   4482 static FORCEINLINE HRESULT IShellFavoritesNameSpace_SetRoot(IShellFavoritesNameSpace* This,BSTR bstrFullPath) {
   4483     return This->lpVtbl->SetRoot(This,bstrFullPath);
   4484 }
   4485 #endif
   4486 #endif
   4487 
   4488 #endif
   4489 
   4490 HRESULT STDMETHODCALLTYPE IShellFavoritesNameSpace_MoveSelectionUp_Proxy(
   4491     IShellFavoritesNameSpace* This);
   4492 void __RPC_STUB IShellFavoritesNameSpace_MoveSelectionUp_Stub(
   4493     IRpcStubBuffer* This,
   4494     IRpcChannelBuffer* pRpcChannelBuffer,
   4495     PRPC_MESSAGE pRpcMessage,
   4496     DWORD* pdwStubPhase);
   4497 HRESULT STDMETHODCALLTYPE IShellFavoritesNameSpace_MoveSelectionDown_Proxy(
   4498     IShellFavoritesNameSpace* This);
   4499 void __RPC_STUB IShellFavoritesNameSpace_MoveSelectionDown_Stub(
   4500     IRpcStubBuffer* This,
   4501     IRpcChannelBuffer* pRpcChannelBuffer,
   4502     PRPC_MESSAGE pRpcMessage,
   4503     DWORD* pdwStubPhase);
   4504 HRESULT STDMETHODCALLTYPE IShellFavoritesNameSpace_ResetSort_Proxy(
   4505     IShellFavoritesNameSpace* This);
   4506 void __RPC_STUB IShellFavoritesNameSpace_ResetSort_Stub(
   4507     IRpcStubBuffer* This,
   4508     IRpcChannelBuffer* pRpcChannelBuffer,
   4509     PRPC_MESSAGE pRpcMessage,
   4510     DWORD* pdwStubPhase);
   4511 HRESULT STDMETHODCALLTYPE IShellFavoritesNameSpace_NewFolder_Proxy(
   4512     IShellFavoritesNameSpace* This);
   4513 void __RPC_STUB IShellFavoritesNameSpace_NewFolder_Stub(
   4514     IRpcStubBuffer* This,
   4515     IRpcChannelBuffer* pRpcChannelBuffer,
   4516     PRPC_MESSAGE pRpcMessage,
   4517     DWORD* pdwStubPhase);
   4518 HRESULT STDMETHODCALLTYPE IShellFavoritesNameSpace_Synchronize_Proxy(
   4519     IShellFavoritesNameSpace* This);
   4520 void __RPC_STUB IShellFavoritesNameSpace_Synchronize_Stub(
   4521     IRpcStubBuffer* This,
   4522     IRpcChannelBuffer* pRpcChannelBuffer,
   4523     PRPC_MESSAGE pRpcMessage,
   4524     DWORD* pdwStubPhase);
   4525 HRESULT STDMETHODCALLTYPE IShellFavoritesNameSpace_Import_Proxy(
   4526     IShellFavoritesNameSpace* This);
   4527 void __RPC_STUB IShellFavoritesNameSpace_Import_Stub(
   4528     IRpcStubBuffer* This,
   4529     IRpcChannelBuffer* pRpcChannelBuffer,
   4530     PRPC_MESSAGE pRpcMessage,
   4531     DWORD* pdwStubPhase);
   4532 HRESULT STDMETHODCALLTYPE IShellFavoritesNameSpace_Export_Proxy(
   4533     IShellFavoritesNameSpace* This);
   4534 void __RPC_STUB IShellFavoritesNameSpace_Export_Stub(
   4535     IRpcStubBuffer* This,
   4536     IRpcChannelBuffer* pRpcChannelBuffer,
   4537     PRPC_MESSAGE pRpcMessage,
   4538     DWORD* pdwStubPhase);
   4539 HRESULT STDMETHODCALLTYPE IShellFavoritesNameSpace_InvokeContextMenuCommand_Proxy(
   4540     IShellFavoritesNameSpace* This,
   4541     BSTR strCommand);
   4542 void __RPC_STUB IShellFavoritesNameSpace_InvokeContextMenuCommand_Stub(
   4543     IRpcStubBuffer* This,
   4544     IRpcChannelBuffer* pRpcChannelBuffer,
   4545     PRPC_MESSAGE pRpcMessage,
   4546     DWORD* pdwStubPhase);
   4547 HRESULT STDMETHODCALLTYPE IShellFavoritesNameSpace_MoveSelectionTo_Proxy(
   4548     IShellFavoritesNameSpace* This);
   4549 void __RPC_STUB IShellFavoritesNameSpace_MoveSelectionTo_Stub(
   4550     IRpcStubBuffer* This,
   4551     IRpcChannelBuffer* pRpcChannelBuffer,
   4552     PRPC_MESSAGE pRpcMessage,
   4553     DWORD* pdwStubPhase);
   4554 HRESULT STDMETHODCALLTYPE IShellFavoritesNameSpace_get_SubscriptionsEnabled_Proxy(
   4555     IShellFavoritesNameSpace* This,
   4556     VARIANT_BOOL *pBool);
   4557 void __RPC_STUB IShellFavoritesNameSpace_get_SubscriptionsEnabled_Stub(
   4558     IRpcStubBuffer* This,
   4559     IRpcChannelBuffer* pRpcChannelBuffer,
   4560     PRPC_MESSAGE pRpcMessage,
   4561     DWORD* pdwStubPhase);
   4562 HRESULT STDMETHODCALLTYPE IShellFavoritesNameSpace_CreateSubscriptionForSelection_Proxy(
   4563     IShellFavoritesNameSpace* This,
   4564     VARIANT_BOOL *pBool);
   4565 void __RPC_STUB IShellFavoritesNameSpace_CreateSubscriptionForSelection_Stub(
   4566     IRpcStubBuffer* This,
   4567     IRpcChannelBuffer* pRpcChannelBuffer,
   4568     PRPC_MESSAGE pRpcMessage,
   4569     DWORD* pdwStubPhase);
   4570 HRESULT STDMETHODCALLTYPE IShellFavoritesNameSpace_DeleteSubscriptionForSelection_Proxy(
   4571     IShellFavoritesNameSpace* This,
   4572     VARIANT_BOOL *pBool);
   4573 void __RPC_STUB IShellFavoritesNameSpace_DeleteSubscriptionForSelection_Stub(
   4574     IRpcStubBuffer* This,
   4575     IRpcChannelBuffer* pRpcChannelBuffer,
   4576     PRPC_MESSAGE pRpcMessage,
   4577     DWORD* pdwStubPhase);
   4578 HRESULT STDMETHODCALLTYPE IShellFavoritesNameSpace_SetRoot_Proxy(
   4579     IShellFavoritesNameSpace* This,
   4580     BSTR bstrFullPath);
   4581 void __RPC_STUB IShellFavoritesNameSpace_SetRoot_Stub(
   4582     IRpcStubBuffer* This,
   4583     IRpcChannelBuffer* pRpcChannelBuffer,
   4584     PRPC_MESSAGE pRpcMessage,
   4585     DWORD* pdwStubPhase);
   4586 
   4587 #endif  /* __IShellFavoritesNameSpace_INTERFACE_DEFINED__ */
   4588 
   4589 /*****************************************************************************
   4590  * IShellNameSpace interface
   4591  */
   4592 #ifndef __IShellNameSpace_INTERFACE_DEFINED__
   4593 #define __IShellNameSpace_INTERFACE_DEFINED__
   4594 
   4595 DEFINE_GUID(IID_IShellNameSpace, 0xe572d3c9, 0x37be, 0x4ae2, 0x82,0x5d, 0xd5,0x21,0x76,0x3e,0x31,0x08);
   4596 #if defined(__cplusplus) && !defined(CINTERFACE)
   4597 MIDL_INTERFACE("e572d3c9-37be-4ae2-825d-d521763e3108")
   4598 IShellNameSpace : public IShellFavoritesNameSpace
   4599 {
   4600     virtual HRESULT STDMETHODCALLTYPE get_EnumOptions(
   4601         LONG *pgrfEnumFlags) = 0;
   4602 
   4603     virtual HRESULT STDMETHODCALLTYPE put_EnumOptions(
   4604         LONG pgrfEnumFlags) = 0;
   4605 
   4606     virtual HRESULT STDMETHODCALLTYPE get_SelectedItem(
   4607         IDispatch **pItem) = 0;
   4608 
   4609     virtual HRESULT STDMETHODCALLTYPE put_SelectedItem(
   4610         IDispatch *pItem) = 0;
   4611 
   4612     virtual HRESULT STDMETHODCALLTYPE get_Root(
   4613         VARIANT *pvar) = 0;
   4614 
   4615     virtual HRESULT STDMETHODCALLTYPE put_Root(
   4616         VARIANT pvar) = 0;
   4617 
   4618     virtual HRESULT STDMETHODCALLTYPE get_Depth(
   4619         int *piDepth) = 0;
   4620 
   4621     virtual HRESULT STDMETHODCALLTYPE put_Depth(
   4622         int piDepth) = 0;
   4623 
   4624     virtual HRESULT STDMETHODCALLTYPE get_Mode(
   4625         unsigned int *puMode) = 0;
   4626 
   4627     virtual HRESULT STDMETHODCALLTYPE put_Mode(
   4628         unsigned int puMode) = 0;
   4629 
   4630     virtual HRESULT STDMETHODCALLTYPE get_Flags(
   4631         ULONG *pdwFlags) = 0;
   4632 
   4633     virtual HRESULT STDMETHODCALLTYPE put_Flags(
   4634         ULONG pdwFlags) = 0;
   4635 
   4636     virtual HRESULT STDMETHODCALLTYPE put_TVFlags(
   4637         ULONG dwFlags) = 0;
   4638 
   4639     virtual HRESULT STDMETHODCALLTYPE get_TVFlags(
   4640         ULONG *dwFlags) = 0;
   4641 
   4642     virtual HRESULT STDMETHODCALLTYPE get_Columns(
   4643         BSTR *bstrColumns) = 0;
   4644 
   4645     virtual HRESULT STDMETHODCALLTYPE put_Columns(
   4646         BSTR bstrColumns) = 0;
   4647 
   4648     virtual HRESULT STDMETHODCALLTYPE get_CountViewTypes(
   4649         int *piTypes) = 0;
   4650 
   4651     virtual HRESULT STDMETHODCALLTYPE SetViewType(
   4652         int iType) = 0;
   4653 
   4654     virtual HRESULT STDMETHODCALLTYPE SelectedItems(
   4655         IDispatch **ppid) = 0;
   4656 
   4657     virtual HRESULT STDMETHODCALLTYPE Expand(
   4658         VARIANT var,
   4659         int iDepth) = 0;
   4660 
   4661     virtual HRESULT STDMETHODCALLTYPE UnselectAll(
   4662         ) = 0;
   4663 
   4664 };
   4665 #ifdef __CRT_UUID_DECL
   4666 __CRT_UUID_DECL(IShellNameSpace, 0xe572d3c9, 0x37be, 0x4ae2, 0x82,0x5d, 0xd5,0x21,0x76,0x3e,0x31,0x08)
   4667 #endif
   4668 #else
   4669 typedef struct IShellNameSpaceVtbl {
   4670     BEGIN_INTERFACE
   4671 
   4672     /*** IUnknown methods ***/
   4673     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   4674         IShellNameSpace* This,
   4675         REFIID riid,
   4676         void **ppvObject);
   4677 
   4678     ULONG (STDMETHODCALLTYPE *AddRef)(
   4679         IShellNameSpace* This);
   4680 
   4681     ULONG (STDMETHODCALLTYPE *Release)(
   4682         IShellNameSpace* This);
   4683 
   4684     /*** IDispatch methods ***/
   4685     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   4686         IShellNameSpace* This,
   4687         UINT *pctinfo);
   4688 
   4689     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   4690         IShellNameSpace* This,
   4691         UINT iTInfo,
   4692         LCID lcid,
   4693         ITypeInfo **ppTInfo);
   4694 
   4695     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   4696         IShellNameSpace* This,
   4697         REFIID riid,
   4698         LPOLESTR *rgszNames,
   4699         UINT cNames,
   4700         LCID lcid,
   4701         DISPID *rgDispId);
   4702 
   4703     HRESULT (STDMETHODCALLTYPE *Invoke)(
   4704         IShellNameSpace* This,
   4705         DISPID dispIdMember,
   4706         REFIID riid,
   4707         LCID lcid,
   4708         WORD wFlags,
   4709         DISPPARAMS *pDispParams,
   4710         VARIANT *pVarResult,
   4711         EXCEPINFO *pExcepInfo,
   4712         UINT *puArgErr);
   4713 
   4714     /*** IShellFavoritesNameSpace methods ***/
   4715     HRESULT (STDMETHODCALLTYPE *MoveSelectionUp)(
   4716         IShellNameSpace* This);
   4717 
   4718     HRESULT (STDMETHODCALLTYPE *MoveSelectionDown)(
   4719         IShellNameSpace* This);
   4720 
   4721     HRESULT (STDMETHODCALLTYPE *ResetSort)(
   4722         IShellNameSpace* This);
   4723 
   4724     HRESULT (STDMETHODCALLTYPE *NewFolder)(
   4725         IShellNameSpace* This);
   4726 
   4727     HRESULT (STDMETHODCALLTYPE *Synchronize)(
   4728         IShellNameSpace* This);
   4729 
   4730     HRESULT (STDMETHODCALLTYPE *Import)(
   4731         IShellNameSpace* This);
   4732 
   4733     HRESULT (STDMETHODCALLTYPE *Export)(
   4734         IShellNameSpace* This);
   4735 
   4736     HRESULT (STDMETHODCALLTYPE *InvokeContextMenuCommand)(
   4737         IShellNameSpace* This,
   4738         BSTR strCommand);
   4739 
   4740     HRESULT (STDMETHODCALLTYPE *MoveSelectionTo)(
   4741         IShellNameSpace* This);
   4742 
   4743     HRESULT (STDMETHODCALLTYPE *get_SubscriptionsEnabled)(
   4744         IShellNameSpace* This,
   4745         VARIANT_BOOL *pBool);
   4746 
   4747     HRESULT (STDMETHODCALLTYPE *CreateSubscriptionForSelection)(
   4748         IShellNameSpace* This,
   4749         VARIANT_BOOL *pBool);
   4750 
   4751     HRESULT (STDMETHODCALLTYPE *DeleteSubscriptionForSelection)(
   4752         IShellNameSpace* This,
   4753         VARIANT_BOOL *pBool);
   4754 
   4755     HRESULT (STDMETHODCALLTYPE *SetRoot)(
   4756         IShellNameSpace* This,
   4757         BSTR bstrFullPath);
   4758 
   4759     /*** IShellNameSpace methods ***/
   4760     HRESULT (STDMETHODCALLTYPE *get_EnumOptions)(
   4761         IShellNameSpace* This,
   4762         LONG *pgrfEnumFlags);
   4763 
   4764     HRESULT (STDMETHODCALLTYPE *put_EnumOptions)(
   4765         IShellNameSpace* This,
   4766         LONG pgrfEnumFlags);
   4767 
   4768     HRESULT (STDMETHODCALLTYPE *get_SelectedItem)(
   4769         IShellNameSpace* This,
   4770         IDispatch **pItem);
   4771 
   4772     HRESULT (STDMETHODCALLTYPE *put_SelectedItem)(
   4773         IShellNameSpace* This,
   4774         IDispatch *pItem);
   4775 
   4776     HRESULT (STDMETHODCALLTYPE *get_Root)(
   4777         IShellNameSpace* This,
   4778         VARIANT *pvar);
   4779 
   4780     HRESULT (STDMETHODCALLTYPE *put_Root)(
   4781         IShellNameSpace* This,
   4782         VARIANT pvar);
   4783 
   4784     HRESULT (STDMETHODCALLTYPE *get_Depth)(
   4785         IShellNameSpace* This,
   4786         int *piDepth);
   4787 
   4788     HRESULT (STDMETHODCALLTYPE *put_Depth)(
   4789         IShellNameSpace* This,
   4790         int piDepth);
   4791 
   4792     HRESULT (STDMETHODCALLTYPE *get_Mode)(
   4793         IShellNameSpace* This,
   4794         unsigned int *puMode);
   4795 
   4796     HRESULT (STDMETHODCALLTYPE *put_Mode)(
   4797         IShellNameSpace* This,
   4798         unsigned int puMode);
   4799 
   4800     HRESULT (STDMETHODCALLTYPE *get_Flags)(
   4801         IShellNameSpace* This,
   4802         ULONG *pdwFlags);
   4803 
   4804     HRESULT (STDMETHODCALLTYPE *put_Flags)(
   4805         IShellNameSpace* This,
   4806         ULONG pdwFlags);
   4807 
   4808     HRESULT (STDMETHODCALLTYPE *put_TVFlags)(
   4809         IShellNameSpace* This,
   4810         ULONG dwFlags);
   4811 
   4812     HRESULT (STDMETHODCALLTYPE *get_TVFlags)(
   4813         IShellNameSpace* This,
   4814         ULONG *dwFlags);
   4815 
   4816     HRESULT (STDMETHODCALLTYPE *get_Columns)(
   4817         IShellNameSpace* This,
   4818         BSTR *bstrColumns);
   4819 
   4820     HRESULT (STDMETHODCALLTYPE *put_Columns)(
   4821         IShellNameSpace* This,
   4822         BSTR bstrColumns);
   4823 
   4824     HRESULT (STDMETHODCALLTYPE *get_CountViewTypes)(
   4825         IShellNameSpace* This,
   4826         int *piTypes);
   4827 
   4828     HRESULT (STDMETHODCALLTYPE *SetViewType)(
   4829         IShellNameSpace* This,
   4830         int iType);
   4831 
   4832     HRESULT (STDMETHODCALLTYPE *SelectedItems)(
   4833         IShellNameSpace* This,
   4834         IDispatch **ppid);
   4835 
   4836     HRESULT (STDMETHODCALLTYPE *Expand)(
   4837         IShellNameSpace* This,
   4838         VARIANT var,
   4839         int iDepth);
   4840 
   4841     HRESULT (STDMETHODCALLTYPE *UnselectAll)(
   4842         IShellNameSpace* This);
   4843 
   4844     END_INTERFACE
   4845 } IShellNameSpaceVtbl;
   4846 interface IShellNameSpace {
   4847     CONST_VTBL IShellNameSpaceVtbl* lpVtbl;
   4848 };
   4849 
   4850 #ifdef COBJMACROS
   4851 #ifndef WIDL_C_INLINE_WRAPPERS
   4852 /*** IUnknown methods ***/
   4853 #define IShellNameSpace_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   4854 #define IShellNameSpace_AddRef(This) (This)->lpVtbl->AddRef(This)
   4855 #define IShellNameSpace_Release(This) (This)->lpVtbl->Release(This)
   4856 /*** IDispatch methods ***/
   4857 #define IShellNameSpace_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   4858 #define IShellNameSpace_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   4859 #define IShellNameSpace_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   4860 #define IShellNameSpace_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   4861 /*** IShellFavoritesNameSpace methods ***/
   4862 #define IShellNameSpace_MoveSelectionUp(This) (This)->lpVtbl->MoveSelectionUp(This)
   4863 #define IShellNameSpace_MoveSelectionDown(This) (This)->lpVtbl->MoveSelectionDown(This)
   4864 #define IShellNameSpace_ResetSort(This) (This)->lpVtbl->ResetSort(This)
   4865 #define IShellNameSpace_NewFolder(This) (This)->lpVtbl->NewFolder(This)
   4866 #define IShellNameSpace_Synchronize(This) (This)->lpVtbl->Synchronize(This)
   4867 #define IShellNameSpace_Import(This) (This)->lpVtbl->Import(This)
   4868 #define IShellNameSpace_Export(This) (This)->lpVtbl->Export(This)
   4869 #define IShellNameSpace_InvokeContextMenuCommand(This,strCommand) (This)->lpVtbl->InvokeContextMenuCommand(This,strCommand)
   4870 #define IShellNameSpace_MoveSelectionTo(This) (This)->lpVtbl->MoveSelectionTo(This)
   4871 #define IShellNameSpace_get_SubscriptionsEnabled(This,pBool) (This)->lpVtbl->get_SubscriptionsEnabled(This,pBool)
   4872 #define IShellNameSpace_CreateSubscriptionForSelection(This,pBool) (This)->lpVtbl->CreateSubscriptionForSelection(This,pBool)
   4873 #define IShellNameSpace_DeleteSubscriptionForSelection(This,pBool) (This)->lpVtbl->DeleteSubscriptionForSelection(This,pBool)
   4874 #define IShellNameSpace_SetRoot(This,bstrFullPath) (This)->lpVtbl->SetRoot(This,bstrFullPath)
   4875 /*** IShellNameSpace methods ***/
   4876 #define IShellNameSpace_get_EnumOptions(This,pgrfEnumFlags) (This)->lpVtbl->get_EnumOptions(This,pgrfEnumFlags)
   4877 #define IShellNameSpace_put_EnumOptions(This,pgrfEnumFlags) (This)->lpVtbl->put_EnumOptions(This,pgrfEnumFlags)
   4878 #define IShellNameSpace_get_SelectedItem(This,pItem) (This)->lpVtbl->get_SelectedItem(This,pItem)
   4879 #define IShellNameSpace_put_SelectedItem(This,pItem) (This)->lpVtbl->put_SelectedItem(This,pItem)
   4880 #define IShellNameSpace_get_Root(This,pvar) (This)->lpVtbl->get_Root(This,pvar)
   4881 #define IShellNameSpace_put_Root(This,pvar) (This)->lpVtbl->put_Root(This,pvar)
   4882 #define IShellNameSpace_get_Depth(This,piDepth) (This)->lpVtbl->get_Depth(This,piDepth)
   4883 #define IShellNameSpace_put_Depth(This,piDepth) (This)->lpVtbl->put_Depth(This,piDepth)
   4884 #define IShellNameSpace_get_Mode(This,puMode) (This)->lpVtbl->get_Mode(This,puMode)
   4885 #define IShellNameSpace_put_Mode(This,puMode) (This)->lpVtbl->put_Mode(This,puMode)
   4886 #define IShellNameSpace_get_Flags(This,pdwFlags) (This)->lpVtbl->get_Flags(This,pdwFlags)
   4887 #define IShellNameSpace_put_Flags(This,pdwFlags) (This)->lpVtbl->put_Flags(This,pdwFlags)
   4888 #define IShellNameSpace_put_TVFlags(This,dwFlags) (This)->lpVtbl->put_TVFlags(This,dwFlags)
   4889 #define IShellNameSpace_get_TVFlags(This,dwFlags) (This)->lpVtbl->get_TVFlags(This,dwFlags)
   4890 #define IShellNameSpace_get_Columns(This,bstrColumns) (This)->lpVtbl->get_Columns(This,bstrColumns)
   4891 #define IShellNameSpace_put_Columns(This,bstrColumns) (This)->lpVtbl->put_Columns(This,bstrColumns)
   4892 #define IShellNameSpace_get_CountViewTypes(This,piTypes) (This)->lpVtbl->get_CountViewTypes(This,piTypes)
   4893 #define IShellNameSpace_SetViewType(This,iType) (This)->lpVtbl->SetViewType(This,iType)
   4894 #define IShellNameSpace_SelectedItems(This,ppid) (This)->lpVtbl->SelectedItems(This,ppid)
   4895 #define IShellNameSpace_Expand(This,var,iDepth) (This)->lpVtbl->Expand(This,var,iDepth)
   4896 #define IShellNameSpace_UnselectAll(This) (This)->lpVtbl->UnselectAll(This)
   4897 #else
   4898 /*** IUnknown methods ***/
   4899 static FORCEINLINE HRESULT IShellNameSpace_QueryInterface(IShellNameSpace* This,REFIID riid,void **ppvObject) {
   4900     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   4901 }
   4902 static FORCEINLINE ULONG IShellNameSpace_AddRef(IShellNameSpace* This) {
   4903     return This->lpVtbl->AddRef(This);
   4904 }
   4905 static FORCEINLINE ULONG IShellNameSpace_Release(IShellNameSpace* This) {
   4906     return This->lpVtbl->Release(This);
   4907 }
   4908 /*** IDispatch methods ***/
   4909 static FORCEINLINE HRESULT IShellNameSpace_GetTypeInfoCount(IShellNameSpace* This,UINT *pctinfo) {
   4910     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   4911 }
   4912 static FORCEINLINE HRESULT IShellNameSpace_GetTypeInfo(IShellNameSpace* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   4913     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   4914 }
   4915 static FORCEINLINE HRESULT IShellNameSpace_GetIDsOfNames(IShellNameSpace* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   4916     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   4917 }
   4918 static FORCEINLINE HRESULT IShellNameSpace_Invoke(IShellNameSpace* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   4919     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   4920 }
   4921 /*** IShellFavoritesNameSpace methods ***/
   4922 static FORCEINLINE HRESULT IShellNameSpace_MoveSelectionUp(IShellNameSpace* This) {
   4923     return This->lpVtbl->MoveSelectionUp(This);
   4924 }
   4925 static FORCEINLINE HRESULT IShellNameSpace_MoveSelectionDown(IShellNameSpace* This) {
   4926     return This->lpVtbl->MoveSelectionDown(This);
   4927 }
   4928 static FORCEINLINE HRESULT IShellNameSpace_ResetSort(IShellNameSpace* This) {
   4929     return This->lpVtbl->ResetSort(This);
   4930 }
   4931 static FORCEINLINE HRESULT IShellNameSpace_NewFolder(IShellNameSpace* This) {
   4932     return This->lpVtbl->NewFolder(This);
   4933 }
   4934 static FORCEINLINE HRESULT IShellNameSpace_Synchronize(IShellNameSpace* This) {
   4935     return This->lpVtbl->Synchronize(This);
   4936 }
   4937 static FORCEINLINE HRESULT IShellNameSpace_Import(IShellNameSpace* This) {
   4938     return This->lpVtbl->Import(This);
   4939 }
   4940 static FORCEINLINE HRESULT IShellNameSpace_Export(IShellNameSpace* This) {
   4941     return This->lpVtbl->Export(This);
   4942 }
   4943 static FORCEINLINE HRESULT IShellNameSpace_InvokeContextMenuCommand(IShellNameSpace* This,BSTR strCommand) {
   4944     return This->lpVtbl->InvokeContextMenuCommand(This,strCommand);
   4945 }
   4946 static FORCEINLINE HRESULT IShellNameSpace_MoveSelectionTo(IShellNameSpace* This) {
   4947     return This->lpVtbl->MoveSelectionTo(This);
   4948 }
   4949 static FORCEINLINE HRESULT IShellNameSpace_get_SubscriptionsEnabled(IShellNameSpace* This,VARIANT_BOOL *pBool) {
   4950     return This->lpVtbl->get_SubscriptionsEnabled(This,pBool);
   4951 }
   4952 static FORCEINLINE HRESULT IShellNameSpace_CreateSubscriptionForSelection(IShellNameSpace* This,VARIANT_BOOL *pBool) {
   4953     return This->lpVtbl->CreateSubscriptionForSelection(This,pBool);
   4954 }
   4955 static FORCEINLINE HRESULT IShellNameSpace_DeleteSubscriptionForSelection(IShellNameSpace* This,VARIANT_BOOL *pBool) {
   4956     return This->lpVtbl->DeleteSubscriptionForSelection(This,pBool);
   4957 }
   4958 static FORCEINLINE HRESULT IShellNameSpace_SetRoot(IShellNameSpace* This,BSTR bstrFullPath) {
   4959     return This->lpVtbl->SetRoot(This,bstrFullPath);
   4960 }
   4961 /*** IShellNameSpace methods ***/
   4962 static FORCEINLINE HRESULT IShellNameSpace_get_EnumOptions(IShellNameSpace* This,LONG *pgrfEnumFlags) {
   4963     return This->lpVtbl->get_EnumOptions(This,pgrfEnumFlags);
   4964 }
   4965 static FORCEINLINE HRESULT IShellNameSpace_put_EnumOptions(IShellNameSpace* This,LONG pgrfEnumFlags) {
   4966     return This->lpVtbl->put_EnumOptions(This,pgrfEnumFlags);
   4967 }
   4968 static FORCEINLINE HRESULT IShellNameSpace_get_SelectedItem(IShellNameSpace* This,IDispatch **pItem) {
   4969     return This->lpVtbl->get_SelectedItem(This,pItem);
   4970 }
   4971 static FORCEINLINE HRESULT IShellNameSpace_put_SelectedItem(IShellNameSpace* This,IDispatch *pItem) {
   4972     return This->lpVtbl->put_SelectedItem(This,pItem);
   4973 }
   4974 static FORCEINLINE HRESULT IShellNameSpace_get_Root(IShellNameSpace* This,VARIANT *pvar) {
   4975     return This->lpVtbl->get_Root(This,pvar);
   4976 }
   4977 static FORCEINLINE HRESULT IShellNameSpace_put_Root(IShellNameSpace* This,VARIANT pvar) {
   4978     return This->lpVtbl->put_Root(This,pvar);
   4979 }
   4980 static FORCEINLINE HRESULT IShellNameSpace_get_Depth(IShellNameSpace* This,int *piDepth) {
   4981     return This->lpVtbl->get_Depth(This,piDepth);
   4982 }
   4983 static FORCEINLINE HRESULT IShellNameSpace_put_Depth(IShellNameSpace* This,int piDepth) {
   4984     return This->lpVtbl->put_Depth(This,piDepth);
   4985 }
   4986 static FORCEINLINE HRESULT IShellNameSpace_get_Mode(IShellNameSpace* This,unsigned int *puMode) {
   4987     return This->lpVtbl->get_Mode(This,puMode);
   4988 }
   4989 static FORCEINLINE HRESULT IShellNameSpace_put_Mode(IShellNameSpace* This,unsigned int puMode) {
   4990     return This->lpVtbl->put_Mode(This,puMode);
   4991 }
   4992 static FORCEINLINE HRESULT IShellNameSpace_get_Flags(IShellNameSpace* This,ULONG *pdwFlags) {
   4993     return This->lpVtbl->get_Flags(This,pdwFlags);
   4994 }
   4995 static FORCEINLINE HRESULT IShellNameSpace_put_Flags(IShellNameSpace* This,ULONG pdwFlags) {
   4996     return This->lpVtbl->put_Flags(This,pdwFlags);
   4997 }
   4998 static FORCEINLINE HRESULT IShellNameSpace_put_TVFlags(IShellNameSpace* This,ULONG dwFlags) {
   4999     return This->lpVtbl->put_TVFlags(This,dwFlags);
   5000 }
   5001 static FORCEINLINE HRESULT IShellNameSpace_get_TVFlags(IShellNameSpace* This,ULONG *dwFlags) {
   5002     return This->lpVtbl->get_TVFlags(This,dwFlags);
   5003 }
   5004 static FORCEINLINE HRESULT IShellNameSpace_get_Columns(IShellNameSpace* This,BSTR *bstrColumns) {
   5005     return This->lpVtbl->get_Columns(This,bstrColumns);
   5006 }
   5007 static FORCEINLINE HRESULT IShellNameSpace_put_Columns(IShellNameSpace* This,BSTR bstrColumns) {
   5008     return This->lpVtbl->put_Columns(This,bstrColumns);
   5009 }
   5010 static FORCEINLINE HRESULT IShellNameSpace_get_CountViewTypes(IShellNameSpace* This,int *piTypes) {
   5011     return This->lpVtbl->get_CountViewTypes(This,piTypes);
   5012 }
   5013 static FORCEINLINE HRESULT IShellNameSpace_SetViewType(IShellNameSpace* This,int iType) {
   5014     return This->lpVtbl->SetViewType(This,iType);
   5015 }
   5016 static FORCEINLINE HRESULT IShellNameSpace_SelectedItems(IShellNameSpace* This,IDispatch **ppid) {
   5017     return This->lpVtbl->SelectedItems(This,ppid);
   5018 }
   5019 static FORCEINLINE HRESULT IShellNameSpace_Expand(IShellNameSpace* This,VARIANT var,int iDepth) {
   5020     return This->lpVtbl->Expand(This,var,iDepth);
   5021 }
   5022 static FORCEINLINE HRESULT IShellNameSpace_UnselectAll(IShellNameSpace* This) {
   5023     return This->lpVtbl->UnselectAll(This);
   5024 }
   5025 #endif
   5026 #endif
   5027 
   5028 #endif
   5029 
   5030 HRESULT STDMETHODCALLTYPE IShellNameSpace_get_EnumOptions_Proxy(
   5031     IShellNameSpace* This,
   5032     LONG *pgrfEnumFlags);
   5033 void __RPC_STUB IShellNameSpace_get_EnumOptions_Stub(
   5034     IRpcStubBuffer* This,
   5035     IRpcChannelBuffer* pRpcChannelBuffer,
   5036     PRPC_MESSAGE pRpcMessage,
   5037     DWORD* pdwStubPhase);
   5038 HRESULT STDMETHODCALLTYPE IShellNameSpace_put_EnumOptions_Proxy(
   5039     IShellNameSpace* This,
   5040     LONG pgrfEnumFlags);
   5041 void __RPC_STUB IShellNameSpace_put_EnumOptions_Stub(
   5042     IRpcStubBuffer* This,
   5043     IRpcChannelBuffer* pRpcChannelBuffer,
   5044     PRPC_MESSAGE pRpcMessage,
   5045     DWORD* pdwStubPhase);
   5046 HRESULT STDMETHODCALLTYPE IShellNameSpace_get_SelectedItem_Proxy(
   5047     IShellNameSpace* This,
   5048     IDispatch **pItem);
   5049 void __RPC_STUB IShellNameSpace_get_SelectedItem_Stub(
   5050     IRpcStubBuffer* This,
   5051     IRpcChannelBuffer* pRpcChannelBuffer,
   5052     PRPC_MESSAGE pRpcMessage,
   5053     DWORD* pdwStubPhase);
   5054 HRESULT STDMETHODCALLTYPE IShellNameSpace_put_SelectedItem_Proxy(
   5055     IShellNameSpace* This,
   5056     IDispatch *pItem);
   5057 void __RPC_STUB IShellNameSpace_put_SelectedItem_Stub(
   5058     IRpcStubBuffer* This,
   5059     IRpcChannelBuffer* pRpcChannelBuffer,
   5060     PRPC_MESSAGE pRpcMessage,
   5061     DWORD* pdwStubPhase);
   5062 HRESULT STDMETHODCALLTYPE IShellNameSpace_get_Root_Proxy(
   5063     IShellNameSpace* This,
   5064     VARIANT *pvar);
   5065 void __RPC_STUB IShellNameSpace_get_Root_Stub(
   5066     IRpcStubBuffer* This,
   5067     IRpcChannelBuffer* pRpcChannelBuffer,
   5068     PRPC_MESSAGE pRpcMessage,
   5069     DWORD* pdwStubPhase);
   5070 HRESULT STDMETHODCALLTYPE IShellNameSpace_put_Root_Proxy(
   5071     IShellNameSpace* This,
   5072     VARIANT pvar);
   5073 void __RPC_STUB IShellNameSpace_put_Root_Stub(
   5074     IRpcStubBuffer* This,
   5075     IRpcChannelBuffer* pRpcChannelBuffer,
   5076     PRPC_MESSAGE pRpcMessage,
   5077     DWORD* pdwStubPhase);
   5078 HRESULT STDMETHODCALLTYPE IShellNameSpace_get_Depth_Proxy(
   5079     IShellNameSpace* This,
   5080     int *piDepth);
   5081 void __RPC_STUB IShellNameSpace_get_Depth_Stub(
   5082     IRpcStubBuffer* This,
   5083     IRpcChannelBuffer* pRpcChannelBuffer,
   5084     PRPC_MESSAGE pRpcMessage,
   5085     DWORD* pdwStubPhase);
   5086 HRESULT STDMETHODCALLTYPE IShellNameSpace_put_Depth_Proxy(
   5087     IShellNameSpace* This,
   5088     int piDepth);
   5089 void __RPC_STUB IShellNameSpace_put_Depth_Stub(
   5090     IRpcStubBuffer* This,
   5091     IRpcChannelBuffer* pRpcChannelBuffer,
   5092     PRPC_MESSAGE pRpcMessage,
   5093     DWORD* pdwStubPhase);
   5094 HRESULT STDMETHODCALLTYPE IShellNameSpace_get_Mode_Proxy(
   5095     IShellNameSpace* This,
   5096     unsigned int *puMode);
   5097 void __RPC_STUB IShellNameSpace_get_Mode_Stub(
   5098     IRpcStubBuffer* This,
   5099     IRpcChannelBuffer* pRpcChannelBuffer,
   5100     PRPC_MESSAGE pRpcMessage,
   5101     DWORD* pdwStubPhase);
   5102 HRESULT STDMETHODCALLTYPE IShellNameSpace_put_Mode_Proxy(
   5103     IShellNameSpace* This,
   5104     unsigned int puMode);
   5105 void __RPC_STUB IShellNameSpace_put_Mode_Stub(
   5106     IRpcStubBuffer* This,
   5107     IRpcChannelBuffer* pRpcChannelBuffer,
   5108     PRPC_MESSAGE pRpcMessage,
   5109     DWORD* pdwStubPhase);
   5110 HRESULT STDMETHODCALLTYPE IShellNameSpace_get_Flags_Proxy(
   5111     IShellNameSpace* This,
   5112     ULONG *pdwFlags);
   5113 void __RPC_STUB IShellNameSpace_get_Flags_Stub(
   5114     IRpcStubBuffer* This,
   5115     IRpcChannelBuffer* pRpcChannelBuffer,
   5116     PRPC_MESSAGE pRpcMessage,
   5117     DWORD* pdwStubPhase);
   5118 HRESULT STDMETHODCALLTYPE IShellNameSpace_put_Flags_Proxy(
   5119     IShellNameSpace* This,
   5120     ULONG pdwFlags);
   5121 void __RPC_STUB IShellNameSpace_put_Flags_Stub(
   5122     IRpcStubBuffer* This,
   5123     IRpcChannelBuffer* pRpcChannelBuffer,
   5124     PRPC_MESSAGE pRpcMessage,
   5125     DWORD* pdwStubPhase);
   5126 HRESULT STDMETHODCALLTYPE IShellNameSpace_put_TVFlags_Proxy(
   5127     IShellNameSpace* This,
   5128     ULONG dwFlags);
   5129 void __RPC_STUB IShellNameSpace_put_TVFlags_Stub(
   5130     IRpcStubBuffer* This,
   5131     IRpcChannelBuffer* pRpcChannelBuffer,
   5132     PRPC_MESSAGE pRpcMessage,
   5133     DWORD* pdwStubPhase);
   5134 HRESULT STDMETHODCALLTYPE IShellNameSpace_get_TVFlags_Proxy(
   5135     IShellNameSpace* This,
   5136     ULONG *dwFlags);
   5137 void __RPC_STUB IShellNameSpace_get_TVFlags_Stub(
   5138     IRpcStubBuffer* This,
   5139     IRpcChannelBuffer* pRpcChannelBuffer,
   5140     PRPC_MESSAGE pRpcMessage,
   5141     DWORD* pdwStubPhase);
   5142 HRESULT STDMETHODCALLTYPE IShellNameSpace_get_Columns_Proxy(
   5143     IShellNameSpace* This,
   5144     BSTR *bstrColumns);
   5145 void __RPC_STUB IShellNameSpace_get_Columns_Stub(
   5146     IRpcStubBuffer* This,
   5147     IRpcChannelBuffer* pRpcChannelBuffer,
   5148     PRPC_MESSAGE pRpcMessage,
   5149     DWORD* pdwStubPhase);
   5150 HRESULT STDMETHODCALLTYPE IShellNameSpace_put_Columns_Proxy(
   5151     IShellNameSpace* This,
   5152     BSTR bstrColumns);
   5153 void __RPC_STUB IShellNameSpace_put_Columns_Stub(
   5154     IRpcStubBuffer* This,
   5155     IRpcChannelBuffer* pRpcChannelBuffer,
   5156     PRPC_MESSAGE pRpcMessage,
   5157     DWORD* pdwStubPhase);
   5158 HRESULT STDMETHODCALLTYPE IShellNameSpace_get_CountViewTypes_Proxy(
   5159     IShellNameSpace* This,
   5160     int *piTypes);
   5161 void __RPC_STUB IShellNameSpace_get_CountViewTypes_Stub(
   5162     IRpcStubBuffer* This,
   5163     IRpcChannelBuffer* pRpcChannelBuffer,
   5164     PRPC_MESSAGE pRpcMessage,
   5165     DWORD* pdwStubPhase);
   5166 HRESULT STDMETHODCALLTYPE IShellNameSpace_SetViewType_Proxy(
   5167     IShellNameSpace* This,
   5168     int iType);
   5169 void __RPC_STUB IShellNameSpace_SetViewType_Stub(
   5170     IRpcStubBuffer* This,
   5171     IRpcChannelBuffer* pRpcChannelBuffer,
   5172     PRPC_MESSAGE pRpcMessage,
   5173     DWORD* pdwStubPhase);
   5174 HRESULT STDMETHODCALLTYPE IShellNameSpace_SelectedItems_Proxy(
   5175     IShellNameSpace* This,
   5176     IDispatch **ppid);
   5177 void __RPC_STUB IShellNameSpace_SelectedItems_Stub(
   5178     IRpcStubBuffer* This,
   5179     IRpcChannelBuffer* pRpcChannelBuffer,
   5180     PRPC_MESSAGE pRpcMessage,
   5181     DWORD* pdwStubPhase);
   5182 HRESULT STDMETHODCALLTYPE IShellNameSpace_Expand_Proxy(
   5183     IShellNameSpace* This,
   5184     VARIANT var,
   5185     int iDepth);
   5186 void __RPC_STUB IShellNameSpace_Expand_Stub(
   5187     IRpcStubBuffer* This,
   5188     IRpcChannelBuffer* pRpcChannelBuffer,
   5189     PRPC_MESSAGE pRpcMessage,
   5190     DWORD* pdwStubPhase);
   5191 HRESULT STDMETHODCALLTYPE IShellNameSpace_UnselectAll_Proxy(
   5192     IShellNameSpace* This);
   5193 void __RPC_STUB IShellNameSpace_UnselectAll_Stub(
   5194     IRpcStubBuffer* This,
   5195     IRpcChannelBuffer* pRpcChannelBuffer,
   5196     PRPC_MESSAGE pRpcMessage,
   5197     DWORD* pdwStubPhase);
   5198 
   5199 #endif  /* __IShellNameSpace_INTERFACE_DEFINED__ */
   5200 
   5201 /*****************************************************************************
   5202  * ShellShellNameSpace coclass
   5203  */
   5204 
   5205 DEFINE_GUID(CLSID_ShellShellNameSpace, 0x2f2f1f96, 0x2bc1, 0x4b1c, 0xbe,0x28, 0xea,0x37,0x74,0xf4,0x67,0x6a);
   5206 
   5207 #ifdef __cplusplus
   5208 class DECLSPEC_UUID("2f2f1f96-2bc1-4b1c-be28-ea3774f4676a") ShellShellNameSpace;
   5209 #ifdef __CRT_UUID_DECL
   5210 __CRT_UUID_DECL(ShellShellNameSpace, 0x2f2f1f96, 0x2bc1, 0x4b1c, 0xbe,0x28, 0xea,0x37,0x74,0xf4,0x67,0x6a)
   5211 #endif
   5212 #endif
   5213 
   5214 /*****************************************************************************
   5215  * ShellNameSpace coclass
   5216  */
   5217 
   5218 DEFINE_GUID(CLSID_ShellNameSpace, 0x55136805, 0xb2de, 0x11d1, 0xb9,0xf2, 0x00,0xa0,0xc9,0x8b,0xc5,0x47);
   5219 
   5220 #ifdef __cplusplus
   5221 class DECLSPEC_UUID("55136805-b2de-11d1-b9f2-00a0c98bc547") ShellNameSpace;
   5222 #ifdef __CRT_UUID_DECL
   5223 __CRT_UUID_DECL(ShellNameSpace, 0x55136805, 0xb2de, 0x11d1, 0xb9,0xf2, 0x00,0xa0,0xc9,0x8b,0xc5,0x47)
   5224 #endif
   5225 #endif
   5226 
   5227 /*****************************************************************************
   5228  * IScriptErrorList interface
   5229  */
   5230 #ifndef __IScriptErrorList_INTERFACE_DEFINED__
   5231 #define __IScriptErrorList_INTERFACE_DEFINED__
   5232 
   5233 DEFINE_GUID(IID_IScriptErrorList, 0xf3470f24, 0x15fd, 0x11d2, 0xbb,0x2e, 0x00,0x80,0x5f,0xf7,0xef,0xca);
   5234 #if defined(__cplusplus) && !defined(CINTERFACE)
   5235 MIDL_INTERFACE("f3470f24-15fd-11d2-bb2e-00805ff7efca")
   5236 IScriptErrorList : public IDispatch
   5237 {
   5238     virtual HRESULT STDMETHODCALLTYPE advanceError(
   5239         ) = 0;
   5240 
   5241     virtual HRESULT STDMETHODCALLTYPE retreatError(
   5242         ) = 0;
   5243 
   5244     virtual HRESULT STDMETHODCALLTYPE canAdvanceError(
   5245         LONG *pfCanAdvance) = 0;
   5246 
   5247     virtual HRESULT STDMETHODCALLTYPE canRetreatError(
   5248         LONG *pfCanRetreat) = 0;
   5249 
   5250     virtual HRESULT STDMETHODCALLTYPE getErrorLine(
   5251         LONG *plLine) = 0;
   5252 
   5253     virtual HRESULT STDMETHODCALLTYPE getErrorChar(
   5254         LONG *plChar) = 0;
   5255 
   5256     virtual HRESULT STDMETHODCALLTYPE getErrorCode(
   5257         LONG *plCode) = 0;
   5258 
   5259     virtual HRESULT STDMETHODCALLTYPE getErrorMsg(
   5260         BSTR *pstr) = 0;
   5261 
   5262     virtual HRESULT STDMETHODCALLTYPE getErrorUrl(
   5263         BSTR *pstr) = 0;
   5264 
   5265     virtual HRESULT STDMETHODCALLTYPE getAlwaysShowLockState(
   5266         LONG *pfAlwaysShowLocked) = 0;
   5267 
   5268     virtual HRESULT STDMETHODCALLTYPE getDetailsPaneOpen(
   5269         LONG *pfDetailsPaneOpen) = 0;
   5270 
   5271     virtual HRESULT STDMETHODCALLTYPE setDetailsPaneOpen(
   5272         LONG fDetailsPaneOpen) = 0;
   5273 
   5274     virtual HRESULT STDMETHODCALLTYPE getPerErrorDisplay(
   5275         LONG *pfPerErrorDisplay) = 0;
   5276 
   5277     virtual HRESULT STDMETHODCALLTYPE setPerErrorDisplay(
   5278         LONG fPerErrorDisplay) = 0;
   5279 
   5280 };
   5281 #ifdef __CRT_UUID_DECL
   5282 __CRT_UUID_DECL(IScriptErrorList, 0xf3470f24, 0x15fd, 0x11d2, 0xbb,0x2e, 0x00,0x80,0x5f,0xf7,0xef,0xca)
   5283 #endif
   5284 #else
   5285 typedef struct IScriptErrorListVtbl {
   5286     BEGIN_INTERFACE
   5287 
   5288     /*** IUnknown methods ***/
   5289     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5290         IScriptErrorList* This,
   5291         REFIID riid,
   5292         void **ppvObject);
   5293 
   5294     ULONG (STDMETHODCALLTYPE *AddRef)(
   5295         IScriptErrorList* This);
   5296 
   5297     ULONG (STDMETHODCALLTYPE *Release)(
   5298         IScriptErrorList* This);
   5299 
   5300     /*** IDispatch methods ***/
   5301     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   5302         IScriptErrorList* This,
   5303         UINT *pctinfo);
   5304 
   5305     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   5306         IScriptErrorList* This,
   5307         UINT iTInfo,
   5308         LCID lcid,
   5309         ITypeInfo **ppTInfo);
   5310 
   5311     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   5312         IScriptErrorList* This,
   5313         REFIID riid,
   5314         LPOLESTR *rgszNames,
   5315         UINT cNames,
   5316         LCID lcid,
   5317         DISPID *rgDispId);
   5318 
   5319     HRESULT (STDMETHODCALLTYPE *Invoke)(
   5320         IScriptErrorList* This,
   5321         DISPID dispIdMember,
   5322         REFIID riid,
   5323         LCID lcid,
   5324         WORD wFlags,
   5325         DISPPARAMS *pDispParams,
   5326         VARIANT *pVarResult,
   5327         EXCEPINFO *pExcepInfo,
   5328         UINT *puArgErr);
   5329 
   5330     /*** IScriptErrorList methods ***/
   5331     HRESULT (STDMETHODCALLTYPE *advanceError)(
   5332         IScriptErrorList* This);
   5333 
   5334     HRESULT (STDMETHODCALLTYPE *retreatError)(
   5335         IScriptErrorList* This);
   5336 
   5337     HRESULT (STDMETHODCALLTYPE *canAdvanceError)(
   5338         IScriptErrorList* This,
   5339         LONG *pfCanAdvance);
   5340 
   5341     HRESULT (STDMETHODCALLTYPE *canRetreatError)(
   5342         IScriptErrorList* This,
   5343         LONG *pfCanRetreat);
   5344 
   5345     HRESULT (STDMETHODCALLTYPE *getErrorLine)(
   5346         IScriptErrorList* This,
   5347         LONG *plLine);
   5348 
   5349     HRESULT (STDMETHODCALLTYPE *getErrorChar)(
   5350         IScriptErrorList* This,
   5351         LONG *plChar);
   5352 
   5353     HRESULT (STDMETHODCALLTYPE *getErrorCode)(
   5354         IScriptErrorList* This,
   5355         LONG *plCode);
   5356 
   5357     HRESULT (STDMETHODCALLTYPE *getErrorMsg)(
   5358         IScriptErrorList* This,
   5359         BSTR *pstr);
   5360 
   5361     HRESULT (STDMETHODCALLTYPE *getErrorUrl)(
   5362         IScriptErrorList* This,
   5363         BSTR *pstr);
   5364 
   5365     HRESULT (STDMETHODCALLTYPE *getAlwaysShowLockState)(
   5366         IScriptErrorList* This,
   5367         LONG *pfAlwaysShowLocked);
   5368 
   5369     HRESULT (STDMETHODCALLTYPE *getDetailsPaneOpen)(
   5370         IScriptErrorList* This,
   5371         LONG *pfDetailsPaneOpen);
   5372 
   5373     HRESULT (STDMETHODCALLTYPE *setDetailsPaneOpen)(
   5374         IScriptErrorList* This,
   5375         LONG fDetailsPaneOpen);
   5376 
   5377     HRESULT (STDMETHODCALLTYPE *getPerErrorDisplay)(
   5378         IScriptErrorList* This,
   5379         LONG *pfPerErrorDisplay);
   5380 
   5381     HRESULT (STDMETHODCALLTYPE *setPerErrorDisplay)(
   5382         IScriptErrorList* This,
   5383         LONG fPerErrorDisplay);
   5384 
   5385     END_INTERFACE
   5386 } IScriptErrorListVtbl;
   5387 interface IScriptErrorList {
   5388     CONST_VTBL IScriptErrorListVtbl* lpVtbl;
   5389 };
   5390 
   5391 #ifdef COBJMACROS
   5392 #ifndef WIDL_C_INLINE_WRAPPERS
   5393 /*** IUnknown methods ***/
   5394 #define IScriptErrorList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5395 #define IScriptErrorList_AddRef(This) (This)->lpVtbl->AddRef(This)
   5396 #define IScriptErrorList_Release(This) (This)->lpVtbl->Release(This)
   5397 /*** IDispatch methods ***/
   5398 #define IScriptErrorList_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   5399 #define IScriptErrorList_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   5400 #define IScriptErrorList_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   5401 #define IScriptErrorList_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   5402 /*** IScriptErrorList methods ***/
   5403 #define IScriptErrorList_advanceError(This) (This)->lpVtbl->advanceError(This)
   5404 #define IScriptErrorList_retreatError(This) (This)->lpVtbl->retreatError(This)
   5405 #define IScriptErrorList_canAdvanceError(This,pfCanAdvance) (This)->lpVtbl->canAdvanceError(This,pfCanAdvance)
   5406 #define IScriptErrorList_canRetreatError(This,pfCanRetreat) (This)->lpVtbl->canRetreatError(This,pfCanRetreat)
   5407 #define IScriptErrorList_getErrorLine(This,plLine) (This)->lpVtbl->getErrorLine(This,plLine)
   5408 #define IScriptErrorList_getErrorChar(This,plChar) (This)->lpVtbl->getErrorChar(This,plChar)
   5409 #define IScriptErrorList_getErrorCode(This,plCode) (This)->lpVtbl->getErrorCode(This,plCode)
   5410 #define IScriptErrorList_getErrorMsg(This,pstr) (This)->lpVtbl->getErrorMsg(This,pstr)
   5411 #define IScriptErrorList_getErrorUrl(This,pstr) (This)->lpVtbl->getErrorUrl(This,pstr)
   5412 #define IScriptErrorList_getAlwaysShowLockState(This,pfAlwaysShowLocked) (This)->lpVtbl->getAlwaysShowLockState(This,pfAlwaysShowLocked)
   5413 #define IScriptErrorList_getDetailsPaneOpen(This,pfDetailsPaneOpen) (This)->lpVtbl->getDetailsPaneOpen(This,pfDetailsPaneOpen)
   5414 #define IScriptErrorList_setDetailsPaneOpen(This,fDetailsPaneOpen) (This)->lpVtbl->setDetailsPaneOpen(This,fDetailsPaneOpen)
   5415 #define IScriptErrorList_getPerErrorDisplay(This,pfPerErrorDisplay) (This)->lpVtbl->getPerErrorDisplay(This,pfPerErrorDisplay)
   5416 #define IScriptErrorList_setPerErrorDisplay(This,fPerErrorDisplay) (This)->lpVtbl->setPerErrorDisplay(This,fPerErrorDisplay)
   5417 #else
   5418 /*** IUnknown methods ***/
   5419 static FORCEINLINE HRESULT IScriptErrorList_QueryInterface(IScriptErrorList* This,REFIID riid,void **ppvObject) {
   5420     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5421 }
   5422 static FORCEINLINE ULONG IScriptErrorList_AddRef(IScriptErrorList* This) {
   5423     return This->lpVtbl->AddRef(This);
   5424 }
   5425 static FORCEINLINE ULONG IScriptErrorList_Release(IScriptErrorList* This) {
   5426     return This->lpVtbl->Release(This);
   5427 }
   5428 /*** IDispatch methods ***/
   5429 static FORCEINLINE HRESULT IScriptErrorList_GetTypeInfoCount(IScriptErrorList* This,UINT *pctinfo) {
   5430     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   5431 }
   5432 static FORCEINLINE HRESULT IScriptErrorList_GetTypeInfo(IScriptErrorList* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   5433     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   5434 }
   5435 static FORCEINLINE HRESULT IScriptErrorList_GetIDsOfNames(IScriptErrorList* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   5436     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   5437 }
   5438 static FORCEINLINE HRESULT IScriptErrorList_Invoke(IScriptErrorList* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   5439     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   5440 }
   5441 /*** IScriptErrorList methods ***/
   5442 static FORCEINLINE HRESULT IScriptErrorList_advanceError(IScriptErrorList* This) {
   5443     return This->lpVtbl->advanceError(This);
   5444 }
   5445 static FORCEINLINE HRESULT IScriptErrorList_retreatError(IScriptErrorList* This) {
   5446     return This->lpVtbl->retreatError(This);
   5447 }
   5448 static FORCEINLINE HRESULT IScriptErrorList_canAdvanceError(IScriptErrorList* This,LONG *pfCanAdvance) {
   5449     return This->lpVtbl->canAdvanceError(This,pfCanAdvance);
   5450 }
   5451 static FORCEINLINE HRESULT IScriptErrorList_canRetreatError(IScriptErrorList* This,LONG *pfCanRetreat) {
   5452     return This->lpVtbl->canRetreatError(This,pfCanRetreat);
   5453 }
   5454 static FORCEINLINE HRESULT IScriptErrorList_getErrorLine(IScriptErrorList* This,LONG *plLine) {
   5455     return This->lpVtbl->getErrorLine(This,plLine);
   5456 }
   5457 static FORCEINLINE HRESULT IScriptErrorList_getErrorChar(IScriptErrorList* This,LONG *plChar) {
   5458     return This->lpVtbl->getErrorChar(This,plChar);
   5459 }
   5460 static FORCEINLINE HRESULT IScriptErrorList_getErrorCode(IScriptErrorList* This,LONG *plCode) {
   5461     return This->lpVtbl->getErrorCode(This,plCode);
   5462 }
   5463 static FORCEINLINE HRESULT IScriptErrorList_getErrorMsg(IScriptErrorList* This,BSTR *pstr) {
   5464     return This->lpVtbl->getErrorMsg(This,pstr);
   5465 }
   5466 static FORCEINLINE HRESULT IScriptErrorList_getErrorUrl(IScriptErrorList* This,BSTR *pstr) {
   5467     return This->lpVtbl->getErrorUrl(This,pstr);
   5468 }
   5469 static FORCEINLINE HRESULT IScriptErrorList_getAlwaysShowLockState(IScriptErrorList* This,LONG *pfAlwaysShowLocked) {
   5470     return This->lpVtbl->getAlwaysShowLockState(This,pfAlwaysShowLocked);
   5471 }
   5472 static FORCEINLINE HRESULT IScriptErrorList_getDetailsPaneOpen(IScriptErrorList* This,LONG *pfDetailsPaneOpen) {
   5473     return This->lpVtbl->getDetailsPaneOpen(This,pfDetailsPaneOpen);
   5474 }
   5475 static FORCEINLINE HRESULT IScriptErrorList_setDetailsPaneOpen(IScriptErrorList* This,LONG fDetailsPaneOpen) {
   5476     return This->lpVtbl->setDetailsPaneOpen(This,fDetailsPaneOpen);
   5477 }
   5478 static FORCEINLINE HRESULT IScriptErrorList_getPerErrorDisplay(IScriptErrorList* This,LONG *pfPerErrorDisplay) {
   5479     return This->lpVtbl->getPerErrorDisplay(This,pfPerErrorDisplay);
   5480 }
   5481 static FORCEINLINE HRESULT IScriptErrorList_setPerErrorDisplay(IScriptErrorList* This,LONG fPerErrorDisplay) {
   5482     return This->lpVtbl->setPerErrorDisplay(This,fPerErrorDisplay);
   5483 }
   5484 #endif
   5485 #endif
   5486 
   5487 #endif
   5488 
   5489 HRESULT STDMETHODCALLTYPE IScriptErrorList_advanceError_Proxy(
   5490     IScriptErrorList* This);
   5491 void __RPC_STUB IScriptErrorList_advanceError_Stub(
   5492     IRpcStubBuffer* This,
   5493     IRpcChannelBuffer* pRpcChannelBuffer,
   5494     PRPC_MESSAGE pRpcMessage,
   5495     DWORD* pdwStubPhase);
   5496 HRESULT STDMETHODCALLTYPE IScriptErrorList_retreatError_Proxy(
   5497     IScriptErrorList* This);
   5498 void __RPC_STUB IScriptErrorList_retreatError_Stub(
   5499     IRpcStubBuffer* This,
   5500     IRpcChannelBuffer* pRpcChannelBuffer,
   5501     PRPC_MESSAGE pRpcMessage,
   5502     DWORD* pdwStubPhase);
   5503 HRESULT STDMETHODCALLTYPE IScriptErrorList_canAdvanceError_Proxy(
   5504     IScriptErrorList* This,
   5505     LONG *pfCanAdvance);
   5506 void __RPC_STUB IScriptErrorList_canAdvanceError_Stub(
   5507     IRpcStubBuffer* This,
   5508     IRpcChannelBuffer* pRpcChannelBuffer,
   5509     PRPC_MESSAGE pRpcMessage,
   5510     DWORD* pdwStubPhase);
   5511 HRESULT STDMETHODCALLTYPE IScriptErrorList_canRetreatError_Proxy(
   5512     IScriptErrorList* This,
   5513     LONG *pfCanRetreat);
   5514 void __RPC_STUB IScriptErrorList_canRetreatError_Stub(
   5515     IRpcStubBuffer* This,
   5516     IRpcChannelBuffer* pRpcChannelBuffer,
   5517     PRPC_MESSAGE pRpcMessage,
   5518     DWORD* pdwStubPhase);
   5519 HRESULT STDMETHODCALLTYPE IScriptErrorList_getErrorLine_Proxy(
   5520     IScriptErrorList* This,
   5521     LONG *plLine);
   5522 void __RPC_STUB IScriptErrorList_getErrorLine_Stub(
   5523     IRpcStubBuffer* This,
   5524     IRpcChannelBuffer* pRpcChannelBuffer,
   5525     PRPC_MESSAGE pRpcMessage,
   5526     DWORD* pdwStubPhase);
   5527 HRESULT STDMETHODCALLTYPE IScriptErrorList_getErrorChar_Proxy(
   5528     IScriptErrorList* This,
   5529     LONG *plChar);
   5530 void __RPC_STUB IScriptErrorList_getErrorChar_Stub(
   5531     IRpcStubBuffer* This,
   5532     IRpcChannelBuffer* pRpcChannelBuffer,
   5533     PRPC_MESSAGE pRpcMessage,
   5534     DWORD* pdwStubPhase);
   5535 HRESULT STDMETHODCALLTYPE IScriptErrorList_getErrorCode_Proxy(
   5536     IScriptErrorList* This,
   5537     LONG *plCode);
   5538 void __RPC_STUB IScriptErrorList_getErrorCode_Stub(
   5539     IRpcStubBuffer* This,
   5540     IRpcChannelBuffer* pRpcChannelBuffer,
   5541     PRPC_MESSAGE pRpcMessage,
   5542     DWORD* pdwStubPhase);
   5543 HRESULT STDMETHODCALLTYPE IScriptErrorList_getErrorMsg_Proxy(
   5544     IScriptErrorList* This,
   5545     BSTR *pstr);
   5546 void __RPC_STUB IScriptErrorList_getErrorMsg_Stub(
   5547     IRpcStubBuffer* This,
   5548     IRpcChannelBuffer* pRpcChannelBuffer,
   5549     PRPC_MESSAGE pRpcMessage,
   5550     DWORD* pdwStubPhase);
   5551 HRESULT STDMETHODCALLTYPE IScriptErrorList_getErrorUrl_Proxy(
   5552     IScriptErrorList* This,
   5553     BSTR *pstr);
   5554 void __RPC_STUB IScriptErrorList_getErrorUrl_Stub(
   5555     IRpcStubBuffer* This,
   5556     IRpcChannelBuffer* pRpcChannelBuffer,
   5557     PRPC_MESSAGE pRpcMessage,
   5558     DWORD* pdwStubPhase);
   5559 HRESULT STDMETHODCALLTYPE IScriptErrorList_getAlwaysShowLockState_Proxy(
   5560     IScriptErrorList* This,
   5561     LONG *pfAlwaysShowLocked);
   5562 void __RPC_STUB IScriptErrorList_getAlwaysShowLockState_Stub(
   5563     IRpcStubBuffer* This,
   5564     IRpcChannelBuffer* pRpcChannelBuffer,
   5565     PRPC_MESSAGE pRpcMessage,
   5566     DWORD* pdwStubPhase);
   5567 HRESULT STDMETHODCALLTYPE IScriptErrorList_getDetailsPaneOpen_Proxy(
   5568     IScriptErrorList* This,
   5569     LONG *pfDetailsPaneOpen);
   5570 void __RPC_STUB IScriptErrorList_getDetailsPaneOpen_Stub(
   5571     IRpcStubBuffer* This,
   5572     IRpcChannelBuffer* pRpcChannelBuffer,
   5573     PRPC_MESSAGE pRpcMessage,
   5574     DWORD* pdwStubPhase);
   5575 HRESULT STDMETHODCALLTYPE IScriptErrorList_setDetailsPaneOpen_Proxy(
   5576     IScriptErrorList* This,
   5577     LONG fDetailsPaneOpen);
   5578 void __RPC_STUB IScriptErrorList_setDetailsPaneOpen_Stub(
   5579     IRpcStubBuffer* This,
   5580     IRpcChannelBuffer* pRpcChannelBuffer,
   5581     PRPC_MESSAGE pRpcMessage,
   5582     DWORD* pdwStubPhase);
   5583 HRESULT STDMETHODCALLTYPE IScriptErrorList_getPerErrorDisplay_Proxy(
   5584     IScriptErrorList* This,
   5585     LONG *pfPerErrorDisplay);
   5586 void __RPC_STUB IScriptErrorList_getPerErrorDisplay_Stub(
   5587     IRpcStubBuffer* This,
   5588     IRpcChannelBuffer* pRpcChannelBuffer,
   5589     PRPC_MESSAGE pRpcMessage,
   5590     DWORD* pdwStubPhase);
   5591 HRESULT STDMETHODCALLTYPE IScriptErrorList_setPerErrorDisplay_Proxy(
   5592     IScriptErrorList* This,
   5593     LONG fPerErrorDisplay);
   5594 void __RPC_STUB IScriptErrorList_setPerErrorDisplay_Stub(
   5595     IRpcStubBuffer* This,
   5596     IRpcChannelBuffer* pRpcChannelBuffer,
   5597     PRPC_MESSAGE pRpcMessage,
   5598     DWORD* pdwStubPhase);
   5599 
   5600 #endif  /* __IScriptErrorList_INTERFACE_DEFINED__ */
   5601 
   5602 /*****************************************************************************
   5603  * CScriptErrorList coclass
   5604  */
   5605 
   5606 DEFINE_GUID(CLSID_CScriptErrorList, 0xefd01300, 0x160f, 0x11d2, 0xbb,0x2e, 0x00,0x80,0x5f,0xf7,0xef,0xca);
   5607 
   5608 #ifdef __cplusplus
   5609 class DECLSPEC_UUID("efd01300-160f-11d2-bb2e-00805ff7efca") CScriptErrorList;
   5610 #ifdef __CRT_UUID_DECL
   5611 __CRT_UUID_DECL(CScriptErrorList, 0xefd01300, 0x160f, 0x11d2, 0xbb,0x2e, 0x00,0x80,0x5f,0xf7,0xef,0xca)
   5612 #endif
   5613 #endif
   5614 
   5615 /*****************************************************************************
   5616  * ISearch interface
   5617  */
   5618 #ifndef __ISearch_INTERFACE_DEFINED__
   5619 #define __ISearch_INTERFACE_DEFINED__
   5620 
   5621 DEFINE_GUID(IID_ISearch, 0xba9239a4, 0x3dd5, 0x11d2, 0xbf,0x8b, 0x00,0xc0,0x4f,0xb9,0x36,0x61);
   5622 #if defined(__cplusplus) && !defined(CINTERFACE)
   5623 MIDL_INTERFACE("ba9239a4-3dd5-11d2-bf8b-00c04fb93661")
   5624 ISearch : public IDispatch
   5625 {
   5626     virtual HRESULT STDMETHODCALLTYPE get_Title(
   5627         BSTR *pbstrTitle) = 0;
   5628 
   5629     virtual HRESULT STDMETHODCALLTYPE get_Id(
   5630         BSTR *pbstrId) = 0;
   5631 
   5632     virtual HRESULT STDMETHODCALLTYPE get_URL(
   5633         BSTR *pbstrUrl) = 0;
   5634 
   5635 };
   5636 #ifdef __CRT_UUID_DECL
   5637 __CRT_UUID_DECL(ISearch, 0xba9239a4, 0x3dd5, 0x11d2, 0xbf,0x8b, 0x00,0xc0,0x4f,0xb9,0x36,0x61)
   5638 #endif
   5639 #else
   5640 typedef struct ISearchVtbl {
   5641     BEGIN_INTERFACE
   5642 
   5643     /*** IUnknown methods ***/
   5644     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5645         ISearch* This,
   5646         REFIID riid,
   5647         void **ppvObject);
   5648 
   5649     ULONG (STDMETHODCALLTYPE *AddRef)(
   5650         ISearch* This);
   5651 
   5652     ULONG (STDMETHODCALLTYPE *Release)(
   5653         ISearch* This);
   5654 
   5655     /*** IDispatch methods ***/
   5656     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   5657         ISearch* This,
   5658         UINT *pctinfo);
   5659 
   5660     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   5661         ISearch* This,
   5662         UINT iTInfo,
   5663         LCID lcid,
   5664         ITypeInfo **ppTInfo);
   5665 
   5666     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   5667         ISearch* This,
   5668         REFIID riid,
   5669         LPOLESTR *rgszNames,
   5670         UINT cNames,
   5671         LCID lcid,
   5672         DISPID *rgDispId);
   5673 
   5674     HRESULT (STDMETHODCALLTYPE *Invoke)(
   5675         ISearch* This,
   5676         DISPID dispIdMember,
   5677         REFIID riid,
   5678         LCID lcid,
   5679         WORD wFlags,
   5680         DISPPARAMS *pDispParams,
   5681         VARIANT *pVarResult,
   5682         EXCEPINFO *pExcepInfo,
   5683         UINT *puArgErr);
   5684 
   5685     /*** ISearch methods ***/
   5686     HRESULT (STDMETHODCALLTYPE *get_Title)(
   5687         ISearch* This,
   5688         BSTR *pbstrTitle);
   5689 
   5690     HRESULT (STDMETHODCALLTYPE *get_Id)(
   5691         ISearch* This,
   5692         BSTR *pbstrId);
   5693 
   5694     HRESULT (STDMETHODCALLTYPE *get_URL)(
   5695         ISearch* This,
   5696         BSTR *pbstrUrl);
   5697 
   5698     END_INTERFACE
   5699 } ISearchVtbl;
   5700 interface ISearch {
   5701     CONST_VTBL ISearchVtbl* lpVtbl;
   5702 };
   5703 
   5704 #ifdef COBJMACROS
   5705 #ifndef WIDL_C_INLINE_WRAPPERS
   5706 /*** IUnknown methods ***/
   5707 #define ISearch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5708 #define ISearch_AddRef(This) (This)->lpVtbl->AddRef(This)
   5709 #define ISearch_Release(This) (This)->lpVtbl->Release(This)
   5710 /*** IDispatch methods ***/
   5711 #define ISearch_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   5712 #define ISearch_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   5713 #define ISearch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   5714 #define ISearch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   5715 /*** ISearch methods ***/
   5716 #define ISearch_get_Title(This,pbstrTitle) (This)->lpVtbl->get_Title(This,pbstrTitle)
   5717 #define ISearch_get_Id(This,pbstrId) (This)->lpVtbl->get_Id(This,pbstrId)
   5718 #define ISearch_get_URL(This,pbstrUrl) (This)->lpVtbl->get_URL(This,pbstrUrl)
   5719 #else
   5720 /*** IUnknown methods ***/
   5721 static FORCEINLINE HRESULT ISearch_QueryInterface(ISearch* This,REFIID riid,void **ppvObject) {
   5722     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5723 }
   5724 static FORCEINLINE ULONG ISearch_AddRef(ISearch* This) {
   5725     return This->lpVtbl->AddRef(This);
   5726 }
   5727 static FORCEINLINE ULONG ISearch_Release(ISearch* This) {
   5728     return This->lpVtbl->Release(This);
   5729 }
   5730 /*** IDispatch methods ***/
   5731 static FORCEINLINE HRESULT ISearch_GetTypeInfoCount(ISearch* This,UINT *pctinfo) {
   5732     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   5733 }
   5734 static FORCEINLINE HRESULT ISearch_GetTypeInfo(ISearch* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   5735     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   5736 }
   5737 static FORCEINLINE HRESULT ISearch_GetIDsOfNames(ISearch* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   5738     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   5739 }
   5740 static FORCEINLINE HRESULT ISearch_Invoke(ISearch* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   5741     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   5742 }
   5743 /*** ISearch methods ***/
   5744 static FORCEINLINE HRESULT ISearch_get_Title(ISearch* This,BSTR *pbstrTitle) {
   5745     return This->lpVtbl->get_Title(This,pbstrTitle);
   5746 }
   5747 static FORCEINLINE HRESULT ISearch_get_Id(ISearch* This,BSTR *pbstrId) {
   5748     return This->lpVtbl->get_Id(This,pbstrId);
   5749 }
   5750 static FORCEINLINE HRESULT ISearch_get_URL(ISearch* This,BSTR *pbstrUrl) {
   5751     return This->lpVtbl->get_URL(This,pbstrUrl);
   5752 }
   5753 #endif
   5754 #endif
   5755 
   5756 #endif
   5757 
   5758 HRESULT STDMETHODCALLTYPE ISearch_get_Title_Proxy(
   5759     ISearch* This,
   5760     BSTR *pbstrTitle);
   5761 void __RPC_STUB ISearch_get_Title_Stub(
   5762     IRpcStubBuffer* This,
   5763     IRpcChannelBuffer* pRpcChannelBuffer,
   5764     PRPC_MESSAGE pRpcMessage,
   5765     DWORD* pdwStubPhase);
   5766 HRESULT STDMETHODCALLTYPE ISearch_get_Id_Proxy(
   5767     ISearch* This,
   5768     BSTR *pbstrId);
   5769 void __RPC_STUB ISearch_get_Id_Stub(
   5770     IRpcStubBuffer* This,
   5771     IRpcChannelBuffer* pRpcChannelBuffer,
   5772     PRPC_MESSAGE pRpcMessage,
   5773     DWORD* pdwStubPhase);
   5774 HRESULT STDMETHODCALLTYPE ISearch_get_URL_Proxy(
   5775     ISearch* This,
   5776     BSTR *pbstrUrl);
   5777 void __RPC_STUB ISearch_get_URL_Stub(
   5778     IRpcStubBuffer* This,
   5779     IRpcChannelBuffer* pRpcChannelBuffer,
   5780     PRPC_MESSAGE pRpcMessage,
   5781     DWORD* pdwStubPhase);
   5782 
   5783 #endif  /* __ISearch_INTERFACE_DEFINED__ */
   5784 
   5785 /*****************************************************************************
   5786  * ISearches interface
   5787  */
   5788 #ifndef __ISearches_INTERFACE_DEFINED__
   5789 #define __ISearches_INTERFACE_DEFINED__
   5790 
   5791 DEFINE_GUID(IID_ISearches, 0x47c922a2, 0x3dd5, 0x11d2, 0xbf,0x8b, 0x00,0xc0,0x4f,0xb9,0x36,0x61);
   5792 #if defined(__cplusplus) && !defined(CINTERFACE)
   5793 MIDL_INTERFACE("47c922a2-3dd5-11d2-bf8b-00c04fb93661")
   5794 ISearches : public IDispatch
   5795 {
   5796     virtual HRESULT STDMETHODCALLTYPE get_Count(
   5797         LONG *plCount) = 0;
   5798 
   5799     virtual HRESULT STDMETHODCALLTYPE get_Default(
   5800         BSTR *pbstrDefault) = 0;
   5801 
   5802     virtual HRESULT STDMETHODCALLTYPE Item(
   5803         VARIANT index,
   5804         ISearch **ppid) = 0;
   5805 
   5806     virtual HRESULT STDMETHODCALLTYPE _NewEnum(
   5807         IUnknown **ppunk) = 0;
   5808 
   5809 };
   5810 #ifdef __CRT_UUID_DECL
   5811 __CRT_UUID_DECL(ISearches, 0x47c922a2, 0x3dd5, 0x11d2, 0xbf,0x8b, 0x00,0xc0,0x4f,0xb9,0x36,0x61)
   5812 #endif
   5813 #else
   5814 typedef struct ISearchesVtbl {
   5815     BEGIN_INTERFACE
   5816 
   5817     /*** IUnknown methods ***/
   5818     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   5819         ISearches* This,
   5820         REFIID riid,
   5821         void **ppvObject);
   5822 
   5823     ULONG (STDMETHODCALLTYPE *AddRef)(
   5824         ISearches* This);
   5825 
   5826     ULONG (STDMETHODCALLTYPE *Release)(
   5827         ISearches* This);
   5828 
   5829     /*** IDispatch methods ***/
   5830     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   5831         ISearches* This,
   5832         UINT *pctinfo);
   5833 
   5834     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   5835         ISearches* This,
   5836         UINT iTInfo,
   5837         LCID lcid,
   5838         ITypeInfo **ppTInfo);
   5839 
   5840     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   5841         ISearches* This,
   5842         REFIID riid,
   5843         LPOLESTR *rgszNames,
   5844         UINT cNames,
   5845         LCID lcid,
   5846         DISPID *rgDispId);
   5847 
   5848     HRESULT (STDMETHODCALLTYPE *Invoke)(
   5849         ISearches* This,
   5850         DISPID dispIdMember,
   5851         REFIID riid,
   5852         LCID lcid,
   5853         WORD wFlags,
   5854         DISPPARAMS *pDispParams,
   5855         VARIANT *pVarResult,
   5856         EXCEPINFO *pExcepInfo,
   5857         UINT *puArgErr);
   5858 
   5859     /*** ISearches methods ***/
   5860     HRESULT (STDMETHODCALLTYPE *get_Count)(
   5861         ISearches* This,
   5862         LONG *plCount);
   5863 
   5864     HRESULT (STDMETHODCALLTYPE *get_Default)(
   5865         ISearches* This,
   5866         BSTR *pbstrDefault);
   5867 
   5868     HRESULT (STDMETHODCALLTYPE *Item)(
   5869         ISearches* This,
   5870         VARIANT index,
   5871         ISearch **ppid);
   5872 
   5873     HRESULT (STDMETHODCALLTYPE *_NewEnum)(
   5874         ISearches* This,
   5875         IUnknown **ppunk);
   5876 
   5877     END_INTERFACE
   5878 } ISearchesVtbl;
   5879 interface ISearches {
   5880     CONST_VTBL ISearchesVtbl* lpVtbl;
   5881 };
   5882 
   5883 #ifdef COBJMACROS
   5884 #ifndef WIDL_C_INLINE_WRAPPERS
   5885 /*** IUnknown methods ***/
   5886 #define ISearches_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   5887 #define ISearches_AddRef(This) (This)->lpVtbl->AddRef(This)
   5888 #define ISearches_Release(This) (This)->lpVtbl->Release(This)
   5889 /*** IDispatch methods ***/
   5890 #define ISearches_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   5891 #define ISearches_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   5892 #define ISearches_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   5893 #define ISearches_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   5894 /*** ISearches methods ***/
   5895 #define ISearches_get_Count(This,plCount) (This)->lpVtbl->get_Count(This,plCount)
   5896 #define ISearches_get_Default(This,pbstrDefault) (This)->lpVtbl->get_Default(This,pbstrDefault)
   5897 #define ISearches_Item(This,index,ppid) (This)->lpVtbl->Item(This,index,ppid)
   5898 #define ISearches__NewEnum(This,ppunk) (This)->lpVtbl->_NewEnum(This,ppunk)
   5899 #else
   5900 /*** IUnknown methods ***/
   5901 static FORCEINLINE HRESULT ISearches_QueryInterface(ISearches* This,REFIID riid,void **ppvObject) {
   5902     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   5903 }
   5904 static FORCEINLINE ULONG ISearches_AddRef(ISearches* This) {
   5905     return This->lpVtbl->AddRef(This);
   5906 }
   5907 static FORCEINLINE ULONG ISearches_Release(ISearches* This) {
   5908     return This->lpVtbl->Release(This);
   5909 }
   5910 /*** IDispatch methods ***/
   5911 static FORCEINLINE HRESULT ISearches_GetTypeInfoCount(ISearches* This,UINT *pctinfo) {
   5912     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   5913 }
   5914 static FORCEINLINE HRESULT ISearches_GetTypeInfo(ISearches* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   5915     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   5916 }
   5917 static FORCEINLINE HRESULT ISearches_GetIDsOfNames(ISearches* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   5918     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   5919 }
   5920 static FORCEINLINE HRESULT ISearches_Invoke(ISearches* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   5921     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   5922 }
   5923 /*** ISearches methods ***/
   5924 static FORCEINLINE HRESULT ISearches_get_Count(ISearches* This,LONG *plCount) {
   5925     return This->lpVtbl->get_Count(This,plCount);
   5926 }
   5927 static FORCEINLINE HRESULT ISearches_get_Default(ISearches* This,BSTR *pbstrDefault) {
   5928     return This->lpVtbl->get_Default(This,pbstrDefault);
   5929 }
   5930 static FORCEINLINE HRESULT ISearches_Item(ISearches* This,VARIANT index,ISearch **ppid) {
   5931     return This->lpVtbl->Item(This,index,ppid);
   5932 }
   5933 static FORCEINLINE HRESULT ISearches__NewEnum(ISearches* This,IUnknown **ppunk) {
   5934     return This->lpVtbl->_NewEnum(This,ppunk);
   5935 }
   5936 #endif
   5937 #endif
   5938 
   5939 #endif
   5940 
   5941 HRESULT STDMETHODCALLTYPE ISearches_get_Count_Proxy(
   5942     ISearches* This,
   5943     LONG *plCount);
   5944 void __RPC_STUB ISearches_get_Count_Stub(
   5945     IRpcStubBuffer* This,
   5946     IRpcChannelBuffer* pRpcChannelBuffer,
   5947     PRPC_MESSAGE pRpcMessage,
   5948     DWORD* pdwStubPhase);
   5949 HRESULT STDMETHODCALLTYPE ISearches_get_Default_Proxy(
   5950     ISearches* This,
   5951     BSTR *pbstrDefault);
   5952 void __RPC_STUB ISearches_get_Default_Stub(
   5953     IRpcStubBuffer* This,
   5954     IRpcChannelBuffer* pRpcChannelBuffer,
   5955     PRPC_MESSAGE pRpcMessage,
   5956     DWORD* pdwStubPhase);
   5957 HRESULT STDMETHODCALLTYPE ISearches_Item_Proxy(
   5958     ISearches* This,
   5959     VARIANT index,
   5960     ISearch **ppid);
   5961 void __RPC_STUB ISearches_Item_Stub(
   5962     IRpcStubBuffer* This,
   5963     IRpcChannelBuffer* pRpcChannelBuffer,
   5964     PRPC_MESSAGE pRpcMessage,
   5965     DWORD* pdwStubPhase);
   5966 HRESULT STDMETHODCALLTYPE ISearches__NewEnum_Proxy(
   5967     ISearches* This,
   5968     IUnknown **ppunk);
   5969 void __RPC_STUB ISearches__NewEnum_Stub(
   5970     IRpcStubBuffer* This,
   5971     IRpcChannelBuffer* pRpcChannelBuffer,
   5972     PRPC_MESSAGE pRpcMessage,
   5973     DWORD* pdwStubPhase);
   5974 
   5975 #endif  /* __ISearches_INTERFACE_DEFINED__ */
   5976 
   5977 /*****************************************************************************
   5978  * ISearchAssistantOC interface
   5979  */
   5980 #ifndef __ISearchAssistantOC_INTERFACE_DEFINED__
   5981 #define __ISearchAssistantOC_INTERFACE_DEFINED__
   5982 
   5983 DEFINE_GUID(IID_ISearchAssistantOC, 0x72423e8f, 0x8011, 0x11d2, 0xbe,0x79, 0x00,0xa0,0xc9,0xa8,0x3d,0xa1);
   5984 #if defined(__cplusplus) && !defined(CINTERFACE)
   5985 MIDL_INTERFACE("72423e8f-8011-11d2-be79-00a0c9a83da1")
   5986 ISearchAssistantOC : public IDispatch
   5987 {
   5988     virtual HRESULT STDMETHODCALLTYPE AddNextMenuItem(
   5989         BSTR bstrText,
   5990         LONG idItem) = 0;
   5991 
   5992     virtual HRESULT STDMETHODCALLTYPE SetDefaultSearchUrl(
   5993         BSTR bstrUrl) = 0;
   5994 
   5995     virtual HRESULT STDMETHODCALLTYPE NavigateToDefaultSearch(
   5996         ) = 0;
   5997 
   5998     virtual HRESULT STDMETHODCALLTYPE IsRestricted(
   5999         BSTR bstrGuid,
   6000         VARIANT_BOOL *pVal) = 0;
   6001 
   6002     virtual HRESULT STDMETHODCALLTYPE get_ShellFeaturesEnabled(
   6003         VARIANT_BOOL *pVal) = 0;
   6004 
   6005     virtual HRESULT STDMETHODCALLTYPE get_SearchAssistantDefault(
   6006         VARIANT_BOOL *pVal) = 0;
   6007 
   6008     virtual HRESULT STDMETHODCALLTYPE get_Searches(
   6009         ISearches **ppid) = 0;
   6010 
   6011     virtual HRESULT STDMETHODCALLTYPE get_InWebFolder(
   6012         VARIANT_BOOL *pVal) = 0;
   6013 
   6014     virtual HRESULT STDMETHODCALLTYPE PutProperty(
   6015         VARIANT_BOOL bPerLocale,
   6016         BSTR bstrName,
   6017         BSTR bstrValue) = 0;
   6018 
   6019     virtual HRESULT STDMETHODCALLTYPE GetProperty(
   6020         VARIANT_BOOL bPerLocale,
   6021         BSTR bstrName,
   6022         BSTR *pbstrValue) = 0;
   6023 
   6024     virtual HRESULT STDMETHODCALLTYPE put_EventHandled(
   6025         VARIANT_BOOL rhs) = 0;
   6026 
   6027     virtual HRESULT STDMETHODCALLTYPE ResetNextMenu(
   6028         ) = 0;
   6029 
   6030     virtual HRESULT STDMETHODCALLTYPE FindOnWeb(
   6031         ) = 0;
   6032 
   6033     virtual HRESULT STDMETHODCALLTYPE FindFilesOrFolders(
   6034         ) = 0;
   6035 
   6036     virtual HRESULT STDMETHODCALLTYPE FindComputer(
   6037         ) = 0;
   6038 
   6039     virtual HRESULT STDMETHODCALLTYPE FindPrinter(
   6040         ) = 0;
   6041 
   6042     virtual HRESULT STDMETHODCALLTYPE FindPeople(
   6043         ) = 0;
   6044 
   6045     virtual HRESULT STDMETHODCALLTYPE GetSearchAssistantURL(
   6046         VARIANT_BOOL bSubstitute,
   6047         VARIANT_BOOL bCustomize,
   6048         BSTR *pbstrValue) = 0;
   6049 
   6050     virtual HRESULT STDMETHODCALLTYPE NotifySearchSettingsChanged(
   6051         ) = 0;
   6052 
   6053     virtual HRESULT STDMETHODCALLTYPE put_ASProvider(
   6054         BSTR pProvider) = 0;
   6055 
   6056     virtual HRESULT STDMETHODCALLTYPE get_ASProvider(
   6057         BSTR *pProvider) = 0;
   6058 
   6059     virtual HRESULT STDMETHODCALLTYPE put_ASSetting(
   6060         int pSetting) = 0;
   6061 
   6062     virtual HRESULT STDMETHODCALLTYPE get_ASSetting(
   6063         int *pSetting) = 0;
   6064 
   6065     virtual HRESULT STDMETHODCALLTYPE NETDetectNextNavigate(
   6066         ) = 0;
   6067 
   6068     virtual HRESULT STDMETHODCALLTYPE PutFindText(
   6069         BSTR FindText) = 0;
   6070 
   6071     virtual HRESULT STDMETHODCALLTYPE get_Version(
   6072         int *pVersion) = 0;
   6073 
   6074     virtual HRESULT STDMETHODCALLTYPE EncodeString(
   6075         BSTR bstrValue,
   6076         BSTR bstrCharSet,
   6077         VARIANT_BOOL bUseUTF8,
   6078         BSTR *pbstrResult) = 0;
   6079 
   6080 };
   6081 #ifdef __CRT_UUID_DECL
   6082 __CRT_UUID_DECL(ISearchAssistantOC, 0x72423e8f, 0x8011, 0x11d2, 0xbe,0x79, 0x00,0xa0,0xc9,0xa8,0x3d,0xa1)
   6083 #endif
   6084 #else
   6085 typedef struct ISearchAssistantOCVtbl {
   6086     BEGIN_INTERFACE
   6087 
   6088     /*** IUnknown methods ***/
   6089     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6090         ISearchAssistantOC* This,
   6091         REFIID riid,
   6092         void **ppvObject);
   6093 
   6094     ULONG (STDMETHODCALLTYPE *AddRef)(
   6095         ISearchAssistantOC* This);
   6096 
   6097     ULONG (STDMETHODCALLTYPE *Release)(
   6098         ISearchAssistantOC* This);
   6099 
   6100     /*** IDispatch methods ***/
   6101     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   6102         ISearchAssistantOC* This,
   6103         UINT *pctinfo);
   6104 
   6105     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   6106         ISearchAssistantOC* This,
   6107         UINT iTInfo,
   6108         LCID lcid,
   6109         ITypeInfo **ppTInfo);
   6110 
   6111     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   6112         ISearchAssistantOC* This,
   6113         REFIID riid,
   6114         LPOLESTR *rgszNames,
   6115         UINT cNames,
   6116         LCID lcid,
   6117         DISPID *rgDispId);
   6118 
   6119     HRESULT (STDMETHODCALLTYPE *Invoke)(
   6120         ISearchAssistantOC* This,
   6121         DISPID dispIdMember,
   6122         REFIID riid,
   6123         LCID lcid,
   6124         WORD wFlags,
   6125         DISPPARAMS *pDispParams,
   6126         VARIANT *pVarResult,
   6127         EXCEPINFO *pExcepInfo,
   6128         UINT *puArgErr);
   6129 
   6130     /*** ISearchAssistantOC methods ***/
   6131     HRESULT (STDMETHODCALLTYPE *AddNextMenuItem)(
   6132         ISearchAssistantOC* This,
   6133         BSTR bstrText,
   6134         LONG idItem);
   6135 
   6136     HRESULT (STDMETHODCALLTYPE *SetDefaultSearchUrl)(
   6137         ISearchAssistantOC* This,
   6138         BSTR bstrUrl);
   6139 
   6140     HRESULT (STDMETHODCALLTYPE *NavigateToDefaultSearch)(
   6141         ISearchAssistantOC* This);
   6142 
   6143     HRESULT (STDMETHODCALLTYPE *IsRestricted)(
   6144         ISearchAssistantOC* This,
   6145         BSTR bstrGuid,
   6146         VARIANT_BOOL *pVal);
   6147 
   6148     HRESULT (STDMETHODCALLTYPE *get_ShellFeaturesEnabled)(
   6149         ISearchAssistantOC* This,
   6150         VARIANT_BOOL *pVal);
   6151 
   6152     HRESULT (STDMETHODCALLTYPE *get_SearchAssistantDefault)(
   6153         ISearchAssistantOC* This,
   6154         VARIANT_BOOL *pVal);
   6155 
   6156     HRESULT (STDMETHODCALLTYPE *get_Searches)(
   6157         ISearchAssistantOC* This,
   6158         ISearches **ppid);
   6159 
   6160     HRESULT (STDMETHODCALLTYPE *get_InWebFolder)(
   6161         ISearchAssistantOC* This,
   6162         VARIANT_BOOL *pVal);
   6163 
   6164     HRESULT (STDMETHODCALLTYPE *PutProperty)(
   6165         ISearchAssistantOC* This,
   6166         VARIANT_BOOL bPerLocale,
   6167         BSTR bstrName,
   6168         BSTR bstrValue);
   6169 
   6170     HRESULT (STDMETHODCALLTYPE *GetProperty)(
   6171         ISearchAssistantOC* This,
   6172         VARIANT_BOOL bPerLocale,
   6173         BSTR bstrName,
   6174         BSTR *pbstrValue);
   6175 
   6176     HRESULT (STDMETHODCALLTYPE *put_EventHandled)(
   6177         ISearchAssistantOC* This,
   6178         VARIANT_BOOL rhs);
   6179 
   6180     HRESULT (STDMETHODCALLTYPE *ResetNextMenu)(
   6181         ISearchAssistantOC* This);
   6182 
   6183     HRESULT (STDMETHODCALLTYPE *FindOnWeb)(
   6184         ISearchAssistantOC* This);
   6185 
   6186     HRESULT (STDMETHODCALLTYPE *FindFilesOrFolders)(
   6187         ISearchAssistantOC* This);
   6188 
   6189     HRESULT (STDMETHODCALLTYPE *FindComputer)(
   6190         ISearchAssistantOC* This);
   6191 
   6192     HRESULT (STDMETHODCALLTYPE *FindPrinter)(
   6193         ISearchAssistantOC* This);
   6194 
   6195     HRESULT (STDMETHODCALLTYPE *FindPeople)(
   6196         ISearchAssistantOC* This);
   6197 
   6198     HRESULT (STDMETHODCALLTYPE *GetSearchAssistantURL)(
   6199         ISearchAssistantOC* This,
   6200         VARIANT_BOOL bSubstitute,
   6201         VARIANT_BOOL bCustomize,
   6202         BSTR *pbstrValue);
   6203 
   6204     HRESULT (STDMETHODCALLTYPE *NotifySearchSettingsChanged)(
   6205         ISearchAssistantOC* This);
   6206 
   6207     HRESULT (STDMETHODCALLTYPE *put_ASProvider)(
   6208         ISearchAssistantOC* This,
   6209         BSTR pProvider);
   6210 
   6211     HRESULT (STDMETHODCALLTYPE *get_ASProvider)(
   6212         ISearchAssistantOC* This,
   6213         BSTR *pProvider);
   6214 
   6215     HRESULT (STDMETHODCALLTYPE *put_ASSetting)(
   6216         ISearchAssistantOC* This,
   6217         int pSetting);
   6218 
   6219     HRESULT (STDMETHODCALLTYPE *get_ASSetting)(
   6220         ISearchAssistantOC* This,
   6221         int *pSetting);
   6222 
   6223     HRESULT (STDMETHODCALLTYPE *NETDetectNextNavigate)(
   6224         ISearchAssistantOC* This);
   6225 
   6226     HRESULT (STDMETHODCALLTYPE *PutFindText)(
   6227         ISearchAssistantOC* This,
   6228         BSTR FindText);
   6229 
   6230     HRESULT (STDMETHODCALLTYPE *get_Version)(
   6231         ISearchAssistantOC* This,
   6232         int *pVersion);
   6233 
   6234     HRESULT (STDMETHODCALLTYPE *EncodeString)(
   6235         ISearchAssistantOC* This,
   6236         BSTR bstrValue,
   6237         BSTR bstrCharSet,
   6238         VARIANT_BOOL bUseUTF8,
   6239         BSTR *pbstrResult);
   6240 
   6241     END_INTERFACE
   6242 } ISearchAssistantOCVtbl;
   6243 interface ISearchAssistantOC {
   6244     CONST_VTBL ISearchAssistantOCVtbl* lpVtbl;
   6245 };
   6246 
   6247 #ifdef COBJMACROS
   6248 #ifndef WIDL_C_INLINE_WRAPPERS
   6249 /*** IUnknown methods ***/
   6250 #define ISearchAssistantOC_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6251 #define ISearchAssistantOC_AddRef(This) (This)->lpVtbl->AddRef(This)
   6252 #define ISearchAssistantOC_Release(This) (This)->lpVtbl->Release(This)
   6253 /*** IDispatch methods ***/
   6254 #define ISearchAssistantOC_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   6255 #define ISearchAssistantOC_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   6256 #define ISearchAssistantOC_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   6257 #define ISearchAssistantOC_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   6258 /*** ISearchAssistantOC methods ***/
   6259 #define ISearchAssistantOC_AddNextMenuItem(This,bstrText,idItem) (This)->lpVtbl->AddNextMenuItem(This,bstrText,idItem)
   6260 #define ISearchAssistantOC_SetDefaultSearchUrl(This,bstrUrl) (This)->lpVtbl->SetDefaultSearchUrl(This,bstrUrl)
   6261 #define ISearchAssistantOC_NavigateToDefaultSearch(This) (This)->lpVtbl->NavigateToDefaultSearch(This)
   6262 #define ISearchAssistantOC_IsRestricted(This,bstrGuid,pVal) (This)->lpVtbl->IsRestricted(This,bstrGuid,pVal)
   6263 #define ISearchAssistantOC_get_ShellFeaturesEnabled(This,pVal) (This)->lpVtbl->get_ShellFeaturesEnabled(This,pVal)
   6264 #define ISearchAssistantOC_get_SearchAssistantDefault(This,pVal) (This)->lpVtbl->get_SearchAssistantDefault(This,pVal)
   6265 #define ISearchAssistantOC_get_Searches(This,ppid) (This)->lpVtbl->get_Searches(This,ppid)
   6266 #define ISearchAssistantOC_get_InWebFolder(This,pVal) (This)->lpVtbl->get_InWebFolder(This,pVal)
   6267 #define ISearchAssistantOC_PutProperty(This,bPerLocale,bstrName,bstrValue) (This)->lpVtbl->PutProperty(This,bPerLocale,bstrName,bstrValue)
   6268 #define ISearchAssistantOC_GetProperty(This,bPerLocale,bstrName,pbstrValue) (This)->lpVtbl->GetProperty(This,bPerLocale,bstrName,pbstrValue)
   6269 #define ISearchAssistantOC_put_EventHandled(This,rhs) (This)->lpVtbl->put_EventHandled(This,rhs)
   6270 #define ISearchAssistantOC_ResetNextMenu(This) (This)->lpVtbl->ResetNextMenu(This)
   6271 #define ISearchAssistantOC_FindOnWeb(This) (This)->lpVtbl->FindOnWeb(This)
   6272 #define ISearchAssistantOC_FindFilesOrFolders(This) (This)->lpVtbl->FindFilesOrFolders(This)
   6273 #define ISearchAssistantOC_FindComputer(This) (This)->lpVtbl->FindComputer(This)
   6274 #define ISearchAssistantOC_FindPrinter(This) (This)->lpVtbl->FindPrinter(This)
   6275 #define ISearchAssistantOC_FindPeople(This) (This)->lpVtbl->FindPeople(This)
   6276 #define ISearchAssistantOC_GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue) (This)->lpVtbl->GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue)
   6277 #define ISearchAssistantOC_NotifySearchSettingsChanged(This) (This)->lpVtbl->NotifySearchSettingsChanged(This)
   6278 #define ISearchAssistantOC_put_ASProvider(This,pProvider) (This)->lpVtbl->put_ASProvider(This,pProvider)
   6279 #define ISearchAssistantOC_get_ASProvider(This,pProvider) (This)->lpVtbl->get_ASProvider(This,pProvider)
   6280 #define ISearchAssistantOC_put_ASSetting(This,pSetting) (This)->lpVtbl->put_ASSetting(This,pSetting)
   6281 #define ISearchAssistantOC_get_ASSetting(This,pSetting) (This)->lpVtbl->get_ASSetting(This,pSetting)
   6282 #define ISearchAssistantOC_NETDetectNextNavigate(This) (This)->lpVtbl->NETDetectNextNavigate(This)
   6283 #define ISearchAssistantOC_PutFindText(This,FindText) (This)->lpVtbl->PutFindText(This,FindText)
   6284 #define ISearchAssistantOC_get_Version(This,pVersion) (This)->lpVtbl->get_Version(This,pVersion)
   6285 #define ISearchAssistantOC_EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult) (This)->lpVtbl->EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult)
   6286 #else
   6287 /*** IUnknown methods ***/
   6288 static FORCEINLINE HRESULT ISearchAssistantOC_QueryInterface(ISearchAssistantOC* This,REFIID riid,void **ppvObject) {
   6289     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6290 }
   6291 static FORCEINLINE ULONG ISearchAssistantOC_AddRef(ISearchAssistantOC* This) {
   6292     return This->lpVtbl->AddRef(This);
   6293 }
   6294 static FORCEINLINE ULONG ISearchAssistantOC_Release(ISearchAssistantOC* This) {
   6295     return This->lpVtbl->Release(This);
   6296 }
   6297 /*** IDispatch methods ***/
   6298 static FORCEINLINE HRESULT ISearchAssistantOC_GetTypeInfoCount(ISearchAssistantOC* This,UINT *pctinfo) {
   6299     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   6300 }
   6301 static FORCEINLINE HRESULT ISearchAssistantOC_GetTypeInfo(ISearchAssistantOC* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   6302     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   6303 }
   6304 static FORCEINLINE HRESULT ISearchAssistantOC_GetIDsOfNames(ISearchAssistantOC* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   6305     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   6306 }
   6307 static FORCEINLINE HRESULT ISearchAssistantOC_Invoke(ISearchAssistantOC* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   6308     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   6309 }
   6310 /*** ISearchAssistantOC methods ***/
   6311 static FORCEINLINE HRESULT ISearchAssistantOC_AddNextMenuItem(ISearchAssistantOC* This,BSTR bstrText,LONG idItem) {
   6312     return This->lpVtbl->AddNextMenuItem(This,bstrText,idItem);
   6313 }
   6314 static FORCEINLINE HRESULT ISearchAssistantOC_SetDefaultSearchUrl(ISearchAssistantOC* This,BSTR bstrUrl) {
   6315     return This->lpVtbl->SetDefaultSearchUrl(This,bstrUrl);
   6316 }
   6317 static FORCEINLINE HRESULT ISearchAssistantOC_NavigateToDefaultSearch(ISearchAssistantOC* This) {
   6318     return This->lpVtbl->NavigateToDefaultSearch(This);
   6319 }
   6320 static FORCEINLINE HRESULT ISearchAssistantOC_IsRestricted(ISearchAssistantOC* This,BSTR bstrGuid,VARIANT_BOOL *pVal) {
   6321     return This->lpVtbl->IsRestricted(This,bstrGuid,pVal);
   6322 }
   6323 static FORCEINLINE HRESULT ISearchAssistantOC_get_ShellFeaturesEnabled(ISearchAssistantOC* This,VARIANT_BOOL *pVal) {
   6324     return This->lpVtbl->get_ShellFeaturesEnabled(This,pVal);
   6325 }
   6326 static FORCEINLINE HRESULT ISearchAssistantOC_get_SearchAssistantDefault(ISearchAssistantOC* This,VARIANT_BOOL *pVal) {
   6327     return This->lpVtbl->get_SearchAssistantDefault(This,pVal);
   6328 }
   6329 static FORCEINLINE HRESULT ISearchAssistantOC_get_Searches(ISearchAssistantOC* This,ISearches **ppid) {
   6330     return This->lpVtbl->get_Searches(This,ppid);
   6331 }
   6332 static FORCEINLINE HRESULT ISearchAssistantOC_get_InWebFolder(ISearchAssistantOC* This,VARIANT_BOOL *pVal) {
   6333     return This->lpVtbl->get_InWebFolder(This,pVal);
   6334 }
   6335 static FORCEINLINE HRESULT ISearchAssistantOC_PutProperty(ISearchAssistantOC* This,VARIANT_BOOL bPerLocale,BSTR bstrName,BSTR bstrValue) {
   6336     return This->lpVtbl->PutProperty(This,bPerLocale,bstrName,bstrValue);
   6337 }
   6338 static FORCEINLINE HRESULT ISearchAssistantOC_GetProperty(ISearchAssistantOC* This,VARIANT_BOOL bPerLocale,BSTR bstrName,BSTR *pbstrValue) {
   6339     return This->lpVtbl->GetProperty(This,bPerLocale,bstrName,pbstrValue);
   6340 }
   6341 static FORCEINLINE HRESULT ISearchAssistantOC_put_EventHandled(ISearchAssistantOC* This,VARIANT_BOOL rhs) {
   6342     return This->lpVtbl->put_EventHandled(This,rhs);
   6343 }
   6344 static FORCEINLINE HRESULT ISearchAssistantOC_ResetNextMenu(ISearchAssistantOC* This) {
   6345     return This->lpVtbl->ResetNextMenu(This);
   6346 }
   6347 static FORCEINLINE HRESULT ISearchAssistantOC_FindOnWeb(ISearchAssistantOC* This) {
   6348     return This->lpVtbl->FindOnWeb(This);
   6349 }
   6350 static FORCEINLINE HRESULT ISearchAssistantOC_FindFilesOrFolders(ISearchAssistantOC* This) {
   6351     return This->lpVtbl->FindFilesOrFolders(This);
   6352 }
   6353 static FORCEINLINE HRESULT ISearchAssistantOC_FindComputer(ISearchAssistantOC* This) {
   6354     return This->lpVtbl->FindComputer(This);
   6355 }
   6356 static FORCEINLINE HRESULT ISearchAssistantOC_FindPrinter(ISearchAssistantOC* This) {
   6357     return This->lpVtbl->FindPrinter(This);
   6358 }
   6359 static FORCEINLINE HRESULT ISearchAssistantOC_FindPeople(ISearchAssistantOC* This) {
   6360     return This->lpVtbl->FindPeople(This);
   6361 }
   6362 static FORCEINLINE HRESULT ISearchAssistantOC_GetSearchAssistantURL(ISearchAssistantOC* This,VARIANT_BOOL bSubstitute,VARIANT_BOOL bCustomize,BSTR *pbstrValue) {
   6363     return This->lpVtbl->GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue);
   6364 }
   6365 static FORCEINLINE HRESULT ISearchAssistantOC_NotifySearchSettingsChanged(ISearchAssistantOC* This) {
   6366     return This->lpVtbl->NotifySearchSettingsChanged(This);
   6367 }
   6368 static FORCEINLINE HRESULT ISearchAssistantOC_put_ASProvider(ISearchAssistantOC* This,BSTR pProvider) {
   6369     return This->lpVtbl->put_ASProvider(This,pProvider);
   6370 }
   6371 static FORCEINLINE HRESULT ISearchAssistantOC_get_ASProvider(ISearchAssistantOC* This,BSTR *pProvider) {
   6372     return This->lpVtbl->get_ASProvider(This,pProvider);
   6373 }
   6374 static FORCEINLINE HRESULT ISearchAssistantOC_put_ASSetting(ISearchAssistantOC* This,int pSetting) {
   6375     return This->lpVtbl->put_ASSetting(This,pSetting);
   6376 }
   6377 static FORCEINLINE HRESULT ISearchAssistantOC_get_ASSetting(ISearchAssistantOC* This,int *pSetting) {
   6378     return This->lpVtbl->get_ASSetting(This,pSetting);
   6379 }
   6380 static FORCEINLINE HRESULT ISearchAssistantOC_NETDetectNextNavigate(ISearchAssistantOC* This) {
   6381     return This->lpVtbl->NETDetectNextNavigate(This);
   6382 }
   6383 static FORCEINLINE HRESULT ISearchAssistantOC_PutFindText(ISearchAssistantOC* This,BSTR FindText) {
   6384     return This->lpVtbl->PutFindText(This,FindText);
   6385 }
   6386 static FORCEINLINE HRESULT ISearchAssistantOC_get_Version(ISearchAssistantOC* This,int *pVersion) {
   6387     return This->lpVtbl->get_Version(This,pVersion);
   6388 }
   6389 static FORCEINLINE HRESULT ISearchAssistantOC_EncodeString(ISearchAssistantOC* This,BSTR bstrValue,BSTR bstrCharSet,VARIANT_BOOL bUseUTF8,BSTR *pbstrResult) {
   6390     return This->lpVtbl->EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult);
   6391 }
   6392 #endif
   6393 #endif
   6394 
   6395 #endif
   6396 
   6397 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_AddNextMenuItem_Proxy(
   6398     ISearchAssistantOC* This,
   6399     BSTR bstrText,
   6400     LONG idItem);
   6401 void __RPC_STUB ISearchAssistantOC_AddNextMenuItem_Stub(
   6402     IRpcStubBuffer* This,
   6403     IRpcChannelBuffer* pRpcChannelBuffer,
   6404     PRPC_MESSAGE pRpcMessage,
   6405     DWORD* pdwStubPhase);
   6406 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_SetDefaultSearchUrl_Proxy(
   6407     ISearchAssistantOC* This,
   6408     BSTR bstrUrl);
   6409 void __RPC_STUB ISearchAssistantOC_SetDefaultSearchUrl_Stub(
   6410     IRpcStubBuffer* This,
   6411     IRpcChannelBuffer* pRpcChannelBuffer,
   6412     PRPC_MESSAGE pRpcMessage,
   6413     DWORD* pdwStubPhase);
   6414 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_NavigateToDefaultSearch_Proxy(
   6415     ISearchAssistantOC* This);
   6416 void __RPC_STUB ISearchAssistantOC_NavigateToDefaultSearch_Stub(
   6417     IRpcStubBuffer* This,
   6418     IRpcChannelBuffer* pRpcChannelBuffer,
   6419     PRPC_MESSAGE pRpcMessage,
   6420     DWORD* pdwStubPhase);
   6421 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_IsRestricted_Proxy(
   6422     ISearchAssistantOC* This,
   6423     BSTR bstrGuid,
   6424     VARIANT_BOOL *pVal);
   6425 void __RPC_STUB ISearchAssistantOC_IsRestricted_Stub(
   6426     IRpcStubBuffer* This,
   6427     IRpcChannelBuffer* pRpcChannelBuffer,
   6428     PRPC_MESSAGE pRpcMessage,
   6429     DWORD* pdwStubPhase);
   6430 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_get_ShellFeaturesEnabled_Proxy(
   6431     ISearchAssistantOC* This,
   6432     VARIANT_BOOL *pVal);
   6433 void __RPC_STUB ISearchAssistantOC_get_ShellFeaturesEnabled_Stub(
   6434     IRpcStubBuffer* This,
   6435     IRpcChannelBuffer* pRpcChannelBuffer,
   6436     PRPC_MESSAGE pRpcMessage,
   6437     DWORD* pdwStubPhase);
   6438 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_get_SearchAssistantDefault_Proxy(
   6439     ISearchAssistantOC* This,
   6440     VARIANT_BOOL *pVal);
   6441 void __RPC_STUB ISearchAssistantOC_get_SearchAssistantDefault_Stub(
   6442     IRpcStubBuffer* This,
   6443     IRpcChannelBuffer* pRpcChannelBuffer,
   6444     PRPC_MESSAGE pRpcMessage,
   6445     DWORD* pdwStubPhase);
   6446 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_get_Searches_Proxy(
   6447     ISearchAssistantOC* This,
   6448     ISearches **ppid);
   6449 void __RPC_STUB ISearchAssistantOC_get_Searches_Stub(
   6450     IRpcStubBuffer* This,
   6451     IRpcChannelBuffer* pRpcChannelBuffer,
   6452     PRPC_MESSAGE pRpcMessage,
   6453     DWORD* pdwStubPhase);
   6454 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_get_InWebFolder_Proxy(
   6455     ISearchAssistantOC* This,
   6456     VARIANT_BOOL *pVal);
   6457 void __RPC_STUB ISearchAssistantOC_get_InWebFolder_Stub(
   6458     IRpcStubBuffer* This,
   6459     IRpcChannelBuffer* pRpcChannelBuffer,
   6460     PRPC_MESSAGE pRpcMessage,
   6461     DWORD* pdwStubPhase);
   6462 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_PutProperty_Proxy(
   6463     ISearchAssistantOC* This,
   6464     VARIANT_BOOL bPerLocale,
   6465     BSTR bstrName,
   6466     BSTR bstrValue);
   6467 void __RPC_STUB ISearchAssistantOC_PutProperty_Stub(
   6468     IRpcStubBuffer* This,
   6469     IRpcChannelBuffer* pRpcChannelBuffer,
   6470     PRPC_MESSAGE pRpcMessage,
   6471     DWORD* pdwStubPhase);
   6472 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_GetProperty_Proxy(
   6473     ISearchAssistantOC* This,
   6474     VARIANT_BOOL bPerLocale,
   6475     BSTR bstrName,
   6476     BSTR *pbstrValue);
   6477 void __RPC_STUB ISearchAssistantOC_GetProperty_Stub(
   6478     IRpcStubBuffer* This,
   6479     IRpcChannelBuffer* pRpcChannelBuffer,
   6480     PRPC_MESSAGE pRpcMessage,
   6481     DWORD* pdwStubPhase);
   6482 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_put_EventHandled_Proxy(
   6483     ISearchAssistantOC* This,
   6484     VARIANT_BOOL rhs);
   6485 void __RPC_STUB ISearchAssistantOC_put_EventHandled_Stub(
   6486     IRpcStubBuffer* This,
   6487     IRpcChannelBuffer* pRpcChannelBuffer,
   6488     PRPC_MESSAGE pRpcMessage,
   6489     DWORD* pdwStubPhase);
   6490 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_ResetNextMenu_Proxy(
   6491     ISearchAssistantOC* This);
   6492 void __RPC_STUB ISearchAssistantOC_ResetNextMenu_Stub(
   6493     IRpcStubBuffer* This,
   6494     IRpcChannelBuffer* pRpcChannelBuffer,
   6495     PRPC_MESSAGE pRpcMessage,
   6496     DWORD* pdwStubPhase);
   6497 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_FindOnWeb_Proxy(
   6498     ISearchAssistantOC* This);
   6499 void __RPC_STUB ISearchAssistantOC_FindOnWeb_Stub(
   6500     IRpcStubBuffer* This,
   6501     IRpcChannelBuffer* pRpcChannelBuffer,
   6502     PRPC_MESSAGE pRpcMessage,
   6503     DWORD* pdwStubPhase);
   6504 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_FindFilesOrFolders_Proxy(
   6505     ISearchAssistantOC* This);
   6506 void __RPC_STUB ISearchAssistantOC_FindFilesOrFolders_Stub(
   6507     IRpcStubBuffer* This,
   6508     IRpcChannelBuffer* pRpcChannelBuffer,
   6509     PRPC_MESSAGE pRpcMessage,
   6510     DWORD* pdwStubPhase);
   6511 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_FindComputer_Proxy(
   6512     ISearchAssistantOC* This);
   6513 void __RPC_STUB ISearchAssistantOC_FindComputer_Stub(
   6514     IRpcStubBuffer* This,
   6515     IRpcChannelBuffer* pRpcChannelBuffer,
   6516     PRPC_MESSAGE pRpcMessage,
   6517     DWORD* pdwStubPhase);
   6518 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_FindPrinter_Proxy(
   6519     ISearchAssistantOC* This);
   6520 void __RPC_STUB ISearchAssistantOC_FindPrinter_Stub(
   6521     IRpcStubBuffer* This,
   6522     IRpcChannelBuffer* pRpcChannelBuffer,
   6523     PRPC_MESSAGE pRpcMessage,
   6524     DWORD* pdwStubPhase);
   6525 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_FindPeople_Proxy(
   6526     ISearchAssistantOC* This);
   6527 void __RPC_STUB ISearchAssistantOC_FindPeople_Stub(
   6528     IRpcStubBuffer* This,
   6529     IRpcChannelBuffer* pRpcChannelBuffer,
   6530     PRPC_MESSAGE pRpcMessage,
   6531     DWORD* pdwStubPhase);
   6532 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_GetSearchAssistantURL_Proxy(
   6533     ISearchAssistantOC* This,
   6534     VARIANT_BOOL bSubstitute,
   6535     VARIANT_BOOL bCustomize,
   6536     BSTR *pbstrValue);
   6537 void __RPC_STUB ISearchAssistantOC_GetSearchAssistantURL_Stub(
   6538     IRpcStubBuffer* This,
   6539     IRpcChannelBuffer* pRpcChannelBuffer,
   6540     PRPC_MESSAGE pRpcMessage,
   6541     DWORD* pdwStubPhase);
   6542 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_NotifySearchSettingsChanged_Proxy(
   6543     ISearchAssistantOC* This);
   6544 void __RPC_STUB ISearchAssistantOC_NotifySearchSettingsChanged_Stub(
   6545     IRpcStubBuffer* This,
   6546     IRpcChannelBuffer* pRpcChannelBuffer,
   6547     PRPC_MESSAGE pRpcMessage,
   6548     DWORD* pdwStubPhase);
   6549 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_put_ASProvider_Proxy(
   6550     ISearchAssistantOC* This,
   6551     BSTR pProvider);
   6552 void __RPC_STUB ISearchAssistantOC_put_ASProvider_Stub(
   6553     IRpcStubBuffer* This,
   6554     IRpcChannelBuffer* pRpcChannelBuffer,
   6555     PRPC_MESSAGE pRpcMessage,
   6556     DWORD* pdwStubPhase);
   6557 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_get_ASProvider_Proxy(
   6558     ISearchAssistantOC* This,
   6559     BSTR *pProvider);
   6560 void __RPC_STUB ISearchAssistantOC_get_ASProvider_Stub(
   6561     IRpcStubBuffer* This,
   6562     IRpcChannelBuffer* pRpcChannelBuffer,
   6563     PRPC_MESSAGE pRpcMessage,
   6564     DWORD* pdwStubPhase);
   6565 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_put_ASSetting_Proxy(
   6566     ISearchAssistantOC* This,
   6567     int pSetting);
   6568 void __RPC_STUB ISearchAssistantOC_put_ASSetting_Stub(
   6569     IRpcStubBuffer* This,
   6570     IRpcChannelBuffer* pRpcChannelBuffer,
   6571     PRPC_MESSAGE pRpcMessage,
   6572     DWORD* pdwStubPhase);
   6573 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_get_ASSetting_Proxy(
   6574     ISearchAssistantOC* This,
   6575     int *pSetting);
   6576 void __RPC_STUB ISearchAssistantOC_get_ASSetting_Stub(
   6577     IRpcStubBuffer* This,
   6578     IRpcChannelBuffer* pRpcChannelBuffer,
   6579     PRPC_MESSAGE pRpcMessage,
   6580     DWORD* pdwStubPhase);
   6581 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_NETDetectNextNavigate_Proxy(
   6582     ISearchAssistantOC* This);
   6583 void __RPC_STUB ISearchAssistantOC_NETDetectNextNavigate_Stub(
   6584     IRpcStubBuffer* This,
   6585     IRpcChannelBuffer* pRpcChannelBuffer,
   6586     PRPC_MESSAGE pRpcMessage,
   6587     DWORD* pdwStubPhase);
   6588 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_PutFindText_Proxy(
   6589     ISearchAssistantOC* This,
   6590     BSTR FindText);
   6591 void __RPC_STUB ISearchAssistantOC_PutFindText_Stub(
   6592     IRpcStubBuffer* This,
   6593     IRpcChannelBuffer* pRpcChannelBuffer,
   6594     PRPC_MESSAGE pRpcMessage,
   6595     DWORD* pdwStubPhase);
   6596 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_get_Version_Proxy(
   6597     ISearchAssistantOC* This,
   6598     int *pVersion);
   6599 void __RPC_STUB ISearchAssistantOC_get_Version_Stub(
   6600     IRpcStubBuffer* This,
   6601     IRpcChannelBuffer* pRpcChannelBuffer,
   6602     PRPC_MESSAGE pRpcMessage,
   6603     DWORD* pdwStubPhase);
   6604 HRESULT STDMETHODCALLTYPE ISearchAssistantOC_EncodeString_Proxy(
   6605     ISearchAssistantOC* This,
   6606     BSTR bstrValue,
   6607     BSTR bstrCharSet,
   6608     VARIANT_BOOL bUseUTF8,
   6609     BSTR *pbstrResult);
   6610 void __RPC_STUB ISearchAssistantOC_EncodeString_Stub(
   6611     IRpcStubBuffer* This,
   6612     IRpcChannelBuffer* pRpcChannelBuffer,
   6613     PRPC_MESSAGE pRpcMessage,
   6614     DWORD* pdwStubPhase);
   6615 
   6616 #endif  /* __ISearchAssistantOC_INTERFACE_DEFINED__ */
   6617 
   6618 /*****************************************************************************
   6619  * ISearchAssistantOC2 interface
   6620  */
   6621 #ifndef __ISearchAssistantOC2_INTERFACE_DEFINED__
   6622 #define __ISearchAssistantOC2_INTERFACE_DEFINED__
   6623 
   6624 DEFINE_GUID(IID_ISearchAssistantOC2, 0x72423e8f, 0x8011, 0x11d2, 0xbe,0x79, 0x00,0xa0,0xc9,0xa8,0x3d,0xa2);
   6625 #if defined(__cplusplus) && !defined(CINTERFACE)
   6626 MIDL_INTERFACE("72423e8f-8011-11d2-be79-00a0c9a83da2")
   6627 ISearchAssistantOC2 : public ISearchAssistantOC
   6628 {
   6629     virtual HRESULT STDMETHODCALLTYPE get_ShowFindPrinter(
   6630         VARIANT_BOOL *pbShowFindPrinter) = 0;
   6631 
   6632 };
   6633 #ifdef __CRT_UUID_DECL
   6634 __CRT_UUID_DECL(ISearchAssistantOC2, 0x72423e8f, 0x8011, 0x11d2, 0xbe,0x79, 0x00,0xa0,0xc9,0xa8,0x3d,0xa2)
   6635 #endif
   6636 #else
   6637 typedef struct ISearchAssistantOC2Vtbl {
   6638     BEGIN_INTERFACE
   6639 
   6640     /*** IUnknown methods ***/
   6641     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   6642         ISearchAssistantOC2* This,
   6643         REFIID riid,
   6644         void **ppvObject);
   6645 
   6646     ULONG (STDMETHODCALLTYPE *AddRef)(
   6647         ISearchAssistantOC2* This);
   6648 
   6649     ULONG (STDMETHODCALLTYPE *Release)(
   6650         ISearchAssistantOC2* This);
   6651 
   6652     /*** IDispatch methods ***/
   6653     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   6654         ISearchAssistantOC2* This,
   6655         UINT *pctinfo);
   6656 
   6657     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   6658         ISearchAssistantOC2* This,
   6659         UINT iTInfo,
   6660         LCID lcid,
   6661         ITypeInfo **ppTInfo);
   6662 
   6663     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   6664         ISearchAssistantOC2* This,
   6665         REFIID riid,
   6666         LPOLESTR *rgszNames,
   6667         UINT cNames,
   6668         LCID lcid,
   6669         DISPID *rgDispId);
   6670 
   6671     HRESULT (STDMETHODCALLTYPE *Invoke)(
   6672         ISearchAssistantOC2* This,
   6673         DISPID dispIdMember,
   6674         REFIID riid,
   6675         LCID lcid,
   6676         WORD wFlags,
   6677         DISPPARAMS *pDispParams,
   6678         VARIANT *pVarResult,
   6679         EXCEPINFO *pExcepInfo,
   6680         UINT *puArgErr);
   6681 
   6682     /*** ISearchAssistantOC methods ***/
   6683     HRESULT (STDMETHODCALLTYPE *AddNextMenuItem)(
   6684         ISearchAssistantOC2* This,
   6685         BSTR bstrText,
   6686         LONG idItem);
   6687 
   6688     HRESULT (STDMETHODCALLTYPE *SetDefaultSearchUrl)(
   6689         ISearchAssistantOC2* This,
   6690         BSTR bstrUrl);
   6691 
   6692     HRESULT (STDMETHODCALLTYPE *NavigateToDefaultSearch)(
   6693         ISearchAssistantOC2* This);
   6694 
   6695     HRESULT (STDMETHODCALLTYPE *IsRestricted)(
   6696         ISearchAssistantOC2* This,
   6697         BSTR bstrGuid,
   6698         VARIANT_BOOL *pVal);
   6699 
   6700     HRESULT (STDMETHODCALLTYPE *get_ShellFeaturesEnabled)(
   6701         ISearchAssistantOC2* This,
   6702         VARIANT_BOOL *pVal);
   6703 
   6704     HRESULT (STDMETHODCALLTYPE *get_SearchAssistantDefault)(
   6705         ISearchAssistantOC2* This,
   6706         VARIANT_BOOL *pVal);
   6707 
   6708     HRESULT (STDMETHODCALLTYPE *get_Searches)(
   6709         ISearchAssistantOC2* This,
   6710         ISearches **ppid);
   6711 
   6712     HRESULT (STDMETHODCALLTYPE *get_InWebFolder)(
   6713         ISearchAssistantOC2* This,
   6714         VARIANT_BOOL *pVal);
   6715 
   6716     HRESULT (STDMETHODCALLTYPE *PutProperty)(
   6717         ISearchAssistantOC2* This,
   6718         VARIANT_BOOL bPerLocale,
   6719         BSTR bstrName,
   6720         BSTR bstrValue);
   6721 
   6722     HRESULT (STDMETHODCALLTYPE *GetProperty)(
   6723         ISearchAssistantOC2* This,
   6724         VARIANT_BOOL bPerLocale,
   6725         BSTR bstrName,
   6726         BSTR *pbstrValue);
   6727 
   6728     HRESULT (STDMETHODCALLTYPE *put_EventHandled)(
   6729         ISearchAssistantOC2* This,
   6730         VARIANT_BOOL rhs);
   6731 
   6732     HRESULT (STDMETHODCALLTYPE *ResetNextMenu)(
   6733         ISearchAssistantOC2* This);
   6734 
   6735     HRESULT (STDMETHODCALLTYPE *FindOnWeb)(
   6736         ISearchAssistantOC2* This);
   6737 
   6738     HRESULT (STDMETHODCALLTYPE *FindFilesOrFolders)(
   6739         ISearchAssistantOC2* This);
   6740 
   6741     HRESULT (STDMETHODCALLTYPE *FindComputer)(
   6742         ISearchAssistantOC2* This);
   6743 
   6744     HRESULT (STDMETHODCALLTYPE *FindPrinter)(
   6745         ISearchAssistantOC2* This);
   6746 
   6747     HRESULT (STDMETHODCALLTYPE *FindPeople)(
   6748         ISearchAssistantOC2* This);
   6749 
   6750     HRESULT (STDMETHODCALLTYPE *GetSearchAssistantURL)(
   6751         ISearchAssistantOC2* This,
   6752         VARIANT_BOOL bSubstitute,
   6753         VARIANT_BOOL bCustomize,
   6754         BSTR *pbstrValue);
   6755 
   6756     HRESULT (STDMETHODCALLTYPE *NotifySearchSettingsChanged)(
   6757         ISearchAssistantOC2* This);
   6758 
   6759     HRESULT (STDMETHODCALLTYPE *put_ASProvider)(
   6760         ISearchAssistantOC2* This,
   6761         BSTR pProvider);
   6762 
   6763     HRESULT (STDMETHODCALLTYPE *get_ASProvider)(
   6764         ISearchAssistantOC2* This,
   6765         BSTR *pProvider);
   6766 
   6767     HRESULT (STDMETHODCALLTYPE *put_ASSetting)(
   6768         ISearchAssistantOC2* This,
   6769         int pSetting);
   6770 
   6771     HRESULT (STDMETHODCALLTYPE *get_ASSetting)(
   6772         ISearchAssistantOC2* This,
   6773         int *pSetting);
   6774 
   6775     HRESULT (STDMETHODCALLTYPE *NETDetectNextNavigate)(
   6776         ISearchAssistantOC2* This);
   6777 
   6778     HRESULT (STDMETHODCALLTYPE *PutFindText)(
   6779         ISearchAssistantOC2* This,
   6780         BSTR FindText);
   6781 
   6782     HRESULT (STDMETHODCALLTYPE *get_Version)(
   6783         ISearchAssistantOC2* This,
   6784         int *pVersion);
   6785 
   6786     HRESULT (STDMETHODCALLTYPE *EncodeString)(
   6787         ISearchAssistantOC2* This,
   6788         BSTR bstrValue,
   6789         BSTR bstrCharSet,
   6790         VARIANT_BOOL bUseUTF8,
   6791         BSTR *pbstrResult);
   6792 
   6793     /*** ISearchAssistantOC2 methods ***/
   6794     HRESULT (STDMETHODCALLTYPE *get_ShowFindPrinter)(
   6795         ISearchAssistantOC2* This,
   6796         VARIANT_BOOL *pbShowFindPrinter);
   6797 
   6798     END_INTERFACE
   6799 } ISearchAssistantOC2Vtbl;
   6800 interface ISearchAssistantOC2 {
   6801     CONST_VTBL ISearchAssistantOC2Vtbl* lpVtbl;
   6802 };
   6803 
   6804 #ifdef COBJMACROS
   6805 #ifndef WIDL_C_INLINE_WRAPPERS
   6806 /*** IUnknown methods ***/
   6807 #define ISearchAssistantOC2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   6808 #define ISearchAssistantOC2_AddRef(This) (This)->lpVtbl->AddRef(This)
   6809 #define ISearchAssistantOC2_Release(This) (This)->lpVtbl->Release(This)
   6810 /*** IDispatch methods ***/
   6811 #define ISearchAssistantOC2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   6812 #define ISearchAssistantOC2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   6813 #define ISearchAssistantOC2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   6814 #define ISearchAssistantOC2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   6815 /*** ISearchAssistantOC methods ***/
   6816 #define ISearchAssistantOC2_AddNextMenuItem(This,bstrText,idItem) (This)->lpVtbl->AddNextMenuItem(This,bstrText,idItem)
   6817 #define ISearchAssistantOC2_SetDefaultSearchUrl(This,bstrUrl) (This)->lpVtbl->SetDefaultSearchUrl(This,bstrUrl)
   6818 #define ISearchAssistantOC2_NavigateToDefaultSearch(This) (This)->lpVtbl->NavigateToDefaultSearch(This)
   6819 #define ISearchAssistantOC2_IsRestricted(This,bstrGuid,pVal) (This)->lpVtbl->IsRestricted(This,bstrGuid,pVal)
   6820 #define ISearchAssistantOC2_get_ShellFeaturesEnabled(This,pVal) (This)->lpVtbl->get_ShellFeaturesEnabled(This,pVal)
   6821 #define ISearchAssistantOC2_get_SearchAssistantDefault(This,pVal) (This)->lpVtbl->get_SearchAssistantDefault(This,pVal)
   6822 #define ISearchAssistantOC2_get_Searches(This,ppid) (This)->lpVtbl->get_Searches(This,ppid)
   6823 #define ISearchAssistantOC2_get_InWebFolder(This,pVal) (This)->lpVtbl->get_InWebFolder(This,pVal)
   6824 #define ISearchAssistantOC2_PutProperty(This,bPerLocale,bstrName,bstrValue) (This)->lpVtbl->PutProperty(This,bPerLocale,bstrName,bstrValue)
   6825 #define ISearchAssistantOC2_GetProperty(This,bPerLocale,bstrName,pbstrValue) (This)->lpVtbl->GetProperty(This,bPerLocale,bstrName,pbstrValue)
   6826 #define ISearchAssistantOC2_put_EventHandled(This,rhs) (This)->lpVtbl->put_EventHandled(This,rhs)
   6827 #define ISearchAssistantOC2_ResetNextMenu(This) (This)->lpVtbl->ResetNextMenu(This)
   6828 #define ISearchAssistantOC2_FindOnWeb(This) (This)->lpVtbl->FindOnWeb(This)
   6829 #define ISearchAssistantOC2_FindFilesOrFolders(This) (This)->lpVtbl->FindFilesOrFolders(This)
   6830 #define ISearchAssistantOC2_FindComputer(This) (This)->lpVtbl->FindComputer(This)
   6831 #define ISearchAssistantOC2_FindPrinter(This) (This)->lpVtbl->FindPrinter(This)
   6832 #define ISearchAssistantOC2_FindPeople(This) (This)->lpVtbl->FindPeople(This)
   6833 #define ISearchAssistantOC2_GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue) (This)->lpVtbl->GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue)
   6834 #define ISearchAssistantOC2_NotifySearchSettingsChanged(This) (This)->lpVtbl->NotifySearchSettingsChanged(This)
   6835 #define ISearchAssistantOC2_put_ASProvider(This,pProvider) (This)->lpVtbl->put_ASProvider(This,pProvider)
   6836 #define ISearchAssistantOC2_get_ASProvider(This,pProvider) (This)->lpVtbl->get_ASProvider(This,pProvider)
   6837 #define ISearchAssistantOC2_put_ASSetting(This,pSetting) (This)->lpVtbl->put_ASSetting(This,pSetting)
   6838 #define ISearchAssistantOC2_get_ASSetting(This,pSetting) (This)->lpVtbl->get_ASSetting(This,pSetting)
   6839 #define ISearchAssistantOC2_NETDetectNextNavigate(This) (This)->lpVtbl->NETDetectNextNavigate(This)
   6840 #define ISearchAssistantOC2_PutFindText(This,FindText) (This)->lpVtbl->PutFindText(This,FindText)
   6841 #define ISearchAssistantOC2_get_Version(This,pVersion) (This)->lpVtbl->get_Version(This,pVersion)
   6842 #define ISearchAssistantOC2_EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult) (This)->lpVtbl->EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult)
   6843 /*** ISearchAssistantOC2 methods ***/
   6844 #define ISearchAssistantOC2_get_ShowFindPrinter(This,pbShowFindPrinter) (This)->lpVtbl->get_ShowFindPrinter(This,pbShowFindPrinter)
   6845 #else
   6846 /*** IUnknown methods ***/
   6847 static FORCEINLINE HRESULT ISearchAssistantOC2_QueryInterface(ISearchAssistantOC2* This,REFIID riid,void **ppvObject) {
   6848     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   6849 }
   6850 static FORCEINLINE ULONG ISearchAssistantOC2_AddRef(ISearchAssistantOC2* This) {
   6851     return This->lpVtbl->AddRef(This);
   6852 }
   6853 static FORCEINLINE ULONG ISearchAssistantOC2_Release(ISearchAssistantOC2* This) {
   6854     return This->lpVtbl->Release(This);
   6855 }
   6856 /*** IDispatch methods ***/
   6857 static FORCEINLINE HRESULT ISearchAssistantOC2_GetTypeInfoCount(ISearchAssistantOC2* This,UINT *pctinfo) {
   6858     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   6859 }
   6860 static FORCEINLINE HRESULT ISearchAssistantOC2_GetTypeInfo(ISearchAssistantOC2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   6861     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   6862 }
   6863 static FORCEINLINE HRESULT ISearchAssistantOC2_GetIDsOfNames(ISearchAssistantOC2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   6864     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   6865 }
   6866 static FORCEINLINE HRESULT ISearchAssistantOC2_Invoke(ISearchAssistantOC2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   6867     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   6868 }
   6869 /*** ISearchAssistantOC methods ***/
   6870 static FORCEINLINE HRESULT ISearchAssistantOC2_AddNextMenuItem(ISearchAssistantOC2* This,BSTR bstrText,LONG idItem) {
   6871     return This->lpVtbl->AddNextMenuItem(This,bstrText,idItem);
   6872 }
   6873 static FORCEINLINE HRESULT ISearchAssistantOC2_SetDefaultSearchUrl(ISearchAssistantOC2* This,BSTR bstrUrl) {
   6874     return This->lpVtbl->SetDefaultSearchUrl(This,bstrUrl);
   6875 }
   6876 static FORCEINLINE HRESULT ISearchAssistantOC2_NavigateToDefaultSearch(ISearchAssistantOC2* This) {
   6877     return This->lpVtbl->NavigateToDefaultSearch(This);
   6878 }
   6879 static FORCEINLINE HRESULT ISearchAssistantOC2_IsRestricted(ISearchAssistantOC2* This,BSTR bstrGuid,VARIANT_BOOL *pVal) {
   6880     return This->lpVtbl->IsRestricted(This,bstrGuid,pVal);
   6881 }
   6882 static FORCEINLINE HRESULT ISearchAssistantOC2_get_ShellFeaturesEnabled(ISearchAssistantOC2* This,VARIANT_BOOL *pVal) {
   6883     return This->lpVtbl->get_ShellFeaturesEnabled(This,pVal);
   6884 }
   6885 static FORCEINLINE HRESULT ISearchAssistantOC2_get_SearchAssistantDefault(ISearchAssistantOC2* This,VARIANT_BOOL *pVal) {
   6886     return This->lpVtbl->get_SearchAssistantDefault(This,pVal);
   6887 }
   6888 static FORCEINLINE HRESULT ISearchAssistantOC2_get_Searches(ISearchAssistantOC2* This,ISearches **ppid) {
   6889     return This->lpVtbl->get_Searches(This,ppid);
   6890 }
   6891 static FORCEINLINE HRESULT ISearchAssistantOC2_get_InWebFolder(ISearchAssistantOC2* This,VARIANT_BOOL *pVal) {
   6892     return This->lpVtbl->get_InWebFolder(This,pVal);
   6893 }
   6894 static FORCEINLINE HRESULT ISearchAssistantOC2_PutProperty(ISearchAssistantOC2* This,VARIANT_BOOL bPerLocale,BSTR bstrName,BSTR bstrValue) {
   6895     return This->lpVtbl->PutProperty(This,bPerLocale,bstrName,bstrValue);
   6896 }
   6897 static FORCEINLINE HRESULT ISearchAssistantOC2_GetProperty(ISearchAssistantOC2* This,VARIANT_BOOL bPerLocale,BSTR bstrName,BSTR *pbstrValue) {
   6898     return This->lpVtbl->GetProperty(This,bPerLocale,bstrName,pbstrValue);
   6899 }
   6900 static FORCEINLINE HRESULT ISearchAssistantOC2_put_EventHandled(ISearchAssistantOC2* This,VARIANT_BOOL rhs) {
   6901     return This->lpVtbl->put_EventHandled(This,rhs);
   6902 }
   6903 static FORCEINLINE HRESULT ISearchAssistantOC2_ResetNextMenu(ISearchAssistantOC2* This) {
   6904     return This->lpVtbl->ResetNextMenu(This);
   6905 }
   6906 static FORCEINLINE HRESULT ISearchAssistantOC2_FindOnWeb(ISearchAssistantOC2* This) {
   6907     return This->lpVtbl->FindOnWeb(This);
   6908 }
   6909 static FORCEINLINE HRESULT ISearchAssistantOC2_FindFilesOrFolders(ISearchAssistantOC2* This) {
   6910     return This->lpVtbl->FindFilesOrFolders(This);
   6911 }
   6912 static FORCEINLINE HRESULT ISearchAssistantOC2_FindComputer(ISearchAssistantOC2* This) {
   6913     return This->lpVtbl->FindComputer(This);
   6914 }
   6915 static FORCEINLINE HRESULT ISearchAssistantOC2_FindPrinter(ISearchAssistantOC2* This) {
   6916     return This->lpVtbl->FindPrinter(This);
   6917 }
   6918 static FORCEINLINE HRESULT ISearchAssistantOC2_FindPeople(ISearchAssistantOC2* This) {
   6919     return This->lpVtbl->FindPeople(This);
   6920 }
   6921 static FORCEINLINE HRESULT ISearchAssistantOC2_GetSearchAssistantURL(ISearchAssistantOC2* This,VARIANT_BOOL bSubstitute,VARIANT_BOOL bCustomize,BSTR *pbstrValue) {
   6922     return This->lpVtbl->GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue);
   6923 }
   6924 static FORCEINLINE HRESULT ISearchAssistantOC2_NotifySearchSettingsChanged(ISearchAssistantOC2* This) {
   6925     return This->lpVtbl->NotifySearchSettingsChanged(This);
   6926 }
   6927 static FORCEINLINE HRESULT ISearchAssistantOC2_put_ASProvider(ISearchAssistantOC2* This,BSTR pProvider) {
   6928     return This->lpVtbl->put_ASProvider(This,pProvider);
   6929 }
   6930 static FORCEINLINE HRESULT ISearchAssistantOC2_get_ASProvider(ISearchAssistantOC2* This,BSTR *pProvider) {
   6931     return This->lpVtbl->get_ASProvider(This,pProvider);
   6932 }
   6933 static FORCEINLINE HRESULT ISearchAssistantOC2_put_ASSetting(ISearchAssistantOC2* This,int pSetting) {
   6934     return This->lpVtbl->put_ASSetting(This,pSetting);
   6935 }
   6936 static FORCEINLINE HRESULT ISearchAssistantOC2_get_ASSetting(ISearchAssistantOC2* This,int *pSetting) {
   6937     return This->lpVtbl->get_ASSetting(This,pSetting);
   6938 }
   6939 static FORCEINLINE HRESULT ISearchAssistantOC2_NETDetectNextNavigate(ISearchAssistantOC2* This) {
   6940     return This->lpVtbl->NETDetectNextNavigate(This);
   6941 }
   6942 static FORCEINLINE HRESULT ISearchAssistantOC2_PutFindText(ISearchAssistantOC2* This,BSTR FindText) {
   6943     return This->lpVtbl->PutFindText(This,FindText);
   6944 }
   6945 static FORCEINLINE HRESULT ISearchAssistantOC2_get_Version(ISearchAssistantOC2* This,int *pVersion) {
   6946     return This->lpVtbl->get_Version(This,pVersion);
   6947 }
   6948 static FORCEINLINE HRESULT ISearchAssistantOC2_EncodeString(ISearchAssistantOC2* This,BSTR bstrValue,BSTR bstrCharSet,VARIANT_BOOL bUseUTF8,BSTR *pbstrResult) {
   6949     return This->lpVtbl->EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult);
   6950 }
   6951 /*** ISearchAssistantOC2 methods ***/
   6952 static FORCEINLINE HRESULT ISearchAssistantOC2_get_ShowFindPrinter(ISearchAssistantOC2* This,VARIANT_BOOL *pbShowFindPrinter) {
   6953     return This->lpVtbl->get_ShowFindPrinter(This,pbShowFindPrinter);
   6954 }
   6955 #endif
   6956 #endif
   6957 
   6958 #endif
   6959 
   6960 HRESULT STDMETHODCALLTYPE ISearchAssistantOC2_get_ShowFindPrinter_Proxy(
   6961     ISearchAssistantOC2* This,
   6962     VARIANT_BOOL *pbShowFindPrinter);
   6963 void __RPC_STUB ISearchAssistantOC2_get_ShowFindPrinter_Stub(
   6964     IRpcStubBuffer* This,
   6965     IRpcChannelBuffer* pRpcChannelBuffer,
   6966     PRPC_MESSAGE pRpcMessage,
   6967     DWORD* pdwStubPhase);
   6968 
   6969 #endif  /* __ISearchAssistantOC2_INTERFACE_DEFINED__ */
   6970 
   6971 /*****************************************************************************
   6972  * ISearchAssistantOC3 interface
   6973  */
   6974 #ifndef __ISearchAssistantOC3_INTERFACE_DEFINED__
   6975 #define __ISearchAssistantOC3_INTERFACE_DEFINED__
   6976 
   6977 DEFINE_GUID(IID_ISearchAssistantOC3, 0x72423e8f, 0x8011, 0x11d2, 0xbe,0x79, 0x00,0xa0,0xc9,0xa8,0x3d,0xa3);
   6978 #if defined(__cplusplus) && !defined(CINTERFACE)
   6979 MIDL_INTERFACE("72423e8f-8011-11d2-be79-00a0c9a83da3")
   6980 ISearchAssistantOC3 : public ISearchAssistantOC2
   6981 {
   6982     virtual HRESULT STDMETHODCALLTYPE get_SearchCompanionAvailable(
   6983         VARIANT_BOOL *pbAvailable) = 0;
   6984 
   6985     virtual HRESULT STDMETHODCALLTYPE put_UseSearchCompanion(
   6986         VARIANT_BOOL pbUseSC) = 0;
   6987 
   6988     virtual HRESULT STDMETHODCALLTYPE get_UseSearchCompanion(
   6989         VARIANT_BOOL *pbUseSC) = 0;
   6990 
   6991 };
   6992 #ifdef __CRT_UUID_DECL
   6993 __CRT_UUID_DECL(ISearchAssistantOC3, 0x72423e8f, 0x8011, 0x11d2, 0xbe,0x79, 0x00,0xa0,0xc9,0xa8,0x3d,0xa3)
   6994 #endif
   6995 #else
   6996 typedef struct ISearchAssistantOC3Vtbl {
   6997     BEGIN_INTERFACE
   6998 
   6999     /*** IUnknown methods ***/
   7000     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7001         ISearchAssistantOC3* This,
   7002         REFIID riid,
   7003         void **ppvObject);
   7004 
   7005     ULONG (STDMETHODCALLTYPE *AddRef)(
   7006         ISearchAssistantOC3* This);
   7007 
   7008     ULONG (STDMETHODCALLTYPE *Release)(
   7009         ISearchAssistantOC3* This);
   7010 
   7011     /*** IDispatch methods ***/
   7012     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   7013         ISearchAssistantOC3* This,
   7014         UINT *pctinfo);
   7015 
   7016     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   7017         ISearchAssistantOC3* This,
   7018         UINT iTInfo,
   7019         LCID lcid,
   7020         ITypeInfo **ppTInfo);
   7021 
   7022     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   7023         ISearchAssistantOC3* This,
   7024         REFIID riid,
   7025         LPOLESTR *rgszNames,
   7026         UINT cNames,
   7027         LCID lcid,
   7028         DISPID *rgDispId);
   7029 
   7030     HRESULT (STDMETHODCALLTYPE *Invoke)(
   7031         ISearchAssistantOC3* This,
   7032         DISPID dispIdMember,
   7033         REFIID riid,
   7034         LCID lcid,
   7035         WORD wFlags,
   7036         DISPPARAMS *pDispParams,
   7037         VARIANT *pVarResult,
   7038         EXCEPINFO *pExcepInfo,
   7039         UINT *puArgErr);
   7040 
   7041     /*** ISearchAssistantOC methods ***/
   7042     HRESULT (STDMETHODCALLTYPE *AddNextMenuItem)(
   7043         ISearchAssistantOC3* This,
   7044         BSTR bstrText,
   7045         LONG idItem);
   7046 
   7047     HRESULT (STDMETHODCALLTYPE *SetDefaultSearchUrl)(
   7048         ISearchAssistantOC3* This,
   7049         BSTR bstrUrl);
   7050 
   7051     HRESULT (STDMETHODCALLTYPE *NavigateToDefaultSearch)(
   7052         ISearchAssistantOC3* This);
   7053 
   7054     HRESULT (STDMETHODCALLTYPE *IsRestricted)(
   7055         ISearchAssistantOC3* This,
   7056         BSTR bstrGuid,
   7057         VARIANT_BOOL *pVal);
   7058 
   7059     HRESULT (STDMETHODCALLTYPE *get_ShellFeaturesEnabled)(
   7060         ISearchAssistantOC3* This,
   7061         VARIANT_BOOL *pVal);
   7062 
   7063     HRESULT (STDMETHODCALLTYPE *get_SearchAssistantDefault)(
   7064         ISearchAssistantOC3* This,
   7065         VARIANT_BOOL *pVal);
   7066 
   7067     HRESULT (STDMETHODCALLTYPE *get_Searches)(
   7068         ISearchAssistantOC3* This,
   7069         ISearches **ppid);
   7070 
   7071     HRESULT (STDMETHODCALLTYPE *get_InWebFolder)(
   7072         ISearchAssistantOC3* This,
   7073         VARIANT_BOOL *pVal);
   7074 
   7075     HRESULT (STDMETHODCALLTYPE *PutProperty)(
   7076         ISearchAssistantOC3* This,
   7077         VARIANT_BOOL bPerLocale,
   7078         BSTR bstrName,
   7079         BSTR bstrValue);
   7080 
   7081     HRESULT (STDMETHODCALLTYPE *GetProperty)(
   7082         ISearchAssistantOC3* This,
   7083         VARIANT_BOOL bPerLocale,
   7084         BSTR bstrName,
   7085         BSTR *pbstrValue);
   7086 
   7087     HRESULT (STDMETHODCALLTYPE *put_EventHandled)(
   7088         ISearchAssistantOC3* This,
   7089         VARIANT_BOOL rhs);
   7090 
   7091     HRESULT (STDMETHODCALLTYPE *ResetNextMenu)(
   7092         ISearchAssistantOC3* This);
   7093 
   7094     HRESULT (STDMETHODCALLTYPE *FindOnWeb)(
   7095         ISearchAssistantOC3* This);
   7096 
   7097     HRESULT (STDMETHODCALLTYPE *FindFilesOrFolders)(
   7098         ISearchAssistantOC3* This);
   7099 
   7100     HRESULT (STDMETHODCALLTYPE *FindComputer)(
   7101         ISearchAssistantOC3* This);
   7102 
   7103     HRESULT (STDMETHODCALLTYPE *FindPrinter)(
   7104         ISearchAssistantOC3* This);
   7105 
   7106     HRESULT (STDMETHODCALLTYPE *FindPeople)(
   7107         ISearchAssistantOC3* This);
   7108 
   7109     HRESULT (STDMETHODCALLTYPE *GetSearchAssistantURL)(
   7110         ISearchAssistantOC3* This,
   7111         VARIANT_BOOL bSubstitute,
   7112         VARIANT_BOOL bCustomize,
   7113         BSTR *pbstrValue);
   7114 
   7115     HRESULT (STDMETHODCALLTYPE *NotifySearchSettingsChanged)(
   7116         ISearchAssistantOC3* This);
   7117 
   7118     HRESULT (STDMETHODCALLTYPE *put_ASProvider)(
   7119         ISearchAssistantOC3* This,
   7120         BSTR pProvider);
   7121 
   7122     HRESULT (STDMETHODCALLTYPE *get_ASProvider)(
   7123         ISearchAssistantOC3* This,
   7124         BSTR *pProvider);
   7125 
   7126     HRESULT (STDMETHODCALLTYPE *put_ASSetting)(
   7127         ISearchAssistantOC3* This,
   7128         int pSetting);
   7129 
   7130     HRESULT (STDMETHODCALLTYPE *get_ASSetting)(
   7131         ISearchAssistantOC3* This,
   7132         int *pSetting);
   7133 
   7134     HRESULT (STDMETHODCALLTYPE *NETDetectNextNavigate)(
   7135         ISearchAssistantOC3* This);
   7136 
   7137     HRESULT (STDMETHODCALLTYPE *PutFindText)(
   7138         ISearchAssistantOC3* This,
   7139         BSTR FindText);
   7140 
   7141     HRESULT (STDMETHODCALLTYPE *get_Version)(
   7142         ISearchAssistantOC3* This,
   7143         int *pVersion);
   7144 
   7145     HRESULT (STDMETHODCALLTYPE *EncodeString)(
   7146         ISearchAssistantOC3* This,
   7147         BSTR bstrValue,
   7148         BSTR bstrCharSet,
   7149         VARIANT_BOOL bUseUTF8,
   7150         BSTR *pbstrResult);
   7151 
   7152     /*** ISearchAssistantOC2 methods ***/
   7153     HRESULT (STDMETHODCALLTYPE *get_ShowFindPrinter)(
   7154         ISearchAssistantOC3* This,
   7155         VARIANT_BOOL *pbShowFindPrinter);
   7156 
   7157     /*** ISearchAssistantOC3 methods ***/
   7158     HRESULT (STDMETHODCALLTYPE *get_SearchCompanionAvailable)(
   7159         ISearchAssistantOC3* This,
   7160         VARIANT_BOOL *pbAvailable);
   7161 
   7162     HRESULT (STDMETHODCALLTYPE *put_UseSearchCompanion)(
   7163         ISearchAssistantOC3* This,
   7164         VARIANT_BOOL pbUseSC);
   7165 
   7166     HRESULT (STDMETHODCALLTYPE *get_UseSearchCompanion)(
   7167         ISearchAssistantOC3* This,
   7168         VARIANT_BOOL *pbUseSC);
   7169 
   7170     END_INTERFACE
   7171 } ISearchAssistantOC3Vtbl;
   7172 interface ISearchAssistantOC3 {
   7173     CONST_VTBL ISearchAssistantOC3Vtbl* lpVtbl;
   7174 };
   7175 
   7176 #ifdef COBJMACROS
   7177 #ifndef WIDL_C_INLINE_WRAPPERS
   7178 /*** IUnknown methods ***/
   7179 #define ISearchAssistantOC3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7180 #define ISearchAssistantOC3_AddRef(This) (This)->lpVtbl->AddRef(This)
   7181 #define ISearchAssistantOC3_Release(This) (This)->lpVtbl->Release(This)
   7182 /*** IDispatch methods ***/
   7183 #define ISearchAssistantOC3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   7184 #define ISearchAssistantOC3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   7185 #define ISearchAssistantOC3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   7186 #define ISearchAssistantOC3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   7187 /*** ISearchAssistantOC methods ***/
   7188 #define ISearchAssistantOC3_AddNextMenuItem(This,bstrText,idItem) (This)->lpVtbl->AddNextMenuItem(This,bstrText,idItem)
   7189 #define ISearchAssistantOC3_SetDefaultSearchUrl(This,bstrUrl) (This)->lpVtbl->SetDefaultSearchUrl(This,bstrUrl)
   7190 #define ISearchAssistantOC3_NavigateToDefaultSearch(This) (This)->lpVtbl->NavigateToDefaultSearch(This)
   7191 #define ISearchAssistantOC3_IsRestricted(This,bstrGuid,pVal) (This)->lpVtbl->IsRestricted(This,bstrGuid,pVal)
   7192 #define ISearchAssistantOC3_get_ShellFeaturesEnabled(This,pVal) (This)->lpVtbl->get_ShellFeaturesEnabled(This,pVal)
   7193 #define ISearchAssistantOC3_get_SearchAssistantDefault(This,pVal) (This)->lpVtbl->get_SearchAssistantDefault(This,pVal)
   7194 #define ISearchAssistantOC3_get_Searches(This,ppid) (This)->lpVtbl->get_Searches(This,ppid)
   7195 #define ISearchAssistantOC3_get_InWebFolder(This,pVal) (This)->lpVtbl->get_InWebFolder(This,pVal)
   7196 #define ISearchAssistantOC3_PutProperty(This,bPerLocale,bstrName,bstrValue) (This)->lpVtbl->PutProperty(This,bPerLocale,bstrName,bstrValue)
   7197 #define ISearchAssistantOC3_GetProperty(This,bPerLocale,bstrName,pbstrValue) (This)->lpVtbl->GetProperty(This,bPerLocale,bstrName,pbstrValue)
   7198 #define ISearchAssistantOC3_put_EventHandled(This,rhs) (This)->lpVtbl->put_EventHandled(This,rhs)
   7199 #define ISearchAssistantOC3_ResetNextMenu(This) (This)->lpVtbl->ResetNextMenu(This)
   7200 #define ISearchAssistantOC3_FindOnWeb(This) (This)->lpVtbl->FindOnWeb(This)
   7201 #define ISearchAssistantOC3_FindFilesOrFolders(This) (This)->lpVtbl->FindFilesOrFolders(This)
   7202 #define ISearchAssistantOC3_FindComputer(This) (This)->lpVtbl->FindComputer(This)
   7203 #define ISearchAssistantOC3_FindPrinter(This) (This)->lpVtbl->FindPrinter(This)
   7204 #define ISearchAssistantOC3_FindPeople(This) (This)->lpVtbl->FindPeople(This)
   7205 #define ISearchAssistantOC3_GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue) (This)->lpVtbl->GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue)
   7206 #define ISearchAssistantOC3_NotifySearchSettingsChanged(This) (This)->lpVtbl->NotifySearchSettingsChanged(This)
   7207 #define ISearchAssistantOC3_put_ASProvider(This,pProvider) (This)->lpVtbl->put_ASProvider(This,pProvider)
   7208 #define ISearchAssistantOC3_get_ASProvider(This,pProvider) (This)->lpVtbl->get_ASProvider(This,pProvider)
   7209 #define ISearchAssistantOC3_put_ASSetting(This,pSetting) (This)->lpVtbl->put_ASSetting(This,pSetting)
   7210 #define ISearchAssistantOC3_get_ASSetting(This,pSetting) (This)->lpVtbl->get_ASSetting(This,pSetting)
   7211 #define ISearchAssistantOC3_NETDetectNextNavigate(This) (This)->lpVtbl->NETDetectNextNavigate(This)
   7212 #define ISearchAssistantOC3_PutFindText(This,FindText) (This)->lpVtbl->PutFindText(This,FindText)
   7213 #define ISearchAssistantOC3_get_Version(This,pVersion) (This)->lpVtbl->get_Version(This,pVersion)
   7214 #define ISearchAssistantOC3_EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult) (This)->lpVtbl->EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult)
   7215 /*** ISearchAssistantOC2 methods ***/
   7216 #define ISearchAssistantOC3_get_ShowFindPrinter(This,pbShowFindPrinter) (This)->lpVtbl->get_ShowFindPrinter(This,pbShowFindPrinter)
   7217 /*** ISearchAssistantOC3 methods ***/
   7218 #define ISearchAssistantOC3_get_SearchCompanionAvailable(This,pbAvailable) (This)->lpVtbl->get_SearchCompanionAvailable(This,pbAvailable)
   7219 #define ISearchAssistantOC3_put_UseSearchCompanion(This,pbUseSC) (This)->lpVtbl->put_UseSearchCompanion(This,pbUseSC)
   7220 #define ISearchAssistantOC3_get_UseSearchCompanion(This,pbUseSC) (This)->lpVtbl->get_UseSearchCompanion(This,pbUseSC)
   7221 #else
   7222 /*** IUnknown methods ***/
   7223 static FORCEINLINE HRESULT ISearchAssistantOC3_QueryInterface(ISearchAssistantOC3* This,REFIID riid,void **ppvObject) {
   7224     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7225 }
   7226 static FORCEINLINE ULONG ISearchAssistantOC3_AddRef(ISearchAssistantOC3* This) {
   7227     return This->lpVtbl->AddRef(This);
   7228 }
   7229 static FORCEINLINE ULONG ISearchAssistantOC3_Release(ISearchAssistantOC3* This) {
   7230     return This->lpVtbl->Release(This);
   7231 }
   7232 /*** IDispatch methods ***/
   7233 static FORCEINLINE HRESULT ISearchAssistantOC3_GetTypeInfoCount(ISearchAssistantOC3* This,UINT *pctinfo) {
   7234     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   7235 }
   7236 static FORCEINLINE HRESULT ISearchAssistantOC3_GetTypeInfo(ISearchAssistantOC3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   7237     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   7238 }
   7239 static FORCEINLINE HRESULT ISearchAssistantOC3_GetIDsOfNames(ISearchAssistantOC3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   7240     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   7241 }
   7242 static FORCEINLINE HRESULT ISearchAssistantOC3_Invoke(ISearchAssistantOC3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   7243     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   7244 }
   7245 /*** ISearchAssistantOC methods ***/
   7246 static FORCEINLINE HRESULT ISearchAssistantOC3_AddNextMenuItem(ISearchAssistantOC3* This,BSTR bstrText,LONG idItem) {
   7247     return This->lpVtbl->AddNextMenuItem(This,bstrText,idItem);
   7248 }
   7249 static FORCEINLINE HRESULT ISearchAssistantOC3_SetDefaultSearchUrl(ISearchAssistantOC3* This,BSTR bstrUrl) {
   7250     return This->lpVtbl->SetDefaultSearchUrl(This,bstrUrl);
   7251 }
   7252 static FORCEINLINE HRESULT ISearchAssistantOC3_NavigateToDefaultSearch(ISearchAssistantOC3* This) {
   7253     return This->lpVtbl->NavigateToDefaultSearch(This);
   7254 }
   7255 static FORCEINLINE HRESULT ISearchAssistantOC3_IsRestricted(ISearchAssistantOC3* This,BSTR bstrGuid,VARIANT_BOOL *pVal) {
   7256     return This->lpVtbl->IsRestricted(This,bstrGuid,pVal);
   7257 }
   7258 static FORCEINLINE HRESULT ISearchAssistantOC3_get_ShellFeaturesEnabled(ISearchAssistantOC3* This,VARIANT_BOOL *pVal) {
   7259     return This->lpVtbl->get_ShellFeaturesEnabled(This,pVal);
   7260 }
   7261 static FORCEINLINE HRESULT ISearchAssistantOC3_get_SearchAssistantDefault(ISearchAssistantOC3* This,VARIANT_BOOL *pVal) {
   7262     return This->lpVtbl->get_SearchAssistantDefault(This,pVal);
   7263 }
   7264 static FORCEINLINE HRESULT ISearchAssistantOC3_get_Searches(ISearchAssistantOC3* This,ISearches **ppid) {
   7265     return This->lpVtbl->get_Searches(This,ppid);
   7266 }
   7267 static FORCEINLINE HRESULT ISearchAssistantOC3_get_InWebFolder(ISearchAssistantOC3* This,VARIANT_BOOL *pVal) {
   7268     return This->lpVtbl->get_InWebFolder(This,pVal);
   7269 }
   7270 static FORCEINLINE HRESULT ISearchAssistantOC3_PutProperty(ISearchAssistantOC3* This,VARIANT_BOOL bPerLocale,BSTR bstrName,BSTR bstrValue) {
   7271     return This->lpVtbl->PutProperty(This,bPerLocale,bstrName,bstrValue);
   7272 }
   7273 static FORCEINLINE HRESULT ISearchAssistantOC3_GetProperty(ISearchAssistantOC3* This,VARIANT_BOOL bPerLocale,BSTR bstrName,BSTR *pbstrValue) {
   7274     return This->lpVtbl->GetProperty(This,bPerLocale,bstrName,pbstrValue);
   7275 }
   7276 static FORCEINLINE HRESULT ISearchAssistantOC3_put_EventHandled(ISearchAssistantOC3* This,VARIANT_BOOL rhs) {
   7277     return This->lpVtbl->put_EventHandled(This,rhs);
   7278 }
   7279 static FORCEINLINE HRESULT ISearchAssistantOC3_ResetNextMenu(ISearchAssistantOC3* This) {
   7280     return This->lpVtbl->ResetNextMenu(This);
   7281 }
   7282 static FORCEINLINE HRESULT ISearchAssistantOC3_FindOnWeb(ISearchAssistantOC3* This) {
   7283     return This->lpVtbl->FindOnWeb(This);
   7284 }
   7285 static FORCEINLINE HRESULT ISearchAssistantOC3_FindFilesOrFolders(ISearchAssistantOC3* This) {
   7286     return This->lpVtbl->FindFilesOrFolders(This);
   7287 }
   7288 static FORCEINLINE HRESULT ISearchAssistantOC3_FindComputer(ISearchAssistantOC3* This) {
   7289     return This->lpVtbl->FindComputer(This);
   7290 }
   7291 static FORCEINLINE HRESULT ISearchAssistantOC3_FindPrinter(ISearchAssistantOC3* This) {
   7292     return This->lpVtbl->FindPrinter(This);
   7293 }
   7294 static FORCEINLINE HRESULT ISearchAssistantOC3_FindPeople(ISearchAssistantOC3* This) {
   7295     return This->lpVtbl->FindPeople(This);
   7296 }
   7297 static FORCEINLINE HRESULT ISearchAssistantOC3_GetSearchAssistantURL(ISearchAssistantOC3* This,VARIANT_BOOL bSubstitute,VARIANT_BOOL bCustomize,BSTR *pbstrValue) {
   7298     return This->lpVtbl->GetSearchAssistantURL(This,bSubstitute,bCustomize,pbstrValue);
   7299 }
   7300 static FORCEINLINE HRESULT ISearchAssistantOC3_NotifySearchSettingsChanged(ISearchAssistantOC3* This) {
   7301     return This->lpVtbl->NotifySearchSettingsChanged(This);
   7302 }
   7303 static FORCEINLINE HRESULT ISearchAssistantOC3_put_ASProvider(ISearchAssistantOC3* This,BSTR pProvider) {
   7304     return This->lpVtbl->put_ASProvider(This,pProvider);
   7305 }
   7306 static FORCEINLINE HRESULT ISearchAssistantOC3_get_ASProvider(ISearchAssistantOC3* This,BSTR *pProvider) {
   7307     return This->lpVtbl->get_ASProvider(This,pProvider);
   7308 }
   7309 static FORCEINLINE HRESULT ISearchAssistantOC3_put_ASSetting(ISearchAssistantOC3* This,int pSetting) {
   7310     return This->lpVtbl->put_ASSetting(This,pSetting);
   7311 }
   7312 static FORCEINLINE HRESULT ISearchAssistantOC3_get_ASSetting(ISearchAssistantOC3* This,int *pSetting) {
   7313     return This->lpVtbl->get_ASSetting(This,pSetting);
   7314 }
   7315 static FORCEINLINE HRESULT ISearchAssistantOC3_NETDetectNextNavigate(ISearchAssistantOC3* This) {
   7316     return This->lpVtbl->NETDetectNextNavigate(This);
   7317 }
   7318 static FORCEINLINE HRESULT ISearchAssistantOC3_PutFindText(ISearchAssistantOC3* This,BSTR FindText) {
   7319     return This->lpVtbl->PutFindText(This,FindText);
   7320 }
   7321 static FORCEINLINE HRESULT ISearchAssistantOC3_get_Version(ISearchAssistantOC3* This,int *pVersion) {
   7322     return This->lpVtbl->get_Version(This,pVersion);
   7323 }
   7324 static FORCEINLINE HRESULT ISearchAssistantOC3_EncodeString(ISearchAssistantOC3* This,BSTR bstrValue,BSTR bstrCharSet,VARIANT_BOOL bUseUTF8,BSTR *pbstrResult) {
   7325     return This->lpVtbl->EncodeString(This,bstrValue,bstrCharSet,bUseUTF8,pbstrResult);
   7326 }
   7327 /*** ISearchAssistantOC2 methods ***/
   7328 static FORCEINLINE HRESULT ISearchAssistantOC3_get_ShowFindPrinter(ISearchAssistantOC3* This,VARIANT_BOOL *pbShowFindPrinter) {
   7329     return This->lpVtbl->get_ShowFindPrinter(This,pbShowFindPrinter);
   7330 }
   7331 /*** ISearchAssistantOC3 methods ***/
   7332 static FORCEINLINE HRESULT ISearchAssistantOC3_get_SearchCompanionAvailable(ISearchAssistantOC3* This,VARIANT_BOOL *pbAvailable) {
   7333     return This->lpVtbl->get_SearchCompanionAvailable(This,pbAvailable);
   7334 }
   7335 static FORCEINLINE HRESULT ISearchAssistantOC3_put_UseSearchCompanion(ISearchAssistantOC3* This,VARIANT_BOOL pbUseSC) {
   7336     return This->lpVtbl->put_UseSearchCompanion(This,pbUseSC);
   7337 }
   7338 static FORCEINLINE HRESULT ISearchAssistantOC3_get_UseSearchCompanion(ISearchAssistantOC3* This,VARIANT_BOOL *pbUseSC) {
   7339     return This->lpVtbl->get_UseSearchCompanion(This,pbUseSC);
   7340 }
   7341 #endif
   7342 #endif
   7343 
   7344 #endif
   7345 
   7346 HRESULT STDMETHODCALLTYPE ISearchAssistantOC3_get_SearchCompanionAvailable_Proxy(
   7347     ISearchAssistantOC3* This,
   7348     VARIANT_BOOL *pbAvailable);
   7349 void __RPC_STUB ISearchAssistantOC3_get_SearchCompanionAvailable_Stub(
   7350     IRpcStubBuffer* This,
   7351     IRpcChannelBuffer* pRpcChannelBuffer,
   7352     PRPC_MESSAGE pRpcMessage,
   7353     DWORD* pdwStubPhase);
   7354 HRESULT STDMETHODCALLTYPE ISearchAssistantOC3_put_UseSearchCompanion_Proxy(
   7355     ISearchAssistantOC3* This,
   7356     VARIANT_BOOL pbUseSC);
   7357 void __RPC_STUB ISearchAssistantOC3_put_UseSearchCompanion_Stub(
   7358     IRpcStubBuffer* This,
   7359     IRpcChannelBuffer* pRpcChannelBuffer,
   7360     PRPC_MESSAGE pRpcMessage,
   7361     DWORD* pdwStubPhase);
   7362 HRESULT STDMETHODCALLTYPE ISearchAssistantOC3_get_UseSearchCompanion_Proxy(
   7363     ISearchAssistantOC3* This,
   7364     VARIANT_BOOL *pbUseSC);
   7365 void __RPC_STUB ISearchAssistantOC3_get_UseSearchCompanion_Stub(
   7366     IRpcStubBuffer* This,
   7367     IRpcChannelBuffer* pRpcChannelBuffer,
   7368     PRPC_MESSAGE pRpcMessage,
   7369     DWORD* pdwStubPhase);
   7370 
   7371 #endif  /* __ISearchAssistantOC3_INTERFACE_DEFINED__ */
   7372 
   7373 /*****************************************************************************
   7374  * _SearchAssistantEvents dispinterface
   7375  */
   7376 #ifndef ___SearchAssistantEvents_DISPINTERFACE_DEFINED__
   7377 #define ___SearchAssistantEvents_DISPINTERFACE_DEFINED__
   7378 
   7379 DEFINE_GUID(DIID__SearchAssistantEvents, 0x1611fdda, 0x445b, 0x11d2, 0x85,0xde, 0x00,0xc0,0x4f,0xa3,0x5c,0x89);
   7380 #if defined(__cplusplus) && !defined(CINTERFACE)
   7381 MIDL_INTERFACE("1611fdda-445b-11d2-85de-00c04fa35c89")
   7382 _SearchAssistantEvents : public IDispatch
   7383 {
   7384 };
   7385 #ifdef __CRT_UUID_DECL
   7386 __CRT_UUID_DECL(_SearchAssistantEvents, 0x1611fdda, 0x445b, 0x11d2, 0x85,0xde, 0x00,0xc0,0x4f,0xa3,0x5c,0x89)
   7387 #endif
   7388 #else
   7389 typedef struct _SearchAssistantEventsVtbl {
   7390     BEGIN_INTERFACE
   7391 
   7392     /*** IUnknown methods ***/
   7393     HRESULT (STDMETHODCALLTYPE *QueryInterface)(
   7394         _SearchAssistantEvents* This,
   7395         REFIID riid,
   7396         void **ppvObject);
   7397 
   7398     ULONG (STDMETHODCALLTYPE *AddRef)(
   7399         _SearchAssistantEvents* This);
   7400 
   7401     ULONG (STDMETHODCALLTYPE *Release)(
   7402         _SearchAssistantEvents* This);
   7403 
   7404     /*** IDispatch methods ***/
   7405     HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
   7406         _SearchAssistantEvents* This,
   7407         UINT *pctinfo);
   7408 
   7409     HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
   7410         _SearchAssistantEvents* This,
   7411         UINT iTInfo,
   7412         LCID lcid,
   7413         ITypeInfo **ppTInfo);
   7414 
   7415     HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
   7416         _SearchAssistantEvents* This,
   7417         REFIID riid,
   7418         LPOLESTR *rgszNames,
   7419         UINT cNames,
   7420         LCID lcid,
   7421         DISPID *rgDispId);
   7422 
   7423     HRESULT (STDMETHODCALLTYPE *Invoke)(
   7424         _SearchAssistantEvents* This,
   7425         DISPID dispIdMember,
   7426         REFIID riid,
   7427         LCID lcid,
   7428         WORD wFlags,
   7429         DISPPARAMS *pDispParams,
   7430         VARIANT *pVarResult,
   7431         EXCEPINFO *pExcepInfo,
   7432         UINT *puArgErr);
   7433 
   7434     END_INTERFACE
   7435 } _SearchAssistantEventsVtbl;
   7436 interface _SearchAssistantEvents {
   7437     CONST_VTBL _SearchAssistantEventsVtbl* lpVtbl;
   7438 };
   7439 
   7440 #ifdef COBJMACROS
   7441 #ifndef WIDL_C_INLINE_WRAPPERS
   7442 /*** IUnknown methods ***/
   7443 #define _SearchAssistantEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   7444 #define _SearchAssistantEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
   7445 #define _SearchAssistantEvents_Release(This) (This)->lpVtbl->Release(This)
   7446 /*** IDispatch methods ***/
   7447 #define _SearchAssistantEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   7448 #define _SearchAssistantEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   7449 #define _SearchAssistantEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   7450 #define _SearchAssistantEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   7451 #else
   7452 /*** IUnknown methods ***/
   7453 static FORCEINLINE HRESULT _SearchAssistantEvents_QueryInterface(_SearchAssistantEvents* This,REFIID riid,void **ppvObject) {
   7454     return This->lpVtbl->QueryInterface(This,riid,ppvObject);
   7455 }
   7456 static FORCEINLINE ULONG _SearchAssistantEvents_AddRef(_SearchAssistantEvents* This) {
   7457     return This->lpVtbl->AddRef(This);
   7458 }
   7459 static FORCEINLINE ULONG _SearchAssistantEvents_Release(_SearchAssistantEvents* This) {
   7460     return This->lpVtbl->Release(This);
   7461 }
   7462 /*** IDispatch methods ***/
   7463 static FORCEINLINE HRESULT _SearchAssistantEvents_GetTypeInfoCount(_SearchAssistantEvents* This,UINT *pctinfo) {
   7464     return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
   7465 }
   7466 static FORCEINLINE HRESULT _SearchAssistantEvents_GetTypeInfo(_SearchAssistantEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
   7467     return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
   7468 }
   7469 static FORCEINLINE HRESULT _SearchAssistantEvents_GetIDsOfNames(_SearchAssistantEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
   7470     return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
   7471 }
   7472 static FORCEINLINE HRESULT _SearchAssistantEvents_Invoke(_SearchAssistantEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
   7473     return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
   7474 }
   7475 #endif
   7476 #endif
   7477 
   7478 #endif
   7479 
   7480 #endif  /* ___SearchAssistantEvents_DISPINTERFACE_DEFINED__ */
   7481 
   7482 /*****************************************************************************
   7483  * ShellSearchAssistantOC coclass
   7484  */
   7485 
   7486 DEFINE_GUID(CLSID_ShellSearchAssistantOC, 0x2e71fd0f, 0xaab1, 0x42c0, 0x91,0x46, 0x6d,0x2c,0x4e,0xdc,0xf0,0x7d);
   7487 
   7488 #ifdef __cplusplus
   7489 class DECLSPEC_UUID("2e71fd0f-aab1-42c0-9146-6d2c4edcf07d") ShellSearchAssistantOC;
   7490 #ifdef __CRT_UUID_DECL
   7491 __CRT_UUID_DECL(ShellSearchAssistantOC, 0x2e71fd0f, 0xaab1, 0x42c0, 0x91,0x46, 0x6d,0x2c,0x4e,0xdc,0xf0,0x7d)
   7492 #endif
   7493 #endif
   7494 
   7495 /*****************************************************************************
   7496  * SearchAssistantOC coclass
   7497  */
   7498 
   7499 DEFINE_GUID(CLSID_SearchAssistantOC, 0xb45ff030, 0x4447, 0x11d2, 0x85,0xde, 0x00,0xc0,0x4f,0xa3,0x5c,0x89);
   7500 
   7501 #ifdef __cplusplus
   7502 class DECLSPEC_UUID("b45ff030-4447-11d2-85de-00c04fa35c89") SearchAssistantOC;
   7503 #ifdef __CRT_UUID_DECL
   7504 __CRT_UUID_DECL(SearchAssistantOC, 0xb45ff030, 0x4447, 0x11d2, 0x85,0xde, 0x00,0xc0,0x4f,0xa3,0x5c,0x89)
   7505 #endif
   7506 #endif
   7507 
   7508 /* Begin additional prototypes for all interfaces */
   7509 
   7510 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
   7511 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
   7512 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
   7513 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
   7514 ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
   7515 unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
   7516 unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
   7517 void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
   7518 
   7519 /* End additional prototypes */
   7520 
   7521 #ifdef __cplusplus
   7522 }
   7523 #endif
   7524 
   7525 #endif /* __exdisp_h__ */
   7526