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