1/*** Autogenerated by WIDL 10.4 from include/bits.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 __bits_h__
  17#define __bits_h__
  18
  19/* Forward declarations */
  20
  21#ifndef __IBackgroundCopyFile_FWD_DEFINED__
  22#define __IBackgroundCopyFile_FWD_DEFINED__
  23typedef interface IBackgroundCopyFile IBackgroundCopyFile;
  24#ifdef __cplusplus
  25interface IBackgroundCopyFile;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __IEnumBackgroundCopyFiles_FWD_DEFINED__
  30#define __IEnumBackgroundCopyFiles_FWD_DEFINED__
  31typedef interface IEnumBackgroundCopyFiles IEnumBackgroundCopyFiles;
  32#ifdef __cplusplus
  33interface IEnumBackgroundCopyFiles;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __IBackgroundCopyError_FWD_DEFINED__
  38#define __IBackgroundCopyError_FWD_DEFINED__
  39typedef interface IBackgroundCopyError IBackgroundCopyError;
  40#ifdef __cplusplus
  41interface IBackgroundCopyError;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __IBackgroundCopyJob_FWD_DEFINED__
  46#define __IBackgroundCopyJob_FWD_DEFINED__
  47typedef interface IBackgroundCopyJob IBackgroundCopyJob;
  48#ifdef __cplusplus
  49interface IBackgroundCopyJob;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __IEnumBackgroundCopyJobs_FWD_DEFINED__
  54#define __IEnumBackgroundCopyJobs_FWD_DEFINED__
  55typedef interface IEnumBackgroundCopyJobs IEnumBackgroundCopyJobs;
  56#ifdef __cplusplus
  57interface IEnumBackgroundCopyJobs;
  58#endif /* __cplusplus */
  59#endif
  60
  61#ifndef __IBackgroundCopyCallback_FWD_DEFINED__
  62#define __IBackgroundCopyCallback_FWD_DEFINED__
  63typedef interface IBackgroundCopyCallback IBackgroundCopyCallback;
  64#ifdef __cplusplus
  65interface IBackgroundCopyCallback;
  66#endif /* __cplusplus */
  67#endif
  68
  69#ifndef __IBackgroundCopyManager_FWD_DEFINED__
  70#define __IBackgroundCopyManager_FWD_DEFINED__
  71typedef interface IBackgroundCopyManager IBackgroundCopyManager;
  72#ifdef __cplusplus
  73interface IBackgroundCopyManager;
  74#endif /* __cplusplus */
  75#endif
  76
  77#ifndef __BackgroundCopyManager_FWD_DEFINED__
  78#define __BackgroundCopyManager_FWD_DEFINED__
  79#ifdef __cplusplus
  80typedef class BackgroundCopyManager BackgroundCopyManager;
  81#else
  82typedef struct BackgroundCopyManager BackgroundCopyManager;
  83#endif /* defined __cplusplus */
  84#endif /* defined __BackgroundCopyManager_FWD_DEFINED__ */
  85
  86/* Headers for imported files */
  87
  88#include <unknwn.h>
  89
  90#ifdef __cplusplus
  91extern "C" {
  92#endif
  93
  94#include "bitsmsg.h"
  95#define BG_SIZE_UNKNOWN (UINT64)(-1)
  96#define BG_NOTIFY_JOB_TRANSFERRED 0x0001
  97#define BG_NOTIFY_JOB_ERROR 0x0002
  98#define BG_NOTIFY_DISABLE 0x0004
  99#define BG_NOTIFY_JOB_MODIFICATION 0x0008
 100#define BG_NOTIFY_FILE_TRANSFERRED 0x0010
 101#ifdef WINE_NO_UNICODE_MACROS
 102#undef EnumJobs
 103#undef GetJob
 104#endif
 105/*****************************************************************************
 106 * IBackgroundCopyFile interface
 107 */
 108#ifndef __IBackgroundCopyFile_INTERFACE_DEFINED__
 109#define __IBackgroundCopyFile_INTERFACE_DEFINED__
 110
 111typedef struct _BG_FILE_PROGRESS {
 112    UINT64 BytesTotal;
 113    UINT64 BytesTransferred;
 114    WINBOOL Completed;
 115} BG_FILE_PROGRESS;
 116DEFINE_GUID(IID_IBackgroundCopyFile, 0x01b7bd23, 0xfb88, 0x4a77, 0x84,0x90, 0x58,0x91,0xd3,0xe4,0x65,0x3a);
 117#if defined(__cplusplus) && !defined(CINTERFACE)
 118MIDL_INTERFACE("01b7bd23-fb88-4a77-8490-5891d3e4653a")
 119IBackgroundCopyFile : public IUnknown
 120{
 121    virtual HRESULT STDMETHODCALLTYPE GetRemoteName(
 122        LPWSTR *pVal) = 0;
 123
 124    virtual HRESULT STDMETHODCALLTYPE GetLocalName(
 125        LPWSTR *pVal) = 0;
 126
 127    virtual HRESULT STDMETHODCALLTYPE GetProgress(
 128        BG_FILE_PROGRESS *pVal) = 0;
 129
 130};
 131#ifdef __CRT_UUID_DECL
 132__CRT_UUID_DECL(IBackgroundCopyFile, 0x01b7bd23, 0xfb88, 0x4a77, 0x84,0x90, 0x58,0x91,0xd3,0xe4,0x65,0x3a)
 133#endif
 134#else
 135typedef struct IBackgroundCopyFileVtbl {
 136    BEGIN_INTERFACE
 137
 138    /*** IUnknown methods ***/
 139    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 140        IBackgroundCopyFile *This,
 141        REFIID riid,
 142        void **ppvObject);
 143
 144    ULONG (STDMETHODCALLTYPE *AddRef)(
 145        IBackgroundCopyFile *This);
 146
 147    ULONG (STDMETHODCALLTYPE *Release)(
 148        IBackgroundCopyFile *This);
 149
 150    /*** IBackgroundCopyFile methods ***/
 151    HRESULT (STDMETHODCALLTYPE *GetRemoteName)(
 152        IBackgroundCopyFile *This,
 153        LPWSTR *pVal);
 154
 155    HRESULT (STDMETHODCALLTYPE *GetLocalName)(
 156        IBackgroundCopyFile *This,
 157        LPWSTR *pVal);
 158
 159    HRESULT (STDMETHODCALLTYPE *GetProgress)(
 160        IBackgroundCopyFile *This,
 161        BG_FILE_PROGRESS *pVal);
 162
 163    END_INTERFACE
 164} IBackgroundCopyFileVtbl;
 165
 166interface IBackgroundCopyFile {
 167    CONST_VTBL IBackgroundCopyFileVtbl* lpVtbl;
 168};
 169
 170#ifdef COBJMACROS
 171#ifndef WIDL_C_INLINE_WRAPPERS
 172/*** IUnknown methods ***/
 173#define IBackgroundCopyFile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 174#define IBackgroundCopyFile_AddRef(This) (This)->lpVtbl->AddRef(This)
 175#define IBackgroundCopyFile_Release(This) (This)->lpVtbl->Release(This)
 176/*** IBackgroundCopyFile methods ***/
 177#define IBackgroundCopyFile_GetRemoteName(This,pVal) (This)->lpVtbl->GetRemoteName(This,pVal)
 178#define IBackgroundCopyFile_GetLocalName(This,pVal) (This)->lpVtbl->GetLocalName(This,pVal)
 179#define IBackgroundCopyFile_GetProgress(This,pVal) (This)->lpVtbl->GetProgress(This,pVal)
 180#else
 181/*** IUnknown methods ***/
 182static inline HRESULT IBackgroundCopyFile_QueryInterface(IBackgroundCopyFile* This,REFIID riid,void **ppvObject) {
 183    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 184}
 185static inline ULONG IBackgroundCopyFile_AddRef(IBackgroundCopyFile* This) {
 186    return This->lpVtbl->AddRef(This);
 187}
 188static inline ULONG IBackgroundCopyFile_Release(IBackgroundCopyFile* This) {
 189    return This->lpVtbl->Release(This);
 190}
 191/*** IBackgroundCopyFile methods ***/
 192static inline HRESULT IBackgroundCopyFile_GetRemoteName(IBackgroundCopyFile* This,LPWSTR *pVal) {
 193    return This->lpVtbl->GetRemoteName(This,pVal);
 194}
 195static inline HRESULT IBackgroundCopyFile_GetLocalName(IBackgroundCopyFile* This,LPWSTR *pVal) {
 196    return This->lpVtbl->GetLocalName(This,pVal);
 197}
 198static inline HRESULT IBackgroundCopyFile_GetProgress(IBackgroundCopyFile* This,BG_FILE_PROGRESS *pVal) {
 199    return This->lpVtbl->GetProgress(This,pVal);
 200}
 201#endif
 202#endif
 203
 204#endif
 205
 206
 207#endif  /* __IBackgroundCopyFile_INTERFACE_DEFINED__ */
 208
 209/*****************************************************************************
 210 * IEnumBackgroundCopyFiles interface
 211 */
 212#ifndef __IEnumBackgroundCopyFiles_INTERFACE_DEFINED__
 213#define __IEnumBackgroundCopyFiles_INTERFACE_DEFINED__
 214
 215DEFINE_GUID(IID_IEnumBackgroundCopyFiles, 0xca51e165, 0xc365, 0x424c, 0x8d,0x41, 0x24,0xaa,0xa4,0xff,0x3c,0x40);
 216#if defined(__cplusplus) && !defined(CINTERFACE)
 217MIDL_INTERFACE("ca51e165-c365-424c-8d41-24aaa4ff3c40")
 218IEnumBackgroundCopyFiles : public IUnknown
 219{
 220    virtual HRESULT STDMETHODCALLTYPE Next(
 221        ULONG celt,
 222        IBackgroundCopyFile **rgelt,
 223        ULONG *pceltFetched) = 0;
 224
 225    virtual HRESULT STDMETHODCALLTYPE Skip(
 226        ULONG celt) = 0;
 227
 228    virtual HRESULT STDMETHODCALLTYPE Reset(
 229        ) = 0;
 230
 231    virtual HRESULT STDMETHODCALLTYPE Clone(
 232        IEnumBackgroundCopyFiles **ppenum) = 0;
 233
 234    virtual HRESULT STDMETHODCALLTYPE GetCount(
 235        ULONG *puCount) = 0;
 236
 237};
 238#ifdef __CRT_UUID_DECL
 239__CRT_UUID_DECL(IEnumBackgroundCopyFiles, 0xca51e165, 0xc365, 0x424c, 0x8d,0x41, 0x24,0xaa,0xa4,0xff,0x3c,0x40)
 240#endif
 241#else
 242typedef struct IEnumBackgroundCopyFilesVtbl {
 243    BEGIN_INTERFACE
 244
 245    /*** IUnknown methods ***/
 246    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 247        IEnumBackgroundCopyFiles *This,
 248        REFIID riid,
 249        void **ppvObject);
 250
 251    ULONG (STDMETHODCALLTYPE *AddRef)(
 252        IEnumBackgroundCopyFiles *This);
 253
 254    ULONG (STDMETHODCALLTYPE *Release)(
 255        IEnumBackgroundCopyFiles *This);
 256
 257    /*** IEnumBackgroundCopyFiles methods ***/
 258    HRESULT (STDMETHODCALLTYPE *Next)(
 259        IEnumBackgroundCopyFiles *This,
 260        ULONG celt,
 261        IBackgroundCopyFile **rgelt,
 262        ULONG *pceltFetched);
 263
 264    HRESULT (STDMETHODCALLTYPE *Skip)(
 265        IEnumBackgroundCopyFiles *This,
 266        ULONG celt);
 267
 268    HRESULT (STDMETHODCALLTYPE *Reset)(
 269        IEnumBackgroundCopyFiles *This);
 270
 271    HRESULT (STDMETHODCALLTYPE *Clone)(
 272        IEnumBackgroundCopyFiles *This,
 273        IEnumBackgroundCopyFiles **ppenum);
 274
 275    HRESULT (STDMETHODCALLTYPE *GetCount)(
 276        IEnumBackgroundCopyFiles *This,
 277        ULONG *puCount);
 278
 279    END_INTERFACE
 280} IEnumBackgroundCopyFilesVtbl;
 281
 282interface IEnumBackgroundCopyFiles {
 283    CONST_VTBL IEnumBackgroundCopyFilesVtbl* lpVtbl;
 284};
 285
 286#ifdef COBJMACROS
 287#ifndef WIDL_C_INLINE_WRAPPERS
 288/*** IUnknown methods ***/
 289#define IEnumBackgroundCopyFiles_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 290#define IEnumBackgroundCopyFiles_AddRef(This) (This)->lpVtbl->AddRef(This)
 291#define IEnumBackgroundCopyFiles_Release(This) (This)->lpVtbl->Release(This)
 292/*** IEnumBackgroundCopyFiles methods ***/
 293#define IEnumBackgroundCopyFiles_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
 294#define IEnumBackgroundCopyFiles_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
 295#define IEnumBackgroundCopyFiles_Reset(This) (This)->lpVtbl->Reset(This)
 296#define IEnumBackgroundCopyFiles_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
 297#define IEnumBackgroundCopyFiles_GetCount(This,puCount) (This)->lpVtbl->GetCount(This,puCount)
 298#else
 299/*** IUnknown methods ***/
 300static inline HRESULT IEnumBackgroundCopyFiles_QueryInterface(IEnumBackgroundCopyFiles* This,REFIID riid,void **ppvObject) {
 301    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 302}
 303static inline ULONG IEnumBackgroundCopyFiles_AddRef(IEnumBackgroundCopyFiles* This) {
 304    return This->lpVtbl->AddRef(This);
 305}
 306static inline ULONG IEnumBackgroundCopyFiles_Release(IEnumBackgroundCopyFiles* This) {
 307    return This->lpVtbl->Release(This);
 308}
 309/*** IEnumBackgroundCopyFiles methods ***/
 310static inline HRESULT IEnumBackgroundCopyFiles_Next(IEnumBackgroundCopyFiles* This,ULONG celt,IBackgroundCopyFile **rgelt,ULONG *pceltFetched) {
 311    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
 312}
 313static inline HRESULT IEnumBackgroundCopyFiles_Skip(IEnumBackgroundCopyFiles* This,ULONG celt) {
 314    return This->lpVtbl->Skip(This,celt);
 315}
 316static inline HRESULT IEnumBackgroundCopyFiles_Reset(IEnumBackgroundCopyFiles* This) {
 317    return This->lpVtbl->Reset(This);
 318}
 319static inline HRESULT IEnumBackgroundCopyFiles_Clone(IEnumBackgroundCopyFiles* This,IEnumBackgroundCopyFiles **ppenum) {
 320    return This->lpVtbl->Clone(This,ppenum);
 321}
 322static inline HRESULT IEnumBackgroundCopyFiles_GetCount(IEnumBackgroundCopyFiles* This,ULONG *puCount) {
 323    return This->lpVtbl->GetCount(This,puCount);
 324}
 325#endif
 326#endif
 327
 328#endif
 329
 330
 331#endif  /* __IEnumBackgroundCopyFiles_INTERFACE_DEFINED__ */
 332
 333/*****************************************************************************
 334 * IBackgroundCopyError interface
 335 */
 336#ifndef __IBackgroundCopyError_INTERFACE_DEFINED__
 337#define __IBackgroundCopyError_INTERFACE_DEFINED__
 338
 339typedef enum __WIDL_bits_generated_name_0000000C {
 340    BG_ERROR_CONTEXT_NONE = 0,
 341    BG_ERROR_CONTEXT_UNKNOWN = 1,
 342    BG_ERROR_CONTEXT_GENERAL_QUEUE_MANAGER = 2,
 343    BG_ERROR_CONTEXT_QUEUE_MANAGER_NOTIFICATION = 3,
 344    BG_ERROR_CONTEXT_LOCAL_FILE = 4,
 345    BG_ERROR_CONTEXT_REMOTE_FILE = 5,
 346    BG_ERROR_CONTEXT_GENERAL_TRANSPORT = 6,
 347    BG_ERROR_CONTEXT_REMOTE_APPLICATION = 7
 348} BG_ERROR_CONTEXT;
 349DEFINE_GUID(IID_IBackgroundCopyError, 0x19c613a0, 0xfcb8, 0x4f28, 0x81,0xae, 0x89,0x7c,0x3d,0x07,0x8f,0x81);
 350#if defined(__cplusplus) && !defined(CINTERFACE)
 351MIDL_INTERFACE("19c613a0-fcb8-4f28-81ae-897c3d078f81")
 352IBackgroundCopyError : public IUnknown
 353{
 354    virtual HRESULT STDMETHODCALLTYPE GetError(
 355        BG_ERROR_CONTEXT *pContext,
 356        HRESULT *pCode) = 0;
 357
 358    virtual HRESULT STDMETHODCALLTYPE GetFile(
 359        IBackgroundCopyFile **pVal) = 0;
 360
 361    virtual HRESULT STDMETHODCALLTYPE GetErrorDescription(
 362        DWORD LanguageId,
 363        LPWSTR *pErrorDescription) = 0;
 364
 365    virtual HRESULT STDMETHODCALLTYPE GetErrorContextDescription(
 366        DWORD LanguageId,
 367        LPWSTR *pContextDescription) = 0;
 368
 369    virtual HRESULT STDMETHODCALLTYPE GetProtocol(
 370        LPWSTR *pProtocol) = 0;
 371
 372};
 373#ifdef __CRT_UUID_DECL
 374__CRT_UUID_DECL(IBackgroundCopyError, 0x19c613a0, 0xfcb8, 0x4f28, 0x81,0xae, 0x89,0x7c,0x3d,0x07,0x8f,0x81)
 375#endif
 376#else
 377typedef struct IBackgroundCopyErrorVtbl {
 378    BEGIN_INTERFACE
 379
 380    /*** IUnknown methods ***/
 381    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 382        IBackgroundCopyError *This,
 383        REFIID riid,
 384        void **ppvObject);
 385
 386    ULONG (STDMETHODCALLTYPE *AddRef)(
 387        IBackgroundCopyError *This);
 388
 389    ULONG (STDMETHODCALLTYPE *Release)(
 390        IBackgroundCopyError *This);
 391
 392    /*** IBackgroundCopyError methods ***/
 393    HRESULT (STDMETHODCALLTYPE *GetError)(
 394        IBackgroundCopyError *This,
 395        BG_ERROR_CONTEXT *pContext,
 396        HRESULT *pCode);
 397
 398    HRESULT (STDMETHODCALLTYPE *GetFile)(
 399        IBackgroundCopyError *This,
 400        IBackgroundCopyFile **pVal);
 401
 402    HRESULT (STDMETHODCALLTYPE *GetErrorDescription)(
 403        IBackgroundCopyError *This,
 404        DWORD LanguageId,
 405        LPWSTR *pErrorDescription);
 406
 407    HRESULT (STDMETHODCALLTYPE *GetErrorContextDescription)(
 408        IBackgroundCopyError *This,
 409        DWORD LanguageId,
 410        LPWSTR *pContextDescription);
 411
 412    HRESULT (STDMETHODCALLTYPE *GetProtocol)(
 413        IBackgroundCopyError *This,
 414        LPWSTR *pProtocol);
 415
 416    END_INTERFACE
 417} IBackgroundCopyErrorVtbl;
 418
 419interface IBackgroundCopyError {
 420    CONST_VTBL IBackgroundCopyErrorVtbl* lpVtbl;
 421};
 422
 423#ifdef COBJMACROS
 424#ifndef WIDL_C_INLINE_WRAPPERS
 425/*** IUnknown methods ***/
 426#define IBackgroundCopyError_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 427#define IBackgroundCopyError_AddRef(This) (This)->lpVtbl->AddRef(This)
 428#define IBackgroundCopyError_Release(This) (This)->lpVtbl->Release(This)
 429/*** IBackgroundCopyError methods ***/
 430#define IBackgroundCopyError_GetError(This,pContext,pCode) (This)->lpVtbl->GetError(This,pContext,pCode)
 431#define IBackgroundCopyError_GetFile(This,pVal) (This)->lpVtbl->GetFile(This,pVal)
 432#define IBackgroundCopyError_GetErrorDescription(This,LanguageId,pErrorDescription) (This)->lpVtbl->GetErrorDescription(This,LanguageId,pErrorDescription)
 433#define IBackgroundCopyError_GetErrorContextDescription(This,LanguageId,pContextDescription) (This)->lpVtbl->GetErrorContextDescription(This,LanguageId,pContextDescription)
 434#define IBackgroundCopyError_GetProtocol(This,pProtocol) (This)->lpVtbl->GetProtocol(This,pProtocol)
 435#else
 436/*** IUnknown methods ***/
 437static inline HRESULT IBackgroundCopyError_QueryInterface(IBackgroundCopyError* This,REFIID riid,void **ppvObject) {
 438    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 439}
 440static inline ULONG IBackgroundCopyError_AddRef(IBackgroundCopyError* This) {
 441    return This->lpVtbl->AddRef(This);
 442}
 443static inline ULONG IBackgroundCopyError_Release(IBackgroundCopyError* This) {
 444    return This->lpVtbl->Release(This);
 445}
 446/*** IBackgroundCopyError methods ***/
 447static inline HRESULT IBackgroundCopyError_GetError(IBackgroundCopyError* This,BG_ERROR_CONTEXT *pContext,HRESULT *pCode) {
 448    return This->lpVtbl->GetError(This,pContext,pCode);
 449}
 450static inline HRESULT IBackgroundCopyError_GetFile(IBackgroundCopyError* This,IBackgroundCopyFile **pVal) {
 451    return This->lpVtbl->GetFile(This,pVal);
 452}
 453static inline HRESULT IBackgroundCopyError_GetErrorDescription(IBackgroundCopyError* This,DWORD LanguageId,LPWSTR *pErrorDescription) {
 454    return This->lpVtbl->GetErrorDescription(This,LanguageId,pErrorDescription);
 455}
 456static inline HRESULT IBackgroundCopyError_GetErrorContextDescription(IBackgroundCopyError* This,DWORD LanguageId,LPWSTR *pContextDescription) {
 457    return This->lpVtbl->GetErrorContextDescription(This,LanguageId,pContextDescription);
 458}
 459static inline HRESULT IBackgroundCopyError_GetProtocol(IBackgroundCopyError* This,LPWSTR *pProtocol) {
 460    return This->lpVtbl->GetProtocol(This,pProtocol);
 461}
 462#endif
 463#endif
 464
 465#endif
 466
 467
 468#endif  /* __IBackgroundCopyError_INTERFACE_DEFINED__ */
 469
 470/*****************************************************************************
 471 * IBackgroundCopyJob interface
 472 */
 473#ifndef __IBackgroundCopyJob_INTERFACE_DEFINED__
 474#define __IBackgroundCopyJob_INTERFACE_DEFINED__
 475
 476typedef struct _BG_FILE_INFO {
 477    LPWSTR RemoteName;
 478    LPWSTR LocalName;
 479} BG_FILE_INFO;
 480typedef struct _BG_JOB_PROGRESS {
 481    UINT64 BytesTotal;
 482    UINT64 BytesTransferred;
 483    ULONG FilesTotal;
 484    ULONG FilesTransferred;
 485} BG_JOB_PROGRESS;
 486typedef struct _BG_JOB_TIMES {
 487    FILETIME CreationTime;
 488    FILETIME ModificationTime;
 489    FILETIME TransferCompletionTime;
 490} BG_JOB_TIMES;
 491typedef enum __WIDL_bits_generated_name_0000000D {
 492    BG_JOB_PRIORITY_FOREGROUND = 0,
 493    BG_JOB_PRIORITY_HIGH = 1,
 494    BG_JOB_PRIORITY_NORMAL = 2,
 495    BG_JOB_PRIORITY_LOW = 3
 496} BG_JOB_PRIORITY;
 497typedef enum __WIDL_bits_generated_name_0000000E {
 498    BG_JOB_STATE_QUEUED = 0,
 499    BG_JOB_STATE_CONNECTING = 1,
 500    BG_JOB_STATE_TRANSFERRING = 2,
 501    BG_JOB_STATE_SUSPENDED = 3,
 502    BG_JOB_STATE_ERROR = 4,
 503    BG_JOB_STATE_TRANSIENT_ERROR = 5,
 504    BG_JOB_STATE_TRANSFERRED = 6,
 505    BG_JOB_STATE_ACKNOWLEDGED = 7,
 506    BG_JOB_STATE_CANCELLED = 8
 507} BG_JOB_STATE;
 508typedef enum __WIDL_bits_generated_name_0000000F {
 509    BG_JOB_TYPE_DOWNLOAD = 0,
 510    BG_JOB_TYPE_UPLOAD = 1,
 511    BG_JOB_TYPE_UPLOAD_REPLY = 2
 512} BG_JOB_TYPE;
 513typedef enum __WIDL_bits_generated_name_00000010 {
 514    BG_JOB_PROXY_USAGE_PRECONFIG = 0,
 515    BG_JOB_PROXY_USAGE_NO_PROXY = 1,
 516    BG_JOB_PROXY_USAGE_OVERRIDE = 2,
 517    BG_JOB_PROXY_USAGE_AUTODETECT = 3
 518} BG_JOB_PROXY_USAGE;
 519DEFINE_GUID(IID_IBackgroundCopyJob, 0x37668d37, 0x507e, 0x4160, 0x93,0x16, 0x26,0x30,0x6d,0x15,0x0b,0x12);
 520#if defined(__cplusplus) && !defined(CINTERFACE)
 521MIDL_INTERFACE("37668d37-507e-4160-9316-26306d150b12")
 522IBackgroundCopyJob : public IUnknown
 523{
 524    virtual HRESULT STDMETHODCALLTYPE AddFileSet(
 525        ULONG cFileCount,
 526        BG_FILE_INFO *pFileSet) = 0;
 527
 528    virtual HRESULT STDMETHODCALLTYPE AddFile(
 529        LPCWSTR RemoteUrl,
 530        LPCWSTR LocalName) = 0;
 531
 532    virtual HRESULT STDMETHODCALLTYPE EnumFiles(
 533        IEnumBackgroundCopyFiles **pEnum) = 0;
 534
 535    virtual HRESULT STDMETHODCALLTYPE Suspend(
 536        ) = 0;
 537
 538    virtual HRESULT STDMETHODCALLTYPE Resume(
 539        ) = 0;
 540
 541    virtual HRESULT STDMETHODCALLTYPE Cancel(
 542        ) = 0;
 543
 544    virtual HRESULT STDMETHODCALLTYPE Complete(
 545        ) = 0;
 546
 547    virtual HRESULT STDMETHODCALLTYPE GetId(
 548        GUID *pVal) = 0;
 549
 550    virtual HRESULT STDMETHODCALLTYPE GetType(
 551        BG_JOB_TYPE *pVal) = 0;
 552
 553    virtual HRESULT STDMETHODCALLTYPE GetProgress(
 554        BG_JOB_PROGRESS *pVal) = 0;
 555
 556    virtual HRESULT STDMETHODCALLTYPE GetTimes(
 557        BG_JOB_TIMES *pVal) = 0;
 558
 559    virtual HRESULT STDMETHODCALLTYPE GetState(
 560        BG_JOB_STATE *pVal) = 0;
 561
 562    virtual HRESULT STDMETHODCALLTYPE GetError(
 563        IBackgroundCopyError **ppError) = 0;
 564
 565    virtual HRESULT STDMETHODCALLTYPE GetOwner(
 566        LPWSTR *pVal) = 0;
 567
 568    virtual HRESULT STDMETHODCALLTYPE SetDisplayName(
 569        LPCWSTR Val) = 0;
 570
 571    virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
 572        LPWSTR *pVal) = 0;
 573
 574    virtual HRESULT STDMETHODCALLTYPE SetDescription(
 575        LPCWSTR Val) = 0;
 576
 577    virtual HRESULT STDMETHODCALLTYPE GetDescription(
 578        LPWSTR *pVal) = 0;
 579
 580    virtual HRESULT STDMETHODCALLTYPE SetPriority(
 581        BG_JOB_PRIORITY Val) = 0;
 582
 583    virtual HRESULT STDMETHODCALLTYPE GetPriority(
 584        BG_JOB_PRIORITY *pVal) = 0;
 585
 586    virtual HRESULT STDMETHODCALLTYPE SetNotifyFlags(
 587        ULONG Val) = 0;
 588
 589    virtual HRESULT STDMETHODCALLTYPE GetNotifyFlags(
 590        ULONG *pVal) = 0;
 591
 592    virtual HRESULT STDMETHODCALLTYPE SetNotifyInterface(
 593        IUnknown *Val) = 0;
 594
 595    virtual HRESULT STDMETHODCALLTYPE GetNotifyInterface(
 596        IUnknown **pVal) = 0;
 597
 598    virtual HRESULT STDMETHODCALLTYPE SetMinimumRetryDelay(
 599        ULONG Seconds) = 0;
 600
 601    virtual HRESULT STDMETHODCALLTYPE GetMinimumRetryDelay(
 602        ULONG *Seconds) = 0;
 603
 604    virtual HRESULT STDMETHODCALLTYPE SetNoProgressTimeout(
 605        ULONG Seconds) = 0;
 606
 607    virtual HRESULT STDMETHODCALLTYPE GetNoProgressTimeout(
 608        ULONG *Seconds) = 0;
 609
 610    virtual HRESULT STDMETHODCALLTYPE GetErrorCount(
 611        ULONG *Errors) = 0;
 612
 613    virtual HRESULT STDMETHODCALLTYPE SetProxySettings(
 614        BG_JOB_PROXY_USAGE ProxyUsage,
 615        const WCHAR *ProxyList,
 616        const WCHAR *ProxyBypassList) = 0;
 617
 618    virtual HRESULT STDMETHODCALLTYPE GetProxySettings(
 619        BG_JOB_PROXY_USAGE *pProxyUsage,
 620        LPWSTR *pProxyList,
 621        LPWSTR *pProxyBypassList) = 0;
 622
 623    virtual HRESULT STDMETHODCALLTYPE TakeOwnership(
 624        ) = 0;
 625
 626};
 627#ifdef __CRT_UUID_DECL
 628__CRT_UUID_DECL(IBackgroundCopyJob, 0x37668d37, 0x507e, 0x4160, 0x93,0x16, 0x26,0x30,0x6d,0x15,0x0b,0x12)
 629#endif
 630#else
 631typedef struct IBackgroundCopyJobVtbl {
 632    BEGIN_INTERFACE
 633
 634    /*** IUnknown methods ***/
 635    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 636        IBackgroundCopyJob *This,
 637        REFIID riid,
 638        void **ppvObject);
 639
 640    ULONG (STDMETHODCALLTYPE *AddRef)(
 641        IBackgroundCopyJob *This);
 642
 643    ULONG (STDMETHODCALLTYPE *Release)(
 644        IBackgroundCopyJob *This);
 645
 646    /*** IBackgroundCopyJob methods ***/
 647    HRESULT (STDMETHODCALLTYPE *AddFileSet)(
 648        IBackgroundCopyJob *This,
 649        ULONG cFileCount,
 650        BG_FILE_INFO *pFileSet);
 651
 652    HRESULT (STDMETHODCALLTYPE *AddFile)(
 653        IBackgroundCopyJob *This,
 654        LPCWSTR RemoteUrl,
 655        LPCWSTR LocalName);
 656
 657    HRESULT (STDMETHODCALLTYPE *EnumFiles)(
 658        IBackgroundCopyJob *This,
 659        IEnumBackgroundCopyFiles **pEnum);
 660
 661    HRESULT (STDMETHODCALLTYPE *Suspend)(
 662        IBackgroundCopyJob *This);
 663
 664    HRESULT (STDMETHODCALLTYPE *Resume)(
 665        IBackgroundCopyJob *This);
 666
 667    HRESULT (STDMETHODCALLTYPE *Cancel)(
 668        IBackgroundCopyJob *This);
 669
 670    HRESULT (STDMETHODCALLTYPE *Complete)(
 671        IBackgroundCopyJob *This);
 672
 673    HRESULT (STDMETHODCALLTYPE *GetId)(
 674        IBackgroundCopyJob *This,
 675        GUID *pVal);
 676
 677    HRESULT (STDMETHODCALLTYPE *GetType)(
 678        IBackgroundCopyJob *This,
 679        BG_JOB_TYPE *pVal);
 680
 681    HRESULT (STDMETHODCALLTYPE *GetProgress)(
 682        IBackgroundCopyJob *This,
 683        BG_JOB_PROGRESS *pVal);
 684
 685    HRESULT (STDMETHODCALLTYPE *GetTimes)(
 686        IBackgroundCopyJob *This,
 687        BG_JOB_TIMES *pVal);
 688
 689    HRESULT (STDMETHODCALLTYPE *GetState)(
 690        IBackgroundCopyJob *This,
 691        BG_JOB_STATE *pVal);
 692
 693    HRESULT (STDMETHODCALLTYPE *GetError)(
 694        IBackgroundCopyJob *This,
 695        IBackgroundCopyError **ppError);
 696
 697    HRESULT (STDMETHODCALLTYPE *GetOwner)(
 698        IBackgroundCopyJob *This,
 699        LPWSTR *pVal);
 700
 701    HRESULT (STDMETHODCALLTYPE *SetDisplayName)(
 702        IBackgroundCopyJob *This,
 703        LPCWSTR Val);
 704
 705    HRESULT (STDMETHODCALLTYPE *GetDisplayName)(
 706        IBackgroundCopyJob *This,
 707        LPWSTR *pVal);
 708
 709    HRESULT (STDMETHODCALLTYPE *SetDescription)(
 710        IBackgroundCopyJob *This,
 711        LPCWSTR Val);
 712
 713    HRESULT (STDMETHODCALLTYPE *GetDescription)(
 714        IBackgroundCopyJob *This,
 715        LPWSTR *pVal);
 716
 717    HRESULT (STDMETHODCALLTYPE *SetPriority)(
 718        IBackgroundCopyJob *This,
 719        BG_JOB_PRIORITY Val);
 720
 721    HRESULT (STDMETHODCALLTYPE *GetPriority)(
 722        IBackgroundCopyJob *This,
 723        BG_JOB_PRIORITY *pVal);
 724
 725    HRESULT (STDMETHODCALLTYPE *SetNotifyFlags)(
 726        IBackgroundCopyJob *This,
 727        ULONG Val);
 728
 729    HRESULT (STDMETHODCALLTYPE *GetNotifyFlags)(
 730        IBackgroundCopyJob *This,
 731        ULONG *pVal);
 732
 733    HRESULT (STDMETHODCALLTYPE *SetNotifyInterface)(
 734        IBackgroundCopyJob *This,
 735        IUnknown *Val);
 736
 737    HRESULT (STDMETHODCALLTYPE *GetNotifyInterface)(
 738        IBackgroundCopyJob *This,
 739        IUnknown **pVal);
 740
 741    HRESULT (STDMETHODCALLTYPE *SetMinimumRetryDelay)(
 742        IBackgroundCopyJob *This,
 743        ULONG Seconds);
 744
 745    HRESULT (STDMETHODCALLTYPE *GetMinimumRetryDelay)(
 746        IBackgroundCopyJob *This,
 747        ULONG *Seconds);
 748
 749    HRESULT (STDMETHODCALLTYPE *SetNoProgressTimeout)(
 750        IBackgroundCopyJob *This,
 751        ULONG Seconds);
 752
 753    HRESULT (STDMETHODCALLTYPE *GetNoProgressTimeout)(
 754        IBackgroundCopyJob *This,
 755        ULONG *Seconds);
 756
 757    HRESULT (STDMETHODCALLTYPE *GetErrorCount)(
 758        IBackgroundCopyJob *This,
 759        ULONG *Errors);
 760
 761    HRESULT (STDMETHODCALLTYPE *SetProxySettings)(
 762        IBackgroundCopyJob *This,
 763        BG_JOB_PROXY_USAGE ProxyUsage,
 764        const WCHAR *ProxyList,
 765        const WCHAR *ProxyBypassList);
 766
 767    HRESULT (STDMETHODCALLTYPE *GetProxySettings)(
 768        IBackgroundCopyJob *This,
 769        BG_JOB_PROXY_USAGE *pProxyUsage,
 770        LPWSTR *pProxyList,
 771        LPWSTR *pProxyBypassList);
 772
 773    HRESULT (STDMETHODCALLTYPE *TakeOwnership)(
 774        IBackgroundCopyJob *This);
 775
 776    END_INTERFACE
 777} IBackgroundCopyJobVtbl;
 778
 779interface IBackgroundCopyJob {
 780    CONST_VTBL IBackgroundCopyJobVtbl* lpVtbl;
 781};
 782
 783#ifdef COBJMACROS
 784#ifndef WIDL_C_INLINE_WRAPPERS
 785/*** IUnknown methods ***/
 786#define IBackgroundCopyJob_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 787#define IBackgroundCopyJob_AddRef(This) (This)->lpVtbl->AddRef(This)
 788#define IBackgroundCopyJob_Release(This) (This)->lpVtbl->Release(This)
 789/*** IBackgroundCopyJob methods ***/
 790#define IBackgroundCopyJob_AddFileSet(This,cFileCount,pFileSet) (This)->lpVtbl->AddFileSet(This,cFileCount,pFileSet)
 791#define IBackgroundCopyJob_AddFile(This,RemoteUrl,LocalName) (This)->lpVtbl->AddFile(This,RemoteUrl,LocalName)
 792#define IBackgroundCopyJob_EnumFiles(This,pEnum) (This)->lpVtbl->EnumFiles(This,pEnum)
 793#define IBackgroundCopyJob_Suspend(This) (This)->lpVtbl->Suspend(This)
 794#define IBackgroundCopyJob_Resume(This) (This)->lpVtbl->Resume(This)
 795#define IBackgroundCopyJob_Cancel(This) (This)->lpVtbl->Cancel(This)
 796#define IBackgroundCopyJob_Complete(This) (This)->lpVtbl->Complete(This)
 797#define IBackgroundCopyJob_GetId(This,pVal) (This)->lpVtbl->GetId(This,pVal)
 798#define IBackgroundCopyJob_GetType(This,pVal) (This)->lpVtbl->GetType(This,pVal)
 799#define IBackgroundCopyJob_GetProgress(This,pVal) (This)->lpVtbl->GetProgress(This,pVal)
 800#define IBackgroundCopyJob_GetTimes(This,pVal) (This)->lpVtbl->GetTimes(This,pVal)
 801#define IBackgroundCopyJob_GetState(This,pVal) (This)->lpVtbl->GetState(This,pVal)
 802#define IBackgroundCopyJob_GetError(This,ppError) (This)->lpVtbl->GetError(This,ppError)
 803#define IBackgroundCopyJob_GetOwner(This,pVal) (This)->lpVtbl->GetOwner(This,pVal)
 804#define IBackgroundCopyJob_SetDisplayName(This,Val) (This)->lpVtbl->SetDisplayName(This,Val)
 805#define IBackgroundCopyJob_GetDisplayName(This,pVal) (This)->lpVtbl->GetDisplayName(This,pVal)
 806#define IBackgroundCopyJob_SetDescription(This,Val) (This)->lpVtbl->SetDescription(This,Val)
 807#define IBackgroundCopyJob_GetDescription(This,pVal) (This)->lpVtbl->GetDescription(This,pVal)
 808#define IBackgroundCopyJob_SetPriority(This,Val) (This)->lpVtbl->SetPriority(This,Val)
 809#define IBackgroundCopyJob_GetPriority(This,pVal) (This)->lpVtbl->GetPriority(This,pVal)
 810#define IBackgroundCopyJob_SetNotifyFlags(This,Val) (This)->lpVtbl->SetNotifyFlags(This,Val)
 811#define IBackgroundCopyJob_GetNotifyFlags(This,pVal) (This)->lpVtbl->GetNotifyFlags(This,pVal)
 812#define IBackgroundCopyJob_SetNotifyInterface(This,Val) (This)->lpVtbl->SetNotifyInterface(This,Val)
 813#define IBackgroundCopyJob_GetNotifyInterface(This,pVal) (This)->lpVtbl->GetNotifyInterface(This,pVal)
 814#define IBackgroundCopyJob_SetMinimumRetryDelay(This,Seconds) (This)->lpVtbl->SetMinimumRetryDelay(This,Seconds)
 815#define IBackgroundCopyJob_GetMinimumRetryDelay(This,Seconds) (This)->lpVtbl->GetMinimumRetryDelay(This,Seconds)
 816#define IBackgroundCopyJob_SetNoProgressTimeout(This,Seconds) (This)->lpVtbl->SetNoProgressTimeout(This,Seconds)
 817#define IBackgroundCopyJob_GetNoProgressTimeout(This,Seconds) (This)->lpVtbl->GetNoProgressTimeout(This,Seconds)
 818#define IBackgroundCopyJob_GetErrorCount(This,Errors) (This)->lpVtbl->GetErrorCount(This,Errors)
 819#define IBackgroundCopyJob_SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList) (This)->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList)
 820#define IBackgroundCopyJob_GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList) (This)->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList)
 821#define IBackgroundCopyJob_TakeOwnership(This) (This)->lpVtbl->TakeOwnership(This)
 822#else
 823/*** IUnknown methods ***/
 824static inline HRESULT IBackgroundCopyJob_QueryInterface(IBackgroundCopyJob* This,REFIID riid,void **ppvObject) {
 825    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 826}
 827static inline ULONG IBackgroundCopyJob_AddRef(IBackgroundCopyJob* This) {
 828    return This->lpVtbl->AddRef(This);
 829}
 830static inline ULONG IBackgroundCopyJob_Release(IBackgroundCopyJob* This) {
 831    return This->lpVtbl->Release(This);
 832}
 833/*** IBackgroundCopyJob methods ***/
 834static inline HRESULT IBackgroundCopyJob_AddFileSet(IBackgroundCopyJob* This,ULONG cFileCount,BG_FILE_INFO *pFileSet) {
 835    return This->lpVtbl->AddFileSet(This,cFileCount,pFileSet);
 836}
 837static inline HRESULT IBackgroundCopyJob_AddFile(IBackgroundCopyJob* This,LPCWSTR RemoteUrl,LPCWSTR LocalName) {
 838    return This->lpVtbl->AddFile(This,RemoteUrl,LocalName);
 839}
 840static inline HRESULT IBackgroundCopyJob_EnumFiles(IBackgroundCopyJob* This,IEnumBackgroundCopyFiles **pEnum) {
 841    return This->lpVtbl->EnumFiles(This,pEnum);
 842}
 843static inline HRESULT IBackgroundCopyJob_Suspend(IBackgroundCopyJob* This) {
 844    return This->lpVtbl->Suspend(This);
 845}
 846static inline HRESULT IBackgroundCopyJob_Resume(IBackgroundCopyJob* This) {
 847    return This->lpVtbl->Resume(This);
 848}
 849static inline HRESULT IBackgroundCopyJob_Cancel(IBackgroundCopyJob* This) {
 850    return This->lpVtbl->Cancel(This);
 851}
 852static inline HRESULT IBackgroundCopyJob_Complete(IBackgroundCopyJob* This) {
 853    return This->lpVtbl->Complete(This);
 854}
 855static inline HRESULT IBackgroundCopyJob_GetId(IBackgroundCopyJob* This,GUID *pVal) {
 856    return This->lpVtbl->GetId(This,pVal);
 857}
 858static inline HRESULT IBackgroundCopyJob_GetType(IBackgroundCopyJob* This,BG_JOB_TYPE *pVal) {
 859    return This->lpVtbl->GetType(This,pVal);
 860}
 861static inline HRESULT IBackgroundCopyJob_GetProgress(IBackgroundCopyJob* This,BG_JOB_PROGRESS *pVal) {
 862    return This->lpVtbl->GetProgress(This,pVal);
 863}
 864static inline HRESULT IBackgroundCopyJob_GetTimes(IBackgroundCopyJob* This,BG_JOB_TIMES *pVal) {
 865    return This->lpVtbl->GetTimes(This,pVal);
 866}
 867static inline HRESULT IBackgroundCopyJob_GetState(IBackgroundCopyJob* This,BG_JOB_STATE *pVal) {
 868    return This->lpVtbl->GetState(This,pVal);
 869}
 870static inline HRESULT IBackgroundCopyJob_GetError(IBackgroundCopyJob* This,IBackgroundCopyError **ppError) {
 871    return This->lpVtbl->GetError(This,ppError);
 872}
 873static inline HRESULT IBackgroundCopyJob_GetOwner(IBackgroundCopyJob* This,LPWSTR *pVal) {
 874    return This->lpVtbl->GetOwner(This,pVal);
 875}
 876static inline HRESULT IBackgroundCopyJob_SetDisplayName(IBackgroundCopyJob* This,LPCWSTR Val) {
 877    return This->lpVtbl->SetDisplayName(This,Val);
 878}
 879static inline HRESULT IBackgroundCopyJob_GetDisplayName(IBackgroundCopyJob* This,LPWSTR *pVal) {
 880    return This->lpVtbl->GetDisplayName(This,pVal);
 881}
 882static inline HRESULT IBackgroundCopyJob_SetDescription(IBackgroundCopyJob* This,LPCWSTR Val) {
 883    return This->lpVtbl->SetDescription(This,Val);
 884}
 885static inline HRESULT IBackgroundCopyJob_GetDescription(IBackgroundCopyJob* This,LPWSTR *pVal) {
 886    return This->lpVtbl->GetDescription(This,pVal);
 887}
 888static inline HRESULT IBackgroundCopyJob_SetPriority(IBackgroundCopyJob* This,BG_JOB_PRIORITY Val) {
 889    return This->lpVtbl->SetPriority(This,Val);
 890}
 891static inline HRESULT IBackgroundCopyJob_GetPriority(IBackgroundCopyJob* This,BG_JOB_PRIORITY *pVal) {
 892    return This->lpVtbl->GetPriority(This,pVal);
 893}
 894static inline HRESULT IBackgroundCopyJob_SetNotifyFlags(IBackgroundCopyJob* This,ULONG Val) {
 895    return This->lpVtbl->SetNotifyFlags(This,Val);
 896}
 897static inline HRESULT IBackgroundCopyJob_GetNotifyFlags(IBackgroundCopyJob* This,ULONG *pVal) {
 898    return This->lpVtbl->GetNotifyFlags(This,pVal);
 899}
 900static inline HRESULT IBackgroundCopyJob_SetNotifyInterface(IBackgroundCopyJob* This,IUnknown *Val) {
 901    return This->lpVtbl->SetNotifyInterface(This,Val);
 902}
 903static inline HRESULT IBackgroundCopyJob_GetNotifyInterface(IBackgroundCopyJob* This,IUnknown **pVal) {
 904    return This->lpVtbl->GetNotifyInterface(This,pVal);
 905}
 906static inline HRESULT IBackgroundCopyJob_SetMinimumRetryDelay(IBackgroundCopyJob* This,ULONG Seconds) {
 907    return This->lpVtbl->SetMinimumRetryDelay(This,Seconds);
 908}
 909static inline HRESULT IBackgroundCopyJob_GetMinimumRetryDelay(IBackgroundCopyJob* This,ULONG *Seconds) {
 910    return This->lpVtbl->GetMinimumRetryDelay(This,Seconds);
 911}
 912static inline HRESULT IBackgroundCopyJob_SetNoProgressTimeout(IBackgroundCopyJob* This,ULONG Seconds) {
 913    return This->lpVtbl->SetNoProgressTimeout(This,Seconds);
 914}
 915static inline HRESULT IBackgroundCopyJob_GetNoProgressTimeout(IBackgroundCopyJob* This,ULONG *Seconds) {
 916    return This->lpVtbl->GetNoProgressTimeout(This,Seconds);
 917}
 918static inline HRESULT IBackgroundCopyJob_GetErrorCount(IBackgroundCopyJob* This,ULONG *Errors) {
 919    return This->lpVtbl->GetErrorCount(This,Errors);
 920}
 921static inline HRESULT IBackgroundCopyJob_SetProxySettings(IBackgroundCopyJob* This,BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList) {
 922    return This->lpVtbl->SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList);
 923}
 924static inline HRESULT IBackgroundCopyJob_GetProxySettings(IBackgroundCopyJob* This,BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList) {
 925    return This->lpVtbl->GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList);
 926}
 927static inline HRESULT IBackgroundCopyJob_TakeOwnership(IBackgroundCopyJob* This) {
 928    return This->lpVtbl->TakeOwnership(This);
 929}
 930#endif
 931#endif
 932
 933#endif
 934
 935
 936#endif  /* __IBackgroundCopyJob_INTERFACE_DEFINED__ */
 937
 938/*****************************************************************************
 939 * IEnumBackgroundCopyJobs interface
 940 */
 941#ifndef __IEnumBackgroundCopyJobs_INTERFACE_DEFINED__
 942#define __IEnumBackgroundCopyJobs_INTERFACE_DEFINED__
 943
 944DEFINE_GUID(IID_IEnumBackgroundCopyJobs, 0x1af4f612, 0x3b71, 0x466f, 0x8f,0x58, 0x7b,0x6f,0x73,0xac,0x57,0xad);
 945#if defined(__cplusplus) && !defined(CINTERFACE)
 946MIDL_INTERFACE("1af4f612-3b71-466f-8f58-7b6f73ac57ad")
 947IEnumBackgroundCopyJobs : public IUnknown
 948{
 949    virtual HRESULT STDMETHODCALLTYPE Next(
 950        ULONG celt,
 951        IBackgroundCopyJob **rgelt,
 952        ULONG *pceltFetched) = 0;
 953
 954    virtual HRESULT STDMETHODCALLTYPE Skip(
 955        ULONG celt) = 0;
 956
 957    virtual HRESULT STDMETHODCALLTYPE Reset(
 958        ) = 0;
 959
 960    virtual HRESULT STDMETHODCALLTYPE Clone(
 961        IEnumBackgroundCopyJobs **ppenum) = 0;
 962
 963    virtual HRESULT STDMETHODCALLTYPE GetCount(
 964        ULONG *puCount) = 0;
 965
 966};
 967#ifdef __CRT_UUID_DECL
 968__CRT_UUID_DECL(IEnumBackgroundCopyJobs, 0x1af4f612, 0x3b71, 0x466f, 0x8f,0x58, 0x7b,0x6f,0x73,0xac,0x57,0xad)
 969#endif
 970#else
 971typedef struct IEnumBackgroundCopyJobsVtbl {
 972    BEGIN_INTERFACE
 973
 974    /*** IUnknown methods ***/
 975    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 976        IEnumBackgroundCopyJobs *This,
 977        REFIID riid,
 978        void **ppvObject);
 979
 980    ULONG (STDMETHODCALLTYPE *AddRef)(
 981        IEnumBackgroundCopyJobs *This);
 982
 983    ULONG (STDMETHODCALLTYPE *Release)(
 984        IEnumBackgroundCopyJobs *This);
 985
 986    /*** IEnumBackgroundCopyJobs methods ***/
 987    HRESULT (STDMETHODCALLTYPE *Next)(
 988        IEnumBackgroundCopyJobs *This,
 989        ULONG celt,
 990        IBackgroundCopyJob **rgelt,
 991        ULONG *pceltFetched);
 992
 993    HRESULT (STDMETHODCALLTYPE *Skip)(
 994        IEnumBackgroundCopyJobs *This,
 995        ULONG celt);
 996
 997    HRESULT (STDMETHODCALLTYPE *Reset)(
 998        IEnumBackgroundCopyJobs *This);
 999
1000    HRESULT (STDMETHODCALLTYPE *Clone)(
1001        IEnumBackgroundCopyJobs *This,
1002        IEnumBackgroundCopyJobs **ppenum);
1003
1004    HRESULT (STDMETHODCALLTYPE *GetCount)(
1005        IEnumBackgroundCopyJobs *This,
1006        ULONG *puCount);
1007
1008    END_INTERFACE
1009} IEnumBackgroundCopyJobsVtbl;
1010
1011interface IEnumBackgroundCopyJobs {
1012    CONST_VTBL IEnumBackgroundCopyJobsVtbl* lpVtbl;
1013};
1014
1015#ifdef COBJMACROS
1016#ifndef WIDL_C_INLINE_WRAPPERS
1017/*** IUnknown methods ***/
1018#define IEnumBackgroundCopyJobs_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1019#define IEnumBackgroundCopyJobs_AddRef(This) (This)->lpVtbl->AddRef(This)
1020#define IEnumBackgroundCopyJobs_Release(This) (This)->lpVtbl->Release(This)
1021/*** IEnumBackgroundCopyJobs methods ***/
1022#define IEnumBackgroundCopyJobs_Next(This,celt,rgelt,pceltFetched) (This)->lpVtbl->Next(This,celt,rgelt,pceltFetched)
1023#define IEnumBackgroundCopyJobs_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
1024#define IEnumBackgroundCopyJobs_Reset(This) (This)->lpVtbl->Reset(This)
1025#define IEnumBackgroundCopyJobs_Clone(This,ppenum) (This)->lpVtbl->Clone(This,ppenum)
1026#define IEnumBackgroundCopyJobs_GetCount(This,puCount) (This)->lpVtbl->GetCount(This,puCount)
1027#else
1028/*** IUnknown methods ***/
1029static inline HRESULT IEnumBackgroundCopyJobs_QueryInterface(IEnumBackgroundCopyJobs* This,REFIID riid,void **ppvObject) {
1030    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1031}
1032static inline ULONG IEnumBackgroundCopyJobs_AddRef(IEnumBackgroundCopyJobs* This) {
1033    return This->lpVtbl->AddRef(This);
1034}
1035static inline ULONG IEnumBackgroundCopyJobs_Release(IEnumBackgroundCopyJobs* This) {
1036    return This->lpVtbl->Release(This);
1037}
1038/*** IEnumBackgroundCopyJobs methods ***/
1039static inline HRESULT IEnumBackgroundCopyJobs_Next(IEnumBackgroundCopyJobs* This,ULONG celt,IBackgroundCopyJob **rgelt,ULONG *pceltFetched) {
1040    return This->lpVtbl->Next(This,celt,rgelt,pceltFetched);
1041}
1042static inline HRESULT IEnumBackgroundCopyJobs_Skip(IEnumBackgroundCopyJobs* This,ULONG celt) {
1043    return This->lpVtbl->Skip(This,celt);
1044}
1045static inline HRESULT IEnumBackgroundCopyJobs_Reset(IEnumBackgroundCopyJobs* This) {
1046    return This->lpVtbl->Reset(This);
1047}
1048static inline HRESULT IEnumBackgroundCopyJobs_Clone(IEnumBackgroundCopyJobs* This,IEnumBackgroundCopyJobs **ppenum) {
1049    return This->lpVtbl->Clone(This,ppenum);
1050}
1051static inline HRESULT IEnumBackgroundCopyJobs_GetCount(IEnumBackgroundCopyJobs* This,ULONG *puCount) {
1052    return This->lpVtbl->GetCount(This,puCount);
1053}
1054#endif
1055#endif
1056
1057#endif
1058
1059
1060#endif  /* __IEnumBackgroundCopyJobs_INTERFACE_DEFINED__ */
1061
1062/*****************************************************************************
1063 * IBackgroundCopyCallback interface
1064 */
1065#ifndef __IBackgroundCopyCallback_INTERFACE_DEFINED__
1066#define __IBackgroundCopyCallback_INTERFACE_DEFINED__
1067
1068DEFINE_GUID(IID_IBackgroundCopyCallback, 0x97ea99c7, 0x0186, 0x4ad4, 0x8d,0xf9, 0xc5,0xb4,0xe0,0xed,0x6b,0x22);
1069#if defined(__cplusplus) && !defined(CINTERFACE)
1070MIDL_INTERFACE("97ea99c7-0186-4ad4-8df9-c5b4e0ed6b22")
1071IBackgroundCopyCallback : public IUnknown
1072{
1073    virtual HRESULT STDMETHODCALLTYPE JobTransferred(
1074        IBackgroundCopyJob *pJob) = 0;
1075
1076    virtual HRESULT STDMETHODCALLTYPE JobError(
1077        IBackgroundCopyJob *pJob,
1078        IBackgroundCopyError *pError) = 0;
1079
1080    virtual HRESULT STDMETHODCALLTYPE JobModification(
1081        IBackgroundCopyJob *pJob,
1082        DWORD dwReserved) = 0;
1083
1084};
1085#ifdef __CRT_UUID_DECL
1086__CRT_UUID_DECL(IBackgroundCopyCallback, 0x97ea99c7, 0x0186, 0x4ad4, 0x8d,0xf9, 0xc5,0xb4,0xe0,0xed,0x6b,0x22)
1087#endif
1088#else
1089typedef struct IBackgroundCopyCallbackVtbl {
1090    BEGIN_INTERFACE
1091
1092    /*** IUnknown methods ***/
1093    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1094        IBackgroundCopyCallback *This,
1095        REFIID riid,
1096        void **ppvObject);
1097
1098    ULONG (STDMETHODCALLTYPE *AddRef)(
1099        IBackgroundCopyCallback *This);
1100
1101    ULONG (STDMETHODCALLTYPE *Release)(
1102        IBackgroundCopyCallback *This);
1103
1104    /*** IBackgroundCopyCallback methods ***/
1105    HRESULT (STDMETHODCALLTYPE *JobTransferred)(
1106        IBackgroundCopyCallback *This,
1107        IBackgroundCopyJob *pJob);
1108
1109    HRESULT (STDMETHODCALLTYPE *JobError)(
1110        IBackgroundCopyCallback *This,
1111        IBackgroundCopyJob *pJob,
1112        IBackgroundCopyError *pError);
1113
1114    HRESULT (STDMETHODCALLTYPE *JobModification)(
1115        IBackgroundCopyCallback *This,
1116        IBackgroundCopyJob *pJob,
1117        DWORD dwReserved);
1118
1119    END_INTERFACE
1120} IBackgroundCopyCallbackVtbl;
1121
1122interface IBackgroundCopyCallback {
1123    CONST_VTBL IBackgroundCopyCallbackVtbl* lpVtbl;
1124};
1125
1126#ifdef COBJMACROS
1127#ifndef WIDL_C_INLINE_WRAPPERS
1128/*** IUnknown methods ***/
1129#define IBackgroundCopyCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1130#define IBackgroundCopyCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
1131#define IBackgroundCopyCallback_Release(This) (This)->lpVtbl->Release(This)
1132/*** IBackgroundCopyCallback methods ***/
1133#define IBackgroundCopyCallback_JobTransferred(This,pJob) (This)->lpVtbl->JobTransferred(This,pJob)
1134#define IBackgroundCopyCallback_JobError(This,pJob,pError) (This)->lpVtbl->JobError(This,pJob,pError)
1135#define IBackgroundCopyCallback_JobModification(This,pJob,dwReserved) (This)->lpVtbl->JobModification(This,pJob,dwReserved)
1136#else
1137/*** IUnknown methods ***/
1138static inline HRESULT IBackgroundCopyCallback_QueryInterface(IBackgroundCopyCallback* This,REFIID riid,void **ppvObject) {
1139    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1140}
1141static inline ULONG IBackgroundCopyCallback_AddRef(IBackgroundCopyCallback* This) {
1142    return This->lpVtbl->AddRef(This);
1143}
1144static inline ULONG IBackgroundCopyCallback_Release(IBackgroundCopyCallback* This) {
1145    return This->lpVtbl->Release(This);
1146}
1147/*** IBackgroundCopyCallback methods ***/
1148static inline HRESULT IBackgroundCopyCallback_JobTransferred(IBackgroundCopyCallback* This,IBackgroundCopyJob *pJob) {
1149    return This->lpVtbl->JobTransferred(This,pJob);
1150}
1151static inline HRESULT IBackgroundCopyCallback_JobError(IBackgroundCopyCallback* This,IBackgroundCopyJob *pJob,IBackgroundCopyError *pError) {
1152    return This->lpVtbl->JobError(This,pJob,pError);
1153}
1154static inline HRESULT IBackgroundCopyCallback_JobModification(IBackgroundCopyCallback* This,IBackgroundCopyJob *pJob,DWORD dwReserved) {
1155    return This->lpVtbl->JobModification(This,pJob,dwReserved);
1156}
1157#endif
1158#endif
1159
1160#endif
1161
1162
1163#endif  /* __IBackgroundCopyCallback_INTERFACE_DEFINED__ */
1164
1165/*****************************************************************************
1166 * IBackgroundCopyManager interface
1167 */
1168#ifndef __IBackgroundCopyManager_INTERFACE_DEFINED__
1169#define __IBackgroundCopyManager_INTERFACE_DEFINED__
1170
1171#define BG_JOB_ENUM_ALL_USERS 0x0001
1172DEFINE_GUID(IID_IBackgroundCopyManager, 0x5ce34c0d, 0x0dc9, 0x4c1f, 0x89,0x7c, 0xda,0xa1,0xb7,0x8c,0xee,0x7c);
1173#if defined(__cplusplus) && !defined(CINTERFACE)
1174MIDL_INTERFACE("5ce34c0d-0dc9-4c1f-897c-daa1b78cee7c")
1175IBackgroundCopyManager : public IUnknown
1176{
1177    virtual HRESULT STDMETHODCALLTYPE CreateJob(
1178        LPCWSTR DisplayName,
1179        BG_JOB_TYPE Type,
1180        GUID *pJobId,
1181        IBackgroundCopyJob **ppJob) = 0;
1182
1183    virtual HRESULT STDMETHODCALLTYPE GetJob(
1184        REFGUID jobID,
1185        IBackgroundCopyJob **ppJob) = 0;
1186
1187    virtual HRESULT STDMETHODCALLTYPE EnumJobs(
1188        DWORD dwFlags,
1189        IEnumBackgroundCopyJobs **ppEnum) = 0;
1190
1191    virtual HRESULT STDMETHODCALLTYPE GetErrorDescription(
1192        HRESULT hResult,
1193        DWORD LanguageId,
1194        LPWSTR *pErrorDescription) = 0;
1195
1196};
1197#ifdef __CRT_UUID_DECL
1198__CRT_UUID_DECL(IBackgroundCopyManager, 0x5ce34c0d, 0x0dc9, 0x4c1f, 0x89,0x7c, 0xda,0xa1,0xb7,0x8c,0xee,0x7c)
1199#endif
1200#else
1201typedef struct IBackgroundCopyManagerVtbl {
1202    BEGIN_INTERFACE
1203
1204    /*** IUnknown methods ***/
1205    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1206        IBackgroundCopyManager *This,
1207        REFIID riid,
1208        void **ppvObject);
1209
1210    ULONG (STDMETHODCALLTYPE *AddRef)(
1211        IBackgroundCopyManager *This);
1212
1213    ULONG (STDMETHODCALLTYPE *Release)(
1214        IBackgroundCopyManager *This);
1215
1216    /*** IBackgroundCopyManager methods ***/
1217    HRESULT (STDMETHODCALLTYPE *CreateJob)(
1218        IBackgroundCopyManager *This,
1219        LPCWSTR DisplayName,
1220        BG_JOB_TYPE Type,
1221        GUID *pJobId,
1222        IBackgroundCopyJob **ppJob);
1223
1224    HRESULT (STDMETHODCALLTYPE *GetJob)(
1225        IBackgroundCopyManager *This,
1226        REFGUID jobID,
1227        IBackgroundCopyJob **ppJob);
1228
1229    HRESULT (STDMETHODCALLTYPE *EnumJobs)(
1230        IBackgroundCopyManager *This,
1231        DWORD dwFlags,
1232        IEnumBackgroundCopyJobs **ppEnum);
1233
1234    HRESULT (STDMETHODCALLTYPE *GetErrorDescription)(
1235        IBackgroundCopyManager *This,
1236        HRESULT hResult,
1237        DWORD LanguageId,
1238        LPWSTR *pErrorDescription);
1239
1240    END_INTERFACE
1241} IBackgroundCopyManagerVtbl;
1242
1243interface IBackgroundCopyManager {
1244    CONST_VTBL IBackgroundCopyManagerVtbl* lpVtbl;
1245};
1246
1247#ifdef COBJMACROS
1248#ifndef WIDL_C_INLINE_WRAPPERS
1249/*** IUnknown methods ***/
1250#define IBackgroundCopyManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1251#define IBackgroundCopyManager_AddRef(This) (This)->lpVtbl->AddRef(This)
1252#define IBackgroundCopyManager_Release(This) (This)->lpVtbl->Release(This)
1253/*** IBackgroundCopyManager methods ***/
1254#define IBackgroundCopyManager_CreateJob(This,DisplayName,Type,pJobId,ppJob) (This)->lpVtbl->CreateJob(This,DisplayName,Type,pJobId,ppJob)
1255#define IBackgroundCopyManager_GetJob(This,jobID,ppJob) (This)->lpVtbl->GetJob(This,jobID,ppJob)
1256#define IBackgroundCopyManager_EnumJobs(This,dwFlags,ppEnum) (This)->lpVtbl->EnumJobs(This,dwFlags,ppEnum)
1257#define IBackgroundCopyManager_GetErrorDescription(This,hResult,LanguageId,pErrorDescription) (This)->lpVtbl->GetErrorDescription(This,hResult,LanguageId,pErrorDescription)
1258#else
1259/*** IUnknown methods ***/
1260static inline HRESULT IBackgroundCopyManager_QueryInterface(IBackgroundCopyManager* This,REFIID riid,void **ppvObject) {
1261    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1262}
1263static inline ULONG IBackgroundCopyManager_AddRef(IBackgroundCopyManager* This) {
1264    return This->lpVtbl->AddRef(This);
1265}
1266static inline ULONG IBackgroundCopyManager_Release(IBackgroundCopyManager* This) {
1267    return This->lpVtbl->Release(This);
1268}
1269/*** IBackgroundCopyManager methods ***/
1270static inline HRESULT IBackgroundCopyManager_CreateJob(IBackgroundCopyManager* This,LPCWSTR DisplayName,BG_JOB_TYPE Type,GUID *pJobId,IBackgroundCopyJob **ppJob) {
1271    return This->lpVtbl->CreateJob(This,DisplayName,Type,pJobId,ppJob);
1272}
1273static inline HRESULT IBackgroundCopyManager_GetJob(IBackgroundCopyManager* This,REFGUID jobID,IBackgroundCopyJob **ppJob) {
1274    return This->lpVtbl->GetJob(This,jobID,ppJob);
1275}
1276static inline HRESULT IBackgroundCopyManager_EnumJobs(IBackgroundCopyManager* This,DWORD dwFlags,IEnumBackgroundCopyJobs **ppEnum) {
1277    return This->lpVtbl->EnumJobs(This,dwFlags,ppEnum);
1278}
1279static inline HRESULT IBackgroundCopyManager_GetErrorDescription(IBackgroundCopyManager* This,HRESULT hResult,DWORD LanguageId,LPWSTR *pErrorDescription) {
1280    return This->lpVtbl->GetErrorDescription(This,hResult,LanguageId,pErrorDescription);
1281}
1282#endif
1283#endif
1284
1285#endif
1286
1287
1288#endif  /* __IBackgroundCopyManager_INTERFACE_DEFINED__ */
1289
1290#ifndef __BackgroundCopyManager_LIBRARY_DEFINED__
1291#define __BackgroundCopyManager_LIBRARY_DEFINED__
1292
1293DEFINE_GUID(LIBID_BackgroundCopyManager, 0x1deeb74f, 0x7915, 0x4560, 0xb5,0x58, 0x91,0x8c,0x83,0xf1,0x76,0xa6);
1294
1295/*****************************************************************************
1296 * BackgroundCopyManager coclass
1297 */
1298
1299DEFINE_GUID(CLSID_BackgroundCopyManager, 0x4991d34b, 0x80a1, 0x4291, 0x83,0xb6, 0x33,0x28,0x36,0x6b,0x90,0x97);
1300
1301#ifdef __cplusplus
1302class DECLSPEC_UUID("4991d34b-80a1-4291-83b6-3328366b9097") BackgroundCopyManager;
1303#ifdef __CRT_UUID_DECL
1304__CRT_UUID_DECL(BackgroundCopyManager, 0x4991d34b, 0x80a1, 0x4291, 0x83,0xb6, 0x33,0x28,0x36,0x6b,0x90,0x97)
1305#endif
1306#endif
1307
1308#ifndef __IBackgroundCopyCallback_FWD_DEFINED__
1309#define __IBackgroundCopyCallback_FWD_DEFINED__
1310typedef interface IBackgroundCopyCallback IBackgroundCopyCallback;
1311#ifdef __cplusplus
1312interface IBackgroundCopyCallback;
1313#endif /* __cplusplus */
1314#endif
1315
1316#endif /* __BackgroundCopyManager_LIBRARY_DEFINED__ */
1317#include "bits1_5.h"
1318/* Begin additional prototypes for all interfaces */
1319
1320
1321/* End additional prototypes */
1322
1323#ifdef __cplusplus
1324}
1325#endif
1326
1327#endif /* __bits_h__ */