2 * Background Intelligent Transfer Service (BITS) 2.0 interface
4 * Copyright 2015 Hans Leidekker for CodeWeavers
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
27 cpp_quote
("#define BG_COPY_FILE_OWNER 1")
28 cpp_quote
("#define BG_COPY_FILE_GROUP 2")
29 cpp_quote
("#define BG_COPY_FILE_DACL 4")
30 cpp_quote
("#define BG_COPY_FILE_SACL 8")
31 cpp_quote
("#define BG_COPY_FILE_ALL 15")
33 cpp_quote
("#define BG_LENGTH_TO_EOF (UINT64)(-1)")
35 cpp_quote
("#ifndef _BG_FILE_RANGE_DEFINED")
36 cpp_quote
("#define _BG_FILE_RANGE_DEFINED")
37 typedef struct _BG_FILE_RANGE
45 uuid(443c8934
-90ff
-48ed
-bcde
-26f5c7450042
),
48 interface IBackgroundCopyJob3
: IBackgroundCopyJob2
50 HRESULT ReplaceRemotePrefix
(
51 [in] LPCWSTR OldPrefix
,
52 [in] LPCWSTR NewPrefix
);
54 HRESULT AddFileWithRanges
(
55 [in] LPCWSTR RemoteUrl
,
56 [in] LPCWSTR LocalName
,
57 [in] DWORD RangeCount
,
58 [in, size_is(RangeCount
)] BG_FILE_RANGE Ranges
[]);
60 HRESULT SetFileACLFlags
(
63 HRESULT GetFileACLFlags
(
64 [out, ref] DWORD
*Flags
);
68 uuid(83e81b93
-0873-474d
-8a8c
-f2018b1a939c
),
71 interface IBackgroundCopyFile2
: IBackgroundCopyFile
73 HRESULT GetFileRanges
(
74 [in, out, unique] DWORD
*RangeCount
,
75 [out, size_is(, *RangeCount
)] BG_FILE_RANGE
**Ranges
);
77 HRESULT SetRemoteName
(
82 uuid(2289a9af
-dc96
-486e
-b268
-89c9e3397c3d
),
85 library BackgroundCopyManager2_0
88 uuid(6d18ad12
-bde3
-4393-b311
-099c346e6df9
)
90 coclass BackgroundCopyManager2_0
92 [default] interface IBackgroundCopyManager
;
95 interface IBackgroundCopyCallback
;
96 interface IBackgroundCopyJob3
;
97 interface IBackgroundCopyFile2
;
100 cpp_quote
("#include \"bits2_5.h\"")