]> git.proxmox.com Git - rustc.git/blob - vendor/windows/src/Windows/Security/EnterpriseData/mod.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Security / EnterpriseData / mod.rs
1 #[doc(hidden)]
2 #[repr(transparent)]
3 pub struct IBufferProtectUnprotectResult(::windows::core::IUnknown);
4 unsafe impl ::windows::core::Interface for IBufferProtectUnprotectResult {
5 type Vtable = IBufferProtectUnprotectResult_Vtbl;
6 }
7 impl ::core::clone::Clone for IBufferProtectUnprotectResult {
8 fn clone(&self) -> Self {
9 Self(self.0.clone())
10 }
11 }
12 unsafe impl ::windows::core::ComInterface for IBufferProtectUnprotectResult {
13 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x47995edc_6cec_4e3a_b251_9e7485d79e7a);
14 }
15 #[repr(C)]
16 #[doc(hidden)]
17 pub struct IBufferProtectUnprotectResult_Vtbl {
18 pub base__: ::windows::core::IInspectable_Vtbl,
19 #[cfg(feature = "Storage_Streams")]
20 pub Buffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
21 #[cfg(not(feature = "Storage_Streams"))]
22 Buffer: usize,
23 pub ProtectionInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
24 }
25 #[doc(hidden)]
26 #[repr(transparent)]
27 pub struct IDataProtectionInfo(::windows::core::IUnknown);
28 unsafe impl ::windows::core::Interface for IDataProtectionInfo {
29 type Vtable = IDataProtectionInfo_Vtbl;
30 }
31 impl ::core::clone::Clone for IDataProtectionInfo {
32 fn clone(&self) -> Self {
33 Self(self.0.clone())
34 }
35 }
36 unsafe impl ::windows::core::ComInterface for IDataProtectionInfo {
37 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8420b0c1_5e31_4405_9540_3f943af0cb26);
38 }
39 #[repr(C)]
40 #[doc(hidden)]
41 pub struct IDataProtectionInfo_Vtbl {
42 pub base__: ::windows::core::IInspectable_Vtbl,
43 pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut DataProtectionStatus) -> ::windows::core::HRESULT,
44 pub Identity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
45 }
46 #[doc(hidden)]
47 #[repr(transparent)]
48 pub struct IDataProtectionManagerStatics(::windows::core::IUnknown);
49 unsafe impl ::windows::core::Interface for IDataProtectionManagerStatics {
50 type Vtable = IDataProtectionManagerStatics_Vtbl;
51 }
52 impl ::core::clone::Clone for IDataProtectionManagerStatics {
53 fn clone(&self) -> Self {
54 Self(self.0.clone())
55 }
56 }
57 unsafe impl ::windows::core::ComInterface for IDataProtectionManagerStatics {
58 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb6149b74_9144_4ee4_8a8a_30b5f361430e);
59 }
60 #[repr(C)]
61 #[doc(hidden)]
62 pub struct IDataProtectionManagerStatics_Vtbl {
63 pub base__: ::windows::core::IInspectable_Vtbl,
64 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
65 pub ProtectAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, data: *mut ::core::ffi::c_void, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
66 #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))]
67 ProtectAsync: usize,
68 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
69 pub UnprotectAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, data: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
70 #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))]
71 UnprotectAsync: usize,
72 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
73 pub ProtectStreamAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, unprotectedstream: *mut ::core::ffi::c_void, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, protectedstream: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
74 #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))]
75 ProtectStreamAsync: usize,
76 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
77 pub UnprotectStreamAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, protectedstream: *mut ::core::ffi::c_void, unprotectedstream: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
78 #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))]
79 UnprotectStreamAsync: usize,
80 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
81 pub GetProtectionInfoAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, protecteddata: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
82 #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))]
83 GetProtectionInfoAsync: usize,
84 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
85 pub GetStreamProtectionInfoAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, protectedstream: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
86 #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))]
87 GetStreamProtectionInfoAsync: usize,
88 }
89 #[doc(hidden)]
90 #[repr(transparent)]
91 pub struct IFileProtectionInfo(::windows::core::IUnknown);
92 unsafe impl ::windows::core::Interface for IFileProtectionInfo {
93 type Vtable = IFileProtectionInfo_Vtbl;
94 }
95 impl ::core::clone::Clone for IFileProtectionInfo {
96 fn clone(&self) -> Self {
97 Self(self.0.clone())
98 }
99 }
100 unsafe impl ::windows::core::ComInterface for IFileProtectionInfo {
101 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4ee96486_147e_4dd0_8faf_5253ed91ad0c);
102 }
103 #[repr(C)]
104 #[doc(hidden)]
105 pub struct IFileProtectionInfo_Vtbl {
106 pub base__: ::windows::core::IInspectable_Vtbl,
107 pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut FileProtectionStatus) -> ::windows::core::HRESULT,
108 pub IsRoamable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
109 pub Identity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
110 }
111 #[doc(hidden)]
112 #[repr(transparent)]
113 pub struct IFileProtectionInfo2(::windows::core::IUnknown);
114 unsafe impl ::windows::core::Interface for IFileProtectionInfo2 {
115 type Vtable = IFileProtectionInfo2_Vtbl;
116 }
117 impl ::core::clone::Clone for IFileProtectionInfo2 {
118 fn clone(&self) -> Self {
119 Self(self.0.clone())
120 }
121 }
122 unsafe impl ::windows::core::ComInterface for IFileProtectionInfo2 {
123 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x82123a4c_557a_498d_8e94_944cd5836432);
124 }
125 #[repr(C)]
126 #[doc(hidden)]
127 pub struct IFileProtectionInfo2_Vtbl {
128 pub base__: ::windows::core::IInspectable_Vtbl,
129 pub IsProtectWhileOpenSupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
130 }
131 #[doc(hidden)]
132 #[repr(transparent)]
133 pub struct IFileProtectionManagerStatics(::windows::core::IUnknown);
134 unsafe impl ::windows::core::Interface for IFileProtectionManagerStatics {
135 type Vtable = IFileProtectionManagerStatics_Vtbl;
136 }
137 impl ::core::clone::Clone for IFileProtectionManagerStatics {
138 fn clone(&self) -> Self {
139 Self(self.0.clone())
140 }
141 }
142 unsafe impl ::windows::core::ComInterface for IFileProtectionManagerStatics {
143 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5846fc9b_e613_426b_bb38_88cba1dc9adb);
144 }
145 #[repr(C)]
146 #[doc(hidden)]
147 pub struct IFileProtectionManagerStatics_Vtbl {
148 pub base__: ::windows::core::IInspectable_Vtbl,
149 #[cfg(all(feature = "Foundation", feature = "Storage"))]
150 pub ProtectAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
151 #[cfg(not(all(feature = "Foundation", feature = "Storage")))]
152 ProtectAsync: usize,
153 #[cfg(all(feature = "Foundation", feature = "Storage"))]
154 pub CopyProtectionAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, source: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
155 #[cfg(not(all(feature = "Foundation", feature = "Storage")))]
156 CopyProtectionAsync: usize,
157 #[cfg(all(feature = "Foundation", feature = "Storage"))]
158 pub GetProtectionInfoAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, source: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
159 #[cfg(not(all(feature = "Foundation", feature = "Storage")))]
160 GetProtectionInfoAsync: usize,
161 #[cfg(all(feature = "Foundation", feature = "Storage"))]
162 pub SaveFileAsContainerAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, protectedfile: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
163 #[cfg(not(all(feature = "Foundation", feature = "Storage")))]
164 SaveFileAsContainerAsync: usize,
165 #[cfg(all(feature = "Foundation", feature = "Storage"))]
166 pub LoadFileFromContainerAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, containerfile: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
167 #[cfg(not(all(feature = "Foundation", feature = "Storage")))]
168 LoadFileFromContainerAsync: usize,
169 #[cfg(all(feature = "Foundation", feature = "Storage"))]
170 pub LoadFileFromContainerWithTargetAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, containerfile: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
171 #[cfg(not(all(feature = "Foundation", feature = "Storage")))]
172 LoadFileFromContainerWithTargetAsync: usize,
173 #[cfg(all(feature = "Foundation", feature = "Storage"))]
174 pub CreateProtectedAndOpenAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, parentfolder: *mut ::core::ffi::c_void, desiredname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, collisionoption: super::super::Storage::CreationCollisionOption, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
175 #[cfg(not(all(feature = "Foundation", feature = "Storage")))]
176 CreateProtectedAndOpenAsync: usize,
177 }
178 #[doc(hidden)]
179 #[repr(transparent)]
180 pub struct IFileProtectionManagerStatics2(::windows::core::IUnknown);
181 unsafe impl ::windows::core::Interface for IFileProtectionManagerStatics2 {
182 type Vtable = IFileProtectionManagerStatics2_Vtbl;
183 }
184 impl ::core::clone::Clone for IFileProtectionManagerStatics2 {
185 fn clone(&self) -> Self {
186 Self(self.0.clone())
187 }
188 }
189 unsafe impl ::windows::core::ComInterface for IFileProtectionManagerStatics2 {
190 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x83d2a745_0483_41ab_b2d5_bc7f23d74ebb);
191 }
192 #[repr(C)]
193 #[doc(hidden)]
194 pub struct IFileProtectionManagerStatics2_Vtbl {
195 pub base__: ::windows::core::IInspectable_Vtbl,
196 #[cfg(all(feature = "Foundation", feature = "Storage"))]
197 pub IsContainerAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, file: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
198 #[cfg(not(all(feature = "Foundation", feature = "Storage")))]
199 IsContainerAsync: usize,
200 #[cfg(all(feature = "Foundation", feature = "Storage"))]
201 pub LoadFileFromContainerWithTargetAndNameCollisionOptionAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, containerfile: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, collisionoption: super::super::Storage::NameCollisionOption, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
202 #[cfg(not(all(feature = "Foundation", feature = "Storage")))]
203 LoadFileFromContainerWithTargetAndNameCollisionOptionAsync: usize,
204 #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))]
205 pub SaveFileAsContainerWithSharingAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, protectedfile: *mut ::core::ffi::c_void, sharedwithidentities: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
206 #[cfg(not(all(feature = "Foundation_Collections", feature = "Storage")))]
207 SaveFileAsContainerWithSharingAsync: usize,
208 }
209 #[doc(hidden)]
210 #[repr(transparent)]
211 pub struct IFileProtectionManagerStatics3(::windows::core::IUnknown);
212 unsafe impl ::windows::core::Interface for IFileProtectionManagerStatics3 {
213 type Vtable = IFileProtectionManagerStatics3_Vtbl;
214 }
215 impl ::core::clone::Clone for IFileProtectionManagerStatics3 {
216 fn clone(&self) -> Self {
217 Self(self.0.clone())
218 }
219 }
220 unsafe impl ::windows::core::ComInterface for IFileProtectionManagerStatics3 {
221 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6918849a_624f_46d6_b241_e9cd5fdf3e3f);
222 }
223 #[repr(C)]
224 #[doc(hidden)]
225 pub struct IFileProtectionManagerStatics3_Vtbl {
226 pub base__: ::windows::core::IInspectable_Vtbl,
227 #[cfg(all(feature = "Foundation", feature = "Storage"))]
228 pub UnprotectAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
229 #[cfg(not(all(feature = "Foundation", feature = "Storage")))]
230 UnprotectAsync: usize,
231 #[cfg(all(feature = "Foundation", feature = "Storage"))]
232 pub UnprotectWithOptionsAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, options: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
233 #[cfg(not(all(feature = "Foundation", feature = "Storage")))]
234 UnprotectWithOptionsAsync: usize,
235 }
236 #[doc(hidden)]
237 #[cfg(feature = "deprecated")]
238 #[repr(transparent)]
239 pub struct IFileRevocationManagerStatics(::windows::core::IUnknown);
240 #[cfg(feature = "deprecated")]
241 unsafe impl ::windows::core::Interface for IFileRevocationManagerStatics {
242 type Vtable = IFileRevocationManagerStatics_Vtbl;
243 }
244 #[cfg(feature = "deprecated")]
245 impl ::core::clone::Clone for IFileRevocationManagerStatics {
246 fn clone(&self) -> Self {
247 Self(self.0.clone())
248 }
249 }
250 #[cfg(feature = "deprecated")]
251 unsafe impl ::windows::core::ComInterface for IFileRevocationManagerStatics {
252 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x256bbc3d_1c5d_4260_8c75_9144cfb78ba9);
253 }
254 #[cfg(feature = "deprecated")]
255 #[repr(C)]
256 #[doc(hidden)]
257 pub struct IFileRevocationManagerStatics_Vtbl {
258 pub base__: ::windows::core::IInspectable_Vtbl,
259 #[cfg(all(feature = "Foundation", feature = "Storage", feature = "deprecated"))]
260 pub ProtectAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, storageitem: *mut ::core::ffi::c_void, enterpriseidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
261 #[cfg(not(all(feature = "Foundation", feature = "Storage", feature = "deprecated")))]
262 ProtectAsync: usize,
263 #[cfg(all(feature = "Foundation", feature = "Storage", feature = "deprecated"))]
264 pub CopyProtectionAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourcestorageitem: *mut ::core::ffi::c_void, targetstorageitem: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
265 #[cfg(not(all(feature = "Foundation", feature = "Storage", feature = "deprecated")))]
266 CopyProtectionAsync: usize,
267 #[cfg(feature = "deprecated")]
268 pub Revoke: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enterpriseidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
269 #[cfg(not(feature = "deprecated"))]
270 Revoke: usize,
271 #[cfg(all(feature = "Foundation", feature = "Storage", feature = "deprecated"))]
272 pub GetStatusAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, storageitem: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
273 #[cfg(not(all(feature = "Foundation", feature = "Storage", feature = "deprecated")))]
274 GetStatusAsync: usize,
275 }
276 #[doc(hidden)]
277 #[repr(transparent)]
278 pub struct IFileUnprotectOptions(::windows::core::IUnknown);
279 unsafe impl ::windows::core::Interface for IFileUnprotectOptions {
280 type Vtable = IFileUnprotectOptions_Vtbl;
281 }
282 impl ::core::clone::Clone for IFileUnprotectOptions {
283 fn clone(&self) -> Self {
284 Self(self.0.clone())
285 }
286 }
287 unsafe impl ::windows::core::ComInterface for IFileUnprotectOptions {
288 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7d1312f1_3b0d_4dd8_a1f8_1ec53822e2f3);
289 }
290 #[repr(C)]
291 #[doc(hidden)]
292 pub struct IFileUnprotectOptions_Vtbl {
293 pub base__: ::windows::core::IInspectable_Vtbl,
294 pub SetAudit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
295 pub Audit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
296 }
297 #[doc(hidden)]
298 #[repr(transparent)]
299 pub struct IFileUnprotectOptionsFactory(::windows::core::IUnknown);
300 unsafe impl ::windows::core::Interface for IFileUnprotectOptionsFactory {
301 type Vtable = IFileUnprotectOptionsFactory_Vtbl;
302 }
303 impl ::core::clone::Clone for IFileUnprotectOptionsFactory {
304 fn clone(&self) -> Self {
305 Self(self.0.clone())
306 }
307 }
308 unsafe impl ::windows::core::ComInterface for IFileUnprotectOptionsFactory {
309 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x51aeb39c_da8c_4c3f_9bfb_cb73a7cce0dd);
310 }
311 #[repr(C)]
312 #[doc(hidden)]
313 pub struct IFileUnprotectOptionsFactory_Vtbl {
314 pub base__: ::windows::core::IInspectable_Vtbl,
315 pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audit: bool, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
316 }
317 #[doc(hidden)]
318 #[repr(transparent)]
319 pub struct IProtectedAccessResumedEventArgs(::windows::core::IUnknown);
320 unsafe impl ::windows::core::Interface for IProtectedAccessResumedEventArgs {
321 type Vtable = IProtectedAccessResumedEventArgs_Vtbl;
322 }
323 impl ::core::clone::Clone for IProtectedAccessResumedEventArgs {
324 fn clone(&self) -> Self {
325 Self(self.0.clone())
326 }
327 }
328 unsafe impl ::windows::core::ComInterface for IProtectedAccessResumedEventArgs {
329 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xac4dca59_5d80_4e95_8c5f_8539450eebe0);
330 }
331 #[repr(C)]
332 #[doc(hidden)]
333 pub struct IProtectedAccessResumedEventArgs_Vtbl {
334 pub base__: ::windows::core::IInspectable_Vtbl,
335 #[cfg(feature = "Foundation_Collections")]
336 pub Identities: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
337 #[cfg(not(feature = "Foundation_Collections"))]
338 Identities: usize,
339 }
340 #[doc(hidden)]
341 #[repr(transparent)]
342 pub struct IProtectedAccessSuspendingEventArgs(::windows::core::IUnknown);
343 unsafe impl ::windows::core::Interface for IProtectedAccessSuspendingEventArgs {
344 type Vtable = IProtectedAccessSuspendingEventArgs_Vtbl;
345 }
346 impl ::core::clone::Clone for IProtectedAccessSuspendingEventArgs {
347 fn clone(&self) -> Self {
348 Self(self.0.clone())
349 }
350 }
351 unsafe impl ::windows::core::ComInterface for IProtectedAccessSuspendingEventArgs {
352 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x75a193e0_a344_429f_b975_04fc1f88c185);
353 }
354 #[repr(C)]
355 #[doc(hidden)]
356 pub struct IProtectedAccessSuspendingEventArgs_Vtbl {
357 pub base__: ::windows::core::IInspectable_Vtbl,
358 #[cfg(feature = "Foundation_Collections")]
359 pub Identities: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
360 #[cfg(not(feature = "Foundation_Collections"))]
361 Identities: usize,
362 #[cfg(feature = "Foundation")]
363 pub Deadline: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::DateTime) -> ::windows::core::HRESULT,
364 #[cfg(not(feature = "Foundation"))]
365 Deadline: usize,
366 #[cfg(feature = "Foundation")]
367 pub GetDeferral: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
368 #[cfg(not(feature = "Foundation"))]
369 GetDeferral: usize,
370 }
371 #[doc(hidden)]
372 #[repr(transparent)]
373 pub struct IProtectedContainerExportResult(::windows::core::IUnknown);
374 unsafe impl ::windows::core::Interface for IProtectedContainerExportResult {
375 type Vtable = IProtectedContainerExportResult_Vtbl;
376 }
377 impl ::core::clone::Clone for IProtectedContainerExportResult {
378 fn clone(&self) -> Self {
379 Self(self.0.clone())
380 }
381 }
382 unsafe impl ::windows::core::ComInterface for IProtectedContainerExportResult {
383 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3948ef95_f7fb_4b42_afb0_df70b41543c1);
384 }
385 #[repr(C)]
386 #[doc(hidden)]
387 pub struct IProtectedContainerExportResult_Vtbl {
388 pub base__: ::windows::core::IInspectable_Vtbl,
389 pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ProtectedImportExportStatus) -> ::windows::core::HRESULT,
390 #[cfg(feature = "Storage")]
391 pub File: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
392 #[cfg(not(feature = "Storage"))]
393 File: usize,
394 }
395 #[doc(hidden)]
396 #[repr(transparent)]
397 pub struct IProtectedContainerImportResult(::windows::core::IUnknown);
398 unsafe impl ::windows::core::Interface for IProtectedContainerImportResult {
399 type Vtable = IProtectedContainerImportResult_Vtbl;
400 }
401 impl ::core::clone::Clone for IProtectedContainerImportResult {
402 fn clone(&self) -> Self {
403 Self(self.0.clone())
404 }
405 }
406 unsafe impl ::windows::core::ComInterface for IProtectedContainerImportResult {
407 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcdb780d1_e7bb_4d1a_9339_34dc41149f9b);
408 }
409 #[repr(C)]
410 #[doc(hidden)]
411 pub struct IProtectedContainerImportResult_Vtbl {
412 pub base__: ::windows::core::IInspectable_Vtbl,
413 pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ProtectedImportExportStatus) -> ::windows::core::HRESULT,
414 #[cfg(feature = "Storage")]
415 pub File: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
416 #[cfg(not(feature = "Storage"))]
417 File: usize,
418 }
419 #[doc(hidden)]
420 #[repr(transparent)]
421 pub struct IProtectedContentRevokedEventArgs(::windows::core::IUnknown);
422 unsafe impl ::windows::core::Interface for IProtectedContentRevokedEventArgs {
423 type Vtable = IProtectedContentRevokedEventArgs_Vtbl;
424 }
425 impl ::core::clone::Clone for IProtectedContentRevokedEventArgs {
426 fn clone(&self) -> Self {
427 Self(self.0.clone())
428 }
429 }
430 unsafe impl ::windows::core::ComInterface for IProtectedContentRevokedEventArgs {
431 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x63686821_58b9_47ee_93d9_f0f741cf43f0);
432 }
433 #[repr(C)]
434 #[doc(hidden)]
435 pub struct IProtectedContentRevokedEventArgs_Vtbl {
436 pub base__: ::windows::core::IInspectable_Vtbl,
437 #[cfg(feature = "Foundation_Collections")]
438 pub Identities: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
439 #[cfg(not(feature = "Foundation_Collections"))]
440 Identities: usize,
441 }
442 #[doc(hidden)]
443 #[repr(transparent)]
444 pub struct IProtectedFileCreateResult(::windows::core::IUnknown);
445 unsafe impl ::windows::core::Interface for IProtectedFileCreateResult {
446 type Vtable = IProtectedFileCreateResult_Vtbl;
447 }
448 impl ::core::clone::Clone for IProtectedFileCreateResult {
449 fn clone(&self) -> Self {
450 Self(self.0.clone())
451 }
452 }
453 unsafe impl ::windows::core::ComInterface for IProtectedFileCreateResult {
454 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x28e3ed6a_e9e7_4a03_9f53_bdb16172699b);
455 }
456 #[repr(C)]
457 #[doc(hidden)]
458 pub struct IProtectedFileCreateResult_Vtbl {
459 pub base__: ::windows::core::IInspectable_Vtbl,
460 #[cfg(feature = "Storage")]
461 pub File: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
462 #[cfg(not(feature = "Storage"))]
463 File: usize,
464 #[cfg(feature = "Storage_Streams")]
465 pub Stream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
466 #[cfg(not(feature = "Storage_Streams"))]
467 Stream: usize,
468 pub ProtectionInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
469 }
470 #[doc(hidden)]
471 #[repr(transparent)]
472 pub struct IProtectionPolicyAuditInfo(::windows::core::IUnknown);
473 unsafe impl ::windows::core::Interface for IProtectionPolicyAuditInfo {
474 type Vtable = IProtectionPolicyAuditInfo_Vtbl;
475 }
476 impl ::core::clone::Clone for IProtectionPolicyAuditInfo {
477 fn clone(&self) -> Self {
478 Self(self.0.clone())
479 }
480 }
481 unsafe impl ::windows::core::ComInterface for IProtectionPolicyAuditInfo {
482 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x425ab7e4_feb7_44fc_b3bb_c3c4d7ecbebb);
483 }
484 #[repr(C)]
485 #[doc(hidden)]
486 pub struct IProtectionPolicyAuditInfo_Vtbl {
487 pub base__: ::windows::core::IInspectable_Vtbl,
488 pub SetAction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ProtectionPolicyAuditAction) -> ::windows::core::HRESULT,
489 pub Action: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ProtectionPolicyAuditAction) -> ::windows::core::HRESULT,
490 pub SetDataDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
491 pub DataDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
492 pub SetSourceDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
493 pub SourceDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
494 pub SetTargetDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
495 pub TargetDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
496 }
497 #[doc(hidden)]
498 #[repr(transparent)]
499 pub struct IProtectionPolicyAuditInfoFactory(::windows::core::IUnknown);
500 unsafe impl ::windows::core::Interface for IProtectionPolicyAuditInfoFactory {
501 type Vtable = IProtectionPolicyAuditInfoFactory_Vtbl;
502 }
503 impl ::core::clone::Clone for IProtectionPolicyAuditInfoFactory {
504 fn clone(&self) -> Self {
505 Self(self.0.clone())
506 }
507 }
508 unsafe impl ::windows::core::ComInterface for IProtectionPolicyAuditInfoFactory {
509 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7ed4180b_92e8_42d5_83d4_25440b423549);
510 }
511 #[repr(C)]
512 #[doc(hidden)]
513 pub struct IProtectionPolicyAuditInfoFactory_Vtbl {
514 pub base__: ::windows::core::IInspectable_Vtbl,
515 pub Create: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, action: ProtectionPolicyAuditAction, datadescription: ::std::mem::MaybeUninit<::windows::core::HSTRING>, sourcedescription: ::std::mem::MaybeUninit<::windows::core::HSTRING>, targetdescription: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
516 pub CreateWithActionAndDataDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, action: ProtectionPolicyAuditAction, datadescription: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
517 }
518 #[doc(hidden)]
519 #[repr(transparent)]
520 pub struct IProtectionPolicyManager(::windows::core::IUnknown);
521 unsafe impl ::windows::core::Interface for IProtectionPolicyManager {
522 type Vtable = IProtectionPolicyManager_Vtbl;
523 }
524 impl ::core::clone::Clone for IProtectionPolicyManager {
525 fn clone(&self) -> Self {
526 Self(self.0.clone())
527 }
528 }
529 unsafe impl ::windows::core::ComInterface for IProtectionPolicyManager {
530 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd5703e18_a08d_47e6_a240_9934d7165eb5);
531 }
532 #[repr(C)]
533 #[doc(hidden)]
534 pub struct IProtectionPolicyManager_Vtbl {
535 pub base__: ::windows::core::IInspectable_Vtbl,
536 pub SetIdentity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
537 pub Identity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
538 }
539 #[doc(hidden)]
540 #[repr(transparent)]
541 pub struct IProtectionPolicyManager2(::windows::core::IUnknown);
542 unsafe impl ::windows::core::Interface for IProtectionPolicyManager2 {
543 type Vtable = IProtectionPolicyManager2_Vtbl;
544 }
545 impl ::core::clone::Clone for IProtectionPolicyManager2 {
546 fn clone(&self) -> Self {
547 Self(self.0.clone())
548 }
549 }
550 unsafe impl ::windows::core::ComInterface for IProtectionPolicyManager2 {
551 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xabf7527a_8435_417f_99b6_51beaf365888);
552 }
553 #[repr(C)]
554 #[doc(hidden)]
555 pub struct IProtectionPolicyManager2_Vtbl {
556 pub base__: ::windows::core::IInspectable_Vtbl,
557 pub SetShowEnterpriseIndicator: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
558 pub ShowEnterpriseIndicator: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
559 }
560 #[doc(hidden)]
561 #[repr(transparent)]
562 pub struct IProtectionPolicyManagerStatics(::windows::core::IUnknown);
563 unsafe impl ::windows::core::Interface for IProtectionPolicyManagerStatics {
564 type Vtable = IProtectionPolicyManagerStatics_Vtbl;
565 }
566 impl ::core::clone::Clone for IProtectionPolicyManagerStatics {
567 fn clone(&self) -> Self {
568 Self(self.0.clone())
569 }
570 }
571 unsafe impl ::windows::core::ComInterface for IProtectionPolicyManagerStatics {
572 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc0bffc66_8c3d_4d56_8804_c68f0ad32ec5);
573 }
574 #[repr(C)]
575 #[doc(hidden)]
576 pub struct IProtectionPolicyManagerStatics_Vtbl {
577 pub base__: ::windows::core::IInspectable_Vtbl,
578 pub IsIdentityManaged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut bool) -> ::windows::core::HRESULT,
579 pub TryApplyProcessUIPolicy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut bool) -> ::windows::core::HRESULT,
580 pub ClearProcessUIPolicy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
581 pub CreateCurrentThreadNetworkContext: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
582 #[cfg(all(feature = "Foundation", feature = "Networking"))]
583 pub GetPrimaryManagedIdentityForNetworkEndpointAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, endpointhost: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
584 #[cfg(not(all(feature = "Foundation", feature = "Networking")))]
585 GetPrimaryManagedIdentityForNetworkEndpointAsync: usize,
586 pub RevokeContent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
587 pub GetForCurrentView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
588 #[cfg(feature = "Foundation")]
589 pub ProtectedAccessSuspending: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
590 #[cfg(not(feature = "Foundation"))]
591 ProtectedAccessSuspending: usize,
592 #[cfg(feature = "Foundation")]
593 pub RemoveProtectedAccessSuspending: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
594 #[cfg(not(feature = "Foundation"))]
595 RemoveProtectedAccessSuspending: usize,
596 #[cfg(feature = "Foundation")]
597 pub ProtectedAccessResumed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
598 #[cfg(not(feature = "Foundation"))]
599 ProtectedAccessResumed: usize,
600 #[cfg(feature = "Foundation")]
601 pub RemoveProtectedAccessResumed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
602 #[cfg(not(feature = "Foundation"))]
603 RemoveProtectedAccessResumed: usize,
604 #[cfg(feature = "Foundation")]
605 pub ProtectedContentRevoked: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
606 #[cfg(not(feature = "Foundation"))]
607 ProtectedContentRevoked: usize,
608 #[cfg(feature = "Foundation")]
609 pub RemoveProtectedContentRevoked: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
610 #[cfg(not(feature = "Foundation"))]
611 RemoveProtectedContentRevoked: usize,
612 pub CheckAccess: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, targetidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut ProtectionPolicyEvaluationResult) -> ::windows::core::HRESULT,
613 #[cfg(feature = "Foundation")]
614 pub RequestAccessAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, targetidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
615 #[cfg(not(feature = "Foundation"))]
616 RequestAccessAsync: usize,
617 }
618 #[doc(hidden)]
619 #[repr(transparent)]
620 pub struct IProtectionPolicyManagerStatics2(::windows::core::IUnknown);
621 unsafe impl ::windows::core::Interface for IProtectionPolicyManagerStatics2 {
622 type Vtable = IProtectionPolicyManagerStatics2_Vtbl;
623 }
624 impl ::core::clone::Clone for IProtectionPolicyManagerStatics2 {
625 fn clone(&self) -> Self {
626 Self(self.0.clone())
627 }
628 }
629 unsafe impl ::windows::core::ComInterface for IProtectionPolicyManagerStatics2 {
630 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb68f9a8c_39e0_4649_b2e4_070ab8a579b3);
631 }
632 #[repr(C)]
633 #[doc(hidden)]
634 pub struct IProtectionPolicyManagerStatics2_Vtbl {
635 pub base__: ::windows::core::IInspectable_Vtbl,
636 #[cfg(feature = "Foundation")]
637 pub HasContentBeenRevokedSince: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, since: super::super::Foundation::DateTime, result__: *mut bool) -> ::windows::core::HRESULT,
638 #[cfg(not(feature = "Foundation"))]
639 HasContentBeenRevokedSince: usize,
640 pub CheckAccessForApp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, apppackagefamilyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut ProtectionPolicyEvaluationResult) -> ::windows::core::HRESULT,
641 #[cfg(feature = "Foundation")]
642 pub RequestAccessForAppAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, apppackagefamilyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
643 #[cfg(not(feature = "Foundation"))]
644 RequestAccessForAppAsync: usize,
645 pub GetEnforcementLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut EnforcementLevel) -> ::windows::core::HRESULT,
646 pub IsUserDecryptionAllowed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut bool) -> ::windows::core::HRESULT,
647 pub IsProtectionUnderLockRequired: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut bool) -> ::windows::core::HRESULT,
648 #[cfg(feature = "Foundation")]
649 pub PolicyChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
650 #[cfg(not(feature = "Foundation"))]
651 PolicyChanged: usize,
652 #[cfg(feature = "Foundation")]
653 pub RemovePolicyChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
654 #[cfg(not(feature = "Foundation"))]
655 RemovePolicyChanged: usize,
656 pub IsProtectionEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
657 }
658 #[doc(hidden)]
659 #[repr(transparent)]
660 pub struct IProtectionPolicyManagerStatics3(::windows::core::IUnknown);
661 unsafe impl ::windows::core::Interface for IProtectionPolicyManagerStatics3 {
662 type Vtable = IProtectionPolicyManagerStatics3_Vtbl;
663 }
664 impl ::core::clone::Clone for IProtectionPolicyManagerStatics3 {
665 fn clone(&self) -> Self {
666 Self(self.0.clone())
667 }
668 }
669 unsafe impl ::windows::core::ComInterface for IProtectionPolicyManagerStatics3 {
670 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x48ff9e8c_6a6f_4d9f_bced_18ab537aa015);
671 }
672 #[repr(C)]
673 #[doc(hidden)]
674 pub struct IProtectionPolicyManagerStatics3_Vtbl {
675 pub base__: ::windows::core::IInspectable_Vtbl,
676 #[cfg(feature = "Foundation")]
677 pub RequestAccessWithAuditingInfoAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, targetidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, auditinfo: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
678 #[cfg(not(feature = "Foundation"))]
679 RequestAccessWithAuditingInfoAsync: usize,
680 #[cfg(feature = "Foundation")]
681 pub RequestAccessWithMessageAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, targetidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, auditinfo: *mut ::core::ffi::c_void, messagefromapp: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
682 #[cfg(not(feature = "Foundation"))]
683 RequestAccessWithMessageAsync: usize,
684 #[cfg(feature = "Foundation")]
685 pub RequestAccessForAppWithAuditingInfoAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, apppackagefamilyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, auditinfo: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
686 #[cfg(not(feature = "Foundation"))]
687 RequestAccessForAppWithAuditingInfoAsync: usize,
688 #[cfg(feature = "Foundation")]
689 pub RequestAccessForAppWithMessageAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, apppackagefamilyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, auditinfo: *mut ::core::ffi::c_void, messagefromapp: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
690 #[cfg(not(feature = "Foundation"))]
691 RequestAccessForAppWithMessageAsync: usize,
692 pub LogAuditEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, targetidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, auditinfo: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
693 }
694 #[doc(hidden)]
695 #[repr(transparent)]
696 pub struct IProtectionPolicyManagerStatics4(::windows::core::IUnknown);
697 unsafe impl ::windows::core::Interface for IProtectionPolicyManagerStatics4 {
698 type Vtable = IProtectionPolicyManagerStatics4_Vtbl;
699 }
700 impl ::core::clone::Clone for IProtectionPolicyManagerStatics4 {
701 fn clone(&self) -> Self {
702 Self(self.0.clone())
703 }
704 }
705 unsafe impl ::windows::core::ComInterface for IProtectionPolicyManagerStatics4 {
706 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x20b794db_ccbd_490f_8c83_49ccb77aea6c);
707 }
708 #[repr(C)]
709 #[doc(hidden)]
710 pub struct IProtectionPolicyManagerStatics4_Vtbl {
711 pub base__: ::windows::core::IInspectable_Vtbl,
712 pub IsRoamableProtectionEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut bool) -> ::windows::core::HRESULT,
713 #[cfg(feature = "Foundation")]
714 pub RequestAccessWithBehaviorAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, targetidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, auditinfo: *mut ::core::ffi::c_void, messagefromapp: ::std::mem::MaybeUninit<::windows::core::HSTRING>, behavior: ProtectionPolicyRequestAccessBehavior, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
715 #[cfg(not(feature = "Foundation"))]
716 RequestAccessWithBehaviorAsync: usize,
717 #[cfg(feature = "Foundation")]
718 pub RequestAccessForAppWithBehaviorAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceidentity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, apppackagefamilyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, auditinfo: *mut ::core::ffi::c_void, messagefromapp: ::std::mem::MaybeUninit<::windows::core::HSTRING>, behavior: ProtectionPolicyRequestAccessBehavior, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
719 #[cfg(not(feature = "Foundation"))]
720 RequestAccessForAppWithBehaviorAsync: usize,
721 #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))]
722 pub RequestAccessToFilesForAppAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceitemlist: *mut ::core::ffi::c_void, apppackagefamilyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, auditinfo: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
723 #[cfg(not(all(feature = "Foundation_Collections", feature = "Storage")))]
724 RequestAccessToFilesForAppAsync: usize,
725 #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))]
726 pub RequestAccessToFilesForAppWithMessageAndBehaviorAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceitemlist: *mut ::core::ffi::c_void, apppackagefamilyname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, auditinfo: *mut ::core::ffi::c_void, messagefromapp: ::std::mem::MaybeUninit<::windows::core::HSTRING>, behavior: ProtectionPolicyRequestAccessBehavior, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
727 #[cfg(not(all(feature = "Foundation_Collections", feature = "Storage")))]
728 RequestAccessToFilesForAppWithMessageAndBehaviorAsync: usize,
729 #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))]
730 pub RequestAccessToFilesForProcessAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceitemlist: *mut ::core::ffi::c_void, processid: u32, auditinfo: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
731 #[cfg(not(all(feature = "Foundation_Collections", feature = "Storage")))]
732 RequestAccessToFilesForProcessAsync: usize,
733 #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))]
734 pub RequestAccessToFilesForProcessWithMessageAndBehaviorAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sourceitemlist: *mut ::core::ffi::c_void, processid: u32, auditinfo: *mut ::core::ffi::c_void, messagefromapp: ::std::mem::MaybeUninit<::windows::core::HSTRING>, behavior: ProtectionPolicyRequestAccessBehavior, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
735 #[cfg(not(all(feature = "Foundation_Collections", feature = "Storage")))]
736 RequestAccessToFilesForProcessWithMessageAndBehaviorAsync: usize,
737 #[cfg(all(feature = "Foundation", feature = "Storage"))]
738 pub IsFileProtectionRequiredAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, target: *mut ::core::ffi::c_void, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
739 #[cfg(not(all(feature = "Foundation", feature = "Storage")))]
740 IsFileProtectionRequiredAsync: usize,
741 #[cfg(all(feature = "Foundation", feature = "Storage"))]
742 pub IsFileProtectionRequiredForNewFileAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, parentfolder: *mut ::core::ffi::c_void, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, desiredname: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
743 #[cfg(not(all(feature = "Foundation", feature = "Storage")))]
744 IsFileProtectionRequiredForNewFileAsync: usize,
745 pub PrimaryManagedIdentity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
746 pub GetPrimaryManagedIdentityForIdentity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, identity: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
747 }
748 #[doc(hidden)]
749 #[repr(transparent)]
750 pub struct IThreadNetworkContext(::windows::core::IUnknown);
751 unsafe impl ::windows::core::Interface for IThreadNetworkContext {
752 type Vtable = IThreadNetworkContext_Vtbl;
753 }
754 impl ::core::clone::Clone for IThreadNetworkContext {
755 fn clone(&self) -> Self {
756 Self(self.0.clone())
757 }
758 }
759 unsafe impl ::windows::core::ComInterface for IThreadNetworkContext {
760 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfa4ea8e9_ef13_405a_b12c_d7348c6f41fc);
761 }
762 #[repr(C)]
763 #[doc(hidden)]
764 pub struct IThreadNetworkContext_Vtbl {
765 pub base__: ::windows::core::IInspectable_Vtbl,
766 }
767 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
768 #[repr(transparent)]
769 pub struct BufferProtectUnprotectResult(::windows::core::IUnknown);
770 impl BufferProtectUnprotectResult {
771 #[doc = "*Required features: `\"Storage_Streams\"`*"]
772 #[cfg(feature = "Storage_Streams")]
773 pub fn Buffer(&self) -> ::windows::core::Result<super::super::Storage::Streams::IBuffer> {
774 let this = self;
775 unsafe {
776 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IBuffer>();
777 (::windows::core::Interface::vtable(this).Buffer)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
778 }
779 }
780 pub fn ProtectionInfo(&self) -> ::windows::core::Result<DataProtectionInfo> {
781 let this = self;
782 unsafe {
783 let mut result__ = ::windows::core::zeroed::<DataProtectionInfo>();
784 (::windows::core::Interface::vtable(this).ProtectionInfo)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
785 }
786 }
787 }
788 impl ::core::cmp::PartialEq for BufferProtectUnprotectResult {
789 fn eq(&self, other: &Self) -> bool {
790 self.0 == other.0
791 }
792 }
793 impl ::core::cmp::Eq for BufferProtectUnprotectResult {}
794 impl ::core::fmt::Debug for BufferProtectUnprotectResult {
795 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
796 f.debug_tuple("BufferProtectUnprotectResult").field(&self.0).finish()
797 }
798 }
799 impl ::windows::core::RuntimeType for BufferProtectUnprotectResult {
800 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.EnterpriseData.BufferProtectUnprotectResult;{47995edc-6cec-4e3a-b251-9e7485d79e7a})");
801 }
802 impl ::core::clone::Clone for BufferProtectUnprotectResult {
803 fn clone(&self) -> Self {
804 Self(self.0.clone())
805 }
806 }
807 unsafe impl ::windows::core::Interface for BufferProtectUnprotectResult {
808 type Vtable = IBufferProtectUnprotectResult_Vtbl;
809 }
810 unsafe impl ::windows::core::ComInterface for BufferProtectUnprotectResult {
811 const IID: ::windows::core::GUID = <IBufferProtectUnprotectResult as ::windows::core::ComInterface>::IID;
812 }
813 impl ::windows::core::RuntimeName for BufferProtectUnprotectResult {
814 const NAME: &'static str = "Windows.Security.EnterpriseData.BufferProtectUnprotectResult";
815 }
816 ::windows::imp::interface_hierarchy!(BufferProtectUnprotectResult, ::windows::core::IUnknown, ::windows::core::IInspectable);
817 unsafe impl ::core::marker::Send for BufferProtectUnprotectResult {}
818 unsafe impl ::core::marker::Sync for BufferProtectUnprotectResult {}
819 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
820 #[repr(transparent)]
821 pub struct DataProtectionInfo(::windows::core::IUnknown);
822 impl DataProtectionInfo {
823 pub fn Status(&self) -> ::windows::core::Result<DataProtectionStatus> {
824 let this = self;
825 unsafe {
826 let mut result__ = ::windows::core::zeroed::<DataProtectionStatus>();
827 (::windows::core::Interface::vtable(this).Status)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
828 }
829 }
830 pub fn Identity(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
831 let this = self;
832 unsafe {
833 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
834 (::windows::core::Interface::vtable(this).Identity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
835 }
836 }
837 }
838 impl ::core::cmp::PartialEq for DataProtectionInfo {
839 fn eq(&self, other: &Self) -> bool {
840 self.0 == other.0
841 }
842 }
843 impl ::core::cmp::Eq for DataProtectionInfo {}
844 impl ::core::fmt::Debug for DataProtectionInfo {
845 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
846 f.debug_tuple("DataProtectionInfo").field(&self.0).finish()
847 }
848 }
849 impl ::windows::core::RuntimeType for DataProtectionInfo {
850 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.EnterpriseData.DataProtectionInfo;{8420b0c1-5e31-4405-9540-3f943af0cb26})");
851 }
852 impl ::core::clone::Clone for DataProtectionInfo {
853 fn clone(&self) -> Self {
854 Self(self.0.clone())
855 }
856 }
857 unsafe impl ::windows::core::Interface for DataProtectionInfo {
858 type Vtable = IDataProtectionInfo_Vtbl;
859 }
860 unsafe impl ::windows::core::ComInterface for DataProtectionInfo {
861 const IID: ::windows::core::GUID = <IDataProtectionInfo as ::windows::core::ComInterface>::IID;
862 }
863 impl ::windows::core::RuntimeName for DataProtectionInfo {
864 const NAME: &'static str = "Windows.Security.EnterpriseData.DataProtectionInfo";
865 }
866 ::windows::imp::interface_hierarchy!(DataProtectionInfo, ::windows::core::IUnknown, ::windows::core::IInspectable);
867 unsafe impl ::core::marker::Send for DataProtectionInfo {}
868 unsafe impl ::core::marker::Sync for DataProtectionInfo {}
869 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
870 pub struct DataProtectionManager;
871 impl DataProtectionManager {
872 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
873 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
874 pub fn ProtectAsync<P0>(data: P0, identity: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<BufferProtectUnprotectResult>>
875 where
876 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IBuffer>,
877 {
878 Self::IDataProtectionManagerStatics(|this| unsafe {
879 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<BufferProtectUnprotectResult>>();
880 (::windows::core::Interface::vtable(this).ProtectAsync)(::windows::core::Interface::as_raw(this), data.try_into_param()?.abi(), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__)
881 })
882 }
883 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
884 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
885 pub fn UnprotectAsync<P0>(data: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<BufferProtectUnprotectResult>>
886 where
887 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IBuffer>,
888 {
889 Self::IDataProtectionManagerStatics(|this| unsafe {
890 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<BufferProtectUnprotectResult>>();
891 (::windows::core::Interface::vtable(this).UnprotectAsync)(::windows::core::Interface::as_raw(this), data.try_into_param()?.abi(), &mut result__).from_abi(result__)
892 })
893 }
894 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
895 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
896 pub fn ProtectStreamAsync<P0, P1>(unprotectedstream: P0, identity: &::windows::core::HSTRING, protectedstream: P1) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<DataProtectionInfo>>
897 where
898 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IInputStream>,
899 P1: ::windows::core::TryIntoParam<super::super::Storage::Streams::IOutputStream>,
900 {
901 Self::IDataProtectionManagerStatics(|this| unsafe {
902 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<DataProtectionInfo>>();
903 (::windows::core::Interface::vtable(this).ProtectStreamAsync)(::windows::core::Interface::as_raw(this), unprotectedstream.try_into_param()?.abi(), ::core::mem::transmute_copy(identity), protectedstream.try_into_param()?.abi(), &mut result__).from_abi(result__)
904 })
905 }
906 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
907 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
908 pub fn UnprotectStreamAsync<P0, P1>(protectedstream: P0, unprotectedstream: P1) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<DataProtectionInfo>>
909 where
910 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IInputStream>,
911 P1: ::windows::core::TryIntoParam<super::super::Storage::Streams::IOutputStream>,
912 {
913 Self::IDataProtectionManagerStatics(|this| unsafe {
914 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<DataProtectionInfo>>();
915 (::windows::core::Interface::vtable(this).UnprotectStreamAsync)(::windows::core::Interface::as_raw(this), protectedstream.try_into_param()?.abi(), unprotectedstream.try_into_param()?.abi(), &mut result__).from_abi(result__)
916 })
917 }
918 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
919 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
920 pub fn GetProtectionInfoAsync<P0>(protecteddata: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<DataProtectionInfo>>
921 where
922 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IBuffer>,
923 {
924 Self::IDataProtectionManagerStatics(|this| unsafe {
925 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<DataProtectionInfo>>();
926 (::windows::core::Interface::vtable(this).GetProtectionInfoAsync)(::windows::core::Interface::as_raw(this), protecteddata.try_into_param()?.abi(), &mut result__).from_abi(result__)
927 })
928 }
929 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
930 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
931 pub fn GetStreamProtectionInfoAsync<P0>(protectedstream: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<DataProtectionInfo>>
932 where
933 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IInputStream>,
934 {
935 Self::IDataProtectionManagerStatics(|this| unsafe {
936 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<DataProtectionInfo>>();
937 (::windows::core::Interface::vtable(this).GetStreamProtectionInfoAsync)(::windows::core::Interface::as_raw(this), protectedstream.try_into_param()?.abi(), &mut result__).from_abi(result__)
938 })
939 }
940 #[doc(hidden)]
941 pub fn IDataProtectionManagerStatics<R, F: FnOnce(&IDataProtectionManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
942 static SHARED: ::windows::imp::FactoryCache<DataProtectionManager, IDataProtectionManagerStatics> = ::windows::imp::FactoryCache::new();
943 SHARED.call(callback)
944 }
945 }
946 impl ::windows::core::RuntimeName for DataProtectionManager {
947 const NAME: &'static str = "Windows.Security.EnterpriseData.DataProtectionManager";
948 }
949 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
950 #[repr(transparent)]
951 pub struct FileProtectionInfo(::windows::core::IUnknown);
952 impl FileProtectionInfo {
953 pub fn Status(&self) -> ::windows::core::Result<FileProtectionStatus> {
954 let this = self;
955 unsafe {
956 let mut result__ = ::windows::core::zeroed::<FileProtectionStatus>();
957 (::windows::core::Interface::vtable(this).Status)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
958 }
959 }
960 pub fn IsRoamable(&self) -> ::windows::core::Result<bool> {
961 let this = self;
962 unsafe {
963 let mut result__ = ::windows::core::zeroed::<bool>();
964 (::windows::core::Interface::vtable(this).IsRoamable)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
965 }
966 }
967 pub fn Identity(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
968 let this = self;
969 unsafe {
970 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
971 (::windows::core::Interface::vtable(this).Identity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
972 }
973 }
974 pub fn IsProtectWhileOpenSupported(&self) -> ::windows::core::Result<bool> {
975 let this = &::windows::core::ComInterface::cast::<IFileProtectionInfo2>(self)?;
976 unsafe {
977 let mut result__ = ::windows::core::zeroed::<bool>();
978 (::windows::core::Interface::vtable(this).IsProtectWhileOpenSupported)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
979 }
980 }
981 }
982 impl ::core::cmp::PartialEq for FileProtectionInfo {
983 fn eq(&self, other: &Self) -> bool {
984 self.0 == other.0
985 }
986 }
987 impl ::core::cmp::Eq for FileProtectionInfo {}
988 impl ::core::fmt::Debug for FileProtectionInfo {
989 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
990 f.debug_tuple("FileProtectionInfo").field(&self.0).finish()
991 }
992 }
993 impl ::windows::core::RuntimeType for FileProtectionInfo {
994 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.EnterpriseData.FileProtectionInfo;{4ee96486-147e-4dd0-8faf-5253ed91ad0c})");
995 }
996 impl ::core::clone::Clone for FileProtectionInfo {
997 fn clone(&self) -> Self {
998 Self(self.0.clone())
999 }
1000 }
1001 unsafe impl ::windows::core::Interface for FileProtectionInfo {
1002 type Vtable = IFileProtectionInfo_Vtbl;
1003 }
1004 unsafe impl ::windows::core::ComInterface for FileProtectionInfo {
1005 const IID: ::windows::core::GUID = <IFileProtectionInfo as ::windows::core::ComInterface>::IID;
1006 }
1007 impl ::windows::core::RuntimeName for FileProtectionInfo {
1008 const NAME: &'static str = "Windows.Security.EnterpriseData.FileProtectionInfo";
1009 }
1010 ::windows::imp::interface_hierarchy!(FileProtectionInfo, ::windows::core::IUnknown, ::windows::core::IInspectable);
1011 unsafe impl ::core::marker::Send for FileProtectionInfo {}
1012 unsafe impl ::core::marker::Sync for FileProtectionInfo {}
1013 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
1014 pub struct FileProtectionManager;
1015 impl FileProtectionManager {
1016 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`*"]
1017 #[cfg(all(feature = "Foundation", feature = "Storage"))]
1018 pub fn ProtectAsync<P0>(target: P0, identity: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<FileProtectionInfo>>
1019 where
1020 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageItem>,
1021 {
1022 Self::IFileProtectionManagerStatics(|this| unsafe {
1023 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<FileProtectionInfo>>();
1024 (::windows::core::Interface::vtable(this).ProtectAsync)(::windows::core::Interface::as_raw(this), target.try_into_param()?.abi(), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__)
1025 })
1026 }
1027 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`*"]
1028 #[cfg(all(feature = "Foundation", feature = "Storage"))]
1029 pub fn CopyProtectionAsync<P0, P1>(source: P0, target: P1) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<bool>>
1030 where
1031 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageItem>,
1032 P1: ::windows::core::TryIntoParam<super::super::Storage::IStorageItem>,
1033 {
1034 Self::IFileProtectionManagerStatics(|this| unsafe {
1035 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<bool>>();
1036 (::windows::core::Interface::vtable(this).CopyProtectionAsync)(::windows::core::Interface::as_raw(this), source.try_into_param()?.abi(), target.try_into_param()?.abi(), &mut result__).from_abi(result__)
1037 })
1038 }
1039 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`*"]
1040 #[cfg(all(feature = "Foundation", feature = "Storage"))]
1041 pub fn GetProtectionInfoAsync<P0>(source: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<FileProtectionInfo>>
1042 where
1043 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageItem>,
1044 {
1045 Self::IFileProtectionManagerStatics(|this| unsafe {
1046 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<FileProtectionInfo>>();
1047 (::windows::core::Interface::vtable(this).GetProtectionInfoAsync)(::windows::core::Interface::as_raw(this), source.try_into_param()?.abi(), &mut result__).from_abi(result__)
1048 })
1049 }
1050 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`*"]
1051 #[cfg(all(feature = "Foundation", feature = "Storage"))]
1052 pub fn SaveFileAsContainerAsync<P0>(protectedfile: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectedContainerExportResult>>
1053 where
1054 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageFile>,
1055 {
1056 Self::IFileProtectionManagerStatics(|this| unsafe {
1057 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectedContainerExportResult>>();
1058 (::windows::core::Interface::vtable(this).SaveFileAsContainerAsync)(::windows::core::Interface::as_raw(this), protectedfile.try_into_param()?.abi(), &mut result__).from_abi(result__)
1059 })
1060 }
1061 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`*"]
1062 #[cfg(all(feature = "Foundation", feature = "Storage"))]
1063 pub fn LoadFileFromContainerAsync<P0>(containerfile: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectedContainerImportResult>>
1064 where
1065 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageFile>,
1066 {
1067 Self::IFileProtectionManagerStatics(|this| unsafe {
1068 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectedContainerImportResult>>();
1069 (::windows::core::Interface::vtable(this).LoadFileFromContainerAsync)(::windows::core::Interface::as_raw(this), containerfile.try_into_param()?.abi(), &mut result__).from_abi(result__)
1070 })
1071 }
1072 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`*"]
1073 #[cfg(all(feature = "Foundation", feature = "Storage"))]
1074 pub fn LoadFileFromContainerWithTargetAsync<P0, P1>(containerfile: P0, target: P1) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectedContainerImportResult>>
1075 where
1076 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageFile>,
1077 P1: ::windows::core::TryIntoParam<super::super::Storage::IStorageItem>,
1078 {
1079 Self::IFileProtectionManagerStatics(|this| unsafe {
1080 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectedContainerImportResult>>();
1081 (::windows::core::Interface::vtable(this).LoadFileFromContainerWithTargetAsync)(::windows::core::Interface::as_raw(this), containerfile.try_into_param()?.abi(), target.try_into_param()?.abi(), &mut result__).from_abi(result__)
1082 })
1083 }
1084 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`*"]
1085 #[cfg(all(feature = "Foundation", feature = "Storage"))]
1086 pub fn CreateProtectedAndOpenAsync<P0>(parentfolder: P0, desiredname: &::windows::core::HSTRING, identity: &::windows::core::HSTRING, collisionoption: super::super::Storage::CreationCollisionOption) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectedFileCreateResult>>
1087 where
1088 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageFolder>,
1089 {
1090 Self::IFileProtectionManagerStatics(|this| unsafe {
1091 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectedFileCreateResult>>();
1092 (::windows::core::Interface::vtable(this).CreateProtectedAndOpenAsync)(::windows::core::Interface::as_raw(this), parentfolder.try_into_param()?.abi(), ::core::mem::transmute_copy(desiredname), ::core::mem::transmute_copy(identity), collisionoption, &mut result__).from_abi(result__)
1093 })
1094 }
1095 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`*"]
1096 #[cfg(all(feature = "Foundation", feature = "Storage"))]
1097 pub fn IsContainerAsync<P0>(file: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<bool>>
1098 where
1099 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageFile>,
1100 {
1101 Self::IFileProtectionManagerStatics2(|this| unsafe {
1102 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<bool>>();
1103 (::windows::core::Interface::vtable(this).IsContainerAsync)(::windows::core::Interface::as_raw(this), file.try_into_param()?.abi(), &mut result__).from_abi(result__)
1104 })
1105 }
1106 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`*"]
1107 #[cfg(all(feature = "Foundation", feature = "Storage"))]
1108 pub fn LoadFileFromContainerWithTargetAndNameCollisionOptionAsync<P0, P1>(containerfile: P0, target: P1, collisionoption: super::super::Storage::NameCollisionOption) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectedContainerImportResult>>
1109 where
1110 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageFile>,
1111 P1: ::windows::core::TryIntoParam<super::super::Storage::IStorageItem>,
1112 {
1113 Self::IFileProtectionManagerStatics2(|this| unsafe {
1114 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectedContainerImportResult>>();
1115 (::windows::core::Interface::vtable(this).LoadFileFromContainerWithTargetAndNameCollisionOptionAsync)(::windows::core::Interface::as_raw(this), containerfile.try_into_param()?.abi(), target.try_into_param()?.abi(), collisionoption, &mut result__).from_abi(result__)
1116 })
1117 }
1118 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Storage\"`*"]
1119 #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))]
1120 pub fn SaveFileAsContainerWithSharingAsync<P0, P1>(protectedfile: P0, sharedwithidentities: P1) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectedContainerExportResult>>
1121 where
1122 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageFile>,
1123 P1: ::windows::core::TryIntoParam<super::super::Foundation::Collections::IIterable<::windows::core::HSTRING>>,
1124 {
1125 Self::IFileProtectionManagerStatics2(|this| unsafe {
1126 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectedContainerExportResult>>();
1127 (::windows::core::Interface::vtable(this).SaveFileAsContainerWithSharingAsync)(::windows::core::Interface::as_raw(this), protectedfile.try_into_param()?.abi(), sharedwithidentities.try_into_param()?.abi(), &mut result__).from_abi(result__)
1128 })
1129 }
1130 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`*"]
1131 #[cfg(all(feature = "Foundation", feature = "Storage"))]
1132 pub fn UnprotectAsync<P0>(target: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<FileProtectionInfo>>
1133 where
1134 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageItem>,
1135 {
1136 Self::IFileProtectionManagerStatics3(|this| unsafe {
1137 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<FileProtectionInfo>>();
1138 (::windows::core::Interface::vtable(this).UnprotectAsync)(::windows::core::Interface::as_raw(this), target.try_into_param()?.abi(), &mut result__).from_abi(result__)
1139 })
1140 }
1141 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`*"]
1142 #[cfg(all(feature = "Foundation", feature = "Storage"))]
1143 pub fn UnprotectWithOptionsAsync<P0>(target: P0, options: &FileUnprotectOptions) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<FileProtectionInfo>>
1144 where
1145 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageItem>,
1146 {
1147 Self::IFileProtectionManagerStatics3(|this| unsafe {
1148 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<FileProtectionInfo>>();
1149 (::windows::core::Interface::vtable(this).UnprotectWithOptionsAsync)(::windows::core::Interface::as_raw(this), target.try_into_param()?.abi(), ::core::mem::transmute_copy(options), &mut result__).from_abi(result__)
1150 })
1151 }
1152 #[doc(hidden)]
1153 pub fn IFileProtectionManagerStatics<R, F: FnOnce(&IFileProtectionManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1154 static SHARED: ::windows::imp::FactoryCache<FileProtectionManager, IFileProtectionManagerStatics> = ::windows::imp::FactoryCache::new();
1155 SHARED.call(callback)
1156 }
1157 #[doc(hidden)]
1158 pub fn IFileProtectionManagerStatics2<R, F: FnOnce(&IFileProtectionManagerStatics2) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1159 static SHARED: ::windows::imp::FactoryCache<FileProtectionManager, IFileProtectionManagerStatics2> = ::windows::imp::FactoryCache::new();
1160 SHARED.call(callback)
1161 }
1162 #[doc(hidden)]
1163 pub fn IFileProtectionManagerStatics3<R, F: FnOnce(&IFileProtectionManagerStatics3) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1164 static SHARED: ::windows::imp::FactoryCache<FileProtectionManager, IFileProtectionManagerStatics3> = ::windows::imp::FactoryCache::new();
1165 SHARED.call(callback)
1166 }
1167 }
1168 impl ::windows::core::RuntimeName for FileProtectionManager {
1169 const NAME: &'static str = "Windows.Security.EnterpriseData.FileProtectionManager";
1170 }
1171 #[doc = "*Required features: `\"Security_EnterpriseData\"`, `\"deprecated\"`*"]
1172 #[cfg(feature = "deprecated")]
1173 pub struct FileRevocationManager;
1174 #[cfg(feature = "deprecated")]
1175 impl FileRevocationManager {
1176 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`, `\"deprecated\"`*"]
1177 #[cfg(all(feature = "Foundation", feature = "Storage", feature = "deprecated"))]
1178 pub fn ProtectAsync<P0>(storageitem: P0, enterpriseidentity: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<FileProtectionStatus>>
1179 where
1180 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageItem>,
1181 {
1182 Self::IFileRevocationManagerStatics(|this| unsafe {
1183 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<FileProtectionStatus>>();
1184 (::windows::core::Interface::vtable(this).ProtectAsync)(::windows::core::Interface::as_raw(this), storageitem.try_into_param()?.abi(), ::core::mem::transmute_copy(enterpriseidentity), &mut result__).from_abi(result__)
1185 })
1186 }
1187 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`, `\"deprecated\"`*"]
1188 #[cfg(all(feature = "Foundation", feature = "Storage", feature = "deprecated"))]
1189 pub fn CopyProtectionAsync<P0, P1>(sourcestorageitem: P0, targetstorageitem: P1) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<bool>>
1190 where
1191 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageItem>,
1192 P1: ::windows::core::TryIntoParam<super::super::Storage::IStorageItem>,
1193 {
1194 Self::IFileRevocationManagerStatics(|this| unsafe {
1195 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<bool>>();
1196 (::windows::core::Interface::vtable(this).CopyProtectionAsync)(::windows::core::Interface::as_raw(this), sourcestorageitem.try_into_param()?.abi(), targetstorageitem.try_into_param()?.abi(), &mut result__).from_abi(result__)
1197 })
1198 }
1199 #[doc = "*Required features: `\"deprecated\"`*"]
1200 #[cfg(feature = "deprecated")]
1201 pub fn Revoke(enterpriseidentity: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
1202 Self::IFileRevocationManagerStatics(|this| unsafe { (::windows::core::Interface::vtable(this).Revoke)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(enterpriseidentity)).ok() })
1203 }
1204 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`, `\"deprecated\"`*"]
1205 #[cfg(all(feature = "Foundation", feature = "Storage", feature = "deprecated"))]
1206 pub fn GetStatusAsync<P0>(storageitem: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<FileProtectionStatus>>
1207 where
1208 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageItem>,
1209 {
1210 Self::IFileRevocationManagerStatics(|this| unsafe {
1211 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<FileProtectionStatus>>();
1212 (::windows::core::Interface::vtable(this).GetStatusAsync)(::windows::core::Interface::as_raw(this), storageitem.try_into_param()?.abi(), &mut result__).from_abi(result__)
1213 })
1214 }
1215 #[doc(hidden)]
1216 #[cfg(feature = "deprecated")]
1217 pub fn IFileRevocationManagerStatics<R, F: FnOnce(&IFileRevocationManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1218 static SHARED: ::windows::imp::FactoryCache<FileRevocationManager, IFileRevocationManagerStatics> = ::windows::imp::FactoryCache::new();
1219 SHARED.call(callback)
1220 }
1221 }
1222 #[cfg(feature = "deprecated")]
1223 impl ::windows::core::RuntimeName for FileRevocationManager {
1224 const NAME: &'static str = "Windows.Security.EnterpriseData.FileRevocationManager";
1225 }
1226 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
1227 #[repr(transparent)]
1228 pub struct FileUnprotectOptions(::windows::core::IUnknown);
1229 impl FileUnprotectOptions {
1230 pub fn SetAudit(&self, value: bool) -> ::windows::core::Result<()> {
1231 let this = self;
1232 unsafe { (::windows::core::Interface::vtable(this).SetAudit)(::windows::core::Interface::as_raw(this), value).ok() }
1233 }
1234 pub fn Audit(&self) -> ::windows::core::Result<bool> {
1235 let this = self;
1236 unsafe {
1237 let mut result__ = ::windows::core::zeroed::<bool>();
1238 (::windows::core::Interface::vtable(this).Audit)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1239 }
1240 }
1241 pub fn Create(audit: bool) -> ::windows::core::Result<FileUnprotectOptions> {
1242 Self::IFileUnprotectOptionsFactory(|this| unsafe {
1243 let mut result__ = ::windows::core::zeroed::<FileUnprotectOptions>();
1244 (::windows::core::Interface::vtable(this).Create)(::windows::core::Interface::as_raw(this), audit, &mut result__).from_abi(result__)
1245 })
1246 }
1247 #[doc(hidden)]
1248 pub fn IFileUnprotectOptionsFactory<R, F: FnOnce(&IFileUnprotectOptionsFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1249 static SHARED: ::windows::imp::FactoryCache<FileUnprotectOptions, IFileUnprotectOptionsFactory> = ::windows::imp::FactoryCache::new();
1250 SHARED.call(callback)
1251 }
1252 }
1253 impl ::core::cmp::PartialEq for FileUnprotectOptions {
1254 fn eq(&self, other: &Self) -> bool {
1255 self.0 == other.0
1256 }
1257 }
1258 impl ::core::cmp::Eq for FileUnprotectOptions {}
1259 impl ::core::fmt::Debug for FileUnprotectOptions {
1260 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1261 f.debug_tuple("FileUnprotectOptions").field(&self.0).finish()
1262 }
1263 }
1264 impl ::windows::core::RuntimeType for FileUnprotectOptions {
1265 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.EnterpriseData.FileUnprotectOptions;{7d1312f1-3b0d-4dd8-a1f8-1ec53822e2f3})");
1266 }
1267 impl ::core::clone::Clone for FileUnprotectOptions {
1268 fn clone(&self) -> Self {
1269 Self(self.0.clone())
1270 }
1271 }
1272 unsafe impl ::windows::core::Interface for FileUnprotectOptions {
1273 type Vtable = IFileUnprotectOptions_Vtbl;
1274 }
1275 unsafe impl ::windows::core::ComInterface for FileUnprotectOptions {
1276 const IID: ::windows::core::GUID = <IFileUnprotectOptions as ::windows::core::ComInterface>::IID;
1277 }
1278 impl ::windows::core::RuntimeName for FileUnprotectOptions {
1279 const NAME: &'static str = "Windows.Security.EnterpriseData.FileUnprotectOptions";
1280 }
1281 ::windows::imp::interface_hierarchy!(FileUnprotectOptions, ::windows::core::IUnknown, ::windows::core::IInspectable);
1282 unsafe impl ::core::marker::Send for FileUnprotectOptions {}
1283 unsafe impl ::core::marker::Sync for FileUnprotectOptions {}
1284 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
1285 #[repr(transparent)]
1286 pub struct ProtectedAccessResumedEventArgs(::windows::core::IUnknown);
1287 impl ProtectedAccessResumedEventArgs {
1288 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1289 #[cfg(feature = "Foundation_Collections")]
1290 pub fn Identities(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<::windows::core::HSTRING>> {
1291 let this = self;
1292 unsafe {
1293 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<::windows::core::HSTRING>>();
1294 (::windows::core::Interface::vtable(this).Identities)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1295 }
1296 }
1297 }
1298 impl ::core::cmp::PartialEq for ProtectedAccessResumedEventArgs {
1299 fn eq(&self, other: &Self) -> bool {
1300 self.0 == other.0
1301 }
1302 }
1303 impl ::core::cmp::Eq for ProtectedAccessResumedEventArgs {}
1304 impl ::core::fmt::Debug for ProtectedAccessResumedEventArgs {
1305 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1306 f.debug_tuple("ProtectedAccessResumedEventArgs").field(&self.0).finish()
1307 }
1308 }
1309 impl ::windows::core::RuntimeType for ProtectedAccessResumedEventArgs {
1310 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.EnterpriseData.ProtectedAccessResumedEventArgs;{ac4dca59-5d80-4e95-8c5f-8539450eebe0})");
1311 }
1312 impl ::core::clone::Clone for ProtectedAccessResumedEventArgs {
1313 fn clone(&self) -> Self {
1314 Self(self.0.clone())
1315 }
1316 }
1317 unsafe impl ::windows::core::Interface for ProtectedAccessResumedEventArgs {
1318 type Vtable = IProtectedAccessResumedEventArgs_Vtbl;
1319 }
1320 unsafe impl ::windows::core::ComInterface for ProtectedAccessResumedEventArgs {
1321 const IID: ::windows::core::GUID = <IProtectedAccessResumedEventArgs as ::windows::core::ComInterface>::IID;
1322 }
1323 impl ::windows::core::RuntimeName for ProtectedAccessResumedEventArgs {
1324 const NAME: &'static str = "Windows.Security.EnterpriseData.ProtectedAccessResumedEventArgs";
1325 }
1326 ::windows::imp::interface_hierarchy!(ProtectedAccessResumedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
1327 unsafe impl ::core::marker::Send for ProtectedAccessResumedEventArgs {}
1328 unsafe impl ::core::marker::Sync for ProtectedAccessResumedEventArgs {}
1329 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
1330 #[repr(transparent)]
1331 pub struct ProtectedAccessSuspendingEventArgs(::windows::core::IUnknown);
1332 impl ProtectedAccessSuspendingEventArgs {
1333 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1334 #[cfg(feature = "Foundation_Collections")]
1335 pub fn Identities(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<::windows::core::HSTRING>> {
1336 let this = self;
1337 unsafe {
1338 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<::windows::core::HSTRING>>();
1339 (::windows::core::Interface::vtable(this).Identities)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1340 }
1341 }
1342 #[doc = "*Required features: `\"Foundation\"`*"]
1343 #[cfg(feature = "Foundation")]
1344 pub fn Deadline(&self) -> ::windows::core::Result<super::super::Foundation::DateTime> {
1345 let this = self;
1346 unsafe {
1347 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::DateTime>();
1348 (::windows::core::Interface::vtable(this).Deadline)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1349 }
1350 }
1351 #[doc = "*Required features: `\"Foundation\"`*"]
1352 #[cfg(feature = "Foundation")]
1353 pub fn GetDeferral(&self) -> ::windows::core::Result<super::super::Foundation::Deferral> {
1354 let this = self;
1355 unsafe {
1356 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Deferral>();
1357 (::windows::core::Interface::vtable(this).GetDeferral)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1358 }
1359 }
1360 }
1361 impl ::core::cmp::PartialEq for ProtectedAccessSuspendingEventArgs {
1362 fn eq(&self, other: &Self) -> bool {
1363 self.0 == other.0
1364 }
1365 }
1366 impl ::core::cmp::Eq for ProtectedAccessSuspendingEventArgs {}
1367 impl ::core::fmt::Debug for ProtectedAccessSuspendingEventArgs {
1368 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1369 f.debug_tuple("ProtectedAccessSuspendingEventArgs").field(&self.0).finish()
1370 }
1371 }
1372 impl ::windows::core::RuntimeType for ProtectedAccessSuspendingEventArgs {
1373 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.EnterpriseData.ProtectedAccessSuspendingEventArgs;{75a193e0-a344-429f-b975-04fc1f88c185})");
1374 }
1375 impl ::core::clone::Clone for ProtectedAccessSuspendingEventArgs {
1376 fn clone(&self) -> Self {
1377 Self(self.0.clone())
1378 }
1379 }
1380 unsafe impl ::windows::core::Interface for ProtectedAccessSuspendingEventArgs {
1381 type Vtable = IProtectedAccessSuspendingEventArgs_Vtbl;
1382 }
1383 unsafe impl ::windows::core::ComInterface for ProtectedAccessSuspendingEventArgs {
1384 const IID: ::windows::core::GUID = <IProtectedAccessSuspendingEventArgs as ::windows::core::ComInterface>::IID;
1385 }
1386 impl ::windows::core::RuntimeName for ProtectedAccessSuspendingEventArgs {
1387 const NAME: &'static str = "Windows.Security.EnterpriseData.ProtectedAccessSuspendingEventArgs";
1388 }
1389 ::windows::imp::interface_hierarchy!(ProtectedAccessSuspendingEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
1390 unsafe impl ::core::marker::Send for ProtectedAccessSuspendingEventArgs {}
1391 unsafe impl ::core::marker::Sync for ProtectedAccessSuspendingEventArgs {}
1392 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
1393 #[repr(transparent)]
1394 pub struct ProtectedContainerExportResult(::windows::core::IUnknown);
1395 impl ProtectedContainerExportResult {
1396 pub fn Status(&self) -> ::windows::core::Result<ProtectedImportExportStatus> {
1397 let this = self;
1398 unsafe {
1399 let mut result__ = ::windows::core::zeroed::<ProtectedImportExportStatus>();
1400 (::windows::core::Interface::vtable(this).Status)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1401 }
1402 }
1403 #[doc = "*Required features: `\"Storage\"`*"]
1404 #[cfg(feature = "Storage")]
1405 pub fn File(&self) -> ::windows::core::Result<super::super::Storage::StorageFile> {
1406 let this = self;
1407 unsafe {
1408 let mut result__ = ::windows::core::zeroed::<super::super::Storage::StorageFile>();
1409 (::windows::core::Interface::vtable(this).File)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1410 }
1411 }
1412 }
1413 impl ::core::cmp::PartialEq for ProtectedContainerExportResult {
1414 fn eq(&self, other: &Self) -> bool {
1415 self.0 == other.0
1416 }
1417 }
1418 impl ::core::cmp::Eq for ProtectedContainerExportResult {}
1419 impl ::core::fmt::Debug for ProtectedContainerExportResult {
1420 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1421 f.debug_tuple("ProtectedContainerExportResult").field(&self.0).finish()
1422 }
1423 }
1424 impl ::windows::core::RuntimeType for ProtectedContainerExportResult {
1425 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.EnterpriseData.ProtectedContainerExportResult;{3948ef95-f7fb-4b42-afb0-df70b41543c1})");
1426 }
1427 impl ::core::clone::Clone for ProtectedContainerExportResult {
1428 fn clone(&self) -> Self {
1429 Self(self.0.clone())
1430 }
1431 }
1432 unsafe impl ::windows::core::Interface for ProtectedContainerExportResult {
1433 type Vtable = IProtectedContainerExportResult_Vtbl;
1434 }
1435 unsafe impl ::windows::core::ComInterface for ProtectedContainerExportResult {
1436 const IID: ::windows::core::GUID = <IProtectedContainerExportResult as ::windows::core::ComInterface>::IID;
1437 }
1438 impl ::windows::core::RuntimeName for ProtectedContainerExportResult {
1439 const NAME: &'static str = "Windows.Security.EnterpriseData.ProtectedContainerExportResult";
1440 }
1441 ::windows::imp::interface_hierarchy!(ProtectedContainerExportResult, ::windows::core::IUnknown, ::windows::core::IInspectable);
1442 unsafe impl ::core::marker::Send for ProtectedContainerExportResult {}
1443 unsafe impl ::core::marker::Sync for ProtectedContainerExportResult {}
1444 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
1445 #[repr(transparent)]
1446 pub struct ProtectedContainerImportResult(::windows::core::IUnknown);
1447 impl ProtectedContainerImportResult {
1448 pub fn Status(&self) -> ::windows::core::Result<ProtectedImportExportStatus> {
1449 let this = self;
1450 unsafe {
1451 let mut result__ = ::windows::core::zeroed::<ProtectedImportExportStatus>();
1452 (::windows::core::Interface::vtable(this).Status)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1453 }
1454 }
1455 #[doc = "*Required features: `\"Storage\"`*"]
1456 #[cfg(feature = "Storage")]
1457 pub fn File(&self) -> ::windows::core::Result<super::super::Storage::StorageFile> {
1458 let this = self;
1459 unsafe {
1460 let mut result__ = ::windows::core::zeroed::<super::super::Storage::StorageFile>();
1461 (::windows::core::Interface::vtable(this).File)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1462 }
1463 }
1464 }
1465 impl ::core::cmp::PartialEq for ProtectedContainerImportResult {
1466 fn eq(&self, other: &Self) -> bool {
1467 self.0 == other.0
1468 }
1469 }
1470 impl ::core::cmp::Eq for ProtectedContainerImportResult {}
1471 impl ::core::fmt::Debug for ProtectedContainerImportResult {
1472 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1473 f.debug_tuple("ProtectedContainerImportResult").field(&self.0).finish()
1474 }
1475 }
1476 impl ::windows::core::RuntimeType for ProtectedContainerImportResult {
1477 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.EnterpriseData.ProtectedContainerImportResult;{cdb780d1-e7bb-4d1a-9339-34dc41149f9b})");
1478 }
1479 impl ::core::clone::Clone for ProtectedContainerImportResult {
1480 fn clone(&self) -> Self {
1481 Self(self.0.clone())
1482 }
1483 }
1484 unsafe impl ::windows::core::Interface for ProtectedContainerImportResult {
1485 type Vtable = IProtectedContainerImportResult_Vtbl;
1486 }
1487 unsafe impl ::windows::core::ComInterface for ProtectedContainerImportResult {
1488 const IID: ::windows::core::GUID = <IProtectedContainerImportResult as ::windows::core::ComInterface>::IID;
1489 }
1490 impl ::windows::core::RuntimeName for ProtectedContainerImportResult {
1491 const NAME: &'static str = "Windows.Security.EnterpriseData.ProtectedContainerImportResult";
1492 }
1493 ::windows::imp::interface_hierarchy!(ProtectedContainerImportResult, ::windows::core::IUnknown, ::windows::core::IInspectable);
1494 unsafe impl ::core::marker::Send for ProtectedContainerImportResult {}
1495 unsafe impl ::core::marker::Sync for ProtectedContainerImportResult {}
1496 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
1497 #[repr(transparent)]
1498 pub struct ProtectedContentRevokedEventArgs(::windows::core::IUnknown);
1499 impl ProtectedContentRevokedEventArgs {
1500 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1501 #[cfg(feature = "Foundation_Collections")]
1502 pub fn Identities(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<::windows::core::HSTRING>> {
1503 let this = self;
1504 unsafe {
1505 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<::windows::core::HSTRING>>();
1506 (::windows::core::Interface::vtable(this).Identities)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1507 }
1508 }
1509 }
1510 impl ::core::cmp::PartialEq for ProtectedContentRevokedEventArgs {
1511 fn eq(&self, other: &Self) -> bool {
1512 self.0 == other.0
1513 }
1514 }
1515 impl ::core::cmp::Eq for ProtectedContentRevokedEventArgs {}
1516 impl ::core::fmt::Debug for ProtectedContentRevokedEventArgs {
1517 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1518 f.debug_tuple("ProtectedContentRevokedEventArgs").field(&self.0).finish()
1519 }
1520 }
1521 impl ::windows::core::RuntimeType for ProtectedContentRevokedEventArgs {
1522 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.EnterpriseData.ProtectedContentRevokedEventArgs;{63686821-58b9-47ee-93d9-f0f741cf43f0})");
1523 }
1524 impl ::core::clone::Clone for ProtectedContentRevokedEventArgs {
1525 fn clone(&self) -> Self {
1526 Self(self.0.clone())
1527 }
1528 }
1529 unsafe impl ::windows::core::Interface for ProtectedContentRevokedEventArgs {
1530 type Vtable = IProtectedContentRevokedEventArgs_Vtbl;
1531 }
1532 unsafe impl ::windows::core::ComInterface for ProtectedContentRevokedEventArgs {
1533 const IID: ::windows::core::GUID = <IProtectedContentRevokedEventArgs as ::windows::core::ComInterface>::IID;
1534 }
1535 impl ::windows::core::RuntimeName for ProtectedContentRevokedEventArgs {
1536 const NAME: &'static str = "Windows.Security.EnterpriseData.ProtectedContentRevokedEventArgs";
1537 }
1538 ::windows::imp::interface_hierarchy!(ProtectedContentRevokedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
1539 unsafe impl ::core::marker::Send for ProtectedContentRevokedEventArgs {}
1540 unsafe impl ::core::marker::Sync for ProtectedContentRevokedEventArgs {}
1541 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
1542 #[repr(transparent)]
1543 pub struct ProtectedFileCreateResult(::windows::core::IUnknown);
1544 impl ProtectedFileCreateResult {
1545 #[doc = "*Required features: `\"Storage\"`*"]
1546 #[cfg(feature = "Storage")]
1547 pub fn File(&self) -> ::windows::core::Result<super::super::Storage::StorageFile> {
1548 let this = self;
1549 unsafe {
1550 let mut result__ = ::windows::core::zeroed::<super::super::Storage::StorageFile>();
1551 (::windows::core::Interface::vtable(this).File)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1552 }
1553 }
1554 #[doc = "*Required features: `\"Storage_Streams\"`*"]
1555 #[cfg(feature = "Storage_Streams")]
1556 pub fn Stream(&self) -> ::windows::core::Result<super::super::Storage::Streams::IRandomAccessStream> {
1557 let this = self;
1558 unsafe {
1559 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IRandomAccessStream>();
1560 (::windows::core::Interface::vtable(this).Stream)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1561 }
1562 }
1563 pub fn ProtectionInfo(&self) -> ::windows::core::Result<FileProtectionInfo> {
1564 let this = self;
1565 unsafe {
1566 let mut result__ = ::windows::core::zeroed::<FileProtectionInfo>();
1567 (::windows::core::Interface::vtable(this).ProtectionInfo)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1568 }
1569 }
1570 }
1571 impl ::core::cmp::PartialEq for ProtectedFileCreateResult {
1572 fn eq(&self, other: &Self) -> bool {
1573 self.0 == other.0
1574 }
1575 }
1576 impl ::core::cmp::Eq for ProtectedFileCreateResult {}
1577 impl ::core::fmt::Debug for ProtectedFileCreateResult {
1578 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1579 f.debug_tuple("ProtectedFileCreateResult").field(&self.0).finish()
1580 }
1581 }
1582 impl ::windows::core::RuntimeType for ProtectedFileCreateResult {
1583 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.EnterpriseData.ProtectedFileCreateResult;{28e3ed6a-e9e7-4a03-9f53-bdb16172699b})");
1584 }
1585 impl ::core::clone::Clone for ProtectedFileCreateResult {
1586 fn clone(&self) -> Self {
1587 Self(self.0.clone())
1588 }
1589 }
1590 unsafe impl ::windows::core::Interface for ProtectedFileCreateResult {
1591 type Vtable = IProtectedFileCreateResult_Vtbl;
1592 }
1593 unsafe impl ::windows::core::ComInterface for ProtectedFileCreateResult {
1594 const IID: ::windows::core::GUID = <IProtectedFileCreateResult as ::windows::core::ComInterface>::IID;
1595 }
1596 impl ::windows::core::RuntimeName for ProtectedFileCreateResult {
1597 const NAME: &'static str = "Windows.Security.EnterpriseData.ProtectedFileCreateResult";
1598 }
1599 ::windows::imp::interface_hierarchy!(ProtectedFileCreateResult, ::windows::core::IUnknown, ::windows::core::IInspectable);
1600 unsafe impl ::core::marker::Send for ProtectedFileCreateResult {}
1601 unsafe impl ::core::marker::Sync for ProtectedFileCreateResult {}
1602 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
1603 #[repr(transparent)]
1604 pub struct ProtectionPolicyAuditInfo(::windows::core::IUnknown);
1605 impl ProtectionPolicyAuditInfo {
1606 pub fn SetAction(&self, value: ProtectionPolicyAuditAction) -> ::windows::core::Result<()> {
1607 let this = self;
1608 unsafe { (::windows::core::Interface::vtable(this).SetAction)(::windows::core::Interface::as_raw(this), value).ok() }
1609 }
1610 pub fn Action(&self) -> ::windows::core::Result<ProtectionPolicyAuditAction> {
1611 let this = self;
1612 unsafe {
1613 let mut result__ = ::windows::core::zeroed::<ProtectionPolicyAuditAction>();
1614 (::windows::core::Interface::vtable(this).Action)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1615 }
1616 }
1617 pub fn SetDataDescription(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
1618 let this = self;
1619 unsafe { (::windows::core::Interface::vtable(this).SetDataDescription)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1620 }
1621 pub fn DataDescription(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
1622 let this = self;
1623 unsafe {
1624 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1625 (::windows::core::Interface::vtable(this).DataDescription)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1626 }
1627 }
1628 pub fn SetSourceDescription(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
1629 let this = self;
1630 unsafe { (::windows::core::Interface::vtable(this).SetSourceDescription)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1631 }
1632 pub fn SourceDescription(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
1633 let this = self;
1634 unsafe {
1635 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1636 (::windows::core::Interface::vtable(this).SourceDescription)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1637 }
1638 }
1639 pub fn SetTargetDescription(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
1640 let this = self;
1641 unsafe { (::windows::core::Interface::vtable(this).SetTargetDescription)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1642 }
1643 pub fn TargetDescription(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
1644 let this = self;
1645 unsafe {
1646 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1647 (::windows::core::Interface::vtable(this).TargetDescription)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1648 }
1649 }
1650 pub fn Create(action: ProtectionPolicyAuditAction, datadescription: &::windows::core::HSTRING, sourcedescription: &::windows::core::HSTRING, targetdescription: &::windows::core::HSTRING) -> ::windows::core::Result<ProtectionPolicyAuditInfo> {
1651 Self::IProtectionPolicyAuditInfoFactory(|this| unsafe {
1652 let mut result__ = ::windows::core::zeroed::<ProtectionPolicyAuditInfo>();
1653 (::windows::core::Interface::vtable(this).Create)(::windows::core::Interface::as_raw(this), action, ::core::mem::transmute_copy(datadescription), ::core::mem::transmute_copy(sourcedescription), ::core::mem::transmute_copy(targetdescription), &mut result__).from_abi(result__)
1654 })
1655 }
1656 pub fn CreateWithActionAndDataDescription(action: ProtectionPolicyAuditAction, datadescription: &::windows::core::HSTRING) -> ::windows::core::Result<ProtectionPolicyAuditInfo> {
1657 Self::IProtectionPolicyAuditInfoFactory(|this| unsafe {
1658 let mut result__ = ::windows::core::zeroed::<ProtectionPolicyAuditInfo>();
1659 (::windows::core::Interface::vtable(this).CreateWithActionAndDataDescription)(::windows::core::Interface::as_raw(this), action, ::core::mem::transmute_copy(datadescription), &mut result__).from_abi(result__)
1660 })
1661 }
1662 #[doc(hidden)]
1663 pub fn IProtectionPolicyAuditInfoFactory<R, F: FnOnce(&IProtectionPolicyAuditInfoFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
1664 static SHARED: ::windows::imp::FactoryCache<ProtectionPolicyAuditInfo, IProtectionPolicyAuditInfoFactory> = ::windows::imp::FactoryCache::new();
1665 SHARED.call(callback)
1666 }
1667 }
1668 impl ::core::cmp::PartialEq for ProtectionPolicyAuditInfo {
1669 fn eq(&self, other: &Self) -> bool {
1670 self.0 == other.0
1671 }
1672 }
1673 impl ::core::cmp::Eq for ProtectionPolicyAuditInfo {}
1674 impl ::core::fmt::Debug for ProtectionPolicyAuditInfo {
1675 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1676 f.debug_tuple("ProtectionPolicyAuditInfo").field(&self.0).finish()
1677 }
1678 }
1679 impl ::windows::core::RuntimeType for ProtectionPolicyAuditInfo {
1680 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.EnterpriseData.ProtectionPolicyAuditInfo;{425ab7e4-feb7-44fc-b3bb-c3c4d7ecbebb})");
1681 }
1682 impl ::core::clone::Clone for ProtectionPolicyAuditInfo {
1683 fn clone(&self) -> Self {
1684 Self(self.0.clone())
1685 }
1686 }
1687 unsafe impl ::windows::core::Interface for ProtectionPolicyAuditInfo {
1688 type Vtable = IProtectionPolicyAuditInfo_Vtbl;
1689 }
1690 unsafe impl ::windows::core::ComInterface for ProtectionPolicyAuditInfo {
1691 const IID: ::windows::core::GUID = <IProtectionPolicyAuditInfo as ::windows::core::ComInterface>::IID;
1692 }
1693 impl ::windows::core::RuntimeName for ProtectionPolicyAuditInfo {
1694 const NAME: &'static str = "Windows.Security.EnterpriseData.ProtectionPolicyAuditInfo";
1695 }
1696 ::windows::imp::interface_hierarchy!(ProtectionPolicyAuditInfo, ::windows::core::IUnknown, ::windows::core::IInspectable);
1697 unsafe impl ::core::marker::Send for ProtectionPolicyAuditInfo {}
1698 unsafe impl ::core::marker::Sync for ProtectionPolicyAuditInfo {}
1699 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
1700 #[repr(transparent)]
1701 pub struct ProtectionPolicyManager(::windows::core::IUnknown);
1702 impl ProtectionPolicyManager {
1703 pub fn SetIdentity(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
1704 let this = self;
1705 unsafe { (::windows::core::Interface::vtable(this).SetIdentity)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1706 }
1707 pub fn Identity(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
1708 let this = self;
1709 unsafe {
1710 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
1711 (::windows::core::Interface::vtable(this).Identity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1712 }
1713 }
1714 pub fn SetShowEnterpriseIndicator(&self, value: bool) -> ::windows::core::Result<()> {
1715 let this = &::windows::core::ComInterface::cast::<IProtectionPolicyManager2>(self)?;
1716 unsafe { (::windows::core::Interface::vtable(this).SetShowEnterpriseIndicator)(::windows::core::Interface::as_raw(this), value).ok() }
1717 }
1718 pub fn ShowEnterpriseIndicator(&self) -> ::windows::core::Result<bool> {
1719 let this = &::windows::core::ComInterface::cast::<IProtectionPolicyManager2>(self)?;
1720 unsafe {
1721 let mut result__ = ::windows::core::zeroed::<bool>();
1722 (::windows::core::Interface::vtable(this).ShowEnterpriseIndicator)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1723 }
1724 }
1725 pub fn IsIdentityManaged(identity: &::windows::core::HSTRING) -> ::windows::core::Result<bool> {
1726 Self::IProtectionPolicyManagerStatics(|this| unsafe {
1727 let mut result__ = ::windows::core::zeroed::<bool>();
1728 (::windows::core::Interface::vtable(this).IsIdentityManaged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__)
1729 })
1730 }
1731 pub fn TryApplyProcessUIPolicy(identity: &::windows::core::HSTRING) -> ::windows::core::Result<bool> {
1732 Self::IProtectionPolicyManagerStatics(|this| unsafe {
1733 let mut result__ = ::windows::core::zeroed::<bool>();
1734 (::windows::core::Interface::vtable(this).TryApplyProcessUIPolicy)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__)
1735 })
1736 }
1737 pub fn ClearProcessUIPolicy() -> ::windows::core::Result<()> {
1738 Self::IProtectionPolicyManagerStatics(|this| unsafe { (::windows::core::Interface::vtable(this).ClearProcessUIPolicy)(::windows::core::Interface::as_raw(this)).ok() })
1739 }
1740 pub fn CreateCurrentThreadNetworkContext(identity: &::windows::core::HSTRING) -> ::windows::core::Result<ThreadNetworkContext> {
1741 Self::IProtectionPolicyManagerStatics(|this| unsafe {
1742 let mut result__ = ::windows::core::zeroed::<ThreadNetworkContext>();
1743 (::windows::core::Interface::vtable(this).CreateCurrentThreadNetworkContext)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__)
1744 })
1745 }
1746 #[doc = "*Required features: `\"Foundation\"`, `\"Networking\"`*"]
1747 #[cfg(all(feature = "Foundation", feature = "Networking"))]
1748 pub fn GetPrimaryManagedIdentityForNetworkEndpointAsync(endpointhost: &super::super::Networking::HostName) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<::windows::core::HSTRING>> {
1749 Self::IProtectionPolicyManagerStatics(|this| unsafe {
1750 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<::windows::core::HSTRING>>();
1751 (::windows::core::Interface::vtable(this).GetPrimaryManagedIdentityForNetworkEndpointAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(endpointhost), &mut result__).from_abi(result__)
1752 })
1753 }
1754 pub fn RevokeContent(identity: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
1755 Self::IProtectionPolicyManagerStatics(|this| unsafe { (::windows::core::Interface::vtable(this).RevokeContent)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(identity)).ok() })
1756 }
1757 pub fn GetForCurrentView() -> ::windows::core::Result<ProtectionPolicyManager> {
1758 Self::IProtectionPolicyManagerStatics(|this| unsafe {
1759 let mut result__ = ::windows::core::zeroed::<ProtectionPolicyManager>();
1760 (::windows::core::Interface::vtable(this).GetForCurrentView)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1761 })
1762 }
1763 #[doc = "*Required features: `\"Foundation\"`*"]
1764 #[cfg(feature = "Foundation")]
1765 pub fn ProtectedAccessSuspending(handler: &super::super::Foundation::EventHandler<ProtectedAccessSuspendingEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
1766 Self::IProtectionPolicyManagerStatics(|this| unsafe {
1767 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
1768 (::windows::core::Interface::vtable(this).ProtectedAccessSuspending)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
1769 })
1770 }
1771 #[doc = "*Required features: `\"Foundation\"`*"]
1772 #[cfg(feature = "Foundation")]
1773 pub fn RemoveProtectedAccessSuspending(token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
1774 Self::IProtectionPolicyManagerStatics(|this| unsafe { (::windows::core::Interface::vtable(this).RemoveProtectedAccessSuspending)(::windows::core::Interface::as_raw(this), token).ok() })
1775 }
1776 #[doc = "*Required features: `\"Foundation\"`*"]
1777 #[cfg(feature = "Foundation")]
1778 pub fn ProtectedAccessResumed(handler: &super::super::Foundation::EventHandler<ProtectedAccessResumedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
1779 Self::IProtectionPolicyManagerStatics(|this| unsafe {
1780 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
1781 (::windows::core::Interface::vtable(this).ProtectedAccessResumed)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
1782 })
1783 }
1784 #[doc = "*Required features: `\"Foundation\"`*"]
1785 #[cfg(feature = "Foundation")]
1786 pub fn RemoveProtectedAccessResumed(token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
1787 Self::IProtectionPolicyManagerStatics(|this| unsafe { (::windows::core::Interface::vtable(this).RemoveProtectedAccessResumed)(::windows::core::Interface::as_raw(this), token).ok() })
1788 }
1789 #[doc = "*Required features: `\"Foundation\"`*"]
1790 #[cfg(feature = "Foundation")]
1791 pub fn ProtectedContentRevoked(handler: &super::super::Foundation::EventHandler<ProtectedContentRevokedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
1792 Self::IProtectionPolicyManagerStatics(|this| unsafe {
1793 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
1794 (::windows::core::Interface::vtable(this).ProtectedContentRevoked)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
1795 })
1796 }
1797 #[doc = "*Required features: `\"Foundation\"`*"]
1798 #[cfg(feature = "Foundation")]
1799 pub fn RemoveProtectedContentRevoked(token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
1800 Self::IProtectionPolicyManagerStatics(|this| unsafe { (::windows::core::Interface::vtable(this).RemoveProtectedContentRevoked)(::windows::core::Interface::as_raw(this), token).ok() })
1801 }
1802 pub fn CheckAccess(sourceidentity: &::windows::core::HSTRING, targetidentity: &::windows::core::HSTRING) -> ::windows::core::Result<ProtectionPolicyEvaluationResult> {
1803 Self::IProtectionPolicyManagerStatics(|this| unsafe {
1804 let mut result__ = ::windows::core::zeroed::<ProtectionPolicyEvaluationResult>();
1805 (::windows::core::Interface::vtable(this).CheckAccess)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), &mut result__).from_abi(result__)
1806 })
1807 }
1808 #[doc = "*Required features: `\"Foundation\"`*"]
1809 #[cfg(feature = "Foundation")]
1810 pub fn RequestAccessAsync(sourceidentity: &::windows::core::HSTRING, targetidentity: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>> {
1811 Self::IProtectionPolicyManagerStatics(|this| unsafe {
1812 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>();
1813 (::windows::core::Interface::vtable(this).RequestAccessAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), &mut result__).from_abi(result__)
1814 })
1815 }
1816 #[doc = "*Required features: `\"Foundation\"`*"]
1817 #[cfg(feature = "Foundation")]
1818 pub fn HasContentBeenRevokedSince(identity: &::windows::core::HSTRING, since: super::super::Foundation::DateTime) -> ::windows::core::Result<bool> {
1819 Self::IProtectionPolicyManagerStatics2(|this| unsafe {
1820 let mut result__ = ::windows::core::zeroed::<bool>();
1821 (::windows::core::Interface::vtable(this).HasContentBeenRevokedSince)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), since, &mut result__).from_abi(result__)
1822 })
1823 }
1824 pub fn CheckAccessForApp(sourceidentity: &::windows::core::HSTRING, apppackagefamilyname: &::windows::core::HSTRING) -> ::windows::core::Result<ProtectionPolicyEvaluationResult> {
1825 Self::IProtectionPolicyManagerStatics2(|this| unsafe {
1826 let mut result__ = ::windows::core::zeroed::<ProtectionPolicyEvaluationResult>();
1827 (::windows::core::Interface::vtable(this).CheckAccessForApp)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), &mut result__).from_abi(result__)
1828 })
1829 }
1830 #[doc = "*Required features: `\"Foundation\"`*"]
1831 #[cfg(feature = "Foundation")]
1832 pub fn RequestAccessForAppAsync(sourceidentity: &::windows::core::HSTRING, apppackagefamilyname: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>> {
1833 Self::IProtectionPolicyManagerStatics2(|this| unsafe {
1834 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>();
1835 (::windows::core::Interface::vtable(this).RequestAccessForAppAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), &mut result__).from_abi(result__)
1836 })
1837 }
1838 pub fn GetEnforcementLevel(identity: &::windows::core::HSTRING) -> ::windows::core::Result<EnforcementLevel> {
1839 Self::IProtectionPolicyManagerStatics2(|this| unsafe {
1840 let mut result__ = ::windows::core::zeroed::<EnforcementLevel>();
1841 (::windows::core::Interface::vtable(this).GetEnforcementLevel)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__)
1842 })
1843 }
1844 pub fn IsUserDecryptionAllowed(identity: &::windows::core::HSTRING) -> ::windows::core::Result<bool> {
1845 Self::IProtectionPolicyManagerStatics2(|this| unsafe {
1846 let mut result__ = ::windows::core::zeroed::<bool>();
1847 (::windows::core::Interface::vtable(this).IsUserDecryptionAllowed)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__)
1848 })
1849 }
1850 pub fn IsProtectionUnderLockRequired(identity: &::windows::core::HSTRING) -> ::windows::core::Result<bool> {
1851 Self::IProtectionPolicyManagerStatics2(|this| unsafe {
1852 let mut result__ = ::windows::core::zeroed::<bool>();
1853 (::windows::core::Interface::vtable(this).IsProtectionUnderLockRequired)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__)
1854 })
1855 }
1856 #[doc = "*Required features: `\"Foundation\"`*"]
1857 #[cfg(feature = "Foundation")]
1858 pub fn PolicyChanged(handler: &super::super::Foundation::EventHandler<::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
1859 Self::IProtectionPolicyManagerStatics2(|this| unsafe {
1860 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
1861 (::windows::core::Interface::vtable(this).PolicyChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
1862 })
1863 }
1864 #[doc = "*Required features: `\"Foundation\"`*"]
1865 #[cfg(feature = "Foundation")]
1866 pub fn RemovePolicyChanged(token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
1867 Self::IProtectionPolicyManagerStatics2(|this| unsafe { (::windows::core::Interface::vtable(this).RemovePolicyChanged)(::windows::core::Interface::as_raw(this), token).ok() })
1868 }
1869 pub fn IsProtectionEnabled() -> ::windows::core::Result<bool> {
1870 Self::IProtectionPolicyManagerStatics2(|this| unsafe {
1871 let mut result__ = ::windows::core::zeroed::<bool>();
1872 (::windows::core::Interface::vtable(this).IsProtectionEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
1873 })
1874 }
1875 #[doc = "*Required features: `\"Foundation\"`*"]
1876 #[cfg(feature = "Foundation")]
1877 pub fn RequestAccessWithAuditingInfoAsync(sourceidentity: &::windows::core::HSTRING, targetidentity: &::windows::core::HSTRING, auditinfo: &ProtectionPolicyAuditInfo) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>> {
1878 Self::IProtectionPolicyManagerStatics3(|this| unsafe {
1879 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>();
1880 (::windows::core::Interface::vtable(this).RequestAccessWithAuditingInfoAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), ::core::mem::transmute_copy(auditinfo), &mut result__).from_abi(result__)
1881 })
1882 }
1883 #[doc = "*Required features: `\"Foundation\"`*"]
1884 #[cfg(feature = "Foundation")]
1885 pub fn RequestAccessWithMessageAsync(sourceidentity: &::windows::core::HSTRING, targetidentity: &::windows::core::HSTRING, auditinfo: &ProtectionPolicyAuditInfo, messagefromapp: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>> {
1886 Self::IProtectionPolicyManagerStatics3(|this| unsafe {
1887 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>();
1888 (::windows::core::Interface::vtable(this).RequestAccessWithMessageAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), ::core::mem::transmute_copy(auditinfo), ::core::mem::transmute_copy(messagefromapp), &mut result__).from_abi(result__)
1889 })
1890 }
1891 #[doc = "*Required features: `\"Foundation\"`*"]
1892 #[cfg(feature = "Foundation")]
1893 pub fn RequestAccessForAppWithAuditingInfoAsync(sourceidentity: &::windows::core::HSTRING, apppackagefamilyname: &::windows::core::HSTRING, auditinfo: &ProtectionPolicyAuditInfo) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>> {
1894 Self::IProtectionPolicyManagerStatics3(|this| unsafe {
1895 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>();
1896 (::windows::core::Interface::vtable(this).RequestAccessForAppWithAuditingInfoAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), ::core::mem::transmute_copy(auditinfo), &mut result__).from_abi(result__)
1897 })
1898 }
1899 #[doc = "*Required features: `\"Foundation\"`*"]
1900 #[cfg(feature = "Foundation")]
1901 pub fn RequestAccessForAppWithMessageAsync(sourceidentity: &::windows::core::HSTRING, apppackagefamilyname: &::windows::core::HSTRING, auditinfo: &ProtectionPolicyAuditInfo, messagefromapp: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>> {
1902 Self::IProtectionPolicyManagerStatics3(|this| unsafe {
1903 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>();
1904 (::windows::core::Interface::vtable(this).RequestAccessForAppWithMessageAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), ::core::mem::transmute_copy(auditinfo), ::core::mem::transmute_copy(messagefromapp), &mut result__).from_abi(result__)
1905 })
1906 }
1907 pub fn LogAuditEvent(sourceidentity: &::windows::core::HSTRING, targetidentity: &::windows::core::HSTRING, auditinfo: &ProtectionPolicyAuditInfo) -> ::windows::core::Result<()> {
1908 Self::IProtectionPolicyManagerStatics3(|this| unsafe { (::windows::core::Interface::vtable(this).LogAuditEvent)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), ::core::mem::transmute_copy(auditinfo)).ok() })
1909 }
1910 pub fn IsRoamableProtectionEnabled(identity: &::windows::core::HSTRING) -> ::windows::core::Result<bool> {
1911 Self::IProtectionPolicyManagerStatics4(|this| unsafe {
1912 let mut result__ = ::windows::core::zeroed::<bool>();
1913 (::windows::core::Interface::vtable(this).IsRoamableProtectionEnabled)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__)
1914 })
1915 }
1916 #[doc = "*Required features: `\"Foundation\"`*"]
1917 #[cfg(feature = "Foundation")]
1918 pub fn RequestAccessWithBehaviorAsync(sourceidentity: &::windows::core::HSTRING, targetidentity: &::windows::core::HSTRING, auditinfo: &ProtectionPolicyAuditInfo, messagefromapp: &::windows::core::HSTRING, behavior: ProtectionPolicyRequestAccessBehavior) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>> {
1919 Self::IProtectionPolicyManagerStatics4(|this| unsafe {
1920 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>();
1921 (::windows::core::Interface::vtable(this).RequestAccessWithBehaviorAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(targetidentity), ::core::mem::transmute_copy(auditinfo), ::core::mem::transmute_copy(messagefromapp), behavior, &mut result__).from_abi(result__)
1922 })
1923 }
1924 #[doc = "*Required features: `\"Foundation\"`*"]
1925 #[cfg(feature = "Foundation")]
1926 pub fn RequestAccessForAppWithBehaviorAsync(sourceidentity: &::windows::core::HSTRING, apppackagefamilyname: &::windows::core::HSTRING, auditinfo: &ProtectionPolicyAuditInfo, messagefromapp: &::windows::core::HSTRING, behavior: ProtectionPolicyRequestAccessBehavior) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>> {
1927 Self::IProtectionPolicyManagerStatics4(|this| unsafe {
1928 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>();
1929 (::windows::core::Interface::vtable(this).RequestAccessForAppWithBehaviorAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(sourceidentity), ::core::mem::transmute_copy(apppackagefamilyname), ::core::mem::transmute_copy(auditinfo), ::core::mem::transmute_copy(messagefromapp), behavior, &mut result__).from_abi(result__)
1930 })
1931 }
1932 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Storage\"`*"]
1933 #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))]
1934 pub fn RequestAccessToFilesForAppAsync<P0>(sourceitemlist: P0, apppackagefamilyname: &::windows::core::HSTRING, auditinfo: &ProtectionPolicyAuditInfo) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>
1935 where
1936 P0: ::windows::core::TryIntoParam<super::super::Foundation::Collections::IIterable<super::super::Storage::IStorageItem>>,
1937 {
1938 Self::IProtectionPolicyManagerStatics4(|this| unsafe {
1939 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>();
1940 (::windows::core::Interface::vtable(this).RequestAccessToFilesForAppAsync)(::windows::core::Interface::as_raw(this), sourceitemlist.try_into_param()?.abi(), ::core::mem::transmute_copy(apppackagefamilyname), ::core::mem::transmute_copy(auditinfo), &mut result__).from_abi(result__)
1941 })
1942 }
1943 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Storage\"`*"]
1944 #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))]
1945 pub fn RequestAccessToFilesForAppWithMessageAndBehaviorAsync<P0>(sourceitemlist: P0, apppackagefamilyname: &::windows::core::HSTRING, auditinfo: &ProtectionPolicyAuditInfo, messagefromapp: &::windows::core::HSTRING, behavior: ProtectionPolicyRequestAccessBehavior) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>
1946 where
1947 P0: ::windows::core::TryIntoParam<super::super::Foundation::Collections::IIterable<super::super::Storage::IStorageItem>>,
1948 {
1949 Self::IProtectionPolicyManagerStatics4(|this| unsafe {
1950 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>();
1951 (::windows::core::Interface::vtable(this).RequestAccessToFilesForAppWithMessageAndBehaviorAsync)(::windows::core::Interface::as_raw(this), sourceitemlist.try_into_param()?.abi(), ::core::mem::transmute_copy(apppackagefamilyname), ::core::mem::transmute_copy(auditinfo), ::core::mem::transmute_copy(messagefromapp), behavior, &mut result__).from_abi(result__)
1952 })
1953 }
1954 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Storage\"`*"]
1955 #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))]
1956 pub fn RequestAccessToFilesForProcessAsync<P0>(sourceitemlist: P0, processid: u32, auditinfo: &ProtectionPolicyAuditInfo) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>
1957 where
1958 P0: ::windows::core::TryIntoParam<super::super::Foundation::Collections::IIterable<super::super::Storage::IStorageItem>>,
1959 {
1960 Self::IProtectionPolicyManagerStatics4(|this| unsafe {
1961 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>();
1962 (::windows::core::Interface::vtable(this).RequestAccessToFilesForProcessAsync)(::windows::core::Interface::as_raw(this), sourceitemlist.try_into_param()?.abi(), processid, ::core::mem::transmute_copy(auditinfo), &mut result__).from_abi(result__)
1963 })
1964 }
1965 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Storage\"`*"]
1966 #[cfg(all(feature = "Foundation_Collections", feature = "Storage"))]
1967 pub fn RequestAccessToFilesForProcessWithMessageAndBehaviorAsync<P0>(sourceitemlist: P0, processid: u32, auditinfo: &ProtectionPolicyAuditInfo, messagefromapp: &::windows::core::HSTRING, behavior: ProtectionPolicyRequestAccessBehavior) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>
1968 where
1969 P0: ::windows::core::TryIntoParam<super::super::Foundation::Collections::IIterable<super::super::Storage::IStorageItem>>,
1970 {
1971 Self::IProtectionPolicyManagerStatics4(|this| unsafe {
1972 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<ProtectionPolicyEvaluationResult>>();
1973 (::windows::core::Interface::vtable(this).RequestAccessToFilesForProcessWithMessageAndBehaviorAsync)(::windows::core::Interface::as_raw(this), sourceitemlist.try_into_param()?.abi(), processid, ::core::mem::transmute_copy(auditinfo), ::core::mem::transmute_copy(messagefromapp), behavior, &mut result__).from_abi(result__)
1974 })
1975 }
1976 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`*"]
1977 #[cfg(all(feature = "Foundation", feature = "Storage"))]
1978 pub fn IsFileProtectionRequiredAsync<P0>(target: P0, identity: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<bool>>
1979 where
1980 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageItem>,
1981 {
1982 Self::IProtectionPolicyManagerStatics4(|this| unsafe {
1983 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<bool>>();
1984 (::windows::core::Interface::vtable(this).IsFileProtectionRequiredAsync)(::windows::core::Interface::as_raw(this), target.try_into_param()?.abi(), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__)
1985 })
1986 }
1987 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`*"]
1988 #[cfg(all(feature = "Foundation", feature = "Storage"))]
1989 pub fn IsFileProtectionRequiredForNewFileAsync<P0>(parentfolder: P0, identity: &::windows::core::HSTRING, desiredname: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<bool>>
1990 where
1991 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageFolder>,
1992 {
1993 Self::IProtectionPolicyManagerStatics4(|this| unsafe {
1994 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<bool>>();
1995 (::windows::core::Interface::vtable(this).IsFileProtectionRequiredForNewFileAsync)(::windows::core::Interface::as_raw(this), parentfolder.try_into_param()?.abi(), ::core::mem::transmute_copy(identity), ::core::mem::transmute_copy(desiredname), &mut result__).from_abi(result__)
1996 })
1997 }
1998 pub fn PrimaryManagedIdentity() -> ::windows::core::Result<::windows::core::HSTRING> {
1999 Self::IProtectionPolicyManagerStatics4(|this| unsafe {
2000 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
2001 (::windows::core::Interface::vtable(this).PrimaryManagedIdentity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
2002 })
2003 }
2004 pub fn GetPrimaryManagedIdentityForIdentity(identity: &::windows::core::HSTRING) -> ::windows::core::Result<::windows::core::HSTRING> {
2005 Self::IProtectionPolicyManagerStatics4(|this| unsafe {
2006 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
2007 (::windows::core::Interface::vtable(this).GetPrimaryManagedIdentityForIdentity)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(identity), &mut result__).from_abi(result__)
2008 })
2009 }
2010 #[doc(hidden)]
2011 pub fn IProtectionPolicyManagerStatics<R, F: FnOnce(&IProtectionPolicyManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
2012 static SHARED: ::windows::imp::FactoryCache<ProtectionPolicyManager, IProtectionPolicyManagerStatics> = ::windows::imp::FactoryCache::new();
2013 SHARED.call(callback)
2014 }
2015 #[doc(hidden)]
2016 pub fn IProtectionPolicyManagerStatics2<R, F: FnOnce(&IProtectionPolicyManagerStatics2) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
2017 static SHARED: ::windows::imp::FactoryCache<ProtectionPolicyManager, IProtectionPolicyManagerStatics2> = ::windows::imp::FactoryCache::new();
2018 SHARED.call(callback)
2019 }
2020 #[doc(hidden)]
2021 pub fn IProtectionPolicyManagerStatics3<R, F: FnOnce(&IProtectionPolicyManagerStatics3) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
2022 static SHARED: ::windows::imp::FactoryCache<ProtectionPolicyManager, IProtectionPolicyManagerStatics3> = ::windows::imp::FactoryCache::new();
2023 SHARED.call(callback)
2024 }
2025 #[doc(hidden)]
2026 pub fn IProtectionPolicyManagerStatics4<R, F: FnOnce(&IProtectionPolicyManagerStatics4) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
2027 static SHARED: ::windows::imp::FactoryCache<ProtectionPolicyManager, IProtectionPolicyManagerStatics4> = ::windows::imp::FactoryCache::new();
2028 SHARED.call(callback)
2029 }
2030 }
2031 impl ::core::cmp::PartialEq for ProtectionPolicyManager {
2032 fn eq(&self, other: &Self) -> bool {
2033 self.0 == other.0
2034 }
2035 }
2036 impl ::core::cmp::Eq for ProtectionPolicyManager {}
2037 impl ::core::fmt::Debug for ProtectionPolicyManager {
2038 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2039 f.debug_tuple("ProtectionPolicyManager").field(&self.0).finish()
2040 }
2041 }
2042 impl ::windows::core::RuntimeType for ProtectionPolicyManager {
2043 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.EnterpriseData.ProtectionPolicyManager;{d5703e18-a08d-47e6-a240-9934d7165eb5})");
2044 }
2045 impl ::core::clone::Clone for ProtectionPolicyManager {
2046 fn clone(&self) -> Self {
2047 Self(self.0.clone())
2048 }
2049 }
2050 unsafe impl ::windows::core::Interface for ProtectionPolicyManager {
2051 type Vtable = IProtectionPolicyManager_Vtbl;
2052 }
2053 unsafe impl ::windows::core::ComInterface for ProtectionPolicyManager {
2054 const IID: ::windows::core::GUID = <IProtectionPolicyManager as ::windows::core::ComInterface>::IID;
2055 }
2056 impl ::windows::core::RuntimeName for ProtectionPolicyManager {
2057 const NAME: &'static str = "Windows.Security.EnterpriseData.ProtectionPolicyManager";
2058 }
2059 ::windows::imp::interface_hierarchy!(ProtectionPolicyManager, ::windows::core::IUnknown, ::windows::core::IInspectable);
2060 unsafe impl ::core::marker::Send for ProtectionPolicyManager {}
2061 unsafe impl ::core::marker::Sync for ProtectionPolicyManager {}
2062 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
2063 #[repr(transparent)]
2064 pub struct ThreadNetworkContext(::windows::core::IUnknown);
2065 impl ThreadNetworkContext {
2066 #[doc = "*Required features: `\"Foundation\"`*"]
2067 #[cfg(feature = "Foundation")]
2068 pub fn Close(&self) -> ::windows::core::Result<()> {
2069 let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
2070 unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
2071 }
2072 }
2073 impl ::core::cmp::PartialEq for ThreadNetworkContext {
2074 fn eq(&self, other: &Self) -> bool {
2075 self.0 == other.0
2076 }
2077 }
2078 impl ::core::cmp::Eq for ThreadNetworkContext {}
2079 impl ::core::fmt::Debug for ThreadNetworkContext {
2080 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2081 f.debug_tuple("ThreadNetworkContext").field(&self.0).finish()
2082 }
2083 }
2084 impl ::windows::core::RuntimeType for ThreadNetworkContext {
2085 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Security.EnterpriseData.ThreadNetworkContext;{fa4ea8e9-ef13-405a-b12c-d7348c6f41fc})");
2086 }
2087 impl ::core::clone::Clone for ThreadNetworkContext {
2088 fn clone(&self) -> Self {
2089 Self(self.0.clone())
2090 }
2091 }
2092 unsafe impl ::windows::core::Interface for ThreadNetworkContext {
2093 type Vtable = IThreadNetworkContext_Vtbl;
2094 }
2095 unsafe impl ::windows::core::ComInterface for ThreadNetworkContext {
2096 const IID: ::windows::core::GUID = <IThreadNetworkContext as ::windows::core::ComInterface>::IID;
2097 }
2098 impl ::windows::core::RuntimeName for ThreadNetworkContext {
2099 const NAME: &'static str = "Windows.Security.EnterpriseData.ThreadNetworkContext";
2100 }
2101 ::windows::imp::interface_hierarchy!(ThreadNetworkContext, ::windows::core::IUnknown, ::windows::core::IInspectable);
2102 #[cfg(feature = "Foundation")]
2103 impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for ThreadNetworkContext {}
2104 unsafe impl ::core::marker::Send for ThreadNetworkContext {}
2105 unsafe impl ::core::marker::Sync for ThreadNetworkContext {}
2106 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
2107 #[repr(transparent)]
2108 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2109 pub struct DataProtectionStatus(pub i32);
2110 impl DataProtectionStatus {
2111 pub const ProtectedToOtherIdentity: Self = Self(0i32);
2112 pub const Protected: Self = Self(1i32);
2113 pub const Revoked: Self = Self(2i32);
2114 pub const Unprotected: Self = Self(3i32);
2115 pub const LicenseExpired: Self = Self(4i32);
2116 pub const AccessSuspended: Self = Self(5i32);
2117 }
2118 impl ::core::marker::Copy for DataProtectionStatus {}
2119 impl ::core::clone::Clone for DataProtectionStatus {
2120 fn clone(&self) -> Self {
2121 *self
2122 }
2123 }
2124 impl ::core::default::Default for DataProtectionStatus {
2125 fn default() -> Self {
2126 Self(0)
2127 }
2128 }
2129 impl ::windows::core::TypeKind for DataProtectionStatus {
2130 type TypeKind = ::windows::core::CopyType;
2131 }
2132 impl ::core::fmt::Debug for DataProtectionStatus {
2133 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2134 f.debug_tuple("DataProtectionStatus").field(&self.0).finish()
2135 }
2136 }
2137 impl ::windows::core::RuntimeType for DataProtectionStatus {
2138 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Security.EnterpriseData.DataProtectionStatus;i4)");
2139 }
2140 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
2141 #[repr(transparent)]
2142 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2143 pub struct EnforcementLevel(pub i32);
2144 impl EnforcementLevel {
2145 pub const NoProtection: Self = Self(0i32);
2146 pub const Silent: Self = Self(1i32);
2147 pub const Override: Self = Self(2i32);
2148 pub const Block: Self = Self(3i32);
2149 }
2150 impl ::core::marker::Copy for EnforcementLevel {}
2151 impl ::core::clone::Clone for EnforcementLevel {
2152 fn clone(&self) -> Self {
2153 *self
2154 }
2155 }
2156 impl ::core::default::Default for EnforcementLevel {
2157 fn default() -> Self {
2158 Self(0)
2159 }
2160 }
2161 impl ::windows::core::TypeKind for EnforcementLevel {
2162 type TypeKind = ::windows::core::CopyType;
2163 }
2164 impl ::core::fmt::Debug for EnforcementLevel {
2165 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2166 f.debug_tuple("EnforcementLevel").field(&self.0).finish()
2167 }
2168 }
2169 impl ::windows::core::RuntimeType for EnforcementLevel {
2170 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Security.EnterpriseData.EnforcementLevel;i4)");
2171 }
2172 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
2173 #[repr(transparent)]
2174 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2175 pub struct FileProtectionStatus(pub i32);
2176 impl FileProtectionStatus {
2177 pub const Undetermined: Self = Self(0i32);
2178 pub const Unknown: Self = Self(0i32);
2179 pub const Unprotected: Self = Self(1i32);
2180 pub const Revoked: Self = Self(2i32);
2181 pub const Protected: Self = Self(3i32);
2182 pub const ProtectedByOtherUser: Self = Self(4i32);
2183 pub const ProtectedToOtherEnterprise: Self = Self(5i32);
2184 pub const NotProtectable: Self = Self(6i32);
2185 pub const ProtectedToOtherIdentity: Self = Self(7i32);
2186 pub const LicenseExpired: Self = Self(8i32);
2187 pub const AccessSuspended: Self = Self(9i32);
2188 pub const FileInUse: Self = Self(10i32);
2189 }
2190 impl ::core::marker::Copy for FileProtectionStatus {}
2191 impl ::core::clone::Clone for FileProtectionStatus {
2192 fn clone(&self) -> Self {
2193 *self
2194 }
2195 }
2196 impl ::core::default::Default for FileProtectionStatus {
2197 fn default() -> Self {
2198 Self(0)
2199 }
2200 }
2201 impl ::windows::core::TypeKind for FileProtectionStatus {
2202 type TypeKind = ::windows::core::CopyType;
2203 }
2204 impl ::core::fmt::Debug for FileProtectionStatus {
2205 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2206 f.debug_tuple("FileProtectionStatus").field(&self.0).finish()
2207 }
2208 }
2209 impl ::windows::core::RuntimeType for FileProtectionStatus {
2210 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Security.EnterpriseData.FileProtectionStatus;i4)");
2211 }
2212 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
2213 #[repr(transparent)]
2214 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2215 pub struct ProtectedImportExportStatus(pub i32);
2216 impl ProtectedImportExportStatus {
2217 pub const Ok: Self = Self(0i32);
2218 pub const Undetermined: Self = Self(1i32);
2219 pub const Unprotected: Self = Self(2i32);
2220 pub const Revoked: Self = Self(3i32);
2221 pub const NotRoamable: Self = Self(4i32);
2222 pub const ProtectedToOtherIdentity: Self = Self(5i32);
2223 pub const LicenseExpired: Self = Self(6i32);
2224 pub const AccessSuspended: Self = Self(7i32);
2225 }
2226 impl ::core::marker::Copy for ProtectedImportExportStatus {}
2227 impl ::core::clone::Clone for ProtectedImportExportStatus {
2228 fn clone(&self) -> Self {
2229 *self
2230 }
2231 }
2232 impl ::core::default::Default for ProtectedImportExportStatus {
2233 fn default() -> Self {
2234 Self(0)
2235 }
2236 }
2237 impl ::windows::core::TypeKind for ProtectedImportExportStatus {
2238 type TypeKind = ::windows::core::CopyType;
2239 }
2240 impl ::core::fmt::Debug for ProtectedImportExportStatus {
2241 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2242 f.debug_tuple("ProtectedImportExportStatus").field(&self.0).finish()
2243 }
2244 }
2245 impl ::windows::core::RuntimeType for ProtectedImportExportStatus {
2246 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Security.EnterpriseData.ProtectedImportExportStatus;i4)");
2247 }
2248 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
2249 #[repr(transparent)]
2250 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2251 pub struct ProtectionPolicyAuditAction(pub i32);
2252 impl ProtectionPolicyAuditAction {
2253 pub const Decrypt: Self = Self(0i32);
2254 pub const CopyToLocation: Self = Self(1i32);
2255 pub const SendToRecipient: Self = Self(2i32);
2256 pub const Other: Self = Self(3i32);
2257 }
2258 impl ::core::marker::Copy for ProtectionPolicyAuditAction {}
2259 impl ::core::clone::Clone for ProtectionPolicyAuditAction {
2260 fn clone(&self) -> Self {
2261 *self
2262 }
2263 }
2264 impl ::core::default::Default for ProtectionPolicyAuditAction {
2265 fn default() -> Self {
2266 Self(0)
2267 }
2268 }
2269 impl ::windows::core::TypeKind for ProtectionPolicyAuditAction {
2270 type TypeKind = ::windows::core::CopyType;
2271 }
2272 impl ::core::fmt::Debug for ProtectionPolicyAuditAction {
2273 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2274 f.debug_tuple("ProtectionPolicyAuditAction").field(&self.0).finish()
2275 }
2276 }
2277 impl ::windows::core::RuntimeType for ProtectionPolicyAuditAction {
2278 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Security.EnterpriseData.ProtectionPolicyAuditAction;i4)");
2279 }
2280 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
2281 #[repr(transparent)]
2282 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2283 pub struct ProtectionPolicyEvaluationResult(pub i32);
2284 impl ProtectionPolicyEvaluationResult {
2285 pub const Allowed: Self = Self(0i32);
2286 pub const Blocked: Self = Self(1i32);
2287 pub const ConsentRequired: Self = Self(2i32);
2288 }
2289 impl ::core::marker::Copy for ProtectionPolicyEvaluationResult {}
2290 impl ::core::clone::Clone for ProtectionPolicyEvaluationResult {
2291 fn clone(&self) -> Self {
2292 *self
2293 }
2294 }
2295 impl ::core::default::Default for ProtectionPolicyEvaluationResult {
2296 fn default() -> Self {
2297 Self(0)
2298 }
2299 }
2300 impl ::windows::core::TypeKind for ProtectionPolicyEvaluationResult {
2301 type TypeKind = ::windows::core::CopyType;
2302 }
2303 impl ::core::fmt::Debug for ProtectionPolicyEvaluationResult {
2304 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2305 f.debug_tuple("ProtectionPolicyEvaluationResult").field(&self.0).finish()
2306 }
2307 }
2308 impl ::windows::core::RuntimeType for ProtectionPolicyEvaluationResult {
2309 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Security.EnterpriseData.ProtectionPolicyEvaluationResult;i4)");
2310 }
2311 #[doc = "*Required features: `\"Security_EnterpriseData\"`*"]
2312 #[repr(transparent)]
2313 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
2314 pub struct ProtectionPolicyRequestAccessBehavior(pub i32);
2315 impl ProtectionPolicyRequestAccessBehavior {
2316 pub const Decrypt: Self = Self(0i32);
2317 pub const TreatOverridePolicyAsBlock: Self = Self(1i32);
2318 }
2319 impl ::core::marker::Copy for ProtectionPolicyRequestAccessBehavior {}
2320 impl ::core::clone::Clone for ProtectionPolicyRequestAccessBehavior {
2321 fn clone(&self) -> Self {
2322 *self
2323 }
2324 }
2325 impl ::core::default::Default for ProtectionPolicyRequestAccessBehavior {
2326 fn default() -> Self {
2327 Self(0)
2328 }
2329 }
2330 impl ::windows::core::TypeKind for ProtectionPolicyRequestAccessBehavior {
2331 type TypeKind = ::windows::core::CopyType;
2332 }
2333 impl ::core::fmt::Debug for ProtectionPolicyRequestAccessBehavior {
2334 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2335 f.debug_tuple("ProtectionPolicyRequestAccessBehavior").field(&self.0).finish()
2336 }
2337 }
2338 impl ::windows::core::RuntimeType for ProtectionPolicyRequestAccessBehavior {
2339 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Security.EnterpriseData.ProtectionPolicyRequestAccessBehavior;i4)");
2340 }
2341 #[cfg(feature = "implement")]
2342 ::core::include!("impl.rs");