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