master
   1/*** Autogenerated by WIDL 10.4 from include/shldisp.idl - Do not edit ***/
   2
   3#ifdef _WIN32
   4#ifndef __REQUIRED_RPCNDR_H_VERSION__
   5#define __REQUIRED_RPCNDR_H_VERSION__ 475
   6#endif
   7#include <rpc.h>
   8#include <rpcndr.h>
   9#endif
  10
  11#ifndef COM_NO_WINDOWS_H
  12#include <windows.h>
  13#include <ole2.h>
  14#endif
  15
  16#ifndef __shldisp_h__
  17#define __shldisp_h__
  18
  19/* Forward declarations */
  20
  21#ifndef __IFolderViewOC_FWD_DEFINED__
  22#define __IFolderViewOC_FWD_DEFINED__
  23typedef interface IFolderViewOC IFolderViewOC;
  24#ifdef __cplusplus
  25interface IFolderViewOC;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __DShellFolderViewEvents_FWD_DEFINED__
  30#define __DShellFolderViewEvents_FWD_DEFINED__
  31typedef interface DShellFolderViewEvents DShellFolderViewEvents;
  32#ifdef __cplusplus
  33interface DShellFolderViewEvents;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __ShellFolderViewOC_FWD_DEFINED__
  38#define __ShellFolderViewOC_FWD_DEFINED__
  39#ifdef __cplusplus
  40typedef class ShellFolderViewOC ShellFolderViewOC;
  41#else
  42typedef struct ShellFolderViewOC ShellFolderViewOC;
  43#endif /* defined __cplusplus */
  44#endif /* defined __ShellFolderViewOC_FWD_DEFINED__ */
  45
  46#ifndef __DFConstraint_FWD_DEFINED__
  47#define __DFConstraint_FWD_DEFINED__
  48typedef interface DFConstraint DFConstraint;
  49#ifdef __cplusplus
  50interface DFConstraint;
  51#endif /* __cplusplus */
  52#endif
  53
  54#ifndef __Folder_FWD_DEFINED__
  55#define __Folder_FWD_DEFINED__
  56typedef interface Folder Folder;
  57#ifdef __cplusplus
  58interface Folder;
  59#endif /* __cplusplus */
  60#endif
  61
  62#ifndef __Folder2_FWD_DEFINED__
  63#define __Folder2_FWD_DEFINED__
  64typedef interface Folder2 Folder2;
  65#ifdef __cplusplus
  66interface Folder2;
  67#endif /* __cplusplus */
  68#endif
  69
  70#ifndef __Folder3_FWD_DEFINED__
  71#define __Folder3_FWD_DEFINED__
  72typedef interface Folder3 Folder3;
  73#ifdef __cplusplus
  74interface Folder3;
  75#endif /* __cplusplus */
  76#endif
  77
  78#ifndef __FolderItem_FWD_DEFINED__
  79#define __FolderItem_FWD_DEFINED__
  80typedef interface FolderItem FolderItem;
  81#ifdef __cplusplus
  82interface FolderItem;
  83#endif /* __cplusplus */
  84#endif
  85
  86#ifndef __FolderItem2_FWD_DEFINED__
  87#define __FolderItem2_FWD_DEFINED__
  88typedef interface FolderItem2 FolderItem2;
  89#ifdef __cplusplus
  90interface FolderItem2;
  91#endif /* __cplusplus */
  92#endif
  93
  94#ifndef __ShellFolderItem_FWD_DEFINED__
  95#define __ShellFolderItem_FWD_DEFINED__
  96#ifdef __cplusplus
  97typedef class ShellFolderItem ShellFolderItem;
  98#else
  99typedef struct ShellFolderItem ShellFolderItem;
 100#endif /* defined __cplusplus */
 101#endif /* defined __ShellFolderItem_FWD_DEFINED__ */
 102
 103#ifndef __FolderItems_FWD_DEFINED__
 104#define __FolderItems_FWD_DEFINED__
 105typedef interface FolderItems FolderItems;
 106#ifdef __cplusplus
 107interface FolderItems;
 108#endif /* __cplusplus */
 109#endif
 110
 111#ifndef __FolderItems2_FWD_DEFINED__
 112#define __FolderItems2_FWD_DEFINED__
 113typedef interface FolderItems2 FolderItems2;
 114#ifdef __cplusplus
 115interface FolderItems2;
 116#endif /* __cplusplus */
 117#endif
 118
 119#ifndef __FolderItems3_FWD_DEFINED__
 120#define __FolderItems3_FWD_DEFINED__
 121typedef interface FolderItems3 FolderItems3;
 122#ifdef __cplusplus
 123interface FolderItems3;
 124#endif /* __cplusplus */
 125#endif
 126
 127#ifndef __FolderItemVerb_FWD_DEFINED__
 128#define __FolderItemVerb_FWD_DEFINED__
 129typedef interface FolderItemVerb FolderItemVerb;
 130#ifdef __cplusplus
 131interface FolderItemVerb;
 132#endif /* __cplusplus */
 133#endif
 134
 135#ifndef __FolderItemVerbs_FWD_DEFINED__
 136#define __FolderItemVerbs_FWD_DEFINED__
 137typedef interface FolderItemVerbs FolderItemVerbs;
 138#ifdef __cplusplus
 139interface FolderItemVerbs;
 140#endif /* __cplusplus */
 141#endif
 142
 143#ifndef __IShellLinkDual_FWD_DEFINED__
 144#define __IShellLinkDual_FWD_DEFINED__
 145typedef interface IShellLinkDual IShellLinkDual;
 146#ifdef __cplusplus
 147interface IShellLinkDual;
 148#endif /* __cplusplus */
 149#endif
 150
 151#ifndef __IShellLinkDual2_FWD_DEFINED__
 152#define __IShellLinkDual2_FWD_DEFINED__
 153typedef interface IShellLinkDual2 IShellLinkDual2;
 154#ifdef __cplusplus
 155interface IShellLinkDual2;
 156#endif /* __cplusplus */
 157#endif
 158
 159#ifndef __ShellLinkObject_FWD_DEFINED__
 160#define __ShellLinkObject_FWD_DEFINED__
 161#ifdef __cplusplus
 162typedef class ShellLinkObject ShellLinkObject;
 163#else
 164typedef struct ShellLinkObject ShellLinkObject;
 165#endif /* defined __cplusplus */
 166#endif /* defined __ShellLinkObject_FWD_DEFINED__ */
 167
 168#ifndef __IShellFolderViewDual_FWD_DEFINED__
 169#define __IShellFolderViewDual_FWD_DEFINED__
 170typedef interface IShellFolderViewDual IShellFolderViewDual;
 171#ifdef __cplusplus
 172interface IShellFolderViewDual;
 173#endif /* __cplusplus */
 174#endif
 175
 176#ifndef __IShellFolderViewDual2_FWD_DEFINED__
 177#define __IShellFolderViewDual2_FWD_DEFINED__
 178typedef interface IShellFolderViewDual2 IShellFolderViewDual2;
 179#ifdef __cplusplus
 180interface IShellFolderViewDual2;
 181#endif /* __cplusplus */
 182#endif
 183
 184#ifndef __IShellFolderViewDual3_FWD_DEFINED__
 185#define __IShellFolderViewDual3_FWD_DEFINED__
 186typedef interface IShellFolderViewDual3 IShellFolderViewDual3;
 187#ifdef __cplusplus
 188interface IShellFolderViewDual3;
 189#endif /* __cplusplus */
 190#endif
 191
 192#ifndef __ShellFolderView_FWD_DEFINED__
 193#define __ShellFolderView_FWD_DEFINED__
 194#ifdef __cplusplus
 195typedef class ShellFolderView ShellFolderView;
 196#else
 197typedef struct ShellFolderView ShellFolderView;
 198#endif /* defined __cplusplus */
 199#endif /* defined __ShellFolderView_FWD_DEFINED__ */
 200
 201#ifndef __IShellDispatch_FWD_DEFINED__
 202#define __IShellDispatch_FWD_DEFINED__
 203typedef interface IShellDispatch IShellDispatch;
 204#ifdef __cplusplus
 205interface IShellDispatch;
 206#endif /* __cplusplus */
 207#endif
 208
 209#ifndef __IShellDispatch2_FWD_DEFINED__
 210#define __IShellDispatch2_FWD_DEFINED__
 211typedef interface IShellDispatch2 IShellDispatch2;
 212#ifdef __cplusplus
 213interface IShellDispatch2;
 214#endif /* __cplusplus */
 215#endif
 216
 217#ifndef __IShellDispatch3_FWD_DEFINED__
 218#define __IShellDispatch3_FWD_DEFINED__
 219typedef interface IShellDispatch3 IShellDispatch3;
 220#ifdef __cplusplus
 221interface IShellDispatch3;
 222#endif /* __cplusplus */
 223#endif
 224
 225#ifndef __IShellDispatch4_FWD_DEFINED__
 226#define __IShellDispatch4_FWD_DEFINED__
 227typedef interface IShellDispatch4 IShellDispatch4;
 228#ifdef __cplusplus
 229interface IShellDispatch4;
 230#endif /* __cplusplus */
 231#endif
 232
 233#ifndef __IShellDispatch5_FWD_DEFINED__
 234#define __IShellDispatch5_FWD_DEFINED__
 235typedef interface IShellDispatch5 IShellDispatch5;
 236#ifdef __cplusplus
 237interface IShellDispatch5;
 238#endif /* __cplusplus */
 239#endif
 240
 241#ifndef __IShellDispatch6_FWD_DEFINED__
 242#define __IShellDispatch6_FWD_DEFINED__
 243typedef interface IShellDispatch6 IShellDispatch6;
 244#ifdef __cplusplus
 245interface IShellDispatch6;
 246#endif /* __cplusplus */
 247#endif
 248
 249#ifndef __Shell_FWD_DEFINED__
 250#define __Shell_FWD_DEFINED__
 251#ifdef __cplusplus
 252typedef class Shell Shell;
 253#else
 254typedef struct Shell Shell;
 255#endif /* defined __cplusplus */
 256#endif /* defined __Shell_FWD_DEFINED__ */
 257
 258#ifndef __ShellDispatchInproc_FWD_DEFINED__
 259#define __ShellDispatchInproc_FWD_DEFINED__
 260#ifdef __cplusplus
 261typedef class ShellDispatchInproc ShellDispatchInproc;
 262#else
 263typedef struct ShellDispatchInproc ShellDispatchInproc;
 264#endif /* defined __cplusplus */
 265#endif /* defined __ShellDispatchInproc_FWD_DEFINED__ */
 266
 267#ifndef __IFileSearchBand_FWD_DEFINED__
 268#define __IFileSearchBand_FWD_DEFINED__
 269typedef interface IFileSearchBand IFileSearchBand;
 270#ifdef __cplusplus
 271interface IFileSearchBand;
 272#endif /* __cplusplus */
 273#endif
 274
 275#ifndef __FileSearchBand_FWD_DEFINED__
 276#define __FileSearchBand_FWD_DEFINED__
 277#ifdef __cplusplus
 278typedef class FileSearchBand FileSearchBand;
 279#else
 280typedef struct FileSearchBand FileSearchBand;
 281#endif /* defined __cplusplus */
 282#endif /* defined __FileSearchBand_FWD_DEFINED__ */
 283
 284#ifndef __IWebWizardHost_FWD_DEFINED__
 285#define __IWebWizardHost_FWD_DEFINED__
 286typedef interface IWebWizardHost IWebWizardHost;
 287#ifdef __cplusplus
 288interface IWebWizardHost;
 289#endif /* __cplusplus */
 290#endif
 291
 292#ifndef __INewWDEvents_FWD_DEFINED__
 293#define __INewWDEvents_FWD_DEFINED__
 294typedef interface INewWDEvents INewWDEvents;
 295#ifdef __cplusplus
 296interface INewWDEvents;
 297#endif /* __cplusplus */
 298#endif
 299
 300#ifndef __IAutoComplete_FWD_DEFINED__
 301#define __IAutoComplete_FWD_DEFINED__
 302typedef interface IAutoComplete IAutoComplete;
 303#ifdef __cplusplus
 304interface IAutoComplete;
 305#endif /* __cplusplus */
 306#endif
 307
 308#ifndef __IAutoComplete2_FWD_DEFINED__
 309#define __IAutoComplete2_FWD_DEFINED__
 310typedef interface IAutoComplete2 IAutoComplete2;
 311#ifdef __cplusplus
 312interface IAutoComplete2;
 313#endif /* __cplusplus */
 314#endif
 315
 316#ifndef __IEnumACString_FWD_DEFINED__
 317#define __IEnumACString_FWD_DEFINED__
 318typedef interface IEnumACString IEnumACString;
 319#ifdef __cplusplus
 320interface IEnumACString;
 321#endif /* __cplusplus */
 322#endif
 323
 324#ifndef __IDataObjectAsyncCapability_FWD_DEFINED__
 325#define __IDataObjectAsyncCapability_FWD_DEFINED__
 326typedef interface IDataObjectAsyncCapability IDataObjectAsyncCapability;
 327#ifdef __cplusplus
 328interface IDataObjectAsyncCapability;
 329#endif /* __cplusplus */
 330#endif
 331
 332/* Headers for imported files */
 333
 334#include <ocidl.h>
 335
 336#ifdef __cplusplus
 337extern "C" {
 338#endif
 339
 340#include <winapifamily.h>
 341
 342#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
 343#ifndef __DShellFolderViewEvents_FWD_DEFINED__
 344#define __DShellFolderViewEvents_FWD_DEFINED__
 345typedef interface DShellFolderViewEvents DShellFolderViewEvents;
 346#ifdef __cplusplus
 347interface DShellFolderViewEvents;
 348#endif /* __cplusplus */
 349#endif
 350
 351#ifndef __IAutoComplete_FWD_DEFINED__
 352#define __IAutoComplete_FWD_DEFINED__
 353typedef interface IAutoComplete IAutoComplete;
 354#ifdef __cplusplus
 355interface IAutoComplete;
 356#endif /* __cplusplus */
 357#endif
 358
 359#ifndef __FolderItem_FWD_DEFINED__
 360#define __FolderItem_FWD_DEFINED__
 361typedef interface FolderItem FolderItem;
 362#ifdef __cplusplus
 363interface FolderItem;
 364#endif /* __cplusplus */
 365#endif
 366
 367#ifndef __FolderItems_FWD_DEFINED__
 368#define __FolderItems_FWD_DEFINED__
 369typedef interface FolderItems FolderItems;
 370#ifdef __cplusplus
 371interface FolderItems;
 372#endif /* __cplusplus */
 373#endif
 374
 375#ifndef __FolderItemVerb_FWD_DEFINED__
 376#define __FolderItemVerb_FWD_DEFINED__
 377typedef interface FolderItemVerb FolderItemVerb;
 378#ifdef __cplusplus
 379interface FolderItemVerb;
 380#endif /* __cplusplus */
 381#endif
 382
 383#ifndef __FolderItemVerbs_FWD_DEFINED__
 384#define __FolderItemVerbs_FWD_DEFINED__
 385typedef interface FolderItemVerbs FolderItemVerbs;
 386#ifdef __cplusplus
 387interface FolderItemVerbs;
 388#endif /* __cplusplus */
 389#endif
 390
 391#ifndef __Shell32_LIBRARY_DEFINED__
 392#define __Shell32_LIBRARY_DEFINED__
 393
 394DEFINE_GUID(LIBID_Shell32, 0x50a7e9b0, 0x70ef, 0x11d1, 0xb7,0x5a, 0x00,0xa0,0xc9,0x05,0x64,0xfe);
 395
 396/*****************************************************************************
 397 * IFolderViewOC interface
 398 */
 399#ifndef __IFolderViewOC_INTERFACE_DEFINED__
 400#define __IFolderViewOC_INTERFACE_DEFINED__
 401
 402DEFINE_GUID(IID_IFolderViewOC, 0x9ba05970, 0xf6a8, 0x11cf, 0xa4,0x42, 0x00,0xa0,0xc9,0x0a,0x8f,0x39);
 403#if defined(__cplusplus) && !defined(CINTERFACE)
 404MIDL_INTERFACE("9ba05970-f6a8-11cf-a442-00a0c90a8f39")
 405IFolderViewOC : public IDispatch
 406{
 407    virtual HRESULT STDMETHODCALLTYPE SetFolderView(
 408        IDispatch *pdisp) = 0;
 409
 410};
 411#ifdef __CRT_UUID_DECL
 412__CRT_UUID_DECL(IFolderViewOC, 0x9ba05970, 0xf6a8, 0x11cf, 0xa4,0x42, 0x00,0xa0,0xc9,0x0a,0x8f,0x39)
 413#endif
 414#else
 415typedef struct IFolderViewOCVtbl {
 416    BEGIN_INTERFACE
 417
 418    /*** IUnknown methods ***/
 419    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 420        IFolderViewOC *This,
 421        REFIID riid,
 422        void **ppvObject);
 423
 424    ULONG (STDMETHODCALLTYPE *AddRef)(
 425        IFolderViewOC *This);
 426
 427    ULONG (STDMETHODCALLTYPE *Release)(
 428        IFolderViewOC *This);
 429
 430    /*** IDispatch methods ***/
 431    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
 432        IFolderViewOC *This,
 433        UINT *pctinfo);
 434
 435    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
 436        IFolderViewOC *This,
 437        UINT iTInfo,
 438        LCID lcid,
 439        ITypeInfo **ppTInfo);
 440
 441    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
 442        IFolderViewOC *This,
 443        REFIID riid,
 444        LPOLESTR *rgszNames,
 445        UINT cNames,
 446        LCID lcid,
 447        DISPID *rgDispId);
 448
 449    HRESULT (STDMETHODCALLTYPE *Invoke)(
 450        IFolderViewOC *This,
 451        DISPID dispIdMember,
 452        REFIID riid,
 453        LCID lcid,
 454        WORD wFlags,
 455        DISPPARAMS *pDispParams,
 456        VARIANT *pVarResult,
 457        EXCEPINFO *pExcepInfo,
 458        UINT *puArgErr);
 459
 460    /*** IFolderViewOC methods ***/
 461    HRESULT (STDMETHODCALLTYPE *SetFolderView)(
 462        IFolderViewOC *This,
 463        IDispatch *pdisp);
 464
 465    END_INTERFACE
 466} IFolderViewOCVtbl;
 467
 468interface IFolderViewOC {
 469    CONST_VTBL IFolderViewOCVtbl* lpVtbl;
 470};
 471
 472#ifdef COBJMACROS
 473#ifndef WIDL_C_INLINE_WRAPPERS
 474/*** IUnknown methods ***/
 475#define IFolderViewOC_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 476#define IFolderViewOC_AddRef(This) (This)->lpVtbl->AddRef(This)
 477#define IFolderViewOC_Release(This) (This)->lpVtbl->Release(This)
 478/*** IDispatch methods ***/
 479#define IFolderViewOC_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 480#define IFolderViewOC_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 481#define IFolderViewOC_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 482#define IFolderViewOC_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 483/*** IFolderViewOC methods ***/
 484#define IFolderViewOC_SetFolderView(This,pdisp) (This)->lpVtbl->SetFolderView(This,pdisp)
 485#else
 486/*** IUnknown methods ***/
 487static inline HRESULT IFolderViewOC_QueryInterface(IFolderViewOC* This,REFIID riid,void **ppvObject) {
 488    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 489}
 490static inline ULONG IFolderViewOC_AddRef(IFolderViewOC* This) {
 491    return This->lpVtbl->AddRef(This);
 492}
 493static inline ULONG IFolderViewOC_Release(IFolderViewOC* This) {
 494    return This->lpVtbl->Release(This);
 495}
 496/*** IDispatch methods ***/
 497static inline HRESULT IFolderViewOC_GetTypeInfoCount(IFolderViewOC* This,UINT *pctinfo) {
 498    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 499}
 500static inline HRESULT IFolderViewOC_GetTypeInfo(IFolderViewOC* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
 501    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
 502}
 503static inline HRESULT IFolderViewOC_GetIDsOfNames(IFolderViewOC* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
 504    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
 505}
 506static inline HRESULT IFolderViewOC_Invoke(IFolderViewOC* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
 507    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
 508}
 509/*** IFolderViewOC methods ***/
 510static inline HRESULT IFolderViewOC_SetFolderView(IFolderViewOC* This,IDispatch *pdisp) {
 511    return This->lpVtbl->SetFolderView(This,pdisp);
 512}
 513#endif
 514#endif
 515
 516#endif
 517
 518
 519#endif  /* __IFolderViewOC_INTERFACE_DEFINED__ */
 520
 521/*****************************************************************************
 522 * DShellFolderViewEvents dispinterface
 523 */
 524#ifndef __DShellFolderViewEvents_DISPINTERFACE_DEFINED__
 525#define __DShellFolderViewEvents_DISPINTERFACE_DEFINED__
 526
 527DEFINE_GUID(DIID_DShellFolderViewEvents, 0x62112aa2, 0xebe4, 0x11cf, 0xa5,0xfb, 0x00,0x20,0xaf,0xe7,0x29,0x2d);
 528#if defined(__cplusplus) && !defined(CINTERFACE)
 529MIDL_INTERFACE("62112aa2-ebe4-11cf-a5fb-0020afe7292d")
 530DShellFolderViewEvents : public IDispatch
 531{
 532};
 533#ifdef __CRT_UUID_DECL
 534__CRT_UUID_DECL(DShellFolderViewEvents, 0x62112aa2, 0xebe4, 0x11cf, 0xa5,0xfb, 0x00,0x20,0xaf,0xe7,0x29,0x2d)
 535#endif
 536#else
 537typedef struct DShellFolderViewEventsVtbl {
 538    BEGIN_INTERFACE
 539
 540    /*** IUnknown methods ***/
 541    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 542        DShellFolderViewEvents *This,
 543        REFIID riid,
 544        void **ppvObject);
 545
 546    ULONG (STDMETHODCALLTYPE *AddRef)(
 547        DShellFolderViewEvents *This);
 548
 549    ULONG (STDMETHODCALLTYPE *Release)(
 550        DShellFolderViewEvents *This);
 551
 552    /*** IDispatch methods ***/
 553    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
 554        DShellFolderViewEvents *This,
 555        UINT *pctinfo);
 556
 557    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
 558        DShellFolderViewEvents *This,
 559        UINT iTInfo,
 560        LCID lcid,
 561        ITypeInfo **ppTInfo);
 562
 563    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
 564        DShellFolderViewEvents *This,
 565        REFIID riid,
 566        LPOLESTR *rgszNames,
 567        UINT cNames,
 568        LCID lcid,
 569        DISPID *rgDispId);
 570
 571    HRESULT (STDMETHODCALLTYPE *Invoke)(
 572        DShellFolderViewEvents *This,
 573        DISPID dispIdMember,
 574        REFIID riid,
 575        LCID lcid,
 576        WORD wFlags,
 577        DISPPARAMS *pDispParams,
 578        VARIANT *pVarResult,
 579        EXCEPINFO *pExcepInfo,
 580        UINT *puArgErr);
 581
 582    END_INTERFACE
 583} DShellFolderViewEventsVtbl;
 584
 585interface DShellFolderViewEvents {
 586    CONST_VTBL DShellFolderViewEventsVtbl* lpVtbl;
 587};
 588
 589#ifdef COBJMACROS
 590#ifndef WIDL_C_INLINE_WRAPPERS
 591/*** IUnknown methods ***/
 592#define DShellFolderViewEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 593#define DShellFolderViewEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
 594#define DShellFolderViewEvents_Release(This) (This)->lpVtbl->Release(This)
 595/*** IDispatch methods ***/
 596#define DShellFolderViewEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 597#define DShellFolderViewEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 598#define DShellFolderViewEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 599#define DShellFolderViewEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 600#else
 601/*** IUnknown methods ***/
 602static inline HRESULT DShellFolderViewEvents_QueryInterface(DShellFolderViewEvents* This,REFIID riid,void **ppvObject) {
 603    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 604}
 605static inline ULONG DShellFolderViewEvents_AddRef(DShellFolderViewEvents* This) {
 606    return This->lpVtbl->AddRef(This);
 607}
 608static inline ULONG DShellFolderViewEvents_Release(DShellFolderViewEvents* This) {
 609    return This->lpVtbl->Release(This);
 610}
 611/*** IDispatch methods ***/
 612static inline HRESULT DShellFolderViewEvents_GetTypeInfoCount(DShellFolderViewEvents* This,UINT *pctinfo) {
 613    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 614}
 615static inline HRESULT DShellFolderViewEvents_GetTypeInfo(DShellFolderViewEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
 616    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
 617}
 618static inline HRESULT DShellFolderViewEvents_GetIDsOfNames(DShellFolderViewEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
 619    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
 620}
 621static inline HRESULT DShellFolderViewEvents_Invoke(DShellFolderViewEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
 622    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
 623}
 624#endif
 625#endif
 626
 627#endif
 628
 629#endif  /* __DShellFolderViewEvents_DISPINTERFACE_DEFINED__ */
 630
 631/*****************************************************************************
 632 * ShellFolderViewOC coclass
 633 */
 634
 635DEFINE_GUID(CLSID_ShellFolderViewOC, 0x9ba05971, 0xf6a8, 0x11cf, 0xa4,0x42, 0x00,0xa0,0xc9,0x0a,0x8f,0x39);
 636
 637#ifdef __cplusplus
 638class DECLSPEC_UUID("9ba05971-f6a8-11cf-a442-00a0c90a8f39") ShellFolderViewOC;
 639#ifdef __CRT_UUID_DECL
 640__CRT_UUID_DECL(ShellFolderViewOC, 0x9ba05971, 0xf6a8, 0x11cf, 0xa4,0x42, 0x00,0xa0,0xc9,0x0a,0x8f,0x39)
 641#endif
 642#endif
 643
 644/*****************************************************************************
 645 * DFConstraint interface
 646 */
 647#ifndef __DFConstraint_INTERFACE_DEFINED__
 648#define __DFConstraint_INTERFACE_DEFINED__
 649
 650DEFINE_GUID(IID_DFConstraint, 0x4a3df050, 0x23bd, 0x11d2, 0x93,0x9f, 0x00,0xa0,0xc9,0x1e,0xed,0xba);
 651#if defined(__cplusplus) && !defined(CINTERFACE)
 652MIDL_INTERFACE("4a3df050-23bd-11d2-939f-00a0c91eedba")
 653DFConstraint : public IDispatch
 654{
 655    virtual HRESULT STDMETHODCALLTYPE get_Name(
 656        BSTR *pbs) = 0;
 657
 658    virtual HRESULT STDMETHODCALLTYPE get_Value(
 659        VARIANT *pv) = 0;
 660
 661};
 662#ifdef __CRT_UUID_DECL
 663__CRT_UUID_DECL(DFConstraint, 0x4a3df050, 0x23bd, 0x11d2, 0x93,0x9f, 0x00,0xa0,0xc9,0x1e,0xed,0xba)
 664#endif
 665#else
 666typedef struct DFConstraintVtbl {
 667    BEGIN_INTERFACE
 668
 669    /*** IUnknown methods ***/
 670    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 671        DFConstraint *This,
 672        REFIID riid,
 673        void **ppvObject);
 674
 675    ULONG (STDMETHODCALLTYPE *AddRef)(
 676        DFConstraint *This);
 677
 678    ULONG (STDMETHODCALLTYPE *Release)(
 679        DFConstraint *This);
 680
 681    /*** IDispatch methods ***/
 682    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
 683        DFConstraint *This,
 684        UINT *pctinfo);
 685
 686    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
 687        DFConstraint *This,
 688        UINT iTInfo,
 689        LCID lcid,
 690        ITypeInfo **ppTInfo);
 691
 692    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
 693        DFConstraint *This,
 694        REFIID riid,
 695        LPOLESTR *rgszNames,
 696        UINT cNames,
 697        LCID lcid,
 698        DISPID *rgDispId);
 699
 700    HRESULT (STDMETHODCALLTYPE *Invoke)(
 701        DFConstraint *This,
 702        DISPID dispIdMember,
 703        REFIID riid,
 704        LCID lcid,
 705        WORD wFlags,
 706        DISPPARAMS *pDispParams,
 707        VARIANT *pVarResult,
 708        EXCEPINFO *pExcepInfo,
 709        UINT *puArgErr);
 710
 711    /*** DFConstraint methods ***/
 712    HRESULT (STDMETHODCALLTYPE *get_Name)(
 713        DFConstraint *This,
 714        BSTR *pbs);
 715
 716    HRESULT (STDMETHODCALLTYPE *get_Value)(
 717        DFConstraint *This,
 718        VARIANT *pv);
 719
 720    END_INTERFACE
 721} DFConstraintVtbl;
 722
 723interface DFConstraint {
 724    CONST_VTBL DFConstraintVtbl* lpVtbl;
 725};
 726
 727#ifdef COBJMACROS
 728#ifndef WIDL_C_INLINE_WRAPPERS
 729/*** IUnknown methods ***/
 730#define DFConstraint_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 731#define DFConstraint_AddRef(This) (This)->lpVtbl->AddRef(This)
 732#define DFConstraint_Release(This) (This)->lpVtbl->Release(This)
 733/*** IDispatch methods ***/
 734#define DFConstraint_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 735#define DFConstraint_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 736#define DFConstraint_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 737#define DFConstraint_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 738/*** DFConstraint methods ***/
 739#define DFConstraint_get_Name(This,pbs) (This)->lpVtbl->get_Name(This,pbs)
 740#define DFConstraint_get_Value(This,pv) (This)->lpVtbl->get_Value(This,pv)
 741#else
 742/*** IUnknown methods ***/
 743static inline HRESULT DFConstraint_QueryInterface(DFConstraint* This,REFIID riid,void **ppvObject) {
 744    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 745}
 746static inline ULONG DFConstraint_AddRef(DFConstraint* This) {
 747    return This->lpVtbl->AddRef(This);
 748}
 749static inline ULONG DFConstraint_Release(DFConstraint* This) {
 750    return This->lpVtbl->Release(This);
 751}
 752/*** IDispatch methods ***/
 753static inline HRESULT DFConstraint_GetTypeInfoCount(DFConstraint* This,UINT *pctinfo) {
 754    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 755}
 756static inline HRESULT DFConstraint_GetTypeInfo(DFConstraint* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
 757    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
 758}
 759static inline HRESULT DFConstraint_GetIDsOfNames(DFConstraint* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
 760    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
 761}
 762static inline HRESULT DFConstraint_Invoke(DFConstraint* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
 763    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
 764}
 765/*** DFConstraint methods ***/
 766static inline HRESULT DFConstraint_get_Name(DFConstraint* This,BSTR *pbs) {
 767    return This->lpVtbl->get_Name(This,pbs);
 768}
 769static inline HRESULT DFConstraint_get_Value(DFConstraint* This,VARIANT *pv) {
 770    return This->lpVtbl->get_Value(This,pv);
 771}
 772#endif
 773#endif
 774
 775#endif
 776
 777
 778#endif  /* __DFConstraint_INTERFACE_DEFINED__ */
 779
 780/*****************************************************************************
 781 * Folder interface
 782 */
 783#ifndef __Folder_INTERFACE_DEFINED__
 784#define __Folder_INTERFACE_DEFINED__
 785
 786DEFINE_GUID(IID_Folder, 0xbbcbde60, 0xc3ff, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00);
 787#if defined(__cplusplus) && !defined(CINTERFACE)
 788MIDL_INTERFACE("bbcbde60-c3ff-11ce-8350-444553540000")
 789Folder : public IDispatch
 790{
 791    virtual HRESULT STDMETHODCALLTYPE get_Title(
 792        BSTR *pbs) = 0;
 793
 794    virtual HRESULT STDMETHODCALLTYPE get_Application(
 795        IDispatch **ppid) = 0;
 796
 797    virtual HRESULT STDMETHODCALLTYPE get_Parent(
 798        IDispatch **ppid) = 0;
 799
 800    virtual HRESULT STDMETHODCALLTYPE get_ParentFolder(
 801        Folder **ppsf) = 0;
 802
 803    virtual HRESULT STDMETHODCALLTYPE Items(
 804        FolderItems **ppid) = 0;
 805
 806    virtual HRESULT STDMETHODCALLTYPE ParseName(
 807        BSTR bName,
 808        FolderItem **ppid) = 0;
 809
 810    virtual HRESULT STDMETHODCALLTYPE NewFolder(
 811        BSTR bName,
 812        VARIANT vOptions) = 0;
 813
 814    virtual HRESULT STDMETHODCALLTYPE MoveHere(
 815        VARIANT vItem,
 816        VARIANT vOptions) = 0;
 817
 818    virtual HRESULT STDMETHODCALLTYPE CopyHere(
 819        VARIANT vItem,
 820        VARIANT vOptions) = 0;
 821
 822    virtual HRESULT STDMETHODCALLTYPE GetDetailsOf(
 823        VARIANT vItem,
 824        int iColumn,
 825        BSTR *pbs) = 0;
 826
 827};
 828#ifdef __CRT_UUID_DECL
 829__CRT_UUID_DECL(Folder, 0xbbcbde60, 0xc3ff, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00)
 830#endif
 831#else
 832typedef struct FolderVtbl {
 833    BEGIN_INTERFACE
 834
 835    /*** IUnknown methods ***/
 836    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 837        Folder *This,
 838        REFIID riid,
 839        void **ppvObject);
 840
 841    ULONG (STDMETHODCALLTYPE *AddRef)(
 842        Folder *This);
 843
 844    ULONG (STDMETHODCALLTYPE *Release)(
 845        Folder *This);
 846
 847    /*** IDispatch methods ***/
 848    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
 849        Folder *This,
 850        UINT *pctinfo);
 851
 852    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
 853        Folder *This,
 854        UINT iTInfo,
 855        LCID lcid,
 856        ITypeInfo **ppTInfo);
 857
 858    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
 859        Folder *This,
 860        REFIID riid,
 861        LPOLESTR *rgszNames,
 862        UINT cNames,
 863        LCID lcid,
 864        DISPID *rgDispId);
 865
 866    HRESULT (STDMETHODCALLTYPE *Invoke)(
 867        Folder *This,
 868        DISPID dispIdMember,
 869        REFIID riid,
 870        LCID lcid,
 871        WORD wFlags,
 872        DISPPARAMS *pDispParams,
 873        VARIANT *pVarResult,
 874        EXCEPINFO *pExcepInfo,
 875        UINT *puArgErr);
 876
 877    /*** Folder methods ***/
 878    HRESULT (STDMETHODCALLTYPE *get_Title)(
 879        Folder *This,
 880        BSTR *pbs);
 881
 882    HRESULT (STDMETHODCALLTYPE *get_Application)(
 883        Folder *This,
 884        IDispatch **ppid);
 885
 886    HRESULT (STDMETHODCALLTYPE *get_Parent)(
 887        Folder *This,
 888        IDispatch **ppid);
 889
 890    HRESULT (STDMETHODCALLTYPE *get_ParentFolder)(
 891        Folder *This,
 892        Folder **ppsf);
 893
 894    HRESULT (STDMETHODCALLTYPE *Items)(
 895        Folder *This,
 896        FolderItems **ppid);
 897
 898    HRESULT (STDMETHODCALLTYPE *ParseName)(
 899        Folder *This,
 900        BSTR bName,
 901        FolderItem **ppid);
 902
 903    HRESULT (STDMETHODCALLTYPE *NewFolder)(
 904        Folder *This,
 905        BSTR bName,
 906        VARIANT vOptions);
 907
 908    HRESULT (STDMETHODCALLTYPE *MoveHere)(
 909        Folder *This,
 910        VARIANT vItem,
 911        VARIANT vOptions);
 912
 913    HRESULT (STDMETHODCALLTYPE *CopyHere)(
 914        Folder *This,
 915        VARIANT vItem,
 916        VARIANT vOptions);
 917
 918    HRESULT (STDMETHODCALLTYPE *GetDetailsOf)(
 919        Folder *This,
 920        VARIANT vItem,
 921        int iColumn,
 922        BSTR *pbs);
 923
 924    END_INTERFACE
 925} FolderVtbl;
 926
 927interface Folder {
 928    CONST_VTBL FolderVtbl* lpVtbl;
 929};
 930
 931#ifdef COBJMACROS
 932#ifndef WIDL_C_INLINE_WRAPPERS
 933/*** IUnknown methods ***/
 934#define Folder_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 935#define Folder_AddRef(This) (This)->lpVtbl->AddRef(This)
 936#define Folder_Release(This) (This)->lpVtbl->Release(This)
 937/*** IDispatch methods ***/
 938#define Folder_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
 939#define Folder_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
 940#define Folder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
 941#define Folder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
 942/*** Folder methods ***/
 943#define Folder_get_Title(This,pbs) (This)->lpVtbl->get_Title(This,pbs)
 944#define Folder_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
 945#define Folder_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
 946#define Folder_get_ParentFolder(This,ppsf) (This)->lpVtbl->get_ParentFolder(This,ppsf)
 947#define Folder_Items(This,ppid) (This)->lpVtbl->Items(This,ppid)
 948#define Folder_ParseName(This,bName,ppid) (This)->lpVtbl->ParseName(This,bName,ppid)
 949#define Folder_NewFolder(This,bName,vOptions) (This)->lpVtbl->NewFolder(This,bName,vOptions)
 950#define Folder_MoveHere(This,vItem,vOptions) (This)->lpVtbl->MoveHere(This,vItem,vOptions)
 951#define Folder_CopyHere(This,vItem,vOptions) (This)->lpVtbl->CopyHere(This,vItem,vOptions)
 952#define Folder_GetDetailsOf(This,vItem,iColumn,pbs) (This)->lpVtbl->GetDetailsOf(This,vItem,iColumn,pbs)
 953#else
 954/*** IUnknown methods ***/
 955static inline HRESULT Folder_QueryInterface(Folder* This,REFIID riid,void **ppvObject) {
 956    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 957}
 958static inline ULONG Folder_AddRef(Folder* This) {
 959    return This->lpVtbl->AddRef(This);
 960}
 961static inline ULONG Folder_Release(Folder* This) {
 962    return This->lpVtbl->Release(This);
 963}
 964/*** IDispatch methods ***/
 965static inline HRESULT Folder_GetTypeInfoCount(Folder* This,UINT *pctinfo) {
 966    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
 967}
 968static inline HRESULT Folder_GetTypeInfo(Folder* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
 969    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
 970}
 971static inline HRESULT Folder_GetIDsOfNames(Folder* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
 972    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
 973}
 974static inline HRESULT Folder_Invoke(Folder* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
 975    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
 976}
 977/*** Folder methods ***/
 978static inline HRESULT Folder_get_Title(Folder* This,BSTR *pbs) {
 979    return This->lpVtbl->get_Title(This,pbs);
 980}
 981static inline HRESULT Folder_get_Application(Folder* This,IDispatch **ppid) {
 982    return This->lpVtbl->get_Application(This,ppid);
 983}
 984static inline HRESULT Folder_get_Parent(Folder* This,IDispatch **ppid) {
 985    return This->lpVtbl->get_Parent(This,ppid);
 986}
 987static inline HRESULT Folder_get_ParentFolder(Folder* This,Folder **ppsf) {
 988    return This->lpVtbl->get_ParentFolder(This,ppsf);
 989}
 990static inline HRESULT Folder_Items(Folder* This,FolderItems **ppid) {
 991    return This->lpVtbl->Items(This,ppid);
 992}
 993static inline HRESULT Folder_ParseName(Folder* This,BSTR bName,FolderItem **ppid) {
 994    return This->lpVtbl->ParseName(This,bName,ppid);
 995}
 996static inline HRESULT Folder_NewFolder(Folder* This,BSTR bName,VARIANT vOptions) {
 997    return This->lpVtbl->NewFolder(This,bName,vOptions);
 998}
 999static inline HRESULT Folder_MoveHere(Folder* This,VARIANT vItem,VARIANT vOptions) {
1000    return This->lpVtbl->MoveHere(This,vItem,vOptions);
1001}
1002static inline HRESULT Folder_CopyHere(Folder* This,VARIANT vItem,VARIANT vOptions) {
1003    return This->lpVtbl->CopyHere(This,vItem,vOptions);
1004}
1005static inline HRESULT Folder_GetDetailsOf(Folder* This,VARIANT vItem,int iColumn,BSTR *pbs) {
1006    return This->lpVtbl->GetDetailsOf(This,vItem,iColumn,pbs);
1007}
1008#endif
1009#endif
1010
1011#endif
1012
1013
1014#endif  /* __Folder_INTERFACE_DEFINED__ */
1015
1016/*****************************************************************************
1017 * Folder2 interface
1018 */
1019#ifndef __Folder2_INTERFACE_DEFINED__
1020#define __Folder2_INTERFACE_DEFINED__
1021
1022DEFINE_GUID(IID_Folder2, 0xf0d2d8ef, 0x3890, 0x11d2, 0xbf,0x8b, 0x00,0xc0,0x4f,0xb9,0x36,0x61);
1023#if defined(__cplusplus) && !defined(CINTERFACE)
1024MIDL_INTERFACE("f0d2d8ef-3890-11d2-bf8b-00c04fb93661")
1025Folder2 : public Folder
1026{
1027    virtual HRESULT STDMETHODCALLTYPE get_Self(
1028        FolderItem **ppfi) = 0;
1029
1030    virtual HRESULT STDMETHODCALLTYPE get_OfflineStatus(
1031        LONG *pul) = 0;
1032
1033    virtual HRESULT STDMETHODCALLTYPE Synchronize(
1034        ) = 0;
1035
1036    virtual HRESULT STDMETHODCALLTYPE get_HaveToShowWebViewBarricade(
1037        VARIANT_BOOL *pbHaveToShowWebViewBarricade) = 0;
1038
1039    virtual HRESULT STDMETHODCALLTYPE DismissedWebViewBarricade(
1040        ) = 0;
1041
1042};
1043#ifdef __CRT_UUID_DECL
1044__CRT_UUID_DECL(Folder2, 0xf0d2d8ef, 0x3890, 0x11d2, 0xbf,0x8b, 0x00,0xc0,0x4f,0xb9,0x36,0x61)
1045#endif
1046#else
1047typedef struct Folder2Vtbl {
1048    BEGIN_INTERFACE
1049
1050    /*** IUnknown methods ***/
1051    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1052        Folder2 *This,
1053        REFIID riid,
1054        void **ppvObject);
1055
1056    ULONG (STDMETHODCALLTYPE *AddRef)(
1057        Folder2 *This);
1058
1059    ULONG (STDMETHODCALLTYPE *Release)(
1060        Folder2 *This);
1061
1062    /*** IDispatch methods ***/
1063    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1064        Folder2 *This,
1065        UINT *pctinfo);
1066
1067    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1068        Folder2 *This,
1069        UINT iTInfo,
1070        LCID lcid,
1071        ITypeInfo **ppTInfo);
1072
1073    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1074        Folder2 *This,
1075        REFIID riid,
1076        LPOLESTR *rgszNames,
1077        UINT cNames,
1078        LCID lcid,
1079        DISPID *rgDispId);
1080
1081    HRESULT (STDMETHODCALLTYPE *Invoke)(
1082        Folder2 *This,
1083        DISPID dispIdMember,
1084        REFIID riid,
1085        LCID lcid,
1086        WORD wFlags,
1087        DISPPARAMS *pDispParams,
1088        VARIANT *pVarResult,
1089        EXCEPINFO *pExcepInfo,
1090        UINT *puArgErr);
1091
1092    /*** Folder methods ***/
1093    HRESULT (STDMETHODCALLTYPE *get_Title)(
1094        Folder2 *This,
1095        BSTR *pbs);
1096
1097    HRESULT (STDMETHODCALLTYPE *get_Application)(
1098        Folder2 *This,
1099        IDispatch **ppid);
1100
1101    HRESULT (STDMETHODCALLTYPE *get_Parent)(
1102        Folder2 *This,
1103        IDispatch **ppid);
1104
1105    HRESULT (STDMETHODCALLTYPE *get_ParentFolder)(
1106        Folder2 *This,
1107        Folder **ppsf);
1108
1109    HRESULT (STDMETHODCALLTYPE *Items)(
1110        Folder2 *This,
1111        FolderItems **ppid);
1112
1113    HRESULT (STDMETHODCALLTYPE *ParseName)(
1114        Folder2 *This,
1115        BSTR bName,
1116        FolderItem **ppid);
1117
1118    HRESULT (STDMETHODCALLTYPE *NewFolder)(
1119        Folder2 *This,
1120        BSTR bName,
1121        VARIANT vOptions);
1122
1123    HRESULT (STDMETHODCALLTYPE *MoveHere)(
1124        Folder2 *This,
1125        VARIANT vItem,
1126        VARIANT vOptions);
1127
1128    HRESULT (STDMETHODCALLTYPE *CopyHere)(
1129        Folder2 *This,
1130        VARIANT vItem,
1131        VARIANT vOptions);
1132
1133    HRESULT (STDMETHODCALLTYPE *GetDetailsOf)(
1134        Folder2 *This,
1135        VARIANT vItem,
1136        int iColumn,
1137        BSTR *pbs);
1138
1139    /*** Folder2 methods ***/
1140    HRESULT (STDMETHODCALLTYPE *get_Self)(
1141        Folder2 *This,
1142        FolderItem **ppfi);
1143
1144    HRESULT (STDMETHODCALLTYPE *get_OfflineStatus)(
1145        Folder2 *This,
1146        LONG *pul);
1147
1148    HRESULT (STDMETHODCALLTYPE *Synchronize)(
1149        Folder2 *This);
1150
1151    HRESULT (STDMETHODCALLTYPE *get_HaveToShowWebViewBarricade)(
1152        Folder2 *This,
1153        VARIANT_BOOL *pbHaveToShowWebViewBarricade);
1154
1155    HRESULT (STDMETHODCALLTYPE *DismissedWebViewBarricade)(
1156        Folder2 *This);
1157
1158    END_INTERFACE
1159} Folder2Vtbl;
1160
1161interface Folder2 {
1162    CONST_VTBL Folder2Vtbl* lpVtbl;
1163};
1164
1165#ifdef COBJMACROS
1166#ifndef WIDL_C_INLINE_WRAPPERS
1167/*** IUnknown methods ***/
1168#define Folder2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1169#define Folder2_AddRef(This) (This)->lpVtbl->AddRef(This)
1170#define Folder2_Release(This) (This)->lpVtbl->Release(This)
1171/*** IDispatch methods ***/
1172#define Folder2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1173#define Folder2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1174#define Folder2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1175#define Folder2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1176/*** Folder methods ***/
1177#define Folder2_get_Title(This,pbs) (This)->lpVtbl->get_Title(This,pbs)
1178#define Folder2_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
1179#define Folder2_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
1180#define Folder2_get_ParentFolder(This,ppsf) (This)->lpVtbl->get_ParentFolder(This,ppsf)
1181#define Folder2_Items(This,ppid) (This)->lpVtbl->Items(This,ppid)
1182#define Folder2_ParseName(This,bName,ppid) (This)->lpVtbl->ParseName(This,bName,ppid)
1183#define Folder2_NewFolder(This,bName,vOptions) (This)->lpVtbl->NewFolder(This,bName,vOptions)
1184#define Folder2_MoveHere(This,vItem,vOptions) (This)->lpVtbl->MoveHere(This,vItem,vOptions)
1185#define Folder2_CopyHere(This,vItem,vOptions) (This)->lpVtbl->CopyHere(This,vItem,vOptions)
1186#define Folder2_GetDetailsOf(This,vItem,iColumn,pbs) (This)->lpVtbl->GetDetailsOf(This,vItem,iColumn,pbs)
1187/*** Folder2 methods ***/
1188#define Folder2_get_Self(This,ppfi) (This)->lpVtbl->get_Self(This,ppfi)
1189#define Folder2_get_OfflineStatus(This,pul) (This)->lpVtbl->get_OfflineStatus(This,pul)
1190#define Folder2_Synchronize(This) (This)->lpVtbl->Synchronize(This)
1191#define Folder2_get_HaveToShowWebViewBarricade(This,pbHaveToShowWebViewBarricade) (This)->lpVtbl->get_HaveToShowWebViewBarricade(This,pbHaveToShowWebViewBarricade)
1192#define Folder2_DismissedWebViewBarricade(This) (This)->lpVtbl->DismissedWebViewBarricade(This)
1193#else
1194/*** IUnknown methods ***/
1195static inline HRESULT Folder2_QueryInterface(Folder2* This,REFIID riid,void **ppvObject) {
1196    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1197}
1198static inline ULONG Folder2_AddRef(Folder2* This) {
1199    return This->lpVtbl->AddRef(This);
1200}
1201static inline ULONG Folder2_Release(Folder2* This) {
1202    return This->lpVtbl->Release(This);
1203}
1204/*** IDispatch methods ***/
1205static inline HRESULT Folder2_GetTypeInfoCount(Folder2* This,UINT *pctinfo) {
1206    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1207}
1208static inline HRESULT Folder2_GetTypeInfo(Folder2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1209    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1210}
1211static inline HRESULT Folder2_GetIDsOfNames(Folder2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1212    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1213}
1214static inline HRESULT Folder2_Invoke(Folder2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1215    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1216}
1217/*** Folder methods ***/
1218static inline HRESULT Folder2_get_Title(Folder2* This,BSTR *pbs) {
1219    return This->lpVtbl->get_Title(This,pbs);
1220}
1221static inline HRESULT Folder2_get_Application(Folder2* This,IDispatch **ppid) {
1222    return This->lpVtbl->get_Application(This,ppid);
1223}
1224static inline HRESULT Folder2_get_Parent(Folder2* This,IDispatch **ppid) {
1225    return This->lpVtbl->get_Parent(This,ppid);
1226}
1227static inline HRESULT Folder2_get_ParentFolder(Folder2* This,Folder **ppsf) {
1228    return This->lpVtbl->get_ParentFolder(This,ppsf);
1229}
1230static inline HRESULT Folder2_Items(Folder2* This,FolderItems **ppid) {
1231    return This->lpVtbl->Items(This,ppid);
1232}
1233static inline HRESULT Folder2_ParseName(Folder2* This,BSTR bName,FolderItem **ppid) {
1234    return This->lpVtbl->ParseName(This,bName,ppid);
1235}
1236static inline HRESULT Folder2_NewFolder(Folder2* This,BSTR bName,VARIANT vOptions) {
1237    return This->lpVtbl->NewFolder(This,bName,vOptions);
1238}
1239static inline HRESULT Folder2_MoveHere(Folder2* This,VARIANT vItem,VARIANT vOptions) {
1240    return This->lpVtbl->MoveHere(This,vItem,vOptions);
1241}
1242static inline HRESULT Folder2_CopyHere(Folder2* This,VARIANT vItem,VARIANT vOptions) {
1243    return This->lpVtbl->CopyHere(This,vItem,vOptions);
1244}
1245static inline HRESULT Folder2_GetDetailsOf(Folder2* This,VARIANT vItem,int iColumn,BSTR *pbs) {
1246    return This->lpVtbl->GetDetailsOf(This,vItem,iColumn,pbs);
1247}
1248/*** Folder2 methods ***/
1249static inline HRESULT Folder2_get_Self(Folder2* This,FolderItem **ppfi) {
1250    return This->lpVtbl->get_Self(This,ppfi);
1251}
1252static inline HRESULT Folder2_get_OfflineStatus(Folder2* This,LONG *pul) {
1253    return This->lpVtbl->get_OfflineStatus(This,pul);
1254}
1255static inline HRESULT Folder2_Synchronize(Folder2* This) {
1256    return This->lpVtbl->Synchronize(This);
1257}
1258static inline HRESULT Folder2_get_HaveToShowWebViewBarricade(Folder2* This,VARIANT_BOOL *pbHaveToShowWebViewBarricade) {
1259    return This->lpVtbl->get_HaveToShowWebViewBarricade(This,pbHaveToShowWebViewBarricade);
1260}
1261static inline HRESULT Folder2_DismissedWebViewBarricade(Folder2* This) {
1262    return This->lpVtbl->DismissedWebViewBarricade(This);
1263}
1264#endif
1265#endif
1266
1267#endif
1268
1269
1270#endif  /* __Folder2_INTERFACE_DEFINED__ */
1271
1272typedef enum OfflineFolderStatus {
1273    OFS_INACTIVE = -1,
1274    OFS_ONLINE = 0,
1275    OFS_OFFLINE = 1,
1276    OFS_SERVERBACK = 2,
1277    OFS_DIRTYCACHE = 3
1278} OfflineFolderStatus;
1279/*****************************************************************************
1280 * Folder3 interface
1281 */
1282#ifndef __Folder3_INTERFACE_DEFINED__
1283#define __Folder3_INTERFACE_DEFINED__
1284
1285DEFINE_GUID(IID_Folder3, 0xa7ae5f64, 0xc4d7, 0x4d7f, 0x93,0x07, 0x4d,0x24,0xee,0x54,0xb8,0x41);
1286#if defined(__cplusplus) && !defined(CINTERFACE)
1287MIDL_INTERFACE("a7ae5f64-c4d7-4d7f-9307-4d24ee54b841")
1288Folder3 : public Folder2
1289{
1290    virtual HRESULT STDMETHODCALLTYPE get_ShowWebViewBarricade(
1291        VARIANT_BOOL *pbShowWebViewBarricade) = 0;
1292
1293    virtual HRESULT STDMETHODCALLTYPE put_ShowWebViewBarricade(
1294        VARIANT_BOOL bShowWebViewBarricade) = 0;
1295
1296};
1297#ifdef __CRT_UUID_DECL
1298__CRT_UUID_DECL(Folder3, 0xa7ae5f64, 0xc4d7, 0x4d7f, 0x93,0x07, 0x4d,0x24,0xee,0x54,0xb8,0x41)
1299#endif
1300#else
1301typedef struct Folder3Vtbl {
1302    BEGIN_INTERFACE
1303
1304    /*** IUnknown methods ***/
1305    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1306        Folder3 *This,
1307        REFIID riid,
1308        void **ppvObject);
1309
1310    ULONG (STDMETHODCALLTYPE *AddRef)(
1311        Folder3 *This);
1312
1313    ULONG (STDMETHODCALLTYPE *Release)(
1314        Folder3 *This);
1315
1316    /*** IDispatch methods ***/
1317    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1318        Folder3 *This,
1319        UINT *pctinfo);
1320
1321    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1322        Folder3 *This,
1323        UINT iTInfo,
1324        LCID lcid,
1325        ITypeInfo **ppTInfo);
1326
1327    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1328        Folder3 *This,
1329        REFIID riid,
1330        LPOLESTR *rgszNames,
1331        UINT cNames,
1332        LCID lcid,
1333        DISPID *rgDispId);
1334
1335    HRESULT (STDMETHODCALLTYPE *Invoke)(
1336        Folder3 *This,
1337        DISPID dispIdMember,
1338        REFIID riid,
1339        LCID lcid,
1340        WORD wFlags,
1341        DISPPARAMS *pDispParams,
1342        VARIANT *pVarResult,
1343        EXCEPINFO *pExcepInfo,
1344        UINT *puArgErr);
1345
1346    /*** Folder methods ***/
1347    HRESULT (STDMETHODCALLTYPE *get_Title)(
1348        Folder3 *This,
1349        BSTR *pbs);
1350
1351    HRESULT (STDMETHODCALLTYPE *get_Application)(
1352        Folder3 *This,
1353        IDispatch **ppid);
1354
1355    HRESULT (STDMETHODCALLTYPE *get_Parent)(
1356        Folder3 *This,
1357        IDispatch **ppid);
1358
1359    HRESULT (STDMETHODCALLTYPE *get_ParentFolder)(
1360        Folder3 *This,
1361        Folder **ppsf);
1362
1363    HRESULT (STDMETHODCALLTYPE *Items)(
1364        Folder3 *This,
1365        FolderItems **ppid);
1366
1367    HRESULT (STDMETHODCALLTYPE *ParseName)(
1368        Folder3 *This,
1369        BSTR bName,
1370        FolderItem **ppid);
1371
1372    HRESULT (STDMETHODCALLTYPE *NewFolder)(
1373        Folder3 *This,
1374        BSTR bName,
1375        VARIANT vOptions);
1376
1377    HRESULT (STDMETHODCALLTYPE *MoveHere)(
1378        Folder3 *This,
1379        VARIANT vItem,
1380        VARIANT vOptions);
1381
1382    HRESULT (STDMETHODCALLTYPE *CopyHere)(
1383        Folder3 *This,
1384        VARIANT vItem,
1385        VARIANT vOptions);
1386
1387    HRESULT (STDMETHODCALLTYPE *GetDetailsOf)(
1388        Folder3 *This,
1389        VARIANT vItem,
1390        int iColumn,
1391        BSTR *pbs);
1392
1393    /*** Folder2 methods ***/
1394    HRESULT (STDMETHODCALLTYPE *get_Self)(
1395        Folder3 *This,
1396        FolderItem **ppfi);
1397
1398    HRESULT (STDMETHODCALLTYPE *get_OfflineStatus)(
1399        Folder3 *This,
1400        LONG *pul);
1401
1402    HRESULT (STDMETHODCALLTYPE *Synchronize)(
1403        Folder3 *This);
1404
1405    HRESULT (STDMETHODCALLTYPE *get_HaveToShowWebViewBarricade)(
1406        Folder3 *This,
1407        VARIANT_BOOL *pbHaveToShowWebViewBarricade);
1408
1409    HRESULT (STDMETHODCALLTYPE *DismissedWebViewBarricade)(
1410        Folder3 *This);
1411
1412    /*** Folder3 methods ***/
1413    HRESULT (STDMETHODCALLTYPE *get_ShowWebViewBarricade)(
1414        Folder3 *This,
1415        VARIANT_BOOL *pbShowWebViewBarricade);
1416
1417    HRESULT (STDMETHODCALLTYPE *put_ShowWebViewBarricade)(
1418        Folder3 *This,
1419        VARIANT_BOOL bShowWebViewBarricade);
1420
1421    END_INTERFACE
1422} Folder3Vtbl;
1423
1424interface Folder3 {
1425    CONST_VTBL Folder3Vtbl* lpVtbl;
1426};
1427
1428#ifdef COBJMACROS
1429#ifndef WIDL_C_INLINE_WRAPPERS
1430/*** IUnknown methods ***/
1431#define Folder3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1432#define Folder3_AddRef(This) (This)->lpVtbl->AddRef(This)
1433#define Folder3_Release(This) (This)->lpVtbl->Release(This)
1434/*** IDispatch methods ***/
1435#define Folder3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1436#define Folder3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1437#define Folder3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1438#define Folder3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1439/*** Folder methods ***/
1440#define Folder3_get_Title(This,pbs) (This)->lpVtbl->get_Title(This,pbs)
1441#define Folder3_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
1442#define Folder3_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
1443#define Folder3_get_ParentFolder(This,ppsf) (This)->lpVtbl->get_ParentFolder(This,ppsf)
1444#define Folder3_Items(This,ppid) (This)->lpVtbl->Items(This,ppid)
1445#define Folder3_ParseName(This,bName,ppid) (This)->lpVtbl->ParseName(This,bName,ppid)
1446#define Folder3_NewFolder(This,bName,vOptions) (This)->lpVtbl->NewFolder(This,bName,vOptions)
1447#define Folder3_MoveHere(This,vItem,vOptions) (This)->lpVtbl->MoveHere(This,vItem,vOptions)
1448#define Folder3_CopyHere(This,vItem,vOptions) (This)->lpVtbl->CopyHere(This,vItem,vOptions)
1449#define Folder3_GetDetailsOf(This,vItem,iColumn,pbs) (This)->lpVtbl->GetDetailsOf(This,vItem,iColumn,pbs)
1450/*** Folder2 methods ***/
1451#define Folder3_get_Self(This,ppfi) (This)->lpVtbl->get_Self(This,ppfi)
1452#define Folder3_get_OfflineStatus(This,pul) (This)->lpVtbl->get_OfflineStatus(This,pul)
1453#define Folder3_Synchronize(This) (This)->lpVtbl->Synchronize(This)
1454#define Folder3_get_HaveToShowWebViewBarricade(This,pbHaveToShowWebViewBarricade) (This)->lpVtbl->get_HaveToShowWebViewBarricade(This,pbHaveToShowWebViewBarricade)
1455#define Folder3_DismissedWebViewBarricade(This) (This)->lpVtbl->DismissedWebViewBarricade(This)
1456/*** Folder3 methods ***/
1457#define Folder3_get_ShowWebViewBarricade(This,pbShowWebViewBarricade) (This)->lpVtbl->get_ShowWebViewBarricade(This,pbShowWebViewBarricade)
1458#define Folder3_put_ShowWebViewBarricade(This,bShowWebViewBarricade) (This)->lpVtbl->put_ShowWebViewBarricade(This,bShowWebViewBarricade)
1459#else
1460/*** IUnknown methods ***/
1461static inline HRESULT Folder3_QueryInterface(Folder3* This,REFIID riid,void **ppvObject) {
1462    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1463}
1464static inline ULONG Folder3_AddRef(Folder3* This) {
1465    return This->lpVtbl->AddRef(This);
1466}
1467static inline ULONG Folder3_Release(Folder3* This) {
1468    return This->lpVtbl->Release(This);
1469}
1470/*** IDispatch methods ***/
1471static inline HRESULT Folder3_GetTypeInfoCount(Folder3* This,UINT *pctinfo) {
1472    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1473}
1474static inline HRESULT Folder3_GetTypeInfo(Folder3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1475    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1476}
1477static inline HRESULT Folder3_GetIDsOfNames(Folder3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1478    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1479}
1480static inline HRESULT Folder3_Invoke(Folder3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1481    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1482}
1483/*** Folder methods ***/
1484static inline HRESULT Folder3_get_Title(Folder3* This,BSTR *pbs) {
1485    return This->lpVtbl->get_Title(This,pbs);
1486}
1487static inline HRESULT Folder3_get_Application(Folder3* This,IDispatch **ppid) {
1488    return This->lpVtbl->get_Application(This,ppid);
1489}
1490static inline HRESULT Folder3_get_Parent(Folder3* This,IDispatch **ppid) {
1491    return This->lpVtbl->get_Parent(This,ppid);
1492}
1493static inline HRESULT Folder3_get_ParentFolder(Folder3* This,Folder **ppsf) {
1494    return This->lpVtbl->get_ParentFolder(This,ppsf);
1495}
1496static inline HRESULT Folder3_Items(Folder3* This,FolderItems **ppid) {
1497    return This->lpVtbl->Items(This,ppid);
1498}
1499static inline HRESULT Folder3_ParseName(Folder3* This,BSTR bName,FolderItem **ppid) {
1500    return This->lpVtbl->ParseName(This,bName,ppid);
1501}
1502static inline HRESULT Folder3_NewFolder(Folder3* This,BSTR bName,VARIANT vOptions) {
1503    return This->lpVtbl->NewFolder(This,bName,vOptions);
1504}
1505static inline HRESULT Folder3_MoveHere(Folder3* This,VARIANT vItem,VARIANT vOptions) {
1506    return This->lpVtbl->MoveHere(This,vItem,vOptions);
1507}
1508static inline HRESULT Folder3_CopyHere(Folder3* This,VARIANT vItem,VARIANT vOptions) {
1509    return This->lpVtbl->CopyHere(This,vItem,vOptions);
1510}
1511static inline HRESULT Folder3_GetDetailsOf(Folder3* This,VARIANT vItem,int iColumn,BSTR *pbs) {
1512    return This->lpVtbl->GetDetailsOf(This,vItem,iColumn,pbs);
1513}
1514/*** Folder2 methods ***/
1515static inline HRESULT Folder3_get_Self(Folder3* This,FolderItem **ppfi) {
1516    return This->lpVtbl->get_Self(This,ppfi);
1517}
1518static inline HRESULT Folder3_get_OfflineStatus(Folder3* This,LONG *pul) {
1519    return This->lpVtbl->get_OfflineStatus(This,pul);
1520}
1521static inline HRESULT Folder3_Synchronize(Folder3* This) {
1522    return This->lpVtbl->Synchronize(This);
1523}
1524static inline HRESULT Folder3_get_HaveToShowWebViewBarricade(Folder3* This,VARIANT_BOOL *pbHaveToShowWebViewBarricade) {
1525    return This->lpVtbl->get_HaveToShowWebViewBarricade(This,pbHaveToShowWebViewBarricade);
1526}
1527static inline HRESULT Folder3_DismissedWebViewBarricade(Folder3* This) {
1528    return This->lpVtbl->DismissedWebViewBarricade(This);
1529}
1530/*** Folder3 methods ***/
1531static inline HRESULT Folder3_get_ShowWebViewBarricade(Folder3* This,VARIANT_BOOL *pbShowWebViewBarricade) {
1532    return This->lpVtbl->get_ShowWebViewBarricade(This,pbShowWebViewBarricade);
1533}
1534static inline HRESULT Folder3_put_ShowWebViewBarricade(Folder3* This,VARIANT_BOOL bShowWebViewBarricade) {
1535    return This->lpVtbl->put_ShowWebViewBarricade(This,bShowWebViewBarricade);
1536}
1537#endif
1538#endif
1539
1540#endif
1541
1542
1543#endif  /* __Folder3_INTERFACE_DEFINED__ */
1544
1545/*****************************************************************************
1546 * FolderItem interface
1547 */
1548#ifndef __FolderItem_INTERFACE_DEFINED__
1549#define __FolderItem_INTERFACE_DEFINED__
1550
1551typedef FolderItem *LPFOLDERITEM;
1552DEFINE_GUID(IID_FolderItem, 0xfac32c80, 0xcbe4, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00);
1553#if defined(__cplusplus) && !defined(CINTERFACE)
1554MIDL_INTERFACE("fac32c80-cbe4-11ce-8350-444553540000")
1555FolderItem : public IDispatch
1556{
1557    virtual HRESULT STDMETHODCALLTYPE get_Application(
1558        IDispatch **ppid) = 0;
1559
1560    virtual HRESULT STDMETHODCALLTYPE get_Parent(
1561        IDispatch **ppid) = 0;
1562
1563    virtual HRESULT STDMETHODCALLTYPE get_Name(
1564        BSTR *pbs) = 0;
1565
1566    virtual HRESULT STDMETHODCALLTYPE put_Name(
1567        BSTR bs) = 0;
1568
1569    virtual HRESULT STDMETHODCALLTYPE get_Path(
1570        BSTR *pbs) = 0;
1571
1572    virtual HRESULT STDMETHODCALLTYPE get_GetLink(
1573        IDispatch **ppid) = 0;
1574
1575    virtual HRESULT STDMETHODCALLTYPE get_GetFolder(
1576        IDispatch **ppid) = 0;
1577
1578    virtual HRESULT STDMETHODCALLTYPE get_IsLink(
1579        VARIANT_BOOL *pb) = 0;
1580
1581    virtual HRESULT STDMETHODCALLTYPE get_IsFolder(
1582        VARIANT_BOOL *pb) = 0;
1583
1584    virtual HRESULT STDMETHODCALLTYPE get_IsFileSystem(
1585        VARIANT_BOOL *pb) = 0;
1586
1587    virtual HRESULT STDMETHODCALLTYPE get_IsBrowsable(
1588        VARIANT_BOOL *pb) = 0;
1589
1590    virtual HRESULT STDMETHODCALLTYPE get_ModifyDate(
1591        DATE *pdt) = 0;
1592
1593    virtual HRESULT STDMETHODCALLTYPE put_ModifyDate(
1594        DATE dt) = 0;
1595
1596    virtual HRESULT STDMETHODCALLTYPE get_Size(
1597        LONG *pul) = 0;
1598
1599    virtual HRESULT STDMETHODCALLTYPE get_Type(
1600        BSTR *pbs) = 0;
1601
1602    virtual HRESULT STDMETHODCALLTYPE Verbs(
1603        FolderItemVerbs **ppfic) = 0;
1604
1605    virtual HRESULT STDMETHODCALLTYPE InvokeVerb(
1606        VARIANT vVerb) = 0;
1607
1608};
1609#ifdef __CRT_UUID_DECL
1610__CRT_UUID_DECL(FolderItem, 0xfac32c80, 0xcbe4, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00)
1611#endif
1612#else
1613typedef struct FolderItemVtbl {
1614    BEGIN_INTERFACE
1615
1616    /*** IUnknown methods ***/
1617    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1618        FolderItem *This,
1619        REFIID riid,
1620        void **ppvObject);
1621
1622    ULONG (STDMETHODCALLTYPE *AddRef)(
1623        FolderItem *This);
1624
1625    ULONG (STDMETHODCALLTYPE *Release)(
1626        FolderItem *This);
1627
1628    /*** IDispatch methods ***/
1629    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1630        FolderItem *This,
1631        UINT *pctinfo);
1632
1633    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1634        FolderItem *This,
1635        UINT iTInfo,
1636        LCID lcid,
1637        ITypeInfo **ppTInfo);
1638
1639    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1640        FolderItem *This,
1641        REFIID riid,
1642        LPOLESTR *rgszNames,
1643        UINT cNames,
1644        LCID lcid,
1645        DISPID *rgDispId);
1646
1647    HRESULT (STDMETHODCALLTYPE *Invoke)(
1648        FolderItem *This,
1649        DISPID dispIdMember,
1650        REFIID riid,
1651        LCID lcid,
1652        WORD wFlags,
1653        DISPPARAMS *pDispParams,
1654        VARIANT *pVarResult,
1655        EXCEPINFO *pExcepInfo,
1656        UINT *puArgErr);
1657
1658    /*** FolderItem methods ***/
1659    HRESULT (STDMETHODCALLTYPE *get_Application)(
1660        FolderItem *This,
1661        IDispatch **ppid);
1662
1663    HRESULT (STDMETHODCALLTYPE *get_Parent)(
1664        FolderItem *This,
1665        IDispatch **ppid);
1666
1667    HRESULT (STDMETHODCALLTYPE *get_Name)(
1668        FolderItem *This,
1669        BSTR *pbs);
1670
1671    HRESULT (STDMETHODCALLTYPE *put_Name)(
1672        FolderItem *This,
1673        BSTR bs);
1674
1675    HRESULT (STDMETHODCALLTYPE *get_Path)(
1676        FolderItem *This,
1677        BSTR *pbs);
1678
1679    HRESULT (STDMETHODCALLTYPE *get_GetLink)(
1680        FolderItem *This,
1681        IDispatch **ppid);
1682
1683    HRESULT (STDMETHODCALLTYPE *get_GetFolder)(
1684        FolderItem *This,
1685        IDispatch **ppid);
1686
1687    HRESULT (STDMETHODCALLTYPE *get_IsLink)(
1688        FolderItem *This,
1689        VARIANT_BOOL *pb);
1690
1691    HRESULT (STDMETHODCALLTYPE *get_IsFolder)(
1692        FolderItem *This,
1693        VARIANT_BOOL *pb);
1694
1695    HRESULT (STDMETHODCALLTYPE *get_IsFileSystem)(
1696        FolderItem *This,
1697        VARIANT_BOOL *pb);
1698
1699    HRESULT (STDMETHODCALLTYPE *get_IsBrowsable)(
1700        FolderItem *This,
1701        VARIANT_BOOL *pb);
1702
1703    HRESULT (STDMETHODCALLTYPE *get_ModifyDate)(
1704        FolderItem *This,
1705        DATE *pdt);
1706
1707    HRESULT (STDMETHODCALLTYPE *put_ModifyDate)(
1708        FolderItem *This,
1709        DATE dt);
1710
1711    HRESULT (STDMETHODCALLTYPE *get_Size)(
1712        FolderItem *This,
1713        LONG *pul);
1714
1715    HRESULT (STDMETHODCALLTYPE *get_Type)(
1716        FolderItem *This,
1717        BSTR *pbs);
1718
1719    HRESULT (STDMETHODCALLTYPE *Verbs)(
1720        FolderItem *This,
1721        FolderItemVerbs **ppfic);
1722
1723    HRESULT (STDMETHODCALLTYPE *InvokeVerb)(
1724        FolderItem *This,
1725        VARIANT vVerb);
1726
1727    END_INTERFACE
1728} FolderItemVtbl;
1729
1730interface FolderItem {
1731    CONST_VTBL FolderItemVtbl* lpVtbl;
1732};
1733
1734#ifdef COBJMACROS
1735#ifndef WIDL_C_INLINE_WRAPPERS
1736/*** IUnknown methods ***/
1737#define FolderItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1738#define FolderItem_AddRef(This) (This)->lpVtbl->AddRef(This)
1739#define FolderItem_Release(This) (This)->lpVtbl->Release(This)
1740/*** IDispatch methods ***/
1741#define FolderItem_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1742#define FolderItem_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1743#define FolderItem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1744#define FolderItem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1745/*** FolderItem methods ***/
1746#define FolderItem_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
1747#define FolderItem_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
1748#define FolderItem_get_Name(This,pbs) (This)->lpVtbl->get_Name(This,pbs)
1749#define FolderItem_put_Name(This,bs) (This)->lpVtbl->put_Name(This,bs)
1750#define FolderItem_get_Path(This,pbs) (This)->lpVtbl->get_Path(This,pbs)
1751#define FolderItem_get_GetLink(This,ppid) (This)->lpVtbl->get_GetLink(This,ppid)
1752#define FolderItem_get_GetFolder(This,ppid) (This)->lpVtbl->get_GetFolder(This,ppid)
1753#define FolderItem_get_IsLink(This,pb) (This)->lpVtbl->get_IsLink(This,pb)
1754#define FolderItem_get_IsFolder(This,pb) (This)->lpVtbl->get_IsFolder(This,pb)
1755#define FolderItem_get_IsFileSystem(This,pb) (This)->lpVtbl->get_IsFileSystem(This,pb)
1756#define FolderItem_get_IsBrowsable(This,pb) (This)->lpVtbl->get_IsBrowsable(This,pb)
1757#define FolderItem_get_ModifyDate(This,pdt) (This)->lpVtbl->get_ModifyDate(This,pdt)
1758#define FolderItem_put_ModifyDate(This,dt) (This)->lpVtbl->put_ModifyDate(This,dt)
1759#define FolderItem_get_Size(This,pul) (This)->lpVtbl->get_Size(This,pul)
1760#define FolderItem_get_Type(This,pbs) (This)->lpVtbl->get_Type(This,pbs)
1761#define FolderItem_Verbs(This,ppfic) (This)->lpVtbl->Verbs(This,ppfic)
1762#define FolderItem_InvokeVerb(This,vVerb) (This)->lpVtbl->InvokeVerb(This,vVerb)
1763#else
1764/*** IUnknown methods ***/
1765static inline HRESULT FolderItem_QueryInterface(FolderItem* This,REFIID riid,void **ppvObject) {
1766    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1767}
1768static inline ULONG FolderItem_AddRef(FolderItem* This) {
1769    return This->lpVtbl->AddRef(This);
1770}
1771static inline ULONG FolderItem_Release(FolderItem* This) {
1772    return This->lpVtbl->Release(This);
1773}
1774/*** IDispatch methods ***/
1775static inline HRESULT FolderItem_GetTypeInfoCount(FolderItem* This,UINT *pctinfo) {
1776    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
1777}
1778static inline HRESULT FolderItem_GetTypeInfo(FolderItem* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
1779    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
1780}
1781static inline HRESULT FolderItem_GetIDsOfNames(FolderItem* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
1782    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
1783}
1784static inline HRESULT FolderItem_Invoke(FolderItem* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
1785    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
1786}
1787/*** FolderItem methods ***/
1788static inline HRESULT FolderItem_get_Application(FolderItem* This,IDispatch **ppid) {
1789    return This->lpVtbl->get_Application(This,ppid);
1790}
1791static inline HRESULT FolderItem_get_Parent(FolderItem* This,IDispatch **ppid) {
1792    return This->lpVtbl->get_Parent(This,ppid);
1793}
1794static inline HRESULT FolderItem_get_Name(FolderItem* This,BSTR *pbs) {
1795    return This->lpVtbl->get_Name(This,pbs);
1796}
1797static inline HRESULT FolderItem_put_Name(FolderItem* This,BSTR bs) {
1798    return This->lpVtbl->put_Name(This,bs);
1799}
1800static inline HRESULT FolderItem_get_Path(FolderItem* This,BSTR *pbs) {
1801    return This->lpVtbl->get_Path(This,pbs);
1802}
1803static inline HRESULT FolderItem_get_GetLink(FolderItem* This,IDispatch **ppid) {
1804    return This->lpVtbl->get_GetLink(This,ppid);
1805}
1806static inline HRESULT FolderItem_get_GetFolder(FolderItem* This,IDispatch **ppid) {
1807    return This->lpVtbl->get_GetFolder(This,ppid);
1808}
1809static inline HRESULT FolderItem_get_IsLink(FolderItem* This,VARIANT_BOOL *pb) {
1810    return This->lpVtbl->get_IsLink(This,pb);
1811}
1812static inline HRESULT FolderItem_get_IsFolder(FolderItem* This,VARIANT_BOOL *pb) {
1813    return This->lpVtbl->get_IsFolder(This,pb);
1814}
1815static inline HRESULT FolderItem_get_IsFileSystem(FolderItem* This,VARIANT_BOOL *pb) {
1816    return This->lpVtbl->get_IsFileSystem(This,pb);
1817}
1818static inline HRESULT FolderItem_get_IsBrowsable(FolderItem* This,VARIANT_BOOL *pb) {
1819    return This->lpVtbl->get_IsBrowsable(This,pb);
1820}
1821static inline HRESULT FolderItem_get_ModifyDate(FolderItem* This,DATE *pdt) {
1822    return This->lpVtbl->get_ModifyDate(This,pdt);
1823}
1824static inline HRESULT FolderItem_put_ModifyDate(FolderItem* This,DATE dt) {
1825    return This->lpVtbl->put_ModifyDate(This,dt);
1826}
1827static inline HRESULT FolderItem_get_Size(FolderItem* This,LONG *pul) {
1828    return This->lpVtbl->get_Size(This,pul);
1829}
1830static inline HRESULT FolderItem_get_Type(FolderItem* This,BSTR *pbs) {
1831    return This->lpVtbl->get_Type(This,pbs);
1832}
1833static inline HRESULT FolderItem_Verbs(FolderItem* This,FolderItemVerbs **ppfic) {
1834    return This->lpVtbl->Verbs(This,ppfic);
1835}
1836static inline HRESULT FolderItem_InvokeVerb(FolderItem* This,VARIANT vVerb) {
1837    return This->lpVtbl->InvokeVerb(This,vVerb);
1838}
1839#endif
1840#endif
1841
1842#endif
1843
1844
1845#endif  /* __FolderItem_INTERFACE_DEFINED__ */
1846
1847/*****************************************************************************
1848 * FolderItem2 interface
1849 */
1850#ifndef __FolderItem2_INTERFACE_DEFINED__
1851#define __FolderItem2_INTERFACE_DEFINED__
1852
1853DEFINE_GUID(IID_FolderItem2, 0xedc817aa, 0x92b8, 0x11d1, 0xb0,0x75, 0x00,0xc0,0x4f,0xc3,0x3a,0xa5);
1854#if defined(__cplusplus) && !defined(CINTERFACE)
1855MIDL_INTERFACE("edc817aa-92b8-11d1-b075-00c04fc33aa5")
1856FolderItem2 : public FolderItem
1857{
1858    virtual HRESULT STDMETHODCALLTYPE InvokeVerbEx(
1859        VARIANT vVerb,
1860        VARIANT vArgs) = 0;
1861
1862    virtual HRESULT STDMETHODCALLTYPE ExtendedProperty(
1863        BSTR bstrPropName,
1864        VARIANT *pvRet) = 0;
1865
1866};
1867#ifdef __CRT_UUID_DECL
1868__CRT_UUID_DECL(FolderItem2, 0xedc817aa, 0x92b8, 0x11d1, 0xb0,0x75, 0x00,0xc0,0x4f,0xc3,0x3a,0xa5)
1869#endif
1870#else
1871typedef struct FolderItem2Vtbl {
1872    BEGIN_INTERFACE
1873
1874    /*** IUnknown methods ***/
1875    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1876        FolderItem2 *This,
1877        REFIID riid,
1878        void **ppvObject);
1879
1880    ULONG (STDMETHODCALLTYPE *AddRef)(
1881        FolderItem2 *This);
1882
1883    ULONG (STDMETHODCALLTYPE *Release)(
1884        FolderItem2 *This);
1885
1886    /*** IDispatch methods ***/
1887    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
1888        FolderItem2 *This,
1889        UINT *pctinfo);
1890
1891    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
1892        FolderItem2 *This,
1893        UINT iTInfo,
1894        LCID lcid,
1895        ITypeInfo **ppTInfo);
1896
1897    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
1898        FolderItem2 *This,
1899        REFIID riid,
1900        LPOLESTR *rgszNames,
1901        UINT cNames,
1902        LCID lcid,
1903        DISPID *rgDispId);
1904
1905    HRESULT (STDMETHODCALLTYPE *Invoke)(
1906        FolderItem2 *This,
1907        DISPID dispIdMember,
1908        REFIID riid,
1909        LCID lcid,
1910        WORD wFlags,
1911        DISPPARAMS *pDispParams,
1912        VARIANT *pVarResult,
1913        EXCEPINFO *pExcepInfo,
1914        UINT *puArgErr);
1915
1916    /*** FolderItem methods ***/
1917    HRESULT (STDMETHODCALLTYPE *get_Application)(
1918        FolderItem2 *This,
1919        IDispatch **ppid);
1920
1921    HRESULT (STDMETHODCALLTYPE *get_Parent)(
1922        FolderItem2 *This,
1923        IDispatch **ppid);
1924
1925    HRESULT (STDMETHODCALLTYPE *get_Name)(
1926        FolderItem2 *This,
1927        BSTR *pbs);
1928
1929    HRESULT (STDMETHODCALLTYPE *put_Name)(
1930        FolderItem2 *This,
1931        BSTR bs);
1932
1933    HRESULT (STDMETHODCALLTYPE *get_Path)(
1934        FolderItem2 *This,
1935        BSTR *pbs);
1936
1937    HRESULT (STDMETHODCALLTYPE *get_GetLink)(
1938        FolderItem2 *This,
1939        IDispatch **ppid);
1940
1941    HRESULT (STDMETHODCALLTYPE *get_GetFolder)(
1942        FolderItem2 *This,
1943        IDispatch **ppid);
1944
1945    HRESULT (STDMETHODCALLTYPE *get_IsLink)(
1946        FolderItem2 *This,
1947        VARIANT_BOOL *pb);
1948
1949    HRESULT (STDMETHODCALLTYPE *get_IsFolder)(
1950        FolderItem2 *This,
1951        VARIANT_BOOL *pb);
1952
1953    HRESULT (STDMETHODCALLTYPE *get_IsFileSystem)(
1954        FolderItem2 *This,
1955        VARIANT_BOOL *pb);
1956
1957    HRESULT (STDMETHODCALLTYPE *get_IsBrowsable)(
1958        FolderItem2 *This,
1959        VARIANT_BOOL *pb);
1960
1961    HRESULT (STDMETHODCALLTYPE *get_ModifyDate)(
1962        FolderItem2 *This,
1963        DATE *pdt);
1964
1965    HRESULT (STDMETHODCALLTYPE *put_ModifyDate)(
1966        FolderItem2 *This,
1967        DATE dt);
1968
1969    HRESULT (STDMETHODCALLTYPE *get_Size)(
1970        FolderItem2 *This,
1971        LONG *pul);
1972
1973    HRESULT (STDMETHODCALLTYPE *get_Type)(
1974        FolderItem2 *This,
1975        BSTR *pbs);
1976
1977    HRESULT (STDMETHODCALLTYPE *Verbs)(
1978        FolderItem2 *This,
1979        FolderItemVerbs **ppfic);
1980
1981    HRESULT (STDMETHODCALLTYPE *InvokeVerb)(
1982        FolderItem2 *This,
1983        VARIANT vVerb);
1984
1985    /*** FolderItem2 methods ***/
1986    HRESULT (STDMETHODCALLTYPE *InvokeVerbEx)(
1987        FolderItem2 *This,
1988        VARIANT vVerb,
1989        VARIANT vArgs);
1990
1991    HRESULT (STDMETHODCALLTYPE *ExtendedProperty)(
1992        FolderItem2 *This,
1993        BSTR bstrPropName,
1994        VARIANT *pvRet);
1995
1996    END_INTERFACE
1997} FolderItem2Vtbl;
1998
1999interface FolderItem2 {
2000    CONST_VTBL FolderItem2Vtbl* lpVtbl;
2001};
2002
2003#ifdef COBJMACROS
2004#ifndef WIDL_C_INLINE_WRAPPERS
2005/*** IUnknown methods ***/
2006#define FolderItem2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2007#define FolderItem2_AddRef(This) (This)->lpVtbl->AddRef(This)
2008#define FolderItem2_Release(This) (This)->lpVtbl->Release(This)
2009/*** IDispatch methods ***/
2010#define FolderItem2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2011#define FolderItem2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2012#define FolderItem2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2013#define FolderItem2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2014/*** FolderItem methods ***/
2015#define FolderItem2_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
2016#define FolderItem2_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
2017#define FolderItem2_get_Name(This,pbs) (This)->lpVtbl->get_Name(This,pbs)
2018#define FolderItem2_put_Name(This,bs) (This)->lpVtbl->put_Name(This,bs)
2019#define FolderItem2_get_Path(This,pbs) (This)->lpVtbl->get_Path(This,pbs)
2020#define FolderItem2_get_GetLink(This,ppid) (This)->lpVtbl->get_GetLink(This,ppid)
2021#define FolderItem2_get_GetFolder(This,ppid) (This)->lpVtbl->get_GetFolder(This,ppid)
2022#define FolderItem2_get_IsLink(This,pb) (This)->lpVtbl->get_IsLink(This,pb)
2023#define FolderItem2_get_IsFolder(This,pb) (This)->lpVtbl->get_IsFolder(This,pb)
2024#define FolderItem2_get_IsFileSystem(This,pb) (This)->lpVtbl->get_IsFileSystem(This,pb)
2025#define FolderItem2_get_IsBrowsable(This,pb) (This)->lpVtbl->get_IsBrowsable(This,pb)
2026#define FolderItem2_get_ModifyDate(This,pdt) (This)->lpVtbl->get_ModifyDate(This,pdt)
2027#define FolderItem2_put_ModifyDate(This,dt) (This)->lpVtbl->put_ModifyDate(This,dt)
2028#define FolderItem2_get_Size(This,pul) (This)->lpVtbl->get_Size(This,pul)
2029#define FolderItem2_get_Type(This,pbs) (This)->lpVtbl->get_Type(This,pbs)
2030#define FolderItem2_Verbs(This,ppfic) (This)->lpVtbl->Verbs(This,ppfic)
2031#define FolderItem2_InvokeVerb(This,vVerb) (This)->lpVtbl->InvokeVerb(This,vVerb)
2032/*** FolderItem2 methods ***/
2033#define FolderItem2_InvokeVerbEx(This,vVerb,vArgs) (This)->lpVtbl->InvokeVerbEx(This,vVerb,vArgs)
2034#define FolderItem2_ExtendedProperty(This,bstrPropName,pvRet) (This)->lpVtbl->ExtendedProperty(This,bstrPropName,pvRet)
2035#else
2036/*** IUnknown methods ***/
2037static inline HRESULT FolderItem2_QueryInterface(FolderItem2* This,REFIID riid,void **ppvObject) {
2038    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2039}
2040static inline ULONG FolderItem2_AddRef(FolderItem2* This) {
2041    return This->lpVtbl->AddRef(This);
2042}
2043static inline ULONG FolderItem2_Release(FolderItem2* This) {
2044    return This->lpVtbl->Release(This);
2045}
2046/*** IDispatch methods ***/
2047static inline HRESULT FolderItem2_GetTypeInfoCount(FolderItem2* This,UINT *pctinfo) {
2048    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2049}
2050static inline HRESULT FolderItem2_GetTypeInfo(FolderItem2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2051    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2052}
2053static inline HRESULT FolderItem2_GetIDsOfNames(FolderItem2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2054    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2055}
2056static inline HRESULT FolderItem2_Invoke(FolderItem2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2057    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2058}
2059/*** FolderItem methods ***/
2060static inline HRESULT FolderItem2_get_Application(FolderItem2* This,IDispatch **ppid) {
2061    return This->lpVtbl->get_Application(This,ppid);
2062}
2063static inline HRESULT FolderItem2_get_Parent(FolderItem2* This,IDispatch **ppid) {
2064    return This->lpVtbl->get_Parent(This,ppid);
2065}
2066static inline HRESULT FolderItem2_get_Name(FolderItem2* This,BSTR *pbs) {
2067    return This->lpVtbl->get_Name(This,pbs);
2068}
2069static inline HRESULT FolderItem2_put_Name(FolderItem2* This,BSTR bs) {
2070    return This->lpVtbl->put_Name(This,bs);
2071}
2072static inline HRESULT FolderItem2_get_Path(FolderItem2* This,BSTR *pbs) {
2073    return This->lpVtbl->get_Path(This,pbs);
2074}
2075static inline HRESULT FolderItem2_get_GetLink(FolderItem2* This,IDispatch **ppid) {
2076    return This->lpVtbl->get_GetLink(This,ppid);
2077}
2078static inline HRESULT FolderItem2_get_GetFolder(FolderItem2* This,IDispatch **ppid) {
2079    return This->lpVtbl->get_GetFolder(This,ppid);
2080}
2081static inline HRESULT FolderItem2_get_IsLink(FolderItem2* This,VARIANT_BOOL *pb) {
2082    return This->lpVtbl->get_IsLink(This,pb);
2083}
2084static inline HRESULT FolderItem2_get_IsFolder(FolderItem2* This,VARIANT_BOOL *pb) {
2085    return This->lpVtbl->get_IsFolder(This,pb);
2086}
2087static inline HRESULT FolderItem2_get_IsFileSystem(FolderItem2* This,VARIANT_BOOL *pb) {
2088    return This->lpVtbl->get_IsFileSystem(This,pb);
2089}
2090static inline HRESULT FolderItem2_get_IsBrowsable(FolderItem2* This,VARIANT_BOOL *pb) {
2091    return This->lpVtbl->get_IsBrowsable(This,pb);
2092}
2093static inline HRESULT FolderItem2_get_ModifyDate(FolderItem2* This,DATE *pdt) {
2094    return This->lpVtbl->get_ModifyDate(This,pdt);
2095}
2096static inline HRESULT FolderItem2_put_ModifyDate(FolderItem2* This,DATE dt) {
2097    return This->lpVtbl->put_ModifyDate(This,dt);
2098}
2099static inline HRESULT FolderItem2_get_Size(FolderItem2* This,LONG *pul) {
2100    return This->lpVtbl->get_Size(This,pul);
2101}
2102static inline HRESULT FolderItem2_get_Type(FolderItem2* This,BSTR *pbs) {
2103    return This->lpVtbl->get_Type(This,pbs);
2104}
2105static inline HRESULT FolderItem2_Verbs(FolderItem2* This,FolderItemVerbs **ppfic) {
2106    return This->lpVtbl->Verbs(This,ppfic);
2107}
2108static inline HRESULT FolderItem2_InvokeVerb(FolderItem2* This,VARIANT vVerb) {
2109    return This->lpVtbl->InvokeVerb(This,vVerb);
2110}
2111/*** FolderItem2 methods ***/
2112static inline HRESULT FolderItem2_InvokeVerbEx(FolderItem2* This,VARIANT vVerb,VARIANT vArgs) {
2113    return This->lpVtbl->InvokeVerbEx(This,vVerb,vArgs);
2114}
2115static inline HRESULT FolderItem2_ExtendedProperty(FolderItem2* This,BSTR bstrPropName,VARIANT *pvRet) {
2116    return This->lpVtbl->ExtendedProperty(This,bstrPropName,pvRet);
2117}
2118#endif
2119#endif
2120
2121#endif
2122
2123
2124#endif  /* __FolderItem2_INTERFACE_DEFINED__ */
2125
2126/*****************************************************************************
2127 * ShellFolderItem coclass
2128 */
2129
2130DEFINE_GUID(CLSID_ShellFolderItem, 0x2fe352ea, 0xfd1f, 0x11d2, 0xb1,0xf4, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e);
2131
2132#ifdef __cplusplus
2133class DECLSPEC_UUID("2fe352ea-fd1f-11d2-b1f4-00c04f8eeb3e") ShellFolderItem;
2134#ifdef __CRT_UUID_DECL
2135__CRT_UUID_DECL(ShellFolderItem, 0x2fe352ea, 0xfd1f, 0x11d2, 0xb1,0xf4, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e)
2136#endif
2137#endif
2138
2139/*****************************************************************************
2140 * FolderItems interface
2141 */
2142#ifndef __FolderItems_INTERFACE_DEFINED__
2143#define __FolderItems_INTERFACE_DEFINED__
2144
2145DEFINE_GUID(IID_FolderItems, 0x744129e0, 0xcbe5, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00);
2146#if defined(__cplusplus) && !defined(CINTERFACE)
2147MIDL_INTERFACE("744129e0-cbe5-11ce-8350-444553540000")
2148FolderItems : public IDispatch
2149{
2150    virtual HRESULT STDMETHODCALLTYPE get_Count(
2151        LONG *plCount) = 0;
2152
2153    virtual HRESULT STDMETHODCALLTYPE get_Application(
2154        IDispatch **ppid) = 0;
2155
2156    virtual HRESULT STDMETHODCALLTYPE get_Parent(
2157        IDispatch **ppid) = 0;
2158
2159    virtual HRESULT STDMETHODCALLTYPE Item(
2160        VARIANT index,
2161        FolderItem **ppid) = 0;
2162
2163    virtual HRESULT STDMETHODCALLTYPE _NewEnum(
2164        IUnknown **ppunk) = 0;
2165
2166};
2167#ifdef __CRT_UUID_DECL
2168__CRT_UUID_DECL(FolderItems, 0x744129e0, 0xcbe5, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00)
2169#endif
2170#else
2171typedef struct FolderItemsVtbl {
2172    BEGIN_INTERFACE
2173
2174    /*** IUnknown methods ***/
2175    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2176        FolderItems *This,
2177        REFIID riid,
2178        void **ppvObject);
2179
2180    ULONG (STDMETHODCALLTYPE *AddRef)(
2181        FolderItems *This);
2182
2183    ULONG (STDMETHODCALLTYPE *Release)(
2184        FolderItems *This);
2185
2186    /*** IDispatch methods ***/
2187    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2188        FolderItems *This,
2189        UINT *pctinfo);
2190
2191    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2192        FolderItems *This,
2193        UINT iTInfo,
2194        LCID lcid,
2195        ITypeInfo **ppTInfo);
2196
2197    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2198        FolderItems *This,
2199        REFIID riid,
2200        LPOLESTR *rgszNames,
2201        UINT cNames,
2202        LCID lcid,
2203        DISPID *rgDispId);
2204
2205    HRESULT (STDMETHODCALLTYPE *Invoke)(
2206        FolderItems *This,
2207        DISPID dispIdMember,
2208        REFIID riid,
2209        LCID lcid,
2210        WORD wFlags,
2211        DISPPARAMS *pDispParams,
2212        VARIANT *pVarResult,
2213        EXCEPINFO *pExcepInfo,
2214        UINT *puArgErr);
2215
2216    /*** FolderItems methods ***/
2217    HRESULT (STDMETHODCALLTYPE *get_Count)(
2218        FolderItems *This,
2219        LONG *plCount);
2220
2221    HRESULT (STDMETHODCALLTYPE *get_Application)(
2222        FolderItems *This,
2223        IDispatch **ppid);
2224
2225    HRESULT (STDMETHODCALLTYPE *get_Parent)(
2226        FolderItems *This,
2227        IDispatch **ppid);
2228
2229    HRESULT (STDMETHODCALLTYPE *Item)(
2230        FolderItems *This,
2231        VARIANT index,
2232        FolderItem **ppid);
2233
2234    HRESULT (STDMETHODCALLTYPE *_NewEnum)(
2235        FolderItems *This,
2236        IUnknown **ppunk);
2237
2238    END_INTERFACE
2239} FolderItemsVtbl;
2240
2241interface FolderItems {
2242    CONST_VTBL FolderItemsVtbl* lpVtbl;
2243};
2244
2245#ifdef COBJMACROS
2246#ifndef WIDL_C_INLINE_WRAPPERS
2247/*** IUnknown methods ***/
2248#define FolderItems_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2249#define FolderItems_AddRef(This) (This)->lpVtbl->AddRef(This)
2250#define FolderItems_Release(This) (This)->lpVtbl->Release(This)
2251/*** IDispatch methods ***/
2252#define FolderItems_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2253#define FolderItems_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2254#define FolderItems_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2255#define FolderItems_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2256/*** FolderItems methods ***/
2257#define FolderItems_get_Count(This,plCount) (This)->lpVtbl->get_Count(This,plCount)
2258#define FolderItems_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
2259#define FolderItems_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
2260#define FolderItems_Item(This,index,ppid) (This)->lpVtbl->Item(This,index,ppid)
2261#define FolderItems__NewEnum(This,ppunk) (This)->lpVtbl->_NewEnum(This,ppunk)
2262#else
2263/*** IUnknown methods ***/
2264static inline HRESULT FolderItems_QueryInterface(FolderItems* This,REFIID riid,void **ppvObject) {
2265    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2266}
2267static inline ULONG FolderItems_AddRef(FolderItems* This) {
2268    return This->lpVtbl->AddRef(This);
2269}
2270static inline ULONG FolderItems_Release(FolderItems* This) {
2271    return This->lpVtbl->Release(This);
2272}
2273/*** IDispatch methods ***/
2274static inline HRESULT FolderItems_GetTypeInfoCount(FolderItems* This,UINT *pctinfo) {
2275    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2276}
2277static inline HRESULT FolderItems_GetTypeInfo(FolderItems* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2278    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2279}
2280static inline HRESULT FolderItems_GetIDsOfNames(FolderItems* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2281    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2282}
2283static inline HRESULT FolderItems_Invoke(FolderItems* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2284    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2285}
2286/*** FolderItems methods ***/
2287static inline HRESULT FolderItems_get_Count(FolderItems* This,LONG *plCount) {
2288    return This->lpVtbl->get_Count(This,plCount);
2289}
2290static inline HRESULT FolderItems_get_Application(FolderItems* This,IDispatch **ppid) {
2291    return This->lpVtbl->get_Application(This,ppid);
2292}
2293static inline HRESULT FolderItems_get_Parent(FolderItems* This,IDispatch **ppid) {
2294    return This->lpVtbl->get_Parent(This,ppid);
2295}
2296static inline HRESULT FolderItems_Item(FolderItems* This,VARIANT index,FolderItem **ppid) {
2297    return This->lpVtbl->Item(This,index,ppid);
2298}
2299static inline HRESULT FolderItems__NewEnum(FolderItems* This,IUnknown **ppunk) {
2300    return This->lpVtbl->_NewEnum(This,ppunk);
2301}
2302#endif
2303#endif
2304
2305#endif
2306
2307
2308#endif  /* __FolderItems_INTERFACE_DEFINED__ */
2309
2310/*****************************************************************************
2311 * FolderItems2 interface
2312 */
2313#ifndef __FolderItems2_INTERFACE_DEFINED__
2314#define __FolderItems2_INTERFACE_DEFINED__
2315
2316DEFINE_GUID(IID_FolderItems2, 0xc94f0ad0, 0xf363, 0x11d2, 0xa3,0x27, 0x00,0xc0,0x4f,0x8e,0xec,0x7f);
2317#if defined(__cplusplus) && !defined(CINTERFACE)
2318MIDL_INTERFACE("c94f0ad0-f363-11d2-a327-00c04f8eec7f")
2319FolderItems2 : public FolderItems
2320{
2321    virtual HRESULT STDMETHODCALLTYPE InvokeVerbEx(
2322        VARIANT vVerb,
2323        VARIANT vArgs) = 0;
2324
2325};
2326#ifdef __CRT_UUID_DECL
2327__CRT_UUID_DECL(FolderItems2, 0xc94f0ad0, 0xf363, 0x11d2, 0xa3,0x27, 0x00,0xc0,0x4f,0x8e,0xec,0x7f)
2328#endif
2329#else
2330typedef struct FolderItems2Vtbl {
2331    BEGIN_INTERFACE
2332
2333    /*** IUnknown methods ***/
2334    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2335        FolderItems2 *This,
2336        REFIID riid,
2337        void **ppvObject);
2338
2339    ULONG (STDMETHODCALLTYPE *AddRef)(
2340        FolderItems2 *This);
2341
2342    ULONG (STDMETHODCALLTYPE *Release)(
2343        FolderItems2 *This);
2344
2345    /*** IDispatch methods ***/
2346    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2347        FolderItems2 *This,
2348        UINT *pctinfo);
2349
2350    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2351        FolderItems2 *This,
2352        UINT iTInfo,
2353        LCID lcid,
2354        ITypeInfo **ppTInfo);
2355
2356    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2357        FolderItems2 *This,
2358        REFIID riid,
2359        LPOLESTR *rgszNames,
2360        UINT cNames,
2361        LCID lcid,
2362        DISPID *rgDispId);
2363
2364    HRESULT (STDMETHODCALLTYPE *Invoke)(
2365        FolderItems2 *This,
2366        DISPID dispIdMember,
2367        REFIID riid,
2368        LCID lcid,
2369        WORD wFlags,
2370        DISPPARAMS *pDispParams,
2371        VARIANT *pVarResult,
2372        EXCEPINFO *pExcepInfo,
2373        UINT *puArgErr);
2374
2375    /*** FolderItems methods ***/
2376    HRESULT (STDMETHODCALLTYPE *get_Count)(
2377        FolderItems2 *This,
2378        LONG *plCount);
2379
2380    HRESULT (STDMETHODCALLTYPE *get_Application)(
2381        FolderItems2 *This,
2382        IDispatch **ppid);
2383
2384    HRESULT (STDMETHODCALLTYPE *get_Parent)(
2385        FolderItems2 *This,
2386        IDispatch **ppid);
2387
2388    HRESULT (STDMETHODCALLTYPE *Item)(
2389        FolderItems2 *This,
2390        VARIANT index,
2391        FolderItem **ppid);
2392
2393    HRESULT (STDMETHODCALLTYPE *_NewEnum)(
2394        FolderItems2 *This,
2395        IUnknown **ppunk);
2396
2397    /*** FolderItems2 methods ***/
2398    HRESULT (STDMETHODCALLTYPE *InvokeVerbEx)(
2399        FolderItems2 *This,
2400        VARIANT vVerb,
2401        VARIANT vArgs);
2402
2403    END_INTERFACE
2404} FolderItems2Vtbl;
2405
2406interface FolderItems2 {
2407    CONST_VTBL FolderItems2Vtbl* lpVtbl;
2408};
2409
2410#ifdef COBJMACROS
2411#ifndef WIDL_C_INLINE_WRAPPERS
2412/*** IUnknown methods ***/
2413#define FolderItems2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2414#define FolderItems2_AddRef(This) (This)->lpVtbl->AddRef(This)
2415#define FolderItems2_Release(This) (This)->lpVtbl->Release(This)
2416/*** IDispatch methods ***/
2417#define FolderItems2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2418#define FolderItems2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2419#define FolderItems2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2420#define FolderItems2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2421/*** FolderItems methods ***/
2422#define FolderItems2_get_Count(This,plCount) (This)->lpVtbl->get_Count(This,plCount)
2423#define FolderItems2_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
2424#define FolderItems2_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
2425#define FolderItems2_Item(This,index,ppid) (This)->lpVtbl->Item(This,index,ppid)
2426#define FolderItems2__NewEnum(This,ppunk) (This)->lpVtbl->_NewEnum(This,ppunk)
2427/*** FolderItems2 methods ***/
2428#define FolderItems2_InvokeVerbEx(This,vVerb,vArgs) (This)->lpVtbl->InvokeVerbEx(This,vVerb,vArgs)
2429#else
2430/*** IUnknown methods ***/
2431static inline HRESULT FolderItems2_QueryInterface(FolderItems2* This,REFIID riid,void **ppvObject) {
2432    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2433}
2434static inline ULONG FolderItems2_AddRef(FolderItems2* This) {
2435    return This->lpVtbl->AddRef(This);
2436}
2437static inline ULONG FolderItems2_Release(FolderItems2* This) {
2438    return This->lpVtbl->Release(This);
2439}
2440/*** IDispatch methods ***/
2441static inline HRESULT FolderItems2_GetTypeInfoCount(FolderItems2* This,UINT *pctinfo) {
2442    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2443}
2444static inline HRESULT FolderItems2_GetTypeInfo(FolderItems2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2445    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2446}
2447static inline HRESULT FolderItems2_GetIDsOfNames(FolderItems2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2448    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2449}
2450static inline HRESULT FolderItems2_Invoke(FolderItems2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2451    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2452}
2453/*** FolderItems methods ***/
2454static inline HRESULT FolderItems2_get_Count(FolderItems2* This,LONG *plCount) {
2455    return This->lpVtbl->get_Count(This,plCount);
2456}
2457static inline HRESULT FolderItems2_get_Application(FolderItems2* This,IDispatch **ppid) {
2458    return This->lpVtbl->get_Application(This,ppid);
2459}
2460static inline HRESULT FolderItems2_get_Parent(FolderItems2* This,IDispatch **ppid) {
2461    return This->lpVtbl->get_Parent(This,ppid);
2462}
2463static inline HRESULT FolderItems2_Item(FolderItems2* This,VARIANT index,FolderItem **ppid) {
2464    return This->lpVtbl->Item(This,index,ppid);
2465}
2466static inline HRESULT FolderItems2__NewEnum(FolderItems2* This,IUnknown **ppunk) {
2467    return This->lpVtbl->_NewEnum(This,ppunk);
2468}
2469/*** FolderItems2 methods ***/
2470static inline HRESULT FolderItems2_InvokeVerbEx(FolderItems2* This,VARIANT vVerb,VARIANT vArgs) {
2471    return This->lpVtbl->InvokeVerbEx(This,vVerb,vArgs);
2472}
2473#endif
2474#endif
2475
2476#endif
2477
2478
2479#endif  /* __FolderItems2_INTERFACE_DEFINED__ */
2480
2481/*****************************************************************************
2482 * FolderItems3 interface
2483 */
2484#ifndef __FolderItems3_INTERFACE_DEFINED__
2485#define __FolderItems3_INTERFACE_DEFINED__
2486
2487DEFINE_GUID(IID_FolderItems3, 0xeaa7c309, 0xbbec, 0x49d5, 0x82,0x1d, 0x64,0xd9,0x66,0xcb,0x66,0x7f);
2488#if defined(__cplusplus) && !defined(CINTERFACE)
2489MIDL_INTERFACE("eaa7c309-bbec-49d5-821d-64d966cb667f")
2490FolderItems3 : public FolderItems2
2491{
2492    virtual HRESULT STDMETHODCALLTYPE Filter(
2493        LONG grfFlags,
2494        BSTR bstrFileSpec) = 0;
2495
2496    virtual HRESULT STDMETHODCALLTYPE get_Verbs(
2497        FolderItemVerbs **ppfic) = 0;
2498
2499};
2500#ifdef __CRT_UUID_DECL
2501__CRT_UUID_DECL(FolderItems3, 0xeaa7c309, 0xbbec, 0x49d5, 0x82,0x1d, 0x64,0xd9,0x66,0xcb,0x66,0x7f)
2502#endif
2503#else
2504typedef struct FolderItems3Vtbl {
2505    BEGIN_INTERFACE
2506
2507    /*** IUnknown methods ***/
2508    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2509        FolderItems3 *This,
2510        REFIID riid,
2511        void **ppvObject);
2512
2513    ULONG (STDMETHODCALLTYPE *AddRef)(
2514        FolderItems3 *This);
2515
2516    ULONG (STDMETHODCALLTYPE *Release)(
2517        FolderItems3 *This);
2518
2519    /*** IDispatch methods ***/
2520    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2521        FolderItems3 *This,
2522        UINT *pctinfo);
2523
2524    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2525        FolderItems3 *This,
2526        UINT iTInfo,
2527        LCID lcid,
2528        ITypeInfo **ppTInfo);
2529
2530    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2531        FolderItems3 *This,
2532        REFIID riid,
2533        LPOLESTR *rgszNames,
2534        UINT cNames,
2535        LCID lcid,
2536        DISPID *rgDispId);
2537
2538    HRESULT (STDMETHODCALLTYPE *Invoke)(
2539        FolderItems3 *This,
2540        DISPID dispIdMember,
2541        REFIID riid,
2542        LCID lcid,
2543        WORD wFlags,
2544        DISPPARAMS *pDispParams,
2545        VARIANT *pVarResult,
2546        EXCEPINFO *pExcepInfo,
2547        UINT *puArgErr);
2548
2549    /*** FolderItems methods ***/
2550    HRESULT (STDMETHODCALLTYPE *get_Count)(
2551        FolderItems3 *This,
2552        LONG *plCount);
2553
2554    HRESULT (STDMETHODCALLTYPE *get_Application)(
2555        FolderItems3 *This,
2556        IDispatch **ppid);
2557
2558    HRESULT (STDMETHODCALLTYPE *get_Parent)(
2559        FolderItems3 *This,
2560        IDispatch **ppid);
2561
2562    HRESULT (STDMETHODCALLTYPE *Item)(
2563        FolderItems3 *This,
2564        VARIANT index,
2565        FolderItem **ppid);
2566
2567    HRESULT (STDMETHODCALLTYPE *_NewEnum)(
2568        FolderItems3 *This,
2569        IUnknown **ppunk);
2570
2571    /*** FolderItems2 methods ***/
2572    HRESULT (STDMETHODCALLTYPE *InvokeVerbEx)(
2573        FolderItems3 *This,
2574        VARIANT vVerb,
2575        VARIANT vArgs);
2576
2577    /*** FolderItems3 methods ***/
2578    HRESULT (STDMETHODCALLTYPE *Filter)(
2579        FolderItems3 *This,
2580        LONG grfFlags,
2581        BSTR bstrFileSpec);
2582
2583    HRESULT (STDMETHODCALLTYPE *get_Verbs)(
2584        FolderItems3 *This,
2585        FolderItemVerbs **ppfic);
2586
2587    END_INTERFACE
2588} FolderItems3Vtbl;
2589
2590interface FolderItems3 {
2591    CONST_VTBL FolderItems3Vtbl* lpVtbl;
2592};
2593
2594#ifdef COBJMACROS
2595#ifndef WIDL_C_INLINE_WRAPPERS
2596/*** IUnknown methods ***/
2597#define FolderItems3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2598#define FolderItems3_AddRef(This) (This)->lpVtbl->AddRef(This)
2599#define FolderItems3_Release(This) (This)->lpVtbl->Release(This)
2600/*** IDispatch methods ***/
2601#define FolderItems3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2602#define FolderItems3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2603#define FolderItems3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2604#define FolderItems3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2605/*** FolderItems methods ***/
2606#define FolderItems3_get_Count(This,plCount) (This)->lpVtbl->get_Count(This,plCount)
2607#define FolderItems3_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
2608#define FolderItems3_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
2609#define FolderItems3_Item(This,index,ppid) (This)->lpVtbl->Item(This,index,ppid)
2610#define FolderItems3__NewEnum(This,ppunk) (This)->lpVtbl->_NewEnum(This,ppunk)
2611/*** FolderItems2 methods ***/
2612#define FolderItems3_InvokeVerbEx(This,vVerb,vArgs) (This)->lpVtbl->InvokeVerbEx(This,vVerb,vArgs)
2613/*** FolderItems3 methods ***/
2614#define FolderItems3_Filter(This,grfFlags,bstrFileSpec) (This)->lpVtbl->Filter(This,grfFlags,bstrFileSpec)
2615#define FolderItems3_get_Verbs(This,ppfic) (This)->lpVtbl->get_Verbs(This,ppfic)
2616#else
2617/*** IUnknown methods ***/
2618static inline HRESULT FolderItems3_QueryInterface(FolderItems3* This,REFIID riid,void **ppvObject) {
2619    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2620}
2621static inline ULONG FolderItems3_AddRef(FolderItems3* This) {
2622    return This->lpVtbl->AddRef(This);
2623}
2624static inline ULONG FolderItems3_Release(FolderItems3* This) {
2625    return This->lpVtbl->Release(This);
2626}
2627/*** IDispatch methods ***/
2628static inline HRESULT FolderItems3_GetTypeInfoCount(FolderItems3* This,UINT *pctinfo) {
2629    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2630}
2631static inline HRESULT FolderItems3_GetTypeInfo(FolderItems3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2632    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2633}
2634static inline HRESULT FolderItems3_GetIDsOfNames(FolderItems3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2635    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2636}
2637static inline HRESULT FolderItems3_Invoke(FolderItems3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2638    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2639}
2640/*** FolderItems methods ***/
2641static inline HRESULT FolderItems3_get_Count(FolderItems3* This,LONG *plCount) {
2642    return This->lpVtbl->get_Count(This,plCount);
2643}
2644static inline HRESULT FolderItems3_get_Application(FolderItems3* This,IDispatch **ppid) {
2645    return This->lpVtbl->get_Application(This,ppid);
2646}
2647static inline HRESULT FolderItems3_get_Parent(FolderItems3* This,IDispatch **ppid) {
2648    return This->lpVtbl->get_Parent(This,ppid);
2649}
2650static inline HRESULT FolderItems3_Item(FolderItems3* This,VARIANT index,FolderItem **ppid) {
2651    return This->lpVtbl->Item(This,index,ppid);
2652}
2653static inline HRESULT FolderItems3__NewEnum(FolderItems3* This,IUnknown **ppunk) {
2654    return This->lpVtbl->_NewEnum(This,ppunk);
2655}
2656/*** FolderItems2 methods ***/
2657static inline HRESULT FolderItems3_InvokeVerbEx(FolderItems3* This,VARIANT vVerb,VARIANT vArgs) {
2658    return This->lpVtbl->InvokeVerbEx(This,vVerb,vArgs);
2659}
2660/*** FolderItems3 methods ***/
2661static inline HRESULT FolderItems3_Filter(FolderItems3* This,LONG grfFlags,BSTR bstrFileSpec) {
2662    return This->lpVtbl->Filter(This,grfFlags,bstrFileSpec);
2663}
2664static inline HRESULT FolderItems3_get_Verbs(FolderItems3* This,FolderItemVerbs **ppfic) {
2665    return This->lpVtbl->get_Verbs(This,ppfic);
2666}
2667#endif
2668#endif
2669
2670#endif
2671
2672
2673#endif  /* __FolderItems3_INTERFACE_DEFINED__ */
2674
2675/*****************************************************************************
2676 * FolderItemVerb interface
2677 */
2678#ifndef __FolderItemVerb_INTERFACE_DEFINED__
2679#define __FolderItemVerb_INTERFACE_DEFINED__
2680
2681DEFINE_GUID(IID_FolderItemVerb, 0x08ec3e00, 0x50b0, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85);
2682#if defined(__cplusplus) && !defined(CINTERFACE)
2683MIDL_INTERFACE("08ec3e00-50b0-11cf-960c-0080c7f4ee85")
2684FolderItemVerb : public IDispatch
2685{
2686    virtual HRESULT STDMETHODCALLTYPE get_Application(
2687        IDispatch **ppid) = 0;
2688
2689    virtual HRESULT STDMETHODCALLTYPE get_Parent(
2690        IDispatch **ppid) = 0;
2691
2692    virtual HRESULT STDMETHODCALLTYPE get_Name(
2693        BSTR *pbs) = 0;
2694
2695    virtual HRESULT STDMETHODCALLTYPE DoIt(
2696        ) = 0;
2697
2698};
2699#ifdef __CRT_UUID_DECL
2700__CRT_UUID_DECL(FolderItemVerb, 0x08ec3e00, 0x50b0, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85)
2701#endif
2702#else
2703typedef struct FolderItemVerbVtbl {
2704    BEGIN_INTERFACE
2705
2706    /*** IUnknown methods ***/
2707    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2708        FolderItemVerb *This,
2709        REFIID riid,
2710        void **ppvObject);
2711
2712    ULONG (STDMETHODCALLTYPE *AddRef)(
2713        FolderItemVerb *This);
2714
2715    ULONG (STDMETHODCALLTYPE *Release)(
2716        FolderItemVerb *This);
2717
2718    /*** IDispatch methods ***/
2719    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2720        FolderItemVerb *This,
2721        UINT *pctinfo);
2722
2723    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2724        FolderItemVerb *This,
2725        UINT iTInfo,
2726        LCID lcid,
2727        ITypeInfo **ppTInfo);
2728
2729    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2730        FolderItemVerb *This,
2731        REFIID riid,
2732        LPOLESTR *rgszNames,
2733        UINT cNames,
2734        LCID lcid,
2735        DISPID *rgDispId);
2736
2737    HRESULT (STDMETHODCALLTYPE *Invoke)(
2738        FolderItemVerb *This,
2739        DISPID dispIdMember,
2740        REFIID riid,
2741        LCID lcid,
2742        WORD wFlags,
2743        DISPPARAMS *pDispParams,
2744        VARIANT *pVarResult,
2745        EXCEPINFO *pExcepInfo,
2746        UINT *puArgErr);
2747
2748    /*** FolderItemVerb methods ***/
2749    HRESULT (STDMETHODCALLTYPE *get_Application)(
2750        FolderItemVerb *This,
2751        IDispatch **ppid);
2752
2753    HRESULT (STDMETHODCALLTYPE *get_Parent)(
2754        FolderItemVerb *This,
2755        IDispatch **ppid);
2756
2757    HRESULT (STDMETHODCALLTYPE *get_Name)(
2758        FolderItemVerb *This,
2759        BSTR *pbs);
2760
2761    HRESULT (STDMETHODCALLTYPE *DoIt)(
2762        FolderItemVerb *This);
2763
2764    END_INTERFACE
2765} FolderItemVerbVtbl;
2766
2767interface FolderItemVerb {
2768    CONST_VTBL FolderItemVerbVtbl* lpVtbl;
2769};
2770
2771#ifdef COBJMACROS
2772#ifndef WIDL_C_INLINE_WRAPPERS
2773/*** IUnknown methods ***/
2774#define FolderItemVerb_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2775#define FolderItemVerb_AddRef(This) (This)->lpVtbl->AddRef(This)
2776#define FolderItemVerb_Release(This) (This)->lpVtbl->Release(This)
2777/*** IDispatch methods ***/
2778#define FolderItemVerb_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2779#define FolderItemVerb_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2780#define FolderItemVerb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2781#define FolderItemVerb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2782/*** FolderItemVerb methods ***/
2783#define FolderItemVerb_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
2784#define FolderItemVerb_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
2785#define FolderItemVerb_get_Name(This,pbs) (This)->lpVtbl->get_Name(This,pbs)
2786#define FolderItemVerb_DoIt(This) (This)->lpVtbl->DoIt(This)
2787#else
2788/*** IUnknown methods ***/
2789static inline HRESULT FolderItemVerb_QueryInterface(FolderItemVerb* This,REFIID riid,void **ppvObject) {
2790    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2791}
2792static inline ULONG FolderItemVerb_AddRef(FolderItemVerb* This) {
2793    return This->lpVtbl->AddRef(This);
2794}
2795static inline ULONG FolderItemVerb_Release(FolderItemVerb* This) {
2796    return This->lpVtbl->Release(This);
2797}
2798/*** IDispatch methods ***/
2799static inline HRESULT FolderItemVerb_GetTypeInfoCount(FolderItemVerb* This,UINT *pctinfo) {
2800    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2801}
2802static inline HRESULT FolderItemVerb_GetTypeInfo(FolderItemVerb* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2803    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2804}
2805static inline HRESULT FolderItemVerb_GetIDsOfNames(FolderItemVerb* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2806    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2807}
2808static inline HRESULT FolderItemVerb_Invoke(FolderItemVerb* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2809    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2810}
2811/*** FolderItemVerb methods ***/
2812static inline HRESULT FolderItemVerb_get_Application(FolderItemVerb* This,IDispatch **ppid) {
2813    return This->lpVtbl->get_Application(This,ppid);
2814}
2815static inline HRESULT FolderItemVerb_get_Parent(FolderItemVerb* This,IDispatch **ppid) {
2816    return This->lpVtbl->get_Parent(This,ppid);
2817}
2818static inline HRESULT FolderItemVerb_get_Name(FolderItemVerb* This,BSTR *pbs) {
2819    return This->lpVtbl->get_Name(This,pbs);
2820}
2821static inline HRESULT FolderItemVerb_DoIt(FolderItemVerb* This) {
2822    return This->lpVtbl->DoIt(This);
2823}
2824#endif
2825#endif
2826
2827#endif
2828
2829
2830#endif  /* __FolderItemVerb_INTERFACE_DEFINED__ */
2831
2832/*****************************************************************************
2833 * FolderItemVerbs interface
2834 */
2835#ifndef __FolderItemVerbs_INTERFACE_DEFINED__
2836#define __FolderItemVerbs_INTERFACE_DEFINED__
2837
2838DEFINE_GUID(IID_FolderItemVerbs, 0x1f8352c0, 0x50b0, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85);
2839#if defined(__cplusplus) && !defined(CINTERFACE)
2840MIDL_INTERFACE("1f8352c0-50b0-11cf-960c-0080c7f4ee85")
2841FolderItemVerbs : public IDispatch
2842{
2843    virtual HRESULT STDMETHODCALLTYPE get_Count(
2844        LONG *plCount) = 0;
2845
2846    virtual HRESULT STDMETHODCALLTYPE get_Application(
2847        IDispatch **ppid) = 0;
2848
2849    virtual HRESULT STDMETHODCALLTYPE get_Parent(
2850        IDispatch **ppid) = 0;
2851
2852    virtual HRESULT STDMETHODCALLTYPE Item(
2853        VARIANT index,
2854        FolderItemVerb **ppid) = 0;
2855
2856    virtual HRESULT STDMETHODCALLTYPE _NewEnum(
2857        IUnknown **ppunk) = 0;
2858
2859};
2860#ifdef __CRT_UUID_DECL
2861__CRT_UUID_DECL(FolderItemVerbs, 0x1f8352c0, 0x50b0, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85)
2862#endif
2863#else
2864typedef struct FolderItemVerbsVtbl {
2865    BEGIN_INTERFACE
2866
2867    /*** IUnknown methods ***/
2868    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2869        FolderItemVerbs *This,
2870        REFIID riid,
2871        void **ppvObject);
2872
2873    ULONG (STDMETHODCALLTYPE *AddRef)(
2874        FolderItemVerbs *This);
2875
2876    ULONG (STDMETHODCALLTYPE *Release)(
2877        FolderItemVerbs *This);
2878
2879    /*** IDispatch methods ***/
2880    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
2881        FolderItemVerbs *This,
2882        UINT *pctinfo);
2883
2884    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
2885        FolderItemVerbs *This,
2886        UINT iTInfo,
2887        LCID lcid,
2888        ITypeInfo **ppTInfo);
2889
2890    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
2891        FolderItemVerbs *This,
2892        REFIID riid,
2893        LPOLESTR *rgszNames,
2894        UINT cNames,
2895        LCID lcid,
2896        DISPID *rgDispId);
2897
2898    HRESULT (STDMETHODCALLTYPE *Invoke)(
2899        FolderItemVerbs *This,
2900        DISPID dispIdMember,
2901        REFIID riid,
2902        LCID lcid,
2903        WORD wFlags,
2904        DISPPARAMS *pDispParams,
2905        VARIANT *pVarResult,
2906        EXCEPINFO *pExcepInfo,
2907        UINT *puArgErr);
2908
2909    /*** FolderItemVerbs methods ***/
2910    HRESULT (STDMETHODCALLTYPE *get_Count)(
2911        FolderItemVerbs *This,
2912        LONG *plCount);
2913
2914    HRESULT (STDMETHODCALLTYPE *get_Application)(
2915        FolderItemVerbs *This,
2916        IDispatch **ppid);
2917
2918    HRESULT (STDMETHODCALLTYPE *get_Parent)(
2919        FolderItemVerbs *This,
2920        IDispatch **ppid);
2921
2922    HRESULT (STDMETHODCALLTYPE *Item)(
2923        FolderItemVerbs *This,
2924        VARIANT index,
2925        FolderItemVerb **ppid);
2926
2927    HRESULT (STDMETHODCALLTYPE *_NewEnum)(
2928        FolderItemVerbs *This,
2929        IUnknown **ppunk);
2930
2931    END_INTERFACE
2932} FolderItemVerbsVtbl;
2933
2934interface FolderItemVerbs {
2935    CONST_VTBL FolderItemVerbsVtbl* lpVtbl;
2936};
2937
2938#ifdef COBJMACROS
2939#ifndef WIDL_C_INLINE_WRAPPERS
2940/*** IUnknown methods ***/
2941#define FolderItemVerbs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2942#define FolderItemVerbs_AddRef(This) (This)->lpVtbl->AddRef(This)
2943#define FolderItemVerbs_Release(This) (This)->lpVtbl->Release(This)
2944/*** IDispatch methods ***/
2945#define FolderItemVerbs_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
2946#define FolderItemVerbs_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
2947#define FolderItemVerbs_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
2948#define FolderItemVerbs_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
2949/*** FolderItemVerbs methods ***/
2950#define FolderItemVerbs_get_Count(This,plCount) (This)->lpVtbl->get_Count(This,plCount)
2951#define FolderItemVerbs_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
2952#define FolderItemVerbs_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
2953#define FolderItemVerbs_Item(This,index,ppid) (This)->lpVtbl->Item(This,index,ppid)
2954#define FolderItemVerbs__NewEnum(This,ppunk) (This)->lpVtbl->_NewEnum(This,ppunk)
2955#else
2956/*** IUnknown methods ***/
2957static inline HRESULT FolderItemVerbs_QueryInterface(FolderItemVerbs* This,REFIID riid,void **ppvObject) {
2958    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2959}
2960static inline ULONG FolderItemVerbs_AddRef(FolderItemVerbs* This) {
2961    return This->lpVtbl->AddRef(This);
2962}
2963static inline ULONG FolderItemVerbs_Release(FolderItemVerbs* This) {
2964    return This->lpVtbl->Release(This);
2965}
2966/*** IDispatch methods ***/
2967static inline HRESULT FolderItemVerbs_GetTypeInfoCount(FolderItemVerbs* This,UINT *pctinfo) {
2968    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
2969}
2970static inline HRESULT FolderItemVerbs_GetTypeInfo(FolderItemVerbs* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
2971    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
2972}
2973static inline HRESULT FolderItemVerbs_GetIDsOfNames(FolderItemVerbs* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
2974    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
2975}
2976static inline HRESULT FolderItemVerbs_Invoke(FolderItemVerbs* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
2977    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
2978}
2979/*** FolderItemVerbs methods ***/
2980static inline HRESULT FolderItemVerbs_get_Count(FolderItemVerbs* This,LONG *plCount) {
2981    return This->lpVtbl->get_Count(This,plCount);
2982}
2983static inline HRESULT FolderItemVerbs_get_Application(FolderItemVerbs* This,IDispatch **ppid) {
2984    return This->lpVtbl->get_Application(This,ppid);
2985}
2986static inline HRESULT FolderItemVerbs_get_Parent(FolderItemVerbs* This,IDispatch **ppid) {
2987    return This->lpVtbl->get_Parent(This,ppid);
2988}
2989static inline HRESULT FolderItemVerbs_Item(FolderItemVerbs* This,VARIANT index,FolderItemVerb **ppid) {
2990    return This->lpVtbl->Item(This,index,ppid);
2991}
2992static inline HRESULT FolderItemVerbs__NewEnum(FolderItemVerbs* This,IUnknown **ppunk) {
2993    return This->lpVtbl->_NewEnum(This,ppunk);
2994}
2995#endif
2996#endif
2997
2998#endif
2999
3000
3001#endif  /* __FolderItemVerbs_INTERFACE_DEFINED__ */
3002
3003/*****************************************************************************
3004 * IShellLinkDual interface
3005 */
3006#ifndef __IShellLinkDual_INTERFACE_DEFINED__
3007#define __IShellLinkDual_INTERFACE_DEFINED__
3008
3009DEFINE_GUID(IID_IShellLinkDual, 0x88a05c00, 0xf000, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00);
3010#if defined(__cplusplus) && !defined(CINTERFACE)
3011MIDL_INTERFACE("88a05c00-f000-11ce-8350-444553540000")
3012IShellLinkDual : public IDispatch
3013{
3014    virtual HRESULT STDMETHODCALLTYPE get_Path(
3015        BSTR *pbs) = 0;
3016
3017    virtual HRESULT STDMETHODCALLTYPE put_Path(
3018        BSTR bs) = 0;
3019
3020    virtual HRESULT STDMETHODCALLTYPE get_Description(
3021        BSTR *pbs) = 0;
3022
3023    virtual HRESULT STDMETHODCALLTYPE put_Description(
3024        BSTR bs) = 0;
3025
3026    virtual HRESULT STDMETHODCALLTYPE get_WorkingDirectory(
3027        BSTR *pbs) = 0;
3028
3029    virtual HRESULT STDMETHODCALLTYPE put_WorkingDirectory(
3030        BSTR bs) = 0;
3031
3032    virtual HRESULT STDMETHODCALLTYPE get_Arguments(
3033        BSTR *pbs) = 0;
3034
3035    virtual HRESULT STDMETHODCALLTYPE put_Arguments(
3036        BSTR bs) = 0;
3037
3038    virtual HRESULT STDMETHODCALLTYPE get_Hotkey(
3039        int *piHK) = 0;
3040
3041    virtual HRESULT STDMETHODCALLTYPE put_Hotkey(
3042        int iHK) = 0;
3043
3044    virtual HRESULT STDMETHODCALLTYPE get_ShowCommand(
3045        int *piShowCommand) = 0;
3046
3047    virtual HRESULT STDMETHODCALLTYPE put_ShowCommand(
3048        int iShowCommand) = 0;
3049
3050    virtual HRESULT STDMETHODCALLTYPE Resolve(
3051        int fFlags) = 0;
3052
3053    virtual HRESULT STDMETHODCALLTYPE GetIconLocation(
3054        BSTR *pbs,
3055        int *piIcon) = 0;
3056
3057    virtual HRESULT STDMETHODCALLTYPE SetIconLocation(
3058        BSTR bs,
3059        int iIcon) = 0;
3060
3061    virtual HRESULT STDMETHODCALLTYPE Save(
3062        VARIANT vWhere) = 0;
3063
3064};
3065#ifdef __CRT_UUID_DECL
3066__CRT_UUID_DECL(IShellLinkDual, 0x88a05c00, 0xf000, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00)
3067#endif
3068#else
3069typedef struct IShellLinkDualVtbl {
3070    BEGIN_INTERFACE
3071
3072    /*** IUnknown methods ***/
3073    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3074        IShellLinkDual *This,
3075        REFIID riid,
3076        void **ppvObject);
3077
3078    ULONG (STDMETHODCALLTYPE *AddRef)(
3079        IShellLinkDual *This);
3080
3081    ULONG (STDMETHODCALLTYPE *Release)(
3082        IShellLinkDual *This);
3083
3084    /*** IDispatch methods ***/
3085    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3086        IShellLinkDual *This,
3087        UINT *pctinfo);
3088
3089    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3090        IShellLinkDual *This,
3091        UINT iTInfo,
3092        LCID lcid,
3093        ITypeInfo **ppTInfo);
3094
3095    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3096        IShellLinkDual *This,
3097        REFIID riid,
3098        LPOLESTR *rgszNames,
3099        UINT cNames,
3100        LCID lcid,
3101        DISPID *rgDispId);
3102
3103    HRESULT (STDMETHODCALLTYPE *Invoke)(
3104        IShellLinkDual *This,
3105        DISPID dispIdMember,
3106        REFIID riid,
3107        LCID lcid,
3108        WORD wFlags,
3109        DISPPARAMS *pDispParams,
3110        VARIANT *pVarResult,
3111        EXCEPINFO *pExcepInfo,
3112        UINT *puArgErr);
3113
3114    /*** IShellLinkDual methods ***/
3115    HRESULT (STDMETHODCALLTYPE *get_Path)(
3116        IShellLinkDual *This,
3117        BSTR *pbs);
3118
3119    HRESULT (STDMETHODCALLTYPE *put_Path)(
3120        IShellLinkDual *This,
3121        BSTR bs);
3122
3123    HRESULT (STDMETHODCALLTYPE *get_Description)(
3124        IShellLinkDual *This,
3125        BSTR *pbs);
3126
3127    HRESULT (STDMETHODCALLTYPE *put_Description)(
3128        IShellLinkDual *This,
3129        BSTR bs);
3130
3131    HRESULT (STDMETHODCALLTYPE *get_WorkingDirectory)(
3132        IShellLinkDual *This,
3133        BSTR *pbs);
3134
3135    HRESULT (STDMETHODCALLTYPE *put_WorkingDirectory)(
3136        IShellLinkDual *This,
3137        BSTR bs);
3138
3139    HRESULT (STDMETHODCALLTYPE *get_Arguments)(
3140        IShellLinkDual *This,
3141        BSTR *pbs);
3142
3143    HRESULT (STDMETHODCALLTYPE *put_Arguments)(
3144        IShellLinkDual *This,
3145        BSTR bs);
3146
3147    HRESULT (STDMETHODCALLTYPE *get_Hotkey)(
3148        IShellLinkDual *This,
3149        int *piHK);
3150
3151    HRESULT (STDMETHODCALLTYPE *put_Hotkey)(
3152        IShellLinkDual *This,
3153        int iHK);
3154
3155    HRESULT (STDMETHODCALLTYPE *get_ShowCommand)(
3156        IShellLinkDual *This,
3157        int *piShowCommand);
3158
3159    HRESULT (STDMETHODCALLTYPE *put_ShowCommand)(
3160        IShellLinkDual *This,
3161        int iShowCommand);
3162
3163    HRESULT (STDMETHODCALLTYPE *Resolve)(
3164        IShellLinkDual *This,
3165        int fFlags);
3166
3167    HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
3168        IShellLinkDual *This,
3169        BSTR *pbs,
3170        int *piIcon);
3171
3172    HRESULT (STDMETHODCALLTYPE *SetIconLocation)(
3173        IShellLinkDual *This,
3174        BSTR bs,
3175        int iIcon);
3176
3177    HRESULT (STDMETHODCALLTYPE *Save)(
3178        IShellLinkDual *This,
3179        VARIANT vWhere);
3180
3181    END_INTERFACE
3182} IShellLinkDualVtbl;
3183
3184interface IShellLinkDual {
3185    CONST_VTBL IShellLinkDualVtbl* lpVtbl;
3186};
3187
3188#ifdef COBJMACROS
3189#ifndef WIDL_C_INLINE_WRAPPERS
3190/*** IUnknown methods ***/
3191#define IShellLinkDual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3192#define IShellLinkDual_AddRef(This) (This)->lpVtbl->AddRef(This)
3193#define IShellLinkDual_Release(This) (This)->lpVtbl->Release(This)
3194/*** IDispatch methods ***/
3195#define IShellLinkDual_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3196#define IShellLinkDual_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3197#define IShellLinkDual_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3198#define IShellLinkDual_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3199/*** IShellLinkDual methods ***/
3200#define IShellLinkDual_get_Path(This,pbs) (This)->lpVtbl->get_Path(This,pbs)
3201#define IShellLinkDual_put_Path(This,bs) (This)->lpVtbl->put_Path(This,bs)
3202#define IShellLinkDual_get_Description(This,pbs) (This)->lpVtbl->get_Description(This,pbs)
3203#define IShellLinkDual_put_Description(This,bs) (This)->lpVtbl->put_Description(This,bs)
3204#define IShellLinkDual_get_WorkingDirectory(This,pbs) (This)->lpVtbl->get_WorkingDirectory(This,pbs)
3205#define IShellLinkDual_put_WorkingDirectory(This,bs) (This)->lpVtbl->put_WorkingDirectory(This,bs)
3206#define IShellLinkDual_get_Arguments(This,pbs) (This)->lpVtbl->get_Arguments(This,pbs)
3207#define IShellLinkDual_put_Arguments(This,bs) (This)->lpVtbl->put_Arguments(This,bs)
3208#define IShellLinkDual_get_Hotkey(This,piHK) (This)->lpVtbl->get_Hotkey(This,piHK)
3209#define IShellLinkDual_put_Hotkey(This,iHK) (This)->lpVtbl->put_Hotkey(This,iHK)
3210#define IShellLinkDual_get_ShowCommand(This,piShowCommand) (This)->lpVtbl->get_ShowCommand(This,piShowCommand)
3211#define IShellLinkDual_put_ShowCommand(This,iShowCommand) (This)->lpVtbl->put_ShowCommand(This,iShowCommand)
3212#define IShellLinkDual_Resolve(This,fFlags) (This)->lpVtbl->Resolve(This,fFlags)
3213#define IShellLinkDual_GetIconLocation(This,pbs,piIcon) (This)->lpVtbl->GetIconLocation(This,pbs,piIcon)
3214#define IShellLinkDual_SetIconLocation(This,bs,iIcon) (This)->lpVtbl->SetIconLocation(This,bs,iIcon)
3215#define IShellLinkDual_Save(This,vWhere) (This)->lpVtbl->Save(This,vWhere)
3216#else
3217/*** IUnknown methods ***/
3218static inline HRESULT IShellLinkDual_QueryInterface(IShellLinkDual* This,REFIID riid,void **ppvObject) {
3219    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3220}
3221static inline ULONG IShellLinkDual_AddRef(IShellLinkDual* This) {
3222    return This->lpVtbl->AddRef(This);
3223}
3224static inline ULONG IShellLinkDual_Release(IShellLinkDual* This) {
3225    return This->lpVtbl->Release(This);
3226}
3227/*** IDispatch methods ***/
3228static inline HRESULT IShellLinkDual_GetTypeInfoCount(IShellLinkDual* This,UINT *pctinfo) {
3229    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3230}
3231static inline HRESULT IShellLinkDual_GetTypeInfo(IShellLinkDual* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3232    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3233}
3234static inline HRESULT IShellLinkDual_GetIDsOfNames(IShellLinkDual* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3235    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3236}
3237static inline HRESULT IShellLinkDual_Invoke(IShellLinkDual* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3238    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3239}
3240/*** IShellLinkDual methods ***/
3241static inline HRESULT IShellLinkDual_get_Path(IShellLinkDual* This,BSTR *pbs) {
3242    return This->lpVtbl->get_Path(This,pbs);
3243}
3244static inline HRESULT IShellLinkDual_put_Path(IShellLinkDual* This,BSTR bs) {
3245    return This->lpVtbl->put_Path(This,bs);
3246}
3247static inline HRESULT IShellLinkDual_get_Description(IShellLinkDual* This,BSTR *pbs) {
3248    return This->lpVtbl->get_Description(This,pbs);
3249}
3250static inline HRESULT IShellLinkDual_put_Description(IShellLinkDual* This,BSTR bs) {
3251    return This->lpVtbl->put_Description(This,bs);
3252}
3253static inline HRESULT IShellLinkDual_get_WorkingDirectory(IShellLinkDual* This,BSTR *pbs) {
3254    return This->lpVtbl->get_WorkingDirectory(This,pbs);
3255}
3256static inline HRESULT IShellLinkDual_put_WorkingDirectory(IShellLinkDual* This,BSTR bs) {
3257    return This->lpVtbl->put_WorkingDirectory(This,bs);
3258}
3259static inline HRESULT IShellLinkDual_get_Arguments(IShellLinkDual* This,BSTR *pbs) {
3260    return This->lpVtbl->get_Arguments(This,pbs);
3261}
3262static inline HRESULT IShellLinkDual_put_Arguments(IShellLinkDual* This,BSTR bs) {
3263    return This->lpVtbl->put_Arguments(This,bs);
3264}
3265static inline HRESULT IShellLinkDual_get_Hotkey(IShellLinkDual* This,int *piHK) {
3266    return This->lpVtbl->get_Hotkey(This,piHK);
3267}
3268static inline HRESULT IShellLinkDual_put_Hotkey(IShellLinkDual* This,int iHK) {
3269    return This->lpVtbl->put_Hotkey(This,iHK);
3270}
3271static inline HRESULT IShellLinkDual_get_ShowCommand(IShellLinkDual* This,int *piShowCommand) {
3272    return This->lpVtbl->get_ShowCommand(This,piShowCommand);
3273}
3274static inline HRESULT IShellLinkDual_put_ShowCommand(IShellLinkDual* This,int iShowCommand) {
3275    return This->lpVtbl->put_ShowCommand(This,iShowCommand);
3276}
3277static inline HRESULT IShellLinkDual_Resolve(IShellLinkDual* This,int fFlags) {
3278    return This->lpVtbl->Resolve(This,fFlags);
3279}
3280static inline HRESULT IShellLinkDual_GetIconLocation(IShellLinkDual* This,BSTR *pbs,int *piIcon) {
3281    return This->lpVtbl->GetIconLocation(This,pbs,piIcon);
3282}
3283static inline HRESULT IShellLinkDual_SetIconLocation(IShellLinkDual* This,BSTR bs,int iIcon) {
3284    return This->lpVtbl->SetIconLocation(This,bs,iIcon);
3285}
3286static inline HRESULT IShellLinkDual_Save(IShellLinkDual* This,VARIANT vWhere) {
3287    return This->lpVtbl->Save(This,vWhere);
3288}
3289#endif
3290#endif
3291
3292#endif
3293
3294
3295#endif  /* __IShellLinkDual_INTERFACE_DEFINED__ */
3296
3297/*****************************************************************************
3298 * IShellLinkDual2 interface
3299 */
3300#ifndef __IShellLinkDual2_INTERFACE_DEFINED__
3301#define __IShellLinkDual2_INTERFACE_DEFINED__
3302
3303DEFINE_GUID(IID_IShellLinkDual2, 0x317ee249, 0xf12e, 0x11d2, 0xb1,0xe4, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e);
3304#if defined(__cplusplus) && !defined(CINTERFACE)
3305MIDL_INTERFACE("317ee249-f12e-11d2-b1e4-00c04f8eeb3e")
3306IShellLinkDual2 : public IShellLinkDual
3307{
3308    virtual HRESULT STDMETHODCALLTYPE get_Target(
3309        FolderItem **ppfi) = 0;
3310
3311};
3312#ifdef __CRT_UUID_DECL
3313__CRT_UUID_DECL(IShellLinkDual2, 0x317ee249, 0xf12e, 0x11d2, 0xb1,0xe4, 0x00,0xc0,0x4f,0x8e,0xeb,0x3e)
3314#endif
3315#else
3316typedef struct IShellLinkDual2Vtbl {
3317    BEGIN_INTERFACE
3318
3319    /*** IUnknown methods ***/
3320    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3321        IShellLinkDual2 *This,
3322        REFIID riid,
3323        void **ppvObject);
3324
3325    ULONG (STDMETHODCALLTYPE *AddRef)(
3326        IShellLinkDual2 *This);
3327
3328    ULONG (STDMETHODCALLTYPE *Release)(
3329        IShellLinkDual2 *This);
3330
3331    /*** IDispatch methods ***/
3332    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3333        IShellLinkDual2 *This,
3334        UINT *pctinfo);
3335
3336    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3337        IShellLinkDual2 *This,
3338        UINT iTInfo,
3339        LCID lcid,
3340        ITypeInfo **ppTInfo);
3341
3342    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3343        IShellLinkDual2 *This,
3344        REFIID riid,
3345        LPOLESTR *rgszNames,
3346        UINT cNames,
3347        LCID lcid,
3348        DISPID *rgDispId);
3349
3350    HRESULT (STDMETHODCALLTYPE *Invoke)(
3351        IShellLinkDual2 *This,
3352        DISPID dispIdMember,
3353        REFIID riid,
3354        LCID lcid,
3355        WORD wFlags,
3356        DISPPARAMS *pDispParams,
3357        VARIANT *pVarResult,
3358        EXCEPINFO *pExcepInfo,
3359        UINT *puArgErr);
3360
3361    /*** IShellLinkDual methods ***/
3362    HRESULT (STDMETHODCALLTYPE *get_Path)(
3363        IShellLinkDual2 *This,
3364        BSTR *pbs);
3365
3366    HRESULT (STDMETHODCALLTYPE *put_Path)(
3367        IShellLinkDual2 *This,
3368        BSTR bs);
3369
3370    HRESULT (STDMETHODCALLTYPE *get_Description)(
3371        IShellLinkDual2 *This,
3372        BSTR *pbs);
3373
3374    HRESULT (STDMETHODCALLTYPE *put_Description)(
3375        IShellLinkDual2 *This,
3376        BSTR bs);
3377
3378    HRESULT (STDMETHODCALLTYPE *get_WorkingDirectory)(
3379        IShellLinkDual2 *This,
3380        BSTR *pbs);
3381
3382    HRESULT (STDMETHODCALLTYPE *put_WorkingDirectory)(
3383        IShellLinkDual2 *This,
3384        BSTR bs);
3385
3386    HRESULT (STDMETHODCALLTYPE *get_Arguments)(
3387        IShellLinkDual2 *This,
3388        BSTR *pbs);
3389
3390    HRESULT (STDMETHODCALLTYPE *put_Arguments)(
3391        IShellLinkDual2 *This,
3392        BSTR bs);
3393
3394    HRESULT (STDMETHODCALLTYPE *get_Hotkey)(
3395        IShellLinkDual2 *This,
3396        int *piHK);
3397
3398    HRESULT (STDMETHODCALLTYPE *put_Hotkey)(
3399        IShellLinkDual2 *This,
3400        int iHK);
3401
3402    HRESULT (STDMETHODCALLTYPE *get_ShowCommand)(
3403        IShellLinkDual2 *This,
3404        int *piShowCommand);
3405
3406    HRESULT (STDMETHODCALLTYPE *put_ShowCommand)(
3407        IShellLinkDual2 *This,
3408        int iShowCommand);
3409
3410    HRESULT (STDMETHODCALLTYPE *Resolve)(
3411        IShellLinkDual2 *This,
3412        int fFlags);
3413
3414    HRESULT (STDMETHODCALLTYPE *GetIconLocation)(
3415        IShellLinkDual2 *This,
3416        BSTR *pbs,
3417        int *piIcon);
3418
3419    HRESULT (STDMETHODCALLTYPE *SetIconLocation)(
3420        IShellLinkDual2 *This,
3421        BSTR bs,
3422        int iIcon);
3423
3424    HRESULT (STDMETHODCALLTYPE *Save)(
3425        IShellLinkDual2 *This,
3426        VARIANT vWhere);
3427
3428    /*** IShellLinkDual2 methods ***/
3429    HRESULT (STDMETHODCALLTYPE *get_Target)(
3430        IShellLinkDual2 *This,
3431        FolderItem **ppfi);
3432
3433    END_INTERFACE
3434} IShellLinkDual2Vtbl;
3435
3436interface IShellLinkDual2 {
3437    CONST_VTBL IShellLinkDual2Vtbl* lpVtbl;
3438};
3439
3440#ifdef COBJMACROS
3441#ifndef WIDL_C_INLINE_WRAPPERS
3442/*** IUnknown methods ***/
3443#define IShellLinkDual2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3444#define IShellLinkDual2_AddRef(This) (This)->lpVtbl->AddRef(This)
3445#define IShellLinkDual2_Release(This) (This)->lpVtbl->Release(This)
3446/*** IDispatch methods ***/
3447#define IShellLinkDual2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3448#define IShellLinkDual2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3449#define IShellLinkDual2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3450#define IShellLinkDual2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3451/*** IShellLinkDual methods ***/
3452#define IShellLinkDual2_get_Path(This,pbs) (This)->lpVtbl->get_Path(This,pbs)
3453#define IShellLinkDual2_put_Path(This,bs) (This)->lpVtbl->put_Path(This,bs)
3454#define IShellLinkDual2_get_Description(This,pbs) (This)->lpVtbl->get_Description(This,pbs)
3455#define IShellLinkDual2_put_Description(This,bs) (This)->lpVtbl->put_Description(This,bs)
3456#define IShellLinkDual2_get_WorkingDirectory(This,pbs) (This)->lpVtbl->get_WorkingDirectory(This,pbs)
3457#define IShellLinkDual2_put_WorkingDirectory(This,bs) (This)->lpVtbl->put_WorkingDirectory(This,bs)
3458#define IShellLinkDual2_get_Arguments(This,pbs) (This)->lpVtbl->get_Arguments(This,pbs)
3459#define IShellLinkDual2_put_Arguments(This,bs) (This)->lpVtbl->put_Arguments(This,bs)
3460#define IShellLinkDual2_get_Hotkey(This,piHK) (This)->lpVtbl->get_Hotkey(This,piHK)
3461#define IShellLinkDual2_put_Hotkey(This,iHK) (This)->lpVtbl->put_Hotkey(This,iHK)
3462#define IShellLinkDual2_get_ShowCommand(This,piShowCommand) (This)->lpVtbl->get_ShowCommand(This,piShowCommand)
3463#define IShellLinkDual2_put_ShowCommand(This,iShowCommand) (This)->lpVtbl->put_ShowCommand(This,iShowCommand)
3464#define IShellLinkDual2_Resolve(This,fFlags) (This)->lpVtbl->Resolve(This,fFlags)
3465#define IShellLinkDual2_GetIconLocation(This,pbs,piIcon) (This)->lpVtbl->GetIconLocation(This,pbs,piIcon)
3466#define IShellLinkDual2_SetIconLocation(This,bs,iIcon) (This)->lpVtbl->SetIconLocation(This,bs,iIcon)
3467#define IShellLinkDual2_Save(This,vWhere) (This)->lpVtbl->Save(This,vWhere)
3468/*** IShellLinkDual2 methods ***/
3469#define IShellLinkDual2_get_Target(This,ppfi) (This)->lpVtbl->get_Target(This,ppfi)
3470#else
3471/*** IUnknown methods ***/
3472static inline HRESULT IShellLinkDual2_QueryInterface(IShellLinkDual2* This,REFIID riid,void **ppvObject) {
3473    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3474}
3475static inline ULONG IShellLinkDual2_AddRef(IShellLinkDual2* This) {
3476    return This->lpVtbl->AddRef(This);
3477}
3478static inline ULONG IShellLinkDual2_Release(IShellLinkDual2* This) {
3479    return This->lpVtbl->Release(This);
3480}
3481/*** IDispatch methods ***/
3482static inline HRESULT IShellLinkDual2_GetTypeInfoCount(IShellLinkDual2* This,UINT *pctinfo) {
3483    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3484}
3485static inline HRESULT IShellLinkDual2_GetTypeInfo(IShellLinkDual2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3486    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3487}
3488static inline HRESULT IShellLinkDual2_GetIDsOfNames(IShellLinkDual2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3489    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3490}
3491static inline HRESULT IShellLinkDual2_Invoke(IShellLinkDual2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3492    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3493}
3494/*** IShellLinkDual methods ***/
3495static inline HRESULT IShellLinkDual2_get_Path(IShellLinkDual2* This,BSTR *pbs) {
3496    return This->lpVtbl->get_Path(This,pbs);
3497}
3498static inline HRESULT IShellLinkDual2_put_Path(IShellLinkDual2* This,BSTR bs) {
3499    return This->lpVtbl->put_Path(This,bs);
3500}
3501static inline HRESULT IShellLinkDual2_get_Description(IShellLinkDual2* This,BSTR *pbs) {
3502    return This->lpVtbl->get_Description(This,pbs);
3503}
3504static inline HRESULT IShellLinkDual2_put_Description(IShellLinkDual2* This,BSTR bs) {
3505    return This->lpVtbl->put_Description(This,bs);
3506}
3507static inline HRESULT IShellLinkDual2_get_WorkingDirectory(IShellLinkDual2* This,BSTR *pbs) {
3508    return This->lpVtbl->get_WorkingDirectory(This,pbs);
3509}
3510static inline HRESULT IShellLinkDual2_put_WorkingDirectory(IShellLinkDual2* This,BSTR bs) {
3511    return This->lpVtbl->put_WorkingDirectory(This,bs);
3512}
3513static inline HRESULT IShellLinkDual2_get_Arguments(IShellLinkDual2* This,BSTR *pbs) {
3514    return This->lpVtbl->get_Arguments(This,pbs);
3515}
3516static inline HRESULT IShellLinkDual2_put_Arguments(IShellLinkDual2* This,BSTR bs) {
3517    return This->lpVtbl->put_Arguments(This,bs);
3518}
3519static inline HRESULT IShellLinkDual2_get_Hotkey(IShellLinkDual2* This,int *piHK) {
3520    return This->lpVtbl->get_Hotkey(This,piHK);
3521}
3522static inline HRESULT IShellLinkDual2_put_Hotkey(IShellLinkDual2* This,int iHK) {
3523    return This->lpVtbl->put_Hotkey(This,iHK);
3524}
3525static inline HRESULT IShellLinkDual2_get_ShowCommand(IShellLinkDual2* This,int *piShowCommand) {
3526    return This->lpVtbl->get_ShowCommand(This,piShowCommand);
3527}
3528static inline HRESULT IShellLinkDual2_put_ShowCommand(IShellLinkDual2* This,int iShowCommand) {
3529    return This->lpVtbl->put_ShowCommand(This,iShowCommand);
3530}
3531static inline HRESULT IShellLinkDual2_Resolve(IShellLinkDual2* This,int fFlags) {
3532    return This->lpVtbl->Resolve(This,fFlags);
3533}
3534static inline HRESULT IShellLinkDual2_GetIconLocation(IShellLinkDual2* This,BSTR *pbs,int *piIcon) {
3535    return This->lpVtbl->GetIconLocation(This,pbs,piIcon);
3536}
3537static inline HRESULT IShellLinkDual2_SetIconLocation(IShellLinkDual2* This,BSTR bs,int iIcon) {
3538    return This->lpVtbl->SetIconLocation(This,bs,iIcon);
3539}
3540static inline HRESULT IShellLinkDual2_Save(IShellLinkDual2* This,VARIANT vWhere) {
3541    return This->lpVtbl->Save(This,vWhere);
3542}
3543/*** IShellLinkDual2 methods ***/
3544static inline HRESULT IShellLinkDual2_get_Target(IShellLinkDual2* This,FolderItem **ppfi) {
3545    return This->lpVtbl->get_Target(This,ppfi);
3546}
3547#endif
3548#endif
3549
3550#endif
3551
3552
3553#endif  /* __IShellLinkDual2_INTERFACE_DEFINED__ */
3554
3555/*****************************************************************************
3556 * ShellLinkObject coclass
3557 */
3558
3559DEFINE_GUID(CLSID_ShellLinkObject, 0x11219420, 0x1768, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f);
3560
3561#ifdef __cplusplus
3562class DECLSPEC_UUID("11219420-1768-11d1-95be-00609797ea4f") ShellLinkObject;
3563#ifdef __CRT_UUID_DECL
3564__CRT_UUID_DECL(ShellLinkObject, 0x11219420, 0x1768, 0x11d1, 0x95,0xbe, 0x00,0x60,0x97,0x97,0xea,0x4f)
3565#endif
3566#endif
3567
3568/*****************************************************************************
3569 * IShellFolderViewDual interface
3570 */
3571#ifndef __IShellFolderViewDual_INTERFACE_DEFINED__
3572#define __IShellFolderViewDual_INTERFACE_DEFINED__
3573
3574DEFINE_GUID(IID_IShellFolderViewDual, 0xe7a1af80, 0x4d96, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85);
3575#if defined(__cplusplus) && !defined(CINTERFACE)
3576MIDL_INTERFACE("e7a1af80-4d96-11cf-960c-0080c7f4ee85")
3577IShellFolderViewDual : public IDispatch
3578{
3579    virtual HRESULT STDMETHODCALLTYPE get_Application(
3580        IDispatch **ppid) = 0;
3581
3582    virtual HRESULT STDMETHODCALLTYPE get_Parent(
3583        IDispatch **ppid) = 0;
3584
3585    virtual HRESULT STDMETHODCALLTYPE get_Folder(
3586        Folder **ppid) = 0;
3587
3588    virtual HRESULT STDMETHODCALLTYPE SelectedItems(
3589        FolderItems **ppid) = 0;
3590
3591    virtual HRESULT STDMETHODCALLTYPE get_FocusedItem(
3592        FolderItem **ppid) = 0;
3593
3594    virtual HRESULT STDMETHODCALLTYPE SelectItem(
3595        VARIANT *pvfi,
3596        int dwFlags) = 0;
3597
3598    virtual HRESULT STDMETHODCALLTYPE PopupItemMenu(
3599        FolderItem *pfi,
3600        VARIANT vx,
3601        VARIANT vy,
3602        BSTR *pbs) = 0;
3603
3604    virtual HRESULT STDMETHODCALLTYPE get_Script(
3605        IDispatch **ppDisp) = 0;
3606
3607    virtual HRESULT STDMETHODCALLTYPE get_ViewOptions(
3608        LONG *plViewOptions) = 0;
3609
3610};
3611#ifdef __CRT_UUID_DECL
3612__CRT_UUID_DECL(IShellFolderViewDual, 0xe7a1af80, 0x4d96, 0x11cf, 0x96,0x0c, 0x00,0x80,0xc7,0xf4,0xee,0x85)
3613#endif
3614#else
3615typedef struct IShellFolderViewDualVtbl {
3616    BEGIN_INTERFACE
3617
3618    /*** IUnknown methods ***/
3619    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3620        IShellFolderViewDual *This,
3621        REFIID riid,
3622        void **ppvObject);
3623
3624    ULONG (STDMETHODCALLTYPE *AddRef)(
3625        IShellFolderViewDual *This);
3626
3627    ULONG (STDMETHODCALLTYPE *Release)(
3628        IShellFolderViewDual *This);
3629
3630    /*** IDispatch methods ***/
3631    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3632        IShellFolderViewDual *This,
3633        UINT *pctinfo);
3634
3635    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3636        IShellFolderViewDual *This,
3637        UINT iTInfo,
3638        LCID lcid,
3639        ITypeInfo **ppTInfo);
3640
3641    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3642        IShellFolderViewDual *This,
3643        REFIID riid,
3644        LPOLESTR *rgszNames,
3645        UINT cNames,
3646        LCID lcid,
3647        DISPID *rgDispId);
3648
3649    HRESULT (STDMETHODCALLTYPE *Invoke)(
3650        IShellFolderViewDual *This,
3651        DISPID dispIdMember,
3652        REFIID riid,
3653        LCID lcid,
3654        WORD wFlags,
3655        DISPPARAMS *pDispParams,
3656        VARIANT *pVarResult,
3657        EXCEPINFO *pExcepInfo,
3658        UINT *puArgErr);
3659
3660    /*** IShellFolderViewDual methods ***/
3661    HRESULT (STDMETHODCALLTYPE *get_Application)(
3662        IShellFolderViewDual *This,
3663        IDispatch **ppid);
3664
3665    HRESULT (STDMETHODCALLTYPE *get_Parent)(
3666        IShellFolderViewDual *This,
3667        IDispatch **ppid);
3668
3669    HRESULT (STDMETHODCALLTYPE *get_Folder)(
3670        IShellFolderViewDual *This,
3671        Folder **ppid);
3672
3673    HRESULT (STDMETHODCALLTYPE *SelectedItems)(
3674        IShellFolderViewDual *This,
3675        FolderItems **ppid);
3676
3677    HRESULT (STDMETHODCALLTYPE *get_FocusedItem)(
3678        IShellFolderViewDual *This,
3679        FolderItem **ppid);
3680
3681    HRESULT (STDMETHODCALLTYPE *SelectItem)(
3682        IShellFolderViewDual *This,
3683        VARIANT *pvfi,
3684        int dwFlags);
3685
3686    HRESULT (STDMETHODCALLTYPE *PopupItemMenu)(
3687        IShellFolderViewDual *This,
3688        FolderItem *pfi,
3689        VARIANT vx,
3690        VARIANT vy,
3691        BSTR *pbs);
3692
3693    HRESULT (STDMETHODCALLTYPE *get_Script)(
3694        IShellFolderViewDual *This,
3695        IDispatch **ppDisp);
3696
3697    HRESULT (STDMETHODCALLTYPE *get_ViewOptions)(
3698        IShellFolderViewDual *This,
3699        LONG *plViewOptions);
3700
3701    END_INTERFACE
3702} IShellFolderViewDualVtbl;
3703
3704interface IShellFolderViewDual {
3705    CONST_VTBL IShellFolderViewDualVtbl* lpVtbl;
3706};
3707
3708#ifdef COBJMACROS
3709#ifndef WIDL_C_INLINE_WRAPPERS
3710/*** IUnknown methods ***/
3711#define IShellFolderViewDual_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3712#define IShellFolderViewDual_AddRef(This) (This)->lpVtbl->AddRef(This)
3713#define IShellFolderViewDual_Release(This) (This)->lpVtbl->Release(This)
3714/*** IDispatch methods ***/
3715#define IShellFolderViewDual_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3716#define IShellFolderViewDual_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3717#define IShellFolderViewDual_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3718#define IShellFolderViewDual_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3719/*** IShellFolderViewDual methods ***/
3720#define IShellFolderViewDual_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
3721#define IShellFolderViewDual_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
3722#define IShellFolderViewDual_get_Folder(This,ppid) (This)->lpVtbl->get_Folder(This,ppid)
3723#define IShellFolderViewDual_SelectedItems(This,ppid) (This)->lpVtbl->SelectedItems(This,ppid)
3724#define IShellFolderViewDual_get_FocusedItem(This,ppid) (This)->lpVtbl->get_FocusedItem(This,ppid)
3725#define IShellFolderViewDual_SelectItem(This,pvfi,dwFlags) (This)->lpVtbl->SelectItem(This,pvfi,dwFlags)
3726#define IShellFolderViewDual_PopupItemMenu(This,pfi,vx,vy,pbs) (This)->lpVtbl->PopupItemMenu(This,pfi,vx,vy,pbs)
3727#define IShellFolderViewDual_get_Script(This,ppDisp) (This)->lpVtbl->get_Script(This,ppDisp)
3728#define IShellFolderViewDual_get_ViewOptions(This,plViewOptions) (This)->lpVtbl->get_ViewOptions(This,plViewOptions)
3729#else
3730/*** IUnknown methods ***/
3731static inline HRESULT IShellFolderViewDual_QueryInterface(IShellFolderViewDual* This,REFIID riid,void **ppvObject) {
3732    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3733}
3734static inline ULONG IShellFolderViewDual_AddRef(IShellFolderViewDual* This) {
3735    return This->lpVtbl->AddRef(This);
3736}
3737static inline ULONG IShellFolderViewDual_Release(IShellFolderViewDual* This) {
3738    return This->lpVtbl->Release(This);
3739}
3740/*** IDispatch methods ***/
3741static inline HRESULT IShellFolderViewDual_GetTypeInfoCount(IShellFolderViewDual* This,UINT *pctinfo) {
3742    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3743}
3744static inline HRESULT IShellFolderViewDual_GetTypeInfo(IShellFolderViewDual* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3745    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3746}
3747static inline HRESULT IShellFolderViewDual_GetIDsOfNames(IShellFolderViewDual* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3748    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3749}
3750static inline HRESULT IShellFolderViewDual_Invoke(IShellFolderViewDual* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3751    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3752}
3753/*** IShellFolderViewDual methods ***/
3754static inline HRESULT IShellFolderViewDual_get_Application(IShellFolderViewDual* This,IDispatch **ppid) {
3755    return This->lpVtbl->get_Application(This,ppid);
3756}
3757static inline HRESULT IShellFolderViewDual_get_Parent(IShellFolderViewDual* This,IDispatch **ppid) {
3758    return This->lpVtbl->get_Parent(This,ppid);
3759}
3760static inline HRESULT IShellFolderViewDual_get_Folder(IShellFolderViewDual* This,Folder **ppid) {
3761    return This->lpVtbl->get_Folder(This,ppid);
3762}
3763static inline HRESULT IShellFolderViewDual_SelectedItems(IShellFolderViewDual* This,FolderItems **ppid) {
3764    return This->lpVtbl->SelectedItems(This,ppid);
3765}
3766static inline HRESULT IShellFolderViewDual_get_FocusedItem(IShellFolderViewDual* This,FolderItem **ppid) {
3767    return This->lpVtbl->get_FocusedItem(This,ppid);
3768}
3769static inline HRESULT IShellFolderViewDual_SelectItem(IShellFolderViewDual* This,VARIANT *pvfi,int dwFlags) {
3770    return This->lpVtbl->SelectItem(This,pvfi,dwFlags);
3771}
3772static inline HRESULT IShellFolderViewDual_PopupItemMenu(IShellFolderViewDual* This,FolderItem *pfi,VARIANT vx,VARIANT vy,BSTR *pbs) {
3773    return This->lpVtbl->PopupItemMenu(This,pfi,vx,vy,pbs);
3774}
3775static inline HRESULT IShellFolderViewDual_get_Script(IShellFolderViewDual* This,IDispatch **ppDisp) {
3776    return This->lpVtbl->get_Script(This,ppDisp);
3777}
3778static inline HRESULT IShellFolderViewDual_get_ViewOptions(IShellFolderViewDual* This,LONG *plViewOptions) {
3779    return This->lpVtbl->get_ViewOptions(This,plViewOptions);
3780}
3781#endif
3782#endif
3783
3784#endif
3785
3786
3787#endif  /* __IShellFolderViewDual_INTERFACE_DEFINED__ */
3788
3789/*****************************************************************************
3790 * IShellFolderViewDual2 interface
3791 */
3792#ifndef __IShellFolderViewDual2_INTERFACE_DEFINED__
3793#define __IShellFolderViewDual2_INTERFACE_DEFINED__
3794
3795DEFINE_GUID(IID_IShellFolderViewDual2, 0x31c147b6, 0x0ade, 0x4a3c, 0xb5,0x14, 0xdd,0xf9,0x32,0xef,0x6d,0x17);
3796#if defined(__cplusplus) && !defined(CINTERFACE)
3797MIDL_INTERFACE("31c147b6-0ade-4a3c-b514-ddf932ef6d17")
3798IShellFolderViewDual2 : public IShellFolderViewDual
3799{
3800    virtual HRESULT STDMETHODCALLTYPE get_CurrentViewMode(
3801        UINT *pViewMode) = 0;
3802
3803    virtual HRESULT STDMETHODCALLTYPE put_CurrentViewMode(
3804        UINT ViewMode) = 0;
3805
3806    virtual HRESULT STDMETHODCALLTYPE SelectItemRelative(
3807        int iRelative) = 0;
3808
3809};
3810#ifdef __CRT_UUID_DECL
3811__CRT_UUID_DECL(IShellFolderViewDual2, 0x31c147b6, 0x0ade, 0x4a3c, 0xb5,0x14, 0xdd,0xf9,0x32,0xef,0x6d,0x17)
3812#endif
3813#else
3814typedef struct IShellFolderViewDual2Vtbl {
3815    BEGIN_INTERFACE
3816
3817    /*** IUnknown methods ***/
3818    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3819        IShellFolderViewDual2 *This,
3820        REFIID riid,
3821        void **ppvObject);
3822
3823    ULONG (STDMETHODCALLTYPE *AddRef)(
3824        IShellFolderViewDual2 *This);
3825
3826    ULONG (STDMETHODCALLTYPE *Release)(
3827        IShellFolderViewDual2 *This);
3828
3829    /*** IDispatch methods ***/
3830    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3831        IShellFolderViewDual2 *This,
3832        UINT *pctinfo);
3833
3834    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3835        IShellFolderViewDual2 *This,
3836        UINT iTInfo,
3837        LCID lcid,
3838        ITypeInfo **ppTInfo);
3839
3840    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3841        IShellFolderViewDual2 *This,
3842        REFIID riid,
3843        LPOLESTR *rgszNames,
3844        UINT cNames,
3845        LCID lcid,
3846        DISPID *rgDispId);
3847
3848    HRESULT (STDMETHODCALLTYPE *Invoke)(
3849        IShellFolderViewDual2 *This,
3850        DISPID dispIdMember,
3851        REFIID riid,
3852        LCID lcid,
3853        WORD wFlags,
3854        DISPPARAMS *pDispParams,
3855        VARIANT *pVarResult,
3856        EXCEPINFO *pExcepInfo,
3857        UINT *puArgErr);
3858
3859    /*** IShellFolderViewDual methods ***/
3860    HRESULT (STDMETHODCALLTYPE *get_Application)(
3861        IShellFolderViewDual2 *This,
3862        IDispatch **ppid);
3863
3864    HRESULT (STDMETHODCALLTYPE *get_Parent)(
3865        IShellFolderViewDual2 *This,
3866        IDispatch **ppid);
3867
3868    HRESULT (STDMETHODCALLTYPE *get_Folder)(
3869        IShellFolderViewDual2 *This,
3870        Folder **ppid);
3871
3872    HRESULT (STDMETHODCALLTYPE *SelectedItems)(
3873        IShellFolderViewDual2 *This,
3874        FolderItems **ppid);
3875
3876    HRESULT (STDMETHODCALLTYPE *get_FocusedItem)(
3877        IShellFolderViewDual2 *This,
3878        FolderItem **ppid);
3879
3880    HRESULT (STDMETHODCALLTYPE *SelectItem)(
3881        IShellFolderViewDual2 *This,
3882        VARIANT *pvfi,
3883        int dwFlags);
3884
3885    HRESULT (STDMETHODCALLTYPE *PopupItemMenu)(
3886        IShellFolderViewDual2 *This,
3887        FolderItem *pfi,
3888        VARIANT vx,
3889        VARIANT vy,
3890        BSTR *pbs);
3891
3892    HRESULT (STDMETHODCALLTYPE *get_Script)(
3893        IShellFolderViewDual2 *This,
3894        IDispatch **ppDisp);
3895
3896    HRESULT (STDMETHODCALLTYPE *get_ViewOptions)(
3897        IShellFolderViewDual2 *This,
3898        LONG *plViewOptions);
3899
3900    /*** IShellFolderViewDual2 methods ***/
3901    HRESULT (STDMETHODCALLTYPE *get_CurrentViewMode)(
3902        IShellFolderViewDual2 *This,
3903        UINT *pViewMode);
3904
3905    HRESULT (STDMETHODCALLTYPE *put_CurrentViewMode)(
3906        IShellFolderViewDual2 *This,
3907        UINT ViewMode);
3908
3909    HRESULT (STDMETHODCALLTYPE *SelectItemRelative)(
3910        IShellFolderViewDual2 *This,
3911        int iRelative);
3912
3913    END_INTERFACE
3914} IShellFolderViewDual2Vtbl;
3915
3916interface IShellFolderViewDual2 {
3917    CONST_VTBL IShellFolderViewDual2Vtbl* lpVtbl;
3918};
3919
3920#ifdef COBJMACROS
3921#ifndef WIDL_C_INLINE_WRAPPERS
3922/*** IUnknown methods ***/
3923#define IShellFolderViewDual2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3924#define IShellFolderViewDual2_AddRef(This) (This)->lpVtbl->AddRef(This)
3925#define IShellFolderViewDual2_Release(This) (This)->lpVtbl->Release(This)
3926/*** IDispatch methods ***/
3927#define IShellFolderViewDual2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3928#define IShellFolderViewDual2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3929#define IShellFolderViewDual2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3930#define IShellFolderViewDual2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3931/*** IShellFolderViewDual methods ***/
3932#define IShellFolderViewDual2_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
3933#define IShellFolderViewDual2_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
3934#define IShellFolderViewDual2_get_Folder(This,ppid) (This)->lpVtbl->get_Folder(This,ppid)
3935#define IShellFolderViewDual2_SelectedItems(This,ppid) (This)->lpVtbl->SelectedItems(This,ppid)
3936#define IShellFolderViewDual2_get_FocusedItem(This,ppid) (This)->lpVtbl->get_FocusedItem(This,ppid)
3937#define IShellFolderViewDual2_SelectItem(This,pvfi,dwFlags) (This)->lpVtbl->SelectItem(This,pvfi,dwFlags)
3938#define IShellFolderViewDual2_PopupItemMenu(This,pfi,vx,vy,pbs) (This)->lpVtbl->PopupItemMenu(This,pfi,vx,vy,pbs)
3939#define IShellFolderViewDual2_get_Script(This,ppDisp) (This)->lpVtbl->get_Script(This,ppDisp)
3940#define IShellFolderViewDual2_get_ViewOptions(This,plViewOptions) (This)->lpVtbl->get_ViewOptions(This,plViewOptions)
3941/*** IShellFolderViewDual2 methods ***/
3942#define IShellFolderViewDual2_get_CurrentViewMode(This,pViewMode) (This)->lpVtbl->get_CurrentViewMode(This,pViewMode)
3943#define IShellFolderViewDual2_put_CurrentViewMode(This,ViewMode) (This)->lpVtbl->put_CurrentViewMode(This,ViewMode)
3944#define IShellFolderViewDual2_SelectItemRelative(This,iRelative) (This)->lpVtbl->SelectItemRelative(This,iRelative)
3945#else
3946/*** IUnknown methods ***/
3947static inline HRESULT IShellFolderViewDual2_QueryInterface(IShellFolderViewDual2* This,REFIID riid,void **ppvObject) {
3948    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3949}
3950static inline ULONG IShellFolderViewDual2_AddRef(IShellFolderViewDual2* This) {
3951    return This->lpVtbl->AddRef(This);
3952}
3953static inline ULONG IShellFolderViewDual2_Release(IShellFolderViewDual2* This) {
3954    return This->lpVtbl->Release(This);
3955}
3956/*** IDispatch methods ***/
3957static inline HRESULT IShellFolderViewDual2_GetTypeInfoCount(IShellFolderViewDual2* This,UINT *pctinfo) {
3958    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3959}
3960static inline HRESULT IShellFolderViewDual2_GetTypeInfo(IShellFolderViewDual2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3961    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3962}
3963static inline HRESULT IShellFolderViewDual2_GetIDsOfNames(IShellFolderViewDual2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3964    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3965}
3966static inline HRESULT IShellFolderViewDual2_Invoke(IShellFolderViewDual2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3967    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3968}
3969/*** IShellFolderViewDual methods ***/
3970static inline HRESULT IShellFolderViewDual2_get_Application(IShellFolderViewDual2* This,IDispatch **ppid) {
3971    return This->lpVtbl->get_Application(This,ppid);
3972}
3973static inline HRESULT IShellFolderViewDual2_get_Parent(IShellFolderViewDual2* This,IDispatch **ppid) {
3974    return This->lpVtbl->get_Parent(This,ppid);
3975}
3976static inline HRESULT IShellFolderViewDual2_get_Folder(IShellFolderViewDual2* This,Folder **ppid) {
3977    return This->lpVtbl->get_Folder(This,ppid);
3978}
3979static inline HRESULT IShellFolderViewDual2_SelectedItems(IShellFolderViewDual2* This,FolderItems **ppid) {
3980    return This->lpVtbl->SelectedItems(This,ppid);
3981}
3982static inline HRESULT IShellFolderViewDual2_get_FocusedItem(IShellFolderViewDual2* This,FolderItem **ppid) {
3983    return This->lpVtbl->get_FocusedItem(This,ppid);
3984}
3985static inline HRESULT IShellFolderViewDual2_SelectItem(IShellFolderViewDual2* This,VARIANT *pvfi,int dwFlags) {
3986    return This->lpVtbl->SelectItem(This,pvfi,dwFlags);
3987}
3988static inline HRESULT IShellFolderViewDual2_PopupItemMenu(IShellFolderViewDual2* This,FolderItem *pfi,VARIANT vx,VARIANT vy,BSTR *pbs) {
3989    return This->lpVtbl->PopupItemMenu(This,pfi,vx,vy,pbs);
3990}
3991static inline HRESULT IShellFolderViewDual2_get_Script(IShellFolderViewDual2* This,IDispatch **ppDisp) {
3992    return This->lpVtbl->get_Script(This,ppDisp);
3993}
3994static inline HRESULT IShellFolderViewDual2_get_ViewOptions(IShellFolderViewDual2* This,LONG *plViewOptions) {
3995    return This->lpVtbl->get_ViewOptions(This,plViewOptions);
3996}
3997/*** IShellFolderViewDual2 methods ***/
3998static inline HRESULT IShellFolderViewDual2_get_CurrentViewMode(IShellFolderViewDual2* This,UINT *pViewMode) {
3999    return This->lpVtbl->get_CurrentViewMode(This,pViewMode);
4000}
4001static inline HRESULT IShellFolderViewDual2_put_CurrentViewMode(IShellFolderViewDual2* This,UINT ViewMode) {
4002    return This->lpVtbl->put_CurrentViewMode(This,ViewMode);
4003}
4004static inline HRESULT IShellFolderViewDual2_SelectItemRelative(IShellFolderViewDual2* This,int iRelative) {
4005    return This->lpVtbl->SelectItemRelative(This,iRelative);
4006}
4007#endif
4008#endif
4009
4010#endif
4011
4012
4013#endif  /* __IShellFolderViewDual2_INTERFACE_DEFINED__ */
4014
4015/*****************************************************************************
4016 * IShellFolderViewDual3 interface
4017 */
4018#ifndef __IShellFolderViewDual3_INTERFACE_DEFINED__
4019#define __IShellFolderViewDual3_INTERFACE_DEFINED__
4020
4021DEFINE_GUID(IID_IShellFolderViewDual3, 0x29ec8e6c, 0x46d3, 0x411f, 0xba,0xaa, 0x61,0x1a,0x6c,0x9c,0xac,0x66);
4022#if defined(__cplusplus) && !defined(CINTERFACE)
4023MIDL_INTERFACE("29ec8e6c-46d3-411f-baaa-611a6c9cac66")
4024IShellFolderViewDual3 : public IShellFolderViewDual2
4025{
4026    virtual HRESULT STDMETHODCALLTYPE get_GroupBy(
4027        BSTR *pbstrGroupBy) = 0;
4028
4029    virtual HRESULT STDMETHODCALLTYPE put_GroupBy(
4030        BSTR bstrGroupBy) = 0;
4031
4032    virtual HRESULT STDMETHODCALLTYPE get_FolderFlags(
4033        DWORD *pdwFlags) = 0;
4034
4035    virtual HRESULT STDMETHODCALLTYPE put_FolderFlags(
4036        DWORD dwFlags) = 0;
4037
4038    virtual HRESULT STDMETHODCALLTYPE get_SortColumns(
4039        BSTR *pbstrSortColumns) = 0;
4040
4041    virtual HRESULT STDMETHODCALLTYPE put_SortColumns(
4042        BSTR bstrSortColumns) = 0;
4043
4044    virtual HRESULT STDMETHODCALLTYPE put_IconSize(
4045        int iIconSize) = 0;
4046
4047    virtual HRESULT STDMETHODCALLTYPE get_IconSize(
4048        int *piIconSize) = 0;
4049
4050    virtual HRESULT STDMETHODCALLTYPE FilterView(
4051        BSTR bstrFilterText) = 0;
4052
4053};
4054#ifdef __CRT_UUID_DECL
4055__CRT_UUID_DECL(IShellFolderViewDual3, 0x29ec8e6c, 0x46d3, 0x411f, 0xba,0xaa, 0x61,0x1a,0x6c,0x9c,0xac,0x66)
4056#endif
4057#else
4058typedef struct IShellFolderViewDual3Vtbl {
4059    BEGIN_INTERFACE
4060
4061    /*** IUnknown methods ***/
4062    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4063        IShellFolderViewDual3 *This,
4064        REFIID riid,
4065        void **ppvObject);
4066
4067    ULONG (STDMETHODCALLTYPE *AddRef)(
4068        IShellFolderViewDual3 *This);
4069
4070    ULONG (STDMETHODCALLTYPE *Release)(
4071        IShellFolderViewDual3 *This);
4072
4073    /*** IDispatch methods ***/
4074    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4075        IShellFolderViewDual3 *This,
4076        UINT *pctinfo);
4077
4078    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4079        IShellFolderViewDual3 *This,
4080        UINT iTInfo,
4081        LCID lcid,
4082        ITypeInfo **ppTInfo);
4083
4084    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4085        IShellFolderViewDual3 *This,
4086        REFIID riid,
4087        LPOLESTR *rgszNames,
4088        UINT cNames,
4089        LCID lcid,
4090        DISPID *rgDispId);
4091
4092    HRESULT (STDMETHODCALLTYPE *Invoke)(
4093        IShellFolderViewDual3 *This,
4094        DISPID dispIdMember,
4095        REFIID riid,
4096        LCID lcid,
4097        WORD wFlags,
4098        DISPPARAMS *pDispParams,
4099        VARIANT *pVarResult,
4100        EXCEPINFO *pExcepInfo,
4101        UINT *puArgErr);
4102
4103    /*** IShellFolderViewDual methods ***/
4104    HRESULT (STDMETHODCALLTYPE *get_Application)(
4105        IShellFolderViewDual3 *This,
4106        IDispatch **ppid);
4107
4108    HRESULT (STDMETHODCALLTYPE *get_Parent)(
4109        IShellFolderViewDual3 *This,
4110        IDispatch **ppid);
4111
4112    HRESULT (STDMETHODCALLTYPE *get_Folder)(
4113        IShellFolderViewDual3 *This,
4114        Folder **ppid);
4115
4116    HRESULT (STDMETHODCALLTYPE *SelectedItems)(
4117        IShellFolderViewDual3 *This,
4118        FolderItems **ppid);
4119
4120    HRESULT (STDMETHODCALLTYPE *get_FocusedItem)(
4121        IShellFolderViewDual3 *This,
4122        FolderItem **ppid);
4123
4124    HRESULT (STDMETHODCALLTYPE *SelectItem)(
4125        IShellFolderViewDual3 *This,
4126        VARIANT *pvfi,
4127        int dwFlags);
4128
4129    HRESULT (STDMETHODCALLTYPE *PopupItemMenu)(
4130        IShellFolderViewDual3 *This,
4131        FolderItem *pfi,
4132        VARIANT vx,
4133        VARIANT vy,
4134        BSTR *pbs);
4135
4136    HRESULT (STDMETHODCALLTYPE *get_Script)(
4137        IShellFolderViewDual3 *This,
4138        IDispatch **ppDisp);
4139
4140    HRESULT (STDMETHODCALLTYPE *get_ViewOptions)(
4141        IShellFolderViewDual3 *This,
4142        LONG *plViewOptions);
4143
4144    /*** IShellFolderViewDual2 methods ***/
4145    HRESULT (STDMETHODCALLTYPE *get_CurrentViewMode)(
4146        IShellFolderViewDual3 *This,
4147        UINT *pViewMode);
4148
4149    HRESULT (STDMETHODCALLTYPE *put_CurrentViewMode)(
4150        IShellFolderViewDual3 *This,
4151        UINT ViewMode);
4152
4153    HRESULT (STDMETHODCALLTYPE *SelectItemRelative)(
4154        IShellFolderViewDual3 *This,
4155        int iRelative);
4156
4157    /*** IShellFolderViewDual3 methods ***/
4158    HRESULT (STDMETHODCALLTYPE *get_GroupBy)(
4159        IShellFolderViewDual3 *This,
4160        BSTR *pbstrGroupBy);
4161
4162    HRESULT (STDMETHODCALLTYPE *put_GroupBy)(
4163        IShellFolderViewDual3 *This,
4164        BSTR bstrGroupBy);
4165
4166    HRESULT (STDMETHODCALLTYPE *get_FolderFlags)(
4167        IShellFolderViewDual3 *This,
4168        DWORD *pdwFlags);
4169
4170    HRESULT (STDMETHODCALLTYPE *put_FolderFlags)(
4171        IShellFolderViewDual3 *This,
4172        DWORD dwFlags);
4173
4174    HRESULT (STDMETHODCALLTYPE *get_SortColumns)(
4175        IShellFolderViewDual3 *This,
4176        BSTR *pbstrSortColumns);
4177
4178    HRESULT (STDMETHODCALLTYPE *put_SortColumns)(
4179        IShellFolderViewDual3 *This,
4180        BSTR bstrSortColumns);
4181
4182    HRESULT (STDMETHODCALLTYPE *put_IconSize)(
4183        IShellFolderViewDual3 *This,
4184        int iIconSize);
4185
4186    HRESULT (STDMETHODCALLTYPE *get_IconSize)(
4187        IShellFolderViewDual3 *This,
4188        int *piIconSize);
4189
4190    HRESULT (STDMETHODCALLTYPE *FilterView)(
4191        IShellFolderViewDual3 *This,
4192        BSTR bstrFilterText);
4193
4194    END_INTERFACE
4195} IShellFolderViewDual3Vtbl;
4196
4197interface IShellFolderViewDual3 {
4198    CONST_VTBL IShellFolderViewDual3Vtbl* lpVtbl;
4199};
4200
4201#ifdef COBJMACROS
4202#ifndef WIDL_C_INLINE_WRAPPERS
4203/*** IUnknown methods ***/
4204#define IShellFolderViewDual3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4205#define IShellFolderViewDual3_AddRef(This) (This)->lpVtbl->AddRef(This)
4206#define IShellFolderViewDual3_Release(This) (This)->lpVtbl->Release(This)
4207/*** IDispatch methods ***/
4208#define IShellFolderViewDual3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4209#define IShellFolderViewDual3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4210#define IShellFolderViewDual3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4211#define IShellFolderViewDual3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4212/*** IShellFolderViewDual methods ***/
4213#define IShellFolderViewDual3_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
4214#define IShellFolderViewDual3_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
4215#define IShellFolderViewDual3_get_Folder(This,ppid) (This)->lpVtbl->get_Folder(This,ppid)
4216#define IShellFolderViewDual3_SelectedItems(This,ppid) (This)->lpVtbl->SelectedItems(This,ppid)
4217#define IShellFolderViewDual3_get_FocusedItem(This,ppid) (This)->lpVtbl->get_FocusedItem(This,ppid)
4218#define IShellFolderViewDual3_SelectItem(This,pvfi,dwFlags) (This)->lpVtbl->SelectItem(This,pvfi,dwFlags)
4219#define IShellFolderViewDual3_PopupItemMenu(This,pfi,vx,vy,pbs) (This)->lpVtbl->PopupItemMenu(This,pfi,vx,vy,pbs)
4220#define IShellFolderViewDual3_get_Script(This,ppDisp) (This)->lpVtbl->get_Script(This,ppDisp)
4221#define IShellFolderViewDual3_get_ViewOptions(This,plViewOptions) (This)->lpVtbl->get_ViewOptions(This,plViewOptions)
4222/*** IShellFolderViewDual2 methods ***/
4223#define IShellFolderViewDual3_get_CurrentViewMode(This,pViewMode) (This)->lpVtbl->get_CurrentViewMode(This,pViewMode)
4224#define IShellFolderViewDual3_put_CurrentViewMode(This,ViewMode) (This)->lpVtbl->put_CurrentViewMode(This,ViewMode)
4225#define IShellFolderViewDual3_SelectItemRelative(This,iRelative) (This)->lpVtbl->SelectItemRelative(This,iRelative)
4226/*** IShellFolderViewDual3 methods ***/
4227#define IShellFolderViewDual3_get_GroupBy(This,pbstrGroupBy) (This)->lpVtbl->get_GroupBy(This,pbstrGroupBy)
4228#define IShellFolderViewDual3_put_GroupBy(This,bstrGroupBy) (This)->lpVtbl->put_GroupBy(This,bstrGroupBy)
4229#define IShellFolderViewDual3_get_FolderFlags(This,pdwFlags) (This)->lpVtbl->get_FolderFlags(This,pdwFlags)
4230#define IShellFolderViewDual3_put_FolderFlags(This,dwFlags) (This)->lpVtbl->put_FolderFlags(This,dwFlags)
4231#define IShellFolderViewDual3_get_SortColumns(This,pbstrSortColumns) (This)->lpVtbl->get_SortColumns(This,pbstrSortColumns)
4232#define IShellFolderViewDual3_put_SortColumns(This,bstrSortColumns) (This)->lpVtbl->put_SortColumns(This,bstrSortColumns)
4233#define IShellFolderViewDual3_put_IconSize(This,iIconSize) (This)->lpVtbl->put_IconSize(This,iIconSize)
4234#define IShellFolderViewDual3_get_IconSize(This,piIconSize) (This)->lpVtbl->get_IconSize(This,piIconSize)
4235#define IShellFolderViewDual3_FilterView(This,bstrFilterText) (This)->lpVtbl->FilterView(This,bstrFilterText)
4236#else
4237/*** IUnknown methods ***/
4238static inline HRESULT IShellFolderViewDual3_QueryInterface(IShellFolderViewDual3* This,REFIID riid,void **ppvObject) {
4239    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4240}
4241static inline ULONG IShellFolderViewDual3_AddRef(IShellFolderViewDual3* This) {
4242    return This->lpVtbl->AddRef(This);
4243}
4244static inline ULONG IShellFolderViewDual3_Release(IShellFolderViewDual3* This) {
4245    return This->lpVtbl->Release(This);
4246}
4247/*** IDispatch methods ***/
4248static inline HRESULT IShellFolderViewDual3_GetTypeInfoCount(IShellFolderViewDual3* This,UINT *pctinfo) {
4249    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4250}
4251static inline HRESULT IShellFolderViewDual3_GetTypeInfo(IShellFolderViewDual3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4252    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4253}
4254static inline HRESULT IShellFolderViewDual3_GetIDsOfNames(IShellFolderViewDual3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4255    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4256}
4257static inline HRESULT IShellFolderViewDual3_Invoke(IShellFolderViewDual3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4258    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4259}
4260/*** IShellFolderViewDual methods ***/
4261static inline HRESULT IShellFolderViewDual3_get_Application(IShellFolderViewDual3* This,IDispatch **ppid) {
4262    return This->lpVtbl->get_Application(This,ppid);
4263}
4264static inline HRESULT IShellFolderViewDual3_get_Parent(IShellFolderViewDual3* This,IDispatch **ppid) {
4265    return This->lpVtbl->get_Parent(This,ppid);
4266}
4267static inline HRESULT IShellFolderViewDual3_get_Folder(IShellFolderViewDual3* This,Folder **ppid) {
4268    return This->lpVtbl->get_Folder(This,ppid);
4269}
4270static inline HRESULT IShellFolderViewDual3_SelectedItems(IShellFolderViewDual3* This,FolderItems **ppid) {
4271    return This->lpVtbl->SelectedItems(This,ppid);
4272}
4273static inline HRESULT IShellFolderViewDual3_get_FocusedItem(IShellFolderViewDual3* This,FolderItem **ppid) {
4274    return This->lpVtbl->get_FocusedItem(This,ppid);
4275}
4276static inline HRESULT IShellFolderViewDual3_SelectItem(IShellFolderViewDual3* This,VARIANT *pvfi,int dwFlags) {
4277    return This->lpVtbl->SelectItem(This,pvfi,dwFlags);
4278}
4279static inline HRESULT IShellFolderViewDual3_PopupItemMenu(IShellFolderViewDual3* This,FolderItem *pfi,VARIANT vx,VARIANT vy,BSTR *pbs) {
4280    return This->lpVtbl->PopupItemMenu(This,pfi,vx,vy,pbs);
4281}
4282static inline HRESULT IShellFolderViewDual3_get_Script(IShellFolderViewDual3* This,IDispatch **ppDisp) {
4283    return This->lpVtbl->get_Script(This,ppDisp);
4284}
4285static inline HRESULT IShellFolderViewDual3_get_ViewOptions(IShellFolderViewDual3* This,LONG *plViewOptions) {
4286    return This->lpVtbl->get_ViewOptions(This,plViewOptions);
4287}
4288/*** IShellFolderViewDual2 methods ***/
4289static inline HRESULT IShellFolderViewDual3_get_CurrentViewMode(IShellFolderViewDual3* This,UINT *pViewMode) {
4290    return This->lpVtbl->get_CurrentViewMode(This,pViewMode);
4291}
4292static inline HRESULT IShellFolderViewDual3_put_CurrentViewMode(IShellFolderViewDual3* This,UINT ViewMode) {
4293    return This->lpVtbl->put_CurrentViewMode(This,ViewMode);
4294}
4295static inline HRESULT IShellFolderViewDual3_SelectItemRelative(IShellFolderViewDual3* This,int iRelative) {
4296    return This->lpVtbl->SelectItemRelative(This,iRelative);
4297}
4298/*** IShellFolderViewDual3 methods ***/
4299static inline HRESULT IShellFolderViewDual3_get_GroupBy(IShellFolderViewDual3* This,BSTR *pbstrGroupBy) {
4300    return This->lpVtbl->get_GroupBy(This,pbstrGroupBy);
4301}
4302static inline HRESULT IShellFolderViewDual3_put_GroupBy(IShellFolderViewDual3* This,BSTR bstrGroupBy) {
4303    return This->lpVtbl->put_GroupBy(This,bstrGroupBy);
4304}
4305static inline HRESULT IShellFolderViewDual3_get_FolderFlags(IShellFolderViewDual3* This,DWORD *pdwFlags) {
4306    return This->lpVtbl->get_FolderFlags(This,pdwFlags);
4307}
4308static inline HRESULT IShellFolderViewDual3_put_FolderFlags(IShellFolderViewDual3* This,DWORD dwFlags) {
4309    return This->lpVtbl->put_FolderFlags(This,dwFlags);
4310}
4311static inline HRESULT IShellFolderViewDual3_get_SortColumns(IShellFolderViewDual3* This,BSTR *pbstrSortColumns) {
4312    return This->lpVtbl->get_SortColumns(This,pbstrSortColumns);
4313}
4314static inline HRESULT IShellFolderViewDual3_put_SortColumns(IShellFolderViewDual3* This,BSTR bstrSortColumns) {
4315    return This->lpVtbl->put_SortColumns(This,bstrSortColumns);
4316}
4317static inline HRESULT IShellFolderViewDual3_put_IconSize(IShellFolderViewDual3* This,int iIconSize) {
4318    return This->lpVtbl->put_IconSize(This,iIconSize);
4319}
4320static inline HRESULT IShellFolderViewDual3_get_IconSize(IShellFolderViewDual3* This,int *piIconSize) {
4321    return This->lpVtbl->get_IconSize(This,piIconSize);
4322}
4323static inline HRESULT IShellFolderViewDual3_FilterView(IShellFolderViewDual3* This,BSTR bstrFilterText) {
4324    return This->lpVtbl->FilterView(This,bstrFilterText);
4325}
4326#endif
4327#endif
4328
4329#endif
4330
4331
4332#endif  /* __IShellFolderViewDual3_INTERFACE_DEFINED__ */
4333
4334/*****************************************************************************
4335 * ShellFolderView coclass
4336 */
4337
4338DEFINE_GUID(CLSID_ShellFolderView, 0x62112aa1, 0xebe4, 0x11cf, 0xa5,0xfb, 0x00,0x20,0xaf,0xe7,0x29,0x2d);
4339
4340#ifdef __cplusplus
4341class DECLSPEC_UUID("62112aa1-ebe4-11cf-a5fb-0020afe7292d") ShellFolderView;
4342#ifdef __CRT_UUID_DECL
4343__CRT_UUID_DECL(ShellFolderView, 0x62112aa1, 0xebe4, 0x11cf, 0xa5,0xfb, 0x00,0x20,0xaf,0xe7,0x29,0x2d)
4344#endif
4345#endif
4346
4347typedef enum ShellFolderViewOptions {
4348    SFVVO_SHOWALLOBJECTS = 0x1,
4349    SFVVO_SHOWEXTENSIONS = 0x2,
4350    SFVVO_SHOWCOMPCOLOR = 0x8,
4351    SFVVO_SHOWSYSFILES = 0x20,
4352    SFVVO_WIN95CLASSIC = 0x40,
4353    SFVVO_DOUBLECLICKINWEBVIEW = 0x80,
4354    SFVVO_DESKTOPHTML = 0x200
4355} ShellFolderViewOptions;
4356/*****************************************************************************
4357 * IShellDispatch interface
4358 */
4359#ifndef __IShellDispatch_INTERFACE_DEFINED__
4360#define __IShellDispatch_INTERFACE_DEFINED__
4361
4362DEFINE_GUID(IID_IShellDispatch, 0xd8f015c0, 0xc278, 0x11ce, 0xa4,0x9e, 0x44,0x45,0x53,0x54,0x00,0x00);
4363#if defined(__cplusplus) && !defined(CINTERFACE)
4364MIDL_INTERFACE("d8f015c0-c278-11ce-a49e-444553540000")
4365IShellDispatch : public IDispatch
4366{
4367    virtual HRESULT STDMETHODCALLTYPE get_Application(
4368        IDispatch **ppid) = 0;
4369
4370    virtual HRESULT STDMETHODCALLTYPE get_Parent(
4371        IDispatch **ppid) = 0;
4372
4373    virtual HRESULT STDMETHODCALLTYPE NameSpace(
4374        VARIANT vDir,
4375        Folder **ppsdf) = 0;
4376
4377    virtual HRESULT STDMETHODCALLTYPE BrowseForFolder(
4378        LONG Hwnd,
4379        BSTR Title,
4380        LONG Options,
4381        VARIANT RootFolder,
4382        Folder **ppsdf) = 0;
4383
4384    virtual HRESULT STDMETHODCALLTYPE Windows(
4385        IDispatch **ppid) = 0;
4386
4387    virtual HRESULT STDMETHODCALLTYPE Open(
4388        VARIANT vDir) = 0;
4389
4390    virtual HRESULT STDMETHODCALLTYPE Explore(
4391        VARIANT vDir) = 0;
4392
4393    virtual HRESULT STDMETHODCALLTYPE MinimizeAll(
4394        ) = 0;
4395
4396    virtual HRESULT STDMETHODCALLTYPE UndoMinimizeALL(
4397        ) = 0;
4398
4399    virtual HRESULT STDMETHODCALLTYPE FileRun(
4400        ) = 0;
4401
4402    virtual HRESULT STDMETHODCALLTYPE CascadeWindows(
4403        ) = 0;
4404
4405    virtual HRESULT STDMETHODCALLTYPE TileVertically(
4406        ) = 0;
4407
4408    virtual HRESULT STDMETHODCALLTYPE TileHorizontally(
4409        ) = 0;
4410
4411    virtual HRESULT STDMETHODCALLTYPE ShutdownWindows(
4412        ) = 0;
4413
4414    virtual HRESULT STDMETHODCALLTYPE Suspend(
4415        ) = 0;
4416
4417    virtual HRESULT STDMETHODCALLTYPE EjectPC(
4418        ) = 0;
4419
4420    virtual HRESULT STDMETHODCALLTYPE SetTime(
4421        ) = 0;
4422
4423    virtual HRESULT STDMETHODCALLTYPE TrayProperties(
4424        ) = 0;
4425
4426    virtual HRESULT STDMETHODCALLTYPE Help(
4427        ) = 0;
4428
4429    virtual HRESULT STDMETHODCALLTYPE FindFiles(
4430        ) = 0;
4431
4432    virtual HRESULT STDMETHODCALLTYPE FindComputer(
4433        ) = 0;
4434
4435    virtual HRESULT STDMETHODCALLTYPE RefreshMenu(
4436        ) = 0;
4437
4438    virtual HRESULT STDMETHODCALLTYPE ControlPanelItem(
4439        BSTR bstrDir) = 0;
4440
4441};
4442#ifdef __CRT_UUID_DECL
4443__CRT_UUID_DECL(IShellDispatch, 0xd8f015c0, 0xc278, 0x11ce, 0xa4,0x9e, 0x44,0x45,0x53,0x54,0x00,0x00)
4444#endif
4445#else
4446typedef struct IShellDispatchVtbl {
4447    BEGIN_INTERFACE
4448
4449    /*** IUnknown methods ***/
4450    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4451        IShellDispatch *This,
4452        REFIID riid,
4453        void **ppvObject);
4454
4455    ULONG (STDMETHODCALLTYPE *AddRef)(
4456        IShellDispatch *This);
4457
4458    ULONG (STDMETHODCALLTYPE *Release)(
4459        IShellDispatch *This);
4460
4461    /*** IDispatch methods ***/
4462    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4463        IShellDispatch *This,
4464        UINT *pctinfo);
4465
4466    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4467        IShellDispatch *This,
4468        UINT iTInfo,
4469        LCID lcid,
4470        ITypeInfo **ppTInfo);
4471
4472    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4473        IShellDispatch *This,
4474        REFIID riid,
4475        LPOLESTR *rgszNames,
4476        UINT cNames,
4477        LCID lcid,
4478        DISPID *rgDispId);
4479
4480    HRESULT (STDMETHODCALLTYPE *Invoke)(
4481        IShellDispatch *This,
4482        DISPID dispIdMember,
4483        REFIID riid,
4484        LCID lcid,
4485        WORD wFlags,
4486        DISPPARAMS *pDispParams,
4487        VARIANT *pVarResult,
4488        EXCEPINFO *pExcepInfo,
4489        UINT *puArgErr);
4490
4491    /*** IShellDispatch methods ***/
4492    HRESULT (STDMETHODCALLTYPE *get_Application)(
4493        IShellDispatch *This,
4494        IDispatch **ppid);
4495
4496    HRESULT (STDMETHODCALLTYPE *get_Parent)(
4497        IShellDispatch *This,
4498        IDispatch **ppid);
4499
4500    HRESULT (STDMETHODCALLTYPE *NameSpace)(
4501        IShellDispatch *This,
4502        VARIANT vDir,
4503        Folder **ppsdf);
4504
4505    HRESULT (STDMETHODCALLTYPE *BrowseForFolder)(
4506        IShellDispatch *This,
4507        LONG Hwnd,
4508        BSTR Title,
4509        LONG Options,
4510        VARIANT RootFolder,
4511        Folder **ppsdf);
4512
4513    HRESULT (STDMETHODCALLTYPE *Windows)(
4514        IShellDispatch *This,
4515        IDispatch **ppid);
4516
4517    HRESULT (STDMETHODCALLTYPE *Open)(
4518        IShellDispatch *This,
4519        VARIANT vDir);
4520
4521    HRESULT (STDMETHODCALLTYPE *Explore)(
4522        IShellDispatch *This,
4523        VARIANT vDir);
4524
4525    HRESULT (STDMETHODCALLTYPE *MinimizeAll)(
4526        IShellDispatch *This);
4527
4528    HRESULT (STDMETHODCALLTYPE *UndoMinimizeALL)(
4529        IShellDispatch *This);
4530
4531    HRESULT (STDMETHODCALLTYPE *FileRun)(
4532        IShellDispatch *This);
4533
4534    HRESULT (STDMETHODCALLTYPE *CascadeWindows)(
4535        IShellDispatch *This);
4536
4537    HRESULT (STDMETHODCALLTYPE *TileVertically)(
4538        IShellDispatch *This);
4539
4540    HRESULT (STDMETHODCALLTYPE *TileHorizontally)(
4541        IShellDispatch *This);
4542
4543    HRESULT (STDMETHODCALLTYPE *ShutdownWindows)(
4544        IShellDispatch *This);
4545
4546    HRESULT (STDMETHODCALLTYPE *Suspend)(
4547        IShellDispatch *This);
4548
4549    HRESULT (STDMETHODCALLTYPE *EjectPC)(
4550        IShellDispatch *This);
4551
4552    HRESULT (STDMETHODCALLTYPE *SetTime)(
4553        IShellDispatch *This);
4554
4555    HRESULT (STDMETHODCALLTYPE *TrayProperties)(
4556        IShellDispatch *This);
4557
4558    HRESULT (STDMETHODCALLTYPE *Help)(
4559        IShellDispatch *This);
4560
4561    HRESULT (STDMETHODCALLTYPE *FindFiles)(
4562        IShellDispatch *This);
4563
4564    HRESULT (STDMETHODCALLTYPE *FindComputer)(
4565        IShellDispatch *This);
4566
4567    HRESULT (STDMETHODCALLTYPE *RefreshMenu)(
4568        IShellDispatch *This);
4569
4570    HRESULT (STDMETHODCALLTYPE *ControlPanelItem)(
4571        IShellDispatch *This,
4572        BSTR bstrDir);
4573
4574    END_INTERFACE
4575} IShellDispatchVtbl;
4576
4577interface IShellDispatch {
4578    CONST_VTBL IShellDispatchVtbl* lpVtbl;
4579};
4580
4581#ifdef COBJMACROS
4582#ifndef WIDL_C_INLINE_WRAPPERS
4583/*** IUnknown methods ***/
4584#define IShellDispatch_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4585#define IShellDispatch_AddRef(This) (This)->lpVtbl->AddRef(This)
4586#define IShellDispatch_Release(This) (This)->lpVtbl->Release(This)
4587/*** IDispatch methods ***/
4588#define IShellDispatch_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4589#define IShellDispatch_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4590#define IShellDispatch_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4591#define IShellDispatch_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4592/*** IShellDispatch methods ***/
4593#define IShellDispatch_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
4594#define IShellDispatch_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
4595#define IShellDispatch_NameSpace(This,vDir,ppsdf) (This)->lpVtbl->NameSpace(This,vDir,ppsdf)
4596#define IShellDispatch_BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf) (This)->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)
4597#define IShellDispatch_Windows(This,ppid) (This)->lpVtbl->Windows(This,ppid)
4598#define IShellDispatch_Open(This,vDir) (This)->lpVtbl->Open(This,vDir)
4599#define IShellDispatch_Explore(This,vDir) (This)->lpVtbl->Explore(This,vDir)
4600#define IShellDispatch_MinimizeAll(This) (This)->lpVtbl->MinimizeAll(This)
4601#define IShellDispatch_UndoMinimizeALL(This) (This)->lpVtbl->UndoMinimizeALL(This)
4602#define IShellDispatch_FileRun(This) (This)->lpVtbl->FileRun(This)
4603#define IShellDispatch_CascadeWindows(This) (This)->lpVtbl->CascadeWindows(This)
4604#define IShellDispatch_TileVertically(This) (This)->lpVtbl->TileVertically(This)
4605#define IShellDispatch_TileHorizontally(This) (This)->lpVtbl->TileHorizontally(This)
4606#define IShellDispatch_ShutdownWindows(This) (This)->lpVtbl->ShutdownWindows(This)
4607#define IShellDispatch_Suspend(This) (This)->lpVtbl->Suspend(This)
4608#define IShellDispatch_EjectPC(This) (This)->lpVtbl->EjectPC(This)
4609#define IShellDispatch_SetTime(This) (This)->lpVtbl->SetTime(This)
4610#define IShellDispatch_TrayProperties(This) (This)->lpVtbl->TrayProperties(This)
4611#define IShellDispatch_Help(This) (This)->lpVtbl->Help(This)
4612#define IShellDispatch_FindFiles(This) (This)->lpVtbl->FindFiles(This)
4613#define IShellDispatch_FindComputer(This) (This)->lpVtbl->FindComputer(This)
4614#define IShellDispatch_RefreshMenu(This) (This)->lpVtbl->RefreshMenu(This)
4615#define IShellDispatch_ControlPanelItem(This,bstrDir) (This)->lpVtbl->ControlPanelItem(This,bstrDir)
4616#else
4617/*** IUnknown methods ***/
4618static inline HRESULT IShellDispatch_QueryInterface(IShellDispatch* This,REFIID riid,void **ppvObject) {
4619    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4620}
4621static inline ULONG IShellDispatch_AddRef(IShellDispatch* This) {
4622    return This->lpVtbl->AddRef(This);
4623}
4624static inline ULONG IShellDispatch_Release(IShellDispatch* This) {
4625    return This->lpVtbl->Release(This);
4626}
4627/*** IDispatch methods ***/
4628static inline HRESULT IShellDispatch_GetTypeInfoCount(IShellDispatch* This,UINT *pctinfo) {
4629    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
4630}
4631static inline HRESULT IShellDispatch_GetTypeInfo(IShellDispatch* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
4632    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
4633}
4634static inline HRESULT IShellDispatch_GetIDsOfNames(IShellDispatch* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
4635    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
4636}
4637static inline HRESULT IShellDispatch_Invoke(IShellDispatch* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
4638    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
4639}
4640/*** IShellDispatch methods ***/
4641static inline HRESULT IShellDispatch_get_Application(IShellDispatch* This,IDispatch **ppid) {
4642    return This->lpVtbl->get_Application(This,ppid);
4643}
4644static inline HRESULT IShellDispatch_get_Parent(IShellDispatch* This,IDispatch **ppid) {
4645    return This->lpVtbl->get_Parent(This,ppid);
4646}
4647static inline HRESULT IShellDispatch_NameSpace(IShellDispatch* This,VARIANT vDir,Folder **ppsdf) {
4648    return This->lpVtbl->NameSpace(This,vDir,ppsdf);
4649}
4650static inline HRESULT IShellDispatch_BrowseForFolder(IShellDispatch* This,LONG Hwnd,BSTR Title,LONG Options,VARIANT RootFolder,Folder **ppsdf) {
4651    return This->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf);
4652}
4653static inline HRESULT IShellDispatch_Windows(IShellDispatch* This,IDispatch **ppid) {
4654    return This->lpVtbl->Windows(This,ppid);
4655}
4656static inline HRESULT IShellDispatch_Open(IShellDispatch* This,VARIANT vDir) {
4657    return This->lpVtbl->Open(This,vDir);
4658}
4659static inline HRESULT IShellDispatch_Explore(IShellDispatch* This,VARIANT vDir) {
4660    return This->lpVtbl->Explore(This,vDir);
4661}
4662static inline HRESULT IShellDispatch_MinimizeAll(IShellDispatch* This) {
4663    return This->lpVtbl->MinimizeAll(This);
4664}
4665static inline HRESULT IShellDispatch_UndoMinimizeALL(IShellDispatch* This) {
4666    return This->lpVtbl->UndoMinimizeALL(This);
4667}
4668static inline HRESULT IShellDispatch_FileRun(IShellDispatch* This) {
4669    return This->lpVtbl->FileRun(This);
4670}
4671static inline HRESULT IShellDispatch_CascadeWindows(IShellDispatch* This) {
4672    return This->lpVtbl->CascadeWindows(This);
4673}
4674static inline HRESULT IShellDispatch_TileVertically(IShellDispatch* This) {
4675    return This->lpVtbl->TileVertically(This);
4676}
4677static inline HRESULT IShellDispatch_TileHorizontally(IShellDispatch* This) {
4678    return This->lpVtbl->TileHorizontally(This);
4679}
4680static inline HRESULT IShellDispatch_ShutdownWindows(IShellDispatch* This) {
4681    return This->lpVtbl->ShutdownWindows(This);
4682}
4683static inline HRESULT IShellDispatch_Suspend(IShellDispatch* This) {
4684    return This->lpVtbl->Suspend(This);
4685}
4686static inline HRESULT IShellDispatch_EjectPC(IShellDispatch* This) {
4687    return This->lpVtbl->EjectPC(This);
4688}
4689static inline HRESULT IShellDispatch_SetTime(IShellDispatch* This) {
4690    return This->lpVtbl->SetTime(This);
4691}
4692static inline HRESULT IShellDispatch_TrayProperties(IShellDispatch* This) {
4693    return This->lpVtbl->TrayProperties(This);
4694}
4695static inline HRESULT IShellDispatch_Help(IShellDispatch* This) {
4696    return This->lpVtbl->Help(This);
4697}
4698static inline HRESULT IShellDispatch_FindFiles(IShellDispatch* This) {
4699    return This->lpVtbl->FindFiles(This);
4700}
4701static inline HRESULT IShellDispatch_FindComputer(IShellDispatch* This) {
4702    return This->lpVtbl->FindComputer(This);
4703}
4704static inline HRESULT IShellDispatch_RefreshMenu(IShellDispatch* This) {
4705    return This->lpVtbl->RefreshMenu(This);
4706}
4707static inline HRESULT IShellDispatch_ControlPanelItem(IShellDispatch* This,BSTR bstrDir) {
4708    return This->lpVtbl->ControlPanelItem(This,bstrDir);
4709}
4710#endif
4711#endif
4712
4713#endif
4714
4715
4716#endif  /* __IShellDispatch_INTERFACE_DEFINED__ */
4717
4718/*****************************************************************************
4719 * IShellDispatch2 interface
4720 */
4721#ifndef __IShellDispatch2_INTERFACE_DEFINED__
4722#define __IShellDispatch2_INTERFACE_DEFINED__
4723
4724DEFINE_GUID(IID_IShellDispatch2, 0xa4c6892c, 0x3ba9, 0x11d2, 0x9d,0xea, 0x00,0xc0,0x4f,0xb1,0x61,0x62);
4725#if defined(__cplusplus) && !defined(CINTERFACE)
4726MIDL_INTERFACE("a4c6892c-3ba9-11d2-9dea-00c04fb16162")
4727IShellDispatch2 : public IShellDispatch
4728{
4729    virtual HRESULT STDMETHODCALLTYPE IsRestricted(
4730        BSTR Group,
4731        BSTR Restriction,
4732        LONG *plRestrictValue) = 0;
4733
4734    virtual HRESULT STDMETHODCALLTYPE ShellExecute(
4735        BSTR File,
4736        VARIANT vArgs,
4737        VARIANT vDir,
4738        VARIANT vOperation,
4739        VARIANT vShow) = 0;
4740
4741    virtual HRESULT STDMETHODCALLTYPE FindPrinter(
4742        BSTR name,
4743        BSTR location,
4744        BSTR model) = 0;
4745
4746    virtual HRESULT STDMETHODCALLTYPE GetSystemInformation(
4747        BSTR name,
4748        VARIANT *pv) = 0;
4749
4750    virtual HRESULT STDMETHODCALLTYPE ServiceStart(
4751        BSTR ServiceName,
4752        VARIANT Persistent,
4753        VARIANT *pSuccess) = 0;
4754
4755    virtual HRESULT STDMETHODCALLTYPE ServiceStop(
4756        BSTR ServiceName,
4757        VARIANT Persistent,
4758        VARIANT *pSuccess) = 0;
4759
4760    virtual HRESULT STDMETHODCALLTYPE IsServiceRunning(
4761        BSTR ServiceName,
4762        VARIANT *pRunning) = 0;
4763
4764    virtual HRESULT STDMETHODCALLTYPE CanStartStopService(
4765        BSTR ServiceName,
4766        VARIANT *pCanStartStop) = 0;
4767
4768    virtual HRESULT STDMETHODCALLTYPE ShowBrowserBar(
4769        BSTR bstrClsid,
4770        VARIANT bShow,
4771        VARIANT *pSuccess) = 0;
4772
4773};
4774#ifdef __CRT_UUID_DECL
4775__CRT_UUID_DECL(IShellDispatch2, 0xa4c6892c, 0x3ba9, 0x11d2, 0x9d,0xea, 0x00,0xc0,0x4f,0xb1,0x61,0x62)
4776#endif
4777#else
4778typedef struct IShellDispatch2Vtbl {
4779    BEGIN_INTERFACE
4780
4781    /*** IUnknown methods ***/
4782    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4783        IShellDispatch2 *This,
4784        REFIID riid,
4785        void **ppvObject);
4786
4787    ULONG (STDMETHODCALLTYPE *AddRef)(
4788        IShellDispatch2 *This);
4789
4790    ULONG (STDMETHODCALLTYPE *Release)(
4791        IShellDispatch2 *This);
4792
4793    /*** IDispatch methods ***/
4794    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
4795        IShellDispatch2 *This,
4796        UINT *pctinfo);
4797
4798    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
4799        IShellDispatch2 *This,
4800        UINT iTInfo,
4801        LCID lcid,
4802        ITypeInfo **ppTInfo);
4803
4804    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
4805        IShellDispatch2 *This,
4806        REFIID riid,
4807        LPOLESTR *rgszNames,
4808        UINT cNames,
4809        LCID lcid,
4810        DISPID *rgDispId);
4811
4812    HRESULT (STDMETHODCALLTYPE *Invoke)(
4813        IShellDispatch2 *This,
4814        DISPID dispIdMember,
4815        REFIID riid,
4816        LCID lcid,
4817        WORD wFlags,
4818        DISPPARAMS *pDispParams,
4819        VARIANT *pVarResult,
4820        EXCEPINFO *pExcepInfo,
4821        UINT *puArgErr);
4822
4823    /*** IShellDispatch methods ***/
4824    HRESULT (STDMETHODCALLTYPE *get_Application)(
4825        IShellDispatch2 *This,
4826        IDispatch **ppid);
4827
4828    HRESULT (STDMETHODCALLTYPE *get_Parent)(
4829        IShellDispatch2 *This,
4830        IDispatch **ppid);
4831
4832    HRESULT (STDMETHODCALLTYPE *NameSpace)(
4833        IShellDispatch2 *This,
4834        VARIANT vDir,
4835        Folder **ppsdf);
4836
4837    HRESULT (STDMETHODCALLTYPE *BrowseForFolder)(
4838        IShellDispatch2 *This,
4839        LONG Hwnd,
4840        BSTR Title,
4841        LONG Options,
4842        VARIANT RootFolder,
4843        Folder **ppsdf);
4844
4845    HRESULT (STDMETHODCALLTYPE *Windows)(
4846        IShellDispatch2 *This,
4847        IDispatch **ppid);
4848
4849    HRESULT (STDMETHODCALLTYPE *Open)(
4850        IShellDispatch2 *This,
4851        VARIANT vDir);
4852
4853    HRESULT (STDMETHODCALLTYPE *Explore)(
4854        IShellDispatch2 *This,
4855        VARIANT vDir);
4856
4857    HRESULT (STDMETHODCALLTYPE *MinimizeAll)(
4858        IShellDispatch2 *This);
4859
4860    HRESULT (STDMETHODCALLTYPE *UndoMinimizeALL)(
4861        IShellDispatch2 *This);
4862
4863    HRESULT (STDMETHODCALLTYPE *FileRun)(
4864        IShellDispatch2 *This);
4865
4866    HRESULT (STDMETHODCALLTYPE *CascadeWindows)(
4867        IShellDispatch2 *This);
4868
4869    HRESULT (STDMETHODCALLTYPE *TileVertically)(
4870        IShellDispatch2 *This);
4871
4872    HRESULT (STDMETHODCALLTYPE *TileHorizontally)(
4873        IShellDispatch2 *This);
4874
4875    HRESULT (STDMETHODCALLTYPE *ShutdownWindows)(
4876        IShellDispatch2 *This);
4877
4878    HRESULT (STDMETHODCALLTYPE *Suspend)(
4879        IShellDispatch2 *This);
4880
4881    HRESULT (STDMETHODCALLTYPE *EjectPC)(
4882        IShellDispatch2 *This);
4883
4884    HRESULT (STDMETHODCALLTYPE *SetTime)(
4885        IShellDispatch2 *This);
4886
4887    HRESULT (STDMETHODCALLTYPE *TrayProperties)(
4888        IShellDispatch2 *This);
4889
4890    HRESULT (STDMETHODCALLTYPE *Help)(
4891        IShellDispatch2 *This);
4892
4893    HRESULT (STDMETHODCALLTYPE *FindFiles)(
4894        IShellDispatch2 *This);
4895
4896    HRESULT (STDMETHODCALLTYPE *FindComputer)(
4897        IShellDispatch2 *This);
4898
4899    HRESULT (STDMETHODCALLTYPE *RefreshMenu)(
4900        IShellDispatch2 *This);
4901
4902    HRESULT (STDMETHODCALLTYPE *ControlPanelItem)(
4903        IShellDispatch2 *This,
4904        BSTR bstrDir);
4905
4906    /*** IShellDispatch2 methods ***/
4907    HRESULT (STDMETHODCALLTYPE *IsRestricted)(
4908        IShellDispatch2 *This,
4909        BSTR Group,
4910        BSTR Restriction,
4911        LONG *plRestrictValue);
4912
4913    HRESULT (STDMETHODCALLTYPE *ShellExecute)(
4914        IShellDispatch2 *This,
4915        BSTR File,
4916        VARIANT vArgs,
4917        VARIANT vDir,
4918        VARIANT vOperation,
4919        VARIANT vShow);
4920
4921    HRESULT (STDMETHODCALLTYPE *FindPrinter)(
4922        IShellDispatch2 *This,
4923        BSTR name,
4924        BSTR location,
4925        BSTR model);
4926
4927    HRESULT (STDMETHODCALLTYPE *GetSystemInformation)(
4928        IShellDispatch2 *This,
4929        BSTR name,
4930        VARIANT *pv);
4931
4932    HRESULT (STDMETHODCALLTYPE *ServiceStart)(
4933        IShellDispatch2 *This,
4934        BSTR ServiceName,
4935        VARIANT Persistent,
4936        VARIANT *pSuccess);
4937
4938    HRESULT (STDMETHODCALLTYPE *ServiceStop)(
4939        IShellDispatch2 *This,
4940        BSTR ServiceName,
4941        VARIANT Persistent,
4942        VARIANT *pSuccess);
4943
4944    HRESULT (STDMETHODCALLTYPE *IsServiceRunning)(
4945        IShellDispatch2 *This,
4946        BSTR ServiceName,
4947        VARIANT *pRunning);
4948
4949    HRESULT (STDMETHODCALLTYPE *CanStartStopService)(
4950        IShellDispatch2 *This,
4951        BSTR ServiceName,
4952        VARIANT *pCanStartStop);
4953
4954    HRESULT (STDMETHODCALLTYPE *ShowBrowserBar)(
4955        IShellDispatch2 *This,
4956        BSTR bstrClsid,
4957        VARIANT bShow,
4958        VARIANT *pSuccess);
4959
4960    END_INTERFACE
4961} IShellDispatch2Vtbl;
4962
4963interface IShellDispatch2 {
4964    CONST_VTBL IShellDispatch2Vtbl* lpVtbl;
4965};
4966
4967#ifdef COBJMACROS
4968#ifndef WIDL_C_INLINE_WRAPPERS
4969/*** IUnknown methods ***/
4970#define IShellDispatch2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4971#define IShellDispatch2_AddRef(This) (This)->lpVtbl->AddRef(This)
4972#define IShellDispatch2_Release(This) (This)->lpVtbl->Release(This)
4973/*** IDispatch methods ***/
4974#define IShellDispatch2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
4975#define IShellDispatch2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
4976#define IShellDispatch2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
4977#define IShellDispatch2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
4978/*** IShellDispatch methods ***/
4979#define IShellDispatch2_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
4980#define IShellDispatch2_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
4981#define IShellDispatch2_NameSpace(This,vDir,ppsdf) (This)->lpVtbl->NameSpace(This,vDir,ppsdf)
4982#define IShellDispatch2_BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf) (This)->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)
4983#define IShellDispatch2_Windows(This,ppid) (This)->lpVtbl->Windows(This,ppid)
4984#define IShellDispatch2_Open(This,vDir) (This)->lpVtbl->Open(This,vDir)
4985#define IShellDispatch2_Explore(This,vDir) (This)->lpVtbl->Explore(This,vDir)
4986#define IShellDispatch2_MinimizeAll(This) (This)->lpVtbl->MinimizeAll(This)
4987#define IShellDispatch2_UndoMinimizeALL(This) (This)->lpVtbl->UndoMinimizeALL(This)
4988#define IShellDispatch2_FileRun(This) (This)->lpVtbl->FileRun(This)
4989#define IShellDispatch2_CascadeWindows(This) (This)->lpVtbl->CascadeWindows(This)
4990#define IShellDispatch2_TileVertically(This) (This)->lpVtbl->TileVertically(This)
4991#define IShellDispatch2_TileHorizontally(This) (This)->lpVtbl->TileHorizontally(This)
4992#define IShellDispatch2_ShutdownWindows(This) (This)->lpVtbl->ShutdownWindows(This)
4993#define IShellDispatch2_Suspend(This) (This)->lpVtbl->Suspend(This)
4994#define IShellDispatch2_EjectPC(This) (This)->lpVtbl->EjectPC(This)
4995#define IShellDispatch2_SetTime(This) (This)->lpVtbl->SetTime(This)
4996#define IShellDispatch2_TrayProperties(This) (This)->lpVtbl->TrayProperties(This)
4997#define IShellDispatch2_Help(This) (This)->lpVtbl->Help(This)
4998#define IShellDispatch2_FindFiles(This) (This)->lpVtbl->FindFiles(This)
4999#define IShellDispatch2_FindComputer(This) (This)->lpVtbl->FindComputer(This)
5000#define IShellDispatch2_RefreshMenu(This) (This)->lpVtbl->RefreshMenu(This)
5001#define IShellDispatch2_ControlPanelItem(This,bstrDir) (This)->lpVtbl->ControlPanelItem(This,bstrDir)
5002/*** IShellDispatch2 methods ***/
5003#define IShellDispatch2_IsRestricted(This,Group,Restriction,plRestrictValue) (This)->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue)
5004#define IShellDispatch2_ShellExecute(This,File,vArgs,vDir,vOperation,vShow) (This)->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow)
5005#define IShellDispatch2_FindPrinter(This,name,location,model) (This)->lpVtbl->FindPrinter(This,name,location,model)
5006#define IShellDispatch2_GetSystemInformation(This,name,pv) (This)->lpVtbl->GetSystemInformation(This,name,pv)
5007#define IShellDispatch2_ServiceStart(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess)
5008#define IShellDispatch2_ServiceStop(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess)
5009#define IShellDispatch2_IsServiceRunning(This,ServiceName,pRunning) (This)->lpVtbl->IsServiceRunning(This,ServiceName,pRunning)
5010#define IShellDispatch2_CanStartStopService(This,ServiceName,pCanStartStop) (This)->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop)
5011#define IShellDispatch2_ShowBrowserBar(This,bstrClsid,bShow,pSuccess) (This)->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess)
5012#else
5013/*** IUnknown methods ***/
5014static inline HRESULT IShellDispatch2_QueryInterface(IShellDispatch2* This,REFIID riid,void **ppvObject) {
5015    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5016}
5017static inline ULONG IShellDispatch2_AddRef(IShellDispatch2* This) {
5018    return This->lpVtbl->AddRef(This);
5019}
5020static inline ULONG IShellDispatch2_Release(IShellDispatch2* This) {
5021    return This->lpVtbl->Release(This);
5022}
5023/*** IDispatch methods ***/
5024static inline HRESULT IShellDispatch2_GetTypeInfoCount(IShellDispatch2* This,UINT *pctinfo) {
5025    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
5026}
5027static inline HRESULT IShellDispatch2_GetTypeInfo(IShellDispatch2* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
5028    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
5029}
5030static inline HRESULT IShellDispatch2_GetIDsOfNames(IShellDispatch2* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
5031    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
5032}
5033static inline HRESULT IShellDispatch2_Invoke(IShellDispatch2* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
5034    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
5035}
5036/*** IShellDispatch methods ***/
5037static inline HRESULT IShellDispatch2_get_Application(IShellDispatch2* This,IDispatch **ppid) {
5038    return This->lpVtbl->get_Application(This,ppid);
5039}
5040static inline HRESULT IShellDispatch2_get_Parent(IShellDispatch2* This,IDispatch **ppid) {
5041    return This->lpVtbl->get_Parent(This,ppid);
5042}
5043static inline HRESULT IShellDispatch2_NameSpace(IShellDispatch2* This,VARIANT vDir,Folder **ppsdf) {
5044    return This->lpVtbl->NameSpace(This,vDir,ppsdf);
5045}
5046static inline HRESULT IShellDispatch2_BrowseForFolder(IShellDispatch2* This,LONG Hwnd,BSTR Title,LONG Options,VARIANT RootFolder,Folder **ppsdf) {
5047    return This->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf);
5048}
5049static inline HRESULT IShellDispatch2_Windows(IShellDispatch2* This,IDispatch **ppid) {
5050    return This->lpVtbl->Windows(This,ppid);
5051}
5052static inline HRESULT IShellDispatch2_Open(IShellDispatch2* This,VARIANT vDir) {
5053    return This->lpVtbl->Open(This,vDir);
5054}
5055static inline HRESULT IShellDispatch2_Explore(IShellDispatch2* This,VARIANT vDir) {
5056    return This->lpVtbl->Explore(This,vDir);
5057}
5058static inline HRESULT IShellDispatch2_MinimizeAll(IShellDispatch2* This) {
5059    return This->lpVtbl->MinimizeAll(This);
5060}
5061static inline HRESULT IShellDispatch2_UndoMinimizeALL(IShellDispatch2* This) {
5062    return This->lpVtbl->UndoMinimizeALL(This);
5063}
5064static inline HRESULT IShellDispatch2_FileRun(IShellDispatch2* This) {
5065    return This->lpVtbl->FileRun(This);
5066}
5067static inline HRESULT IShellDispatch2_CascadeWindows(IShellDispatch2* This) {
5068    return This->lpVtbl->CascadeWindows(This);
5069}
5070static inline HRESULT IShellDispatch2_TileVertically(IShellDispatch2* This) {
5071    return This->lpVtbl->TileVertically(This);
5072}
5073static inline HRESULT IShellDispatch2_TileHorizontally(IShellDispatch2* This) {
5074    return This->lpVtbl->TileHorizontally(This);
5075}
5076static inline HRESULT IShellDispatch2_ShutdownWindows(IShellDispatch2* This) {
5077    return This->lpVtbl->ShutdownWindows(This);
5078}
5079static inline HRESULT IShellDispatch2_Suspend(IShellDispatch2* This) {
5080    return This->lpVtbl->Suspend(This);
5081}
5082static inline HRESULT IShellDispatch2_EjectPC(IShellDispatch2* This) {
5083    return This->lpVtbl->EjectPC(This);
5084}
5085static inline HRESULT IShellDispatch2_SetTime(IShellDispatch2* This) {
5086    return This->lpVtbl->SetTime(This);
5087}
5088static inline HRESULT IShellDispatch2_TrayProperties(IShellDispatch2* This) {
5089    return This->lpVtbl->TrayProperties(This);
5090}
5091static inline HRESULT IShellDispatch2_Help(IShellDispatch2* This) {
5092    return This->lpVtbl->Help(This);
5093}
5094static inline HRESULT IShellDispatch2_FindFiles(IShellDispatch2* This) {
5095    return This->lpVtbl->FindFiles(This);
5096}
5097static inline HRESULT IShellDispatch2_FindComputer(IShellDispatch2* This) {
5098    return This->lpVtbl->FindComputer(This);
5099}
5100static inline HRESULT IShellDispatch2_RefreshMenu(IShellDispatch2* This) {
5101    return This->lpVtbl->RefreshMenu(This);
5102}
5103static inline HRESULT IShellDispatch2_ControlPanelItem(IShellDispatch2* This,BSTR bstrDir) {
5104    return This->lpVtbl->ControlPanelItem(This,bstrDir);
5105}
5106/*** IShellDispatch2 methods ***/
5107static inline HRESULT IShellDispatch2_IsRestricted(IShellDispatch2* This,BSTR Group,BSTR Restriction,LONG *plRestrictValue) {
5108    return This->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue);
5109}
5110static inline HRESULT IShellDispatch2_ShellExecute(IShellDispatch2* This,BSTR File,VARIANT vArgs,VARIANT vDir,VARIANT vOperation,VARIANT vShow) {
5111    return This->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow);
5112}
5113static inline HRESULT IShellDispatch2_FindPrinter(IShellDispatch2* This,BSTR name,BSTR location,BSTR model) {
5114    return This->lpVtbl->FindPrinter(This,name,location,model);
5115}
5116static inline HRESULT IShellDispatch2_GetSystemInformation(IShellDispatch2* This,BSTR name,VARIANT *pv) {
5117    return This->lpVtbl->GetSystemInformation(This,name,pv);
5118}
5119static inline HRESULT IShellDispatch2_ServiceStart(IShellDispatch2* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
5120    return This->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess);
5121}
5122static inline HRESULT IShellDispatch2_ServiceStop(IShellDispatch2* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
5123    return This->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess);
5124}
5125static inline HRESULT IShellDispatch2_IsServiceRunning(IShellDispatch2* This,BSTR ServiceName,VARIANT *pRunning) {
5126    return This->lpVtbl->IsServiceRunning(This,ServiceName,pRunning);
5127}
5128static inline HRESULT IShellDispatch2_CanStartStopService(IShellDispatch2* This,BSTR ServiceName,VARIANT *pCanStartStop) {
5129    return This->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop);
5130}
5131static inline HRESULT IShellDispatch2_ShowBrowserBar(IShellDispatch2* This,BSTR bstrClsid,VARIANT bShow,VARIANT *pSuccess) {
5132    return This->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess);
5133}
5134#endif
5135#endif
5136
5137#endif
5138
5139
5140#endif  /* __IShellDispatch2_INTERFACE_DEFINED__ */
5141
5142/*****************************************************************************
5143 * IShellDispatch3 interface
5144 */
5145#ifndef __IShellDispatch3_INTERFACE_DEFINED__
5146#define __IShellDispatch3_INTERFACE_DEFINED__
5147
5148DEFINE_GUID(IID_IShellDispatch3, 0x177160ca, 0xbb5a, 0x411c, 0x84,0x1d, 0xbd,0x38,0xfa,0xcd,0xea,0xa0);
5149#if defined(__cplusplus) && !defined(CINTERFACE)
5150MIDL_INTERFACE("177160ca-bb5a-411c-841d-bd38facdeaa0")
5151IShellDispatch3 : public IShellDispatch2
5152{
5153    virtual HRESULT STDMETHODCALLTYPE AddToRecent(
5154        VARIANT varFile,
5155        BSTR bstrCategory) = 0;
5156
5157};
5158#ifdef __CRT_UUID_DECL
5159__CRT_UUID_DECL(IShellDispatch3, 0x177160ca, 0xbb5a, 0x411c, 0x84,0x1d, 0xbd,0x38,0xfa,0xcd,0xea,0xa0)
5160#endif
5161#else
5162typedef struct IShellDispatch3Vtbl {
5163    BEGIN_INTERFACE
5164
5165    /*** IUnknown methods ***/
5166    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5167        IShellDispatch3 *This,
5168        REFIID riid,
5169        void **ppvObject);
5170
5171    ULONG (STDMETHODCALLTYPE *AddRef)(
5172        IShellDispatch3 *This);
5173
5174    ULONG (STDMETHODCALLTYPE *Release)(
5175        IShellDispatch3 *This);
5176
5177    /*** IDispatch methods ***/
5178    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
5179        IShellDispatch3 *This,
5180        UINT *pctinfo);
5181
5182    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
5183        IShellDispatch3 *This,
5184        UINT iTInfo,
5185        LCID lcid,
5186        ITypeInfo **ppTInfo);
5187
5188    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
5189        IShellDispatch3 *This,
5190        REFIID riid,
5191        LPOLESTR *rgszNames,
5192        UINT cNames,
5193        LCID lcid,
5194        DISPID *rgDispId);
5195
5196    HRESULT (STDMETHODCALLTYPE *Invoke)(
5197        IShellDispatch3 *This,
5198        DISPID dispIdMember,
5199        REFIID riid,
5200        LCID lcid,
5201        WORD wFlags,
5202        DISPPARAMS *pDispParams,
5203        VARIANT *pVarResult,
5204        EXCEPINFO *pExcepInfo,
5205        UINT *puArgErr);
5206
5207    /*** IShellDispatch methods ***/
5208    HRESULT (STDMETHODCALLTYPE *get_Application)(
5209        IShellDispatch3 *This,
5210        IDispatch **ppid);
5211
5212    HRESULT (STDMETHODCALLTYPE *get_Parent)(
5213        IShellDispatch3 *This,
5214        IDispatch **ppid);
5215
5216    HRESULT (STDMETHODCALLTYPE *NameSpace)(
5217        IShellDispatch3 *This,
5218        VARIANT vDir,
5219        Folder **ppsdf);
5220
5221    HRESULT (STDMETHODCALLTYPE *BrowseForFolder)(
5222        IShellDispatch3 *This,
5223        LONG Hwnd,
5224        BSTR Title,
5225        LONG Options,
5226        VARIANT RootFolder,
5227        Folder **ppsdf);
5228
5229    HRESULT (STDMETHODCALLTYPE *Windows)(
5230        IShellDispatch3 *This,
5231        IDispatch **ppid);
5232
5233    HRESULT (STDMETHODCALLTYPE *Open)(
5234        IShellDispatch3 *This,
5235        VARIANT vDir);
5236
5237    HRESULT (STDMETHODCALLTYPE *Explore)(
5238        IShellDispatch3 *This,
5239        VARIANT vDir);
5240
5241    HRESULT (STDMETHODCALLTYPE *MinimizeAll)(
5242        IShellDispatch3 *This);
5243
5244    HRESULT (STDMETHODCALLTYPE *UndoMinimizeALL)(
5245        IShellDispatch3 *This);
5246
5247    HRESULT (STDMETHODCALLTYPE *FileRun)(
5248        IShellDispatch3 *This);
5249
5250    HRESULT (STDMETHODCALLTYPE *CascadeWindows)(
5251        IShellDispatch3 *This);
5252
5253    HRESULT (STDMETHODCALLTYPE *TileVertically)(
5254        IShellDispatch3 *This);
5255
5256    HRESULT (STDMETHODCALLTYPE *TileHorizontally)(
5257        IShellDispatch3 *This);
5258
5259    HRESULT (STDMETHODCALLTYPE *ShutdownWindows)(
5260        IShellDispatch3 *This);
5261
5262    HRESULT (STDMETHODCALLTYPE *Suspend)(
5263        IShellDispatch3 *This);
5264
5265    HRESULT (STDMETHODCALLTYPE *EjectPC)(
5266        IShellDispatch3 *This);
5267
5268    HRESULT (STDMETHODCALLTYPE *SetTime)(
5269        IShellDispatch3 *This);
5270
5271    HRESULT (STDMETHODCALLTYPE *TrayProperties)(
5272        IShellDispatch3 *This);
5273
5274    HRESULT (STDMETHODCALLTYPE *Help)(
5275        IShellDispatch3 *This);
5276
5277    HRESULT (STDMETHODCALLTYPE *FindFiles)(
5278        IShellDispatch3 *This);
5279
5280    HRESULT (STDMETHODCALLTYPE *FindComputer)(
5281        IShellDispatch3 *This);
5282
5283    HRESULT (STDMETHODCALLTYPE *RefreshMenu)(
5284        IShellDispatch3 *This);
5285
5286    HRESULT (STDMETHODCALLTYPE *ControlPanelItem)(
5287        IShellDispatch3 *This,
5288        BSTR bstrDir);
5289
5290    /*** IShellDispatch2 methods ***/
5291    HRESULT (STDMETHODCALLTYPE *IsRestricted)(
5292        IShellDispatch3 *This,
5293        BSTR Group,
5294        BSTR Restriction,
5295        LONG *plRestrictValue);
5296
5297    HRESULT (STDMETHODCALLTYPE *ShellExecute)(
5298        IShellDispatch3 *This,
5299        BSTR File,
5300        VARIANT vArgs,
5301        VARIANT vDir,
5302        VARIANT vOperation,
5303        VARIANT vShow);
5304
5305    HRESULT (STDMETHODCALLTYPE *FindPrinter)(
5306        IShellDispatch3 *This,
5307        BSTR name,
5308        BSTR location,
5309        BSTR model);
5310
5311    HRESULT (STDMETHODCALLTYPE *GetSystemInformation)(
5312        IShellDispatch3 *This,
5313        BSTR name,
5314        VARIANT *pv);
5315
5316    HRESULT (STDMETHODCALLTYPE *ServiceStart)(
5317        IShellDispatch3 *This,
5318        BSTR ServiceName,
5319        VARIANT Persistent,
5320        VARIANT *pSuccess);
5321
5322    HRESULT (STDMETHODCALLTYPE *ServiceStop)(
5323        IShellDispatch3 *This,
5324        BSTR ServiceName,
5325        VARIANT Persistent,
5326        VARIANT *pSuccess);
5327
5328    HRESULT (STDMETHODCALLTYPE *IsServiceRunning)(
5329        IShellDispatch3 *This,
5330        BSTR ServiceName,
5331        VARIANT *pRunning);
5332
5333    HRESULT (STDMETHODCALLTYPE *CanStartStopService)(
5334        IShellDispatch3 *This,
5335        BSTR ServiceName,
5336        VARIANT *pCanStartStop);
5337
5338    HRESULT (STDMETHODCALLTYPE *ShowBrowserBar)(
5339        IShellDispatch3 *This,
5340        BSTR bstrClsid,
5341        VARIANT bShow,
5342        VARIANT *pSuccess);
5343
5344    /*** IShellDispatch3 methods ***/
5345    HRESULT (STDMETHODCALLTYPE *AddToRecent)(
5346        IShellDispatch3 *This,
5347        VARIANT varFile,
5348        BSTR bstrCategory);
5349
5350    END_INTERFACE
5351} IShellDispatch3Vtbl;
5352
5353interface IShellDispatch3 {
5354    CONST_VTBL IShellDispatch3Vtbl* lpVtbl;
5355};
5356
5357#ifdef COBJMACROS
5358#ifndef WIDL_C_INLINE_WRAPPERS
5359/*** IUnknown methods ***/
5360#define IShellDispatch3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5361#define IShellDispatch3_AddRef(This) (This)->lpVtbl->AddRef(This)
5362#define IShellDispatch3_Release(This) (This)->lpVtbl->Release(This)
5363/*** IDispatch methods ***/
5364#define IShellDispatch3_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
5365#define IShellDispatch3_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
5366#define IShellDispatch3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
5367#define IShellDispatch3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
5368/*** IShellDispatch methods ***/
5369#define IShellDispatch3_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
5370#define IShellDispatch3_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
5371#define IShellDispatch3_NameSpace(This,vDir,ppsdf) (This)->lpVtbl->NameSpace(This,vDir,ppsdf)
5372#define IShellDispatch3_BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf) (This)->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)
5373#define IShellDispatch3_Windows(This,ppid) (This)->lpVtbl->Windows(This,ppid)
5374#define IShellDispatch3_Open(This,vDir) (This)->lpVtbl->Open(This,vDir)
5375#define IShellDispatch3_Explore(This,vDir) (This)->lpVtbl->Explore(This,vDir)
5376#define IShellDispatch3_MinimizeAll(This) (This)->lpVtbl->MinimizeAll(This)
5377#define IShellDispatch3_UndoMinimizeALL(This) (This)->lpVtbl->UndoMinimizeALL(This)
5378#define IShellDispatch3_FileRun(This) (This)->lpVtbl->FileRun(This)
5379#define IShellDispatch3_CascadeWindows(This) (This)->lpVtbl->CascadeWindows(This)
5380#define IShellDispatch3_TileVertically(This) (This)->lpVtbl->TileVertically(This)
5381#define IShellDispatch3_TileHorizontally(This) (This)->lpVtbl->TileHorizontally(This)
5382#define IShellDispatch3_ShutdownWindows(This) (This)->lpVtbl->ShutdownWindows(This)
5383#define IShellDispatch3_Suspend(This) (This)->lpVtbl->Suspend(This)
5384#define IShellDispatch3_EjectPC(This) (This)->lpVtbl->EjectPC(This)
5385#define IShellDispatch3_SetTime(This) (This)->lpVtbl->SetTime(This)
5386#define IShellDispatch3_TrayProperties(This) (This)->lpVtbl->TrayProperties(This)
5387#define IShellDispatch3_Help(This) (This)->lpVtbl->Help(This)
5388#define IShellDispatch3_FindFiles(This) (This)->lpVtbl->FindFiles(This)
5389#define IShellDispatch3_FindComputer(This) (This)->lpVtbl->FindComputer(This)
5390#define IShellDispatch3_RefreshMenu(This) (This)->lpVtbl->RefreshMenu(This)
5391#define IShellDispatch3_ControlPanelItem(This,bstrDir) (This)->lpVtbl->ControlPanelItem(This,bstrDir)
5392/*** IShellDispatch2 methods ***/
5393#define IShellDispatch3_IsRestricted(This,Group,Restriction,plRestrictValue) (This)->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue)
5394#define IShellDispatch3_ShellExecute(This,File,vArgs,vDir,vOperation,vShow) (This)->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow)
5395#define IShellDispatch3_FindPrinter(This,name,location,model) (This)->lpVtbl->FindPrinter(This,name,location,model)
5396#define IShellDispatch3_GetSystemInformation(This,name,pv) (This)->lpVtbl->GetSystemInformation(This,name,pv)
5397#define IShellDispatch3_ServiceStart(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess)
5398#define IShellDispatch3_ServiceStop(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess)
5399#define IShellDispatch3_IsServiceRunning(This,ServiceName,pRunning) (This)->lpVtbl->IsServiceRunning(This,ServiceName,pRunning)
5400#define IShellDispatch3_CanStartStopService(This,ServiceName,pCanStartStop) (This)->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop)
5401#define IShellDispatch3_ShowBrowserBar(This,bstrClsid,bShow,pSuccess) (This)->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess)
5402/*** IShellDispatch3 methods ***/
5403#define IShellDispatch3_AddToRecent(This,varFile,bstrCategory) (This)->lpVtbl->AddToRecent(This,varFile,bstrCategory)
5404#else
5405/*** IUnknown methods ***/
5406static inline HRESULT IShellDispatch3_QueryInterface(IShellDispatch3* This,REFIID riid,void **ppvObject) {
5407    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5408}
5409static inline ULONG IShellDispatch3_AddRef(IShellDispatch3* This) {
5410    return This->lpVtbl->AddRef(This);
5411}
5412static inline ULONG IShellDispatch3_Release(IShellDispatch3* This) {
5413    return This->lpVtbl->Release(This);
5414}
5415/*** IDispatch methods ***/
5416static inline HRESULT IShellDispatch3_GetTypeInfoCount(IShellDispatch3* This,UINT *pctinfo) {
5417    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
5418}
5419static inline HRESULT IShellDispatch3_GetTypeInfo(IShellDispatch3* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
5420    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
5421}
5422static inline HRESULT IShellDispatch3_GetIDsOfNames(IShellDispatch3* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
5423    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
5424}
5425static inline HRESULT IShellDispatch3_Invoke(IShellDispatch3* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
5426    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
5427}
5428/*** IShellDispatch methods ***/
5429static inline HRESULT IShellDispatch3_get_Application(IShellDispatch3* This,IDispatch **ppid) {
5430    return This->lpVtbl->get_Application(This,ppid);
5431}
5432static inline HRESULT IShellDispatch3_get_Parent(IShellDispatch3* This,IDispatch **ppid) {
5433    return This->lpVtbl->get_Parent(This,ppid);
5434}
5435static inline HRESULT IShellDispatch3_NameSpace(IShellDispatch3* This,VARIANT vDir,Folder **ppsdf) {
5436    return This->lpVtbl->NameSpace(This,vDir,ppsdf);
5437}
5438static inline HRESULT IShellDispatch3_BrowseForFolder(IShellDispatch3* This,LONG Hwnd,BSTR Title,LONG Options,VARIANT RootFolder,Folder **ppsdf) {
5439    return This->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf);
5440}
5441static inline HRESULT IShellDispatch3_Windows(IShellDispatch3* This,IDispatch **ppid) {
5442    return This->lpVtbl->Windows(This,ppid);
5443}
5444static inline HRESULT IShellDispatch3_Open(IShellDispatch3* This,VARIANT vDir) {
5445    return This->lpVtbl->Open(This,vDir);
5446}
5447static inline HRESULT IShellDispatch3_Explore(IShellDispatch3* This,VARIANT vDir) {
5448    return This->lpVtbl->Explore(This,vDir);
5449}
5450static inline HRESULT IShellDispatch3_MinimizeAll(IShellDispatch3* This) {
5451    return This->lpVtbl->MinimizeAll(This);
5452}
5453static inline HRESULT IShellDispatch3_UndoMinimizeALL(IShellDispatch3* This) {
5454    return This->lpVtbl->UndoMinimizeALL(This);
5455}
5456static inline HRESULT IShellDispatch3_FileRun(IShellDispatch3* This) {
5457    return This->lpVtbl->FileRun(This);
5458}
5459static inline HRESULT IShellDispatch3_CascadeWindows(IShellDispatch3* This) {
5460    return This->lpVtbl->CascadeWindows(This);
5461}
5462static inline HRESULT IShellDispatch3_TileVertically(IShellDispatch3* This) {
5463    return This->lpVtbl->TileVertically(This);
5464}
5465static inline HRESULT IShellDispatch3_TileHorizontally(IShellDispatch3* This) {
5466    return This->lpVtbl->TileHorizontally(This);
5467}
5468static inline HRESULT IShellDispatch3_ShutdownWindows(IShellDispatch3* This) {
5469    return This->lpVtbl->ShutdownWindows(This);
5470}
5471static inline HRESULT IShellDispatch3_Suspend(IShellDispatch3* This) {
5472    return This->lpVtbl->Suspend(This);
5473}
5474static inline HRESULT IShellDispatch3_EjectPC(IShellDispatch3* This) {
5475    return This->lpVtbl->EjectPC(This);
5476}
5477static inline HRESULT IShellDispatch3_SetTime(IShellDispatch3* This) {
5478    return This->lpVtbl->SetTime(This);
5479}
5480static inline HRESULT IShellDispatch3_TrayProperties(IShellDispatch3* This) {
5481    return This->lpVtbl->TrayProperties(This);
5482}
5483static inline HRESULT IShellDispatch3_Help(IShellDispatch3* This) {
5484    return This->lpVtbl->Help(This);
5485}
5486static inline HRESULT IShellDispatch3_FindFiles(IShellDispatch3* This) {
5487    return This->lpVtbl->FindFiles(This);
5488}
5489static inline HRESULT IShellDispatch3_FindComputer(IShellDispatch3* This) {
5490    return This->lpVtbl->FindComputer(This);
5491}
5492static inline HRESULT IShellDispatch3_RefreshMenu(IShellDispatch3* This) {
5493    return This->lpVtbl->RefreshMenu(This);
5494}
5495static inline HRESULT IShellDispatch3_ControlPanelItem(IShellDispatch3* This,BSTR bstrDir) {
5496    return This->lpVtbl->ControlPanelItem(This,bstrDir);
5497}
5498/*** IShellDispatch2 methods ***/
5499static inline HRESULT IShellDispatch3_IsRestricted(IShellDispatch3* This,BSTR Group,BSTR Restriction,LONG *plRestrictValue) {
5500    return This->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue);
5501}
5502static inline HRESULT IShellDispatch3_ShellExecute(IShellDispatch3* This,BSTR File,VARIANT vArgs,VARIANT vDir,VARIANT vOperation,VARIANT vShow) {
5503    return This->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow);
5504}
5505static inline HRESULT IShellDispatch3_FindPrinter(IShellDispatch3* This,BSTR name,BSTR location,BSTR model) {
5506    return This->lpVtbl->FindPrinter(This,name,location,model);
5507}
5508static inline HRESULT IShellDispatch3_GetSystemInformation(IShellDispatch3* This,BSTR name,VARIANT *pv) {
5509    return This->lpVtbl->GetSystemInformation(This,name,pv);
5510}
5511static inline HRESULT IShellDispatch3_ServiceStart(IShellDispatch3* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
5512    return This->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess);
5513}
5514static inline HRESULT IShellDispatch3_ServiceStop(IShellDispatch3* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
5515    return This->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess);
5516}
5517static inline HRESULT IShellDispatch3_IsServiceRunning(IShellDispatch3* This,BSTR ServiceName,VARIANT *pRunning) {
5518    return This->lpVtbl->IsServiceRunning(This,ServiceName,pRunning);
5519}
5520static inline HRESULT IShellDispatch3_CanStartStopService(IShellDispatch3* This,BSTR ServiceName,VARIANT *pCanStartStop) {
5521    return This->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop);
5522}
5523static inline HRESULT IShellDispatch3_ShowBrowserBar(IShellDispatch3* This,BSTR bstrClsid,VARIANT bShow,VARIANT *pSuccess) {
5524    return This->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess);
5525}
5526/*** IShellDispatch3 methods ***/
5527static inline HRESULT IShellDispatch3_AddToRecent(IShellDispatch3* This,VARIANT varFile,BSTR bstrCategory) {
5528    return This->lpVtbl->AddToRecent(This,varFile,bstrCategory);
5529}
5530#endif
5531#endif
5532
5533#endif
5534
5535
5536#endif  /* __IShellDispatch3_INTERFACE_DEFINED__ */
5537
5538/*****************************************************************************
5539 * IShellDispatch4 interface
5540 */
5541#ifndef __IShellDispatch4_INTERFACE_DEFINED__
5542#define __IShellDispatch4_INTERFACE_DEFINED__
5543
5544DEFINE_GUID(IID_IShellDispatch4, 0xefd84b2d, 0x4bcf, 0x4298, 0xbe,0x25, 0xeb,0x54,0x2a,0x59,0xfb,0xda);
5545#if defined(__cplusplus) && !defined(CINTERFACE)
5546MIDL_INTERFACE("efd84b2d-4bcf-4298-be25-eb542a59fbda")
5547IShellDispatch4 : public IShellDispatch3
5548{
5549    virtual HRESULT STDMETHODCALLTYPE WindowsSecurity(
5550        ) = 0;
5551
5552    virtual HRESULT STDMETHODCALLTYPE ToggleDesktop(
5553        ) = 0;
5554
5555    virtual HRESULT STDMETHODCALLTYPE ExplorerPolicy(
5556        BSTR bstrPolicyName,
5557        VARIANT *pValue) = 0;
5558
5559    virtual HRESULT STDMETHODCALLTYPE GetSetting(
5560        LONG lSetting,
5561        VARIANT_BOOL *pResult) = 0;
5562
5563};
5564#ifdef __CRT_UUID_DECL
5565__CRT_UUID_DECL(IShellDispatch4, 0xefd84b2d, 0x4bcf, 0x4298, 0xbe,0x25, 0xeb,0x54,0x2a,0x59,0xfb,0xda)
5566#endif
5567#else
5568typedef struct IShellDispatch4Vtbl {
5569    BEGIN_INTERFACE
5570
5571    /*** IUnknown methods ***/
5572    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
5573        IShellDispatch4 *This,
5574        REFIID riid,
5575        void **ppvObject);
5576
5577    ULONG (STDMETHODCALLTYPE *AddRef)(
5578        IShellDispatch4 *This);
5579
5580    ULONG (STDMETHODCALLTYPE *Release)(
5581        IShellDispatch4 *This);
5582
5583    /*** IDispatch methods ***/
5584    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
5585        IShellDispatch4 *This,
5586        UINT *pctinfo);
5587
5588    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
5589        IShellDispatch4 *This,
5590        UINT iTInfo,
5591        LCID lcid,
5592        ITypeInfo **ppTInfo);
5593
5594    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
5595        IShellDispatch4 *This,
5596        REFIID riid,
5597        LPOLESTR *rgszNames,
5598        UINT cNames,
5599        LCID lcid,
5600        DISPID *rgDispId);
5601
5602    HRESULT (STDMETHODCALLTYPE *Invoke)(
5603        IShellDispatch4 *This,
5604        DISPID dispIdMember,
5605        REFIID riid,
5606        LCID lcid,
5607        WORD wFlags,
5608        DISPPARAMS *pDispParams,
5609        VARIANT *pVarResult,
5610        EXCEPINFO *pExcepInfo,
5611        UINT *puArgErr);
5612
5613    /*** IShellDispatch methods ***/
5614    HRESULT (STDMETHODCALLTYPE *get_Application)(
5615        IShellDispatch4 *This,
5616        IDispatch **ppid);
5617
5618    HRESULT (STDMETHODCALLTYPE *get_Parent)(
5619        IShellDispatch4 *This,
5620        IDispatch **ppid);
5621
5622    HRESULT (STDMETHODCALLTYPE *NameSpace)(
5623        IShellDispatch4 *This,
5624        VARIANT vDir,
5625        Folder **ppsdf);
5626
5627    HRESULT (STDMETHODCALLTYPE *BrowseForFolder)(
5628        IShellDispatch4 *This,
5629        LONG Hwnd,
5630        BSTR Title,
5631        LONG Options,
5632        VARIANT RootFolder,
5633        Folder **ppsdf);
5634
5635    HRESULT (STDMETHODCALLTYPE *Windows)(
5636        IShellDispatch4 *This,
5637        IDispatch **ppid);
5638
5639    HRESULT (STDMETHODCALLTYPE *Open)(
5640        IShellDispatch4 *This,
5641        VARIANT vDir);
5642
5643    HRESULT (STDMETHODCALLTYPE *Explore)(
5644        IShellDispatch4 *This,
5645        VARIANT vDir);
5646
5647    HRESULT (STDMETHODCALLTYPE *MinimizeAll)(
5648        IShellDispatch4 *This);
5649
5650    HRESULT (STDMETHODCALLTYPE *UndoMinimizeALL)(
5651        IShellDispatch4 *This);
5652
5653    HRESULT (STDMETHODCALLTYPE *FileRun)(
5654        IShellDispatch4 *This);
5655
5656    HRESULT (STDMETHODCALLTYPE *CascadeWindows)(
5657        IShellDispatch4 *This);
5658
5659    HRESULT (STDMETHODCALLTYPE *TileVertically)(
5660        IShellDispatch4 *This);
5661
5662    HRESULT (STDMETHODCALLTYPE *TileHorizontally)(
5663        IShellDispatch4 *This);
5664
5665    HRESULT (STDMETHODCALLTYPE *ShutdownWindows)(
5666        IShellDispatch4 *This);
5667
5668    HRESULT (STDMETHODCALLTYPE *Suspend)(
5669        IShellDispatch4 *This);
5670
5671    HRESULT (STDMETHODCALLTYPE *EjectPC)(
5672        IShellDispatch4 *This);
5673
5674    HRESULT (STDMETHODCALLTYPE *SetTime)(
5675        IShellDispatch4 *This);
5676
5677    HRESULT (STDMETHODCALLTYPE *TrayProperties)(
5678        IShellDispatch4 *This);
5679
5680    HRESULT (STDMETHODCALLTYPE *Help)(
5681        IShellDispatch4 *This);
5682
5683    HRESULT (STDMETHODCALLTYPE *FindFiles)(
5684        IShellDispatch4 *This);
5685
5686    HRESULT (STDMETHODCALLTYPE *FindComputer)(
5687        IShellDispatch4 *This);
5688
5689    HRESULT (STDMETHODCALLTYPE *RefreshMenu)(
5690        IShellDispatch4 *This);
5691
5692    HRESULT (STDMETHODCALLTYPE *ControlPanelItem)(
5693        IShellDispatch4 *This,
5694        BSTR bstrDir);
5695
5696    /*** IShellDispatch2 methods ***/
5697    HRESULT (STDMETHODCALLTYPE *IsRestricted)(
5698        IShellDispatch4 *This,
5699        BSTR Group,
5700        BSTR Restriction,
5701        LONG *plRestrictValue);
5702
5703    HRESULT (STDMETHODCALLTYPE *ShellExecute)(
5704        IShellDispatch4 *This,
5705        BSTR File,
5706        VARIANT vArgs,
5707        VARIANT vDir,
5708        VARIANT vOperation,
5709        VARIANT vShow);
5710
5711    HRESULT (STDMETHODCALLTYPE *FindPrinter)(
5712        IShellDispatch4 *This,
5713        BSTR name,
5714        BSTR location,
5715        BSTR model);
5716
5717    HRESULT (STDMETHODCALLTYPE *GetSystemInformation)(
5718        IShellDispatch4 *This,
5719        BSTR name,
5720        VARIANT *pv);
5721
5722    HRESULT (STDMETHODCALLTYPE *ServiceStart)(
5723        IShellDispatch4 *This,
5724        BSTR ServiceName,
5725        VARIANT Persistent,
5726        VARIANT *pSuccess);
5727
5728    HRESULT (STDMETHODCALLTYPE *ServiceStop)(
5729        IShellDispatch4 *This,
5730        BSTR ServiceName,
5731        VARIANT Persistent,
5732        VARIANT *pSuccess);
5733
5734    HRESULT (STDMETHODCALLTYPE *IsServiceRunning)(
5735        IShellDispatch4 *This,
5736        BSTR ServiceName,
5737        VARIANT *pRunning);
5738
5739    HRESULT (STDMETHODCALLTYPE *CanStartStopService)(
5740        IShellDispatch4 *This,
5741        BSTR ServiceName,
5742        VARIANT *pCanStartStop);
5743
5744    HRESULT (STDMETHODCALLTYPE *ShowBrowserBar)(
5745        IShellDispatch4 *This,
5746        BSTR bstrClsid,
5747        VARIANT bShow,
5748        VARIANT *pSuccess);
5749
5750    /*** IShellDispatch3 methods ***/
5751    HRESULT (STDMETHODCALLTYPE *AddToRecent)(
5752        IShellDispatch4 *This,
5753        VARIANT varFile,
5754        BSTR bstrCategory);
5755
5756    /*** IShellDispatch4 methods ***/
5757    HRESULT (STDMETHODCALLTYPE *WindowsSecurity)(
5758        IShellDispatch4 *This);
5759
5760    HRESULT (STDMETHODCALLTYPE *ToggleDesktop)(
5761        IShellDispatch4 *This);
5762
5763    HRESULT (STDMETHODCALLTYPE *ExplorerPolicy)(
5764        IShellDispatch4 *This,
5765        BSTR bstrPolicyName,
5766        VARIANT *pValue);
5767
5768    HRESULT (STDMETHODCALLTYPE *GetSetting)(
5769        IShellDispatch4 *This,
5770        LONG lSetting,
5771        VARIANT_BOOL *pResult);
5772
5773    END_INTERFACE
5774} IShellDispatch4Vtbl;
5775
5776interface IShellDispatch4 {
5777    CONST_VTBL IShellDispatch4Vtbl* lpVtbl;
5778};
5779
5780#ifdef COBJMACROS
5781#ifndef WIDL_C_INLINE_WRAPPERS
5782/*** IUnknown methods ***/
5783#define IShellDispatch4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
5784#define IShellDispatch4_AddRef(This) (This)->lpVtbl->AddRef(This)
5785#define IShellDispatch4_Release(This) (This)->lpVtbl->Release(This)
5786/*** IDispatch methods ***/
5787#define IShellDispatch4_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
5788#define IShellDispatch4_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
5789#define IShellDispatch4_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
5790#define IShellDispatch4_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
5791/*** IShellDispatch methods ***/
5792#define IShellDispatch4_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
5793#define IShellDispatch4_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
5794#define IShellDispatch4_NameSpace(This,vDir,ppsdf) (This)->lpVtbl->NameSpace(This,vDir,ppsdf)
5795#define IShellDispatch4_BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf) (This)->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)
5796#define IShellDispatch4_Windows(This,ppid) (This)->lpVtbl->Windows(This,ppid)
5797#define IShellDispatch4_Open(This,vDir) (This)->lpVtbl->Open(This,vDir)
5798#define IShellDispatch4_Explore(This,vDir) (This)->lpVtbl->Explore(This,vDir)
5799#define IShellDispatch4_MinimizeAll(This) (This)->lpVtbl->MinimizeAll(This)
5800#define IShellDispatch4_UndoMinimizeALL(This) (This)->lpVtbl->UndoMinimizeALL(This)
5801#define IShellDispatch4_FileRun(This) (This)->lpVtbl->FileRun(This)
5802#define IShellDispatch4_CascadeWindows(This) (This)->lpVtbl->CascadeWindows(This)
5803#define IShellDispatch4_TileVertically(This) (This)->lpVtbl->TileVertically(This)
5804#define IShellDispatch4_TileHorizontally(This) (This)->lpVtbl->TileHorizontally(This)
5805#define IShellDispatch4_ShutdownWindows(This) (This)->lpVtbl->ShutdownWindows(This)
5806#define IShellDispatch4_Suspend(This) (This)->lpVtbl->Suspend(This)
5807#define IShellDispatch4_EjectPC(This) (This)->lpVtbl->EjectPC(This)
5808#define IShellDispatch4_SetTime(This) (This)->lpVtbl->SetTime(This)
5809#define IShellDispatch4_TrayProperties(This) (This)->lpVtbl->TrayProperties(This)
5810#define IShellDispatch4_Help(This) (This)->lpVtbl->Help(This)
5811#define IShellDispatch4_FindFiles(This) (This)->lpVtbl->FindFiles(This)
5812#define IShellDispatch4_FindComputer(This) (This)->lpVtbl->FindComputer(This)
5813#define IShellDispatch4_RefreshMenu(This) (This)->lpVtbl->RefreshMenu(This)
5814#define IShellDispatch4_ControlPanelItem(This,bstrDir) (This)->lpVtbl->ControlPanelItem(This,bstrDir)
5815/*** IShellDispatch2 methods ***/
5816#define IShellDispatch4_IsRestricted(This,Group,Restriction,plRestrictValue) (This)->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue)
5817#define IShellDispatch4_ShellExecute(This,File,vArgs,vDir,vOperation,vShow) (This)->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow)
5818#define IShellDispatch4_FindPrinter(This,name,location,model) (This)->lpVtbl->FindPrinter(This,name,location,model)
5819#define IShellDispatch4_GetSystemInformation(This,name,pv) (This)->lpVtbl->GetSystemInformation(This,name,pv)
5820#define IShellDispatch4_ServiceStart(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess)
5821#define IShellDispatch4_ServiceStop(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess)
5822#define IShellDispatch4_IsServiceRunning(This,ServiceName,pRunning) (This)->lpVtbl->IsServiceRunning(This,ServiceName,pRunning)
5823#define IShellDispatch4_CanStartStopService(This,ServiceName,pCanStartStop) (This)->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop)
5824#define IShellDispatch4_ShowBrowserBar(This,bstrClsid,bShow,pSuccess) (This)->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess)
5825/*** IShellDispatch3 methods ***/
5826#define IShellDispatch4_AddToRecent(This,varFile,bstrCategory) (This)->lpVtbl->AddToRecent(This,varFile,bstrCategory)
5827/*** IShellDispatch4 methods ***/
5828#define IShellDispatch4_WindowsSecurity(This) (This)->lpVtbl->WindowsSecurity(This)
5829#define IShellDispatch4_ToggleDesktop(This) (This)->lpVtbl->ToggleDesktop(This)
5830#define IShellDispatch4_ExplorerPolicy(This,bstrPolicyName,pValue) (This)->lpVtbl->ExplorerPolicy(This,bstrPolicyName,pValue)
5831#define IShellDispatch4_GetSetting(This,lSetting,pResult) (This)->lpVtbl->GetSetting(This,lSetting,pResult)
5832#else
5833/*** IUnknown methods ***/
5834static inline HRESULT IShellDispatch4_QueryInterface(IShellDispatch4* This,REFIID riid,void **ppvObject) {
5835    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
5836}
5837static inline ULONG IShellDispatch4_AddRef(IShellDispatch4* This) {
5838    return This->lpVtbl->AddRef(This);
5839}
5840static inline ULONG IShellDispatch4_Release(IShellDispatch4* This) {
5841    return This->lpVtbl->Release(This);
5842}
5843/*** IDispatch methods ***/
5844static inline HRESULT IShellDispatch4_GetTypeInfoCount(IShellDispatch4* This,UINT *pctinfo) {
5845    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
5846}
5847static inline HRESULT IShellDispatch4_GetTypeInfo(IShellDispatch4* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
5848    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
5849}
5850static inline HRESULT IShellDispatch4_GetIDsOfNames(IShellDispatch4* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
5851    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
5852}
5853static inline HRESULT IShellDispatch4_Invoke(IShellDispatch4* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
5854    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
5855}
5856/*** IShellDispatch methods ***/
5857static inline HRESULT IShellDispatch4_get_Application(IShellDispatch4* This,IDispatch **ppid) {
5858    return This->lpVtbl->get_Application(This,ppid);
5859}
5860static inline HRESULT IShellDispatch4_get_Parent(IShellDispatch4* This,IDispatch **ppid) {
5861    return This->lpVtbl->get_Parent(This,ppid);
5862}
5863static inline HRESULT IShellDispatch4_NameSpace(IShellDispatch4* This,VARIANT vDir,Folder **ppsdf) {
5864    return This->lpVtbl->NameSpace(This,vDir,ppsdf);
5865}
5866static inline HRESULT IShellDispatch4_BrowseForFolder(IShellDispatch4* This,LONG Hwnd,BSTR Title,LONG Options,VARIANT RootFolder,Folder **ppsdf) {
5867    return This->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf);
5868}
5869static inline HRESULT IShellDispatch4_Windows(IShellDispatch4* This,IDispatch **ppid) {
5870    return This->lpVtbl->Windows(This,ppid);
5871}
5872static inline HRESULT IShellDispatch4_Open(IShellDispatch4* This,VARIANT vDir) {
5873    return This->lpVtbl->Open(This,vDir);
5874}
5875static inline HRESULT IShellDispatch4_Explore(IShellDispatch4* This,VARIANT vDir) {
5876    return This->lpVtbl->Explore(This,vDir);
5877}
5878static inline HRESULT IShellDispatch4_MinimizeAll(IShellDispatch4* This) {
5879    return This->lpVtbl->MinimizeAll(This);
5880}
5881static inline HRESULT IShellDispatch4_UndoMinimizeALL(IShellDispatch4* This) {
5882    return This->lpVtbl->UndoMinimizeALL(This);
5883}
5884static inline HRESULT IShellDispatch4_FileRun(IShellDispatch4* This) {
5885    return This->lpVtbl->FileRun(This);
5886}
5887static inline HRESULT IShellDispatch4_CascadeWindows(IShellDispatch4* This) {
5888    return This->lpVtbl->CascadeWindows(This);
5889}
5890static inline HRESULT IShellDispatch4_TileVertically(IShellDispatch4* This) {
5891    return This->lpVtbl->TileVertically(This);
5892}
5893static inline HRESULT IShellDispatch4_TileHorizontally(IShellDispatch4* This) {
5894    return This->lpVtbl->TileHorizontally(This);
5895}
5896static inline HRESULT IShellDispatch4_ShutdownWindows(IShellDispatch4* This) {
5897    return This->lpVtbl->ShutdownWindows(This);
5898}
5899static inline HRESULT IShellDispatch4_Suspend(IShellDispatch4* This) {
5900    return This->lpVtbl->Suspend(This);
5901}
5902static inline HRESULT IShellDispatch4_EjectPC(IShellDispatch4* This) {
5903    return This->lpVtbl->EjectPC(This);
5904}
5905static inline HRESULT IShellDispatch4_SetTime(IShellDispatch4* This) {
5906    return This->lpVtbl->SetTime(This);
5907}
5908static inline HRESULT IShellDispatch4_TrayProperties(IShellDispatch4* This) {
5909    return This->lpVtbl->TrayProperties(This);
5910}
5911static inline HRESULT IShellDispatch4_Help(IShellDispatch4* This) {
5912    return This->lpVtbl->Help(This);
5913}
5914static inline HRESULT IShellDispatch4_FindFiles(IShellDispatch4* This) {
5915    return This->lpVtbl->FindFiles(This);
5916}
5917static inline HRESULT IShellDispatch4_FindComputer(IShellDispatch4* This) {
5918    return This->lpVtbl->FindComputer(This);
5919}
5920static inline HRESULT IShellDispatch4_RefreshMenu(IShellDispatch4* This) {
5921    return This->lpVtbl->RefreshMenu(This);
5922}
5923static inline HRESULT IShellDispatch4_ControlPanelItem(IShellDispatch4* This,BSTR bstrDir) {
5924    return This->lpVtbl->ControlPanelItem(This,bstrDir);
5925}
5926/*** IShellDispatch2 methods ***/
5927static inline HRESULT IShellDispatch4_IsRestricted(IShellDispatch4* This,BSTR Group,BSTR Restriction,LONG *plRestrictValue) {
5928    return This->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue);
5929}
5930static inline HRESULT IShellDispatch4_ShellExecute(IShellDispatch4* This,BSTR File,VARIANT vArgs,VARIANT vDir,VARIANT vOperation,VARIANT vShow) {
5931    return This->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow);
5932}
5933static inline HRESULT IShellDispatch4_FindPrinter(IShellDispatch4* This,BSTR name,BSTR location,BSTR model) {
5934    return This->lpVtbl->FindPrinter(This,name,location,model);
5935}
5936static inline HRESULT IShellDispatch4_GetSystemInformation(IShellDispatch4* This,BSTR name,VARIANT *pv) {
5937    return This->lpVtbl->GetSystemInformation(This,name,pv);
5938}
5939static inline HRESULT IShellDispatch4_ServiceStart(IShellDispatch4* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
5940    return This->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess);
5941}
5942static inline HRESULT IShellDispatch4_ServiceStop(IShellDispatch4* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
5943    return This->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess);
5944}
5945static inline HRESULT IShellDispatch4_IsServiceRunning(IShellDispatch4* This,BSTR ServiceName,VARIANT *pRunning) {
5946    return This->lpVtbl->IsServiceRunning(This,ServiceName,pRunning);
5947}
5948static inline HRESULT IShellDispatch4_CanStartStopService(IShellDispatch4* This,BSTR ServiceName,VARIANT *pCanStartStop) {
5949    return This->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop);
5950}
5951static inline HRESULT IShellDispatch4_ShowBrowserBar(IShellDispatch4* This,BSTR bstrClsid,VARIANT bShow,VARIANT *pSuccess) {
5952    return This->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess);
5953}
5954/*** IShellDispatch3 methods ***/
5955static inline HRESULT IShellDispatch4_AddToRecent(IShellDispatch4* This,VARIANT varFile,BSTR bstrCategory) {
5956    return This->lpVtbl->AddToRecent(This,varFile,bstrCategory);
5957}
5958/*** IShellDispatch4 methods ***/
5959static inline HRESULT IShellDispatch4_WindowsSecurity(IShellDispatch4* This) {
5960    return This->lpVtbl->WindowsSecurity(This);
5961}
5962static inline HRESULT IShellDispatch4_ToggleDesktop(IShellDispatch4* This) {
5963    return This->lpVtbl->ToggleDesktop(This);
5964}
5965static inline HRESULT IShellDispatch4_ExplorerPolicy(IShellDispatch4* This,BSTR bstrPolicyName,VARIANT *pValue) {
5966    return This->lpVtbl->ExplorerPolicy(This,bstrPolicyName,pValue);
5967}
5968static inline HRESULT IShellDispatch4_GetSetting(IShellDispatch4* This,LONG lSetting,VARIANT_BOOL *pResult) {
5969    return This->lpVtbl->GetSetting(This,lSetting,pResult);
5970}
5971#endif
5972#endif
5973
5974#endif
5975
5976
5977#endif  /* __IShellDispatch4_INTERFACE_DEFINED__ */
5978
5979/*****************************************************************************
5980 * IShellDispatch5 interface
5981 */
5982#ifndef __IShellDispatch5_INTERFACE_DEFINED__
5983#define __IShellDispatch5_INTERFACE_DEFINED__
5984
5985DEFINE_GUID(IID_IShellDispatch5, 0x866738b9, 0x6cf2, 0x4de8, 0x87,0x67, 0xf7,0x94,0xeb,0xe7,0x4f,0x4e);
5986#if defined(__cplusplus) && !defined(CINTERFACE)
5987MIDL_INTERFACE("866738b9-6cf2-4de8-8767-f794ebe74f4e")
5988IShellDispatch5 : public IShellDispatch4
5989{
5990    virtual HRESULT STDMETHODCALLTYPE WindowSwitcher(
5991        ) = 0;
5992
5993};
5994#ifdef __CRT_UUID_DECL
5995__CRT_UUID_DECL(IShellDispatch5, 0x866738b9, 0x6cf2, 0x4de8, 0x87,0x67, 0xf7,0x94,0xeb,0xe7,0x4f,0x4e)
5996#endif
5997#else
5998typedef struct IShellDispatch5Vtbl {
5999    BEGIN_INTERFACE
6000
6001    /*** IUnknown methods ***/
6002    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6003        IShellDispatch5 *This,
6004        REFIID riid,
6005        void **ppvObject);
6006
6007    ULONG (STDMETHODCALLTYPE *AddRef)(
6008        IShellDispatch5 *This);
6009
6010    ULONG (STDMETHODCALLTYPE *Release)(
6011        IShellDispatch5 *This);
6012
6013    /*** IDispatch methods ***/
6014    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
6015        IShellDispatch5 *This,
6016        UINT *pctinfo);
6017
6018    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
6019        IShellDispatch5 *This,
6020        UINT iTInfo,
6021        LCID lcid,
6022        ITypeInfo **ppTInfo);
6023
6024    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
6025        IShellDispatch5 *This,
6026        REFIID riid,
6027        LPOLESTR *rgszNames,
6028        UINT cNames,
6029        LCID lcid,
6030        DISPID *rgDispId);
6031
6032    HRESULT (STDMETHODCALLTYPE *Invoke)(
6033        IShellDispatch5 *This,
6034        DISPID dispIdMember,
6035        REFIID riid,
6036        LCID lcid,
6037        WORD wFlags,
6038        DISPPARAMS *pDispParams,
6039        VARIANT *pVarResult,
6040        EXCEPINFO *pExcepInfo,
6041        UINT *puArgErr);
6042
6043    /*** IShellDispatch methods ***/
6044    HRESULT (STDMETHODCALLTYPE *get_Application)(
6045        IShellDispatch5 *This,
6046        IDispatch **ppid);
6047
6048    HRESULT (STDMETHODCALLTYPE *get_Parent)(
6049        IShellDispatch5 *This,
6050        IDispatch **ppid);
6051
6052    HRESULT (STDMETHODCALLTYPE *NameSpace)(
6053        IShellDispatch5 *This,
6054        VARIANT vDir,
6055        Folder **ppsdf);
6056
6057    HRESULT (STDMETHODCALLTYPE *BrowseForFolder)(
6058        IShellDispatch5 *This,
6059        LONG Hwnd,
6060        BSTR Title,
6061        LONG Options,
6062        VARIANT RootFolder,
6063        Folder **ppsdf);
6064
6065    HRESULT (STDMETHODCALLTYPE *Windows)(
6066        IShellDispatch5 *This,
6067        IDispatch **ppid);
6068
6069    HRESULT (STDMETHODCALLTYPE *Open)(
6070        IShellDispatch5 *This,
6071        VARIANT vDir);
6072
6073    HRESULT (STDMETHODCALLTYPE *Explore)(
6074        IShellDispatch5 *This,
6075        VARIANT vDir);
6076
6077    HRESULT (STDMETHODCALLTYPE *MinimizeAll)(
6078        IShellDispatch5 *This);
6079
6080    HRESULT (STDMETHODCALLTYPE *UndoMinimizeALL)(
6081        IShellDispatch5 *This);
6082
6083    HRESULT (STDMETHODCALLTYPE *FileRun)(
6084        IShellDispatch5 *This);
6085
6086    HRESULT (STDMETHODCALLTYPE *CascadeWindows)(
6087        IShellDispatch5 *This);
6088
6089    HRESULT (STDMETHODCALLTYPE *TileVertically)(
6090        IShellDispatch5 *This);
6091
6092    HRESULT (STDMETHODCALLTYPE *TileHorizontally)(
6093        IShellDispatch5 *This);
6094
6095    HRESULT (STDMETHODCALLTYPE *ShutdownWindows)(
6096        IShellDispatch5 *This);
6097
6098    HRESULT (STDMETHODCALLTYPE *Suspend)(
6099        IShellDispatch5 *This);
6100
6101    HRESULT (STDMETHODCALLTYPE *EjectPC)(
6102        IShellDispatch5 *This);
6103
6104    HRESULT (STDMETHODCALLTYPE *SetTime)(
6105        IShellDispatch5 *This);
6106
6107    HRESULT (STDMETHODCALLTYPE *TrayProperties)(
6108        IShellDispatch5 *This);
6109
6110    HRESULT (STDMETHODCALLTYPE *Help)(
6111        IShellDispatch5 *This);
6112
6113    HRESULT (STDMETHODCALLTYPE *FindFiles)(
6114        IShellDispatch5 *This);
6115
6116    HRESULT (STDMETHODCALLTYPE *FindComputer)(
6117        IShellDispatch5 *This);
6118
6119    HRESULT (STDMETHODCALLTYPE *RefreshMenu)(
6120        IShellDispatch5 *This);
6121
6122    HRESULT (STDMETHODCALLTYPE *ControlPanelItem)(
6123        IShellDispatch5 *This,
6124        BSTR bstrDir);
6125
6126    /*** IShellDispatch2 methods ***/
6127    HRESULT (STDMETHODCALLTYPE *IsRestricted)(
6128        IShellDispatch5 *This,
6129        BSTR Group,
6130        BSTR Restriction,
6131        LONG *plRestrictValue);
6132
6133    HRESULT (STDMETHODCALLTYPE *ShellExecute)(
6134        IShellDispatch5 *This,
6135        BSTR File,
6136        VARIANT vArgs,
6137        VARIANT vDir,
6138        VARIANT vOperation,
6139        VARIANT vShow);
6140
6141    HRESULT (STDMETHODCALLTYPE *FindPrinter)(
6142        IShellDispatch5 *This,
6143        BSTR name,
6144        BSTR location,
6145        BSTR model);
6146
6147    HRESULT (STDMETHODCALLTYPE *GetSystemInformation)(
6148        IShellDispatch5 *This,
6149        BSTR name,
6150        VARIANT *pv);
6151
6152    HRESULT (STDMETHODCALLTYPE *ServiceStart)(
6153        IShellDispatch5 *This,
6154        BSTR ServiceName,
6155        VARIANT Persistent,
6156        VARIANT *pSuccess);
6157
6158    HRESULT (STDMETHODCALLTYPE *ServiceStop)(
6159        IShellDispatch5 *This,
6160        BSTR ServiceName,
6161        VARIANT Persistent,
6162        VARIANT *pSuccess);
6163
6164    HRESULT (STDMETHODCALLTYPE *IsServiceRunning)(
6165        IShellDispatch5 *This,
6166        BSTR ServiceName,
6167        VARIANT *pRunning);
6168
6169    HRESULT (STDMETHODCALLTYPE *CanStartStopService)(
6170        IShellDispatch5 *This,
6171        BSTR ServiceName,
6172        VARIANT *pCanStartStop);
6173
6174    HRESULT (STDMETHODCALLTYPE *ShowBrowserBar)(
6175        IShellDispatch5 *This,
6176        BSTR bstrClsid,
6177        VARIANT bShow,
6178        VARIANT *pSuccess);
6179
6180    /*** IShellDispatch3 methods ***/
6181    HRESULT (STDMETHODCALLTYPE *AddToRecent)(
6182        IShellDispatch5 *This,
6183        VARIANT varFile,
6184        BSTR bstrCategory);
6185
6186    /*** IShellDispatch4 methods ***/
6187    HRESULT (STDMETHODCALLTYPE *WindowsSecurity)(
6188        IShellDispatch5 *This);
6189
6190    HRESULT (STDMETHODCALLTYPE *ToggleDesktop)(
6191        IShellDispatch5 *This);
6192
6193    HRESULT (STDMETHODCALLTYPE *ExplorerPolicy)(
6194        IShellDispatch5 *This,
6195        BSTR bstrPolicyName,
6196        VARIANT *pValue);
6197
6198    HRESULT (STDMETHODCALLTYPE *GetSetting)(
6199        IShellDispatch5 *This,
6200        LONG lSetting,
6201        VARIANT_BOOL *pResult);
6202
6203    /*** IShellDispatch5 methods ***/
6204    HRESULT (STDMETHODCALLTYPE *WindowSwitcher)(
6205        IShellDispatch5 *This);
6206
6207    END_INTERFACE
6208} IShellDispatch5Vtbl;
6209
6210interface IShellDispatch5 {
6211    CONST_VTBL IShellDispatch5Vtbl* lpVtbl;
6212};
6213
6214#ifdef COBJMACROS
6215#ifndef WIDL_C_INLINE_WRAPPERS
6216/*** IUnknown methods ***/
6217#define IShellDispatch5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6218#define IShellDispatch5_AddRef(This) (This)->lpVtbl->AddRef(This)
6219#define IShellDispatch5_Release(This) (This)->lpVtbl->Release(This)
6220/*** IDispatch methods ***/
6221#define IShellDispatch5_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
6222#define IShellDispatch5_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
6223#define IShellDispatch5_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
6224#define IShellDispatch5_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
6225/*** IShellDispatch methods ***/
6226#define IShellDispatch5_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
6227#define IShellDispatch5_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
6228#define IShellDispatch5_NameSpace(This,vDir,ppsdf) (This)->lpVtbl->NameSpace(This,vDir,ppsdf)
6229#define IShellDispatch5_BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf) (This)->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)
6230#define IShellDispatch5_Windows(This,ppid) (This)->lpVtbl->Windows(This,ppid)
6231#define IShellDispatch5_Open(This,vDir) (This)->lpVtbl->Open(This,vDir)
6232#define IShellDispatch5_Explore(This,vDir) (This)->lpVtbl->Explore(This,vDir)
6233#define IShellDispatch5_MinimizeAll(This) (This)->lpVtbl->MinimizeAll(This)
6234#define IShellDispatch5_UndoMinimizeALL(This) (This)->lpVtbl->UndoMinimizeALL(This)
6235#define IShellDispatch5_FileRun(This) (This)->lpVtbl->FileRun(This)
6236#define IShellDispatch5_CascadeWindows(This) (This)->lpVtbl->CascadeWindows(This)
6237#define IShellDispatch5_TileVertically(This) (This)->lpVtbl->TileVertically(This)
6238#define IShellDispatch5_TileHorizontally(This) (This)->lpVtbl->TileHorizontally(This)
6239#define IShellDispatch5_ShutdownWindows(This) (This)->lpVtbl->ShutdownWindows(This)
6240#define IShellDispatch5_Suspend(This) (This)->lpVtbl->Suspend(This)
6241#define IShellDispatch5_EjectPC(This) (This)->lpVtbl->EjectPC(This)
6242#define IShellDispatch5_SetTime(This) (This)->lpVtbl->SetTime(This)
6243#define IShellDispatch5_TrayProperties(This) (This)->lpVtbl->TrayProperties(This)
6244#define IShellDispatch5_Help(This) (This)->lpVtbl->Help(This)
6245#define IShellDispatch5_FindFiles(This) (This)->lpVtbl->FindFiles(This)
6246#define IShellDispatch5_FindComputer(This) (This)->lpVtbl->FindComputer(This)
6247#define IShellDispatch5_RefreshMenu(This) (This)->lpVtbl->RefreshMenu(This)
6248#define IShellDispatch5_ControlPanelItem(This,bstrDir) (This)->lpVtbl->ControlPanelItem(This,bstrDir)
6249/*** IShellDispatch2 methods ***/
6250#define IShellDispatch5_IsRestricted(This,Group,Restriction,plRestrictValue) (This)->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue)
6251#define IShellDispatch5_ShellExecute(This,File,vArgs,vDir,vOperation,vShow) (This)->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow)
6252#define IShellDispatch5_FindPrinter(This,name,location,model) (This)->lpVtbl->FindPrinter(This,name,location,model)
6253#define IShellDispatch5_GetSystemInformation(This,name,pv) (This)->lpVtbl->GetSystemInformation(This,name,pv)
6254#define IShellDispatch5_ServiceStart(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess)
6255#define IShellDispatch5_ServiceStop(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess)
6256#define IShellDispatch5_IsServiceRunning(This,ServiceName,pRunning) (This)->lpVtbl->IsServiceRunning(This,ServiceName,pRunning)
6257#define IShellDispatch5_CanStartStopService(This,ServiceName,pCanStartStop) (This)->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop)
6258#define IShellDispatch5_ShowBrowserBar(This,bstrClsid,bShow,pSuccess) (This)->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess)
6259/*** IShellDispatch3 methods ***/
6260#define IShellDispatch5_AddToRecent(This,varFile,bstrCategory) (This)->lpVtbl->AddToRecent(This,varFile,bstrCategory)
6261/*** IShellDispatch4 methods ***/
6262#define IShellDispatch5_WindowsSecurity(This) (This)->lpVtbl->WindowsSecurity(This)
6263#define IShellDispatch5_ToggleDesktop(This) (This)->lpVtbl->ToggleDesktop(This)
6264#define IShellDispatch5_ExplorerPolicy(This,bstrPolicyName,pValue) (This)->lpVtbl->ExplorerPolicy(This,bstrPolicyName,pValue)
6265#define IShellDispatch5_GetSetting(This,lSetting,pResult) (This)->lpVtbl->GetSetting(This,lSetting,pResult)
6266/*** IShellDispatch5 methods ***/
6267#define IShellDispatch5_WindowSwitcher(This) (This)->lpVtbl->WindowSwitcher(This)
6268#else
6269/*** IUnknown methods ***/
6270static inline HRESULT IShellDispatch5_QueryInterface(IShellDispatch5* This,REFIID riid,void **ppvObject) {
6271    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6272}
6273static inline ULONG IShellDispatch5_AddRef(IShellDispatch5* This) {
6274    return This->lpVtbl->AddRef(This);
6275}
6276static inline ULONG IShellDispatch5_Release(IShellDispatch5* This) {
6277    return This->lpVtbl->Release(This);
6278}
6279/*** IDispatch methods ***/
6280static inline HRESULT IShellDispatch5_GetTypeInfoCount(IShellDispatch5* This,UINT *pctinfo) {
6281    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
6282}
6283static inline HRESULT IShellDispatch5_GetTypeInfo(IShellDispatch5* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
6284    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
6285}
6286static inline HRESULT IShellDispatch5_GetIDsOfNames(IShellDispatch5* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
6287    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
6288}
6289static inline HRESULT IShellDispatch5_Invoke(IShellDispatch5* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
6290    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
6291}
6292/*** IShellDispatch methods ***/
6293static inline HRESULT IShellDispatch5_get_Application(IShellDispatch5* This,IDispatch **ppid) {
6294    return This->lpVtbl->get_Application(This,ppid);
6295}
6296static inline HRESULT IShellDispatch5_get_Parent(IShellDispatch5* This,IDispatch **ppid) {
6297    return This->lpVtbl->get_Parent(This,ppid);
6298}
6299static inline HRESULT IShellDispatch5_NameSpace(IShellDispatch5* This,VARIANT vDir,Folder **ppsdf) {
6300    return This->lpVtbl->NameSpace(This,vDir,ppsdf);
6301}
6302static inline HRESULT IShellDispatch5_BrowseForFolder(IShellDispatch5* This,LONG Hwnd,BSTR Title,LONG Options,VARIANT RootFolder,Folder **ppsdf) {
6303    return This->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf);
6304}
6305static inline HRESULT IShellDispatch5_Windows(IShellDispatch5* This,IDispatch **ppid) {
6306    return This->lpVtbl->Windows(This,ppid);
6307}
6308static inline HRESULT IShellDispatch5_Open(IShellDispatch5* This,VARIANT vDir) {
6309    return This->lpVtbl->Open(This,vDir);
6310}
6311static inline HRESULT IShellDispatch5_Explore(IShellDispatch5* This,VARIANT vDir) {
6312    return This->lpVtbl->Explore(This,vDir);
6313}
6314static inline HRESULT IShellDispatch5_MinimizeAll(IShellDispatch5* This) {
6315    return This->lpVtbl->MinimizeAll(This);
6316}
6317static inline HRESULT IShellDispatch5_UndoMinimizeALL(IShellDispatch5* This) {
6318    return This->lpVtbl->UndoMinimizeALL(This);
6319}
6320static inline HRESULT IShellDispatch5_FileRun(IShellDispatch5* This) {
6321    return This->lpVtbl->FileRun(This);
6322}
6323static inline HRESULT IShellDispatch5_CascadeWindows(IShellDispatch5* This) {
6324    return This->lpVtbl->CascadeWindows(This);
6325}
6326static inline HRESULT IShellDispatch5_TileVertically(IShellDispatch5* This) {
6327    return This->lpVtbl->TileVertically(This);
6328}
6329static inline HRESULT IShellDispatch5_TileHorizontally(IShellDispatch5* This) {
6330    return This->lpVtbl->TileHorizontally(This);
6331}
6332static inline HRESULT IShellDispatch5_ShutdownWindows(IShellDispatch5* This) {
6333    return This->lpVtbl->ShutdownWindows(This);
6334}
6335static inline HRESULT IShellDispatch5_Suspend(IShellDispatch5* This) {
6336    return This->lpVtbl->Suspend(This);
6337}
6338static inline HRESULT IShellDispatch5_EjectPC(IShellDispatch5* This) {
6339    return This->lpVtbl->EjectPC(This);
6340}
6341static inline HRESULT IShellDispatch5_SetTime(IShellDispatch5* This) {
6342    return This->lpVtbl->SetTime(This);
6343}
6344static inline HRESULT IShellDispatch5_TrayProperties(IShellDispatch5* This) {
6345    return This->lpVtbl->TrayProperties(This);
6346}
6347static inline HRESULT IShellDispatch5_Help(IShellDispatch5* This) {
6348    return This->lpVtbl->Help(This);
6349}
6350static inline HRESULT IShellDispatch5_FindFiles(IShellDispatch5* This) {
6351    return This->lpVtbl->FindFiles(This);
6352}
6353static inline HRESULT IShellDispatch5_FindComputer(IShellDispatch5* This) {
6354    return This->lpVtbl->FindComputer(This);
6355}
6356static inline HRESULT IShellDispatch5_RefreshMenu(IShellDispatch5* This) {
6357    return This->lpVtbl->RefreshMenu(This);
6358}
6359static inline HRESULT IShellDispatch5_ControlPanelItem(IShellDispatch5* This,BSTR bstrDir) {
6360    return This->lpVtbl->ControlPanelItem(This,bstrDir);
6361}
6362/*** IShellDispatch2 methods ***/
6363static inline HRESULT IShellDispatch5_IsRestricted(IShellDispatch5* This,BSTR Group,BSTR Restriction,LONG *plRestrictValue) {
6364    return This->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue);
6365}
6366static inline HRESULT IShellDispatch5_ShellExecute(IShellDispatch5* This,BSTR File,VARIANT vArgs,VARIANT vDir,VARIANT vOperation,VARIANT vShow) {
6367    return This->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow);
6368}
6369static inline HRESULT IShellDispatch5_FindPrinter(IShellDispatch5* This,BSTR name,BSTR location,BSTR model) {
6370    return This->lpVtbl->FindPrinter(This,name,location,model);
6371}
6372static inline HRESULT IShellDispatch5_GetSystemInformation(IShellDispatch5* This,BSTR name,VARIANT *pv) {
6373    return This->lpVtbl->GetSystemInformation(This,name,pv);
6374}
6375static inline HRESULT IShellDispatch5_ServiceStart(IShellDispatch5* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
6376    return This->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess);
6377}
6378static inline HRESULT IShellDispatch5_ServiceStop(IShellDispatch5* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
6379    return This->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess);
6380}
6381static inline HRESULT IShellDispatch5_IsServiceRunning(IShellDispatch5* This,BSTR ServiceName,VARIANT *pRunning) {
6382    return This->lpVtbl->IsServiceRunning(This,ServiceName,pRunning);
6383}
6384static inline HRESULT IShellDispatch5_CanStartStopService(IShellDispatch5* This,BSTR ServiceName,VARIANT *pCanStartStop) {
6385    return This->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop);
6386}
6387static inline HRESULT IShellDispatch5_ShowBrowserBar(IShellDispatch5* This,BSTR bstrClsid,VARIANT bShow,VARIANT *pSuccess) {
6388    return This->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess);
6389}
6390/*** IShellDispatch3 methods ***/
6391static inline HRESULT IShellDispatch5_AddToRecent(IShellDispatch5* This,VARIANT varFile,BSTR bstrCategory) {
6392    return This->lpVtbl->AddToRecent(This,varFile,bstrCategory);
6393}
6394/*** IShellDispatch4 methods ***/
6395static inline HRESULT IShellDispatch5_WindowsSecurity(IShellDispatch5* This) {
6396    return This->lpVtbl->WindowsSecurity(This);
6397}
6398static inline HRESULT IShellDispatch5_ToggleDesktop(IShellDispatch5* This) {
6399    return This->lpVtbl->ToggleDesktop(This);
6400}
6401static inline HRESULT IShellDispatch5_ExplorerPolicy(IShellDispatch5* This,BSTR bstrPolicyName,VARIANT *pValue) {
6402    return This->lpVtbl->ExplorerPolicy(This,bstrPolicyName,pValue);
6403}
6404static inline HRESULT IShellDispatch5_GetSetting(IShellDispatch5* This,LONG lSetting,VARIANT_BOOL *pResult) {
6405    return This->lpVtbl->GetSetting(This,lSetting,pResult);
6406}
6407/*** IShellDispatch5 methods ***/
6408static inline HRESULT IShellDispatch5_WindowSwitcher(IShellDispatch5* This) {
6409    return This->lpVtbl->WindowSwitcher(This);
6410}
6411#endif
6412#endif
6413
6414#endif
6415
6416
6417#endif  /* __IShellDispatch5_INTERFACE_DEFINED__ */
6418
6419#if NTDDI_VERSION >= NTDDI_WIN8
6420/*****************************************************************************
6421 * IShellDispatch6 interface
6422 */
6423#ifndef __IShellDispatch6_INTERFACE_DEFINED__
6424#define __IShellDispatch6_INTERFACE_DEFINED__
6425
6426DEFINE_GUID(IID_IShellDispatch6, 0x286e6f1b, 0x7113, 0x4355, 0x95,0x62, 0x96,0xb7,0xe9,0xd6,0x4c,0x54);
6427#if defined(__cplusplus) && !defined(CINTERFACE)
6428MIDL_INTERFACE("286e6f1b-7113-4355-9562-96b7e9d64c54")
6429IShellDispatch6 : public IShellDispatch5
6430{
6431    virtual HRESULT STDMETHODCALLTYPE SearchCommand(
6432        ) = 0;
6433
6434};
6435#ifdef __CRT_UUID_DECL
6436__CRT_UUID_DECL(IShellDispatch6, 0x286e6f1b, 0x7113, 0x4355, 0x95,0x62, 0x96,0xb7,0xe9,0xd6,0x4c,0x54)
6437#endif
6438#else
6439typedef struct IShellDispatch6Vtbl {
6440    BEGIN_INTERFACE
6441
6442    /*** IUnknown methods ***/
6443    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6444        IShellDispatch6 *This,
6445        REFIID riid,
6446        void **ppvObject);
6447
6448    ULONG (STDMETHODCALLTYPE *AddRef)(
6449        IShellDispatch6 *This);
6450
6451    ULONG (STDMETHODCALLTYPE *Release)(
6452        IShellDispatch6 *This);
6453
6454    /*** IDispatch methods ***/
6455    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
6456        IShellDispatch6 *This,
6457        UINT *pctinfo);
6458
6459    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
6460        IShellDispatch6 *This,
6461        UINT iTInfo,
6462        LCID lcid,
6463        ITypeInfo **ppTInfo);
6464
6465    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
6466        IShellDispatch6 *This,
6467        REFIID riid,
6468        LPOLESTR *rgszNames,
6469        UINT cNames,
6470        LCID lcid,
6471        DISPID *rgDispId);
6472
6473    HRESULT (STDMETHODCALLTYPE *Invoke)(
6474        IShellDispatch6 *This,
6475        DISPID dispIdMember,
6476        REFIID riid,
6477        LCID lcid,
6478        WORD wFlags,
6479        DISPPARAMS *pDispParams,
6480        VARIANT *pVarResult,
6481        EXCEPINFO *pExcepInfo,
6482        UINT *puArgErr);
6483
6484    /*** IShellDispatch methods ***/
6485    HRESULT (STDMETHODCALLTYPE *get_Application)(
6486        IShellDispatch6 *This,
6487        IDispatch **ppid);
6488
6489    HRESULT (STDMETHODCALLTYPE *get_Parent)(
6490        IShellDispatch6 *This,
6491        IDispatch **ppid);
6492
6493    HRESULT (STDMETHODCALLTYPE *NameSpace)(
6494        IShellDispatch6 *This,
6495        VARIANT vDir,
6496        Folder **ppsdf);
6497
6498    HRESULT (STDMETHODCALLTYPE *BrowseForFolder)(
6499        IShellDispatch6 *This,
6500        LONG Hwnd,
6501        BSTR Title,
6502        LONG Options,
6503        VARIANT RootFolder,
6504        Folder **ppsdf);
6505
6506    HRESULT (STDMETHODCALLTYPE *Windows)(
6507        IShellDispatch6 *This,
6508        IDispatch **ppid);
6509
6510    HRESULT (STDMETHODCALLTYPE *Open)(
6511        IShellDispatch6 *This,
6512        VARIANT vDir);
6513
6514    HRESULT (STDMETHODCALLTYPE *Explore)(
6515        IShellDispatch6 *This,
6516        VARIANT vDir);
6517
6518    HRESULT (STDMETHODCALLTYPE *MinimizeAll)(
6519        IShellDispatch6 *This);
6520
6521    HRESULT (STDMETHODCALLTYPE *UndoMinimizeALL)(
6522        IShellDispatch6 *This);
6523
6524    HRESULT (STDMETHODCALLTYPE *FileRun)(
6525        IShellDispatch6 *This);
6526
6527    HRESULT (STDMETHODCALLTYPE *CascadeWindows)(
6528        IShellDispatch6 *This);
6529
6530    HRESULT (STDMETHODCALLTYPE *TileVertically)(
6531        IShellDispatch6 *This);
6532
6533    HRESULT (STDMETHODCALLTYPE *TileHorizontally)(
6534        IShellDispatch6 *This);
6535
6536    HRESULT (STDMETHODCALLTYPE *ShutdownWindows)(
6537        IShellDispatch6 *This);
6538
6539    HRESULT (STDMETHODCALLTYPE *Suspend)(
6540        IShellDispatch6 *This);
6541
6542    HRESULT (STDMETHODCALLTYPE *EjectPC)(
6543        IShellDispatch6 *This);
6544
6545    HRESULT (STDMETHODCALLTYPE *SetTime)(
6546        IShellDispatch6 *This);
6547
6548    HRESULT (STDMETHODCALLTYPE *TrayProperties)(
6549        IShellDispatch6 *This);
6550
6551    HRESULT (STDMETHODCALLTYPE *Help)(
6552        IShellDispatch6 *This);
6553
6554    HRESULT (STDMETHODCALLTYPE *FindFiles)(
6555        IShellDispatch6 *This);
6556
6557    HRESULT (STDMETHODCALLTYPE *FindComputer)(
6558        IShellDispatch6 *This);
6559
6560    HRESULT (STDMETHODCALLTYPE *RefreshMenu)(
6561        IShellDispatch6 *This);
6562
6563    HRESULT (STDMETHODCALLTYPE *ControlPanelItem)(
6564        IShellDispatch6 *This,
6565        BSTR bstrDir);
6566
6567    /*** IShellDispatch2 methods ***/
6568    HRESULT (STDMETHODCALLTYPE *IsRestricted)(
6569        IShellDispatch6 *This,
6570        BSTR Group,
6571        BSTR Restriction,
6572        LONG *plRestrictValue);
6573
6574    HRESULT (STDMETHODCALLTYPE *ShellExecute)(
6575        IShellDispatch6 *This,
6576        BSTR File,
6577        VARIANT vArgs,
6578        VARIANT vDir,
6579        VARIANT vOperation,
6580        VARIANT vShow);
6581
6582    HRESULT (STDMETHODCALLTYPE *FindPrinter)(
6583        IShellDispatch6 *This,
6584        BSTR name,
6585        BSTR location,
6586        BSTR model);
6587
6588    HRESULT (STDMETHODCALLTYPE *GetSystemInformation)(
6589        IShellDispatch6 *This,
6590        BSTR name,
6591        VARIANT *pv);
6592
6593    HRESULT (STDMETHODCALLTYPE *ServiceStart)(
6594        IShellDispatch6 *This,
6595        BSTR ServiceName,
6596        VARIANT Persistent,
6597        VARIANT *pSuccess);
6598
6599    HRESULT (STDMETHODCALLTYPE *ServiceStop)(
6600        IShellDispatch6 *This,
6601        BSTR ServiceName,
6602        VARIANT Persistent,
6603        VARIANT *pSuccess);
6604
6605    HRESULT (STDMETHODCALLTYPE *IsServiceRunning)(
6606        IShellDispatch6 *This,
6607        BSTR ServiceName,
6608        VARIANT *pRunning);
6609
6610    HRESULT (STDMETHODCALLTYPE *CanStartStopService)(
6611        IShellDispatch6 *This,
6612        BSTR ServiceName,
6613        VARIANT *pCanStartStop);
6614
6615    HRESULT (STDMETHODCALLTYPE *ShowBrowserBar)(
6616        IShellDispatch6 *This,
6617        BSTR bstrClsid,
6618        VARIANT bShow,
6619        VARIANT *pSuccess);
6620
6621    /*** IShellDispatch3 methods ***/
6622    HRESULT (STDMETHODCALLTYPE *AddToRecent)(
6623        IShellDispatch6 *This,
6624        VARIANT varFile,
6625        BSTR bstrCategory);
6626
6627    /*** IShellDispatch4 methods ***/
6628    HRESULT (STDMETHODCALLTYPE *WindowsSecurity)(
6629        IShellDispatch6 *This);
6630
6631    HRESULT (STDMETHODCALLTYPE *ToggleDesktop)(
6632        IShellDispatch6 *This);
6633
6634    HRESULT (STDMETHODCALLTYPE *ExplorerPolicy)(
6635        IShellDispatch6 *This,
6636        BSTR bstrPolicyName,
6637        VARIANT *pValue);
6638
6639    HRESULT (STDMETHODCALLTYPE *GetSetting)(
6640        IShellDispatch6 *This,
6641        LONG lSetting,
6642        VARIANT_BOOL *pResult);
6643
6644    /*** IShellDispatch5 methods ***/
6645    HRESULT (STDMETHODCALLTYPE *WindowSwitcher)(
6646        IShellDispatch6 *This);
6647
6648    /*** IShellDispatch6 methods ***/
6649    HRESULT (STDMETHODCALLTYPE *SearchCommand)(
6650        IShellDispatch6 *This);
6651
6652    END_INTERFACE
6653} IShellDispatch6Vtbl;
6654
6655interface IShellDispatch6 {
6656    CONST_VTBL IShellDispatch6Vtbl* lpVtbl;
6657};
6658
6659#ifdef COBJMACROS
6660#ifndef WIDL_C_INLINE_WRAPPERS
6661/*** IUnknown methods ***/
6662#define IShellDispatch6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
6663#define IShellDispatch6_AddRef(This) (This)->lpVtbl->AddRef(This)
6664#define IShellDispatch6_Release(This) (This)->lpVtbl->Release(This)
6665/*** IDispatch methods ***/
6666#define IShellDispatch6_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
6667#define IShellDispatch6_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
6668#define IShellDispatch6_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
6669#define IShellDispatch6_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
6670/*** IShellDispatch methods ***/
6671#define IShellDispatch6_get_Application(This,ppid) (This)->lpVtbl->get_Application(This,ppid)
6672#define IShellDispatch6_get_Parent(This,ppid) (This)->lpVtbl->get_Parent(This,ppid)
6673#define IShellDispatch6_NameSpace(This,vDir,ppsdf) (This)->lpVtbl->NameSpace(This,vDir,ppsdf)
6674#define IShellDispatch6_BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf) (This)->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf)
6675#define IShellDispatch6_Windows(This,ppid) (This)->lpVtbl->Windows(This,ppid)
6676#define IShellDispatch6_Open(This,vDir) (This)->lpVtbl->Open(This,vDir)
6677#define IShellDispatch6_Explore(This,vDir) (This)->lpVtbl->Explore(This,vDir)
6678#define IShellDispatch6_MinimizeAll(This) (This)->lpVtbl->MinimizeAll(This)
6679#define IShellDispatch6_UndoMinimizeALL(This) (This)->lpVtbl->UndoMinimizeALL(This)
6680#define IShellDispatch6_FileRun(This) (This)->lpVtbl->FileRun(This)
6681#define IShellDispatch6_CascadeWindows(This) (This)->lpVtbl->CascadeWindows(This)
6682#define IShellDispatch6_TileVertically(This) (This)->lpVtbl->TileVertically(This)
6683#define IShellDispatch6_TileHorizontally(This) (This)->lpVtbl->TileHorizontally(This)
6684#define IShellDispatch6_ShutdownWindows(This) (This)->lpVtbl->ShutdownWindows(This)
6685#define IShellDispatch6_Suspend(This) (This)->lpVtbl->Suspend(This)
6686#define IShellDispatch6_EjectPC(This) (This)->lpVtbl->EjectPC(This)
6687#define IShellDispatch6_SetTime(This) (This)->lpVtbl->SetTime(This)
6688#define IShellDispatch6_TrayProperties(This) (This)->lpVtbl->TrayProperties(This)
6689#define IShellDispatch6_Help(This) (This)->lpVtbl->Help(This)
6690#define IShellDispatch6_FindFiles(This) (This)->lpVtbl->FindFiles(This)
6691#define IShellDispatch6_FindComputer(This) (This)->lpVtbl->FindComputer(This)
6692#define IShellDispatch6_RefreshMenu(This) (This)->lpVtbl->RefreshMenu(This)
6693#define IShellDispatch6_ControlPanelItem(This,bstrDir) (This)->lpVtbl->ControlPanelItem(This,bstrDir)
6694/*** IShellDispatch2 methods ***/
6695#define IShellDispatch6_IsRestricted(This,Group,Restriction,plRestrictValue) (This)->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue)
6696#define IShellDispatch6_ShellExecute(This,File,vArgs,vDir,vOperation,vShow) (This)->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow)
6697#define IShellDispatch6_FindPrinter(This,name,location,model) (This)->lpVtbl->FindPrinter(This,name,location,model)
6698#define IShellDispatch6_GetSystemInformation(This,name,pv) (This)->lpVtbl->GetSystemInformation(This,name,pv)
6699#define IShellDispatch6_ServiceStart(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess)
6700#define IShellDispatch6_ServiceStop(This,ServiceName,Persistent,pSuccess) (This)->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess)
6701#define IShellDispatch6_IsServiceRunning(This,ServiceName,pRunning) (This)->lpVtbl->IsServiceRunning(This,ServiceName,pRunning)
6702#define IShellDispatch6_CanStartStopService(This,ServiceName,pCanStartStop) (This)->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop)
6703#define IShellDispatch6_ShowBrowserBar(This,bstrClsid,bShow,pSuccess) (This)->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess)
6704/*** IShellDispatch3 methods ***/
6705#define IShellDispatch6_AddToRecent(This,varFile,bstrCategory) (This)->lpVtbl->AddToRecent(This,varFile,bstrCategory)
6706/*** IShellDispatch4 methods ***/
6707#define IShellDispatch6_WindowsSecurity(This) (This)->lpVtbl->WindowsSecurity(This)
6708#define IShellDispatch6_ToggleDesktop(This) (This)->lpVtbl->ToggleDesktop(This)
6709#define IShellDispatch6_ExplorerPolicy(This,bstrPolicyName,pValue) (This)->lpVtbl->ExplorerPolicy(This,bstrPolicyName,pValue)
6710#define IShellDispatch6_GetSetting(This,lSetting,pResult) (This)->lpVtbl->GetSetting(This,lSetting,pResult)
6711/*** IShellDispatch5 methods ***/
6712#define IShellDispatch6_WindowSwitcher(This) (This)->lpVtbl->WindowSwitcher(This)
6713/*** IShellDispatch6 methods ***/
6714#define IShellDispatch6_SearchCommand(This) (This)->lpVtbl->SearchCommand(This)
6715#else
6716/*** IUnknown methods ***/
6717static inline HRESULT IShellDispatch6_QueryInterface(IShellDispatch6* This,REFIID riid,void **ppvObject) {
6718    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
6719}
6720static inline ULONG IShellDispatch6_AddRef(IShellDispatch6* This) {
6721    return This->lpVtbl->AddRef(This);
6722}
6723static inline ULONG IShellDispatch6_Release(IShellDispatch6* This) {
6724    return This->lpVtbl->Release(This);
6725}
6726/*** IDispatch methods ***/
6727static inline HRESULT IShellDispatch6_GetTypeInfoCount(IShellDispatch6* This,UINT *pctinfo) {
6728    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
6729}
6730static inline HRESULT IShellDispatch6_GetTypeInfo(IShellDispatch6* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
6731    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
6732}
6733static inline HRESULT IShellDispatch6_GetIDsOfNames(IShellDispatch6* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
6734    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
6735}
6736static inline HRESULT IShellDispatch6_Invoke(IShellDispatch6* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
6737    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
6738}
6739/*** IShellDispatch methods ***/
6740static inline HRESULT IShellDispatch6_get_Application(IShellDispatch6* This,IDispatch **ppid) {
6741    return This->lpVtbl->get_Application(This,ppid);
6742}
6743static inline HRESULT IShellDispatch6_get_Parent(IShellDispatch6* This,IDispatch **ppid) {
6744    return This->lpVtbl->get_Parent(This,ppid);
6745}
6746static inline HRESULT IShellDispatch6_NameSpace(IShellDispatch6* This,VARIANT vDir,Folder **ppsdf) {
6747    return This->lpVtbl->NameSpace(This,vDir,ppsdf);
6748}
6749static inline HRESULT IShellDispatch6_BrowseForFolder(IShellDispatch6* This,LONG Hwnd,BSTR Title,LONG Options,VARIANT RootFolder,Folder **ppsdf) {
6750    return This->lpVtbl->BrowseForFolder(This,Hwnd,Title,Options,RootFolder,ppsdf);
6751}
6752static inline HRESULT IShellDispatch6_Windows(IShellDispatch6* This,IDispatch **ppid) {
6753    return This->lpVtbl->Windows(This,ppid);
6754}
6755static inline HRESULT IShellDispatch6_Open(IShellDispatch6* This,VARIANT vDir) {
6756    return This->lpVtbl->Open(This,vDir);
6757}
6758static inline HRESULT IShellDispatch6_Explore(IShellDispatch6* This,VARIANT vDir) {
6759    return This->lpVtbl->Explore(This,vDir);
6760}
6761static inline HRESULT IShellDispatch6_MinimizeAll(IShellDispatch6* This) {
6762    return This->lpVtbl->MinimizeAll(This);
6763}
6764static inline HRESULT IShellDispatch6_UndoMinimizeALL(IShellDispatch6* This) {
6765    return This->lpVtbl->UndoMinimizeALL(This);
6766}
6767static inline HRESULT IShellDispatch6_FileRun(IShellDispatch6* This) {
6768    return This->lpVtbl->FileRun(This);
6769}
6770static inline HRESULT IShellDispatch6_CascadeWindows(IShellDispatch6* This) {
6771    return This->lpVtbl->CascadeWindows(This);
6772}
6773static inline HRESULT IShellDispatch6_TileVertically(IShellDispatch6* This) {
6774    return This->lpVtbl->TileVertically(This);
6775}
6776static inline HRESULT IShellDispatch6_TileHorizontally(IShellDispatch6* This) {
6777    return This->lpVtbl->TileHorizontally(This);
6778}
6779static inline HRESULT IShellDispatch6_ShutdownWindows(IShellDispatch6* This) {
6780    return This->lpVtbl->ShutdownWindows(This);
6781}
6782static inline HRESULT IShellDispatch6_Suspend(IShellDispatch6* This) {
6783    return This->lpVtbl->Suspend(This);
6784}
6785static inline HRESULT IShellDispatch6_EjectPC(IShellDispatch6* This) {
6786    return This->lpVtbl->EjectPC(This);
6787}
6788static inline HRESULT IShellDispatch6_SetTime(IShellDispatch6* This) {
6789    return This->lpVtbl->SetTime(This);
6790}
6791static inline HRESULT IShellDispatch6_TrayProperties(IShellDispatch6* This) {
6792    return This->lpVtbl->TrayProperties(This);
6793}
6794static inline HRESULT IShellDispatch6_Help(IShellDispatch6* This) {
6795    return This->lpVtbl->Help(This);
6796}
6797static inline HRESULT IShellDispatch6_FindFiles(IShellDispatch6* This) {
6798    return This->lpVtbl->FindFiles(This);
6799}
6800static inline HRESULT IShellDispatch6_FindComputer(IShellDispatch6* This) {
6801    return This->lpVtbl->FindComputer(This);
6802}
6803static inline HRESULT IShellDispatch6_RefreshMenu(IShellDispatch6* This) {
6804    return This->lpVtbl->RefreshMenu(This);
6805}
6806static inline HRESULT IShellDispatch6_ControlPanelItem(IShellDispatch6* This,BSTR bstrDir) {
6807    return This->lpVtbl->ControlPanelItem(This,bstrDir);
6808}
6809/*** IShellDispatch2 methods ***/
6810static inline HRESULT IShellDispatch6_IsRestricted(IShellDispatch6* This,BSTR Group,BSTR Restriction,LONG *plRestrictValue) {
6811    return This->lpVtbl->IsRestricted(This,Group,Restriction,plRestrictValue);
6812}
6813static inline HRESULT IShellDispatch6_ShellExecute(IShellDispatch6* This,BSTR File,VARIANT vArgs,VARIANT vDir,VARIANT vOperation,VARIANT vShow) {
6814    return This->lpVtbl->ShellExecute(This,File,vArgs,vDir,vOperation,vShow);
6815}
6816static inline HRESULT IShellDispatch6_FindPrinter(IShellDispatch6* This,BSTR name,BSTR location,BSTR model) {
6817    return This->lpVtbl->FindPrinter(This,name,location,model);
6818}
6819static inline HRESULT IShellDispatch6_GetSystemInformation(IShellDispatch6* This,BSTR name,VARIANT *pv) {
6820    return This->lpVtbl->GetSystemInformation(This,name,pv);
6821}
6822static inline HRESULT IShellDispatch6_ServiceStart(IShellDispatch6* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
6823    return This->lpVtbl->ServiceStart(This,ServiceName,Persistent,pSuccess);
6824}
6825static inline HRESULT IShellDispatch6_ServiceStop(IShellDispatch6* This,BSTR ServiceName,VARIANT Persistent,VARIANT *pSuccess) {
6826    return This->lpVtbl->ServiceStop(This,ServiceName,Persistent,pSuccess);
6827}
6828static inline HRESULT IShellDispatch6_IsServiceRunning(IShellDispatch6* This,BSTR ServiceName,VARIANT *pRunning) {
6829    return This->lpVtbl->IsServiceRunning(This,ServiceName,pRunning);
6830}
6831static inline HRESULT IShellDispatch6_CanStartStopService(IShellDispatch6* This,BSTR ServiceName,VARIANT *pCanStartStop) {
6832    return This->lpVtbl->CanStartStopService(This,ServiceName,pCanStartStop);
6833}
6834static inline HRESULT IShellDispatch6_ShowBrowserBar(IShellDispatch6* This,BSTR bstrClsid,VARIANT bShow,VARIANT *pSuccess) {
6835    return This->lpVtbl->ShowBrowserBar(This,bstrClsid,bShow,pSuccess);
6836}
6837/*** IShellDispatch3 methods ***/
6838static inline HRESULT IShellDispatch6_AddToRecent(IShellDispatch6* This,VARIANT varFile,BSTR bstrCategory) {
6839    return This->lpVtbl->AddToRecent(This,varFile,bstrCategory);
6840}
6841/*** IShellDispatch4 methods ***/
6842static inline HRESULT IShellDispatch6_WindowsSecurity(IShellDispatch6* This) {
6843    return This->lpVtbl->WindowsSecurity(This);
6844}
6845static inline HRESULT IShellDispatch6_ToggleDesktop(IShellDispatch6* This) {
6846    return This->lpVtbl->ToggleDesktop(This);
6847}
6848static inline HRESULT IShellDispatch6_ExplorerPolicy(IShellDispatch6* This,BSTR bstrPolicyName,VARIANT *pValue) {
6849    return This->lpVtbl->ExplorerPolicy(This,bstrPolicyName,pValue);
6850}
6851static inline HRESULT IShellDispatch6_GetSetting(IShellDispatch6* This,LONG lSetting,VARIANT_BOOL *pResult) {
6852    return This->lpVtbl->GetSetting(This,lSetting,pResult);
6853}
6854/*** IShellDispatch5 methods ***/
6855static inline HRESULT IShellDispatch6_WindowSwitcher(IShellDispatch6* This) {
6856    return This->lpVtbl->WindowSwitcher(This);
6857}
6858/*** IShellDispatch6 methods ***/
6859static inline HRESULT IShellDispatch6_SearchCommand(IShellDispatch6* This) {
6860    return This->lpVtbl->SearchCommand(This);
6861}
6862#endif
6863#endif
6864
6865#endif
6866
6867
6868#endif  /* __IShellDispatch6_INTERFACE_DEFINED__ */
6869
6870#endif
6871/*****************************************************************************
6872 * Shell coclass
6873 */
6874
6875DEFINE_GUID(CLSID_Shell, 0x13709620, 0xc279, 0x11ce, 0xa4,0x9e, 0x44,0x45,0x53,0x54,0x00,0x00);
6876
6877#ifdef __cplusplus
6878class DECLSPEC_UUID("13709620-c279-11ce-a49e-444553540000") Shell;
6879#ifdef __CRT_UUID_DECL
6880__CRT_UUID_DECL(Shell, 0x13709620, 0xc279, 0x11ce, 0xa4,0x9e, 0x44,0x45,0x53,0x54,0x00,0x00)
6881#endif
6882#endif
6883
6884/*****************************************************************************
6885 * ShellDispatchInproc coclass
6886 */
6887
6888DEFINE_GUID(CLSID_ShellDispatchInproc, 0x0a89a860, 0xd7b1, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00);
6889
6890#ifdef __cplusplus
6891class DECLSPEC_UUID("0a89a860-d7b1-11ce-8350-444553540000") ShellDispatchInproc;
6892#ifdef __CRT_UUID_DECL
6893__CRT_UUID_DECL(ShellDispatchInproc, 0x0a89a860, 0xd7b1, 0x11ce, 0x83,0x50, 0x44,0x45,0x53,0x54,0x00,0x00)
6894#endif
6895#endif
6896
6897typedef enum ShellSpecialFolderConstants {
6898    ssfDESKTOP = 0x0,
6899    ssfPROGRAMS = 0x2,
6900    ssfCONTROLS = 0x3,
6901    ssfPRINTERS = 0x4,
6902    ssfPERSONAL = 0x5,
6903    ssfFAVORITES = 0x6,
6904    ssfSTARTUP = 0x7,
6905    ssfRECENT = 0x8,
6906    ssfSENDTO = 0x9,
6907    ssfBITBUCKET = 0xa,
6908    ssfSTARTMENU = 0xb,
6909    ssfDESKTOPDIRECTORY = 0x10,
6910    ssfDRIVES = 0x11,
6911    ssfNETWORK = 0x12,
6912    ssfNETHOOD = 0x13,
6913    ssfFONTS = 0x14,
6914    ssfTEMPLATES = 0x15,
6915    ssfCOMMONSTARTMENU = 0x16,
6916    ssfCOMMONPROGRAMS = 0x17,
6917    ssfCOMMONSTARTUP = 0x18,
6918    ssfCOMMONDESKTOPDIR = 0x19,
6919    ssfAPPDATA = 0x1a,
6920    ssfPRINTHOOD = 0x1b,
6921    ssfLOCALAPPDATA = 0x1c,
6922    ssfALTSTARTUP = 0x1d,
6923    ssfCOMMONALTSTARTUP = 0x1e,
6924    ssfCOMMONFAVORITES = 0x1f,
6925    ssfINTERNETCACHE = 0x20,
6926    ssfCOOKIES = 0x21,
6927    ssfHISTORY = 0x22,
6928    ssfCOMMONAPPDATA = 0x23,
6929    ssfWINDOWS = 0x24,
6930    ssfSYSTEM = 0x25,
6931    ssfPROGRAMFILES = 0x26,
6932    ssfMYPICTURES = 0x27,
6933    ssfPROFILE = 0x28,
6934    ssfSYSTEMx86 = 0x29,
6935    ssfPROGRAMFILESx86 = 0x30
6936} ShellSpecialFolderConstants;
6937/*****************************************************************************
6938 * IFileSearchBand interface
6939 */
6940#ifndef __IFileSearchBand_INTERFACE_DEFINED__
6941#define __IFileSearchBand_INTERFACE_DEFINED__
6942
6943DEFINE_GUID(IID_IFileSearchBand, 0x2d91eea1, 0x9932, 0x11d2, 0xbe,0x86, 0x00,0xa0,0xc9,0xa8,0x3d,0xa1);
6944#if defined(__cplusplus) && !defined(CINTERFACE)
6945MIDL_INTERFACE("2d91eea1-9932-11d2-be86-00a0c9a83da1")
6946IFileSearchBand : public IDispatch
6947{
6948    virtual HRESULT STDMETHODCALLTYPE SetFocus(
6949        ) = 0;
6950
6951    virtual HRESULT STDMETHODCALLTYPE SetSearchParameters(
6952        BSTR *pbstrSearchID,
6953        VARIANT_BOOL bNavToResults,
6954        VARIANT *pvarScope,
6955        VARIANT *pvarQueryFile) = 0;
6956
6957    virtual HRESULT STDMETHODCALLTYPE get_SearchID(
6958        BSTR *pbstrSearchID) = 0;
6959
6960    virtual HRESULT STDMETHODCALLTYPE get_Scope(
6961        VARIANT *pvarScope) = 0;
6962
6963    virtual HRESULT STDMETHODCALLTYPE get_QueryFile(
6964        VARIANT *pvarFile) = 0;
6965
6966};
6967#ifdef __CRT_UUID_DECL
6968__CRT_UUID_DECL(IFileSearchBand, 0x2d91eea1, 0x9932, 0x11d2, 0xbe,0x86, 0x00,0xa0,0xc9,0xa8,0x3d,0xa1)
6969#endif
6970#else
6971typedef struct IFileSearchBandVtbl {
6972    BEGIN_INTERFACE
6973
6974    /*** IUnknown methods ***/
6975    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
6976        IFileSearchBand *This,
6977        REFIID riid,
6978        void **ppvObject);
6979
6980    ULONG (STDMETHODCALLTYPE *AddRef)(
6981        IFileSearchBand *This);
6982
6983    ULONG (STDMETHODCALLTYPE *Release)(
6984        IFileSearchBand *This);
6985
6986    /*** IDispatch methods ***/
6987    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
6988        IFileSearchBand *This,
6989        UINT *pctinfo);
6990
6991    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
6992        IFileSearchBand *This,
6993        UINT iTInfo,
6994        LCID lcid,
6995        ITypeInfo **ppTInfo);
6996
6997    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
6998        IFileSearchBand *This,
6999        REFIID riid,
7000        LPOLESTR *rgszNames,
7001        UINT cNames,
7002        LCID lcid,
7003        DISPID *rgDispId);
7004
7005    HRESULT (STDMETHODCALLTYPE *Invoke)(
7006        IFileSearchBand *This,
7007        DISPID dispIdMember,
7008        REFIID riid,
7009        LCID lcid,
7010        WORD wFlags,
7011        DISPPARAMS *pDispParams,
7012        VARIANT *pVarResult,
7013        EXCEPINFO *pExcepInfo,
7014        UINT *puArgErr);
7015
7016    /*** IFileSearchBand methods ***/
7017    HRESULT (STDMETHODCALLTYPE *SetFocus)(
7018        IFileSearchBand *This);
7019
7020    HRESULT (STDMETHODCALLTYPE *SetSearchParameters)(
7021        IFileSearchBand *This,
7022        BSTR *pbstrSearchID,
7023        VARIANT_BOOL bNavToResults,
7024        VARIANT *pvarScope,
7025        VARIANT *pvarQueryFile);
7026
7027    HRESULT (STDMETHODCALLTYPE *get_SearchID)(
7028        IFileSearchBand *This,
7029        BSTR *pbstrSearchID);
7030
7031    HRESULT (STDMETHODCALLTYPE *get_Scope)(
7032        IFileSearchBand *This,
7033        VARIANT *pvarScope);
7034
7035    HRESULT (STDMETHODCALLTYPE *get_QueryFile)(
7036        IFileSearchBand *This,
7037        VARIANT *pvarFile);
7038
7039    END_INTERFACE
7040} IFileSearchBandVtbl;
7041
7042interface IFileSearchBand {
7043    CONST_VTBL IFileSearchBandVtbl* lpVtbl;
7044};
7045
7046#ifdef COBJMACROS
7047#ifndef WIDL_C_INLINE_WRAPPERS
7048/*** IUnknown methods ***/
7049#define IFileSearchBand_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7050#define IFileSearchBand_AddRef(This) (This)->lpVtbl->AddRef(This)
7051#define IFileSearchBand_Release(This) (This)->lpVtbl->Release(This)
7052/*** IDispatch methods ***/
7053#define IFileSearchBand_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
7054#define IFileSearchBand_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
7055#define IFileSearchBand_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
7056#define IFileSearchBand_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
7057/*** IFileSearchBand methods ***/
7058#define IFileSearchBand_SetFocus(This) (This)->lpVtbl->SetFocus(This)
7059#define IFileSearchBand_SetSearchParameters(This,pbstrSearchID,bNavToResults,pvarScope,pvarQueryFile) (This)->lpVtbl->SetSearchParameters(This,pbstrSearchID,bNavToResults,pvarScope,pvarQueryFile)
7060#define IFileSearchBand_get_SearchID(This,pbstrSearchID) (This)->lpVtbl->get_SearchID(This,pbstrSearchID)
7061#define IFileSearchBand_get_Scope(This,pvarScope) (This)->lpVtbl->get_Scope(This,pvarScope)
7062#define IFileSearchBand_get_QueryFile(This,pvarFile) (This)->lpVtbl->get_QueryFile(This,pvarFile)
7063#else
7064/*** IUnknown methods ***/
7065static inline HRESULT IFileSearchBand_QueryInterface(IFileSearchBand* This,REFIID riid,void **ppvObject) {
7066    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7067}
7068static inline ULONG IFileSearchBand_AddRef(IFileSearchBand* This) {
7069    return This->lpVtbl->AddRef(This);
7070}
7071static inline ULONG IFileSearchBand_Release(IFileSearchBand* This) {
7072    return This->lpVtbl->Release(This);
7073}
7074/*** IDispatch methods ***/
7075static inline HRESULT IFileSearchBand_GetTypeInfoCount(IFileSearchBand* This,UINT *pctinfo) {
7076    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
7077}
7078static inline HRESULT IFileSearchBand_GetTypeInfo(IFileSearchBand* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
7079    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
7080}
7081static inline HRESULT IFileSearchBand_GetIDsOfNames(IFileSearchBand* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
7082    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
7083}
7084static inline HRESULT IFileSearchBand_Invoke(IFileSearchBand* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
7085    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
7086}
7087/*** IFileSearchBand methods ***/
7088static inline HRESULT IFileSearchBand_SetFocus(IFileSearchBand* This) {
7089    return This->lpVtbl->SetFocus(This);
7090}
7091static inline HRESULT IFileSearchBand_SetSearchParameters(IFileSearchBand* This,BSTR *pbstrSearchID,VARIANT_BOOL bNavToResults,VARIANT *pvarScope,VARIANT *pvarQueryFile) {
7092    return This->lpVtbl->SetSearchParameters(This,pbstrSearchID,bNavToResults,pvarScope,pvarQueryFile);
7093}
7094static inline HRESULT IFileSearchBand_get_SearchID(IFileSearchBand* This,BSTR *pbstrSearchID) {
7095    return This->lpVtbl->get_SearchID(This,pbstrSearchID);
7096}
7097static inline HRESULT IFileSearchBand_get_Scope(IFileSearchBand* This,VARIANT *pvarScope) {
7098    return This->lpVtbl->get_Scope(This,pvarScope);
7099}
7100static inline HRESULT IFileSearchBand_get_QueryFile(IFileSearchBand* This,VARIANT *pvarFile) {
7101    return This->lpVtbl->get_QueryFile(This,pvarFile);
7102}
7103#endif
7104#endif
7105
7106#endif
7107
7108
7109#endif  /* __IFileSearchBand_INTERFACE_DEFINED__ */
7110
7111/*****************************************************************************
7112 * FileSearchBand coclass
7113 */
7114
7115DEFINE_GUID(CLSID_FileSearchBand, 0xc4ee31f3, 0x4768, 0x11d2, 0xbe,0x5c, 0x00,0xa0,0xc9,0xa8,0x3d,0xa1);
7116
7117#ifdef __cplusplus
7118class DECLSPEC_UUID("c4ee31f3-4768-11d2-be5c-00a0c9a83da1") FileSearchBand;
7119#ifdef __CRT_UUID_DECL
7120__CRT_UUID_DECL(FileSearchBand, 0xc4ee31f3, 0x4768, 0x11d2, 0xbe,0x5c, 0x00,0xa0,0xc9,0xa8,0x3d,0xa1)
7121#endif
7122#endif
7123
7124/*****************************************************************************
7125 * IWebWizardHost interface
7126 */
7127#ifndef __IWebWizardHost_INTERFACE_DEFINED__
7128#define __IWebWizardHost_INTERFACE_DEFINED__
7129
7130DEFINE_GUID(IID_IWebWizardHost, 0x18bcc359, 0x4990, 0x4bfb, 0xb9,0x51, 0x3c,0x83,0x70,0x2b,0xe5,0xf9);
7131#if defined(__cplusplus) && !defined(CINTERFACE)
7132MIDL_INTERFACE("18bcc359-4990-4bfb-b951-3c83702be5f9")
7133IWebWizardHost : public IDispatch
7134{
7135    virtual HRESULT STDMETHODCALLTYPE FinalBack(
7136        ) = 0;
7137
7138    virtual HRESULT STDMETHODCALLTYPE FinalNext(
7139        ) = 0;
7140
7141    virtual HRESULT STDMETHODCALLTYPE Cancel(
7142        ) = 0;
7143
7144    virtual HRESULT STDMETHODCALLTYPE put_Caption(
7145        BSTR bstrCaption) = 0;
7146
7147    virtual HRESULT STDMETHODCALLTYPE get_Caption(
7148        BSTR *pbstrCaption) = 0;
7149
7150    virtual HRESULT STDMETHODCALLTYPE put_Property(
7151        BSTR bstrPropertyName,
7152        VARIANT *pvProperty) = 0;
7153
7154    virtual HRESULT STDMETHODCALLTYPE get_Property(
7155        BSTR bstrPropertyName,
7156        VARIANT *pvProperty) = 0;
7157
7158    virtual HRESULT STDMETHODCALLTYPE SetWizardButtons(
7159        VARIANT_BOOL vfEnableBack,
7160        VARIANT_BOOL vfEnableNext,
7161        VARIANT_BOOL vfLastPage) = 0;
7162
7163    virtual HRESULT STDMETHODCALLTYPE SetHeaderText(
7164        BSTR bstrHeaderTitle,
7165        BSTR bstrHeaderSubtitle) = 0;
7166
7167};
7168#ifdef __CRT_UUID_DECL
7169__CRT_UUID_DECL(IWebWizardHost, 0x18bcc359, 0x4990, 0x4bfb, 0xb9,0x51, 0x3c,0x83,0x70,0x2b,0xe5,0xf9)
7170#endif
7171#else
7172typedef struct IWebWizardHostVtbl {
7173    BEGIN_INTERFACE
7174
7175    /*** IUnknown methods ***/
7176    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7177        IWebWizardHost *This,
7178        REFIID riid,
7179        void **ppvObject);
7180
7181    ULONG (STDMETHODCALLTYPE *AddRef)(
7182        IWebWizardHost *This);
7183
7184    ULONG (STDMETHODCALLTYPE *Release)(
7185        IWebWizardHost *This);
7186
7187    /*** IDispatch methods ***/
7188    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
7189        IWebWizardHost *This,
7190        UINT *pctinfo);
7191
7192    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
7193        IWebWizardHost *This,
7194        UINT iTInfo,
7195        LCID lcid,
7196        ITypeInfo **ppTInfo);
7197
7198    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
7199        IWebWizardHost *This,
7200        REFIID riid,
7201        LPOLESTR *rgszNames,
7202        UINT cNames,
7203        LCID lcid,
7204        DISPID *rgDispId);
7205
7206    HRESULT (STDMETHODCALLTYPE *Invoke)(
7207        IWebWizardHost *This,
7208        DISPID dispIdMember,
7209        REFIID riid,
7210        LCID lcid,
7211        WORD wFlags,
7212        DISPPARAMS *pDispParams,
7213        VARIANT *pVarResult,
7214        EXCEPINFO *pExcepInfo,
7215        UINT *puArgErr);
7216
7217    /*** IWebWizardHost methods ***/
7218    HRESULT (STDMETHODCALLTYPE *FinalBack)(
7219        IWebWizardHost *This);
7220
7221    HRESULT (STDMETHODCALLTYPE *FinalNext)(
7222        IWebWizardHost *This);
7223
7224    HRESULT (STDMETHODCALLTYPE *Cancel)(
7225        IWebWizardHost *This);
7226
7227    HRESULT (STDMETHODCALLTYPE *put_Caption)(
7228        IWebWizardHost *This,
7229        BSTR bstrCaption);
7230
7231    HRESULT (STDMETHODCALLTYPE *get_Caption)(
7232        IWebWizardHost *This,
7233        BSTR *pbstrCaption);
7234
7235    HRESULT (STDMETHODCALLTYPE *put_Property)(
7236        IWebWizardHost *This,
7237        BSTR bstrPropertyName,
7238        VARIANT *pvProperty);
7239
7240    HRESULT (STDMETHODCALLTYPE *get_Property)(
7241        IWebWizardHost *This,
7242        BSTR bstrPropertyName,
7243        VARIANT *pvProperty);
7244
7245    HRESULT (STDMETHODCALLTYPE *SetWizardButtons)(
7246        IWebWizardHost *This,
7247        VARIANT_BOOL vfEnableBack,
7248        VARIANT_BOOL vfEnableNext,
7249        VARIANT_BOOL vfLastPage);
7250
7251    HRESULT (STDMETHODCALLTYPE *SetHeaderText)(
7252        IWebWizardHost *This,
7253        BSTR bstrHeaderTitle,
7254        BSTR bstrHeaderSubtitle);
7255
7256    END_INTERFACE
7257} IWebWizardHostVtbl;
7258
7259interface IWebWizardHost {
7260    CONST_VTBL IWebWizardHostVtbl* lpVtbl;
7261};
7262
7263#ifdef COBJMACROS
7264#ifndef WIDL_C_INLINE_WRAPPERS
7265/*** IUnknown methods ***/
7266#define IWebWizardHost_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7267#define IWebWizardHost_AddRef(This) (This)->lpVtbl->AddRef(This)
7268#define IWebWizardHost_Release(This) (This)->lpVtbl->Release(This)
7269/*** IDispatch methods ***/
7270#define IWebWizardHost_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
7271#define IWebWizardHost_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
7272#define IWebWizardHost_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
7273#define IWebWizardHost_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
7274/*** IWebWizardHost methods ***/
7275#define IWebWizardHost_FinalBack(This) (This)->lpVtbl->FinalBack(This)
7276#define IWebWizardHost_FinalNext(This) (This)->lpVtbl->FinalNext(This)
7277#define IWebWizardHost_Cancel(This) (This)->lpVtbl->Cancel(This)
7278#define IWebWizardHost_put_Caption(This,bstrCaption) (This)->lpVtbl->put_Caption(This,bstrCaption)
7279#define IWebWizardHost_get_Caption(This,pbstrCaption) (This)->lpVtbl->get_Caption(This,pbstrCaption)
7280#define IWebWizardHost_put_Property(This,bstrPropertyName,pvProperty) (This)->lpVtbl->put_Property(This,bstrPropertyName,pvProperty)
7281#define IWebWizardHost_get_Property(This,bstrPropertyName,pvProperty) (This)->lpVtbl->get_Property(This,bstrPropertyName,pvProperty)
7282#define IWebWizardHost_SetWizardButtons(This,vfEnableBack,vfEnableNext,vfLastPage) (This)->lpVtbl->SetWizardButtons(This,vfEnableBack,vfEnableNext,vfLastPage)
7283#define IWebWizardHost_SetHeaderText(This,bstrHeaderTitle,bstrHeaderSubtitle) (This)->lpVtbl->SetHeaderText(This,bstrHeaderTitle,bstrHeaderSubtitle)
7284#else
7285/*** IUnknown methods ***/
7286static inline HRESULT IWebWizardHost_QueryInterface(IWebWizardHost* This,REFIID riid,void **ppvObject) {
7287    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7288}
7289static inline ULONG IWebWizardHost_AddRef(IWebWizardHost* This) {
7290    return This->lpVtbl->AddRef(This);
7291}
7292static inline ULONG IWebWizardHost_Release(IWebWizardHost* This) {
7293    return This->lpVtbl->Release(This);
7294}
7295/*** IDispatch methods ***/
7296static inline HRESULT IWebWizardHost_GetTypeInfoCount(IWebWizardHost* This,UINT *pctinfo) {
7297    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
7298}
7299static inline HRESULT IWebWizardHost_GetTypeInfo(IWebWizardHost* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
7300    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
7301}
7302static inline HRESULT IWebWizardHost_GetIDsOfNames(IWebWizardHost* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
7303    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
7304}
7305static inline HRESULT IWebWizardHost_Invoke(IWebWizardHost* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
7306    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
7307}
7308/*** IWebWizardHost methods ***/
7309static inline HRESULT IWebWizardHost_FinalBack(IWebWizardHost* This) {
7310    return This->lpVtbl->FinalBack(This);
7311}
7312static inline HRESULT IWebWizardHost_FinalNext(IWebWizardHost* This) {
7313    return This->lpVtbl->FinalNext(This);
7314}
7315static inline HRESULT IWebWizardHost_Cancel(IWebWizardHost* This) {
7316    return This->lpVtbl->Cancel(This);
7317}
7318static inline HRESULT IWebWizardHost_put_Caption(IWebWizardHost* This,BSTR bstrCaption) {
7319    return This->lpVtbl->put_Caption(This,bstrCaption);
7320}
7321static inline HRESULT IWebWizardHost_get_Caption(IWebWizardHost* This,BSTR *pbstrCaption) {
7322    return This->lpVtbl->get_Caption(This,pbstrCaption);
7323}
7324static inline HRESULT IWebWizardHost_put_Property(IWebWizardHost* This,BSTR bstrPropertyName,VARIANT *pvProperty) {
7325    return This->lpVtbl->put_Property(This,bstrPropertyName,pvProperty);
7326}
7327static inline HRESULT IWebWizardHost_get_Property(IWebWizardHost* This,BSTR bstrPropertyName,VARIANT *pvProperty) {
7328    return This->lpVtbl->get_Property(This,bstrPropertyName,pvProperty);
7329}
7330static inline HRESULT IWebWizardHost_SetWizardButtons(IWebWizardHost* This,VARIANT_BOOL vfEnableBack,VARIANT_BOOL vfEnableNext,VARIANT_BOOL vfLastPage) {
7331    return This->lpVtbl->SetWizardButtons(This,vfEnableBack,vfEnableNext,vfLastPage);
7332}
7333static inline HRESULT IWebWizardHost_SetHeaderText(IWebWizardHost* This,BSTR bstrHeaderTitle,BSTR bstrHeaderSubtitle) {
7334    return This->lpVtbl->SetHeaderText(This,bstrHeaderTitle,bstrHeaderSubtitle);
7335}
7336#endif
7337#endif
7338
7339#endif
7340
7341
7342#endif  /* __IWebWizardHost_INTERFACE_DEFINED__ */
7343
7344/*****************************************************************************
7345 * INewWDEvents interface
7346 */
7347#ifndef __INewWDEvents_INTERFACE_DEFINED__
7348#define __INewWDEvents_INTERFACE_DEFINED__
7349
7350DEFINE_GUID(IID_INewWDEvents, 0x0751c551, 0x7568, 0x41c9, 0x8e,0x5b, 0xe2,0x2e,0x38,0x91,0x92,0x36);
7351#if defined(__cplusplus) && !defined(CINTERFACE)
7352MIDL_INTERFACE("0751c551-7568-41c9-8e5b-e22e38919236")
7353INewWDEvents : public IWebWizardHost
7354{
7355    virtual HRESULT STDMETHODCALLTYPE PassportAuthenticate(
7356        BSTR bstrSignInUrl,
7357        VARIANT_BOOL *pvfAuthenitcated) = 0;
7358
7359};
7360#ifdef __CRT_UUID_DECL
7361__CRT_UUID_DECL(INewWDEvents, 0x0751c551, 0x7568, 0x41c9, 0x8e,0x5b, 0xe2,0x2e,0x38,0x91,0x92,0x36)
7362#endif
7363#else
7364typedef struct INewWDEventsVtbl {
7365    BEGIN_INTERFACE
7366
7367    /*** IUnknown methods ***/
7368    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7369        INewWDEvents *This,
7370        REFIID riid,
7371        void **ppvObject);
7372
7373    ULONG (STDMETHODCALLTYPE *AddRef)(
7374        INewWDEvents *This);
7375
7376    ULONG (STDMETHODCALLTYPE *Release)(
7377        INewWDEvents *This);
7378
7379    /*** IDispatch methods ***/
7380    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
7381        INewWDEvents *This,
7382        UINT *pctinfo);
7383
7384    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
7385        INewWDEvents *This,
7386        UINT iTInfo,
7387        LCID lcid,
7388        ITypeInfo **ppTInfo);
7389
7390    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
7391        INewWDEvents *This,
7392        REFIID riid,
7393        LPOLESTR *rgszNames,
7394        UINT cNames,
7395        LCID lcid,
7396        DISPID *rgDispId);
7397
7398    HRESULT (STDMETHODCALLTYPE *Invoke)(
7399        INewWDEvents *This,
7400        DISPID dispIdMember,
7401        REFIID riid,
7402        LCID lcid,
7403        WORD wFlags,
7404        DISPPARAMS *pDispParams,
7405        VARIANT *pVarResult,
7406        EXCEPINFO *pExcepInfo,
7407        UINT *puArgErr);
7408
7409    /*** IWebWizardHost methods ***/
7410    HRESULT (STDMETHODCALLTYPE *FinalBack)(
7411        INewWDEvents *This);
7412
7413    HRESULT (STDMETHODCALLTYPE *FinalNext)(
7414        INewWDEvents *This);
7415
7416    HRESULT (STDMETHODCALLTYPE *Cancel)(
7417        INewWDEvents *This);
7418
7419    HRESULT (STDMETHODCALLTYPE *put_Caption)(
7420        INewWDEvents *This,
7421        BSTR bstrCaption);
7422
7423    HRESULT (STDMETHODCALLTYPE *get_Caption)(
7424        INewWDEvents *This,
7425        BSTR *pbstrCaption);
7426
7427    HRESULT (STDMETHODCALLTYPE *put_Property)(
7428        INewWDEvents *This,
7429        BSTR bstrPropertyName,
7430        VARIANT *pvProperty);
7431
7432    HRESULT (STDMETHODCALLTYPE *get_Property)(
7433        INewWDEvents *This,
7434        BSTR bstrPropertyName,
7435        VARIANT *pvProperty);
7436
7437    HRESULT (STDMETHODCALLTYPE *SetWizardButtons)(
7438        INewWDEvents *This,
7439        VARIANT_BOOL vfEnableBack,
7440        VARIANT_BOOL vfEnableNext,
7441        VARIANT_BOOL vfLastPage);
7442
7443    HRESULT (STDMETHODCALLTYPE *SetHeaderText)(
7444        INewWDEvents *This,
7445        BSTR bstrHeaderTitle,
7446        BSTR bstrHeaderSubtitle);
7447
7448    /*** INewWDEvents methods ***/
7449    HRESULT (STDMETHODCALLTYPE *PassportAuthenticate)(
7450        INewWDEvents *This,
7451        BSTR bstrSignInUrl,
7452        VARIANT_BOOL *pvfAuthenitcated);
7453
7454    END_INTERFACE
7455} INewWDEventsVtbl;
7456
7457interface INewWDEvents {
7458    CONST_VTBL INewWDEventsVtbl* lpVtbl;
7459};
7460
7461#ifdef COBJMACROS
7462#ifndef WIDL_C_INLINE_WRAPPERS
7463/*** IUnknown methods ***/
7464#define INewWDEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7465#define INewWDEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
7466#define INewWDEvents_Release(This) (This)->lpVtbl->Release(This)
7467/*** IDispatch methods ***/
7468#define INewWDEvents_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
7469#define INewWDEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
7470#define INewWDEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
7471#define INewWDEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
7472/*** IWebWizardHost methods ***/
7473#define INewWDEvents_FinalBack(This) (This)->lpVtbl->FinalBack(This)
7474#define INewWDEvents_FinalNext(This) (This)->lpVtbl->FinalNext(This)
7475#define INewWDEvents_Cancel(This) (This)->lpVtbl->Cancel(This)
7476#define INewWDEvents_put_Caption(This,bstrCaption) (This)->lpVtbl->put_Caption(This,bstrCaption)
7477#define INewWDEvents_get_Caption(This,pbstrCaption) (This)->lpVtbl->get_Caption(This,pbstrCaption)
7478#define INewWDEvents_put_Property(This,bstrPropertyName,pvProperty) (This)->lpVtbl->put_Property(This,bstrPropertyName,pvProperty)
7479#define INewWDEvents_get_Property(This,bstrPropertyName,pvProperty) (This)->lpVtbl->get_Property(This,bstrPropertyName,pvProperty)
7480#define INewWDEvents_SetWizardButtons(This,vfEnableBack,vfEnableNext,vfLastPage) (This)->lpVtbl->SetWizardButtons(This,vfEnableBack,vfEnableNext,vfLastPage)
7481#define INewWDEvents_SetHeaderText(This,bstrHeaderTitle,bstrHeaderSubtitle) (This)->lpVtbl->SetHeaderText(This,bstrHeaderTitle,bstrHeaderSubtitle)
7482/*** INewWDEvents methods ***/
7483#define INewWDEvents_PassportAuthenticate(This,bstrSignInUrl,pvfAuthenitcated) (This)->lpVtbl->PassportAuthenticate(This,bstrSignInUrl,pvfAuthenitcated)
7484#else
7485/*** IUnknown methods ***/
7486static inline HRESULT INewWDEvents_QueryInterface(INewWDEvents* This,REFIID riid,void **ppvObject) {
7487    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7488}
7489static inline ULONG INewWDEvents_AddRef(INewWDEvents* This) {
7490    return This->lpVtbl->AddRef(This);
7491}
7492static inline ULONG INewWDEvents_Release(INewWDEvents* This) {
7493    return This->lpVtbl->Release(This);
7494}
7495/*** IDispatch methods ***/
7496static inline HRESULT INewWDEvents_GetTypeInfoCount(INewWDEvents* This,UINT *pctinfo) {
7497    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
7498}
7499static inline HRESULT INewWDEvents_GetTypeInfo(INewWDEvents* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
7500    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
7501}
7502static inline HRESULT INewWDEvents_GetIDsOfNames(INewWDEvents* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
7503    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
7504}
7505static inline HRESULT INewWDEvents_Invoke(INewWDEvents* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
7506    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
7507}
7508/*** IWebWizardHost methods ***/
7509static inline HRESULT INewWDEvents_FinalBack(INewWDEvents* This) {
7510    return This->lpVtbl->FinalBack(This);
7511}
7512static inline HRESULT INewWDEvents_FinalNext(INewWDEvents* This) {
7513    return This->lpVtbl->FinalNext(This);
7514}
7515static inline HRESULT INewWDEvents_Cancel(INewWDEvents* This) {
7516    return This->lpVtbl->Cancel(This);
7517}
7518static inline HRESULT INewWDEvents_put_Caption(INewWDEvents* This,BSTR bstrCaption) {
7519    return This->lpVtbl->put_Caption(This,bstrCaption);
7520}
7521static inline HRESULT INewWDEvents_get_Caption(INewWDEvents* This,BSTR *pbstrCaption) {
7522    return This->lpVtbl->get_Caption(This,pbstrCaption);
7523}
7524static inline HRESULT INewWDEvents_put_Property(INewWDEvents* This,BSTR bstrPropertyName,VARIANT *pvProperty) {
7525    return This->lpVtbl->put_Property(This,bstrPropertyName,pvProperty);
7526}
7527static inline HRESULT INewWDEvents_get_Property(INewWDEvents* This,BSTR bstrPropertyName,VARIANT *pvProperty) {
7528    return This->lpVtbl->get_Property(This,bstrPropertyName,pvProperty);
7529}
7530static inline HRESULT INewWDEvents_SetWizardButtons(INewWDEvents* This,VARIANT_BOOL vfEnableBack,VARIANT_BOOL vfEnableNext,VARIANT_BOOL vfLastPage) {
7531    return This->lpVtbl->SetWizardButtons(This,vfEnableBack,vfEnableNext,vfLastPage);
7532}
7533static inline HRESULT INewWDEvents_SetHeaderText(INewWDEvents* This,BSTR bstrHeaderTitle,BSTR bstrHeaderSubtitle) {
7534    return This->lpVtbl->SetHeaderText(This,bstrHeaderTitle,bstrHeaderSubtitle);
7535}
7536/*** INewWDEvents methods ***/
7537static inline HRESULT INewWDEvents_PassportAuthenticate(INewWDEvents* This,BSTR bstrSignInUrl,VARIANT_BOOL *pvfAuthenitcated) {
7538    return This->lpVtbl->PassportAuthenticate(This,bstrSignInUrl,pvfAuthenitcated);
7539}
7540#endif
7541#endif
7542
7543#endif
7544
7545
7546#endif  /* __INewWDEvents_INTERFACE_DEFINED__ */
7547
7548#endif /* __Shell32_LIBRARY_DEFINED__ */
7549/*****************************************************************************
7550 * IAutoComplete interface
7551 */
7552#ifndef __IAutoComplete_INTERFACE_DEFINED__
7553#define __IAutoComplete_INTERFACE_DEFINED__
7554
7555typedef IAutoComplete *LPAUTOCOMPLETE;
7556DEFINE_GUID(IID_IAutoComplete, 0x00bb2762, 0x6a77, 0x11d0, 0xa5,0x35, 0x00,0xc0,0x4f,0xd7,0xd0,0x62);
7557#if defined(__cplusplus) && !defined(CINTERFACE)
7558MIDL_INTERFACE("00bb2762-6a77-11d0-a535-00c04fd7d062")
7559IAutoComplete : public IUnknown
7560{
7561    virtual HRESULT STDMETHODCALLTYPE Init(
7562        HWND hwndEdit,
7563        IUnknown *punkACL,
7564        LPCWSTR pwszRegKeyPath,
7565        LPCWSTR pwszQuickComplete) = 0;
7566
7567    virtual HRESULT STDMETHODCALLTYPE Enable(
7568        WINBOOL fEnable) = 0;
7569
7570};
7571#ifdef __CRT_UUID_DECL
7572__CRT_UUID_DECL(IAutoComplete, 0x00bb2762, 0x6a77, 0x11d0, 0xa5,0x35, 0x00,0xc0,0x4f,0xd7,0xd0,0x62)
7573#endif
7574#else
7575typedef struct IAutoCompleteVtbl {
7576    BEGIN_INTERFACE
7577
7578    /*** IUnknown methods ***/
7579    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7580        IAutoComplete *This,
7581        REFIID riid,
7582        void **ppvObject);
7583
7584    ULONG (STDMETHODCALLTYPE *AddRef)(
7585        IAutoComplete *This);
7586
7587    ULONG (STDMETHODCALLTYPE *Release)(
7588        IAutoComplete *This);
7589
7590    /*** IAutoComplete methods ***/
7591    HRESULT (STDMETHODCALLTYPE *Init)(
7592        IAutoComplete *This,
7593        HWND hwndEdit,
7594        IUnknown *punkACL,
7595        LPCWSTR pwszRegKeyPath,
7596        LPCWSTR pwszQuickComplete);
7597
7598    HRESULT (STDMETHODCALLTYPE *Enable)(
7599        IAutoComplete *This,
7600        WINBOOL fEnable);
7601
7602    END_INTERFACE
7603} IAutoCompleteVtbl;
7604
7605interface IAutoComplete {
7606    CONST_VTBL IAutoCompleteVtbl* lpVtbl;
7607};
7608
7609#ifdef COBJMACROS
7610#ifndef WIDL_C_INLINE_WRAPPERS
7611/*** IUnknown methods ***/
7612#define IAutoComplete_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7613#define IAutoComplete_AddRef(This) (This)->lpVtbl->AddRef(This)
7614#define IAutoComplete_Release(This) (This)->lpVtbl->Release(This)
7615/*** IAutoComplete methods ***/
7616#define IAutoComplete_Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete) (This)->lpVtbl->Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete)
7617#define IAutoComplete_Enable(This,fEnable) (This)->lpVtbl->Enable(This,fEnable)
7618#else
7619/*** IUnknown methods ***/
7620static inline HRESULT IAutoComplete_QueryInterface(IAutoComplete* This,REFIID riid,void **ppvObject) {
7621    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7622}
7623static inline ULONG IAutoComplete_AddRef(IAutoComplete* This) {
7624    return This->lpVtbl->AddRef(This);
7625}
7626static inline ULONG IAutoComplete_Release(IAutoComplete* This) {
7627    return This->lpVtbl->Release(This);
7628}
7629/*** IAutoComplete methods ***/
7630static inline HRESULT IAutoComplete_Init(IAutoComplete* This,HWND hwndEdit,IUnknown *punkACL,LPCWSTR pwszRegKeyPath,LPCWSTR pwszQuickComplete) {
7631    return This->lpVtbl->Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete);
7632}
7633static inline HRESULT IAutoComplete_Enable(IAutoComplete* This,WINBOOL fEnable) {
7634    return This->lpVtbl->Enable(This,fEnable);
7635}
7636#endif
7637#endif
7638
7639#endif
7640
7641
7642#endif  /* __IAutoComplete_INTERFACE_DEFINED__ */
7643
7644/*****************************************************************************
7645 * IAutoComplete2 interface
7646 */
7647#ifndef __IAutoComplete2_INTERFACE_DEFINED__
7648#define __IAutoComplete2_INTERFACE_DEFINED__
7649
7650typedef IAutoComplete2 *LPAUTOCOMPLETE2;
7651typedef enum _tagAUTOCOMPLETEOPTIONS {
7652    ACO_NONE = 0x0,
7653    ACO_AUTOSUGGEST = 0x1,
7654    ACO_AUTOAPPEND = 0x2,
7655    ACO_SEARCH = 0x4,
7656    ACO_FILTERPREFIXES = 0x8,
7657    ACO_USETAB = 0x10,
7658    ACO_UPDOWNKEYDROPSLIST = 0x20,
7659    ACO_RTLREADING = 0x40,
7660    ACO_WORD_FILTER = 0x80,
7661    ACO_NOPREFIXFILTERING = 0x100
7662} AUTOCOMPLETEOPTIONS;
7663DEFINE_GUID(IID_IAutoComplete2, 0xeac04bc0, 0x3791, 0x11d2, 0xbb,0x95, 0x00,0x60,0x97,0x7b,0x46,0x4c);
7664#if defined(__cplusplus) && !defined(CINTERFACE)
7665MIDL_INTERFACE("eac04bc0-3791-11d2-bb95-0060977b464c")
7666IAutoComplete2 : public IAutoComplete
7667{
7668    virtual HRESULT STDMETHODCALLTYPE SetOptions(
7669        DWORD dwFlag) = 0;
7670
7671    virtual HRESULT STDMETHODCALLTYPE GetOptions(
7672        DWORD *pdwFlag) = 0;
7673
7674};
7675#ifdef __CRT_UUID_DECL
7676__CRT_UUID_DECL(IAutoComplete2, 0xeac04bc0, 0x3791, 0x11d2, 0xbb,0x95, 0x00,0x60,0x97,0x7b,0x46,0x4c)
7677#endif
7678#else
7679typedef struct IAutoComplete2Vtbl {
7680    BEGIN_INTERFACE
7681
7682    /*** IUnknown methods ***/
7683    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7684        IAutoComplete2 *This,
7685        REFIID riid,
7686        void **ppvObject);
7687
7688    ULONG (STDMETHODCALLTYPE *AddRef)(
7689        IAutoComplete2 *This);
7690
7691    ULONG (STDMETHODCALLTYPE *Release)(
7692        IAutoComplete2 *This);
7693
7694    /*** IAutoComplete methods ***/
7695    HRESULT (STDMETHODCALLTYPE *Init)(
7696        IAutoComplete2 *This,
7697        HWND hwndEdit,
7698        IUnknown *punkACL,
7699        LPCWSTR pwszRegKeyPath,
7700        LPCWSTR pwszQuickComplete);
7701
7702    HRESULT (STDMETHODCALLTYPE *Enable)(
7703        IAutoComplete2 *This,
7704        WINBOOL fEnable);
7705
7706    /*** IAutoComplete2 methods ***/
7707    HRESULT (STDMETHODCALLTYPE *SetOptions)(
7708        IAutoComplete2 *This,
7709        DWORD dwFlag);
7710
7711    HRESULT (STDMETHODCALLTYPE *GetOptions)(
7712        IAutoComplete2 *This,
7713        DWORD *pdwFlag);
7714
7715    END_INTERFACE
7716} IAutoComplete2Vtbl;
7717
7718interface IAutoComplete2 {
7719    CONST_VTBL IAutoComplete2Vtbl* lpVtbl;
7720};
7721
7722#ifdef COBJMACROS
7723#ifndef WIDL_C_INLINE_WRAPPERS
7724/*** IUnknown methods ***/
7725#define IAutoComplete2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7726#define IAutoComplete2_AddRef(This) (This)->lpVtbl->AddRef(This)
7727#define IAutoComplete2_Release(This) (This)->lpVtbl->Release(This)
7728/*** IAutoComplete methods ***/
7729#define IAutoComplete2_Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete) (This)->lpVtbl->Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete)
7730#define IAutoComplete2_Enable(This,fEnable) (This)->lpVtbl->Enable(This,fEnable)
7731/*** IAutoComplete2 methods ***/
7732#define IAutoComplete2_SetOptions(This,dwFlag) (This)->lpVtbl->SetOptions(This,dwFlag)
7733#define IAutoComplete2_GetOptions(This,pdwFlag) (This)->lpVtbl->GetOptions(This,pdwFlag)
7734#else
7735/*** IUnknown methods ***/
7736static inline HRESULT IAutoComplete2_QueryInterface(IAutoComplete2* This,REFIID riid,void **ppvObject) {
7737    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7738}
7739static inline ULONG IAutoComplete2_AddRef(IAutoComplete2* This) {
7740    return This->lpVtbl->AddRef(This);
7741}
7742static inline ULONG IAutoComplete2_Release(IAutoComplete2* This) {
7743    return This->lpVtbl->Release(This);
7744}
7745/*** IAutoComplete methods ***/
7746static inline HRESULT IAutoComplete2_Init(IAutoComplete2* This,HWND hwndEdit,IUnknown *punkACL,LPCWSTR pwszRegKeyPath,LPCWSTR pwszQuickComplete) {
7747    return This->lpVtbl->Init(This,hwndEdit,punkACL,pwszRegKeyPath,pwszQuickComplete);
7748}
7749static inline HRESULT IAutoComplete2_Enable(IAutoComplete2* This,WINBOOL fEnable) {
7750    return This->lpVtbl->Enable(This,fEnable);
7751}
7752/*** IAutoComplete2 methods ***/
7753static inline HRESULT IAutoComplete2_SetOptions(IAutoComplete2* This,DWORD dwFlag) {
7754    return This->lpVtbl->SetOptions(This,dwFlag);
7755}
7756static inline HRESULT IAutoComplete2_GetOptions(IAutoComplete2* This,DWORD *pdwFlag) {
7757    return This->lpVtbl->GetOptions(This,pdwFlag);
7758}
7759#endif
7760#endif
7761
7762#endif
7763
7764
7765#endif  /* __IAutoComplete2_INTERFACE_DEFINED__ */
7766
7767
7768/*****************************************************************************
7769 * IEnumACString interface
7770 */
7771#ifndef __IEnumACString_INTERFACE_DEFINED__
7772#define __IEnumACString_INTERFACE_DEFINED__
7773
7774typedef IEnumACString *PENUMACSTRING;
7775typedef IEnumACString *LPENUMACSTRING;
7776typedef enum _tagACENUMOPTION {
7777    ACEO_NONE = 0x0,
7778    ACEO_MOSTRECENTFIRST = 0x1,
7779    ACEO_FIRSTUNUSED = 0x10000
7780} ACENUMOPTION;
7781DEFINE_GUID(IID_IEnumACString, 0x8e74c210, 0xcf9d, 0x4eaf, 0xa4,0x03, 0x73,0x56,0x42,0x8f,0x0a,0x5a);
7782#if defined(__cplusplus) && !defined(CINTERFACE)
7783MIDL_INTERFACE("8e74c210-cf9d-4eaf-a403-7356428f0a5a")
7784IEnumACString : public IEnumString
7785{
7786    virtual HRESULT STDMETHODCALLTYPE NextItem(
7787        LPWSTR pszUrl,
7788        ULONG cchMax,
7789        ULONG *pulSortIndex) = 0;
7790
7791    virtual HRESULT STDMETHODCALLTYPE SetEnumOptions(
7792        DWORD dwOptions) = 0;
7793
7794    virtual HRESULT STDMETHODCALLTYPE GetEnumOptions(
7795        DWORD *pdwOptions) = 0;
7796
7797};
7798#ifdef __CRT_UUID_DECL
7799__CRT_UUID_DECL(IEnumACString, 0x8e74c210, 0xcf9d, 0x4eaf, 0xa4,0x03, 0x73,0x56,0x42,0x8f,0x0a,0x5a)
7800#endif
7801#else
7802typedef struct IEnumACStringVtbl {
7803    BEGIN_INTERFACE
7804
7805    /*** IUnknown methods ***/
7806    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7807        IEnumACString *This,
7808        REFIID riid,
7809        void **ppvObject);
7810
7811    ULONG (STDMETHODCALLTYPE *AddRef)(
7812        IEnumACString *This);
7813
7814    ULONG (STDMETHODCALLTYPE *Release)(
7815        IEnumACString *This);
7816
7817    /*** IEnumString methods ***/
7818    HRESULT (STDMETHODCALLTYPE *Next)(
7819        IEnumACString *This,
7820        ULONG celt,
7821        LPOLESTR *rgelt,
7822        ULONG *pceltFetched);
7823
7824    HRESULT (STDMETHODCALLTYPE *Skip)(
7825        IEnumACString *This,
7826        ULONG celt);
7827
7828    HRESULT (STDMETHODCALLTYPE *Reset)(
7829        IEnumACString *This);
7830
7831    HRESULT (STDMETHODCALLTYPE *Clone)(
7832        IEnumACString *This,
7833        IEnumString **ppenum);
7834
7835    /*** IEnumACString methods ***/
7836    HRESULT (STDMETHODCALLTYPE *NextItem)(
7837        IEnumACString *This,
7838        LPWSTR pszUrl,
7839        ULONG cchMax,
7840        ULONG *pulSortIndex);
7841
7842    HRESULT (STDMETHODCALLTYPE *SetEnumOptions)(
7843        IEnumACString *This,
7844        DWORD dwOptions);
7845
7846    HRESULT (STDMETHODCALLTYPE *GetEnumOptions)(
7847        IEnumACString *This,
7848        DWORD *pdwOptions);
7849
7850    END_INTERFACE
7851} IEnumACStringVtbl;
7852
7853interface IEnumACString {
7854    CONST_VTBL IEnumACStringVtbl* lpVtbl;
7855};
7856
7857#ifdef COBJMACROS
7858#ifndef WIDL_C_INLINE_WRAPPERS
7859/*** IUnknown methods ***/
7860#define IEnumACString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7861#define IEnumACString_AddRef(This) (This)->lpVtbl->AddRef(This)
7862#define IEnumACString_Release(This) (This)->lpVtbl->Release(This)
7863/*** IEnumString methods ***/
7864#define IEnumACString_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
7865#define IEnumACString_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
7866#define IEnumACString_Reset(This) (This)->lpVtbl->Reset(This)
7867#define IEnumACString_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
7868/*** IEnumACString methods ***/
7869#define IEnumACString_NextItem(This,pszUrl,cchMax,pulSortIndex) (This)->lpVtbl->NextItem(This,pszUrl,cchMax,pulSortIndex)
7870#define IEnumACString_SetEnumOptions(This,dwOptions) (This)->lpVtbl->SetEnumOptions(This,dwOptions)
7871#define IEnumACString_GetEnumOptions(This,pdwOptions) (This)->lpVtbl->GetEnumOptions(This,pdwOptions)
7872#else
7873/*** IUnknown methods ***/
7874static inline HRESULT IEnumACString_QueryInterface(IEnumACString* This,REFIID riid,void **ppvObject) {
7875    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
7876}
7877static inline ULONG IEnumACString_AddRef(IEnumACString* This) {
7878    return This->lpVtbl->AddRef(This);
7879}
7880static inline ULONG IEnumACString_Release(IEnumACString* This) {
7881    return This->lpVtbl->Release(This);
7882}
7883/*** IEnumString methods ***/
7884static inline HRESULT IEnumACString_Next(IEnumACString* This,ULONG celt,LPOLESTR *rgelt,ULONG *pceltFetched) {
7885    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
7886}
7887static inline HRESULT IEnumACString_Skip(IEnumACString* This,ULONG celt) {
7888    return This->lpVtbl->Skip(This,celt);
7889}
7890static inline HRESULT IEnumACString_Reset(IEnumACString* This) {
7891    return This->lpVtbl->Reset(This);
7892}
7893static inline HRESULT IEnumACString_Clone(IEnumACString* This,IEnumString **ppenum) {
7894    return This->lpVtbl->Clone(This,ppenum);
7895}
7896/*** IEnumACString methods ***/
7897static inline HRESULT IEnumACString_NextItem(IEnumACString* This,LPWSTR pszUrl,ULONG cchMax,ULONG *pulSortIndex) {
7898    return This->lpVtbl->NextItem(This,pszUrl,cchMax,pulSortIndex);
7899}
7900static inline HRESULT IEnumACString_SetEnumOptions(IEnumACString* This,DWORD dwOptions) {
7901    return This->lpVtbl->SetEnumOptions(This,dwOptions);
7902}
7903static inline HRESULT IEnumACString_GetEnumOptions(IEnumACString* This,DWORD *pdwOptions) {
7904    return This->lpVtbl->GetEnumOptions(This,pdwOptions);
7905}
7906#endif
7907#endif
7908
7909#endif
7910
7911
7912#endif  /* __IEnumACString_INTERFACE_DEFINED__ */
7913
7914/*****************************************************************************
7915 * IDataObjectAsyncCapability interface
7916 */
7917#ifndef __IDataObjectAsyncCapability_INTERFACE_DEFINED__
7918#define __IDataObjectAsyncCapability_INTERFACE_DEFINED__
7919
7920DEFINE_GUID(IID_IDataObjectAsyncCapability, 0x3d8b0590, 0xf691, 0x11d2, 0x8e,0xa9, 0x00,0x60,0x97,0xdf,0x5b,0xd4);
7921#if defined(__cplusplus) && !defined(CINTERFACE)
7922MIDL_INTERFACE("3d8b0590-f691-11d2-8ea9-006097df5bd4")
7923IDataObjectAsyncCapability : public IUnknown
7924{
7925    virtual HRESULT STDMETHODCALLTYPE SetAsyncMode(
7926        WINBOOL fDoOpAsync) = 0;
7927
7928    virtual HRESULT STDMETHODCALLTYPE GetAsyncMode(
7929        WINBOOL *pfIsOpAsync) = 0;
7930
7931    virtual HRESULT STDMETHODCALLTYPE StartOperation(
7932        IBindCtx *pbcReserved) = 0;
7933
7934    virtual HRESULT STDMETHODCALLTYPE InOperation(
7935        WINBOOL *pfInAsyncOp) = 0;
7936
7937    virtual HRESULT STDMETHODCALLTYPE EndOperation(
7938        HRESULT hResult,
7939        IBindCtx *pbcReserved,
7940        DWORD dwEffects) = 0;
7941
7942};
7943#ifdef __CRT_UUID_DECL
7944__CRT_UUID_DECL(IDataObjectAsyncCapability, 0x3d8b0590, 0xf691, 0x11d2, 0x8e,0xa9, 0x00,0x60,0x97,0xdf,0x5b,0xd4)
7945#endif
7946#else
7947typedef struct IDataObjectAsyncCapabilityVtbl {
7948    BEGIN_INTERFACE
7949
7950    /*** IUnknown methods ***/
7951    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
7952        IDataObjectAsyncCapability *This,
7953        REFIID riid,
7954        void **ppvObject);
7955
7956    ULONG (STDMETHODCALLTYPE *AddRef)(
7957        IDataObjectAsyncCapability *This);
7958
7959    ULONG (STDMETHODCALLTYPE *Release)(
7960        IDataObjectAsyncCapability *This);
7961
7962    /*** IDataObjectAsyncCapability methods ***/
7963    HRESULT (STDMETHODCALLTYPE *SetAsyncMode)(
7964        IDataObjectAsyncCapability *This,
7965        WINBOOL fDoOpAsync);
7966
7967    HRESULT (STDMETHODCALLTYPE *GetAsyncMode)(
7968        IDataObjectAsyncCapability *This,
7969        WINBOOL *pfIsOpAsync);
7970
7971    HRESULT (STDMETHODCALLTYPE *StartOperation)(
7972        IDataObjectAsyncCapability *This,
7973        IBindCtx *pbcReserved);
7974
7975    HRESULT (STDMETHODCALLTYPE *InOperation)(
7976        IDataObjectAsyncCapability *This,
7977        WINBOOL *pfInAsyncOp);
7978
7979    HRESULT (STDMETHODCALLTYPE *EndOperation)(
7980        IDataObjectAsyncCapability *This,
7981        HRESULT hResult,
7982        IBindCtx *pbcReserved,
7983        DWORD dwEffects);
7984
7985    END_INTERFACE
7986} IDataObjectAsyncCapabilityVtbl;
7987
7988interface IDataObjectAsyncCapability {
7989    CONST_VTBL IDataObjectAsyncCapabilityVtbl* lpVtbl;
7990};
7991
7992#ifdef COBJMACROS
7993#ifndef WIDL_C_INLINE_WRAPPERS
7994/*** IUnknown methods ***/
7995#define IDataObjectAsyncCapability_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
7996#define IDataObjectAsyncCapability_AddRef(This) (This)->lpVtbl->AddRef(This)
7997#define IDataObjectAsyncCapability_Release(This) (This)->lpVtbl->Release(This)
7998/*** IDataObjectAsyncCapability methods ***/
7999#define IDataObjectAsyncCapability_SetAsyncMode(This,fDoOpAsync) (This)->lpVtbl->SetAsyncMode(This,fDoOpAsync)
8000#define IDataObjectAsyncCapability_GetAsyncMode(This,pfIsOpAsync) (This)->lpVtbl->GetAsyncMode(This,pfIsOpAsync)
8001#define IDataObjectAsyncCapability_StartOperation(This,pbcReserved) (This)->lpVtbl->StartOperation(This,pbcReserved)
8002#define IDataObjectAsyncCapability_InOperation(This,pfInAsyncOp) (This)->lpVtbl->InOperation(This,pfInAsyncOp)
8003#define IDataObjectAsyncCapability_EndOperation(This,hResult,pbcReserved,dwEffects) (This)->lpVtbl->EndOperation(This,hResult,pbcReserved,dwEffects)
8004#else
8005/*** IUnknown methods ***/
8006static inline HRESULT IDataObjectAsyncCapability_QueryInterface(IDataObjectAsyncCapability* This,REFIID riid,void **ppvObject) {
8007    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
8008}
8009static inline ULONG IDataObjectAsyncCapability_AddRef(IDataObjectAsyncCapability* This) {
8010    return This->lpVtbl->AddRef(This);
8011}
8012static inline ULONG IDataObjectAsyncCapability_Release(IDataObjectAsyncCapability* This) {
8013    return This->lpVtbl->Release(This);
8014}
8015/*** IDataObjectAsyncCapability methods ***/
8016static inline HRESULT IDataObjectAsyncCapability_SetAsyncMode(IDataObjectAsyncCapability* This,WINBOOL fDoOpAsync) {
8017    return This->lpVtbl->SetAsyncMode(This,fDoOpAsync);
8018}
8019static inline HRESULT IDataObjectAsyncCapability_GetAsyncMode(IDataObjectAsyncCapability* This,WINBOOL *pfIsOpAsync) {
8020    return This->lpVtbl->GetAsyncMode(This,pfIsOpAsync);
8021}
8022static inline HRESULT IDataObjectAsyncCapability_StartOperation(IDataObjectAsyncCapability* This,IBindCtx *pbcReserved) {
8023    return This->lpVtbl->StartOperation(This,pbcReserved);
8024}
8025static inline HRESULT IDataObjectAsyncCapability_InOperation(IDataObjectAsyncCapability* This,WINBOOL *pfInAsyncOp) {
8026    return This->lpVtbl->InOperation(This,pfInAsyncOp);
8027}
8028static inline HRESULT IDataObjectAsyncCapability_EndOperation(IDataObjectAsyncCapability* This,HRESULT hResult,IBindCtx *pbcReserved,DWORD dwEffects) {
8029    return This->lpVtbl->EndOperation(This,hResult,pbcReserved,dwEffects);
8030}
8031#endif
8032#endif
8033
8034#endif
8035
8036
8037#endif  /* __IDataObjectAsyncCapability_INTERFACE_DEFINED__ */
8038
8039#endif
8040/* Begin additional prototypes for all interfaces */
8041
8042ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
8043unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
8044unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
8045void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
8046ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
8047unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
8048unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
8049void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
8050
8051/* End additional prototypes */
8052
8053#ifdef __cplusplus
8054}
8055#endif
8056
8057#endif /* __shldisp_h__ */