1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef __REQUIRED_RPCNDR_H_VERSION__
7#define __REQUIRED_RPCNDR_H_VERSION__ 475
8#endif
9
10#include "rpc.h"
11#include "rpcndr.h"
12
13#ifndef __RPCNDR_H_VERSION__
14#error this stub requires an updated version of <rpcndr.h>
15#endif
16
17#ifndef COM_NO_WINDOWS_H
18#include "windows.h"
19#include "ole2.h"
20#endif
21
22#ifndef __bits2_0_h__
23#define __bits2_0_h__
24#ifndef __IBackgroundCopyJob3_FWD_DEFINED__
25#define __IBackgroundCopyJob3_FWD_DEFINED__
26typedef struct IBackgroundCopyJob3 IBackgroundCopyJob3;
27#endif
28
29#ifndef __IBackgroundCopyFile2_FWD_DEFINED__
30#define __IBackgroundCopyFile2_FWD_DEFINED__
31typedef struct IBackgroundCopyFile2 IBackgroundCopyFile2;
32#endif
33
34#ifndef __BackgroundCopyManager2_0_FWD_DEFINED__
35#define __BackgroundCopyManager2_0_FWD_DEFINED__
36#ifdef __cplusplus
37typedef class BackgroundCopyManager2_0 BackgroundCopyManager2_0;
38#else
39typedef struct BackgroundCopyManager2_0 BackgroundCopyManager2_0;
40#endif
41#endif
42
43#ifndef __IBackgroundCopyJob3_FWD_DEFINED__
44#define __IBackgroundCopyJob3_FWD_DEFINED__
45typedef struct IBackgroundCopyJob3 IBackgroundCopyJob3;
46#endif
47
48#include "bits.h"
49#include "bits1_5.h"
50
51#ifdef __cplusplus
52extern "C"{
53#endif
54
55#ifndef __MIDL_user_allocate_free_DEFINED__
56#define __MIDL_user_allocate_free_DEFINED__
57  void *__RPC_API MIDL_user_allocate(size_t);
58  void __RPC_API MIDL_user_free(void *);
59#endif
60
61#define BG_LENGTH_TO_EOF (UINT64)(-1)
62  typedef struct _BG_FILE_RANGE {
63    UINT64 InitialOffset;
64    UINT64 Length;
65  } BG_FILE_RANGE;
66
67#define BG_COPY_FILE_OWNER 1
68#define BG_COPY_FILE_GROUP 2
69#define BG_COPY_FILE_DACL 4
70#define BG_COPY_FILE_SACL 8
71#define BG_COPY_FILE_ALL 15
72
73  extern RPC_IF_HANDLE __MIDL_itf_bits2_0_0000_v0_0_c_ifspec;
74  extern RPC_IF_HANDLE __MIDL_itf_bits2_0_0000_v0_0_s_ifspec;
75
76#ifndef __IBackgroundCopyJob3_INTERFACE_DEFINED__
77#define __IBackgroundCopyJob3_INTERFACE_DEFINED__
78  EXTERN_C const IID IID_IBackgroundCopyJob3;
79#if defined(__cplusplus) && !defined(CINTERFACE)
80  struct IBackgroundCopyJob3 : public IBackgroundCopyJob2 {
81  public:
82    virtual HRESULT WINAPI ReplaceRemotePrefix(LPCWSTR OldPrefix,LPCWSTR NewPrefix) = 0;
83    virtual HRESULT WINAPI AddFileWithRanges(LPCWSTR RemoteUrl,LPCWSTR LocalName,DWORD RangeCount,BG_FILE_RANGE Ranges[]) = 0;
84    virtual HRESULT WINAPI SetFileACLFlags(DWORD Flags) = 0;
85    virtual HRESULT WINAPI GetFileACLFlags(DWORD *Flags) = 0;
86  };
87#else
88  typedef struct IBackgroundCopyJob3Vtbl {
89    BEGIN_INTERFACE
90      HRESULT (WINAPI *QueryInterface)(IBackgroundCopyJob3 *This,REFIID riid,void **ppvObject);
91      ULONG (WINAPI *AddRef)(IBackgroundCopyJob3 *This);
92      ULONG (WINAPI *Release)(IBackgroundCopyJob3 *This);
93      HRESULT (WINAPI *AddFileSet)(IBackgroundCopyJob3 *This,ULONG cFileCount,BG_FILE_INFO *pFileSet);
94      HRESULT (WINAPI *AddFile)(IBackgroundCopyJob3 *This,LPCWSTR RemoteUrl,LPCWSTR LocalName);
95      HRESULT (WINAPI *EnumFiles)(IBackgroundCopyJob3 *This,IEnumBackgroundCopyFiles **pEnum);
96      HRESULT (WINAPI *Suspend)(IBackgroundCopyJob3 *This);
97      HRESULT (WINAPI *Resume)(IBackgroundCopyJob3 *This);
98      HRESULT (WINAPI *Cancel)(IBackgroundCopyJob3 *This);
99      HRESULT (WINAPI *Complete)(IBackgroundCopyJob3 *This);
100      HRESULT (WINAPI *GetId)(IBackgroundCopyJob3 *This,GUID *pVal);
101      HRESULT (WINAPI *GetType)(IBackgroundCopyJob3 *This,BG_JOB_TYPE *pVal);
102      HRESULT (WINAPI *GetProgress)(IBackgroundCopyJob3 *This,BG_JOB_PROGRESS *pVal);
103      HRESULT (WINAPI *GetTimes)(IBackgroundCopyJob3 *This,BG_JOB_TIMES *pVal);
104      HRESULT (WINAPI *GetState)(IBackgroundCopyJob3 *This,BG_JOB_STATE *pVal);
105      HRESULT (WINAPI *GetError)(IBackgroundCopyJob3 *This,IBackgroundCopyError **ppError);
106      HRESULT (WINAPI *GetOwner)(IBackgroundCopyJob3 *This,LPWSTR *pVal);
107      HRESULT (WINAPI *SetDisplayName)(IBackgroundCopyJob3 *This,LPCWSTR Val);
108      HRESULT (WINAPI *GetDisplayName)(IBackgroundCopyJob3 *This,LPWSTR *pVal);
109      HRESULT (WINAPI *SetDescription)(IBackgroundCopyJob3 *This,LPCWSTR Val);
110      HRESULT (WINAPI *GetDescription)(IBackgroundCopyJob3 *This,LPWSTR *pVal);
111      HRESULT (WINAPI *SetPriority)(IBackgroundCopyJob3 *This,BG_JOB_PRIORITY Val);
112      HRESULT (WINAPI *GetPriority)(IBackgroundCopyJob3 *This,BG_JOB_PRIORITY *pVal);
113      HRESULT (WINAPI *SetNotifyFlags)(IBackgroundCopyJob3 *This,ULONG Val);
114      HRESULT (WINAPI *GetNotifyFlags)(IBackgroundCopyJob3 *This,ULONG *pVal);
115      HRESULT (WINAPI *SetNotifyInterface)(IBackgroundCopyJob3 *This,IUnknown *Val);
116      HRESULT (WINAPI *GetNotifyInterface)(IBackgroundCopyJob3 *This,IUnknown **pVal);
117      HRESULT (WINAPI *SetMinimumRetryDelay)(IBackgroundCopyJob3 *This,ULONG Seconds);
118      HRESULT (WINAPI *GetMinimumRetryDelay)(IBackgroundCopyJob3 *This,ULONG *Seconds);
119      HRESULT (WINAPI *SetNoProgressTimeout)(IBackgroundCopyJob3 *This,ULONG Seconds);
120      HRESULT (WINAPI *GetNoProgressTimeout)(IBackgroundCopyJob3 *This,ULONG *Seconds);
121      HRESULT (WINAPI *GetErrorCount)(IBackgroundCopyJob3 *This,ULONG *Errors);
122      HRESULT (WINAPI *SetProxySettings)(IBackgroundCopyJob3 *This,BG_JOB_PROXY_USAGE ProxyUsage,const WCHAR *ProxyList,const WCHAR *ProxyBypassList);
123      HRESULT (WINAPI *GetProxySettings)(IBackgroundCopyJob3 *This,BG_JOB_PROXY_USAGE *pProxyUsage,LPWSTR *pProxyList,LPWSTR *pProxyBypassList);
124      HRESULT (WINAPI *TakeOwnership)(IBackgroundCopyJob3 *This);
125      HRESULT (WINAPI *SetNotifyCmdLine)(IBackgroundCopyJob3 *This,LPCWSTR Program,LPCWSTR Parameters);
126      HRESULT (WINAPI *GetNotifyCmdLine)(IBackgroundCopyJob3 *This,LPWSTR *pProgram,LPWSTR *pParameters);
127      HRESULT (WINAPI *GetReplyProgress)(IBackgroundCopyJob3 *This,BG_JOB_REPLY_PROGRESS *pProgress);
128      HRESULT (WINAPI *GetReplyData)(IBackgroundCopyJob3 *This,byte **ppBuffer,UINT64 *pLength);
129      HRESULT (WINAPI *SetReplyFileName)(IBackgroundCopyJob3 *This,LPCWSTR ReplyFileName);
130      HRESULT (WINAPI *GetReplyFileName)(IBackgroundCopyJob3 *This,LPWSTR *pReplyFileName);
131      HRESULT (WINAPI *SetCredentials)(IBackgroundCopyJob3 *This,BG_AUTH_CREDENTIALS *credentials);
132      HRESULT (WINAPI *RemoveCredentials)(IBackgroundCopyJob3 *This,BG_AUTH_TARGET Target,BG_AUTH_SCHEME Scheme);
133      HRESULT (WINAPI *ReplaceRemotePrefix)(IBackgroundCopyJob3 *This,LPCWSTR OldPrefix,LPCWSTR NewPrefix);
134      HRESULT (WINAPI *AddFileWithRanges)(IBackgroundCopyJob3 *This,LPCWSTR RemoteUrl,LPCWSTR LocalName,DWORD RangeCount,BG_FILE_RANGE Ranges[]);
135      HRESULT (WINAPI *SetFileACLFlags)(IBackgroundCopyJob3 *This,DWORD Flags);
136      HRESULT (WINAPI *GetFileACLFlags)(IBackgroundCopyJob3 *This,DWORD *Flags);
137    END_INTERFACE
138  } IBackgroundCopyJob3Vtbl;
139  struct IBackgroundCopyJob3 {
140    CONST_VTBL struct IBackgroundCopyJob3Vtbl *lpVtbl;
141  };
142#ifdef COBJMACROS
143#define IBackgroundCopyJob3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
144#define IBackgroundCopyJob3_AddRef(This) (This)->lpVtbl -> AddRef(This)
145#define IBackgroundCopyJob3_Release(This) (This)->lpVtbl -> Release(This)
146#define IBackgroundCopyJob3_AddFileSet(This,cFileCount,pFileSet) (This)->lpVtbl -> AddFileSet(This,cFileCount,pFileSet)
147#define IBackgroundCopyJob3_AddFile(This,RemoteUrl,LocalName) (This)->lpVtbl -> AddFile(This,RemoteUrl,LocalName)
148#define IBackgroundCopyJob3_EnumFiles(This,pEnum) (This)->lpVtbl -> EnumFiles(This,pEnum)
149#define IBackgroundCopyJob3_Suspend(This) (This)->lpVtbl -> Suspend(This)
150#define IBackgroundCopyJob3_Resume(This) (This)->lpVtbl -> Resume(This)
151#define IBackgroundCopyJob3_Cancel(This) (This)->lpVtbl -> Cancel(This)
152#define IBackgroundCopyJob3_Complete(This) (This)->lpVtbl -> Complete(This)
153#define IBackgroundCopyJob3_GetId(This,pVal) (This)->lpVtbl -> GetId(This,pVal)
154#define IBackgroundCopyJob3_GetType(This,pVal) (This)->lpVtbl -> GetType(This,pVal)
155#define IBackgroundCopyJob3_GetProgress(This,pVal) (This)->lpVtbl -> GetProgress(This,pVal)
156#define IBackgroundCopyJob3_GetTimes(This,pVal) (This)->lpVtbl -> GetTimes(This,pVal)
157#define IBackgroundCopyJob3_GetState(This,pVal) (This)->lpVtbl -> GetState(This,pVal)
158#define IBackgroundCopyJob3_GetError(This,ppError) (This)->lpVtbl -> GetError(This,ppError)
159#define IBackgroundCopyJob3_GetOwner(This,pVal) (This)->lpVtbl -> GetOwner(This,pVal)
160#define IBackgroundCopyJob3_SetDisplayName(This,Val) (This)->lpVtbl -> SetDisplayName(This,Val)
161#define IBackgroundCopyJob3_GetDisplayName(This,pVal) (This)->lpVtbl -> GetDisplayName(This,pVal)
162#define IBackgroundCopyJob3_SetDescription(This,Val) (This)->lpVtbl -> SetDescription(This,Val)
163#define IBackgroundCopyJob3_GetDescription(This,pVal) (This)->lpVtbl -> GetDescription(This,pVal)
164#define IBackgroundCopyJob3_SetPriority(This,Val) (This)->lpVtbl -> SetPriority(This,Val)
165#define IBackgroundCopyJob3_GetPriority(This,pVal) (This)->lpVtbl -> GetPriority(This,pVal)
166#define IBackgroundCopyJob3_SetNotifyFlags(This,Val) (This)->lpVtbl -> SetNotifyFlags(This,Val)
167#define IBackgroundCopyJob3_GetNotifyFlags(This,pVal) (This)->lpVtbl -> GetNotifyFlags(This,pVal)
168#define IBackgroundCopyJob3_SetNotifyInterface(This,Val) (This)->lpVtbl -> SetNotifyInterface(This,Val)
169#define IBackgroundCopyJob3_GetNotifyInterface(This,pVal) (This)->lpVtbl -> GetNotifyInterface(This,pVal)
170#define IBackgroundCopyJob3_SetMinimumRetryDelay(This,Seconds) (This)->lpVtbl -> SetMinimumRetryDelay(This,Seconds)
171#define IBackgroundCopyJob3_GetMinimumRetryDelay(This,Seconds) (This)->lpVtbl -> GetMinimumRetryDelay(This,Seconds)
172#define IBackgroundCopyJob3_SetNoProgressTimeout(This,Seconds) (This)->lpVtbl -> SetNoProgressTimeout(This,Seconds)
173#define IBackgroundCopyJob3_GetNoProgressTimeout(This,Seconds) (This)->lpVtbl -> GetNoProgressTimeout(This,Seconds)
174#define IBackgroundCopyJob3_GetErrorCount(This,Errors) (This)->lpVtbl -> GetErrorCount(This,Errors)
175#define IBackgroundCopyJob3_SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList) (This)->lpVtbl -> SetProxySettings(This,ProxyUsage,ProxyList,ProxyBypassList)
176#define IBackgroundCopyJob3_GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList) (This)->lpVtbl -> GetProxySettings(This,pProxyUsage,pProxyList,pProxyBypassList)
177#define IBackgroundCopyJob3_TakeOwnership(This) (This)->lpVtbl -> TakeOwnership(This)
178#define IBackgroundCopyJob3_SetNotifyCmdLine(This,Program,Parameters) (This)->lpVtbl -> SetNotifyCmdLine(This,Program,Parameters)
179#define IBackgroundCopyJob3_GetNotifyCmdLine(This,pProgram,pParameters) (This)->lpVtbl -> GetNotifyCmdLine(This,pProgram,pParameters)
180#define IBackgroundCopyJob3_GetReplyProgress(This,pProgress) (This)->lpVtbl -> GetReplyProgress(This,pProgress)
181#define IBackgroundCopyJob3_GetReplyData(This,ppBuffer,pLength) (This)->lpVtbl -> GetReplyData(This,ppBuffer,pLength)
182#define IBackgroundCopyJob3_SetReplyFileName(This,ReplyFileName) (This)->lpVtbl -> SetReplyFileName(This,ReplyFileName)
183#define IBackgroundCopyJob3_GetReplyFileName(This,pReplyFileName) (This)->lpVtbl -> GetReplyFileName(This,pReplyFileName)
184#define IBackgroundCopyJob3_SetCredentials(This,credentials) (This)->lpVtbl -> SetCredentials(This,credentials)
185#define IBackgroundCopyJob3_RemoveCredentials(This,Target,Scheme) (This)->lpVtbl -> RemoveCredentials(This,Target,Scheme)
186#define IBackgroundCopyJob3_ReplaceRemotePrefix(This,OldPrefix,NewPrefix) (This)->lpVtbl -> ReplaceRemotePrefix(This,OldPrefix,NewPrefix)
187#define IBackgroundCopyJob3_AddFileWithRanges(This,RemoteUrl,LocalName,RangeCount,Ranges) (This)->lpVtbl -> AddFileWithRanges(This,RemoteUrl,LocalName,RangeCount,Ranges)
188#define IBackgroundCopyJob3_SetFileACLFlags(This,Flags) (This)->lpVtbl -> SetFileACLFlags(This,Flags)
189#define IBackgroundCopyJob3_GetFileACLFlags(This,Flags) (This)->lpVtbl -> GetFileACLFlags(This,Flags)
190#endif
191#endif
192  HRESULT WINAPI IBackgroundCopyJob3_ReplaceRemotePrefix_Proxy(IBackgroundCopyJob3 *This,LPCWSTR OldPrefix,LPCWSTR NewPrefix);
193  void __RPC_STUB IBackgroundCopyJob3_ReplaceRemotePrefix_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
194  HRESULT WINAPI IBackgroundCopyJob3_AddFileWithRanges_Proxy(IBackgroundCopyJob3 *This,LPCWSTR RemoteUrl,LPCWSTR LocalName,DWORD RangeCount,BG_FILE_RANGE Ranges[]);
195  void __RPC_STUB IBackgroundCopyJob3_AddFileWithRanges_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
196  HRESULT WINAPI IBackgroundCopyJob3_SetFileACLFlags_Proxy(IBackgroundCopyJob3 *This,DWORD Flags);
197  void __RPC_STUB IBackgroundCopyJob3_SetFileACLFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
198  HRESULT WINAPI IBackgroundCopyJob3_GetFileACLFlags_Proxy(IBackgroundCopyJob3 *This,DWORD *Flags);
199  void __RPC_STUB IBackgroundCopyJob3_GetFileACLFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
200#endif
201
202#ifndef __IBackgroundCopyFile2_INTERFACE_DEFINED__
203#define __IBackgroundCopyFile2_INTERFACE_DEFINED__
204  EXTERN_C const IID IID_IBackgroundCopyFile2;
205#if defined(__cplusplus) && !defined(CINTERFACE)
206  struct IBackgroundCopyFile2 : public IBackgroundCopyFile {
207  public:
208    virtual HRESULT WINAPI GetFileRanges(DWORD *RangeCount,BG_FILE_RANGE **Ranges) = 0;
209    virtual HRESULT WINAPI SetRemoteName(LPCWSTR Val) = 0;
210  };
211#else
212  typedef struct IBackgroundCopyFile2Vtbl {
213    BEGIN_INTERFACE
214      HRESULT (WINAPI *QueryInterface)(IBackgroundCopyFile2 *This,REFIID riid,void **ppvObject);
215      ULONG (WINAPI *AddRef)(IBackgroundCopyFile2 *This);
216      ULONG (WINAPI *Release)(IBackgroundCopyFile2 *This);
217      HRESULT (WINAPI *GetRemoteName)(IBackgroundCopyFile2 *This,LPWSTR *pVal);
218      HRESULT (WINAPI *GetLocalName)(IBackgroundCopyFile2 *This,LPWSTR *pVal);
219      HRESULT (WINAPI *GetProgress)(IBackgroundCopyFile2 *This,BG_FILE_PROGRESS *pVal);
220      HRESULT (WINAPI *GetFileRanges)(IBackgroundCopyFile2 *This,DWORD *RangeCount,BG_FILE_RANGE **Ranges);
221      HRESULT (WINAPI *SetRemoteName)(IBackgroundCopyFile2 *This,LPCWSTR Val);
222    END_INTERFACE
223  } IBackgroundCopyFile2Vtbl;
224  struct IBackgroundCopyFile2 {
225    CONST_VTBL struct IBackgroundCopyFile2Vtbl *lpVtbl;
226  };
227#ifdef COBJMACROS
228#define IBackgroundCopyFile2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
229#define IBackgroundCopyFile2_AddRef(This) (This)->lpVtbl -> AddRef(This)
230#define IBackgroundCopyFile2_Release(This) (This)->lpVtbl -> Release(This)
231#define IBackgroundCopyFile2_GetRemoteName(This,pVal) (This)->lpVtbl -> GetRemoteName(This,pVal)
232#define IBackgroundCopyFile2_GetLocalName(This,pVal) (This)->lpVtbl -> GetLocalName(This,pVal)
233#define IBackgroundCopyFile2_GetProgress(This,pVal) (This)->lpVtbl -> GetProgress(This,pVal)
234#define IBackgroundCopyFile2_GetFileRanges(This,RangeCount,Ranges) (This)->lpVtbl -> GetFileRanges(This,RangeCount,Ranges)
235#define IBackgroundCopyFile2_SetRemoteName(This,Val) (This)->lpVtbl -> SetRemoteName(This,Val)
236#endif
237#endif
238  HRESULT WINAPI IBackgroundCopyFile2_GetFileRanges_Proxy(IBackgroundCopyFile2 *This,DWORD *RangeCount,BG_FILE_RANGE **Ranges);
239  void __RPC_STUB IBackgroundCopyFile2_GetFileRanges_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
240  HRESULT WINAPI IBackgroundCopyFile2_SetRemoteName_Proxy(IBackgroundCopyFile2 *This,LPCWSTR Val);
241  void __RPC_STUB IBackgroundCopyFile2_SetRemoteName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
242#endif
243
244#ifndef __BackgroundCopyManager2_0_LIBRARY_DEFINED__
245#define __BackgroundCopyManager2_0_LIBRARY_DEFINED__
246  EXTERN_C const IID LIBID_BackgroundCopyManager2_0;
247  EXTERN_C const CLSID CLSID_BackgroundCopyManager2_0;
248#ifdef __cplusplus
249  class BackgroundCopyManager2_0;
250#endif
251#endif
252
253#ifdef __cplusplus
254}
255#endif
256#endif
257