| /* | 
 |  * Background Intelligent Transfer Service (BITS) 2.5 interface | 
 |  * | 
 |  * Copyright 2015 Hans Leidekker for CodeWeavers | 
 |  * | 
 |  * This library is free software; you can redistribute it and/or | 
 |  * modify it under the terms of the GNU Lesser General Public | 
 |  * License as published by the Free Software Foundation; either | 
 |  * version 2.1 of the License, or (at your option) any later version. | 
 |  * | 
 |  * This library is distributed in the hope that it will be useful, | 
 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
 |  * Lesser General Public License for more details. | 
 |  * | 
 |  * You should have received a copy of the GNU Lesser General Public | 
 |  * License along with this library; if not, write to the Free Software | 
 |  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | 
 |  * | 
 |  */ | 
 |  | 
 | #ifndef DO_NO_IMPORTS | 
 | import "bits.idl"; | 
 | import "bits1_5.idl"; | 
 | import "bits2_0.idl"; | 
 | #endif | 
 |  | 
 | [ | 
 |     uuid(f1bd1079-9f01-4bdc-8036-f09b70095066), | 
 |     odl | 
 | ] | 
 | interface IBackgroundCopyJobHttpOptions : IUnknown | 
 | { | 
 |     typedef enum | 
 |     { | 
 |         BG_CERT_STORE_LOCATION_CURRENT_USER, | 
 |         BG_CERT_STORE_LOCATION_LOCAL_MACHINE, | 
 |         BG_CERT_STORE_LOCATION_CURRENT_SERVICE, | 
 |         BG_CERT_STORE_LOCATION_SERVICES, | 
 |         BG_CERT_STORE_LOCATION_USERS, | 
 |         BG_CERT_STORE_LOCATION_CURRENT_USER_GROUP_POLICY, | 
 |         BG_CERT_STORE_LOCATION_LOCAL_MACHINE_GROUP_POLICY, | 
 |         BG_CERT_STORE_LOCATION_LOCAL_MACHINE_ENTERPRISE | 
 |     } BG_CERT_STORE_LOCATION; | 
 |  | 
 |     HRESULT SetClientCertificateByID( | 
 |         [in] BG_CERT_STORE_LOCATION StoreLocation, | 
 |         [in] LPCWSTR StoreName, | 
 |         [in, size_is(20), ref] BYTE *pCertHashBlob | 
 |     ); | 
 |  | 
 |     HRESULT SetClientCertificateByName( | 
 |         [in] BG_CERT_STORE_LOCATION StoreLocation, | 
 |         [in] LPCWSTR StoreName, | 
 |         [in] LPCWSTR SubjectName | 
 |     ); | 
 |  | 
 |     HRESULT RemoveClientCertificate(); | 
 |  | 
 |     HRESULT GetClientCertificate( | 
 |         [out, ref] BG_CERT_STORE_LOCATION *pStoreLocation, | 
 |         [out, ref] LPWSTR *pStoreName, | 
 |         [out, size_is(, 20), ref] BYTE **ppCertHashBlob, | 
 |         [out, ref] LPWSTR *pSubjectName | 
 |     ); | 
 |  | 
 |     HRESULT SetCustomHeaders( | 
 |         [in, unique] LPCWSTR RequestHeaders | 
 |     ); | 
 |  | 
 |     HRESULT GetCustomHeaders( | 
 |         [out] LPWSTR *pRequestHeaders | 
 |     ); | 
 |  | 
 |     HRESULT SetSecurityFlags( | 
 |         [in] ULONG Flags | 
 |     ); | 
 |  | 
 |     HRESULT GetSecurityFlags( | 
 |         [out, ref] ULONG *pFlags | 
 |     ); | 
 | } | 
 |  | 
 | [ | 
 |     uuid(4974177c-3bb6-4c37-9ff0-6b7426f0aba9), | 
 |     version(1.0) | 
 | ] | 
 | library BackgroundCopyManager2_5 | 
 | { | 
 |     [ | 
 |         uuid(03ca98d6-ff5d-49b8-abc6-03dd84127020) | 
 |     ] | 
 |     coclass BackgroundCopyManager2_5 | 
 |     { | 
 |         [default] interface IBackgroundCopyManager; | 
 |     }; | 
 |  | 
 |     interface IBackgroundCopyCallback; | 
 |     interface IBackgroundCopyJobHttpOptions; | 
 | } | 
 |  | 
 | cpp_quote("#include \"bits3_0.h\"") |