1*c2c66affSColin Finck/* 2*c2c66affSColin Finck * Background Intelligent Transfer Service (BITS) 2.5 interface 3*c2c66affSColin Finck * 4*c2c66affSColin Finck * Copyright 2015 Hans Leidekker for CodeWeavers 5*c2c66affSColin Finck * 6*c2c66affSColin Finck * This library is free software; you can redistribute it and/or 7*c2c66affSColin Finck * modify it under the terms of the GNU Lesser General Public 8*c2c66affSColin Finck * License as published by the Free Software Foundation; either 9*c2c66affSColin Finck * version 2.1 of the License, or (at your option) any later version. 10*c2c66affSColin Finck * 11*c2c66affSColin Finck * This library is distributed in the hope that it will be useful, 12*c2c66affSColin Finck * but WITHOUT ANY WARRANTY; without even the implied warranty of 13*c2c66affSColin Finck * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14*c2c66affSColin Finck * Lesser General Public License for more details. 15*c2c66affSColin Finck * 16*c2c66affSColin Finck * You should have received a copy of the GNU Lesser General Public 17*c2c66affSColin Finck * License along with this library; if not, write to the Free Software 18*c2c66affSColin Finck * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 19*c2c66affSColin Finck * 20*c2c66affSColin Finck */ 21*c2c66affSColin Finck 22*c2c66affSColin Finck#ifndef DO_NO_IMPORTS 23*c2c66affSColin Finckimport "bits.idl"; 24*c2c66affSColin Finckimport "bits1_5.idl"; 25*c2c66affSColin Finckimport "bits2_0.idl"; 26*c2c66affSColin Finck#endif 27*c2c66affSColin Finck 28*c2c66affSColin Finck[ 29*c2c66affSColin Finck uuid(f1bd1079-9f01-4bdc-8036-f09b70095066), 30*c2c66affSColin Finck odl 31*c2c66affSColin Finck] 32*c2c66affSColin Finckinterface IBackgroundCopyJobHttpOptions : IUnknown 33*c2c66affSColin Finck{ 34*c2c66affSColin Finck typedef enum 35*c2c66affSColin Finck { 36*c2c66affSColin Finck BG_CERT_STORE_LOCATION_CURRENT_USER, 37*c2c66affSColin Finck BG_CERT_STORE_LOCATION_LOCAL_MACHINE, 38*c2c66affSColin Finck BG_CERT_STORE_LOCATION_CURRENT_SERVICE, 39*c2c66affSColin Finck BG_CERT_STORE_LOCATION_SERVICES, 40*c2c66affSColin Finck BG_CERT_STORE_LOCATION_USERS, 41*c2c66affSColin Finck BG_CERT_STORE_LOCATION_CURRENT_USER_GROUP_POLICY, 42*c2c66affSColin Finck BG_CERT_STORE_LOCATION_LOCAL_MACHINE_GROUP_POLICY, 43*c2c66affSColin Finck BG_CERT_STORE_LOCATION_LOCAL_MACHINE_ENTERPRISE 44*c2c66affSColin Finck } BG_CERT_STORE_LOCATION; 45*c2c66affSColin Finck 46*c2c66affSColin Finck HRESULT SetClientCertificateByID( 47*c2c66affSColin Finck [in] BG_CERT_STORE_LOCATION StoreLocation, 48*c2c66affSColin Finck [in] LPCWSTR StoreName, 49*c2c66affSColin Finck [in, size_is(20), ref] BYTE *pCertHashBlob 50*c2c66affSColin Finck ); 51*c2c66affSColin Finck 52*c2c66affSColin Finck HRESULT SetClientCertificateByName( 53*c2c66affSColin Finck [in] BG_CERT_STORE_LOCATION StoreLocation, 54*c2c66affSColin Finck [in] LPCWSTR StoreName, 55*c2c66affSColin Finck [in] LPCWSTR SubjectName 56*c2c66affSColin Finck ); 57*c2c66affSColin Finck 58*c2c66affSColin Finck HRESULT RemoveClientCertificate(); 59*c2c66affSColin Finck 60*c2c66affSColin Finck HRESULT GetClientCertificate( 61*c2c66affSColin Finck [out, ref] BG_CERT_STORE_LOCATION *pStoreLocation, 62*c2c66affSColin Finck [out, ref] LPWSTR *pStoreName, 63*c2c66affSColin Finck [out, size_is(, 20), ref] BYTE **ppCertHashBlob, 64*c2c66affSColin Finck [out, ref] LPWSTR *pSubjectName 65*c2c66affSColin Finck ); 66*c2c66affSColin Finck 67*c2c66affSColin Finck HRESULT SetCustomHeaders( 68*c2c66affSColin Finck [in, unique] LPCWSTR RequestHeaders 69*c2c66affSColin Finck ); 70*c2c66affSColin Finck 71*c2c66affSColin Finck HRESULT GetCustomHeaders( 72*c2c66affSColin Finck [out] LPWSTR *pRequestHeaders 73*c2c66affSColin Finck ); 74*c2c66affSColin Finck 75*c2c66affSColin Finck HRESULT SetSecurityFlags( 76*c2c66affSColin Finck [in] ULONG Flags 77*c2c66affSColin Finck ); 78*c2c66affSColin Finck 79*c2c66affSColin Finck HRESULT GetSecurityFlags( 80*c2c66affSColin Finck [out, ref] ULONG *pFlags 81*c2c66affSColin Finck ); 82*c2c66affSColin Finck} 83*c2c66affSColin Finck 84*c2c66affSColin Finck[ 85*c2c66affSColin Finck uuid(4974177c-3bb6-4c37-9ff0-6b7426f0aba9), 86*c2c66affSColin Finck version(1.0) 87*c2c66affSColin Finck] 88*c2c66affSColin Fincklibrary BackgroundCopyManager2_5 89*c2c66affSColin Finck{ 90*c2c66affSColin Finck [ 91*c2c66affSColin Finck uuid(03ca98d6-ff5d-49b8-abc6-03dd84127020) 92*c2c66affSColin Finck ] 93*c2c66affSColin Finck coclass BackgroundCopyManager2_5 94*c2c66affSColin Finck { 95*c2c66affSColin Finck [default] interface IBackgroundCopyManager; 96*c2c66affSColin Finck }; 97*c2c66affSColin Finck 98*c2c66affSColin Finck interface IBackgroundCopyCallback; 99*c2c66affSColin Finck interface IBackgroundCopyJobHttpOptions; 100*c2c66affSColin Finck} 101