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