]>
Commit | Line | Data |
---|---|---|
8faf50e0 XL |
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::UINT64; | |
7 | use shared::guiddef::{GUID, REFGUID}; | |
8 | use shared::minwindef::{BOOL, DWORD, FILETIME, ULONG}; | |
9 | use um::bits::{ | |
10 | IBackgroundCopyCallback, IBackgroundCopyCallbackVtbl, IBackgroundCopyFile, IBackgroundCopyJob, | |
11 | }; | |
12 | use um::bits2_0::{ | |
13 | BG_FILE_RANGE, IBackgroundCopyFile2, IBackgroundCopyFile2Vtbl, IBackgroundCopyJob3, | |
14 | IBackgroundCopyJob3Vtbl, | |
15 | }; | |
16 | use um::unknwnbase::{IUnknown, IUnknownVtbl}; | |
17 | use um::winnt::{HRESULT, LPCWSTR, LPWSTR}; | |
18 | RIDL!{#[uuid(0x659cdeaf, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] | |
19 | interface IBitsPeerCacheRecord(IBitsPeerCacheRecordVtbl): IUnknown(IUnknownVtbl) { | |
20 | fn GetId( | |
21 | pVal: *mut GUID, | |
22 | ) -> HRESULT, | |
23 | fn GetOriginUrl( | |
24 | pVal: *mut LPWSTR, | |
25 | ) -> HRESULT, | |
26 | fn GetFileSize( | |
27 | pVal: *mut UINT64, | |
28 | ) -> HRESULT, | |
29 | fn GetFileModificationTime( | |
30 | pVal: *mut FILETIME, | |
31 | ) -> HRESULT, | |
32 | fn GetLastAccessTime( | |
33 | pVal: *mut FILETIME, | |
34 | ) -> HRESULT, | |
35 | fn IsFileValidated() -> HRESULT, | |
36 | fn GetFileRanges( | |
37 | pRangeCount: *mut DWORD, | |
38 | ppRanges: *mut *mut BG_FILE_RANGE, | |
39 | ) -> HRESULT, | |
40 | }} | |
41 | RIDL!{#[uuid(0x659cdea4, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] | |
42 | interface IEnumBitsPeerCacheRecords(IEnumBitsPeerCacheRecordsVtbl): IUnknown(IUnknownVtbl) { | |
43 | fn Next( | |
44 | celt: ULONG, | |
45 | rgelt: *mut *mut IBitsPeerCacheRecord, | |
46 | pceltFetched: *mut ULONG, | |
47 | ) -> HRESULT, | |
48 | fn Skip( | |
49 | celt: ULONG, | |
50 | ) -> HRESULT, | |
51 | fn Reset() -> HRESULT, | |
52 | fn Clone( | |
53 | ppenum: *mut *mut IEnumBitsPeerCacheRecords, | |
54 | ) -> HRESULT, | |
55 | fn GetCount( | |
56 | puCount: *mut ULONG, | |
57 | ) -> HRESULT, | |
58 | }} | |
59 | RIDL!{#[uuid(0x659cdea2, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] | |
60 | interface IBitsPeer(IBitsPeerVtbl): IUnknown(IUnknownVtbl) { | |
61 | fn GetPeerName( | |
62 | pName: *mut LPWSTR, | |
63 | ) -> HRESULT, | |
64 | fn IsAuthenticated( | |
65 | pAuth: *mut BOOL, | |
66 | ) -> HRESULT, | |
67 | fn IsAvailable( | |
68 | pOnline: *mut BOOL, | |
69 | ) -> HRESULT, | |
70 | }} | |
71 | RIDL!{#[uuid(0x659cdea5, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] | |
72 | interface IEnumBitsPeers(IEnumBitsPeersVtbl): IUnknown(IUnknownVtbl) { | |
73 | fn Next( | |
74 | celt: ULONG, | |
75 | rgelt: *mut *mut IBitsPeer, | |
76 | pceltFetched: *mut ULONG, | |
77 | ) -> HRESULT, | |
78 | fn Skip( | |
79 | celt: ULONG, | |
80 | ) -> HRESULT, | |
81 | fn Reset() -> HRESULT, | |
82 | fn Clone( | |
83 | ppenum: *mut *mut IEnumBitsPeers, | |
84 | ) -> HRESULT, | |
85 | fn GetCount( | |
86 | puCount: *mut ULONG, | |
87 | ) -> HRESULT, | |
88 | }} | |
89 | pub const BG_ENABLE_PEERCACHING_CLIENT: DWORD = 0x0001; | |
90 | pub const BG_ENABLE_PEERCACHING_SERVER: DWORD = 0x0002; | |
91 | pub const BG_DISABLE_BRANCH_CACHE: DWORD = 0x0004; | |
92 | RIDL!{#[uuid(0x659cdead, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] | |
93 | interface IBitsPeerCacheAdministration(IBitsPeerCacheAdministrationVtbl): IUnknown(IUnknownVtbl) { | |
94 | fn GetMaximumCacheSize( | |
95 | pBytes: *mut DWORD, | |
96 | ) -> HRESULT, | |
97 | fn SetMaximumCacheSize( | |
98 | Bytes: DWORD, | |
99 | ) -> HRESULT, | |
100 | fn GetMaximumContentAge( | |
101 | pSeconds: *mut ULONG, | |
102 | ) -> HRESULT, | |
103 | fn SetMaximumContentAge( | |
104 | Seconds: ULONG, | |
105 | ) -> HRESULT, | |
106 | fn GetConfigurationFlags( | |
107 | pFlags: *mut DWORD, | |
108 | ) -> HRESULT, | |
109 | fn SetConfigurationFlags( | |
110 | Flags: DWORD, | |
111 | ) -> HRESULT, | |
112 | fn EnumRecords( | |
113 | ppEnum: *mut *mut IEnumBitsPeerCacheRecords, | |
114 | ) -> HRESULT, | |
115 | fn GetRecord( | |
116 | ppRecord: *mut *mut IBitsPeerCacheRecord, | |
117 | ) -> HRESULT, | |
118 | fn ClearRecords() -> HRESULT, | |
119 | fn DeleteRecord( | |
120 | id: REFGUID, | |
121 | ) -> HRESULT, | |
122 | fn DeleteUrl( | |
123 | url: LPCWSTR, | |
124 | ) -> HRESULT, | |
125 | fn EnumPeers( | |
126 | ppEnum: *mut *mut IEnumBitsPeers, | |
127 | ) -> HRESULT, | |
128 | fn ClearPeers() -> HRESULT, | |
129 | fn DiscoverPeers() -> HRESULT, | |
130 | }} | |
131 | pub const BG_JOB_ENABLE_PEERCACHING_CLIENT: DWORD = 0x0001; | |
132 | pub const BG_JOB_ENABLE_PEERCACHING_SERVER: DWORD = 0x0002; | |
133 | pub const BG_JOB_DISABLE_BRANCH_CACHE: DWORD = 0x0004; | |
134 | RIDL!{#[uuid(0x659cdeae, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] | |
135 | interface IBackgroundCopyJob4(IBackgroundCopyJob4Vtbl): | |
136 | IBackgroundCopyJob3(IBackgroundCopyJob3Vtbl) { | |
137 | fn SetPeerCachingFlags( | |
138 | Flags: DWORD, | |
139 | ) -> HRESULT, | |
140 | fn GetPeerCachingFlags( | |
141 | pFlags: *mut DWORD, | |
142 | ) -> HRESULT, | |
143 | fn GetOwnerIntegrityLevel( | |
144 | pLevel: *mut ULONG, | |
145 | ) -> HRESULT, | |
146 | fn GetOwnerElevationState( | |
147 | pElevated: *mut BOOL, | |
148 | ) -> HRESULT, | |
149 | fn SetMaximumDownloadTime( | |
150 | Timeout: ULONG, | |
151 | ) -> HRESULT, | |
152 | fn GetMaximumDownloadTime( | |
153 | pTimeout: *mut ULONG, | |
154 | ) -> HRESULT, | |
155 | }} | |
156 | RIDL!{#[uuid(0x659cdeaa, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] | |
157 | interface IBackgroundCopyFile3(IBackgroundCopyFile3Vtbl): | |
158 | IBackgroundCopyFile2(IBackgroundCopyFile2Vtbl) { | |
159 | fn GetTemporaryName( | |
160 | pFilename: *mut LPWSTR, | |
161 | ) -> HRESULT, | |
162 | fn SetValidationState( | |
163 | state: BOOL, | |
164 | ) -> HRESULT, | |
165 | fn GetValidationState( | |
166 | pState: *mut BOOL, | |
167 | ) -> HRESULT, | |
168 | fn IsDownloadedFromPeer( | |
169 | pVal: *mut BOOL, | |
170 | ) -> HRESULT, | |
171 | }} | |
172 | RIDL!{#[uuid(0x659cdeac, 0x489e, 0x11d9, 0xa9, 0xcd, 0x00, 0x0d, 0x56, 0x96, 0x52, 0x51)] | |
173 | interface IBackgroundCopyCallback2(IBackgroundCopyCallback2Vtbl): | |
174 | IBackgroundCopyCallback(IBackgroundCopyCallbackVtbl) { | |
175 | fn FileTransferred( | |
176 | pJob: *mut IBackgroundCopyJob, | |
177 | pFile: *mut IBackgroundCopyFile, | |
178 | ) -> HRESULT, | |
179 | }} |