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 ctypes::{c_uchar, c_ulong}; 7 use shared::guiddef::REFIID; 8 use shared::wtypes::BSTR; 9 use um::oaidl::{IDispatch, IDispatchVtbl}; 10 use um::unknwnbase::IUnknown; 11 use um::winnt::HRESULT; 12 RIDL!{#[uuid(0x29cfbbf7, 0x09e4, 0x4b97, 0xb0, 0xbc, 0xf2, 0x28, 0x7e, 0x3d, 0x8e, 0xb3)] 13 interface IBITSExtensionSetup(IBITSExtensionSetupVtbl): IDispatch(IDispatchVtbl) { 14 fn EnableBITSUploads() -> HRESULT, 15 fn DisableBITSUploads() -> HRESULT, 16 fn GetCleanupTaskName( 17 pTaskName: *mut BSTR, 18 ) -> HRESULT, 19 fn GetCleanupTask( 20 riid: REFIID, 21 ppUnk: *mut *mut IUnknown, 22 ) -> HRESULT, 23 }} 24 RIDL!{#[uuid(0xd5d2d542, 0x5503, 0x4e64, 0x8b, 0x48, 0x72, 0xef, 0x91, 0xa3, 0x2e, 0xe1)] 25 interface IBITSExtensionSetupFactory(IBITSExtensionSetupFactoryVtbl): IDispatch(IDispatchVtbl) { 26 fn GetObject( 27 Path: BSTR, 28 ppExtensionSetup: *mut *mut IBITSExtensionSetup, 29 ) -> HRESULT, 30 }} 31 extern "system" { BSTR_UserSize( pFlags: *mut c_ulong, Offset: c_ulong, pBstr: *mut BSTR, ) -> c_ulong32 pub fn BSTR_UserSize( 33 pFlags: *mut c_ulong, 34 Offset: c_ulong, 35 pBstr: *mut BSTR, 36 ) -> c_ulong; BSTR_UserMarshal( pFlags: *mut c_ulong, pBuffer: *mut c_uchar, pBstr: *mut BSTR, ) -> *mut c_uchar37 pub fn BSTR_UserMarshal( 38 pFlags: *mut c_ulong, 39 pBuffer: *mut c_uchar, 40 pBstr: *mut BSTR, 41 ) -> *mut c_uchar; BSTR_UserUnmarshal( pFlags: *mut c_ulong, pBuffer: *mut c_uchar, pBstr: *mut BSTR, ) -> *mut c_uchar42 pub fn BSTR_UserUnmarshal( 43 pFlags: *mut c_ulong, 44 pBuffer: *mut c_uchar, 45 pBstr: *mut BSTR, 46 ) -> *mut c_uchar; BSTR_UserFree( pFlags: *mut c_ulong, pBstr: *mut BSTR, )47 pub fn BSTR_UserFree( 48 pFlags: *mut c_ulong, 49 pBstr: *mut BSTR, 50 ); BSTR_UserSize64( pFlags: *mut c_ulong, Offset: c_ulong, pBstr: *mut BSTR, ) -> c_ulong51 pub fn BSTR_UserSize64( 52 pFlags: *mut c_ulong, 53 Offset: c_ulong, 54 pBstr: *mut BSTR, 55 ) -> c_ulong; BSTR_UserMarshal64( pFlags: *mut c_ulong, pBuffer: *mut c_uchar, pBstr: *mut BSTR, ) -> *mut c_uchar56 pub fn BSTR_UserMarshal64( 57 pFlags: *mut c_ulong, 58 pBuffer: *mut c_uchar, 59 pBstr: *mut BSTR, 60 ) -> *mut c_uchar; BSTR_UserUnmarshal64( pFlags: *mut c_ulong, pBuffer: *mut c_uchar, pBstr: *mut BSTR, ) -> *mut c_uchar61 pub fn BSTR_UserUnmarshal64( 62 pFlags: *mut c_ulong, 63 pBuffer: *mut c_uchar, 64 pBstr: *mut BSTR, 65 ) -> *mut c_uchar; BSTR_UserFree64( pFlags: *mut c_ulong, pBstr: *mut BSTR, )66 pub fn BSTR_UserFree64( 67 pFlags: *mut c_ulong, 68 pBstr: *mut BSTR, 69 ); 70 } 71