1 // Licensed under the Apache License, Version 2.0 2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. 4 // All files in the project carrying such notice may not be copied, modified, or distributed 5 // except according to those terms. 6 use shared::minwindef::ULONG; 7 use shared::rpcndr::byte; 8 use um::unknwnbase::{IUnknown, IUnknownVtbl}; 9 use um::winnt::{HRESULT, LPCWSTR, LPWSTR}; 10 ENUM!{enum BG_CERT_STORE_LOCATION { 11 BG_CERT_STORE_LOCATION_CURRENT_USER = 0, 12 BG_CERT_STORE_LOCATION_LOCAL_MACHINE = BG_CERT_STORE_LOCATION_CURRENT_USER + 1, 13 BG_CERT_STORE_LOCATION_CURRENT_SERVICE = BG_CERT_STORE_LOCATION_LOCAL_MACHINE + 1, 14 BG_CERT_STORE_LOCATION_SERVICES = BG_CERT_STORE_LOCATION_CURRENT_SERVICE + 1, 15 BG_CERT_STORE_LOCATION_USERS = BG_CERT_STORE_LOCATION_SERVICES + 1, 16 BG_CERT_STORE_LOCATION_CURRENT_USER_GROUP_POLICY = BG_CERT_STORE_LOCATION_USERS + 1, 17 BG_CERT_STORE_LOCATION_LOCAL_MACHINE_GROUP_POLICY 18 = BG_CERT_STORE_LOCATION_CURRENT_USER_GROUP_POLICY + 1, 19 BG_CERT_STORE_LOCATION_LOCAL_MACHINE_ENTERPRISE 20 = BG_CERT_STORE_LOCATION_LOCAL_MACHINE_GROUP_POLICY + 1, 21 }} 22 RIDL!{#[uuid(0xf1bd1079, 0x9f01, 0x4bdc, 0x80, 0x36, 0xf0, 0x9b, 0x70, 0x09, 0x50, 0x66)] 23 interface IBackgroundCopyJobHttpOptions(IBackgroundCopyJobHttpOptionsVtbl): 24 IUnknown(IUnknownVtbl) { 25 fn SetClientCertificateByID( 26 StoreLocation: BG_CERT_STORE_LOCATION, 27 StoreName: LPCWSTR, 28 pCertHashBlob: *mut byte, 29 ) -> HRESULT, 30 fn SetClientCertificateByName( 31 StoreLocation: BG_CERT_STORE_LOCATION, 32 StoreName: LPCWSTR, 33 SubjectName: LPCWSTR, 34 ) -> HRESULT, 35 fn RemoveClientCertificate() -> HRESULT, 36 fn GetClientCertificate( 37 pStoreLocation: *mut BG_CERT_STORE_LOCATION, 38 pStoreName: *mut LPWSTR, 39 ppCertHashBlob: *mut *mut byte, 40 pSubjectName: *mut LPWSTR, 41 ) -> HRESULT, 42 fn SetCustomHeaders( 43 RequestHeaders: LPCWSTR, 44 ) -> HRESULT, 45 fn GetCustomHeaders( 46 pRequestHeaders: *mut LPWSTR, 47 ) -> HRESULT, 48 fn SetSecurityFlags( 49 Flags: ULONG, 50 ) -> HRESULT, 51 fn GetSecurityFlags( 52 pFlags: *mut ULONG, 53 ) -> HRESULT, 54 }} 55 pub const BG_SSL_ENABLE_CRL_CHECK: ULONG = 0x0001; 56 pub const BG_SSL_IGNORE_CERT_CN_INVALID: ULONG = 0x0002; 57 pub const BG_SSL_IGNORE_CERT_DATE_INVALID: ULONG = 0x0004; 58 pub const BG_SSL_IGNORE_UNKNOWN_CA: ULONG = 0x0008; 59 pub const BG_SSL_IGNORE_CERT_WRONG_USAGE: ULONG = 0x0010; 60 pub const BG_HTTP_REDIRECT_POLICY_MASK: ULONG = 0x0700; 61 pub const BG_HTTP_REDIRECT_POLICY_ALLOW_SILENT: ULONG = 0x0000; 62 pub const BG_HTTP_REDIRECT_POLICY_ALLOW_REPORT: ULONG = 0x0100; 63 pub const BG_HTTP_REDIRECT_POLICY_DISALLOW: ULONG = 0x0200; 64 pub const BG_HTTP_REDIRECT_POLICY_ALLOW_HTTPS_TO_HTTP: ULONG = 0x0800; 65