xref: /reactos/sdk/include/psdk/bits2_5.idl (revision 1734f297)
1/*
2 * Background Intelligent Transfer Service (BITS) 2.5 interface
3 *
4 * Copyright 2015 Hans Leidekker for CodeWeavers
5 *
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.
10 *
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.
15 *
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
19 *
20 */
21
22#ifndef DO_NO_IMPORTS
23import "bits.idl";
24import "bits1_5.idl";
25import "bits2_0.idl";
26#endif
27
28[
29    uuid(f1bd1079-9f01-4bdc-8036-f09b70095066),
30    odl
31]
32interface IBackgroundCopyJobHttpOptions : IUnknown
33{
34    typedef enum
35    {
36        BG_CERT_STORE_LOCATION_CURRENT_USER,
37        BG_CERT_STORE_LOCATION_LOCAL_MACHINE,
38        BG_CERT_STORE_LOCATION_CURRENT_SERVICE,
39        BG_CERT_STORE_LOCATION_SERVICES,
40        BG_CERT_STORE_LOCATION_USERS,
41        BG_CERT_STORE_LOCATION_CURRENT_USER_GROUP_POLICY,
42        BG_CERT_STORE_LOCATION_LOCAL_MACHINE_GROUP_POLICY,
43        BG_CERT_STORE_LOCATION_LOCAL_MACHINE_ENTERPRISE
44    } BG_CERT_STORE_LOCATION;
45
46    HRESULT SetClientCertificateByID(
47        [in] BG_CERT_STORE_LOCATION StoreLocation,
48        [in] LPCWSTR StoreName,
49        [in, size_is(20), ref] BYTE *pCertHashBlob
50    );
51
52    HRESULT SetClientCertificateByName(
53        [in] BG_CERT_STORE_LOCATION StoreLocation,
54        [in] LPCWSTR StoreName,
55        [in] LPCWSTR SubjectName
56    );
57
58    HRESULT RemoveClientCertificate();
59
60    HRESULT GetClientCertificate(
61        [out, ref] BG_CERT_STORE_LOCATION *pStoreLocation,
62        [out, ref] LPWSTR *pStoreName,
63        [out, size_is(, 20), ref] BYTE **ppCertHashBlob,
64        [out, ref] LPWSTR *pSubjectName
65    );
66
67    HRESULT SetCustomHeaders(
68        [in, unique] LPCWSTR RequestHeaders
69    );
70
71    HRESULT GetCustomHeaders(
72        [out] LPWSTR *pRequestHeaders
73    );
74
75    HRESULT SetSecurityFlags(
76        [in] ULONG Flags
77    );
78
79    HRESULT GetSecurityFlags(
80        [out, ref] ULONG *pFlags
81    );
82}
83
84[
85    uuid(4974177c-3bb6-4c37-9ff0-6b7426f0aba9),
86    version(1.0)
87]
88library BackgroundCopyManager2_5
89{
90    [
91        uuid(03ca98d6-ff5d-49b8-abc6-03dd84127020)
92    ]
93    coclass BackgroundCopyManager2_5
94    {
95        [default] interface IBackgroundCopyManager;
96    };
97
98    interface IBackgroundCopyCallback;
99    interface IBackgroundCopyJobHttpOptions;
100}
101