master
   1/*** Autogenerated by WIDL 10.4 from include/portabledeviceapi.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 __portabledeviceapi_h__
  17#define __portabledeviceapi_h__
  18
  19/* Forward declarations */
  20
  21#ifndef __IPortableDeviceManager_FWD_DEFINED__
  22#define __IPortableDeviceManager_FWD_DEFINED__
  23typedef interface IPortableDeviceManager IPortableDeviceManager;
  24#ifdef __cplusplus
  25interface IPortableDeviceManager;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __IPortableDevice_FWD_DEFINED__
  30#define __IPortableDevice_FWD_DEFINED__
  31typedef interface IPortableDevice IPortableDevice;
  32#ifdef __cplusplus
  33interface IPortableDevice;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __IPortableDeviceContent_FWD_DEFINED__
  38#define __IPortableDeviceContent_FWD_DEFINED__
  39typedef interface IPortableDeviceContent IPortableDeviceContent;
  40#ifdef __cplusplus
  41interface IPortableDeviceContent;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __IPortableDeviceContent2_FWD_DEFINED__
  46#define __IPortableDeviceContent2_FWD_DEFINED__
  47typedef interface IPortableDeviceContent2 IPortableDeviceContent2;
  48#ifdef __cplusplus
  49interface IPortableDeviceContent2;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __IEnumPortableDeviceObjectIDs_FWD_DEFINED__
  54#define __IEnumPortableDeviceObjectIDs_FWD_DEFINED__
  55typedef interface IEnumPortableDeviceObjectIDs IEnumPortableDeviceObjectIDs;
  56#ifdef __cplusplus
  57interface IEnumPortableDeviceObjectIDs;
  58#endif /* __cplusplus */
  59#endif
  60
  61#ifndef __IPortableDeviceProperties_FWD_DEFINED__
  62#define __IPortableDeviceProperties_FWD_DEFINED__
  63typedef interface IPortableDeviceProperties IPortableDeviceProperties;
  64#ifdef __cplusplus
  65interface IPortableDeviceProperties;
  66#endif /* __cplusplus */
  67#endif
  68
  69#ifndef __IPortableDeviceResources_FWD_DEFINED__
  70#define __IPortableDeviceResources_FWD_DEFINED__
  71typedef interface IPortableDeviceResources IPortableDeviceResources;
  72#ifdef __cplusplus
  73interface IPortableDeviceResources;
  74#endif /* __cplusplus */
  75#endif
  76
  77#ifndef __IPortableDeviceCapabilities_FWD_DEFINED__
  78#define __IPortableDeviceCapabilities_FWD_DEFINED__
  79typedef interface IPortableDeviceCapabilities IPortableDeviceCapabilities;
  80#ifdef __cplusplus
  81interface IPortableDeviceCapabilities;
  82#endif /* __cplusplus */
  83#endif
  84
  85#ifndef __IPortableDeviceEventCallback_FWD_DEFINED__
  86#define __IPortableDeviceEventCallback_FWD_DEFINED__
  87typedef interface IPortableDeviceEventCallback IPortableDeviceEventCallback;
  88#ifdef __cplusplus
  89interface IPortableDeviceEventCallback;
  90#endif /* __cplusplus */
  91#endif
  92
  93#ifndef __IPortableDeviceDataStream_FWD_DEFINED__
  94#define __IPortableDeviceDataStream_FWD_DEFINED__
  95typedef interface IPortableDeviceDataStream IPortableDeviceDataStream;
  96#ifdef __cplusplus
  97interface IPortableDeviceDataStream;
  98#endif /* __cplusplus */
  99#endif
 100
 101#ifndef __IPortableDeviceUnitsStream_FWD_DEFINED__
 102#define __IPortableDeviceUnitsStream_FWD_DEFINED__
 103typedef interface IPortableDeviceUnitsStream IPortableDeviceUnitsStream;
 104#ifdef __cplusplus
 105interface IPortableDeviceUnitsStream;
 106#endif /* __cplusplus */
 107#endif
 108
 109#ifndef __IPortableDevicePropertiesBulk_FWD_DEFINED__
 110#define __IPortableDevicePropertiesBulk_FWD_DEFINED__
 111typedef interface IPortableDevicePropertiesBulk IPortableDevicePropertiesBulk;
 112#ifdef __cplusplus
 113interface IPortableDevicePropertiesBulk;
 114#endif /* __cplusplus */
 115#endif
 116
 117#ifndef __IPortableDevicePropertiesBulkCallback_FWD_DEFINED__
 118#define __IPortableDevicePropertiesBulkCallback_FWD_DEFINED__
 119typedef interface IPortableDevicePropertiesBulkCallback IPortableDevicePropertiesBulkCallback;
 120#ifdef __cplusplus
 121interface IPortableDevicePropertiesBulkCallback;
 122#endif /* __cplusplus */
 123#endif
 124
 125#ifndef __IPortableDeviceServiceManager_FWD_DEFINED__
 126#define __IPortableDeviceServiceManager_FWD_DEFINED__
 127typedef interface IPortableDeviceServiceManager IPortableDeviceServiceManager;
 128#ifdef __cplusplus
 129interface IPortableDeviceServiceManager;
 130#endif /* __cplusplus */
 131#endif
 132
 133#ifndef __IPortableDeviceService_FWD_DEFINED__
 134#define __IPortableDeviceService_FWD_DEFINED__
 135typedef interface IPortableDeviceService IPortableDeviceService;
 136#ifdef __cplusplus
 137interface IPortableDeviceService;
 138#endif /* __cplusplus */
 139#endif
 140
 141#ifndef __IPortableDeviceServiceCapabilities_FWD_DEFINED__
 142#define __IPortableDeviceServiceCapabilities_FWD_DEFINED__
 143typedef interface IPortableDeviceServiceCapabilities IPortableDeviceServiceCapabilities;
 144#ifdef __cplusplus
 145interface IPortableDeviceServiceCapabilities;
 146#endif /* __cplusplus */
 147#endif
 148
 149#ifndef __IPortableDeviceServiceMethods_FWD_DEFINED__
 150#define __IPortableDeviceServiceMethods_FWD_DEFINED__
 151typedef interface IPortableDeviceServiceMethods IPortableDeviceServiceMethods;
 152#ifdef __cplusplus
 153interface IPortableDeviceServiceMethods;
 154#endif /* __cplusplus */
 155#endif
 156
 157#ifndef __IPortableDeviceServiceMethodCallback_FWD_DEFINED__
 158#define __IPortableDeviceServiceMethodCallback_FWD_DEFINED__
 159typedef interface IPortableDeviceServiceMethodCallback IPortableDeviceServiceMethodCallback;
 160#ifdef __cplusplus
 161interface IPortableDeviceServiceMethodCallback;
 162#endif /* __cplusplus */
 163#endif
 164
 165#ifndef __IPortableDeviceServiceActivation_FWD_DEFINED__
 166#define __IPortableDeviceServiceActivation_FWD_DEFINED__
 167typedef interface IPortableDeviceServiceActivation IPortableDeviceServiceActivation;
 168#ifdef __cplusplus
 169interface IPortableDeviceServiceActivation;
 170#endif /* __cplusplus */
 171#endif
 172
 173#ifndef __IPortableDeviceServiceOpenCallback_FWD_DEFINED__
 174#define __IPortableDeviceServiceOpenCallback_FWD_DEFINED__
 175typedef interface IPortableDeviceServiceOpenCallback IPortableDeviceServiceOpenCallback;
 176#ifdef __cplusplus
 177interface IPortableDeviceServiceOpenCallback;
 178#endif /* __cplusplus */
 179#endif
 180
 181#ifndef __IPortableDeviceDispatchFactory_FWD_DEFINED__
 182#define __IPortableDeviceDispatchFactory_FWD_DEFINED__
 183typedef interface IPortableDeviceDispatchFactory IPortableDeviceDispatchFactory;
 184#ifdef __cplusplus
 185interface IPortableDeviceDispatchFactory;
 186#endif /* __cplusplus */
 187#endif
 188
 189#ifndef __IPortableDeviceWebControl_FWD_DEFINED__
 190#define __IPortableDeviceWebControl_FWD_DEFINED__
 191typedef interface IPortableDeviceWebControl IPortableDeviceWebControl;
 192#ifdef __cplusplus
 193interface IPortableDeviceWebControl;
 194#endif /* __cplusplus */
 195#endif
 196
 197#ifndef __PortableDevice_FWD_DEFINED__
 198#define __PortableDevice_FWD_DEFINED__
 199#ifdef __cplusplus
 200typedef class PortableDevice PortableDevice;
 201#else
 202typedef struct PortableDevice PortableDevice;
 203#endif /* defined __cplusplus */
 204#endif /* defined __PortableDevice_FWD_DEFINED__ */
 205
 206#ifndef __PortableDeviceManager_FWD_DEFINED__
 207#define __PortableDeviceManager_FWD_DEFINED__
 208#ifdef __cplusplus
 209typedef class PortableDeviceManager PortableDeviceManager;
 210#else
 211typedef struct PortableDeviceManager PortableDeviceManager;
 212#endif /* defined __cplusplus */
 213#endif /* defined __PortableDeviceManager_FWD_DEFINED__ */
 214
 215#ifndef __PortableDeviceService_FWD_DEFINED__
 216#define __PortableDeviceService_FWD_DEFINED__
 217#ifdef __cplusplus
 218typedef class PortableDeviceService PortableDeviceService;
 219#else
 220typedef struct PortableDeviceService PortableDeviceService;
 221#endif /* defined __cplusplus */
 222#endif /* defined __PortableDeviceService_FWD_DEFINED__ */
 223
 224#ifndef __PortableDeviceDispatchFactory_FWD_DEFINED__
 225#define __PortableDeviceDispatchFactory_FWD_DEFINED__
 226#ifdef __cplusplus
 227typedef class PortableDeviceDispatchFactory PortableDeviceDispatchFactory;
 228#else
 229typedef struct PortableDeviceDispatchFactory PortableDeviceDispatchFactory;
 230#endif /* defined __cplusplus */
 231#endif /* defined __PortableDeviceDispatchFactory_FWD_DEFINED__ */
 232
 233#ifndef __PortableDeviceFTM_FWD_DEFINED__
 234#define __PortableDeviceFTM_FWD_DEFINED__
 235#ifdef __cplusplus
 236typedef class PortableDeviceFTM PortableDeviceFTM;
 237#else
 238typedef struct PortableDeviceFTM PortableDeviceFTM;
 239#endif /* defined __cplusplus */
 240#endif /* defined __PortableDeviceFTM_FWD_DEFINED__ */
 241
 242#ifndef __PortableDeviceServiceFTM_FWD_DEFINED__
 243#define __PortableDeviceServiceFTM_FWD_DEFINED__
 244#ifdef __cplusplus
 245typedef class PortableDeviceServiceFTM PortableDeviceServiceFTM;
 246#else
 247typedef struct PortableDeviceServiceFTM PortableDeviceServiceFTM;
 248#endif /* defined __cplusplus */
 249#endif /* defined __PortableDeviceServiceFTM_FWD_DEFINED__ */
 250
 251#ifndef __PortableDeviceWebControl_FWD_DEFINED__
 252#define __PortableDeviceWebControl_FWD_DEFINED__
 253#ifdef __cplusplus
 254typedef class PortableDeviceWebControl PortableDeviceWebControl;
 255#else
 256typedef struct PortableDeviceWebControl PortableDeviceWebControl;
 257#endif /* defined __cplusplus */
 258#endif /* defined __PortableDeviceWebControl_FWD_DEFINED__ */
 259
 260/* Headers for imported files */
 261
 262#include <propidl.h>
 263#include <wtypes.h>
 264#include <portabledevicetypes.h>
 265
 266#ifdef __cplusplus
 267extern "C" {
 268#endif
 269
 270#ifndef __IPortableDeviceManager_FWD_DEFINED__
 271#define __IPortableDeviceManager_FWD_DEFINED__
 272typedef interface IPortableDeviceManager IPortableDeviceManager;
 273#ifdef __cplusplus
 274interface IPortableDeviceManager;
 275#endif /* __cplusplus */
 276#endif
 277
 278#ifndef __IPortableDevice_FWD_DEFINED__
 279#define __IPortableDevice_FWD_DEFINED__
 280typedef interface IPortableDevice IPortableDevice;
 281#ifdef __cplusplus
 282interface IPortableDevice;
 283#endif /* __cplusplus */
 284#endif
 285
 286#ifndef __IPortableDeviceContent_FWD_DEFINED__
 287#define __IPortableDeviceContent_FWD_DEFINED__
 288typedef interface IPortableDeviceContent IPortableDeviceContent;
 289#ifdef __cplusplus
 290interface IPortableDeviceContent;
 291#endif /* __cplusplus */
 292#endif
 293
 294#ifndef __IPortableDeviceContent2_FWD_DEFINED__
 295#define __IPortableDeviceContent2_FWD_DEFINED__
 296typedef interface IPortableDeviceContent2 IPortableDeviceContent2;
 297#ifdef __cplusplus
 298interface IPortableDeviceContent2;
 299#endif /* __cplusplus */
 300#endif
 301
 302#ifndef __IEnumPortableDeviceObjectIDs_FWD_DEFINED__
 303#define __IEnumPortableDeviceObjectIDs_FWD_DEFINED__
 304typedef interface IEnumPortableDeviceObjectIDs IEnumPortableDeviceObjectIDs;
 305#ifdef __cplusplus
 306interface IEnumPortableDeviceObjectIDs;
 307#endif /* __cplusplus */
 308#endif
 309
 310#ifndef __IPortableDeviceProperties_FWD_DEFINED__
 311#define __IPortableDeviceProperties_FWD_DEFINED__
 312typedef interface IPortableDeviceProperties IPortableDeviceProperties;
 313#ifdef __cplusplus
 314interface IPortableDeviceProperties;
 315#endif /* __cplusplus */
 316#endif
 317
 318#ifndef __IPortableDeviceResources_FWD_DEFINED__
 319#define __IPortableDeviceResources_FWD_DEFINED__
 320typedef interface IPortableDeviceResources IPortableDeviceResources;
 321#ifdef __cplusplus
 322interface IPortableDeviceResources;
 323#endif /* __cplusplus */
 324#endif
 325
 326#ifndef __IPortableDeviceCapabilities_FWD_DEFINED__
 327#define __IPortableDeviceCapabilities_FWD_DEFINED__
 328typedef interface IPortableDeviceCapabilities IPortableDeviceCapabilities;
 329#ifdef __cplusplus
 330interface IPortableDeviceCapabilities;
 331#endif /* __cplusplus */
 332#endif
 333
 334#ifndef __IPortableDeviceEventCallback_FWD_DEFINED__
 335#define __IPortableDeviceEventCallback_FWD_DEFINED__
 336typedef interface IPortableDeviceEventCallback IPortableDeviceEventCallback;
 337#ifdef __cplusplus
 338interface IPortableDeviceEventCallback;
 339#endif /* __cplusplus */
 340#endif
 341
 342#ifndef __IPortableDeviceDataStream_FWD_DEFINED__
 343#define __IPortableDeviceDataStream_FWD_DEFINED__
 344typedef interface IPortableDeviceDataStream IPortableDeviceDataStream;
 345#ifdef __cplusplus
 346interface IPortableDeviceDataStream;
 347#endif /* __cplusplus */
 348#endif
 349
 350#ifndef __IPortableDevicePropertiesBulk_FWD_DEFINED__
 351#define __IPortableDevicePropertiesBulk_FWD_DEFINED__
 352typedef interface IPortableDevicePropertiesBulk IPortableDevicePropertiesBulk;
 353#ifdef __cplusplus
 354interface IPortableDevicePropertiesBulk;
 355#endif /* __cplusplus */
 356#endif
 357
 358#ifndef __IPortableDevicePropertiesBulkCallback_FWD_DEFINED__
 359#define __IPortableDevicePropertiesBulkCallback_FWD_DEFINED__
 360typedef interface IPortableDevicePropertiesBulkCallback IPortableDevicePropertiesBulkCallback;
 361#ifdef __cplusplus
 362interface IPortableDevicePropertiesBulkCallback;
 363#endif /* __cplusplus */
 364#endif
 365
 366#ifndef __IPortableDeviceServiceManager_FWD_DEFINED__
 367#define __IPortableDeviceServiceManager_FWD_DEFINED__
 368typedef interface IPortableDeviceServiceManager IPortableDeviceServiceManager;
 369#ifdef __cplusplus
 370interface IPortableDeviceServiceManager;
 371#endif /* __cplusplus */
 372#endif
 373
 374#ifndef __IPortableDeviceService_FWD_DEFINED__
 375#define __IPortableDeviceService_FWD_DEFINED__
 376typedef interface IPortableDeviceService IPortableDeviceService;
 377#ifdef __cplusplus
 378interface IPortableDeviceService;
 379#endif /* __cplusplus */
 380#endif
 381
 382#ifndef __IPortableDeviceServiceCapabilities_FWD_DEFINED__
 383#define __IPortableDeviceServiceCapabilities_FWD_DEFINED__
 384typedef interface IPortableDeviceServiceCapabilities IPortableDeviceServiceCapabilities;
 385#ifdef __cplusplus
 386interface IPortableDeviceServiceCapabilities;
 387#endif /* __cplusplus */
 388#endif
 389
 390#ifndef __IPortableDeviceServiceMethods_FWD_DEFINED__
 391#define __IPortableDeviceServiceMethods_FWD_DEFINED__
 392typedef interface IPortableDeviceServiceMethods IPortableDeviceServiceMethods;
 393#ifdef __cplusplus
 394interface IPortableDeviceServiceMethods;
 395#endif /* __cplusplus */
 396#endif
 397
 398#ifndef __IPortableDeviceServiceMethodCallback_FWD_DEFINED__
 399#define __IPortableDeviceServiceMethodCallback_FWD_DEFINED__
 400typedef interface IPortableDeviceServiceMethodCallback IPortableDeviceServiceMethodCallback;
 401#ifdef __cplusplus
 402interface IPortableDeviceServiceMethodCallback;
 403#endif /* __cplusplus */
 404#endif
 405
 406#ifndef __IPortableDeviceDispatchFactory_FWD_DEFINED__
 407#define __IPortableDeviceDispatchFactory_FWD_DEFINED__
 408typedef interface IPortableDeviceDispatchFactory IPortableDeviceDispatchFactory;
 409#ifdef __cplusplus
 410interface IPortableDeviceDispatchFactory;
 411#endif /* __cplusplus */
 412#endif
 413
 414#ifndef __IPortableDeviceServiceActivation_FWD_DEFINED__
 415#define __IPortableDeviceServiceActivation_FWD_DEFINED__
 416typedef interface IPortableDeviceServiceActivation IPortableDeviceServiceActivation;
 417#ifdef __cplusplus
 418interface IPortableDeviceServiceActivation;
 419#endif /* __cplusplus */
 420#endif
 421
 422#ifndef __IPortableDeviceServiceOpenCallback_FWD_DEFINED__
 423#define __IPortableDeviceServiceOpenCallback_FWD_DEFINED__
 424typedef interface IPortableDeviceServiceOpenCallback IPortableDeviceServiceOpenCallback;
 425#ifdef __cplusplus
 426interface IPortableDeviceServiceOpenCallback;
 427#endif /* __cplusplus */
 428#endif
 429
 430/*****************************************************************************
 431 * IPortableDeviceManager interface
 432 */
 433#ifndef __IPortableDeviceManager_INTERFACE_DEFINED__
 434#define __IPortableDeviceManager_INTERFACE_DEFINED__
 435
 436DEFINE_GUID(IID_IPortableDeviceManager, 0xa1567595, 0x4c2f, 0x4574, 0xa6,0xfa, 0xec,0xef,0x91,0x7b,0x9a,0x40);
 437#if defined(__cplusplus) && !defined(CINTERFACE)
 438MIDL_INTERFACE("a1567595-4c2f-4574-a6fa-ecef917b9a40")
 439IPortableDeviceManager : public IUnknown
 440{
 441    virtual HRESULT STDMETHODCALLTYPE GetDevices(
 442        LPWSTR *device_ids,
 443        DWORD *device_ids_count) = 0;
 444
 445    virtual HRESULT STDMETHODCALLTYPE RefreshDeviceList(
 446        ) = 0;
 447
 448    virtual HRESULT STDMETHODCALLTYPE GetDeviceFriendlyName(
 449        LPCWSTR device_id,
 450        WCHAR *device_friendly_name,
 451        DWORD *device_friendly_name_size) = 0;
 452
 453    virtual HRESULT STDMETHODCALLTYPE GetDeviceDescription(
 454        LPCWSTR device_id,
 455        WCHAR *device_description,
 456        DWORD *device_description_size) = 0;
 457
 458    virtual HRESULT STDMETHODCALLTYPE GetDeviceManufacturer(
 459        LPCWSTR device_id,
 460        WCHAR *device_manufacturer,
 461        DWORD *device_manufacturer_size) = 0;
 462
 463    virtual HRESULT STDMETHODCALLTYPE GetDeviceProperty(
 464        LPCWSTR device_id,
 465        LPCWSTR device_property_name,
 466        BYTE *data,
 467        DWORD *data_size,
 468        DWORD *type) = 0;
 469
 470    virtual HRESULT STDMETHODCALLTYPE GetPrivateDevices(
 471        LPWSTR *device_ids,
 472        DWORD *device_ids_count) = 0;
 473
 474};
 475#ifdef __CRT_UUID_DECL
 476__CRT_UUID_DECL(IPortableDeviceManager, 0xa1567595, 0x4c2f, 0x4574, 0xa6,0xfa, 0xec,0xef,0x91,0x7b,0x9a,0x40)
 477#endif
 478#else
 479typedef struct IPortableDeviceManagerVtbl {
 480    BEGIN_INTERFACE
 481
 482    /*** IUnknown methods ***/
 483    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 484        IPortableDeviceManager *This,
 485        REFIID riid,
 486        void **ppvObject);
 487
 488    ULONG (STDMETHODCALLTYPE *AddRef)(
 489        IPortableDeviceManager *This);
 490
 491    ULONG (STDMETHODCALLTYPE *Release)(
 492        IPortableDeviceManager *This);
 493
 494    /*** IPortableDeviceManager methods ***/
 495    HRESULT (STDMETHODCALLTYPE *GetDevices)(
 496        IPortableDeviceManager *This,
 497        LPWSTR *device_ids,
 498        DWORD *device_ids_count);
 499
 500    HRESULT (STDMETHODCALLTYPE *RefreshDeviceList)(
 501        IPortableDeviceManager *This);
 502
 503    HRESULT (STDMETHODCALLTYPE *GetDeviceFriendlyName)(
 504        IPortableDeviceManager *This,
 505        LPCWSTR device_id,
 506        WCHAR *device_friendly_name,
 507        DWORD *device_friendly_name_size);
 508
 509    HRESULT (STDMETHODCALLTYPE *GetDeviceDescription)(
 510        IPortableDeviceManager *This,
 511        LPCWSTR device_id,
 512        WCHAR *device_description,
 513        DWORD *device_description_size);
 514
 515    HRESULT (STDMETHODCALLTYPE *GetDeviceManufacturer)(
 516        IPortableDeviceManager *This,
 517        LPCWSTR device_id,
 518        WCHAR *device_manufacturer,
 519        DWORD *device_manufacturer_size);
 520
 521    HRESULT (STDMETHODCALLTYPE *GetDeviceProperty)(
 522        IPortableDeviceManager *This,
 523        LPCWSTR device_id,
 524        LPCWSTR device_property_name,
 525        BYTE *data,
 526        DWORD *data_size,
 527        DWORD *type);
 528
 529    HRESULT (STDMETHODCALLTYPE *GetPrivateDevices)(
 530        IPortableDeviceManager *This,
 531        LPWSTR *device_ids,
 532        DWORD *device_ids_count);
 533
 534    END_INTERFACE
 535} IPortableDeviceManagerVtbl;
 536
 537interface IPortableDeviceManager {
 538    CONST_VTBL IPortableDeviceManagerVtbl* lpVtbl;
 539};
 540
 541#ifdef COBJMACROS
 542#ifndef WIDL_C_INLINE_WRAPPERS
 543/*** IUnknown methods ***/
 544#define IPortableDeviceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 545#define IPortableDeviceManager_AddRef(This) (This)->lpVtbl->AddRef(This)
 546#define IPortableDeviceManager_Release(This) (This)->lpVtbl->Release(This)
 547/*** IPortableDeviceManager methods ***/
 548#define IPortableDeviceManager_GetDevices(This,device_ids,device_ids_count) (This)->lpVtbl->GetDevices(This,device_ids,device_ids_count)
 549#define IPortableDeviceManager_RefreshDeviceList(This) (This)->lpVtbl->RefreshDeviceList(This)
 550#define IPortableDeviceManager_GetDeviceFriendlyName(This,device_id,device_friendly_name,device_friendly_name_size) (This)->lpVtbl->GetDeviceFriendlyName(This,device_id,device_friendly_name,device_friendly_name_size)
 551#define IPortableDeviceManager_GetDeviceDescription(This,device_id,device_description,device_description_size) (This)->lpVtbl->GetDeviceDescription(This,device_id,device_description,device_description_size)
 552#define IPortableDeviceManager_GetDeviceManufacturer(This,device_id,device_manufacturer,device_manufacturer_size) (This)->lpVtbl->GetDeviceManufacturer(This,device_id,device_manufacturer,device_manufacturer_size)
 553#define IPortableDeviceManager_GetDeviceProperty(This,device_id,device_property_name,data,data_size,type) (This)->lpVtbl->GetDeviceProperty(This,device_id,device_property_name,data,data_size,type)
 554#define IPortableDeviceManager_GetPrivateDevices(This,device_ids,device_ids_count) (This)->lpVtbl->GetPrivateDevices(This,device_ids,device_ids_count)
 555#else
 556/*** IUnknown methods ***/
 557static inline HRESULT IPortableDeviceManager_QueryInterface(IPortableDeviceManager* This,REFIID riid,void **ppvObject) {
 558    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 559}
 560static inline ULONG IPortableDeviceManager_AddRef(IPortableDeviceManager* This) {
 561    return This->lpVtbl->AddRef(This);
 562}
 563static inline ULONG IPortableDeviceManager_Release(IPortableDeviceManager* This) {
 564    return This->lpVtbl->Release(This);
 565}
 566/*** IPortableDeviceManager methods ***/
 567static inline HRESULT IPortableDeviceManager_GetDevices(IPortableDeviceManager* This,LPWSTR *device_ids,DWORD *device_ids_count) {
 568    return This->lpVtbl->GetDevices(This,device_ids,device_ids_count);
 569}
 570static inline HRESULT IPortableDeviceManager_RefreshDeviceList(IPortableDeviceManager* This) {
 571    return This->lpVtbl->RefreshDeviceList(This);
 572}
 573static inline HRESULT IPortableDeviceManager_GetDeviceFriendlyName(IPortableDeviceManager* This,LPCWSTR device_id,WCHAR *device_friendly_name,DWORD *device_friendly_name_size) {
 574    return This->lpVtbl->GetDeviceFriendlyName(This,device_id,device_friendly_name,device_friendly_name_size);
 575}
 576static inline HRESULT IPortableDeviceManager_GetDeviceDescription(IPortableDeviceManager* This,LPCWSTR device_id,WCHAR *device_description,DWORD *device_description_size) {
 577    return This->lpVtbl->GetDeviceDescription(This,device_id,device_description,device_description_size);
 578}
 579static inline HRESULT IPortableDeviceManager_GetDeviceManufacturer(IPortableDeviceManager* This,LPCWSTR device_id,WCHAR *device_manufacturer,DWORD *device_manufacturer_size) {
 580    return This->lpVtbl->GetDeviceManufacturer(This,device_id,device_manufacturer,device_manufacturer_size);
 581}
 582static inline HRESULT IPortableDeviceManager_GetDeviceProperty(IPortableDeviceManager* This,LPCWSTR device_id,LPCWSTR device_property_name,BYTE *data,DWORD *data_size,DWORD *type) {
 583    return This->lpVtbl->GetDeviceProperty(This,device_id,device_property_name,data,data_size,type);
 584}
 585static inline HRESULT IPortableDeviceManager_GetPrivateDevices(IPortableDeviceManager* This,LPWSTR *device_ids,DWORD *device_ids_count) {
 586    return This->lpVtbl->GetPrivateDevices(This,device_ids,device_ids_count);
 587}
 588#endif
 589#endif
 590
 591#endif
 592
 593
 594#endif  /* __IPortableDeviceManager_INTERFACE_DEFINED__ */
 595
 596/*****************************************************************************
 597 * IPortableDevice interface
 598 */
 599#ifndef __IPortableDevice_INTERFACE_DEFINED__
 600#define __IPortableDevice_INTERFACE_DEFINED__
 601
 602DEFINE_GUID(IID_IPortableDevice, 0x625e2df8, 0x6392, 0x4cf0, 0x9a,0xd1, 0x3c,0xfa,0x5f,0x17,0x77,0x5c);
 603#if defined(__cplusplus) && !defined(CINTERFACE)
 604MIDL_INTERFACE("625e2df8-6392-4cf0-9ad1-3cfa5f17775c")
 605IPortableDevice : public IUnknown
 606{
 607    virtual HRESULT STDMETHODCALLTYPE Open(
 608        LPCWSTR device_id,
 609        IPortableDeviceValues *client_info) = 0;
 610
 611    virtual HRESULT STDMETHODCALLTYPE SendCommand(
 612        const DWORD flags,
 613        IPortableDeviceValues *parameters,
 614        IPortableDeviceValues **results) = 0;
 615
 616    virtual HRESULT STDMETHODCALLTYPE Content(
 617        IPortableDeviceContent **content) = 0;
 618
 619    virtual HRESULT STDMETHODCALLTYPE Capabilities(
 620        IPortableDeviceCapabilities **capabilities) = 0;
 621
 622    virtual HRESULT STDMETHODCALLTYPE Cancel(
 623        ) = 0;
 624
 625    virtual HRESULT STDMETHODCALLTYPE Close(
 626        ) = 0;
 627
 628    virtual HRESULT STDMETHODCALLTYPE Advise(
 629        const DWORD flags,
 630        IPortableDeviceEventCallback *callback,
 631        IPortableDeviceValues *parameters,
 632        LPWSTR *cookie) = 0;
 633
 634    virtual HRESULT STDMETHODCALLTYPE Unadvise(
 635        LPCWSTR cookie) = 0;
 636
 637    virtual HRESULT STDMETHODCALLTYPE GetPnPDeviceID(
 638        LPWSTR *device_id) = 0;
 639
 640};
 641#ifdef __CRT_UUID_DECL
 642__CRT_UUID_DECL(IPortableDevice, 0x625e2df8, 0x6392, 0x4cf0, 0x9a,0xd1, 0x3c,0xfa,0x5f,0x17,0x77,0x5c)
 643#endif
 644#else
 645typedef struct IPortableDeviceVtbl {
 646    BEGIN_INTERFACE
 647
 648    /*** IUnknown methods ***/
 649    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 650        IPortableDevice *This,
 651        REFIID riid,
 652        void **ppvObject);
 653
 654    ULONG (STDMETHODCALLTYPE *AddRef)(
 655        IPortableDevice *This);
 656
 657    ULONG (STDMETHODCALLTYPE *Release)(
 658        IPortableDevice *This);
 659
 660    /*** IPortableDevice methods ***/
 661    HRESULT (STDMETHODCALLTYPE *Open)(
 662        IPortableDevice *This,
 663        LPCWSTR device_id,
 664        IPortableDeviceValues *client_info);
 665
 666    HRESULT (STDMETHODCALLTYPE *SendCommand)(
 667        IPortableDevice *This,
 668        const DWORD flags,
 669        IPortableDeviceValues *parameters,
 670        IPortableDeviceValues **results);
 671
 672    HRESULT (STDMETHODCALLTYPE *Content)(
 673        IPortableDevice *This,
 674        IPortableDeviceContent **content);
 675
 676    HRESULT (STDMETHODCALLTYPE *Capabilities)(
 677        IPortableDevice *This,
 678        IPortableDeviceCapabilities **capabilities);
 679
 680    HRESULT (STDMETHODCALLTYPE *Cancel)(
 681        IPortableDevice *This);
 682
 683    HRESULT (STDMETHODCALLTYPE *Close)(
 684        IPortableDevice *This);
 685
 686    HRESULT (STDMETHODCALLTYPE *Advise)(
 687        IPortableDevice *This,
 688        const DWORD flags,
 689        IPortableDeviceEventCallback *callback,
 690        IPortableDeviceValues *parameters,
 691        LPWSTR *cookie);
 692
 693    HRESULT (STDMETHODCALLTYPE *Unadvise)(
 694        IPortableDevice *This,
 695        LPCWSTR cookie);
 696
 697    HRESULT (STDMETHODCALLTYPE *GetPnPDeviceID)(
 698        IPortableDevice *This,
 699        LPWSTR *device_id);
 700
 701    END_INTERFACE
 702} IPortableDeviceVtbl;
 703
 704interface IPortableDevice {
 705    CONST_VTBL IPortableDeviceVtbl* lpVtbl;
 706};
 707
 708#ifdef COBJMACROS
 709#ifndef WIDL_C_INLINE_WRAPPERS
 710/*** IUnknown methods ***/
 711#define IPortableDevice_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 712#define IPortableDevice_AddRef(This) (This)->lpVtbl->AddRef(This)
 713#define IPortableDevice_Release(This) (This)->lpVtbl->Release(This)
 714/*** IPortableDevice methods ***/
 715#define IPortableDevice_Open(This,device_id,client_info) (This)->lpVtbl->Open(This,device_id,client_info)
 716#define IPortableDevice_SendCommand(This,flags,parameters,results) (This)->lpVtbl->SendCommand(This,flags,parameters,results)
 717#define IPortableDevice_Content(This,content) (This)->lpVtbl->Content(This,content)
 718#define IPortableDevice_Capabilities(This,capabilities) (This)->lpVtbl->Capabilities(This,capabilities)
 719#define IPortableDevice_Cancel(This) (This)->lpVtbl->Cancel(This)
 720#define IPortableDevice_Close(This) (This)->lpVtbl->Close(This)
 721#define IPortableDevice_Advise(This,flags,callback,parameters,cookie) (This)->lpVtbl->Advise(This,flags,callback,parameters,cookie)
 722#define IPortableDevice_Unadvise(This,cookie) (This)->lpVtbl->Unadvise(This,cookie)
 723#define IPortableDevice_GetPnPDeviceID(This,device_id) (This)->lpVtbl->GetPnPDeviceID(This,device_id)
 724#else
 725/*** IUnknown methods ***/
 726static inline HRESULT IPortableDevice_QueryInterface(IPortableDevice* This,REFIID riid,void **ppvObject) {
 727    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 728}
 729static inline ULONG IPortableDevice_AddRef(IPortableDevice* This) {
 730    return This->lpVtbl->AddRef(This);
 731}
 732static inline ULONG IPortableDevice_Release(IPortableDevice* This) {
 733    return This->lpVtbl->Release(This);
 734}
 735/*** IPortableDevice methods ***/
 736static inline HRESULT IPortableDevice_Open(IPortableDevice* This,LPCWSTR device_id,IPortableDeviceValues *client_info) {
 737    return This->lpVtbl->Open(This,device_id,client_info);
 738}
 739static inline HRESULT IPortableDevice_SendCommand(IPortableDevice* This,const DWORD flags,IPortableDeviceValues *parameters,IPortableDeviceValues **results) {
 740    return This->lpVtbl->SendCommand(This,flags,parameters,results);
 741}
 742static inline HRESULT IPortableDevice_Content(IPortableDevice* This,IPortableDeviceContent **content) {
 743    return This->lpVtbl->Content(This,content);
 744}
 745static inline HRESULT IPortableDevice_Capabilities(IPortableDevice* This,IPortableDeviceCapabilities **capabilities) {
 746    return This->lpVtbl->Capabilities(This,capabilities);
 747}
 748static inline HRESULT IPortableDevice_Cancel(IPortableDevice* This) {
 749    return This->lpVtbl->Cancel(This);
 750}
 751static inline HRESULT IPortableDevice_Close(IPortableDevice* This) {
 752    return This->lpVtbl->Close(This);
 753}
 754static inline HRESULT IPortableDevice_Advise(IPortableDevice* This,const DWORD flags,IPortableDeviceEventCallback *callback,IPortableDeviceValues *parameters,LPWSTR *cookie) {
 755    return This->lpVtbl->Advise(This,flags,callback,parameters,cookie);
 756}
 757static inline HRESULT IPortableDevice_Unadvise(IPortableDevice* This,LPCWSTR cookie) {
 758    return This->lpVtbl->Unadvise(This,cookie);
 759}
 760static inline HRESULT IPortableDevice_GetPnPDeviceID(IPortableDevice* This,LPWSTR *device_id) {
 761    return This->lpVtbl->GetPnPDeviceID(This,device_id);
 762}
 763#endif
 764#endif
 765
 766#endif
 767
 768
 769#endif  /* __IPortableDevice_INTERFACE_DEFINED__ */
 770
 771/*****************************************************************************
 772 * IPortableDeviceContent interface
 773 */
 774#ifndef __IPortableDeviceContent_INTERFACE_DEFINED__
 775#define __IPortableDeviceContent_INTERFACE_DEFINED__
 776
 777DEFINE_GUID(IID_IPortableDeviceContent, 0x6a96ed84, 0x7c73, 0x4480, 0x99,0x38, 0xbf,0x5a,0xf4,0x77,0xd4,0x26);
 778#if defined(__cplusplus) && !defined(CINTERFACE)
 779MIDL_INTERFACE("6a96ed84-7c73-4480-9938-bf5af477d426")
 780IPortableDeviceContent : public IUnknown
 781{
 782    virtual HRESULT STDMETHODCALLTYPE EnumObjects(
 783        const DWORD flags,
 784        LPCWSTR parent_object_id,
 785        IPortableDeviceValues *filter,
 786        IEnumPortableDeviceObjectIDs **enum_device_object) = 0;
 787
 788    virtual HRESULT STDMETHODCALLTYPE Properties(
 789        IPortableDeviceProperties **device_properties) = 0;
 790
 791    virtual HRESULT STDMETHODCALLTYPE Transfer(
 792        IPortableDeviceResources **resources) = 0;
 793
 794    virtual HRESULT STDMETHODCALLTYPE CreateObjectWithPropertiesOnly(
 795        IPortableDeviceValues *values,
 796        LPWSTR *object_id) = 0;
 797
 798    virtual HRESULT STDMETHODCALLTYPE CreateObjectWithPropertiesAndData(
 799        IPortableDeviceValues *values,
 800        IStream **data,
 801        DWORD *optimal_write_buffer_size,
 802        LPWSTR *cookie) = 0;
 803
 804    virtual HRESULT STDMETHODCALLTYPE Delete(
 805        const DWORD options,
 806        IPortableDevicePropVariantCollection *object_ids,
 807        IPortableDevicePropVariantCollection **results) = 0;
 808
 809    virtual HRESULT STDMETHODCALLTYPE GetObjectIDsFromPersistentUniqueIDs(
 810        IPortableDevicePropVariantCollection *persistent_unique_ids,
 811        IPortableDevicePropVariantCollection **object_ids) = 0;
 812
 813    virtual HRESULT STDMETHODCALLTYPE Cancel(
 814        ) = 0;
 815
 816    virtual HRESULT STDMETHODCALLTYPE Move(
 817        IPortableDevicePropVariantCollection *object_ids,
 818        LPCWSTR destination_folder_object_id,
 819        IPortableDevicePropVariantCollection **results) = 0;
 820
 821    virtual HRESULT STDMETHODCALLTYPE Copy(
 822        IPortableDevicePropVariantCollection *object_ids,
 823        LPCWSTR destination_folder_object_id,
 824        IPortableDevicePropVariantCollection **results) = 0;
 825
 826};
 827#ifdef __CRT_UUID_DECL
 828__CRT_UUID_DECL(IPortableDeviceContent, 0x6a96ed84, 0x7c73, 0x4480, 0x99,0x38, 0xbf,0x5a,0xf4,0x77,0xd4,0x26)
 829#endif
 830#else
 831typedef struct IPortableDeviceContentVtbl {
 832    BEGIN_INTERFACE
 833
 834    /*** IUnknown methods ***/
 835    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 836        IPortableDeviceContent *This,
 837        REFIID riid,
 838        void **ppvObject);
 839
 840    ULONG (STDMETHODCALLTYPE *AddRef)(
 841        IPortableDeviceContent *This);
 842
 843    ULONG (STDMETHODCALLTYPE *Release)(
 844        IPortableDeviceContent *This);
 845
 846    /*** IPortableDeviceContent methods ***/
 847    HRESULT (STDMETHODCALLTYPE *EnumObjects)(
 848        IPortableDeviceContent *This,
 849        const DWORD flags,
 850        LPCWSTR parent_object_id,
 851        IPortableDeviceValues *filter,
 852        IEnumPortableDeviceObjectIDs **enum_device_object);
 853
 854    HRESULT (STDMETHODCALLTYPE *Properties)(
 855        IPortableDeviceContent *This,
 856        IPortableDeviceProperties **device_properties);
 857
 858    HRESULT (STDMETHODCALLTYPE *Transfer)(
 859        IPortableDeviceContent *This,
 860        IPortableDeviceResources **resources);
 861
 862    HRESULT (STDMETHODCALLTYPE *CreateObjectWithPropertiesOnly)(
 863        IPortableDeviceContent *This,
 864        IPortableDeviceValues *values,
 865        LPWSTR *object_id);
 866
 867    HRESULT (STDMETHODCALLTYPE *CreateObjectWithPropertiesAndData)(
 868        IPortableDeviceContent *This,
 869        IPortableDeviceValues *values,
 870        IStream **data,
 871        DWORD *optimal_write_buffer_size,
 872        LPWSTR *cookie);
 873
 874    HRESULT (STDMETHODCALLTYPE *Delete)(
 875        IPortableDeviceContent *This,
 876        const DWORD options,
 877        IPortableDevicePropVariantCollection *object_ids,
 878        IPortableDevicePropVariantCollection **results);
 879
 880    HRESULT (STDMETHODCALLTYPE *GetObjectIDsFromPersistentUniqueIDs)(
 881        IPortableDeviceContent *This,
 882        IPortableDevicePropVariantCollection *persistent_unique_ids,
 883        IPortableDevicePropVariantCollection **object_ids);
 884
 885    HRESULT (STDMETHODCALLTYPE *Cancel)(
 886        IPortableDeviceContent *This);
 887
 888    HRESULT (STDMETHODCALLTYPE *Move)(
 889        IPortableDeviceContent *This,
 890        IPortableDevicePropVariantCollection *object_ids,
 891        LPCWSTR destination_folder_object_id,
 892        IPortableDevicePropVariantCollection **results);
 893
 894    HRESULT (STDMETHODCALLTYPE *Copy)(
 895        IPortableDeviceContent *This,
 896        IPortableDevicePropVariantCollection *object_ids,
 897        LPCWSTR destination_folder_object_id,
 898        IPortableDevicePropVariantCollection **results);
 899
 900    END_INTERFACE
 901} IPortableDeviceContentVtbl;
 902
 903interface IPortableDeviceContent {
 904    CONST_VTBL IPortableDeviceContentVtbl* lpVtbl;
 905};
 906
 907#ifdef COBJMACROS
 908#ifndef WIDL_C_INLINE_WRAPPERS
 909/*** IUnknown methods ***/
 910#define IPortableDeviceContent_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 911#define IPortableDeviceContent_AddRef(This) (This)->lpVtbl->AddRef(This)
 912#define IPortableDeviceContent_Release(This) (This)->lpVtbl->Release(This)
 913/*** IPortableDeviceContent methods ***/
 914#define IPortableDeviceContent_EnumObjects(This,flags,parent_object_id,filter,enum_device_object) (This)->lpVtbl->EnumObjects(This,flags,parent_object_id,filter,enum_device_object)
 915#define IPortableDeviceContent_Properties(This,device_properties) (This)->lpVtbl->Properties(This,device_properties)
 916#define IPortableDeviceContent_Transfer(This,resources) (This)->lpVtbl->Transfer(This,resources)
 917#define IPortableDeviceContent_CreateObjectWithPropertiesOnly(This,values,object_id) (This)->lpVtbl->CreateObjectWithPropertiesOnly(This,values,object_id)
 918#define IPortableDeviceContent_CreateObjectWithPropertiesAndData(This,values,data,optimal_write_buffer_size,cookie) (This)->lpVtbl->CreateObjectWithPropertiesAndData(This,values,data,optimal_write_buffer_size,cookie)
 919#define IPortableDeviceContent_Delete(This,options,object_ids,results) (This)->lpVtbl->Delete(This,options,object_ids,results)
 920#define IPortableDeviceContent_GetObjectIDsFromPersistentUniqueIDs(This,persistent_unique_ids,object_ids) (This)->lpVtbl->GetObjectIDsFromPersistentUniqueIDs(This,persistent_unique_ids,object_ids)
 921#define IPortableDeviceContent_Cancel(This) (This)->lpVtbl->Cancel(This)
 922#define IPortableDeviceContent_Move(This,object_ids,destination_folder_object_id,results) (This)->lpVtbl->Move(This,object_ids,destination_folder_object_id,results)
 923#define IPortableDeviceContent_Copy(This,object_ids,destination_folder_object_id,results) (This)->lpVtbl->Copy(This,object_ids,destination_folder_object_id,results)
 924#else
 925/*** IUnknown methods ***/
 926static inline HRESULT IPortableDeviceContent_QueryInterface(IPortableDeviceContent* This,REFIID riid,void **ppvObject) {
 927    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 928}
 929static inline ULONG IPortableDeviceContent_AddRef(IPortableDeviceContent* This) {
 930    return This->lpVtbl->AddRef(This);
 931}
 932static inline ULONG IPortableDeviceContent_Release(IPortableDeviceContent* This) {
 933    return This->lpVtbl->Release(This);
 934}
 935/*** IPortableDeviceContent methods ***/
 936static inline HRESULT IPortableDeviceContent_EnumObjects(IPortableDeviceContent* This,const DWORD flags,LPCWSTR parent_object_id,IPortableDeviceValues *filter,IEnumPortableDeviceObjectIDs **enum_device_object) {
 937    return This->lpVtbl->EnumObjects(This,flags,parent_object_id,filter,enum_device_object);
 938}
 939static inline HRESULT IPortableDeviceContent_Properties(IPortableDeviceContent* This,IPortableDeviceProperties **device_properties) {
 940    return This->lpVtbl->Properties(This,device_properties);
 941}
 942static inline HRESULT IPortableDeviceContent_Transfer(IPortableDeviceContent* This,IPortableDeviceResources **resources) {
 943    return This->lpVtbl->Transfer(This,resources);
 944}
 945static inline HRESULT IPortableDeviceContent_CreateObjectWithPropertiesOnly(IPortableDeviceContent* This,IPortableDeviceValues *values,LPWSTR *object_id) {
 946    return This->lpVtbl->CreateObjectWithPropertiesOnly(This,values,object_id);
 947}
 948static inline HRESULT IPortableDeviceContent_CreateObjectWithPropertiesAndData(IPortableDeviceContent* This,IPortableDeviceValues *values,IStream **data,DWORD *optimal_write_buffer_size,LPWSTR *cookie) {
 949    return This->lpVtbl->CreateObjectWithPropertiesAndData(This,values,data,optimal_write_buffer_size,cookie);
 950}
 951static inline HRESULT IPortableDeviceContent_Delete(IPortableDeviceContent* This,const DWORD options,IPortableDevicePropVariantCollection *object_ids,IPortableDevicePropVariantCollection **results) {
 952    return This->lpVtbl->Delete(This,options,object_ids,results);
 953}
 954static inline HRESULT IPortableDeviceContent_GetObjectIDsFromPersistentUniqueIDs(IPortableDeviceContent* This,IPortableDevicePropVariantCollection *persistent_unique_ids,IPortableDevicePropVariantCollection **object_ids) {
 955    return This->lpVtbl->GetObjectIDsFromPersistentUniqueIDs(This,persistent_unique_ids,object_ids);
 956}
 957static inline HRESULT IPortableDeviceContent_Cancel(IPortableDeviceContent* This) {
 958    return This->lpVtbl->Cancel(This);
 959}
 960static inline HRESULT IPortableDeviceContent_Move(IPortableDeviceContent* This,IPortableDevicePropVariantCollection *object_ids,LPCWSTR destination_folder_object_id,IPortableDevicePropVariantCollection **results) {
 961    return This->lpVtbl->Move(This,object_ids,destination_folder_object_id,results);
 962}
 963static inline HRESULT IPortableDeviceContent_Copy(IPortableDeviceContent* This,IPortableDevicePropVariantCollection *object_ids,LPCWSTR destination_folder_object_id,IPortableDevicePropVariantCollection **results) {
 964    return This->lpVtbl->Copy(This,object_ids,destination_folder_object_id,results);
 965}
 966#endif
 967#endif
 968
 969#endif
 970
 971
 972#endif  /* __IPortableDeviceContent_INTERFACE_DEFINED__ */
 973
 974/*****************************************************************************
 975 * IPortableDeviceContent2 interface
 976 */
 977#ifndef __IPortableDeviceContent2_INTERFACE_DEFINED__
 978#define __IPortableDeviceContent2_INTERFACE_DEFINED__
 979
 980DEFINE_GUID(IID_IPortableDeviceContent2, 0x9b4add96, 0xf6bf, 0x4034, 0x87,0x08, 0xec,0xa7,0x2b,0xf1,0x05,0x54);
 981#if defined(__cplusplus) && !defined(CINTERFACE)
 982MIDL_INTERFACE("9b4add96-f6bf-4034-8708-eca72bf10554")
 983IPortableDeviceContent2 : public IPortableDeviceContent
 984{
 985    virtual HRESULT STDMETHODCALLTYPE UpdateObjectWithPropertiesAndData(
 986        LPCWSTR object_id,
 987        IPortableDeviceValues *device_properties,
 988        IStream **data,
 989        DWORD *optimal_write_buffer_size) = 0;
 990
 991};
 992#ifdef __CRT_UUID_DECL
 993__CRT_UUID_DECL(IPortableDeviceContent2, 0x9b4add96, 0xf6bf, 0x4034, 0x87,0x08, 0xec,0xa7,0x2b,0xf1,0x05,0x54)
 994#endif
 995#else
 996typedef struct IPortableDeviceContent2Vtbl {
 997    BEGIN_INTERFACE
 998
 999    /*** IUnknown methods ***/
1000    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1001        IPortableDeviceContent2 *This,
1002        REFIID riid,
1003        void **ppvObject);
1004
1005    ULONG (STDMETHODCALLTYPE *AddRef)(
1006        IPortableDeviceContent2 *This);
1007
1008    ULONG (STDMETHODCALLTYPE *Release)(
1009        IPortableDeviceContent2 *This);
1010
1011    /*** IPortableDeviceContent methods ***/
1012    HRESULT (STDMETHODCALLTYPE *EnumObjects)(
1013        IPortableDeviceContent2 *This,
1014        const DWORD flags,
1015        LPCWSTR parent_object_id,
1016        IPortableDeviceValues *filter,
1017        IEnumPortableDeviceObjectIDs **enum_device_object);
1018
1019    HRESULT (STDMETHODCALLTYPE *Properties)(
1020        IPortableDeviceContent2 *This,
1021        IPortableDeviceProperties **device_properties);
1022
1023    HRESULT (STDMETHODCALLTYPE *Transfer)(
1024        IPortableDeviceContent2 *This,
1025        IPortableDeviceResources **resources);
1026
1027    HRESULT (STDMETHODCALLTYPE *CreateObjectWithPropertiesOnly)(
1028        IPortableDeviceContent2 *This,
1029        IPortableDeviceValues *values,
1030        LPWSTR *object_id);
1031
1032    HRESULT (STDMETHODCALLTYPE *CreateObjectWithPropertiesAndData)(
1033        IPortableDeviceContent2 *This,
1034        IPortableDeviceValues *values,
1035        IStream **data,
1036        DWORD *optimal_write_buffer_size,
1037        LPWSTR *cookie);
1038
1039    HRESULT (STDMETHODCALLTYPE *Delete)(
1040        IPortableDeviceContent2 *This,
1041        const DWORD options,
1042        IPortableDevicePropVariantCollection *object_ids,
1043        IPortableDevicePropVariantCollection **results);
1044
1045    HRESULT (STDMETHODCALLTYPE *GetObjectIDsFromPersistentUniqueIDs)(
1046        IPortableDeviceContent2 *This,
1047        IPortableDevicePropVariantCollection *persistent_unique_ids,
1048        IPortableDevicePropVariantCollection **object_ids);
1049
1050    HRESULT (STDMETHODCALLTYPE *Cancel)(
1051        IPortableDeviceContent2 *This);
1052
1053    HRESULT (STDMETHODCALLTYPE *Move)(
1054        IPortableDeviceContent2 *This,
1055        IPortableDevicePropVariantCollection *object_ids,
1056        LPCWSTR destination_folder_object_id,
1057        IPortableDevicePropVariantCollection **results);
1058
1059    HRESULT (STDMETHODCALLTYPE *Copy)(
1060        IPortableDeviceContent2 *This,
1061        IPortableDevicePropVariantCollection *object_ids,
1062        LPCWSTR destination_folder_object_id,
1063        IPortableDevicePropVariantCollection **results);
1064
1065    /*** IPortableDeviceContent2 methods ***/
1066    HRESULT (STDMETHODCALLTYPE *UpdateObjectWithPropertiesAndData)(
1067        IPortableDeviceContent2 *This,
1068        LPCWSTR object_id,
1069        IPortableDeviceValues *device_properties,
1070        IStream **data,
1071        DWORD *optimal_write_buffer_size);
1072
1073    END_INTERFACE
1074} IPortableDeviceContent2Vtbl;
1075
1076interface IPortableDeviceContent2 {
1077    CONST_VTBL IPortableDeviceContent2Vtbl* lpVtbl;
1078};
1079
1080#ifdef COBJMACROS
1081#ifndef WIDL_C_INLINE_WRAPPERS
1082/*** IUnknown methods ***/
1083#define IPortableDeviceContent2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1084#define IPortableDeviceContent2_AddRef(This) (This)->lpVtbl->AddRef(This)
1085#define IPortableDeviceContent2_Release(This) (This)->lpVtbl->Release(This)
1086/*** IPortableDeviceContent methods ***/
1087#define IPortableDeviceContent2_EnumObjects(This,flags,parent_object_id,filter,enum_device_object) (This)->lpVtbl->EnumObjects(This,flags,parent_object_id,filter,enum_device_object)
1088#define IPortableDeviceContent2_Properties(This,device_properties) (This)->lpVtbl->Properties(This,device_properties)
1089#define IPortableDeviceContent2_Transfer(This,resources) (This)->lpVtbl->Transfer(This,resources)
1090#define IPortableDeviceContent2_CreateObjectWithPropertiesOnly(This,values,object_id) (This)->lpVtbl->CreateObjectWithPropertiesOnly(This,values,object_id)
1091#define IPortableDeviceContent2_CreateObjectWithPropertiesAndData(This,values,data,optimal_write_buffer_size,cookie) (This)->lpVtbl->CreateObjectWithPropertiesAndData(This,values,data,optimal_write_buffer_size,cookie)
1092#define IPortableDeviceContent2_Delete(This,options,object_ids,results) (This)->lpVtbl->Delete(This,options,object_ids,results)
1093#define IPortableDeviceContent2_GetObjectIDsFromPersistentUniqueIDs(This,persistent_unique_ids,object_ids) (This)->lpVtbl->GetObjectIDsFromPersistentUniqueIDs(This,persistent_unique_ids,object_ids)
1094#define IPortableDeviceContent2_Cancel(This) (This)->lpVtbl->Cancel(This)
1095#define IPortableDeviceContent2_Move(This,object_ids,destination_folder_object_id,results) (This)->lpVtbl->Move(This,object_ids,destination_folder_object_id,results)
1096#define IPortableDeviceContent2_Copy(This,object_ids,destination_folder_object_id,results) (This)->lpVtbl->Copy(This,object_ids,destination_folder_object_id,results)
1097/*** IPortableDeviceContent2 methods ***/
1098#define IPortableDeviceContent2_UpdateObjectWithPropertiesAndData(This,object_id,device_properties,data,optimal_write_buffer_size) (This)->lpVtbl->UpdateObjectWithPropertiesAndData(This,object_id,device_properties,data,optimal_write_buffer_size)
1099#else
1100/*** IUnknown methods ***/
1101static inline HRESULT IPortableDeviceContent2_QueryInterface(IPortableDeviceContent2* This,REFIID riid,void **ppvObject) {
1102    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1103}
1104static inline ULONG IPortableDeviceContent2_AddRef(IPortableDeviceContent2* This) {
1105    return This->lpVtbl->AddRef(This);
1106}
1107static inline ULONG IPortableDeviceContent2_Release(IPortableDeviceContent2* This) {
1108    return This->lpVtbl->Release(This);
1109}
1110/*** IPortableDeviceContent methods ***/
1111static inline HRESULT IPortableDeviceContent2_EnumObjects(IPortableDeviceContent2* This,const DWORD flags,LPCWSTR parent_object_id,IPortableDeviceValues *filter,IEnumPortableDeviceObjectIDs **enum_device_object) {
1112    return This->lpVtbl->EnumObjects(This,flags,parent_object_id,filter,enum_device_object);
1113}
1114static inline HRESULT IPortableDeviceContent2_Properties(IPortableDeviceContent2* This,IPortableDeviceProperties **device_properties) {
1115    return This->lpVtbl->Properties(This,device_properties);
1116}
1117static inline HRESULT IPortableDeviceContent2_Transfer(IPortableDeviceContent2* This,IPortableDeviceResources **resources) {
1118    return This->lpVtbl->Transfer(This,resources);
1119}
1120static inline HRESULT IPortableDeviceContent2_CreateObjectWithPropertiesOnly(IPortableDeviceContent2* This,IPortableDeviceValues *values,LPWSTR *object_id) {
1121    return This->lpVtbl->CreateObjectWithPropertiesOnly(This,values,object_id);
1122}
1123static inline HRESULT IPortableDeviceContent2_CreateObjectWithPropertiesAndData(IPortableDeviceContent2* This,IPortableDeviceValues *values,IStream **data,DWORD *optimal_write_buffer_size,LPWSTR *cookie) {
1124    return This->lpVtbl->CreateObjectWithPropertiesAndData(This,values,data,optimal_write_buffer_size,cookie);
1125}
1126static inline HRESULT IPortableDeviceContent2_Delete(IPortableDeviceContent2* This,const DWORD options,IPortableDevicePropVariantCollection *object_ids,IPortableDevicePropVariantCollection **results) {
1127    return This->lpVtbl->Delete(This,options,object_ids,results);
1128}
1129static inline HRESULT IPortableDeviceContent2_GetObjectIDsFromPersistentUniqueIDs(IPortableDeviceContent2* This,IPortableDevicePropVariantCollection *persistent_unique_ids,IPortableDevicePropVariantCollection **object_ids) {
1130    return This->lpVtbl->GetObjectIDsFromPersistentUniqueIDs(This,persistent_unique_ids,object_ids);
1131}
1132static inline HRESULT IPortableDeviceContent2_Cancel(IPortableDeviceContent2* This) {
1133    return This->lpVtbl->Cancel(This);
1134}
1135static inline HRESULT IPortableDeviceContent2_Move(IPortableDeviceContent2* This,IPortableDevicePropVariantCollection *object_ids,LPCWSTR destination_folder_object_id,IPortableDevicePropVariantCollection **results) {
1136    return This->lpVtbl->Move(This,object_ids,destination_folder_object_id,results);
1137}
1138static inline HRESULT IPortableDeviceContent2_Copy(IPortableDeviceContent2* This,IPortableDevicePropVariantCollection *object_ids,LPCWSTR destination_folder_object_id,IPortableDevicePropVariantCollection **results) {
1139    return This->lpVtbl->Copy(This,object_ids,destination_folder_object_id,results);
1140}
1141/*** IPortableDeviceContent2 methods ***/
1142static inline HRESULT IPortableDeviceContent2_UpdateObjectWithPropertiesAndData(IPortableDeviceContent2* This,LPCWSTR object_id,IPortableDeviceValues *device_properties,IStream **data,DWORD *optimal_write_buffer_size) {
1143    return This->lpVtbl->UpdateObjectWithPropertiesAndData(This,object_id,device_properties,data,optimal_write_buffer_size);
1144}
1145#endif
1146#endif
1147
1148#endif
1149
1150
1151#endif  /* __IPortableDeviceContent2_INTERFACE_DEFINED__ */
1152
1153/*****************************************************************************
1154 * IEnumPortableDeviceObjectIDs interface
1155 */
1156#ifndef __IEnumPortableDeviceObjectIDs_INTERFACE_DEFINED__
1157#define __IEnumPortableDeviceObjectIDs_INTERFACE_DEFINED__
1158
1159DEFINE_GUID(IID_IEnumPortableDeviceObjectIDs, 0x10ece955, 0xcf41, 0x4728, 0xbf,0xa0, 0x41,0xee,0xdf,0x1b,0xbf,0x19);
1160#if defined(__cplusplus) && !defined(CINTERFACE)
1161MIDL_INTERFACE("10ece955-cf41-4728-bfa0-41eedf1bbf19")
1162IEnumPortableDeviceObjectIDs : public IUnknown
1163{
1164    virtual HRESULT STDMETHODCALLTYPE Next(
1165        ULONG objects,
1166        LPWSTR *obj_ids,
1167        ULONG *fetched) = 0;
1168
1169    virtual HRESULT STDMETHODCALLTYPE Skip(
1170        ULONG objects) = 0;
1171
1172    virtual HRESULT STDMETHODCALLTYPE Reset(
1173        ) = 0;
1174
1175    virtual HRESULT STDMETHODCALLTYPE Clone(
1176        IEnumPortableDeviceObjectIDs **enum_device_object) = 0;
1177
1178    virtual HRESULT STDMETHODCALLTYPE Cancel(
1179        ) = 0;
1180
1181};
1182#ifdef __CRT_UUID_DECL
1183__CRT_UUID_DECL(IEnumPortableDeviceObjectIDs, 0x10ece955, 0xcf41, 0x4728, 0xbf,0xa0, 0x41,0xee,0xdf,0x1b,0xbf,0x19)
1184#endif
1185#else
1186typedef struct IEnumPortableDeviceObjectIDsVtbl {
1187    BEGIN_INTERFACE
1188
1189    /*** IUnknown methods ***/
1190    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1191        IEnumPortableDeviceObjectIDs *This,
1192        REFIID riid,
1193        void **ppvObject);
1194
1195    ULONG (STDMETHODCALLTYPE *AddRef)(
1196        IEnumPortableDeviceObjectIDs *This);
1197
1198    ULONG (STDMETHODCALLTYPE *Release)(
1199        IEnumPortableDeviceObjectIDs *This);
1200
1201    /*** IEnumPortableDeviceObjectIDs methods ***/
1202    HRESULT (STDMETHODCALLTYPE *Next)(
1203        IEnumPortableDeviceObjectIDs *This,
1204        ULONG objects,
1205        LPWSTR *obj_ids,
1206        ULONG *fetched);
1207
1208    HRESULT (STDMETHODCALLTYPE *Skip)(
1209        IEnumPortableDeviceObjectIDs *This,
1210        ULONG objects);
1211
1212    HRESULT (STDMETHODCALLTYPE *Reset)(
1213        IEnumPortableDeviceObjectIDs *This);
1214
1215    HRESULT (STDMETHODCALLTYPE *Clone)(
1216        IEnumPortableDeviceObjectIDs *This,
1217        IEnumPortableDeviceObjectIDs **enum_device_object);
1218
1219    HRESULT (STDMETHODCALLTYPE *Cancel)(
1220        IEnumPortableDeviceObjectIDs *This);
1221
1222    END_INTERFACE
1223} IEnumPortableDeviceObjectIDsVtbl;
1224
1225interface IEnumPortableDeviceObjectIDs {
1226    CONST_VTBL IEnumPortableDeviceObjectIDsVtbl* lpVtbl;
1227};
1228
1229#ifdef COBJMACROS
1230#ifndef WIDL_C_INLINE_WRAPPERS
1231/*** IUnknown methods ***/
1232#define IEnumPortableDeviceObjectIDs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1233#define IEnumPortableDeviceObjectIDs_AddRef(This) (This)->lpVtbl->AddRef(This)
1234#define IEnumPortableDeviceObjectIDs_Release(This) (This)->lpVtbl->Release(This)
1235/*** IEnumPortableDeviceObjectIDs methods ***/
1236#define IEnumPortableDeviceObjectIDs_Next(This,objects,obj_ids,fetched) (This)->lpVtbl->Next(This,objects,obj_ids,fetched)
1237#define IEnumPortableDeviceObjectIDs_Skip(This,objects) (This)->lpVtbl->Skip(This,objects)
1238#define IEnumPortableDeviceObjectIDs_Reset(This) (This)->lpVtbl->Reset(This)
1239#define IEnumPortableDeviceObjectIDs_Clone(This,enum_device_object) (This)->lpVtbl->Clone(This,enum_device_object)
1240#define IEnumPortableDeviceObjectIDs_Cancel(This) (This)->lpVtbl->Cancel(This)
1241#else
1242/*** IUnknown methods ***/
1243static inline HRESULT IEnumPortableDeviceObjectIDs_QueryInterface(IEnumPortableDeviceObjectIDs* This,REFIID riid,void **ppvObject) {
1244    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1245}
1246static inline ULONG IEnumPortableDeviceObjectIDs_AddRef(IEnumPortableDeviceObjectIDs* This) {
1247    return This->lpVtbl->AddRef(This);
1248}
1249static inline ULONG IEnumPortableDeviceObjectIDs_Release(IEnumPortableDeviceObjectIDs* This) {
1250    return This->lpVtbl->Release(This);
1251}
1252/*** IEnumPortableDeviceObjectIDs methods ***/
1253static inline HRESULT IEnumPortableDeviceObjectIDs_Next(IEnumPortableDeviceObjectIDs* This,ULONG objects,LPWSTR *obj_ids,ULONG *fetched) {
1254    return This->lpVtbl->Next(This,objects,obj_ids,fetched);
1255}
1256static inline HRESULT IEnumPortableDeviceObjectIDs_Skip(IEnumPortableDeviceObjectIDs* This,ULONG objects) {
1257    return This->lpVtbl->Skip(This,objects);
1258}
1259static inline HRESULT IEnumPortableDeviceObjectIDs_Reset(IEnumPortableDeviceObjectIDs* This) {
1260    return This->lpVtbl->Reset(This);
1261}
1262static inline HRESULT IEnumPortableDeviceObjectIDs_Clone(IEnumPortableDeviceObjectIDs* This,IEnumPortableDeviceObjectIDs **enum_device_object) {
1263    return This->lpVtbl->Clone(This,enum_device_object);
1264}
1265static inline HRESULT IEnumPortableDeviceObjectIDs_Cancel(IEnumPortableDeviceObjectIDs* This) {
1266    return This->lpVtbl->Cancel(This);
1267}
1268#endif
1269#endif
1270
1271#endif
1272
1273
1274#endif  /* __IEnumPortableDeviceObjectIDs_INTERFACE_DEFINED__ */
1275
1276/*****************************************************************************
1277 * IPortableDeviceProperties interface
1278 */
1279#ifndef __IPortableDeviceProperties_INTERFACE_DEFINED__
1280#define __IPortableDeviceProperties_INTERFACE_DEFINED__
1281
1282DEFINE_GUID(IID_IPortableDeviceProperties, 0x7f6d695c, 0x03df, 0x4439, 0xa8,0x09, 0x59,0x26,0x6b,0xee,0xe3,0xa6);
1283#if defined(__cplusplus) && !defined(CINTERFACE)
1284MIDL_INTERFACE("7f6d695c-03df-4439-a809-59266beee3a6")
1285IPortableDeviceProperties : public IUnknown
1286{
1287    virtual HRESULT STDMETHODCALLTYPE GetSupportedProperties(
1288        LPCWSTR object_id,
1289        IPortableDeviceKeyCollection **keys) = 0;
1290
1291    virtual HRESULT STDMETHODCALLTYPE GetPropertyAttributes(
1292        LPCWSTR object_id,
1293        REFPROPERTYKEY key,
1294        IPortableDeviceValues **attributes) = 0;
1295
1296    virtual HRESULT STDMETHODCALLTYPE GetValues(
1297        LPCWSTR object_id,
1298        IPortableDeviceKeyCollection *keys,
1299        IPortableDeviceValues **values) = 0;
1300
1301    virtual HRESULT STDMETHODCALLTYPE SetValues(
1302        LPCWSTR object_id,
1303        IPortableDeviceValues *values,
1304        IPortableDeviceValues **results) = 0;
1305
1306    virtual HRESULT STDMETHODCALLTYPE Delete(
1307        LPCWSTR object_id,
1308        IPortableDeviceKeyCollection *keys) = 0;
1309
1310    virtual HRESULT STDMETHODCALLTYPE Cancel(
1311        ) = 0;
1312
1313};
1314#ifdef __CRT_UUID_DECL
1315__CRT_UUID_DECL(IPortableDeviceProperties, 0x7f6d695c, 0x03df, 0x4439, 0xa8,0x09, 0x59,0x26,0x6b,0xee,0xe3,0xa6)
1316#endif
1317#else
1318typedef struct IPortableDevicePropertiesVtbl {
1319    BEGIN_INTERFACE
1320
1321    /*** IUnknown methods ***/
1322    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1323        IPortableDeviceProperties *This,
1324        REFIID riid,
1325        void **ppvObject);
1326
1327    ULONG (STDMETHODCALLTYPE *AddRef)(
1328        IPortableDeviceProperties *This);
1329
1330    ULONG (STDMETHODCALLTYPE *Release)(
1331        IPortableDeviceProperties *This);
1332
1333    /*** IPortableDeviceProperties methods ***/
1334    HRESULT (STDMETHODCALLTYPE *GetSupportedProperties)(
1335        IPortableDeviceProperties *This,
1336        LPCWSTR object_id,
1337        IPortableDeviceKeyCollection **keys);
1338
1339    HRESULT (STDMETHODCALLTYPE *GetPropertyAttributes)(
1340        IPortableDeviceProperties *This,
1341        LPCWSTR object_id,
1342        REFPROPERTYKEY key,
1343        IPortableDeviceValues **attributes);
1344
1345    HRESULT (STDMETHODCALLTYPE *GetValues)(
1346        IPortableDeviceProperties *This,
1347        LPCWSTR object_id,
1348        IPortableDeviceKeyCollection *keys,
1349        IPortableDeviceValues **values);
1350
1351    HRESULT (STDMETHODCALLTYPE *SetValues)(
1352        IPortableDeviceProperties *This,
1353        LPCWSTR object_id,
1354        IPortableDeviceValues *values,
1355        IPortableDeviceValues **results);
1356
1357    HRESULT (STDMETHODCALLTYPE *Delete)(
1358        IPortableDeviceProperties *This,
1359        LPCWSTR object_id,
1360        IPortableDeviceKeyCollection *keys);
1361
1362    HRESULT (STDMETHODCALLTYPE *Cancel)(
1363        IPortableDeviceProperties *This);
1364
1365    END_INTERFACE
1366} IPortableDevicePropertiesVtbl;
1367
1368interface IPortableDeviceProperties {
1369    CONST_VTBL IPortableDevicePropertiesVtbl* lpVtbl;
1370};
1371
1372#ifdef COBJMACROS
1373#ifndef WIDL_C_INLINE_WRAPPERS
1374/*** IUnknown methods ***/
1375#define IPortableDeviceProperties_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1376#define IPortableDeviceProperties_AddRef(This) (This)->lpVtbl->AddRef(This)
1377#define IPortableDeviceProperties_Release(This) (This)->lpVtbl->Release(This)
1378/*** IPortableDeviceProperties methods ***/
1379#define IPortableDeviceProperties_GetSupportedProperties(This,object_id,keys) (This)->lpVtbl->GetSupportedProperties(This,object_id,keys)
1380#define IPortableDeviceProperties_GetPropertyAttributes(This,object_id,key,attributes) (This)->lpVtbl->GetPropertyAttributes(This,object_id,key,attributes)
1381#define IPortableDeviceProperties_GetValues(This,object_id,keys,values) (This)->lpVtbl->GetValues(This,object_id,keys,values)
1382#define IPortableDeviceProperties_SetValues(This,object_id,values,results) (This)->lpVtbl->SetValues(This,object_id,values,results)
1383#define IPortableDeviceProperties_Delete(This,object_id,keys) (This)->lpVtbl->Delete(This,object_id,keys)
1384#define IPortableDeviceProperties_Cancel(This) (This)->lpVtbl->Cancel(This)
1385#else
1386/*** IUnknown methods ***/
1387static inline HRESULT IPortableDeviceProperties_QueryInterface(IPortableDeviceProperties* This,REFIID riid,void **ppvObject) {
1388    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1389}
1390static inline ULONG IPortableDeviceProperties_AddRef(IPortableDeviceProperties* This) {
1391    return This->lpVtbl->AddRef(This);
1392}
1393static inline ULONG IPortableDeviceProperties_Release(IPortableDeviceProperties* This) {
1394    return This->lpVtbl->Release(This);
1395}
1396/*** IPortableDeviceProperties methods ***/
1397static inline HRESULT IPortableDeviceProperties_GetSupportedProperties(IPortableDeviceProperties* This,LPCWSTR object_id,IPortableDeviceKeyCollection **keys) {
1398    return This->lpVtbl->GetSupportedProperties(This,object_id,keys);
1399}
1400static inline HRESULT IPortableDeviceProperties_GetPropertyAttributes(IPortableDeviceProperties* This,LPCWSTR object_id,REFPROPERTYKEY key,IPortableDeviceValues **attributes) {
1401    return This->lpVtbl->GetPropertyAttributes(This,object_id,key,attributes);
1402}
1403static inline HRESULT IPortableDeviceProperties_GetValues(IPortableDeviceProperties* This,LPCWSTR object_id,IPortableDeviceKeyCollection *keys,IPortableDeviceValues **values) {
1404    return This->lpVtbl->GetValues(This,object_id,keys,values);
1405}
1406static inline HRESULT IPortableDeviceProperties_SetValues(IPortableDeviceProperties* This,LPCWSTR object_id,IPortableDeviceValues *values,IPortableDeviceValues **results) {
1407    return This->lpVtbl->SetValues(This,object_id,values,results);
1408}
1409static inline HRESULT IPortableDeviceProperties_Delete(IPortableDeviceProperties* This,LPCWSTR object_id,IPortableDeviceKeyCollection *keys) {
1410    return This->lpVtbl->Delete(This,object_id,keys);
1411}
1412static inline HRESULT IPortableDeviceProperties_Cancel(IPortableDeviceProperties* This) {
1413    return This->lpVtbl->Cancel(This);
1414}
1415#endif
1416#endif
1417
1418#endif
1419
1420
1421#endif  /* __IPortableDeviceProperties_INTERFACE_DEFINED__ */
1422
1423/*****************************************************************************
1424 * IPortableDeviceResources interface
1425 */
1426#ifndef __IPortableDeviceResources_INTERFACE_DEFINED__
1427#define __IPortableDeviceResources_INTERFACE_DEFINED__
1428
1429DEFINE_GUID(IID_IPortableDeviceResources, 0xfd8878ac, 0xd841, 0x4d17, 0x89,0x1c, 0xe6,0x82,0x9c,0xdb,0x69,0x34);
1430#if defined(__cplusplus) && !defined(CINTERFACE)
1431MIDL_INTERFACE("fd8878ac-d841-4d17-891c-e6829cdb6934")
1432IPortableDeviceResources : public IUnknown
1433{
1434    virtual HRESULT STDMETHODCALLTYPE GetSupportedResources(
1435        LPCWSTR object_id,
1436        IPortableDeviceKeyCollection **keys) = 0;
1437
1438    virtual HRESULT STDMETHODCALLTYPE GetResourceAttributes(
1439        LPCWSTR object_id,
1440        REFPROPERTYKEY key,
1441        IPortableDeviceValues **resource_attributes) = 0;
1442
1443    virtual HRESULT STDMETHODCALLTYPE GetStream(
1444        LPCWSTR object_id,
1445        REFPROPERTYKEY key,
1446        const DWORD mode,
1447        DWORD *optimal_buffer_size,
1448        IStream **stream) = 0;
1449
1450    virtual HRESULT STDMETHODCALLTYPE Delete(
1451        LPCWSTR object_id,
1452        IPortableDeviceKeyCollection *keys) = 0;
1453
1454    virtual HRESULT STDMETHODCALLTYPE Cancel(
1455        ) = 0;
1456
1457    virtual HRESULT STDMETHODCALLTYPE CreateResource(
1458        IPortableDeviceValues *resource_attributes,
1459        IStream **data,
1460        DWORD *optimal_write_buffer_size,
1461        LPWSTR *cookie) = 0;
1462
1463};
1464#ifdef __CRT_UUID_DECL
1465__CRT_UUID_DECL(IPortableDeviceResources, 0xfd8878ac, 0xd841, 0x4d17, 0x89,0x1c, 0xe6,0x82,0x9c,0xdb,0x69,0x34)
1466#endif
1467#else
1468typedef struct IPortableDeviceResourcesVtbl {
1469    BEGIN_INTERFACE
1470
1471    /*** IUnknown methods ***/
1472    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1473        IPortableDeviceResources *This,
1474        REFIID riid,
1475        void **ppvObject);
1476
1477    ULONG (STDMETHODCALLTYPE *AddRef)(
1478        IPortableDeviceResources *This);
1479
1480    ULONG (STDMETHODCALLTYPE *Release)(
1481        IPortableDeviceResources *This);
1482
1483    /*** IPortableDeviceResources methods ***/
1484    HRESULT (STDMETHODCALLTYPE *GetSupportedResources)(
1485        IPortableDeviceResources *This,
1486        LPCWSTR object_id,
1487        IPortableDeviceKeyCollection **keys);
1488
1489    HRESULT (STDMETHODCALLTYPE *GetResourceAttributes)(
1490        IPortableDeviceResources *This,
1491        LPCWSTR object_id,
1492        REFPROPERTYKEY key,
1493        IPortableDeviceValues **resource_attributes);
1494
1495    HRESULT (STDMETHODCALLTYPE *GetStream)(
1496        IPortableDeviceResources *This,
1497        LPCWSTR object_id,
1498        REFPROPERTYKEY key,
1499        const DWORD mode,
1500        DWORD *optimal_buffer_size,
1501        IStream **stream);
1502
1503    HRESULT (STDMETHODCALLTYPE *Delete)(
1504        IPortableDeviceResources *This,
1505        LPCWSTR object_id,
1506        IPortableDeviceKeyCollection *keys);
1507
1508    HRESULT (STDMETHODCALLTYPE *Cancel)(
1509        IPortableDeviceResources *This);
1510
1511    HRESULT (STDMETHODCALLTYPE *CreateResource)(
1512        IPortableDeviceResources *This,
1513        IPortableDeviceValues *resource_attributes,
1514        IStream **data,
1515        DWORD *optimal_write_buffer_size,
1516        LPWSTR *cookie);
1517
1518    END_INTERFACE
1519} IPortableDeviceResourcesVtbl;
1520
1521interface IPortableDeviceResources {
1522    CONST_VTBL IPortableDeviceResourcesVtbl* lpVtbl;
1523};
1524
1525#ifdef COBJMACROS
1526#ifndef WIDL_C_INLINE_WRAPPERS
1527/*** IUnknown methods ***/
1528#define IPortableDeviceResources_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1529#define IPortableDeviceResources_AddRef(This) (This)->lpVtbl->AddRef(This)
1530#define IPortableDeviceResources_Release(This) (This)->lpVtbl->Release(This)
1531/*** IPortableDeviceResources methods ***/
1532#define IPortableDeviceResources_GetSupportedResources(This,object_id,keys) (This)->lpVtbl->GetSupportedResources(This,object_id,keys)
1533#define IPortableDeviceResources_GetResourceAttributes(This,object_id,key,resource_attributes) (This)->lpVtbl->GetResourceAttributes(This,object_id,key,resource_attributes)
1534#define IPortableDeviceResources_GetStream(This,object_id,key,mode,optimal_buffer_size,stream) (This)->lpVtbl->GetStream(This,object_id,key,mode,optimal_buffer_size,stream)
1535#define IPortableDeviceResources_Delete(This,object_id,keys) (This)->lpVtbl->Delete(This,object_id,keys)
1536#define IPortableDeviceResources_Cancel(This) (This)->lpVtbl->Cancel(This)
1537#define IPortableDeviceResources_CreateResource(This,resource_attributes,data,optimal_write_buffer_size,cookie) (This)->lpVtbl->CreateResource(This,resource_attributes,data,optimal_write_buffer_size,cookie)
1538#else
1539/*** IUnknown methods ***/
1540static inline HRESULT IPortableDeviceResources_QueryInterface(IPortableDeviceResources* This,REFIID riid,void **ppvObject) {
1541    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1542}
1543static inline ULONG IPortableDeviceResources_AddRef(IPortableDeviceResources* This) {
1544    return This->lpVtbl->AddRef(This);
1545}
1546static inline ULONG IPortableDeviceResources_Release(IPortableDeviceResources* This) {
1547    return This->lpVtbl->Release(This);
1548}
1549/*** IPortableDeviceResources methods ***/
1550static inline HRESULT IPortableDeviceResources_GetSupportedResources(IPortableDeviceResources* This,LPCWSTR object_id,IPortableDeviceKeyCollection **keys) {
1551    return This->lpVtbl->GetSupportedResources(This,object_id,keys);
1552}
1553static inline HRESULT IPortableDeviceResources_GetResourceAttributes(IPortableDeviceResources* This,LPCWSTR object_id,REFPROPERTYKEY key,IPortableDeviceValues **resource_attributes) {
1554    return This->lpVtbl->GetResourceAttributes(This,object_id,key,resource_attributes);
1555}
1556static inline HRESULT IPortableDeviceResources_GetStream(IPortableDeviceResources* This,LPCWSTR object_id,REFPROPERTYKEY key,const DWORD mode,DWORD *optimal_buffer_size,IStream **stream) {
1557    return This->lpVtbl->GetStream(This,object_id,key,mode,optimal_buffer_size,stream);
1558}
1559static inline HRESULT IPortableDeviceResources_Delete(IPortableDeviceResources* This,LPCWSTR object_id,IPortableDeviceKeyCollection *keys) {
1560    return This->lpVtbl->Delete(This,object_id,keys);
1561}
1562static inline HRESULT IPortableDeviceResources_Cancel(IPortableDeviceResources* This) {
1563    return This->lpVtbl->Cancel(This);
1564}
1565static inline HRESULT IPortableDeviceResources_CreateResource(IPortableDeviceResources* This,IPortableDeviceValues *resource_attributes,IStream **data,DWORD *optimal_write_buffer_size,LPWSTR *cookie) {
1566    return This->lpVtbl->CreateResource(This,resource_attributes,data,optimal_write_buffer_size,cookie);
1567}
1568#endif
1569#endif
1570
1571#endif
1572
1573
1574#endif  /* __IPortableDeviceResources_INTERFACE_DEFINED__ */
1575
1576/*****************************************************************************
1577 * IPortableDeviceCapabilities interface
1578 */
1579#ifndef __IPortableDeviceCapabilities_INTERFACE_DEFINED__
1580#define __IPortableDeviceCapabilities_INTERFACE_DEFINED__
1581
1582DEFINE_GUID(IID_IPortableDeviceCapabilities, 0x2c8c6dbf, 0xe3dc, 0x4061, 0xbe,0xcc, 0x85,0x42,0xe8,0x10,0xd1,0x26);
1583#if defined(__cplusplus) && !defined(CINTERFACE)
1584MIDL_INTERFACE("2c8c6dbf-e3dc-4061-becc-8542e810d126")
1585IPortableDeviceCapabilities : public IUnknown
1586{
1587    virtual HRESULT STDMETHODCALLTYPE GetSupportedCommands(
1588        IPortableDeviceKeyCollection **commands) = 0;
1589
1590    virtual HRESULT STDMETHODCALLTYPE GetCommandOptions(
1591        REFPROPERTYKEY command,
1592        IPortableDeviceValues **options) = 0;
1593
1594    virtual HRESULT STDMETHODCALLTYPE GetFunctionalCategories(
1595        IPortableDevicePropVariantCollection **categories) = 0;
1596
1597    virtual HRESULT STDMETHODCALLTYPE GetFunctionalObjects(
1598        REFGUID category,
1599        IPortableDevicePropVariantCollection **object_ids) = 0;
1600
1601    virtual HRESULT STDMETHODCALLTYPE GetSupportedContentTypes(
1602        REFGUID category,
1603        IPortableDevicePropVariantCollection **content_types) = 0;
1604
1605    virtual HRESULT STDMETHODCALLTYPE GetSupportedFormats(
1606        REFGUID content_type,
1607        IPortableDevicePropVariantCollection **formats) = 0;
1608
1609    virtual HRESULT STDMETHODCALLTYPE GetSupportedFormatProperties(
1610        REFGUID format,
1611        IPortableDeviceKeyCollection **keys) = 0;
1612
1613    virtual HRESULT STDMETHODCALLTYPE GetFixedPropertyAttributes(
1614        REFGUID format,
1615        REFPROPERTYKEY key,
1616        IPortableDeviceValues **attributes) = 0;
1617
1618    virtual HRESULT STDMETHODCALLTYPE Cancel(
1619        ) = 0;
1620
1621    virtual HRESULT STDMETHODCALLTYPE GetSupportedEvents(
1622        IPortableDevicePropVariantCollection **events_collection) = 0;
1623
1624    virtual HRESULT STDMETHODCALLTYPE GetEventOptions(
1625        REFGUID event_id,
1626        IPortableDeviceValues **options) = 0;
1627
1628};
1629#ifdef __CRT_UUID_DECL
1630__CRT_UUID_DECL(IPortableDeviceCapabilities, 0x2c8c6dbf, 0xe3dc, 0x4061, 0xbe,0xcc, 0x85,0x42,0xe8,0x10,0xd1,0x26)
1631#endif
1632#else
1633typedef struct IPortableDeviceCapabilitiesVtbl {
1634    BEGIN_INTERFACE
1635
1636    /*** IUnknown methods ***/
1637    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1638        IPortableDeviceCapabilities *This,
1639        REFIID riid,
1640        void **ppvObject);
1641
1642    ULONG (STDMETHODCALLTYPE *AddRef)(
1643        IPortableDeviceCapabilities *This);
1644
1645    ULONG (STDMETHODCALLTYPE *Release)(
1646        IPortableDeviceCapabilities *This);
1647
1648    /*** IPortableDeviceCapabilities methods ***/
1649    HRESULT (STDMETHODCALLTYPE *GetSupportedCommands)(
1650        IPortableDeviceCapabilities *This,
1651        IPortableDeviceKeyCollection **commands);
1652
1653    HRESULT (STDMETHODCALLTYPE *GetCommandOptions)(
1654        IPortableDeviceCapabilities *This,
1655        REFPROPERTYKEY command,
1656        IPortableDeviceValues **options);
1657
1658    HRESULT (STDMETHODCALLTYPE *GetFunctionalCategories)(
1659        IPortableDeviceCapabilities *This,
1660        IPortableDevicePropVariantCollection **categories);
1661
1662    HRESULT (STDMETHODCALLTYPE *GetFunctionalObjects)(
1663        IPortableDeviceCapabilities *This,
1664        REFGUID category,
1665        IPortableDevicePropVariantCollection **object_ids);
1666
1667    HRESULT (STDMETHODCALLTYPE *GetSupportedContentTypes)(
1668        IPortableDeviceCapabilities *This,
1669        REFGUID category,
1670        IPortableDevicePropVariantCollection **content_types);
1671
1672    HRESULT (STDMETHODCALLTYPE *GetSupportedFormats)(
1673        IPortableDeviceCapabilities *This,
1674        REFGUID content_type,
1675        IPortableDevicePropVariantCollection **formats);
1676
1677    HRESULT (STDMETHODCALLTYPE *GetSupportedFormatProperties)(
1678        IPortableDeviceCapabilities *This,
1679        REFGUID format,
1680        IPortableDeviceKeyCollection **keys);
1681
1682    HRESULT (STDMETHODCALLTYPE *GetFixedPropertyAttributes)(
1683        IPortableDeviceCapabilities *This,
1684        REFGUID format,
1685        REFPROPERTYKEY key,
1686        IPortableDeviceValues **attributes);
1687
1688    HRESULT (STDMETHODCALLTYPE *Cancel)(
1689        IPortableDeviceCapabilities *This);
1690
1691    HRESULT (STDMETHODCALLTYPE *GetSupportedEvents)(
1692        IPortableDeviceCapabilities *This,
1693        IPortableDevicePropVariantCollection **events_collection);
1694
1695    HRESULT (STDMETHODCALLTYPE *GetEventOptions)(
1696        IPortableDeviceCapabilities *This,
1697        REFGUID event_id,
1698        IPortableDeviceValues **options);
1699
1700    END_INTERFACE
1701} IPortableDeviceCapabilitiesVtbl;
1702
1703interface IPortableDeviceCapabilities {
1704    CONST_VTBL IPortableDeviceCapabilitiesVtbl* lpVtbl;
1705};
1706
1707#ifdef COBJMACROS
1708#ifndef WIDL_C_INLINE_WRAPPERS
1709/*** IUnknown methods ***/
1710#define IPortableDeviceCapabilities_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1711#define IPortableDeviceCapabilities_AddRef(This) (This)->lpVtbl->AddRef(This)
1712#define IPortableDeviceCapabilities_Release(This) (This)->lpVtbl->Release(This)
1713/*** IPortableDeviceCapabilities methods ***/
1714#define IPortableDeviceCapabilities_GetSupportedCommands(This,commands) (This)->lpVtbl->GetSupportedCommands(This,commands)
1715#define IPortableDeviceCapabilities_GetCommandOptions(This,command,options) (This)->lpVtbl->GetCommandOptions(This,command,options)
1716#define IPortableDeviceCapabilities_GetFunctionalCategories(This,categories) (This)->lpVtbl->GetFunctionalCategories(This,categories)
1717#define IPortableDeviceCapabilities_GetFunctionalObjects(This,category,object_ids) (This)->lpVtbl->GetFunctionalObjects(This,category,object_ids)
1718#define IPortableDeviceCapabilities_GetSupportedContentTypes(This,category,content_types) (This)->lpVtbl->GetSupportedContentTypes(This,category,content_types)
1719#define IPortableDeviceCapabilities_GetSupportedFormats(This,content_type,formats) (This)->lpVtbl->GetSupportedFormats(This,content_type,formats)
1720#define IPortableDeviceCapabilities_GetSupportedFormatProperties(This,format,keys) (This)->lpVtbl->GetSupportedFormatProperties(This,format,keys)
1721#define IPortableDeviceCapabilities_GetFixedPropertyAttributes(This,format,key,attributes) (This)->lpVtbl->GetFixedPropertyAttributes(This,format,key,attributes)
1722#define IPortableDeviceCapabilities_Cancel(This) (This)->lpVtbl->Cancel(This)
1723#define IPortableDeviceCapabilities_GetSupportedEvents(This,events_collection) (This)->lpVtbl->GetSupportedEvents(This,events_collection)
1724#define IPortableDeviceCapabilities_GetEventOptions(This,event_id,options) (This)->lpVtbl->GetEventOptions(This,event_id,options)
1725#else
1726/*** IUnknown methods ***/
1727static inline HRESULT IPortableDeviceCapabilities_QueryInterface(IPortableDeviceCapabilities* This,REFIID riid,void **ppvObject) {
1728    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1729}
1730static inline ULONG IPortableDeviceCapabilities_AddRef(IPortableDeviceCapabilities* This) {
1731    return This->lpVtbl->AddRef(This);
1732}
1733static inline ULONG IPortableDeviceCapabilities_Release(IPortableDeviceCapabilities* This) {
1734    return This->lpVtbl->Release(This);
1735}
1736/*** IPortableDeviceCapabilities methods ***/
1737static inline HRESULT IPortableDeviceCapabilities_GetSupportedCommands(IPortableDeviceCapabilities* This,IPortableDeviceKeyCollection **commands) {
1738    return This->lpVtbl->GetSupportedCommands(This,commands);
1739}
1740static inline HRESULT IPortableDeviceCapabilities_GetCommandOptions(IPortableDeviceCapabilities* This,REFPROPERTYKEY command,IPortableDeviceValues **options) {
1741    return This->lpVtbl->GetCommandOptions(This,command,options);
1742}
1743static inline HRESULT IPortableDeviceCapabilities_GetFunctionalCategories(IPortableDeviceCapabilities* This,IPortableDevicePropVariantCollection **categories) {
1744    return This->lpVtbl->GetFunctionalCategories(This,categories);
1745}
1746static inline HRESULT IPortableDeviceCapabilities_GetFunctionalObjects(IPortableDeviceCapabilities* This,REFGUID category,IPortableDevicePropVariantCollection **object_ids) {
1747    return This->lpVtbl->GetFunctionalObjects(This,category,object_ids);
1748}
1749static inline HRESULT IPortableDeviceCapabilities_GetSupportedContentTypes(IPortableDeviceCapabilities* This,REFGUID category,IPortableDevicePropVariantCollection **content_types) {
1750    return This->lpVtbl->GetSupportedContentTypes(This,category,content_types);
1751}
1752static inline HRESULT IPortableDeviceCapabilities_GetSupportedFormats(IPortableDeviceCapabilities* This,REFGUID content_type,IPortableDevicePropVariantCollection **formats) {
1753    return This->lpVtbl->GetSupportedFormats(This,content_type,formats);
1754}
1755static inline HRESULT IPortableDeviceCapabilities_GetSupportedFormatProperties(IPortableDeviceCapabilities* This,REFGUID format,IPortableDeviceKeyCollection **keys) {
1756    return This->lpVtbl->GetSupportedFormatProperties(This,format,keys);
1757}
1758static inline HRESULT IPortableDeviceCapabilities_GetFixedPropertyAttributes(IPortableDeviceCapabilities* This,REFGUID format,REFPROPERTYKEY key,IPortableDeviceValues **attributes) {
1759    return This->lpVtbl->GetFixedPropertyAttributes(This,format,key,attributes);
1760}
1761static inline HRESULT IPortableDeviceCapabilities_Cancel(IPortableDeviceCapabilities* This) {
1762    return This->lpVtbl->Cancel(This);
1763}
1764static inline HRESULT IPortableDeviceCapabilities_GetSupportedEvents(IPortableDeviceCapabilities* This,IPortableDevicePropVariantCollection **events_collection) {
1765    return This->lpVtbl->GetSupportedEvents(This,events_collection);
1766}
1767static inline HRESULT IPortableDeviceCapabilities_GetEventOptions(IPortableDeviceCapabilities* This,REFGUID event_id,IPortableDeviceValues **options) {
1768    return This->lpVtbl->GetEventOptions(This,event_id,options);
1769}
1770#endif
1771#endif
1772
1773#endif
1774
1775
1776#endif  /* __IPortableDeviceCapabilities_INTERFACE_DEFINED__ */
1777
1778/*****************************************************************************
1779 * IPortableDeviceEventCallback interface
1780 */
1781#ifndef __IPortableDeviceEventCallback_INTERFACE_DEFINED__
1782#define __IPortableDeviceEventCallback_INTERFACE_DEFINED__
1783
1784DEFINE_GUID(IID_IPortableDeviceEventCallback, 0xa8792a31, 0xf385, 0x493c, 0xa8,0x93, 0x40,0xf6,0x4e,0xb4,0x5f,0x6e);
1785#if defined(__cplusplus) && !defined(CINTERFACE)
1786MIDL_INTERFACE("a8792a31-f385-493c-a893-40f64eb45f6e")
1787IPortableDeviceEventCallback : public IUnknown
1788{
1789    virtual HRESULT STDMETHODCALLTYPE OnEvent(
1790        IPortableDeviceValues *event_parameters) = 0;
1791
1792};
1793#ifdef __CRT_UUID_DECL
1794__CRT_UUID_DECL(IPortableDeviceEventCallback, 0xa8792a31, 0xf385, 0x493c, 0xa8,0x93, 0x40,0xf6,0x4e,0xb4,0x5f,0x6e)
1795#endif
1796#else
1797typedef struct IPortableDeviceEventCallbackVtbl {
1798    BEGIN_INTERFACE
1799
1800    /*** IUnknown methods ***/
1801    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1802        IPortableDeviceEventCallback *This,
1803        REFIID riid,
1804        void **ppvObject);
1805
1806    ULONG (STDMETHODCALLTYPE *AddRef)(
1807        IPortableDeviceEventCallback *This);
1808
1809    ULONG (STDMETHODCALLTYPE *Release)(
1810        IPortableDeviceEventCallback *This);
1811
1812    /*** IPortableDeviceEventCallback methods ***/
1813    HRESULT (STDMETHODCALLTYPE *OnEvent)(
1814        IPortableDeviceEventCallback *This,
1815        IPortableDeviceValues *event_parameters);
1816
1817    END_INTERFACE
1818} IPortableDeviceEventCallbackVtbl;
1819
1820interface IPortableDeviceEventCallback {
1821    CONST_VTBL IPortableDeviceEventCallbackVtbl* lpVtbl;
1822};
1823
1824#ifdef COBJMACROS
1825#ifndef WIDL_C_INLINE_WRAPPERS
1826/*** IUnknown methods ***/
1827#define IPortableDeviceEventCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1828#define IPortableDeviceEventCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
1829#define IPortableDeviceEventCallback_Release(This) (This)->lpVtbl->Release(This)
1830/*** IPortableDeviceEventCallback methods ***/
1831#define IPortableDeviceEventCallback_OnEvent(This,event_parameters) (This)->lpVtbl->OnEvent(This,event_parameters)
1832#else
1833/*** IUnknown methods ***/
1834static inline HRESULT IPortableDeviceEventCallback_QueryInterface(IPortableDeviceEventCallback* This,REFIID riid,void **ppvObject) {
1835    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1836}
1837static inline ULONG IPortableDeviceEventCallback_AddRef(IPortableDeviceEventCallback* This) {
1838    return This->lpVtbl->AddRef(This);
1839}
1840static inline ULONG IPortableDeviceEventCallback_Release(IPortableDeviceEventCallback* This) {
1841    return This->lpVtbl->Release(This);
1842}
1843/*** IPortableDeviceEventCallback methods ***/
1844static inline HRESULT IPortableDeviceEventCallback_OnEvent(IPortableDeviceEventCallback* This,IPortableDeviceValues *event_parameters) {
1845    return This->lpVtbl->OnEvent(This,event_parameters);
1846}
1847#endif
1848#endif
1849
1850#endif
1851
1852
1853#endif  /* __IPortableDeviceEventCallback_INTERFACE_DEFINED__ */
1854
1855/*****************************************************************************
1856 * IPortableDeviceDataStream interface
1857 */
1858#ifndef __IPortableDeviceDataStream_INTERFACE_DEFINED__
1859#define __IPortableDeviceDataStream_INTERFACE_DEFINED__
1860
1861DEFINE_GUID(IID_IPortableDeviceDataStream, 0x88e04db3, 0x1012, 0x4d64, 0x99,0x96, 0xf7,0x03,0xa9,0x50,0xd3,0xf4);
1862#if defined(__cplusplus) && !defined(CINTERFACE)
1863MIDL_INTERFACE("88e04db3-1012-4d64-9996-f703a950d3f4")
1864IPortableDeviceDataStream : public IStream
1865{
1866    virtual HRESULT STDMETHODCALLTYPE GetObjectID(
1867        LPWSTR *object_id) = 0;
1868
1869    virtual HRESULT STDMETHODCALLTYPE Cancel(
1870        ) = 0;
1871
1872};
1873#ifdef __CRT_UUID_DECL
1874__CRT_UUID_DECL(IPortableDeviceDataStream, 0x88e04db3, 0x1012, 0x4d64, 0x99,0x96, 0xf7,0x03,0xa9,0x50,0xd3,0xf4)
1875#endif
1876#else
1877typedef struct IPortableDeviceDataStreamVtbl {
1878    BEGIN_INTERFACE
1879
1880    /*** IUnknown methods ***/
1881    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1882        IPortableDeviceDataStream *This,
1883        REFIID riid,
1884        void **ppvObject);
1885
1886    ULONG (STDMETHODCALLTYPE *AddRef)(
1887        IPortableDeviceDataStream *This);
1888
1889    ULONG (STDMETHODCALLTYPE *Release)(
1890        IPortableDeviceDataStream *This);
1891
1892    /*** ISequentialStream methods ***/
1893    HRESULT (STDMETHODCALLTYPE *Read)(
1894        IPortableDeviceDataStream *This,
1895        void *pv,
1896        ULONG cb,
1897        ULONG *pcbRead);
1898
1899    HRESULT (STDMETHODCALLTYPE *Write)(
1900        IPortableDeviceDataStream *This,
1901        const void *pv,
1902        ULONG cb,
1903        ULONG *pcbWritten);
1904
1905    /*** IStream methods ***/
1906    HRESULT (STDMETHODCALLTYPE *Seek)(
1907        IPortableDeviceDataStream *This,
1908        LARGE_INTEGER dlibMove,
1909        DWORD dwOrigin,
1910        ULARGE_INTEGER *plibNewPosition);
1911
1912    HRESULT (STDMETHODCALLTYPE *SetSize)(
1913        IPortableDeviceDataStream *This,
1914        ULARGE_INTEGER libNewSize);
1915
1916    HRESULT (STDMETHODCALLTYPE *CopyTo)(
1917        IPortableDeviceDataStream *This,
1918        IStream *pstm,
1919        ULARGE_INTEGER cb,
1920        ULARGE_INTEGER *pcbRead,
1921        ULARGE_INTEGER *pcbWritten);
1922
1923    HRESULT (STDMETHODCALLTYPE *Commit)(
1924        IPortableDeviceDataStream *This,
1925        DWORD grfCommitFlags);
1926
1927    HRESULT (STDMETHODCALLTYPE *Revert)(
1928        IPortableDeviceDataStream *This);
1929
1930    HRESULT (STDMETHODCALLTYPE *LockRegion)(
1931        IPortableDeviceDataStream *This,
1932        ULARGE_INTEGER libOffset,
1933        ULARGE_INTEGER cb,
1934        DWORD dwLockType);
1935
1936    HRESULT (STDMETHODCALLTYPE *UnlockRegion)(
1937        IPortableDeviceDataStream *This,
1938        ULARGE_INTEGER libOffset,
1939        ULARGE_INTEGER cb,
1940        DWORD dwLockType);
1941
1942    HRESULT (STDMETHODCALLTYPE *Stat)(
1943        IPortableDeviceDataStream *This,
1944        STATSTG *pstatstg,
1945        DWORD grfStatFlag);
1946
1947    HRESULT (STDMETHODCALLTYPE *Clone)(
1948        IPortableDeviceDataStream *This,
1949        IStream **ppstm);
1950
1951    /*** IPortableDeviceDataStream methods ***/
1952    HRESULT (STDMETHODCALLTYPE *GetObjectID)(
1953        IPortableDeviceDataStream *This,
1954        LPWSTR *object_id);
1955
1956    HRESULT (STDMETHODCALLTYPE *Cancel)(
1957        IPortableDeviceDataStream *This);
1958
1959    END_INTERFACE
1960} IPortableDeviceDataStreamVtbl;
1961
1962interface IPortableDeviceDataStream {
1963    CONST_VTBL IPortableDeviceDataStreamVtbl* lpVtbl;
1964};
1965
1966#ifdef COBJMACROS
1967#ifndef WIDL_C_INLINE_WRAPPERS
1968/*** IUnknown methods ***/
1969#define IPortableDeviceDataStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1970#define IPortableDeviceDataStream_AddRef(This) (This)->lpVtbl->AddRef(This)
1971#define IPortableDeviceDataStream_Release(This) (This)->lpVtbl->Release(This)
1972/*** ISequentialStream methods ***/
1973#define IPortableDeviceDataStream_Read(This,pv,cb,pcbRead) (This)->lpVtbl->Read(This,pv,cb,pcbRead)
1974#define IPortableDeviceDataStream_Write(This,pv,cb,pcbWritten) (This)->lpVtbl->Write(This,pv,cb,pcbWritten)
1975/*** IStream methods ***/
1976#define IPortableDeviceDataStream_Seek(This,dlibMove,dwOrigin,plibNewPosition) (This)->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition)
1977#define IPortableDeviceDataStream_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
1978#define IPortableDeviceDataStream_CopyTo(This,pstm,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten)
1979#define IPortableDeviceDataStream_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
1980#define IPortableDeviceDataStream_Revert(This) (This)->lpVtbl->Revert(This)
1981#define IPortableDeviceDataStream_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
1982#define IPortableDeviceDataStream_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
1983#define IPortableDeviceDataStream_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
1984#define IPortableDeviceDataStream_Clone(This,ppstm) (This)->lpVtbl->Clone(This,ppstm)
1985/*** IPortableDeviceDataStream methods ***/
1986#define IPortableDeviceDataStream_GetObjectID(This,object_id) (This)->lpVtbl->GetObjectID(This,object_id)
1987#define IPortableDeviceDataStream_Cancel(This) (This)->lpVtbl->Cancel(This)
1988#else
1989/*** IUnknown methods ***/
1990static inline HRESULT IPortableDeviceDataStream_QueryInterface(IPortableDeviceDataStream* This,REFIID riid,void **ppvObject) {
1991    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1992}
1993static inline ULONG IPortableDeviceDataStream_AddRef(IPortableDeviceDataStream* This) {
1994    return This->lpVtbl->AddRef(This);
1995}
1996static inline ULONG IPortableDeviceDataStream_Release(IPortableDeviceDataStream* This) {
1997    return This->lpVtbl->Release(This);
1998}
1999/*** ISequentialStream methods ***/
2000static inline HRESULT IPortableDeviceDataStream_Read(IPortableDeviceDataStream* This,void *pv,ULONG cb,ULONG *pcbRead) {
2001    return This->lpVtbl->Read(This,pv,cb,pcbRead);
2002}
2003static inline HRESULT IPortableDeviceDataStream_Write(IPortableDeviceDataStream* This,const void *pv,ULONG cb,ULONG *pcbWritten) {
2004    return This->lpVtbl->Write(This,pv,cb,pcbWritten);
2005}
2006/*** IStream methods ***/
2007static inline HRESULT IPortableDeviceDataStream_Seek(IPortableDeviceDataStream* This,LARGE_INTEGER dlibMove,DWORD dwOrigin,ULARGE_INTEGER *plibNewPosition) {
2008    return This->lpVtbl->Seek(This,dlibMove,dwOrigin,plibNewPosition);
2009}
2010static inline HRESULT IPortableDeviceDataStream_SetSize(IPortableDeviceDataStream* This,ULARGE_INTEGER libNewSize) {
2011    return This->lpVtbl->SetSize(This,libNewSize);
2012}
2013static inline HRESULT IPortableDeviceDataStream_CopyTo(IPortableDeviceDataStream* This,IStream *pstm,ULARGE_INTEGER cb,ULARGE_INTEGER *pcbRead,ULARGE_INTEGER *pcbWritten) {
2014    return This->lpVtbl->CopyTo(This,pstm,cb,pcbRead,pcbWritten);
2015}
2016static inline HRESULT IPortableDeviceDataStream_Commit(IPortableDeviceDataStream* This,DWORD grfCommitFlags) {
2017    return This->lpVtbl->Commit(This,grfCommitFlags);
2018}
2019static inline HRESULT IPortableDeviceDataStream_Revert(IPortableDeviceDataStream* This) {
2020    return This->lpVtbl->Revert(This);
2021}
2022static inline HRESULT IPortableDeviceDataStream_LockRegion(IPortableDeviceDataStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
2023    return This->lpVtbl->LockRegion(This,libOffset,cb,dwLockType);
2024}
2025static inline HRESULT IPortableDeviceDataStream_UnlockRegion(IPortableDeviceDataStream* This,ULARGE_INTEGER libOffset,ULARGE_INTEGER cb,DWORD dwLockType) {
2026    return This->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType);
2027}
2028static inline HRESULT IPortableDeviceDataStream_Stat(IPortableDeviceDataStream* This,STATSTG *pstatstg,DWORD grfStatFlag) {
2029    return This->lpVtbl->Stat(This,pstatstg,grfStatFlag);
2030}
2031static inline HRESULT IPortableDeviceDataStream_Clone(IPortableDeviceDataStream* This,IStream **ppstm) {
2032    return This->lpVtbl->Clone(This,ppstm);
2033}
2034/*** IPortableDeviceDataStream methods ***/
2035static inline HRESULT IPortableDeviceDataStream_GetObjectID(IPortableDeviceDataStream* This,LPWSTR *object_id) {
2036    return This->lpVtbl->GetObjectID(This,object_id);
2037}
2038static inline HRESULT IPortableDeviceDataStream_Cancel(IPortableDeviceDataStream* This) {
2039    return This->lpVtbl->Cancel(This);
2040}
2041#endif
2042#endif
2043
2044#endif
2045
2046
2047#endif  /* __IPortableDeviceDataStream_INTERFACE_DEFINED__ */
2048
2049/*****************************************************************************
2050 * IPortableDeviceUnitsStream interface
2051 */
2052#ifndef __IPortableDeviceUnitsStream_INTERFACE_DEFINED__
2053#define __IPortableDeviceUnitsStream_INTERFACE_DEFINED__
2054
2055DEFINE_GUID(IID_IPortableDeviceUnitsStream, 0x5e98025f, 0xbfc4, 0x47a2, 0x9a,0x5f, 0xbc,0x90,0x0a,0x50,0x7c,0x67);
2056#if defined(__cplusplus) && !defined(CINTERFACE)
2057MIDL_INTERFACE("5e98025f-bfc4-47a2-9a5f-bc900a507c67")
2058IPortableDeviceUnitsStream : public IUnknown
2059{
2060    virtual HRESULT STDMETHODCALLTYPE SeekInUnits(
2061        LARGE_INTEGER dlib_move,
2062        WPD_STREAM_UNITS units,
2063        DWORD origin,
2064        ULARGE_INTEGER *lib_new_position) = 0;
2065
2066    virtual HRESULT STDMETHODCALLTYPE Cancel(
2067        ) = 0;
2068
2069};
2070#ifdef __CRT_UUID_DECL
2071__CRT_UUID_DECL(IPortableDeviceUnitsStream, 0x5e98025f, 0xbfc4, 0x47a2, 0x9a,0x5f, 0xbc,0x90,0x0a,0x50,0x7c,0x67)
2072#endif
2073#else
2074typedef struct IPortableDeviceUnitsStreamVtbl {
2075    BEGIN_INTERFACE
2076
2077    /*** IUnknown methods ***/
2078    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2079        IPortableDeviceUnitsStream *This,
2080        REFIID riid,
2081        void **ppvObject);
2082
2083    ULONG (STDMETHODCALLTYPE *AddRef)(
2084        IPortableDeviceUnitsStream *This);
2085
2086    ULONG (STDMETHODCALLTYPE *Release)(
2087        IPortableDeviceUnitsStream *This);
2088
2089    /*** IPortableDeviceUnitsStream methods ***/
2090    HRESULT (STDMETHODCALLTYPE *SeekInUnits)(
2091        IPortableDeviceUnitsStream *This,
2092        LARGE_INTEGER dlib_move,
2093        WPD_STREAM_UNITS units,
2094        DWORD origin,
2095        ULARGE_INTEGER *lib_new_position);
2096
2097    HRESULT (STDMETHODCALLTYPE *Cancel)(
2098        IPortableDeviceUnitsStream *This);
2099
2100    END_INTERFACE
2101} IPortableDeviceUnitsStreamVtbl;
2102
2103interface IPortableDeviceUnitsStream {
2104    CONST_VTBL IPortableDeviceUnitsStreamVtbl* lpVtbl;
2105};
2106
2107#ifdef COBJMACROS
2108#ifndef WIDL_C_INLINE_WRAPPERS
2109/*** IUnknown methods ***/
2110#define IPortableDeviceUnitsStream_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2111#define IPortableDeviceUnitsStream_AddRef(This) (This)->lpVtbl->AddRef(This)
2112#define IPortableDeviceUnitsStream_Release(This) (This)->lpVtbl->Release(This)
2113/*** IPortableDeviceUnitsStream methods ***/
2114#define IPortableDeviceUnitsStream_SeekInUnits(This,dlib_move,units,origin,lib_new_position) (This)->lpVtbl->SeekInUnits(This,dlib_move,units,origin,lib_new_position)
2115#define IPortableDeviceUnitsStream_Cancel(This) (This)->lpVtbl->Cancel(This)
2116#else
2117/*** IUnknown methods ***/
2118static inline HRESULT IPortableDeviceUnitsStream_QueryInterface(IPortableDeviceUnitsStream* This,REFIID riid,void **ppvObject) {
2119    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2120}
2121static inline ULONG IPortableDeviceUnitsStream_AddRef(IPortableDeviceUnitsStream* This) {
2122    return This->lpVtbl->AddRef(This);
2123}
2124static inline ULONG IPortableDeviceUnitsStream_Release(IPortableDeviceUnitsStream* This) {
2125    return This->lpVtbl->Release(This);
2126}
2127/*** IPortableDeviceUnitsStream methods ***/
2128static inline HRESULT IPortableDeviceUnitsStream_SeekInUnits(IPortableDeviceUnitsStream* This,LARGE_INTEGER dlib_move,WPD_STREAM_UNITS units,DWORD origin,ULARGE_INTEGER *lib_new_position) {
2129    return This->lpVtbl->SeekInUnits(This,dlib_move,units,origin,lib_new_position);
2130}
2131static inline HRESULT IPortableDeviceUnitsStream_Cancel(IPortableDeviceUnitsStream* This) {
2132    return This->lpVtbl->Cancel(This);
2133}
2134#endif
2135#endif
2136
2137#endif
2138
2139HRESULT STDMETHODCALLTYPE IPortableDeviceUnitsStream_RemoteSeekInUnits_Proxy(
2140    IPortableDeviceUnitsStream* This,
2141    LARGE_INTEGER dlib_move,
2142    WPD_STREAM_UNITS units,
2143    DWORD origin,
2144    ULARGE_INTEGER *lib_new_position);
2145void __RPC_STUB IPortableDeviceUnitsStream_RemoteSeekInUnits_Stub(
2146    IRpcStubBuffer* This,
2147    IRpcChannelBuffer* pRpcChannelBuffer,
2148    PRPC_MESSAGE pRpcMessage,
2149    DWORD* pdwStubPhase);
2150HRESULT CALLBACK IPortableDeviceUnitsStream_SeekInUnits_Proxy(
2151    IPortableDeviceUnitsStream* This,
2152    LARGE_INTEGER dlib_move,
2153    WPD_STREAM_UNITS units,
2154    DWORD origin,
2155    ULARGE_INTEGER *lib_new_position);
2156HRESULT __RPC_STUB IPortableDeviceUnitsStream_SeekInUnits_Stub(
2157    IPortableDeviceUnitsStream* This,
2158    LARGE_INTEGER dlib_move,
2159    WPD_STREAM_UNITS units,
2160    DWORD origin,
2161    ULARGE_INTEGER *lib_new_position);
2162
2163#endif  /* __IPortableDeviceUnitsStream_INTERFACE_DEFINED__ */
2164
2165/*****************************************************************************
2166 * IPortableDevicePropertiesBulk interface
2167 */
2168#ifndef __IPortableDevicePropertiesBulk_INTERFACE_DEFINED__
2169#define __IPortableDevicePropertiesBulk_INTERFACE_DEFINED__
2170
2171DEFINE_GUID(IID_IPortableDevicePropertiesBulk, 0x482b05c0, 0x4056, 0x44ed, 0x9e,0x0f, 0x5e,0x23,0xb0,0x09,0xda,0x93);
2172#if defined(__cplusplus) && !defined(CINTERFACE)
2173MIDL_INTERFACE("482b05c0-4056-44ed-9e0f-5e23b009da93")
2174IPortableDevicePropertiesBulk : public IUnknown
2175{
2176    virtual HRESULT STDMETHODCALLTYPE QueueGetValuesByObjectList(
2177        IPortableDevicePropVariantCollection *object_ids,
2178        IPortableDeviceKeyCollection *keys,
2179        IPortableDevicePropertiesBulkCallback *callback,
2180        GUID *context) = 0;
2181
2182    virtual HRESULT STDMETHODCALLTYPE QueueGetValuesByObjectFormat(
2183        REFGUID guid_object_format,
2184        LPCWSTR parent_object_id,
2185        const DWORD depth,
2186        IPortableDeviceKeyCollection *keys,
2187        IPortableDevicePropertiesBulkCallback *callback,
2188        GUID *context) = 0;
2189
2190    virtual HRESULT STDMETHODCALLTYPE QueueSetValuesByObjectList(
2191        IPortableDeviceValuesCollection *object_values,
2192        IPortableDevicePropertiesBulkCallback *callback,
2193        GUID *context) = 0;
2194
2195    virtual HRESULT STDMETHODCALLTYPE Start(
2196        REFGUID context) = 0;
2197
2198    virtual HRESULT STDMETHODCALLTYPE Cancel(
2199        REFGUID context) = 0;
2200
2201};
2202#ifdef __CRT_UUID_DECL
2203__CRT_UUID_DECL(IPortableDevicePropertiesBulk, 0x482b05c0, 0x4056, 0x44ed, 0x9e,0x0f, 0x5e,0x23,0xb0,0x09,0xda,0x93)
2204#endif
2205#else
2206typedef struct IPortableDevicePropertiesBulkVtbl {
2207    BEGIN_INTERFACE
2208
2209    /*** IUnknown methods ***/
2210    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2211        IPortableDevicePropertiesBulk *This,
2212        REFIID riid,
2213        void **ppvObject);
2214
2215    ULONG (STDMETHODCALLTYPE *AddRef)(
2216        IPortableDevicePropertiesBulk *This);
2217
2218    ULONG (STDMETHODCALLTYPE *Release)(
2219        IPortableDevicePropertiesBulk *This);
2220
2221    /*** IPortableDevicePropertiesBulk methods ***/
2222    HRESULT (STDMETHODCALLTYPE *QueueGetValuesByObjectList)(
2223        IPortableDevicePropertiesBulk *This,
2224        IPortableDevicePropVariantCollection *object_ids,
2225        IPortableDeviceKeyCollection *keys,
2226        IPortableDevicePropertiesBulkCallback *callback,
2227        GUID *context);
2228
2229    HRESULT (STDMETHODCALLTYPE *QueueGetValuesByObjectFormat)(
2230        IPortableDevicePropertiesBulk *This,
2231        REFGUID guid_object_format,
2232        LPCWSTR parent_object_id,
2233        const DWORD depth,
2234        IPortableDeviceKeyCollection *keys,
2235        IPortableDevicePropertiesBulkCallback *callback,
2236        GUID *context);
2237
2238    HRESULT (STDMETHODCALLTYPE *QueueSetValuesByObjectList)(
2239        IPortableDevicePropertiesBulk *This,
2240        IPortableDeviceValuesCollection *object_values,
2241        IPortableDevicePropertiesBulkCallback *callback,
2242        GUID *context);
2243
2244    HRESULT (STDMETHODCALLTYPE *Start)(
2245        IPortableDevicePropertiesBulk *This,
2246        REFGUID context);
2247
2248    HRESULT (STDMETHODCALLTYPE *Cancel)(
2249        IPortableDevicePropertiesBulk *This,
2250        REFGUID context);
2251
2252    END_INTERFACE
2253} IPortableDevicePropertiesBulkVtbl;
2254
2255interface IPortableDevicePropertiesBulk {
2256    CONST_VTBL IPortableDevicePropertiesBulkVtbl* lpVtbl;
2257};
2258
2259#ifdef COBJMACROS
2260#ifndef WIDL_C_INLINE_WRAPPERS
2261/*** IUnknown methods ***/
2262#define IPortableDevicePropertiesBulk_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2263#define IPortableDevicePropertiesBulk_AddRef(This) (This)->lpVtbl->AddRef(This)
2264#define IPortableDevicePropertiesBulk_Release(This) (This)->lpVtbl->Release(This)
2265/*** IPortableDevicePropertiesBulk methods ***/
2266#define IPortableDevicePropertiesBulk_QueueGetValuesByObjectList(This,object_ids,keys,callback,context) (This)->lpVtbl->QueueGetValuesByObjectList(This,object_ids,keys,callback,context)
2267#define IPortableDevicePropertiesBulk_QueueGetValuesByObjectFormat(This,guid_object_format,parent_object_id,depth,keys,callback,context) (This)->lpVtbl->QueueGetValuesByObjectFormat(This,guid_object_format,parent_object_id,depth,keys,callback,context)
2268#define IPortableDevicePropertiesBulk_QueueSetValuesByObjectList(This,object_values,callback,context) (This)->lpVtbl->QueueSetValuesByObjectList(This,object_values,callback,context)
2269#define IPortableDevicePropertiesBulk_Start(This,context) (This)->lpVtbl->Start(This,context)
2270#define IPortableDevicePropertiesBulk_Cancel(This,context) (This)->lpVtbl->Cancel(This,context)
2271#else
2272/*** IUnknown methods ***/
2273static inline HRESULT IPortableDevicePropertiesBulk_QueryInterface(IPortableDevicePropertiesBulk* This,REFIID riid,void **ppvObject) {
2274    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2275}
2276static inline ULONG IPortableDevicePropertiesBulk_AddRef(IPortableDevicePropertiesBulk* This) {
2277    return This->lpVtbl->AddRef(This);
2278}
2279static inline ULONG IPortableDevicePropertiesBulk_Release(IPortableDevicePropertiesBulk* This) {
2280    return This->lpVtbl->Release(This);
2281}
2282/*** IPortableDevicePropertiesBulk methods ***/
2283static inline HRESULT IPortableDevicePropertiesBulk_QueueGetValuesByObjectList(IPortableDevicePropertiesBulk* This,IPortableDevicePropVariantCollection *object_ids,IPortableDeviceKeyCollection *keys,IPortableDevicePropertiesBulkCallback *callback,GUID *context) {
2284    return This->lpVtbl->QueueGetValuesByObjectList(This,object_ids,keys,callback,context);
2285}
2286static inline HRESULT IPortableDevicePropertiesBulk_QueueGetValuesByObjectFormat(IPortableDevicePropertiesBulk* This,REFGUID guid_object_format,LPCWSTR parent_object_id,const DWORD depth,IPortableDeviceKeyCollection *keys,IPortableDevicePropertiesBulkCallback *callback,GUID *context) {
2287    return This->lpVtbl->QueueGetValuesByObjectFormat(This,guid_object_format,parent_object_id,depth,keys,callback,context);
2288}
2289static inline HRESULT IPortableDevicePropertiesBulk_QueueSetValuesByObjectList(IPortableDevicePropertiesBulk* This,IPortableDeviceValuesCollection *object_values,IPortableDevicePropertiesBulkCallback *callback,GUID *context) {
2290    return This->lpVtbl->QueueSetValuesByObjectList(This,object_values,callback,context);
2291}
2292static inline HRESULT IPortableDevicePropertiesBulk_Start(IPortableDevicePropertiesBulk* This,REFGUID context) {
2293    return This->lpVtbl->Start(This,context);
2294}
2295static inline HRESULT IPortableDevicePropertiesBulk_Cancel(IPortableDevicePropertiesBulk* This,REFGUID context) {
2296    return This->lpVtbl->Cancel(This,context);
2297}
2298#endif
2299#endif
2300
2301#endif
2302
2303
2304#endif  /* __IPortableDevicePropertiesBulk_INTERFACE_DEFINED__ */
2305
2306/*****************************************************************************
2307 * IPortableDevicePropertiesBulkCallback interface
2308 */
2309#ifndef __IPortableDevicePropertiesBulkCallback_INTERFACE_DEFINED__
2310#define __IPortableDevicePropertiesBulkCallback_INTERFACE_DEFINED__
2311
2312DEFINE_GUID(IID_IPortableDevicePropertiesBulkCallback, 0x9deacb80, 0x11e8, 0x40e3, 0xa9,0xf3, 0xf5,0x57,0x98,0x6a,0x78,0x45);
2313#if defined(__cplusplus) && !defined(CINTERFACE)
2314MIDL_INTERFACE("9deacb80-11e8-40e3-a9f3-f557986a7845")
2315IPortableDevicePropertiesBulkCallback : public IUnknown
2316{
2317    virtual HRESULT STDMETHODCALLTYPE OnStart(
2318        REFGUID context) = 0;
2319
2320    virtual HRESULT STDMETHODCALLTYPE OnProgress(
2321        REFGUID context,
2322        IPortableDeviceValuesCollection *results) = 0;
2323
2324    virtual HRESULT STDMETHODCALLTYPE OnEnd(
2325        REFGUID context,
2326        HRESULT hr_status) = 0;
2327
2328};
2329#ifdef __CRT_UUID_DECL
2330__CRT_UUID_DECL(IPortableDevicePropertiesBulkCallback, 0x9deacb80, 0x11e8, 0x40e3, 0xa9,0xf3, 0xf5,0x57,0x98,0x6a,0x78,0x45)
2331#endif
2332#else
2333typedef struct IPortableDevicePropertiesBulkCallbackVtbl {
2334    BEGIN_INTERFACE
2335
2336    /*** IUnknown methods ***/
2337    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2338        IPortableDevicePropertiesBulkCallback *This,
2339        REFIID riid,
2340        void **ppvObject);
2341
2342    ULONG (STDMETHODCALLTYPE *AddRef)(
2343        IPortableDevicePropertiesBulkCallback *This);
2344
2345    ULONG (STDMETHODCALLTYPE *Release)(
2346        IPortableDevicePropertiesBulkCallback *This);
2347
2348    /*** IPortableDevicePropertiesBulkCallback methods ***/
2349    HRESULT (STDMETHODCALLTYPE *OnStart)(
2350        IPortableDevicePropertiesBulkCallback *This,
2351        REFGUID context);
2352
2353    HRESULT (STDMETHODCALLTYPE *OnProgress)(
2354        IPortableDevicePropertiesBulkCallback *This,
2355        REFGUID context,
2356        IPortableDeviceValuesCollection *results);
2357
2358    HRESULT (STDMETHODCALLTYPE *OnEnd)(
2359        IPortableDevicePropertiesBulkCallback *This,
2360        REFGUID context,
2361        HRESULT hr_status);
2362
2363    END_INTERFACE
2364} IPortableDevicePropertiesBulkCallbackVtbl;
2365
2366interface IPortableDevicePropertiesBulkCallback {
2367    CONST_VTBL IPortableDevicePropertiesBulkCallbackVtbl* lpVtbl;
2368};
2369
2370#ifdef COBJMACROS
2371#ifndef WIDL_C_INLINE_WRAPPERS
2372/*** IUnknown methods ***/
2373#define IPortableDevicePropertiesBulkCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2374#define IPortableDevicePropertiesBulkCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
2375#define IPortableDevicePropertiesBulkCallback_Release(This) (This)->lpVtbl->Release(This)
2376/*** IPortableDevicePropertiesBulkCallback methods ***/
2377#define IPortableDevicePropertiesBulkCallback_OnStart(This,context) (This)->lpVtbl->OnStart(This,context)
2378#define IPortableDevicePropertiesBulkCallback_OnProgress(This,context,results) (This)->lpVtbl->OnProgress(This,context,results)
2379#define IPortableDevicePropertiesBulkCallback_OnEnd(This,context,hr_status) (This)->lpVtbl->OnEnd(This,context,hr_status)
2380#else
2381/*** IUnknown methods ***/
2382static inline HRESULT IPortableDevicePropertiesBulkCallback_QueryInterface(IPortableDevicePropertiesBulkCallback* This,REFIID riid,void **ppvObject) {
2383    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2384}
2385static inline ULONG IPortableDevicePropertiesBulkCallback_AddRef(IPortableDevicePropertiesBulkCallback* This) {
2386    return This->lpVtbl->AddRef(This);
2387}
2388static inline ULONG IPortableDevicePropertiesBulkCallback_Release(IPortableDevicePropertiesBulkCallback* This) {
2389    return This->lpVtbl->Release(This);
2390}
2391/*** IPortableDevicePropertiesBulkCallback methods ***/
2392static inline HRESULT IPortableDevicePropertiesBulkCallback_OnStart(IPortableDevicePropertiesBulkCallback* This,REFGUID context) {
2393    return This->lpVtbl->OnStart(This,context);
2394}
2395static inline HRESULT IPortableDevicePropertiesBulkCallback_OnProgress(IPortableDevicePropertiesBulkCallback* This,REFGUID context,IPortableDeviceValuesCollection *results) {
2396    return This->lpVtbl->OnProgress(This,context,results);
2397}
2398static inline HRESULT IPortableDevicePropertiesBulkCallback_OnEnd(IPortableDevicePropertiesBulkCallback* This,REFGUID context,HRESULT hr_status) {
2399    return This->lpVtbl->OnEnd(This,context,hr_status);
2400}
2401#endif
2402#endif
2403
2404#endif
2405
2406
2407#endif  /* __IPortableDevicePropertiesBulkCallback_INTERFACE_DEFINED__ */
2408
2409/*****************************************************************************
2410 * IPortableDeviceServiceManager interface
2411 */
2412#ifndef __IPortableDeviceServiceManager_INTERFACE_DEFINED__
2413#define __IPortableDeviceServiceManager_INTERFACE_DEFINED__
2414
2415DEFINE_GUID(IID_IPortableDeviceServiceManager, 0xa8abc4e9, 0xa84a, 0x47a9, 0x80,0xb3, 0xc5,0xd9,0xb1,0x72,0xa9,0x61);
2416#if defined(__cplusplus) && !defined(CINTERFACE)
2417MIDL_INTERFACE("a8abc4e9-a84a-47a9-80b3-c5d9b172a961")
2418IPortableDeviceServiceManager : public IUnknown
2419{
2420    virtual HRESULT STDMETHODCALLTYPE GetDeviceServices(
2421        LPCWSTR device_id,
2422        REFGUID guid_service_category,
2423        LPWSTR *services,
2424        DWORD *services_count) = 0;
2425
2426    virtual HRESULT STDMETHODCALLTYPE GetDeviceForService(
2427        LPCWSTR service_id,
2428        LPWSTR *device_id) = 0;
2429
2430};
2431#ifdef __CRT_UUID_DECL
2432__CRT_UUID_DECL(IPortableDeviceServiceManager, 0xa8abc4e9, 0xa84a, 0x47a9, 0x80,0xb3, 0xc5,0xd9,0xb1,0x72,0xa9,0x61)
2433#endif
2434#else
2435typedef struct IPortableDeviceServiceManagerVtbl {
2436    BEGIN_INTERFACE
2437
2438    /*** IUnknown methods ***/
2439    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2440        IPortableDeviceServiceManager *This,
2441        REFIID riid,
2442        void **ppvObject);
2443
2444    ULONG (STDMETHODCALLTYPE *AddRef)(
2445        IPortableDeviceServiceManager *This);
2446
2447    ULONG (STDMETHODCALLTYPE *Release)(
2448        IPortableDeviceServiceManager *This);
2449
2450    /*** IPortableDeviceServiceManager methods ***/
2451    HRESULT (STDMETHODCALLTYPE *GetDeviceServices)(
2452        IPortableDeviceServiceManager *This,
2453        LPCWSTR device_id,
2454        REFGUID guid_service_category,
2455        LPWSTR *services,
2456        DWORD *services_count);
2457
2458    HRESULT (STDMETHODCALLTYPE *GetDeviceForService)(
2459        IPortableDeviceServiceManager *This,
2460        LPCWSTR service_id,
2461        LPWSTR *device_id);
2462
2463    END_INTERFACE
2464} IPortableDeviceServiceManagerVtbl;
2465
2466interface IPortableDeviceServiceManager {
2467    CONST_VTBL IPortableDeviceServiceManagerVtbl* lpVtbl;
2468};
2469
2470#ifdef COBJMACROS
2471#ifndef WIDL_C_INLINE_WRAPPERS
2472/*** IUnknown methods ***/
2473#define IPortableDeviceServiceManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2474#define IPortableDeviceServiceManager_AddRef(This) (This)->lpVtbl->AddRef(This)
2475#define IPortableDeviceServiceManager_Release(This) (This)->lpVtbl->Release(This)
2476/*** IPortableDeviceServiceManager methods ***/
2477#define IPortableDeviceServiceManager_GetDeviceServices(This,device_id,guid_service_category,services,services_count) (This)->lpVtbl->GetDeviceServices(This,device_id,guid_service_category,services,services_count)
2478#define IPortableDeviceServiceManager_GetDeviceForService(This,service_id,device_id) (This)->lpVtbl->GetDeviceForService(This,service_id,device_id)
2479#else
2480/*** IUnknown methods ***/
2481static inline HRESULT IPortableDeviceServiceManager_QueryInterface(IPortableDeviceServiceManager* This,REFIID riid,void **ppvObject) {
2482    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2483}
2484static inline ULONG IPortableDeviceServiceManager_AddRef(IPortableDeviceServiceManager* This) {
2485    return This->lpVtbl->AddRef(This);
2486}
2487static inline ULONG IPortableDeviceServiceManager_Release(IPortableDeviceServiceManager* This) {
2488    return This->lpVtbl->Release(This);
2489}
2490/*** IPortableDeviceServiceManager methods ***/
2491static inline HRESULT IPortableDeviceServiceManager_GetDeviceServices(IPortableDeviceServiceManager* This,LPCWSTR device_id,REFGUID guid_service_category,LPWSTR *services,DWORD *services_count) {
2492    return This->lpVtbl->GetDeviceServices(This,device_id,guid_service_category,services,services_count);
2493}
2494static inline HRESULT IPortableDeviceServiceManager_GetDeviceForService(IPortableDeviceServiceManager* This,LPCWSTR service_id,LPWSTR *device_id) {
2495    return This->lpVtbl->GetDeviceForService(This,service_id,device_id);
2496}
2497#endif
2498#endif
2499
2500#endif
2501
2502
2503#endif  /* __IPortableDeviceServiceManager_INTERFACE_DEFINED__ */
2504
2505/*****************************************************************************
2506 * IPortableDeviceService interface
2507 */
2508#ifndef __IPortableDeviceService_INTERFACE_DEFINED__
2509#define __IPortableDeviceService_INTERFACE_DEFINED__
2510
2511DEFINE_GUID(IID_IPortableDeviceService, 0xd3bd3a44, 0xd7b5, 0x40a9, 0x98,0xb7, 0x2f,0xa4,0xd0,0x1d,0xec,0x08);
2512#if defined(__cplusplus) && !defined(CINTERFACE)
2513MIDL_INTERFACE("d3bd3a44-d7b5-40a9-98b7-2fa4d01dec08")
2514IPortableDeviceService : public IUnknown
2515{
2516    virtual HRESULT STDMETHODCALLTYPE Open(
2517        LPCWSTR service_id,
2518        IPortableDeviceValues *client_info) = 0;
2519
2520    virtual HRESULT STDMETHODCALLTYPE Capabilities(
2521        IPortableDeviceServiceCapabilities **capabilities) = 0;
2522
2523    virtual HRESULT STDMETHODCALLTYPE Content(
2524        IPortableDeviceContent2 **content) = 0;
2525
2526    virtual HRESULT STDMETHODCALLTYPE Methods(
2527        IPortableDeviceServiceMethods **service_methods) = 0;
2528
2529    virtual HRESULT STDMETHODCALLTYPE Cancel(
2530        ) = 0;
2531
2532    virtual HRESULT STDMETHODCALLTYPE Close(
2533        ) = 0;
2534
2535    virtual HRESULT STDMETHODCALLTYPE GetServiceObjectID(
2536        LPWSTR *service_object_id) = 0;
2537
2538    virtual HRESULT STDMETHODCALLTYPE GetPnPServiceID(
2539        LPWSTR *service_id) = 0;
2540
2541    virtual HRESULT STDMETHODCALLTYPE Advise(
2542        const DWORD flags,
2543        IPortableDeviceEventCallback *callback,
2544        IPortableDeviceValues *parameters,
2545        LPWSTR *cookie) = 0;
2546
2547    virtual HRESULT STDMETHODCALLTYPE Unadvise(
2548        LPCWSTR cookie) = 0;
2549
2550    virtual HRESULT STDMETHODCALLTYPE SendCommand(
2551        const DWORD flags,
2552        IPortableDeviceValues *parameters,
2553        IPortableDeviceValues **results) = 0;
2554
2555};
2556#ifdef __CRT_UUID_DECL
2557__CRT_UUID_DECL(IPortableDeviceService, 0xd3bd3a44, 0xd7b5, 0x40a9, 0x98,0xb7, 0x2f,0xa4,0xd0,0x1d,0xec,0x08)
2558#endif
2559#else
2560typedef struct IPortableDeviceServiceVtbl {
2561    BEGIN_INTERFACE
2562
2563    /*** IUnknown methods ***/
2564    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2565        IPortableDeviceService *This,
2566        REFIID riid,
2567        void **ppvObject);
2568
2569    ULONG (STDMETHODCALLTYPE *AddRef)(
2570        IPortableDeviceService *This);
2571
2572    ULONG (STDMETHODCALLTYPE *Release)(
2573        IPortableDeviceService *This);
2574
2575    /*** IPortableDeviceService methods ***/
2576    HRESULT (STDMETHODCALLTYPE *Open)(
2577        IPortableDeviceService *This,
2578        LPCWSTR service_id,
2579        IPortableDeviceValues *client_info);
2580
2581    HRESULT (STDMETHODCALLTYPE *Capabilities)(
2582        IPortableDeviceService *This,
2583        IPortableDeviceServiceCapabilities **capabilities);
2584
2585    HRESULT (STDMETHODCALLTYPE *Content)(
2586        IPortableDeviceService *This,
2587        IPortableDeviceContent2 **content);
2588
2589    HRESULT (STDMETHODCALLTYPE *Methods)(
2590        IPortableDeviceService *This,
2591        IPortableDeviceServiceMethods **service_methods);
2592
2593    HRESULT (STDMETHODCALLTYPE *Cancel)(
2594        IPortableDeviceService *This);
2595
2596    HRESULT (STDMETHODCALLTYPE *Close)(
2597        IPortableDeviceService *This);
2598
2599    HRESULT (STDMETHODCALLTYPE *GetServiceObjectID)(
2600        IPortableDeviceService *This,
2601        LPWSTR *service_object_id);
2602
2603    HRESULT (STDMETHODCALLTYPE *GetPnPServiceID)(
2604        IPortableDeviceService *This,
2605        LPWSTR *service_id);
2606
2607    HRESULT (STDMETHODCALLTYPE *Advise)(
2608        IPortableDeviceService *This,
2609        const DWORD flags,
2610        IPortableDeviceEventCallback *callback,
2611        IPortableDeviceValues *parameters,
2612        LPWSTR *cookie);
2613
2614    HRESULT (STDMETHODCALLTYPE *Unadvise)(
2615        IPortableDeviceService *This,
2616        LPCWSTR cookie);
2617
2618    HRESULT (STDMETHODCALLTYPE *SendCommand)(
2619        IPortableDeviceService *This,
2620        const DWORD flags,
2621        IPortableDeviceValues *parameters,
2622        IPortableDeviceValues **results);
2623
2624    END_INTERFACE
2625} IPortableDeviceServiceVtbl;
2626
2627interface IPortableDeviceService {
2628    CONST_VTBL IPortableDeviceServiceVtbl* lpVtbl;
2629};
2630
2631#ifdef COBJMACROS
2632#ifndef WIDL_C_INLINE_WRAPPERS
2633/*** IUnknown methods ***/
2634#define IPortableDeviceService_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2635#define IPortableDeviceService_AddRef(This) (This)->lpVtbl->AddRef(This)
2636#define IPortableDeviceService_Release(This) (This)->lpVtbl->Release(This)
2637/*** IPortableDeviceService methods ***/
2638#define IPortableDeviceService_Open(This,service_id,client_info) (This)->lpVtbl->Open(This,service_id,client_info)
2639#define IPortableDeviceService_Capabilities(This,capabilities) (This)->lpVtbl->Capabilities(This,capabilities)
2640#define IPortableDeviceService_Content(This,content) (This)->lpVtbl->Content(This,content)
2641#define IPortableDeviceService_Methods(This,service_methods) (This)->lpVtbl->Methods(This,service_methods)
2642#define IPortableDeviceService_Cancel(This) (This)->lpVtbl->Cancel(This)
2643#define IPortableDeviceService_Close(This) (This)->lpVtbl->Close(This)
2644#define IPortableDeviceService_GetServiceObjectID(This,service_object_id) (This)->lpVtbl->GetServiceObjectID(This,service_object_id)
2645#define IPortableDeviceService_GetPnPServiceID(This,service_id) (This)->lpVtbl->GetPnPServiceID(This,service_id)
2646#define IPortableDeviceService_Advise(This,flags,callback,parameters,cookie) (This)->lpVtbl->Advise(This,flags,callback,parameters,cookie)
2647#define IPortableDeviceService_Unadvise(This,cookie) (This)->lpVtbl->Unadvise(This,cookie)
2648#define IPortableDeviceService_SendCommand(This,flags,parameters,results) (This)->lpVtbl->SendCommand(This,flags,parameters,results)
2649#else
2650/*** IUnknown methods ***/
2651static inline HRESULT IPortableDeviceService_QueryInterface(IPortableDeviceService* This,REFIID riid,void **ppvObject) {
2652    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2653}
2654static inline ULONG IPortableDeviceService_AddRef(IPortableDeviceService* This) {
2655    return This->lpVtbl->AddRef(This);
2656}
2657static inline ULONG IPortableDeviceService_Release(IPortableDeviceService* This) {
2658    return This->lpVtbl->Release(This);
2659}
2660/*** IPortableDeviceService methods ***/
2661static inline HRESULT IPortableDeviceService_Open(IPortableDeviceService* This,LPCWSTR service_id,IPortableDeviceValues *client_info) {
2662    return This->lpVtbl->Open(This,service_id,client_info);
2663}
2664static inline HRESULT IPortableDeviceService_Capabilities(IPortableDeviceService* This,IPortableDeviceServiceCapabilities **capabilities) {
2665    return This->lpVtbl->Capabilities(This,capabilities);
2666}
2667static inline HRESULT IPortableDeviceService_Content(IPortableDeviceService* This,IPortableDeviceContent2 **content) {
2668    return This->lpVtbl->Content(This,content);
2669}
2670static inline HRESULT IPortableDeviceService_Methods(IPortableDeviceService* This,IPortableDeviceServiceMethods **service_methods) {
2671    return This->lpVtbl->Methods(This,service_methods);
2672}
2673static inline HRESULT IPortableDeviceService_Cancel(IPortableDeviceService* This) {
2674    return This->lpVtbl->Cancel(This);
2675}
2676static inline HRESULT IPortableDeviceService_Close(IPortableDeviceService* This) {
2677    return This->lpVtbl->Close(This);
2678}
2679static inline HRESULT IPortableDeviceService_GetServiceObjectID(IPortableDeviceService* This,LPWSTR *service_object_id) {
2680    return This->lpVtbl->GetServiceObjectID(This,service_object_id);
2681}
2682static inline HRESULT IPortableDeviceService_GetPnPServiceID(IPortableDeviceService* This,LPWSTR *service_id) {
2683    return This->lpVtbl->GetPnPServiceID(This,service_id);
2684}
2685static inline HRESULT IPortableDeviceService_Advise(IPortableDeviceService* This,const DWORD flags,IPortableDeviceEventCallback *callback,IPortableDeviceValues *parameters,LPWSTR *cookie) {
2686    return This->lpVtbl->Advise(This,flags,callback,parameters,cookie);
2687}
2688static inline HRESULT IPortableDeviceService_Unadvise(IPortableDeviceService* This,LPCWSTR cookie) {
2689    return This->lpVtbl->Unadvise(This,cookie);
2690}
2691static inline HRESULT IPortableDeviceService_SendCommand(IPortableDeviceService* This,const DWORD flags,IPortableDeviceValues *parameters,IPortableDeviceValues **results) {
2692    return This->lpVtbl->SendCommand(This,flags,parameters,results);
2693}
2694#endif
2695#endif
2696
2697#endif
2698
2699
2700#endif  /* __IPortableDeviceService_INTERFACE_DEFINED__ */
2701
2702/*****************************************************************************
2703 * IPortableDeviceServiceCapabilities interface
2704 */
2705#ifndef __IPortableDeviceServiceCapabilities_INTERFACE_DEFINED__
2706#define __IPortableDeviceServiceCapabilities_INTERFACE_DEFINED__
2707
2708DEFINE_GUID(IID_IPortableDeviceServiceCapabilities, 0x24dbd89d, 0x413e, 0x43e0, 0xbd,0x5b, 0x19,0x7f,0x3c,0x56,0xc8,0x86);
2709#if defined(__cplusplus) && !defined(CINTERFACE)
2710MIDL_INTERFACE("24dbd89d-413e-43e0-bd5b-197f3c56c886")
2711IPortableDeviceServiceCapabilities : public IUnknown
2712{
2713    virtual HRESULT STDMETHODCALLTYPE GetSupportedMethods(
2714        IPortableDevicePropVariantCollection **supported_methods) = 0;
2715
2716    virtual HRESULT STDMETHODCALLTYPE GetSupportedMethodsByFormat(
2717        REFGUID format,
2718        IPortableDevicePropVariantCollection **supported_methods) = 0;
2719
2720    virtual HRESULT STDMETHODCALLTYPE GetMethodAttributes(
2721        REFGUID method,
2722        IPortableDeviceValues **attributes) = 0;
2723
2724    virtual HRESULT STDMETHODCALLTYPE GetMethodParameterAttributes(
2725        REFGUID method,
2726        REFPROPERTYKEY parameter,
2727        IPortableDeviceValues **attributes) = 0;
2728
2729    virtual HRESULT STDMETHODCALLTYPE GetSupportedFormats(
2730        IPortableDevicePropVariantCollection **formats) = 0;
2731
2732    virtual HRESULT STDMETHODCALLTYPE GetFormatAttributes(
2733        REFGUID format,
2734        IPortableDeviceValues **attributes) = 0;
2735
2736    virtual HRESULT STDMETHODCALLTYPE GetSupportedFormatProperties(
2737        REFGUID format,
2738        IPortableDeviceKeyCollection **keys) = 0;
2739
2740    virtual HRESULT STDMETHODCALLTYPE GetFormatPropertyAttributes(
2741        REFGUID format,
2742        REFPROPERTYKEY property,
2743        IPortableDeviceValues **attributes) = 0;
2744
2745    virtual HRESULT STDMETHODCALLTYPE GetSupportedEvents(
2746        IPortableDevicePropVariantCollection **events) = 0;
2747
2748    virtual HRESULT STDMETHODCALLTYPE GetEventAttributes(
2749        REFGUID event_id,
2750        IPortableDeviceValues **attributes) = 0;
2751
2752    virtual HRESULT STDMETHODCALLTYPE GetEventParameterAttributes(
2753        REFGUID event_id,
2754        REFPROPERTYKEY parameter,
2755        IPortableDeviceValues **attributes) = 0;
2756
2757    virtual HRESULT STDMETHODCALLTYPE GetInheritedServices(
2758        const DWORD inheritance_type,
2759        IPortableDevicePropVariantCollection **services) = 0;
2760
2761    virtual HRESULT STDMETHODCALLTYPE GetFormatRenderingProfiles(
2762        REFGUID format,
2763        IPortableDeviceValuesCollection **rendering_profiles) = 0;
2764
2765    virtual HRESULT STDMETHODCALLTYPE GetSupportedCommands(
2766        IPortableDeviceKeyCollection **commands) = 0;
2767
2768    virtual HRESULT STDMETHODCALLTYPE GetCommandOptions(
2769        REFPROPERTYKEY command,
2770        IPortableDeviceValues **options) = 0;
2771
2772    virtual HRESULT STDMETHODCALLTYPE Cancel(
2773        ) = 0;
2774
2775};
2776#ifdef __CRT_UUID_DECL
2777__CRT_UUID_DECL(IPortableDeviceServiceCapabilities, 0x24dbd89d, 0x413e, 0x43e0, 0xbd,0x5b, 0x19,0x7f,0x3c,0x56,0xc8,0x86)
2778#endif
2779#else
2780typedef struct IPortableDeviceServiceCapabilitiesVtbl {
2781    BEGIN_INTERFACE
2782
2783    /*** IUnknown methods ***/
2784    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2785        IPortableDeviceServiceCapabilities *This,
2786        REFIID riid,
2787        void **ppvObject);
2788
2789    ULONG (STDMETHODCALLTYPE *AddRef)(
2790        IPortableDeviceServiceCapabilities *This);
2791
2792    ULONG (STDMETHODCALLTYPE *Release)(
2793        IPortableDeviceServiceCapabilities *This);
2794
2795    /*** IPortableDeviceServiceCapabilities methods ***/
2796    HRESULT (STDMETHODCALLTYPE *GetSupportedMethods)(
2797        IPortableDeviceServiceCapabilities *This,
2798        IPortableDevicePropVariantCollection **supported_methods);
2799
2800    HRESULT (STDMETHODCALLTYPE *GetSupportedMethodsByFormat)(
2801        IPortableDeviceServiceCapabilities *This,
2802        REFGUID format,
2803        IPortableDevicePropVariantCollection **supported_methods);
2804
2805    HRESULT (STDMETHODCALLTYPE *GetMethodAttributes)(
2806        IPortableDeviceServiceCapabilities *This,
2807        REFGUID method,
2808        IPortableDeviceValues **attributes);
2809
2810    HRESULT (STDMETHODCALLTYPE *GetMethodParameterAttributes)(
2811        IPortableDeviceServiceCapabilities *This,
2812        REFGUID method,
2813        REFPROPERTYKEY parameter,
2814        IPortableDeviceValues **attributes);
2815
2816    HRESULT (STDMETHODCALLTYPE *GetSupportedFormats)(
2817        IPortableDeviceServiceCapabilities *This,
2818        IPortableDevicePropVariantCollection **formats);
2819
2820    HRESULT (STDMETHODCALLTYPE *GetFormatAttributes)(
2821        IPortableDeviceServiceCapabilities *This,
2822        REFGUID format,
2823        IPortableDeviceValues **attributes);
2824
2825    HRESULT (STDMETHODCALLTYPE *GetSupportedFormatProperties)(
2826        IPortableDeviceServiceCapabilities *This,
2827        REFGUID format,
2828        IPortableDeviceKeyCollection **keys);
2829
2830    HRESULT (STDMETHODCALLTYPE *GetFormatPropertyAttributes)(
2831        IPortableDeviceServiceCapabilities *This,
2832        REFGUID format,
2833        REFPROPERTYKEY property,
2834        IPortableDeviceValues **attributes);
2835
2836    HRESULT (STDMETHODCALLTYPE *GetSupportedEvents)(
2837        IPortableDeviceServiceCapabilities *This,
2838        IPortableDevicePropVariantCollection **events);
2839
2840    HRESULT (STDMETHODCALLTYPE *GetEventAttributes)(
2841        IPortableDeviceServiceCapabilities *This,
2842        REFGUID event_id,
2843        IPortableDeviceValues **attributes);
2844
2845    HRESULT (STDMETHODCALLTYPE *GetEventParameterAttributes)(
2846        IPortableDeviceServiceCapabilities *This,
2847        REFGUID event_id,
2848        REFPROPERTYKEY parameter,
2849        IPortableDeviceValues **attributes);
2850
2851    HRESULT (STDMETHODCALLTYPE *GetInheritedServices)(
2852        IPortableDeviceServiceCapabilities *This,
2853        const DWORD inheritance_type,
2854        IPortableDevicePropVariantCollection **services);
2855
2856    HRESULT (STDMETHODCALLTYPE *GetFormatRenderingProfiles)(
2857        IPortableDeviceServiceCapabilities *This,
2858        REFGUID format,
2859        IPortableDeviceValuesCollection **rendering_profiles);
2860
2861    HRESULT (STDMETHODCALLTYPE *GetSupportedCommands)(
2862        IPortableDeviceServiceCapabilities *This,
2863        IPortableDeviceKeyCollection **commands);
2864
2865    HRESULT (STDMETHODCALLTYPE *GetCommandOptions)(
2866        IPortableDeviceServiceCapabilities *This,
2867        REFPROPERTYKEY command,
2868        IPortableDeviceValues **options);
2869
2870    HRESULT (STDMETHODCALLTYPE *Cancel)(
2871        IPortableDeviceServiceCapabilities *This);
2872
2873    END_INTERFACE
2874} IPortableDeviceServiceCapabilitiesVtbl;
2875
2876interface IPortableDeviceServiceCapabilities {
2877    CONST_VTBL IPortableDeviceServiceCapabilitiesVtbl* lpVtbl;
2878};
2879
2880#ifdef COBJMACROS
2881#ifndef WIDL_C_INLINE_WRAPPERS
2882/*** IUnknown methods ***/
2883#define IPortableDeviceServiceCapabilities_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2884#define IPortableDeviceServiceCapabilities_AddRef(This) (This)->lpVtbl->AddRef(This)
2885#define IPortableDeviceServiceCapabilities_Release(This) (This)->lpVtbl->Release(This)
2886/*** IPortableDeviceServiceCapabilities methods ***/
2887#define IPortableDeviceServiceCapabilities_GetSupportedMethods(This,supported_methods) (This)->lpVtbl->GetSupportedMethods(This,supported_methods)
2888#define IPortableDeviceServiceCapabilities_GetSupportedMethodsByFormat(This,format,supported_methods) (This)->lpVtbl->GetSupportedMethodsByFormat(This,format,supported_methods)
2889#define IPortableDeviceServiceCapabilities_GetMethodAttributes(This,method,attributes) (This)->lpVtbl->GetMethodAttributes(This,method,attributes)
2890#define IPortableDeviceServiceCapabilities_GetMethodParameterAttributes(This,method,parameter,attributes) (This)->lpVtbl->GetMethodParameterAttributes(This,method,parameter,attributes)
2891#define IPortableDeviceServiceCapabilities_GetSupportedFormats(This,formats) (This)->lpVtbl->GetSupportedFormats(This,formats)
2892#define IPortableDeviceServiceCapabilities_GetFormatAttributes(This,format,attributes) (This)->lpVtbl->GetFormatAttributes(This,format,attributes)
2893#define IPortableDeviceServiceCapabilities_GetSupportedFormatProperties(This,format,keys) (This)->lpVtbl->GetSupportedFormatProperties(This,format,keys)
2894#define IPortableDeviceServiceCapabilities_GetFormatPropertyAttributes(This,format,property,attributes) (This)->lpVtbl->GetFormatPropertyAttributes(This,format,property,attributes)
2895#define IPortableDeviceServiceCapabilities_GetSupportedEvents(This,events) (This)->lpVtbl->GetSupportedEvents(This,events)
2896#define IPortableDeviceServiceCapabilities_GetEventAttributes(This,event_id,attributes) (This)->lpVtbl->GetEventAttributes(This,event_id,attributes)
2897#define IPortableDeviceServiceCapabilities_GetEventParameterAttributes(This,event_id,parameter,attributes) (This)->lpVtbl->GetEventParameterAttributes(This,event_id,parameter,attributes)
2898#define IPortableDeviceServiceCapabilities_GetInheritedServices(This,inheritance_type,services) (This)->lpVtbl->GetInheritedServices(This,inheritance_type,services)
2899#define IPortableDeviceServiceCapabilities_GetFormatRenderingProfiles(This,format,rendering_profiles) (This)->lpVtbl->GetFormatRenderingProfiles(This,format,rendering_profiles)
2900#define IPortableDeviceServiceCapabilities_GetSupportedCommands(This,commands) (This)->lpVtbl->GetSupportedCommands(This,commands)
2901#define IPortableDeviceServiceCapabilities_GetCommandOptions(This,command,options) (This)->lpVtbl->GetCommandOptions(This,command,options)
2902#define IPortableDeviceServiceCapabilities_Cancel(This) (This)->lpVtbl->Cancel(This)
2903#else
2904/*** IUnknown methods ***/
2905static inline HRESULT IPortableDeviceServiceCapabilities_QueryInterface(IPortableDeviceServiceCapabilities* This,REFIID riid,void **ppvObject) {
2906    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2907}
2908static inline ULONG IPortableDeviceServiceCapabilities_AddRef(IPortableDeviceServiceCapabilities* This) {
2909    return This->lpVtbl->AddRef(This);
2910}
2911static inline ULONG IPortableDeviceServiceCapabilities_Release(IPortableDeviceServiceCapabilities* This) {
2912    return This->lpVtbl->Release(This);
2913}
2914/*** IPortableDeviceServiceCapabilities methods ***/
2915static inline HRESULT IPortableDeviceServiceCapabilities_GetSupportedMethods(IPortableDeviceServiceCapabilities* This,IPortableDevicePropVariantCollection **supported_methods) {
2916    return This->lpVtbl->GetSupportedMethods(This,supported_methods);
2917}
2918static inline HRESULT IPortableDeviceServiceCapabilities_GetSupportedMethodsByFormat(IPortableDeviceServiceCapabilities* This,REFGUID format,IPortableDevicePropVariantCollection **supported_methods) {
2919    return This->lpVtbl->GetSupportedMethodsByFormat(This,format,supported_methods);
2920}
2921static inline HRESULT IPortableDeviceServiceCapabilities_GetMethodAttributes(IPortableDeviceServiceCapabilities* This,REFGUID method,IPortableDeviceValues **attributes) {
2922    return This->lpVtbl->GetMethodAttributes(This,method,attributes);
2923}
2924static inline HRESULT IPortableDeviceServiceCapabilities_GetMethodParameterAttributes(IPortableDeviceServiceCapabilities* This,REFGUID method,REFPROPERTYKEY parameter,IPortableDeviceValues **attributes) {
2925    return This->lpVtbl->GetMethodParameterAttributes(This,method,parameter,attributes);
2926}
2927static inline HRESULT IPortableDeviceServiceCapabilities_GetSupportedFormats(IPortableDeviceServiceCapabilities* This,IPortableDevicePropVariantCollection **formats) {
2928    return This->lpVtbl->GetSupportedFormats(This,formats);
2929}
2930static inline HRESULT IPortableDeviceServiceCapabilities_GetFormatAttributes(IPortableDeviceServiceCapabilities* This,REFGUID format,IPortableDeviceValues **attributes) {
2931    return This->lpVtbl->GetFormatAttributes(This,format,attributes);
2932}
2933static inline HRESULT IPortableDeviceServiceCapabilities_GetSupportedFormatProperties(IPortableDeviceServiceCapabilities* This,REFGUID format,IPortableDeviceKeyCollection **keys) {
2934    return This->lpVtbl->GetSupportedFormatProperties(This,format,keys);
2935}
2936static inline HRESULT IPortableDeviceServiceCapabilities_GetFormatPropertyAttributes(IPortableDeviceServiceCapabilities* This,REFGUID format,REFPROPERTYKEY property,IPortableDeviceValues **attributes) {
2937    return This->lpVtbl->GetFormatPropertyAttributes(This,format,property,attributes);
2938}
2939static inline HRESULT IPortableDeviceServiceCapabilities_GetSupportedEvents(IPortableDeviceServiceCapabilities* This,IPortableDevicePropVariantCollection **events) {
2940    return This->lpVtbl->GetSupportedEvents(This,events);
2941}
2942static inline HRESULT IPortableDeviceServiceCapabilities_GetEventAttributes(IPortableDeviceServiceCapabilities* This,REFGUID event_id,IPortableDeviceValues **attributes) {
2943    return This->lpVtbl->GetEventAttributes(This,event_id,attributes);
2944}
2945static inline HRESULT IPortableDeviceServiceCapabilities_GetEventParameterAttributes(IPortableDeviceServiceCapabilities* This,REFGUID event_id,REFPROPERTYKEY parameter,IPortableDeviceValues **attributes) {
2946    return This->lpVtbl->GetEventParameterAttributes(This,event_id,parameter,attributes);
2947}
2948static inline HRESULT IPortableDeviceServiceCapabilities_GetInheritedServices(IPortableDeviceServiceCapabilities* This,const DWORD inheritance_type,IPortableDevicePropVariantCollection **services) {
2949    return This->lpVtbl->GetInheritedServices(This,inheritance_type,services);
2950}
2951static inline HRESULT IPortableDeviceServiceCapabilities_GetFormatRenderingProfiles(IPortableDeviceServiceCapabilities* This,REFGUID format,IPortableDeviceValuesCollection **rendering_profiles) {
2952    return This->lpVtbl->GetFormatRenderingProfiles(This,format,rendering_profiles);
2953}
2954static inline HRESULT IPortableDeviceServiceCapabilities_GetSupportedCommands(IPortableDeviceServiceCapabilities* This,IPortableDeviceKeyCollection **commands) {
2955    return This->lpVtbl->GetSupportedCommands(This,commands);
2956}
2957static inline HRESULT IPortableDeviceServiceCapabilities_GetCommandOptions(IPortableDeviceServiceCapabilities* This,REFPROPERTYKEY command,IPortableDeviceValues **options) {
2958    return This->lpVtbl->GetCommandOptions(This,command,options);
2959}
2960static inline HRESULT IPortableDeviceServiceCapabilities_Cancel(IPortableDeviceServiceCapabilities* This) {
2961    return This->lpVtbl->Cancel(This);
2962}
2963#endif
2964#endif
2965
2966#endif
2967
2968
2969#endif  /* __IPortableDeviceServiceCapabilities_INTERFACE_DEFINED__ */
2970
2971/*****************************************************************************
2972 * IPortableDeviceServiceMethods interface
2973 */
2974#ifndef __IPortableDeviceServiceMethods_INTERFACE_DEFINED__
2975#define __IPortableDeviceServiceMethods_INTERFACE_DEFINED__
2976
2977DEFINE_GUID(IID_IPortableDeviceServiceMethods, 0xe20333c9, 0xfd34, 0x412d, 0xa3,0x81, 0xcc,0x6f,0x2d,0x82,0x0d,0xf7);
2978#if defined(__cplusplus) && !defined(CINTERFACE)
2979MIDL_INTERFACE("e20333c9-fd34-412d-a381-cc6f2d820df7")
2980IPortableDeviceServiceMethods : public IUnknown
2981{
2982    virtual HRESULT STDMETHODCALLTYPE Invoke(
2983        REFGUID method_id,
2984        IPortableDeviceValues *parameters,
2985        IPortableDeviceValues **results) = 0;
2986
2987    virtual HRESULT STDMETHODCALLTYPE InvokeAsync(
2988        REFGUID method_id,
2989        IPortableDeviceValues *parameters,
2990        IPortableDeviceServiceMethodCallback *callback) = 0;
2991
2992    virtual HRESULT STDMETHODCALLTYPE Cancel(
2993        IPortableDeviceServiceMethodCallback *callback) = 0;
2994
2995};
2996#ifdef __CRT_UUID_DECL
2997__CRT_UUID_DECL(IPortableDeviceServiceMethods, 0xe20333c9, 0xfd34, 0x412d, 0xa3,0x81, 0xcc,0x6f,0x2d,0x82,0x0d,0xf7)
2998#endif
2999#else
3000typedef struct IPortableDeviceServiceMethodsVtbl {
3001    BEGIN_INTERFACE
3002
3003    /*** IUnknown methods ***/
3004    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3005        IPortableDeviceServiceMethods *This,
3006        REFIID riid,
3007        void **ppvObject);
3008
3009    ULONG (STDMETHODCALLTYPE *AddRef)(
3010        IPortableDeviceServiceMethods *This);
3011
3012    ULONG (STDMETHODCALLTYPE *Release)(
3013        IPortableDeviceServiceMethods *This);
3014
3015    /*** IPortableDeviceServiceMethods methods ***/
3016    HRESULT (STDMETHODCALLTYPE *Invoke)(
3017        IPortableDeviceServiceMethods *This,
3018        REFGUID method_id,
3019        IPortableDeviceValues *parameters,
3020        IPortableDeviceValues **results);
3021
3022    HRESULT (STDMETHODCALLTYPE *InvokeAsync)(
3023        IPortableDeviceServiceMethods *This,
3024        REFGUID method_id,
3025        IPortableDeviceValues *parameters,
3026        IPortableDeviceServiceMethodCallback *callback);
3027
3028    HRESULT (STDMETHODCALLTYPE *Cancel)(
3029        IPortableDeviceServiceMethods *This,
3030        IPortableDeviceServiceMethodCallback *callback);
3031
3032    END_INTERFACE
3033} IPortableDeviceServiceMethodsVtbl;
3034
3035interface IPortableDeviceServiceMethods {
3036    CONST_VTBL IPortableDeviceServiceMethodsVtbl* lpVtbl;
3037};
3038
3039#ifdef COBJMACROS
3040#ifndef WIDL_C_INLINE_WRAPPERS
3041/*** IUnknown methods ***/
3042#define IPortableDeviceServiceMethods_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3043#define IPortableDeviceServiceMethods_AddRef(This) (This)->lpVtbl->AddRef(This)
3044#define IPortableDeviceServiceMethods_Release(This) (This)->lpVtbl->Release(This)
3045/*** IPortableDeviceServiceMethods methods ***/
3046#define IPortableDeviceServiceMethods_Invoke(This,method_id,parameters,results) (This)->lpVtbl->Invoke(This,method_id,parameters,results)
3047#define IPortableDeviceServiceMethods_InvokeAsync(This,method_id,parameters,callback) (This)->lpVtbl->InvokeAsync(This,method_id,parameters,callback)
3048#define IPortableDeviceServiceMethods_Cancel(This,callback) (This)->lpVtbl->Cancel(This,callback)
3049#else
3050/*** IUnknown methods ***/
3051static inline HRESULT IPortableDeviceServiceMethods_QueryInterface(IPortableDeviceServiceMethods* This,REFIID riid,void **ppvObject) {
3052    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3053}
3054static inline ULONG IPortableDeviceServiceMethods_AddRef(IPortableDeviceServiceMethods* This) {
3055    return This->lpVtbl->AddRef(This);
3056}
3057static inline ULONG IPortableDeviceServiceMethods_Release(IPortableDeviceServiceMethods* This) {
3058    return This->lpVtbl->Release(This);
3059}
3060/*** IPortableDeviceServiceMethods methods ***/
3061static inline HRESULT IPortableDeviceServiceMethods_Invoke(IPortableDeviceServiceMethods* This,REFGUID method_id,IPortableDeviceValues *parameters,IPortableDeviceValues **results) {
3062    return This->lpVtbl->Invoke(This,method_id,parameters,results);
3063}
3064static inline HRESULT IPortableDeviceServiceMethods_InvokeAsync(IPortableDeviceServiceMethods* This,REFGUID method_id,IPortableDeviceValues *parameters,IPortableDeviceServiceMethodCallback *callback) {
3065    return This->lpVtbl->InvokeAsync(This,method_id,parameters,callback);
3066}
3067static inline HRESULT IPortableDeviceServiceMethods_Cancel(IPortableDeviceServiceMethods* This,IPortableDeviceServiceMethodCallback *callback) {
3068    return This->lpVtbl->Cancel(This,callback);
3069}
3070#endif
3071#endif
3072
3073#endif
3074
3075
3076#endif  /* __IPortableDeviceServiceMethods_INTERFACE_DEFINED__ */
3077
3078/*****************************************************************************
3079 * IPortableDeviceServiceMethodCallback interface
3080 */
3081#ifndef __IPortableDeviceServiceMethodCallback_INTERFACE_DEFINED__
3082#define __IPortableDeviceServiceMethodCallback_INTERFACE_DEFINED__
3083
3084DEFINE_GUID(IID_IPortableDeviceServiceMethodCallback, 0xc424233c, 0xafce, 0x4828, 0xa7,0x56, 0x7e,0xd7,0xa2,0x35,0x00,0x83);
3085#if defined(__cplusplus) && !defined(CINTERFACE)
3086MIDL_INTERFACE("c424233c-afce-4828-a756-7ed7a2350083")
3087IPortableDeviceServiceMethodCallback : public IUnknown
3088{
3089    virtual HRESULT STDMETHODCALLTYPE OnComplete(
3090        HRESULT hr_status,
3091        IPortableDeviceValues *results) = 0;
3092
3093};
3094#ifdef __CRT_UUID_DECL
3095__CRT_UUID_DECL(IPortableDeviceServiceMethodCallback, 0xc424233c, 0xafce, 0x4828, 0xa7,0x56, 0x7e,0xd7,0xa2,0x35,0x00,0x83)
3096#endif
3097#else
3098typedef struct IPortableDeviceServiceMethodCallbackVtbl {
3099    BEGIN_INTERFACE
3100
3101    /*** IUnknown methods ***/
3102    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3103        IPortableDeviceServiceMethodCallback *This,
3104        REFIID riid,
3105        void **ppvObject);
3106
3107    ULONG (STDMETHODCALLTYPE *AddRef)(
3108        IPortableDeviceServiceMethodCallback *This);
3109
3110    ULONG (STDMETHODCALLTYPE *Release)(
3111        IPortableDeviceServiceMethodCallback *This);
3112
3113    /*** IPortableDeviceServiceMethodCallback methods ***/
3114    HRESULT (STDMETHODCALLTYPE *OnComplete)(
3115        IPortableDeviceServiceMethodCallback *This,
3116        HRESULT hr_status,
3117        IPortableDeviceValues *results);
3118
3119    END_INTERFACE
3120} IPortableDeviceServiceMethodCallbackVtbl;
3121
3122interface IPortableDeviceServiceMethodCallback {
3123    CONST_VTBL IPortableDeviceServiceMethodCallbackVtbl* lpVtbl;
3124};
3125
3126#ifdef COBJMACROS
3127#ifndef WIDL_C_INLINE_WRAPPERS
3128/*** IUnknown methods ***/
3129#define IPortableDeviceServiceMethodCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3130#define IPortableDeviceServiceMethodCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
3131#define IPortableDeviceServiceMethodCallback_Release(This) (This)->lpVtbl->Release(This)
3132/*** IPortableDeviceServiceMethodCallback methods ***/
3133#define IPortableDeviceServiceMethodCallback_OnComplete(This,hr_status,results) (This)->lpVtbl->OnComplete(This,hr_status,results)
3134#else
3135/*** IUnknown methods ***/
3136static inline HRESULT IPortableDeviceServiceMethodCallback_QueryInterface(IPortableDeviceServiceMethodCallback* This,REFIID riid,void **ppvObject) {
3137    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3138}
3139static inline ULONG IPortableDeviceServiceMethodCallback_AddRef(IPortableDeviceServiceMethodCallback* This) {
3140    return This->lpVtbl->AddRef(This);
3141}
3142static inline ULONG IPortableDeviceServiceMethodCallback_Release(IPortableDeviceServiceMethodCallback* This) {
3143    return This->lpVtbl->Release(This);
3144}
3145/*** IPortableDeviceServiceMethodCallback methods ***/
3146static inline HRESULT IPortableDeviceServiceMethodCallback_OnComplete(IPortableDeviceServiceMethodCallback* This,HRESULT hr_status,IPortableDeviceValues *results) {
3147    return This->lpVtbl->OnComplete(This,hr_status,results);
3148}
3149#endif
3150#endif
3151
3152#endif
3153
3154
3155#endif  /* __IPortableDeviceServiceMethodCallback_INTERFACE_DEFINED__ */
3156
3157/*****************************************************************************
3158 * IPortableDeviceServiceActivation interface
3159 */
3160#ifndef __IPortableDeviceServiceActivation_INTERFACE_DEFINED__
3161#define __IPortableDeviceServiceActivation_INTERFACE_DEFINED__
3162
3163DEFINE_GUID(IID_IPortableDeviceServiceActivation, 0xe56b0534, 0xd9b9, 0x425c, 0x9b,0x99, 0x75,0xf9,0x7c,0xb3,0xd7,0xc8);
3164#if defined(__cplusplus) && !defined(CINTERFACE)
3165MIDL_INTERFACE("e56b0534-d9b9-425c-9b99-75f97cb3d7c8")
3166IPortableDeviceServiceActivation : public IUnknown
3167{
3168    virtual HRESULT STDMETHODCALLTYPE OpenAsync(
3169        LPCWSTR service_id,
3170        IPortableDeviceValues *client_info,
3171        IPortableDeviceServiceOpenCallback *callback) = 0;
3172
3173    virtual HRESULT STDMETHODCALLTYPE CancelOpenAsync(
3174        ) = 0;
3175
3176};
3177#ifdef __CRT_UUID_DECL
3178__CRT_UUID_DECL(IPortableDeviceServiceActivation, 0xe56b0534, 0xd9b9, 0x425c, 0x9b,0x99, 0x75,0xf9,0x7c,0xb3,0xd7,0xc8)
3179#endif
3180#else
3181typedef struct IPortableDeviceServiceActivationVtbl {
3182    BEGIN_INTERFACE
3183
3184    /*** IUnknown methods ***/
3185    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3186        IPortableDeviceServiceActivation *This,
3187        REFIID riid,
3188        void **ppvObject);
3189
3190    ULONG (STDMETHODCALLTYPE *AddRef)(
3191        IPortableDeviceServiceActivation *This);
3192
3193    ULONG (STDMETHODCALLTYPE *Release)(
3194        IPortableDeviceServiceActivation *This);
3195
3196    /*** IPortableDeviceServiceActivation methods ***/
3197    HRESULT (STDMETHODCALLTYPE *OpenAsync)(
3198        IPortableDeviceServiceActivation *This,
3199        LPCWSTR service_id,
3200        IPortableDeviceValues *client_info,
3201        IPortableDeviceServiceOpenCallback *callback);
3202
3203    HRESULT (STDMETHODCALLTYPE *CancelOpenAsync)(
3204        IPortableDeviceServiceActivation *This);
3205
3206    END_INTERFACE
3207} IPortableDeviceServiceActivationVtbl;
3208
3209interface IPortableDeviceServiceActivation {
3210    CONST_VTBL IPortableDeviceServiceActivationVtbl* lpVtbl;
3211};
3212
3213#ifdef COBJMACROS
3214#ifndef WIDL_C_INLINE_WRAPPERS
3215/*** IUnknown methods ***/
3216#define IPortableDeviceServiceActivation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3217#define IPortableDeviceServiceActivation_AddRef(This) (This)->lpVtbl->AddRef(This)
3218#define IPortableDeviceServiceActivation_Release(This) (This)->lpVtbl->Release(This)
3219/*** IPortableDeviceServiceActivation methods ***/
3220#define IPortableDeviceServiceActivation_OpenAsync(This,service_id,client_info,callback) (This)->lpVtbl->OpenAsync(This,service_id,client_info,callback)
3221#define IPortableDeviceServiceActivation_CancelOpenAsync(This) (This)->lpVtbl->CancelOpenAsync(This)
3222#else
3223/*** IUnknown methods ***/
3224static inline HRESULT IPortableDeviceServiceActivation_QueryInterface(IPortableDeviceServiceActivation* This,REFIID riid,void **ppvObject) {
3225    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3226}
3227static inline ULONG IPortableDeviceServiceActivation_AddRef(IPortableDeviceServiceActivation* This) {
3228    return This->lpVtbl->AddRef(This);
3229}
3230static inline ULONG IPortableDeviceServiceActivation_Release(IPortableDeviceServiceActivation* This) {
3231    return This->lpVtbl->Release(This);
3232}
3233/*** IPortableDeviceServiceActivation methods ***/
3234static inline HRESULT IPortableDeviceServiceActivation_OpenAsync(IPortableDeviceServiceActivation* This,LPCWSTR service_id,IPortableDeviceValues *client_info,IPortableDeviceServiceOpenCallback *callback) {
3235    return This->lpVtbl->OpenAsync(This,service_id,client_info,callback);
3236}
3237static inline HRESULT IPortableDeviceServiceActivation_CancelOpenAsync(IPortableDeviceServiceActivation* This) {
3238    return This->lpVtbl->CancelOpenAsync(This);
3239}
3240#endif
3241#endif
3242
3243#endif
3244
3245
3246#endif  /* __IPortableDeviceServiceActivation_INTERFACE_DEFINED__ */
3247
3248/*****************************************************************************
3249 * IPortableDeviceServiceOpenCallback interface
3250 */
3251#ifndef __IPortableDeviceServiceOpenCallback_INTERFACE_DEFINED__
3252#define __IPortableDeviceServiceOpenCallback_INTERFACE_DEFINED__
3253
3254DEFINE_GUID(IID_IPortableDeviceServiceOpenCallback, 0xbced49c8, 0x8efe, 0x41ed, 0x96,0x0b, 0x61,0x31,0x3a,0xbd,0x47,0xa9);
3255#if defined(__cplusplus) && !defined(CINTERFACE)
3256MIDL_INTERFACE("bced49c8-8efe-41ed-960b-61313abd47a9")
3257IPortableDeviceServiceOpenCallback : public IUnknown
3258{
3259    virtual HRESULT STDMETHODCALLTYPE OnComplete(
3260        HRESULT hr_status) = 0;
3261
3262};
3263#ifdef __CRT_UUID_DECL
3264__CRT_UUID_DECL(IPortableDeviceServiceOpenCallback, 0xbced49c8, 0x8efe, 0x41ed, 0x96,0x0b, 0x61,0x31,0x3a,0xbd,0x47,0xa9)
3265#endif
3266#else
3267typedef struct IPortableDeviceServiceOpenCallbackVtbl {
3268    BEGIN_INTERFACE
3269
3270    /*** IUnknown methods ***/
3271    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3272        IPortableDeviceServiceOpenCallback *This,
3273        REFIID riid,
3274        void **ppvObject);
3275
3276    ULONG (STDMETHODCALLTYPE *AddRef)(
3277        IPortableDeviceServiceOpenCallback *This);
3278
3279    ULONG (STDMETHODCALLTYPE *Release)(
3280        IPortableDeviceServiceOpenCallback *This);
3281
3282    /*** IPortableDeviceServiceOpenCallback methods ***/
3283    HRESULT (STDMETHODCALLTYPE *OnComplete)(
3284        IPortableDeviceServiceOpenCallback *This,
3285        HRESULT hr_status);
3286
3287    END_INTERFACE
3288} IPortableDeviceServiceOpenCallbackVtbl;
3289
3290interface IPortableDeviceServiceOpenCallback {
3291    CONST_VTBL IPortableDeviceServiceOpenCallbackVtbl* lpVtbl;
3292};
3293
3294#ifdef COBJMACROS
3295#ifndef WIDL_C_INLINE_WRAPPERS
3296/*** IUnknown methods ***/
3297#define IPortableDeviceServiceOpenCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3298#define IPortableDeviceServiceOpenCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
3299#define IPortableDeviceServiceOpenCallback_Release(This) (This)->lpVtbl->Release(This)
3300/*** IPortableDeviceServiceOpenCallback methods ***/
3301#define IPortableDeviceServiceOpenCallback_OnComplete(This,hr_status) (This)->lpVtbl->OnComplete(This,hr_status)
3302#else
3303/*** IUnknown methods ***/
3304static inline HRESULT IPortableDeviceServiceOpenCallback_QueryInterface(IPortableDeviceServiceOpenCallback* This,REFIID riid,void **ppvObject) {
3305    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3306}
3307static inline ULONG IPortableDeviceServiceOpenCallback_AddRef(IPortableDeviceServiceOpenCallback* This) {
3308    return This->lpVtbl->AddRef(This);
3309}
3310static inline ULONG IPortableDeviceServiceOpenCallback_Release(IPortableDeviceServiceOpenCallback* This) {
3311    return This->lpVtbl->Release(This);
3312}
3313/*** IPortableDeviceServiceOpenCallback methods ***/
3314static inline HRESULT IPortableDeviceServiceOpenCallback_OnComplete(IPortableDeviceServiceOpenCallback* This,HRESULT hr_status) {
3315    return This->lpVtbl->OnComplete(This,hr_status);
3316}
3317#endif
3318#endif
3319
3320#endif
3321
3322
3323#endif  /* __IPortableDeviceServiceOpenCallback_INTERFACE_DEFINED__ */
3324
3325/*****************************************************************************
3326 * IPortableDeviceDispatchFactory interface
3327 */
3328#ifndef __IPortableDeviceDispatchFactory_INTERFACE_DEFINED__
3329#define __IPortableDeviceDispatchFactory_INTERFACE_DEFINED__
3330
3331DEFINE_GUID(IID_IPortableDeviceDispatchFactory, 0x5e1eafc3, 0xe3d7, 0x4132, 0x96,0xfa, 0x75,0x9c,0x0f,0x9d,0x1e,0x0f);
3332#if defined(__cplusplus) && !defined(CINTERFACE)
3333MIDL_INTERFACE("5e1eafc3-e3d7-4132-96fa-759c0f9d1e0f")
3334IPortableDeviceDispatchFactory : public IUnknown
3335{
3336    virtual HRESULT STDMETHODCALLTYPE GetDeviceDispatch(
3337        LPCWSTR device_id,
3338        IDispatch **device_dispatch) = 0;
3339
3340};
3341#ifdef __CRT_UUID_DECL
3342__CRT_UUID_DECL(IPortableDeviceDispatchFactory, 0x5e1eafc3, 0xe3d7, 0x4132, 0x96,0xfa, 0x75,0x9c,0x0f,0x9d,0x1e,0x0f)
3343#endif
3344#else
3345typedef struct IPortableDeviceDispatchFactoryVtbl {
3346    BEGIN_INTERFACE
3347
3348    /*** IUnknown methods ***/
3349    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3350        IPortableDeviceDispatchFactory *This,
3351        REFIID riid,
3352        void **ppvObject);
3353
3354    ULONG (STDMETHODCALLTYPE *AddRef)(
3355        IPortableDeviceDispatchFactory *This);
3356
3357    ULONG (STDMETHODCALLTYPE *Release)(
3358        IPortableDeviceDispatchFactory *This);
3359
3360    /*** IPortableDeviceDispatchFactory methods ***/
3361    HRESULT (STDMETHODCALLTYPE *GetDeviceDispatch)(
3362        IPortableDeviceDispatchFactory *This,
3363        LPCWSTR device_id,
3364        IDispatch **device_dispatch);
3365
3366    END_INTERFACE
3367} IPortableDeviceDispatchFactoryVtbl;
3368
3369interface IPortableDeviceDispatchFactory {
3370    CONST_VTBL IPortableDeviceDispatchFactoryVtbl* lpVtbl;
3371};
3372
3373#ifdef COBJMACROS
3374#ifndef WIDL_C_INLINE_WRAPPERS
3375/*** IUnknown methods ***/
3376#define IPortableDeviceDispatchFactory_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3377#define IPortableDeviceDispatchFactory_AddRef(This) (This)->lpVtbl->AddRef(This)
3378#define IPortableDeviceDispatchFactory_Release(This) (This)->lpVtbl->Release(This)
3379/*** IPortableDeviceDispatchFactory methods ***/
3380#define IPortableDeviceDispatchFactory_GetDeviceDispatch(This,device_id,device_dispatch) (This)->lpVtbl->GetDeviceDispatch(This,device_id,device_dispatch)
3381#else
3382/*** IUnknown methods ***/
3383static inline HRESULT IPortableDeviceDispatchFactory_QueryInterface(IPortableDeviceDispatchFactory* This,REFIID riid,void **ppvObject) {
3384    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3385}
3386static inline ULONG IPortableDeviceDispatchFactory_AddRef(IPortableDeviceDispatchFactory* This) {
3387    return This->lpVtbl->AddRef(This);
3388}
3389static inline ULONG IPortableDeviceDispatchFactory_Release(IPortableDeviceDispatchFactory* This) {
3390    return This->lpVtbl->Release(This);
3391}
3392/*** IPortableDeviceDispatchFactory methods ***/
3393static inline HRESULT IPortableDeviceDispatchFactory_GetDeviceDispatch(IPortableDeviceDispatchFactory* This,LPCWSTR device_id,IDispatch **device_dispatch) {
3394    return This->lpVtbl->GetDeviceDispatch(This,device_id,device_dispatch);
3395}
3396#endif
3397#endif
3398
3399#endif
3400
3401
3402#endif  /* __IPortableDeviceDispatchFactory_INTERFACE_DEFINED__ */
3403
3404/*****************************************************************************
3405 * IPortableDeviceWebControl interface
3406 */
3407#ifndef __IPortableDeviceWebControl_INTERFACE_DEFINED__
3408#define __IPortableDeviceWebControl_INTERFACE_DEFINED__
3409
3410DEFINE_GUID(IID_IPortableDeviceWebControl, 0x94fc7953, 0x5ca1, 0x483a, 0x8a,0xee, 0xdf,0x52,0xe7,0x74,0x7d,0x00);
3411#if defined(__cplusplus) && !defined(CINTERFACE)
3412MIDL_INTERFACE("94fc7953-5ca1-483a-8aee-df52e7747d00")
3413IPortableDeviceWebControl : public IDispatch
3414{
3415    virtual HRESULT STDMETHODCALLTYPE GetDeviceFromId(
3416        BSTR device_id,
3417        IDispatch **device) = 0;
3418
3419    virtual HRESULT STDMETHODCALLTYPE GetDeviceFromIdAsync(
3420        BSTR device_id,
3421        IDispatch *completion_handler,
3422        IDispatch *error_handler) = 0;
3423
3424};
3425#ifdef __CRT_UUID_DECL
3426__CRT_UUID_DECL(IPortableDeviceWebControl, 0x94fc7953, 0x5ca1, 0x483a, 0x8a,0xee, 0xdf,0x52,0xe7,0x74,0x7d,0x00)
3427#endif
3428#else
3429typedef struct IPortableDeviceWebControlVtbl {
3430    BEGIN_INTERFACE
3431
3432    /*** IUnknown methods ***/
3433    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3434        IPortableDeviceWebControl *This,
3435        REFIID riid,
3436        void **ppvObject);
3437
3438    ULONG (STDMETHODCALLTYPE *AddRef)(
3439        IPortableDeviceWebControl *This);
3440
3441    ULONG (STDMETHODCALLTYPE *Release)(
3442        IPortableDeviceWebControl *This);
3443
3444    /*** IDispatch methods ***/
3445    HRESULT (STDMETHODCALLTYPE *GetTypeInfoCount)(
3446        IPortableDeviceWebControl *This,
3447        UINT *pctinfo);
3448
3449    HRESULT (STDMETHODCALLTYPE *GetTypeInfo)(
3450        IPortableDeviceWebControl *This,
3451        UINT iTInfo,
3452        LCID lcid,
3453        ITypeInfo **ppTInfo);
3454
3455    HRESULT (STDMETHODCALLTYPE *GetIDsOfNames)(
3456        IPortableDeviceWebControl *This,
3457        REFIID riid,
3458        LPOLESTR *rgszNames,
3459        UINT cNames,
3460        LCID lcid,
3461        DISPID *rgDispId);
3462
3463    HRESULT (STDMETHODCALLTYPE *Invoke)(
3464        IPortableDeviceWebControl *This,
3465        DISPID dispIdMember,
3466        REFIID riid,
3467        LCID lcid,
3468        WORD wFlags,
3469        DISPPARAMS *pDispParams,
3470        VARIANT *pVarResult,
3471        EXCEPINFO *pExcepInfo,
3472        UINT *puArgErr);
3473
3474    /*** IPortableDeviceWebControl methods ***/
3475    HRESULT (STDMETHODCALLTYPE *GetDeviceFromId)(
3476        IPortableDeviceWebControl *This,
3477        BSTR device_id,
3478        IDispatch **device);
3479
3480    HRESULT (STDMETHODCALLTYPE *GetDeviceFromIdAsync)(
3481        IPortableDeviceWebControl *This,
3482        BSTR device_id,
3483        IDispatch *completion_handler,
3484        IDispatch *error_handler);
3485
3486    END_INTERFACE
3487} IPortableDeviceWebControlVtbl;
3488
3489interface IPortableDeviceWebControl {
3490    CONST_VTBL IPortableDeviceWebControlVtbl* lpVtbl;
3491};
3492
3493#ifdef COBJMACROS
3494#ifndef WIDL_C_INLINE_WRAPPERS
3495/*** IUnknown methods ***/
3496#define IPortableDeviceWebControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3497#define IPortableDeviceWebControl_AddRef(This) (This)->lpVtbl->AddRef(This)
3498#define IPortableDeviceWebControl_Release(This) (This)->lpVtbl->Release(This)
3499/*** IDispatch methods ***/
3500#define IPortableDeviceWebControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
3501#define IPortableDeviceWebControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
3502#define IPortableDeviceWebControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
3503#define IPortableDeviceWebControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
3504/*** IPortableDeviceWebControl methods ***/
3505#define IPortableDeviceWebControl_GetDeviceFromId(This,device_id,device) (This)->lpVtbl->GetDeviceFromId(This,device_id,device)
3506#define IPortableDeviceWebControl_GetDeviceFromIdAsync(This,device_id,completion_handler,error_handler) (This)->lpVtbl->GetDeviceFromIdAsync(This,device_id,completion_handler,error_handler)
3507#else
3508/*** IUnknown methods ***/
3509static inline HRESULT IPortableDeviceWebControl_QueryInterface(IPortableDeviceWebControl* This,REFIID riid,void **ppvObject) {
3510    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3511}
3512static inline ULONG IPortableDeviceWebControl_AddRef(IPortableDeviceWebControl* This) {
3513    return This->lpVtbl->AddRef(This);
3514}
3515static inline ULONG IPortableDeviceWebControl_Release(IPortableDeviceWebControl* This) {
3516    return This->lpVtbl->Release(This);
3517}
3518/*** IDispatch methods ***/
3519static inline HRESULT IPortableDeviceWebControl_GetTypeInfoCount(IPortableDeviceWebControl* This,UINT *pctinfo) {
3520    return This->lpVtbl->GetTypeInfoCount(This,pctinfo);
3521}
3522static inline HRESULT IPortableDeviceWebControl_GetTypeInfo(IPortableDeviceWebControl* This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo) {
3523    return This->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo);
3524}
3525static inline HRESULT IPortableDeviceWebControl_GetIDsOfNames(IPortableDeviceWebControl* This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId) {
3526    return This->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId);
3527}
3528static inline HRESULT IPortableDeviceWebControl_Invoke(IPortableDeviceWebControl* This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr) {
3529    return This->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr);
3530}
3531/*** IPortableDeviceWebControl methods ***/
3532static inline HRESULT IPortableDeviceWebControl_GetDeviceFromId(IPortableDeviceWebControl* This,BSTR device_id,IDispatch **device) {
3533    return This->lpVtbl->GetDeviceFromId(This,device_id,device);
3534}
3535static inline HRESULT IPortableDeviceWebControl_GetDeviceFromIdAsync(IPortableDeviceWebControl* This,BSTR device_id,IDispatch *completion_handler,IDispatch *error_handler) {
3536    return This->lpVtbl->GetDeviceFromIdAsync(This,device_id,completion_handler,error_handler);
3537}
3538#endif
3539#endif
3540
3541#endif
3542
3543
3544#endif  /* __IPortableDeviceWebControl_INTERFACE_DEFINED__ */
3545
3546#ifndef __PortableDeviceApiLib_LIBRARY_DEFINED__
3547#define __PortableDeviceApiLib_LIBRARY_DEFINED__
3548
3549DEFINE_GUID(LIBID_PortableDeviceApiLib, 0x1f001332, 0x1a57, 0x4934, 0xbe,0x31, 0xaf,0xfc,0x99,0xf4,0xee,0x0a);
3550
3551/*****************************************************************************
3552 * PortableDevice coclass
3553 */
3554
3555DEFINE_GUID(CLSID_PortableDevice, 0x728a21c5, 0x3d9e, 0x48d7, 0x98,0x10, 0x86,0x48,0x48,0xf0,0xf4,0x04);
3556
3557#ifdef __cplusplus
3558class DECLSPEC_UUID("728a21c5-3d9e-48d7-9810-864848f0f404") PortableDevice;
3559#ifdef __CRT_UUID_DECL
3560__CRT_UUID_DECL(PortableDevice, 0x728a21c5, 0x3d9e, 0x48d7, 0x98,0x10, 0x86,0x48,0x48,0xf0,0xf4,0x04)
3561#endif
3562#endif
3563
3564/*****************************************************************************
3565 * PortableDeviceManager coclass
3566 */
3567
3568DEFINE_GUID(CLSID_PortableDeviceManager, 0x0af10cec, 0x2ecd, 0x4b92, 0x95,0x81, 0x34,0xf6,0xae,0x06,0x37,0xf3);
3569
3570#ifdef __cplusplus
3571class DECLSPEC_UUID("0af10cec-2ecd-4b92-9581-34f6ae0637f3") PortableDeviceManager;
3572#ifdef __CRT_UUID_DECL
3573__CRT_UUID_DECL(PortableDeviceManager, 0x0af10cec, 0x2ecd, 0x4b92, 0x95,0x81, 0x34,0xf6,0xae,0x06,0x37,0xf3)
3574#endif
3575#endif
3576
3577/*****************************************************************************
3578 * PortableDeviceService coclass
3579 */
3580
3581DEFINE_GUID(CLSID_PortableDeviceService, 0xef5db4c2, 0x9312, 0x422c, 0x91,0x52, 0x41,0x1c,0xd9,0xc4,0xdd,0x84);
3582
3583#ifdef __cplusplus
3584class DECLSPEC_UUID("ef5db4c2-9312-422c-9152-411cd9c4dd84") PortableDeviceService;
3585#ifdef __CRT_UUID_DECL
3586__CRT_UUID_DECL(PortableDeviceService, 0xef5db4c2, 0x9312, 0x422c, 0x91,0x52, 0x41,0x1c,0xd9,0xc4,0xdd,0x84)
3587#endif
3588#endif
3589
3590/*****************************************************************************
3591 * PortableDeviceDispatchFactory coclass
3592 */
3593
3594DEFINE_GUID(CLSID_PortableDeviceDispatchFactory, 0x43232233, 0x8338, 0x4658, 0xae,0x01, 0x0b,0x4a,0xe8,0x30,0xb6,0xb0);
3595
3596#ifdef __cplusplus
3597class DECLSPEC_UUID("43232233-8338-4658-ae01-0b4ae830b6b0") PortableDeviceDispatchFactory;
3598#ifdef __CRT_UUID_DECL
3599__CRT_UUID_DECL(PortableDeviceDispatchFactory, 0x43232233, 0x8338, 0x4658, 0xae,0x01, 0x0b,0x4a,0xe8,0x30,0xb6,0xb0)
3600#endif
3601#endif
3602
3603/*****************************************************************************
3604 * PortableDeviceFTM coclass
3605 */
3606
3607DEFINE_GUID(CLSID_PortableDeviceFTM, 0xf7c0039a, 0x4762, 0x488a, 0xb4,0xb3, 0x76,0x0e,0xf9,0xa1,0xba,0x9b);
3608
3609#ifdef __cplusplus
3610class DECLSPEC_UUID("f7c0039a-4762-488a-b4b3-760ef9a1ba9b") PortableDeviceFTM;
3611#ifdef __CRT_UUID_DECL
3612__CRT_UUID_DECL(PortableDeviceFTM, 0xf7c0039a, 0x4762, 0x488a, 0xb4,0xb3, 0x76,0x0e,0xf9,0xa1,0xba,0x9b)
3613#endif
3614#endif
3615
3616/*****************************************************************************
3617 * PortableDeviceServiceFTM coclass
3618 */
3619
3620DEFINE_GUID(CLSID_PortableDeviceServiceFTM, 0x1649b154, 0xc794, 0x497a, 0x9b,0x03, 0xf3,0xf0,0x12,0x13,0x02,0xf3);
3621
3622#ifdef __cplusplus
3623class DECLSPEC_UUID("1649b154-c794-497a-9b03-f3f0121302f3") PortableDeviceServiceFTM;
3624#ifdef __CRT_UUID_DECL
3625__CRT_UUID_DECL(PortableDeviceServiceFTM, 0x1649b154, 0xc794, 0x497a, 0x9b,0x03, 0xf3,0xf0,0x12,0x13,0x02,0xf3)
3626#endif
3627#endif
3628
3629/*****************************************************************************
3630 * PortableDeviceWebControl coclass
3631 */
3632
3633DEFINE_GUID(CLSID_PortableDeviceWebControl, 0x186dd02c, 0x2dec, 0x41b5, 0xa7,0xd4, 0xb5,0x90,0x56,0xfa,0xde,0x51);
3634
3635#ifdef __cplusplus
3636class DECLSPEC_UUID("186dd02c-2dec-41b5-a7d4-b59056fade51") PortableDeviceWebControl;
3637#ifdef __CRT_UUID_DECL
3638__CRT_UUID_DECL(PortableDeviceWebControl, 0x186dd02c, 0x2dec, 0x41b5, 0xa7,0xd4, 0xb5,0x90,0x56,0xfa,0xde,0x51)
3639#endif
3640#endif
3641
3642#endif /* __PortableDeviceApiLib_LIBRARY_DEFINED__ */
3643/* Begin additional prototypes for all interfaces */
3644
3645
3646/* End additional prototypes */
3647
3648#ifdef __cplusplus
3649}
3650#endif
3651
3652#endif /* __portabledeviceapi_h__ */