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::basetsd::PUINT64; 7 use shared::minwindef::DWORD; 8 use um::bits3_0::{IBackgroundCopyFile3, IBackgroundCopyFile3Vtbl}; 9 use um::unknwnbase::{IUnknown, IUnknownVtbl}; 10 use um::winnt::{HRESULT, LPWSTR}; 11 RIDL!{#[uuid(0x9a2584c3, 0xf7d2, 0x457a, 0x9a, 0x5e, 0x22, 0xb6, 0x7b, 0xff, 0xc7, 0xd2)] 12 interface IBitsTokenOptions(IBitsTokenOptionsVtbl): IUnknown(IUnknownVtbl) { 13 fn SetHelperTokenFlags( 14 UsageFlags: DWORD, 15 ) -> HRESULT, 16 fn GetHelperTokenFlags( 17 pFlags: *mut DWORD, 18 ) -> HRESULT, 19 fn SetHelperToken() -> HRESULT, 20 fn ClearHelperToken() -> HRESULT, 21 fn GetHelperTokenSid( 22 pSid: *mut LPWSTR, 23 ) -> HRESULT, 24 }} 25 RIDL!{#[uuid(0xef7e0655, 0x7888, 0x4960, 0xb0, 0xe5, 0x73, 0x08, 0x46, 0xe0, 0x34, 0x92)] 26 interface IBackgroundCopyFile4(IBackgroundCopyFile4Vtbl): 27 IBackgroundCopyFile3(IBackgroundCopyFile3Vtbl) { 28 fn GetPeerDownloadStats( 29 pFromOrigin: PUINT64, 30 pFromPeers: PUINT64, 31 ) -> HRESULT, 32 }} 33