master
   1/*** Autogenerated by WIDL 10.4 from include/xamlom.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 __xamlom_h__
  17#define __xamlom_h__
  18
  19/* Forward declarations */
  20
  21#ifndef __IVisualTreeServiceCallback_FWD_DEFINED__
  22#define __IVisualTreeServiceCallback_FWD_DEFINED__
  23typedef interface IVisualTreeServiceCallback IVisualTreeServiceCallback;
  24#ifdef __cplusplus
  25interface IVisualTreeServiceCallback;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __IVisualTreeServiceCallback2_FWD_DEFINED__
  30#define __IVisualTreeServiceCallback2_FWD_DEFINED__
  31typedef interface IVisualTreeServiceCallback2 IVisualTreeServiceCallback2;
  32#ifdef __cplusplus
  33interface IVisualTreeServiceCallback2;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __IVisualTreeService_FWD_DEFINED__
  38#define __IVisualTreeService_FWD_DEFINED__
  39typedef interface IVisualTreeService IVisualTreeService;
  40#ifdef __cplusplus
  41interface IVisualTreeService;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __IXamlDiagnostics_FWD_DEFINED__
  46#define __IXamlDiagnostics_FWD_DEFINED__
  47typedef interface IXamlDiagnostics IXamlDiagnostics;
  48#ifdef __cplusplus
  49interface IXamlDiagnostics;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __IBitmapData_FWD_DEFINED__
  54#define __IBitmapData_FWD_DEFINED__
  55typedef interface IBitmapData IBitmapData;
  56#ifdef __cplusplus
  57interface IBitmapData;
  58#endif /* __cplusplus */
  59#endif
  60
  61#ifndef __IVisualTreeService2_FWD_DEFINED__
  62#define __IVisualTreeService2_FWD_DEFINED__
  63typedef interface IVisualTreeService2 IVisualTreeService2;
  64#ifdef __cplusplus
  65interface IVisualTreeService2;
  66#endif /* __cplusplus */
  67#endif
  68
  69#ifndef __IVisualTreeService3_FWD_DEFINED__
  70#define __IVisualTreeService3_FWD_DEFINED__
  71typedef interface IVisualTreeService3 IVisualTreeService3;
  72#ifdef __cplusplus
  73interface IVisualTreeService3;
  74#endif /* __cplusplus */
  75#endif
  76
  77/* Headers for imported files */
  78
  79#include <oaidl.h>
  80#include <ocidl.h>
  81#include <inspectable.h>
  82#include <dxgi1_2.h>
  83
  84#ifdef __cplusplus
  85extern "C" {
  86#endif
  87
  88#ifndef E_NOTFOUND
  89#define E_NOTFOUND HRESULT_FROM_WIN32(ERROR_NOT_FOUND)
  90#endif
  91#define E_UNKNOWNTYPE _HRESULT_TYPEDEF_(0x802b0028)
  92HRESULT WINAPI InitializeXamlDiagnostic(PCWSTR, DWORD, PCWSTR, PCWSTR, CLSID);
  93HRESULT WINAPI InitializeXamlDiagnosticsEx(PCWSTR, DWORD, PCWSTR, PCWSTR, CLSID, PCWSTR);
  94typedef MIDL_uhyper InstanceHandle;
  95typedef enum VisualMutationType {
  96    Add = 0,
  97    Remove = 1
  98} VisualMutationType;
  99typedef enum BaseValueSource {
 100    BaseValueSourceUnknown = 0,
 101    BaseValueSourceDefault = 1,
 102    BaseValueSourceBuiltInStyle = 2,
 103    BaseValueSourceStyle = 3,
 104    BaseValueSourceLocal = 4,
 105    Inherited = 5,
 106    DefaultStyleTrigger = 6,
 107    TemplateTrigger = 7,
 108    StyleTrigger = 8,
 109    ImplicitStyleReference = 9,
 110    ParentTemplate = 10,
 111    ParentTemplateTrigger = 11,
 112    Animation = 12,
 113    Coercion = 13,
 114    BaseValueSourceVisualState = 14
 115} BaseValueSource;
 116typedef struct SourceInfo {
 117    BSTR FileName;
 118    unsigned int LineNumber;
 119    unsigned int ColumnNumber;
 120    unsigned int CharPosition;
 121    BSTR Hash;
 122} SourceInfo;
 123typedef struct ParentChildRelation {
 124    InstanceHandle Parent;
 125    InstanceHandle Child;
 126    unsigned int ChildIndex;
 127} ParentChildRelation;
 128typedef struct VisualElement {
 129    InstanceHandle Handle;
 130    SourceInfo SrcInfo;
 131    BSTR Type;
 132    BSTR Name;
 133    unsigned int NumChildren;
 134} VisualElement;
 135typedef struct PropertyChainSource {
 136    InstanceHandle Handle;
 137    BSTR TargetType;
 138    BSTR Name;
 139    BaseValueSource Source;
 140    SourceInfo SrcInfo;
 141} PropertyChainSource;
 142typedef enum MetadataBit {
 143    None = 0x0,
 144    IsValueHandle = 0x1,
 145    IsPropertyReadOnly = 0x2,
 146    IsValueCollection = 0x4,
 147    IsValueCollectionReadOnly = 0x8,
 148    IsValueBindingExpression = 0x10,
 149    IsValueNull = 0x20,
 150    IsValueHandleAndEvaluatedValue = 0x40
 151} MetadataBit;
 152typedef struct PropertyChainValue {
 153    unsigned int Index;
 154    BSTR Type;
 155    BSTR DeclaringType;
 156    BSTR ValueType;
 157    BSTR ItemType;
 158    BSTR Value;
 159    WINBOOL Overridden;
 160    hyper MetadataBits;
 161    BSTR PropertyName;
 162    unsigned int PropertyChainIndex;
 163} PropertyChainValue;
 164typedef struct EnumType {
 165    BSTR Name;
 166    SAFEARRAY *ValueInts;
 167    SAFEARRAY *ValueStrings;
 168} EnumType;
 169typedef struct CollectionElementValue {
 170    unsigned int Index;
 171    BSTR ValueType;
 172    BSTR Value;
 173    hyper MetadataBits;
 174} CollectionElementValue;
 175typedef enum RenderTargetBitmapOptions {
 176    RenderTarget = 0,
 177    RenderTargetAndChildren = 1
 178} RenderTargetBitmapOptions;
 179typedef struct BitmapDescription {
 180    unsigned int Width;
 181    unsigned int Height;
 182    DXGI_FORMAT Format;
 183    DXGI_ALPHA_MODE AlphaMode;
 184} BitmapDescription;
 185typedef enum ResourceType {
 186    ResourceTypeStatic = 0,
 187    ResourceTypeTheme = 1
 188} ResourceType;
 189typedef enum VisualElementState {
 190    ErrorResolved = 0,
 191    ErrorResourceNotFound = 1,
 192    ErrorInvalidResource = 2
 193} VisualElementState;
 194/*****************************************************************************
 195 * IVisualTreeServiceCallback interface
 196 */
 197#ifndef __IVisualTreeServiceCallback_INTERFACE_DEFINED__
 198#define __IVisualTreeServiceCallback_INTERFACE_DEFINED__
 199
 200DEFINE_GUID(IID_IVisualTreeServiceCallback, 0xaa7a8931, 0x80e4, 0x4fec, 0x8f,0x3b, 0x55,0x3f,0x87,0xb4,0x96,0x6e);
 201#if defined(__cplusplus) && !defined(CINTERFACE)
 202MIDL_INTERFACE("aa7a8931-80e4-4fec-8f3b-553f87b4966e")
 203IVisualTreeServiceCallback : public IUnknown
 204{
 205    virtual HRESULT STDMETHODCALLTYPE OnVisualTreeChange(
 206        ParentChildRelation relation,
 207        VisualElement element,
 208        VisualMutationType mutation_type) = 0;
 209
 210};
 211#ifdef __CRT_UUID_DECL
 212__CRT_UUID_DECL(IVisualTreeServiceCallback, 0xaa7a8931, 0x80e4, 0x4fec, 0x8f,0x3b, 0x55,0x3f,0x87,0xb4,0x96,0x6e)
 213#endif
 214#else
 215typedef struct IVisualTreeServiceCallbackVtbl {
 216    BEGIN_INTERFACE
 217
 218    /*** IUnknown methods ***/
 219    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 220        IVisualTreeServiceCallback *This,
 221        REFIID riid,
 222        void **ppvObject);
 223
 224    ULONG (STDMETHODCALLTYPE *AddRef)(
 225        IVisualTreeServiceCallback *This);
 226
 227    ULONG (STDMETHODCALLTYPE *Release)(
 228        IVisualTreeServiceCallback *This);
 229
 230    /*** IVisualTreeServiceCallback methods ***/
 231    HRESULT (STDMETHODCALLTYPE *OnVisualTreeChange)(
 232        IVisualTreeServiceCallback *This,
 233        ParentChildRelation relation,
 234        VisualElement element,
 235        VisualMutationType mutation_type);
 236
 237    END_INTERFACE
 238} IVisualTreeServiceCallbackVtbl;
 239
 240interface IVisualTreeServiceCallback {
 241    CONST_VTBL IVisualTreeServiceCallbackVtbl* lpVtbl;
 242};
 243
 244#ifdef COBJMACROS
 245#ifndef WIDL_C_INLINE_WRAPPERS
 246/*** IUnknown methods ***/
 247#define IVisualTreeServiceCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 248#define IVisualTreeServiceCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
 249#define IVisualTreeServiceCallback_Release(This) (This)->lpVtbl->Release(This)
 250/*** IVisualTreeServiceCallback methods ***/
 251#define IVisualTreeServiceCallback_OnVisualTreeChange(This,relation,element,mutation_type) (This)->lpVtbl->OnVisualTreeChange(This,relation,element,mutation_type)
 252#else
 253/*** IUnknown methods ***/
 254static inline HRESULT IVisualTreeServiceCallback_QueryInterface(IVisualTreeServiceCallback* This,REFIID riid,void **ppvObject) {
 255    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 256}
 257static inline ULONG IVisualTreeServiceCallback_AddRef(IVisualTreeServiceCallback* This) {
 258    return This->lpVtbl->AddRef(This);
 259}
 260static inline ULONG IVisualTreeServiceCallback_Release(IVisualTreeServiceCallback* This) {
 261    return This->lpVtbl->Release(This);
 262}
 263/*** IVisualTreeServiceCallback methods ***/
 264static inline HRESULT IVisualTreeServiceCallback_OnVisualTreeChange(IVisualTreeServiceCallback* This,ParentChildRelation relation,VisualElement element,VisualMutationType mutation_type) {
 265    return This->lpVtbl->OnVisualTreeChange(This,relation,element,mutation_type);
 266}
 267#endif
 268#endif
 269
 270#endif
 271
 272
 273#endif  /* __IVisualTreeServiceCallback_INTERFACE_DEFINED__ */
 274
 275/*****************************************************************************
 276 * IVisualTreeServiceCallback2 interface
 277 */
 278#ifndef __IVisualTreeServiceCallback2_INTERFACE_DEFINED__
 279#define __IVisualTreeServiceCallback2_INTERFACE_DEFINED__
 280
 281DEFINE_GUID(IID_IVisualTreeServiceCallback2, 0xbad9eb88, 0xae77, 0x4397, 0xb9,0x48, 0x5f,0xa2,0xdb,0x0a,0x19,0xea);
 282#if defined(__cplusplus) && !defined(CINTERFACE)
 283MIDL_INTERFACE("bad9eb88-ae77-4397-b948-5fa2db0a19ea")
 284IVisualTreeServiceCallback2 : public IVisualTreeServiceCallback
 285{
 286    virtual HRESULT STDMETHODCALLTYPE OnElementStateChanged(
 287        InstanceHandle element,
 288        VisualElementState element_state,
 289        LPCWSTR context) = 0;
 290
 291};
 292#ifdef __CRT_UUID_DECL
 293__CRT_UUID_DECL(IVisualTreeServiceCallback2, 0xbad9eb88, 0xae77, 0x4397, 0xb9,0x48, 0x5f,0xa2,0xdb,0x0a,0x19,0xea)
 294#endif
 295#else
 296typedef struct IVisualTreeServiceCallback2Vtbl {
 297    BEGIN_INTERFACE
 298
 299    /*** IUnknown methods ***/
 300    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 301        IVisualTreeServiceCallback2 *This,
 302        REFIID riid,
 303        void **ppvObject);
 304
 305    ULONG (STDMETHODCALLTYPE *AddRef)(
 306        IVisualTreeServiceCallback2 *This);
 307
 308    ULONG (STDMETHODCALLTYPE *Release)(
 309        IVisualTreeServiceCallback2 *This);
 310
 311    /*** IVisualTreeServiceCallback methods ***/
 312    HRESULT (STDMETHODCALLTYPE *OnVisualTreeChange)(
 313        IVisualTreeServiceCallback2 *This,
 314        ParentChildRelation relation,
 315        VisualElement element,
 316        VisualMutationType mutation_type);
 317
 318    /*** IVisualTreeServiceCallback2 methods ***/
 319    HRESULT (STDMETHODCALLTYPE *OnElementStateChanged)(
 320        IVisualTreeServiceCallback2 *This,
 321        InstanceHandle element,
 322        VisualElementState element_state,
 323        LPCWSTR context);
 324
 325    END_INTERFACE
 326} IVisualTreeServiceCallback2Vtbl;
 327
 328interface IVisualTreeServiceCallback2 {
 329    CONST_VTBL IVisualTreeServiceCallback2Vtbl* lpVtbl;
 330};
 331
 332#ifdef COBJMACROS
 333#ifndef WIDL_C_INLINE_WRAPPERS
 334/*** IUnknown methods ***/
 335#define IVisualTreeServiceCallback2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 336#define IVisualTreeServiceCallback2_AddRef(This) (This)->lpVtbl->AddRef(This)
 337#define IVisualTreeServiceCallback2_Release(This) (This)->lpVtbl->Release(This)
 338/*** IVisualTreeServiceCallback methods ***/
 339#define IVisualTreeServiceCallback2_OnVisualTreeChange(This,relation,element,mutation_type) (This)->lpVtbl->OnVisualTreeChange(This,relation,element,mutation_type)
 340/*** IVisualTreeServiceCallback2 methods ***/
 341#define IVisualTreeServiceCallback2_OnElementStateChanged(This,element,element_state,context) (This)->lpVtbl->OnElementStateChanged(This,element,element_state,context)
 342#else
 343/*** IUnknown methods ***/
 344static inline HRESULT IVisualTreeServiceCallback2_QueryInterface(IVisualTreeServiceCallback2* This,REFIID riid,void **ppvObject) {
 345    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 346}
 347static inline ULONG IVisualTreeServiceCallback2_AddRef(IVisualTreeServiceCallback2* This) {
 348    return This->lpVtbl->AddRef(This);
 349}
 350static inline ULONG IVisualTreeServiceCallback2_Release(IVisualTreeServiceCallback2* This) {
 351    return This->lpVtbl->Release(This);
 352}
 353/*** IVisualTreeServiceCallback methods ***/
 354static inline HRESULT IVisualTreeServiceCallback2_OnVisualTreeChange(IVisualTreeServiceCallback2* This,ParentChildRelation relation,VisualElement element,VisualMutationType mutation_type) {
 355    return This->lpVtbl->OnVisualTreeChange(This,relation,element,mutation_type);
 356}
 357/*** IVisualTreeServiceCallback2 methods ***/
 358static inline HRESULT IVisualTreeServiceCallback2_OnElementStateChanged(IVisualTreeServiceCallback2* This,InstanceHandle element,VisualElementState element_state,LPCWSTR context) {
 359    return This->lpVtbl->OnElementStateChanged(This,element,element_state,context);
 360}
 361#endif
 362#endif
 363
 364#endif
 365
 366
 367#endif  /* __IVisualTreeServiceCallback2_INTERFACE_DEFINED__ */
 368
 369/*****************************************************************************
 370 * IVisualTreeService interface
 371 */
 372#ifndef __IVisualTreeService_INTERFACE_DEFINED__
 373#define __IVisualTreeService_INTERFACE_DEFINED__
 374
 375DEFINE_GUID(IID_IVisualTreeService, 0xa593b11a, 0xd17f, 0x48bb, 0x8f,0x66, 0x83,0x91,0x07,0x31,0xc8,0xa5);
 376#if defined(__cplusplus) && !defined(CINTERFACE)
 377MIDL_INTERFACE("a593b11a-d17f-48bb-8f66-83910731c8a5")
 378IVisualTreeService : public IUnknown
 379{
 380    virtual HRESULT STDMETHODCALLTYPE AdviseVisualTreeChange(
 381        IVisualTreeServiceCallback *callback) = 0;
 382
 383    virtual HRESULT STDMETHODCALLTYPE UnadviseVisualTreeChange(
 384        IVisualTreeServiceCallback *callback) = 0;
 385
 386    virtual HRESULT STDMETHODCALLTYPE GetEnums(
 387        unsigned int *count,
 388        EnumType **enums) = 0;
 389
 390    virtual HRESULT STDMETHODCALLTYPE CreateInstance(
 391        BSTR type_name,
 392        BSTR value,
 393        InstanceHandle *instance_handle) = 0;
 394
 395    virtual HRESULT STDMETHODCALLTYPE GetPropertyValuesChain(
 396        InstanceHandle instance_handle,
 397        unsigned int *source_count,
 398        PropertyChainSource **property_sources,
 399        unsigned int *property_count,
 400        PropertyChainValue **property_values) = 0;
 401
 402    virtual HRESULT STDMETHODCALLTYPE SetProperty(
 403        InstanceHandle instance_handle,
 404        InstanceHandle value,
 405        unsigned int property_index) = 0;
 406
 407    virtual HRESULT STDMETHODCALLTYPE ClearProperty(
 408        InstanceHandle instance_handle,
 409        unsigned int property_index) = 0;
 410
 411    virtual HRESULT STDMETHODCALLTYPE GetCollectionCount(
 412        InstanceHandle instance_handle,
 413        unsigned int *collection_size) = 0;
 414
 415    virtual HRESULT STDMETHODCALLTYPE GetCollectionElements(
 416        InstanceHandle instance_handle,
 417        unsigned int start_index,
 418        unsigned int *element_count,
 419        CollectionElementValue **element_values) = 0;
 420
 421    virtual HRESULT STDMETHODCALLTYPE AddChild(
 422        InstanceHandle parent,
 423        InstanceHandle child,
 424        unsigned int index) = 0;
 425
 426    virtual HRESULT STDMETHODCALLTYPE RemoveChild(
 427        InstanceHandle parent,
 428        unsigned int index) = 0;
 429
 430    virtual HRESULT STDMETHODCALLTYPE ClearChildren(
 431        InstanceHandle parent) = 0;
 432
 433};
 434#ifdef __CRT_UUID_DECL
 435__CRT_UUID_DECL(IVisualTreeService, 0xa593b11a, 0xd17f, 0x48bb, 0x8f,0x66, 0x83,0x91,0x07,0x31,0xc8,0xa5)
 436#endif
 437#else
 438typedef struct IVisualTreeServiceVtbl {
 439    BEGIN_INTERFACE
 440
 441    /*** IUnknown methods ***/
 442    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 443        IVisualTreeService *This,
 444        REFIID riid,
 445        void **ppvObject);
 446
 447    ULONG (STDMETHODCALLTYPE *AddRef)(
 448        IVisualTreeService *This);
 449
 450    ULONG (STDMETHODCALLTYPE *Release)(
 451        IVisualTreeService *This);
 452
 453    /*** IVisualTreeService methods ***/
 454    HRESULT (STDMETHODCALLTYPE *AdviseVisualTreeChange)(
 455        IVisualTreeService *This,
 456        IVisualTreeServiceCallback *callback);
 457
 458    HRESULT (STDMETHODCALLTYPE *UnadviseVisualTreeChange)(
 459        IVisualTreeService *This,
 460        IVisualTreeServiceCallback *callback);
 461
 462    HRESULT (STDMETHODCALLTYPE *GetEnums)(
 463        IVisualTreeService *This,
 464        unsigned int *count,
 465        EnumType **enums);
 466
 467    HRESULT (STDMETHODCALLTYPE *CreateInstance)(
 468        IVisualTreeService *This,
 469        BSTR type_name,
 470        BSTR value,
 471        InstanceHandle *instance_handle);
 472
 473    HRESULT (STDMETHODCALLTYPE *GetPropertyValuesChain)(
 474        IVisualTreeService *This,
 475        InstanceHandle instance_handle,
 476        unsigned int *source_count,
 477        PropertyChainSource **property_sources,
 478        unsigned int *property_count,
 479        PropertyChainValue **property_values);
 480
 481    HRESULT (STDMETHODCALLTYPE *SetProperty)(
 482        IVisualTreeService *This,
 483        InstanceHandle instance_handle,
 484        InstanceHandle value,
 485        unsigned int property_index);
 486
 487    HRESULT (STDMETHODCALLTYPE *ClearProperty)(
 488        IVisualTreeService *This,
 489        InstanceHandle instance_handle,
 490        unsigned int property_index);
 491
 492    HRESULT (STDMETHODCALLTYPE *GetCollectionCount)(
 493        IVisualTreeService *This,
 494        InstanceHandle instance_handle,
 495        unsigned int *collection_size);
 496
 497    HRESULT (STDMETHODCALLTYPE *GetCollectionElements)(
 498        IVisualTreeService *This,
 499        InstanceHandle instance_handle,
 500        unsigned int start_index,
 501        unsigned int *element_count,
 502        CollectionElementValue **element_values);
 503
 504    HRESULT (STDMETHODCALLTYPE *AddChild)(
 505        IVisualTreeService *This,
 506        InstanceHandle parent,
 507        InstanceHandle child,
 508        unsigned int index);
 509
 510    HRESULT (STDMETHODCALLTYPE *RemoveChild)(
 511        IVisualTreeService *This,
 512        InstanceHandle parent,
 513        unsigned int index);
 514
 515    HRESULT (STDMETHODCALLTYPE *ClearChildren)(
 516        IVisualTreeService *This,
 517        InstanceHandle parent);
 518
 519    END_INTERFACE
 520} IVisualTreeServiceVtbl;
 521
 522interface IVisualTreeService {
 523    CONST_VTBL IVisualTreeServiceVtbl* lpVtbl;
 524};
 525
 526#ifdef COBJMACROS
 527#ifndef WIDL_C_INLINE_WRAPPERS
 528/*** IUnknown methods ***/
 529#define IVisualTreeService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 530#define IVisualTreeService_AddRef(This) (This)->lpVtbl->AddRef(This)
 531#define IVisualTreeService_Release(This) (This)->lpVtbl->Release(This)
 532/*** IVisualTreeService methods ***/
 533#define IVisualTreeService_AdviseVisualTreeChange(This,callback) (This)->lpVtbl->AdviseVisualTreeChange(This,callback)
 534#define IVisualTreeService_UnadviseVisualTreeChange(This,callback) (This)->lpVtbl->UnadviseVisualTreeChange(This,callback)
 535#define IVisualTreeService_GetEnums(This,count,enums) (This)->lpVtbl->GetEnums(This,count,enums)
 536#define IVisualTreeService_CreateInstance(This,type_name,value,instance_handle) (This)->lpVtbl->CreateInstance(This,type_name,value,instance_handle)
 537#define IVisualTreeService_GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values) (This)->lpVtbl->GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values)
 538#define IVisualTreeService_SetProperty(This,instance_handle,value,property_index) (This)->lpVtbl->SetProperty(This,instance_handle,value,property_index)
 539#define IVisualTreeService_ClearProperty(This,instance_handle,property_index) (This)->lpVtbl->ClearProperty(This,instance_handle,property_index)
 540#define IVisualTreeService_GetCollectionCount(This,instance_handle,collection_size) (This)->lpVtbl->GetCollectionCount(This,instance_handle,collection_size)
 541#define IVisualTreeService_GetCollectionElements(This,instance_handle,start_index,element_count,element_values) (This)->lpVtbl->GetCollectionElements(This,instance_handle,start_index,element_count,element_values)
 542#define IVisualTreeService_AddChild(This,parent,child,index) (This)->lpVtbl->AddChild(This,parent,child,index)
 543#define IVisualTreeService_RemoveChild(This,parent,index) (This)->lpVtbl->RemoveChild(This,parent,index)
 544#define IVisualTreeService_ClearChildren(This,parent) (This)->lpVtbl->ClearChildren(This,parent)
 545#else
 546/*** IUnknown methods ***/
 547static inline HRESULT IVisualTreeService_QueryInterface(IVisualTreeService* This,REFIID riid,void **ppvObject) {
 548    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 549}
 550static inline ULONG IVisualTreeService_AddRef(IVisualTreeService* This) {
 551    return This->lpVtbl->AddRef(This);
 552}
 553static inline ULONG IVisualTreeService_Release(IVisualTreeService* This) {
 554    return This->lpVtbl->Release(This);
 555}
 556/*** IVisualTreeService methods ***/
 557static inline HRESULT IVisualTreeService_AdviseVisualTreeChange(IVisualTreeService* This,IVisualTreeServiceCallback *callback) {
 558    return This->lpVtbl->AdviseVisualTreeChange(This,callback);
 559}
 560static inline HRESULT IVisualTreeService_UnadviseVisualTreeChange(IVisualTreeService* This,IVisualTreeServiceCallback *callback) {
 561    return This->lpVtbl->UnadviseVisualTreeChange(This,callback);
 562}
 563static inline HRESULT IVisualTreeService_GetEnums(IVisualTreeService* This,unsigned int *count,EnumType **enums) {
 564    return This->lpVtbl->GetEnums(This,count,enums);
 565}
 566static inline HRESULT IVisualTreeService_CreateInstance(IVisualTreeService* This,BSTR type_name,BSTR value,InstanceHandle *instance_handle) {
 567    return This->lpVtbl->CreateInstance(This,type_name,value,instance_handle);
 568}
 569static inline HRESULT IVisualTreeService_GetPropertyValuesChain(IVisualTreeService* This,InstanceHandle instance_handle,unsigned int *source_count,PropertyChainSource **property_sources,unsigned int *property_count,PropertyChainValue **property_values) {
 570    return This->lpVtbl->GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values);
 571}
 572static inline HRESULT IVisualTreeService_SetProperty(IVisualTreeService* This,InstanceHandle instance_handle,InstanceHandle value,unsigned int property_index) {
 573    return This->lpVtbl->SetProperty(This,instance_handle,value,property_index);
 574}
 575static inline HRESULT IVisualTreeService_ClearProperty(IVisualTreeService* This,InstanceHandle instance_handle,unsigned int property_index) {
 576    return This->lpVtbl->ClearProperty(This,instance_handle,property_index);
 577}
 578static inline HRESULT IVisualTreeService_GetCollectionCount(IVisualTreeService* This,InstanceHandle instance_handle,unsigned int *collection_size) {
 579    return This->lpVtbl->GetCollectionCount(This,instance_handle,collection_size);
 580}
 581static inline HRESULT IVisualTreeService_GetCollectionElements(IVisualTreeService* This,InstanceHandle instance_handle,unsigned int start_index,unsigned int *element_count,CollectionElementValue **element_values) {
 582    return This->lpVtbl->GetCollectionElements(This,instance_handle,start_index,element_count,element_values);
 583}
 584static inline HRESULT IVisualTreeService_AddChild(IVisualTreeService* This,InstanceHandle parent,InstanceHandle child,unsigned int index) {
 585    return This->lpVtbl->AddChild(This,parent,child,index);
 586}
 587static inline HRESULT IVisualTreeService_RemoveChild(IVisualTreeService* This,InstanceHandle parent,unsigned int index) {
 588    return This->lpVtbl->RemoveChild(This,parent,index);
 589}
 590static inline HRESULT IVisualTreeService_ClearChildren(IVisualTreeService* This,InstanceHandle parent) {
 591    return This->lpVtbl->ClearChildren(This,parent);
 592}
 593#endif
 594#endif
 595
 596#endif
 597
 598
 599#endif  /* __IVisualTreeService_INTERFACE_DEFINED__ */
 600
 601/*****************************************************************************
 602 * IXamlDiagnostics interface
 603 */
 604#ifndef __IXamlDiagnostics_INTERFACE_DEFINED__
 605#define __IXamlDiagnostics_INTERFACE_DEFINED__
 606
 607DEFINE_GUID(IID_IXamlDiagnostics, 0x18c9e2b6, 0x3f43, 0x4116, 0x9f,0x2b, 0xff,0x93,0x5d,0x77,0x70,0xd2);
 608#if defined(__cplusplus) && !defined(CINTERFACE)
 609MIDL_INTERFACE("18c9e2b6-3f43-4116-9f2b-ff935d7770d2")
 610IXamlDiagnostics : public IUnknown
 611{
 612    virtual HRESULT STDMETHODCALLTYPE GetDispatcher(
 613        IInspectable **dispatcher) = 0;
 614
 615    virtual HRESULT STDMETHODCALLTYPE GetUiLayer(
 616        IInspectable **layer) = 0;
 617
 618    virtual HRESULT STDMETHODCALLTYPE GetApplication(
 619        IInspectable **application) = 0;
 620
 621    virtual HRESULT STDMETHODCALLTYPE GetIInspectableFromHandle(
 622        InstanceHandle instance_handle,
 623        IInspectable **instance) = 0;
 624
 625    virtual HRESULT STDMETHODCALLTYPE GetHandleFromIInspectable(
 626        IInspectable *instance,
 627        InstanceHandle *handle) = 0;
 628
 629    virtual HRESULT STDMETHODCALLTYPE HitTest(
 630        RECT rect,
 631        unsigned int *count,
 632        InstanceHandle **instance_handles) = 0;
 633
 634    virtual HRESULT STDMETHODCALLTYPE RegisterInstance(
 635        IInspectable *instance,
 636        InstanceHandle *instance_handle) = 0;
 637
 638    virtual HRESULT STDMETHODCALLTYPE GetInitializationData(
 639        BSTR *initialization_data) = 0;
 640
 641};
 642#ifdef __CRT_UUID_DECL
 643__CRT_UUID_DECL(IXamlDiagnostics, 0x18c9e2b6, 0x3f43, 0x4116, 0x9f,0x2b, 0xff,0x93,0x5d,0x77,0x70,0xd2)
 644#endif
 645#else
 646typedef struct IXamlDiagnosticsVtbl {
 647    BEGIN_INTERFACE
 648
 649    /*** IUnknown methods ***/
 650    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 651        IXamlDiagnostics *This,
 652        REFIID riid,
 653        void **ppvObject);
 654
 655    ULONG (STDMETHODCALLTYPE *AddRef)(
 656        IXamlDiagnostics *This);
 657
 658    ULONG (STDMETHODCALLTYPE *Release)(
 659        IXamlDiagnostics *This);
 660
 661    /*** IXamlDiagnostics methods ***/
 662    HRESULT (STDMETHODCALLTYPE *GetDispatcher)(
 663        IXamlDiagnostics *This,
 664        IInspectable **dispatcher);
 665
 666    HRESULT (STDMETHODCALLTYPE *GetUiLayer)(
 667        IXamlDiagnostics *This,
 668        IInspectable **layer);
 669
 670    HRESULT (STDMETHODCALLTYPE *GetApplication)(
 671        IXamlDiagnostics *This,
 672        IInspectable **application);
 673
 674    HRESULT (STDMETHODCALLTYPE *GetIInspectableFromHandle)(
 675        IXamlDiagnostics *This,
 676        InstanceHandle instance_handle,
 677        IInspectable **instance);
 678
 679    HRESULT (STDMETHODCALLTYPE *GetHandleFromIInspectable)(
 680        IXamlDiagnostics *This,
 681        IInspectable *instance,
 682        InstanceHandle *handle);
 683
 684    HRESULT (STDMETHODCALLTYPE *HitTest)(
 685        IXamlDiagnostics *This,
 686        RECT rect,
 687        unsigned int *count,
 688        InstanceHandle **instance_handles);
 689
 690    HRESULT (STDMETHODCALLTYPE *RegisterInstance)(
 691        IXamlDiagnostics *This,
 692        IInspectable *instance,
 693        InstanceHandle *instance_handle);
 694
 695    HRESULT (STDMETHODCALLTYPE *GetInitializationData)(
 696        IXamlDiagnostics *This,
 697        BSTR *initialization_data);
 698
 699    END_INTERFACE
 700} IXamlDiagnosticsVtbl;
 701
 702interface IXamlDiagnostics {
 703    CONST_VTBL IXamlDiagnosticsVtbl* lpVtbl;
 704};
 705
 706#ifdef COBJMACROS
 707#ifndef WIDL_C_INLINE_WRAPPERS
 708/*** IUnknown methods ***/
 709#define IXamlDiagnostics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 710#define IXamlDiagnostics_AddRef(This) (This)->lpVtbl->AddRef(This)
 711#define IXamlDiagnostics_Release(This) (This)->lpVtbl->Release(This)
 712/*** IXamlDiagnostics methods ***/
 713#define IXamlDiagnostics_GetDispatcher(This,dispatcher) (This)->lpVtbl->GetDispatcher(This,dispatcher)
 714#define IXamlDiagnostics_GetUiLayer(This,layer) (This)->lpVtbl->GetUiLayer(This,layer)
 715#define IXamlDiagnostics_GetApplication(This,application) (This)->lpVtbl->GetApplication(This,application)
 716#define IXamlDiagnostics_GetIInspectableFromHandle(This,instance_handle,instance) (This)->lpVtbl->GetIInspectableFromHandle(This,instance_handle,instance)
 717#define IXamlDiagnostics_GetHandleFromIInspectable(This,instance,handle) (This)->lpVtbl->GetHandleFromIInspectable(This,instance,handle)
 718#define IXamlDiagnostics_HitTest(This,rect,count,instance_handles) (This)->lpVtbl->HitTest(This,rect,count,instance_handles)
 719#define IXamlDiagnostics_RegisterInstance(This,instance,instance_handle) (This)->lpVtbl->RegisterInstance(This,instance,instance_handle)
 720#define IXamlDiagnostics_GetInitializationData(This,initialization_data) (This)->lpVtbl->GetInitializationData(This,initialization_data)
 721#else
 722/*** IUnknown methods ***/
 723static inline HRESULT IXamlDiagnostics_QueryInterface(IXamlDiagnostics* This,REFIID riid,void **ppvObject) {
 724    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 725}
 726static inline ULONG IXamlDiagnostics_AddRef(IXamlDiagnostics* This) {
 727    return This->lpVtbl->AddRef(This);
 728}
 729static inline ULONG IXamlDiagnostics_Release(IXamlDiagnostics* This) {
 730    return This->lpVtbl->Release(This);
 731}
 732/*** IXamlDiagnostics methods ***/
 733static inline HRESULT IXamlDiagnostics_GetDispatcher(IXamlDiagnostics* This,IInspectable **dispatcher) {
 734    return This->lpVtbl->GetDispatcher(This,dispatcher);
 735}
 736static inline HRESULT IXamlDiagnostics_GetUiLayer(IXamlDiagnostics* This,IInspectable **layer) {
 737    return This->lpVtbl->GetUiLayer(This,layer);
 738}
 739static inline HRESULT IXamlDiagnostics_GetApplication(IXamlDiagnostics* This,IInspectable **application) {
 740    return This->lpVtbl->GetApplication(This,application);
 741}
 742static inline HRESULT IXamlDiagnostics_GetIInspectableFromHandle(IXamlDiagnostics* This,InstanceHandle instance_handle,IInspectable **instance) {
 743    return This->lpVtbl->GetIInspectableFromHandle(This,instance_handle,instance);
 744}
 745static inline HRESULT IXamlDiagnostics_GetHandleFromIInspectable(IXamlDiagnostics* This,IInspectable *instance,InstanceHandle *handle) {
 746    return This->lpVtbl->GetHandleFromIInspectable(This,instance,handle);
 747}
 748static inline HRESULT IXamlDiagnostics_HitTest(IXamlDiagnostics* This,RECT rect,unsigned int *count,InstanceHandle **instance_handles) {
 749    return This->lpVtbl->HitTest(This,rect,count,instance_handles);
 750}
 751static inline HRESULT IXamlDiagnostics_RegisterInstance(IXamlDiagnostics* This,IInspectable *instance,InstanceHandle *instance_handle) {
 752    return This->lpVtbl->RegisterInstance(This,instance,instance_handle);
 753}
 754static inline HRESULT IXamlDiagnostics_GetInitializationData(IXamlDiagnostics* This,BSTR *initialization_data) {
 755    return This->lpVtbl->GetInitializationData(This,initialization_data);
 756}
 757#endif
 758#endif
 759
 760#endif
 761
 762
 763#endif  /* __IXamlDiagnostics_INTERFACE_DEFINED__ */
 764
 765/*****************************************************************************
 766 * IBitmapData interface
 767 */
 768#ifndef __IBitmapData_INTERFACE_DEFINED__
 769#define __IBitmapData_INTERFACE_DEFINED__
 770
 771DEFINE_GUID(IID_IBitmapData, 0xd1a34ef2, 0xcad8, 0x4635, 0xa3,0xd2, 0xfc,0xda,0x8d,0x3f,0x3c,0xaf);
 772#if defined(__cplusplus) && !defined(CINTERFACE)
 773MIDL_INTERFACE("d1a34ef2-cad8-4635-a3d2-fcda8d3f3caf")
 774IBitmapData : public IUnknown
 775{
 776    virtual HRESULT STDMETHODCALLTYPE CopyBytesTo(
 777        unsigned int source_offset_in_bytes,
 778        unsigned int max_bytes_to_copy,
 779        byte *bytes,
 780        unsigned int *number_of_bytes_copied) = 0;
 781
 782    virtual HRESULT STDMETHODCALLTYPE GetStride(
 783        unsigned int *stride) = 0;
 784
 785    virtual HRESULT STDMETHODCALLTYPE GetBitmapDescription(
 786        BitmapDescription *bitmap_description) = 0;
 787
 788    virtual HRESULT STDMETHODCALLTYPE GetSourceBitmapDescription(
 789        BitmapDescription *bitmap_description) = 0;
 790
 791};
 792#ifdef __CRT_UUID_DECL
 793__CRT_UUID_DECL(IBitmapData, 0xd1a34ef2, 0xcad8, 0x4635, 0xa3,0xd2, 0xfc,0xda,0x8d,0x3f,0x3c,0xaf)
 794#endif
 795#else
 796typedef struct IBitmapDataVtbl {
 797    BEGIN_INTERFACE
 798
 799    /*** IUnknown methods ***/
 800    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 801        IBitmapData *This,
 802        REFIID riid,
 803        void **ppvObject);
 804
 805    ULONG (STDMETHODCALLTYPE *AddRef)(
 806        IBitmapData *This);
 807
 808    ULONG (STDMETHODCALLTYPE *Release)(
 809        IBitmapData *This);
 810
 811    /*** IBitmapData methods ***/
 812    HRESULT (STDMETHODCALLTYPE *CopyBytesTo)(
 813        IBitmapData *This,
 814        unsigned int source_offset_in_bytes,
 815        unsigned int max_bytes_to_copy,
 816        byte *bytes,
 817        unsigned int *number_of_bytes_copied);
 818
 819    HRESULT (STDMETHODCALLTYPE *GetStride)(
 820        IBitmapData *This,
 821        unsigned int *stride);
 822
 823    HRESULT (STDMETHODCALLTYPE *GetBitmapDescription)(
 824        IBitmapData *This,
 825        BitmapDescription *bitmap_description);
 826
 827    HRESULT (STDMETHODCALLTYPE *GetSourceBitmapDescription)(
 828        IBitmapData *This,
 829        BitmapDescription *bitmap_description);
 830
 831    END_INTERFACE
 832} IBitmapDataVtbl;
 833
 834interface IBitmapData {
 835    CONST_VTBL IBitmapDataVtbl* lpVtbl;
 836};
 837
 838#ifdef COBJMACROS
 839#ifndef WIDL_C_INLINE_WRAPPERS
 840/*** IUnknown methods ***/
 841#define IBitmapData_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 842#define IBitmapData_AddRef(This) (This)->lpVtbl->AddRef(This)
 843#define IBitmapData_Release(This) (This)->lpVtbl->Release(This)
 844/*** IBitmapData methods ***/
 845#define IBitmapData_CopyBytesTo(This,source_offset_in_bytes,max_bytes_to_copy,bytes,number_of_bytes_copied) (This)->lpVtbl->CopyBytesTo(This,source_offset_in_bytes,max_bytes_to_copy,bytes,number_of_bytes_copied)
 846#define IBitmapData_GetStride(This,stride) (This)->lpVtbl->GetStride(This,stride)
 847#define IBitmapData_GetBitmapDescription(This,bitmap_description) (This)->lpVtbl->GetBitmapDescription(This,bitmap_description)
 848#define IBitmapData_GetSourceBitmapDescription(This,bitmap_description) (This)->lpVtbl->GetSourceBitmapDescription(This,bitmap_description)
 849#else
 850/*** IUnknown methods ***/
 851static inline HRESULT IBitmapData_QueryInterface(IBitmapData* This,REFIID riid,void **ppvObject) {
 852    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 853}
 854static inline ULONG IBitmapData_AddRef(IBitmapData* This) {
 855    return This->lpVtbl->AddRef(This);
 856}
 857static inline ULONG IBitmapData_Release(IBitmapData* This) {
 858    return This->lpVtbl->Release(This);
 859}
 860/*** IBitmapData methods ***/
 861static inline HRESULT IBitmapData_CopyBytesTo(IBitmapData* This,unsigned int source_offset_in_bytes,unsigned int max_bytes_to_copy,byte *bytes,unsigned int *number_of_bytes_copied) {
 862    return This->lpVtbl->CopyBytesTo(This,source_offset_in_bytes,max_bytes_to_copy,bytes,number_of_bytes_copied);
 863}
 864static inline HRESULT IBitmapData_GetStride(IBitmapData* This,unsigned int *stride) {
 865    return This->lpVtbl->GetStride(This,stride);
 866}
 867static inline HRESULT IBitmapData_GetBitmapDescription(IBitmapData* This,BitmapDescription *bitmap_description) {
 868    return This->lpVtbl->GetBitmapDescription(This,bitmap_description);
 869}
 870static inline HRESULT IBitmapData_GetSourceBitmapDescription(IBitmapData* This,BitmapDescription *bitmap_description) {
 871    return This->lpVtbl->GetSourceBitmapDescription(This,bitmap_description);
 872}
 873#endif
 874#endif
 875
 876#endif
 877
 878
 879#endif  /* __IBitmapData_INTERFACE_DEFINED__ */
 880
 881/*****************************************************************************
 882 * IVisualTreeService2 interface
 883 */
 884#ifndef __IVisualTreeService2_INTERFACE_DEFINED__
 885#define __IVisualTreeService2_INTERFACE_DEFINED__
 886
 887DEFINE_GUID(IID_IVisualTreeService2, 0x130f5136, 0xec43, 0x4f61, 0x89,0xc7, 0x98,0x01,0xa3,0x6d,0x2e,0x95);
 888#if defined(__cplusplus) && !defined(CINTERFACE)
 889MIDL_INTERFACE("130f5136-ec43-4f61-89c7-9801a36d2e95")
 890IVisualTreeService2 : public IVisualTreeService
 891{
 892    virtual HRESULT STDMETHODCALLTYPE GetPropertyIndex(
 893        InstanceHandle object,
 894        LPCWSTR property_name,
 895        unsigned int *property_index) = 0;
 896
 897    virtual HRESULT STDMETHODCALLTYPE GetProperty(
 898        InstanceHandle object,
 899        unsigned int property_index,
 900        InstanceHandle *value) = 0;
 901
 902    virtual HRESULT STDMETHODCALLTYPE ReplaceResource(
 903        InstanceHandle resource_dictionary,
 904        InstanceHandle key,
 905        InstanceHandle new_value) = 0;
 906
 907    virtual HRESULT STDMETHODCALLTYPE RenderTargetBitmap(
 908        InstanceHandle handle,
 909        RenderTargetBitmapOptions options,
 910        unsigned int max_pixel_width,
 911        unsigned int max_pixel_height,
 912        IBitmapData **bitmap_data) = 0;
 913
 914};
 915#ifdef __CRT_UUID_DECL
 916__CRT_UUID_DECL(IVisualTreeService2, 0x130f5136, 0xec43, 0x4f61, 0x89,0xc7, 0x98,0x01,0xa3,0x6d,0x2e,0x95)
 917#endif
 918#else
 919typedef struct IVisualTreeService2Vtbl {
 920    BEGIN_INTERFACE
 921
 922    /*** IUnknown methods ***/
 923    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 924        IVisualTreeService2 *This,
 925        REFIID riid,
 926        void **ppvObject);
 927
 928    ULONG (STDMETHODCALLTYPE *AddRef)(
 929        IVisualTreeService2 *This);
 930
 931    ULONG (STDMETHODCALLTYPE *Release)(
 932        IVisualTreeService2 *This);
 933
 934    /*** IVisualTreeService methods ***/
 935    HRESULT (STDMETHODCALLTYPE *AdviseVisualTreeChange)(
 936        IVisualTreeService2 *This,
 937        IVisualTreeServiceCallback *callback);
 938
 939    HRESULT (STDMETHODCALLTYPE *UnadviseVisualTreeChange)(
 940        IVisualTreeService2 *This,
 941        IVisualTreeServiceCallback *callback);
 942
 943    HRESULT (STDMETHODCALLTYPE *GetEnums)(
 944        IVisualTreeService2 *This,
 945        unsigned int *count,
 946        EnumType **enums);
 947
 948    HRESULT (STDMETHODCALLTYPE *CreateInstance)(
 949        IVisualTreeService2 *This,
 950        BSTR type_name,
 951        BSTR value,
 952        InstanceHandle *instance_handle);
 953
 954    HRESULT (STDMETHODCALLTYPE *GetPropertyValuesChain)(
 955        IVisualTreeService2 *This,
 956        InstanceHandle instance_handle,
 957        unsigned int *source_count,
 958        PropertyChainSource **property_sources,
 959        unsigned int *property_count,
 960        PropertyChainValue **property_values);
 961
 962    HRESULT (STDMETHODCALLTYPE *SetProperty)(
 963        IVisualTreeService2 *This,
 964        InstanceHandle instance_handle,
 965        InstanceHandle value,
 966        unsigned int property_index);
 967
 968    HRESULT (STDMETHODCALLTYPE *ClearProperty)(
 969        IVisualTreeService2 *This,
 970        InstanceHandle instance_handle,
 971        unsigned int property_index);
 972
 973    HRESULT (STDMETHODCALLTYPE *GetCollectionCount)(
 974        IVisualTreeService2 *This,
 975        InstanceHandle instance_handle,
 976        unsigned int *collection_size);
 977
 978    HRESULT (STDMETHODCALLTYPE *GetCollectionElements)(
 979        IVisualTreeService2 *This,
 980        InstanceHandle instance_handle,
 981        unsigned int start_index,
 982        unsigned int *element_count,
 983        CollectionElementValue **element_values);
 984
 985    HRESULT (STDMETHODCALLTYPE *AddChild)(
 986        IVisualTreeService2 *This,
 987        InstanceHandle parent,
 988        InstanceHandle child,
 989        unsigned int index);
 990
 991    HRESULT (STDMETHODCALLTYPE *RemoveChild)(
 992        IVisualTreeService2 *This,
 993        InstanceHandle parent,
 994        unsigned int index);
 995
 996    HRESULT (STDMETHODCALLTYPE *ClearChildren)(
 997        IVisualTreeService2 *This,
 998        InstanceHandle parent);
 999
1000    /*** IVisualTreeService2 methods ***/
1001    HRESULT (STDMETHODCALLTYPE *GetPropertyIndex)(
1002        IVisualTreeService2 *This,
1003        InstanceHandle object,
1004        LPCWSTR property_name,
1005        unsigned int *property_index);
1006
1007    HRESULT (STDMETHODCALLTYPE *GetProperty)(
1008        IVisualTreeService2 *This,
1009        InstanceHandle object,
1010        unsigned int property_index,
1011        InstanceHandle *value);
1012
1013    HRESULT (STDMETHODCALLTYPE *ReplaceResource)(
1014        IVisualTreeService2 *This,
1015        InstanceHandle resource_dictionary,
1016        InstanceHandle key,
1017        InstanceHandle new_value);
1018
1019    HRESULT (STDMETHODCALLTYPE *RenderTargetBitmap)(
1020        IVisualTreeService2 *This,
1021        InstanceHandle handle,
1022        RenderTargetBitmapOptions options,
1023        unsigned int max_pixel_width,
1024        unsigned int max_pixel_height,
1025        IBitmapData **bitmap_data);
1026
1027    END_INTERFACE
1028} IVisualTreeService2Vtbl;
1029
1030interface IVisualTreeService2 {
1031    CONST_VTBL IVisualTreeService2Vtbl* lpVtbl;
1032};
1033
1034#ifdef COBJMACROS
1035#ifndef WIDL_C_INLINE_WRAPPERS
1036/*** IUnknown methods ***/
1037#define IVisualTreeService2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1038#define IVisualTreeService2_AddRef(This) (This)->lpVtbl->AddRef(This)
1039#define IVisualTreeService2_Release(This) (This)->lpVtbl->Release(This)
1040/*** IVisualTreeService methods ***/
1041#define IVisualTreeService2_AdviseVisualTreeChange(This,callback) (This)->lpVtbl->AdviseVisualTreeChange(This,callback)
1042#define IVisualTreeService2_UnadviseVisualTreeChange(This,callback) (This)->lpVtbl->UnadviseVisualTreeChange(This,callback)
1043#define IVisualTreeService2_GetEnums(This,count,enums) (This)->lpVtbl->GetEnums(This,count,enums)
1044#define IVisualTreeService2_CreateInstance(This,type_name,value,instance_handle) (This)->lpVtbl->CreateInstance(This,type_name,value,instance_handle)
1045#define IVisualTreeService2_GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values) (This)->lpVtbl->GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values)
1046#define IVisualTreeService2_SetProperty(This,instance_handle,value,property_index) (This)->lpVtbl->SetProperty(This,instance_handle,value,property_index)
1047#define IVisualTreeService2_ClearProperty(This,instance_handle,property_index) (This)->lpVtbl->ClearProperty(This,instance_handle,property_index)
1048#define IVisualTreeService2_GetCollectionCount(This,instance_handle,collection_size) (This)->lpVtbl->GetCollectionCount(This,instance_handle,collection_size)
1049#define IVisualTreeService2_GetCollectionElements(This,instance_handle,start_index,element_count,element_values) (This)->lpVtbl->GetCollectionElements(This,instance_handle,start_index,element_count,element_values)
1050#define IVisualTreeService2_AddChild(This,parent,child,index) (This)->lpVtbl->AddChild(This,parent,child,index)
1051#define IVisualTreeService2_RemoveChild(This,parent,index) (This)->lpVtbl->RemoveChild(This,parent,index)
1052#define IVisualTreeService2_ClearChildren(This,parent) (This)->lpVtbl->ClearChildren(This,parent)
1053/*** IVisualTreeService2 methods ***/
1054#define IVisualTreeService2_GetPropertyIndex(This,object,property_name,property_index) (This)->lpVtbl->GetPropertyIndex(This,object,property_name,property_index)
1055#define IVisualTreeService2_GetProperty(This,object,property_index,value) (This)->lpVtbl->GetProperty(This,object,property_index,value)
1056#define IVisualTreeService2_ReplaceResource(This,resource_dictionary,key,new_value) (This)->lpVtbl->ReplaceResource(This,resource_dictionary,key,new_value)
1057#define IVisualTreeService2_RenderTargetBitmap(This,handle,options,max_pixel_width,max_pixel_height,bitmap_data) (This)->lpVtbl->RenderTargetBitmap(This,handle,options,max_pixel_width,max_pixel_height,bitmap_data)
1058#else
1059/*** IUnknown methods ***/
1060static inline HRESULT IVisualTreeService2_QueryInterface(IVisualTreeService2* This,REFIID riid,void **ppvObject) {
1061    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1062}
1063static inline ULONG IVisualTreeService2_AddRef(IVisualTreeService2* This) {
1064    return This->lpVtbl->AddRef(This);
1065}
1066static inline ULONG IVisualTreeService2_Release(IVisualTreeService2* This) {
1067    return This->lpVtbl->Release(This);
1068}
1069/*** IVisualTreeService methods ***/
1070static inline HRESULT IVisualTreeService2_AdviseVisualTreeChange(IVisualTreeService2* This,IVisualTreeServiceCallback *callback) {
1071    return This->lpVtbl->AdviseVisualTreeChange(This,callback);
1072}
1073static inline HRESULT IVisualTreeService2_UnadviseVisualTreeChange(IVisualTreeService2* This,IVisualTreeServiceCallback *callback) {
1074    return This->lpVtbl->UnadviseVisualTreeChange(This,callback);
1075}
1076static inline HRESULT IVisualTreeService2_GetEnums(IVisualTreeService2* This,unsigned int *count,EnumType **enums) {
1077    return This->lpVtbl->GetEnums(This,count,enums);
1078}
1079static inline HRESULT IVisualTreeService2_CreateInstance(IVisualTreeService2* This,BSTR type_name,BSTR value,InstanceHandle *instance_handle) {
1080    return This->lpVtbl->CreateInstance(This,type_name,value,instance_handle);
1081}
1082static inline HRESULT IVisualTreeService2_GetPropertyValuesChain(IVisualTreeService2* This,InstanceHandle instance_handle,unsigned int *source_count,PropertyChainSource **property_sources,unsigned int *property_count,PropertyChainValue **property_values) {
1083    return This->lpVtbl->GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values);
1084}
1085static inline HRESULT IVisualTreeService2_SetProperty(IVisualTreeService2* This,InstanceHandle instance_handle,InstanceHandle value,unsigned int property_index) {
1086    return This->lpVtbl->SetProperty(This,instance_handle,value,property_index);
1087}
1088static inline HRESULT IVisualTreeService2_ClearProperty(IVisualTreeService2* This,InstanceHandle instance_handle,unsigned int property_index) {
1089    return This->lpVtbl->ClearProperty(This,instance_handle,property_index);
1090}
1091static inline HRESULT IVisualTreeService2_GetCollectionCount(IVisualTreeService2* This,InstanceHandle instance_handle,unsigned int *collection_size) {
1092    return This->lpVtbl->GetCollectionCount(This,instance_handle,collection_size);
1093}
1094static inline HRESULT IVisualTreeService2_GetCollectionElements(IVisualTreeService2* This,InstanceHandle instance_handle,unsigned int start_index,unsigned int *element_count,CollectionElementValue **element_values) {
1095    return This->lpVtbl->GetCollectionElements(This,instance_handle,start_index,element_count,element_values);
1096}
1097static inline HRESULT IVisualTreeService2_AddChild(IVisualTreeService2* This,InstanceHandle parent,InstanceHandle child,unsigned int index) {
1098    return This->lpVtbl->AddChild(This,parent,child,index);
1099}
1100static inline HRESULT IVisualTreeService2_RemoveChild(IVisualTreeService2* This,InstanceHandle parent,unsigned int index) {
1101    return This->lpVtbl->RemoveChild(This,parent,index);
1102}
1103static inline HRESULT IVisualTreeService2_ClearChildren(IVisualTreeService2* This,InstanceHandle parent) {
1104    return This->lpVtbl->ClearChildren(This,parent);
1105}
1106/*** IVisualTreeService2 methods ***/
1107static inline HRESULT IVisualTreeService2_GetPropertyIndex(IVisualTreeService2* This,InstanceHandle object,LPCWSTR property_name,unsigned int *property_index) {
1108    return This->lpVtbl->GetPropertyIndex(This,object,property_name,property_index);
1109}
1110static inline HRESULT IVisualTreeService2_GetProperty(IVisualTreeService2* This,InstanceHandle object,unsigned int property_index,InstanceHandle *value) {
1111    return This->lpVtbl->GetProperty(This,object,property_index,value);
1112}
1113static inline HRESULT IVisualTreeService2_ReplaceResource(IVisualTreeService2* This,InstanceHandle resource_dictionary,InstanceHandle key,InstanceHandle new_value) {
1114    return This->lpVtbl->ReplaceResource(This,resource_dictionary,key,new_value);
1115}
1116static inline HRESULT IVisualTreeService2_RenderTargetBitmap(IVisualTreeService2* This,InstanceHandle handle,RenderTargetBitmapOptions options,unsigned int max_pixel_width,unsigned int max_pixel_height,IBitmapData **bitmap_data) {
1117    return This->lpVtbl->RenderTargetBitmap(This,handle,options,max_pixel_width,max_pixel_height,bitmap_data);
1118}
1119#endif
1120#endif
1121
1122#endif
1123
1124
1125#endif  /* __IVisualTreeService2_INTERFACE_DEFINED__ */
1126
1127/*****************************************************************************
1128 * IVisualTreeService3 interface
1129 */
1130#ifndef __IVisualTreeService3_INTERFACE_DEFINED__
1131#define __IVisualTreeService3_INTERFACE_DEFINED__
1132
1133DEFINE_GUID(IID_IVisualTreeService3, 0x0e79c6e0, 0x85a0, 0x4be8, 0xb4,0x1a, 0x65,0x5c,0xf1,0xfd,0x19,0xbd);
1134#if defined(__cplusplus) && !defined(CINTERFACE)
1135MIDL_INTERFACE("0e79c6e0-85a0-4be8-b41a-655cf1fd19bd")
1136IVisualTreeService3 : public IVisualTreeService2
1137{
1138    virtual HRESULT STDMETHODCALLTYPE ResolveResource(
1139        InstanceHandle resource_context,
1140        LPCWSTR resource_name,
1141        ResourceType resource_type,
1142        unsigned int property_index) = 0;
1143
1144    virtual HRESULT STDMETHODCALLTYPE GetDictionaryItem(
1145        InstanceHandle dictionary_handle,
1146        LPCWSTR resource_name,
1147        WINBOOL resource_is_implicit_style,
1148        InstanceHandle *resource_handle) = 0;
1149
1150    virtual HRESULT STDMETHODCALLTYPE AddDictionaryItem(
1151        InstanceHandle dictionary_handle,
1152        InstanceHandle resource_key,
1153        InstanceHandle resource_handle) = 0;
1154
1155    virtual HRESULT STDMETHODCALLTYPE RemoveDictionaryItem(
1156        InstanceHandle dictionary_handle,
1157        InstanceHandle resource_key) = 0;
1158
1159};
1160#ifdef __CRT_UUID_DECL
1161__CRT_UUID_DECL(IVisualTreeService3, 0x0e79c6e0, 0x85a0, 0x4be8, 0xb4,0x1a, 0x65,0x5c,0xf1,0xfd,0x19,0xbd)
1162#endif
1163#else
1164typedef struct IVisualTreeService3Vtbl {
1165    BEGIN_INTERFACE
1166
1167    /*** IUnknown methods ***/
1168    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1169        IVisualTreeService3 *This,
1170        REFIID riid,
1171        void **ppvObject);
1172
1173    ULONG (STDMETHODCALLTYPE *AddRef)(
1174        IVisualTreeService3 *This);
1175
1176    ULONG (STDMETHODCALLTYPE *Release)(
1177        IVisualTreeService3 *This);
1178
1179    /*** IVisualTreeService methods ***/
1180    HRESULT (STDMETHODCALLTYPE *AdviseVisualTreeChange)(
1181        IVisualTreeService3 *This,
1182        IVisualTreeServiceCallback *callback);
1183
1184    HRESULT (STDMETHODCALLTYPE *UnadviseVisualTreeChange)(
1185        IVisualTreeService3 *This,
1186        IVisualTreeServiceCallback *callback);
1187
1188    HRESULT (STDMETHODCALLTYPE *GetEnums)(
1189        IVisualTreeService3 *This,
1190        unsigned int *count,
1191        EnumType **enums);
1192
1193    HRESULT (STDMETHODCALLTYPE *CreateInstance)(
1194        IVisualTreeService3 *This,
1195        BSTR type_name,
1196        BSTR value,
1197        InstanceHandle *instance_handle);
1198
1199    HRESULT (STDMETHODCALLTYPE *GetPropertyValuesChain)(
1200        IVisualTreeService3 *This,
1201        InstanceHandle instance_handle,
1202        unsigned int *source_count,
1203        PropertyChainSource **property_sources,
1204        unsigned int *property_count,
1205        PropertyChainValue **property_values);
1206
1207    HRESULT (STDMETHODCALLTYPE *SetProperty)(
1208        IVisualTreeService3 *This,
1209        InstanceHandle instance_handle,
1210        InstanceHandle value,
1211        unsigned int property_index);
1212
1213    HRESULT (STDMETHODCALLTYPE *ClearProperty)(
1214        IVisualTreeService3 *This,
1215        InstanceHandle instance_handle,
1216        unsigned int property_index);
1217
1218    HRESULT (STDMETHODCALLTYPE *GetCollectionCount)(
1219        IVisualTreeService3 *This,
1220        InstanceHandle instance_handle,
1221        unsigned int *collection_size);
1222
1223    HRESULT (STDMETHODCALLTYPE *GetCollectionElements)(
1224        IVisualTreeService3 *This,
1225        InstanceHandle instance_handle,
1226        unsigned int start_index,
1227        unsigned int *element_count,
1228        CollectionElementValue **element_values);
1229
1230    HRESULT (STDMETHODCALLTYPE *AddChild)(
1231        IVisualTreeService3 *This,
1232        InstanceHandle parent,
1233        InstanceHandle child,
1234        unsigned int index);
1235
1236    HRESULT (STDMETHODCALLTYPE *RemoveChild)(
1237        IVisualTreeService3 *This,
1238        InstanceHandle parent,
1239        unsigned int index);
1240
1241    HRESULT (STDMETHODCALLTYPE *ClearChildren)(
1242        IVisualTreeService3 *This,
1243        InstanceHandle parent);
1244
1245    /*** IVisualTreeService2 methods ***/
1246    HRESULT (STDMETHODCALLTYPE *GetPropertyIndex)(
1247        IVisualTreeService3 *This,
1248        InstanceHandle object,
1249        LPCWSTR property_name,
1250        unsigned int *property_index);
1251
1252    HRESULT (STDMETHODCALLTYPE *GetProperty)(
1253        IVisualTreeService3 *This,
1254        InstanceHandle object,
1255        unsigned int property_index,
1256        InstanceHandle *value);
1257
1258    HRESULT (STDMETHODCALLTYPE *ReplaceResource)(
1259        IVisualTreeService3 *This,
1260        InstanceHandle resource_dictionary,
1261        InstanceHandle key,
1262        InstanceHandle new_value);
1263
1264    HRESULT (STDMETHODCALLTYPE *RenderTargetBitmap)(
1265        IVisualTreeService3 *This,
1266        InstanceHandle handle,
1267        RenderTargetBitmapOptions options,
1268        unsigned int max_pixel_width,
1269        unsigned int max_pixel_height,
1270        IBitmapData **bitmap_data);
1271
1272    /*** IVisualTreeService3 methods ***/
1273    HRESULT (STDMETHODCALLTYPE *ResolveResource)(
1274        IVisualTreeService3 *This,
1275        InstanceHandle resource_context,
1276        LPCWSTR resource_name,
1277        ResourceType resource_type,
1278        unsigned int property_index);
1279
1280    HRESULT (STDMETHODCALLTYPE *GetDictionaryItem)(
1281        IVisualTreeService3 *This,
1282        InstanceHandle dictionary_handle,
1283        LPCWSTR resource_name,
1284        WINBOOL resource_is_implicit_style,
1285        InstanceHandle *resource_handle);
1286
1287    HRESULT (STDMETHODCALLTYPE *AddDictionaryItem)(
1288        IVisualTreeService3 *This,
1289        InstanceHandle dictionary_handle,
1290        InstanceHandle resource_key,
1291        InstanceHandle resource_handle);
1292
1293    HRESULT (STDMETHODCALLTYPE *RemoveDictionaryItem)(
1294        IVisualTreeService3 *This,
1295        InstanceHandle dictionary_handle,
1296        InstanceHandle resource_key);
1297
1298    END_INTERFACE
1299} IVisualTreeService3Vtbl;
1300
1301interface IVisualTreeService3 {
1302    CONST_VTBL IVisualTreeService3Vtbl* lpVtbl;
1303};
1304
1305#ifdef COBJMACROS
1306#ifndef WIDL_C_INLINE_WRAPPERS
1307/*** IUnknown methods ***/
1308#define IVisualTreeService3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1309#define IVisualTreeService3_AddRef(This) (This)->lpVtbl->AddRef(This)
1310#define IVisualTreeService3_Release(This) (This)->lpVtbl->Release(This)
1311/*** IVisualTreeService methods ***/
1312#define IVisualTreeService3_AdviseVisualTreeChange(This,callback) (This)->lpVtbl->AdviseVisualTreeChange(This,callback)
1313#define IVisualTreeService3_UnadviseVisualTreeChange(This,callback) (This)->lpVtbl->UnadviseVisualTreeChange(This,callback)
1314#define IVisualTreeService3_GetEnums(This,count,enums) (This)->lpVtbl->GetEnums(This,count,enums)
1315#define IVisualTreeService3_CreateInstance(This,type_name,value,instance_handle) (This)->lpVtbl->CreateInstance(This,type_name,value,instance_handle)
1316#define IVisualTreeService3_GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values) (This)->lpVtbl->GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values)
1317#define IVisualTreeService3_SetProperty(This,instance_handle,value,property_index) (This)->lpVtbl->SetProperty(This,instance_handle,value,property_index)
1318#define IVisualTreeService3_ClearProperty(This,instance_handle,property_index) (This)->lpVtbl->ClearProperty(This,instance_handle,property_index)
1319#define IVisualTreeService3_GetCollectionCount(This,instance_handle,collection_size) (This)->lpVtbl->GetCollectionCount(This,instance_handle,collection_size)
1320#define IVisualTreeService3_GetCollectionElements(This,instance_handle,start_index,element_count,element_values) (This)->lpVtbl->GetCollectionElements(This,instance_handle,start_index,element_count,element_values)
1321#define IVisualTreeService3_AddChild(This,parent,child,index) (This)->lpVtbl->AddChild(This,parent,child,index)
1322#define IVisualTreeService3_RemoveChild(This,parent,index) (This)->lpVtbl->RemoveChild(This,parent,index)
1323#define IVisualTreeService3_ClearChildren(This,parent) (This)->lpVtbl->ClearChildren(This,parent)
1324/*** IVisualTreeService2 methods ***/
1325#define IVisualTreeService3_GetPropertyIndex(This,object,property_name,property_index) (This)->lpVtbl->GetPropertyIndex(This,object,property_name,property_index)
1326#define IVisualTreeService3_GetProperty(This,object,property_index,value) (This)->lpVtbl->GetProperty(This,object,property_index,value)
1327#define IVisualTreeService3_ReplaceResource(This,resource_dictionary,key,new_value) (This)->lpVtbl->ReplaceResource(This,resource_dictionary,key,new_value)
1328#define IVisualTreeService3_RenderTargetBitmap(This,handle,options,max_pixel_width,max_pixel_height,bitmap_data) (This)->lpVtbl->RenderTargetBitmap(This,handle,options,max_pixel_width,max_pixel_height,bitmap_data)
1329/*** IVisualTreeService3 methods ***/
1330#define IVisualTreeService3_ResolveResource(This,resource_context,resource_name,resource_type,property_index) (This)->lpVtbl->ResolveResource(This,resource_context,resource_name,resource_type,property_index)
1331#define IVisualTreeService3_GetDictionaryItem(This,dictionary_handle,resource_name,resource_is_implicit_style,resource_handle) (This)->lpVtbl->GetDictionaryItem(This,dictionary_handle,resource_name,resource_is_implicit_style,resource_handle)
1332#define IVisualTreeService3_AddDictionaryItem(This,dictionary_handle,resource_key,resource_handle) (This)->lpVtbl->AddDictionaryItem(This,dictionary_handle,resource_key,resource_handle)
1333#define IVisualTreeService3_RemoveDictionaryItem(This,dictionary_handle,resource_key) (This)->lpVtbl->RemoveDictionaryItem(This,dictionary_handle,resource_key)
1334#else
1335/*** IUnknown methods ***/
1336static inline HRESULT IVisualTreeService3_QueryInterface(IVisualTreeService3* This,REFIID riid,void **ppvObject) {
1337    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1338}
1339static inline ULONG IVisualTreeService3_AddRef(IVisualTreeService3* This) {
1340    return This->lpVtbl->AddRef(This);
1341}
1342static inline ULONG IVisualTreeService3_Release(IVisualTreeService3* This) {
1343    return This->lpVtbl->Release(This);
1344}
1345/*** IVisualTreeService methods ***/
1346static inline HRESULT IVisualTreeService3_AdviseVisualTreeChange(IVisualTreeService3* This,IVisualTreeServiceCallback *callback) {
1347    return This->lpVtbl->AdviseVisualTreeChange(This,callback);
1348}
1349static inline HRESULT IVisualTreeService3_UnadviseVisualTreeChange(IVisualTreeService3* This,IVisualTreeServiceCallback *callback) {
1350    return This->lpVtbl->UnadviseVisualTreeChange(This,callback);
1351}
1352static inline HRESULT IVisualTreeService3_GetEnums(IVisualTreeService3* This,unsigned int *count,EnumType **enums) {
1353    return This->lpVtbl->GetEnums(This,count,enums);
1354}
1355static inline HRESULT IVisualTreeService3_CreateInstance(IVisualTreeService3* This,BSTR type_name,BSTR value,InstanceHandle *instance_handle) {
1356    return This->lpVtbl->CreateInstance(This,type_name,value,instance_handle);
1357}
1358static inline HRESULT IVisualTreeService3_GetPropertyValuesChain(IVisualTreeService3* This,InstanceHandle instance_handle,unsigned int *source_count,PropertyChainSource **property_sources,unsigned int *property_count,PropertyChainValue **property_values) {
1359    return This->lpVtbl->GetPropertyValuesChain(This,instance_handle,source_count,property_sources,property_count,property_values);
1360}
1361static inline HRESULT IVisualTreeService3_SetProperty(IVisualTreeService3* This,InstanceHandle instance_handle,InstanceHandle value,unsigned int property_index) {
1362    return This->lpVtbl->SetProperty(This,instance_handle,value,property_index);
1363}
1364static inline HRESULT IVisualTreeService3_ClearProperty(IVisualTreeService3* This,InstanceHandle instance_handle,unsigned int property_index) {
1365    return This->lpVtbl->ClearProperty(This,instance_handle,property_index);
1366}
1367static inline HRESULT IVisualTreeService3_GetCollectionCount(IVisualTreeService3* This,InstanceHandle instance_handle,unsigned int *collection_size) {
1368    return This->lpVtbl->GetCollectionCount(This,instance_handle,collection_size);
1369}
1370static inline HRESULT IVisualTreeService3_GetCollectionElements(IVisualTreeService3* This,InstanceHandle instance_handle,unsigned int start_index,unsigned int *element_count,CollectionElementValue **element_values) {
1371    return This->lpVtbl->GetCollectionElements(This,instance_handle,start_index,element_count,element_values);
1372}
1373static inline HRESULT IVisualTreeService3_AddChild(IVisualTreeService3* This,InstanceHandle parent,InstanceHandle child,unsigned int index) {
1374    return This->lpVtbl->AddChild(This,parent,child,index);
1375}
1376static inline HRESULT IVisualTreeService3_RemoveChild(IVisualTreeService3* This,InstanceHandle parent,unsigned int index) {
1377    return This->lpVtbl->RemoveChild(This,parent,index);
1378}
1379static inline HRESULT IVisualTreeService3_ClearChildren(IVisualTreeService3* This,InstanceHandle parent) {
1380    return This->lpVtbl->ClearChildren(This,parent);
1381}
1382/*** IVisualTreeService2 methods ***/
1383static inline HRESULT IVisualTreeService3_GetPropertyIndex(IVisualTreeService3* This,InstanceHandle object,LPCWSTR property_name,unsigned int *property_index) {
1384    return This->lpVtbl->GetPropertyIndex(This,object,property_name,property_index);
1385}
1386static inline HRESULT IVisualTreeService3_GetProperty(IVisualTreeService3* This,InstanceHandle object,unsigned int property_index,InstanceHandle *value) {
1387    return This->lpVtbl->GetProperty(This,object,property_index,value);
1388}
1389static inline HRESULT IVisualTreeService3_ReplaceResource(IVisualTreeService3* This,InstanceHandle resource_dictionary,InstanceHandle key,InstanceHandle new_value) {
1390    return This->lpVtbl->ReplaceResource(This,resource_dictionary,key,new_value);
1391}
1392static inline HRESULT IVisualTreeService3_RenderTargetBitmap(IVisualTreeService3* This,InstanceHandle handle,RenderTargetBitmapOptions options,unsigned int max_pixel_width,unsigned int max_pixel_height,IBitmapData **bitmap_data) {
1393    return This->lpVtbl->RenderTargetBitmap(This,handle,options,max_pixel_width,max_pixel_height,bitmap_data);
1394}
1395/*** IVisualTreeService3 methods ***/
1396static inline HRESULT IVisualTreeService3_ResolveResource(IVisualTreeService3* This,InstanceHandle resource_context,LPCWSTR resource_name,ResourceType resource_type,unsigned int property_index) {
1397    return This->lpVtbl->ResolveResource(This,resource_context,resource_name,resource_type,property_index);
1398}
1399static inline HRESULT IVisualTreeService3_GetDictionaryItem(IVisualTreeService3* This,InstanceHandle dictionary_handle,LPCWSTR resource_name,WINBOOL resource_is_implicit_style,InstanceHandle *resource_handle) {
1400    return This->lpVtbl->GetDictionaryItem(This,dictionary_handle,resource_name,resource_is_implicit_style,resource_handle);
1401}
1402static inline HRESULT IVisualTreeService3_AddDictionaryItem(IVisualTreeService3* This,InstanceHandle dictionary_handle,InstanceHandle resource_key,InstanceHandle resource_handle) {
1403    return This->lpVtbl->AddDictionaryItem(This,dictionary_handle,resource_key,resource_handle);
1404}
1405static inline HRESULT IVisualTreeService3_RemoveDictionaryItem(IVisualTreeService3* This,InstanceHandle dictionary_handle,InstanceHandle resource_key) {
1406    return This->lpVtbl->RemoveDictionaryItem(This,dictionary_handle,resource_key);
1407}
1408#endif
1409#endif
1410
1411#endif
1412
1413
1414#endif  /* __IVisualTreeService3_INTERFACE_DEFINED__ */
1415
1416/* Begin additional prototypes for all interfaces */
1417
1418ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
1419unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
1420unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
1421void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
1422
1423/* End additional prototypes */
1424
1425#ifdef __cplusplus
1426}
1427#endif
1428
1429#endif /* __xamlom_h__ */