]> git.proxmox.com Git - rustc.git/blob - vendor/windows/src/Windows/Media/Capture/mod.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Media / Capture / mod.rs
1 #[cfg(feature = "Media_Capture_Core")]
2 pub mod Core;
3 #[cfg(feature = "Media_Capture_Frames")]
4 pub mod Frames;
5 #[doc(hidden)]
6 #[repr(transparent)]
7 pub struct IAdvancedCapturedPhoto(::windows::core::IUnknown);
8 unsafe impl ::windows::core::Interface for IAdvancedCapturedPhoto {
9 type Vtable = IAdvancedCapturedPhoto_Vtbl;
10 }
11 impl ::core::clone::Clone for IAdvancedCapturedPhoto {
12 fn clone(&self) -> Self {
13 Self(self.0.clone())
14 }
15 }
16 unsafe impl ::windows::core::ComInterface for IAdvancedCapturedPhoto {
17 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf072728b_b292_4491_9d41_99807a550bbf);
18 }
19 #[repr(C)]
20 #[doc(hidden)]
21 pub struct IAdvancedCapturedPhoto_Vtbl {
22 pub base__: ::windows::core::IInspectable_Vtbl,
23 pub Frame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
24 #[cfg(feature = "Media_Devices")]
25 pub Mode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::Devices::AdvancedPhotoMode) -> ::windows::core::HRESULT,
26 #[cfg(not(feature = "Media_Devices"))]
27 Mode: usize,
28 pub Context: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
29 }
30 #[doc(hidden)]
31 #[repr(transparent)]
32 pub struct IAdvancedCapturedPhoto2(::windows::core::IUnknown);
33 unsafe impl ::windows::core::Interface for IAdvancedCapturedPhoto2 {
34 type Vtable = IAdvancedCapturedPhoto2_Vtbl;
35 }
36 impl ::core::clone::Clone for IAdvancedCapturedPhoto2 {
37 fn clone(&self) -> Self {
38 Self(self.0.clone())
39 }
40 }
41 unsafe impl ::windows::core::ComInterface for IAdvancedCapturedPhoto2 {
42 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x18cf6cd8_cffe_42d8_8104_017bb318f4a1);
43 }
44 #[repr(C)]
45 #[doc(hidden)]
46 pub struct IAdvancedCapturedPhoto2_Vtbl {
47 pub base__: ::windows::core::IInspectable_Vtbl,
48 #[cfg(feature = "Foundation")]
49 pub FrameBoundsRelativeToReferencePhoto: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
50 #[cfg(not(feature = "Foundation"))]
51 FrameBoundsRelativeToReferencePhoto: usize,
52 }
53 #[doc(hidden)]
54 #[repr(transparent)]
55 pub struct IAdvancedPhotoCapture(::windows::core::IUnknown);
56 unsafe impl ::windows::core::Interface for IAdvancedPhotoCapture {
57 type Vtable = IAdvancedPhotoCapture_Vtbl;
58 }
59 impl ::core::clone::Clone for IAdvancedPhotoCapture {
60 fn clone(&self) -> Self {
61 Self(self.0.clone())
62 }
63 }
64 unsafe impl ::windows::core::ComInterface for IAdvancedPhotoCapture {
65 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x83ffaafa_6667_44dc_973c_a6bce596aa0f);
66 }
67 #[repr(C)]
68 #[doc(hidden)]
69 pub struct IAdvancedPhotoCapture_Vtbl {
70 pub base__: ::windows::core::IInspectable_Vtbl,
71 #[cfg(feature = "Foundation")]
72 pub CaptureAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
73 #[cfg(not(feature = "Foundation"))]
74 CaptureAsync: usize,
75 #[cfg(feature = "Foundation")]
76 pub CaptureWithContextAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, context: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
77 #[cfg(not(feature = "Foundation"))]
78 CaptureWithContextAsync: usize,
79 #[cfg(feature = "Foundation")]
80 pub OptionalReferencePhotoCaptured: 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,
81 #[cfg(not(feature = "Foundation"))]
82 OptionalReferencePhotoCaptured: usize,
83 #[cfg(feature = "Foundation")]
84 pub RemoveOptionalReferencePhotoCaptured: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
85 #[cfg(not(feature = "Foundation"))]
86 RemoveOptionalReferencePhotoCaptured: usize,
87 #[cfg(feature = "Foundation")]
88 pub AllPhotosCaptured: 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,
89 #[cfg(not(feature = "Foundation"))]
90 AllPhotosCaptured: usize,
91 #[cfg(feature = "Foundation")]
92 pub RemoveAllPhotosCaptured: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
93 #[cfg(not(feature = "Foundation"))]
94 RemoveAllPhotosCaptured: usize,
95 #[cfg(feature = "Foundation")]
96 pub FinishAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
97 #[cfg(not(feature = "Foundation"))]
98 FinishAsync: usize,
99 }
100 #[doc(hidden)]
101 #[repr(transparent)]
102 pub struct IAppBroadcastBackgroundService(::windows::core::IUnknown);
103 unsafe impl ::windows::core::Interface for IAppBroadcastBackgroundService {
104 type Vtable = IAppBroadcastBackgroundService_Vtbl;
105 }
106 impl ::core::clone::Clone for IAppBroadcastBackgroundService {
107 fn clone(&self) -> Self {
108 Self(self.0.clone())
109 }
110 }
111 unsafe impl ::windows::core::ComInterface for IAppBroadcastBackgroundService {
112 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbad1e72a_fa94_46f9_95fc_d71511cda70b);
113 }
114 #[repr(C)]
115 #[doc(hidden)]
116 pub struct IAppBroadcastBackgroundService_Vtbl {
117 pub base__: ::windows::core::IInspectable_Vtbl,
118 pub SetPlugInState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AppBroadcastPlugInState) -> ::windows::core::HRESULT,
119 pub PlugInState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastPlugInState) -> ::windows::core::HRESULT,
120 pub SetSignInInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
121 pub SignInInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
122 pub SetStreamInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
123 pub StreamInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
124 pub AppId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
125 pub BroadcastTitle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
126 pub SetViewerCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
127 pub ViewerCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
128 pub TerminateBroadcast: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, reason: AppBroadcastTerminationReason, providerspecificreason: u32) -> ::windows::core::HRESULT,
129 #[cfg(feature = "Foundation")]
130 pub HeartbeatRequested: 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,
131 #[cfg(not(feature = "Foundation"))]
132 HeartbeatRequested: usize,
133 #[cfg(feature = "Foundation")]
134 pub RemoveHeartbeatRequested: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
135 #[cfg(not(feature = "Foundation"))]
136 RemoveHeartbeatRequested: usize,
137 pub TitleId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
138 }
139 #[doc(hidden)]
140 #[repr(transparent)]
141 pub struct IAppBroadcastBackgroundService2(::windows::core::IUnknown);
142 unsafe impl ::windows::core::Interface for IAppBroadcastBackgroundService2 {
143 type Vtable = IAppBroadcastBackgroundService2_Vtbl;
144 }
145 impl ::core::clone::Clone for IAppBroadcastBackgroundService2 {
146 fn clone(&self) -> Self {
147 Self(self.0.clone())
148 }
149 }
150 unsafe impl ::windows::core::ComInterface for IAppBroadcastBackgroundService2 {
151 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfc8ccbbf_5549_4b87_959f_23ca401fd473);
152 }
153 #[repr(C)]
154 #[doc(hidden)]
155 pub struct IAppBroadcastBackgroundService2_Vtbl {
156 pub base__: ::windows::core::IInspectable_Vtbl,
157 pub SetBroadcastTitle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
158 pub BroadcastLanguage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
159 pub SetBroadcastLanguage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
160 pub BroadcastChannel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
161 pub SetBroadcastChannel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
162 #[cfg(feature = "Foundation")]
163 pub BroadcastTitleChanged: 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,
164 #[cfg(not(feature = "Foundation"))]
165 BroadcastTitleChanged: usize,
166 #[cfg(feature = "Foundation")]
167 pub RemoveBroadcastTitleChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
168 #[cfg(not(feature = "Foundation"))]
169 RemoveBroadcastTitleChanged: usize,
170 #[cfg(feature = "Foundation")]
171 pub BroadcastLanguageChanged: 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,
172 #[cfg(not(feature = "Foundation"))]
173 BroadcastLanguageChanged: usize,
174 #[cfg(feature = "Foundation")]
175 pub RemoveBroadcastLanguageChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
176 #[cfg(not(feature = "Foundation"))]
177 RemoveBroadcastLanguageChanged: usize,
178 #[cfg(feature = "Foundation")]
179 pub BroadcastChannelChanged: 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,
180 #[cfg(not(feature = "Foundation"))]
181 BroadcastChannelChanged: usize,
182 #[cfg(feature = "Foundation")]
183 pub RemoveBroadcastChannelChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
184 #[cfg(not(feature = "Foundation"))]
185 RemoveBroadcastChannelChanged: usize,
186 }
187 #[doc(hidden)]
188 #[repr(transparent)]
189 pub struct IAppBroadcastBackgroundServiceSignInInfo(::windows::core::IUnknown);
190 unsafe impl ::windows::core::Interface for IAppBroadcastBackgroundServiceSignInInfo {
191 type Vtable = IAppBroadcastBackgroundServiceSignInInfo_Vtbl;
192 }
193 impl ::core::clone::Clone for IAppBroadcastBackgroundServiceSignInInfo {
194 fn clone(&self) -> Self {
195 Self(self.0.clone())
196 }
197 }
198 unsafe impl ::windows::core::ComInterface for IAppBroadcastBackgroundServiceSignInInfo {
199 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5e735275_88c8_4eca_89ba_4825985db880);
200 }
201 #[repr(C)]
202 #[doc(hidden)]
203 pub struct IAppBroadcastBackgroundServiceSignInInfo_Vtbl {
204 pub base__: ::windows::core::IInspectable_Vtbl,
205 pub SignInState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastSignInState) -> ::windows::core::HRESULT,
206 #[cfg(feature = "Foundation")]
207 pub SetOAuthRequestUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
208 #[cfg(not(feature = "Foundation"))]
209 SetOAuthRequestUri: usize,
210 #[cfg(feature = "Foundation")]
211 pub OAuthRequestUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
212 #[cfg(not(feature = "Foundation"))]
213 OAuthRequestUri: usize,
214 #[cfg(feature = "Foundation")]
215 pub SetOAuthCallbackUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
216 #[cfg(not(feature = "Foundation"))]
217 SetOAuthCallbackUri: usize,
218 #[cfg(feature = "Foundation")]
219 pub OAuthCallbackUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
220 #[cfg(not(feature = "Foundation"))]
221 OAuthCallbackUri: usize,
222 #[cfg(feature = "Security_Authentication_Web")]
223 pub AuthenticationResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
224 #[cfg(not(feature = "Security_Authentication_Web"))]
225 AuthenticationResult: usize,
226 pub SetUserName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
227 pub UserName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
228 #[cfg(feature = "Foundation")]
229 pub SignInStateChanged: 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,
230 #[cfg(not(feature = "Foundation"))]
231 SignInStateChanged: usize,
232 #[cfg(feature = "Foundation")]
233 pub RemoveSignInStateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
234 #[cfg(not(feature = "Foundation"))]
235 RemoveSignInStateChanged: usize,
236 }
237 #[doc(hidden)]
238 #[repr(transparent)]
239 pub struct IAppBroadcastBackgroundServiceSignInInfo2(::windows::core::IUnknown);
240 unsafe impl ::windows::core::Interface for IAppBroadcastBackgroundServiceSignInInfo2 {
241 type Vtable = IAppBroadcastBackgroundServiceSignInInfo2_Vtbl;
242 }
243 impl ::core::clone::Clone for IAppBroadcastBackgroundServiceSignInInfo2 {
244 fn clone(&self) -> Self {
245 Self(self.0.clone())
246 }
247 }
248 unsafe impl ::windows::core::ComInterface for IAppBroadcastBackgroundServiceSignInInfo2 {
249 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9104285c_62cf_4a3c_a7ee_aeb507404645);
250 }
251 #[repr(C)]
252 #[doc(hidden)]
253 pub struct IAppBroadcastBackgroundServiceSignInInfo2_Vtbl {
254 pub base__: ::windows::core::IInspectable_Vtbl,
255 #[cfg(feature = "Foundation")]
256 pub UserNameChanged: 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,
257 #[cfg(not(feature = "Foundation"))]
258 UserNameChanged: usize,
259 #[cfg(feature = "Foundation")]
260 pub RemoveUserNameChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
261 #[cfg(not(feature = "Foundation"))]
262 RemoveUserNameChanged: usize,
263 }
264 #[doc(hidden)]
265 #[repr(transparent)]
266 pub struct IAppBroadcastBackgroundServiceStreamInfo(::windows::core::IUnknown);
267 unsafe impl ::windows::core::Interface for IAppBroadcastBackgroundServiceStreamInfo {
268 type Vtable = IAppBroadcastBackgroundServiceStreamInfo_Vtbl;
269 }
270 impl ::core::clone::Clone for IAppBroadcastBackgroundServiceStreamInfo {
271 fn clone(&self) -> Self {
272 Self(self.0.clone())
273 }
274 }
275 unsafe impl ::windows::core::ComInterface for IAppBroadcastBackgroundServiceStreamInfo {
276 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x31dc02bc_990a_4904_aa96_fe364381f136);
277 }
278 #[repr(C)]
279 #[doc(hidden)]
280 pub struct IAppBroadcastBackgroundServiceStreamInfo_Vtbl {
281 pub base__: ::windows::core::IInspectable_Vtbl,
282 pub StreamState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastStreamState) -> ::windows::core::HRESULT,
283 pub SetDesiredVideoEncodingBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u64) -> ::windows::core::HRESULT,
284 pub DesiredVideoEncodingBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u64) -> ::windows::core::HRESULT,
285 pub SetBandwidthTestBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u64) -> ::windows::core::HRESULT,
286 pub BandwidthTestBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u64) -> ::windows::core::HRESULT,
287 pub SetAudioCodec: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
288 pub AudioCodec: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
289 pub BroadcastStreamReader: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
290 #[cfg(feature = "Foundation")]
291 pub StreamStateChanged: 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,
292 #[cfg(not(feature = "Foundation"))]
293 StreamStateChanged: usize,
294 #[cfg(feature = "Foundation")]
295 pub RemoveStreamStateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
296 #[cfg(not(feature = "Foundation"))]
297 RemoveStreamStateChanged: usize,
298 #[cfg(feature = "Foundation")]
299 pub VideoEncodingResolutionChanged: 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,
300 #[cfg(not(feature = "Foundation"))]
301 VideoEncodingResolutionChanged: usize,
302 #[cfg(feature = "Foundation")]
303 pub RemoveVideoEncodingResolutionChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
304 #[cfg(not(feature = "Foundation"))]
305 RemoveVideoEncodingResolutionChanged: usize,
306 #[cfg(feature = "Foundation")]
307 pub VideoEncodingBitrateChanged: 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,
308 #[cfg(not(feature = "Foundation"))]
309 VideoEncodingBitrateChanged: usize,
310 #[cfg(feature = "Foundation")]
311 pub RemoveVideoEncodingBitrateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
312 #[cfg(not(feature = "Foundation"))]
313 RemoveVideoEncodingBitrateChanged: usize,
314 }
315 #[doc(hidden)]
316 #[repr(transparent)]
317 pub struct IAppBroadcastBackgroundServiceStreamInfo2(::windows::core::IUnknown);
318 unsafe impl ::windows::core::Interface for IAppBroadcastBackgroundServiceStreamInfo2 {
319 type Vtable = IAppBroadcastBackgroundServiceStreamInfo2_Vtbl;
320 }
321 impl ::core::clone::Clone for IAppBroadcastBackgroundServiceStreamInfo2 {
322 fn clone(&self) -> Self {
323 Self(self.0.clone())
324 }
325 }
326 unsafe impl ::windows::core::ComInterface for IAppBroadcastBackgroundServiceStreamInfo2 {
327 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbd1e9f6d_94dc_4fce_9541_a9f129596334);
328 }
329 #[repr(C)]
330 #[doc(hidden)]
331 pub struct IAppBroadcastBackgroundServiceStreamInfo2_Vtbl {
332 pub base__: ::windows::core::IInspectable_Vtbl,
333 pub ReportProblemWithStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
334 }
335 #[doc(hidden)]
336 #[repr(transparent)]
337 pub struct IAppBroadcastCameraCaptureStateChangedEventArgs(::windows::core::IUnknown);
338 unsafe impl ::windows::core::Interface for IAppBroadcastCameraCaptureStateChangedEventArgs {
339 type Vtable = IAppBroadcastCameraCaptureStateChangedEventArgs_Vtbl;
340 }
341 impl ::core::clone::Clone for IAppBroadcastCameraCaptureStateChangedEventArgs {
342 fn clone(&self) -> Self {
343 Self(self.0.clone())
344 }
345 }
346 unsafe impl ::windows::core::ComInterface for IAppBroadcastCameraCaptureStateChangedEventArgs {
347 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1e334cd0_b882_4b88_8692_05999aceb70f);
348 }
349 #[repr(C)]
350 #[doc(hidden)]
351 pub struct IAppBroadcastCameraCaptureStateChangedEventArgs_Vtbl {
352 pub base__: ::windows::core::IInspectable_Vtbl,
353 pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastCameraCaptureState) -> ::windows::core::HRESULT,
354 pub ErrorCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
355 }
356 #[doc(hidden)]
357 #[repr(transparent)]
358 pub struct IAppBroadcastGlobalSettings(::windows::core::IUnknown);
359 unsafe impl ::windows::core::Interface for IAppBroadcastGlobalSettings {
360 type Vtable = IAppBroadcastGlobalSettings_Vtbl;
361 }
362 impl ::core::clone::Clone for IAppBroadcastGlobalSettings {
363 fn clone(&self) -> Self {
364 Self(self.0.clone())
365 }
366 }
367 unsafe impl ::windows::core::ComInterface for IAppBroadcastGlobalSettings {
368 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb2cb27a5_70fc_4e17_80bd_6ba0fd3ff3a0);
369 }
370 #[repr(C)]
371 #[doc(hidden)]
372 pub struct IAppBroadcastGlobalSettings_Vtbl {
373 pub base__: ::windows::core::IInspectable_Vtbl,
374 pub IsBroadcastEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
375 pub IsDisabledByPolicy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
376 pub IsGpuConstrained: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
377 pub HasHardwareEncoder: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
378 pub SetIsAudioCaptureEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
379 pub IsAudioCaptureEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
380 pub SetIsMicrophoneCaptureEnabledByDefault: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
381 pub IsMicrophoneCaptureEnabledByDefault: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
382 pub SetIsEchoCancellationEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
383 pub IsEchoCancellationEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
384 pub SetSystemAudioGain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f64) -> ::windows::core::HRESULT,
385 pub SystemAudioGain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f64) -> ::windows::core::HRESULT,
386 pub SetMicrophoneGain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f64) -> ::windows::core::HRESULT,
387 pub MicrophoneGain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f64) -> ::windows::core::HRESULT,
388 pub SetIsCameraCaptureEnabledByDefault: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
389 pub IsCameraCaptureEnabledByDefault: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
390 pub SetSelectedCameraId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
391 pub SelectedCameraId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
392 pub SetCameraOverlayLocation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AppBroadcastCameraOverlayLocation) -> ::windows::core::HRESULT,
393 pub CameraOverlayLocation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastCameraOverlayLocation) -> ::windows::core::HRESULT,
394 pub SetCameraOverlaySize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AppBroadcastCameraOverlaySize) -> ::windows::core::HRESULT,
395 pub CameraOverlaySize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastCameraOverlaySize) -> ::windows::core::HRESULT,
396 pub SetIsCursorImageCaptureEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
397 pub IsCursorImageCaptureEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
398 }
399 #[doc(hidden)]
400 #[repr(transparent)]
401 pub struct IAppBroadcastHeartbeatRequestedEventArgs(::windows::core::IUnknown);
402 unsafe impl ::windows::core::Interface for IAppBroadcastHeartbeatRequestedEventArgs {
403 type Vtable = IAppBroadcastHeartbeatRequestedEventArgs_Vtbl;
404 }
405 impl ::core::clone::Clone for IAppBroadcastHeartbeatRequestedEventArgs {
406 fn clone(&self) -> Self {
407 Self(self.0.clone())
408 }
409 }
410 unsafe impl ::windows::core::ComInterface for IAppBroadcastHeartbeatRequestedEventArgs {
411 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcea54283_ee51_4dbf_9472_79a9ed4e2165);
412 }
413 #[repr(C)]
414 #[doc(hidden)]
415 pub struct IAppBroadcastHeartbeatRequestedEventArgs_Vtbl {
416 pub base__: ::windows::core::IInspectable_Vtbl,
417 pub SetHandled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
418 pub Handled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
419 }
420 #[doc(hidden)]
421 #[repr(transparent)]
422 pub struct IAppBroadcastManagerStatics(::windows::core::IUnknown);
423 unsafe impl ::windows::core::Interface for IAppBroadcastManagerStatics {
424 type Vtable = IAppBroadcastManagerStatics_Vtbl;
425 }
426 impl ::core::clone::Clone for IAppBroadcastManagerStatics {
427 fn clone(&self) -> Self {
428 Self(self.0.clone())
429 }
430 }
431 unsafe impl ::windows::core::ComInterface for IAppBroadcastManagerStatics {
432 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x364e018b_1e4e_411f_ab3e_92959844c156);
433 }
434 #[repr(C)]
435 #[doc(hidden)]
436 pub struct IAppBroadcastManagerStatics_Vtbl {
437 pub base__: ::windows::core::IInspectable_Vtbl,
438 pub GetGlobalSettings: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
439 pub ApplyGlobalSettings: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
440 pub GetProviderSettings: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
441 pub ApplyProviderSettings: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
442 }
443 #[doc(hidden)]
444 #[repr(transparent)]
445 pub struct IAppBroadcastMicrophoneCaptureStateChangedEventArgs(::windows::core::IUnknown);
446 unsafe impl ::windows::core::Interface for IAppBroadcastMicrophoneCaptureStateChangedEventArgs {
447 type Vtable = IAppBroadcastMicrophoneCaptureStateChangedEventArgs_Vtbl;
448 }
449 impl ::core::clone::Clone for IAppBroadcastMicrophoneCaptureStateChangedEventArgs {
450 fn clone(&self) -> Self {
451 Self(self.0.clone())
452 }
453 }
454 unsafe impl ::windows::core::ComInterface for IAppBroadcastMicrophoneCaptureStateChangedEventArgs {
455 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa86ad5e9_9440_4908_9d09_65b7e315d795);
456 }
457 #[repr(C)]
458 #[doc(hidden)]
459 pub struct IAppBroadcastMicrophoneCaptureStateChangedEventArgs_Vtbl {
460 pub base__: ::windows::core::IInspectable_Vtbl,
461 pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastMicrophoneCaptureState) -> ::windows::core::HRESULT,
462 pub ErrorCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
463 }
464 #[doc(hidden)]
465 #[repr(transparent)]
466 pub struct IAppBroadcastPlugIn(::windows::core::IUnknown);
467 unsafe impl ::windows::core::Interface for IAppBroadcastPlugIn {
468 type Vtable = IAppBroadcastPlugIn_Vtbl;
469 }
470 impl ::core::clone::Clone for IAppBroadcastPlugIn {
471 fn clone(&self) -> Self {
472 Self(self.0.clone())
473 }
474 }
475 unsafe impl ::windows::core::ComInterface for IAppBroadcastPlugIn {
476 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x520c1e66_6513_4574_ac54_23b79729615b);
477 }
478 #[repr(C)]
479 #[doc(hidden)]
480 pub struct IAppBroadcastPlugIn_Vtbl {
481 pub base__: ::windows::core::IInspectable_Vtbl,
482 pub AppId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
483 pub ProviderSettings: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
484 #[cfg(feature = "Storage_Streams")]
485 pub Logo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
486 #[cfg(not(feature = "Storage_Streams"))]
487 Logo: usize,
488 pub DisplayName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
489 }
490 #[doc(hidden)]
491 #[repr(transparent)]
492 pub struct IAppBroadcastPlugInManager(::windows::core::IUnknown);
493 unsafe impl ::windows::core::Interface for IAppBroadcastPlugInManager {
494 type Vtable = IAppBroadcastPlugInManager_Vtbl;
495 }
496 impl ::core::clone::Clone for IAppBroadcastPlugInManager {
497 fn clone(&self) -> Self {
498 Self(self.0.clone())
499 }
500 }
501 unsafe impl ::windows::core::ComInterface for IAppBroadcastPlugInManager {
502 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe550d979_27a1_49a7_bbf4_d7a9e9d07668);
503 }
504 #[repr(C)]
505 #[doc(hidden)]
506 pub struct IAppBroadcastPlugInManager_Vtbl {
507 pub base__: ::windows::core::IInspectable_Vtbl,
508 pub IsBroadcastProviderAvailable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
509 #[cfg(feature = "Foundation_Collections")]
510 pub PlugInList: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
511 #[cfg(not(feature = "Foundation_Collections"))]
512 PlugInList: usize,
513 pub DefaultPlugIn: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
514 pub SetDefaultPlugIn: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
515 }
516 #[doc(hidden)]
517 #[repr(transparent)]
518 pub struct IAppBroadcastPlugInManagerStatics(::windows::core::IUnknown);
519 unsafe impl ::windows::core::Interface for IAppBroadcastPlugInManagerStatics {
520 type Vtable = IAppBroadcastPlugInManagerStatics_Vtbl;
521 }
522 impl ::core::clone::Clone for IAppBroadcastPlugInManagerStatics {
523 fn clone(&self) -> Self {
524 Self(self.0.clone())
525 }
526 }
527 unsafe impl ::windows::core::ComInterface for IAppBroadcastPlugInManagerStatics {
528 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf2645c20_5c76_4cdc_9364_82fe9eb6534d);
529 }
530 #[repr(C)]
531 #[doc(hidden)]
532 pub struct IAppBroadcastPlugInManagerStatics_Vtbl {
533 pub base__: ::windows::core::IInspectable_Vtbl,
534 pub GetDefault: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
535 #[cfg(feature = "System")]
536 pub GetForUser: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, user: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
537 #[cfg(not(feature = "System"))]
538 GetForUser: usize,
539 }
540 #[doc(hidden)]
541 #[repr(transparent)]
542 pub struct IAppBroadcastPlugInStateChangedEventArgs(::windows::core::IUnknown);
543 unsafe impl ::windows::core::Interface for IAppBroadcastPlugInStateChangedEventArgs {
544 type Vtable = IAppBroadcastPlugInStateChangedEventArgs_Vtbl;
545 }
546 impl ::core::clone::Clone for IAppBroadcastPlugInStateChangedEventArgs {
547 fn clone(&self) -> Self {
548 Self(self.0.clone())
549 }
550 }
551 unsafe impl ::windows::core::ComInterface for IAppBroadcastPlugInStateChangedEventArgs {
552 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4881d0f2_abc5_4fc6_84b0_89370bb47212);
553 }
554 #[repr(C)]
555 #[doc(hidden)]
556 pub struct IAppBroadcastPlugInStateChangedEventArgs_Vtbl {
557 pub base__: ::windows::core::IInspectable_Vtbl,
558 pub PlugInState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastPlugInState) -> ::windows::core::HRESULT,
559 }
560 #[doc(hidden)]
561 #[repr(transparent)]
562 pub struct IAppBroadcastPreview(::windows::core::IUnknown);
563 unsafe impl ::windows::core::Interface for IAppBroadcastPreview {
564 type Vtable = IAppBroadcastPreview_Vtbl;
565 }
566 impl ::core::clone::Clone for IAppBroadcastPreview {
567 fn clone(&self) -> Self {
568 Self(self.0.clone())
569 }
570 }
571 unsafe impl ::windows::core::ComInterface for IAppBroadcastPreview {
572 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x14b60f5a_6e4a_4b80_a14f_67ee77d153e7);
573 }
574 #[repr(C)]
575 #[doc(hidden)]
576 pub struct IAppBroadcastPreview_Vtbl {
577 pub base__: ::windows::core::IInspectable_Vtbl,
578 pub StopPreview: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
579 pub PreviewState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastPreviewState) -> ::windows::core::HRESULT,
580 #[cfg(feature = "Foundation")]
581 pub ErrorCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
582 #[cfg(not(feature = "Foundation"))]
583 ErrorCode: usize,
584 #[cfg(feature = "Foundation")]
585 pub PreviewStateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
586 #[cfg(not(feature = "Foundation"))]
587 PreviewStateChanged: usize,
588 #[cfg(feature = "Foundation")]
589 pub RemovePreviewStateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
590 #[cfg(not(feature = "Foundation"))]
591 RemovePreviewStateChanged: usize,
592 pub PreviewStreamReader: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
593 }
594 #[doc(hidden)]
595 #[repr(transparent)]
596 pub struct IAppBroadcastPreviewStateChangedEventArgs(::windows::core::IUnknown);
597 unsafe impl ::windows::core::Interface for IAppBroadcastPreviewStateChangedEventArgs {
598 type Vtable = IAppBroadcastPreviewStateChangedEventArgs_Vtbl;
599 }
600 impl ::core::clone::Clone for IAppBroadcastPreviewStateChangedEventArgs {
601 fn clone(&self) -> Self {
602 Self(self.0.clone())
603 }
604 }
605 unsafe impl ::windows::core::ComInterface for IAppBroadcastPreviewStateChangedEventArgs {
606 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5a57f2de_8dea_4e86_90ad_03fc26b9653c);
607 }
608 #[repr(C)]
609 #[doc(hidden)]
610 pub struct IAppBroadcastPreviewStateChangedEventArgs_Vtbl {
611 pub base__: ::windows::core::IInspectable_Vtbl,
612 pub PreviewState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastPreviewState) -> ::windows::core::HRESULT,
613 pub ErrorCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
614 }
615 #[doc(hidden)]
616 #[repr(transparent)]
617 pub struct IAppBroadcastPreviewStreamReader(::windows::core::IUnknown);
618 unsafe impl ::windows::core::Interface for IAppBroadcastPreviewStreamReader {
619 type Vtable = IAppBroadcastPreviewStreamReader_Vtbl;
620 }
621 impl ::core::clone::Clone for IAppBroadcastPreviewStreamReader {
622 fn clone(&self) -> Self {
623 Self(self.0.clone())
624 }
625 }
626 unsafe impl ::windows::core::ComInterface for IAppBroadcastPreviewStreamReader {
627 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x92228d50_db3f_40a8_8cd4_f4e371ddab37);
628 }
629 #[repr(C)]
630 #[doc(hidden)]
631 pub struct IAppBroadcastPreviewStreamReader_Vtbl {
632 pub base__: ::windows::core::IInspectable_Vtbl,
633 pub VideoWidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
634 pub VideoHeight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
635 pub VideoStride: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
636 #[cfg(feature = "Graphics_Imaging")]
637 pub VideoBitmapPixelFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Graphics::Imaging::BitmapPixelFormat) -> ::windows::core::HRESULT,
638 #[cfg(not(feature = "Graphics_Imaging"))]
639 VideoBitmapPixelFormat: usize,
640 #[cfg(feature = "Graphics_Imaging")]
641 pub VideoBitmapAlphaMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Graphics::Imaging::BitmapAlphaMode) -> ::windows::core::HRESULT,
642 #[cfg(not(feature = "Graphics_Imaging"))]
643 VideoBitmapAlphaMode: usize,
644 pub TryGetNextVideoFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
645 #[cfg(feature = "Foundation")]
646 pub VideoFrameArrived: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
647 #[cfg(not(feature = "Foundation"))]
648 VideoFrameArrived: usize,
649 #[cfg(feature = "Foundation")]
650 pub RemoveVideoFrameArrived: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
651 #[cfg(not(feature = "Foundation"))]
652 RemoveVideoFrameArrived: usize,
653 }
654 #[doc(hidden)]
655 #[repr(transparent)]
656 pub struct IAppBroadcastPreviewStreamVideoFrame(::windows::core::IUnknown);
657 unsafe impl ::windows::core::Interface for IAppBroadcastPreviewStreamVideoFrame {
658 type Vtable = IAppBroadcastPreviewStreamVideoFrame_Vtbl;
659 }
660 impl ::core::clone::Clone for IAppBroadcastPreviewStreamVideoFrame {
661 fn clone(&self) -> Self {
662 Self(self.0.clone())
663 }
664 }
665 unsafe impl ::windows::core::ComInterface for IAppBroadcastPreviewStreamVideoFrame {
666 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x010fbea1_94fe_4499_b8c0_8d244279fb12);
667 }
668 #[repr(C)]
669 #[doc(hidden)]
670 pub struct IAppBroadcastPreviewStreamVideoFrame_Vtbl {
671 pub base__: ::windows::core::IInspectable_Vtbl,
672 pub VideoHeader: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
673 #[cfg(feature = "Storage_Streams")]
674 pub VideoBuffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
675 #[cfg(not(feature = "Storage_Streams"))]
676 VideoBuffer: usize,
677 }
678 #[doc(hidden)]
679 #[repr(transparent)]
680 pub struct IAppBroadcastPreviewStreamVideoHeader(::windows::core::IUnknown);
681 unsafe impl ::windows::core::Interface for IAppBroadcastPreviewStreamVideoHeader {
682 type Vtable = IAppBroadcastPreviewStreamVideoHeader_Vtbl;
683 }
684 impl ::core::clone::Clone for IAppBroadcastPreviewStreamVideoHeader {
685 fn clone(&self) -> Self {
686 Self(self.0.clone())
687 }
688 }
689 unsafe impl ::windows::core::ComInterface for IAppBroadcastPreviewStreamVideoHeader {
690 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8bef6113_da84_4499_a7ab_87118cb4a157);
691 }
692 #[repr(C)]
693 #[doc(hidden)]
694 pub struct IAppBroadcastPreviewStreamVideoHeader_Vtbl {
695 pub base__: ::windows::core::IInspectable_Vtbl,
696 #[cfg(feature = "Foundation")]
697 pub AbsoluteTimestamp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::DateTime) -> ::windows::core::HRESULT,
698 #[cfg(not(feature = "Foundation"))]
699 AbsoluteTimestamp: usize,
700 #[cfg(feature = "Foundation")]
701 pub RelativeTimestamp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
702 #[cfg(not(feature = "Foundation"))]
703 RelativeTimestamp: usize,
704 #[cfg(feature = "Foundation")]
705 pub Duration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
706 #[cfg(not(feature = "Foundation"))]
707 Duration: usize,
708 pub FrameId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u64) -> ::windows::core::HRESULT,
709 }
710 #[doc(hidden)]
711 #[repr(transparent)]
712 pub struct IAppBroadcastProviderSettings(::windows::core::IUnknown);
713 unsafe impl ::windows::core::Interface for IAppBroadcastProviderSettings {
714 type Vtable = IAppBroadcastProviderSettings_Vtbl;
715 }
716 impl ::core::clone::Clone for IAppBroadcastProviderSettings {
717 fn clone(&self) -> Self {
718 Self(self.0.clone())
719 }
720 }
721 unsafe impl ::windows::core::ComInterface for IAppBroadcastProviderSettings {
722 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc30bdf62_9948_458f_ad50_aa06ec03da08);
723 }
724 #[repr(C)]
725 #[doc(hidden)]
726 pub struct IAppBroadcastProviderSettings_Vtbl {
727 pub base__: ::windows::core::IInspectable_Vtbl,
728 pub SetDefaultBroadcastTitle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
729 pub DefaultBroadcastTitle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
730 pub SetAudioEncodingBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
731 pub AudioEncodingBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
732 pub SetCustomVideoEncodingBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
733 pub CustomVideoEncodingBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
734 pub SetCustomVideoEncodingHeight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
735 pub CustomVideoEncodingHeight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
736 pub SetCustomVideoEncodingWidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
737 pub CustomVideoEncodingWidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
738 pub SetVideoEncodingBitrateMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AppBroadcastVideoEncodingBitrateMode) -> ::windows::core::HRESULT,
739 pub VideoEncodingBitrateMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastVideoEncodingBitrateMode) -> ::windows::core::HRESULT,
740 pub SetVideoEncodingResolutionMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AppBroadcastVideoEncodingResolutionMode) -> ::windows::core::HRESULT,
741 pub VideoEncodingResolutionMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastVideoEncodingResolutionMode) -> ::windows::core::HRESULT,
742 }
743 #[doc(hidden)]
744 #[repr(transparent)]
745 pub struct IAppBroadcastServices(::windows::core::IUnknown);
746 unsafe impl ::windows::core::Interface for IAppBroadcastServices {
747 type Vtable = IAppBroadcastServices_Vtbl;
748 }
749 impl ::core::clone::Clone for IAppBroadcastServices {
750 fn clone(&self) -> Self {
751 Self(self.0.clone())
752 }
753 }
754 unsafe impl ::windows::core::ComInterface for IAppBroadcastServices {
755 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8660b4d6_969b_4e3c_ac3a_8b042ee4ee63);
756 }
757 #[repr(C)]
758 #[doc(hidden)]
759 pub struct IAppBroadcastServices_Vtbl {
760 pub base__: ::windows::core::IInspectable_Vtbl,
761 pub CaptureTargetType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastCaptureTargetType) -> ::windows::core::HRESULT,
762 pub SetCaptureTargetType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AppBroadcastCaptureTargetType) -> ::windows::core::HRESULT,
763 pub BroadcastTitle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
764 pub SetBroadcastTitle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
765 pub BroadcastLanguage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
766 pub SetBroadcastLanguage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
767 pub UserName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
768 pub CanCapture: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
769 #[cfg(feature = "Foundation")]
770 pub EnterBroadcastModeAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plugin: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
771 #[cfg(not(feature = "Foundation"))]
772 EnterBroadcastModeAsync: usize,
773 pub ExitBroadcastMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, reason: AppBroadcastExitBroadcastModeReason) -> ::windows::core::HRESULT,
774 pub StartBroadcast: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
775 pub PauseBroadcast: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
776 pub ResumeBroadcast: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
777 #[cfg(feature = "Foundation")]
778 pub StartPreview: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, desiredsize: super::super::Foundation::Size, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
779 #[cfg(not(feature = "Foundation"))]
780 StartPreview: usize,
781 pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
782 }
783 #[doc(hidden)]
784 #[repr(transparent)]
785 pub struct IAppBroadcastSignInStateChangedEventArgs(::windows::core::IUnknown);
786 unsafe impl ::windows::core::Interface for IAppBroadcastSignInStateChangedEventArgs {
787 type Vtable = IAppBroadcastSignInStateChangedEventArgs_Vtbl;
788 }
789 impl ::core::clone::Clone for IAppBroadcastSignInStateChangedEventArgs {
790 fn clone(&self) -> Self {
791 Self(self.0.clone())
792 }
793 }
794 unsafe impl ::windows::core::ComInterface for IAppBroadcastSignInStateChangedEventArgs {
795 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x02b692a4_5919_4a9e_8d5e_c9bb0dd3377a);
796 }
797 #[repr(C)]
798 #[doc(hidden)]
799 pub struct IAppBroadcastSignInStateChangedEventArgs_Vtbl {
800 pub base__: ::windows::core::IInspectable_Vtbl,
801 pub SignInState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastSignInState) -> ::windows::core::HRESULT,
802 pub Result: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastSignInResult) -> ::windows::core::HRESULT,
803 }
804 #[doc(hidden)]
805 #[repr(transparent)]
806 pub struct IAppBroadcastState(::windows::core::IUnknown);
807 unsafe impl ::windows::core::Interface for IAppBroadcastState {
808 type Vtable = IAppBroadcastState_Vtbl;
809 }
810 impl ::core::clone::Clone for IAppBroadcastState {
811 fn clone(&self) -> Self {
812 Self(self.0.clone())
813 }
814 }
815 unsafe impl ::windows::core::ComInterface for IAppBroadcastState {
816 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xee08056d_8099_4ddd_922e_c56dac58abfb);
817 }
818 #[repr(C)]
819 #[doc(hidden)]
820 pub struct IAppBroadcastState_Vtbl {
821 pub base__: ::windows::core::IInspectable_Vtbl,
822 pub IsCaptureTargetRunning: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
823 pub ViewerCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
824 pub ShouldCaptureMicrophone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
825 pub SetShouldCaptureMicrophone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
826 pub RestartMicrophoneCapture: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
827 pub ShouldCaptureCamera: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
828 pub SetShouldCaptureCamera: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
829 pub RestartCameraCapture: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
830 #[cfg(feature = "Foundation")]
831 pub EncodedVideoSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Size) -> ::windows::core::HRESULT,
832 #[cfg(not(feature = "Foundation"))]
833 EncodedVideoSize: usize,
834 pub MicrophoneCaptureState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastMicrophoneCaptureState) -> ::windows::core::HRESULT,
835 pub MicrophoneCaptureError: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
836 pub CameraCaptureState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastCameraCaptureState) -> ::windows::core::HRESULT,
837 pub CameraCaptureError: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
838 pub StreamState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastStreamState) -> ::windows::core::HRESULT,
839 pub PlugInState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastPlugInState) -> ::windows::core::HRESULT,
840 #[cfg(feature = "Foundation")]
841 pub OAuthRequestUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
842 #[cfg(not(feature = "Foundation"))]
843 OAuthRequestUri: usize,
844 #[cfg(feature = "Foundation")]
845 pub OAuthCallbackUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
846 #[cfg(not(feature = "Foundation"))]
847 OAuthCallbackUri: usize,
848 #[cfg(feature = "Security_Authentication_Web")]
849 pub AuthenticationResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
850 #[cfg(not(feature = "Security_Authentication_Web"))]
851 AuthenticationResult: usize,
852 #[cfg(feature = "Security_Authentication_Web")]
853 pub SetAuthenticationResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
854 #[cfg(not(feature = "Security_Authentication_Web"))]
855 SetAuthenticationResult: usize,
856 pub SetSignInState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AppBroadcastSignInState) -> ::windows::core::HRESULT,
857 pub SignInState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastSignInState) -> ::windows::core::HRESULT,
858 pub TerminationReason: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastTerminationReason) -> ::windows::core::HRESULT,
859 pub TerminationReasonPlugInSpecific: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
860 #[cfg(feature = "Foundation")]
861 pub ViewerCountChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
862 #[cfg(not(feature = "Foundation"))]
863 ViewerCountChanged: usize,
864 #[cfg(feature = "Foundation")]
865 pub RemoveViewerCountChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
866 #[cfg(not(feature = "Foundation"))]
867 RemoveViewerCountChanged: usize,
868 #[cfg(feature = "Foundation")]
869 pub MicrophoneCaptureStateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
870 #[cfg(not(feature = "Foundation"))]
871 MicrophoneCaptureStateChanged: usize,
872 #[cfg(feature = "Foundation")]
873 pub RemoveMicrophoneCaptureStateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
874 #[cfg(not(feature = "Foundation"))]
875 RemoveMicrophoneCaptureStateChanged: usize,
876 #[cfg(feature = "Foundation")]
877 pub CameraCaptureStateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
878 #[cfg(not(feature = "Foundation"))]
879 CameraCaptureStateChanged: usize,
880 #[cfg(feature = "Foundation")]
881 pub RemoveCameraCaptureStateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
882 #[cfg(not(feature = "Foundation"))]
883 RemoveCameraCaptureStateChanged: usize,
884 #[cfg(feature = "Foundation")]
885 pub PlugInStateChanged: 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,
886 #[cfg(not(feature = "Foundation"))]
887 PlugInStateChanged: usize,
888 #[cfg(feature = "Foundation")]
889 pub RemovePlugInStateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
890 #[cfg(not(feature = "Foundation"))]
891 RemovePlugInStateChanged: usize,
892 #[cfg(feature = "Foundation")]
893 pub StreamStateChanged: 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,
894 #[cfg(not(feature = "Foundation"))]
895 StreamStateChanged: usize,
896 #[cfg(feature = "Foundation")]
897 pub RemoveStreamStateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
898 #[cfg(not(feature = "Foundation"))]
899 RemoveStreamStateChanged: usize,
900 #[cfg(feature = "Foundation")]
901 pub CaptureTargetClosed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
902 #[cfg(not(feature = "Foundation"))]
903 CaptureTargetClosed: usize,
904 #[cfg(feature = "Foundation")]
905 pub RemoveCaptureTargetClosed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
906 #[cfg(not(feature = "Foundation"))]
907 RemoveCaptureTargetClosed: usize,
908 }
909 #[doc(hidden)]
910 #[repr(transparent)]
911 pub struct IAppBroadcastStreamAudioFrame(::windows::core::IUnknown);
912 unsafe impl ::windows::core::Interface for IAppBroadcastStreamAudioFrame {
913 type Vtable = IAppBroadcastStreamAudioFrame_Vtbl;
914 }
915 impl ::core::clone::Clone for IAppBroadcastStreamAudioFrame {
916 fn clone(&self) -> Self {
917 Self(self.0.clone())
918 }
919 }
920 unsafe impl ::windows::core::ComInterface for IAppBroadcastStreamAudioFrame {
921 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xefab4ac8_21ba_453f_8bb7_5e938a2e9a74);
922 }
923 #[repr(C)]
924 #[doc(hidden)]
925 pub struct IAppBroadcastStreamAudioFrame_Vtbl {
926 pub base__: ::windows::core::IInspectable_Vtbl,
927 pub AudioHeader: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
928 #[cfg(feature = "Storage_Streams")]
929 pub AudioBuffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
930 #[cfg(not(feature = "Storage_Streams"))]
931 AudioBuffer: usize,
932 }
933 #[doc(hidden)]
934 #[repr(transparent)]
935 pub struct IAppBroadcastStreamAudioHeader(::windows::core::IUnknown);
936 unsafe impl ::windows::core::Interface for IAppBroadcastStreamAudioHeader {
937 type Vtable = IAppBroadcastStreamAudioHeader_Vtbl;
938 }
939 impl ::core::clone::Clone for IAppBroadcastStreamAudioHeader {
940 fn clone(&self) -> Self {
941 Self(self.0.clone())
942 }
943 }
944 unsafe impl ::windows::core::ComInterface for IAppBroadcastStreamAudioHeader {
945 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbf21a570_6b78_4216_9f07_5aff5256f1b7);
946 }
947 #[repr(C)]
948 #[doc(hidden)]
949 pub struct IAppBroadcastStreamAudioHeader_Vtbl {
950 pub base__: ::windows::core::IInspectable_Vtbl,
951 #[cfg(feature = "Foundation")]
952 pub AbsoluteTimestamp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::DateTime) -> ::windows::core::HRESULT,
953 #[cfg(not(feature = "Foundation"))]
954 AbsoluteTimestamp: usize,
955 #[cfg(feature = "Foundation")]
956 pub RelativeTimestamp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
957 #[cfg(not(feature = "Foundation"))]
958 RelativeTimestamp: usize,
959 #[cfg(feature = "Foundation")]
960 pub Duration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
961 #[cfg(not(feature = "Foundation"))]
962 Duration: usize,
963 pub HasDiscontinuity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
964 pub FrameId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u64) -> ::windows::core::HRESULT,
965 }
966 #[doc(hidden)]
967 #[repr(transparent)]
968 pub struct IAppBroadcastStreamReader(::windows::core::IUnknown);
969 unsafe impl ::windows::core::Interface for IAppBroadcastStreamReader {
970 type Vtable = IAppBroadcastStreamReader_Vtbl;
971 }
972 impl ::core::clone::Clone for IAppBroadcastStreamReader {
973 fn clone(&self) -> Self {
974 Self(self.0.clone())
975 }
976 }
977 unsafe impl ::windows::core::ComInterface for IAppBroadcastStreamReader {
978 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb338bcf9_3364_4460_b5f1_3cc2796a8aa2);
979 }
980 #[repr(C)]
981 #[doc(hidden)]
982 pub struct IAppBroadcastStreamReader_Vtbl {
983 pub base__: ::windows::core::IInspectable_Vtbl,
984 pub AudioChannels: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
985 pub AudioSampleRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
986 #[cfg(feature = "Storage_Streams")]
987 pub AudioAacSequence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
988 #[cfg(not(feature = "Storage_Streams"))]
989 AudioAacSequence: usize,
990 pub AudioBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
991 pub TryGetNextAudioFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
992 pub VideoWidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
993 pub VideoHeight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
994 pub VideoBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
995 pub TryGetNextVideoFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
996 #[cfg(feature = "Foundation")]
997 pub AudioFrameArrived: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
998 #[cfg(not(feature = "Foundation"))]
999 AudioFrameArrived: usize,
1000 #[cfg(feature = "Foundation")]
1001 pub RemoveAudioFrameArrived: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
1002 #[cfg(not(feature = "Foundation"))]
1003 RemoveAudioFrameArrived: usize,
1004 #[cfg(feature = "Foundation")]
1005 pub VideoFrameArrived: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
1006 #[cfg(not(feature = "Foundation"))]
1007 VideoFrameArrived: usize,
1008 #[cfg(feature = "Foundation")]
1009 pub RemoveVideoFrameArrived: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
1010 #[cfg(not(feature = "Foundation"))]
1011 RemoveVideoFrameArrived: usize,
1012 }
1013 #[doc(hidden)]
1014 #[repr(transparent)]
1015 pub struct IAppBroadcastStreamStateChangedEventArgs(::windows::core::IUnknown);
1016 unsafe impl ::windows::core::Interface for IAppBroadcastStreamStateChangedEventArgs {
1017 type Vtable = IAppBroadcastStreamStateChangedEventArgs_Vtbl;
1018 }
1019 impl ::core::clone::Clone for IAppBroadcastStreamStateChangedEventArgs {
1020 fn clone(&self) -> Self {
1021 Self(self.0.clone())
1022 }
1023 }
1024 unsafe impl ::windows::core::ComInterface for IAppBroadcastStreamStateChangedEventArgs {
1025 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5108a733_d008_4a89_93be_58aed961374e);
1026 }
1027 #[repr(C)]
1028 #[doc(hidden)]
1029 pub struct IAppBroadcastStreamStateChangedEventArgs_Vtbl {
1030 pub base__: ::windows::core::IInspectable_Vtbl,
1031 pub StreamState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppBroadcastStreamState) -> ::windows::core::HRESULT,
1032 }
1033 #[doc(hidden)]
1034 #[repr(transparent)]
1035 pub struct IAppBroadcastStreamVideoFrame(::windows::core::IUnknown);
1036 unsafe impl ::windows::core::Interface for IAppBroadcastStreamVideoFrame {
1037 type Vtable = IAppBroadcastStreamVideoFrame_Vtbl;
1038 }
1039 impl ::core::clone::Clone for IAppBroadcastStreamVideoFrame {
1040 fn clone(&self) -> Self {
1041 Self(self.0.clone())
1042 }
1043 }
1044 unsafe impl ::windows::core::ComInterface for IAppBroadcastStreamVideoFrame {
1045 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0f97cf2b_c9e4_4e88_8194_d814cbd585d8);
1046 }
1047 #[repr(C)]
1048 #[doc(hidden)]
1049 pub struct IAppBroadcastStreamVideoFrame_Vtbl {
1050 pub base__: ::windows::core::IInspectable_Vtbl,
1051 pub VideoHeader: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1052 #[cfg(feature = "Storage_Streams")]
1053 pub VideoBuffer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1054 #[cfg(not(feature = "Storage_Streams"))]
1055 VideoBuffer: usize,
1056 }
1057 #[doc(hidden)]
1058 #[repr(transparent)]
1059 pub struct IAppBroadcastStreamVideoHeader(::windows::core::IUnknown);
1060 unsafe impl ::windows::core::Interface for IAppBroadcastStreamVideoHeader {
1061 type Vtable = IAppBroadcastStreamVideoHeader_Vtbl;
1062 }
1063 impl ::core::clone::Clone for IAppBroadcastStreamVideoHeader {
1064 fn clone(&self) -> Self {
1065 Self(self.0.clone())
1066 }
1067 }
1068 unsafe impl ::windows::core::ComInterface for IAppBroadcastStreamVideoHeader {
1069 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0b9ebece_7e32_432d_8ca2_36bf10b9f462);
1070 }
1071 #[repr(C)]
1072 #[doc(hidden)]
1073 pub struct IAppBroadcastStreamVideoHeader_Vtbl {
1074 pub base__: ::windows::core::IInspectable_Vtbl,
1075 #[cfg(feature = "Foundation")]
1076 pub AbsoluteTimestamp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::DateTime) -> ::windows::core::HRESULT,
1077 #[cfg(not(feature = "Foundation"))]
1078 AbsoluteTimestamp: usize,
1079 #[cfg(feature = "Foundation")]
1080 pub RelativeTimestamp: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
1081 #[cfg(not(feature = "Foundation"))]
1082 RelativeTimestamp: usize,
1083 #[cfg(feature = "Foundation")]
1084 pub Duration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
1085 #[cfg(not(feature = "Foundation"))]
1086 Duration: usize,
1087 pub IsKeyFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1088 pub HasDiscontinuity: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1089 pub FrameId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u64) -> ::windows::core::HRESULT,
1090 }
1091 #[doc(hidden)]
1092 #[repr(transparent)]
1093 pub struct IAppBroadcastTriggerDetails(::windows::core::IUnknown);
1094 unsafe impl ::windows::core::Interface for IAppBroadcastTriggerDetails {
1095 type Vtable = IAppBroadcastTriggerDetails_Vtbl;
1096 }
1097 impl ::core::clone::Clone for IAppBroadcastTriggerDetails {
1098 fn clone(&self) -> Self {
1099 Self(self.0.clone())
1100 }
1101 }
1102 unsafe impl ::windows::core::ComInterface for IAppBroadcastTriggerDetails {
1103 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xdeebab35_ec5e_4d8f_b1c0_5da6e8c75638);
1104 }
1105 #[repr(C)]
1106 #[doc(hidden)]
1107 pub struct IAppBroadcastTriggerDetails_Vtbl {
1108 pub base__: ::windows::core::IInspectable_Vtbl,
1109 pub BackgroundService: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1110 }
1111 #[doc(hidden)]
1112 #[repr(transparent)]
1113 pub struct IAppBroadcastViewerCountChangedEventArgs(::windows::core::IUnknown);
1114 unsafe impl ::windows::core::Interface for IAppBroadcastViewerCountChangedEventArgs {
1115 type Vtable = IAppBroadcastViewerCountChangedEventArgs_Vtbl;
1116 }
1117 impl ::core::clone::Clone for IAppBroadcastViewerCountChangedEventArgs {
1118 fn clone(&self) -> Self {
1119 Self(self.0.clone())
1120 }
1121 }
1122 unsafe impl ::windows::core::ComInterface for IAppBroadcastViewerCountChangedEventArgs {
1123 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe6e11825_5401_4ade_8bd2_c14ecee6807d);
1124 }
1125 #[repr(C)]
1126 #[doc(hidden)]
1127 pub struct IAppBroadcastViewerCountChangedEventArgs_Vtbl {
1128 pub base__: ::windows::core::IInspectable_Vtbl,
1129 pub ViewerCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
1130 }
1131 #[doc(hidden)]
1132 #[repr(transparent)]
1133 pub struct IAppCapture(::windows::core::IUnknown);
1134 unsafe impl ::windows::core::Interface for IAppCapture {
1135 type Vtable = IAppCapture_Vtbl;
1136 }
1137 impl ::core::clone::Clone for IAppCapture {
1138 fn clone(&self) -> Self {
1139 Self(self.0.clone())
1140 }
1141 }
1142 unsafe impl ::windows::core::ComInterface for IAppCapture {
1143 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9749d453_a29a_45ed_8f29_22d09942cff7);
1144 }
1145 #[repr(C)]
1146 #[doc(hidden)]
1147 pub struct IAppCapture_Vtbl {
1148 pub base__: ::windows::core::IInspectable_Vtbl,
1149 pub IsCapturingAudio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1150 pub IsCapturingVideo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1151 #[cfg(feature = "Foundation")]
1152 pub CapturingChanged: 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,
1153 #[cfg(not(feature = "Foundation"))]
1154 CapturingChanged: usize,
1155 #[cfg(feature = "Foundation")]
1156 pub RemoveCapturingChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
1157 #[cfg(not(feature = "Foundation"))]
1158 RemoveCapturingChanged: usize,
1159 }
1160 #[doc(hidden)]
1161 #[repr(transparent)]
1162 pub struct IAppCaptureAlternateShortcutKeys(::windows::core::IUnknown);
1163 unsafe impl ::windows::core::Interface for IAppCaptureAlternateShortcutKeys {
1164 type Vtable = IAppCaptureAlternateShortcutKeys_Vtbl;
1165 }
1166 impl ::core::clone::Clone for IAppCaptureAlternateShortcutKeys {
1167 fn clone(&self) -> Self {
1168 Self(self.0.clone())
1169 }
1170 }
1171 unsafe impl ::windows::core::ComInterface for IAppCaptureAlternateShortcutKeys {
1172 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x19e8e0ef_236c_40f9_b38f_9b7dd65d1ccc);
1173 }
1174 #[repr(C)]
1175 #[doc(hidden)]
1176 pub struct IAppCaptureAlternateShortcutKeys_Vtbl {
1177 pub base__: ::windows::core::IInspectable_Vtbl,
1178 #[cfg(feature = "System")]
1179 pub SetToggleGameBarKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1180 #[cfg(not(feature = "System"))]
1181 SetToggleGameBarKey: usize,
1182 #[cfg(feature = "System")]
1183 pub ToggleGameBarKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1184 #[cfg(not(feature = "System"))]
1185 ToggleGameBarKey: usize,
1186 #[cfg(feature = "System")]
1187 pub SetToggleGameBarKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1188 #[cfg(not(feature = "System"))]
1189 SetToggleGameBarKeyModifiers: usize,
1190 #[cfg(feature = "System")]
1191 pub ToggleGameBarKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1192 #[cfg(not(feature = "System"))]
1193 ToggleGameBarKeyModifiers: usize,
1194 #[cfg(feature = "System")]
1195 pub SetSaveHistoricalVideoKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1196 #[cfg(not(feature = "System"))]
1197 SetSaveHistoricalVideoKey: usize,
1198 #[cfg(feature = "System")]
1199 pub SaveHistoricalVideoKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1200 #[cfg(not(feature = "System"))]
1201 SaveHistoricalVideoKey: usize,
1202 #[cfg(feature = "System")]
1203 pub SetSaveHistoricalVideoKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1204 #[cfg(not(feature = "System"))]
1205 SetSaveHistoricalVideoKeyModifiers: usize,
1206 #[cfg(feature = "System")]
1207 pub SaveHistoricalVideoKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1208 #[cfg(not(feature = "System"))]
1209 SaveHistoricalVideoKeyModifiers: usize,
1210 #[cfg(feature = "System")]
1211 pub SetToggleRecordingKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1212 #[cfg(not(feature = "System"))]
1213 SetToggleRecordingKey: usize,
1214 #[cfg(feature = "System")]
1215 pub ToggleRecordingKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1216 #[cfg(not(feature = "System"))]
1217 ToggleRecordingKey: usize,
1218 #[cfg(feature = "System")]
1219 pub SetToggleRecordingKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1220 #[cfg(not(feature = "System"))]
1221 SetToggleRecordingKeyModifiers: usize,
1222 #[cfg(feature = "System")]
1223 pub ToggleRecordingKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1224 #[cfg(not(feature = "System"))]
1225 ToggleRecordingKeyModifiers: usize,
1226 #[cfg(feature = "System")]
1227 pub SetTakeScreenshotKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1228 #[cfg(not(feature = "System"))]
1229 SetTakeScreenshotKey: usize,
1230 #[cfg(feature = "System")]
1231 pub TakeScreenshotKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1232 #[cfg(not(feature = "System"))]
1233 TakeScreenshotKey: usize,
1234 #[cfg(feature = "System")]
1235 pub SetTakeScreenshotKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1236 #[cfg(not(feature = "System"))]
1237 SetTakeScreenshotKeyModifiers: usize,
1238 #[cfg(feature = "System")]
1239 pub TakeScreenshotKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1240 #[cfg(not(feature = "System"))]
1241 TakeScreenshotKeyModifiers: usize,
1242 #[cfg(feature = "System")]
1243 pub SetToggleRecordingIndicatorKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1244 #[cfg(not(feature = "System"))]
1245 SetToggleRecordingIndicatorKey: usize,
1246 #[cfg(feature = "System")]
1247 pub ToggleRecordingIndicatorKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1248 #[cfg(not(feature = "System"))]
1249 ToggleRecordingIndicatorKey: usize,
1250 #[cfg(feature = "System")]
1251 pub SetToggleRecordingIndicatorKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1252 #[cfg(not(feature = "System"))]
1253 SetToggleRecordingIndicatorKeyModifiers: usize,
1254 #[cfg(feature = "System")]
1255 pub ToggleRecordingIndicatorKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1256 #[cfg(not(feature = "System"))]
1257 ToggleRecordingIndicatorKeyModifiers: usize,
1258 }
1259 #[doc(hidden)]
1260 #[repr(transparent)]
1261 pub struct IAppCaptureAlternateShortcutKeys2(::windows::core::IUnknown);
1262 unsafe impl ::windows::core::Interface for IAppCaptureAlternateShortcutKeys2 {
1263 type Vtable = IAppCaptureAlternateShortcutKeys2_Vtbl;
1264 }
1265 impl ::core::clone::Clone for IAppCaptureAlternateShortcutKeys2 {
1266 fn clone(&self) -> Self {
1267 Self(self.0.clone())
1268 }
1269 }
1270 unsafe impl ::windows::core::ComInterface for IAppCaptureAlternateShortcutKeys2 {
1271 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc3669090_dd17_47f0_95e5_ce42286cf338);
1272 }
1273 #[repr(C)]
1274 #[doc(hidden)]
1275 pub struct IAppCaptureAlternateShortcutKeys2_Vtbl {
1276 pub base__: ::windows::core::IInspectable_Vtbl,
1277 #[cfg(feature = "System")]
1278 pub SetToggleMicrophoneCaptureKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1279 #[cfg(not(feature = "System"))]
1280 SetToggleMicrophoneCaptureKey: usize,
1281 #[cfg(feature = "System")]
1282 pub ToggleMicrophoneCaptureKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1283 #[cfg(not(feature = "System"))]
1284 ToggleMicrophoneCaptureKey: usize,
1285 #[cfg(feature = "System")]
1286 pub SetToggleMicrophoneCaptureKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1287 #[cfg(not(feature = "System"))]
1288 SetToggleMicrophoneCaptureKeyModifiers: usize,
1289 #[cfg(feature = "System")]
1290 pub ToggleMicrophoneCaptureKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1291 #[cfg(not(feature = "System"))]
1292 ToggleMicrophoneCaptureKeyModifiers: usize,
1293 }
1294 #[doc(hidden)]
1295 #[repr(transparent)]
1296 pub struct IAppCaptureAlternateShortcutKeys3(::windows::core::IUnknown);
1297 unsafe impl ::windows::core::Interface for IAppCaptureAlternateShortcutKeys3 {
1298 type Vtable = IAppCaptureAlternateShortcutKeys3_Vtbl;
1299 }
1300 impl ::core::clone::Clone for IAppCaptureAlternateShortcutKeys3 {
1301 fn clone(&self) -> Self {
1302 Self(self.0.clone())
1303 }
1304 }
1305 unsafe impl ::windows::core::ComInterface for IAppCaptureAlternateShortcutKeys3 {
1306 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7b81448c_418e_469c_a49a_45b597c826b6);
1307 }
1308 #[repr(C)]
1309 #[doc(hidden)]
1310 pub struct IAppCaptureAlternateShortcutKeys3_Vtbl {
1311 pub base__: ::windows::core::IInspectable_Vtbl,
1312 #[cfg(feature = "System")]
1313 pub SetToggleCameraCaptureKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1314 #[cfg(not(feature = "System"))]
1315 SetToggleCameraCaptureKey: usize,
1316 #[cfg(feature = "System")]
1317 pub ToggleCameraCaptureKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1318 #[cfg(not(feature = "System"))]
1319 ToggleCameraCaptureKey: usize,
1320 #[cfg(feature = "System")]
1321 pub SetToggleCameraCaptureKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1322 #[cfg(not(feature = "System"))]
1323 SetToggleCameraCaptureKeyModifiers: usize,
1324 #[cfg(feature = "System")]
1325 pub ToggleCameraCaptureKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1326 #[cfg(not(feature = "System"))]
1327 ToggleCameraCaptureKeyModifiers: usize,
1328 #[cfg(feature = "System")]
1329 pub SetToggleBroadcastKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1330 #[cfg(not(feature = "System"))]
1331 SetToggleBroadcastKey: usize,
1332 #[cfg(feature = "System")]
1333 pub ToggleBroadcastKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKey) -> ::windows::core::HRESULT,
1334 #[cfg(not(feature = "System"))]
1335 ToggleBroadcastKey: usize,
1336 #[cfg(feature = "System")]
1337 pub SetToggleBroadcastKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1338 #[cfg(not(feature = "System"))]
1339 SetToggleBroadcastKeyModifiers: usize,
1340 #[cfg(feature = "System")]
1341 pub ToggleBroadcastKeyModifiers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::System::VirtualKeyModifiers) -> ::windows::core::HRESULT,
1342 #[cfg(not(feature = "System"))]
1343 ToggleBroadcastKeyModifiers: usize,
1344 }
1345 #[doc(hidden)]
1346 #[repr(transparent)]
1347 pub struct IAppCaptureDurationGeneratedEventArgs(::windows::core::IUnknown);
1348 unsafe impl ::windows::core::Interface for IAppCaptureDurationGeneratedEventArgs {
1349 type Vtable = IAppCaptureDurationGeneratedEventArgs_Vtbl;
1350 }
1351 impl ::core::clone::Clone for IAppCaptureDurationGeneratedEventArgs {
1352 fn clone(&self) -> Self {
1353 Self(self.0.clone())
1354 }
1355 }
1356 unsafe impl ::windows::core::ComInterface for IAppCaptureDurationGeneratedEventArgs {
1357 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc1f5563b_ffa1_44c9_975f_27fbeb553b35);
1358 }
1359 #[repr(C)]
1360 #[doc(hidden)]
1361 pub struct IAppCaptureDurationGeneratedEventArgs_Vtbl {
1362 pub base__: ::windows::core::IInspectable_Vtbl,
1363 #[cfg(feature = "Foundation")]
1364 pub Duration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
1365 #[cfg(not(feature = "Foundation"))]
1366 Duration: usize,
1367 }
1368 #[doc(hidden)]
1369 #[repr(transparent)]
1370 pub struct IAppCaptureFileGeneratedEventArgs(::windows::core::IUnknown);
1371 unsafe impl ::windows::core::Interface for IAppCaptureFileGeneratedEventArgs {
1372 type Vtable = IAppCaptureFileGeneratedEventArgs_Vtbl;
1373 }
1374 impl ::core::clone::Clone for IAppCaptureFileGeneratedEventArgs {
1375 fn clone(&self) -> Self {
1376 Self(self.0.clone())
1377 }
1378 }
1379 unsafe impl ::windows::core::ComInterface for IAppCaptureFileGeneratedEventArgs {
1380 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4189fbf4_465e_45bf_907f_165b3fb23758);
1381 }
1382 #[repr(C)]
1383 #[doc(hidden)]
1384 pub struct IAppCaptureFileGeneratedEventArgs_Vtbl {
1385 pub base__: ::windows::core::IInspectable_Vtbl,
1386 #[cfg(feature = "Storage")]
1387 pub File: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1388 #[cfg(not(feature = "Storage"))]
1389 File: usize,
1390 }
1391 #[doc(hidden)]
1392 #[repr(transparent)]
1393 pub struct IAppCaptureManagerStatics(::windows::core::IUnknown);
1394 unsafe impl ::windows::core::Interface for IAppCaptureManagerStatics {
1395 type Vtable = IAppCaptureManagerStatics_Vtbl;
1396 }
1397 impl ::core::clone::Clone for IAppCaptureManagerStatics {
1398 fn clone(&self) -> Self {
1399 Self(self.0.clone())
1400 }
1401 }
1402 unsafe impl ::windows::core::ComInterface for IAppCaptureManagerStatics {
1403 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7d9e3ea7_6282_4735_8d4e_aa45f90f6723);
1404 }
1405 #[repr(C)]
1406 #[doc(hidden)]
1407 pub struct IAppCaptureManagerStatics_Vtbl {
1408 pub base__: ::windows::core::IInspectable_Vtbl,
1409 pub GetCurrentSettings: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1410 pub ApplySettings: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, appcapturesettings: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1411 }
1412 #[doc(hidden)]
1413 #[repr(transparent)]
1414 pub struct IAppCaptureMetadataWriter(::windows::core::IUnknown);
1415 unsafe impl ::windows::core::Interface for IAppCaptureMetadataWriter {
1416 type Vtable = IAppCaptureMetadataWriter_Vtbl;
1417 }
1418 impl ::core::clone::Clone for IAppCaptureMetadataWriter {
1419 fn clone(&self) -> Self {
1420 Self(self.0.clone())
1421 }
1422 }
1423 unsafe impl ::windows::core::ComInterface for IAppCaptureMetadataWriter {
1424 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe0ce4877_9aaf_46b4_ad31_6a60b441c780);
1425 }
1426 #[repr(C)]
1427 #[doc(hidden)]
1428 pub struct IAppCaptureMetadataWriter_Vtbl {
1429 pub base__: ::windows::core::IInspectable_Vtbl,
1430 pub AddStringEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>, priority: AppCaptureMetadataPriority) -> ::windows::core::HRESULT,
1431 pub AddInt32Event: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: i32, priority: AppCaptureMetadataPriority) -> ::windows::core::HRESULT,
1432 pub AddDoubleEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: f64, priority: AppCaptureMetadataPriority) -> ::windows::core::HRESULT,
1433 pub StartStringState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>, priority: AppCaptureMetadataPriority) -> ::windows::core::HRESULT,
1434 pub StartInt32State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: i32, priority: AppCaptureMetadataPriority) -> ::windows::core::HRESULT,
1435 pub StartDoubleState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::HSTRING>, value: f64, priority: AppCaptureMetadataPriority) -> ::windows::core::HRESULT,
1436 pub StopState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
1437 pub StopAllStates: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1438 pub RemainingStorageBytesAvailable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u64) -> ::windows::core::HRESULT,
1439 #[cfg(feature = "Foundation")]
1440 pub MetadataPurged: 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,
1441 #[cfg(not(feature = "Foundation"))]
1442 MetadataPurged: usize,
1443 #[cfg(feature = "Foundation")]
1444 pub RemoveMetadataPurged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
1445 #[cfg(not(feature = "Foundation"))]
1446 RemoveMetadataPurged: usize,
1447 }
1448 #[doc(hidden)]
1449 #[repr(transparent)]
1450 pub struct IAppCaptureMicrophoneCaptureStateChangedEventArgs(::windows::core::IUnknown);
1451 unsafe impl ::windows::core::Interface for IAppCaptureMicrophoneCaptureStateChangedEventArgs {
1452 type Vtable = IAppCaptureMicrophoneCaptureStateChangedEventArgs_Vtbl;
1453 }
1454 impl ::core::clone::Clone for IAppCaptureMicrophoneCaptureStateChangedEventArgs {
1455 fn clone(&self) -> Self {
1456 Self(self.0.clone())
1457 }
1458 }
1459 unsafe impl ::windows::core::ComInterface for IAppCaptureMicrophoneCaptureStateChangedEventArgs {
1460 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x324d249e_45bc_4c35_bc35_e469fc7a69e0);
1461 }
1462 #[repr(C)]
1463 #[doc(hidden)]
1464 pub struct IAppCaptureMicrophoneCaptureStateChangedEventArgs_Vtbl {
1465 pub base__: ::windows::core::IInspectable_Vtbl,
1466 pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppCaptureMicrophoneCaptureState) -> ::windows::core::HRESULT,
1467 pub ErrorCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
1468 }
1469 #[doc(hidden)]
1470 #[repr(transparent)]
1471 pub struct IAppCaptureRecordOperation(::windows::core::IUnknown);
1472 unsafe impl ::windows::core::Interface for IAppCaptureRecordOperation {
1473 type Vtable = IAppCaptureRecordOperation_Vtbl;
1474 }
1475 impl ::core::clone::Clone for IAppCaptureRecordOperation {
1476 fn clone(&self) -> Self {
1477 Self(self.0.clone())
1478 }
1479 }
1480 unsafe impl ::windows::core::ComInterface for IAppCaptureRecordOperation {
1481 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc66020a9_1538_495c_9bbb_2ba870ec5861);
1482 }
1483 #[repr(C)]
1484 #[doc(hidden)]
1485 pub struct IAppCaptureRecordOperation_Vtbl {
1486 pub base__: ::windows::core::IInspectable_Vtbl,
1487 pub StopRecording: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1488 pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppCaptureRecordingState) -> ::windows::core::HRESULT,
1489 #[cfg(feature = "Foundation")]
1490 pub ErrorCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1491 #[cfg(not(feature = "Foundation"))]
1492 ErrorCode: usize,
1493 #[cfg(feature = "Foundation")]
1494 pub Duration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1495 #[cfg(not(feature = "Foundation"))]
1496 Duration: usize,
1497 #[cfg(feature = "Storage")]
1498 pub File: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1499 #[cfg(not(feature = "Storage"))]
1500 File: usize,
1501 #[cfg(feature = "Foundation")]
1502 pub IsFileTruncated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1503 #[cfg(not(feature = "Foundation"))]
1504 IsFileTruncated: usize,
1505 #[cfg(feature = "Foundation")]
1506 pub StateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
1507 #[cfg(not(feature = "Foundation"))]
1508 StateChanged: usize,
1509 #[cfg(feature = "Foundation")]
1510 pub RemoveStateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
1511 #[cfg(not(feature = "Foundation"))]
1512 RemoveStateChanged: usize,
1513 #[cfg(feature = "Foundation")]
1514 pub DurationGenerated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
1515 #[cfg(not(feature = "Foundation"))]
1516 DurationGenerated: usize,
1517 #[cfg(feature = "Foundation")]
1518 pub RemoveDurationGenerated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
1519 #[cfg(not(feature = "Foundation"))]
1520 RemoveDurationGenerated: usize,
1521 #[cfg(feature = "Foundation")]
1522 pub FileGenerated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
1523 #[cfg(not(feature = "Foundation"))]
1524 FileGenerated: usize,
1525 #[cfg(feature = "Foundation")]
1526 pub RemoveFileGenerated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
1527 #[cfg(not(feature = "Foundation"))]
1528 RemoveFileGenerated: usize,
1529 }
1530 #[doc(hidden)]
1531 #[repr(transparent)]
1532 pub struct IAppCaptureRecordingStateChangedEventArgs(::windows::core::IUnknown);
1533 unsafe impl ::windows::core::Interface for IAppCaptureRecordingStateChangedEventArgs {
1534 type Vtable = IAppCaptureRecordingStateChangedEventArgs_Vtbl;
1535 }
1536 impl ::core::clone::Clone for IAppCaptureRecordingStateChangedEventArgs {
1537 fn clone(&self) -> Self {
1538 Self(self.0.clone())
1539 }
1540 }
1541 unsafe impl ::windows::core::ComInterface for IAppCaptureRecordingStateChangedEventArgs {
1542 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x24fc8712_e305_490d_b415_6b1c9049736b);
1543 }
1544 #[repr(C)]
1545 #[doc(hidden)]
1546 pub struct IAppCaptureRecordingStateChangedEventArgs_Vtbl {
1547 pub base__: ::windows::core::IInspectable_Vtbl,
1548 pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppCaptureRecordingState) -> ::windows::core::HRESULT,
1549 pub ErrorCode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
1550 }
1551 #[doc(hidden)]
1552 #[repr(transparent)]
1553 pub struct IAppCaptureServices(::windows::core::IUnknown);
1554 unsafe impl ::windows::core::Interface for IAppCaptureServices {
1555 type Vtable = IAppCaptureServices_Vtbl;
1556 }
1557 impl ::core::clone::Clone for IAppCaptureServices {
1558 fn clone(&self) -> Self {
1559 Self(self.0.clone())
1560 }
1561 }
1562 unsafe impl ::windows::core::ComInterface for IAppCaptureServices {
1563 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x44fec0b5_34f5_4f18_ae8c_b9123abbfc0d);
1564 }
1565 #[repr(C)]
1566 #[doc(hidden)]
1567 pub struct IAppCaptureServices_Vtbl {
1568 pub base__: ::windows::core::IInspectable_Vtbl,
1569 pub Record: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1570 #[cfg(feature = "Foundation")]
1571 pub RecordTimeSpan: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, starttime: super::super::Foundation::DateTime, duration: super::super::Foundation::TimeSpan, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1572 #[cfg(not(feature = "Foundation"))]
1573 RecordTimeSpan: usize,
1574 pub CanCapture: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1575 pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1576 }
1577 #[doc(hidden)]
1578 #[repr(transparent)]
1579 pub struct IAppCaptureSettings(::windows::core::IUnknown);
1580 unsafe impl ::windows::core::Interface for IAppCaptureSettings {
1581 type Vtable = IAppCaptureSettings_Vtbl;
1582 }
1583 impl ::core::clone::Clone for IAppCaptureSettings {
1584 fn clone(&self) -> Self {
1585 Self(self.0.clone())
1586 }
1587 }
1588 unsafe impl ::windows::core::ComInterface for IAppCaptureSettings {
1589 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x14683a86_8807_48d3_883a_970ee4532a39);
1590 }
1591 #[repr(C)]
1592 #[doc(hidden)]
1593 pub struct IAppCaptureSettings_Vtbl {
1594 pub base__: ::windows::core::IInspectable_Vtbl,
1595 #[cfg(feature = "Storage")]
1596 pub SetAppCaptureDestinationFolder: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1597 #[cfg(not(feature = "Storage"))]
1598 SetAppCaptureDestinationFolder: usize,
1599 #[cfg(feature = "Storage")]
1600 pub AppCaptureDestinationFolder: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1601 #[cfg(not(feature = "Storage"))]
1602 AppCaptureDestinationFolder: usize,
1603 pub SetAudioEncodingBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
1604 pub AudioEncodingBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
1605 pub SetIsAudioCaptureEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
1606 pub IsAudioCaptureEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1607 pub SetCustomVideoEncodingBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
1608 pub CustomVideoEncodingBitrate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
1609 pub SetCustomVideoEncodingHeight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
1610 pub CustomVideoEncodingHeight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
1611 pub SetCustomVideoEncodingWidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
1612 pub CustomVideoEncodingWidth: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
1613 pub SetHistoricalBufferLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: u32) -> ::windows::core::HRESULT,
1614 pub HistoricalBufferLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
1615 pub SetHistoricalBufferLengthUnit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AppCaptureHistoricalBufferLengthUnit) -> ::windows::core::HRESULT,
1616 pub HistoricalBufferLengthUnit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppCaptureHistoricalBufferLengthUnit) -> ::windows::core::HRESULT,
1617 pub SetIsHistoricalCaptureEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
1618 pub IsHistoricalCaptureEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1619 pub SetIsHistoricalCaptureOnBatteryAllowed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
1620 pub IsHistoricalCaptureOnBatteryAllowed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1621 pub SetIsHistoricalCaptureOnWirelessDisplayAllowed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
1622 pub IsHistoricalCaptureOnWirelessDisplayAllowed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1623 #[cfg(feature = "Foundation")]
1624 pub SetMaximumRecordLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
1625 #[cfg(not(feature = "Foundation"))]
1626 SetMaximumRecordLength: usize,
1627 #[cfg(feature = "Foundation")]
1628 pub MaximumRecordLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
1629 #[cfg(not(feature = "Foundation"))]
1630 MaximumRecordLength: usize,
1631 #[cfg(feature = "Storage")]
1632 pub SetScreenshotDestinationFolder: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1633 #[cfg(not(feature = "Storage"))]
1634 SetScreenshotDestinationFolder: usize,
1635 #[cfg(feature = "Storage")]
1636 pub ScreenshotDestinationFolder: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1637 #[cfg(not(feature = "Storage"))]
1638 ScreenshotDestinationFolder: usize,
1639 pub SetVideoEncodingBitrateMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AppCaptureVideoEncodingBitrateMode) -> ::windows::core::HRESULT,
1640 pub VideoEncodingBitrateMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppCaptureVideoEncodingBitrateMode) -> ::windows::core::HRESULT,
1641 pub SetVideoEncodingResolutionMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AppCaptureVideoEncodingResolutionMode) -> ::windows::core::HRESULT,
1642 pub VideoEncodingResolutionMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppCaptureVideoEncodingResolutionMode) -> ::windows::core::HRESULT,
1643 pub SetIsAppCaptureEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
1644 pub IsAppCaptureEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1645 pub IsCpuConstrained: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1646 pub IsDisabledByPolicy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1647 pub IsMemoryConstrained: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1648 pub HasHardwareEncoder: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1649 }
1650 #[doc(hidden)]
1651 #[repr(transparent)]
1652 pub struct IAppCaptureSettings2(::windows::core::IUnknown);
1653 unsafe impl ::windows::core::Interface for IAppCaptureSettings2 {
1654 type Vtable = IAppCaptureSettings2_Vtbl;
1655 }
1656 impl ::core::clone::Clone for IAppCaptureSettings2 {
1657 fn clone(&self) -> Self {
1658 Self(self.0.clone())
1659 }
1660 }
1661 unsafe impl ::windows::core::ComInterface for IAppCaptureSettings2 {
1662 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xfcb8cee7_e26b_476f_9b1a_ec342d2a8fde);
1663 }
1664 #[repr(C)]
1665 #[doc(hidden)]
1666 pub struct IAppCaptureSettings2_Vtbl {
1667 pub base__: ::windows::core::IInspectable_Vtbl,
1668 pub IsGpuConstrained: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1669 pub AlternateShortcutKeys: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1670 }
1671 #[doc(hidden)]
1672 #[repr(transparent)]
1673 pub struct IAppCaptureSettings3(::windows::core::IUnknown);
1674 unsafe impl ::windows::core::Interface for IAppCaptureSettings3 {
1675 type Vtable = IAppCaptureSettings3_Vtbl;
1676 }
1677 impl ::core::clone::Clone for IAppCaptureSettings3 {
1678 fn clone(&self) -> Self {
1679 Self(self.0.clone())
1680 }
1681 }
1682 unsafe impl ::windows::core::ComInterface for IAppCaptureSettings3 {
1683 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa93502fe_88c2_42d6_aaaa_40feffd75aec);
1684 }
1685 #[repr(C)]
1686 #[doc(hidden)]
1687 pub struct IAppCaptureSettings3_Vtbl {
1688 pub base__: ::windows::core::IInspectable_Vtbl,
1689 pub SetIsMicrophoneCaptureEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
1690 pub IsMicrophoneCaptureEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1691 }
1692 #[doc(hidden)]
1693 #[repr(transparent)]
1694 pub struct IAppCaptureSettings4(::windows::core::IUnknown);
1695 unsafe impl ::windows::core::Interface for IAppCaptureSettings4 {
1696 type Vtable = IAppCaptureSettings4_Vtbl;
1697 }
1698 impl ::core::clone::Clone for IAppCaptureSettings4 {
1699 fn clone(&self) -> Self {
1700 Self(self.0.clone())
1701 }
1702 }
1703 unsafe impl ::windows::core::ComInterface for IAppCaptureSettings4 {
1704 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x07c2774c_1a81_482f_a244_049d95f25b0b);
1705 }
1706 #[repr(C)]
1707 #[doc(hidden)]
1708 pub struct IAppCaptureSettings4_Vtbl {
1709 pub base__: ::windows::core::IInspectable_Vtbl,
1710 pub SetIsMicrophoneCaptureEnabledByDefault: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
1711 pub IsMicrophoneCaptureEnabledByDefault: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1712 pub SetSystemAudioGain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f64) -> ::windows::core::HRESULT,
1713 pub SystemAudioGain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f64) -> ::windows::core::HRESULT,
1714 pub SetMicrophoneGain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f64) -> ::windows::core::HRESULT,
1715 pub MicrophoneGain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f64) -> ::windows::core::HRESULT,
1716 pub SetVideoEncodingFrameRateMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: AppCaptureVideoEncodingFrameRateMode) -> ::windows::core::HRESULT,
1717 pub VideoEncodingFrameRateMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppCaptureVideoEncodingFrameRateMode) -> ::windows::core::HRESULT,
1718 }
1719 #[doc(hidden)]
1720 #[repr(transparent)]
1721 pub struct IAppCaptureSettings5(::windows::core::IUnknown);
1722 unsafe impl ::windows::core::Interface for IAppCaptureSettings5 {
1723 type Vtable = IAppCaptureSettings5_Vtbl;
1724 }
1725 impl ::core::clone::Clone for IAppCaptureSettings5 {
1726 fn clone(&self) -> Self {
1727 Self(self.0.clone())
1728 }
1729 }
1730 unsafe impl ::windows::core::ComInterface for IAppCaptureSettings5 {
1731 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x18894522_b0e8_4ba0_8f13_3eaa5fa4013b);
1732 }
1733 #[repr(C)]
1734 #[doc(hidden)]
1735 pub struct IAppCaptureSettings5_Vtbl {
1736 pub base__: ::windows::core::IInspectable_Vtbl,
1737 pub SetIsEchoCancellationEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
1738 pub IsEchoCancellationEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1739 pub SetIsCursorImageCaptureEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
1740 pub IsCursorImageCaptureEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1741 }
1742 #[doc(hidden)]
1743 #[repr(transparent)]
1744 pub struct IAppCaptureState(::windows::core::IUnknown);
1745 unsafe impl ::windows::core::Interface for IAppCaptureState {
1746 type Vtable = IAppCaptureState_Vtbl;
1747 }
1748 impl ::core::clone::Clone for IAppCaptureState {
1749 fn clone(&self) -> Self {
1750 Self(self.0.clone())
1751 }
1752 }
1753 unsafe impl ::windows::core::ComInterface for IAppCaptureState {
1754 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x73134372_d4eb_44ce_9538_465f506ac4ea);
1755 }
1756 #[repr(C)]
1757 #[doc(hidden)]
1758 pub struct IAppCaptureState_Vtbl {
1759 pub base__: ::windows::core::IInspectable_Vtbl,
1760 pub IsTargetRunning: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1761 pub IsHistoricalCaptureEnabled: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1762 pub ShouldCaptureMicrophone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1763 pub SetShouldCaptureMicrophone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
1764 pub RestartMicrophoneCapture: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1765 pub MicrophoneCaptureState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut AppCaptureMicrophoneCaptureState) -> ::windows::core::HRESULT,
1766 pub MicrophoneCaptureError: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
1767 #[cfg(feature = "Foundation")]
1768 pub MicrophoneCaptureStateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
1769 #[cfg(not(feature = "Foundation"))]
1770 MicrophoneCaptureStateChanged: usize,
1771 #[cfg(feature = "Foundation")]
1772 pub RemoveMicrophoneCaptureStateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
1773 #[cfg(not(feature = "Foundation"))]
1774 RemoveMicrophoneCaptureStateChanged: usize,
1775 #[cfg(feature = "Foundation")]
1776 pub CaptureTargetClosed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
1777 #[cfg(not(feature = "Foundation"))]
1778 CaptureTargetClosed: usize,
1779 #[cfg(feature = "Foundation")]
1780 pub RemoveCaptureTargetClosed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
1781 #[cfg(not(feature = "Foundation"))]
1782 RemoveCaptureTargetClosed: usize,
1783 }
1784 #[doc(hidden)]
1785 #[repr(transparent)]
1786 pub struct IAppCaptureStatics(::windows::core::IUnknown);
1787 unsafe impl ::windows::core::Interface for IAppCaptureStatics {
1788 type Vtable = IAppCaptureStatics_Vtbl;
1789 }
1790 impl ::core::clone::Clone for IAppCaptureStatics {
1791 fn clone(&self) -> Self {
1792 Self(self.0.clone())
1793 }
1794 }
1795 unsafe impl ::windows::core::ComInterface for IAppCaptureStatics {
1796 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf922dd6c_0a7e_4e74_8b20_9c1f902d08a1);
1797 }
1798 #[repr(C)]
1799 #[doc(hidden)]
1800 pub struct IAppCaptureStatics_Vtbl {
1801 pub base__: ::windows::core::IInspectable_Vtbl,
1802 pub GetForCurrentView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1803 }
1804 #[doc(hidden)]
1805 #[repr(transparent)]
1806 pub struct IAppCaptureStatics2(::windows::core::IUnknown);
1807 unsafe impl ::windows::core::Interface for IAppCaptureStatics2 {
1808 type Vtable = IAppCaptureStatics2_Vtbl;
1809 }
1810 impl ::core::clone::Clone for IAppCaptureStatics2 {
1811 fn clone(&self) -> Self {
1812 Self(self.0.clone())
1813 }
1814 }
1815 unsafe impl ::windows::core::ComInterface for IAppCaptureStatics2 {
1816 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb2d881d4_836c_4da4_afd7_facc041e1cf3);
1817 }
1818 #[repr(C)]
1819 #[doc(hidden)]
1820 pub struct IAppCaptureStatics2_Vtbl {
1821 pub base__: ::windows::core::IInspectable_Vtbl,
1822 #[cfg(feature = "Foundation")]
1823 pub SetAllowedAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, allowed: bool, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1824 #[cfg(not(feature = "Foundation"))]
1825 SetAllowedAsync: usize,
1826 }
1827 #[doc(hidden)]
1828 #[repr(transparent)]
1829 pub struct ICameraCaptureUI(::windows::core::IUnknown);
1830 unsafe impl ::windows::core::Interface for ICameraCaptureUI {
1831 type Vtable = ICameraCaptureUI_Vtbl;
1832 }
1833 impl ::core::clone::Clone for ICameraCaptureUI {
1834 fn clone(&self) -> Self {
1835 Self(self.0.clone())
1836 }
1837 }
1838 unsafe impl ::windows::core::ComInterface for ICameraCaptureUI {
1839 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x48587540_6f93_4bb4_b8f3_e89e48948c91);
1840 }
1841 #[repr(C)]
1842 #[doc(hidden)]
1843 pub struct ICameraCaptureUI_Vtbl {
1844 pub base__: ::windows::core::IInspectable_Vtbl,
1845 pub PhotoSettings: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1846 pub VideoSettings: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1847 #[cfg(all(feature = "Foundation", feature = "Storage"))]
1848 pub CaptureFileAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mode: CameraCaptureUIMode, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1849 #[cfg(not(all(feature = "Foundation", feature = "Storage")))]
1850 CaptureFileAsync: usize,
1851 }
1852 #[doc(hidden)]
1853 #[repr(transparent)]
1854 pub struct ICameraCaptureUIPhotoCaptureSettings(::windows::core::IUnknown);
1855 unsafe impl ::windows::core::Interface for ICameraCaptureUIPhotoCaptureSettings {
1856 type Vtable = ICameraCaptureUIPhotoCaptureSettings_Vtbl;
1857 }
1858 impl ::core::clone::Clone for ICameraCaptureUIPhotoCaptureSettings {
1859 fn clone(&self) -> Self {
1860 Self(self.0.clone())
1861 }
1862 }
1863 unsafe impl ::windows::core::ComInterface for ICameraCaptureUIPhotoCaptureSettings {
1864 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb9f5be97_3472_46a8_8a9e_04ce42ccc97d);
1865 }
1866 #[repr(C)]
1867 #[doc(hidden)]
1868 pub struct ICameraCaptureUIPhotoCaptureSettings_Vtbl {
1869 pub base__: ::windows::core::IInspectable_Vtbl,
1870 pub Format: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CameraCaptureUIPhotoFormat) -> ::windows::core::HRESULT,
1871 pub SetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CameraCaptureUIPhotoFormat) -> ::windows::core::HRESULT,
1872 pub MaxResolution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CameraCaptureUIMaxPhotoResolution) -> ::windows::core::HRESULT,
1873 pub SetMaxResolution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CameraCaptureUIMaxPhotoResolution) -> ::windows::core::HRESULT,
1874 #[cfg(feature = "Foundation")]
1875 pub CroppedSizeInPixels: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Size) -> ::windows::core::HRESULT,
1876 #[cfg(not(feature = "Foundation"))]
1877 CroppedSizeInPixels: usize,
1878 #[cfg(feature = "Foundation")]
1879 pub SetCroppedSizeInPixels: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Size) -> ::windows::core::HRESULT,
1880 #[cfg(not(feature = "Foundation"))]
1881 SetCroppedSizeInPixels: usize,
1882 #[cfg(feature = "Foundation")]
1883 pub CroppedAspectRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::Size) -> ::windows::core::HRESULT,
1884 #[cfg(not(feature = "Foundation"))]
1885 CroppedAspectRatio: usize,
1886 #[cfg(feature = "Foundation")]
1887 pub SetCroppedAspectRatio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::super::Foundation::Size) -> ::windows::core::HRESULT,
1888 #[cfg(not(feature = "Foundation"))]
1889 SetCroppedAspectRatio: usize,
1890 pub AllowCropping: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1891 pub SetAllowCropping: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
1892 }
1893 #[doc(hidden)]
1894 #[repr(transparent)]
1895 pub struct ICameraCaptureUIVideoCaptureSettings(::windows::core::IUnknown);
1896 unsafe impl ::windows::core::Interface for ICameraCaptureUIVideoCaptureSettings {
1897 type Vtable = ICameraCaptureUIVideoCaptureSettings_Vtbl;
1898 }
1899 impl ::core::clone::Clone for ICameraCaptureUIVideoCaptureSettings {
1900 fn clone(&self) -> Self {
1901 Self(self.0.clone())
1902 }
1903 }
1904 unsafe impl ::windows::core::ComInterface for ICameraCaptureUIVideoCaptureSettings {
1905 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x64e92d1f_a28d_425a_b84f_e568335ff24e);
1906 }
1907 #[repr(C)]
1908 #[doc(hidden)]
1909 pub struct ICameraCaptureUIVideoCaptureSettings_Vtbl {
1910 pub base__: ::windows::core::IInspectable_Vtbl,
1911 pub Format: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CameraCaptureUIVideoFormat) -> ::windows::core::HRESULT,
1912 pub SetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CameraCaptureUIVideoFormat) -> ::windows::core::HRESULT,
1913 pub MaxResolution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut CameraCaptureUIMaxVideoResolution) -> ::windows::core::HRESULT,
1914 pub SetMaxResolution: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: CameraCaptureUIMaxVideoResolution) -> ::windows::core::HRESULT,
1915 pub MaxDurationInSeconds: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f32) -> ::windows::core::HRESULT,
1916 pub SetMaxDurationInSeconds: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: f32) -> ::windows::core::HRESULT,
1917 pub AllowTrimming: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
1918 pub SetAllowTrimming: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
1919 }
1920 #[doc(hidden)]
1921 #[repr(transparent)]
1922 pub struct ICameraOptionsUIStatics(::windows::core::IUnknown);
1923 unsafe impl ::windows::core::Interface for ICameraOptionsUIStatics {
1924 type Vtable = ICameraOptionsUIStatics_Vtbl;
1925 }
1926 impl ::core::clone::Clone for ICameraOptionsUIStatics {
1927 fn clone(&self) -> Self {
1928 Self(self.0.clone())
1929 }
1930 }
1931 unsafe impl ::windows::core::ComInterface for ICameraOptionsUIStatics {
1932 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3b0d5e34_3906_4b7d_946c_7bde844499ae);
1933 }
1934 #[repr(C)]
1935 #[doc(hidden)]
1936 pub struct ICameraOptionsUIStatics_Vtbl {
1937 pub base__: ::windows::core::IInspectable_Vtbl,
1938 pub Show: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mediacapture: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1939 }
1940 #[doc(hidden)]
1941 #[repr(transparent)]
1942 pub struct ICapturedFrame(::windows::core::IUnknown);
1943 unsafe impl ::windows::core::Interface for ICapturedFrame {
1944 type Vtable = ICapturedFrame_Vtbl;
1945 }
1946 impl ::core::clone::Clone for ICapturedFrame {
1947 fn clone(&self) -> Self {
1948 Self(self.0.clone())
1949 }
1950 }
1951 unsafe impl ::windows::core::ComInterface for ICapturedFrame {
1952 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1dd2de1f_571b_44d8_8e80_a08a1578766e);
1953 }
1954 #[repr(C)]
1955 #[doc(hidden)]
1956 pub struct ICapturedFrame_Vtbl {
1957 pub base__: ::windows::core::IInspectable_Vtbl,
1958 pub Width: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
1959 pub Height: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
1960 }
1961 #[doc(hidden)]
1962 #[repr(transparent)]
1963 pub struct ICapturedFrame2(::windows::core::IUnknown);
1964 unsafe impl ::windows::core::Interface for ICapturedFrame2 {
1965 type Vtable = ICapturedFrame2_Vtbl;
1966 }
1967 impl ::core::clone::Clone for ICapturedFrame2 {
1968 fn clone(&self) -> Self {
1969 Self(self.0.clone())
1970 }
1971 }
1972 unsafe impl ::windows::core::ComInterface for ICapturedFrame2 {
1973 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x543fa6d1_bd78_4866_adda_24314bc65dea);
1974 }
1975 #[repr(C)]
1976 #[doc(hidden)]
1977 pub struct ICapturedFrame2_Vtbl {
1978 pub base__: ::windows::core::IInspectable_Vtbl,
1979 pub ControlValues: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1980 #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_Imaging"))]
1981 pub BitmapProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1982 #[cfg(not(all(feature = "Foundation_Collections", feature = "Graphics_Imaging")))]
1983 BitmapProperties: usize,
1984 }
1985 #[doc(hidden)]
1986 #[repr(transparent)]
1987 pub struct ICapturedFrameControlValues(::windows::core::IUnknown);
1988 unsafe impl ::windows::core::Interface for ICapturedFrameControlValues {
1989 type Vtable = ICapturedFrameControlValues_Vtbl;
1990 }
1991 impl ::core::clone::Clone for ICapturedFrameControlValues {
1992 fn clone(&self) -> Self {
1993 Self(self.0.clone())
1994 }
1995 }
1996 unsafe impl ::windows::core::ComInterface for ICapturedFrameControlValues {
1997 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x90c65b7f_4e0d_4ca4_882d_7a144fed0a90);
1998 }
1999 #[repr(C)]
2000 #[doc(hidden)]
2001 pub struct ICapturedFrameControlValues_Vtbl {
2002 pub base__: ::windows::core::IInspectable_Vtbl,
2003 #[cfg(feature = "Foundation")]
2004 pub Exposure: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2005 #[cfg(not(feature = "Foundation"))]
2006 Exposure: usize,
2007 #[cfg(feature = "Foundation")]
2008 pub ExposureCompensation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2009 #[cfg(not(feature = "Foundation"))]
2010 ExposureCompensation: usize,
2011 #[cfg(feature = "Foundation")]
2012 pub IsoSpeed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2013 #[cfg(not(feature = "Foundation"))]
2014 IsoSpeed: usize,
2015 #[cfg(feature = "Foundation")]
2016 pub Focus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2017 #[cfg(not(feature = "Foundation"))]
2018 Focus: usize,
2019 #[cfg(all(feature = "Foundation", feature = "Media_Devices"))]
2020 pub SceneMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2021 #[cfg(not(all(feature = "Foundation", feature = "Media_Devices")))]
2022 SceneMode: usize,
2023 #[cfg(feature = "Foundation")]
2024 pub Flashed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2025 #[cfg(not(feature = "Foundation"))]
2026 Flashed: usize,
2027 #[cfg(feature = "Foundation")]
2028 pub FlashPowerPercent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2029 #[cfg(not(feature = "Foundation"))]
2030 FlashPowerPercent: usize,
2031 #[cfg(feature = "Foundation")]
2032 pub WhiteBalance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2033 #[cfg(not(feature = "Foundation"))]
2034 WhiteBalance: usize,
2035 #[cfg(feature = "Foundation")]
2036 pub ZoomFactor: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2037 #[cfg(not(feature = "Foundation"))]
2038 ZoomFactor: usize,
2039 }
2040 #[doc(hidden)]
2041 #[repr(transparent)]
2042 pub struct ICapturedFrameControlValues2(::windows::core::IUnknown);
2043 unsafe impl ::windows::core::Interface for ICapturedFrameControlValues2 {
2044 type Vtable = ICapturedFrameControlValues2_Vtbl;
2045 }
2046 impl ::core::clone::Clone for ICapturedFrameControlValues2 {
2047 fn clone(&self) -> Self {
2048 Self(self.0.clone())
2049 }
2050 }
2051 unsafe impl ::windows::core::ComInterface for ICapturedFrameControlValues2 {
2052 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x500b2b88_06d2_4aa7_a7db_d37af73321d8);
2053 }
2054 #[repr(C)]
2055 #[doc(hidden)]
2056 pub struct ICapturedFrameControlValues2_Vtbl {
2057 pub base__: ::windows::core::IInspectable_Vtbl,
2058 #[cfg(all(feature = "Foundation", feature = "Media_Devices"))]
2059 pub FocusState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2060 #[cfg(not(all(feature = "Foundation", feature = "Media_Devices")))]
2061 FocusState: usize,
2062 #[cfg(feature = "Foundation")]
2063 pub IsoDigitalGain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2064 #[cfg(not(feature = "Foundation"))]
2065 IsoDigitalGain: usize,
2066 #[cfg(feature = "Foundation")]
2067 pub IsoAnalogGain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2068 #[cfg(not(feature = "Foundation"))]
2069 IsoAnalogGain: usize,
2070 #[cfg(feature = "Media_MediaProperties")]
2071 pub SensorFrameRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2072 #[cfg(not(feature = "Media_MediaProperties"))]
2073 SensorFrameRate: usize,
2074 #[cfg(feature = "Foundation")]
2075 pub WhiteBalanceGain: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2076 #[cfg(not(feature = "Foundation"))]
2077 WhiteBalanceGain: usize,
2078 }
2079 #[doc(hidden)]
2080 #[repr(transparent)]
2081 pub struct ICapturedFrameWithSoftwareBitmap(::windows::core::IUnknown);
2082 unsafe impl ::windows::core::Interface for ICapturedFrameWithSoftwareBitmap {
2083 type Vtable = ICapturedFrameWithSoftwareBitmap_Vtbl;
2084 }
2085 impl ::core::clone::Clone for ICapturedFrameWithSoftwareBitmap {
2086 fn clone(&self) -> Self {
2087 Self(self.0.clone())
2088 }
2089 }
2090 unsafe impl ::windows::core::ComInterface for ICapturedFrameWithSoftwareBitmap {
2091 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb58e8b6e_8503_49b5_9e86_897d26a3ff3d);
2092 }
2093 #[repr(C)]
2094 #[doc(hidden)]
2095 pub struct ICapturedFrameWithSoftwareBitmap_Vtbl {
2096 pub base__: ::windows::core::IInspectable_Vtbl,
2097 #[cfg(feature = "Graphics_Imaging")]
2098 pub SoftwareBitmap: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2099 #[cfg(not(feature = "Graphics_Imaging"))]
2100 SoftwareBitmap: usize,
2101 }
2102 #[doc(hidden)]
2103 #[repr(transparent)]
2104 pub struct ICapturedPhoto(::windows::core::IUnknown);
2105 unsafe impl ::windows::core::Interface for ICapturedPhoto {
2106 type Vtable = ICapturedPhoto_Vtbl;
2107 }
2108 impl ::core::clone::Clone for ICapturedPhoto {
2109 fn clone(&self) -> Self {
2110 Self(self.0.clone())
2111 }
2112 }
2113 unsafe impl ::windows::core::ComInterface for ICapturedPhoto {
2114 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb0ce7e5a_cfcc_4d6c_8ad1_0869208aca16);
2115 }
2116 #[repr(C)]
2117 #[doc(hidden)]
2118 pub struct ICapturedPhoto_Vtbl {
2119 pub base__: ::windows::core::IInspectable_Vtbl,
2120 pub Frame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2121 pub Thumbnail: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2122 }
2123 #[doc(hidden)]
2124 #[repr(transparent)]
2125 pub struct IGameBarServices(::windows::core::IUnknown);
2126 unsafe impl ::windows::core::Interface for IGameBarServices {
2127 type Vtable = IGameBarServices_Vtbl;
2128 }
2129 impl ::core::clone::Clone for IGameBarServices {
2130 fn clone(&self) -> Self {
2131 Self(self.0.clone())
2132 }
2133 }
2134 unsafe impl ::windows::core::ComInterface for IGameBarServices {
2135 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2dbead57_50a6_499e_8c6c_d330a7311796);
2136 }
2137 #[repr(C)]
2138 #[doc(hidden)]
2139 pub struct IGameBarServices_Vtbl {
2140 pub base__: ::windows::core::IInspectable_Vtbl,
2141 pub TargetCapturePolicy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut GameBarTargetCapturePolicy) -> ::windows::core::HRESULT,
2142 pub EnableCapture: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2143 pub DisableCapture: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2144 pub TargetInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2145 pub SessionId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
2146 pub AppBroadcastServices: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2147 pub AppCaptureServices: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2148 #[cfg(feature = "Foundation")]
2149 pub CommandReceived: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
2150 #[cfg(not(feature = "Foundation"))]
2151 CommandReceived: usize,
2152 #[cfg(feature = "Foundation")]
2153 pub RemoveCommandReceived: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
2154 #[cfg(not(feature = "Foundation"))]
2155 RemoveCommandReceived: usize,
2156 }
2157 #[doc(hidden)]
2158 #[repr(transparent)]
2159 pub struct IGameBarServicesCommandEventArgs(::windows::core::IUnknown);
2160 unsafe impl ::windows::core::Interface for IGameBarServicesCommandEventArgs {
2161 type Vtable = IGameBarServicesCommandEventArgs_Vtbl;
2162 }
2163 impl ::core::clone::Clone for IGameBarServicesCommandEventArgs {
2164 fn clone(&self) -> Self {
2165 Self(self.0.clone())
2166 }
2167 }
2168 unsafe impl ::windows::core::ComInterface for IGameBarServicesCommandEventArgs {
2169 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa74226b2_f176_4fcf_8fbb_cf698b2eb8e0);
2170 }
2171 #[repr(C)]
2172 #[doc(hidden)]
2173 pub struct IGameBarServicesCommandEventArgs_Vtbl {
2174 pub base__: ::windows::core::IInspectable_Vtbl,
2175 pub Command: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut GameBarCommand) -> ::windows::core::HRESULT,
2176 pub Origin: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut GameBarCommandOrigin) -> ::windows::core::HRESULT,
2177 }
2178 #[doc(hidden)]
2179 #[repr(transparent)]
2180 pub struct IGameBarServicesManager(::windows::core::IUnknown);
2181 unsafe impl ::windows::core::Interface for IGameBarServicesManager {
2182 type Vtable = IGameBarServicesManager_Vtbl;
2183 }
2184 impl ::core::clone::Clone for IGameBarServicesManager {
2185 fn clone(&self) -> Self {
2186 Self(self.0.clone())
2187 }
2188 }
2189 unsafe impl ::windows::core::ComInterface for IGameBarServicesManager {
2190 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3a4b9cfa_7f8b_4c60_9dbb_0bcd262dffc6);
2191 }
2192 #[repr(C)]
2193 #[doc(hidden)]
2194 pub struct IGameBarServicesManager_Vtbl {
2195 pub base__: ::windows::core::IInspectable_Vtbl,
2196 #[cfg(feature = "Foundation")]
2197 pub GameBarServicesCreated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
2198 #[cfg(not(feature = "Foundation"))]
2199 GameBarServicesCreated: usize,
2200 #[cfg(feature = "Foundation")]
2201 pub RemoveGameBarServicesCreated: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
2202 #[cfg(not(feature = "Foundation"))]
2203 RemoveGameBarServicesCreated: usize,
2204 }
2205 #[doc(hidden)]
2206 #[repr(transparent)]
2207 pub struct IGameBarServicesManagerGameBarServicesCreatedEventArgs(::windows::core::IUnknown);
2208 unsafe impl ::windows::core::Interface for IGameBarServicesManagerGameBarServicesCreatedEventArgs {
2209 type Vtable = IGameBarServicesManagerGameBarServicesCreatedEventArgs_Vtbl;
2210 }
2211 impl ::core::clone::Clone for IGameBarServicesManagerGameBarServicesCreatedEventArgs {
2212 fn clone(&self) -> Self {
2213 Self(self.0.clone())
2214 }
2215 }
2216 unsafe impl ::windows::core::ComInterface for IGameBarServicesManagerGameBarServicesCreatedEventArgs {
2217 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xededbd9c_143e_49a3_a5ea_0b1995c8d46e);
2218 }
2219 #[repr(C)]
2220 #[doc(hidden)]
2221 pub struct IGameBarServicesManagerGameBarServicesCreatedEventArgs_Vtbl {
2222 pub base__: ::windows::core::IInspectable_Vtbl,
2223 pub GameBarServices: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2224 }
2225 #[doc(hidden)]
2226 #[repr(transparent)]
2227 pub struct IGameBarServicesManagerStatics(::windows::core::IUnknown);
2228 unsafe impl ::windows::core::Interface for IGameBarServicesManagerStatics {
2229 type Vtable = IGameBarServicesManagerStatics_Vtbl;
2230 }
2231 impl ::core::clone::Clone for IGameBarServicesManagerStatics {
2232 fn clone(&self) -> Self {
2233 Self(self.0.clone())
2234 }
2235 }
2236 unsafe impl ::windows::core::ComInterface for IGameBarServicesManagerStatics {
2237 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x34c1b616_ff25_4792_98f2_d3753f15ac13);
2238 }
2239 #[repr(C)]
2240 #[doc(hidden)]
2241 pub struct IGameBarServicesManagerStatics_Vtbl {
2242 pub base__: ::windows::core::IInspectable_Vtbl,
2243 pub GetDefault: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2244 }
2245 #[doc(hidden)]
2246 #[repr(transparent)]
2247 pub struct IGameBarServicesTargetInfo(::windows::core::IUnknown);
2248 unsafe impl ::windows::core::Interface for IGameBarServicesTargetInfo {
2249 type Vtable = IGameBarServicesTargetInfo_Vtbl;
2250 }
2251 impl ::core::clone::Clone for IGameBarServicesTargetInfo {
2252 fn clone(&self) -> Self {
2253 Self(self.0.clone())
2254 }
2255 }
2256 unsafe impl ::windows::core::ComInterface for IGameBarServicesTargetInfo {
2257 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb4202f92_1611_4e05_b6ef_dfd737ae33b0);
2258 }
2259 #[repr(C)]
2260 #[doc(hidden)]
2261 pub struct IGameBarServicesTargetInfo_Vtbl {
2262 pub base__: ::windows::core::IInspectable_Vtbl,
2263 pub DisplayName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
2264 pub AppId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
2265 pub TitleId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
2266 pub DisplayMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut GameBarServicesDisplayMode) -> ::windows::core::HRESULT,
2267 }
2268 #[doc(hidden)]
2269 #[repr(transparent)]
2270 pub struct ILowLagMediaRecording(::windows::core::IUnknown);
2271 unsafe impl ::windows::core::Interface for ILowLagMediaRecording {
2272 type Vtable = ILowLagMediaRecording_Vtbl;
2273 }
2274 impl ::core::clone::Clone for ILowLagMediaRecording {
2275 fn clone(&self) -> Self {
2276 Self(self.0.clone())
2277 }
2278 }
2279 unsafe impl ::windows::core::ComInterface for ILowLagMediaRecording {
2280 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x41c8baf7_ff3f_49f0_a477_f195e3ce5108);
2281 }
2282 #[repr(C)]
2283 #[doc(hidden)]
2284 pub struct ILowLagMediaRecording_Vtbl {
2285 pub base__: ::windows::core::IInspectable_Vtbl,
2286 #[cfg(feature = "Foundation")]
2287 pub StartAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2288 #[cfg(not(feature = "Foundation"))]
2289 StartAsync: usize,
2290 #[cfg(feature = "Foundation")]
2291 pub StopAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2292 #[cfg(not(feature = "Foundation"))]
2293 StopAsync: usize,
2294 #[cfg(feature = "Foundation")]
2295 pub FinishAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2296 #[cfg(not(feature = "Foundation"))]
2297 FinishAsync: usize,
2298 }
2299 #[doc(hidden)]
2300 #[repr(transparent)]
2301 pub struct ILowLagMediaRecording2(::windows::core::IUnknown);
2302 unsafe impl ::windows::core::Interface for ILowLagMediaRecording2 {
2303 type Vtable = ILowLagMediaRecording2_Vtbl;
2304 }
2305 impl ::core::clone::Clone for ILowLagMediaRecording2 {
2306 fn clone(&self) -> Self {
2307 Self(self.0.clone())
2308 }
2309 }
2310 unsafe impl ::windows::core::ComInterface for ILowLagMediaRecording2 {
2311 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6369c758_5644_41e2_97af_8ef56a25e225);
2312 }
2313 #[repr(C)]
2314 #[doc(hidden)]
2315 pub struct ILowLagMediaRecording2_Vtbl {
2316 pub base__: ::windows::core::IInspectable_Vtbl,
2317 #[cfg(all(feature = "Foundation", feature = "Media_Devices"))]
2318 pub PauseAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, behavior: super::Devices::MediaCapturePauseBehavior, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2319 #[cfg(not(all(feature = "Foundation", feature = "Media_Devices")))]
2320 PauseAsync: usize,
2321 #[cfg(feature = "Foundation")]
2322 pub ResumeAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2323 #[cfg(not(feature = "Foundation"))]
2324 ResumeAsync: usize,
2325 }
2326 #[doc(hidden)]
2327 #[repr(transparent)]
2328 pub struct ILowLagMediaRecording3(::windows::core::IUnknown);
2329 unsafe impl ::windows::core::Interface for ILowLagMediaRecording3 {
2330 type Vtable = ILowLagMediaRecording3_Vtbl;
2331 }
2332 impl ::core::clone::Clone for ILowLagMediaRecording3 {
2333 fn clone(&self) -> Self {
2334 Self(self.0.clone())
2335 }
2336 }
2337 unsafe impl ::windows::core::ComInterface for ILowLagMediaRecording3 {
2338 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5c33ab12_48f7_47da_b41e_90880a5fe0ec);
2339 }
2340 #[repr(C)]
2341 #[doc(hidden)]
2342 pub struct ILowLagMediaRecording3_Vtbl {
2343 pub base__: ::windows::core::IInspectable_Vtbl,
2344 #[cfg(all(feature = "Foundation", feature = "Media_Devices"))]
2345 pub PauseWithResultAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, behavior: super::Devices::MediaCapturePauseBehavior, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2346 #[cfg(not(all(feature = "Foundation", feature = "Media_Devices")))]
2347 PauseWithResultAsync: usize,
2348 #[cfg(feature = "Foundation")]
2349 pub StopWithResultAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2350 #[cfg(not(feature = "Foundation"))]
2351 StopWithResultAsync: usize,
2352 }
2353 #[doc(hidden)]
2354 #[repr(transparent)]
2355 pub struct ILowLagPhotoCapture(::windows::core::IUnknown);
2356 unsafe impl ::windows::core::Interface for ILowLagPhotoCapture {
2357 type Vtable = ILowLagPhotoCapture_Vtbl;
2358 }
2359 impl ::core::clone::Clone for ILowLagPhotoCapture {
2360 fn clone(&self) -> Self {
2361 Self(self.0.clone())
2362 }
2363 }
2364 unsafe impl ::windows::core::ComInterface for ILowLagPhotoCapture {
2365 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa37251b7_6b44_473d_8f24_f703d6c0ec44);
2366 }
2367 #[repr(C)]
2368 #[doc(hidden)]
2369 pub struct ILowLagPhotoCapture_Vtbl {
2370 pub base__: ::windows::core::IInspectable_Vtbl,
2371 #[cfg(feature = "Foundation")]
2372 pub CaptureAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2373 #[cfg(not(feature = "Foundation"))]
2374 CaptureAsync: usize,
2375 #[cfg(feature = "Foundation")]
2376 pub FinishAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2377 #[cfg(not(feature = "Foundation"))]
2378 FinishAsync: usize,
2379 }
2380 #[doc(hidden)]
2381 #[repr(transparent)]
2382 pub struct ILowLagPhotoSequenceCapture(::windows::core::IUnknown);
2383 unsafe impl ::windows::core::Interface for ILowLagPhotoSequenceCapture {
2384 type Vtable = ILowLagPhotoSequenceCapture_Vtbl;
2385 }
2386 impl ::core::clone::Clone for ILowLagPhotoSequenceCapture {
2387 fn clone(&self) -> Self {
2388 Self(self.0.clone())
2389 }
2390 }
2391 unsafe impl ::windows::core::ComInterface for ILowLagPhotoSequenceCapture {
2392 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7cc346bb_b9a9_4c91_8ffa_287e9c668669);
2393 }
2394 #[repr(C)]
2395 #[doc(hidden)]
2396 pub struct ILowLagPhotoSequenceCapture_Vtbl {
2397 pub base__: ::windows::core::IInspectable_Vtbl,
2398 #[cfg(feature = "Foundation")]
2399 pub StartAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2400 #[cfg(not(feature = "Foundation"))]
2401 StartAsync: usize,
2402 #[cfg(feature = "Foundation")]
2403 pub StopAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2404 #[cfg(not(feature = "Foundation"))]
2405 StopAsync: usize,
2406 #[cfg(feature = "Foundation")]
2407 pub FinishAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2408 #[cfg(not(feature = "Foundation"))]
2409 FinishAsync: usize,
2410 #[cfg(feature = "Foundation")]
2411 pub PhotoCaptured: 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,
2412 #[cfg(not(feature = "Foundation"))]
2413 PhotoCaptured: usize,
2414 #[cfg(feature = "Foundation")]
2415 pub RemovePhotoCaptured: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
2416 #[cfg(not(feature = "Foundation"))]
2417 RemovePhotoCaptured: usize,
2418 }
2419 #[doc(hidden)]
2420 #[repr(transparent)]
2421 pub struct IMediaCapture(::windows::core::IUnknown);
2422 unsafe impl ::windows::core::Interface for IMediaCapture {
2423 type Vtable = IMediaCapture_Vtbl;
2424 }
2425 impl ::core::clone::Clone for IMediaCapture {
2426 fn clone(&self) -> Self {
2427 Self(self.0.clone())
2428 }
2429 }
2430 unsafe impl ::windows::core::ComInterface for IMediaCapture {
2431 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc61afbb4_fb10_4a34_ac18_ca80d9c8e7ee);
2432 }
2433 #[repr(C)]
2434 #[doc(hidden)]
2435 pub struct IMediaCapture_Vtbl {
2436 pub base__: ::windows::core::IInspectable_Vtbl,
2437 #[cfg(feature = "Foundation")]
2438 pub InitializeAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2439 #[cfg(not(feature = "Foundation"))]
2440 InitializeAsync: usize,
2441 #[cfg(feature = "Foundation")]
2442 pub InitializeWithSettingsAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mediacaptureinitializationsettings: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2443 #[cfg(not(feature = "Foundation"))]
2444 InitializeWithSettingsAsync: usize,
2445 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage"))]
2446 pub StartRecordToStorageFileAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, encodingprofile: *mut ::core::ffi::c_void, file: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2447 #[cfg(not(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage")))]
2448 StartRecordToStorageFileAsync: usize,
2449 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage_Streams"))]
2450 pub StartRecordToStreamAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, encodingprofile: *mut ::core::ffi::c_void, stream: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2451 #[cfg(not(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage_Streams")))]
2452 StartRecordToStreamAsync: usize,
2453 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties"))]
2454 pub StartRecordToCustomSinkAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, encodingprofile: *mut ::core::ffi::c_void, custommediasink: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2455 #[cfg(not(all(feature = "Foundation", feature = "Media_MediaProperties")))]
2456 StartRecordToCustomSinkAsync: usize,
2457 #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))]
2458 pub StartRecordToCustomSinkIdAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, encodingprofile: *mut ::core::ffi::c_void, customsinkactivationid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, customsinksettings: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2459 #[cfg(not(all(feature = "Foundation_Collections", feature = "Media_MediaProperties")))]
2460 StartRecordToCustomSinkIdAsync: usize,
2461 #[cfg(feature = "Foundation")]
2462 pub StopRecordAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2463 #[cfg(not(feature = "Foundation"))]
2464 StopRecordAsync: usize,
2465 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage"))]
2466 pub CapturePhotoToStorageFileAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: *mut ::core::ffi::c_void, file: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2467 #[cfg(not(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage")))]
2468 CapturePhotoToStorageFileAsync: usize,
2469 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage_Streams"))]
2470 pub CapturePhotoToStreamAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: *mut ::core::ffi::c_void, stream: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2471 #[cfg(not(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage_Streams")))]
2472 CapturePhotoToStreamAsync: usize,
2473 #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))]
2474 pub AddEffectAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mediastreamtype: MediaStreamType, effectactivationid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, effectsettings: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2475 #[cfg(not(all(feature = "Foundation_Collections", feature = "deprecated")))]
2476 AddEffectAsync: usize,
2477 #[cfg(feature = "Foundation")]
2478 pub ClearEffectsAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mediastreamtype: MediaStreamType, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2479 #[cfg(not(feature = "Foundation"))]
2480 ClearEffectsAsync: usize,
2481 pub SetEncoderProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mediastreamtype: MediaStreamType, propertyid: ::windows::core::GUID, propertyvalue: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2482 pub GetEncoderProperty: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mediastreamtype: MediaStreamType, propertyid: ::windows::core::GUID, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2483 #[cfg(feature = "Foundation")]
2484 pub Failed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, erroreventhandler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
2485 #[cfg(not(feature = "Foundation"))]
2486 Failed: usize,
2487 #[cfg(feature = "Foundation")]
2488 pub RemoveFailed: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
2489 #[cfg(not(feature = "Foundation"))]
2490 RemoveFailed: usize,
2491 #[cfg(feature = "Foundation")]
2492 pub RecordLimitationExceeded: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, recordlimitationexceededeventhandler: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
2493 #[cfg(not(feature = "Foundation"))]
2494 RecordLimitationExceeded: usize,
2495 #[cfg(feature = "Foundation")]
2496 pub RemoveRecordLimitationExceeded: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
2497 #[cfg(not(feature = "Foundation"))]
2498 RemoveRecordLimitationExceeded: usize,
2499 pub MediaCaptureSettings: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2500 #[cfg(feature = "Media_Devices")]
2501 pub AudioDeviceController: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2502 #[cfg(not(feature = "Media_Devices"))]
2503 AudioDeviceController: usize,
2504 #[cfg(feature = "Media_Devices")]
2505 pub VideoDeviceController: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2506 #[cfg(not(feature = "Media_Devices"))]
2507 VideoDeviceController: usize,
2508 pub SetPreviewMirroring: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
2509 pub GetPreviewMirroring: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
2510 pub SetPreviewRotation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: VideoRotation) -> ::windows::core::HRESULT,
2511 pub GetPreviewRotation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut VideoRotation) -> ::windows::core::HRESULT,
2512 pub SetRecordRotation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: VideoRotation) -> ::windows::core::HRESULT,
2513 pub GetRecordRotation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut VideoRotation) -> ::windows::core::HRESULT,
2514 }
2515 #[doc(hidden)]
2516 #[repr(transparent)]
2517 pub struct IMediaCapture2(::windows::core::IUnknown);
2518 unsafe impl ::windows::core::Interface for IMediaCapture2 {
2519 type Vtable = IMediaCapture2_Vtbl;
2520 }
2521 impl ::core::clone::Clone for IMediaCapture2 {
2522 fn clone(&self) -> Self {
2523 Self(self.0.clone())
2524 }
2525 }
2526 unsafe impl ::windows::core::ComInterface for IMediaCapture2 {
2527 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9cc68260_7da1_4043_b652_21b8878daff9);
2528 }
2529 #[repr(C)]
2530 #[doc(hidden)]
2531 pub struct IMediaCapture2_Vtbl {
2532 pub base__: ::windows::core::IInspectable_Vtbl,
2533 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage"))]
2534 pub PrepareLowLagRecordToStorageFileAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, encodingprofile: *mut ::core::ffi::c_void, file: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2535 #[cfg(not(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage")))]
2536 PrepareLowLagRecordToStorageFileAsync: usize,
2537 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage_Streams"))]
2538 pub PrepareLowLagRecordToStreamAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, encodingprofile: *mut ::core::ffi::c_void, stream: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2539 #[cfg(not(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage_Streams")))]
2540 PrepareLowLagRecordToStreamAsync: usize,
2541 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties"))]
2542 pub PrepareLowLagRecordToCustomSinkAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, encodingprofile: *mut ::core::ffi::c_void, custommediasink: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2543 #[cfg(not(all(feature = "Foundation", feature = "Media_MediaProperties")))]
2544 PrepareLowLagRecordToCustomSinkAsync: usize,
2545 #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))]
2546 pub PrepareLowLagRecordToCustomSinkIdAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, encodingprofile: *mut ::core::ffi::c_void, customsinkactivationid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, customsinksettings: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2547 #[cfg(not(all(feature = "Foundation_Collections", feature = "Media_MediaProperties")))]
2548 PrepareLowLagRecordToCustomSinkIdAsync: usize,
2549 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties"))]
2550 pub PrepareLowLagPhotoCaptureAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2551 #[cfg(not(all(feature = "Foundation", feature = "Media_MediaProperties")))]
2552 PrepareLowLagPhotoCaptureAsync: usize,
2553 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties"))]
2554 pub PrepareLowLagPhotoSequenceCaptureAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2555 #[cfg(not(all(feature = "Foundation", feature = "Media_MediaProperties")))]
2556 PrepareLowLagPhotoSequenceCaptureAsync: usize,
2557 #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))]
2558 pub SetEncodingPropertiesAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mediastreamtype: MediaStreamType, mediaencodingproperties: *mut ::core::ffi::c_void, encoderproperties: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2559 #[cfg(not(all(feature = "Foundation_Collections", feature = "Media_MediaProperties")))]
2560 SetEncodingPropertiesAsync: usize,
2561 }
2562 #[doc(hidden)]
2563 #[repr(transparent)]
2564 pub struct IMediaCapture3(::windows::core::IUnknown);
2565 unsafe impl ::windows::core::Interface for IMediaCapture3 {
2566 type Vtable = IMediaCapture3_Vtbl;
2567 }
2568 impl ::core::clone::Clone for IMediaCapture3 {
2569 fn clone(&self) -> Self {
2570 Self(self.0.clone())
2571 }
2572 }
2573 unsafe impl ::windows::core::ComInterface for IMediaCapture3 {
2574 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd4136f30_1564_466e_bc0a_af94e02ab016);
2575 }
2576 #[repr(C)]
2577 #[doc(hidden)]
2578 pub struct IMediaCapture3_Vtbl {
2579 pub base__: ::windows::core::IInspectable_Vtbl,
2580 #[cfg(all(feature = "Foundation", feature = "Media_Capture_Core", feature = "Media_MediaProperties"))]
2581 pub PrepareVariablePhotoSequenceCaptureAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2582 #[cfg(not(all(feature = "Foundation", feature = "Media_Capture_Core", feature = "Media_MediaProperties")))]
2583 PrepareVariablePhotoSequenceCaptureAsync: usize,
2584 #[cfg(feature = "Foundation")]
2585 pub FocusChanged: 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,
2586 #[cfg(not(feature = "Foundation"))]
2587 FocusChanged: usize,
2588 #[cfg(feature = "Foundation")]
2589 pub RemoveFocusChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
2590 #[cfg(not(feature = "Foundation"))]
2591 RemoveFocusChanged: usize,
2592 #[cfg(feature = "Foundation")]
2593 pub PhotoConfirmationCaptured: 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,
2594 #[cfg(not(feature = "Foundation"))]
2595 PhotoConfirmationCaptured: usize,
2596 #[cfg(feature = "Foundation")]
2597 pub RemovePhotoConfirmationCaptured: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
2598 #[cfg(not(feature = "Foundation"))]
2599 RemovePhotoConfirmationCaptured: usize,
2600 }
2601 #[doc(hidden)]
2602 #[repr(transparent)]
2603 pub struct IMediaCapture4(::windows::core::IUnknown);
2604 unsafe impl ::windows::core::Interface for IMediaCapture4 {
2605 type Vtable = IMediaCapture4_Vtbl;
2606 }
2607 impl ::core::clone::Clone for IMediaCapture4 {
2608 fn clone(&self) -> Self {
2609 Self(self.0.clone())
2610 }
2611 }
2612 unsafe impl ::windows::core::ComInterface for IMediaCapture4 {
2613 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbacd6fd6_fb08_4947_aea2_ce14eff0ce13);
2614 }
2615 #[repr(C)]
2616 #[doc(hidden)]
2617 pub struct IMediaCapture4_Vtbl {
2618 pub base__: ::windows::core::IInspectable_Vtbl,
2619 #[cfg(all(feature = "Foundation", feature = "Media_Effects"))]
2620 pub AddAudioEffectAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, definition: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2621 #[cfg(not(all(feature = "Foundation", feature = "Media_Effects")))]
2622 AddAudioEffectAsync: usize,
2623 #[cfg(all(feature = "Foundation", feature = "Media_Effects"))]
2624 pub AddVideoEffectAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, definition: *mut ::core::ffi::c_void, mediastreamtype: MediaStreamType, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2625 #[cfg(not(all(feature = "Foundation", feature = "Media_Effects")))]
2626 AddVideoEffectAsync: usize,
2627 #[cfg(all(feature = "Foundation", feature = "Media_Devices"))]
2628 pub PauseRecordAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, behavior: super::Devices::MediaCapturePauseBehavior, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2629 #[cfg(not(all(feature = "Foundation", feature = "Media_Devices")))]
2630 PauseRecordAsync: usize,
2631 #[cfg(feature = "Foundation")]
2632 pub ResumeRecordAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2633 #[cfg(not(feature = "Foundation"))]
2634 ResumeRecordAsync: usize,
2635 #[cfg(feature = "Foundation")]
2636 pub CameraStreamStateChanged: 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,
2637 #[cfg(not(feature = "Foundation"))]
2638 CameraStreamStateChanged: usize,
2639 #[cfg(feature = "Foundation")]
2640 pub RemoveCameraStreamStateChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
2641 #[cfg(not(feature = "Foundation"))]
2642 RemoveCameraStreamStateChanged: usize,
2643 #[cfg(feature = "Media_Devices")]
2644 pub CameraStreamState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::Devices::CameraStreamState) -> ::windows::core::HRESULT,
2645 #[cfg(not(feature = "Media_Devices"))]
2646 CameraStreamState: usize,
2647 #[cfg(feature = "Foundation")]
2648 pub GetPreviewFrameAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2649 #[cfg(not(feature = "Foundation"))]
2650 GetPreviewFrameAsync: usize,
2651 #[cfg(feature = "Foundation")]
2652 pub GetPreviewFrameCopyAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, destination: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2653 #[cfg(not(feature = "Foundation"))]
2654 GetPreviewFrameCopyAsync: usize,
2655 #[cfg(feature = "Foundation")]
2656 pub ThermalStatusChanged: 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,
2657 #[cfg(not(feature = "Foundation"))]
2658 ThermalStatusChanged: usize,
2659 #[cfg(feature = "Foundation")]
2660 pub RemoveThermalStatusChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
2661 #[cfg(not(feature = "Foundation"))]
2662 RemoveThermalStatusChanged: usize,
2663 pub ThermalStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut MediaCaptureThermalStatus) -> ::windows::core::HRESULT,
2664 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties"))]
2665 pub PrepareAdvancedPhotoCaptureAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, encodingproperties: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2666 #[cfg(not(all(feature = "Foundation", feature = "Media_MediaProperties")))]
2667 PrepareAdvancedPhotoCaptureAsync: usize,
2668 }
2669 #[doc(hidden)]
2670 #[repr(transparent)]
2671 pub struct IMediaCapture5(::windows::core::IUnknown);
2672 unsafe impl ::windows::core::Interface for IMediaCapture5 {
2673 type Vtable = IMediaCapture5_Vtbl;
2674 }
2675 impl ::core::clone::Clone for IMediaCapture5 {
2676 fn clone(&self) -> Self {
2677 Self(self.0.clone())
2678 }
2679 }
2680 unsafe impl ::windows::core::ComInterface for IMediaCapture5 {
2681 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xda787c22_3a9b_4720_a71e_97900a316e5a);
2682 }
2683 #[repr(C)]
2684 #[doc(hidden)]
2685 pub struct IMediaCapture5_Vtbl {
2686 pub base__: ::windows::core::IInspectable_Vtbl,
2687 #[cfg(feature = "Foundation")]
2688 pub RemoveEffectAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, effect: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2689 #[cfg(not(feature = "Foundation"))]
2690 RemoveEffectAsync: usize,
2691 #[cfg(all(feature = "Foundation", feature = "Media_Devices"))]
2692 pub PauseRecordWithResultAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, behavior: super::Devices::MediaCapturePauseBehavior, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2693 #[cfg(not(all(feature = "Foundation", feature = "Media_Devices")))]
2694 PauseRecordWithResultAsync: usize,
2695 #[cfg(feature = "Foundation")]
2696 pub StopRecordWithResultAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2697 #[cfg(not(feature = "Foundation"))]
2698 StopRecordWithResultAsync: usize,
2699 #[cfg(all(feature = "Foundation_Collections", feature = "Media_Capture_Frames"))]
2700 pub FrameSources: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2701 #[cfg(not(all(feature = "Foundation_Collections", feature = "Media_Capture_Frames")))]
2702 FrameSources: usize,
2703 #[cfg(all(feature = "Foundation", feature = "Media_Capture_Frames"))]
2704 pub CreateFrameReaderAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, inputsource: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2705 #[cfg(not(all(feature = "Foundation", feature = "Media_Capture_Frames")))]
2706 CreateFrameReaderAsync: usize,
2707 #[cfg(all(feature = "Foundation", feature = "Media_Capture_Frames"))]
2708 pub CreateFrameReaderWithSubtypeAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, inputsource: *mut ::core::ffi::c_void, outputsubtype: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2709 #[cfg(not(all(feature = "Foundation", feature = "Media_Capture_Frames")))]
2710 CreateFrameReaderWithSubtypeAsync: usize,
2711 #[cfg(all(feature = "Foundation", feature = "Graphics_Imaging", feature = "Media_Capture_Frames"))]
2712 pub CreateFrameReaderWithSubtypeAndSizeAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, inputsource: *mut ::core::ffi::c_void, outputsubtype: ::std::mem::MaybeUninit<::windows::core::HSTRING>, outputsize: super::super::Graphics::Imaging::BitmapSize, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2713 #[cfg(not(all(feature = "Foundation", feature = "Graphics_Imaging", feature = "Media_Capture_Frames")))]
2714 CreateFrameReaderWithSubtypeAndSizeAsync: usize,
2715 }
2716 #[doc(hidden)]
2717 #[repr(transparent)]
2718 pub struct IMediaCapture6(::windows::core::IUnknown);
2719 unsafe impl ::windows::core::Interface for IMediaCapture6 {
2720 type Vtable = IMediaCapture6_Vtbl;
2721 }
2722 impl ::core::clone::Clone for IMediaCapture6 {
2723 fn clone(&self) -> Self {
2724 Self(self.0.clone())
2725 }
2726 }
2727 unsafe impl ::windows::core::ComInterface for IMediaCapture6 {
2728 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x228948bd_4b20_4bb1_9fd6_a583212a1012);
2729 }
2730 #[repr(C)]
2731 #[doc(hidden)]
2732 pub struct IMediaCapture6_Vtbl {
2733 pub base__: ::windows::core::IInspectable_Vtbl,
2734 #[cfg(feature = "Foundation")]
2735 pub CaptureDeviceExclusiveControlStatusChanged: 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,
2736 #[cfg(not(feature = "Foundation"))]
2737 CaptureDeviceExclusiveControlStatusChanged: usize,
2738 #[cfg(feature = "Foundation")]
2739 pub RemoveCaptureDeviceExclusiveControlStatusChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
2740 #[cfg(not(feature = "Foundation"))]
2741 RemoveCaptureDeviceExclusiveControlStatusChanged: usize,
2742 #[cfg(all(feature = "Foundation_Collections", feature = "Media_Capture_Frames"))]
2743 pub CreateMultiSourceFrameReaderAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, inputsources: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2744 #[cfg(not(all(feature = "Foundation_Collections", feature = "Media_Capture_Frames")))]
2745 CreateMultiSourceFrameReaderAsync: usize,
2746 }
2747 #[doc(hidden)]
2748 #[repr(transparent)]
2749 pub struct IMediaCapture7(::windows::core::IUnknown);
2750 unsafe impl ::windows::core::Interface for IMediaCapture7 {
2751 type Vtable = IMediaCapture7_Vtbl;
2752 }
2753 impl ::core::clone::Clone for IMediaCapture7 {
2754 fn clone(&self) -> Self {
2755 Self(self.0.clone())
2756 }
2757 }
2758 unsafe impl ::windows::core::ComInterface for IMediaCapture7 {
2759 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9169f102_8888_541a_95bc_24e4d462542a);
2760 }
2761 #[repr(C)]
2762 #[doc(hidden)]
2763 pub struct IMediaCapture7_Vtbl {
2764 pub base__: ::windows::core::IInspectable_Vtbl,
2765 #[cfg(feature = "UI_WindowManagement")]
2766 pub CreateRelativePanelWatcher: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, capturemode: StreamingCaptureMode, displayregion: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2767 #[cfg(not(feature = "UI_WindowManagement"))]
2768 CreateRelativePanelWatcher: usize,
2769 }
2770 #[doc(hidden)]
2771 #[repr(transparent)]
2772 pub struct IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs(::windows::core::IUnknown);
2773 unsafe impl ::windows::core::Interface for IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs {
2774 type Vtable = IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs_Vtbl;
2775 }
2776 impl ::core::clone::Clone for IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs {
2777 fn clone(&self) -> Self {
2778 Self(self.0.clone())
2779 }
2780 }
2781 unsafe impl ::windows::core::ComInterface for IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs {
2782 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9d2f920d_a588_43c6_89d6_5ad322af006a);
2783 }
2784 #[repr(C)]
2785 #[doc(hidden)]
2786 pub struct IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs_Vtbl {
2787 pub base__: ::windows::core::IInspectable_Vtbl,
2788 pub DeviceId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
2789 pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut MediaCaptureDeviceExclusiveControlStatus) -> ::windows::core::HRESULT,
2790 }
2791 #[doc(hidden)]
2792 #[repr(transparent)]
2793 pub struct IMediaCaptureFailedEventArgs(::windows::core::IUnknown);
2794 unsafe impl ::windows::core::Interface for IMediaCaptureFailedEventArgs {
2795 type Vtable = IMediaCaptureFailedEventArgs_Vtbl;
2796 }
2797 impl ::core::clone::Clone for IMediaCaptureFailedEventArgs {
2798 fn clone(&self) -> Self {
2799 Self(self.0.clone())
2800 }
2801 }
2802 unsafe impl ::windows::core::ComInterface for IMediaCaptureFailedEventArgs {
2803 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x80fde3f4_54c4_42c0_8d19_cea1a87ca18b);
2804 }
2805 #[repr(C)]
2806 #[doc(hidden)]
2807 pub struct IMediaCaptureFailedEventArgs_Vtbl {
2808 pub base__: ::windows::core::IInspectable_Vtbl,
2809 pub Message: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
2810 pub Code: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
2811 }
2812 #[doc(hidden)]
2813 #[repr(transparent)]
2814 pub struct IMediaCaptureFocusChangedEventArgs(::windows::core::IUnknown);
2815 unsafe impl ::windows::core::Interface for IMediaCaptureFocusChangedEventArgs {
2816 type Vtable = IMediaCaptureFocusChangedEventArgs_Vtbl;
2817 }
2818 impl ::core::clone::Clone for IMediaCaptureFocusChangedEventArgs {
2819 fn clone(&self) -> Self {
2820 Self(self.0.clone())
2821 }
2822 }
2823 unsafe impl ::windows::core::ComInterface for IMediaCaptureFocusChangedEventArgs {
2824 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x81e1bc7f_2277_493e_abee_d3f44ff98c04);
2825 }
2826 #[repr(C)]
2827 #[doc(hidden)]
2828 pub struct IMediaCaptureFocusChangedEventArgs_Vtbl {
2829 pub base__: ::windows::core::IInspectable_Vtbl,
2830 #[cfg(feature = "Media_Devices")]
2831 pub FocusState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::Devices::MediaCaptureFocusState) -> ::windows::core::HRESULT,
2832 #[cfg(not(feature = "Media_Devices"))]
2833 FocusState: usize,
2834 }
2835 #[doc(hidden)]
2836 #[repr(transparent)]
2837 pub struct IMediaCaptureInitializationSettings(::windows::core::IUnknown);
2838 unsafe impl ::windows::core::Interface for IMediaCaptureInitializationSettings {
2839 type Vtable = IMediaCaptureInitializationSettings_Vtbl;
2840 }
2841 impl ::core::clone::Clone for IMediaCaptureInitializationSettings {
2842 fn clone(&self) -> Self {
2843 Self(self.0.clone())
2844 }
2845 }
2846 unsafe impl ::windows::core::ComInterface for IMediaCaptureInitializationSettings {
2847 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9782ba70_ea65_4900_9356_8ca887726884);
2848 }
2849 #[repr(C)]
2850 #[doc(hidden)]
2851 pub struct IMediaCaptureInitializationSettings_Vtbl {
2852 pub base__: ::windows::core::IInspectable_Vtbl,
2853 pub SetAudioDeviceId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
2854 pub AudioDeviceId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
2855 pub SetVideoDeviceId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
2856 pub VideoDeviceId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
2857 pub SetStreamingCaptureMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: StreamingCaptureMode) -> ::windows::core::HRESULT,
2858 pub StreamingCaptureMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut StreamingCaptureMode) -> ::windows::core::HRESULT,
2859 pub SetPhotoCaptureSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: PhotoCaptureSource) -> ::windows::core::HRESULT,
2860 pub PhotoCaptureSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut PhotoCaptureSource) -> ::windows::core::HRESULT,
2861 }
2862 #[doc(hidden)]
2863 #[repr(transparent)]
2864 pub struct IMediaCaptureInitializationSettings2(::windows::core::IUnknown);
2865 unsafe impl ::windows::core::Interface for IMediaCaptureInitializationSettings2 {
2866 type Vtable = IMediaCaptureInitializationSettings2_Vtbl;
2867 }
2868 impl ::core::clone::Clone for IMediaCaptureInitializationSettings2 {
2869 fn clone(&self) -> Self {
2870 Self(self.0.clone())
2871 }
2872 }
2873 unsafe impl ::windows::core::ComInterface for IMediaCaptureInitializationSettings2 {
2874 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x404e0626_c9dc_43e9_aee4_e6bf1b57b44c);
2875 }
2876 #[repr(C)]
2877 #[doc(hidden)]
2878 pub struct IMediaCaptureInitializationSettings2_Vtbl {
2879 pub base__: ::windows::core::IInspectable_Vtbl,
2880 pub SetMediaCategory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: MediaCategory) -> ::windows::core::HRESULT,
2881 pub MediaCategory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut MediaCategory) -> ::windows::core::HRESULT,
2882 pub SetAudioProcessing: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: super::AudioProcessing) -> ::windows::core::HRESULT,
2883 pub AudioProcessing: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::AudioProcessing) -> ::windows::core::HRESULT,
2884 }
2885 #[doc(hidden)]
2886 #[repr(transparent)]
2887 pub struct IMediaCaptureInitializationSettings3(::windows::core::IUnknown);
2888 unsafe impl ::windows::core::Interface for IMediaCaptureInitializationSettings3 {
2889 type Vtable = IMediaCaptureInitializationSettings3_Vtbl;
2890 }
2891 impl ::core::clone::Clone for IMediaCaptureInitializationSettings3 {
2892 fn clone(&self) -> Self {
2893 Self(self.0.clone())
2894 }
2895 }
2896 unsafe impl ::windows::core::ComInterface for IMediaCaptureInitializationSettings3 {
2897 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4160519d_be48_4730_8104_0cf6e9e97948);
2898 }
2899 #[repr(C)]
2900 #[doc(hidden)]
2901 pub struct IMediaCaptureInitializationSettings3_Vtbl {
2902 pub base__: ::windows::core::IInspectable_Vtbl,
2903 #[cfg(feature = "Media_Core")]
2904 pub SetAudioSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2905 #[cfg(not(feature = "Media_Core"))]
2906 SetAudioSource: usize,
2907 #[cfg(feature = "Media_Core")]
2908 pub AudioSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2909 #[cfg(not(feature = "Media_Core"))]
2910 AudioSource: usize,
2911 #[cfg(feature = "Media_Core")]
2912 pub SetVideoSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2913 #[cfg(not(feature = "Media_Core"))]
2914 SetVideoSource: usize,
2915 #[cfg(feature = "Media_Core")]
2916 pub VideoSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2917 #[cfg(not(feature = "Media_Core"))]
2918 VideoSource: usize,
2919 }
2920 #[doc(hidden)]
2921 #[repr(transparent)]
2922 pub struct IMediaCaptureInitializationSettings4(::windows::core::IUnknown);
2923 unsafe impl ::windows::core::Interface for IMediaCaptureInitializationSettings4 {
2924 type Vtable = IMediaCaptureInitializationSettings4_Vtbl;
2925 }
2926 impl ::core::clone::Clone for IMediaCaptureInitializationSettings4 {
2927 fn clone(&self) -> Self {
2928 Self(self.0.clone())
2929 }
2930 }
2931 unsafe impl ::windows::core::ComInterface for IMediaCaptureInitializationSettings4 {
2932 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf502a537_4cb7_4d28_95ed_4f9f012e0518);
2933 }
2934 #[repr(C)]
2935 #[doc(hidden)]
2936 pub struct IMediaCaptureInitializationSettings4_Vtbl {
2937 pub base__: ::windows::core::IInspectable_Vtbl,
2938 pub VideoProfile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2939 pub SetVideoProfile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2940 pub PreviewMediaDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2941 pub SetPreviewMediaDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2942 pub RecordMediaDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2943 pub SetRecordMediaDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2944 pub PhotoMediaDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2945 pub SetPhotoMediaDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2946 }
2947 #[doc(hidden)]
2948 #[repr(transparent)]
2949 pub struct IMediaCaptureInitializationSettings5(::windows::core::IUnknown);
2950 unsafe impl ::windows::core::Interface for IMediaCaptureInitializationSettings5 {
2951 type Vtable = IMediaCaptureInitializationSettings5_Vtbl;
2952 }
2953 impl ::core::clone::Clone for IMediaCaptureInitializationSettings5 {
2954 fn clone(&self) -> Self {
2955 Self(self.0.clone())
2956 }
2957 }
2958 unsafe impl ::windows::core::ComInterface for IMediaCaptureInitializationSettings5 {
2959 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd5a2e3b8_2626_4e94_b7b3_5308a0f64b1a);
2960 }
2961 #[repr(C)]
2962 #[doc(hidden)]
2963 pub struct IMediaCaptureInitializationSettings5_Vtbl {
2964 pub base__: ::windows::core::IInspectable_Vtbl,
2965 #[cfg(feature = "Media_Capture_Frames")]
2966 pub SourceGroup: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2967 #[cfg(not(feature = "Media_Capture_Frames"))]
2968 SourceGroup: usize,
2969 #[cfg(feature = "Media_Capture_Frames")]
2970 pub SetSourceGroup: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2971 #[cfg(not(feature = "Media_Capture_Frames"))]
2972 SetSourceGroup: usize,
2973 pub SharingMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut MediaCaptureSharingMode) -> ::windows::core::HRESULT,
2974 pub SetSharingMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: MediaCaptureSharingMode) -> ::windows::core::HRESULT,
2975 pub MemoryPreference: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut MediaCaptureMemoryPreference) -> ::windows::core::HRESULT,
2976 pub SetMemoryPreference: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: MediaCaptureMemoryPreference) -> ::windows::core::HRESULT,
2977 }
2978 #[doc(hidden)]
2979 #[repr(transparent)]
2980 pub struct IMediaCaptureInitializationSettings6(::windows::core::IUnknown);
2981 unsafe impl ::windows::core::Interface for IMediaCaptureInitializationSettings6 {
2982 type Vtable = IMediaCaptureInitializationSettings6_Vtbl;
2983 }
2984 impl ::core::clone::Clone for IMediaCaptureInitializationSettings6 {
2985 fn clone(&self) -> Self {
2986 Self(self.0.clone())
2987 }
2988 }
2989 unsafe impl ::windows::core::ComInterface for IMediaCaptureInitializationSettings6 {
2990 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb2e26b47_3db1_4d33_ab63_0ffa09056585);
2991 }
2992 #[repr(C)]
2993 #[doc(hidden)]
2994 pub struct IMediaCaptureInitializationSettings6_Vtbl {
2995 pub base__: ::windows::core::IInspectable_Vtbl,
2996 pub AlwaysPlaySystemShutterSound: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
2997 pub SetAlwaysPlaySystemShutterSound: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: bool) -> ::windows::core::HRESULT,
2998 }
2999 #[doc(hidden)]
3000 #[repr(transparent)]
3001 pub struct IMediaCaptureInitializationSettings7(::windows::core::IUnknown);
3002 unsafe impl ::windows::core::Interface for IMediaCaptureInitializationSettings7 {
3003 type Vtable = IMediaCaptureInitializationSettings7_Vtbl;
3004 }
3005 impl ::core::clone::Clone for IMediaCaptureInitializationSettings7 {
3006 fn clone(&self) -> Self {
3007 Self(self.0.clone())
3008 }
3009 }
3010 unsafe impl ::windows::core::ComInterface for IMediaCaptureInitializationSettings7 {
3011 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x41546967_f58a_5d82_9ef4_ed572fb5e34e);
3012 }
3013 #[repr(C)]
3014 #[doc(hidden)]
3015 pub struct IMediaCaptureInitializationSettings7_Vtbl {
3016 pub base__: ::windows::core::IInspectable_Vtbl,
3017 #[cfg(feature = "Security_Credentials")]
3018 pub DeviceUriPasswordCredential: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3019 #[cfg(not(feature = "Security_Credentials"))]
3020 DeviceUriPasswordCredential: usize,
3021 #[cfg(feature = "Security_Credentials")]
3022 pub SetDeviceUriPasswordCredential: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3023 #[cfg(not(feature = "Security_Credentials"))]
3024 SetDeviceUriPasswordCredential: usize,
3025 #[cfg(feature = "Foundation")]
3026 pub DeviceUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3027 #[cfg(not(feature = "Foundation"))]
3028 DeviceUri: usize,
3029 #[cfg(feature = "Foundation")]
3030 pub SetDeviceUri: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3031 #[cfg(not(feature = "Foundation"))]
3032 SetDeviceUri: usize,
3033 }
3034 #[doc(hidden)]
3035 #[repr(transparent)]
3036 pub struct IMediaCapturePauseResult(::windows::core::IUnknown);
3037 unsafe impl ::windows::core::Interface for IMediaCapturePauseResult {
3038 type Vtable = IMediaCapturePauseResult_Vtbl;
3039 }
3040 impl ::core::clone::Clone for IMediaCapturePauseResult {
3041 fn clone(&self) -> Self {
3042 Self(self.0.clone())
3043 }
3044 }
3045 unsafe impl ::windows::core::ComInterface for IMediaCapturePauseResult {
3046 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xaec47ca3_4477_4b04_a06f_2c1c5182fe9d);
3047 }
3048 #[repr(C)]
3049 #[doc(hidden)]
3050 pub struct IMediaCapturePauseResult_Vtbl {
3051 pub base__: ::windows::core::IInspectable_Vtbl,
3052 pub LastFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3053 #[cfg(feature = "Foundation")]
3054 pub RecordDuration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
3055 #[cfg(not(feature = "Foundation"))]
3056 RecordDuration: usize,
3057 }
3058 #[doc(hidden)]
3059 #[repr(transparent)]
3060 pub struct IMediaCaptureRelativePanelWatcher(::windows::core::IUnknown);
3061 unsafe impl ::windows::core::Interface for IMediaCaptureRelativePanelWatcher {
3062 type Vtable = IMediaCaptureRelativePanelWatcher_Vtbl;
3063 }
3064 impl ::core::clone::Clone for IMediaCaptureRelativePanelWatcher {
3065 fn clone(&self) -> Self {
3066 Self(self.0.clone())
3067 }
3068 }
3069 unsafe impl ::windows::core::ComInterface for IMediaCaptureRelativePanelWatcher {
3070 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7d896566_04be_5b89_b30e_bd34a9f12db0);
3071 }
3072 #[repr(C)]
3073 #[doc(hidden)]
3074 pub struct IMediaCaptureRelativePanelWatcher_Vtbl {
3075 pub base__: ::windows::core::IInspectable_Vtbl,
3076 #[cfg(feature = "Devices_Enumeration")]
3077 pub RelativePanel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Devices::Enumeration::Panel) -> ::windows::core::HRESULT,
3078 #[cfg(not(feature = "Devices_Enumeration"))]
3079 RelativePanel: usize,
3080 #[cfg(feature = "Foundation")]
3081 pub Changed: 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,
3082 #[cfg(not(feature = "Foundation"))]
3083 Changed: usize,
3084 #[cfg(feature = "Foundation")]
3085 pub RemoveChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
3086 #[cfg(not(feature = "Foundation"))]
3087 RemoveChanged: usize,
3088 pub Start: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3089 pub Stop: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3090 }
3091 #[doc(hidden)]
3092 #[repr(transparent)]
3093 pub struct IMediaCaptureSettings(::windows::core::IUnknown);
3094 unsafe impl ::windows::core::Interface for IMediaCaptureSettings {
3095 type Vtable = IMediaCaptureSettings_Vtbl;
3096 }
3097 impl ::core::clone::Clone for IMediaCaptureSettings {
3098 fn clone(&self) -> Self {
3099 Self(self.0.clone())
3100 }
3101 }
3102 unsafe impl ::windows::core::ComInterface for IMediaCaptureSettings {
3103 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1d83aafe_6d45_4477_8dc4_ac5bc01c4091);
3104 }
3105 #[repr(C)]
3106 #[doc(hidden)]
3107 pub struct IMediaCaptureSettings_Vtbl {
3108 pub base__: ::windows::core::IInspectable_Vtbl,
3109 pub AudioDeviceId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
3110 pub VideoDeviceId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
3111 pub StreamingCaptureMode: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut StreamingCaptureMode) -> ::windows::core::HRESULT,
3112 pub PhotoCaptureSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut PhotoCaptureSource) -> ::windows::core::HRESULT,
3113 pub VideoDeviceCharacteristic: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut VideoDeviceCharacteristic) -> ::windows::core::HRESULT,
3114 }
3115 #[doc(hidden)]
3116 #[repr(transparent)]
3117 pub struct IMediaCaptureSettings2(::windows::core::IUnknown);
3118 unsafe impl ::windows::core::Interface for IMediaCaptureSettings2 {
3119 type Vtable = IMediaCaptureSettings2_Vtbl;
3120 }
3121 impl ::core::clone::Clone for IMediaCaptureSettings2 {
3122 fn clone(&self) -> Self {
3123 Self(self.0.clone())
3124 }
3125 }
3126 unsafe impl ::windows::core::ComInterface for IMediaCaptureSettings2 {
3127 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6f9e7cfb_fa9f_4b13_9cbe_5ab94f1f3493);
3128 }
3129 #[repr(C)]
3130 #[doc(hidden)]
3131 pub struct IMediaCaptureSettings2_Vtbl {
3132 pub base__: ::windows::core::IInspectable_Vtbl,
3133 pub ConcurrentRecordAndPhotoSupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
3134 pub ConcurrentRecordAndPhotoSequenceSupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
3135 pub CameraSoundRequiredForRegion: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
3136 #[cfg(feature = "Foundation")]
3137 pub Horizontal35mmEquivalentFocalLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3138 #[cfg(not(feature = "Foundation"))]
3139 Horizontal35mmEquivalentFocalLength: usize,
3140 #[cfg(feature = "Foundation")]
3141 pub PitchOffsetDegrees: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3142 #[cfg(not(feature = "Foundation"))]
3143 PitchOffsetDegrees: usize,
3144 #[cfg(feature = "Foundation")]
3145 pub Vertical35mmEquivalentFocalLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3146 #[cfg(not(feature = "Foundation"))]
3147 Vertical35mmEquivalentFocalLength: usize,
3148 pub MediaCategory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut MediaCategory) -> ::windows::core::HRESULT,
3149 pub AudioProcessing: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::AudioProcessing) -> ::windows::core::HRESULT,
3150 }
3151 #[doc(hidden)]
3152 #[repr(transparent)]
3153 pub struct IMediaCaptureSettings3(::windows::core::IUnknown);
3154 unsafe impl ::windows::core::Interface for IMediaCaptureSettings3 {
3155 type Vtable = IMediaCaptureSettings3_Vtbl;
3156 }
3157 impl ::core::clone::Clone for IMediaCaptureSettings3 {
3158 fn clone(&self) -> Self {
3159 Self(self.0.clone())
3160 }
3161 }
3162 unsafe impl ::windows::core::ComInterface for IMediaCaptureSettings3 {
3163 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x303c67c2_8058_4b1b_b877_8c2ef3528440);
3164 }
3165 #[repr(C)]
3166 #[doc(hidden)]
3167 pub struct IMediaCaptureSettings3_Vtbl {
3168 pub base__: ::windows::core::IInspectable_Vtbl,
3169 #[cfg(feature = "Graphics_DirectX_Direct3D11")]
3170 pub Direct3D11Device: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3171 #[cfg(not(feature = "Graphics_DirectX_Direct3D11"))]
3172 Direct3D11Device: usize,
3173 }
3174 #[doc(hidden)]
3175 #[repr(transparent)]
3176 pub struct IMediaCaptureStatics(::windows::core::IUnknown);
3177 unsafe impl ::windows::core::Interface for IMediaCaptureStatics {
3178 type Vtable = IMediaCaptureStatics_Vtbl;
3179 }
3180 impl ::core::clone::Clone for IMediaCaptureStatics {
3181 fn clone(&self) -> Self {
3182 Self(self.0.clone())
3183 }
3184 }
3185 unsafe impl ::windows::core::ComInterface for IMediaCaptureStatics {
3186 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xacef81ff_99ed_4645_965e_1925cfc63834);
3187 }
3188 #[repr(C)]
3189 #[doc(hidden)]
3190 pub struct IMediaCaptureStatics_Vtbl {
3191 pub base__: ::windows::core::IInspectable_Vtbl,
3192 pub IsVideoProfileSupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, videodeviceid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut bool) -> ::windows::core::HRESULT,
3193 #[cfg(feature = "Foundation_Collections")]
3194 pub FindAllVideoProfiles: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, videodeviceid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3195 #[cfg(not(feature = "Foundation_Collections"))]
3196 FindAllVideoProfiles: usize,
3197 #[cfg(feature = "Foundation_Collections")]
3198 pub FindConcurrentProfiles: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, videodeviceid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3199 #[cfg(not(feature = "Foundation_Collections"))]
3200 FindConcurrentProfiles: usize,
3201 #[cfg(feature = "Foundation_Collections")]
3202 pub FindKnownVideoProfiles: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, videodeviceid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, name: KnownVideoProfile, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3203 #[cfg(not(feature = "Foundation_Collections"))]
3204 FindKnownVideoProfiles: usize,
3205 }
3206 #[doc(hidden)]
3207 #[repr(transparent)]
3208 pub struct IMediaCaptureStopResult(::windows::core::IUnknown);
3209 unsafe impl ::windows::core::Interface for IMediaCaptureStopResult {
3210 type Vtable = IMediaCaptureStopResult_Vtbl;
3211 }
3212 impl ::core::clone::Clone for IMediaCaptureStopResult {
3213 fn clone(&self) -> Self {
3214 Self(self.0.clone())
3215 }
3216 }
3217 unsafe impl ::windows::core::ComInterface for IMediaCaptureStopResult {
3218 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf9db6a2a_a092_4ad1_97d4_f201f9d082db);
3219 }
3220 #[repr(C)]
3221 #[doc(hidden)]
3222 pub struct IMediaCaptureStopResult_Vtbl {
3223 pub base__: ::windows::core::IInspectable_Vtbl,
3224 pub LastFrame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3225 #[cfg(feature = "Foundation")]
3226 pub RecordDuration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
3227 #[cfg(not(feature = "Foundation"))]
3228 RecordDuration: usize,
3229 }
3230 #[doc(hidden)]
3231 #[repr(transparent)]
3232 pub struct IMediaCaptureVideoPreview(::windows::core::IUnknown);
3233 unsafe impl ::windows::core::Interface for IMediaCaptureVideoPreview {
3234 type Vtable = IMediaCaptureVideoPreview_Vtbl;
3235 }
3236 impl ::core::clone::Clone for IMediaCaptureVideoPreview {
3237 fn clone(&self) -> Self {
3238 Self(self.0.clone())
3239 }
3240 }
3241 unsafe impl ::windows::core::ComInterface for IMediaCaptureVideoPreview {
3242 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x27727073_549e_447f_a20a_4f03c479d8c0);
3243 }
3244 #[repr(C)]
3245 #[doc(hidden)]
3246 pub struct IMediaCaptureVideoPreview_Vtbl {
3247 pub base__: ::windows::core::IInspectable_Vtbl,
3248 #[cfg(feature = "Foundation")]
3249 pub StartPreviewAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3250 #[cfg(not(feature = "Foundation"))]
3251 StartPreviewAsync: usize,
3252 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties"))]
3253 pub StartPreviewToCustomSinkAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, encodingprofile: *mut ::core::ffi::c_void, custommediasink: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3254 #[cfg(not(all(feature = "Foundation", feature = "Media_MediaProperties")))]
3255 StartPreviewToCustomSinkAsync: usize,
3256 #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))]
3257 pub StartPreviewToCustomSinkIdAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, encodingprofile: *mut ::core::ffi::c_void, customsinkactivationid: ::std::mem::MaybeUninit<::windows::core::HSTRING>, customsinksettings: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3258 #[cfg(not(all(feature = "Foundation_Collections", feature = "Media_MediaProperties")))]
3259 StartPreviewToCustomSinkIdAsync: usize,
3260 #[cfg(feature = "Foundation")]
3261 pub StopPreviewAsync: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3262 #[cfg(not(feature = "Foundation"))]
3263 StopPreviewAsync: usize,
3264 }
3265 #[doc(hidden)]
3266 #[repr(transparent)]
3267 pub struct IMediaCaptureVideoProfile(::windows::core::IUnknown);
3268 unsafe impl ::windows::core::Interface for IMediaCaptureVideoProfile {
3269 type Vtable = IMediaCaptureVideoProfile_Vtbl;
3270 }
3271 impl ::core::clone::Clone for IMediaCaptureVideoProfile {
3272 fn clone(&self) -> Self {
3273 Self(self.0.clone())
3274 }
3275 }
3276 unsafe impl ::windows::core::ComInterface for IMediaCaptureVideoProfile {
3277 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x21a073bf_a3ee_4ecf_9ef6_50b0bc4e1305);
3278 }
3279 #[repr(C)]
3280 #[doc(hidden)]
3281 pub struct IMediaCaptureVideoProfile_Vtbl {
3282 pub base__: ::windows::core::IInspectable_Vtbl,
3283 pub Id: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
3284 pub VideoDeviceId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
3285 #[cfg(feature = "Foundation_Collections")]
3286 pub SupportedPreviewMediaDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3287 #[cfg(not(feature = "Foundation_Collections"))]
3288 SupportedPreviewMediaDescription: usize,
3289 #[cfg(feature = "Foundation_Collections")]
3290 pub SupportedRecordMediaDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3291 #[cfg(not(feature = "Foundation_Collections"))]
3292 SupportedRecordMediaDescription: usize,
3293 #[cfg(feature = "Foundation_Collections")]
3294 pub SupportedPhotoMediaDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3295 #[cfg(not(feature = "Foundation_Collections"))]
3296 SupportedPhotoMediaDescription: usize,
3297 #[cfg(feature = "Foundation_Collections")]
3298 pub GetConcurrency: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3299 #[cfg(not(feature = "Foundation_Collections"))]
3300 GetConcurrency: usize,
3301 }
3302 #[doc(hidden)]
3303 #[repr(transparent)]
3304 pub struct IMediaCaptureVideoProfile2(::windows::core::IUnknown);
3305 unsafe impl ::windows::core::Interface for IMediaCaptureVideoProfile2 {
3306 type Vtable = IMediaCaptureVideoProfile2_Vtbl;
3307 }
3308 impl ::core::clone::Clone for IMediaCaptureVideoProfile2 {
3309 fn clone(&self) -> Self {
3310 Self(self.0.clone())
3311 }
3312 }
3313 unsafe impl ::windows::core::ComInterface for IMediaCaptureVideoProfile2 {
3314 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x97ddc95f_94ce_468f_9316_fc5bc2638f6b);
3315 }
3316 #[repr(C)]
3317 #[doc(hidden)]
3318 pub struct IMediaCaptureVideoProfile2_Vtbl {
3319 pub base__: ::windows::core::IInspectable_Vtbl,
3320 #[cfg(all(feature = "Foundation_Collections", feature = "Media_Capture_Frames"))]
3321 pub FrameSourceInfos: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3322 #[cfg(not(all(feature = "Foundation_Collections", feature = "Media_Capture_Frames")))]
3323 FrameSourceInfos: usize,
3324 #[cfg(feature = "Foundation_Collections")]
3325 pub Properties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3326 #[cfg(not(feature = "Foundation_Collections"))]
3327 Properties: usize,
3328 }
3329 #[doc(hidden)]
3330 #[repr(transparent)]
3331 pub struct IMediaCaptureVideoProfileMediaDescription(::windows::core::IUnknown);
3332 unsafe impl ::windows::core::Interface for IMediaCaptureVideoProfileMediaDescription {
3333 type Vtable = IMediaCaptureVideoProfileMediaDescription_Vtbl;
3334 }
3335 impl ::core::clone::Clone for IMediaCaptureVideoProfileMediaDescription {
3336 fn clone(&self) -> Self {
3337 Self(self.0.clone())
3338 }
3339 }
3340 unsafe impl ::windows::core::ComInterface for IMediaCaptureVideoProfileMediaDescription {
3341 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8012afef_b691_49ff_83f2_c1e76eaaea1b);
3342 }
3343 #[repr(C)]
3344 #[doc(hidden)]
3345 pub struct IMediaCaptureVideoProfileMediaDescription_Vtbl {
3346 pub base__: ::windows::core::IInspectable_Vtbl,
3347 pub Width: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
3348 pub Height: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut u32) -> ::windows::core::HRESULT,
3349 pub FrameRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut f64) -> ::windows::core::HRESULT,
3350 #[cfg(feature = "deprecated")]
3351 pub IsVariablePhotoSequenceSupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
3352 #[cfg(not(feature = "deprecated"))]
3353 IsVariablePhotoSequenceSupported: usize,
3354 #[cfg(feature = "deprecated")]
3355 pub IsHdrVideoSupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
3356 #[cfg(not(feature = "deprecated"))]
3357 IsHdrVideoSupported: usize,
3358 }
3359 #[doc(hidden)]
3360 #[repr(transparent)]
3361 pub struct IMediaCaptureVideoProfileMediaDescription2(::windows::core::IUnknown);
3362 unsafe impl ::windows::core::Interface for IMediaCaptureVideoProfileMediaDescription2 {
3363 type Vtable = IMediaCaptureVideoProfileMediaDescription2_Vtbl;
3364 }
3365 impl ::core::clone::Clone for IMediaCaptureVideoProfileMediaDescription2 {
3366 fn clone(&self) -> Self {
3367 Self(self.0.clone())
3368 }
3369 }
3370 unsafe impl ::windows::core::ComInterface for IMediaCaptureVideoProfileMediaDescription2 {
3371 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc6a6ef13_322d_413a_b85a_68a88e02f4e9);
3372 }
3373 #[repr(C)]
3374 #[doc(hidden)]
3375 pub struct IMediaCaptureVideoProfileMediaDescription2_Vtbl {
3376 pub base__: ::windows::core::IInspectable_Vtbl,
3377 pub Subtype: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut ::std::mem::MaybeUninit<::windows::core::HSTRING>) -> ::windows::core::HRESULT,
3378 #[cfg(feature = "Foundation_Collections")]
3379 pub Properties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3380 #[cfg(not(feature = "Foundation_Collections"))]
3381 Properties: usize,
3382 }
3383 #[doc(hidden)]
3384 #[repr(transparent)]
3385 pub struct IOptionalReferencePhotoCapturedEventArgs(::windows::core::IUnknown);
3386 unsafe impl ::windows::core::Interface for IOptionalReferencePhotoCapturedEventArgs {
3387 type Vtable = IOptionalReferencePhotoCapturedEventArgs_Vtbl;
3388 }
3389 impl ::core::clone::Clone for IOptionalReferencePhotoCapturedEventArgs {
3390 fn clone(&self) -> Self {
3391 Self(self.0.clone())
3392 }
3393 }
3394 unsafe impl ::windows::core::ComInterface for IOptionalReferencePhotoCapturedEventArgs {
3395 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x470f88b3_1e6d_4051_9c8b_f1d85af047b7);
3396 }
3397 #[repr(C)]
3398 #[doc(hidden)]
3399 pub struct IOptionalReferencePhotoCapturedEventArgs_Vtbl {
3400 pub base__: ::windows::core::IInspectable_Vtbl,
3401 pub Frame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3402 pub Context: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3403 }
3404 #[doc(hidden)]
3405 #[repr(transparent)]
3406 pub struct IPhotoCapturedEventArgs(::windows::core::IUnknown);
3407 unsafe impl ::windows::core::Interface for IPhotoCapturedEventArgs {
3408 type Vtable = IPhotoCapturedEventArgs_Vtbl;
3409 }
3410 impl ::core::clone::Clone for IPhotoCapturedEventArgs {
3411 fn clone(&self) -> Self {
3412 Self(self.0.clone())
3413 }
3414 }
3415 unsafe impl ::windows::core::ComInterface for IPhotoCapturedEventArgs {
3416 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x373bfbc1_984e_4ff0_bf85_1c00aabc5a45);
3417 }
3418 #[repr(C)]
3419 #[doc(hidden)]
3420 pub struct IPhotoCapturedEventArgs_Vtbl {
3421 pub base__: ::windows::core::IInspectable_Vtbl,
3422 pub Frame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3423 pub Thumbnail: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3424 #[cfg(feature = "Foundation")]
3425 pub CaptureTimeOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
3426 #[cfg(not(feature = "Foundation"))]
3427 CaptureTimeOffset: usize,
3428 }
3429 #[doc(hidden)]
3430 #[repr(transparent)]
3431 pub struct IPhotoConfirmationCapturedEventArgs(::windows::core::IUnknown);
3432 unsafe impl ::windows::core::Interface for IPhotoConfirmationCapturedEventArgs {
3433 type Vtable = IPhotoConfirmationCapturedEventArgs_Vtbl;
3434 }
3435 impl ::core::clone::Clone for IPhotoConfirmationCapturedEventArgs {
3436 fn clone(&self) -> Self {
3437 Self(self.0.clone())
3438 }
3439 }
3440 unsafe impl ::windows::core::ComInterface for IPhotoConfirmationCapturedEventArgs {
3441 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xab473672_c28a_4827_8f8d_3636d3beb51e);
3442 }
3443 #[repr(C)]
3444 #[doc(hidden)]
3445 pub struct IPhotoConfirmationCapturedEventArgs_Vtbl {
3446 pub base__: ::windows::core::IInspectable_Vtbl,
3447 pub Frame: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3448 #[cfg(feature = "Foundation")]
3449 pub CaptureTimeOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::core::HRESULT,
3450 #[cfg(not(feature = "Foundation"))]
3451 CaptureTimeOffset: usize,
3452 }
3453 #[doc(hidden)]
3454 #[repr(transparent)]
3455 pub struct IScreenCapture(::windows::core::IUnknown);
3456 unsafe impl ::windows::core::Interface for IScreenCapture {
3457 type Vtable = IScreenCapture_Vtbl;
3458 }
3459 impl ::core::clone::Clone for IScreenCapture {
3460 fn clone(&self) -> Self {
3461 Self(self.0.clone())
3462 }
3463 }
3464 unsafe impl ::windows::core::ComInterface for IScreenCapture {
3465 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x89179ef7_cd12_4e0e_a6d4_5b3de98b2e9b);
3466 }
3467 #[repr(C)]
3468 #[doc(hidden)]
3469 pub struct IScreenCapture_Vtbl {
3470 pub base__: ::windows::core::IInspectable_Vtbl,
3471 #[cfg(feature = "Media_Core")]
3472 pub AudioSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3473 #[cfg(not(feature = "Media_Core"))]
3474 AudioSource: usize,
3475 #[cfg(feature = "Media_Core")]
3476 pub VideoSource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3477 #[cfg(not(feature = "Media_Core"))]
3478 VideoSource: usize,
3479 pub IsAudioSuspended: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
3480 pub IsVideoSuspended: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
3481 #[cfg(feature = "Foundation")]
3482 pub SourceSuspensionChanged: 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,
3483 #[cfg(not(feature = "Foundation"))]
3484 SourceSuspensionChanged: usize,
3485 #[cfg(feature = "Foundation")]
3486 pub RemoveSourceSuspensionChanged: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::HRESULT,
3487 #[cfg(not(feature = "Foundation"))]
3488 RemoveSourceSuspensionChanged: usize,
3489 }
3490 #[doc(hidden)]
3491 #[repr(transparent)]
3492 pub struct IScreenCaptureStatics(::windows::core::IUnknown);
3493 unsafe impl ::windows::core::Interface for IScreenCaptureStatics {
3494 type Vtable = IScreenCaptureStatics_Vtbl;
3495 }
3496 impl ::core::clone::Clone for IScreenCaptureStatics {
3497 fn clone(&self) -> Self {
3498 Self(self.0.clone())
3499 }
3500 }
3501 unsafe impl ::windows::core::ComInterface for IScreenCaptureStatics {
3502 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc898c3b0_c8a5_11e2_8b8b_0800200c9a66);
3503 }
3504 #[repr(C)]
3505 #[doc(hidden)]
3506 pub struct IScreenCaptureStatics_Vtbl {
3507 pub base__: ::windows::core::IInspectable_Vtbl,
3508 pub GetForCurrentView: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3509 }
3510 #[doc(hidden)]
3511 #[repr(transparent)]
3512 pub struct ISourceSuspensionChangedEventArgs(::windows::core::IUnknown);
3513 unsafe impl ::windows::core::Interface for ISourceSuspensionChangedEventArgs {
3514 type Vtable = ISourceSuspensionChangedEventArgs_Vtbl;
3515 }
3516 impl ::core::clone::Clone for ISourceSuspensionChangedEventArgs {
3517 fn clone(&self) -> Self {
3518 Self(self.0.clone())
3519 }
3520 }
3521 unsafe impl ::windows::core::ComInterface for ISourceSuspensionChangedEventArgs {
3522 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2ece7b5e_d49b_4394_bc32_f97d6cedec1c);
3523 }
3524 #[repr(C)]
3525 #[doc(hidden)]
3526 pub struct ISourceSuspensionChangedEventArgs_Vtbl {
3527 pub base__: ::windows::core::IInspectable_Vtbl,
3528 pub IsAudioSuspended: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
3529 pub IsVideoSuspended: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut bool) -> ::windows::core::HRESULT,
3530 }
3531 #[doc(hidden)]
3532 #[repr(transparent)]
3533 pub struct IVideoStreamConfiguration(::windows::core::IUnknown);
3534 unsafe impl ::windows::core::Interface for IVideoStreamConfiguration {
3535 type Vtable = IVideoStreamConfiguration_Vtbl;
3536 }
3537 impl ::core::clone::Clone for IVideoStreamConfiguration {
3538 fn clone(&self) -> Self {
3539 Self(self.0.clone())
3540 }
3541 }
3542 unsafe impl ::windows::core::ComInterface for IVideoStreamConfiguration {
3543 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd8770a6f_4390_4b5e_ad3e_0f8af0963490);
3544 }
3545 #[repr(C)]
3546 #[doc(hidden)]
3547 pub struct IVideoStreamConfiguration_Vtbl {
3548 pub base__: ::windows::core::IInspectable_Vtbl,
3549 #[cfg(feature = "Media_MediaProperties")]
3550 pub InputProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3551 #[cfg(not(feature = "Media_MediaProperties"))]
3552 InputProperties: usize,
3553 #[cfg(feature = "Media_MediaProperties")]
3554 pub OutputProperties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3555 #[cfg(not(feature = "Media_MediaProperties"))]
3556 OutputProperties: usize,
3557 }
3558 #[doc = "*Required features: `\"Media_Capture\"`*"]
3559 #[repr(transparent)]
3560 pub struct AdvancedCapturedPhoto(::windows::core::IUnknown);
3561 impl AdvancedCapturedPhoto {
3562 pub fn Frame(&self) -> ::windows::core::Result<CapturedFrame> {
3563 let this = self;
3564 unsafe {
3565 let mut result__ = ::windows::core::zeroed::<CapturedFrame>();
3566 (::windows::core::Interface::vtable(this).Frame)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3567 }
3568 }
3569 #[doc = "*Required features: `\"Media_Devices\"`*"]
3570 #[cfg(feature = "Media_Devices")]
3571 pub fn Mode(&self) -> ::windows::core::Result<super::Devices::AdvancedPhotoMode> {
3572 let this = self;
3573 unsafe {
3574 let mut result__ = ::windows::core::zeroed::<super::Devices::AdvancedPhotoMode>();
3575 (::windows::core::Interface::vtable(this).Mode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3576 }
3577 }
3578 pub fn Context(&self) -> ::windows::core::Result<::windows::core::IInspectable> {
3579 let this = self;
3580 unsafe {
3581 let mut result__ = ::windows::core::zeroed::<::windows::core::IInspectable>();
3582 (::windows::core::Interface::vtable(this).Context)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3583 }
3584 }
3585 #[doc = "*Required features: `\"Foundation\"`*"]
3586 #[cfg(feature = "Foundation")]
3587 pub fn FrameBoundsRelativeToReferencePhoto(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::super::Foundation::Rect>> {
3588 let this = &::windows::core::ComInterface::cast::<IAdvancedCapturedPhoto2>(self)?;
3589 unsafe {
3590 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::super::Foundation::Rect>>();
3591 (::windows::core::Interface::vtable(this).FrameBoundsRelativeToReferencePhoto)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3592 }
3593 }
3594 }
3595 impl ::core::cmp::PartialEq for AdvancedCapturedPhoto {
3596 fn eq(&self, other: &Self) -> bool {
3597 self.0 == other.0
3598 }
3599 }
3600 impl ::core::cmp::Eq for AdvancedCapturedPhoto {}
3601 impl ::core::fmt::Debug for AdvancedCapturedPhoto {
3602 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3603 f.debug_tuple("AdvancedCapturedPhoto").field(&self.0).finish()
3604 }
3605 }
3606 impl ::windows::core::RuntimeType for AdvancedCapturedPhoto {
3607 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AdvancedCapturedPhoto;{f072728b-b292-4491-9d41-99807a550bbf})");
3608 }
3609 impl ::core::clone::Clone for AdvancedCapturedPhoto {
3610 fn clone(&self) -> Self {
3611 Self(self.0.clone())
3612 }
3613 }
3614 unsafe impl ::windows::core::Interface for AdvancedCapturedPhoto {
3615 type Vtable = IAdvancedCapturedPhoto_Vtbl;
3616 }
3617 unsafe impl ::windows::core::ComInterface for AdvancedCapturedPhoto {
3618 const IID: ::windows::core::GUID = <IAdvancedCapturedPhoto as ::windows::core::ComInterface>::IID;
3619 }
3620 impl ::windows::core::RuntimeName for AdvancedCapturedPhoto {
3621 const NAME: &'static str = "Windows.Media.Capture.AdvancedCapturedPhoto";
3622 }
3623 ::windows::imp::interface_hierarchy!(AdvancedCapturedPhoto, ::windows::core::IUnknown, ::windows::core::IInspectable);
3624 unsafe impl ::core::marker::Send for AdvancedCapturedPhoto {}
3625 unsafe impl ::core::marker::Sync for AdvancedCapturedPhoto {}
3626 #[doc = "*Required features: `\"Media_Capture\"`*"]
3627 #[repr(transparent)]
3628 pub struct AdvancedPhotoCapture(::windows::core::IUnknown);
3629 impl AdvancedPhotoCapture {
3630 #[doc = "*Required features: `\"Foundation\"`*"]
3631 #[cfg(feature = "Foundation")]
3632 pub fn CaptureAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<AdvancedCapturedPhoto>> {
3633 let this = self;
3634 unsafe {
3635 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<AdvancedCapturedPhoto>>();
3636 (::windows::core::Interface::vtable(this).CaptureAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3637 }
3638 }
3639 #[doc = "*Required features: `\"Foundation\"`*"]
3640 #[cfg(feature = "Foundation")]
3641 pub fn CaptureWithContextAsync<P0>(&self, context: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<AdvancedCapturedPhoto>>
3642 where
3643 P0: ::windows::core::IntoParam<::windows::core::IInspectable>,
3644 {
3645 let this = self;
3646 unsafe {
3647 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<AdvancedCapturedPhoto>>();
3648 (::windows::core::Interface::vtable(this).CaptureWithContextAsync)(::windows::core::Interface::as_raw(this), context.into_param().abi(), &mut result__).from_abi(result__)
3649 }
3650 }
3651 #[doc = "*Required features: `\"Foundation\"`*"]
3652 #[cfg(feature = "Foundation")]
3653 pub fn OptionalReferencePhotoCaptured(&self, handler: &super::super::Foundation::TypedEventHandler<AdvancedPhotoCapture, OptionalReferencePhotoCapturedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
3654 let this = self;
3655 unsafe {
3656 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
3657 (::windows::core::Interface::vtable(this).OptionalReferencePhotoCaptured)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
3658 }
3659 }
3660 #[doc = "*Required features: `\"Foundation\"`*"]
3661 #[cfg(feature = "Foundation")]
3662 pub fn RemoveOptionalReferencePhotoCaptured(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
3663 let this = self;
3664 unsafe { (::windows::core::Interface::vtable(this).RemoveOptionalReferencePhotoCaptured)(::windows::core::Interface::as_raw(this), token).ok() }
3665 }
3666 #[doc = "*Required features: `\"Foundation\"`*"]
3667 #[cfg(feature = "Foundation")]
3668 pub fn AllPhotosCaptured(&self, handler: &super::super::Foundation::TypedEventHandler<AdvancedPhotoCapture, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
3669 let this = self;
3670 unsafe {
3671 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
3672 (::windows::core::Interface::vtable(this).AllPhotosCaptured)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
3673 }
3674 }
3675 #[doc = "*Required features: `\"Foundation\"`*"]
3676 #[cfg(feature = "Foundation")]
3677 pub fn RemoveAllPhotosCaptured(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
3678 let this = self;
3679 unsafe { (::windows::core::Interface::vtable(this).RemoveAllPhotosCaptured)(::windows::core::Interface::as_raw(this), token).ok() }
3680 }
3681 #[doc = "*Required features: `\"Foundation\"`*"]
3682 #[cfg(feature = "Foundation")]
3683 pub fn FinishAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
3684 let this = self;
3685 unsafe {
3686 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
3687 (::windows::core::Interface::vtable(this).FinishAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3688 }
3689 }
3690 }
3691 impl ::core::cmp::PartialEq for AdvancedPhotoCapture {
3692 fn eq(&self, other: &Self) -> bool {
3693 self.0 == other.0
3694 }
3695 }
3696 impl ::core::cmp::Eq for AdvancedPhotoCapture {}
3697 impl ::core::fmt::Debug for AdvancedPhotoCapture {
3698 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3699 f.debug_tuple("AdvancedPhotoCapture").field(&self.0).finish()
3700 }
3701 }
3702 impl ::windows::core::RuntimeType for AdvancedPhotoCapture {
3703 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AdvancedPhotoCapture;{83ffaafa-6667-44dc-973c-a6bce596aa0f})");
3704 }
3705 impl ::core::clone::Clone for AdvancedPhotoCapture {
3706 fn clone(&self) -> Self {
3707 Self(self.0.clone())
3708 }
3709 }
3710 unsafe impl ::windows::core::Interface for AdvancedPhotoCapture {
3711 type Vtable = IAdvancedPhotoCapture_Vtbl;
3712 }
3713 unsafe impl ::windows::core::ComInterface for AdvancedPhotoCapture {
3714 const IID: ::windows::core::GUID = <IAdvancedPhotoCapture as ::windows::core::ComInterface>::IID;
3715 }
3716 impl ::windows::core::RuntimeName for AdvancedPhotoCapture {
3717 const NAME: &'static str = "Windows.Media.Capture.AdvancedPhotoCapture";
3718 }
3719 ::windows::imp::interface_hierarchy!(AdvancedPhotoCapture, ::windows::core::IUnknown, ::windows::core::IInspectable);
3720 unsafe impl ::core::marker::Send for AdvancedPhotoCapture {}
3721 unsafe impl ::core::marker::Sync for AdvancedPhotoCapture {}
3722 #[doc = "*Required features: `\"Media_Capture\"`*"]
3723 #[repr(transparent)]
3724 pub struct AppBroadcastBackgroundService(::windows::core::IUnknown);
3725 impl AppBroadcastBackgroundService {
3726 pub fn SetPlugInState(&self, value: AppBroadcastPlugInState) -> ::windows::core::Result<()> {
3727 let this = self;
3728 unsafe { (::windows::core::Interface::vtable(this).SetPlugInState)(::windows::core::Interface::as_raw(this), value).ok() }
3729 }
3730 pub fn PlugInState(&self) -> ::windows::core::Result<AppBroadcastPlugInState> {
3731 let this = self;
3732 unsafe {
3733 let mut result__ = ::windows::core::zeroed::<AppBroadcastPlugInState>();
3734 (::windows::core::Interface::vtable(this).PlugInState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3735 }
3736 }
3737 pub fn SetSignInInfo(&self, value: &AppBroadcastBackgroundServiceSignInInfo) -> ::windows::core::Result<()> {
3738 let this = self;
3739 unsafe { (::windows::core::Interface::vtable(this).SetSignInInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
3740 }
3741 pub fn SignInInfo(&self) -> ::windows::core::Result<AppBroadcastBackgroundServiceSignInInfo> {
3742 let this = self;
3743 unsafe {
3744 let mut result__ = ::windows::core::zeroed::<AppBroadcastBackgroundServiceSignInInfo>();
3745 (::windows::core::Interface::vtable(this).SignInInfo)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3746 }
3747 }
3748 pub fn SetStreamInfo(&self, value: &AppBroadcastBackgroundServiceStreamInfo) -> ::windows::core::Result<()> {
3749 let this = self;
3750 unsafe { (::windows::core::Interface::vtable(this).SetStreamInfo)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
3751 }
3752 pub fn StreamInfo(&self) -> ::windows::core::Result<AppBroadcastBackgroundServiceStreamInfo> {
3753 let this = self;
3754 unsafe {
3755 let mut result__ = ::windows::core::zeroed::<AppBroadcastBackgroundServiceStreamInfo>();
3756 (::windows::core::Interface::vtable(this).StreamInfo)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3757 }
3758 }
3759 pub fn AppId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
3760 let this = self;
3761 unsafe {
3762 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
3763 (::windows::core::Interface::vtable(this).AppId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3764 }
3765 }
3766 pub fn BroadcastTitle(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
3767 let this = self;
3768 unsafe {
3769 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
3770 (::windows::core::Interface::vtable(this).BroadcastTitle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3771 }
3772 }
3773 pub fn SetViewerCount(&self, value: u32) -> ::windows::core::Result<()> {
3774 let this = self;
3775 unsafe { (::windows::core::Interface::vtable(this).SetViewerCount)(::windows::core::Interface::as_raw(this), value).ok() }
3776 }
3777 pub fn ViewerCount(&self) -> ::windows::core::Result<u32> {
3778 let this = self;
3779 unsafe {
3780 let mut result__ = ::windows::core::zeroed::<u32>();
3781 (::windows::core::Interface::vtable(this).ViewerCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3782 }
3783 }
3784 pub fn TerminateBroadcast(&self, reason: AppBroadcastTerminationReason, providerspecificreason: u32) -> ::windows::core::Result<()> {
3785 let this = self;
3786 unsafe { (::windows::core::Interface::vtable(this).TerminateBroadcast)(::windows::core::Interface::as_raw(this), reason, providerspecificreason).ok() }
3787 }
3788 #[doc = "*Required features: `\"Foundation\"`*"]
3789 #[cfg(feature = "Foundation")]
3790 pub fn HeartbeatRequested(&self, handler: &super::super::Foundation::TypedEventHandler<AppBroadcastBackgroundService, AppBroadcastHeartbeatRequestedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
3791 let this = self;
3792 unsafe {
3793 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
3794 (::windows::core::Interface::vtable(this).HeartbeatRequested)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
3795 }
3796 }
3797 #[doc = "*Required features: `\"Foundation\"`*"]
3798 #[cfg(feature = "Foundation")]
3799 pub fn RemoveHeartbeatRequested(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
3800 let this = self;
3801 unsafe { (::windows::core::Interface::vtable(this).RemoveHeartbeatRequested)(::windows::core::Interface::as_raw(this), token).ok() }
3802 }
3803 pub fn TitleId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
3804 let this = self;
3805 unsafe {
3806 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
3807 (::windows::core::Interface::vtable(this).TitleId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3808 }
3809 }
3810 pub fn SetBroadcastTitle(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
3811 let this = &::windows::core::ComInterface::cast::<IAppBroadcastBackgroundService2>(self)?;
3812 unsafe { (::windows::core::Interface::vtable(this).SetBroadcastTitle)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
3813 }
3814 pub fn BroadcastLanguage(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
3815 let this = &::windows::core::ComInterface::cast::<IAppBroadcastBackgroundService2>(self)?;
3816 unsafe {
3817 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
3818 (::windows::core::Interface::vtable(this).BroadcastLanguage)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3819 }
3820 }
3821 pub fn SetBroadcastLanguage(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
3822 let this = &::windows::core::ComInterface::cast::<IAppBroadcastBackgroundService2>(self)?;
3823 unsafe { (::windows::core::Interface::vtable(this).SetBroadcastLanguage)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
3824 }
3825 pub fn BroadcastChannel(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
3826 let this = &::windows::core::ComInterface::cast::<IAppBroadcastBackgroundService2>(self)?;
3827 unsafe {
3828 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
3829 (::windows::core::Interface::vtable(this).BroadcastChannel)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3830 }
3831 }
3832 pub fn SetBroadcastChannel(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
3833 let this = &::windows::core::ComInterface::cast::<IAppBroadcastBackgroundService2>(self)?;
3834 unsafe { (::windows::core::Interface::vtable(this).SetBroadcastChannel)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
3835 }
3836 #[doc = "*Required features: `\"Foundation\"`*"]
3837 #[cfg(feature = "Foundation")]
3838 pub fn BroadcastTitleChanged(&self, handler: &super::super::Foundation::TypedEventHandler<AppBroadcastBackgroundService, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
3839 let this = &::windows::core::ComInterface::cast::<IAppBroadcastBackgroundService2>(self)?;
3840 unsafe {
3841 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
3842 (::windows::core::Interface::vtable(this).BroadcastTitleChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
3843 }
3844 }
3845 #[doc = "*Required features: `\"Foundation\"`*"]
3846 #[cfg(feature = "Foundation")]
3847 pub fn RemoveBroadcastTitleChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
3848 let this = &::windows::core::ComInterface::cast::<IAppBroadcastBackgroundService2>(self)?;
3849 unsafe { (::windows::core::Interface::vtable(this).RemoveBroadcastTitleChanged)(::windows::core::Interface::as_raw(this), token).ok() }
3850 }
3851 #[doc = "*Required features: `\"Foundation\"`*"]
3852 #[cfg(feature = "Foundation")]
3853 pub fn BroadcastLanguageChanged(&self, handler: &super::super::Foundation::TypedEventHandler<AppBroadcastBackgroundService, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
3854 let this = &::windows::core::ComInterface::cast::<IAppBroadcastBackgroundService2>(self)?;
3855 unsafe {
3856 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
3857 (::windows::core::Interface::vtable(this).BroadcastLanguageChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
3858 }
3859 }
3860 #[doc = "*Required features: `\"Foundation\"`*"]
3861 #[cfg(feature = "Foundation")]
3862 pub fn RemoveBroadcastLanguageChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
3863 let this = &::windows::core::ComInterface::cast::<IAppBroadcastBackgroundService2>(self)?;
3864 unsafe { (::windows::core::Interface::vtable(this).RemoveBroadcastLanguageChanged)(::windows::core::Interface::as_raw(this), token).ok() }
3865 }
3866 #[doc = "*Required features: `\"Foundation\"`*"]
3867 #[cfg(feature = "Foundation")]
3868 pub fn BroadcastChannelChanged(&self, handler: &super::super::Foundation::TypedEventHandler<AppBroadcastBackgroundService, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
3869 let this = &::windows::core::ComInterface::cast::<IAppBroadcastBackgroundService2>(self)?;
3870 unsafe {
3871 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
3872 (::windows::core::Interface::vtable(this).BroadcastChannelChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
3873 }
3874 }
3875 #[doc = "*Required features: `\"Foundation\"`*"]
3876 #[cfg(feature = "Foundation")]
3877 pub fn RemoveBroadcastChannelChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
3878 let this = &::windows::core::ComInterface::cast::<IAppBroadcastBackgroundService2>(self)?;
3879 unsafe { (::windows::core::Interface::vtable(this).RemoveBroadcastChannelChanged)(::windows::core::Interface::as_raw(this), token).ok() }
3880 }
3881 }
3882 impl ::core::cmp::PartialEq for AppBroadcastBackgroundService {
3883 fn eq(&self, other: &Self) -> bool {
3884 self.0 == other.0
3885 }
3886 }
3887 impl ::core::cmp::Eq for AppBroadcastBackgroundService {}
3888 impl ::core::fmt::Debug for AppBroadcastBackgroundService {
3889 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3890 f.debug_tuple("AppBroadcastBackgroundService").field(&self.0).finish()
3891 }
3892 }
3893 impl ::windows::core::RuntimeType for AppBroadcastBackgroundService {
3894 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastBackgroundService;{bad1e72a-fa94-46f9-95fc-d71511cda70b})");
3895 }
3896 impl ::core::clone::Clone for AppBroadcastBackgroundService {
3897 fn clone(&self) -> Self {
3898 Self(self.0.clone())
3899 }
3900 }
3901 unsafe impl ::windows::core::Interface for AppBroadcastBackgroundService {
3902 type Vtable = IAppBroadcastBackgroundService_Vtbl;
3903 }
3904 unsafe impl ::windows::core::ComInterface for AppBroadcastBackgroundService {
3905 const IID: ::windows::core::GUID = <IAppBroadcastBackgroundService as ::windows::core::ComInterface>::IID;
3906 }
3907 impl ::windows::core::RuntimeName for AppBroadcastBackgroundService {
3908 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastBackgroundService";
3909 }
3910 ::windows::imp::interface_hierarchy!(AppBroadcastBackgroundService, ::windows::core::IUnknown, ::windows::core::IInspectable);
3911 #[doc = "*Required features: `\"Media_Capture\"`*"]
3912 #[repr(transparent)]
3913 pub struct AppBroadcastBackgroundServiceSignInInfo(::windows::core::IUnknown);
3914 impl AppBroadcastBackgroundServiceSignInInfo {
3915 pub fn SignInState(&self) -> ::windows::core::Result<AppBroadcastSignInState> {
3916 let this = self;
3917 unsafe {
3918 let mut result__ = ::windows::core::zeroed::<AppBroadcastSignInState>();
3919 (::windows::core::Interface::vtable(this).SignInState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3920 }
3921 }
3922 #[doc = "*Required features: `\"Foundation\"`*"]
3923 #[cfg(feature = "Foundation")]
3924 pub fn SetOAuthRequestUri(&self, value: &super::super::Foundation::Uri) -> ::windows::core::Result<()> {
3925 let this = self;
3926 unsafe { (::windows::core::Interface::vtable(this).SetOAuthRequestUri)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
3927 }
3928 #[doc = "*Required features: `\"Foundation\"`*"]
3929 #[cfg(feature = "Foundation")]
3930 pub fn OAuthRequestUri(&self) -> ::windows::core::Result<super::super::Foundation::Uri> {
3931 let this = self;
3932 unsafe {
3933 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Uri>();
3934 (::windows::core::Interface::vtable(this).OAuthRequestUri)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3935 }
3936 }
3937 #[doc = "*Required features: `\"Foundation\"`*"]
3938 #[cfg(feature = "Foundation")]
3939 pub fn SetOAuthCallbackUri(&self, value: &super::super::Foundation::Uri) -> ::windows::core::Result<()> {
3940 let this = self;
3941 unsafe { (::windows::core::Interface::vtable(this).SetOAuthCallbackUri)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
3942 }
3943 #[doc = "*Required features: `\"Foundation\"`*"]
3944 #[cfg(feature = "Foundation")]
3945 pub fn OAuthCallbackUri(&self) -> ::windows::core::Result<super::super::Foundation::Uri> {
3946 let this = self;
3947 unsafe {
3948 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Uri>();
3949 (::windows::core::Interface::vtable(this).OAuthCallbackUri)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3950 }
3951 }
3952 #[doc = "*Required features: `\"Security_Authentication_Web\"`*"]
3953 #[cfg(feature = "Security_Authentication_Web")]
3954 pub fn AuthenticationResult(&self) -> ::windows::core::Result<super::super::Security::Authentication::Web::WebAuthenticationResult> {
3955 let this = self;
3956 unsafe {
3957 let mut result__ = ::windows::core::zeroed::<super::super::Security::Authentication::Web::WebAuthenticationResult>();
3958 (::windows::core::Interface::vtable(this).AuthenticationResult)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3959 }
3960 }
3961 pub fn SetUserName(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
3962 let this = self;
3963 unsafe { (::windows::core::Interface::vtable(this).SetUserName)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
3964 }
3965 pub fn UserName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
3966 let this = self;
3967 unsafe {
3968 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
3969 (::windows::core::Interface::vtable(this).UserName)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
3970 }
3971 }
3972 #[doc = "*Required features: `\"Foundation\"`*"]
3973 #[cfg(feature = "Foundation")]
3974 pub fn SignInStateChanged(&self, handler: &super::super::Foundation::TypedEventHandler<AppBroadcastBackgroundServiceSignInInfo, AppBroadcastSignInStateChangedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
3975 let this = self;
3976 unsafe {
3977 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
3978 (::windows::core::Interface::vtable(this).SignInStateChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
3979 }
3980 }
3981 #[doc = "*Required features: `\"Foundation\"`*"]
3982 #[cfg(feature = "Foundation")]
3983 pub fn RemoveSignInStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
3984 let this = self;
3985 unsafe { (::windows::core::Interface::vtable(this).RemoveSignInStateChanged)(::windows::core::Interface::as_raw(this), token).ok() }
3986 }
3987 #[doc = "*Required features: `\"Foundation\"`*"]
3988 #[cfg(feature = "Foundation")]
3989 pub fn UserNameChanged(&self, handler: &super::super::Foundation::TypedEventHandler<AppBroadcastBackgroundServiceSignInInfo, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
3990 let this = &::windows::core::ComInterface::cast::<IAppBroadcastBackgroundServiceSignInInfo2>(self)?;
3991 unsafe {
3992 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
3993 (::windows::core::Interface::vtable(this).UserNameChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
3994 }
3995 }
3996 #[doc = "*Required features: `\"Foundation\"`*"]
3997 #[cfg(feature = "Foundation")]
3998 pub fn RemoveUserNameChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
3999 let this = &::windows::core::ComInterface::cast::<IAppBroadcastBackgroundServiceSignInInfo2>(self)?;
4000 unsafe { (::windows::core::Interface::vtable(this).RemoveUserNameChanged)(::windows::core::Interface::as_raw(this), token).ok() }
4001 }
4002 }
4003 impl ::core::cmp::PartialEq for AppBroadcastBackgroundServiceSignInInfo {
4004 fn eq(&self, other: &Self) -> bool {
4005 self.0 == other.0
4006 }
4007 }
4008 impl ::core::cmp::Eq for AppBroadcastBackgroundServiceSignInInfo {}
4009 impl ::core::fmt::Debug for AppBroadcastBackgroundServiceSignInInfo {
4010 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4011 f.debug_tuple("AppBroadcastBackgroundServiceSignInInfo").field(&self.0).finish()
4012 }
4013 }
4014 impl ::windows::core::RuntimeType for AppBroadcastBackgroundServiceSignInInfo {
4015 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastBackgroundServiceSignInInfo;{5e735275-88c8-4eca-89ba-4825985db880})");
4016 }
4017 impl ::core::clone::Clone for AppBroadcastBackgroundServiceSignInInfo {
4018 fn clone(&self) -> Self {
4019 Self(self.0.clone())
4020 }
4021 }
4022 unsafe impl ::windows::core::Interface for AppBroadcastBackgroundServiceSignInInfo {
4023 type Vtable = IAppBroadcastBackgroundServiceSignInInfo_Vtbl;
4024 }
4025 unsafe impl ::windows::core::ComInterface for AppBroadcastBackgroundServiceSignInInfo {
4026 const IID: ::windows::core::GUID = <IAppBroadcastBackgroundServiceSignInInfo as ::windows::core::ComInterface>::IID;
4027 }
4028 impl ::windows::core::RuntimeName for AppBroadcastBackgroundServiceSignInInfo {
4029 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastBackgroundServiceSignInInfo";
4030 }
4031 ::windows::imp::interface_hierarchy!(AppBroadcastBackgroundServiceSignInInfo, ::windows::core::IUnknown, ::windows::core::IInspectable);
4032 #[doc = "*Required features: `\"Media_Capture\"`*"]
4033 #[repr(transparent)]
4034 pub struct AppBroadcastBackgroundServiceStreamInfo(::windows::core::IUnknown);
4035 impl AppBroadcastBackgroundServiceStreamInfo {
4036 pub fn StreamState(&self) -> ::windows::core::Result<AppBroadcastStreamState> {
4037 let this = self;
4038 unsafe {
4039 let mut result__ = ::windows::core::zeroed::<AppBroadcastStreamState>();
4040 (::windows::core::Interface::vtable(this).StreamState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4041 }
4042 }
4043 pub fn SetDesiredVideoEncodingBitrate(&self, value: u64) -> ::windows::core::Result<()> {
4044 let this = self;
4045 unsafe { (::windows::core::Interface::vtable(this).SetDesiredVideoEncodingBitrate)(::windows::core::Interface::as_raw(this), value).ok() }
4046 }
4047 pub fn DesiredVideoEncodingBitrate(&self) -> ::windows::core::Result<u64> {
4048 let this = self;
4049 unsafe {
4050 let mut result__ = ::windows::core::zeroed::<u64>();
4051 (::windows::core::Interface::vtable(this).DesiredVideoEncodingBitrate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4052 }
4053 }
4054 pub fn SetBandwidthTestBitrate(&self, value: u64) -> ::windows::core::Result<()> {
4055 let this = self;
4056 unsafe { (::windows::core::Interface::vtable(this).SetBandwidthTestBitrate)(::windows::core::Interface::as_raw(this), value).ok() }
4057 }
4058 pub fn BandwidthTestBitrate(&self) -> ::windows::core::Result<u64> {
4059 let this = self;
4060 unsafe {
4061 let mut result__ = ::windows::core::zeroed::<u64>();
4062 (::windows::core::Interface::vtable(this).BandwidthTestBitrate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4063 }
4064 }
4065 pub fn SetAudioCodec(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
4066 let this = self;
4067 unsafe { (::windows::core::Interface::vtable(this).SetAudioCodec)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
4068 }
4069 pub fn AudioCodec(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
4070 let this = self;
4071 unsafe {
4072 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
4073 (::windows::core::Interface::vtable(this).AudioCodec)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4074 }
4075 }
4076 pub fn BroadcastStreamReader(&self) -> ::windows::core::Result<AppBroadcastStreamReader> {
4077 let this = self;
4078 unsafe {
4079 let mut result__ = ::windows::core::zeroed::<AppBroadcastStreamReader>();
4080 (::windows::core::Interface::vtable(this).BroadcastStreamReader)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4081 }
4082 }
4083 #[doc = "*Required features: `\"Foundation\"`*"]
4084 #[cfg(feature = "Foundation")]
4085 pub fn StreamStateChanged(&self, handler: &super::super::Foundation::TypedEventHandler<AppBroadcastBackgroundServiceStreamInfo, AppBroadcastStreamStateChangedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
4086 let this = self;
4087 unsafe {
4088 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
4089 (::windows::core::Interface::vtable(this).StreamStateChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
4090 }
4091 }
4092 #[doc = "*Required features: `\"Foundation\"`*"]
4093 #[cfg(feature = "Foundation")]
4094 pub fn RemoveStreamStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
4095 let this = self;
4096 unsafe { (::windows::core::Interface::vtable(this).RemoveStreamStateChanged)(::windows::core::Interface::as_raw(this), token).ok() }
4097 }
4098 #[doc = "*Required features: `\"Foundation\"`*"]
4099 #[cfg(feature = "Foundation")]
4100 pub fn VideoEncodingResolutionChanged(&self, handler: &super::super::Foundation::TypedEventHandler<AppBroadcastBackgroundServiceStreamInfo, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
4101 let this = self;
4102 unsafe {
4103 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
4104 (::windows::core::Interface::vtable(this).VideoEncodingResolutionChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
4105 }
4106 }
4107 #[doc = "*Required features: `\"Foundation\"`*"]
4108 #[cfg(feature = "Foundation")]
4109 pub fn RemoveVideoEncodingResolutionChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
4110 let this = self;
4111 unsafe { (::windows::core::Interface::vtable(this).RemoveVideoEncodingResolutionChanged)(::windows::core::Interface::as_raw(this), token).ok() }
4112 }
4113 #[doc = "*Required features: `\"Foundation\"`*"]
4114 #[cfg(feature = "Foundation")]
4115 pub fn VideoEncodingBitrateChanged(&self, handler: &super::super::Foundation::TypedEventHandler<AppBroadcastBackgroundServiceStreamInfo, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
4116 let this = self;
4117 unsafe {
4118 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
4119 (::windows::core::Interface::vtable(this).VideoEncodingBitrateChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
4120 }
4121 }
4122 #[doc = "*Required features: `\"Foundation\"`*"]
4123 #[cfg(feature = "Foundation")]
4124 pub fn RemoveVideoEncodingBitrateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
4125 let this = self;
4126 unsafe { (::windows::core::Interface::vtable(this).RemoveVideoEncodingBitrateChanged)(::windows::core::Interface::as_raw(this), token).ok() }
4127 }
4128 pub fn ReportProblemWithStream(&self) -> ::windows::core::Result<()> {
4129 let this = &::windows::core::ComInterface::cast::<IAppBroadcastBackgroundServiceStreamInfo2>(self)?;
4130 unsafe { (::windows::core::Interface::vtable(this).ReportProblemWithStream)(::windows::core::Interface::as_raw(this)).ok() }
4131 }
4132 }
4133 impl ::core::cmp::PartialEq for AppBroadcastBackgroundServiceStreamInfo {
4134 fn eq(&self, other: &Self) -> bool {
4135 self.0 == other.0
4136 }
4137 }
4138 impl ::core::cmp::Eq for AppBroadcastBackgroundServiceStreamInfo {}
4139 impl ::core::fmt::Debug for AppBroadcastBackgroundServiceStreamInfo {
4140 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4141 f.debug_tuple("AppBroadcastBackgroundServiceStreamInfo").field(&self.0).finish()
4142 }
4143 }
4144 impl ::windows::core::RuntimeType for AppBroadcastBackgroundServiceStreamInfo {
4145 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastBackgroundServiceStreamInfo;{31dc02bc-990a-4904-aa96-fe364381f136})");
4146 }
4147 impl ::core::clone::Clone for AppBroadcastBackgroundServiceStreamInfo {
4148 fn clone(&self) -> Self {
4149 Self(self.0.clone())
4150 }
4151 }
4152 unsafe impl ::windows::core::Interface for AppBroadcastBackgroundServiceStreamInfo {
4153 type Vtable = IAppBroadcastBackgroundServiceStreamInfo_Vtbl;
4154 }
4155 unsafe impl ::windows::core::ComInterface for AppBroadcastBackgroundServiceStreamInfo {
4156 const IID: ::windows::core::GUID = <IAppBroadcastBackgroundServiceStreamInfo as ::windows::core::ComInterface>::IID;
4157 }
4158 impl ::windows::core::RuntimeName for AppBroadcastBackgroundServiceStreamInfo {
4159 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastBackgroundServiceStreamInfo";
4160 }
4161 ::windows::imp::interface_hierarchy!(AppBroadcastBackgroundServiceStreamInfo, ::windows::core::IUnknown, ::windows::core::IInspectable);
4162 #[doc = "*Required features: `\"Media_Capture\"`*"]
4163 #[repr(transparent)]
4164 pub struct AppBroadcastCameraCaptureStateChangedEventArgs(::windows::core::IUnknown);
4165 impl AppBroadcastCameraCaptureStateChangedEventArgs {
4166 pub fn State(&self) -> ::windows::core::Result<AppBroadcastCameraCaptureState> {
4167 let this = self;
4168 unsafe {
4169 let mut result__ = ::windows::core::zeroed::<AppBroadcastCameraCaptureState>();
4170 (::windows::core::Interface::vtable(this).State)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4171 }
4172 }
4173 pub fn ErrorCode(&self) -> ::windows::core::Result<u32> {
4174 let this = self;
4175 unsafe {
4176 let mut result__ = ::windows::core::zeroed::<u32>();
4177 (::windows::core::Interface::vtable(this).ErrorCode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4178 }
4179 }
4180 }
4181 impl ::core::cmp::PartialEq for AppBroadcastCameraCaptureStateChangedEventArgs {
4182 fn eq(&self, other: &Self) -> bool {
4183 self.0 == other.0
4184 }
4185 }
4186 impl ::core::cmp::Eq for AppBroadcastCameraCaptureStateChangedEventArgs {}
4187 impl ::core::fmt::Debug for AppBroadcastCameraCaptureStateChangedEventArgs {
4188 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4189 f.debug_tuple("AppBroadcastCameraCaptureStateChangedEventArgs").field(&self.0).finish()
4190 }
4191 }
4192 impl ::windows::core::RuntimeType for AppBroadcastCameraCaptureStateChangedEventArgs {
4193 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastCameraCaptureStateChangedEventArgs;{1e334cd0-b882-4b88-8692-05999aceb70f})");
4194 }
4195 impl ::core::clone::Clone for AppBroadcastCameraCaptureStateChangedEventArgs {
4196 fn clone(&self) -> Self {
4197 Self(self.0.clone())
4198 }
4199 }
4200 unsafe impl ::windows::core::Interface for AppBroadcastCameraCaptureStateChangedEventArgs {
4201 type Vtable = IAppBroadcastCameraCaptureStateChangedEventArgs_Vtbl;
4202 }
4203 unsafe impl ::windows::core::ComInterface for AppBroadcastCameraCaptureStateChangedEventArgs {
4204 const IID: ::windows::core::GUID = <IAppBroadcastCameraCaptureStateChangedEventArgs as ::windows::core::ComInterface>::IID;
4205 }
4206 impl ::windows::core::RuntimeName for AppBroadcastCameraCaptureStateChangedEventArgs {
4207 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastCameraCaptureStateChangedEventArgs";
4208 }
4209 ::windows::imp::interface_hierarchy!(AppBroadcastCameraCaptureStateChangedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
4210 unsafe impl ::core::marker::Send for AppBroadcastCameraCaptureStateChangedEventArgs {}
4211 unsafe impl ::core::marker::Sync for AppBroadcastCameraCaptureStateChangedEventArgs {}
4212 #[doc = "*Required features: `\"Media_Capture\"`*"]
4213 #[repr(transparent)]
4214 pub struct AppBroadcastGlobalSettings(::windows::core::IUnknown);
4215 impl AppBroadcastGlobalSettings {
4216 pub fn IsBroadcastEnabled(&self) -> ::windows::core::Result<bool> {
4217 let this = self;
4218 unsafe {
4219 let mut result__ = ::windows::core::zeroed::<bool>();
4220 (::windows::core::Interface::vtable(this).IsBroadcastEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4221 }
4222 }
4223 pub fn IsDisabledByPolicy(&self) -> ::windows::core::Result<bool> {
4224 let this = self;
4225 unsafe {
4226 let mut result__ = ::windows::core::zeroed::<bool>();
4227 (::windows::core::Interface::vtable(this).IsDisabledByPolicy)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4228 }
4229 }
4230 pub fn IsGpuConstrained(&self) -> ::windows::core::Result<bool> {
4231 let this = self;
4232 unsafe {
4233 let mut result__ = ::windows::core::zeroed::<bool>();
4234 (::windows::core::Interface::vtable(this).IsGpuConstrained)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4235 }
4236 }
4237 pub fn HasHardwareEncoder(&self) -> ::windows::core::Result<bool> {
4238 let this = self;
4239 unsafe {
4240 let mut result__ = ::windows::core::zeroed::<bool>();
4241 (::windows::core::Interface::vtable(this).HasHardwareEncoder)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4242 }
4243 }
4244 pub fn SetIsAudioCaptureEnabled(&self, value: bool) -> ::windows::core::Result<()> {
4245 let this = self;
4246 unsafe { (::windows::core::Interface::vtable(this).SetIsAudioCaptureEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
4247 }
4248 pub fn IsAudioCaptureEnabled(&self) -> ::windows::core::Result<bool> {
4249 let this = self;
4250 unsafe {
4251 let mut result__ = ::windows::core::zeroed::<bool>();
4252 (::windows::core::Interface::vtable(this).IsAudioCaptureEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4253 }
4254 }
4255 pub fn SetIsMicrophoneCaptureEnabledByDefault(&self, value: bool) -> ::windows::core::Result<()> {
4256 let this = self;
4257 unsafe { (::windows::core::Interface::vtable(this).SetIsMicrophoneCaptureEnabledByDefault)(::windows::core::Interface::as_raw(this), value).ok() }
4258 }
4259 pub fn IsMicrophoneCaptureEnabledByDefault(&self) -> ::windows::core::Result<bool> {
4260 let this = self;
4261 unsafe {
4262 let mut result__ = ::windows::core::zeroed::<bool>();
4263 (::windows::core::Interface::vtable(this).IsMicrophoneCaptureEnabledByDefault)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4264 }
4265 }
4266 pub fn SetIsEchoCancellationEnabled(&self, value: bool) -> ::windows::core::Result<()> {
4267 let this = self;
4268 unsafe { (::windows::core::Interface::vtable(this).SetIsEchoCancellationEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
4269 }
4270 pub fn IsEchoCancellationEnabled(&self) -> ::windows::core::Result<bool> {
4271 let this = self;
4272 unsafe {
4273 let mut result__ = ::windows::core::zeroed::<bool>();
4274 (::windows::core::Interface::vtable(this).IsEchoCancellationEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4275 }
4276 }
4277 pub fn SetSystemAudioGain(&self, value: f64) -> ::windows::core::Result<()> {
4278 let this = self;
4279 unsafe { (::windows::core::Interface::vtable(this).SetSystemAudioGain)(::windows::core::Interface::as_raw(this), value).ok() }
4280 }
4281 pub fn SystemAudioGain(&self) -> ::windows::core::Result<f64> {
4282 let this = self;
4283 unsafe {
4284 let mut result__ = ::windows::core::zeroed::<f64>();
4285 (::windows::core::Interface::vtable(this).SystemAudioGain)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4286 }
4287 }
4288 pub fn SetMicrophoneGain(&self, value: f64) -> ::windows::core::Result<()> {
4289 let this = self;
4290 unsafe { (::windows::core::Interface::vtable(this).SetMicrophoneGain)(::windows::core::Interface::as_raw(this), value).ok() }
4291 }
4292 pub fn MicrophoneGain(&self) -> ::windows::core::Result<f64> {
4293 let this = self;
4294 unsafe {
4295 let mut result__ = ::windows::core::zeroed::<f64>();
4296 (::windows::core::Interface::vtable(this).MicrophoneGain)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4297 }
4298 }
4299 pub fn SetIsCameraCaptureEnabledByDefault(&self, value: bool) -> ::windows::core::Result<()> {
4300 let this = self;
4301 unsafe { (::windows::core::Interface::vtable(this).SetIsCameraCaptureEnabledByDefault)(::windows::core::Interface::as_raw(this), value).ok() }
4302 }
4303 pub fn IsCameraCaptureEnabledByDefault(&self) -> ::windows::core::Result<bool> {
4304 let this = self;
4305 unsafe {
4306 let mut result__ = ::windows::core::zeroed::<bool>();
4307 (::windows::core::Interface::vtable(this).IsCameraCaptureEnabledByDefault)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4308 }
4309 }
4310 pub fn SetSelectedCameraId(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
4311 let this = self;
4312 unsafe { (::windows::core::Interface::vtable(this).SetSelectedCameraId)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
4313 }
4314 pub fn SelectedCameraId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
4315 let this = self;
4316 unsafe {
4317 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
4318 (::windows::core::Interface::vtable(this).SelectedCameraId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4319 }
4320 }
4321 pub fn SetCameraOverlayLocation(&self, value: AppBroadcastCameraOverlayLocation) -> ::windows::core::Result<()> {
4322 let this = self;
4323 unsafe { (::windows::core::Interface::vtable(this).SetCameraOverlayLocation)(::windows::core::Interface::as_raw(this), value).ok() }
4324 }
4325 pub fn CameraOverlayLocation(&self) -> ::windows::core::Result<AppBroadcastCameraOverlayLocation> {
4326 let this = self;
4327 unsafe {
4328 let mut result__ = ::windows::core::zeroed::<AppBroadcastCameraOverlayLocation>();
4329 (::windows::core::Interface::vtable(this).CameraOverlayLocation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4330 }
4331 }
4332 pub fn SetCameraOverlaySize(&self, value: AppBroadcastCameraOverlaySize) -> ::windows::core::Result<()> {
4333 let this = self;
4334 unsafe { (::windows::core::Interface::vtable(this).SetCameraOverlaySize)(::windows::core::Interface::as_raw(this), value).ok() }
4335 }
4336 pub fn CameraOverlaySize(&self) -> ::windows::core::Result<AppBroadcastCameraOverlaySize> {
4337 let this = self;
4338 unsafe {
4339 let mut result__ = ::windows::core::zeroed::<AppBroadcastCameraOverlaySize>();
4340 (::windows::core::Interface::vtable(this).CameraOverlaySize)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4341 }
4342 }
4343 pub fn SetIsCursorImageCaptureEnabled(&self, value: bool) -> ::windows::core::Result<()> {
4344 let this = self;
4345 unsafe { (::windows::core::Interface::vtable(this).SetIsCursorImageCaptureEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
4346 }
4347 pub fn IsCursorImageCaptureEnabled(&self) -> ::windows::core::Result<bool> {
4348 let this = self;
4349 unsafe {
4350 let mut result__ = ::windows::core::zeroed::<bool>();
4351 (::windows::core::Interface::vtable(this).IsCursorImageCaptureEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4352 }
4353 }
4354 }
4355 impl ::core::cmp::PartialEq for AppBroadcastGlobalSettings {
4356 fn eq(&self, other: &Self) -> bool {
4357 self.0 == other.0
4358 }
4359 }
4360 impl ::core::cmp::Eq for AppBroadcastGlobalSettings {}
4361 impl ::core::fmt::Debug for AppBroadcastGlobalSettings {
4362 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4363 f.debug_tuple("AppBroadcastGlobalSettings").field(&self.0).finish()
4364 }
4365 }
4366 impl ::windows::core::RuntimeType for AppBroadcastGlobalSettings {
4367 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastGlobalSettings;{b2cb27a5-70fc-4e17-80bd-6ba0fd3ff3a0})");
4368 }
4369 impl ::core::clone::Clone for AppBroadcastGlobalSettings {
4370 fn clone(&self) -> Self {
4371 Self(self.0.clone())
4372 }
4373 }
4374 unsafe impl ::windows::core::Interface for AppBroadcastGlobalSettings {
4375 type Vtable = IAppBroadcastGlobalSettings_Vtbl;
4376 }
4377 unsafe impl ::windows::core::ComInterface for AppBroadcastGlobalSettings {
4378 const IID: ::windows::core::GUID = <IAppBroadcastGlobalSettings as ::windows::core::ComInterface>::IID;
4379 }
4380 impl ::windows::core::RuntimeName for AppBroadcastGlobalSettings {
4381 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastGlobalSettings";
4382 }
4383 ::windows::imp::interface_hierarchy!(AppBroadcastGlobalSettings, ::windows::core::IUnknown, ::windows::core::IInspectable);
4384 #[doc = "*Required features: `\"Media_Capture\"`*"]
4385 #[repr(transparent)]
4386 pub struct AppBroadcastHeartbeatRequestedEventArgs(::windows::core::IUnknown);
4387 impl AppBroadcastHeartbeatRequestedEventArgs {
4388 pub fn SetHandled(&self, value: bool) -> ::windows::core::Result<()> {
4389 let this = self;
4390 unsafe { (::windows::core::Interface::vtable(this).SetHandled)(::windows::core::Interface::as_raw(this), value).ok() }
4391 }
4392 pub fn Handled(&self) -> ::windows::core::Result<bool> {
4393 let this = self;
4394 unsafe {
4395 let mut result__ = ::windows::core::zeroed::<bool>();
4396 (::windows::core::Interface::vtable(this).Handled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4397 }
4398 }
4399 }
4400 impl ::core::cmp::PartialEq for AppBroadcastHeartbeatRequestedEventArgs {
4401 fn eq(&self, other: &Self) -> bool {
4402 self.0 == other.0
4403 }
4404 }
4405 impl ::core::cmp::Eq for AppBroadcastHeartbeatRequestedEventArgs {}
4406 impl ::core::fmt::Debug for AppBroadcastHeartbeatRequestedEventArgs {
4407 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4408 f.debug_tuple("AppBroadcastHeartbeatRequestedEventArgs").field(&self.0).finish()
4409 }
4410 }
4411 impl ::windows::core::RuntimeType for AppBroadcastHeartbeatRequestedEventArgs {
4412 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastHeartbeatRequestedEventArgs;{cea54283-ee51-4dbf-9472-79a9ed4e2165})");
4413 }
4414 impl ::core::clone::Clone for AppBroadcastHeartbeatRequestedEventArgs {
4415 fn clone(&self) -> Self {
4416 Self(self.0.clone())
4417 }
4418 }
4419 unsafe impl ::windows::core::Interface for AppBroadcastHeartbeatRequestedEventArgs {
4420 type Vtable = IAppBroadcastHeartbeatRequestedEventArgs_Vtbl;
4421 }
4422 unsafe impl ::windows::core::ComInterface for AppBroadcastHeartbeatRequestedEventArgs {
4423 const IID: ::windows::core::GUID = <IAppBroadcastHeartbeatRequestedEventArgs as ::windows::core::ComInterface>::IID;
4424 }
4425 impl ::windows::core::RuntimeName for AppBroadcastHeartbeatRequestedEventArgs {
4426 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastHeartbeatRequestedEventArgs";
4427 }
4428 ::windows::imp::interface_hierarchy!(AppBroadcastHeartbeatRequestedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
4429 #[doc = "*Required features: `\"Media_Capture\"`*"]
4430 pub struct AppBroadcastManager;
4431 impl AppBroadcastManager {
4432 pub fn GetGlobalSettings() -> ::windows::core::Result<AppBroadcastGlobalSettings> {
4433 Self::IAppBroadcastManagerStatics(|this| unsafe {
4434 let mut result__ = ::windows::core::zeroed::<AppBroadcastGlobalSettings>();
4435 (::windows::core::Interface::vtable(this).GetGlobalSettings)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4436 })
4437 }
4438 pub fn ApplyGlobalSettings(value: &AppBroadcastGlobalSettings) -> ::windows::core::Result<()> {
4439 Self::IAppBroadcastManagerStatics(|this| unsafe { (::windows::core::Interface::vtable(this).ApplyGlobalSettings)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() })
4440 }
4441 pub fn GetProviderSettings() -> ::windows::core::Result<AppBroadcastProviderSettings> {
4442 Self::IAppBroadcastManagerStatics(|this| unsafe {
4443 let mut result__ = ::windows::core::zeroed::<AppBroadcastProviderSettings>();
4444 (::windows::core::Interface::vtable(this).GetProviderSettings)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4445 })
4446 }
4447 pub fn ApplyProviderSettings(value: &AppBroadcastProviderSettings) -> ::windows::core::Result<()> {
4448 Self::IAppBroadcastManagerStatics(|this| unsafe { (::windows::core::Interface::vtable(this).ApplyProviderSettings)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() })
4449 }
4450 #[doc(hidden)]
4451 pub fn IAppBroadcastManagerStatics<R, F: FnOnce(&IAppBroadcastManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
4452 static SHARED: ::windows::imp::FactoryCache<AppBroadcastManager, IAppBroadcastManagerStatics> = ::windows::imp::FactoryCache::new();
4453 SHARED.call(callback)
4454 }
4455 }
4456 impl ::windows::core::RuntimeName for AppBroadcastManager {
4457 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastManager";
4458 }
4459 #[doc = "*Required features: `\"Media_Capture\"`*"]
4460 #[repr(transparent)]
4461 pub struct AppBroadcastMicrophoneCaptureStateChangedEventArgs(::windows::core::IUnknown);
4462 impl AppBroadcastMicrophoneCaptureStateChangedEventArgs {
4463 pub fn State(&self) -> ::windows::core::Result<AppBroadcastMicrophoneCaptureState> {
4464 let this = self;
4465 unsafe {
4466 let mut result__ = ::windows::core::zeroed::<AppBroadcastMicrophoneCaptureState>();
4467 (::windows::core::Interface::vtable(this).State)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4468 }
4469 }
4470 pub fn ErrorCode(&self) -> ::windows::core::Result<u32> {
4471 let this = self;
4472 unsafe {
4473 let mut result__ = ::windows::core::zeroed::<u32>();
4474 (::windows::core::Interface::vtable(this).ErrorCode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4475 }
4476 }
4477 }
4478 impl ::core::cmp::PartialEq for AppBroadcastMicrophoneCaptureStateChangedEventArgs {
4479 fn eq(&self, other: &Self) -> bool {
4480 self.0 == other.0
4481 }
4482 }
4483 impl ::core::cmp::Eq for AppBroadcastMicrophoneCaptureStateChangedEventArgs {}
4484 impl ::core::fmt::Debug for AppBroadcastMicrophoneCaptureStateChangedEventArgs {
4485 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4486 f.debug_tuple("AppBroadcastMicrophoneCaptureStateChangedEventArgs").field(&self.0).finish()
4487 }
4488 }
4489 impl ::windows::core::RuntimeType for AppBroadcastMicrophoneCaptureStateChangedEventArgs {
4490 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastMicrophoneCaptureStateChangedEventArgs;{a86ad5e9-9440-4908-9d09-65b7e315d795})");
4491 }
4492 impl ::core::clone::Clone for AppBroadcastMicrophoneCaptureStateChangedEventArgs {
4493 fn clone(&self) -> Self {
4494 Self(self.0.clone())
4495 }
4496 }
4497 unsafe impl ::windows::core::Interface for AppBroadcastMicrophoneCaptureStateChangedEventArgs {
4498 type Vtable = IAppBroadcastMicrophoneCaptureStateChangedEventArgs_Vtbl;
4499 }
4500 unsafe impl ::windows::core::ComInterface for AppBroadcastMicrophoneCaptureStateChangedEventArgs {
4501 const IID: ::windows::core::GUID = <IAppBroadcastMicrophoneCaptureStateChangedEventArgs as ::windows::core::ComInterface>::IID;
4502 }
4503 impl ::windows::core::RuntimeName for AppBroadcastMicrophoneCaptureStateChangedEventArgs {
4504 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastMicrophoneCaptureStateChangedEventArgs";
4505 }
4506 ::windows::imp::interface_hierarchy!(AppBroadcastMicrophoneCaptureStateChangedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
4507 unsafe impl ::core::marker::Send for AppBroadcastMicrophoneCaptureStateChangedEventArgs {}
4508 unsafe impl ::core::marker::Sync for AppBroadcastMicrophoneCaptureStateChangedEventArgs {}
4509 #[doc = "*Required features: `\"Media_Capture\"`*"]
4510 #[repr(transparent)]
4511 pub struct AppBroadcastPlugIn(::windows::core::IUnknown);
4512 impl AppBroadcastPlugIn {
4513 pub fn AppId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
4514 let this = self;
4515 unsafe {
4516 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
4517 (::windows::core::Interface::vtable(this).AppId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4518 }
4519 }
4520 pub fn ProviderSettings(&self) -> ::windows::core::Result<AppBroadcastProviderSettings> {
4521 let this = self;
4522 unsafe {
4523 let mut result__ = ::windows::core::zeroed::<AppBroadcastProviderSettings>();
4524 (::windows::core::Interface::vtable(this).ProviderSettings)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4525 }
4526 }
4527 #[doc = "*Required features: `\"Storage_Streams\"`*"]
4528 #[cfg(feature = "Storage_Streams")]
4529 pub fn Logo(&self) -> ::windows::core::Result<super::super::Storage::Streams::IRandomAccessStreamReference> {
4530 let this = self;
4531 unsafe {
4532 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IRandomAccessStreamReference>();
4533 (::windows::core::Interface::vtable(this).Logo)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4534 }
4535 }
4536 pub fn DisplayName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
4537 let this = self;
4538 unsafe {
4539 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
4540 (::windows::core::Interface::vtable(this).DisplayName)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4541 }
4542 }
4543 }
4544 impl ::core::cmp::PartialEq for AppBroadcastPlugIn {
4545 fn eq(&self, other: &Self) -> bool {
4546 self.0 == other.0
4547 }
4548 }
4549 impl ::core::cmp::Eq for AppBroadcastPlugIn {}
4550 impl ::core::fmt::Debug for AppBroadcastPlugIn {
4551 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4552 f.debug_tuple("AppBroadcastPlugIn").field(&self.0).finish()
4553 }
4554 }
4555 impl ::windows::core::RuntimeType for AppBroadcastPlugIn {
4556 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastPlugIn;{520c1e66-6513-4574-ac54-23b79729615b})");
4557 }
4558 impl ::core::clone::Clone for AppBroadcastPlugIn {
4559 fn clone(&self) -> Self {
4560 Self(self.0.clone())
4561 }
4562 }
4563 unsafe impl ::windows::core::Interface for AppBroadcastPlugIn {
4564 type Vtable = IAppBroadcastPlugIn_Vtbl;
4565 }
4566 unsafe impl ::windows::core::ComInterface for AppBroadcastPlugIn {
4567 const IID: ::windows::core::GUID = <IAppBroadcastPlugIn as ::windows::core::ComInterface>::IID;
4568 }
4569 impl ::windows::core::RuntimeName for AppBroadcastPlugIn {
4570 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastPlugIn";
4571 }
4572 ::windows::imp::interface_hierarchy!(AppBroadcastPlugIn, ::windows::core::IUnknown, ::windows::core::IInspectable);
4573 unsafe impl ::core::marker::Send for AppBroadcastPlugIn {}
4574 unsafe impl ::core::marker::Sync for AppBroadcastPlugIn {}
4575 #[doc = "*Required features: `\"Media_Capture\"`*"]
4576 #[repr(transparent)]
4577 pub struct AppBroadcastPlugInManager(::windows::core::IUnknown);
4578 impl AppBroadcastPlugInManager {
4579 pub fn IsBroadcastProviderAvailable(&self) -> ::windows::core::Result<bool> {
4580 let this = self;
4581 unsafe {
4582 let mut result__ = ::windows::core::zeroed::<bool>();
4583 (::windows::core::Interface::vtable(this).IsBroadcastProviderAvailable)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4584 }
4585 }
4586 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
4587 #[cfg(feature = "Foundation_Collections")]
4588 pub fn PlugInList(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<AppBroadcastPlugIn>> {
4589 let this = self;
4590 unsafe {
4591 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<AppBroadcastPlugIn>>();
4592 (::windows::core::Interface::vtable(this).PlugInList)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4593 }
4594 }
4595 pub fn DefaultPlugIn(&self) -> ::windows::core::Result<AppBroadcastPlugIn> {
4596 let this = self;
4597 unsafe {
4598 let mut result__ = ::windows::core::zeroed::<AppBroadcastPlugIn>();
4599 (::windows::core::Interface::vtable(this).DefaultPlugIn)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4600 }
4601 }
4602 pub fn SetDefaultPlugIn(&self, value: &AppBroadcastPlugIn) -> ::windows::core::Result<()> {
4603 let this = self;
4604 unsafe { (::windows::core::Interface::vtable(this).SetDefaultPlugIn)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
4605 }
4606 pub fn GetDefault() -> ::windows::core::Result<AppBroadcastPlugInManager> {
4607 Self::IAppBroadcastPlugInManagerStatics(|this| unsafe {
4608 let mut result__ = ::windows::core::zeroed::<AppBroadcastPlugInManager>();
4609 (::windows::core::Interface::vtable(this).GetDefault)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4610 })
4611 }
4612 #[doc = "*Required features: `\"System\"`*"]
4613 #[cfg(feature = "System")]
4614 pub fn GetForUser(user: &super::super::System::User) -> ::windows::core::Result<AppBroadcastPlugInManager> {
4615 Self::IAppBroadcastPlugInManagerStatics(|this| unsafe {
4616 let mut result__ = ::windows::core::zeroed::<AppBroadcastPlugInManager>();
4617 (::windows::core::Interface::vtable(this).GetForUser)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(user), &mut result__).from_abi(result__)
4618 })
4619 }
4620 #[doc(hidden)]
4621 pub fn IAppBroadcastPlugInManagerStatics<R, F: FnOnce(&IAppBroadcastPlugInManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
4622 static SHARED: ::windows::imp::FactoryCache<AppBroadcastPlugInManager, IAppBroadcastPlugInManagerStatics> = ::windows::imp::FactoryCache::new();
4623 SHARED.call(callback)
4624 }
4625 }
4626 impl ::core::cmp::PartialEq for AppBroadcastPlugInManager {
4627 fn eq(&self, other: &Self) -> bool {
4628 self.0 == other.0
4629 }
4630 }
4631 impl ::core::cmp::Eq for AppBroadcastPlugInManager {}
4632 impl ::core::fmt::Debug for AppBroadcastPlugInManager {
4633 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4634 f.debug_tuple("AppBroadcastPlugInManager").field(&self.0).finish()
4635 }
4636 }
4637 impl ::windows::core::RuntimeType for AppBroadcastPlugInManager {
4638 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastPlugInManager;{e550d979-27a1-49a7-bbf4-d7a9e9d07668})");
4639 }
4640 impl ::core::clone::Clone for AppBroadcastPlugInManager {
4641 fn clone(&self) -> Self {
4642 Self(self.0.clone())
4643 }
4644 }
4645 unsafe impl ::windows::core::Interface for AppBroadcastPlugInManager {
4646 type Vtable = IAppBroadcastPlugInManager_Vtbl;
4647 }
4648 unsafe impl ::windows::core::ComInterface for AppBroadcastPlugInManager {
4649 const IID: ::windows::core::GUID = <IAppBroadcastPlugInManager as ::windows::core::ComInterface>::IID;
4650 }
4651 impl ::windows::core::RuntimeName for AppBroadcastPlugInManager {
4652 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastPlugInManager";
4653 }
4654 ::windows::imp::interface_hierarchy!(AppBroadcastPlugInManager, ::windows::core::IUnknown, ::windows::core::IInspectable);
4655 unsafe impl ::core::marker::Send for AppBroadcastPlugInManager {}
4656 unsafe impl ::core::marker::Sync for AppBroadcastPlugInManager {}
4657 #[doc = "*Required features: `\"Media_Capture\"`*"]
4658 #[repr(transparent)]
4659 pub struct AppBroadcastPlugInStateChangedEventArgs(::windows::core::IUnknown);
4660 impl AppBroadcastPlugInStateChangedEventArgs {
4661 pub fn PlugInState(&self) -> ::windows::core::Result<AppBroadcastPlugInState> {
4662 let this = self;
4663 unsafe {
4664 let mut result__ = ::windows::core::zeroed::<AppBroadcastPlugInState>();
4665 (::windows::core::Interface::vtable(this).PlugInState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4666 }
4667 }
4668 }
4669 impl ::core::cmp::PartialEq for AppBroadcastPlugInStateChangedEventArgs {
4670 fn eq(&self, other: &Self) -> bool {
4671 self.0 == other.0
4672 }
4673 }
4674 impl ::core::cmp::Eq for AppBroadcastPlugInStateChangedEventArgs {}
4675 impl ::core::fmt::Debug for AppBroadcastPlugInStateChangedEventArgs {
4676 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4677 f.debug_tuple("AppBroadcastPlugInStateChangedEventArgs").field(&self.0).finish()
4678 }
4679 }
4680 impl ::windows::core::RuntimeType for AppBroadcastPlugInStateChangedEventArgs {
4681 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastPlugInStateChangedEventArgs;{4881d0f2-abc5-4fc6-84b0-89370bb47212})");
4682 }
4683 impl ::core::clone::Clone for AppBroadcastPlugInStateChangedEventArgs {
4684 fn clone(&self) -> Self {
4685 Self(self.0.clone())
4686 }
4687 }
4688 unsafe impl ::windows::core::Interface for AppBroadcastPlugInStateChangedEventArgs {
4689 type Vtable = IAppBroadcastPlugInStateChangedEventArgs_Vtbl;
4690 }
4691 unsafe impl ::windows::core::ComInterface for AppBroadcastPlugInStateChangedEventArgs {
4692 const IID: ::windows::core::GUID = <IAppBroadcastPlugInStateChangedEventArgs as ::windows::core::ComInterface>::IID;
4693 }
4694 impl ::windows::core::RuntimeName for AppBroadcastPlugInStateChangedEventArgs {
4695 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastPlugInStateChangedEventArgs";
4696 }
4697 ::windows::imp::interface_hierarchy!(AppBroadcastPlugInStateChangedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
4698 unsafe impl ::core::marker::Send for AppBroadcastPlugInStateChangedEventArgs {}
4699 unsafe impl ::core::marker::Sync for AppBroadcastPlugInStateChangedEventArgs {}
4700 #[doc = "*Required features: `\"Media_Capture\"`*"]
4701 #[repr(transparent)]
4702 pub struct AppBroadcastPreview(::windows::core::IUnknown);
4703 impl AppBroadcastPreview {
4704 pub fn StopPreview(&self) -> ::windows::core::Result<()> {
4705 let this = self;
4706 unsafe { (::windows::core::Interface::vtable(this).StopPreview)(::windows::core::Interface::as_raw(this)).ok() }
4707 }
4708 pub fn PreviewState(&self) -> ::windows::core::Result<AppBroadcastPreviewState> {
4709 let this = self;
4710 unsafe {
4711 let mut result__ = ::windows::core::zeroed::<AppBroadcastPreviewState>();
4712 (::windows::core::Interface::vtable(this).PreviewState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4713 }
4714 }
4715 #[doc = "*Required features: `\"Foundation\"`*"]
4716 #[cfg(feature = "Foundation")]
4717 pub fn ErrorCode(&self) -> ::windows::core::Result<super::super::Foundation::IReference<u32>> {
4718 let this = self;
4719 unsafe {
4720 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<u32>>();
4721 (::windows::core::Interface::vtable(this).ErrorCode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4722 }
4723 }
4724 #[doc = "*Required features: `\"Foundation\"`*"]
4725 #[cfg(feature = "Foundation")]
4726 pub fn PreviewStateChanged(&self, value: &super::super::Foundation::TypedEventHandler<AppBroadcastPreview, AppBroadcastPreviewStateChangedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
4727 let this = self;
4728 unsafe {
4729 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
4730 (::windows::core::Interface::vtable(this).PreviewStateChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
4731 }
4732 }
4733 #[doc = "*Required features: `\"Foundation\"`*"]
4734 #[cfg(feature = "Foundation")]
4735 pub fn RemovePreviewStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
4736 let this = self;
4737 unsafe { (::windows::core::Interface::vtable(this).RemovePreviewStateChanged)(::windows::core::Interface::as_raw(this), token).ok() }
4738 }
4739 pub fn PreviewStreamReader(&self) -> ::windows::core::Result<AppBroadcastPreviewStreamReader> {
4740 let this = self;
4741 unsafe {
4742 let mut result__ = ::windows::core::zeroed::<AppBroadcastPreviewStreamReader>();
4743 (::windows::core::Interface::vtable(this).PreviewStreamReader)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4744 }
4745 }
4746 }
4747 impl ::core::cmp::PartialEq for AppBroadcastPreview {
4748 fn eq(&self, other: &Self) -> bool {
4749 self.0 == other.0
4750 }
4751 }
4752 impl ::core::cmp::Eq for AppBroadcastPreview {}
4753 impl ::core::fmt::Debug for AppBroadcastPreview {
4754 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4755 f.debug_tuple("AppBroadcastPreview").field(&self.0).finish()
4756 }
4757 }
4758 impl ::windows::core::RuntimeType for AppBroadcastPreview {
4759 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastPreview;{14b60f5a-6e4a-4b80-a14f-67ee77d153e7})");
4760 }
4761 impl ::core::clone::Clone for AppBroadcastPreview {
4762 fn clone(&self) -> Self {
4763 Self(self.0.clone())
4764 }
4765 }
4766 unsafe impl ::windows::core::Interface for AppBroadcastPreview {
4767 type Vtable = IAppBroadcastPreview_Vtbl;
4768 }
4769 unsafe impl ::windows::core::ComInterface for AppBroadcastPreview {
4770 const IID: ::windows::core::GUID = <IAppBroadcastPreview as ::windows::core::ComInterface>::IID;
4771 }
4772 impl ::windows::core::RuntimeName for AppBroadcastPreview {
4773 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastPreview";
4774 }
4775 ::windows::imp::interface_hierarchy!(AppBroadcastPreview, ::windows::core::IUnknown, ::windows::core::IInspectable);
4776 unsafe impl ::core::marker::Send for AppBroadcastPreview {}
4777 unsafe impl ::core::marker::Sync for AppBroadcastPreview {}
4778 #[doc = "*Required features: `\"Media_Capture\"`*"]
4779 #[repr(transparent)]
4780 pub struct AppBroadcastPreviewStateChangedEventArgs(::windows::core::IUnknown);
4781 impl AppBroadcastPreviewStateChangedEventArgs {
4782 pub fn PreviewState(&self) -> ::windows::core::Result<AppBroadcastPreviewState> {
4783 let this = self;
4784 unsafe {
4785 let mut result__ = ::windows::core::zeroed::<AppBroadcastPreviewState>();
4786 (::windows::core::Interface::vtable(this).PreviewState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4787 }
4788 }
4789 pub fn ErrorCode(&self) -> ::windows::core::Result<u32> {
4790 let this = self;
4791 unsafe {
4792 let mut result__ = ::windows::core::zeroed::<u32>();
4793 (::windows::core::Interface::vtable(this).ErrorCode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4794 }
4795 }
4796 }
4797 impl ::core::cmp::PartialEq for AppBroadcastPreviewStateChangedEventArgs {
4798 fn eq(&self, other: &Self) -> bool {
4799 self.0 == other.0
4800 }
4801 }
4802 impl ::core::cmp::Eq for AppBroadcastPreviewStateChangedEventArgs {}
4803 impl ::core::fmt::Debug for AppBroadcastPreviewStateChangedEventArgs {
4804 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4805 f.debug_tuple("AppBroadcastPreviewStateChangedEventArgs").field(&self.0).finish()
4806 }
4807 }
4808 impl ::windows::core::RuntimeType for AppBroadcastPreviewStateChangedEventArgs {
4809 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastPreviewStateChangedEventArgs;{5a57f2de-8dea-4e86-90ad-03fc26b9653c})");
4810 }
4811 impl ::core::clone::Clone for AppBroadcastPreviewStateChangedEventArgs {
4812 fn clone(&self) -> Self {
4813 Self(self.0.clone())
4814 }
4815 }
4816 unsafe impl ::windows::core::Interface for AppBroadcastPreviewStateChangedEventArgs {
4817 type Vtable = IAppBroadcastPreviewStateChangedEventArgs_Vtbl;
4818 }
4819 unsafe impl ::windows::core::ComInterface for AppBroadcastPreviewStateChangedEventArgs {
4820 const IID: ::windows::core::GUID = <IAppBroadcastPreviewStateChangedEventArgs as ::windows::core::ComInterface>::IID;
4821 }
4822 impl ::windows::core::RuntimeName for AppBroadcastPreviewStateChangedEventArgs {
4823 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastPreviewStateChangedEventArgs";
4824 }
4825 ::windows::imp::interface_hierarchy!(AppBroadcastPreviewStateChangedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
4826 unsafe impl ::core::marker::Send for AppBroadcastPreviewStateChangedEventArgs {}
4827 unsafe impl ::core::marker::Sync for AppBroadcastPreviewStateChangedEventArgs {}
4828 #[doc = "*Required features: `\"Media_Capture\"`*"]
4829 #[repr(transparent)]
4830 pub struct AppBroadcastPreviewStreamReader(::windows::core::IUnknown);
4831 impl AppBroadcastPreviewStreamReader {
4832 pub fn VideoWidth(&self) -> ::windows::core::Result<u32> {
4833 let this = self;
4834 unsafe {
4835 let mut result__ = ::windows::core::zeroed::<u32>();
4836 (::windows::core::Interface::vtable(this).VideoWidth)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4837 }
4838 }
4839 pub fn VideoHeight(&self) -> ::windows::core::Result<u32> {
4840 let this = self;
4841 unsafe {
4842 let mut result__ = ::windows::core::zeroed::<u32>();
4843 (::windows::core::Interface::vtable(this).VideoHeight)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4844 }
4845 }
4846 pub fn VideoStride(&self) -> ::windows::core::Result<u32> {
4847 let this = self;
4848 unsafe {
4849 let mut result__ = ::windows::core::zeroed::<u32>();
4850 (::windows::core::Interface::vtable(this).VideoStride)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4851 }
4852 }
4853 #[doc = "*Required features: `\"Graphics_Imaging\"`*"]
4854 #[cfg(feature = "Graphics_Imaging")]
4855 pub fn VideoBitmapPixelFormat(&self) -> ::windows::core::Result<super::super::Graphics::Imaging::BitmapPixelFormat> {
4856 let this = self;
4857 unsafe {
4858 let mut result__ = ::windows::core::zeroed::<super::super::Graphics::Imaging::BitmapPixelFormat>();
4859 (::windows::core::Interface::vtable(this).VideoBitmapPixelFormat)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4860 }
4861 }
4862 #[doc = "*Required features: `\"Graphics_Imaging\"`*"]
4863 #[cfg(feature = "Graphics_Imaging")]
4864 pub fn VideoBitmapAlphaMode(&self) -> ::windows::core::Result<super::super::Graphics::Imaging::BitmapAlphaMode> {
4865 let this = self;
4866 unsafe {
4867 let mut result__ = ::windows::core::zeroed::<super::super::Graphics::Imaging::BitmapAlphaMode>();
4868 (::windows::core::Interface::vtable(this).VideoBitmapAlphaMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4869 }
4870 }
4871 pub fn TryGetNextVideoFrame(&self) -> ::windows::core::Result<AppBroadcastPreviewStreamVideoFrame> {
4872 let this = self;
4873 unsafe {
4874 let mut result__ = ::windows::core::zeroed::<AppBroadcastPreviewStreamVideoFrame>();
4875 (::windows::core::Interface::vtable(this).TryGetNextVideoFrame)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4876 }
4877 }
4878 #[doc = "*Required features: `\"Foundation\"`*"]
4879 #[cfg(feature = "Foundation")]
4880 pub fn VideoFrameArrived(&self, value: &super::super::Foundation::TypedEventHandler<AppBroadcastPreviewStreamReader, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
4881 let this = self;
4882 unsafe {
4883 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
4884 (::windows::core::Interface::vtable(this).VideoFrameArrived)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
4885 }
4886 }
4887 #[doc = "*Required features: `\"Foundation\"`*"]
4888 #[cfg(feature = "Foundation")]
4889 pub fn RemoveVideoFrameArrived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
4890 let this = self;
4891 unsafe { (::windows::core::Interface::vtable(this).RemoveVideoFrameArrived)(::windows::core::Interface::as_raw(this), token).ok() }
4892 }
4893 }
4894 impl ::core::cmp::PartialEq for AppBroadcastPreviewStreamReader {
4895 fn eq(&self, other: &Self) -> bool {
4896 self.0 == other.0
4897 }
4898 }
4899 impl ::core::cmp::Eq for AppBroadcastPreviewStreamReader {}
4900 impl ::core::fmt::Debug for AppBroadcastPreviewStreamReader {
4901 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4902 f.debug_tuple("AppBroadcastPreviewStreamReader").field(&self.0).finish()
4903 }
4904 }
4905 impl ::windows::core::RuntimeType for AppBroadcastPreviewStreamReader {
4906 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastPreviewStreamReader;{92228d50-db3f-40a8-8cd4-f4e371ddab37})");
4907 }
4908 impl ::core::clone::Clone for AppBroadcastPreviewStreamReader {
4909 fn clone(&self) -> Self {
4910 Self(self.0.clone())
4911 }
4912 }
4913 unsafe impl ::windows::core::Interface for AppBroadcastPreviewStreamReader {
4914 type Vtable = IAppBroadcastPreviewStreamReader_Vtbl;
4915 }
4916 unsafe impl ::windows::core::ComInterface for AppBroadcastPreviewStreamReader {
4917 const IID: ::windows::core::GUID = <IAppBroadcastPreviewStreamReader as ::windows::core::ComInterface>::IID;
4918 }
4919 impl ::windows::core::RuntimeName for AppBroadcastPreviewStreamReader {
4920 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastPreviewStreamReader";
4921 }
4922 ::windows::imp::interface_hierarchy!(AppBroadcastPreviewStreamReader, ::windows::core::IUnknown, ::windows::core::IInspectable);
4923 unsafe impl ::core::marker::Send for AppBroadcastPreviewStreamReader {}
4924 unsafe impl ::core::marker::Sync for AppBroadcastPreviewStreamReader {}
4925 #[doc = "*Required features: `\"Media_Capture\"`*"]
4926 #[repr(transparent)]
4927 pub struct AppBroadcastPreviewStreamVideoFrame(::windows::core::IUnknown);
4928 impl AppBroadcastPreviewStreamVideoFrame {
4929 pub fn VideoHeader(&self) -> ::windows::core::Result<AppBroadcastPreviewStreamVideoHeader> {
4930 let this = self;
4931 unsafe {
4932 let mut result__ = ::windows::core::zeroed::<AppBroadcastPreviewStreamVideoHeader>();
4933 (::windows::core::Interface::vtable(this).VideoHeader)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4934 }
4935 }
4936 #[doc = "*Required features: `\"Storage_Streams\"`*"]
4937 #[cfg(feature = "Storage_Streams")]
4938 pub fn VideoBuffer(&self) -> ::windows::core::Result<super::super::Storage::Streams::IBuffer> {
4939 let this = self;
4940 unsafe {
4941 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IBuffer>();
4942 (::windows::core::Interface::vtable(this).VideoBuffer)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4943 }
4944 }
4945 }
4946 impl ::core::cmp::PartialEq for AppBroadcastPreviewStreamVideoFrame {
4947 fn eq(&self, other: &Self) -> bool {
4948 self.0 == other.0
4949 }
4950 }
4951 impl ::core::cmp::Eq for AppBroadcastPreviewStreamVideoFrame {}
4952 impl ::core::fmt::Debug for AppBroadcastPreviewStreamVideoFrame {
4953 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4954 f.debug_tuple("AppBroadcastPreviewStreamVideoFrame").field(&self.0).finish()
4955 }
4956 }
4957 impl ::windows::core::RuntimeType for AppBroadcastPreviewStreamVideoFrame {
4958 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastPreviewStreamVideoFrame;{010fbea1-94fe-4499-b8c0-8d244279fb12})");
4959 }
4960 impl ::core::clone::Clone for AppBroadcastPreviewStreamVideoFrame {
4961 fn clone(&self) -> Self {
4962 Self(self.0.clone())
4963 }
4964 }
4965 unsafe impl ::windows::core::Interface for AppBroadcastPreviewStreamVideoFrame {
4966 type Vtable = IAppBroadcastPreviewStreamVideoFrame_Vtbl;
4967 }
4968 unsafe impl ::windows::core::ComInterface for AppBroadcastPreviewStreamVideoFrame {
4969 const IID: ::windows::core::GUID = <IAppBroadcastPreviewStreamVideoFrame as ::windows::core::ComInterface>::IID;
4970 }
4971 impl ::windows::core::RuntimeName for AppBroadcastPreviewStreamVideoFrame {
4972 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastPreviewStreamVideoFrame";
4973 }
4974 ::windows::imp::interface_hierarchy!(AppBroadcastPreviewStreamVideoFrame, ::windows::core::IUnknown, ::windows::core::IInspectable);
4975 unsafe impl ::core::marker::Send for AppBroadcastPreviewStreamVideoFrame {}
4976 unsafe impl ::core::marker::Sync for AppBroadcastPreviewStreamVideoFrame {}
4977 #[doc = "*Required features: `\"Media_Capture\"`*"]
4978 #[repr(transparent)]
4979 pub struct AppBroadcastPreviewStreamVideoHeader(::windows::core::IUnknown);
4980 impl AppBroadcastPreviewStreamVideoHeader {
4981 #[doc = "*Required features: `\"Foundation\"`*"]
4982 #[cfg(feature = "Foundation")]
4983 pub fn AbsoluteTimestamp(&self) -> ::windows::core::Result<super::super::Foundation::DateTime> {
4984 let this = self;
4985 unsafe {
4986 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::DateTime>();
4987 (::windows::core::Interface::vtable(this).AbsoluteTimestamp)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4988 }
4989 }
4990 #[doc = "*Required features: `\"Foundation\"`*"]
4991 #[cfg(feature = "Foundation")]
4992 pub fn RelativeTimestamp(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
4993 let this = self;
4994 unsafe {
4995 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
4996 (::windows::core::Interface::vtable(this).RelativeTimestamp)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
4997 }
4998 }
4999 #[doc = "*Required features: `\"Foundation\"`*"]
5000 #[cfg(feature = "Foundation")]
5001 pub fn Duration(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
5002 let this = self;
5003 unsafe {
5004 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
5005 (::windows::core::Interface::vtable(this).Duration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5006 }
5007 }
5008 pub fn FrameId(&self) -> ::windows::core::Result<u64> {
5009 let this = self;
5010 unsafe {
5011 let mut result__ = ::windows::core::zeroed::<u64>();
5012 (::windows::core::Interface::vtable(this).FrameId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5013 }
5014 }
5015 }
5016 impl ::core::cmp::PartialEq for AppBroadcastPreviewStreamVideoHeader {
5017 fn eq(&self, other: &Self) -> bool {
5018 self.0 == other.0
5019 }
5020 }
5021 impl ::core::cmp::Eq for AppBroadcastPreviewStreamVideoHeader {}
5022 impl ::core::fmt::Debug for AppBroadcastPreviewStreamVideoHeader {
5023 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5024 f.debug_tuple("AppBroadcastPreviewStreamVideoHeader").field(&self.0).finish()
5025 }
5026 }
5027 impl ::windows::core::RuntimeType for AppBroadcastPreviewStreamVideoHeader {
5028 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastPreviewStreamVideoHeader;{8bef6113-da84-4499-a7ab-87118cb4a157})");
5029 }
5030 impl ::core::clone::Clone for AppBroadcastPreviewStreamVideoHeader {
5031 fn clone(&self) -> Self {
5032 Self(self.0.clone())
5033 }
5034 }
5035 unsafe impl ::windows::core::Interface for AppBroadcastPreviewStreamVideoHeader {
5036 type Vtable = IAppBroadcastPreviewStreamVideoHeader_Vtbl;
5037 }
5038 unsafe impl ::windows::core::ComInterface for AppBroadcastPreviewStreamVideoHeader {
5039 const IID: ::windows::core::GUID = <IAppBroadcastPreviewStreamVideoHeader as ::windows::core::ComInterface>::IID;
5040 }
5041 impl ::windows::core::RuntimeName for AppBroadcastPreviewStreamVideoHeader {
5042 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastPreviewStreamVideoHeader";
5043 }
5044 ::windows::imp::interface_hierarchy!(AppBroadcastPreviewStreamVideoHeader, ::windows::core::IUnknown, ::windows::core::IInspectable);
5045 unsafe impl ::core::marker::Send for AppBroadcastPreviewStreamVideoHeader {}
5046 unsafe impl ::core::marker::Sync for AppBroadcastPreviewStreamVideoHeader {}
5047 #[doc = "*Required features: `\"Media_Capture\"`*"]
5048 #[repr(transparent)]
5049 pub struct AppBroadcastProviderSettings(::windows::core::IUnknown);
5050 impl AppBroadcastProviderSettings {
5051 pub fn SetDefaultBroadcastTitle(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
5052 let this = self;
5053 unsafe { (::windows::core::Interface::vtable(this).SetDefaultBroadcastTitle)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
5054 }
5055 pub fn DefaultBroadcastTitle(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
5056 let this = self;
5057 unsafe {
5058 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
5059 (::windows::core::Interface::vtable(this).DefaultBroadcastTitle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5060 }
5061 }
5062 pub fn SetAudioEncodingBitrate(&self, value: u32) -> ::windows::core::Result<()> {
5063 let this = self;
5064 unsafe { (::windows::core::Interface::vtable(this).SetAudioEncodingBitrate)(::windows::core::Interface::as_raw(this), value).ok() }
5065 }
5066 pub fn AudioEncodingBitrate(&self) -> ::windows::core::Result<u32> {
5067 let this = self;
5068 unsafe {
5069 let mut result__ = ::windows::core::zeroed::<u32>();
5070 (::windows::core::Interface::vtable(this).AudioEncodingBitrate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5071 }
5072 }
5073 pub fn SetCustomVideoEncodingBitrate(&self, value: u32) -> ::windows::core::Result<()> {
5074 let this = self;
5075 unsafe { (::windows::core::Interface::vtable(this).SetCustomVideoEncodingBitrate)(::windows::core::Interface::as_raw(this), value).ok() }
5076 }
5077 pub fn CustomVideoEncodingBitrate(&self) -> ::windows::core::Result<u32> {
5078 let this = self;
5079 unsafe {
5080 let mut result__ = ::windows::core::zeroed::<u32>();
5081 (::windows::core::Interface::vtable(this).CustomVideoEncodingBitrate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5082 }
5083 }
5084 pub fn SetCustomVideoEncodingHeight(&self, value: u32) -> ::windows::core::Result<()> {
5085 let this = self;
5086 unsafe { (::windows::core::Interface::vtable(this).SetCustomVideoEncodingHeight)(::windows::core::Interface::as_raw(this), value).ok() }
5087 }
5088 pub fn CustomVideoEncodingHeight(&self) -> ::windows::core::Result<u32> {
5089 let this = self;
5090 unsafe {
5091 let mut result__ = ::windows::core::zeroed::<u32>();
5092 (::windows::core::Interface::vtable(this).CustomVideoEncodingHeight)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5093 }
5094 }
5095 pub fn SetCustomVideoEncodingWidth(&self, value: u32) -> ::windows::core::Result<()> {
5096 let this = self;
5097 unsafe { (::windows::core::Interface::vtable(this).SetCustomVideoEncodingWidth)(::windows::core::Interface::as_raw(this), value).ok() }
5098 }
5099 pub fn CustomVideoEncodingWidth(&self) -> ::windows::core::Result<u32> {
5100 let this = self;
5101 unsafe {
5102 let mut result__ = ::windows::core::zeroed::<u32>();
5103 (::windows::core::Interface::vtable(this).CustomVideoEncodingWidth)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5104 }
5105 }
5106 pub fn SetVideoEncodingBitrateMode(&self, value: AppBroadcastVideoEncodingBitrateMode) -> ::windows::core::Result<()> {
5107 let this = self;
5108 unsafe { (::windows::core::Interface::vtable(this).SetVideoEncodingBitrateMode)(::windows::core::Interface::as_raw(this), value).ok() }
5109 }
5110 pub fn VideoEncodingBitrateMode(&self) -> ::windows::core::Result<AppBroadcastVideoEncodingBitrateMode> {
5111 let this = self;
5112 unsafe {
5113 let mut result__ = ::windows::core::zeroed::<AppBroadcastVideoEncodingBitrateMode>();
5114 (::windows::core::Interface::vtable(this).VideoEncodingBitrateMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5115 }
5116 }
5117 pub fn SetVideoEncodingResolutionMode(&self, value: AppBroadcastVideoEncodingResolutionMode) -> ::windows::core::Result<()> {
5118 let this = self;
5119 unsafe { (::windows::core::Interface::vtable(this).SetVideoEncodingResolutionMode)(::windows::core::Interface::as_raw(this), value).ok() }
5120 }
5121 pub fn VideoEncodingResolutionMode(&self) -> ::windows::core::Result<AppBroadcastVideoEncodingResolutionMode> {
5122 let this = self;
5123 unsafe {
5124 let mut result__ = ::windows::core::zeroed::<AppBroadcastVideoEncodingResolutionMode>();
5125 (::windows::core::Interface::vtable(this).VideoEncodingResolutionMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5126 }
5127 }
5128 }
5129 impl ::core::cmp::PartialEq for AppBroadcastProviderSettings {
5130 fn eq(&self, other: &Self) -> bool {
5131 self.0 == other.0
5132 }
5133 }
5134 impl ::core::cmp::Eq for AppBroadcastProviderSettings {}
5135 impl ::core::fmt::Debug for AppBroadcastProviderSettings {
5136 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5137 f.debug_tuple("AppBroadcastProviderSettings").field(&self.0).finish()
5138 }
5139 }
5140 impl ::windows::core::RuntimeType for AppBroadcastProviderSettings {
5141 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastProviderSettings;{c30bdf62-9948-458f-ad50-aa06ec03da08})");
5142 }
5143 impl ::core::clone::Clone for AppBroadcastProviderSettings {
5144 fn clone(&self) -> Self {
5145 Self(self.0.clone())
5146 }
5147 }
5148 unsafe impl ::windows::core::Interface for AppBroadcastProviderSettings {
5149 type Vtable = IAppBroadcastProviderSettings_Vtbl;
5150 }
5151 unsafe impl ::windows::core::ComInterface for AppBroadcastProviderSettings {
5152 const IID: ::windows::core::GUID = <IAppBroadcastProviderSettings as ::windows::core::ComInterface>::IID;
5153 }
5154 impl ::windows::core::RuntimeName for AppBroadcastProviderSettings {
5155 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastProviderSettings";
5156 }
5157 ::windows::imp::interface_hierarchy!(AppBroadcastProviderSettings, ::windows::core::IUnknown, ::windows::core::IInspectable);
5158 #[doc = "*Required features: `\"Media_Capture\"`*"]
5159 #[repr(transparent)]
5160 pub struct AppBroadcastServices(::windows::core::IUnknown);
5161 impl AppBroadcastServices {
5162 pub fn CaptureTargetType(&self) -> ::windows::core::Result<AppBroadcastCaptureTargetType> {
5163 let this = self;
5164 unsafe {
5165 let mut result__ = ::windows::core::zeroed::<AppBroadcastCaptureTargetType>();
5166 (::windows::core::Interface::vtable(this).CaptureTargetType)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5167 }
5168 }
5169 pub fn SetCaptureTargetType(&self, value: AppBroadcastCaptureTargetType) -> ::windows::core::Result<()> {
5170 let this = self;
5171 unsafe { (::windows::core::Interface::vtable(this).SetCaptureTargetType)(::windows::core::Interface::as_raw(this), value).ok() }
5172 }
5173 pub fn BroadcastTitle(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
5174 let this = self;
5175 unsafe {
5176 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
5177 (::windows::core::Interface::vtable(this).BroadcastTitle)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5178 }
5179 }
5180 pub fn SetBroadcastTitle(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
5181 let this = self;
5182 unsafe { (::windows::core::Interface::vtable(this).SetBroadcastTitle)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
5183 }
5184 pub fn BroadcastLanguage(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
5185 let this = self;
5186 unsafe {
5187 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
5188 (::windows::core::Interface::vtable(this).BroadcastLanguage)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5189 }
5190 }
5191 pub fn SetBroadcastLanguage(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
5192 let this = self;
5193 unsafe { (::windows::core::Interface::vtable(this).SetBroadcastLanguage)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
5194 }
5195 pub fn UserName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
5196 let this = self;
5197 unsafe {
5198 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
5199 (::windows::core::Interface::vtable(this).UserName)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5200 }
5201 }
5202 pub fn CanCapture(&self) -> ::windows::core::Result<bool> {
5203 let this = self;
5204 unsafe {
5205 let mut result__ = ::windows::core::zeroed::<bool>();
5206 (::windows::core::Interface::vtable(this).CanCapture)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5207 }
5208 }
5209 #[doc = "*Required features: `\"Foundation\"`*"]
5210 #[cfg(feature = "Foundation")]
5211 pub fn EnterBroadcastModeAsync(&self, plugin: &AppBroadcastPlugIn) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<u32>> {
5212 let this = self;
5213 unsafe {
5214 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<u32>>();
5215 (::windows::core::Interface::vtable(this).EnterBroadcastModeAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(plugin), &mut result__).from_abi(result__)
5216 }
5217 }
5218 pub fn ExitBroadcastMode(&self, reason: AppBroadcastExitBroadcastModeReason) -> ::windows::core::Result<()> {
5219 let this = self;
5220 unsafe { (::windows::core::Interface::vtable(this).ExitBroadcastMode)(::windows::core::Interface::as_raw(this), reason).ok() }
5221 }
5222 pub fn StartBroadcast(&self) -> ::windows::core::Result<()> {
5223 let this = self;
5224 unsafe { (::windows::core::Interface::vtable(this).StartBroadcast)(::windows::core::Interface::as_raw(this)).ok() }
5225 }
5226 pub fn PauseBroadcast(&self) -> ::windows::core::Result<()> {
5227 let this = self;
5228 unsafe { (::windows::core::Interface::vtable(this).PauseBroadcast)(::windows::core::Interface::as_raw(this)).ok() }
5229 }
5230 pub fn ResumeBroadcast(&self) -> ::windows::core::Result<()> {
5231 let this = self;
5232 unsafe { (::windows::core::Interface::vtable(this).ResumeBroadcast)(::windows::core::Interface::as_raw(this)).ok() }
5233 }
5234 #[doc = "*Required features: `\"Foundation\"`*"]
5235 #[cfg(feature = "Foundation")]
5236 pub fn StartPreview(&self, desiredsize: super::super::Foundation::Size) -> ::windows::core::Result<AppBroadcastPreview> {
5237 let this = self;
5238 unsafe {
5239 let mut result__ = ::windows::core::zeroed::<AppBroadcastPreview>();
5240 (::windows::core::Interface::vtable(this).StartPreview)(::windows::core::Interface::as_raw(this), desiredsize, &mut result__).from_abi(result__)
5241 }
5242 }
5243 pub fn State(&self) -> ::windows::core::Result<AppBroadcastState> {
5244 let this = self;
5245 unsafe {
5246 let mut result__ = ::windows::core::zeroed::<AppBroadcastState>();
5247 (::windows::core::Interface::vtable(this).State)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5248 }
5249 }
5250 }
5251 impl ::core::cmp::PartialEq for AppBroadcastServices {
5252 fn eq(&self, other: &Self) -> bool {
5253 self.0 == other.0
5254 }
5255 }
5256 impl ::core::cmp::Eq for AppBroadcastServices {}
5257 impl ::core::fmt::Debug for AppBroadcastServices {
5258 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5259 f.debug_tuple("AppBroadcastServices").field(&self.0).finish()
5260 }
5261 }
5262 impl ::windows::core::RuntimeType for AppBroadcastServices {
5263 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastServices;{8660b4d6-969b-4e3c-ac3a-8b042ee4ee63})");
5264 }
5265 impl ::core::clone::Clone for AppBroadcastServices {
5266 fn clone(&self) -> Self {
5267 Self(self.0.clone())
5268 }
5269 }
5270 unsafe impl ::windows::core::Interface for AppBroadcastServices {
5271 type Vtable = IAppBroadcastServices_Vtbl;
5272 }
5273 unsafe impl ::windows::core::ComInterface for AppBroadcastServices {
5274 const IID: ::windows::core::GUID = <IAppBroadcastServices as ::windows::core::ComInterface>::IID;
5275 }
5276 impl ::windows::core::RuntimeName for AppBroadcastServices {
5277 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastServices";
5278 }
5279 ::windows::imp::interface_hierarchy!(AppBroadcastServices, ::windows::core::IUnknown, ::windows::core::IInspectable);
5280 unsafe impl ::core::marker::Send for AppBroadcastServices {}
5281 unsafe impl ::core::marker::Sync for AppBroadcastServices {}
5282 #[doc = "*Required features: `\"Media_Capture\"`*"]
5283 #[repr(transparent)]
5284 pub struct AppBroadcastSignInStateChangedEventArgs(::windows::core::IUnknown);
5285 impl AppBroadcastSignInStateChangedEventArgs {
5286 pub fn SignInState(&self) -> ::windows::core::Result<AppBroadcastSignInState> {
5287 let this = self;
5288 unsafe {
5289 let mut result__ = ::windows::core::zeroed::<AppBroadcastSignInState>();
5290 (::windows::core::Interface::vtable(this).SignInState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5291 }
5292 }
5293 pub fn Result(&self) -> ::windows::core::Result<AppBroadcastSignInResult> {
5294 let this = self;
5295 unsafe {
5296 let mut result__ = ::windows::core::zeroed::<AppBroadcastSignInResult>();
5297 (::windows::core::Interface::vtable(this).Result)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5298 }
5299 }
5300 }
5301 impl ::core::cmp::PartialEq for AppBroadcastSignInStateChangedEventArgs {
5302 fn eq(&self, other: &Self) -> bool {
5303 self.0 == other.0
5304 }
5305 }
5306 impl ::core::cmp::Eq for AppBroadcastSignInStateChangedEventArgs {}
5307 impl ::core::fmt::Debug for AppBroadcastSignInStateChangedEventArgs {
5308 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5309 f.debug_tuple("AppBroadcastSignInStateChangedEventArgs").field(&self.0).finish()
5310 }
5311 }
5312 impl ::windows::core::RuntimeType for AppBroadcastSignInStateChangedEventArgs {
5313 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastSignInStateChangedEventArgs;{02b692a4-5919-4a9e-8d5e-c9bb0dd3377a})");
5314 }
5315 impl ::core::clone::Clone for AppBroadcastSignInStateChangedEventArgs {
5316 fn clone(&self) -> Self {
5317 Self(self.0.clone())
5318 }
5319 }
5320 unsafe impl ::windows::core::Interface for AppBroadcastSignInStateChangedEventArgs {
5321 type Vtable = IAppBroadcastSignInStateChangedEventArgs_Vtbl;
5322 }
5323 unsafe impl ::windows::core::ComInterface for AppBroadcastSignInStateChangedEventArgs {
5324 const IID: ::windows::core::GUID = <IAppBroadcastSignInStateChangedEventArgs as ::windows::core::ComInterface>::IID;
5325 }
5326 impl ::windows::core::RuntimeName for AppBroadcastSignInStateChangedEventArgs {
5327 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastSignInStateChangedEventArgs";
5328 }
5329 ::windows::imp::interface_hierarchy!(AppBroadcastSignInStateChangedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
5330 #[doc = "*Required features: `\"Media_Capture\"`*"]
5331 #[repr(transparent)]
5332 pub struct AppBroadcastState(::windows::core::IUnknown);
5333 impl AppBroadcastState {
5334 pub fn IsCaptureTargetRunning(&self) -> ::windows::core::Result<bool> {
5335 let this = self;
5336 unsafe {
5337 let mut result__ = ::windows::core::zeroed::<bool>();
5338 (::windows::core::Interface::vtable(this).IsCaptureTargetRunning)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5339 }
5340 }
5341 pub fn ViewerCount(&self) -> ::windows::core::Result<u32> {
5342 let this = self;
5343 unsafe {
5344 let mut result__ = ::windows::core::zeroed::<u32>();
5345 (::windows::core::Interface::vtable(this).ViewerCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5346 }
5347 }
5348 pub fn ShouldCaptureMicrophone(&self) -> ::windows::core::Result<bool> {
5349 let this = self;
5350 unsafe {
5351 let mut result__ = ::windows::core::zeroed::<bool>();
5352 (::windows::core::Interface::vtable(this).ShouldCaptureMicrophone)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5353 }
5354 }
5355 pub fn SetShouldCaptureMicrophone(&self, value: bool) -> ::windows::core::Result<()> {
5356 let this = self;
5357 unsafe { (::windows::core::Interface::vtable(this).SetShouldCaptureMicrophone)(::windows::core::Interface::as_raw(this), value).ok() }
5358 }
5359 pub fn RestartMicrophoneCapture(&self) -> ::windows::core::Result<()> {
5360 let this = self;
5361 unsafe { (::windows::core::Interface::vtable(this).RestartMicrophoneCapture)(::windows::core::Interface::as_raw(this)).ok() }
5362 }
5363 pub fn ShouldCaptureCamera(&self) -> ::windows::core::Result<bool> {
5364 let this = self;
5365 unsafe {
5366 let mut result__ = ::windows::core::zeroed::<bool>();
5367 (::windows::core::Interface::vtable(this).ShouldCaptureCamera)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5368 }
5369 }
5370 pub fn SetShouldCaptureCamera(&self, value: bool) -> ::windows::core::Result<()> {
5371 let this = self;
5372 unsafe { (::windows::core::Interface::vtable(this).SetShouldCaptureCamera)(::windows::core::Interface::as_raw(this), value).ok() }
5373 }
5374 pub fn RestartCameraCapture(&self) -> ::windows::core::Result<()> {
5375 let this = self;
5376 unsafe { (::windows::core::Interface::vtable(this).RestartCameraCapture)(::windows::core::Interface::as_raw(this)).ok() }
5377 }
5378 #[doc = "*Required features: `\"Foundation\"`*"]
5379 #[cfg(feature = "Foundation")]
5380 pub fn EncodedVideoSize(&self) -> ::windows::core::Result<super::super::Foundation::Size> {
5381 let this = self;
5382 unsafe {
5383 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Size>();
5384 (::windows::core::Interface::vtable(this).EncodedVideoSize)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5385 }
5386 }
5387 pub fn MicrophoneCaptureState(&self) -> ::windows::core::Result<AppBroadcastMicrophoneCaptureState> {
5388 let this = self;
5389 unsafe {
5390 let mut result__ = ::windows::core::zeroed::<AppBroadcastMicrophoneCaptureState>();
5391 (::windows::core::Interface::vtable(this).MicrophoneCaptureState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5392 }
5393 }
5394 pub fn MicrophoneCaptureError(&self) -> ::windows::core::Result<u32> {
5395 let this = self;
5396 unsafe {
5397 let mut result__ = ::windows::core::zeroed::<u32>();
5398 (::windows::core::Interface::vtable(this).MicrophoneCaptureError)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5399 }
5400 }
5401 pub fn CameraCaptureState(&self) -> ::windows::core::Result<AppBroadcastCameraCaptureState> {
5402 let this = self;
5403 unsafe {
5404 let mut result__ = ::windows::core::zeroed::<AppBroadcastCameraCaptureState>();
5405 (::windows::core::Interface::vtable(this).CameraCaptureState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5406 }
5407 }
5408 pub fn CameraCaptureError(&self) -> ::windows::core::Result<u32> {
5409 let this = self;
5410 unsafe {
5411 let mut result__ = ::windows::core::zeroed::<u32>();
5412 (::windows::core::Interface::vtable(this).CameraCaptureError)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5413 }
5414 }
5415 pub fn StreamState(&self) -> ::windows::core::Result<AppBroadcastStreamState> {
5416 let this = self;
5417 unsafe {
5418 let mut result__ = ::windows::core::zeroed::<AppBroadcastStreamState>();
5419 (::windows::core::Interface::vtable(this).StreamState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5420 }
5421 }
5422 pub fn PlugInState(&self) -> ::windows::core::Result<AppBroadcastPlugInState> {
5423 let this = self;
5424 unsafe {
5425 let mut result__ = ::windows::core::zeroed::<AppBroadcastPlugInState>();
5426 (::windows::core::Interface::vtable(this).PlugInState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5427 }
5428 }
5429 #[doc = "*Required features: `\"Foundation\"`*"]
5430 #[cfg(feature = "Foundation")]
5431 pub fn OAuthRequestUri(&self) -> ::windows::core::Result<super::super::Foundation::Uri> {
5432 let this = self;
5433 unsafe {
5434 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Uri>();
5435 (::windows::core::Interface::vtable(this).OAuthRequestUri)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5436 }
5437 }
5438 #[doc = "*Required features: `\"Foundation\"`*"]
5439 #[cfg(feature = "Foundation")]
5440 pub fn OAuthCallbackUri(&self) -> ::windows::core::Result<super::super::Foundation::Uri> {
5441 let this = self;
5442 unsafe {
5443 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Uri>();
5444 (::windows::core::Interface::vtable(this).OAuthCallbackUri)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5445 }
5446 }
5447 #[doc = "*Required features: `\"Security_Authentication_Web\"`*"]
5448 #[cfg(feature = "Security_Authentication_Web")]
5449 pub fn AuthenticationResult(&self) -> ::windows::core::Result<super::super::Security::Authentication::Web::WebAuthenticationResult> {
5450 let this = self;
5451 unsafe {
5452 let mut result__ = ::windows::core::zeroed::<super::super::Security::Authentication::Web::WebAuthenticationResult>();
5453 (::windows::core::Interface::vtable(this).AuthenticationResult)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5454 }
5455 }
5456 #[doc = "*Required features: `\"Security_Authentication_Web\"`*"]
5457 #[cfg(feature = "Security_Authentication_Web")]
5458 pub fn SetAuthenticationResult(&self, value: &super::super::Security::Authentication::Web::WebAuthenticationResult) -> ::windows::core::Result<()> {
5459 let this = self;
5460 unsafe { (::windows::core::Interface::vtable(this).SetAuthenticationResult)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
5461 }
5462 pub fn SetSignInState(&self, value: AppBroadcastSignInState) -> ::windows::core::Result<()> {
5463 let this = self;
5464 unsafe { (::windows::core::Interface::vtable(this).SetSignInState)(::windows::core::Interface::as_raw(this), value).ok() }
5465 }
5466 pub fn SignInState(&self) -> ::windows::core::Result<AppBroadcastSignInState> {
5467 let this = self;
5468 unsafe {
5469 let mut result__ = ::windows::core::zeroed::<AppBroadcastSignInState>();
5470 (::windows::core::Interface::vtable(this).SignInState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5471 }
5472 }
5473 pub fn TerminationReason(&self) -> ::windows::core::Result<AppBroadcastTerminationReason> {
5474 let this = self;
5475 unsafe {
5476 let mut result__ = ::windows::core::zeroed::<AppBroadcastTerminationReason>();
5477 (::windows::core::Interface::vtable(this).TerminationReason)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5478 }
5479 }
5480 pub fn TerminationReasonPlugInSpecific(&self) -> ::windows::core::Result<u32> {
5481 let this = self;
5482 unsafe {
5483 let mut result__ = ::windows::core::zeroed::<u32>();
5484 (::windows::core::Interface::vtable(this).TerminationReasonPlugInSpecific)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5485 }
5486 }
5487 #[doc = "*Required features: `\"Foundation\"`*"]
5488 #[cfg(feature = "Foundation")]
5489 pub fn ViewerCountChanged(&self, value: &super::super::Foundation::TypedEventHandler<AppBroadcastState, AppBroadcastViewerCountChangedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
5490 let this = self;
5491 unsafe {
5492 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
5493 (::windows::core::Interface::vtable(this).ViewerCountChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
5494 }
5495 }
5496 #[doc = "*Required features: `\"Foundation\"`*"]
5497 #[cfg(feature = "Foundation")]
5498 pub fn RemoveViewerCountChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
5499 let this = self;
5500 unsafe { (::windows::core::Interface::vtable(this).RemoveViewerCountChanged)(::windows::core::Interface::as_raw(this), token).ok() }
5501 }
5502 #[doc = "*Required features: `\"Foundation\"`*"]
5503 #[cfg(feature = "Foundation")]
5504 pub fn MicrophoneCaptureStateChanged(&self, value: &super::super::Foundation::TypedEventHandler<AppBroadcastState, AppBroadcastMicrophoneCaptureStateChangedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
5505 let this = self;
5506 unsafe {
5507 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
5508 (::windows::core::Interface::vtable(this).MicrophoneCaptureStateChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
5509 }
5510 }
5511 #[doc = "*Required features: `\"Foundation\"`*"]
5512 #[cfg(feature = "Foundation")]
5513 pub fn RemoveMicrophoneCaptureStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
5514 let this = self;
5515 unsafe { (::windows::core::Interface::vtable(this).RemoveMicrophoneCaptureStateChanged)(::windows::core::Interface::as_raw(this), token).ok() }
5516 }
5517 #[doc = "*Required features: `\"Foundation\"`*"]
5518 #[cfg(feature = "Foundation")]
5519 pub fn CameraCaptureStateChanged(&self, value: &super::super::Foundation::TypedEventHandler<AppBroadcastState, AppBroadcastCameraCaptureStateChangedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
5520 let this = self;
5521 unsafe {
5522 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
5523 (::windows::core::Interface::vtable(this).CameraCaptureStateChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
5524 }
5525 }
5526 #[doc = "*Required features: `\"Foundation\"`*"]
5527 #[cfg(feature = "Foundation")]
5528 pub fn RemoveCameraCaptureStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
5529 let this = self;
5530 unsafe { (::windows::core::Interface::vtable(this).RemoveCameraCaptureStateChanged)(::windows::core::Interface::as_raw(this), token).ok() }
5531 }
5532 #[doc = "*Required features: `\"Foundation\"`*"]
5533 #[cfg(feature = "Foundation")]
5534 pub fn PlugInStateChanged(&self, handler: &super::super::Foundation::TypedEventHandler<AppBroadcastState, AppBroadcastPlugInStateChangedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
5535 let this = self;
5536 unsafe {
5537 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
5538 (::windows::core::Interface::vtable(this).PlugInStateChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
5539 }
5540 }
5541 #[doc = "*Required features: `\"Foundation\"`*"]
5542 #[cfg(feature = "Foundation")]
5543 pub fn RemovePlugInStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
5544 let this = self;
5545 unsafe { (::windows::core::Interface::vtable(this).RemovePlugInStateChanged)(::windows::core::Interface::as_raw(this), token).ok() }
5546 }
5547 #[doc = "*Required features: `\"Foundation\"`*"]
5548 #[cfg(feature = "Foundation")]
5549 pub fn StreamStateChanged(&self, handler: &super::super::Foundation::TypedEventHandler<AppBroadcastState, AppBroadcastStreamStateChangedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
5550 let this = self;
5551 unsafe {
5552 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
5553 (::windows::core::Interface::vtable(this).StreamStateChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
5554 }
5555 }
5556 #[doc = "*Required features: `\"Foundation\"`*"]
5557 #[cfg(feature = "Foundation")]
5558 pub fn RemoveStreamStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
5559 let this = self;
5560 unsafe { (::windows::core::Interface::vtable(this).RemoveStreamStateChanged)(::windows::core::Interface::as_raw(this), token).ok() }
5561 }
5562 #[doc = "*Required features: `\"Foundation\"`*"]
5563 #[cfg(feature = "Foundation")]
5564 pub fn CaptureTargetClosed(&self, value: &super::super::Foundation::TypedEventHandler<AppBroadcastState, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
5565 let this = self;
5566 unsafe {
5567 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
5568 (::windows::core::Interface::vtable(this).CaptureTargetClosed)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
5569 }
5570 }
5571 #[doc = "*Required features: `\"Foundation\"`*"]
5572 #[cfg(feature = "Foundation")]
5573 pub fn RemoveCaptureTargetClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
5574 let this = self;
5575 unsafe { (::windows::core::Interface::vtable(this).RemoveCaptureTargetClosed)(::windows::core::Interface::as_raw(this), token).ok() }
5576 }
5577 }
5578 impl ::core::cmp::PartialEq for AppBroadcastState {
5579 fn eq(&self, other: &Self) -> bool {
5580 self.0 == other.0
5581 }
5582 }
5583 impl ::core::cmp::Eq for AppBroadcastState {}
5584 impl ::core::fmt::Debug for AppBroadcastState {
5585 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5586 f.debug_tuple("AppBroadcastState").field(&self.0).finish()
5587 }
5588 }
5589 impl ::windows::core::RuntimeType for AppBroadcastState {
5590 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastState;{ee08056d-8099-4ddd-922e-c56dac58abfb})");
5591 }
5592 impl ::core::clone::Clone for AppBroadcastState {
5593 fn clone(&self) -> Self {
5594 Self(self.0.clone())
5595 }
5596 }
5597 unsafe impl ::windows::core::Interface for AppBroadcastState {
5598 type Vtable = IAppBroadcastState_Vtbl;
5599 }
5600 unsafe impl ::windows::core::ComInterface for AppBroadcastState {
5601 const IID: ::windows::core::GUID = <IAppBroadcastState as ::windows::core::ComInterface>::IID;
5602 }
5603 impl ::windows::core::RuntimeName for AppBroadcastState {
5604 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastState";
5605 }
5606 ::windows::imp::interface_hierarchy!(AppBroadcastState, ::windows::core::IUnknown, ::windows::core::IInspectable);
5607 unsafe impl ::core::marker::Send for AppBroadcastState {}
5608 unsafe impl ::core::marker::Sync for AppBroadcastState {}
5609 #[doc = "*Required features: `\"Media_Capture\"`*"]
5610 #[repr(transparent)]
5611 pub struct AppBroadcastStreamAudioFrame(::windows::core::IUnknown);
5612 impl AppBroadcastStreamAudioFrame {
5613 pub fn AudioHeader(&self) -> ::windows::core::Result<AppBroadcastStreamAudioHeader> {
5614 let this = self;
5615 unsafe {
5616 let mut result__ = ::windows::core::zeroed::<AppBroadcastStreamAudioHeader>();
5617 (::windows::core::Interface::vtable(this).AudioHeader)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5618 }
5619 }
5620 #[doc = "*Required features: `\"Storage_Streams\"`*"]
5621 #[cfg(feature = "Storage_Streams")]
5622 pub fn AudioBuffer(&self) -> ::windows::core::Result<super::super::Storage::Streams::IBuffer> {
5623 let this = self;
5624 unsafe {
5625 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IBuffer>();
5626 (::windows::core::Interface::vtable(this).AudioBuffer)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5627 }
5628 }
5629 }
5630 impl ::core::cmp::PartialEq for AppBroadcastStreamAudioFrame {
5631 fn eq(&self, other: &Self) -> bool {
5632 self.0 == other.0
5633 }
5634 }
5635 impl ::core::cmp::Eq for AppBroadcastStreamAudioFrame {}
5636 impl ::core::fmt::Debug for AppBroadcastStreamAudioFrame {
5637 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5638 f.debug_tuple("AppBroadcastStreamAudioFrame").field(&self.0).finish()
5639 }
5640 }
5641 impl ::windows::core::RuntimeType for AppBroadcastStreamAudioFrame {
5642 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastStreamAudioFrame;{efab4ac8-21ba-453f-8bb7-5e938a2e9a74})");
5643 }
5644 impl ::core::clone::Clone for AppBroadcastStreamAudioFrame {
5645 fn clone(&self) -> Self {
5646 Self(self.0.clone())
5647 }
5648 }
5649 unsafe impl ::windows::core::Interface for AppBroadcastStreamAudioFrame {
5650 type Vtable = IAppBroadcastStreamAudioFrame_Vtbl;
5651 }
5652 unsafe impl ::windows::core::ComInterface for AppBroadcastStreamAudioFrame {
5653 const IID: ::windows::core::GUID = <IAppBroadcastStreamAudioFrame as ::windows::core::ComInterface>::IID;
5654 }
5655 impl ::windows::core::RuntimeName for AppBroadcastStreamAudioFrame {
5656 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastStreamAudioFrame";
5657 }
5658 ::windows::imp::interface_hierarchy!(AppBroadcastStreamAudioFrame, ::windows::core::IUnknown, ::windows::core::IInspectable);
5659 #[doc = "*Required features: `\"Media_Capture\"`*"]
5660 #[repr(transparent)]
5661 pub struct AppBroadcastStreamAudioHeader(::windows::core::IUnknown);
5662 impl AppBroadcastStreamAudioHeader {
5663 #[doc = "*Required features: `\"Foundation\"`*"]
5664 #[cfg(feature = "Foundation")]
5665 pub fn AbsoluteTimestamp(&self) -> ::windows::core::Result<super::super::Foundation::DateTime> {
5666 let this = self;
5667 unsafe {
5668 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::DateTime>();
5669 (::windows::core::Interface::vtable(this).AbsoluteTimestamp)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5670 }
5671 }
5672 #[doc = "*Required features: `\"Foundation\"`*"]
5673 #[cfg(feature = "Foundation")]
5674 pub fn RelativeTimestamp(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
5675 let this = self;
5676 unsafe {
5677 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
5678 (::windows::core::Interface::vtable(this).RelativeTimestamp)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5679 }
5680 }
5681 #[doc = "*Required features: `\"Foundation\"`*"]
5682 #[cfg(feature = "Foundation")]
5683 pub fn Duration(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
5684 let this = self;
5685 unsafe {
5686 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
5687 (::windows::core::Interface::vtable(this).Duration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5688 }
5689 }
5690 pub fn HasDiscontinuity(&self) -> ::windows::core::Result<bool> {
5691 let this = self;
5692 unsafe {
5693 let mut result__ = ::windows::core::zeroed::<bool>();
5694 (::windows::core::Interface::vtable(this).HasDiscontinuity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5695 }
5696 }
5697 pub fn FrameId(&self) -> ::windows::core::Result<u64> {
5698 let this = self;
5699 unsafe {
5700 let mut result__ = ::windows::core::zeroed::<u64>();
5701 (::windows::core::Interface::vtable(this).FrameId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5702 }
5703 }
5704 }
5705 impl ::core::cmp::PartialEq for AppBroadcastStreamAudioHeader {
5706 fn eq(&self, other: &Self) -> bool {
5707 self.0 == other.0
5708 }
5709 }
5710 impl ::core::cmp::Eq for AppBroadcastStreamAudioHeader {}
5711 impl ::core::fmt::Debug for AppBroadcastStreamAudioHeader {
5712 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5713 f.debug_tuple("AppBroadcastStreamAudioHeader").field(&self.0).finish()
5714 }
5715 }
5716 impl ::windows::core::RuntimeType for AppBroadcastStreamAudioHeader {
5717 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastStreamAudioHeader;{bf21a570-6b78-4216-9f07-5aff5256f1b7})");
5718 }
5719 impl ::core::clone::Clone for AppBroadcastStreamAudioHeader {
5720 fn clone(&self) -> Self {
5721 Self(self.0.clone())
5722 }
5723 }
5724 unsafe impl ::windows::core::Interface for AppBroadcastStreamAudioHeader {
5725 type Vtable = IAppBroadcastStreamAudioHeader_Vtbl;
5726 }
5727 unsafe impl ::windows::core::ComInterface for AppBroadcastStreamAudioHeader {
5728 const IID: ::windows::core::GUID = <IAppBroadcastStreamAudioHeader as ::windows::core::ComInterface>::IID;
5729 }
5730 impl ::windows::core::RuntimeName for AppBroadcastStreamAudioHeader {
5731 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastStreamAudioHeader";
5732 }
5733 ::windows::imp::interface_hierarchy!(AppBroadcastStreamAudioHeader, ::windows::core::IUnknown, ::windows::core::IInspectable);
5734 #[doc = "*Required features: `\"Media_Capture\"`*"]
5735 #[repr(transparent)]
5736 pub struct AppBroadcastStreamReader(::windows::core::IUnknown);
5737 impl AppBroadcastStreamReader {
5738 pub fn AudioChannels(&self) -> ::windows::core::Result<u32> {
5739 let this = self;
5740 unsafe {
5741 let mut result__ = ::windows::core::zeroed::<u32>();
5742 (::windows::core::Interface::vtable(this).AudioChannels)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5743 }
5744 }
5745 pub fn AudioSampleRate(&self) -> ::windows::core::Result<u32> {
5746 let this = self;
5747 unsafe {
5748 let mut result__ = ::windows::core::zeroed::<u32>();
5749 (::windows::core::Interface::vtable(this).AudioSampleRate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5750 }
5751 }
5752 #[doc = "*Required features: `\"Storage_Streams\"`*"]
5753 #[cfg(feature = "Storage_Streams")]
5754 pub fn AudioAacSequence(&self) -> ::windows::core::Result<super::super::Storage::Streams::IBuffer> {
5755 let this = self;
5756 unsafe {
5757 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IBuffer>();
5758 (::windows::core::Interface::vtable(this).AudioAacSequence)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5759 }
5760 }
5761 pub fn AudioBitrate(&self) -> ::windows::core::Result<u32> {
5762 let this = self;
5763 unsafe {
5764 let mut result__ = ::windows::core::zeroed::<u32>();
5765 (::windows::core::Interface::vtable(this).AudioBitrate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5766 }
5767 }
5768 pub fn TryGetNextAudioFrame(&self) -> ::windows::core::Result<AppBroadcastStreamAudioFrame> {
5769 let this = self;
5770 unsafe {
5771 let mut result__ = ::windows::core::zeroed::<AppBroadcastStreamAudioFrame>();
5772 (::windows::core::Interface::vtable(this).TryGetNextAudioFrame)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5773 }
5774 }
5775 pub fn VideoWidth(&self) -> ::windows::core::Result<u32> {
5776 let this = self;
5777 unsafe {
5778 let mut result__ = ::windows::core::zeroed::<u32>();
5779 (::windows::core::Interface::vtable(this).VideoWidth)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5780 }
5781 }
5782 pub fn VideoHeight(&self) -> ::windows::core::Result<u32> {
5783 let this = self;
5784 unsafe {
5785 let mut result__ = ::windows::core::zeroed::<u32>();
5786 (::windows::core::Interface::vtable(this).VideoHeight)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5787 }
5788 }
5789 pub fn VideoBitrate(&self) -> ::windows::core::Result<u32> {
5790 let this = self;
5791 unsafe {
5792 let mut result__ = ::windows::core::zeroed::<u32>();
5793 (::windows::core::Interface::vtable(this).VideoBitrate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5794 }
5795 }
5796 pub fn TryGetNextVideoFrame(&self) -> ::windows::core::Result<AppBroadcastStreamVideoFrame> {
5797 let this = self;
5798 unsafe {
5799 let mut result__ = ::windows::core::zeroed::<AppBroadcastStreamVideoFrame>();
5800 (::windows::core::Interface::vtable(this).TryGetNextVideoFrame)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5801 }
5802 }
5803 #[doc = "*Required features: `\"Foundation\"`*"]
5804 #[cfg(feature = "Foundation")]
5805 pub fn AudioFrameArrived(&self, value: &super::super::Foundation::TypedEventHandler<AppBroadcastStreamReader, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
5806 let this = self;
5807 unsafe {
5808 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
5809 (::windows::core::Interface::vtable(this).AudioFrameArrived)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
5810 }
5811 }
5812 #[doc = "*Required features: `\"Foundation\"`*"]
5813 #[cfg(feature = "Foundation")]
5814 pub fn RemoveAudioFrameArrived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
5815 let this = self;
5816 unsafe { (::windows::core::Interface::vtable(this).RemoveAudioFrameArrived)(::windows::core::Interface::as_raw(this), token).ok() }
5817 }
5818 #[doc = "*Required features: `\"Foundation\"`*"]
5819 #[cfg(feature = "Foundation")]
5820 pub fn VideoFrameArrived(&self, value: &super::super::Foundation::TypedEventHandler<AppBroadcastStreamReader, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
5821 let this = self;
5822 unsafe {
5823 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
5824 (::windows::core::Interface::vtable(this).VideoFrameArrived)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
5825 }
5826 }
5827 #[doc = "*Required features: `\"Foundation\"`*"]
5828 #[cfg(feature = "Foundation")]
5829 pub fn RemoveVideoFrameArrived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
5830 let this = self;
5831 unsafe { (::windows::core::Interface::vtable(this).RemoveVideoFrameArrived)(::windows::core::Interface::as_raw(this), token).ok() }
5832 }
5833 }
5834 impl ::core::cmp::PartialEq for AppBroadcastStreamReader {
5835 fn eq(&self, other: &Self) -> bool {
5836 self.0 == other.0
5837 }
5838 }
5839 impl ::core::cmp::Eq for AppBroadcastStreamReader {}
5840 impl ::core::fmt::Debug for AppBroadcastStreamReader {
5841 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5842 f.debug_tuple("AppBroadcastStreamReader").field(&self.0).finish()
5843 }
5844 }
5845 impl ::windows::core::RuntimeType for AppBroadcastStreamReader {
5846 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastStreamReader;{b338bcf9-3364-4460-b5f1-3cc2796a8aa2})");
5847 }
5848 impl ::core::clone::Clone for AppBroadcastStreamReader {
5849 fn clone(&self) -> Self {
5850 Self(self.0.clone())
5851 }
5852 }
5853 unsafe impl ::windows::core::Interface for AppBroadcastStreamReader {
5854 type Vtable = IAppBroadcastStreamReader_Vtbl;
5855 }
5856 unsafe impl ::windows::core::ComInterface for AppBroadcastStreamReader {
5857 const IID: ::windows::core::GUID = <IAppBroadcastStreamReader as ::windows::core::ComInterface>::IID;
5858 }
5859 impl ::windows::core::RuntimeName for AppBroadcastStreamReader {
5860 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastStreamReader";
5861 }
5862 ::windows::imp::interface_hierarchy!(AppBroadcastStreamReader, ::windows::core::IUnknown, ::windows::core::IInspectable);
5863 #[doc = "*Required features: `\"Media_Capture\"`*"]
5864 #[repr(transparent)]
5865 pub struct AppBroadcastStreamStateChangedEventArgs(::windows::core::IUnknown);
5866 impl AppBroadcastStreamStateChangedEventArgs {
5867 pub fn StreamState(&self) -> ::windows::core::Result<AppBroadcastStreamState> {
5868 let this = self;
5869 unsafe {
5870 let mut result__ = ::windows::core::zeroed::<AppBroadcastStreamState>();
5871 (::windows::core::Interface::vtable(this).StreamState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5872 }
5873 }
5874 }
5875 impl ::core::cmp::PartialEq for AppBroadcastStreamStateChangedEventArgs {
5876 fn eq(&self, other: &Self) -> bool {
5877 self.0 == other.0
5878 }
5879 }
5880 impl ::core::cmp::Eq for AppBroadcastStreamStateChangedEventArgs {}
5881 impl ::core::fmt::Debug for AppBroadcastStreamStateChangedEventArgs {
5882 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5883 f.debug_tuple("AppBroadcastStreamStateChangedEventArgs").field(&self.0).finish()
5884 }
5885 }
5886 impl ::windows::core::RuntimeType for AppBroadcastStreamStateChangedEventArgs {
5887 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastStreamStateChangedEventArgs;{5108a733-d008-4a89-93be-58aed961374e})");
5888 }
5889 impl ::core::clone::Clone for AppBroadcastStreamStateChangedEventArgs {
5890 fn clone(&self) -> Self {
5891 Self(self.0.clone())
5892 }
5893 }
5894 unsafe impl ::windows::core::Interface for AppBroadcastStreamStateChangedEventArgs {
5895 type Vtable = IAppBroadcastStreamStateChangedEventArgs_Vtbl;
5896 }
5897 unsafe impl ::windows::core::ComInterface for AppBroadcastStreamStateChangedEventArgs {
5898 const IID: ::windows::core::GUID = <IAppBroadcastStreamStateChangedEventArgs as ::windows::core::ComInterface>::IID;
5899 }
5900 impl ::windows::core::RuntimeName for AppBroadcastStreamStateChangedEventArgs {
5901 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastStreamStateChangedEventArgs";
5902 }
5903 ::windows::imp::interface_hierarchy!(AppBroadcastStreamStateChangedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
5904 #[doc = "*Required features: `\"Media_Capture\"`*"]
5905 #[repr(transparent)]
5906 pub struct AppBroadcastStreamVideoFrame(::windows::core::IUnknown);
5907 impl AppBroadcastStreamVideoFrame {
5908 pub fn VideoHeader(&self) -> ::windows::core::Result<AppBroadcastStreamVideoHeader> {
5909 let this = self;
5910 unsafe {
5911 let mut result__ = ::windows::core::zeroed::<AppBroadcastStreamVideoHeader>();
5912 (::windows::core::Interface::vtable(this).VideoHeader)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5913 }
5914 }
5915 #[doc = "*Required features: `\"Storage_Streams\"`*"]
5916 #[cfg(feature = "Storage_Streams")]
5917 pub fn VideoBuffer(&self) -> ::windows::core::Result<super::super::Storage::Streams::IBuffer> {
5918 let this = self;
5919 unsafe {
5920 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IBuffer>();
5921 (::windows::core::Interface::vtable(this).VideoBuffer)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5922 }
5923 }
5924 }
5925 impl ::core::cmp::PartialEq for AppBroadcastStreamVideoFrame {
5926 fn eq(&self, other: &Self) -> bool {
5927 self.0 == other.0
5928 }
5929 }
5930 impl ::core::cmp::Eq for AppBroadcastStreamVideoFrame {}
5931 impl ::core::fmt::Debug for AppBroadcastStreamVideoFrame {
5932 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5933 f.debug_tuple("AppBroadcastStreamVideoFrame").field(&self.0).finish()
5934 }
5935 }
5936 impl ::windows::core::RuntimeType for AppBroadcastStreamVideoFrame {
5937 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastStreamVideoFrame;{0f97cf2b-c9e4-4e88-8194-d814cbd585d8})");
5938 }
5939 impl ::core::clone::Clone for AppBroadcastStreamVideoFrame {
5940 fn clone(&self) -> Self {
5941 Self(self.0.clone())
5942 }
5943 }
5944 unsafe impl ::windows::core::Interface for AppBroadcastStreamVideoFrame {
5945 type Vtable = IAppBroadcastStreamVideoFrame_Vtbl;
5946 }
5947 unsafe impl ::windows::core::ComInterface for AppBroadcastStreamVideoFrame {
5948 const IID: ::windows::core::GUID = <IAppBroadcastStreamVideoFrame as ::windows::core::ComInterface>::IID;
5949 }
5950 impl ::windows::core::RuntimeName for AppBroadcastStreamVideoFrame {
5951 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastStreamVideoFrame";
5952 }
5953 ::windows::imp::interface_hierarchy!(AppBroadcastStreamVideoFrame, ::windows::core::IUnknown, ::windows::core::IInspectable);
5954 #[doc = "*Required features: `\"Media_Capture\"`*"]
5955 #[repr(transparent)]
5956 pub struct AppBroadcastStreamVideoHeader(::windows::core::IUnknown);
5957 impl AppBroadcastStreamVideoHeader {
5958 #[doc = "*Required features: `\"Foundation\"`*"]
5959 #[cfg(feature = "Foundation")]
5960 pub fn AbsoluteTimestamp(&self) -> ::windows::core::Result<super::super::Foundation::DateTime> {
5961 let this = self;
5962 unsafe {
5963 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::DateTime>();
5964 (::windows::core::Interface::vtable(this).AbsoluteTimestamp)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5965 }
5966 }
5967 #[doc = "*Required features: `\"Foundation\"`*"]
5968 #[cfg(feature = "Foundation")]
5969 pub fn RelativeTimestamp(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
5970 let this = self;
5971 unsafe {
5972 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
5973 (::windows::core::Interface::vtable(this).RelativeTimestamp)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5974 }
5975 }
5976 #[doc = "*Required features: `\"Foundation\"`*"]
5977 #[cfg(feature = "Foundation")]
5978 pub fn Duration(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
5979 let this = self;
5980 unsafe {
5981 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
5982 (::windows::core::Interface::vtable(this).Duration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5983 }
5984 }
5985 pub fn IsKeyFrame(&self) -> ::windows::core::Result<bool> {
5986 let this = self;
5987 unsafe {
5988 let mut result__ = ::windows::core::zeroed::<bool>();
5989 (::windows::core::Interface::vtable(this).IsKeyFrame)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5990 }
5991 }
5992 pub fn HasDiscontinuity(&self) -> ::windows::core::Result<bool> {
5993 let this = self;
5994 unsafe {
5995 let mut result__ = ::windows::core::zeroed::<bool>();
5996 (::windows::core::Interface::vtable(this).HasDiscontinuity)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
5997 }
5998 }
5999 pub fn FrameId(&self) -> ::windows::core::Result<u64> {
6000 let this = self;
6001 unsafe {
6002 let mut result__ = ::windows::core::zeroed::<u64>();
6003 (::windows::core::Interface::vtable(this).FrameId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6004 }
6005 }
6006 }
6007 impl ::core::cmp::PartialEq for AppBroadcastStreamVideoHeader {
6008 fn eq(&self, other: &Self) -> bool {
6009 self.0 == other.0
6010 }
6011 }
6012 impl ::core::cmp::Eq for AppBroadcastStreamVideoHeader {}
6013 impl ::core::fmt::Debug for AppBroadcastStreamVideoHeader {
6014 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6015 f.debug_tuple("AppBroadcastStreamVideoHeader").field(&self.0).finish()
6016 }
6017 }
6018 impl ::windows::core::RuntimeType for AppBroadcastStreamVideoHeader {
6019 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastStreamVideoHeader;{0b9ebece-7e32-432d-8ca2-36bf10b9f462})");
6020 }
6021 impl ::core::clone::Clone for AppBroadcastStreamVideoHeader {
6022 fn clone(&self) -> Self {
6023 Self(self.0.clone())
6024 }
6025 }
6026 unsafe impl ::windows::core::Interface for AppBroadcastStreamVideoHeader {
6027 type Vtable = IAppBroadcastStreamVideoHeader_Vtbl;
6028 }
6029 unsafe impl ::windows::core::ComInterface for AppBroadcastStreamVideoHeader {
6030 const IID: ::windows::core::GUID = <IAppBroadcastStreamVideoHeader as ::windows::core::ComInterface>::IID;
6031 }
6032 impl ::windows::core::RuntimeName for AppBroadcastStreamVideoHeader {
6033 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastStreamVideoHeader";
6034 }
6035 ::windows::imp::interface_hierarchy!(AppBroadcastStreamVideoHeader, ::windows::core::IUnknown, ::windows::core::IInspectable);
6036 #[doc = "*Required features: `\"Media_Capture\"`*"]
6037 #[repr(transparent)]
6038 pub struct AppBroadcastTriggerDetails(::windows::core::IUnknown);
6039 impl AppBroadcastTriggerDetails {
6040 pub fn BackgroundService(&self) -> ::windows::core::Result<AppBroadcastBackgroundService> {
6041 let this = self;
6042 unsafe {
6043 let mut result__ = ::windows::core::zeroed::<AppBroadcastBackgroundService>();
6044 (::windows::core::Interface::vtable(this).BackgroundService)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6045 }
6046 }
6047 }
6048 impl ::core::cmp::PartialEq for AppBroadcastTriggerDetails {
6049 fn eq(&self, other: &Self) -> bool {
6050 self.0 == other.0
6051 }
6052 }
6053 impl ::core::cmp::Eq for AppBroadcastTriggerDetails {}
6054 impl ::core::fmt::Debug for AppBroadcastTriggerDetails {
6055 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6056 f.debug_tuple("AppBroadcastTriggerDetails").field(&self.0).finish()
6057 }
6058 }
6059 impl ::windows::core::RuntimeType for AppBroadcastTriggerDetails {
6060 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastTriggerDetails;{deebab35-ec5e-4d8f-b1c0-5da6e8c75638})");
6061 }
6062 impl ::core::clone::Clone for AppBroadcastTriggerDetails {
6063 fn clone(&self) -> Self {
6064 Self(self.0.clone())
6065 }
6066 }
6067 unsafe impl ::windows::core::Interface for AppBroadcastTriggerDetails {
6068 type Vtable = IAppBroadcastTriggerDetails_Vtbl;
6069 }
6070 unsafe impl ::windows::core::ComInterface for AppBroadcastTriggerDetails {
6071 const IID: ::windows::core::GUID = <IAppBroadcastTriggerDetails as ::windows::core::ComInterface>::IID;
6072 }
6073 impl ::windows::core::RuntimeName for AppBroadcastTriggerDetails {
6074 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastTriggerDetails";
6075 }
6076 ::windows::imp::interface_hierarchy!(AppBroadcastTriggerDetails, ::windows::core::IUnknown, ::windows::core::IInspectable);
6077 #[doc = "*Required features: `\"Media_Capture\"`*"]
6078 #[repr(transparent)]
6079 pub struct AppBroadcastViewerCountChangedEventArgs(::windows::core::IUnknown);
6080 impl AppBroadcastViewerCountChangedEventArgs {
6081 pub fn ViewerCount(&self) -> ::windows::core::Result<u32> {
6082 let this = self;
6083 unsafe {
6084 let mut result__ = ::windows::core::zeroed::<u32>();
6085 (::windows::core::Interface::vtable(this).ViewerCount)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6086 }
6087 }
6088 }
6089 impl ::core::cmp::PartialEq for AppBroadcastViewerCountChangedEventArgs {
6090 fn eq(&self, other: &Self) -> bool {
6091 self.0 == other.0
6092 }
6093 }
6094 impl ::core::cmp::Eq for AppBroadcastViewerCountChangedEventArgs {}
6095 impl ::core::fmt::Debug for AppBroadcastViewerCountChangedEventArgs {
6096 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6097 f.debug_tuple("AppBroadcastViewerCountChangedEventArgs").field(&self.0).finish()
6098 }
6099 }
6100 impl ::windows::core::RuntimeType for AppBroadcastViewerCountChangedEventArgs {
6101 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppBroadcastViewerCountChangedEventArgs;{e6e11825-5401-4ade-8bd2-c14ecee6807d})");
6102 }
6103 impl ::core::clone::Clone for AppBroadcastViewerCountChangedEventArgs {
6104 fn clone(&self) -> Self {
6105 Self(self.0.clone())
6106 }
6107 }
6108 unsafe impl ::windows::core::Interface for AppBroadcastViewerCountChangedEventArgs {
6109 type Vtable = IAppBroadcastViewerCountChangedEventArgs_Vtbl;
6110 }
6111 unsafe impl ::windows::core::ComInterface for AppBroadcastViewerCountChangedEventArgs {
6112 const IID: ::windows::core::GUID = <IAppBroadcastViewerCountChangedEventArgs as ::windows::core::ComInterface>::IID;
6113 }
6114 impl ::windows::core::RuntimeName for AppBroadcastViewerCountChangedEventArgs {
6115 const NAME: &'static str = "Windows.Media.Capture.AppBroadcastViewerCountChangedEventArgs";
6116 }
6117 ::windows::imp::interface_hierarchy!(AppBroadcastViewerCountChangedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
6118 unsafe impl ::core::marker::Send for AppBroadcastViewerCountChangedEventArgs {}
6119 unsafe impl ::core::marker::Sync for AppBroadcastViewerCountChangedEventArgs {}
6120 #[doc = "*Required features: `\"Media_Capture\"`*"]
6121 #[repr(transparent)]
6122 pub struct AppCapture(::windows::core::IUnknown);
6123 impl AppCapture {
6124 pub fn IsCapturingAudio(&self) -> ::windows::core::Result<bool> {
6125 let this = self;
6126 unsafe {
6127 let mut result__ = ::windows::core::zeroed::<bool>();
6128 (::windows::core::Interface::vtable(this).IsCapturingAudio)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6129 }
6130 }
6131 pub fn IsCapturingVideo(&self) -> ::windows::core::Result<bool> {
6132 let this = self;
6133 unsafe {
6134 let mut result__ = ::windows::core::zeroed::<bool>();
6135 (::windows::core::Interface::vtable(this).IsCapturingVideo)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6136 }
6137 }
6138 #[doc = "*Required features: `\"Foundation\"`*"]
6139 #[cfg(feature = "Foundation")]
6140 pub fn CapturingChanged(&self, handler: &super::super::Foundation::TypedEventHandler<AppCapture, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
6141 let this = self;
6142 unsafe {
6143 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
6144 (::windows::core::Interface::vtable(this).CapturingChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
6145 }
6146 }
6147 #[doc = "*Required features: `\"Foundation\"`*"]
6148 #[cfg(feature = "Foundation")]
6149 pub fn RemoveCapturingChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
6150 let this = self;
6151 unsafe { (::windows::core::Interface::vtable(this).RemoveCapturingChanged)(::windows::core::Interface::as_raw(this), token).ok() }
6152 }
6153 pub fn GetForCurrentView() -> ::windows::core::Result<AppCapture> {
6154 Self::IAppCaptureStatics(|this| unsafe {
6155 let mut result__ = ::windows::core::zeroed::<AppCapture>();
6156 (::windows::core::Interface::vtable(this).GetForCurrentView)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6157 })
6158 }
6159 #[doc = "*Required features: `\"Foundation\"`*"]
6160 #[cfg(feature = "Foundation")]
6161 pub fn SetAllowedAsync(allowed: bool) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
6162 Self::IAppCaptureStatics2(|this| unsafe {
6163 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
6164 (::windows::core::Interface::vtable(this).SetAllowedAsync)(::windows::core::Interface::as_raw(this), allowed, &mut result__).from_abi(result__)
6165 })
6166 }
6167 #[doc(hidden)]
6168 pub fn IAppCaptureStatics<R, F: FnOnce(&IAppCaptureStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
6169 static SHARED: ::windows::imp::FactoryCache<AppCapture, IAppCaptureStatics> = ::windows::imp::FactoryCache::new();
6170 SHARED.call(callback)
6171 }
6172 #[doc(hidden)]
6173 pub fn IAppCaptureStatics2<R, F: FnOnce(&IAppCaptureStatics2) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
6174 static SHARED: ::windows::imp::FactoryCache<AppCapture, IAppCaptureStatics2> = ::windows::imp::FactoryCache::new();
6175 SHARED.call(callback)
6176 }
6177 }
6178 impl ::core::cmp::PartialEq for AppCapture {
6179 fn eq(&self, other: &Self) -> bool {
6180 self.0 == other.0
6181 }
6182 }
6183 impl ::core::cmp::Eq for AppCapture {}
6184 impl ::core::fmt::Debug for AppCapture {
6185 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6186 f.debug_tuple("AppCapture").field(&self.0).finish()
6187 }
6188 }
6189 impl ::windows::core::RuntimeType for AppCapture {
6190 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppCapture;{9749d453-a29a-45ed-8f29-22d09942cff7})");
6191 }
6192 impl ::core::clone::Clone for AppCapture {
6193 fn clone(&self) -> Self {
6194 Self(self.0.clone())
6195 }
6196 }
6197 unsafe impl ::windows::core::Interface for AppCapture {
6198 type Vtable = IAppCapture_Vtbl;
6199 }
6200 unsafe impl ::windows::core::ComInterface for AppCapture {
6201 const IID: ::windows::core::GUID = <IAppCapture as ::windows::core::ComInterface>::IID;
6202 }
6203 impl ::windows::core::RuntimeName for AppCapture {
6204 const NAME: &'static str = "Windows.Media.Capture.AppCapture";
6205 }
6206 ::windows::imp::interface_hierarchy!(AppCapture, ::windows::core::IUnknown, ::windows::core::IInspectable);
6207 #[doc = "*Required features: `\"Media_Capture\"`*"]
6208 #[repr(transparent)]
6209 pub struct AppCaptureAlternateShortcutKeys(::windows::core::IUnknown);
6210 impl AppCaptureAlternateShortcutKeys {
6211 #[doc = "*Required features: `\"System\"`*"]
6212 #[cfg(feature = "System")]
6213 pub fn SetToggleGameBarKey(&self, value: super::super::System::VirtualKey) -> ::windows::core::Result<()> {
6214 let this = self;
6215 unsafe { (::windows::core::Interface::vtable(this).SetToggleGameBarKey)(::windows::core::Interface::as_raw(this), value).ok() }
6216 }
6217 #[doc = "*Required features: `\"System\"`*"]
6218 #[cfg(feature = "System")]
6219 pub fn ToggleGameBarKey(&self) -> ::windows::core::Result<super::super::System::VirtualKey> {
6220 let this = self;
6221 unsafe {
6222 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKey>();
6223 (::windows::core::Interface::vtable(this).ToggleGameBarKey)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6224 }
6225 }
6226 #[doc = "*Required features: `\"System\"`*"]
6227 #[cfg(feature = "System")]
6228 pub fn SetToggleGameBarKeyModifiers(&self, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::Result<()> {
6229 let this = self;
6230 unsafe { (::windows::core::Interface::vtable(this).SetToggleGameBarKeyModifiers)(::windows::core::Interface::as_raw(this), value).ok() }
6231 }
6232 #[doc = "*Required features: `\"System\"`*"]
6233 #[cfg(feature = "System")]
6234 pub fn ToggleGameBarKeyModifiers(&self) -> ::windows::core::Result<super::super::System::VirtualKeyModifiers> {
6235 let this = self;
6236 unsafe {
6237 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKeyModifiers>();
6238 (::windows::core::Interface::vtable(this).ToggleGameBarKeyModifiers)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6239 }
6240 }
6241 #[doc = "*Required features: `\"System\"`*"]
6242 #[cfg(feature = "System")]
6243 pub fn SetSaveHistoricalVideoKey(&self, value: super::super::System::VirtualKey) -> ::windows::core::Result<()> {
6244 let this = self;
6245 unsafe { (::windows::core::Interface::vtable(this).SetSaveHistoricalVideoKey)(::windows::core::Interface::as_raw(this), value).ok() }
6246 }
6247 #[doc = "*Required features: `\"System\"`*"]
6248 #[cfg(feature = "System")]
6249 pub fn SaveHistoricalVideoKey(&self) -> ::windows::core::Result<super::super::System::VirtualKey> {
6250 let this = self;
6251 unsafe {
6252 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKey>();
6253 (::windows::core::Interface::vtable(this).SaveHistoricalVideoKey)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6254 }
6255 }
6256 #[doc = "*Required features: `\"System\"`*"]
6257 #[cfg(feature = "System")]
6258 pub fn SetSaveHistoricalVideoKeyModifiers(&self, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::Result<()> {
6259 let this = self;
6260 unsafe { (::windows::core::Interface::vtable(this).SetSaveHistoricalVideoKeyModifiers)(::windows::core::Interface::as_raw(this), value).ok() }
6261 }
6262 #[doc = "*Required features: `\"System\"`*"]
6263 #[cfg(feature = "System")]
6264 pub fn SaveHistoricalVideoKeyModifiers(&self) -> ::windows::core::Result<super::super::System::VirtualKeyModifiers> {
6265 let this = self;
6266 unsafe {
6267 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKeyModifiers>();
6268 (::windows::core::Interface::vtable(this).SaveHistoricalVideoKeyModifiers)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6269 }
6270 }
6271 #[doc = "*Required features: `\"System\"`*"]
6272 #[cfg(feature = "System")]
6273 pub fn SetToggleRecordingKey(&self, value: super::super::System::VirtualKey) -> ::windows::core::Result<()> {
6274 let this = self;
6275 unsafe { (::windows::core::Interface::vtable(this).SetToggleRecordingKey)(::windows::core::Interface::as_raw(this), value).ok() }
6276 }
6277 #[doc = "*Required features: `\"System\"`*"]
6278 #[cfg(feature = "System")]
6279 pub fn ToggleRecordingKey(&self) -> ::windows::core::Result<super::super::System::VirtualKey> {
6280 let this = self;
6281 unsafe {
6282 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKey>();
6283 (::windows::core::Interface::vtable(this).ToggleRecordingKey)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6284 }
6285 }
6286 #[doc = "*Required features: `\"System\"`*"]
6287 #[cfg(feature = "System")]
6288 pub fn SetToggleRecordingKeyModifiers(&self, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::Result<()> {
6289 let this = self;
6290 unsafe { (::windows::core::Interface::vtable(this).SetToggleRecordingKeyModifiers)(::windows::core::Interface::as_raw(this), value).ok() }
6291 }
6292 #[doc = "*Required features: `\"System\"`*"]
6293 #[cfg(feature = "System")]
6294 pub fn ToggleRecordingKeyModifiers(&self) -> ::windows::core::Result<super::super::System::VirtualKeyModifiers> {
6295 let this = self;
6296 unsafe {
6297 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKeyModifiers>();
6298 (::windows::core::Interface::vtable(this).ToggleRecordingKeyModifiers)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6299 }
6300 }
6301 #[doc = "*Required features: `\"System\"`*"]
6302 #[cfg(feature = "System")]
6303 pub fn SetTakeScreenshotKey(&self, value: super::super::System::VirtualKey) -> ::windows::core::Result<()> {
6304 let this = self;
6305 unsafe { (::windows::core::Interface::vtable(this).SetTakeScreenshotKey)(::windows::core::Interface::as_raw(this), value).ok() }
6306 }
6307 #[doc = "*Required features: `\"System\"`*"]
6308 #[cfg(feature = "System")]
6309 pub fn TakeScreenshotKey(&self) -> ::windows::core::Result<super::super::System::VirtualKey> {
6310 let this = self;
6311 unsafe {
6312 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKey>();
6313 (::windows::core::Interface::vtable(this).TakeScreenshotKey)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6314 }
6315 }
6316 #[doc = "*Required features: `\"System\"`*"]
6317 #[cfg(feature = "System")]
6318 pub fn SetTakeScreenshotKeyModifiers(&self, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::Result<()> {
6319 let this = self;
6320 unsafe { (::windows::core::Interface::vtable(this).SetTakeScreenshotKeyModifiers)(::windows::core::Interface::as_raw(this), value).ok() }
6321 }
6322 #[doc = "*Required features: `\"System\"`*"]
6323 #[cfg(feature = "System")]
6324 pub fn TakeScreenshotKeyModifiers(&self) -> ::windows::core::Result<super::super::System::VirtualKeyModifiers> {
6325 let this = self;
6326 unsafe {
6327 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKeyModifiers>();
6328 (::windows::core::Interface::vtable(this).TakeScreenshotKeyModifiers)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6329 }
6330 }
6331 #[doc = "*Required features: `\"System\"`*"]
6332 #[cfg(feature = "System")]
6333 pub fn SetToggleRecordingIndicatorKey(&self, value: super::super::System::VirtualKey) -> ::windows::core::Result<()> {
6334 let this = self;
6335 unsafe { (::windows::core::Interface::vtable(this).SetToggleRecordingIndicatorKey)(::windows::core::Interface::as_raw(this), value).ok() }
6336 }
6337 #[doc = "*Required features: `\"System\"`*"]
6338 #[cfg(feature = "System")]
6339 pub fn ToggleRecordingIndicatorKey(&self) -> ::windows::core::Result<super::super::System::VirtualKey> {
6340 let this = self;
6341 unsafe {
6342 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKey>();
6343 (::windows::core::Interface::vtable(this).ToggleRecordingIndicatorKey)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6344 }
6345 }
6346 #[doc = "*Required features: `\"System\"`*"]
6347 #[cfg(feature = "System")]
6348 pub fn SetToggleRecordingIndicatorKeyModifiers(&self, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::Result<()> {
6349 let this = self;
6350 unsafe { (::windows::core::Interface::vtable(this).SetToggleRecordingIndicatorKeyModifiers)(::windows::core::Interface::as_raw(this), value).ok() }
6351 }
6352 #[doc = "*Required features: `\"System\"`*"]
6353 #[cfg(feature = "System")]
6354 pub fn ToggleRecordingIndicatorKeyModifiers(&self) -> ::windows::core::Result<super::super::System::VirtualKeyModifiers> {
6355 let this = self;
6356 unsafe {
6357 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKeyModifiers>();
6358 (::windows::core::Interface::vtable(this).ToggleRecordingIndicatorKeyModifiers)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6359 }
6360 }
6361 #[doc = "*Required features: `\"System\"`*"]
6362 #[cfg(feature = "System")]
6363 pub fn SetToggleMicrophoneCaptureKey(&self, value: super::super::System::VirtualKey) -> ::windows::core::Result<()> {
6364 let this = &::windows::core::ComInterface::cast::<IAppCaptureAlternateShortcutKeys2>(self)?;
6365 unsafe { (::windows::core::Interface::vtable(this).SetToggleMicrophoneCaptureKey)(::windows::core::Interface::as_raw(this), value).ok() }
6366 }
6367 #[doc = "*Required features: `\"System\"`*"]
6368 #[cfg(feature = "System")]
6369 pub fn ToggleMicrophoneCaptureKey(&self) -> ::windows::core::Result<super::super::System::VirtualKey> {
6370 let this = &::windows::core::ComInterface::cast::<IAppCaptureAlternateShortcutKeys2>(self)?;
6371 unsafe {
6372 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKey>();
6373 (::windows::core::Interface::vtable(this).ToggleMicrophoneCaptureKey)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6374 }
6375 }
6376 #[doc = "*Required features: `\"System\"`*"]
6377 #[cfg(feature = "System")]
6378 pub fn SetToggleMicrophoneCaptureKeyModifiers(&self, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::Result<()> {
6379 let this = &::windows::core::ComInterface::cast::<IAppCaptureAlternateShortcutKeys2>(self)?;
6380 unsafe { (::windows::core::Interface::vtable(this).SetToggleMicrophoneCaptureKeyModifiers)(::windows::core::Interface::as_raw(this), value).ok() }
6381 }
6382 #[doc = "*Required features: `\"System\"`*"]
6383 #[cfg(feature = "System")]
6384 pub fn ToggleMicrophoneCaptureKeyModifiers(&self) -> ::windows::core::Result<super::super::System::VirtualKeyModifiers> {
6385 let this = &::windows::core::ComInterface::cast::<IAppCaptureAlternateShortcutKeys2>(self)?;
6386 unsafe {
6387 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKeyModifiers>();
6388 (::windows::core::Interface::vtable(this).ToggleMicrophoneCaptureKeyModifiers)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6389 }
6390 }
6391 #[doc = "*Required features: `\"System\"`*"]
6392 #[cfg(feature = "System")]
6393 pub fn SetToggleCameraCaptureKey(&self, value: super::super::System::VirtualKey) -> ::windows::core::Result<()> {
6394 let this = &::windows::core::ComInterface::cast::<IAppCaptureAlternateShortcutKeys3>(self)?;
6395 unsafe { (::windows::core::Interface::vtable(this).SetToggleCameraCaptureKey)(::windows::core::Interface::as_raw(this), value).ok() }
6396 }
6397 #[doc = "*Required features: `\"System\"`*"]
6398 #[cfg(feature = "System")]
6399 pub fn ToggleCameraCaptureKey(&self) -> ::windows::core::Result<super::super::System::VirtualKey> {
6400 let this = &::windows::core::ComInterface::cast::<IAppCaptureAlternateShortcutKeys3>(self)?;
6401 unsafe {
6402 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKey>();
6403 (::windows::core::Interface::vtable(this).ToggleCameraCaptureKey)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6404 }
6405 }
6406 #[doc = "*Required features: `\"System\"`*"]
6407 #[cfg(feature = "System")]
6408 pub fn SetToggleCameraCaptureKeyModifiers(&self, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::Result<()> {
6409 let this = &::windows::core::ComInterface::cast::<IAppCaptureAlternateShortcutKeys3>(self)?;
6410 unsafe { (::windows::core::Interface::vtable(this).SetToggleCameraCaptureKeyModifiers)(::windows::core::Interface::as_raw(this), value).ok() }
6411 }
6412 #[doc = "*Required features: `\"System\"`*"]
6413 #[cfg(feature = "System")]
6414 pub fn ToggleCameraCaptureKeyModifiers(&self) -> ::windows::core::Result<super::super::System::VirtualKeyModifiers> {
6415 let this = &::windows::core::ComInterface::cast::<IAppCaptureAlternateShortcutKeys3>(self)?;
6416 unsafe {
6417 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKeyModifiers>();
6418 (::windows::core::Interface::vtable(this).ToggleCameraCaptureKeyModifiers)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6419 }
6420 }
6421 #[doc = "*Required features: `\"System\"`*"]
6422 #[cfg(feature = "System")]
6423 pub fn SetToggleBroadcastKey(&self, value: super::super::System::VirtualKey) -> ::windows::core::Result<()> {
6424 let this = &::windows::core::ComInterface::cast::<IAppCaptureAlternateShortcutKeys3>(self)?;
6425 unsafe { (::windows::core::Interface::vtable(this).SetToggleBroadcastKey)(::windows::core::Interface::as_raw(this), value).ok() }
6426 }
6427 #[doc = "*Required features: `\"System\"`*"]
6428 #[cfg(feature = "System")]
6429 pub fn ToggleBroadcastKey(&self) -> ::windows::core::Result<super::super::System::VirtualKey> {
6430 let this = &::windows::core::ComInterface::cast::<IAppCaptureAlternateShortcutKeys3>(self)?;
6431 unsafe {
6432 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKey>();
6433 (::windows::core::Interface::vtable(this).ToggleBroadcastKey)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6434 }
6435 }
6436 #[doc = "*Required features: `\"System\"`*"]
6437 #[cfg(feature = "System")]
6438 pub fn SetToggleBroadcastKeyModifiers(&self, value: super::super::System::VirtualKeyModifiers) -> ::windows::core::Result<()> {
6439 let this = &::windows::core::ComInterface::cast::<IAppCaptureAlternateShortcutKeys3>(self)?;
6440 unsafe { (::windows::core::Interface::vtable(this).SetToggleBroadcastKeyModifiers)(::windows::core::Interface::as_raw(this), value).ok() }
6441 }
6442 #[doc = "*Required features: `\"System\"`*"]
6443 #[cfg(feature = "System")]
6444 pub fn ToggleBroadcastKeyModifiers(&self) -> ::windows::core::Result<super::super::System::VirtualKeyModifiers> {
6445 let this = &::windows::core::ComInterface::cast::<IAppCaptureAlternateShortcutKeys3>(self)?;
6446 unsafe {
6447 let mut result__ = ::windows::core::zeroed::<super::super::System::VirtualKeyModifiers>();
6448 (::windows::core::Interface::vtable(this).ToggleBroadcastKeyModifiers)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6449 }
6450 }
6451 }
6452 impl ::core::cmp::PartialEq for AppCaptureAlternateShortcutKeys {
6453 fn eq(&self, other: &Self) -> bool {
6454 self.0 == other.0
6455 }
6456 }
6457 impl ::core::cmp::Eq for AppCaptureAlternateShortcutKeys {}
6458 impl ::core::fmt::Debug for AppCaptureAlternateShortcutKeys {
6459 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6460 f.debug_tuple("AppCaptureAlternateShortcutKeys").field(&self.0).finish()
6461 }
6462 }
6463 impl ::windows::core::RuntimeType for AppCaptureAlternateShortcutKeys {
6464 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppCaptureAlternateShortcutKeys;{19e8e0ef-236c-40f9-b38f-9b7dd65d1ccc})");
6465 }
6466 impl ::core::clone::Clone for AppCaptureAlternateShortcutKeys {
6467 fn clone(&self) -> Self {
6468 Self(self.0.clone())
6469 }
6470 }
6471 unsafe impl ::windows::core::Interface for AppCaptureAlternateShortcutKeys {
6472 type Vtable = IAppCaptureAlternateShortcutKeys_Vtbl;
6473 }
6474 unsafe impl ::windows::core::ComInterface for AppCaptureAlternateShortcutKeys {
6475 const IID: ::windows::core::GUID = <IAppCaptureAlternateShortcutKeys as ::windows::core::ComInterface>::IID;
6476 }
6477 impl ::windows::core::RuntimeName for AppCaptureAlternateShortcutKeys {
6478 const NAME: &'static str = "Windows.Media.Capture.AppCaptureAlternateShortcutKeys";
6479 }
6480 ::windows::imp::interface_hierarchy!(AppCaptureAlternateShortcutKeys, ::windows::core::IUnknown, ::windows::core::IInspectable);
6481 #[doc = "*Required features: `\"Media_Capture\"`*"]
6482 #[repr(transparent)]
6483 pub struct AppCaptureDurationGeneratedEventArgs(::windows::core::IUnknown);
6484 impl AppCaptureDurationGeneratedEventArgs {
6485 #[doc = "*Required features: `\"Foundation\"`*"]
6486 #[cfg(feature = "Foundation")]
6487 pub fn Duration(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
6488 let this = self;
6489 unsafe {
6490 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
6491 (::windows::core::Interface::vtable(this).Duration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6492 }
6493 }
6494 }
6495 impl ::core::cmp::PartialEq for AppCaptureDurationGeneratedEventArgs {
6496 fn eq(&self, other: &Self) -> bool {
6497 self.0 == other.0
6498 }
6499 }
6500 impl ::core::cmp::Eq for AppCaptureDurationGeneratedEventArgs {}
6501 impl ::core::fmt::Debug for AppCaptureDurationGeneratedEventArgs {
6502 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6503 f.debug_tuple("AppCaptureDurationGeneratedEventArgs").field(&self.0).finish()
6504 }
6505 }
6506 impl ::windows::core::RuntimeType for AppCaptureDurationGeneratedEventArgs {
6507 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppCaptureDurationGeneratedEventArgs;{c1f5563b-ffa1-44c9-975f-27fbeb553b35})");
6508 }
6509 impl ::core::clone::Clone for AppCaptureDurationGeneratedEventArgs {
6510 fn clone(&self) -> Self {
6511 Self(self.0.clone())
6512 }
6513 }
6514 unsafe impl ::windows::core::Interface for AppCaptureDurationGeneratedEventArgs {
6515 type Vtable = IAppCaptureDurationGeneratedEventArgs_Vtbl;
6516 }
6517 unsafe impl ::windows::core::ComInterface for AppCaptureDurationGeneratedEventArgs {
6518 const IID: ::windows::core::GUID = <IAppCaptureDurationGeneratedEventArgs as ::windows::core::ComInterface>::IID;
6519 }
6520 impl ::windows::core::RuntimeName for AppCaptureDurationGeneratedEventArgs {
6521 const NAME: &'static str = "Windows.Media.Capture.AppCaptureDurationGeneratedEventArgs";
6522 }
6523 ::windows::imp::interface_hierarchy!(AppCaptureDurationGeneratedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
6524 unsafe impl ::core::marker::Send for AppCaptureDurationGeneratedEventArgs {}
6525 unsafe impl ::core::marker::Sync for AppCaptureDurationGeneratedEventArgs {}
6526 #[doc = "*Required features: `\"Media_Capture\"`*"]
6527 #[repr(transparent)]
6528 pub struct AppCaptureFileGeneratedEventArgs(::windows::core::IUnknown);
6529 impl AppCaptureFileGeneratedEventArgs {
6530 #[doc = "*Required features: `\"Storage\"`*"]
6531 #[cfg(feature = "Storage")]
6532 pub fn File(&self) -> ::windows::core::Result<super::super::Storage::StorageFile> {
6533 let this = self;
6534 unsafe {
6535 let mut result__ = ::windows::core::zeroed::<super::super::Storage::StorageFile>();
6536 (::windows::core::Interface::vtable(this).File)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6537 }
6538 }
6539 }
6540 impl ::core::cmp::PartialEq for AppCaptureFileGeneratedEventArgs {
6541 fn eq(&self, other: &Self) -> bool {
6542 self.0 == other.0
6543 }
6544 }
6545 impl ::core::cmp::Eq for AppCaptureFileGeneratedEventArgs {}
6546 impl ::core::fmt::Debug for AppCaptureFileGeneratedEventArgs {
6547 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6548 f.debug_tuple("AppCaptureFileGeneratedEventArgs").field(&self.0).finish()
6549 }
6550 }
6551 impl ::windows::core::RuntimeType for AppCaptureFileGeneratedEventArgs {
6552 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppCaptureFileGeneratedEventArgs;{4189fbf4-465e-45bf-907f-165b3fb23758})");
6553 }
6554 impl ::core::clone::Clone for AppCaptureFileGeneratedEventArgs {
6555 fn clone(&self) -> Self {
6556 Self(self.0.clone())
6557 }
6558 }
6559 unsafe impl ::windows::core::Interface for AppCaptureFileGeneratedEventArgs {
6560 type Vtable = IAppCaptureFileGeneratedEventArgs_Vtbl;
6561 }
6562 unsafe impl ::windows::core::ComInterface for AppCaptureFileGeneratedEventArgs {
6563 const IID: ::windows::core::GUID = <IAppCaptureFileGeneratedEventArgs as ::windows::core::ComInterface>::IID;
6564 }
6565 impl ::windows::core::RuntimeName for AppCaptureFileGeneratedEventArgs {
6566 const NAME: &'static str = "Windows.Media.Capture.AppCaptureFileGeneratedEventArgs";
6567 }
6568 ::windows::imp::interface_hierarchy!(AppCaptureFileGeneratedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
6569 unsafe impl ::core::marker::Send for AppCaptureFileGeneratedEventArgs {}
6570 unsafe impl ::core::marker::Sync for AppCaptureFileGeneratedEventArgs {}
6571 #[doc = "*Required features: `\"Media_Capture\"`*"]
6572 pub struct AppCaptureManager;
6573 impl AppCaptureManager {
6574 pub fn GetCurrentSettings() -> ::windows::core::Result<AppCaptureSettings> {
6575 Self::IAppCaptureManagerStatics(|this| unsafe {
6576 let mut result__ = ::windows::core::zeroed::<AppCaptureSettings>();
6577 (::windows::core::Interface::vtable(this).GetCurrentSettings)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6578 })
6579 }
6580 pub fn ApplySettings(appcapturesettings: &AppCaptureSettings) -> ::windows::core::Result<()> {
6581 Self::IAppCaptureManagerStatics(|this| unsafe { (::windows::core::Interface::vtable(this).ApplySettings)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(appcapturesettings)).ok() })
6582 }
6583 #[doc(hidden)]
6584 pub fn IAppCaptureManagerStatics<R, F: FnOnce(&IAppCaptureManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
6585 static SHARED: ::windows::imp::FactoryCache<AppCaptureManager, IAppCaptureManagerStatics> = ::windows::imp::FactoryCache::new();
6586 SHARED.call(callback)
6587 }
6588 }
6589 impl ::windows::core::RuntimeName for AppCaptureManager {
6590 const NAME: &'static str = "Windows.Media.Capture.AppCaptureManager";
6591 }
6592 #[doc = "*Required features: `\"Media_Capture\"`*"]
6593 #[repr(transparent)]
6594 pub struct AppCaptureMetadataWriter(::windows::core::IUnknown);
6595 impl AppCaptureMetadataWriter {
6596 pub fn new() -> ::windows::core::Result<Self> {
6597 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
6598 }
6599 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
6600 static SHARED: ::windows::imp::FactoryCache<AppCaptureMetadataWriter, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
6601 SHARED.call(callback)
6602 }
6603 pub fn AddStringEvent(&self, name: &::windows::core::HSTRING, value: &::windows::core::HSTRING, priority: AppCaptureMetadataPriority) -> ::windows::core::Result<()> {
6604 let this = self;
6605 unsafe { (::windows::core::Interface::vtable(this).AddStringEvent)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), priority).ok() }
6606 }
6607 pub fn AddInt32Event(&self, name: &::windows::core::HSTRING, value: i32, priority: AppCaptureMetadataPriority) -> ::windows::core::Result<()> {
6608 let this = self;
6609 unsafe { (::windows::core::Interface::vtable(this).AddInt32Event)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value, priority).ok() }
6610 }
6611 pub fn AddDoubleEvent(&self, name: &::windows::core::HSTRING, value: f64, priority: AppCaptureMetadataPriority) -> ::windows::core::Result<()> {
6612 let this = self;
6613 unsafe { (::windows::core::Interface::vtable(this).AddDoubleEvent)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value, priority).ok() }
6614 }
6615 pub fn StartStringState(&self, name: &::windows::core::HSTRING, value: &::windows::core::HSTRING, priority: AppCaptureMetadataPriority) -> ::windows::core::Result<()> {
6616 let this = self;
6617 unsafe { (::windows::core::Interface::vtable(this).StartStringState)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), ::core::mem::transmute_copy(value), priority).ok() }
6618 }
6619 pub fn StartInt32State(&self, name: &::windows::core::HSTRING, value: i32, priority: AppCaptureMetadataPriority) -> ::windows::core::Result<()> {
6620 let this = self;
6621 unsafe { (::windows::core::Interface::vtable(this).StartInt32State)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value, priority).ok() }
6622 }
6623 pub fn StartDoubleState(&self, name: &::windows::core::HSTRING, value: f64, priority: AppCaptureMetadataPriority) -> ::windows::core::Result<()> {
6624 let this = self;
6625 unsafe { (::windows::core::Interface::vtable(this).StartDoubleState)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name), value, priority).ok() }
6626 }
6627 pub fn StopState(&self, name: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
6628 let this = self;
6629 unsafe { (::windows::core::Interface::vtable(this).StopState)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(name)).ok() }
6630 }
6631 pub fn StopAllStates(&self) -> ::windows::core::Result<()> {
6632 let this = self;
6633 unsafe { (::windows::core::Interface::vtable(this).StopAllStates)(::windows::core::Interface::as_raw(this)).ok() }
6634 }
6635 pub fn RemainingStorageBytesAvailable(&self) -> ::windows::core::Result<u64> {
6636 let this = self;
6637 unsafe {
6638 let mut result__ = ::windows::core::zeroed::<u64>();
6639 (::windows::core::Interface::vtable(this).RemainingStorageBytesAvailable)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6640 }
6641 }
6642 #[doc = "*Required features: `\"Foundation\"`*"]
6643 #[cfg(feature = "Foundation")]
6644 pub fn MetadataPurged(&self, handler: &super::super::Foundation::TypedEventHandler<AppCaptureMetadataWriter, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
6645 let this = self;
6646 unsafe {
6647 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
6648 (::windows::core::Interface::vtable(this).MetadataPurged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
6649 }
6650 }
6651 #[doc = "*Required features: `\"Foundation\"`*"]
6652 #[cfg(feature = "Foundation")]
6653 pub fn RemoveMetadataPurged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
6654 let this = self;
6655 unsafe { (::windows::core::Interface::vtable(this).RemoveMetadataPurged)(::windows::core::Interface::as_raw(this), token).ok() }
6656 }
6657 #[doc = "*Required features: `\"Foundation\"`*"]
6658 #[cfg(feature = "Foundation")]
6659 pub fn Close(&self) -> ::windows::core::Result<()> {
6660 let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
6661 unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
6662 }
6663 }
6664 impl ::core::cmp::PartialEq for AppCaptureMetadataWriter {
6665 fn eq(&self, other: &Self) -> bool {
6666 self.0 == other.0
6667 }
6668 }
6669 impl ::core::cmp::Eq for AppCaptureMetadataWriter {}
6670 impl ::core::fmt::Debug for AppCaptureMetadataWriter {
6671 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6672 f.debug_tuple("AppCaptureMetadataWriter").field(&self.0).finish()
6673 }
6674 }
6675 impl ::windows::core::RuntimeType for AppCaptureMetadataWriter {
6676 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppCaptureMetadataWriter;{e0ce4877-9aaf-46b4-ad31-6a60b441c780})");
6677 }
6678 impl ::core::clone::Clone for AppCaptureMetadataWriter {
6679 fn clone(&self) -> Self {
6680 Self(self.0.clone())
6681 }
6682 }
6683 unsafe impl ::windows::core::Interface for AppCaptureMetadataWriter {
6684 type Vtable = IAppCaptureMetadataWriter_Vtbl;
6685 }
6686 unsafe impl ::windows::core::ComInterface for AppCaptureMetadataWriter {
6687 const IID: ::windows::core::GUID = <IAppCaptureMetadataWriter as ::windows::core::ComInterface>::IID;
6688 }
6689 impl ::windows::core::RuntimeName for AppCaptureMetadataWriter {
6690 const NAME: &'static str = "Windows.Media.Capture.AppCaptureMetadataWriter";
6691 }
6692 ::windows::imp::interface_hierarchy!(AppCaptureMetadataWriter, ::windows::core::IUnknown, ::windows::core::IInspectable);
6693 #[cfg(feature = "Foundation")]
6694 impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for AppCaptureMetadataWriter {}
6695 unsafe impl ::core::marker::Send for AppCaptureMetadataWriter {}
6696 unsafe impl ::core::marker::Sync for AppCaptureMetadataWriter {}
6697 #[doc = "*Required features: `\"Media_Capture\"`*"]
6698 #[repr(transparent)]
6699 pub struct AppCaptureMicrophoneCaptureStateChangedEventArgs(::windows::core::IUnknown);
6700 impl AppCaptureMicrophoneCaptureStateChangedEventArgs {
6701 pub fn State(&self) -> ::windows::core::Result<AppCaptureMicrophoneCaptureState> {
6702 let this = self;
6703 unsafe {
6704 let mut result__ = ::windows::core::zeroed::<AppCaptureMicrophoneCaptureState>();
6705 (::windows::core::Interface::vtable(this).State)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6706 }
6707 }
6708 pub fn ErrorCode(&self) -> ::windows::core::Result<u32> {
6709 let this = self;
6710 unsafe {
6711 let mut result__ = ::windows::core::zeroed::<u32>();
6712 (::windows::core::Interface::vtable(this).ErrorCode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6713 }
6714 }
6715 }
6716 impl ::core::cmp::PartialEq for AppCaptureMicrophoneCaptureStateChangedEventArgs {
6717 fn eq(&self, other: &Self) -> bool {
6718 self.0 == other.0
6719 }
6720 }
6721 impl ::core::cmp::Eq for AppCaptureMicrophoneCaptureStateChangedEventArgs {}
6722 impl ::core::fmt::Debug for AppCaptureMicrophoneCaptureStateChangedEventArgs {
6723 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6724 f.debug_tuple("AppCaptureMicrophoneCaptureStateChangedEventArgs").field(&self.0).finish()
6725 }
6726 }
6727 impl ::windows::core::RuntimeType for AppCaptureMicrophoneCaptureStateChangedEventArgs {
6728 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppCaptureMicrophoneCaptureStateChangedEventArgs;{324d249e-45bc-4c35-bc35-e469fc7a69e0})");
6729 }
6730 impl ::core::clone::Clone for AppCaptureMicrophoneCaptureStateChangedEventArgs {
6731 fn clone(&self) -> Self {
6732 Self(self.0.clone())
6733 }
6734 }
6735 unsafe impl ::windows::core::Interface for AppCaptureMicrophoneCaptureStateChangedEventArgs {
6736 type Vtable = IAppCaptureMicrophoneCaptureStateChangedEventArgs_Vtbl;
6737 }
6738 unsafe impl ::windows::core::ComInterface for AppCaptureMicrophoneCaptureStateChangedEventArgs {
6739 const IID: ::windows::core::GUID = <IAppCaptureMicrophoneCaptureStateChangedEventArgs as ::windows::core::ComInterface>::IID;
6740 }
6741 impl ::windows::core::RuntimeName for AppCaptureMicrophoneCaptureStateChangedEventArgs {
6742 const NAME: &'static str = "Windows.Media.Capture.AppCaptureMicrophoneCaptureStateChangedEventArgs";
6743 }
6744 ::windows::imp::interface_hierarchy!(AppCaptureMicrophoneCaptureStateChangedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
6745 unsafe impl ::core::marker::Send for AppCaptureMicrophoneCaptureStateChangedEventArgs {}
6746 unsafe impl ::core::marker::Sync for AppCaptureMicrophoneCaptureStateChangedEventArgs {}
6747 #[doc = "*Required features: `\"Media_Capture\"`*"]
6748 #[repr(transparent)]
6749 pub struct AppCaptureRecordOperation(::windows::core::IUnknown);
6750 impl AppCaptureRecordOperation {
6751 pub fn StopRecording(&self) -> ::windows::core::Result<()> {
6752 let this = self;
6753 unsafe { (::windows::core::Interface::vtable(this).StopRecording)(::windows::core::Interface::as_raw(this)).ok() }
6754 }
6755 pub fn State(&self) -> ::windows::core::Result<AppCaptureRecordingState> {
6756 let this = self;
6757 unsafe {
6758 let mut result__ = ::windows::core::zeroed::<AppCaptureRecordingState>();
6759 (::windows::core::Interface::vtable(this).State)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6760 }
6761 }
6762 #[doc = "*Required features: `\"Foundation\"`*"]
6763 #[cfg(feature = "Foundation")]
6764 pub fn ErrorCode(&self) -> ::windows::core::Result<super::super::Foundation::IReference<u32>> {
6765 let this = self;
6766 unsafe {
6767 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<u32>>();
6768 (::windows::core::Interface::vtable(this).ErrorCode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6769 }
6770 }
6771 #[doc = "*Required features: `\"Foundation\"`*"]
6772 #[cfg(feature = "Foundation")]
6773 pub fn Duration(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>> {
6774 let this = self;
6775 unsafe {
6776 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>();
6777 (::windows::core::Interface::vtable(this).Duration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6778 }
6779 }
6780 #[doc = "*Required features: `\"Storage\"`*"]
6781 #[cfg(feature = "Storage")]
6782 pub fn File(&self) -> ::windows::core::Result<super::super::Storage::StorageFile> {
6783 let this = self;
6784 unsafe {
6785 let mut result__ = ::windows::core::zeroed::<super::super::Storage::StorageFile>();
6786 (::windows::core::Interface::vtable(this).File)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6787 }
6788 }
6789 #[doc = "*Required features: `\"Foundation\"`*"]
6790 #[cfg(feature = "Foundation")]
6791 pub fn IsFileTruncated(&self) -> ::windows::core::Result<super::super::Foundation::IReference<bool>> {
6792 let this = self;
6793 unsafe {
6794 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<bool>>();
6795 (::windows::core::Interface::vtable(this).IsFileTruncated)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6796 }
6797 }
6798 #[doc = "*Required features: `\"Foundation\"`*"]
6799 #[cfg(feature = "Foundation")]
6800 pub fn StateChanged(&self, value: &super::super::Foundation::TypedEventHandler<AppCaptureRecordOperation, AppCaptureRecordingStateChangedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
6801 let this = self;
6802 unsafe {
6803 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
6804 (::windows::core::Interface::vtable(this).StateChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
6805 }
6806 }
6807 #[doc = "*Required features: `\"Foundation\"`*"]
6808 #[cfg(feature = "Foundation")]
6809 pub fn RemoveStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
6810 let this = self;
6811 unsafe { (::windows::core::Interface::vtable(this).RemoveStateChanged)(::windows::core::Interface::as_raw(this), token).ok() }
6812 }
6813 #[doc = "*Required features: `\"Foundation\"`*"]
6814 #[cfg(feature = "Foundation")]
6815 pub fn DurationGenerated(&self, value: &super::super::Foundation::TypedEventHandler<AppCaptureRecordOperation, AppCaptureDurationGeneratedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
6816 let this = self;
6817 unsafe {
6818 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
6819 (::windows::core::Interface::vtable(this).DurationGenerated)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
6820 }
6821 }
6822 #[doc = "*Required features: `\"Foundation\"`*"]
6823 #[cfg(feature = "Foundation")]
6824 pub fn RemoveDurationGenerated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
6825 let this = self;
6826 unsafe { (::windows::core::Interface::vtable(this).RemoveDurationGenerated)(::windows::core::Interface::as_raw(this), token).ok() }
6827 }
6828 #[doc = "*Required features: `\"Foundation\"`*"]
6829 #[cfg(feature = "Foundation")]
6830 pub fn FileGenerated(&self, value: &super::super::Foundation::TypedEventHandler<AppCaptureRecordOperation, AppCaptureFileGeneratedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
6831 let this = self;
6832 unsafe {
6833 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
6834 (::windows::core::Interface::vtable(this).FileGenerated)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
6835 }
6836 }
6837 #[doc = "*Required features: `\"Foundation\"`*"]
6838 #[cfg(feature = "Foundation")]
6839 pub fn RemoveFileGenerated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
6840 let this = self;
6841 unsafe { (::windows::core::Interface::vtable(this).RemoveFileGenerated)(::windows::core::Interface::as_raw(this), token).ok() }
6842 }
6843 }
6844 impl ::core::cmp::PartialEq for AppCaptureRecordOperation {
6845 fn eq(&self, other: &Self) -> bool {
6846 self.0 == other.0
6847 }
6848 }
6849 impl ::core::cmp::Eq for AppCaptureRecordOperation {}
6850 impl ::core::fmt::Debug for AppCaptureRecordOperation {
6851 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6852 f.debug_tuple("AppCaptureRecordOperation").field(&self.0).finish()
6853 }
6854 }
6855 impl ::windows::core::RuntimeType for AppCaptureRecordOperation {
6856 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppCaptureRecordOperation;{c66020a9-1538-495c-9bbb-2ba870ec5861})");
6857 }
6858 impl ::core::clone::Clone for AppCaptureRecordOperation {
6859 fn clone(&self) -> Self {
6860 Self(self.0.clone())
6861 }
6862 }
6863 unsafe impl ::windows::core::Interface for AppCaptureRecordOperation {
6864 type Vtable = IAppCaptureRecordOperation_Vtbl;
6865 }
6866 unsafe impl ::windows::core::ComInterface for AppCaptureRecordOperation {
6867 const IID: ::windows::core::GUID = <IAppCaptureRecordOperation as ::windows::core::ComInterface>::IID;
6868 }
6869 impl ::windows::core::RuntimeName for AppCaptureRecordOperation {
6870 const NAME: &'static str = "Windows.Media.Capture.AppCaptureRecordOperation";
6871 }
6872 ::windows::imp::interface_hierarchy!(AppCaptureRecordOperation, ::windows::core::IUnknown, ::windows::core::IInspectable);
6873 unsafe impl ::core::marker::Send for AppCaptureRecordOperation {}
6874 unsafe impl ::core::marker::Sync for AppCaptureRecordOperation {}
6875 #[doc = "*Required features: `\"Media_Capture\"`*"]
6876 #[repr(transparent)]
6877 pub struct AppCaptureRecordingStateChangedEventArgs(::windows::core::IUnknown);
6878 impl AppCaptureRecordingStateChangedEventArgs {
6879 pub fn State(&self) -> ::windows::core::Result<AppCaptureRecordingState> {
6880 let this = self;
6881 unsafe {
6882 let mut result__ = ::windows::core::zeroed::<AppCaptureRecordingState>();
6883 (::windows::core::Interface::vtable(this).State)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6884 }
6885 }
6886 pub fn ErrorCode(&self) -> ::windows::core::Result<u32> {
6887 let this = self;
6888 unsafe {
6889 let mut result__ = ::windows::core::zeroed::<u32>();
6890 (::windows::core::Interface::vtable(this).ErrorCode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6891 }
6892 }
6893 }
6894 impl ::core::cmp::PartialEq for AppCaptureRecordingStateChangedEventArgs {
6895 fn eq(&self, other: &Self) -> bool {
6896 self.0 == other.0
6897 }
6898 }
6899 impl ::core::cmp::Eq for AppCaptureRecordingStateChangedEventArgs {}
6900 impl ::core::fmt::Debug for AppCaptureRecordingStateChangedEventArgs {
6901 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6902 f.debug_tuple("AppCaptureRecordingStateChangedEventArgs").field(&self.0).finish()
6903 }
6904 }
6905 impl ::windows::core::RuntimeType for AppCaptureRecordingStateChangedEventArgs {
6906 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppCaptureRecordingStateChangedEventArgs;{24fc8712-e305-490d-b415-6b1c9049736b})");
6907 }
6908 impl ::core::clone::Clone for AppCaptureRecordingStateChangedEventArgs {
6909 fn clone(&self) -> Self {
6910 Self(self.0.clone())
6911 }
6912 }
6913 unsafe impl ::windows::core::Interface for AppCaptureRecordingStateChangedEventArgs {
6914 type Vtable = IAppCaptureRecordingStateChangedEventArgs_Vtbl;
6915 }
6916 unsafe impl ::windows::core::ComInterface for AppCaptureRecordingStateChangedEventArgs {
6917 const IID: ::windows::core::GUID = <IAppCaptureRecordingStateChangedEventArgs as ::windows::core::ComInterface>::IID;
6918 }
6919 impl ::windows::core::RuntimeName for AppCaptureRecordingStateChangedEventArgs {
6920 const NAME: &'static str = "Windows.Media.Capture.AppCaptureRecordingStateChangedEventArgs";
6921 }
6922 ::windows::imp::interface_hierarchy!(AppCaptureRecordingStateChangedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
6923 unsafe impl ::core::marker::Send for AppCaptureRecordingStateChangedEventArgs {}
6924 unsafe impl ::core::marker::Sync for AppCaptureRecordingStateChangedEventArgs {}
6925 #[doc = "*Required features: `\"Media_Capture\"`*"]
6926 #[repr(transparent)]
6927 pub struct AppCaptureServices(::windows::core::IUnknown);
6928 impl AppCaptureServices {
6929 pub fn Record(&self) -> ::windows::core::Result<AppCaptureRecordOperation> {
6930 let this = self;
6931 unsafe {
6932 let mut result__ = ::windows::core::zeroed::<AppCaptureRecordOperation>();
6933 (::windows::core::Interface::vtable(this).Record)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6934 }
6935 }
6936 #[doc = "*Required features: `\"Foundation\"`*"]
6937 #[cfg(feature = "Foundation")]
6938 pub fn RecordTimeSpan(&self, starttime: super::super::Foundation::DateTime, duration: super::super::Foundation::TimeSpan) -> ::windows::core::Result<AppCaptureRecordOperation> {
6939 let this = self;
6940 unsafe {
6941 let mut result__ = ::windows::core::zeroed::<AppCaptureRecordOperation>();
6942 (::windows::core::Interface::vtable(this).RecordTimeSpan)(::windows::core::Interface::as_raw(this), starttime, duration, &mut result__).from_abi(result__)
6943 }
6944 }
6945 pub fn CanCapture(&self) -> ::windows::core::Result<bool> {
6946 let this = self;
6947 unsafe {
6948 let mut result__ = ::windows::core::zeroed::<bool>();
6949 (::windows::core::Interface::vtable(this).CanCapture)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6950 }
6951 }
6952 pub fn State(&self) -> ::windows::core::Result<AppCaptureState> {
6953 let this = self;
6954 unsafe {
6955 let mut result__ = ::windows::core::zeroed::<AppCaptureState>();
6956 (::windows::core::Interface::vtable(this).State)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
6957 }
6958 }
6959 }
6960 impl ::core::cmp::PartialEq for AppCaptureServices {
6961 fn eq(&self, other: &Self) -> bool {
6962 self.0 == other.0
6963 }
6964 }
6965 impl ::core::cmp::Eq for AppCaptureServices {}
6966 impl ::core::fmt::Debug for AppCaptureServices {
6967 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6968 f.debug_tuple("AppCaptureServices").field(&self.0).finish()
6969 }
6970 }
6971 impl ::windows::core::RuntimeType for AppCaptureServices {
6972 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppCaptureServices;{44fec0b5-34f5-4f18-ae8c-b9123abbfc0d})");
6973 }
6974 impl ::core::clone::Clone for AppCaptureServices {
6975 fn clone(&self) -> Self {
6976 Self(self.0.clone())
6977 }
6978 }
6979 unsafe impl ::windows::core::Interface for AppCaptureServices {
6980 type Vtable = IAppCaptureServices_Vtbl;
6981 }
6982 unsafe impl ::windows::core::ComInterface for AppCaptureServices {
6983 const IID: ::windows::core::GUID = <IAppCaptureServices as ::windows::core::ComInterface>::IID;
6984 }
6985 impl ::windows::core::RuntimeName for AppCaptureServices {
6986 const NAME: &'static str = "Windows.Media.Capture.AppCaptureServices";
6987 }
6988 ::windows::imp::interface_hierarchy!(AppCaptureServices, ::windows::core::IUnknown, ::windows::core::IInspectable);
6989 unsafe impl ::core::marker::Send for AppCaptureServices {}
6990 unsafe impl ::core::marker::Sync for AppCaptureServices {}
6991 #[doc = "*Required features: `\"Media_Capture\"`*"]
6992 #[repr(transparent)]
6993 pub struct AppCaptureSettings(::windows::core::IUnknown);
6994 impl AppCaptureSettings {
6995 #[doc = "*Required features: `\"Storage\"`*"]
6996 #[cfg(feature = "Storage")]
6997 pub fn SetAppCaptureDestinationFolder(&self, value: &super::super::Storage::StorageFolder) -> ::windows::core::Result<()> {
6998 let this = self;
6999 unsafe { (::windows::core::Interface::vtable(this).SetAppCaptureDestinationFolder)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
7000 }
7001 #[doc = "*Required features: `\"Storage\"`*"]
7002 #[cfg(feature = "Storage")]
7003 pub fn AppCaptureDestinationFolder(&self) -> ::windows::core::Result<super::super::Storage::StorageFolder> {
7004 let this = self;
7005 unsafe {
7006 let mut result__ = ::windows::core::zeroed::<super::super::Storage::StorageFolder>();
7007 (::windows::core::Interface::vtable(this).AppCaptureDestinationFolder)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7008 }
7009 }
7010 pub fn SetAudioEncodingBitrate(&self, value: u32) -> ::windows::core::Result<()> {
7011 let this = self;
7012 unsafe { (::windows::core::Interface::vtable(this).SetAudioEncodingBitrate)(::windows::core::Interface::as_raw(this), value).ok() }
7013 }
7014 pub fn AudioEncodingBitrate(&self) -> ::windows::core::Result<u32> {
7015 let this = self;
7016 unsafe {
7017 let mut result__ = ::windows::core::zeroed::<u32>();
7018 (::windows::core::Interface::vtable(this).AudioEncodingBitrate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7019 }
7020 }
7021 pub fn SetIsAudioCaptureEnabled(&self, value: bool) -> ::windows::core::Result<()> {
7022 let this = self;
7023 unsafe { (::windows::core::Interface::vtable(this).SetIsAudioCaptureEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
7024 }
7025 pub fn IsAudioCaptureEnabled(&self) -> ::windows::core::Result<bool> {
7026 let this = self;
7027 unsafe {
7028 let mut result__ = ::windows::core::zeroed::<bool>();
7029 (::windows::core::Interface::vtable(this).IsAudioCaptureEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7030 }
7031 }
7032 pub fn SetCustomVideoEncodingBitrate(&self, value: u32) -> ::windows::core::Result<()> {
7033 let this = self;
7034 unsafe { (::windows::core::Interface::vtable(this).SetCustomVideoEncodingBitrate)(::windows::core::Interface::as_raw(this), value).ok() }
7035 }
7036 pub fn CustomVideoEncodingBitrate(&self) -> ::windows::core::Result<u32> {
7037 let this = self;
7038 unsafe {
7039 let mut result__ = ::windows::core::zeroed::<u32>();
7040 (::windows::core::Interface::vtable(this).CustomVideoEncodingBitrate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7041 }
7042 }
7043 pub fn SetCustomVideoEncodingHeight(&self, value: u32) -> ::windows::core::Result<()> {
7044 let this = self;
7045 unsafe { (::windows::core::Interface::vtable(this).SetCustomVideoEncodingHeight)(::windows::core::Interface::as_raw(this), value).ok() }
7046 }
7047 pub fn CustomVideoEncodingHeight(&self) -> ::windows::core::Result<u32> {
7048 let this = self;
7049 unsafe {
7050 let mut result__ = ::windows::core::zeroed::<u32>();
7051 (::windows::core::Interface::vtable(this).CustomVideoEncodingHeight)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7052 }
7053 }
7054 pub fn SetCustomVideoEncodingWidth(&self, value: u32) -> ::windows::core::Result<()> {
7055 let this = self;
7056 unsafe { (::windows::core::Interface::vtable(this).SetCustomVideoEncodingWidth)(::windows::core::Interface::as_raw(this), value).ok() }
7057 }
7058 pub fn CustomVideoEncodingWidth(&self) -> ::windows::core::Result<u32> {
7059 let this = self;
7060 unsafe {
7061 let mut result__ = ::windows::core::zeroed::<u32>();
7062 (::windows::core::Interface::vtable(this).CustomVideoEncodingWidth)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7063 }
7064 }
7065 pub fn SetHistoricalBufferLength(&self, value: u32) -> ::windows::core::Result<()> {
7066 let this = self;
7067 unsafe { (::windows::core::Interface::vtable(this).SetHistoricalBufferLength)(::windows::core::Interface::as_raw(this), value).ok() }
7068 }
7069 pub fn HistoricalBufferLength(&self) -> ::windows::core::Result<u32> {
7070 let this = self;
7071 unsafe {
7072 let mut result__ = ::windows::core::zeroed::<u32>();
7073 (::windows::core::Interface::vtable(this).HistoricalBufferLength)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7074 }
7075 }
7076 pub fn SetHistoricalBufferLengthUnit(&self, value: AppCaptureHistoricalBufferLengthUnit) -> ::windows::core::Result<()> {
7077 let this = self;
7078 unsafe { (::windows::core::Interface::vtable(this).SetHistoricalBufferLengthUnit)(::windows::core::Interface::as_raw(this), value).ok() }
7079 }
7080 pub fn HistoricalBufferLengthUnit(&self) -> ::windows::core::Result<AppCaptureHistoricalBufferLengthUnit> {
7081 let this = self;
7082 unsafe {
7083 let mut result__ = ::windows::core::zeroed::<AppCaptureHistoricalBufferLengthUnit>();
7084 (::windows::core::Interface::vtable(this).HistoricalBufferLengthUnit)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7085 }
7086 }
7087 pub fn SetIsHistoricalCaptureEnabled(&self, value: bool) -> ::windows::core::Result<()> {
7088 let this = self;
7089 unsafe { (::windows::core::Interface::vtable(this).SetIsHistoricalCaptureEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
7090 }
7091 pub fn IsHistoricalCaptureEnabled(&self) -> ::windows::core::Result<bool> {
7092 let this = self;
7093 unsafe {
7094 let mut result__ = ::windows::core::zeroed::<bool>();
7095 (::windows::core::Interface::vtable(this).IsHistoricalCaptureEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7096 }
7097 }
7098 pub fn SetIsHistoricalCaptureOnBatteryAllowed(&self, value: bool) -> ::windows::core::Result<()> {
7099 let this = self;
7100 unsafe { (::windows::core::Interface::vtable(this).SetIsHistoricalCaptureOnBatteryAllowed)(::windows::core::Interface::as_raw(this), value).ok() }
7101 }
7102 pub fn IsHistoricalCaptureOnBatteryAllowed(&self) -> ::windows::core::Result<bool> {
7103 let this = self;
7104 unsafe {
7105 let mut result__ = ::windows::core::zeroed::<bool>();
7106 (::windows::core::Interface::vtable(this).IsHistoricalCaptureOnBatteryAllowed)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7107 }
7108 }
7109 pub fn SetIsHistoricalCaptureOnWirelessDisplayAllowed(&self, value: bool) -> ::windows::core::Result<()> {
7110 let this = self;
7111 unsafe { (::windows::core::Interface::vtable(this).SetIsHistoricalCaptureOnWirelessDisplayAllowed)(::windows::core::Interface::as_raw(this), value).ok() }
7112 }
7113 pub fn IsHistoricalCaptureOnWirelessDisplayAllowed(&self) -> ::windows::core::Result<bool> {
7114 let this = self;
7115 unsafe {
7116 let mut result__ = ::windows::core::zeroed::<bool>();
7117 (::windows::core::Interface::vtable(this).IsHistoricalCaptureOnWirelessDisplayAllowed)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7118 }
7119 }
7120 #[doc = "*Required features: `\"Foundation\"`*"]
7121 #[cfg(feature = "Foundation")]
7122 pub fn SetMaximumRecordLength(&self, value: super::super::Foundation::TimeSpan) -> ::windows::core::Result<()> {
7123 let this = self;
7124 unsafe { (::windows::core::Interface::vtable(this).SetMaximumRecordLength)(::windows::core::Interface::as_raw(this), value).ok() }
7125 }
7126 #[doc = "*Required features: `\"Foundation\"`*"]
7127 #[cfg(feature = "Foundation")]
7128 pub fn MaximumRecordLength(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
7129 let this = self;
7130 unsafe {
7131 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
7132 (::windows::core::Interface::vtable(this).MaximumRecordLength)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7133 }
7134 }
7135 #[doc = "*Required features: `\"Storage\"`*"]
7136 #[cfg(feature = "Storage")]
7137 pub fn SetScreenshotDestinationFolder(&self, value: &super::super::Storage::StorageFolder) -> ::windows::core::Result<()> {
7138 let this = self;
7139 unsafe { (::windows::core::Interface::vtable(this).SetScreenshotDestinationFolder)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
7140 }
7141 #[doc = "*Required features: `\"Storage\"`*"]
7142 #[cfg(feature = "Storage")]
7143 pub fn ScreenshotDestinationFolder(&self) -> ::windows::core::Result<super::super::Storage::StorageFolder> {
7144 let this = self;
7145 unsafe {
7146 let mut result__ = ::windows::core::zeroed::<super::super::Storage::StorageFolder>();
7147 (::windows::core::Interface::vtable(this).ScreenshotDestinationFolder)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7148 }
7149 }
7150 pub fn SetVideoEncodingBitrateMode(&self, value: AppCaptureVideoEncodingBitrateMode) -> ::windows::core::Result<()> {
7151 let this = self;
7152 unsafe { (::windows::core::Interface::vtable(this).SetVideoEncodingBitrateMode)(::windows::core::Interface::as_raw(this), value).ok() }
7153 }
7154 pub fn VideoEncodingBitrateMode(&self) -> ::windows::core::Result<AppCaptureVideoEncodingBitrateMode> {
7155 let this = self;
7156 unsafe {
7157 let mut result__ = ::windows::core::zeroed::<AppCaptureVideoEncodingBitrateMode>();
7158 (::windows::core::Interface::vtable(this).VideoEncodingBitrateMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7159 }
7160 }
7161 pub fn SetVideoEncodingResolutionMode(&self, value: AppCaptureVideoEncodingResolutionMode) -> ::windows::core::Result<()> {
7162 let this = self;
7163 unsafe { (::windows::core::Interface::vtable(this).SetVideoEncodingResolutionMode)(::windows::core::Interface::as_raw(this), value).ok() }
7164 }
7165 pub fn VideoEncodingResolutionMode(&self) -> ::windows::core::Result<AppCaptureVideoEncodingResolutionMode> {
7166 let this = self;
7167 unsafe {
7168 let mut result__ = ::windows::core::zeroed::<AppCaptureVideoEncodingResolutionMode>();
7169 (::windows::core::Interface::vtable(this).VideoEncodingResolutionMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7170 }
7171 }
7172 pub fn SetIsAppCaptureEnabled(&self, value: bool) -> ::windows::core::Result<()> {
7173 let this = self;
7174 unsafe { (::windows::core::Interface::vtable(this).SetIsAppCaptureEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
7175 }
7176 pub fn IsAppCaptureEnabled(&self) -> ::windows::core::Result<bool> {
7177 let this = self;
7178 unsafe {
7179 let mut result__ = ::windows::core::zeroed::<bool>();
7180 (::windows::core::Interface::vtable(this).IsAppCaptureEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7181 }
7182 }
7183 pub fn IsCpuConstrained(&self) -> ::windows::core::Result<bool> {
7184 let this = self;
7185 unsafe {
7186 let mut result__ = ::windows::core::zeroed::<bool>();
7187 (::windows::core::Interface::vtable(this).IsCpuConstrained)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7188 }
7189 }
7190 pub fn IsDisabledByPolicy(&self) -> ::windows::core::Result<bool> {
7191 let this = self;
7192 unsafe {
7193 let mut result__ = ::windows::core::zeroed::<bool>();
7194 (::windows::core::Interface::vtable(this).IsDisabledByPolicy)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7195 }
7196 }
7197 pub fn IsMemoryConstrained(&self) -> ::windows::core::Result<bool> {
7198 let this = self;
7199 unsafe {
7200 let mut result__ = ::windows::core::zeroed::<bool>();
7201 (::windows::core::Interface::vtable(this).IsMemoryConstrained)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7202 }
7203 }
7204 pub fn HasHardwareEncoder(&self) -> ::windows::core::Result<bool> {
7205 let this = self;
7206 unsafe {
7207 let mut result__ = ::windows::core::zeroed::<bool>();
7208 (::windows::core::Interface::vtable(this).HasHardwareEncoder)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7209 }
7210 }
7211 pub fn IsGpuConstrained(&self) -> ::windows::core::Result<bool> {
7212 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings2>(self)?;
7213 unsafe {
7214 let mut result__ = ::windows::core::zeroed::<bool>();
7215 (::windows::core::Interface::vtable(this).IsGpuConstrained)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7216 }
7217 }
7218 pub fn AlternateShortcutKeys(&self) -> ::windows::core::Result<AppCaptureAlternateShortcutKeys> {
7219 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings2>(self)?;
7220 unsafe {
7221 let mut result__ = ::windows::core::zeroed::<AppCaptureAlternateShortcutKeys>();
7222 (::windows::core::Interface::vtable(this).AlternateShortcutKeys)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7223 }
7224 }
7225 pub fn SetIsMicrophoneCaptureEnabled(&self, value: bool) -> ::windows::core::Result<()> {
7226 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings3>(self)?;
7227 unsafe { (::windows::core::Interface::vtable(this).SetIsMicrophoneCaptureEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
7228 }
7229 pub fn IsMicrophoneCaptureEnabled(&self) -> ::windows::core::Result<bool> {
7230 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings3>(self)?;
7231 unsafe {
7232 let mut result__ = ::windows::core::zeroed::<bool>();
7233 (::windows::core::Interface::vtable(this).IsMicrophoneCaptureEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7234 }
7235 }
7236 pub fn SetIsMicrophoneCaptureEnabledByDefault(&self, value: bool) -> ::windows::core::Result<()> {
7237 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings4>(self)?;
7238 unsafe { (::windows::core::Interface::vtable(this).SetIsMicrophoneCaptureEnabledByDefault)(::windows::core::Interface::as_raw(this), value).ok() }
7239 }
7240 pub fn IsMicrophoneCaptureEnabledByDefault(&self) -> ::windows::core::Result<bool> {
7241 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings4>(self)?;
7242 unsafe {
7243 let mut result__ = ::windows::core::zeroed::<bool>();
7244 (::windows::core::Interface::vtable(this).IsMicrophoneCaptureEnabledByDefault)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7245 }
7246 }
7247 pub fn SetSystemAudioGain(&self, value: f64) -> ::windows::core::Result<()> {
7248 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings4>(self)?;
7249 unsafe { (::windows::core::Interface::vtable(this).SetSystemAudioGain)(::windows::core::Interface::as_raw(this), value).ok() }
7250 }
7251 pub fn SystemAudioGain(&self) -> ::windows::core::Result<f64> {
7252 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings4>(self)?;
7253 unsafe {
7254 let mut result__ = ::windows::core::zeroed::<f64>();
7255 (::windows::core::Interface::vtable(this).SystemAudioGain)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7256 }
7257 }
7258 pub fn SetMicrophoneGain(&self, value: f64) -> ::windows::core::Result<()> {
7259 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings4>(self)?;
7260 unsafe { (::windows::core::Interface::vtable(this).SetMicrophoneGain)(::windows::core::Interface::as_raw(this), value).ok() }
7261 }
7262 pub fn MicrophoneGain(&self) -> ::windows::core::Result<f64> {
7263 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings4>(self)?;
7264 unsafe {
7265 let mut result__ = ::windows::core::zeroed::<f64>();
7266 (::windows::core::Interface::vtable(this).MicrophoneGain)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7267 }
7268 }
7269 pub fn SetVideoEncodingFrameRateMode(&self, value: AppCaptureVideoEncodingFrameRateMode) -> ::windows::core::Result<()> {
7270 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings4>(self)?;
7271 unsafe { (::windows::core::Interface::vtable(this).SetVideoEncodingFrameRateMode)(::windows::core::Interface::as_raw(this), value).ok() }
7272 }
7273 pub fn VideoEncodingFrameRateMode(&self) -> ::windows::core::Result<AppCaptureVideoEncodingFrameRateMode> {
7274 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings4>(self)?;
7275 unsafe {
7276 let mut result__ = ::windows::core::zeroed::<AppCaptureVideoEncodingFrameRateMode>();
7277 (::windows::core::Interface::vtable(this).VideoEncodingFrameRateMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7278 }
7279 }
7280 pub fn SetIsEchoCancellationEnabled(&self, value: bool) -> ::windows::core::Result<()> {
7281 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings5>(self)?;
7282 unsafe { (::windows::core::Interface::vtable(this).SetIsEchoCancellationEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
7283 }
7284 pub fn IsEchoCancellationEnabled(&self) -> ::windows::core::Result<bool> {
7285 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings5>(self)?;
7286 unsafe {
7287 let mut result__ = ::windows::core::zeroed::<bool>();
7288 (::windows::core::Interface::vtable(this).IsEchoCancellationEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7289 }
7290 }
7291 pub fn SetIsCursorImageCaptureEnabled(&self, value: bool) -> ::windows::core::Result<()> {
7292 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings5>(self)?;
7293 unsafe { (::windows::core::Interface::vtable(this).SetIsCursorImageCaptureEnabled)(::windows::core::Interface::as_raw(this), value).ok() }
7294 }
7295 pub fn IsCursorImageCaptureEnabled(&self) -> ::windows::core::Result<bool> {
7296 let this = &::windows::core::ComInterface::cast::<IAppCaptureSettings5>(self)?;
7297 unsafe {
7298 let mut result__ = ::windows::core::zeroed::<bool>();
7299 (::windows::core::Interface::vtable(this).IsCursorImageCaptureEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7300 }
7301 }
7302 }
7303 impl ::core::cmp::PartialEq for AppCaptureSettings {
7304 fn eq(&self, other: &Self) -> bool {
7305 self.0 == other.0
7306 }
7307 }
7308 impl ::core::cmp::Eq for AppCaptureSettings {}
7309 impl ::core::fmt::Debug for AppCaptureSettings {
7310 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7311 f.debug_tuple("AppCaptureSettings").field(&self.0).finish()
7312 }
7313 }
7314 impl ::windows::core::RuntimeType for AppCaptureSettings {
7315 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppCaptureSettings;{14683a86-8807-48d3-883a-970ee4532a39})");
7316 }
7317 impl ::core::clone::Clone for AppCaptureSettings {
7318 fn clone(&self) -> Self {
7319 Self(self.0.clone())
7320 }
7321 }
7322 unsafe impl ::windows::core::Interface for AppCaptureSettings {
7323 type Vtable = IAppCaptureSettings_Vtbl;
7324 }
7325 unsafe impl ::windows::core::ComInterface for AppCaptureSettings {
7326 const IID: ::windows::core::GUID = <IAppCaptureSettings as ::windows::core::ComInterface>::IID;
7327 }
7328 impl ::windows::core::RuntimeName for AppCaptureSettings {
7329 const NAME: &'static str = "Windows.Media.Capture.AppCaptureSettings";
7330 }
7331 ::windows::imp::interface_hierarchy!(AppCaptureSettings, ::windows::core::IUnknown, ::windows::core::IInspectable);
7332 #[doc = "*Required features: `\"Media_Capture\"`*"]
7333 #[repr(transparent)]
7334 pub struct AppCaptureState(::windows::core::IUnknown);
7335 impl AppCaptureState {
7336 pub fn IsTargetRunning(&self) -> ::windows::core::Result<bool> {
7337 let this = self;
7338 unsafe {
7339 let mut result__ = ::windows::core::zeroed::<bool>();
7340 (::windows::core::Interface::vtable(this).IsTargetRunning)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7341 }
7342 }
7343 pub fn IsHistoricalCaptureEnabled(&self) -> ::windows::core::Result<bool> {
7344 let this = self;
7345 unsafe {
7346 let mut result__ = ::windows::core::zeroed::<bool>();
7347 (::windows::core::Interface::vtable(this).IsHistoricalCaptureEnabled)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7348 }
7349 }
7350 pub fn ShouldCaptureMicrophone(&self) -> ::windows::core::Result<bool> {
7351 let this = self;
7352 unsafe {
7353 let mut result__ = ::windows::core::zeroed::<bool>();
7354 (::windows::core::Interface::vtable(this).ShouldCaptureMicrophone)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7355 }
7356 }
7357 pub fn SetShouldCaptureMicrophone(&self, value: bool) -> ::windows::core::Result<()> {
7358 let this = self;
7359 unsafe { (::windows::core::Interface::vtable(this).SetShouldCaptureMicrophone)(::windows::core::Interface::as_raw(this), value).ok() }
7360 }
7361 pub fn RestartMicrophoneCapture(&self) -> ::windows::core::Result<()> {
7362 let this = self;
7363 unsafe { (::windows::core::Interface::vtable(this).RestartMicrophoneCapture)(::windows::core::Interface::as_raw(this)).ok() }
7364 }
7365 pub fn MicrophoneCaptureState(&self) -> ::windows::core::Result<AppCaptureMicrophoneCaptureState> {
7366 let this = self;
7367 unsafe {
7368 let mut result__ = ::windows::core::zeroed::<AppCaptureMicrophoneCaptureState>();
7369 (::windows::core::Interface::vtable(this).MicrophoneCaptureState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7370 }
7371 }
7372 pub fn MicrophoneCaptureError(&self) -> ::windows::core::Result<u32> {
7373 let this = self;
7374 unsafe {
7375 let mut result__ = ::windows::core::zeroed::<u32>();
7376 (::windows::core::Interface::vtable(this).MicrophoneCaptureError)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7377 }
7378 }
7379 #[doc = "*Required features: `\"Foundation\"`*"]
7380 #[cfg(feature = "Foundation")]
7381 pub fn MicrophoneCaptureStateChanged(&self, value: &super::super::Foundation::TypedEventHandler<AppCaptureState, AppCaptureMicrophoneCaptureStateChangedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
7382 let this = self;
7383 unsafe {
7384 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
7385 (::windows::core::Interface::vtable(this).MicrophoneCaptureStateChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
7386 }
7387 }
7388 #[doc = "*Required features: `\"Foundation\"`*"]
7389 #[cfg(feature = "Foundation")]
7390 pub fn RemoveMicrophoneCaptureStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
7391 let this = self;
7392 unsafe { (::windows::core::Interface::vtable(this).RemoveMicrophoneCaptureStateChanged)(::windows::core::Interface::as_raw(this), token).ok() }
7393 }
7394 #[doc = "*Required features: `\"Foundation\"`*"]
7395 #[cfg(feature = "Foundation")]
7396 pub fn CaptureTargetClosed(&self, value: &super::super::Foundation::TypedEventHandler<AppCaptureState, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
7397 let this = self;
7398 unsafe {
7399 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
7400 (::windows::core::Interface::vtable(this).CaptureTargetClosed)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
7401 }
7402 }
7403 #[doc = "*Required features: `\"Foundation\"`*"]
7404 #[cfg(feature = "Foundation")]
7405 pub fn RemoveCaptureTargetClosed(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
7406 let this = self;
7407 unsafe { (::windows::core::Interface::vtable(this).RemoveCaptureTargetClosed)(::windows::core::Interface::as_raw(this), token).ok() }
7408 }
7409 }
7410 impl ::core::cmp::PartialEq for AppCaptureState {
7411 fn eq(&self, other: &Self) -> bool {
7412 self.0 == other.0
7413 }
7414 }
7415 impl ::core::cmp::Eq for AppCaptureState {}
7416 impl ::core::fmt::Debug for AppCaptureState {
7417 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7418 f.debug_tuple("AppCaptureState").field(&self.0).finish()
7419 }
7420 }
7421 impl ::windows::core::RuntimeType for AppCaptureState {
7422 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.AppCaptureState;{73134372-d4eb-44ce-9538-465f506ac4ea})");
7423 }
7424 impl ::core::clone::Clone for AppCaptureState {
7425 fn clone(&self) -> Self {
7426 Self(self.0.clone())
7427 }
7428 }
7429 unsafe impl ::windows::core::Interface for AppCaptureState {
7430 type Vtable = IAppCaptureState_Vtbl;
7431 }
7432 unsafe impl ::windows::core::ComInterface for AppCaptureState {
7433 const IID: ::windows::core::GUID = <IAppCaptureState as ::windows::core::ComInterface>::IID;
7434 }
7435 impl ::windows::core::RuntimeName for AppCaptureState {
7436 const NAME: &'static str = "Windows.Media.Capture.AppCaptureState";
7437 }
7438 ::windows::imp::interface_hierarchy!(AppCaptureState, ::windows::core::IUnknown, ::windows::core::IInspectable);
7439 unsafe impl ::core::marker::Send for AppCaptureState {}
7440 unsafe impl ::core::marker::Sync for AppCaptureState {}
7441 #[doc = "*Required features: `\"Media_Capture\"`*"]
7442 #[repr(transparent)]
7443 pub struct CameraCaptureUI(::windows::core::IUnknown);
7444 impl CameraCaptureUI {
7445 pub fn new() -> ::windows::core::Result<Self> {
7446 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
7447 }
7448 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
7449 static SHARED: ::windows::imp::FactoryCache<CameraCaptureUI, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
7450 SHARED.call(callback)
7451 }
7452 pub fn PhotoSettings(&self) -> ::windows::core::Result<CameraCaptureUIPhotoCaptureSettings> {
7453 let this = self;
7454 unsafe {
7455 let mut result__ = ::windows::core::zeroed::<CameraCaptureUIPhotoCaptureSettings>();
7456 (::windows::core::Interface::vtable(this).PhotoSettings)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7457 }
7458 }
7459 pub fn VideoSettings(&self) -> ::windows::core::Result<CameraCaptureUIVideoCaptureSettings> {
7460 let this = self;
7461 unsafe {
7462 let mut result__ = ::windows::core::zeroed::<CameraCaptureUIVideoCaptureSettings>();
7463 (::windows::core::Interface::vtable(this).VideoSettings)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7464 }
7465 }
7466 #[doc = "*Required features: `\"Foundation\"`, `\"Storage\"`*"]
7467 #[cfg(all(feature = "Foundation", feature = "Storage"))]
7468 pub fn CaptureFileAsync(&self, mode: CameraCaptureUIMode) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::StorageFile>> {
7469 let this = self;
7470 unsafe {
7471 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::super::Storage::StorageFile>>();
7472 (::windows::core::Interface::vtable(this).CaptureFileAsync)(::windows::core::Interface::as_raw(this), mode, &mut result__).from_abi(result__)
7473 }
7474 }
7475 }
7476 impl ::core::cmp::PartialEq for CameraCaptureUI {
7477 fn eq(&self, other: &Self) -> bool {
7478 self.0 == other.0
7479 }
7480 }
7481 impl ::core::cmp::Eq for CameraCaptureUI {}
7482 impl ::core::fmt::Debug for CameraCaptureUI {
7483 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7484 f.debug_tuple("CameraCaptureUI").field(&self.0).finish()
7485 }
7486 }
7487 impl ::windows::core::RuntimeType for CameraCaptureUI {
7488 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.CameraCaptureUI;{48587540-6f93-4bb4-b8f3-e89e48948c91})");
7489 }
7490 impl ::core::clone::Clone for CameraCaptureUI {
7491 fn clone(&self) -> Self {
7492 Self(self.0.clone())
7493 }
7494 }
7495 unsafe impl ::windows::core::Interface for CameraCaptureUI {
7496 type Vtable = ICameraCaptureUI_Vtbl;
7497 }
7498 unsafe impl ::windows::core::ComInterface for CameraCaptureUI {
7499 const IID: ::windows::core::GUID = <ICameraCaptureUI as ::windows::core::ComInterface>::IID;
7500 }
7501 impl ::windows::core::RuntimeName for CameraCaptureUI {
7502 const NAME: &'static str = "Windows.Media.Capture.CameraCaptureUI";
7503 }
7504 ::windows::imp::interface_hierarchy!(CameraCaptureUI, ::windows::core::IUnknown, ::windows::core::IInspectable);
7505 #[doc = "*Required features: `\"Media_Capture\"`*"]
7506 #[repr(transparent)]
7507 pub struct CameraCaptureUIPhotoCaptureSettings(::windows::core::IUnknown);
7508 impl CameraCaptureUIPhotoCaptureSettings {
7509 pub fn Format(&self) -> ::windows::core::Result<CameraCaptureUIPhotoFormat> {
7510 let this = self;
7511 unsafe {
7512 let mut result__ = ::windows::core::zeroed::<CameraCaptureUIPhotoFormat>();
7513 (::windows::core::Interface::vtable(this).Format)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7514 }
7515 }
7516 pub fn SetFormat(&self, value: CameraCaptureUIPhotoFormat) -> ::windows::core::Result<()> {
7517 let this = self;
7518 unsafe { (::windows::core::Interface::vtable(this).SetFormat)(::windows::core::Interface::as_raw(this), value).ok() }
7519 }
7520 pub fn MaxResolution(&self) -> ::windows::core::Result<CameraCaptureUIMaxPhotoResolution> {
7521 let this = self;
7522 unsafe {
7523 let mut result__ = ::windows::core::zeroed::<CameraCaptureUIMaxPhotoResolution>();
7524 (::windows::core::Interface::vtable(this).MaxResolution)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7525 }
7526 }
7527 pub fn SetMaxResolution(&self, value: CameraCaptureUIMaxPhotoResolution) -> ::windows::core::Result<()> {
7528 let this = self;
7529 unsafe { (::windows::core::Interface::vtable(this).SetMaxResolution)(::windows::core::Interface::as_raw(this), value).ok() }
7530 }
7531 #[doc = "*Required features: `\"Foundation\"`*"]
7532 #[cfg(feature = "Foundation")]
7533 pub fn CroppedSizeInPixels(&self) -> ::windows::core::Result<super::super::Foundation::Size> {
7534 let this = self;
7535 unsafe {
7536 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Size>();
7537 (::windows::core::Interface::vtable(this).CroppedSizeInPixels)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7538 }
7539 }
7540 #[doc = "*Required features: `\"Foundation\"`*"]
7541 #[cfg(feature = "Foundation")]
7542 pub fn SetCroppedSizeInPixels(&self, value: super::super::Foundation::Size) -> ::windows::core::Result<()> {
7543 let this = self;
7544 unsafe { (::windows::core::Interface::vtable(this).SetCroppedSizeInPixels)(::windows::core::Interface::as_raw(this), value).ok() }
7545 }
7546 #[doc = "*Required features: `\"Foundation\"`*"]
7547 #[cfg(feature = "Foundation")]
7548 pub fn CroppedAspectRatio(&self) -> ::windows::core::Result<super::super::Foundation::Size> {
7549 let this = self;
7550 unsafe {
7551 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Size>();
7552 (::windows::core::Interface::vtable(this).CroppedAspectRatio)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7553 }
7554 }
7555 #[doc = "*Required features: `\"Foundation\"`*"]
7556 #[cfg(feature = "Foundation")]
7557 pub fn SetCroppedAspectRatio(&self, value: super::super::Foundation::Size) -> ::windows::core::Result<()> {
7558 let this = self;
7559 unsafe { (::windows::core::Interface::vtable(this).SetCroppedAspectRatio)(::windows::core::Interface::as_raw(this), value).ok() }
7560 }
7561 pub fn AllowCropping(&self) -> ::windows::core::Result<bool> {
7562 let this = self;
7563 unsafe {
7564 let mut result__ = ::windows::core::zeroed::<bool>();
7565 (::windows::core::Interface::vtable(this).AllowCropping)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7566 }
7567 }
7568 pub fn SetAllowCropping(&self, value: bool) -> ::windows::core::Result<()> {
7569 let this = self;
7570 unsafe { (::windows::core::Interface::vtable(this).SetAllowCropping)(::windows::core::Interface::as_raw(this), value).ok() }
7571 }
7572 }
7573 impl ::core::cmp::PartialEq for CameraCaptureUIPhotoCaptureSettings {
7574 fn eq(&self, other: &Self) -> bool {
7575 self.0 == other.0
7576 }
7577 }
7578 impl ::core::cmp::Eq for CameraCaptureUIPhotoCaptureSettings {}
7579 impl ::core::fmt::Debug for CameraCaptureUIPhotoCaptureSettings {
7580 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7581 f.debug_tuple("CameraCaptureUIPhotoCaptureSettings").field(&self.0).finish()
7582 }
7583 }
7584 impl ::windows::core::RuntimeType for CameraCaptureUIPhotoCaptureSettings {
7585 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.CameraCaptureUIPhotoCaptureSettings;{b9f5be97-3472-46a8-8a9e-04ce42ccc97d})");
7586 }
7587 impl ::core::clone::Clone for CameraCaptureUIPhotoCaptureSettings {
7588 fn clone(&self) -> Self {
7589 Self(self.0.clone())
7590 }
7591 }
7592 unsafe impl ::windows::core::Interface for CameraCaptureUIPhotoCaptureSettings {
7593 type Vtable = ICameraCaptureUIPhotoCaptureSettings_Vtbl;
7594 }
7595 unsafe impl ::windows::core::ComInterface for CameraCaptureUIPhotoCaptureSettings {
7596 const IID: ::windows::core::GUID = <ICameraCaptureUIPhotoCaptureSettings as ::windows::core::ComInterface>::IID;
7597 }
7598 impl ::windows::core::RuntimeName for CameraCaptureUIPhotoCaptureSettings {
7599 const NAME: &'static str = "Windows.Media.Capture.CameraCaptureUIPhotoCaptureSettings";
7600 }
7601 ::windows::imp::interface_hierarchy!(CameraCaptureUIPhotoCaptureSettings, ::windows::core::IUnknown, ::windows::core::IInspectable);
7602 unsafe impl ::core::marker::Send for CameraCaptureUIPhotoCaptureSettings {}
7603 unsafe impl ::core::marker::Sync for CameraCaptureUIPhotoCaptureSettings {}
7604 #[doc = "*Required features: `\"Media_Capture\"`*"]
7605 #[repr(transparent)]
7606 pub struct CameraCaptureUIVideoCaptureSettings(::windows::core::IUnknown);
7607 impl CameraCaptureUIVideoCaptureSettings {
7608 pub fn Format(&self) -> ::windows::core::Result<CameraCaptureUIVideoFormat> {
7609 let this = self;
7610 unsafe {
7611 let mut result__ = ::windows::core::zeroed::<CameraCaptureUIVideoFormat>();
7612 (::windows::core::Interface::vtable(this).Format)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7613 }
7614 }
7615 pub fn SetFormat(&self, value: CameraCaptureUIVideoFormat) -> ::windows::core::Result<()> {
7616 let this = self;
7617 unsafe { (::windows::core::Interface::vtable(this).SetFormat)(::windows::core::Interface::as_raw(this), value).ok() }
7618 }
7619 pub fn MaxResolution(&self) -> ::windows::core::Result<CameraCaptureUIMaxVideoResolution> {
7620 let this = self;
7621 unsafe {
7622 let mut result__ = ::windows::core::zeroed::<CameraCaptureUIMaxVideoResolution>();
7623 (::windows::core::Interface::vtable(this).MaxResolution)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7624 }
7625 }
7626 pub fn SetMaxResolution(&self, value: CameraCaptureUIMaxVideoResolution) -> ::windows::core::Result<()> {
7627 let this = self;
7628 unsafe { (::windows::core::Interface::vtable(this).SetMaxResolution)(::windows::core::Interface::as_raw(this), value).ok() }
7629 }
7630 pub fn MaxDurationInSeconds(&self) -> ::windows::core::Result<f32> {
7631 let this = self;
7632 unsafe {
7633 let mut result__ = ::windows::core::zeroed::<f32>();
7634 (::windows::core::Interface::vtable(this).MaxDurationInSeconds)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7635 }
7636 }
7637 pub fn SetMaxDurationInSeconds(&self, value: f32) -> ::windows::core::Result<()> {
7638 let this = self;
7639 unsafe { (::windows::core::Interface::vtable(this).SetMaxDurationInSeconds)(::windows::core::Interface::as_raw(this), value).ok() }
7640 }
7641 pub fn AllowTrimming(&self) -> ::windows::core::Result<bool> {
7642 let this = self;
7643 unsafe {
7644 let mut result__ = ::windows::core::zeroed::<bool>();
7645 (::windows::core::Interface::vtable(this).AllowTrimming)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7646 }
7647 }
7648 pub fn SetAllowTrimming(&self, value: bool) -> ::windows::core::Result<()> {
7649 let this = self;
7650 unsafe { (::windows::core::Interface::vtable(this).SetAllowTrimming)(::windows::core::Interface::as_raw(this), value).ok() }
7651 }
7652 }
7653 impl ::core::cmp::PartialEq for CameraCaptureUIVideoCaptureSettings {
7654 fn eq(&self, other: &Self) -> bool {
7655 self.0 == other.0
7656 }
7657 }
7658 impl ::core::cmp::Eq for CameraCaptureUIVideoCaptureSettings {}
7659 impl ::core::fmt::Debug for CameraCaptureUIVideoCaptureSettings {
7660 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7661 f.debug_tuple("CameraCaptureUIVideoCaptureSettings").field(&self.0).finish()
7662 }
7663 }
7664 impl ::windows::core::RuntimeType for CameraCaptureUIVideoCaptureSettings {
7665 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.CameraCaptureUIVideoCaptureSettings;{64e92d1f-a28d-425a-b84f-e568335ff24e})");
7666 }
7667 impl ::core::clone::Clone for CameraCaptureUIVideoCaptureSettings {
7668 fn clone(&self) -> Self {
7669 Self(self.0.clone())
7670 }
7671 }
7672 unsafe impl ::windows::core::Interface for CameraCaptureUIVideoCaptureSettings {
7673 type Vtable = ICameraCaptureUIVideoCaptureSettings_Vtbl;
7674 }
7675 unsafe impl ::windows::core::ComInterface for CameraCaptureUIVideoCaptureSettings {
7676 const IID: ::windows::core::GUID = <ICameraCaptureUIVideoCaptureSettings as ::windows::core::ComInterface>::IID;
7677 }
7678 impl ::windows::core::RuntimeName for CameraCaptureUIVideoCaptureSettings {
7679 const NAME: &'static str = "Windows.Media.Capture.CameraCaptureUIVideoCaptureSettings";
7680 }
7681 ::windows::imp::interface_hierarchy!(CameraCaptureUIVideoCaptureSettings, ::windows::core::IUnknown, ::windows::core::IInspectable);
7682 unsafe impl ::core::marker::Send for CameraCaptureUIVideoCaptureSettings {}
7683 unsafe impl ::core::marker::Sync for CameraCaptureUIVideoCaptureSettings {}
7684 #[doc = "*Required features: `\"Media_Capture\"`*"]
7685 pub struct CameraOptionsUI;
7686 impl CameraOptionsUI {
7687 pub fn Show(mediacapture: &MediaCapture) -> ::windows::core::Result<()> {
7688 Self::ICameraOptionsUIStatics(|this| unsafe { (::windows::core::Interface::vtable(this).Show)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(mediacapture)).ok() })
7689 }
7690 #[doc(hidden)]
7691 pub fn ICameraOptionsUIStatics<R, F: FnOnce(&ICameraOptionsUIStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
7692 static SHARED: ::windows::imp::FactoryCache<CameraOptionsUI, ICameraOptionsUIStatics> = ::windows::imp::FactoryCache::new();
7693 SHARED.call(callback)
7694 }
7695 }
7696 impl ::windows::core::RuntimeName for CameraOptionsUI {
7697 const NAME: &'static str = "Windows.Media.Capture.CameraOptionsUI";
7698 }
7699 #[doc = "*Required features: `\"Media_Capture\"`*"]
7700 #[repr(transparent)]
7701 pub struct CapturedFrame(::windows::core::IUnknown);
7702 impl CapturedFrame {
7703 pub fn Width(&self) -> ::windows::core::Result<u32> {
7704 let this = self;
7705 unsafe {
7706 let mut result__ = ::windows::core::zeroed::<u32>();
7707 (::windows::core::Interface::vtable(this).Width)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7708 }
7709 }
7710 pub fn Height(&self) -> ::windows::core::Result<u32> {
7711 let this = self;
7712 unsafe {
7713 let mut result__ = ::windows::core::zeroed::<u32>();
7714 (::windows::core::Interface::vtable(this).Height)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7715 }
7716 }
7717 pub fn ControlValues(&self) -> ::windows::core::Result<CapturedFrameControlValues> {
7718 let this = &::windows::core::ComInterface::cast::<ICapturedFrame2>(self)?;
7719 unsafe {
7720 let mut result__ = ::windows::core::zeroed::<CapturedFrameControlValues>();
7721 (::windows::core::Interface::vtable(this).ControlValues)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7722 }
7723 }
7724 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Graphics_Imaging\"`*"]
7725 #[cfg(all(feature = "Foundation_Collections", feature = "Graphics_Imaging"))]
7726 pub fn BitmapProperties(&self) -> ::windows::core::Result<super::super::Graphics::Imaging::BitmapPropertySet> {
7727 let this = &::windows::core::ComInterface::cast::<ICapturedFrame2>(self)?;
7728 unsafe {
7729 let mut result__ = ::windows::core::zeroed::<super::super::Graphics::Imaging::BitmapPropertySet>();
7730 (::windows::core::Interface::vtable(this).BitmapProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7731 }
7732 }
7733 #[doc = "*Required features: `\"Graphics_Imaging\"`*"]
7734 #[cfg(feature = "Graphics_Imaging")]
7735 pub fn SoftwareBitmap(&self) -> ::windows::core::Result<super::super::Graphics::Imaging::SoftwareBitmap> {
7736 let this = &::windows::core::ComInterface::cast::<ICapturedFrameWithSoftwareBitmap>(self)?;
7737 unsafe {
7738 let mut result__ = ::windows::core::zeroed::<super::super::Graphics::Imaging::SoftwareBitmap>();
7739 (::windows::core::Interface::vtable(this).SoftwareBitmap)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7740 }
7741 }
7742 #[doc = "*Required features: `\"Foundation\"`*"]
7743 #[cfg(feature = "Foundation")]
7744 pub fn Close(&self) -> ::windows::core::Result<()> {
7745 let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
7746 unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
7747 }
7748 #[doc = "*Required features: `\"Storage_Streams\"`*"]
7749 #[cfg(feature = "Storage_Streams")]
7750 pub fn ContentType(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
7751 let this = &::windows::core::ComInterface::cast::<super::super::Storage::Streams::IContentTypeProvider>(self)?;
7752 unsafe {
7753 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
7754 (::windows::core::Interface::vtable(this).ContentType)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7755 }
7756 }
7757 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
7758 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
7759 pub fn ReadAsync<P0>(&self, buffer: P0, count: u32, options: super::super::Storage::Streams::InputStreamOptions) -> ::windows::core::Result<super::super::Foundation::IAsyncOperationWithProgress<super::super::Storage::Streams::IBuffer, u32>>
7760 where
7761 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IBuffer>,
7762 {
7763 let this = &::windows::core::ComInterface::cast::<super::super::Storage::Streams::IInputStream>(self)?;
7764 unsafe {
7765 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperationWithProgress<super::super::Storage::Streams::IBuffer, u32>>();
7766 (::windows::core::Interface::vtable(this).ReadAsync)(::windows::core::Interface::as_raw(this), buffer.try_into_param()?.abi(), count, options, &mut result__).from_abi(result__)
7767 }
7768 }
7769 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
7770 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
7771 pub fn WriteAsync<P0>(&self, buffer: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperationWithProgress<u32, u32>>
7772 where
7773 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IBuffer>,
7774 {
7775 let this = &::windows::core::ComInterface::cast::<super::super::Storage::Streams::IOutputStream>(self)?;
7776 unsafe {
7777 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperationWithProgress<u32, u32>>();
7778 (::windows::core::Interface::vtable(this).WriteAsync)(::windows::core::Interface::as_raw(this), buffer.try_into_param()?.abi(), &mut result__).from_abi(result__)
7779 }
7780 }
7781 #[doc = "*Required features: `\"Foundation\"`, `\"Storage_Streams\"`*"]
7782 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
7783 pub fn FlushAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<bool>> {
7784 let this = &::windows::core::ComInterface::cast::<super::super::Storage::Streams::IOutputStream>(self)?;
7785 unsafe {
7786 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<bool>>();
7787 (::windows::core::Interface::vtable(this).FlushAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7788 }
7789 }
7790 #[doc = "*Required features: `\"Storage_Streams\"`*"]
7791 #[cfg(feature = "Storage_Streams")]
7792 pub fn Size(&self) -> ::windows::core::Result<u64> {
7793 let this = &::windows::core::ComInterface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
7794 unsafe {
7795 let mut result__ = ::windows::core::zeroed::<u64>();
7796 (::windows::core::Interface::vtable(this).Size)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7797 }
7798 }
7799 #[doc = "*Required features: `\"Storage_Streams\"`*"]
7800 #[cfg(feature = "Storage_Streams")]
7801 pub fn SetSize(&self, value: u64) -> ::windows::core::Result<()> {
7802 let this = &::windows::core::ComInterface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
7803 unsafe { (::windows::core::Interface::vtable(this).SetSize)(::windows::core::Interface::as_raw(this), value).ok() }
7804 }
7805 #[doc = "*Required features: `\"Storage_Streams\"`*"]
7806 #[cfg(feature = "Storage_Streams")]
7807 pub fn GetInputStreamAt(&self, position: u64) -> ::windows::core::Result<super::super::Storage::Streams::IInputStream> {
7808 let this = &::windows::core::ComInterface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
7809 unsafe {
7810 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IInputStream>();
7811 (::windows::core::Interface::vtable(this).GetInputStreamAt)(::windows::core::Interface::as_raw(this), position, &mut result__).from_abi(result__)
7812 }
7813 }
7814 #[doc = "*Required features: `\"Storage_Streams\"`*"]
7815 #[cfg(feature = "Storage_Streams")]
7816 pub fn GetOutputStreamAt(&self, position: u64) -> ::windows::core::Result<super::super::Storage::Streams::IOutputStream> {
7817 let this = &::windows::core::ComInterface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
7818 unsafe {
7819 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IOutputStream>();
7820 (::windows::core::Interface::vtable(this).GetOutputStreamAt)(::windows::core::Interface::as_raw(this), position, &mut result__).from_abi(result__)
7821 }
7822 }
7823 #[doc = "*Required features: `\"Storage_Streams\"`*"]
7824 #[cfg(feature = "Storage_Streams")]
7825 pub fn Position(&self) -> ::windows::core::Result<u64> {
7826 let this = &::windows::core::ComInterface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
7827 unsafe {
7828 let mut result__ = ::windows::core::zeroed::<u64>();
7829 (::windows::core::Interface::vtable(this).Position)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7830 }
7831 }
7832 #[doc = "*Required features: `\"Storage_Streams\"`*"]
7833 #[cfg(feature = "Storage_Streams")]
7834 pub fn Seek(&self, position: u64) -> ::windows::core::Result<()> {
7835 let this = &::windows::core::ComInterface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
7836 unsafe { (::windows::core::Interface::vtable(this).Seek)(::windows::core::Interface::as_raw(this), position).ok() }
7837 }
7838 #[doc = "*Required features: `\"Storage_Streams\"`*"]
7839 #[cfg(feature = "Storage_Streams")]
7840 pub fn CloneStream(&self) -> ::windows::core::Result<super::super::Storage::Streams::IRandomAccessStream> {
7841 let this = &::windows::core::ComInterface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
7842 unsafe {
7843 let mut result__ = ::windows::core::zeroed::<super::super::Storage::Streams::IRandomAccessStream>();
7844 (::windows::core::Interface::vtable(this).CloneStream)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7845 }
7846 }
7847 #[doc = "*Required features: `\"Storage_Streams\"`*"]
7848 #[cfg(feature = "Storage_Streams")]
7849 pub fn CanRead(&self) -> ::windows::core::Result<bool> {
7850 let this = &::windows::core::ComInterface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
7851 unsafe {
7852 let mut result__ = ::windows::core::zeroed::<bool>();
7853 (::windows::core::Interface::vtable(this).CanRead)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7854 }
7855 }
7856 #[doc = "*Required features: `\"Storage_Streams\"`*"]
7857 #[cfg(feature = "Storage_Streams")]
7858 pub fn CanWrite(&self) -> ::windows::core::Result<bool> {
7859 let this = &::windows::core::ComInterface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
7860 unsafe {
7861 let mut result__ = ::windows::core::zeroed::<bool>();
7862 (::windows::core::Interface::vtable(this).CanWrite)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7863 }
7864 }
7865 }
7866 impl ::core::cmp::PartialEq for CapturedFrame {
7867 fn eq(&self, other: &Self) -> bool {
7868 self.0 == other.0
7869 }
7870 }
7871 impl ::core::cmp::Eq for CapturedFrame {}
7872 impl ::core::fmt::Debug for CapturedFrame {
7873 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7874 f.debug_tuple("CapturedFrame").field(&self.0).finish()
7875 }
7876 }
7877 impl ::windows::core::RuntimeType for CapturedFrame {
7878 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.CapturedFrame;{1dd2de1f-571b-44d8-8e80-a08a1578766e})");
7879 }
7880 impl ::core::clone::Clone for CapturedFrame {
7881 fn clone(&self) -> Self {
7882 Self(self.0.clone())
7883 }
7884 }
7885 unsafe impl ::windows::core::Interface for CapturedFrame {
7886 type Vtable = ICapturedFrame_Vtbl;
7887 }
7888 unsafe impl ::windows::core::ComInterface for CapturedFrame {
7889 const IID: ::windows::core::GUID = <ICapturedFrame as ::windows::core::ComInterface>::IID;
7890 }
7891 impl ::windows::core::RuntimeName for CapturedFrame {
7892 const NAME: &'static str = "Windows.Media.Capture.CapturedFrame";
7893 }
7894 ::windows::imp::interface_hierarchy!(CapturedFrame, ::windows::core::IUnknown, ::windows::core::IInspectable);
7895 #[cfg(feature = "Foundation")]
7896 impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for CapturedFrame {}
7897 #[cfg(feature = "Storage_Streams")]
7898 impl ::windows::core::CanTryInto<super::super::Storage::Streams::IContentTypeProvider> for CapturedFrame {}
7899 #[cfg(feature = "Storage_Streams")]
7900 impl ::windows::core::CanTryInto<super::super::Storage::Streams::IInputStream> for CapturedFrame {}
7901 #[cfg(feature = "Storage_Streams")]
7902 impl ::windows::core::CanTryInto<super::super::Storage::Streams::IOutputStream> for CapturedFrame {}
7903 #[cfg(feature = "Storage_Streams")]
7904 impl ::windows::core::CanTryInto<super::super::Storage::Streams::IRandomAccessStream> for CapturedFrame {}
7905 #[cfg(feature = "Storage_Streams")]
7906 impl ::windows::core::CanTryInto<super::super::Storage::Streams::IRandomAccessStreamWithContentType> for CapturedFrame {}
7907 unsafe impl ::core::marker::Send for CapturedFrame {}
7908 unsafe impl ::core::marker::Sync for CapturedFrame {}
7909 #[doc = "*Required features: `\"Media_Capture\"`*"]
7910 #[repr(transparent)]
7911 pub struct CapturedFrameControlValues(::windows::core::IUnknown);
7912 impl CapturedFrameControlValues {
7913 #[doc = "*Required features: `\"Foundation\"`*"]
7914 #[cfg(feature = "Foundation")]
7915 pub fn Exposure(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>> {
7916 let this = self;
7917 unsafe {
7918 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>();
7919 (::windows::core::Interface::vtable(this).Exposure)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7920 }
7921 }
7922 #[doc = "*Required features: `\"Foundation\"`*"]
7923 #[cfg(feature = "Foundation")]
7924 pub fn ExposureCompensation(&self) -> ::windows::core::Result<super::super::Foundation::IReference<f32>> {
7925 let this = self;
7926 unsafe {
7927 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<f32>>();
7928 (::windows::core::Interface::vtable(this).ExposureCompensation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7929 }
7930 }
7931 #[doc = "*Required features: `\"Foundation\"`*"]
7932 #[cfg(feature = "Foundation")]
7933 pub fn IsoSpeed(&self) -> ::windows::core::Result<super::super::Foundation::IReference<u32>> {
7934 let this = self;
7935 unsafe {
7936 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<u32>>();
7937 (::windows::core::Interface::vtable(this).IsoSpeed)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7938 }
7939 }
7940 #[doc = "*Required features: `\"Foundation\"`*"]
7941 #[cfg(feature = "Foundation")]
7942 pub fn Focus(&self) -> ::windows::core::Result<super::super::Foundation::IReference<u32>> {
7943 let this = self;
7944 unsafe {
7945 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<u32>>();
7946 (::windows::core::Interface::vtable(this).Focus)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7947 }
7948 }
7949 #[doc = "*Required features: `\"Foundation\"`, `\"Media_Devices\"`*"]
7950 #[cfg(all(feature = "Foundation", feature = "Media_Devices"))]
7951 pub fn SceneMode(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::Devices::CaptureSceneMode>> {
7952 let this = self;
7953 unsafe {
7954 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::Devices::CaptureSceneMode>>();
7955 (::windows::core::Interface::vtable(this).SceneMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7956 }
7957 }
7958 #[doc = "*Required features: `\"Foundation\"`*"]
7959 #[cfg(feature = "Foundation")]
7960 pub fn Flashed(&self) -> ::windows::core::Result<super::super::Foundation::IReference<bool>> {
7961 let this = self;
7962 unsafe {
7963 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<bool>>();
7964 (::windows::core::Interface::vtable(this).Flashed)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7965 }
7966 }
7967 #[doc = "*Required features: `\"Foundation\"`*"]
7968 #[cfg(feature = "Foundation")]
7969 pub fn FlashPowerPercent(&self) -> ::windows::core::Result<super::super::Foundation::IReference<f32>> {
7970 let this = self;
7971 unsafe {
7972 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<f32>>();
7973 (::windows::core::Interface::vtable(this).FlashPowerPercent)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7974 }
7975 }
7976 #[doc = "*Required features: `\"Foundation\"`*"]
7977 #[cfg(feature = "Foundation")]
7978 pub fn WhiteBalance(&self) -> ::windows::core::Result<super::super::Foundation::IReference<u32>> {
7979 let this = self;
7980 unsafe {
7981 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<u32>>();
7982 (::windows::core::Interface::vtable(this).WhiteBalance)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7983 }
7984 }
7985 #[doc = "*Required features: `\"Foundation\"`*"]
7986 #[cfg(feature = "Foundation")]
7987 pub fn ZoomFactor(&self) -> ::windows::core::Result<super::super::Foundation::IReference<f32>> {
7988 let this = self;
7989 unsafe {
7990 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<f32>>();
7991 (::windows::core::Interface::vtable(this).ZoomFactor)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
7992 }
7993 }
7994 #[doc = "*Required features: `\"Foundation\"`, `\"Media_Devices\"`*"]
7995 #[cfg(all(feature = "Foundation", feature = "Media_Devices"))]
7996 pub fn FocusState(&self) -> ::windows::core::Result<super::super::Foundation::IReference<super::Devices::MediaCaptureFocusState>> {
7997 let this = &::windows::core::ComInterface::cast::<ICapturedFrameControlValues2>(self)?;
7998 unsafe {
7999 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<super::Devices::MediaCaptureFocusState>>();
8000 (::windows::core::Interface::vtable(this).FocusState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8001 }
8002 }
8003 #[doc = "*Required features: `\"Foundation\"`*"]
8004 #[cfg(feature = "Foundation")]
8005 pub fn IsoDigitalGain(&self) -> ::windows::core::Result<super::super::Foundation::IReference<f64>> {
8006 let this = &::windows::core::ComInterface::cast::<ICapturedFrameControlValues2>(self)?;
8007 unsafe {
8008 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<f64>>();
8009 (::windows::core::Interface::vtable(this).IsoDigitalGain)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8010 }
8011 }
8012 #[doc = "*Required features: `\"Foundation\"`*"]
8013 #[cfg(feature = "Foundation")]
8014 pub fn IsoAnalogGain(&self) -> ::windows::core::Result<super::super::Foundation::IReference<f64>> {
8015 let this = &::windows::core::ComInterface::cast::<ICapturedFrameControlValues2>(self)?;
8016 unsafe {
8017 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<f64>>();
8018 (::windows::core::Interface::vtable(this).IsoAnalogGain)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8019 }
8020 }
8021 #[doc = "*Required features: `\"Media_MediaProperties\"`*"]
8022 #[cfg(feature = "Media_MediaProperties")]
8023 pub fn SensorFrameRate(&self) -> ::windows::core::Result<super::MediaProperties::MediaRatio> {
8024 let this = &::windows::core::ComInterface::cast::<ICapturedFrameControlValues2>(self)?;
8025 unsafe {
8026 let mut result__ = ::windows::core::zeroed::<super::MediaProperties::MediaRatio>();
8027 (::windows::core::Interface::vtable(this).SensorFrameRate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8028 }
8029 }
8030 #[doc = "*Required features: `\"Foundation\"`*"]
8031 #[cfg(feature = "Foundation")]
8032 pub fn WhiteBalanceGain(&self) -> ::windows::core::Result<super::super::Foundation::IReference<WhiteBalanceGain>> {
8033 let this = &::windows::core::ComInterface::cast::<ICapturedFrameControlValues2>(self)?;
8034 unsafe {
8035 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<WhiteBalanceGain>>();
8036 (::windows::core::Interface::vtable(this).WhiteBalanceGain)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8037 }
8038 }
8039 }
8040 impl ::core::cmp::PartialEq for CapturedFrameControlValues {
8041 fn eq(&self, other: &Self) -> bool {
8042 self.0 == other.0
8043 }
8044 }
8045 impl ::core::cmp::Eq for CapturedFrameControlValues {}
8046 impl ::core::fmt::Debug for CapturedFrameControlValues {
8047 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8048 f.debug_tuple("CapturedFrameControlValues").field(&self.0).finish()
8049 }
8050 }
8051 impl ::windows::core::RuntimeType for CapturedFrameControlValues {
8052 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.CapturedFrameControlValues;{90c65b7f-4e0d-4ca4-882d-7a144fed0a90})");
8053 }
8054 impl ::core::clone::Clone for CapturedFrameControlValues {
8055 fn clone(&self) -> Self {
8056 Self(self.0.clone())
8057 }
8058 }
8059 unsafe impl ::windows::core::Interface for CapturedFrameControlValues {
8060 type Vtable = ICapturedFrameControlValues_Vtbl;
8061 }
8062 unsafe impl ::windows::core::ComInterface for CapturedFrameControlValues {
8063 const IID: ::windows::core::GUID = <ICapturedFrameControlValues as ::windows::core::ComInterface>::IID;
8064 }
8065 impl ::windows::core::RuntimeName for CapturedFrameControlValues {
8066 const NAME: &'static str = "Windows.Media.Capture.CapturedFrameControlValues";
8067 }
8068 ::windows::imp::interface_hierarchy!(CapturedFrameControlValues, ::windows::core::IUnknown, ::windows::core::IInspectable);
8069 unsafe impl ::core::marker::Send for CapturedFrameControlValues {}
8070 unsafe impl ::core::marker::Sync for CapturedFrameControlValues {}
8071 #[doc = "*Required features: `\"Media_Capture\"`*"]
8072 #[repr(transparent)]
8073 pub struct CapturedPhoto(::windows::core::IUnknown);
8074 impl CapturedPhoto {
8075 pub fn Frame(&self) -> ::windows::core::Result<CapturedFrame> {
8076 let this = self;
8077 unsafe {
8078 let mut result__ = ::windows::core::zeroed::<CapturedFrame>();
8079 (::windows::core::Interface::vtable(this).Frame)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8080 }
8081 }
8082 pub fn Thumbnail(&self) -> ::windows::core::Result<CapturedFrame> {
8083 let this = self;
8084 unsafe {
8085 let mut result__ = ::windows::core::zeroed::<CapturedFrame>();
8086 (::windows::core::Interface::vtable(this).Thumbnail)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8087 }
8088 }
8089 }
8090 impl ::core::cmp::PartialEq for CapturedPhoto {
8091 fn eq(&self, other: &Self) -> bool {
8092 self.0 == other.0
8093 }
8094 }
8095 impl ::core::cmp::Eq for CapturedPhoto {}
8096 impl ::core::fmt::Debug for CapturedPhoto {
8097 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8098 f.debug_tuple("CapturedPhoto").field(&self.0).finish()
8099 }
8100 }
8101 impl ::windows::core::RuntimeType for CapturedPhoto {
8102 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.CapturedPhoto;{b0ce7e5a-cfcc-4d6c-8ad1-0869208aca16})");
8103 }
8104 impl ::core::clone::Clone for CapturedPhoto {
8105 fn clone(&self) -> Self {
8106 Self(self.0.clone())
8107 }
8108 }
8109 unsafe impl ::windows::core::Interface for CapturedPhoto {
8110 type Vtable = ICapturedPhoto_Vtbl;
8111 }
8112 unsafe impl ::windows::core::ComInterface for CapturedPhoto {
8113 const IID: ::windows::core::GUID = <ICapturedPhoto as ::windows::core::ComInterface>::IID;
8114 }
8115 impl ::windows::core::RuntimeName for CapturedPhoto {
8116 const NAME: &'static str = "Windows.Media.Capture.CapturedPhoto";
8117 }
8118 ::windows::imp::interface_hierarchy!(CapturedPhoto, ::windows::core::IUnknown, ::windows::core::IInspectable);
8119 unsafe impl ::core::marker::Send for CapturedPhoto {}
8120 unsafe impl ::core::marker::Sync for CapturedPhoto {}
8121 #[doc = "*Required features: `\"Media_Capture\"`*"]
8122 #[repr(transparent)]
8123 pub struct GameBarServices(::windows::core::IUnknown);
8124 impl GameBarServices {
8125 pub fn TargetCapturePolicy(&self) -> ::windows::core::Result<GameBarTargetCapturePolicy> {
8126 let this = self;
8127 unsafe {
8128 let mut result__ = ::windows::core::zeroed::<GameBarTargetCapturePolicy>();
8129 (::windows::core::Interface::vtable(this).TargetCapturePolicy)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8130 }
8131 }
8132 pub fn EnableCapture(&self) -> ::windows::core::Result<()> {
8133 let this = self;
8134 unsafe { (::windows::core::Interface::vtable(this).EnableCapture)(::windows::core::Interface::as_raw(this)).ok() }
8135 }
8136 pub fn DisableCapture(&self) -> ::windows::core::Result<()> {
8137 let this = self;
8138 unsafe { (::windows::core::Interface::vtable(this).DisableCapture)(::windows::core::Interface::as_raw(this)).ok() }
8139 }
8140 pub fn TargetInfo(&self) -> ::windows::core::Result<GameBarServicesTargetInfo> {
8141 let this = self;
8142 unsafe {
8143 let mut result__ = ::windows::core::zeroed::<GameBarServicesTargetInfo>();
8144 (::windows::core::Interface::vtable(this).TargetInfo)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8145 }
8146 }
8147 pub fn SessionId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
8148 let this = self;
8149 unsafe {
8150 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
8151 (::windows::core::Interface::vtable(this).SessionId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8152 }
8153 }
8154 pub fn AppBroadcastServices(&self) -> ::windows::core::Result<AppBroadcastServices> {
8155 let this = self;
8156 unsafe {
8157 let mut result__ = ::windows::core::zeroed::<AppBroadcastServices>();
8158 (::windows::core::Interface::vtable(this).AppBroadcastServices)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8159 }
8160 }
8161 pub fn AppCaptureServices(&self) -> ::windows::core::Result<AppCaptureServices> {
8162 let this = self;
8163 unsafe {
8164 let mut result__ = ::windows::core::zeroed::<AppCaptureServices>();
8165 (::windows::core::Interface::vtable(this).AppCaptureServices)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8166 }
8167 }
8168 #[doc = "*Required features: `\"Foundation\"`*"]
8169 #[cfg(feature = "Foundation")]
8170 pub fn CommandReceived(&self, value: &super::super::Foundation::TypedEventHandler<GameBarServices, GameBarServicesCommandEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
8171 let this = self;
8172 unsafe {
8173 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
8174 (::windows::core::Interface::vtable(this).CommandReceived)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
8175 }
8176 }
8177 #[doc = "*Required features: `\"Foundation\"`*"]
8178 #[cfg(feature = "Foundation")]
8179 pub fn RemoveCommandReceived(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
8180 let this = self;
8181 unsafe { (::windows::core::Interface::vtable(this).RemoveCommandReceived)(::windows::core::Interface::as_raw(this), token).ok() }
8182 }
8183 }
8184 impl ::core::cmp::PartialEq for GameBarServices {
8185 fn eq(&self, other: &Self) -> bool {
8186 self.0 == other.0
8187 }
8188 }
8189 impl ::core::cmp::Eq for GameBarServices {}
8190 impl ::core::fmt::Debug for GameBarServices {
8191 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8192 f.debug_tuple("GameBarServices").field(&self.0).finish()
8193 }
8194 }
8195 impl ::windows::core::RuntimeType for GameBarServices {
8196 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.GameBarServices;{2dbead57-50a6-499e-8c6c-d330a7311796})");
8197 }
8198 impl ::core::clone::Clone for GameBarServices {
8199 fn clone(&self) -> Self {
8200 Self(self.0.clone())
8201 }
8202 }
8203 unsafe impl ::windows::core::Interface for GameBarServices {
8204 type Vtable = IGameBarServices_Vtbl;
8205 }
8206 unsafe impl ::windows::core::ComInterface for GameBarServices {
8207 const IID: ::windows::core::GUID = <IGameBarServices as ::windows::core::ComInterface>::IID;
8208 }
8209 impl ::windows::core::RuntimeName for GameBarServices {
8210 const NAME: &'static str = "Windows.Media.Capture.GameBarServices";
8211 }
8212 ::windows::imp::interface_hierarchy!(GameBarServices, ::windows::core::IUnknown, ::windows::core::IInspectable);
8213 unsafe impl ::core::marker::Send for GameBarServices {}
8214 unsafe impl ::core::marker::Sync for GameBarServices {}
8215 #[doc = "*Required features: `\"Media_Capture\"`*"]
8216 #[repr(transparent)]
8217 pub struct GameBarServicesCommandEventArgs(::windows::core::IUnknown);
8218 impl GameBarServicesCommandEventArgs {
8219 pub fn Command(&self) -> ::windows::core::Result<GameBarCommand> {
8220 let this = self;
8221 unsafe {
8222 let mut result__ = ::windows::core::zeroed::<GameBarCommand>();
8223 (::windows::core::Interface::vtable(this).Command)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8224 }
8225 }
8226 pub fn Origin(&self) -> ::windows::core::Result<GameBarCommandOrigin> {
8227 let this = self;
8228 unsafe {
8229 let mut result__ = ::windows::core::zeroed::<GameBarCommandOrigin>();
8230 (::windows::core::Interface::vtable(this).Origin)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8231 }
8232 }
8233 }
8234 impl ::core::cmp::PartialEq for GameBarServicesCommandEventArgs {
8235 fn eq(&self, other: &Self) -> bool {
8236 self.0 == other.0
8237 }
8238 }
8239 impl ::core::cmp::Eq for GameBarServicesCommandEventArgs {}
8240 impl ::core::fmt::Debug for GameBarServicesCommandEventArgs {
8241 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8242 f.debug_tuple("GameBarServicesCommandEventArgs").field(&self.0).finish()
8243 }
8244 }
8245 impl ::windows::core::RuntimeType for GameBarServicesCommandEventArgs {
8246 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.GameBarServicesCommandEventArgs;{a74226b2-f176-4fcf-8fbb-cf698b2eb8e0})");
8247 }
8248 impl ::core::clone::Clone for GameBarServicesCommandEventArgs {
8249 fn clone(&self) -> Self {
8250 Self(self.0.clone())
8251 }
8252 }
8253 unsafe impl ::windows::core::Interface for GameBarServicesCommandEventArgs {
8254 type Vtable = IGameBarServicesCommandEventArgs_Vtbl;
8255 }
8256 unsafe impl ::windows::core::ComInterface for GameBarServicesCommandEventArgs {
8257 const IID: ::windows::core::GUID = <IGameBarServicesCommandEventArgs as ::windows::core::ComInterface>::IID;
8258 }
8259 impl ::windows::core::RuntimeName for GameBarServicesCommandEventArgs {
8260 const NAME: &'static str = "Windows.Media.Capture.GameBarServicesCommandEventArgs";
8261 }
8262 ::windows::imp::interface_hierarchy!(GameBarServicesCommandEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
8263 unsafe impl ::core::marker::Send for GameBarServicesCommandEventArgs {}
8264 unsafe impl ::core::marker::Sync for GameBarServicesCommandEventArgs {}
8265 #[doc = "*Required features: `\"Media_Capture\"`*"]
8266 #[repr(transparent)]
8267 pub struct GameBarServicesManager(::windows::core::IUnknown);
8268 impl GameBarServicesManager {
8269 #[doc = "*Required features: `\"Foundation\"`*"]
8270 #[cfg(feature = "Foundation")]
8271 pub fn GameBarServicesCreated(&self, value: &super::super::Foundation::TypedEventHandler<GameBarServicesManager, GameBarServicesManagerGameBarServicesCreatedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
8272 let this = self;
8273 unsafe {
8274 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
8275 (::windows::core::Interface::vtable(this).GameBarServicesCreated)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value), &mut result__).from_abi(result__)
8276 }
8277 }
8278 #[doc = "*Required features: `\"Foundation\"`*"]
8279 #[cfg(feature = "Foundation")]
8280 pub fn RemoveGameBarServicesCreated(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
8281 let this = self;
8282 unsafe { (::windows::core::Interface::vtable(this).RemoveGameBarServicesCreated)(::windows::core::Interface::as_raw(this), token).ok() }
8283 }
8284 pub fn GetDefault() -> ::windows::core::Result<GameBarServicesManager> {
8285 Self::IGameBarServicesManagerStatics(|this| unsafe {
8286 let mut result__ = ::windows::core::zeroed::<GameBarServicesManager>();
8287 (::windows::core::Interface::vtable(this).GetDefault)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8288 })
8289 }
8290 #[doc(hidden)]
8291 pub fn IGameBarServicesManagerStatics<R, F: FnOnce(&IGameBarServicesManagerStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
8292 static SHARED: ::windows::imp::FactoryCache<GameBarServicesManager, IGameBarServicesManagerStatics> = ::windows::imp::FactoryCache::new();
8293 SHARED.call(callback)
8294 }
8295 }
8296 impl ::core::cmp::PartialEq for GameBarServicesManager {
8297 fn eq(&self, other: &Self) -> bool {
8298 self.0 == other.0
8299 }
8300 }
8301 impl ::core::cmp::Eq for GameBarServicesManager {}
8302 impl ::core::fmt::Debug for GameBarServicesManager {
8303 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8304 f.debug_tuple("GameBarServicesManager").field(&self.0).finish()
8305 }
8306 }
8307 impl ::windows::core::RuntimeType for GameBarServicesManager {
8308 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.GameBarServicesManager;{3a4b9cfa-7f8b-4c60-9dbb-0bcd262dffc6})");
8309 }
8310 impl ::core::clone::Clone for GameBarServicesManager {
8311 fn clone(&self) -> Self {
8312 Self(self.0.clone())
8313 }
8314 }
8315 unsafe impl ::windows::core::Interface for GameBarServicesManager {
8316 type Vtable = IGameBarServicesManager_Vtbl;
8317 }
8318 unsafe impl ::windows::core::ComInterface for GameBarServicesManager {
8319 const IID: ::windows::core::GUID = <IGameBarServicesManager as ::windows::core::ComInterface>::IID;
8320 }
8321 impl ::windows::core::RuntimeName for GameBarServicesManager {
8322 const NAME: &'static str = "Windows.Media.Capture.GameBarServicesManager";
8323 }
8324 ::windows::imp::interface_hierarchy!(GameBarServicesManager, ::windows::core::IUnknown, ::windows::core::IInspectable);
8325 unsafe impl ::core::marker::Send for GameBarServicesManager {}
8326 unsafe impl ::core::marker::Sync for GameBarServicesManager {}
8327 #[doc = "*Required features: `\"Media_Capture\"`*"]
8328 #[repr(transparent)]
8329 pub struct GameBarServicesManagerGameBarServicesCreatedEventArgs(::windows::core::IUnknown);
8330 impl GameBarServicesManagerGameBarServicesCreatedEventArgs {
8331 pub fn GameBarServices(&self) -> ::windows::core::Result<GameBarServices> {
8332 let this = self;
8333 unsafe {
8334 let mut result__ = ::windows::core::zeroed::<GameBarServices>();
8335 (::windows::core::Interface::vtable(this).GameBarServices)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8336 }
8337 }
8338 }
8339 impl ::core::cmp::PartialEq for GameBarServicesManagerGameBarServicesCreatedEventArgs {
8340 fn eq(&self, other: &Self) -> bool {
8341 self.0 == other.0
8342 }
8343 }
8344 impl ::core::cmp::Eq for GameBarServicesManagerGameBarServicesCreatedEventArgs {}
8345 impl ::core::fmt::Debug for GameBarServicesManagerGameBarServicesCreatedEventArgs {
8346 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8347 f.debug_tuple("GameBarServicesManagerGameBarServicesCreatedEventArgs").field(&self.0).finish()
8348 }
8349 }
8350 impl ::windows::core::RuntimeType for GameBarServicesManagerGameBarServicesCreatedEventArgs {
8351 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.GameBarServicesManagerGameBarServicesCreatedEventArgs;{ededbd9c-143e-49a3-a5ea-0b1995c8d46e})");
8352 }
8353 impl ::core::clone::Clone for GameBarServicesManagerGameBarServicesCreatedEventArgs {
8354 fn clone(&self) -> Self {
8355 Self(self.0.clone())
8356 }
8357 }
8358 unsafe impl ::windows::core::Interface for GameBarServicesManagerGameBarServicesCreatedEventArgs {
8359 type Vtable = IGameBarServicesManagerGameBarServicesCreatedEventArgs_Vtbl;
8360 }
8361 unsafe impl ::windows::core::ComInterface for GameBarServicesManagerGameBarServicesCreatedEventArgs {
8362 const IID: ::windows::core::GUID = <IGameBarServicesManagerGameBarServicesCreatedEventArgs as ::windows::core::ComInterface>::IID;
8363 }
8364 impl ::windows::core::RuntimeName for GameBarServicesManagerGameBarServicesCreatedEventArgs {
8365 const NAME: &'static str = "Windows.Media.Capture.GameBarServicesManagerGameBarServicesCreatedEventArgs";
8366 }
8367 ::windows::imp::interface_hierarchy!(GameBarServicesManagerGameBarServicesCreatedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
8368 unsafe impl ::core::marker::Send for GameBarServicesManagerGameBarServicesCreatedEventArgs {}
8369 unsafe impl ::core::marker::Sync for GameBarServicesManagerGameBarServicesCreatedEventArgs {}
8370 #[doc = "*Required features: `\"Media_Capture\"`*"]
8371 #[repr(transparent)]
8372 pub struct GameBarServicesTargetInfo(::windows::core::IUnknown);
8373 impl GameBarServicesTargetInfo {
8374 pub fn DisplayName(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
8375 let this = self;
8376 unsafe {
8377 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
8378 (::windows::core::Interface::vtable(this).DisplayName)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8379 }
8380 }
8381 pub fn AppId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
8382 let this = self;
8383 unsafe {
8384 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
8385 (::windows::core::Interface::vtable(this).AppId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8386 }
8387 }
8388 pub fn TitleId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
8389 let this = self;
8390 unsafe {
8391 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
8392 (::windows::core::Interface::vtable(this).TitleId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8393 }
8394 }
8395 pub fn DisplayMode(&self) -> ::windows::core::Result<GameBarServicesDisplayMode> {
8396 let this = self;
8397 unsafe {
8398 let mut result__ = ::windows::core::zeroed::<GameBarServicesDisplayMode>();
8399 (::windows::core::Interface::vtable(this).DisplayMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8400 }
8401 }
8402 }
8403 impl ::core::cmp::PartialEq for GameBarServicesTargetInfo {
8404 fn eq(&self, other: &Self) -> bool {
8405 self.0 == other.0
8406 }
8407 }
8408 impl ::core::cmp::Eq for GameBarServicesTargetInfo {}
8409 impl ::core::fmt::Debug for GameBarServicesTargetInfo {
8410 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8411 f.debug_tuple("GameBarServicesTargetInfo").field(&self.0).finish()
8412 }
8413 }
8414 impl ::windows::core::RuntimeType for GameBarServicesTargetInfo {
8415 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.GameBarServicesTargetInfo;{b4202f92-1611-4e05-b6ef-dfd737ae33b0})");
8416 }
8417 impl ::core::clone::Clone for GameBarServicesTargetInfo {
8418 fn clone(&self) -> Self {
8419 Self(self.0.clone())
8420 }
8421 }
8422 unsafe impl ::windows::core::Interface for GameBarServicesTargetInfo {
8423 type Vtable = IGameBarServicesTargetInfo_Vtbl;
8424 }
8425 unsafe impl ::windows::core::ComInterface for GameBarServicesTargetInfo {
8426 const IID: ::windows::core::GUID = <IGameBarServicesTargetInfo as ::windows::core::ComInterface>::IID;
8427 }
8428 impl ::windows::core::RuntimeName for GameBarServicesTargetInfo {
8429 const NAME: &'static str = "Windows.Media.Capture.GameBarServicesTargetInfo";
8430 }
8431 ::windows::imp::interface_hierarchy!(GameBarServicesTargetInfo, ::windows::core::IUnknown, ::windows::core::IInspectable);
8432 unsafe impl ::core::marker::Send for GameBarServicesTargetInfo {}
8433 unsafe impl ::core::marker::Sync for GameBarServicesTargetInfo {}
8434 #[doc = "*Required features: `\"Media_Capture\"`*"]
8435 #[repr(transparent)]
8436 pub struct LowLagMediaRecording(::windows::core::IUnknown);
8437 impl LowLagMediaRecording {
8438 #[doc = "*Required features: `\"Foundation\"`*"]
8439 #[cfg(feature = "Foundation")]
8440 pub fn StartAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
8441 let this = self;
8442 unsafe {
8443 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8444 (::windows::core::Interface::vtable(this).StartAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8445 }
8446 }
8447 #[doc = "*Required features: `\"Foundation\"`*"]
8448 #[cfg(feature = "Foundation")]
8449 pub fn StopAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
8450 let this = self;
8451 unsafe {
8452 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8453 (::windows::core::Interface::vtable(this).StopAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8454 }
8455 }
8456 #[doc = "*Required features: `\"Foundation\"`*"]
8457 #[cfg(feature = "Foundation")]
8458 pub fn FinishAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
8459 let this = self;
8460 unsafe {
8461 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8462 (::windows::core::Interface::vtable(this).FinishAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8463 }
8464 }
8465 #[doc = "*Required features: `\"Foundation\"`, `\"Media_Devices\"`*"]
8466 #[cfg(all(feature = "Foundation", feature = "Media_Devices"))]
8467 pub fn PauseAsync(&self, behavior: super::Devices::MediaCapturePauseBehavior) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
8468 let this = &::windows::core::ComInterface::cast::<ILowLagMediaRecording2>(self)?;
8469 unsafe {
8470 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8471 (::windows::core::Interface::vtable(this).PauseAsync)(::windows::core::Interface::as_raw(this), behavior, &mut result__).from_abi(result__)
8472 }
8473 }
8474 #[doc = "*Required features: `\"Foundation\"`*"]
8475 #[cfg(feature = "Foundation")]
8476 pub fn ResumeAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
8477 let this = &::windows::core::ComInterface::cast::<ILowLagMediaRecording2>(self)?;
8478 unsafe {
8479 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8480 (::windows::core::Interface::vtable(this).ResumeAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8481 }
8482 }
8483 #[doc = "*Required features: `\"Foundation\"`, `\"Media_Devices\"`*"]
8484 #[cfg(all(feature = "Foundation", feature = "Media_Devices"))]
8485 pub fn PauseWithResultAsync(&self, behavior: super::Devices::MediaCapturePauseBehavior) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<MediaCapturePauseResult>> {
8486 let this = &::windows::core::ComInterface::cast::<ILowLagMediaRecording3>(self)?;
8487 unsafe {
8488 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<MediaCapturePauseResult>>();
8489 (::windows::core::Interface::vtable(this).PauseWithResultAsync)(::windows::core::Interface::as_raw(this), behavior, &mut result__).from_abi(result__)
8490 }
8491 }
8492 #[doc = "*Required features: `\"Foundation\"`*"]
8493 #[cfg(feature = "Foundation")]
8494 pub fn StopWithResultAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<MediaCaptureStopResult>> {
8495 let this = &::windows::core::ComInterface::cast::<ILowLagMediaRecording3>(self)?;
8496 unsafe {
8497 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<MediaCaptureStopResult>>();
8498 (::windows::core::Interface::vtable(this).StopWithResultAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8499 }
8500 }
8501 }
8502 impl ::core::cmp::PartialEq for LowLagMediaRecording {
8503 fn eq(&self, other: &Self) -> bool {
8504 self.0 == other.0
8505 }
8506 }
8507 impl ::core::cmp::Eq for LowLagMediaRecording {}
8508 impl ::core::fmt::Debug for LowLagMediaRecording {
8509 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8510 f.debug_tuple("LowLagMediaRecording").field(&self.0).finish()
8511 }
8512 }
8513 impl ::windows::core::RuntimeType for LowLagMediaRecording {
8514 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.LowLagMediaRecording;{41c8baf7-ff3f-49f0-a477-f195e3ce5108})");
8515 }
8516 impl ::core::clone::Clone for LowLagMediaRecording {
8517 fn clone(&self) -> Self {
8518 Self(self.0.clone())
8519 }
8520 }
8521 unsafe impl ::windows::core::Interface for LowLagMediaRecording {
8522 type Vtable = ILowLagMediaRecording_Vtbl;
8523 }
8524 unsafe impl ::windows::core::ComInterface for LowLagMediaRecording {
8525 const IID: ::windows::core::GUID = <ILowLagMediaRecording as ::windows::core::ComInterface>::IID;
8526 }
8527 impl ::windows::core::RuntimeName for LowLagMediaRecording {
8528 const NAME: &'static str = "Windows.Media.Capture.LowLagMediaRecording";
8529 }
8530 ::windows::imp::interface_hierarchy!(LowLagMediaRecording, ::windows::core::IUnknown, ::windows::core::IInspectable);
8531 #[doc = "*Required features: `\"Media_Capture\"`*"]
8532 #[repr(transparent)]
8533 pub struct LowLagPhotoCapture(::windows::core::IUnknown);
8534 impl LowLagPhotoCapture {
8535 #[doc = "*Required features: `\"Foundation\"`*"]
8536 #[cfg(feature = "Foundation")]
8537 pub fn CaptureAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<CapturedPhoto>> {
8538 let this = self;
8539 unsafe {
8540 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<CapturedPhoto>>();
8541 (::windows::core::Interface::vtable(this).CaptureAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8542 }
8543 }
8544 #[doc = "*Required features: `\"Foundation\"`*"]
8545 #[cfg(feature = "Foundation")]
8546 pub fn FinishAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
8547 let this = self;
8548 unsafe {
8549 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8550 (::windows::core::Interface::vtable(this).FinishAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8551 }
8552 }
8553 }
8554 impl ::core::cmp::PartialEq for LowLagPhotoCapture {
8555 fn eq(&self, other: &Self) -> bool {
8556 self.0 == other.0
8557 }
8558 }
8559 impl ::core::cmp::Eq for LowLagPhotoCapture {}
8560 impl ::core::fmt::Debug for LowLagPhotoCapture {
8561 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8562 f.debug_tuple("LowLagPhotoCapture").field(&self.0).finish()
8563 }
8564 }
8565 impl ::windows::core::RuntimeType for LowLagPhotoCapture {
8566 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.LowLagPhotoCapture;{a37251b7-6b44-473d-8f24-f703d6c0ec44})");
8567 }
8568 impl ::core::clone::Clone for LowLagPhotoCapture {
8569 fn clone(&self) -> Self {
8570 Self(self.0.clone())
8571 }
8572 }
8573 unsafe impl ::windows::core::Interface for LowLagPhotoCapture {
8574 type Vtable = ILowLagPhotoCapture_Vtbl;
8575 }
8576 unsafe impl ::windows::core::ComInterface for LowLagPhotoCapture {
8577 const IID: ::windows::core::GUID = <ILowLagPhotoCapture as ::windows::core::ComInterface>::IID;
8578 }
8579 impl ::windows::core::RuntimeName for LowLagPhotoCapture {
8580 const NAME: &'static str = "Windows.Media.Capture.LowLagPhotoCapture";
8581 }
8582 ::windows::imp::interface_hierarchy!(LowLagPhotoCapture, ::windows::core::IUnknown, ::windows::core::IInspectable);
8583 #[doc = "*Required features: `\"Media_Capture\"`*"]
8584 #[repr(transparent)]
8585 pub struct LowLagPhotoSequenceCapture(::windows::core::IUnknown);
8586 impl LowLagPhotoSequenceCapture {
8587 #[doc = "*Required features: `\"Foundation\"`*"]
8588 #[cfg(feature = "Foundation")]
8589 pub fn StartAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
8590 let this = self;
8591 unsafe {
8592 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8593 (::windows::core::Interface::vtable(this).StartAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8594 }
8595 }
8596 #[doc = "*Required features: `\"Foundation\"`*"]
8597 #[cfg(feature = "Foundation")]
8598 pub fn StopAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
8599 let this = self;
8600 unsafe {
8601 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8602 (::windows::core::Interface::vtable(this).StopAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8603 }
8604 }
8605 #[doc = "*Required features: `\"Foundation\"`*"]
8606 #[cfg(feature = "Foundation")]
8607 pub fn FinishAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
8608 let this = self;
8609 unsafe {
8610 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8611 (::windows::core::Interface::vtable(this).FinishAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8612 }
8613 }
8614 #[doc = "*Required features: `\"Foundation\"`*"]
8615 #[cfg(feature = "Foundation")]
8616 pub fn PhotoCaptured(&self, handler: &super::super::Foundation::TypedEventHandler<LowLagPhotoSequenceCapture, PhotoCapturedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
8617 let this = self;
8618 unsafe {
8619 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
8620 (::windows::core::Interface::vtable(this).PhotoCaptured)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
8621 }
8622 }
8623 #[doc = "*Required features: `\"Foundation\"`*"]
8624 #[cfg(feature = "Foundation")]
8625 pub fn RemovePhotoCaptured(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
8626 let this = self;
8627 unsafe { (::windows::core::Interface::vtable(this).RemovePhotoCaptured)(::windows::core::Interface::as_raw(this), token).ok() }
8628 }
8629 }
8630 impl ::core::cmp::PartialEq for LowLagPhotoSequenceCapture {
8631 fn eq(&self, other: &Self) -> bool {
8632 self.0 == other.0
8633 }
8634 }
8635 impl ::core::cmp::Eq for LowLagPhotoSequenceCapture {}
8636 impl ::core::fmt::Debug for LowLagPhotoSequenceCapture {
8637 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8638 f.debug_tuple("LowLagPhotoSequenceCapture").field(&self.0).finish()
8639 }
8640 }
8641 impl ::windows::core::RuntimeType for LowLagPhotoSequenceCapture {
8642 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.LowLagPhotoSequenceCapture;{7cc346bb-b9a9-4c91-8ffa-287e9c668669})");
8643 }
8644 impl ::core::clone::Clone for LowLagPhotoSequenceCapture {
8645 fn clone(&self) -> Self {
8646 Self(self.0.clone())
8647 }
8648 }
8649 unsafe impl ::windows::core::Interface for LowLagPhotoSequenceCapture {
8650 type Vtable = ILowLagPhotoSequenceCapture_Vtbl;
8651 }
8652 unsafe impl ::windows::core::ComInterface for LowLagPhotoSequenceCapture {
8653 const IID: ::windows::core::GUID = <ILowLagPhotoSequenceCapture as ::windows::core::ComInterface>::IID;
8654 }
8655 impl ::windows::core::RuntimeName for LowLagPhotoSequenceCapture {
8656 const NAME: &'static str = "Windows.Media.Capture.LowLagPhotoSequenceCapture";
8657 }
8658 ::windows::imp::interface_hierarchy!(LowLagPhotoSequenceCapture, ::windows::core::IUnknown, ::windows::core::IInspectable);
8659 #[doc = "*Required features: `\"Media_Capture\"`*"]
8660 #[repr(transparent)]
8661 pub struct MediaCapture(::windows::core::IUnknown);
8662 impl MediaCapture {
8663 pub fn new() -> ::windows::core::Result<Self> {
8664 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
8665 }
8666 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
8667 static SHARED: ::windows::imp::FactoryCache<MediaCapture, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
8668 SHARED.call(callback)
8669 }
8670 #[doc = "*Required features: `\"Foundation\"`*"]
8671 #[cfg(feature = "Foundation")]
8672 pub fn Close(&self) -> ::windows::core::Result<()> {
8673 let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
8674 unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
8675 }
8676 #[doc = "*Required features: `\"Foundation\"`*"]
8677 #[cfg(feature = "Foundation")]
8678 pub fn InitializeAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
8679 let this = self;
8680 unsafe {
8681 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8682 (::windows::core::Interface::vtable(this).InitializeAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8683 }
8684 }
8685 #[doc = "*Required features: `\"Foundation\"`*"]
8686 #[cfg(feature = "Foundation")]
8687 pub fn InitializeWithSettingsAsync(&self, mediacaptureinitializationsettings: &MediaCaptureInitializationSettings) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
8688 let this = self;
8689 unsafe {
8690 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8691 (::windows::core::Interface::vtable(this).InitializeWithSettingsAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(mediacaptureinitializationsettings), &mut result__).from_abi(result__)
8692 }
8693 }
8694 #[doc = "*Required features: `\"Foundation\"`, `\"Media_MediaProperties\"`, `\"Storage\"`*"]
8695 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage"))]
8696 pub fn StartRecordToStorageFileAsync<P0>(&self, encodingprofile: &super::MediaProperties::MediaEncodingProfile, file: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
8697 where
8698 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageFile>,
8699 {
8700 let this = self;
8701 unsafe {
8702 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8703 (::windows::core::Interface::vtable(this).StartRecordToStorageFileAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(encodingprofile), file.try_into_param()?.abi(), &mut result__).from_abi(result__)
8704 }
8705 }
8706 #[doc = "*Required features: `\"Foundation\"`, `\"Media_MediaProperties\"`, `\"Storage_Streams\"`*"]
8707 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage_Streams"))]
8708 pub fn StartRecordToStreamAsync<P0>(&self, encodingprofile: &super::MediaProperties::MediaEncodingProfile, stream: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
8709 where
8710 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IRandomAccessStream>,
8711 {
8712 let this = self;
8713 unsafe {
8714 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8715 (::windows::core::Interface::vtable(this).StartRecordToStreamAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(encodingprofile), stream.try_into_param()?.abi(), &mut result__).from_abi(result__)
8716 }
8717 }
8718 #[doc = "*Required features: `\"Foundation\"`, `\"Media_MediaProperties\"`*"]
8719 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties"))]
8720 pub fn StartRecordToCustomSinkAsync<P0>(&self, encodingprofile: &super::MediaProperties::MediaEncodingProfile, custommediasink: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
8721 where
8722 P0: ::windows::core::TryIntoParam<super::IMediaExtension>,
8723 {
8724 let this = self;
8725 unsafe {
8726 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8727 (::windows::core::Interface::vtable(this).StartRecordToCustomSinkAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(encodingprofile), custommediasink.try_into_param()?.abi(), &mut result__).from_abi(result__)
8728 }
8729 }
8730 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Media_MediaProperties\"`*"]
8731 #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))]
8732 pub fn StartRecordToCustomSinkIdAsync<P0>(&self, encodingprofile: &super::MediaProperties::MediaEncodingProfile, customsinkactivationid: &::windows::core::HSTRING, customsinksettings: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
8733 where
8734 P0: ::windows::core::TryIntoParam<super::super::Foundation::Collections::IPropertySet>,
8735 {
8736 let this = self;
8737 unsafe {
8738 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8739 (::windows::core::Interface::vtable(this).StartRecordToCustomSinkIdAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(encodingprofile), ::core::mem::transmute_copy(customsinkactivationid), customsinksettings.try_into_param()?.abi(), &mut result__).from_abi(result__)
8740 }
8741 }
8742 #[doc = "*Required features: `\"Foundation\"`*"]
8743 #[cfg(feature = "Foundation")]
8744 pub fn StopRecordAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
8745 let this = self;
8746 unsafe {
8747 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8748 (::windows::core::Interface::vtable(this).StopRecordAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8749 }
8750 }
8751 #[doc = "*Required features: `\"Foundation\"`, `\"Media_MediaProperties\"`, `\"Storage\"`*"]
8752 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage"))]
8753 pub fn CapturePhotoToStorageFileAsync<P0>(&self, r#type: &super::MediaProperties::ImageEncodingProperties, file: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
8754 where
8755 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageFile>,
8756 {
8757 let this = self;
8758 unsafe {
8759 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8760 (::windows::core::Interface::vtable(this).CapturePhotoToStorageFileAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(r#type), file.try_into_param()?.abi(), &mut result__).from_abi(result__)
8761 }
8762 }
8763 #[doc = "*Required features: `\"Foundation\"`, `\"Media_MediaProperties\"`, `\"Storage_Streams\"`*"]
8764 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage_Streams"))]
8765 pub fn CapturePhotoToStreamAsync<P0>(&self, r#type: &super::MediaProperties::ImageEncodingProperties, stream: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
8766 where
8767 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IRandomAccessStream>,
8768 {
8769 let this = self;
8770 unsafe {
8771 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8772 (::windows::core::Interface::vtable(this).CapturePhotoToStreamAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(r#type), stream.try_into_param()?.abi(), &mut result__).from_abi(result__)
8773 }
8774 }
8775 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"deprecated\"`*"]
8776 #[cfg(all(feature = "Foundation_Collections", feature = "deprecated"))]
8777 pub fn AddEffectAsync<P0>(&self, mediastreamtype: MediaStreamType, effectactivationid: &::windows::core::HSTRING, effectsettings: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
8778 where
8779 P0: ::windows::core::TryIntoParam<super::super::Foundation::Collections::IPropertySet>,
8780 {
8781 let this = self;
8782 unsafe {
8783 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8784 (::windows::core::Interface::vtable(this).AddEffectAsync)(::windows::core::Interface::as_raw(this), mediastreamtype, ::core::mem::transmute_copy(effectactivationid), effectsettings.try_into_param()?.abi(), &mut result__).from_abi(result__)
8785 }
8786 }
8787 #[doc = "*Required features: `\"Foundation\"`*"]
8788 #[cfg(feature = "Foundation")]
8789 pub fn ClearEffectsAsync(&self, mediastreamtype: MediaStreamType) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
8790 let this = self;
8791 unsafe {
8792 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8793 (::windows::core::Interface::vtable(this).ClearEffectsAsync)(::windows::core::Interface::as_raw(this), mediastreamtype, &mut result__).from_abi(result__)
8794 }
8795 }
8796 pub fn SetEncoderProperty<P0>(&self, mediastreamtype: MediaStreamType, propertyid: ::windows::core::GUID, propertyvalue: P0) -> ::windows::core::Result<()>
8797 where
8798 P0: ::windows::core::IntoParam<::windows::core::IInspectable>,
8799 {
8800 let this = self;
8801 unsafe { (::windows::core::Interface::vtable(this).SetEncoderProperty)(::windows::core::Interface::as_raw(this), mediastreamtype, propertyid, propertyvalue.into_param().abi()).ok() }
8802 }
8803 pub fn GetEncoderProperty(&self, mediastreamtype: MediaStreamType, propertyid: ::windows::core::GUID) -> ::windows::core::Result<::windows::core::IInspectable> {
8804 let this = self;
8805 unsafe {
8806 let mut result__ = ::windows::core::zeroed::<::windows::core::IInspectable>();
8807 (::windows::core::Interface::vtable(this).GetEncoderProperty)(::windows::core::Interface::as_raw(this), mediastreamtype, propertyid, &mut result__).from_abi(result__)
8808 }
8809 }
8810 #[doc = "*Required features: `\"Foundation\"`*"]
8811 #[cfg(feature = "Foundation")]
8812 pub fn Failed(&self, erroreventhandler: &MediaCaptureFailedEventHandler) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
8813 let this = self;
8814 unsafe {
8815 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
8816 (::windows::core::Interface::vtable(this).Failed)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(erroreventhandler), &mut result__).from_abi(result__)
8817 }
8818 }
8819 #[doc = "*Required features: `\"Foundation\"`*"]
8820 #[cfg(feature = "Foundation")]
8821 pub fn RemoveFailed(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
8822 let this = self;
8823 unsafe { (::windows::core::Interface::vtable(this).RemoveFailed)(::windows::core::Interface::as_raw(this), eventcookie).ok() }
8824 }
8825 #[doc = "*Required features: `\"Foundation\"`*"]
8826 #[cfg(feature = "Foundation")]
8827 pub fn RecordLimitationExceeded(&self, recordlimitationexceededeventhandler: &RecordLimitationExceededEventHandler) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
8828 let this = self;
8829 unsafe {
8830 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
8831 (::windows::core::Interface::vtable(this).RecordLimitationExceeded)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(recordlimitationexceededeventhandler), &mut result__).from_abi(result__)
8832 }
8833 }
8834 #[doc = "*Required features: `\"Foundation\"`*"]
8835 #[cfg(feature = "Foundation")]
8836 pub fn RemoveRecordLimitationExceeded(&self, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
8837 let this = self;
8838 unsafe { (::windows::core::Interface::vtable(this).RemoveRecordLimitationExceeded)(::windows::core::Interface::as_raw(this), eventcookie).ok() }
8839 }
8840 pub fn MediaCaptureSettings(&self) -> ::windows::core::Result<MediaCaptureSettings> {
8841 let this = self;
8842 unsafe {
8843 let mut result__ = ::windows::core::zeroed::<MediaCaptureSettings>();
8844 (::windows::core::Interface::vtable(this).MediaCaptureSettings)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8845 }
8846 }
8847 #[doc = "*Required features: `\"Media_Devices\"`*"]
8848 #[cfg(feature = "Media_Devices")]
8849 pub fn AudioDeviceController(&self) -> ::windows::core::Result<super::Devices::AudioDeviceController> {
8850 let this = self;
8851 unsafe {
8852 let mut result__ = ::windows::core::zeroed::<super::Devices::AudioDeviceController>();
8853 (::windows::core::Interface::vtable(this).AudioDeviceController)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8854 }
8855 }
8856 #[doc = "*Required features: `\"Media_Devices\"`*"]
8857 #[cfg(feature = "Media_Devices")]
8858 pub fn VideoDeviceController(&self) -> ::windows::core::Result<super::Devices::VideoDeviceController> {
8859 let this = self;
8860 unsafe {
8861 let mut result__ = ::windows::core::zeroed::<super::Devices::VideoDeviceController>();
8862 (::windows::core::Interface::vtable(this).VideoDeviceController)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8863 }
8864 }
8865 pub fn SetPreviewMirroring(&self, value: bool) -> ::windows::core::Result<()> {
8866 let this = self;
8867 unsafe { (::windows::core::Interface::vtable(this).SetPreviewMirroring)(::windows::core::Interface::as_raw(this), value).ok() }
8868 }
8869 pub fn GetPreviewMirroring(&self) -> ::windows::core::Result<bool> {
8870 let this = self;
8871 unsafe {
8872 let mut result__ = ::windows::core::zeroed::<bool>();
8873 (::windows::core::Interface::vtable(this).GetPreviewMirroring)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8874 }
8875 }
8876 pub fn SetPreviewRotation(&self, value: VideoRotation) -> ::windows::core::Result<()> {
8877 let this = self;
8878 unsafe { (::windows::core::Interface::vtable(this).SetPreviewRotation)(::windows::core::Interface::as_raw(this), value).ok() }
8879 }
8880 pub fn GetPreviewRotation(&self) -> ::windows::core::Result<VideoRotation> {
8881 let this = self;
8882 unsafe {
8883 let mut result__ = ::windows::core::zeroed::<VideoRotation>();
8884 (::windows::core::Interface::vtable(this).GetPreviewRotation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8885 }
8886 }
8887 pub fn SetRecordRotation(&self, value: VideoRotation) -> ::windows::core::Result<()> {
8888 let this = self;
8889 unsafe { (::windows::core::Interface::vtable(this).SetRecordRotation)(::windows::core::Interface::as_raw(this), value).ok() }
8890 }
8891 pub fn GetRecordRotation(&self) -> ::windows::core::Result<VideoRotation> {
8892 let this = self;
8893 unsafe {
8894 let mut result__ = ::windows::core::zeroed::<VideoRotation>();
8895 (::windows::core::Interface::vtable(this).GetRecordRotation)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
8896 }
8897 }
8898 #[doc = "*Required features: `\"Foundation\"`, `\"Media_MediaProperties\"`, `\"Storage\"`*"]
8899 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage"))]
8900 pub fn PrepareLowLagRecordToStorageFileAsync<P0>(&self, encodingprofile: &super::MediaProperties::MediaEncodingProfile, file: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<LowLagMediaRecording>>
8901 where
8902 P0: ::windows::core::TryIntoParam<super::super::Storage::IStorageFile>,
8903 {
8904 let this = &::windows::core::ComInterface::cast::<IMediaCapture2>(self)?;
8905 unsafe {
8906 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<LowLagMediaRecording>>();
8907 (::windows::core::Interface::vtable(this).PrepareLowLagRecordToStorageFileAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(encodingprofile), file.try_into_param()?.abi(), &mut result__).from_abi(result__)
8908 }
8909 }
8910 #[doc = "*Required features: `\"Foundation\"`, `\"Media_MediaProperties\"`, `\"Storage_Streams\"`*"]
8911 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties", feature = "Storage_Streams"))]
8912 pub fn PrepareLowLagRecordToStreamAsync<P0>(&self, encodingprofile: &super::MediaProperties::MediaEncodingProfile, stream: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<LowLagMediaRecording>>
8913 where
8914 P0: ::windows::core::TryIntoParam<super::super::Storage::Streams::IRandomAccessStream>,
8915 {
8916 let this = &::windows::core::ComInterface::cast::<IMediaCapture2>(self)?;
8917 unsafe {
8918 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<LowLagMediaRecording>>();
8919 (::windows::core::Interface::vtable(this).PrepareLowLagRecordToStreamAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(encodingprofile), stream.try_into_param()?.abi(), &mut result__).from_abi(result__)
8920 }
8921 }
8922 #[doc = "*Required features: `\"Foundation\"`, `\"Media_MediaProperties\"`*"]
8923 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties"))]
8924 pub fn PrepareLowLagRecordToCustomSinkAsync<P0>(&self, encodingprofile: &super::MediaProperties::MediaEncodingProfile, custommediasink: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<LowLagMediaRecording>>
8925 where
8926 P0: ::windows::core::TryIntoParam<super::IMediaExtension>,
8927 {
8928 let this = &::windows::core::ComInterface::cast::<IMediaCapture2>(self)?;
8929 unsafe {
8930 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<LowLagMediaRecording>>();
8931 (::windows::core::Interface::vtable(this).PrepareLowLagRecordToCustomSinkAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(encodingprofile), custommediasink.try_into_param()?.abi(), &mut result__).from_abi(result__)
8932 }
8933 }
8934 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Media_MediaProperties\"`*"]
8935 #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))]
8936 pub fn PrepareLowLagRecordToCustomSinkIdAsync<P0>(&self, encodingprofile: &super::MediaProperties::MediaEncodingProfile, customsinkactivationid: &::windows::core::HSTRING, customsinksettings: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<LowLagMediaRecording>>
8937 where
8938 P0: ::windows::core::TryIntoParam<super::super::Foundation::Collections::IPropertySet>,
8939 {
8940 let this = &::windows::core::ComInterface::cast::<IMediaCapture2>(self)?;
8941 unsafe {
8942 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<LowLagMediaRecording>>();
8943 (::windows::core::Interface::vtable(this).PrepareLowLagRecordToCustomSinkIdAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(encodingprofile), ::core::mem::transmute_copy(customsinkactivationid), customsinksettings.try_into_param()?.abi(), &mut result__).from_abi(result__)
8944 }
8945 }
8946 #[doc = "*Required features: `\"Foundation\"`, `\"Media_MediaProperties\"`*"]
8947 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties"))]
8948 pub fn PrepareLowLagPhotoCaptureAsync(&self, r#type: &super::MediaProperties::ImageEncodingProperties) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<LowLagPhotoCapture>> {
8949 let this = &::windows::core::ComInterface::cast::<IMediaCapture2>(self)?;
8950 unsafe {
8951 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<LowLagPhotoCapture>>();
8952 (::windows::core::Interface::vtable(this).PrepareLowLagPhotoCaptureAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(r#type), &mut result__).from_abi(result__)
8953 }
8954 }
8955 #[doc = "*Required features: `\"Foundation\"`, `\"Media_MediaProperties\"`*"]
8956 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties"))]
8957 pub fn PrepareLowLagPhotoSequenceCaptureAsync(&self, r#type: &super::MediaProperties::ImageEncodingProperties) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<LowLagPhotoSequenceCapture>> {
8958 let this = &::windows::core::ComInterface::cast::<IMediaCapture2>(self)?;
8959 unsafe {
8960 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<LowLagPhotoSequenceCapture>>();
8961 (::windows::core::Interface::vtable(this).PrepareLowLagPhotoSequenceCaptureAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(r#type), &mut result__).from_abi(result__)
8962 }
8963 }
8964 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Media_MediaProperties\"`*"]
8965 #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))]
8966 pub fn SetEncodingPropertiesAsync<P0>(&self, mediastreamtype: MediaStreamType, mediaencodingproperties: P0, encoderproperties: &super::MediaProperties::MediaPropertySet) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
8967 where
8968 P0: ::windows::core::TryIntoParam<super::MediaProperties::IMediaEncodingProperties>,
8969 {
8970 let this = &::windows::core::ComInterface::cast::<IMediaCapture2>(self)?;
8971 unsafe {
8972 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
8973 (::windows::core::Interface::vtable(this).SetEncodingPropertiesAsync)(::windows::core::Interface::as_raw(this), mediastreamtype, mediaencodingproperties.try_into_param()?.abi(), ::core::mem::transmute_copy(encoderproperties), &mut result__).from_abi(result__)
8974 }
8975 }
8976 #[doc = "*Required features: `\"Foundation\"`, `\"Media_Capture_Core\"`, `\"Media_MediaProperties\"`*"]
8977 #[cfg(all(feature = "Foundation", feature = "Media_Capture_Core", feature = "Media_MediaProperties"))]
8978 pub fn PrepareVariablePhotoSequenceCaptureAsync(&self, r#type: &super::MediaProperties::ImageEncodingProperties) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<Core::VariablePhotoSequenceCapture>> {
8979 let this = &::windows::core::ComInterface::cast::<IMediaCapture3>(self)?;
8980 unsafe {
8981 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<Core::VariablePhotoSequenceCapture>>();
8982 (::windows::core::Interface::vtable(this).PrepareVariablePhotoSequenceCaptureAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(r#type), &mut result__).from_abi(result__)
8983 }
8984 }
8985 #[doc = "*Required features: `\"Foundation\"`*"]
8986 #[cfg(feature = "Foundation")]
8987 pub fn FocusChanged(&self, handler: &super::super::Foundation::TypedEventHandler<MediaCapture, MediaCaptureFocusChangedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
8988 let this = &::windows::core::ComInterface::cast::<IMediaCapture3>(self)?;
8989 unsafe {
8990 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
8991 (::windows::core::Interface::vtable(this).FocusChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
8992 }
8993 }
8994 #[doc = "*Required features: `\"Foundation\"`*"]
8995 #[cfg(feature = "Foundation")]
8996 pub fn RemoveFocusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
8997 let this = &::windows::core::ComInterface::cast::<IMediaCapture3>(self)?;
8998 unsafe { (::windows::core::Interface::vtable(this).RemoveFocusChanged)(::windows::core::Interface::as_raw(this), token).ok() }
8999 }
9000 #[doc = "*Required features: `\"Foundation\"`*"]
9001 #[cfg(feature = "Foundation")]
9002 pub fn PhotoConfirmationCaptured(&self, handler: &super::super::Foundation::TypedEventHandler<MediaCapture, PhotoConfirmationCapturedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
9003 let this = &::windows::core::ComInterface::cast::<IMediaCapture3>(self)?;
9004 unsafe {
9005 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
9006 (::windows::core::Interface::vtable(this).PhotoConfirmationCaptured)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
9007 }
9008 }
9009 #[doc = "*Required features: `\"Foundation\"`*"]
9010 #[cfg(feature = "Foundation")]
9011 pub fn RemovePhotoConfirmationCaptured(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
9012 let this = &::windows::core::ComInterface::cast::<IMediaCapture3>(self)?;
9013 unsafe { (::windows::core::Interface::vtable(this).RemovePhotoConfirmationCaptured)(::windows::core::Interface::as_raw(this), token).ok() }
9014 }
9015 #[doc = "*Required features: `\"Foundation\"`, `\"Media_Effects\"`*"]
9016 #[cfg(all(feature = "Foundation", feature = "Media_Effects"))]
9017 pub fn AddAudioEffectAsync<P0>(&self, definition: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::IMediaExtension>>
9018 where
9019 P0: ::windows::core::TryIntoParam<super::Effects::IAudioEffectDefinition>,
9020 {
9021 let this = &::windows::core::ComInterface::cast::<IMediaCapture4>(self)?;
9022 unsafe {
9023 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::IMediaExtension>>();
9024 (::windows::core::Interface::vtable(this).AddAudioEffectAsync)(::windows::core::Interface::as_raw(this), definition.try_into_param()?.abi(), &mut result__).from_abi(result__)
9025 }
9026 }
9027 #[doc = "*Required features: `\"Foundation\"`, `\"Media_Effects\"`*"]
9028 #[cfg(all(feature = "Foundation", feature = "Media_Effects"))]
9029 pub fn AddVideoEffectAsync<P0>(&self, definition: P0, mediastreamtype: MediaStreamType) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::IMediaExtension>>
9030 where
9031 P0: ::windows::core::TryIntoParam<super::Effects::IVideoEffectDefinition>,
9032 {
9033 let this = &::windows::core::ComInterface::cast::<IMediaCapture4>(self)?;
9034 unsafe {
9035 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::IMediaExtension>>();
9036 (::windows::core::Interface::vtable(this).AddVideoEffectAsync)(::windows::core::Interface::as_raw(this), definition.try_into_param()?.abi(), mediastreamtype, &mut result__).from_abi(result__)
9037 }
9038 }
9039 #[doc = "*Required features: `\"Foundation\"`, `\"Media_Devices\"`*"]
9040 #[cfg(all(feature = "Foundation", feature = "Media_Devices"))]
9041 pub fn PauseRecordAsync(&self, behavior: super::Devices::MediaCapturePauseBehavior) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
9042 let this = &::windows::core::ComInterface::cast::<IMediaCapture4>(self)?;
9043 unsafe {
9044 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
9045 (::windows::core::Interface::vtable(this).PauseRecordAsync)(::windows::core::Interface::as_raw(this), behavior, &mut result__).from_abi(result__)
9046 }
9047 }
9048 #[doc = "*Required features: `\"Foundation\"`*"]
9049 #[cfg(feature = "Foundation")]
9050 pub fn ResumeRecordAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
9051 let this = &::windows::core::ComInterface::cast::<IMediaCapture4>(self)?;
9052 unsafe {
9053 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
9054 (::windows::core::Interface::vtable(this).ResumeRecordAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9055 }
9056 }
9057 #[doc = "*Required features: `\"Foundation\"`*"]
9058 #[cfg(feature = "Foundation")]
9059 pub fn CameraStreamStateChanged(&self, handler: &super::super::Foundation::TypedEventHandler<MediaCapture, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
9060 let this = &::windows::core::ComInterface::cast::<IMediaCapture4>(self)?;
9061 unsafe {
9062 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
9063 (::windows::core::Interface::vtable(this).CameraStreamStateChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
9064 }
9065 }
9066 #[doc = "*Required features: `\"Foundation\"`*"]
9067 #[cfg(feature = "Foundation")]
9068 pub fn RemoveCameraStreamStateChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
9069 let this = &::windows::core::ComInterface::cast::<IMediaCapture4>(self)?;
9070 unsafe { (::windows::core::Interface::vtable(this).RemoveCameraStreamStateChanged)(::windows::core::Interface::as_raw(this), token).ok() }
9071 }
9072 #[doc = "*Required features: `\"Media_Devices\"`*"]
9073 #[cfg(feature = "Media_Devices")]
9074 pub fn CameraStreamState(&self) -> ::windows::core::Result<super::Devices::CameraStreamState> {
9075 let this = &::windows::core::ComInterface::cast::<IMediaCapture4>(self)?;
9076 unsafe {
9077 let mut result__ = ::windows::core::zeroed::<super::Devices::CameraStreamState>();
9078 (::windows::core::Interface::vtable(this).CameraStreamState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9079 }
9080 }
9081 #[doc = "*Required features: `\"Foundation\"`*"]
9082 #[cfg(feature = "Foundation")]
9083 pub fn GetPreviewFrameAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::VideoFrame>> {
9084 let this = &::windows::core::ComInterface::cast::<IMediaCapture4>(self)?;
9085 unsafe {
9086 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::VideoFrame>>();
9087 (::windows::core::Interface::vtable(this).GetPreviewFrameAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9088 }
9089 }
9090 #[doc = "*Required features: `\"Foundation\"`*"]
9091 #[cfg(feature = "Foundation")]
9092 pub fn GetPreviewFrameCopyAsync(&self, destination: &super::VideoFrame) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<super::VideoFrame>> {
9093 let this = &::windows::core::ComInterface::cast::<IMediaCapture4>(self)?;
9094 unsafe {
9095 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<super::VideoFrame>>();
9096 (::windows::core::Interface::vtable(this).GetPreviewFrameCopyAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(destination), &mut result__).from_abi(result__)
9097 }
9098 }
9099 #[doc = "*Required features: `\"Foundation\"`*"]
9100 #[cfg(feature = "Foundation")]
9101 pub fn ThermalStatusChanged(&self, handler: &super::super::Foundation::TypedEventHandler<MediaCapture, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
9102 let this = &::windows::core::ComInterface::cast::<IMediaCapture4>(self)?;
9103 unsafe {
9104 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
9105 (::windows::core::Interface::vtable(this).ThermalStatusChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
9106 }
9107 }
9108 #[doc = "*Required features: `\"Foundation\"`*"]
9109 #[cfg(feature = "Foundation")]
9110 pub fn RemoveThermalStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
9111 let this = &::windows::core::ComInterface::cast::<IMediaCapture4>(self)?;
9112 unsafe { (::windows::core::Interface::vtable(this).RemoveThermalStatusChanged)(::windows::core::Interface::as_raw(this), token).ok() }
9113 }
9114 pub fn ThermalStatus(&self) -> ::windows::core::Result<MediaCaptureThermalStatus> {
9115 let this = &::windows::core::ComInterface::cast::<IMediaCapture4>(self)?;
9116 unsafe {
9117 let mut result__ = ::windows::core::zeroed::<MediaCaptureThermalStatus>();
9118 (::windows::core::Interface::vtable(this).ThermalStatus)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9119 }
9120 }
9121 #[doc = "*Required features: `\"Foundation\"`, `\"Media_MediaProperties\"`*"]
9122 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties"))]
9123 pub fn PrepareAdvancedPhotoCaptureAsync(&self, encodingproperties: &super::MediaProperties::ImageEncodingProperties) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<AdvancedPhotoCapture>> {
9124 let this = &::windows::core::ComInterface::cast::<IMediaCapture4>(self)?;
9125 unsafe {
9126 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<AdvancedPhotoCapture>>();
9127 (::windows::core::Interface::vtable(this).PrepareAdvancedPhotoCaptureAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(encodingproperties), &mut result__).from_abi(result__)
9128 }
9129 }
9130 #[doc = "*Required features: `\"Foundation\"`*"]
9131 #[cfg(feature = "Foundation")]
9132 pub fn RemoveEffectAsync<P0>(&self, effect: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
9133 where
9134 P0: ::windows::core::TryIntoParam<super::IMediaExtension>,
9135 {
9136 let this = &::windows::core::ComInterface::cast::<IMediaCapture5>(self)?;
9137 unsafe {
9138 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
9139 (::windows::core::Interface::vtable(this).RemoveEffectAsync)(::windows::core::Interface::as_raw(this), effect.try_into_param()?.abi(), &mut result__).from_abi(result__)
9140 }
9141 }
9142 #[doc = "*Required features: `\"Foundation\"`, `\"Media_Devices\"`*"]
9143 #[cfg(all(feature = "Foundation", feature = "Media_Devices"))]
9144 pub fn PauseRecordWithResultAsync(&self, behavior: super::Devices::MediaCapturePauseBehavior) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<MediaCapturePauseResult>> {
9145 let this = &::windows::core::ComInterface::cast::<IMediaCapture5>(self)?;
9146 unsafe {
9147 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<MediaCapturePauseResult>>();
9148 (::windows::core::Interface::vtable(this).PauseRecordWithResultAsync)(::windows::core::Interface::as_raw(this), behavior, &mut result__).from_abi(result__)
9149 }
9150 }
9151 #[doc = "*Required features: `\"Foundation\"`*"]
9152 #[cfg(feature = "Foundation")]
9153 pub fn StopRecordWithResultAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<MediaCaptureStopResult>> {
9154 let this = &::windows::core::ComInterface::cast::<IMediaCapture5>(self)?;
9155 unsafe {
9156 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<MediaCaptureStopResult>>();
9157 (::windows::core::Interface::vtable(this).StopRecordWithResultAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9158 }
9159 }
9160 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Media_Capture_Frames\"`*"]
9161 #[cfg(all(feature = "Foundation_Collections", feature = "Media_Capture_Frames"))]
9162 pub fn FrameSources(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IMapView<::windows::core::HSTRING, Frames::MediaFrameSource>> {
9163 let this = &::windows::core::ComInterface::cast::<IMediaCapture5>(self)?;
9164 unsafe {
9165 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IMapView<::windows::core::HSTRING, Frames::MediaFrameSource>>();
9166 (::windows::core::Interface::vtable(this).FrameSources)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9167 }
9168 }
9169 #[doc = "*Required features: `\"Foundation\"`, `\"Media_Capture_Frames\"`*"]
9170 #[cfg(all(feature = "Foundation", feature = "Media_Capture_Frames"))]
9171 pub fn CreateFrameReaderAsync(&self, inputsource: &Frames::MediaFrameSource) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<Frames::MediaFrameReader>> {
9172 let this = &::windows::core::ComInterface::cast::<IMediaCapture5>(self)?;
9173 unsafe {
9174 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<Frames::MediaFrameReader>>();
9175 (::windows::core::Interface::vtable(this).CreateFrameReaderAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(inputsource), &mut result__).from_abi(result__)
9176 }
9177 }
9178 #[doc = "*Required features: `\"Foundation\"`, `\"Media_Capture_Frames\"`*"]
9179 #[cfg(all(feature = "Foundation", feature = "Media_Capture_Frames"))]
9180 pub fn CreateFrameReaderWithSubtypeAsync(&self, inputsource: &Frames::MediaFrameSource, outputsubtype: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<Frames::MediaFrameReader>> {
9181 let this = &::windows::core::ComInterface::cast::<IMediaCapture5>(self)?;
9182 unsafe {
9183 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<Frames::MediaFrameReader>>();
9184 (::windows::core::Interface::vtable(this).CreateFrameReaderWithSubtypeAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(inputsource), ::core::mem::transmute_copy(outputsubtype), &mut result__).from_abi(result__)
9185 }
9186 }
9187 #[doc = "*Required features: `\"Foundation\"`, `\"Graphics_Imaging\"`, `\"Media_Capture_Frames\"`*"]
9188 #[cfg(all(feature = "Foundation", feature = "Graphics_Imaging", feature = "Media_Capture_Frames"))]
9189 pub fn CreateFrameReaderWithSubtypeAndSizeAsync(&self, inputsource: &Frames::MediaFrameSource, outputsubtype: &::windows::core::HSTRING, outputsize: super::super::Graphics::Imaging::BitmapSize) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<Frames::MediaFrameReader>> {
9190 let this = &::windows::core::ComInterface::cast::<IMediaCapture5>(self)?;
9191 unsafe {
9192 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<Frames::MediaFrameReader>>();
9193 (::windows::core::Interface::vtable(this).CreateFrameReaderWithSubtypeAndSizeAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(inputsource), ::core::mem::transmute_copy(outputsubtype), outputsize, &mut result__).from_abi(result__)
9194 }
9195 }
9196 #[doc = "*Required features: `\"Foundation\"`*"]
9197 #[cfg(feature = "Foundation")]
9198 pub fn CaptureDeviceExclusiveControlStatusChanged(&self, handler: &super::super::Foundation::TypedEventHandler<MediaCapture, MediaCaptureDeviceExclusiveControlStatusChangedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
9199 let this = &::windows::core::ComInterface::cast::<IMediaCapture6>(self)?;
9200 unsafe {
9201 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
9202 (::windows::core::Interface::vtable(this).CaptureDeviceExclusiveControlStatusChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
9203 }
9204 }
9205 #[doc = "*Required features: `\"Foundation\"`*"]
9206 #[cfg(feature = "Foundation")]
9207 pub fn RemoveCaptureDeviceExclusiveControlStatusChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
9208 let this = &::windows::core::ComInterface::cast::<IMediaCapture6>(self)?;
9209 unsafe { (::windows::core::Interface::vtable(this).RemoveCaptureDeviceExclusiveControlStatusChanged)(::windows::core::Interface::as_raw(this), token).ok() }
9210 }
9211 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Media_Capture_Frames\"`*"]
9212 #[cfg(all(feature = "Foundation_Collections", feature = "Media_Capture_Frames"))]
9213 pub fn CreateMultiSourceFrameReaderAsync<P0>(&self, inputsources: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncOperation<Frames::MultiSourceMediaFrameReader>>
9214 where
9215 P0: ::windows::core::TryIntoParam<super::super::Foundation::Collections::IIterable<Frames::MediaFrameSource>>,
9216 {
9217 let this = &::windows::core::ComInterface::cast::<IMediaCapture6>(self)?;
9218 unsafe {
9219 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncOperation<Frames::MultiSourceMediaFrameReader>>();
9220 (::windows::core::Interface::vtable(this).CreateMultiSourceFrameReaderAsync)(::windows::core::Interface::as_raw(this), inputsources.try_into_param()?.abi(), &mut result__).from_abi(result__)
9221 }
9222 }
9223 #[doc = "*Required features: `\"UI_WindowManagement\"`*"]
9224 #[cfg(feature = "UI_WindowManagement")]
9225 pub fn CreateRelativePanelWatcher(&self, capturemode: StreamingCaptureMode, displayregion: &super::super::UI::WindowManagement::DisplayRegion) -> ::windows::core::Result<MediaCaptureRelativePanelWatcher> {
9226 let this = &::windows::core::ComInterface::cast::<IMediaCapture7>(self)?;
9227 unsafe {
9228 let mut result__ = ::windows::core::zeroed::<MediaCaptureRelativePanelWatcher>();
9229 (::windows::core::Interface::vtable(this).CreateRelativePanelWatcher)(::windows::core::Interface::as_raw(this), capturemode, ::core::mem::transmute_copy(displayregion), &mut result__).from_abi(result__)
9230 }
9231 }
9232 pub fn IsVideoProfileSupported(videodeviceid: &::windows::core::HSTRING) -> ::windows::core::Result<bool> {
9233 Self::IMediaCaptureStatics(|this| unsafe {
9234 let mut result__ = ::windows::core::zeroed::<bool>();
9235 (::windows::core::Interface::vtable(this).IsVideoProfileSupported)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(videodeviceid), &mut result__).from_abi(result__)
9236 })
9237 }
9238 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
9239 #[cfg(feature = "Foundation_Collections")]
9240 pub fn FindAllVideoProfiles(videodeviceid: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<MediaCaptureVideoProfile>> {
9241 Self::IMediaCaptureStatics(|this| unsafe {
9242 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<MediaCaptureVideoProfile>>();
9243 (::windows::core::Interface::vtable(this).FindAllVideoProfiles)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(videodeviceid), &mut result__).from_abi(result__)
9244 })
9245 }
9246 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
9247 #[cfg(feature = "Foundation_Collections")]
9248 pub fn FindConcurrentProfiles(videodeviceid: &::windows::core::HSTRING) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<MediaCaptureVideoProfile>> {
9249 Self::IMediaCaptureStatics(|this| unsafe {
9250 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<MediaCaptureVideoProfile>>();
9251 (::windows::core::Interface::vtable(this).FindConcurrentProfiles)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(videodeviceid), &mut result__).from_abi(result__)
9252 })
9253 }
9254 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
9255 #[cfg(feature = "Foundation_Collections")]
9256 pub fn FindKnownVideoProfiles(videodeviceid: &::windows::core::HSTRING, name: KnownVideoProfile) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<MediaCaptureVideoProfile>> {
9257 Self::IMediaCaptureStatics(|this| unsafe {
9258 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<MediaCaptureVideoProfile>>();
9259 (::windows::core::Interface::vtable(this).FindKnownVideoProfiles)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(videodeviceid), name, &mut result__).from_abi(result__)
9260 })
9261 }
9262 #[doc = "*Required features: `\"Foundation\"`*"]
9263 #[cfg(feature = "Foundation")]
9264 pub fn StartPreviewAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
9265 let this = &::windows::core::ComInterface::cast::<IMediaCaptureVideoPreview>(self)?;
9266 unsafe {
9267 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
9268 (::windows::core::Interface::vtable(this).StartPreviewAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9269 }
9270 }
9271 #[doc = "*Required features: `\"Foundation\"`, `\"Media_MediaProperties\"`*"]
9272 #[cfg(all(feature = "Foundation", feature = "Media_MediaProperties"))]
9273 pub fn StartPreviewToCustomSinkAsync<P0>(&self, encodingprofile: &super::MediaProperties::MediaEncodingProfile, custommediasink: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
9274 where
9275 P0: ::windows::core::TryIntoParam<super::IMediaExtension>,
9276 {
9277 let this = &::windows::core::ComInterface::cast::<IMediaCaptureVideoPreview>(self)?;
9278 unsafe {
9279 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
9280 (::windows::core::Interface::vtable(this).StartPreviewToCustomSinkAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(encodingprofile), custommediasink.try_into_param()?.abi(), &mut result__).from_abi(result__)
9281 }
9282 }
9283 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Media_MediaProperties\"`*"]
9284 #[cfg(all(feature = "Foundation_Collections", feature = "Media_MediaProperties"))]
9285 pub fn StartPreviewToCustomSinkIdAsync<P0>(&self, encodingprofile: &super::MediaProperties::MediaEncodingProfile, customsinkactivationid: &::windows::core::HSTRING, customsinksettings: P0) -> ::windows::core::Result<super::super::Foundation::IAsyncAction>
9286 where
9287 P0: ::windows::core::TryIntoParam<super::super::Foundation::Collections::IPropertySet>,
9288 {
9289 let this = &::windows::core::ComInterface::cast::<IMediaCaptureVideoPreview>(self)?;
9290 unsafe {
9291 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
9292 (::windows::core::Interface::vtable(this).StartPreviewToCustomSinkIdAsync)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(encodingprofile), ::core::mem::transmute_copy(customsinkactivationid), customsinksettings.try_into_param()?.abi(), &mut result__).from_abi(result__)
9293 }
9294 }
9295 #[doc = "*Required features: `\"Foundation\"`*"]
9296 #[cfg(feature = "Foundation")]
9297 pub fn StopPreviewAsync(&self) -> ::windows::core::Result<super::super::Foundation::IAsyncAction> {
9298 let this = &::windows::core::ComInterface::cast::<IMediaCaptureVideoPreview>(self)?;
9299 unsafe {
9300 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IAsyncAction>();
9301 (::windows::core::Interface::vtable(this).StopPreviewAsync)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9302 }
9303 }
9304 #[doc(hidden)]
9305 pub fn IMediaCaptureStatics<R, F: FnOnce(&IMediaCaptureStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
9306 static SHARED: ::windows::imp::FactoryCache<MediaCapture, IMediaCaptureStatics> = ::windows::imp::FactoryCache::new();
9307 SHARED.call(callback)
9308 }
9309 }
9310 impl ::core::cmp::PartialEq for MediaCapture {
9311 fn eq(&self, other: &Self) -> bool {
9312 self.0 == other.0
9313 }
9314 }
9315 impl ::core::cmp::Eq for MediaCapture {}
9316 impl ::core::fmt::Debug for MediaCapture {
9317 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9318 f.debug_tuple("MediaCapture").field(&self.0).finish()
9319 }
9320 }
9321 impl ::windows::core::RuntimeType for MediaCapture {
9322 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.MediaCapture;{c61afbb4-fb10-4a34-ac18-ca80d9c8e7ee})");
9323 }
9324 impl ::core::clone::Clone for MediaCapture {
9325 fn clone(&self) -> Self {
9326 Self(self.0.clone())
9327 }
9328 }
9329 unsafe impl ::windows::core::Interface for MediaCapture {
9330 type Vtable = IMediaCapture_Vtbl;
9331 }
9332 unsafe impl ::windows::core::ComInterface for MediaCapture {
9333 const IID: ::windows::core::GUID = <IMediaCapture as ::windows::core::ComInterface>::IID;
9334 }
9335 impl ::windows::core::RuntimeName for MediaCapture {
9336 const NAME: &'static str = "Windows.Media.Capture.MediaCapture";
9337 }
9338 ::windows::imp::interface_hierarchy!(MediaCapture, ::windows::core::IUnknown, ::windows::core::IInspectable);
9339 #[cfg(feature = "Foundation")]
9340 impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for MediaCapture {}
9341 #[doc = "*Required features: `\"Media_Capture\"`*"]
9342 #[repr(transparent)]
9343 pub struct MediaCaptureDeviceExclusiveControlStatusChangedEventArgs(::windows::core::IUnknown);
9344 impl MediaCaptureDeviceExclusiveControlStatusChangedEventArgs {
9345 pub fn DeviceId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
9346 let this = self;
9347 unsafe {
9348 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
9349 (::windows::core::Interface::vtable(this).DeviceId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9350 }
9351 }
9352 pub fn Status(&self) -> ::windows::core::Result<MediaCaptureDeviceExclusiveControlStatus> {
9353 let this = self;
9354 unsafe {
9355 let mut result__ = ::windows::core::zeroed::<MediaCaptureDeviceExclusiveControlStatus>();
9356 (::windows::core::Interface::vtable(this).Status)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9357 }
9358 }
9359 }
9360 impl ::core::cmp::PartialEq for MediaCaptureDeviceExclusiveControlStatusChangedEventArgs {
9361 fn eq(&self, other: &Self) -> bool {
9362 self.0 == other.0
9363 }
9364 }
9365 impl ::core::cmp::Eq for MediaCaptureDeviceExclusiveControlStatusChangedEventArgs {}
9366 impl ::core::fmt::Debug for MediaCaptureDeviceExclusiveControlStatusChangedEventArgs {
9367 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9368 f.debug_tuple("MediaCaptureDeviceExclusiveControlStatusChangedEventArgs").field(&self.0).finish()
9369 }
9370 }
9371 impl ::windows::core::RuntimeType for MediaCaptureDeviceExclusiveControlStatusChangedEventArgs {
9372 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.MediaCaptureDeviceExclusiveControlStatusChangedEventArgs;{9d2f920d-a588-43c6-89d6-5ad322af006a})");
9373 }
9374 impl ::core::clone::Clone for MediaCaptureDeviceExclusiveControlStatusChangedEventArgs {
9375 fn clone(&self) -> Self {
9376 Self(self.0.clone())
9377 }
9378 }
9379 unsafe impl ::windows::core::Interface for MediaCaptureDeviceExclusiveControlStatusChangedEventArgs {
9380 type Vtable = IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs_Vtbl;
9381 }
9382 unsafe impl ::windows::core::ComInterface for MediaCaptureDeviceExclusiveControlStatusChangedEventArgs {
9383 const IID: ::windows::core::GUID = <IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs as ::windows::core::ComInterface>::IID;
9384 }
9385 impl ::windows::core::RuntimeName for MediaCaptureDeviceExclusiveControlStatusChangedEventArgs {
9386 const NAME: &'static str = "Windows.Media.Capture.MediaCaptureDeviceExclusiveControlStatusChangedEventArgs";
9387 }
9388 ::windows::imp::interface_hierarchy!(MediaCaptureDeviceExclusiveControlStatusChangedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
9389 unsafe impl ::core::marker::Send for MediaCaptureDeviceExclusiveControlStatusChangedEventArgs {}
9390 unsafe impl ::core::marker::Sync for MediaCaptureDeviceExclusiveControlStatusChangedEventArgs {}
9391 #[doc = "*Required features: `\"Media_Capture\"`*"]
9392 #[repr(transparent)]
9393 pub struct MediaCaptureFailedEventArgs(::windows::core::IUnknown);
9394 impl MediaCaptureFailedEventArgs {
9395 pub fn Message(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
9396 let this = self;
9397 unsafe {
9398 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
9399 (::windows::core::Interface::vtable(this).Message)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9400 }
9401 }
9402 pub fn Code(&self) -> ::windows::core::Result<u32> {
9403 let this = self;
9404 unsafe {
9405 let mut result__ = ::windows::core::zeroed::<u32>();
9406 (::windows::core::Interface::vtable(this).Code)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9407 }
9408 }
9409 }
9410 impl ::core::cmp::PartialEq for MediaCaptureFailedEventArgs {
9411 fn eq(&self, other: &Self) -> bool {
9412 self.0 == other.0
9413 }
9414 }
9415 impl ::core::cmp::Eq for MediaCaptureFailedEventArgs {}
9416 impl ::core::fmt::Debug for MediaCaptureFailedEventArgs {
9417 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9418 f.debug_tuple("MediaCaptureFailedEventArgs").field(&self.0).finish()
9419 }
9420 }
9421 impl ::windows::core::RuntimeType for MediaCaptureFailedEventArgs {
9422 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.MediaCaptureFailedEventArgs;{80fde3f4-54c4-42c0-8d19-cea1a87ca18b})");
9423 }
9424 impl ::core::clone::Clone for MediaCaptureFailedEventArgs {
9425 fn clone(&self) -> Self {
9426 Self(self.0.clone())
9427 }
9428 }
9429 unsafe impl ::windows::core::Interface for MediaCaptureFailedEventArgs {
9430 type Vtable = IMediaCaptureFailedEventArgs_Vtbl;
9431 }
9432 unsafe impl ::windows::core::ComInterface for MediaCaptureFailedEventArgs {
9433 const IID: ::windows::core::GUID = <IMediaCaptureFailedEventArgs as ::windows::core::ComInterface>::IID;
9434 }
9435 impl ::windows::core::RuntimeName for MediaCaptureFailedEventArgs {
9436 const NAME: &'static str = "Windows.Media.Capture.MediaCaptureFailedEventArgs";
9437 }
9438 ::windows::imp::interface_hierarchy!(MediaCaptureFailedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
9439 #[doc = "*Required features: `\"Media_Capture\"`*"]
9440 #[repr(transparent)]
9441 pub struct MediaCaptureFocusChangedEventArgs(::windows::core::IUnknown);
9442 impl MediaCaptureFocusChangedEventArgs {
9443 #[doc = "*Required features: `\"Media_Devices\"`*"]
9444 #[cfg(feature = "Media_Devices")]
9445 pub fn FocusState(&self) -> ::windows::core::Result<super::Devices::MediaCaptureFocusState> {
9446 let this = self;
9447 unsafe {
9448 let mut result__ = ::windows::core::zeroed::<super::Devices::MediaCaptureFocusState>();
9449 (::windows::core::Interface::vtable(this).FocusState)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9450 }
9451 }
9452 }
9453 impl ::core::cmp::PartialEq for MediaCaptureFocusChangedEventArgs {
9454 fn eq(&self, other: &Self) -> bool {
9455 self.0 == other.0
9456 }
9457 }
9458 impl ::core::cmp::Eq for MediaCaptureFocusChangedEventArgs {}
9459 impl ::core::fmt::Debug for MediaCaptureFocusChangedEventArgs {
9460 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9461 f.debug_tuple("MediaCaptureFocusChangedEventArgs").field(&self.0).finish()
9462 }
9463 }
9464 impl ::windows::core::RuntimeType for MediaCaptureFocusChangedEventArgs {
9465 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.MediaCaptureFocusChangedEventArgs;{81e1bc7f-2277-493e-abee-d3f44ff98c04})");
9466 }
9467 impl ::core::clone::Clone for MediaCaptureFocusChangedEventArgs {
9468 fn clone(&self) -> Self {
9469 Self(self.0.clone())
9470 }
9471 }
9472 unsafe impl ::windows::core::Interface for MediaCaptureFocusChangedEventArgs {
9473 type Vtable = IMediaCaptureFocusChangedEventArgs_Vtbl;
9474 }
9475 unsafe impl ::windows::core::ComInterface for MediaCaptureFocusChangedEventArgs {
9476 const IID: ::windows::core::GUID = <IMediaCaptureFocusChangedEventArgs as ::windows::core::ComInterface>::IID;
9477 }
9478 impl ::windows::core::RuntimeName for MediaCaptureFocusChangedEventArgs {
9479 const NAME: &'static str = "Windows.Media.Capture.MediaCaptureFocusChangedEventArgs";
9480 }
9481 ::windows::imp::interface_hierarchy!(MediaCaptureFocusChangedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
9482 unsafe impl ::core::marker::Send for MediaCaptureFocusChangedEventArgs {}
9483 unsafe impl ::core::marker::Sync for MediaCaptureFocusChangedEventArgs {}
9484 #[doc = "*Required features: `\"Media_Capture\"`*"]
9485 #[repr(transparent)]
9486 pub struct MediaCaptureInitializationSettings(::windows::core::IUnknown);
9487 impl MediaCaptureInitializationSettings {
9488 pub fn new() -> ::windows::core::Result<Self> {
9489 Self::IActivationFactory(|f| f.ActivateInstance::<Self>())
9490 }
9491 fn IActivationFactory<R, F: FnOnce(&::windows::imp::IGenericFactory) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
9492 static SHARED: ::windows::imp::FactoryCache<MediaCaptureInitializationSettings, ::windows::imp::IGenericFactory> = ::windows::imp::FactoryCache::new();
9493 SHARED.call(callback)
9494 }
9495 pub fn SetAudioDeviceId(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
9496 let this = self;
9497 unsafe { (::windows::core::Interface::vtable(this).SetAudioDeviceId)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
9498 }
9499 pub fn AudioDeviceId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
9500 let this = self;
9501 unsafe {
9502 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
9503 (::windows::core::Interface::vtable(this).AudioDeviceId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9504 }
9505 }
9506 pub fn SetVideoDeviceId(&self, value: &::windows::core::HSTRING) -> ::windows::core::Result<()> {
9507 let this = self;
9508 unsafe { (::windows::core::Interface::vtable(this).SetVideoDeviceId)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
9509 }
9510 pub fn VideoDeviceId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
9511 let this = self;
9512 unsafe {
9513 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
9514 (::windows::core::Interface::vtable(this).VideoDeviceId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9515 }
9516 }
9517 pub fn SetStreamingCaptureMode(&self, value: StreamingCaptureMode) -> ::windows::core::Result<()> {
9518 let this = self;
9519 unsafe { (::windows::core::Interface::vtable(this).SetStreamingCaptureMode)(::windows::core::Interface::as_raw(this), value).ok() }
9520 }
9521 pub fn StreamingCaptureMode(&self) -> ::windows::core::Result<StreamingCaptureMode> {
9522 let this = self;
9523 unsafe {
9524 let mut result__ = ::windows::core::zeroed::<StreamingCaptureMode>();
9525 (::windows::core::Interface::vtable(this).StreamingCaptureMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9526 }
9527 }
9528 pub fn SetPhotoCaptureSource(&self, value: PhotoCaptureSource) -> ::windows::core::Result<()> {
9529 let this = self;
9530 unsafe { (::windows::core::Interface::vtable(this).SetPhotoCaptureSource)(::windows::core::Interface::as_raw(this), value).ok() }
9531 }
9532 pub fn PhotoCaptureSource(&self) -> ::windows::core::Result<PhotoCaptureSource> {
9533 let this = self;
9534 unsafe {
9535 let mut result__ = ::windows::core::zeroed::<PhotoCaptureSource>();
9536 (::windows::core::Interface::vtable(this).PhotoCaptureSource)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9537 }
9538 }
9539 pub fn SetMediaCategory(&self, value: MediaCategory) -> ::windows::core::Result<()> {
9540 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings2>(self)?;
9541 unsafe { (::windows::core::Interface::vtable(this).SetMediaCategory)(::windows::core::Interface::as_raw(this), value).ok() }
9542 }
9543 pub fn MediaCategory(&self) -> ::windows::core::Result<MediaCategory> {
9544 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings2>(self)?;
9545 unsafe {
9546 let mut result__ = ::windows::core::zeroed::<MediaCategory>();
9547 (::windows::core::Interface::vtable(this).MediaCategory)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9548 }
9549 }
9550 pub fn SetAudioProcessing(&self, value: super::AudioProcessing) -> ::windows::core::Result<()> {
9551 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings2>(self)?;
9552 unsafe { (::windows::core::Interface::vtable(this).SetAudioProcessing)(::windows::core::Interface::as_raw(this), value).ok() }
9553 }
9554 pub fn AudioProcessing(&self) -> ::windows::core::Result<super::AudioProcessing> {
9555 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings2>(self)?;
9556 unsafe {
9557 let mut result__ = ::windows::core::zeroed::<super::AudioProcessing>();
9558 (::windows::core::Interface::vtable(this).AudioProcessing)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9559 }
9560 }
9561 #[doc = "*Required features: `\"Media_Core\"`*"]
9562 #[cfg(feature = "Media_Core")]
9563 pub fn SetAudioSource<P0>(&self, value: P0) -> ::windows::core::Result<()>
9564 where
9565 P0: ::windows::core::TryIntoParam<super::Core::IMediaSource>,
9566 {
9567 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings3>(self)?;
9568 unsafe { (::windows::core::Interface::vtable(this).SetAudioSource)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
9569 }
9570 #[doc = "*Required features: `\"Media_Core\"`*"]
9571 #[cfg(feature = "Media_Core")]
9572 pub fn AudioSource(&self) -> ::windows::core::Result<super::Core::IMediaSource> {
9573 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings3>(self)?;
9574 unsafe {
9575 let mut result__ = ::windows::core::zeroed::<super::Core::IMediaSource>();
9576 (::windows::core::Interface::vtable(this).AudioSource)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9577 }
9578 }
9579 #[doc = "*Required features: `\"Media_Core\"`*"]
9580 #[cfg(feature = "Media_Core")]
9581 pub fn SetVideoSource<P0>(&self, value: P0) -> ::windows::core::Result<()>
9582 where
9583 P0: ::windows::core::TryIntoParam<super::Core::IMediaSource>,
9584 {
9585 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings3>(self)?;
9586 unsafe { (::windows::core::Interface::vtable(this).SetVideoSource)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
9587 }
9588 #[doc = "*Required features: `\"Media_Core\"`*"]
9589 #[cfg(feature = "Media_Core")]
9590 pub fn VideoSource(&self) -> ::windows::core::Result<super::Core::IMediaSource> {
9591 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings3>(self)?;
9592 unsafe {
9593 let mut result__ = ::windows::core::zeroed::<super::Core::IMediaSource>();
9594 (::windows::core::Interface::vtable(this).VideoSource)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9595 }
9596 }
9597 pub fn VideoProfile(&self) -> ::windows::core::Result<MediaCaptureVideoProfile> {
9598 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings4>(self)?;
9599 unsafe {
9600 let mut result__ = ::windows::core::zeroed::<MediaCaptureVideoProfile>();
9601 (::windows::core::Interface::vtable(this).VideoProfile)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9602 }
9603 }
9604 pub fn SetVideoProfile(&self, value: &MediaCaptureVideoProfile) -> ::windows::core::Result<()> {
9605 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings4>(self)?;
9606 unsafe { (::windows::core::Interface::vtable(this).SetVideoProfile)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
9607 }
9608 pub fn PreviewMediaDescription(&self) -> ::windows::core::Result<MediaCaptureVideoProfileMediaDescription> {
9609 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings4>(self)?;
9610 unsafe {
9611 let mut result__ = ::windows::core::zeroed::<MediaCaptureVideoProfileMediaDescription>();
9612 (::windows::core::Interface::vtable(this).PreviewMediaDescription)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9613 }
9614 }
9615 pub fn SetPreviewMediaDescription(&self, value: &MediaCaptureVideoProfileMediaDescription) -> ::windows::core::Result<()> {
9616 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings4>(self)?;
9617 unsafe { (::windows::core::Interface::vtable(this).SetPreviewMediaDescription)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
9618 }
9619 pub fn RecordMediaDescription(&self) -> ::windows::core::Result<MediaCaptureVideoProfileMediaDescription> {
9620 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings4>(self)?;
9621 unsafe {
9622 let mut result__ = ::windows::core::zeroed::<MediaCaptureVideoProfileMediaDescription>();
9623 (::windows::core::Interface::vtable(this).RecordMediaDescription)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9624 }
9625 }
9626 pub fn SetRecordMediaDescription(&self, value: &MediaCaptureVideoProfileMediaDescription) -> ::windows::core::Result<()> {
9627 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings4>(self)?;
9628 unsafe { (::windows::core::Interface::vtable(this).SetRecordMediaDescription)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
9629 }
9630 pub fn PhotoMediaDescription(&self) -> ::windows::core::Result<MediaCaptureVideoProfileMediaDescription> {
9631 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings4>(self)?;
9632 unsafe {
9633 let mut result__ = ::windows::core::zeroed::<MediaCaptureVideoProfileMediaDescription>();
9634 (::windows::core::Interface::vtable(this).PhotoMediaDescription)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9635 }
9636 }
9637 pub fn SetPhotoMediaDescription(&self, value: &MediaCaptureVideoProfileMediaDescription) -> ::windows::core::Result<()> {
9638 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings4>(self)?;
9639 unsafe { (::windows::core::Interface::vtable(this).SetPhotoMediaDescription)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
9640 }
9641 #[doc = "*Required features: `\"Media_Capture_Frames\"`*"]
9642 #[cfg(feature = "Media_Capture_Frames")]
9643 pub fn SourceGroup(&self) -> ::windows::core::Result<Frames::MediaFrameSourceGroup> {
9644 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings5>(self)?;
9645 unsafe {
9646 let mut result__ = ::windows::core::zeroed::<Frames::MediaFrameSourceGroup>();
9647 (::windows::core::Interface::vtable(this).SourceGroup)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9648 }
9649 }
9650 #[doc = "*Required features: `\"Media_Capture_Frames\"`*"]
9651 #[cfg(feature = "Media_Capture_Frames")]
9652 pub fn SetSourceGroup(&self, value: &Frames::MediaFrameSourceGroup) -> ::windows::core::Result<()> {
9653 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings5>(self)?;
9654 unsafe { (::windows::core::Interface::vtable(this).SetSourceGroup)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
9655 }
9656 pub fn SharingMode(&self) -> ::windows::core::Result<MediaCaptureSharingMode> {
9657 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings5>(self)?;
9658 unsafe {
9659 let mut result__ = ::windows::core::zeroed::<MediaCaptureSharingMode>();
9660 (::windows::core::Interface::vtable(this).SharingMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9661 }
9662 }
9663 pub fn SetSharingMode(&self, value: MediaCaptureSharingMode) -> ::windows::core::Result<()> {
9664 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings5>(self)?;
9665 unsafe { (::windows::core::Interface::vtable(this).SetSharingMode)(::windows::core::Interface::as_raw(this), value).ok() }
9666 }
9667 pub fn MemoryPreference(&self) -> ::windows::core::Result<MediaCaptureMemoryPreference> {
9668 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings5>(self)?;
9669 unsafe {
9670 let mut result__ = ::windows::core::zeroed::<MediaCaptureMemoryPreference>();
9671 (::windows::core::Interface::vtable(this).MemoryPreference)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9672 }
9673 }
9674 pub fn SetMemoryPreference(&self, value: MediaCaptureMemoryPreference) -> ::windows::core::Result<()> {
9675 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings5>(self)?;
9676 unsafe { (::windows::core::Interface::vtable(this).SetMemoryPreference)(::windows::core::Interface::as_raw(this), value).ok() }
9677 }
9678 pub fn AlwaysPlaySystemShutterSound(&self) -> ::windows::core::Result<bool> {
9679 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings6>(self)?;
9680 unsafe {
9681 let mut result__ = ::windows::core::zeroed::<bool>();
9682 (::windows::core::Interface::vtable(this).AlwaysPlaySystemShutterSound)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9683 }
9684 }
9685 pub fn SetAlwaysPlaySystemShutterSound(&self, value: bool) -> ::windows::core::Result<()> {
9686 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings6>(self)?;
9687 unsafe { (::windows::core::Interface::vtable(this).SetAlwaysPlaySystemShutterSound)(::windows::core::Interface::as_raw(this), value).ok() }
9688 }
9689 #[doc = "*Required features: `\"Security_Credentials\"`*"]
9690 #[cfg(feature = "Security_Credentials")]
9691 pub fn DeviceUriPasswordCredential(&self) -> ::windows::core::Result<super::super::Security::Credentials::PasswordCredential> {
9692 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings7>(self)?;
9693 unsafe {
9694 let mut result__ = ::windows::core::zeroed::<super::super::Security::Credentials::PasswordCredential>();
9695 (::windows::core::Interface::vtable(this).DeviceUriPasswordCredential)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9696 }
9697 }
9698 #[doc = "*Required features: `\"Security_Credentials\"`*"]
9699 #[cfg(feature = "Security_Credentials")]
9700 pub fn SetDeviceUriPasswordCredential(&self, value: &super::super::Security::Credentials::PasswordCredential) -> ::windows::core::Result<()> {
9701 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings7>(self)?;
9702 unsafe { (::windows::core::Interface::vtable(this).SetDeviceUriPasswordCredential)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
9703 }
9704 #[doc = "*Required features: `\"Foundation\"`*"]
9705 #[cfg(feature = "Foundation")]
9706 pub fn DeviceUri(&self) -> ::windows::core::Result<super::super::Foundation::Uri> {
9707 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings7>(self)?;
9708 unsafe {
9709 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Uri>();
9710 (::windows::core::Interface::vtable(this).DeviceUri)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9711 }
9712 }
9713 #[doc = "*Required features: `\"Foundation\"`*"]
9714 #[cfg(feature = "Foundation")]
9715 pub fn SetDeviceUri(&self, value: &super::super::Foundation::Uri) -> ::windows::core::Result<()> {
9716 let this = &::windows::core::ComInterface::cast::<IMediaCaptureInitializationSettings7>(self)?;
9717 unsafe { (::windows::core::Interface::vtable(this).SetDeviceUri)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
9718 }
9719 }
9720 impl ::core::cmp::PartialEq for MediaCaptureInitializationSettings {
9721 fn eq(&self, other: &Self) -> bool {
9722 self.0 == other.0
9723 }
9724 }
9725 impl ::core::cmp::Eq for MediaCaptureInitializationSettings {}
9726 impl ::core::fmt::Debug for MediaCaptureInitializationSettings {
9727 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9728 f.debug_tuple("MediaCaptureInitializationSettings").field(&self.0).finish()
9729 }
9730 }
9731 impl ::windows::core::RuntimeType for MediaCaptureInitializationSettings {
9732 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.MediaCaptureInitializationSettings;{9782ba70-ea65-4900-9356-8ca887726884})");
9733 }
9734 impl ::core::clone::Clone for MediaCaptureInitializationSettings {
9735 fn clone(&self) -> Self {
9736 Self(self.0.clone())
9737 }
9738 }
9739 unsafe impl ::windows::core::Interface for MediaCaptureInitializationSettings {
9740 type Vtable = IMediaCaptureInitializationSettings_Vtbl;
9741 }
9742 unsafe impl ::windows::core::ComInterface for MediaCaptureInitializationSettings {
9743 const IID: ::windows::core::GUID = <IMediaCaptureInitializationSettings as ::windows::core::ComInterface>::IID;
9744 }
9745 impl ::windows::core::RuntimeName for MediaCaptureInitializationSettings {
9746 const NAME: &'static str = "Windows.Media.Capture.MediaCaptureInitializationSettings";
9747 }
9748 ::windows::imp::interface_hierarchy!(MediaCaptureInitializationSettings, ::windows::core::IUnknown, ::windows::core::IInspectable);
9749 unsafe impl ::core::marker::Send for MediaCaptureInitializationSettings {}
9750 unsafe impl ::core::marker::Sync for MediaCaptureInitializationSettings {}
9751 #[doc = "*Required features: `\"Media_Capture\"`*"]
9752 #[repr(transparent)]
9753 pub struct MediaCapturePauseResult(::windows::core::IUnknown);
9754 impl MediaCapturePauseResult {
9755 #[doc = "*Required features: `\"Foundation\"`*"]
9756 #[cfg(feature = "Foundation")]
9757 pub fn Close(&self) -> ::windows::core::Result<()> {
9758 let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
9759 unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
9760 }
9761 pub fn LastFrame(&self) -> ::windows::core::Result<super::VideoFrame> {
9762 let this = self;
9763 unsafe {
9764 let mut result__ = ::windows::core::zeroed::<super::VideoFrame>();
9765 (::windows::core::Interface::vtable(this).LastFrame)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9766 }
9767 }
9768 #[doc = "*Required features: `\"Foundation\"`*"]
9769 #[cfg(feature = "Foundation")]
9770 pub fn RecordDuration(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
9771 let this = self;
9772 unsafe {
9773 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
9774 (::windows::core::Interface::vtable(this).RecordDuration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9775 }
9776 }
9777 }
9778 impl ::core::cmp::PartialEq for MediaCapturePauseResult {
9779 fn eq(&self, other: &Self) -> bool {
9780 self.0 == other.0
9781 }
9782 }
9783 impl ::core::cmp::Eq for MediaCapturePauseResult {}
9784 impl ::core::fmt::Debug for MediaCapturePauseResult {
9785 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9786 f.debug_tuple("MediaCapturePauseResult").field(&self.0).finish()
9787 }
9788 }
9789 impl ::windows::core::RuntimeType for MediaCapturePauseResult {
9790 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.MediaCapturePauseResult;{aec47ca3-4477-4b04-a06f-2c1c5182fe9d})");
9791 }
9792 impl ::core::clone::Clone for MediaCapturePauseResult {
9793 fn clone(&self) -> Self {
9794 Self(self.0.clone())
9795 }
9796 }
9797 unsafe impl ::windows::core::Interface for MediaCapturePauseResult {
9798 type Vtable = IMediaCapturePauseResult_Vtbl;
9799 }
9800 unsafe impl ::windows::core::ComInterface for MediaCapturePauseResult {
9801 const IID: ::windows::core::GUID = <IMediaCapturePauseResult as ::windows::core::ComInterface>::IID;
9802 }
9803 impl ::windows::core::RuntimeName for MediaCapturePauseResult {
9804 const NAME: &'static str = "Windows.Media.Capture.MediaCapturePauseResult";
9805 }
9806 ::windows::imp::interface_hierarchy!(MediaCapturePauseResult, ::windows::core::IUnknown, ::windows::core::IInspectable);
9807 #[cfg(feature = "Foundation")]
9808 impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for MediaCapturePauseResult {}
9809 #[doc = "*Required features: `\"Media_Capture\"`*"]
9810 #[repr(transparent)]
9811 pub struct MediaCaptureRelativePanelWatcher(::windows::core::IUnknown);
9812 impl MediaCaptureRelativePanelWatcher {
9813 #[doc = "*Required features: `\"Foundation\"`*"]
9814 #[cfg(feature = "Foundation")]
9815 pub fn Close(&self) -> ::windows::core::Result<()> {
9816 let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
9817 unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
9818 }
9819 #[doc = "*Required features: `\"Devices_Enumeration\"`*"]
9820 #[cfg(feature = "Devices_Enumeration")]
9821 pub fn RelativePanel(&self) -> ::windows::core::Result<super::super::Devices::Enumeration::Panel> {
9822 let this = self;
9823 unsafe {
9824 let mut result__ = ::windows::core::zeroed::<super::super::Devices::Enumeration::Panel>();
9825 (::windows::core::Interface::vtable(this).RelativePanel)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9826 }
9827 }
9828 #[doc = "*Required features: `\"Foundation\"`*"]
9829 #[cfg(feature = "Foundation")]
9830 pub fn Changed(&self, handler: &super::super::Foundation::TypedEventHandler<MediaCaptureRelativePanelWatcher, ::windows::core::IInspectable>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
9831 let this = self;
9832 unsafe {
9833 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
9834 (::windows::core::Interface::vtable(this).Changed)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
9835 }
9836 }
9837 #[doc = "*Required features: `\"Foundation\"`*"]
9838 #[cfg(feature = "Foundation")]
9839 pub fn RemoveChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
9840 let this = self;
9841 unsafe { (::windows::core::Interface::vtable(this).RemoveChanged)(::windows::core::Interface::as_raw(this), token).ok() }
9842 }
9843 pub fn Start(&self) -> ::windows::core::Result<()> {
9844 let this = self;
9845 unsafe { (::windows::core::Interface::vtable(this).Start)(::windows::core::Interface::as_raw(this)).ok() }
9846 }
9847 pub fn Stop(&self) -> ::windows::core::Result<()> {
9848 let this = self;
9849 unsafe { (::windows::core::Interface::vtable(this).Stop)(::windows::core::Interface::as_raw(this)).ok() }
9850 }
9851 }
9852 impl ::core::cmp::PartialEq for MediaCaptureRelativePanelWatcher {
9853 fn eq(&self, other: &Self) -> bool {
9854 self.0 == other.0
9855 }
9856 }
9857 impl ::core::cmp::Eq for MediaCaptureRelativePanelWatcher {}
9858 impl ::core::fmt::Debug for MediaCaptureRelativePanelWatcher {
9859 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9860 f.debug_tuple("MediaCaptureRelativePanelWatcher").field(&self.0).finish()
9861 }
9862 }
9863 impl ::windows::core::RuntimeType for MediaCaptureRelativePanelWatcher {
9864 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.MediaCaptureRelativePanelWatcher;{7d896566-04be-5b89-b30e-bd34a9f12db0})");
9865 }
9866 impl ::core::clone::Clone for MediaCaptureRelativePanelWatcher {
9867 fn clone(&self) -> Self {
9868 Self(self.0.clone())
9869 }
9870 }
9871 unsafe impl ::windows::core::Interface for MediaCaptureRelativePanelWatcher {
9872 type Vtable = IMediaCaptureRelativePanelWatcher_Vtbl;
9873 }
9874 unsafe impl ::windows::core::ComInterface for MediaCaptureRelativePanelWatcher {
9875 const IID: ::windows::core::GUID = <IMediaCaptureRelativePanelWatcher as ::windows::core::ComInterface>::IID;
9876 }
9877 impl ::windows::core::RuntimeName for MediaCaptureRelativePanelWatcher {
9878 const NAME: &'static str = "Windows.Media.Capture.MediaCaptureRelativePanelWatcher";
9879 }
9880 ::windows::imp::interface_hierarchy!(MediaCaptureRelativePanelWatcher, ::windows::core::IUnknown, ::windows::core::IInspectable);
9881 #[cfg(feature = "Foundation")]
9882 impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for MediaCaptureRelativePanelWatcher {}
9883 unsafe impl ::core::marker::Send for MediaCaptureRelativePanelWatcher {}
9884 unsafe impl ::core::marker::Sync for MediaCaptureRelativePanelWatcher {}
9885 #[doc = "*Required features: `\"Media_Capture\"`*"]
9886 #[repr(transparent)]
9887 pub struct MediaCaptureSettings(::windows::core::IUnknown);
9888 impl MediaCaptureSettings {
9889 pub fn AudioDeviceId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
9890 let this = self;
9891 unsafe {
9892 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
9893 (::windows::core::Interface::vtable(this).AudioDeviceId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9894 }
9895 }
9896 pub fn VideoDeviceId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
9897 let this = self;
9898 unsafe {
9899 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
9900 (::windows::core::Interface::vtable(this).VideoDeviceId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9901 }
9902 }
9903 pub fn StreamingCaptureMode(&self) -> ::windows::core::Result<StreamingCaptureMode> {
9904 let this = self;
9905 unsafe {
9906 let mut result__ = ::windows::core::zeroed::<StreamingCaptureMode>();
9907 (::windows::core::Interface::vtable(this).StreamingCaptureMode)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9908 }
9909 }
9910 pub fn PhotoCaptureSource(&self) -> ::windows::core::Result<PhotoCaptureSource> {
9911 let this = self;
9912 unsafe {
9913 let mut result__ = ::windows::core::zeroed::<PhotoCaptureSource>();
9914 (::windows::core::Interface::vtable(this).PhotoCaptureSource)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9915 }
9916 }
9917 pub fn VideoDeviceCharacteristic(&self) -> ::windows::core::Result<VideoDeviceCharacteristic> {
9918 let this = self;
9919 unsafe {
9920 let mut result__ = ::windows::core::zeroed::<VideoDeviceCharacteristic>();
9921 (::windows::core::Interface::vtable(this).VideoDeviceCharacteristic)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9922 }
9923 }
9924 pub fn ConcurrentRecordAndPhotoSupported(&self) -> ::windows::core::Result<bool> {
9925 let this = &::windows::core::ComInterface::cast::<IMediaCaptureSettings2>(self)?;
9926 unsafe {
9927 let mut result__ = ::windows::core::zeroed::<bool>();
9928 (::windows::core::Interface::vtable(this).ConcurrentRecordAndPhotoSupported)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9929 }
9930 }
9931 pub fn ConcurrentRecordAndPhotoSequenceSupported(&self) -> ::windows::core::Result<bool> {
9932 let this = &::windows::core::ComInterface::cast::<IMediaCaptureSettings2>(self)?;
9933 unsafe {
9934 let mut result__ = ::windows::core::zeroed::<bool>();
9935 (::windows::core::Interface::vtable(this).ConcurrentRecordAndPhotoSequenceSupported)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9936 }
9937 }
9938 pub fn CameraSoundRequiredForRegion(&self) -> ::windows::core::Result<bool> {
9939 let this = &::windows::core::ComInterface::cast::<IMediaCaptureSettings2>(self)?;
9940 unsafe {
9941 let mut result__ = ::windows::core::zeroed::<bool>();
9942 (::windows::core::Interface::vtable(this).CameraSoundRequiredForRegion)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9943 }
9944 }
9945 #[doc = "*Required features: `\"Foundation\"`*"]
9946 #[cfg(feature = "Foundation")]
9947 pub fn Horizontal35mmEquivalentFocalLength(&self) -> ::windows::core::Result<super::super::Foundation::IReference<u32>> {
9948 let this = &::windows::core::ComInterface::cast::<IMediaCaptureSettings2>(self)?;
9949 unsafe {
9950 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<u32>>();
9951 (::windows::core::Interface::vtable(this).Horizontal35mmEquivalentFocalLength)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9952 }
9953 }
9954 #[doc = "*Required features: `\"Foundation\"`*"]
9955 #[cfg(feature = "Foundation")]
9956 pub fn PitchOffsetDegrees(&self) -> ::windows::core::Result<super::super::Foundation::IReference<i32>> {
9957 let this = &::windows::core::ComInterface::cast::<IMediaCaptureSettings2>(self)?;
9958 unsafe {
9959 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<i32>>();
9960 (::windows::core::Interface::vtable(this).PitchOffsetDegrees)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9961 }
9962 }
9963 #[doc = "*Required features: `\"Foundation\"`*"]
9964 #[cfg(feature = "Foundation")]
9965 pub fn Vertical35mmEquivalentFocalLength(&self) -> ::windows::core::Result<super::super::Foundation::IReference<u32>> {
9966 let this = &::windows::core::ComInterface::cast::<IMediaCaptureSettings2>(self)?;
9967 unsafe {
9968 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::IReference<u32>>();
9969 (::windows::core::Interface::vtable(this).Vertical35mmEquivalentFocalLength)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9970 }
9971 }
9972 pub fn MediaCategory(&self) -> ::windows::core::Result<MediaCategory> {
9973 let this = &::windows::core::ComInterface::cast::<IMediaCaptureSettings2>(self)?;
9974 unsafe {
9975 let mut result__ = ::windows::core::zeroed::<MediaCategory>();
9976 (::windows::core::Interface::vtable(this).MediaCategory)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9977 }
9978 }
9979 pub fn AudioProcessing(&self) -> ::windows::core::Result<super::AudioProcessing> {
9980 let this = &::windows::core::ComInterface::cast::<IMediaCaptureSettings2>(self)?;
9981 unsafe {
9982 let mut result__ = ::windows::core::zeroed::<super::AudioProcessing>();
9983 (::windows::core::Interface::vtable(this).AudioProcessing)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9984 }
9985 }
9986 #[doc = "*Required features: `\"Graphics_DirectX_Direct3D11\"`*"]
9987 #[cfg(feature = "Graphics_DirectX_Direct3D11")]
9988 pub fn Direct3D11Device(&self) -> ::windows::core::Result<super::super::Graphics::DirectX::Direct3D11::IDirect3DDevice> {
9989 let this = &::windows::core::ComInterface::cast::<IMediaCaptureSettings3>(self)?;
9990 unsafe {
9991 let mut result__ = ::windows::core::zeroed::<super::super::Graphics::DirectX::Direct3D11::IDirect3DDevice>();
9992 (::windows::core::Interface::vtable(this).Direct3D11Device)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
9993 }
9994 }
9995 }
9996 impl ::core::cmp::PartialEq for MediaCaptureSettings {
9997 fn eq(&self, other: &Self) -> bool {
9998 self.0 == other.0
9999 }
10000 }
10001 impl ::core::cmp::Eq for MediaCaptureSettings {}
10002 impl ::core::fmt::Debug for MediaCaptureSettings {
10003 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10004 f.debug_tuple("MediaCaptureSettings").field(&self.0).finish()
10005 }
10006 }
10007 impl ::windows::core::RuntimeType for MediaCaptureSettings {
10008 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.MediaCaptureSettings;{1d83aafe-6d45-4477-8dc4-ac5bc01c4091})");
10009 }
10010 impl ::core::clone::Clone for MediaCaptureSettings {
10011 fn clone(&self) -> Self {
10012 Self(self.0.clone())
10013 }
10014 }
10015 unsafe impl ::windows::core::Interface for MediaCaptureSettings {
10016 type Vtable = IMediaCaptureSettings_Vtbl;
10017 }
10018 unsafe impl ::windows::core::ComInterface for MediaCaptureSettings {
10019 const IID: ::windows::core::GUID = <IMediaCaptureSettings as ::windows::core::ComInterface>::IID;
10020 }
10021 impl ::windows::core::RuntimeName for MediaCaptureSettings {
10022 const NAME: &'static str = "Windows.Media.Capture.MediaCaptureSettings";
10023 }
10024 ::windows::imp::interface_hierarchy!(MediaCaptureSettings, ::windows::core::IUnknown, ::windows::core::IInspectable);
10025 #[doc = "*Required features: `\"Media_Capture\"`*"]
10026 #[repr(transparent)]
10027 pub struct MediaCaptureStopResult(::windows::core::IUnknown);
10028 impl MediaCaptureStopResult {
10029 #[doc = "*Required features: `\"Foundation\"`*"]
10030 #[cfg(feature = "Foundation")]
10031 pub fn Close(&self) -> ::windows::core::Result<()> {
10032 let this = &::windows::core::ComInterface::cast::<super::super::Foundation::IClosable>(self)?;
10033 unsafe { (::windows::core::Interface::vtable(this).Close)(::windows::core::Interface::as_raw(this)).ok() }
10034 }
10035 pub fn LastFrame(&self) -> ::windows::core::Result<super::VideoFrame> {
10036 let this = self;
10037 unsafe {
10038 let mut result__ = ::windows::core::zeroed::<super::VideoFrame>();
10039 (::windows::core::Interface::vtable(this).LastFrame)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10040 }
10041 }
10042 #[doc = "*Required features: `\"Foundation\"`*"]
10043 #[cfg(feature = "Foundation")]
10044 pub fn RecordDuration(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
10045 let this = self;
10046 unsafe {
10047 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
10048 (::windows::core::Interface::vtable(this).RecordDuration)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10049 }
10050 }
10051 }
10052 impl ::core::cmp::PartialEq for MediaCaptureStopResult {
10053 fn eq(&self, other: &Self) -> bool {
10054 self.0 == other.0
10055 }
10056 }
10057 impl ::core::cmp::Eq for MediaCaptureStopResult {}
10058 impl ::core::fmt::Debug for MediaCaptureStopResult {
10059 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10060 f.debug_tuple("MediaCaptureStopResult").field(&self.0).finish()
10061 }
10062 }
10063 impl ::windows::core::RuntimeType for MediaCaptureStopResult {
10064 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.MediaCaptureStopResult;{f9db6a2a-a092-4ad1-97d4-f201f9d082db})");
10065 }
10066 impl ::core::clone::Clone for MediaCaptureStopResult {
10067 fn clone(&self) -> Self {
10068 Self(self.0.clone())
10069 }
10070 }
10071 unsafe impl ::windows::core::Interface for MediaCaptureStopResult {
10072 type Vtable = IMediaCaptureStopResult_Vtbl;
10073 }
10074 unsafe impl ::windows::core::ComInterface for MediaCaptureStopResult {
10075 const IID: ::windows::core::GUID = <IMediaCaptureStopResult as ::windows::core::ComInterface>::IID;
10076 }
10077 impl ::windows::core::RuntimeName for MediaCaptureStopResult {
10078 const NAME: &'static str = "Windows.Media.Capture.MediaCaptureStopResult";
10079 }
10080 ::windows::imp::interface_hierarchy!(MediaCaptureStopResult, ::windows::core::IUnknown, ::windows::core::IInspectable);
10081 #[cfg(feature = "Foundation")]
10082 impl ::windows::core::CanTryInto<super::super::Foundation::IClosable> for MediaCaptureStopResult {}
10083 #[doc = "*Required features: `\"Media_Capture\"`*"]
10084 #[repr(transparent)]
10085 pub struct MediaCaptureVideoProfile(::windows::core::IUnknown);
10086 impl MediaCaptureVideoProfile {
10087 pub fn Id(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
10088 let this = self;
10089 unsafe {
10090 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
10091 (::windows::core::Interface::vtable(this).Id)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10092 }
10093 }
10094 pub fn VideoDeviceId(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
10095 let this = self;
10096 unsafe {
10097 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
10098 (::windows::core::Interface::vtable(this).VideoDeviceId)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10099 }
10100 }
10101 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
10102 #[cfg(feature = "Foundation_Collections")]
10103 pub fn SupportedPreviewMediaDescription(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<MediaCaptureVideoProfileMediaDescription>> {
10104 let this = self;
10105 unsafe {
10106 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<MediaCaptureVideoProfileMediaDescription>>();
10107 (::windows::core::Interface::vtable(this).SupportedPreviewMediaDescription)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10108 }
10109 }
10110 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
10111 #[cfg(feature = "Foundation_Collections")]
10112 pub fn SupportedRecordMediaDescription(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<MediaCaptureVideoProfileMediaDescription>> {
10113 let this = self;
10114 unsafe {
10115 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<MediaCaptureVideoProfileMediaDescription>>();
10116 (::windows::core::Interface::vtable(this).SupportedRecordMediaDescription)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10117 }
10118 }
10119 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
10120 #[cfg(feature = "Foundation_Collections")]
10121 pub fn SupportedPhotoMediaDescription(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<MediaCaptureVideoProfileMediaDescription>> {
10122 let this = self;
10123 unsafe {
10124 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<MediaCaptureVideoProfileMediaDescription>>();
10125 (::windows::core::Interface::vtable(this).SupportedPhotoMediaDescription)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10126 }
10127 }
10128 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
10129 #[cfg(feature = "Foundation_Collections")]
10130 pub fn GetConcurrency(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<MediaCaptureVideoProfile>> {
10131 let this = self;
10132 unsafe {
10133 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<MediaCaptureVideoProfile>>();
10134 (::windows::core::Interface::vtable(this).GetConcurrency)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10135 }
10136 }
10137 #[doc = "*Required features: `\"Foundation_Collections\"`, `\"Media_Capture_Frames\"`*"]
10138 #[cfg(all(feature = "Foundation_Collections", feature = "Media_Capture_Frames"))]
10139 pub fn FrameSourceInfos(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IVectorView<Frames::MediaFrameSourceInfo>> {
10140 let this = &::windows::core::ComInterface::cast::<IMediaCaptureVideoProfile2>(self)?;
10141 unsafe {
10142 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IVectorView<Frames::MediaFrameSourceInfo>>();
10143 (::windows::core::Interface::vtable(this).FrameSourceInfos)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10144 }
10145 }
10146 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
10147 #[cfg(feature = "Foundation_Collections")]
10148 pub fn Properties(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IMapView<::windows::core::GUID, ::windows::core::IInspectable>> {
10149 let this = &::windows::core::ComInterface::cast::<IMediaCaptureVideoProfile2>(self)?;
10150 unsafe {
10151 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IMapView<::windows::core::GUID, ::windows::core::IInspectable>>();
10152 (::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10153 }
10154 }
10155 }
10156 impl ::core::cmp::PartialEq for MediaCaptureVideoProfile {
10157 fn eq(&self, other: &Self) -> bool {
10158 self.0 == other.0
10159 }
10160 }
10161 impl ::core::cmp::Eq for MediaCaptureVideoProfile {}
10162 impl ::core::fmt::Debug for MediaCaptureVideoProfile {
10163 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10164 f.debug_tuple("MediaCaptureVideoProfile").field(&self.0).finish()
10165 }
10166 }
10167 impl ::windows::core::RuntimeType for MediaCaptureVideoProfile {
10168 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.MediaCaptureVideoProfile;{21a073bf-a3ee-4ecf-9ef6-50b0bc4e1305})");
10169 }
10170 impl ::core::clone::Clone for MediaCaptureVideoProfile {
10171 fn clone(&self) -> Self {
10172 Self(self.0.clone())
10173 }
10174 }
10175 unsafe impl ::windows::core::Interface for MediaCaptureVideoProfile {
10176 type Vtable = IMediaCaptureVideoProfile_Vtbl;
10177 }
10178 unsafe impl ::windows::core::ComInterface for MediaCaptureVideoProfile {
10179 const IID: ::windows::core::GUID = <IMediaCaptureVideoProfile as ::windows::core::ComInterface>::IID;
10180 }
10181 impl ::windows::core::RuntimeName for MediaCaptureVideoProfile {
10182 const NAME: &'static str = "Windows.Media.Capture.MediaCaptureVideoProfile";
10183 }
10184 ::windows::imp::interface_hierarchy!(MediaCaptureVideoProfile, ::windows::core::IUnknown, ::windows::core::IInspectable);
10185 unsafe impl ::core::marker::Send for MediaCaptureVideoProfile {}
10186 unsafe impl ::core::marker::Sync for MediaCaptureVideoProfile {}
10187 #[doc = "*Required features: `\"Media_Capture\"`*"]
10188 #[repr(transparent)]
10189 pub struct MediaCaptureVideoProfileMediaDescription(::windows::core::IUnknown);
10190 impl MediaCaptureVideoProfileMediaDescription {
10191 pub fn Width(&self) -> ::windows::core::Result<u32> {
10192 let this = self;
10193 unsafe {
10194 let mut result__ = ::windows::core::zeroed::<u32>();
10195 (::windows::core::Interface::vtable(this).Width)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10196 }
10197 }
10198 pub fn Height(&self) -> ::windows::core::Result<u32> {
10199 let this = self;
10200 unsafe {
10201 let mut result__ = ::windows::core::zeroed::<u32>();
10202 (::windows::core::Interface::vtable(this).Height)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10203 }
10204 }
10205 pub fn FrameRate(&self) -> ::windows::core::Result<f64> {
10206 let this = self;
10207 unsafe {
10208 let mut result__ = ::windows::core::zeroed::<f64>();
10209 (::windows::core::Interface::vtable(this).FrameRate)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10210 }
10211 }
10212 #[doc = "*Required features: `\"deprecated\"`*"]
10213 #[cfg(feature = "deprecated")]
10214 pub fn IsVariablePhotoSequenceSupported(&self) -> ::windows::core::Result<bool> {
10215 let this = self;
10216 unsafe {
10217 let mut result__ = ::windows::core::zeroed::<bool>();
10218 (::windows::core::Interface::vtable(this).IsVariablePhotoSequenceSupported)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10219 }
10220 }
10221 #[doc = "*Required features: `\"deprecated\"`*"]
10222 #[cfg(feature = "deprecated")]
10223 pub fn IsHdrVideoSupported(&self) -> ::windows::core::Result<bool> {
10224 let this = self;
10225 unsafe {
10226 let mut result__ = ::windows::core::zeroed::<bool>();
10227 (::windows::core::Interface::vtable(this).IsHdrVideoSupported)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10228 }
10229 }
10230 pub fn Subtype(&self) -> ::windows::core::Result<::windows::core::HSTRING> {
10231 let this = &::windows::core::ComInterface::cast::<IMediaCaptureVideoProfileMediaDescription2>(self)?;
10232 unsafe {
10233 let mut result__ = ::windows::core::zeroed::<::windows::core::HSTRING>();
10234 (::windows::core::Interface::vtable(this).Subtype)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10235 }
10236 }
10237 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
10238 #[cfg(feature = "Foundation_Collections")]
10239 pub fn Properties(&self) -> ::windows::core::Result<super::super::Foundation::Collections::IMapView<::windows::core::GUID, ::windows::core::IInspectable>> {
10240 let this = &::windows::core::ComInterface::cast::<IMediaCaptureVideoProfileMediaDescription2>(self)?;
10241 unsafe {
10242 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::Collections::IMapView<::windows::core::GUID, ::windows::core::IInspectable>>();
10243 (::windows::core::Interface::vtable(this).Properties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10244 }
10245 }
10246 }
10247 impl ::core::cmp::PartialEq for MediaCaptureVideoProfileMediaDescription {
10248 fn eq(&self, other: &Self) -> bool {
10249 self.0 == other.0
10250 }
10251 }
10252 impl ::core::cmp::Eq for MediaCaptureVideoProfileMediaDescription {}
10253 impl ::core::fmt::Debug for MediaCaptureVideoProfileMediaDescription {
10254 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10255 f.debug_tuple("MediaCaptureVideoProfileMediaDescription").field(&self.0).finish()
10256 }
10257 }
10258 impl ::windows::core::RuntimeType for MediaCaptureVideoProfileMediaDescription {
10259 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription;{8012afef-b691-49ff-83f2-c1e76eaaea1b})");
10260 }
10261 impl ::core::clone::Clone for MediaCaptureVideoProfileMediaDescription {
10262 fn clone(&self) -> Self {
10263 Self(self.0.clone())
10264 }
10265 }
10266 unsafe impl ::windows::core::Interface for MediaCaptureVideoProfileMediaDescription {
10267 type Vtable = IMediaCaptureVideoProfileMediaDescription_Vtbl;
10268 }
10269 unsafe impl ::windows::core::ComInterface for MediaCaptureVideoProfileMediaDescription {
10270 const IID: ::windows::core::GUID = <IMediaCaptureVideoProfileMediaDescription as ::windows::core::ComInterface>::IID;
10271 }
10272 impl ::windows::core::RuntimeName for MediaCaptureVideoProfileMediaDescription {
10273 const NAME: &'static str = "Windows.Media.Capture.MediaCaptureVideoProfileMediaDescription";
10274 }
10275 ::windows::imp::interface_hierarchy!(MediaCaptureVideoProfileMediaDescription, ::windows::core::IUnknown, ::windows::core::IInspectable);
10276 unsafe impl ::core::marker::Send for MediaCaptureVideoProfileMediaDescription {}
10277 unsafe impl ::core::marker::Sync for MediaCaptureVideoProfileMediaDescription {}
10278 #[doc = "*Required features: `\"Media_Capture\"`*"]
10279 #[repr(transparent)]
10280 pub struct OptionalReferencePhotoCapturedEventArgs(::windows::core::IUnknown);
10281 impl OptionalReferencePhotoCapturedEventArgs {
10282 pub fn Frame(&self) -> ::windows::core::Result<CapturedFrame> {
10283 let this = self;
10284 unsafe {
10285 let mut result__ = ::windows::core::zeroed::<CapturedFrame>();
10286 (::windows::core::Interface::vtable(this).Frame)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10287 }
10288 }
10289 pub fn Context(&self) -> ::windows::core::Result<::windows::core::IInspectable> {
10290 let this = self;
10291 unsafe {
10292 let mut result__ = ::windows::core::zeroed::<::windows::core::IInspectable>();
10293 (::windows::core::Interface::vtable(this).Context)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10294 }
10295 }
10296 }
10297 impl ::core::cmp::PartialEq for OptionalReferencePhotoCapturedEventArgs {
10298 fn eq(&self, other: &Self) -> bool {
10299 self.0 == other.0
10300 }
10301 }
10302 impl ::core::cmp::Eq for OptionalReferencePhotoCapturedEventArgs {}
10303 impl ::core::fmt::Debug for OptionalReferencePhotoCapturedEventArgs {
10304 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10305 f.debug_tuple("OptionalReferencePhotoCapturedEventArgs").field(&self.0).finish()
10306 }
10307 }
10308 impl ::windows::core::RuntimeType for OptionalReferencePhotoCapturedEventArgs {
10309 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.OptionalReferencePhotoCapturedEventArgs;{470f88b3-1e6d-4051-9c8b-f1d85af047b7})");
10310 }
10311 impl ::core::clone::Clone for OptionalReferencePhotoCapturedEventArgs {
10312 fn clone(&self) -> Self {
10313 Self(self.0.clone())
10314 }
10315 }
10316 unsafe impl ::windows::core::Interface for OptionalReferencePhotoCapturedEventArgs {
10317 type Vtable = IOptionalReferencePhotoCapturedEventArgs_Vtbl;
10318 }
10319 unsafe impl ::windows::core::ComInterface for OptionalReferencePhotoCapturedEventArgs {
10320 const IID: ::windows::core::GUID = <IOptionalReferencePhotoCapturedEventArgs as ::windows::core::ComInterface>::IID;
10321 }
10322 impl ::windows::core::RuntimeName for OptionalReferencePhotoCapturedEventArgs {
10323 const NAME: &'static str = "Windows.Media.Capture.OptionalReferencePhotoCapturedEventArgs";
10324 }
10325 ::windows::imp::interface_hierarchy!(OptionalReferencePhotoCapturedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
10326 unsafe impl ::core::marker::Send for OptionalReferencePhotoCapturedEventArgs {}
10327 unsafe impl ::core::marker::Sync for OptionalReferencePhotoCapturedEventArgs {}
10328 #[doc = "*Required features: `\"Media_Capture\"`*"]
10329 #[repr(transparent)]
10330 pub struct PhotoCapturedEventArgs(::windows::core::IUnknown);
10331 impl PhotoCapturedEventArgs {
10332 pub fn Frame(&self) -> ::windows::core::Result<CapturedFrame> {
10333 let this = self;
10334 unsafe {
10335 let mut result__ = ::windows::core::zeroed::<CapturedFrame>();
10336 (::windows::core::Interface::vtable(this).Frame)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10337 }
10338 }
10339 pub fn Thumbnail(&self) -> ::windows::core::Result<CapturedFrame> {
10340 let this = self;
10341 unsafe {
10342 let mut result__ = ::windows::core::zeroed::<CapturedFrame>();
10343 (::windows::core::Interface::vtable(this).Thumbnail)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10344 }
10345 }
10346 #[doc = "*Required features: `\"Foundation\"`*"]
10347 #[cfg(feature = "Foundation")]
10348 pub fn CaptureTimeOffset(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
10349 let this = self;
10350 unsafe {
10351 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
10352 (::windows::core::Interface::vtable(this).CaptureTimeOffset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10353 }
10354 }
10355 }
10356 impl ::core::cmp::PartialEq for PhotoCapturedEventArgs {
10357 fn eq(&self, other: &Self) -> bool {
10358 self.0 == other.0
10359 }
10360 }
10361 impl ::core::cmp::Eq for PhotoCapturedEventArgs {}
10362 impl ::core::fmt::Debug for PhotoCapturedEventArgs {
10363 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10364 f.debug_tuple("PhotoCapturedEventArgs").field(&self.0).finish()
10365 }
10366 }
10367 impl ::windows::core::RuntimeType for PhotoCapturedEventArgs {
10368 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.PhotoCapturedEventArgs;{373bfbc1-984e-4ff0-bf85-1c00aabc5a45})");
10369 }
10370 impl ::core::clone::Clone for PhotoCapturedEventArgs {
10371 fn clone(&self) -> Self {
10372 Self(self.0.clone())
10373 }
10374 }
10375 unsafe impl ::windows::core::Interface for PhotoCapturedEventArgs {
10376 type Vtable = IPhotoCapturedEventArgs_Vtbl;
10377 }
10378 unsafe impl ::windows::core::ComInterface for PhotoCapturedEventArgs {
10379 const IID: ::windows::core::GUID = <IPhotoCapturedEventArgs as ::windows::core::ComInterface>::IID;
10380 }
10381 impl ::windows::core::RuntimeName for PhotoCapturedEventArgs {
10382 const NAME: &'static str = "Windows.Media.Capture.PhotoCapturedEventArgs";
10383 }
10384 ::windows::imp::interface_hierarchy!(PhotoCapturedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
10385 unsafe impl ::core::marker::Send for PhotoCapturedEventArgs {}
10386 unsafe impl ::core::marker::Sync for PhotoCapturedEventArgs {}
10387 #[doc = "*Required features: `\"Media_Capture\"`*"]
10388 #[repr(transparent)]
10389 pub struct PhotoConfirmationCapturedEventArgs(::windows::core::IUnknown);
10390 impl PhotoConfirmationCapturedEventArgs {
10391 pub fn Frame(&self) -> ::windows::core::Result<CapturedFrame> {
10392 let this = self;
10393 unsafe {
10394 let mut result__ = ::windows::core::zeroed::<CapturedFrame>();
10395 (::windows::core::Interface::vtable(this).Frame)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10396 }
10397 }
10398 #[doc = "*Required features: `\"Foundation\"`*"]
10399 #[cfg(feature = "Foundation")]
10400 pub fn CaptureTimeOffset(&self) -> ::windows::core::Result<super::super::Foundation::TimeSpan> {
10401 let this = self;
10402 unsafe {
10403 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::TimeSpan>();
10404 (::windows::core::Interface::vtable(this).CaptureTimeOffset)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10405 }
10406 }
10407 }
10408 impl ::core::cmp::PartialEq for PhotoConfirmationCapturedEventArgs {
10409 fn eq(&self, other: &Self) -> bool {
10410 self.0 == other.0
10411 }
10412 }
10413 impl ::core::cmp::Eq for PhotoConfirmationCapturedEventArgs {}
10414 impl ::core::fmt::Debug for PhotoConfirmationCapturedEventArgs {
10415 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10416 f.debug_tuple("PhotoConfirmationCapturedEventArgs").field(&self.0).finish()
10417 }
10418 }
10419 impl ::windows::core::RuntimeType for PhotoConfirmationCapturedEventArgs {
10420 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.PhotoConfirmationCapturedEventArgs;{ab473672-c28a-4827-8f8d-3636d3beb51e})");
10421 }
10422 impl ::core::clone::Clone for PhotoConfirmationCapturedEventArgs {
10423 fn clone(&self) -> Self {
10424 Self(self.0.clone())
10425 }
10426 }
10427 unsafe impl ::windows::core::Interface for PhotoConfirmationCapturedEventArgs {
10428 type Vtable = IPhotoConfirmationCapturedEventArgs_Vtbl;
10429 }
10430 unsafe impl ::windows::core::ComInterface for PhotoConfirmationCapturedEventArgs {
10431 const IID: ::windows::core::GUID = <IPhotoConfirmationCapturedEventArgs as ::windows::core::ComInterface>::IID;
10432 }
10433 impl ::windows::core::RuntimeName for PhotoConfirmationCapturedEventArgs {
10434 const NAME: &'static str = "Windows.Media.Capture.PhotoConfirmationCapturedEventArgs";
10435 }
10436 ::windows::imp::interface_hierarchy!(PhotoConfirmationCapturedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
10437 unsafe impl ::core::marker::Send for PhotoConfirmationCapturedEventArgs {}
10438 unsafe impl ::core::marker::Sync for PhotoConfirmationCapturedEventArgs {}
10439 #[doc = "*Required features: `\"Media_Capture\"`*"]
10440 #[repr(transparent)]
10441 pub struct ScreenCapture(::windows::core::IUnknown);
10442 impl ScreenCapture {
10443 #[doc = "*Required features: `\"Media_Core\"`*"]
10444 #[cfg(feature = "Media_Core")]
10445 pub fn AudioSource(&self) -> ::windows::core::Result<super::Core::IMediaSource> {
10446 let this = self;
10447 unsafe {
10448 let mut result__ = ::windows::core::zeroed::<super::Core::IMediaSource>();
10449 (::windows::core::Interface::vtable(this).AudioSource)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10450 }
10451 }
10452 #[doc = "*Required features: `\"Media_Core\"`*"]
10453 #[cfg(feature = "Media_Core")]
10454 pub fn VideoSource(&self) -> ::windows::core::Result<super::Core::IMediaSource> {
10455 let this = self;
10456 unsafe {
10457 let mut result__ = ::windows::core::zeroed::<super::Core::IMediaSource>();
10458 (::windows::core::Interface::vtable(this).VideoSource)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10459 }
10460 }
10461 pub fn IsAudioSuspended(&self) -> ::windows::core::Result<bool> {
10462 let this = self;
10463 unsafe {
10464 let mut result__ = ::windows::core::zeroed::<bool>();
10465 (::windows::core::Interface::vtable(this).IsAudioSuspended)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10466 }
10467 }
10468 pub fn IsVideoSuspended(&self) -> ::windows::core::Result<bool> {
10469 let this = self;
10470 unsafe {
10471 let mut result__ = ::windows::core::zeroed::<bool>();
10472 (::windows::core::Interface::vtable(this).IsVideoSuspended)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10473 }
10474 }
10475 #[doc = "*Required features: `\"Foundation\"`*"]
10476 #[cfg(feature = "Foundation")]
10477 pub fn SourceSuspensionChanged(&self, handler: &super::super::Foundation::TypedEventHandler<ScreenCapture, SourceSuspensionChangedEventArgs>) -> ::windows::core::Result<super::super::Foundation::EventRegistrationToken> {
10478 let this = self;
10479 unsafe {
10480 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::EventRegistrationToken>();
10481 (::windows::core::Interface::vtable(this).SourceSuspensionChanged)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(handler), &mut result__).from_abi(result__)
10482 }
10483 }
10484 #[doc = "*Required features: `\"Foundation\"`*"]
10485 #[cfg(feature = "Foundation")]
10486 pub fn RemoveSourceSuspensionChanged(&self, token: super::super::Foundation::EventRegistrationToken) -> ::windows::core::Result<()> {
10487 let this = self;
10488 unsafe { (::windows::core::Interface::vtable(this).RemoveSourceSuspensionChanged)(::windows::core::Interface::as_raw(this), token).ok() }
10489 }
10490 pub fn GetForCurrentView() -> ::windows::core::Result<ScreenCapture> {
10491 Self::IScreenCaptureStatics(|this| unsafe {
10492 let mut result__ = ::windows::core::zeroed::<ScreenCapture>();
10493 (::windows::core::Interface::vtable(this).GetForCurrentView)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10494 })
10495 }
10496 #[doc(hidden)]
10497 pub fn IScreenCaptureStatics<R, F: FnOnce(&IScreenCaptureStatics) -> ::windows::core::Result<R>>(callback: F) -> ::windows::core::Result<R> {
10498 static SHARED: ::windows::imp::FactoryCache<ScreenCapture, IScreenCaptureStatics> = ::windows::imp::FactoryCache::new();
10499 SHARED.call(callback)
10500 }
10501 }
10502 impl ::core::cmp::PartialEq for ScreenCapture {
10503 fn eq(&self, other: &Self) -> bool {
10504 self.0 == other.0
10505 }
10506 }
10507 impl ::core::cmp::Eq for ScreenCapture {}
10508 impl ::core::fmt::Debug for ScreenCapture {
10509 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10510 f.debug_tuple("ScreenCapture").field(&self.0).finish()
10511 }
10512 }
10513 impl ::windows::core::RuntimeType for ScreenCapture {
10514 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.ScreenCapture;{89179ef7-cd12-4e0e-a6d4-5b3de98b2e9b})");
10515 }
10516 impl ::core::clone::Clone for ScreenCapture {
10517 fn clone(&self) -> Self {
10518 Self(self.0.clone())
10519 }
10520 }
10521 unsafe impl ::windows::core::Interface for ScreenCapture {
10522 type Vtable = IScreenCapture_Vtbl;
10523 }
10524 unsafe impl ::windows::core::ComInterface for ScreenCapture {
10525 const IID: ::windows::core::GUID = <IScreenCapture as ::windows::core::ComInterface>::IID;
10526 }
10527 impl ::windows::core::RuntimeName for ScreenCapture {
10528 const NAME: &'static str = "Windows.Media.Capture.ScreenCapture";
10529 }
10530 ::windows::imp::interface_hierarchy!(ScreenCapture, ::windows::core::IUnknown, ::windows::core::IInspectable);
10531 unsafe impl ::core::marker::Send for ScreenCapture {}
10532 unsafe impl ::core::marker::Sync for ScreenCapture {}
10533 #[doc = "*Required features: `\"Media_Capture\"`*"]
10534 #[repr(transparent)]
10535 pub struct SourceSuspensionChangedEventArgs(::windows::core::IUnknown);
10536 impl SourceSuspensionChangedEventArgs {
10537 pub fn IsAudioSuspended(&self) -> ::windows::core::Result<bool> {
10538 let this = self;
10539 unsafe {
10540 let mut result__ = ::windows::core::zeroed::<bool>();
10541 (::windows::core::Interface::vtable(this).IsAudioSuspended)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10542 }
10543 }
10544 pub fn IsVideoSuspended(&self) -> ::windows::core::Result<bool> {
10545 let this = self;
10546 unsafe {
10547 let mut result__ = ::windows::core::zeroed::<bool>();
10548 (::windows::core::Interface::vtable(this).IsVideoSuspended)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10549 }
10550 }
10551 }
10552 impl ::core::cmp::PartialEq for SourceSuspensionChangedEventArgs {
10553 fn eq(&self, other: &Self) -> bool {
10554 self.0 == other.0
10555 }
10556 }
10557 impl ::core::cmp::Eq for SourceSuspensionChangedEventArgs {}
10558 impl ::core::fmt::Debug for SourceSuspensionChangedEventArgs {
10559 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10560 f.debug_tuple("SourceSuspensionChangedEventArgs").field(&self.0).finish()
10561 }
10562 }
10563 impl ::windows::core::RuntimeType for SourceSuspensionChangedEventArgs {
10564 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.SourceSuspensionChangedEventArgs;{2ece7b5e-d49b-4394-bc32-f97d6cedec1c})");
10565 }
10566 impl ::core::clone::Clone for SourceSuspensionChangedEventArgs {
10567 fn clone(&self) -> Self {
10568 Self(self.0.clone())
10569 }
10570 }
10571 unsafe impl ::windows::core::Interface for SourceSuspensionChangedEventArgs {
10572 type Vtable = ISourceSuspensionChangedEventArgs_Vtbl;
10573 }
10574 unsafe impl ::windows::core::ComInterface for SourceSuspensionChangedEventArgs {
10575 const IID: ::windows::core::GUID = <ISourceSuspensionChangedEventArgs as ::windows::core::ComInterface>::IID;
10576 }
10577 impl ::windows::core::RuntimeName for SourceSuspensionChangedEventArgs {
10578 const NAME: &'static str = "Windows.Media.Capture.SourceSuspensionChangedEventArgs";
10579 }
10580 ::windows::imp::interface_hierarchy!(SourceSuspensionChangedEventArgs, ::windows::core::IUnknown, ::windows::core::IInspectable);
10581 unsafe impl ::core::marker::Send for SourceSuspensionChangedEventArgs {}
10582 unsafe impl ::core::marker::Sync for SourceSuspensionChangedEventArgs {}
10583 #[doc = "*Required features: `\"Media_Capture\"`*"]
10584 #[repr(transparent)]
10585 pub struct VideoStreamConfiguration(::windows::core::IUnknown);
10586 impl VideoStreamConfiguration {
10587 #[doc = "*Required features: `\"Media_MediaProperties\"`*"]
10588 #[cfg(feature = "Media_MediaProperties")]
10589 pub fn InputProperties(&self) -> ::windows::core::Result<super::MediaProperties::VideoEncodingProperties> {
10590 let this = self;
10591 unsafe {
10592 let mut result__ = ::windows::core::zeroed::<super::MediaProperties::VideoEncodingProperties>();
10593 (::windows::core::Interface::vtable(this).InputProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10594 }
10595 }
10596 #[doc = "*Required features: `\"Media_MediaProperties\"`*"]
10597 #[cfg(feature = "Media_MediaProperties")]
10598 pub fn OutputProperties(&self) -> ::windows::core::Result<super::MediaProperties::VideoEncodingProperties> {
10599 let this = self;
10600 unsafe {
10601 let mut result__ = ::windows::core::zeroed::<super::MediaProperties::VideoEncodingProperties>();
10602 (::windows::core::Interface::vtable(this).OutputProperties)(::windows::core::Interface::as_raw(this), &mut result__).from_abi(result__)
10603 }
10604 }
10605 }
10606 impl ::core::cmp::PartialEq for VideoStreamConfiguration {
10607 fn eq(&self, other: &Self) -> bool {
10608 self.0 == other.0
10609 }
10610 }
10611 impl ::core::cmp::Eq for VideoStreamConfiguration {}
10612 impl ::core::fmt::Debug for VideoStreamConfiguration {
10613 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10614 f.debug_tuple("VideoStreamConfiguration").field(&self.0).finish()
10615 }
10616 }
10617 impl ::windows::core::RuntimeType for VideoStreamConfiguration {
10618 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"rc(Windows.Media.Capture.VideoStreamConfiguration;{d8770a6f-4390-4b5e-ad3e-0f8af0963490})");
10619 }
10620 impl ::core::clone::Clone for VideoStreamConfiguration {
10621 fn clone(&self) -> Self {
10622 Self(self.0.clone())
10623 }
10624 }
10625 unsafe impl ::windows::core::Interface for VideoStreamConfiguration {
10626 type Vtable = IVideoStreamConfiguration_Vtbl;
10627 }
10628 unsafe impl ::windows::core::ComInterface for VideoStreamConfiguration {
10629 const IID: ::windows::core::GUID = <IVideoStreamConfiguration as ::windows::core::ComInterface>::IID;
10630 }
10631 impl ::windows::core::RuntimeName for VideoStreamConfiguration {
10632 const NAME: &'static str = "Windows.Media.Capture.VideoStreamConfiguration";
10633 }
10634 ::windows::imp::interface_hierarchy!(VideoStreamConfiguration, ::windows::core::IUnknown, ::windows::core::IInspectable);
10635 unsafe impl ::core::marker::Send for VideoStreamConfiguration {}
10636 unsafe impl ::core::marker::Sync for VideoStreamConfiguration {}
10637 #[doc = "*Required features: `\"Media_Capture\"`*"]
10638 #[repr(transparent)]
10639 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10640 pub struct AppBroadcastCameraCaptureState(pub i32);
10641 impl AppBroadcastCameraCaptureState {
10642 pub const Stopped: Self = Self(0i32);
10643 pub const Started: Self = Self(1i32);
10644 pub const Failed: Self = Self(2i32);
10645 }
10646 impl ::core::marker::Copy for AppBroadcastCameraCaptureState {}
10647 impl ::core::clone::Clone for AppBroadcastCameraCaptureState {
10648 fn clone(&self) -> Self {
10649 *self
10650 }
10651 }
10652 impl ::core::default::Default for AppBroadcastCameraCaptureState {
10653 fn default() -> Self {
10654 Self(0)
10655 }
10656 }
10657 impl ::windows::core::TypeKind for AppBroadcastCameraCaptureState {
10658 type TypeKind = ::windows::core::CopyType;
10659 }
10660 impl ::core::fmt::Debug for AppBroadcastCameraCaptureState {
10661 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10662 f.debug_tuple("AppBroadcastCameraCaptureState").field(&self.0).finish()
10663 }
10664 }
10665 impl ::windows::core::RuntimeType for AppBroadcastCameraCaptureState {
10666 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppBroadcastCameraCaptureState;i4)");
10667 }
10668 #[doc = "*Required features: `\"Media_Capture\"`*"]
10669 #[repr(transparent)]
10670 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10671 pub struct AppBroadcastCameraOverlayLocation(pub i32);
10672 impl AppBroadcastCameraOverlayLocation {
10673 pub const TopLeft: Self = Self(0i32);
10674 pub const TopCenter: Self = Self(1i32);
10675 pub const TopRight: Self = Self(2i32);
10676 pub const MiddleLeft: Self = Self(3i32);
10677 pub const MiddleCenter: Self = Self(4i32);
10678 pub const MiddleRight: Self = Self(5i32);
10679 pub const BottomLeft: Self = Self(6i32);
10680 pub const BottomCenter: Self = Self(7i32);
10681 pub const BottomRight: Self = Self(8i32);
10682 }
10683 impl ::core::marker::Copy for AppBroadcastCameraOverlayLocation {}
10684 impl ::core::clone::Clone for AppBroadcastCameraOverlayLocation {
10685 fn clone(&self) -> Self {
10686 *self
10687 }
10688 }
10689 impl ::core::default::Default for AppBroadcastCameraOverlayLocation {
10690 fn default() -> Self {
10691 Self(0)
10692 }
10693 }
10694 impl ::windows::core::TypeKind for AppBroadcastCameraOverlayLocation {
10695 type TypeKind = ::windows::core::CopyType;
10696 }
10697 impl ::core::fmt::Debug for AppBroadcastCameraOverlayLocation {
10698 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10699 f.debug_tuple("AppBroadcastCameraOverlayLocation").field(&self.0).finish()
10700 }
10701 }
10702 impl ::windows::core::RuntimeType for AppBroadcastCameraOverlayLocation {
10703 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppBroadcastCameraOverlayLocation;i4)");
10704 }
10705 #[doc = "*Required features: `\"Media_Capture\"`*"]
10706 #[repr(transparent)]
10707 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10708 pub struct AppBroadcastCameraOverlaySize(pub i32);
10709 impl AppBroadcastCameraOverlaySize {
10710 pub const Small: Self = Self(0i32);
10711 pub const Medium: Self = Self(1i32);
10712 pub const Large: Self = Self(2i32);
10713 }
10714 impl ::core::marker::Copy for AppBroadcastCameraOverlaySize {}
10715 impl ::core::clone::Clone for AppBroadcastCameraOverlaySize {
10716 fn clone(&self) -> Self {
10717 *self
10718 }
10719 }
10720 impl ::core::default::Default for AppBroadcastCameraOverlaySize {
10721 fn default() -> Self {
10722 Self(0)
10723 }
10724 }
10725 impl ::windows::core::TypeKind for AppBroadcastCameraOverlaySize {
10726 type TypeKind = ::windows::core::CopyType;
10727 }
10728 impl ::core::fmt::Debug for AppBroadcastCameraOverlaySize {
10729 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10730 f.debug_tuple("AppBroadcastCameraOverlaySize").field(&self.0).finish()
10731 }
10732 }
10733 impl ::windows::core::RuntimeType for AppBroadcastCameraOverlaySize {
10734 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppBroadcastCameraOverlaySize;i4)");
10735 }
10736 #[doc = "*Required features: `\"Media_Capture\"`*"]
10737 #[repr(transparent)]
10738 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10739 pub struct AppBroadcastCaptureTargetType(pub i32);
10740 impl AppBroadcastCaptureTargetType {
10741 pub const AppView: Self = Self(0i32);
10742 pub const EntireDisplay: Self = Self(1i32);
10743 }
10744 impl ::core::marker::Copy for AppBroadcastCaptureTargetType {}
10745 impl ::core::clone::Clone for AppBroadcastCaptureTargetType {
10746 fn clone(&self) -> Self {
10747 *self
10748 }
10749 }
10750 impl ::core::default::Default for AppBroadcastCaptureTargetType {
10751 fn default() -> Self {
10752 Self(0)
10753 }
10754 }
10755 impl ::windows::core::TypeKind for AppBroadcastCaptureTargetType {
10756 type TypeKind = ::windows::core::CopyType;
10757 }
10758 impl ::core::fmt::Debug for AppBroadcastCaptureTargetType {
10759 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10760 f.debug_tuple("AppBroadcastCaptureTargetType").field(&self.0).finish()
10761 }
10762 }
10763 impl ::windows::core::RuntimeType for AppBroadcastCaptureTargetType {
10764 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppBroadcastCaptureTargetType;i4)");
10765 }
10766 #[doc = "*Required features: `\"Media_Capture\"`*"]
10767 #[repr(transparent)]
10768 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10769 pub struct AppBroadcastExitBroadcastModeReason(pub i32);
10770 impl AppBroadcastExitBroadcastModeReason {
10771 pub const NormalExit: Self = Self(0i32);
10772 pub const UserCanceled: Self = Self(1i32);
10773 pub const AuthorizationFail: Self = Self(2i32);
10774 pub const ForegroundAppActivated: Self = Self(3i32);
10775 }
10776 impl ::core::marker::Copy for AppBroadcastExitBroadcastModeReason {}
10777 impl ::core::clone::Clone for AppBroadcastExitBroadcastModeReason {
10778 fn clone(&self) -> Self {
10779 *self
10780 }
10781 }
10782 impl ::core::default::Default for AppBroadcastExitBroadcastModeReason {
10783 fn default() -> Self {
10784 Self(0)
10785 }
10786 }
10787 impl ::windows::core::TypeKind for AppBroadcastExitBroadcastModeReason {
10788 type TypeKind = ::windows::core::CopyType;
10789 }
10790 impl ::core::fmt::Debug for AppBroadcastExitBroadcastModeReason {
10791 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10792 f.debug_tuple("AppBroadcastExitBroadcastModeReason").field(&self.0).finish()
10793 }
10794 }
10795 impl ::windows::core::RuntimeType for AppBroadcastExitBroadcastModeReason {
10796 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppBroadcastExitBroadcastModeReason;i4)");
10797 }
10798 #[doc = "*Required features: `\"Media_Capture\"`*"]
10799 #[repr(transparent)]
10800 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10801 pub struct AppBroadcastMicrophoneCaptureState(pub i32);
10802 impl AppBroadcastMicrophoneCaptureState {
10803 pub const Stopped: Self = Self(0i32);
10804 pub const Started: Self = Self(1i32);
10805 pub const Failed: Self = Self(2i32);
10806 }
10807 impl ::core::marker::Copy for AppBroadcastMicrophoneCaptureState {}
10808 impl ::core::clone::Clone for AppBroadcastMicrophoneCaptureState {
10809 fn clone(&self) -> Self {
10810 *self
10811 }
10812 }
10813 impl ::core::default::Default for AppBroadcastMicrophoneCaptureState {
10814 fn default() -> Self {
10815 Self(0)
10816 }
10817 }
10818 impl ::windows::core::TypeKind for AppBroadcastMicrophoneCaptureState {
10819 type TypeKind = ::windows::core::CopyType;
10820 }
10821 impl ::core::fmt::Debug for AppBroadcastMicrophoneCaptureState {
10822 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10823 f.debug_tuple("AppBroadcastMicrophoneCaptureState").field(&self.0).finish()
10824 }
10825 }
10826 impl ::windows::core::RuntimeType for AppBroadcastMicrophoneCaptureState {
10827 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppBroadcastMicrophoneCaptureState;i4)");
10828 }
10829 #[doc = "*Required features: `\"Media_Capture\"`*"]
10830 #[repr(transparent)]
10831 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10832 pub struct AppBroadcastPlugInState(pub i32);
10833 impl AppBroadcastPlugInState {
10834 pub const Unknown: Self = Self(0i32);
10835 pub const Initialized: Self = Self(1i32);
10836 pub const MicrosoftSignInRequired: Self = Self(2i32);
10837 pub const OAuthSignInRequired: Self = Self(3i32);
10838 pub const ProviderSignInRequired: Self = Self(4i32);
10839 pub const InBandwidthTest: Self = Self(5i32);
10840 pub const ReadyToBroadcast: Self = Self(6i32);
10841 }
10842 impl ::core::marker::Copy for AppBroadcastPlugInState {}
10843 impl ::core::clone::Clone for AppBroadcastPlugInState {
10844 fn clone(&self) -> Self {
10845 *self
10846 }
10847 }
10848 impl ::core::default::Default for AppBroadcastPlugInState {
10849 fn default() -> Self {
10850 Self(0)
10851 }
10852 }
10853 impl ::windows::core::TypeKind for AppBroadcastPlugInState {
10854 type TypeKind = ::windows::core::CopyType;
10855 }
10856 impl ::core::fmt::Debug for AppBroadcastPlugInState {
10857 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10858 f.debug_tuple("AppBroadcastPlugInState").field(&self.0).finish()
10859 }
10860 }
10861 impl ::windows::core::RuntimeType for AppBroadcastPlugInState {
10862 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppBroadcastPlugInState;i4)");
10863 }
10864 #[doc = "*Required features: `\"Media_Capture\"`*"]
10865 #[repr(transparent)]
10866 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10867 pub struct AppBroadcastPreviewState(pub i32);
10868 impl AppBroadcastPreviewState {
10869 pub const Started: Self = Self(0i32);
10870 pub const Stopped: Self = Self(1i32);
10871 pub const Failed: Self = Self(2i32);
10872 }
10873 impl ::core::marker::Copy for AppBroadcastPreviewState {}
10874 impl ::core::clone::Clone for AppBroadcastPreviewState {
10875 fn clone(&self) -> Self {
10876 *self
10877 }
10878 }
10879 impl ::core::default::Default for AppBroadcastPreviewState {
10880 fn default() -> Self {
10881 Self(0)
10882 }
10883 }
10884 impl ::windows::core::TypeKind for AppBroadcastPreviewState {
10885 type TypeKind = ::windows::core::CopyType;
10886 }
10887 impl ::core::fmt::Debug for AppBroadcastPreviewState {
10888 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10889 f.debug_tuple("AppBroadcastPreviewState").field(&self.0).finish()
10890 }
10891 }
10892 impl ::windows::core::RuntimeType for AppBroadcastPreviewState {
10893 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppBroadcastPreviewState;i4)");
10894 }
10895 #[doc = "*Required features: `\"Media_Capture\"`*"]
10896 #[repr(transparent)]
10897 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10898 pub struct AppBroadcastSignInResult(pub i32);
10899 impl AppBroadcastSignInResult {
10900 pub const Success: Self = Self(0i32);
10901 pub const AuthenticationFailed: Self = Self(1i32);
10902 pub const Unauthorized: Self = Self(2i32);
10903 pub const ServiceUnavailable: Self = Self(3i32);
10904 pub const Unknown: Self = Self(4i32);
10905 }
10906 impl ::core::marker::Copy for AppBroadcastSignInResult {}
10907 impl ::core::clone::Clone for AppBroadcastSignInResult {
10908 fn clone(&self) -> Self {
10909 *self
10910 }
10911 }
10912 impl ::core::default::Default for AppBroadcastSignInResult {
10913 fn default() -> Self {
10914 Self(0)
10915 }
10916 }
10917 impl ::windows::core::TypeKind for AppBroadcastSignInResult {
10918 type TypeKind = ::windows::core::CopyType;
10919 }
10920 impl ::core::fmt::Debug for AppBroadcastSignInResult {
10921 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10922 f.debug_tuple("AppBroadcastSignInResult").field(&self.0).finish()
10923 }
10924 }
10925 impl ::windows::core::RuntimeType for AppBroadcastSignInResult {
10926 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppBroadcastSignInResult;i4)");
10927 }
10928 #[doc = "*Required features: `\"Media_Capture\"`*"]
10929 #[repr(transparent)]
10930 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10931 pub struct AppBroadcastSignInState(pub i32);
10932 impl AppBroadcastSignInState {
10933 pub const NotSignedIn: Self = Self(0i32);
10934 pub const MicrosoftSignInInProgress: Self = Self(1i32);
10935 pub const MicrosoftSignInComplete: Self = Self(2i32);
10936 pub const OAuthSignInInProgress: Self = Self(3i32);
10937 pub const OAuthSignInComplete: Self = Self(4i32);
10938 }
10939 impl ::core::marker::Copy for AppBroadcastSignInState {}
10940 impl ::core::clone::Clone for AppBroadcastSignInState {
10941 fn clone(&self) -> Self {
10942 *self
10943 }
10944 }
10945 impl ::core::default::Default for AppBroadcastSignInState {
10946 fn default() -> Self {
10947 Self(0)
10948 }
10949 }
10950 impl ::windows::core::TypeKind for AppBroadcastSignInState {
10951 type TypeKind = ::windows::core::CopyType;
10952 }
10953 impl ::core::fmt::Debug for AppBroadcastSignInState {
10954 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10955 f.debug_tuple("AppBroadcastSignInState").field(&self.0).finish()
10956 }
10957 }
10958 impl ::windows::core::RuntimeType for AppBroadcastSignInState {
10959 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppBroadcastSignInState;i4)");
10960 }
10961 #[doc = "*Required features: `\"Media_Capture\"`*"]
10962 #[repr(transparent)]
10963 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10964 pub struct AppBroadcastStreamState(pub i32);
10965 impl AppBroadcastStreamState {
10966 pub const Initializing: Self = Self(0i32);
10967 pub const StreamReady: Self = Self(1i32);
10968 pub const Started: Self = Self(2i32);
10969 pub const Paused: Self = Self(3i32);
10970 pub const Terminated: Self = Self(4i32);
10971 }
10972 impl ::core::marker::Copy for AppBroadcastStreamState {}
10973 impl ::core::clone::Clone for AppBroadcastStreamState {
10974 fn clone(&self) -> Self {
10975 *self
10976 }
10977 }
10978 impl ::core::default::Default for AppBroadcastStreamState {
10979 fn default() -> Self {
10980 Self(0)
10981 }
10982 }
10983 impl ::windows::core::TypeKind for AppBroadcastStreamState {
10984 type TypeKind = ::windows::core::CopyType;
10985 }
10986 impl ::core::fmt::Debug for AppBroadcastStreamState {
10987 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10988 f.debug_tuple("AppBroadcastStreamState").field(&self.0).finish()
10989 }
10990 }
10991 impl ::windows::core::RuntimeType for AppBroadcastStreamState {
10992 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppBroadcastStreamState;i4)");
10993 }
10994 #[doc = "*Required features: `\"Media_Capture\"`*"]
10995 #[repr(transparent)]
10996 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10997 pub struct AppBroadcastTerminationReason(pub i32);
10998 impl AppBroadcastTerminationReason {
10999 pub const NormalTermination: Self = Self(0i32);
11000 pub const LostConnectionToService: Self = Self(1i32);
11001 pub const NoNetworkConnectivity: Self = Self(2i32);
11002 pub const ServiceAbort: Self = Self(3i32);
11003 pub const ServiceError: Self = Self(4i32);
11004 pub const ServiceUnavailable: Self = Self(5i32);
11005 pub const InternalError: Self = Self(6i32);
11006 pub const UnsupportedFormat: Self = Self(7i32);
11007 pub const BackgroundTaskTerminated: Self = Self(8i32);
11008 pub const BackgroundTaskUnresponsive: Self = Self(9i32);
11009 }
11010 impl ::core::marker::Copy for AppBroadcastTerminationReason {}
11011 impl ::core::clone::Clone for AppBroadcastTerminationReason {
11012 fn clone(&self) -> Self {
11013 *self
11014 }
11015 }
11016 impl ::core::default::Default for AppBroadcastTerminationReason {
11017 fn default() -> Self {
11018 Self(0)
11019 }
11020 }
11021 impl ::windows::core::TypeKind for AppBroadcastTerminationReason {
11022 type TypeKind = ::windows::core::CopyType;
11023 }
11024 impl ::core::fmt::Debug for AppBroadcastTerminationReason {
11025 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11026 f.debug_tuple("AppBroadcastTerminationReason").field(&self.0).finish()
11027 }
11028 }
11029 impl ::windows::core::RuntimeType for AppBroadcastTerminationReason {
11030 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppBroadcastTerminationReason;i4)");
11031 }
11032 #[doc = "*Required features: `\"Media_Capture\"`*"]
11033 #[repr(transparent)]
11034 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11035 pub struct AppBroadcastVideoEncodingBitrateMode(pub i32);
11036 impl AppBroadcastVideoEncodingBitrateMode {
11037 pub const Custom: Self = Self(0i32);
11038 pub const Auto: Self = Self(1i32);
11039 }
11040 impl ::core::marker::Copy for AppBroadcastVideoEncodingBitrateMode {}
11041 impl ::core::clone::Clone for AppBroadcastVideoEncodingBitrateMode {
11042 fn clone(&self) -> Self {
11043 *self
11044 }
11045 }
11046 impl ::core::default::Default for AppBroadcastVideoEncodingBitrateMode {
11047 fn default() -> Self {
11048 Self(0)
11049 }
11050 }
11051 impl ::windows::core::TypeKind for AppBroadcastVideoEncodingBitrateMode {
11052 type TypeKind = ::windows::core::CopyType;
11053 }
11054 impl ::core::fmt::Debug for AppBroadcastVideoEncodingBitrateMode {
11055 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11056 f.debug_tuple("AppBroadcastVideoEncodingBitrateMode").field(&self.0).finish()
11057 }
11058 }
11059 impl ::windows::core::RuntimeType for AppBroadcastVideoEncodingBitrateMode {
11060 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppBroadcastVideoEncodingBitrateMode;i4)");
11061 }
11062 #[doc = "*Required features: `\"Media_Capture\"`*"]
11063 #[repr(transparent)]
11064 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11065 pub struct AppBroadcastVideoEncodingResolutionMode(pub i32);
11066 impl AppBroadcastVideoEncodingResolutionMode {
11067 pub const Custom: Self = Self(0i32);
11068 pub const Auto: Self = Self(1i32);
11069 }
11070 impl ::core::marker::Copy for AppBroadcastVideoEncodingResolutionMode {}
11071 impl ::core::clone::Clone for AppBroadcastVideoEncodingResolutionMode {
11072 fn clone(&self) -> Self {
11073 *self
11074 }
11075 }
11076 impl ::core::default::Default for AppBroadcastVideoEncodingResolutionMode {
11077 fn default() -> Self {
11078 Self(0)
11079 }
11080 }
11081 impl ::windows::core::TypeKind for AppBroadcastVideoEncodingResolutionMode {
11082 type TypeKind = ::windows::core::CopyType;
11083 }
11084 impl ::core::fmt::Debug for AppBroadcastVideoEncodingResolutionMode {
11085 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11086 f.debug_tuple("AppBroadcastVideoEncodingResolutionMode").field(&self.0).finish()
11087 }
11088 }
11089 impl ::windows::core::RuntimeType for AppBroadcastVideoEncodingResolutionMode {
11090 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppBroadcastVideoEncodingResolutionMode;i4)");
11091 }
11092 #[doc = "*Required features: `\"Media_Capture\"`*"]
11093 #[repr(transparent)]
11094 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11095 pub struct AppCaptureHistoricalBufferLengthUnit(pub i32);
11096 impl AppCaptureHistoricalBufferLengthUnit {
11097 pub const Megabytes: Self = Self(0i32);
11098 pub const Seconds: Self = Self(1i32);
11099 }
11100 impl ::core::marker::Copy for AppCaptureHistoricalBufferLengthUnit {}
11101 impl ::core::clone::Clone for AppCaptureHistoricalBufferLengthUnit {
11102 fn clone(&self) -> Self {
11103 *self
11104 }
11105 }
11106 impl ::core::default::Default for AppCaptureHistoricalBufferLengthUnit {
11107 fn default() -> Self {
11108 Self(0)
11109 }
11110 }
11111 impl ::windows::core::TypeKind for AppCaptureHistoricalBufferLengthUnit {
11112 type TypeKind = ::windows::core::CopyType;
11113 }
11114 impl ::core::fmt::Debug for AppCaptureHistoricalBufferLengthUnit {
11115 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11116 f.debug_tuple("AppCaptureHistoricalBufferLengthUnit").field(&self.0).finish()
11117 }
11118 }
11119 impl ::windows::core::RuntimeType for AppCaptureHistoricalBufferLengthUnit {
11120 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppCaptureHistoricalBufferLengthUnit;i4)");
11121 }
11122 #[doc = "*Required features: `\"Media_Capture\"`*"]
11123 #[repr(transparent)]
11124 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11125 pub struct AppCaptureMetadataPriority(pub i32);
11126 impl AppCaptureMetadataPriority {
11127 pub const Informational: Self = Self(0i32);
11128 pub const Important: Self = Self(1i32);
11129 }
11130 impl ::core::marker::Copy for AppCaptureMetadataPriority {}
11131 impl ::core::clone::Clone for AppCaptureMetadataPriority {
11132 fn clone(&self) -> Self {
11133 *self
11134 }
11135 }
11136 impl ::core::default::Default for AppCaptureMetadataPriority {
11137 fn default() -> Self {
11138 Self(0)
11139 }
11140 }
11141 impl ::windows::core::TypeKind for AppCaptureMetadataPriority {
11142 type TypeKind = ::windows::core::CopyType;
11143 }
11144 impl ::core::fmt::Debug for AppCaptureMetadataPriority {
11145 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11146 f.debug_tuple("AppCaptureMetadataPriority").field(&self.0).finish()
11147 }
11148 }
11149 impl ::windows::core::RuntimeType for AppCaptureMetadataPriority {
11150 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppCaptureMetadataPriority;i4)");
11151 }
11152 #[doc = "*Required features: `\"Media_Capture\"`*"]
11153 #[repr(transparent)]
11154 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11155 pub struct AppCaptureMicrophoneCaptureState(pub i32);
11156 impl AppCaptureMicrophoneCaptureState {
11157 pub const Stopped: Self = Self(0i32);
11158 pub const Started: Self = Self(1i32);
11159 pub const Failed: Self = Self(2i32);
11160 }
11161 impl ::core::marker::Copy for AppCaptureMicrophoneCaptureState {}
11162 impl ::core::clone::Clone for AppCaptureMicrophoneCaptureState {
11163 fn clone(&self) -> Self {
11164 *self
11165 }
11166 }
11167 impl ::core::default::Default for AppCaptureMicrophoneCaptureState {
11168 fn default() -> Self {
11169 Self(0)
11170 }
11171 }
11172 impl ::windows::core::TypeKind for AppCaptureMicrophoneCaptureState {
11173 type TypeKind = ::windows::core::CopyType;
11174 }
11175 impl ::core::fmt::Debug for AppCaptureMicrophoneCaptureState {
11176 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11177 f.debug_tuple("AppCaptureMicrophoneCaptureState").field(&self.0).finish()
11178 }
11179 }
11180 impl ::windows::core::RuntimeType for AppCaptureMicrophoneCaptureState {
11181 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppCaptureMicrophoneCaptureState;i4)");
11182 }
11183 #[doc = "*Required features: `\"Media_Capture\"`*"]
11184 #[repr(transparent)]
11185 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11186 pub struct AppCaptureRecordingState(pub i32);
11187 impl AppCaptureRecordingState {
11188 pub const InProgress: Self = Self(0i32);
11189 pub const Completed: Self = Self(1i32);
11190 pub const Failed: Self = Self(2i32);
11191 }
11192 impl ::core::marker::Copy for AppCaptureRecordingState {}
11193 impl ::core::clone::Clone for AppCaptureRecordingState {
11194 fn clone(&self) -> Self {
11195 *self
11196 }
11197 }
11198 impl ::core::default::Default for AppCaptureRecordingState {
11199 fn default() -> Self {
11200 Self(0)
11201 }
11202 }
11203 impl ::windows::core::TypeKind for AppCaptureRecordingState {
11204 type TypeKind = ::windows::core::CopyType;
11205 }
11206 impl ::core::fmt::Debug for AppCaptureRecordingState {
11207 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11208 f.debug_tuple("AppCaptureRecordingState").field(&self.0).finish()
11209 }
11210 }
11211 impl ::windows::core::RuntimeType for AppCaptureRecordingState {
11212 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppCaptureRecordingState;i4)");
11213 }
11214 #[doc = "*Required features: `\"Media_Capture\"`*"]
11215 #[repr(transparent)]
11216 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11217 pub struct AppCaptureVideoEncodingBitrateMode(pub i32);
11218 impl AppCaptureVideoEncodingBitrateMode {
11219 pub const Custom: Self = Self(0i32);
11220 pub const High: Self = Self(1i32);
11221 pub const Standard: Self = Self(2i32);
11222 }
11223 impl ::core::marker::Copy for AppCaptureVideoEncodingBitrateMode {}
11224 impl ::core::clone::Clone for AppCaptureVideoEncodingBitrateMode {
11225 fn clone(&self) -> Self {
11226 *self
11227 }
11228 }
11229 impl ::core::default::Default for AppCaptureVideoEncodingBitrateMode {
11230 fn default() -> Self {
11231 Self(0)
11232 }
11233 }
11234 impl ::windows::core::TypeKind for AppCaptureVideoEncodingBitrateMode {
11235 type TypeKind = ::windows::core::CopyType;
11236 }
11237 impl ::core::fmt::Debug for AppCaptureVideoEncodingBitrateMode {
11238 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11239 f.debug_tuple("AppCaptureVideoEncodingBitrateMode").field(&self.0).finish()
11240 }
11241 }
11242 impl ::windows::core::RuntimeType for AppCaptureVideoEncodingBitrateMode {
11243 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppCaptureVideoEncodingBitrateMode;i4)");
11244 }
11245 #[doc = "*Required features: `\"Media_Capture\"`*"]
11246 #[repr(transparent)]
11247 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11248 pub struct AppCaptureVideoEncodingFrameRateMode(pub i32);
11249 impl AppCaptureVideoEncodingFrameRateMode {
11250 pub const Standard: Self = Self(0i32);
11251 pub const High: Self = Self(1i32);
11252 }
11253 impl ::core::marker::Copy for AppCaptureVideoEncodingFrameRateMode {}
11254 impl ::core::clone::Clone for AppCaptureVideoEncodingFrameRateMode {
11255 fn clone(&self) -> Self {
11256 *self
11257 }
11258 }
11259 impl ::core::default::Default for AppCaptureVideoEncodingFrameRateMode {
11260 fn default() -> Self {
11261 Self(0)
11262 }
11263 }
11264 impl ::windows::core::TypeKind for AppCaptureVideoEncodingFrameRateMode {
11265 type TypeKind = ::windows::core::CopyType;
11266 }
11267 impl ::core::fmt::Debug for AppCaptureVideoEncodingFrameRateMode {
11268 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11269 f.debug_tuple("AppCaptureVideoEncodingFrameRateMode").field(&self.0).finish()
11270 }
11271 }
11272 impl ::windows::core::RuntimeType for AppCaptureVideoEncodingFrameRateMode {
11273 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppCaptureVideoEncodingFrameRateMode;i4)");
11274 }
11275 #[doc = "*Required features: `\"Media_Capture\"`*"]
11276 #[repr(transparent)]
11277 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11278 pub struct AppCaptureVideoEncodingResolutionMode(pub i32);
11279 impl AppCaptureVideoEncodingResolutionMode {
11280 pub const Custom: Self = Self(0i32);
11281 pub const High: Self = Self(1i32);
11282 pub const Standard: Self = Self(2i32);
11283 }
11284 impl ::core::marker::Copy for AppCaptureVideoEncodingResolutionMode {}
11285 impl ::core::clone::Clone for AppCaptureVideoEncodingResolutionMode {
11286 fn clone(&self) -> Self {
11287 *self
11288 }
11289 }
11290 impl ::core::default::Default for AppCaptureVideoEncodingResolutionMode {
11291 fn default() -> Self {
11292 Self(0)
11293 }
11294 }
11295 impl ::windows::core::TypeKind for AppCaptureVideoEncodingResolutionMode {
11296 type TypeKind = ::windows::core::CopyType;
11297 }
11298 impl ::core::fmt::Debug for AppCaptureVideoEncodingResolutionMode {
11299 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11300 f.debug_tuple("AppCaptureVideoEncodingResolutionMode").field(&self.0).finish()
11301 }
11302 }
11303 impl ::windows::core::RuntimeType for AppCaptureVideoEncodingResolutionMode {
11304 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.AppCaptureVideoEncodingResolutionMode;i4)");
11305 }
11306 #[doc = "*Required features: `\"Media_Capture\"`*"]
11307 #[repr(transparent)]
11308 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11309 pub struct CameraCaptureUIMaxPhotoResolution(pub i32);
11310 impl CameraCaptureUIMaxPhotoResolution {
11311 pub const HighestAvailable: Self = Self(0i32);
11312 pub const VerySmallQvga: Self = Self(1i32);
11313 pub const SmallVga: Self = Self(2i32);
11314 pub const MediumXga: Self = Self(3i32);
11315 pub const Large3M: Self = Self(4i32);
11316 pub const VeryLarge5M: Self = Self(5i32);
11317 }
11318 impl ::core::marker::Copy for CameraCaptureUIMaxPhotoResolution {}
11319 impl ::core::clone::Clone for CameraCaptureUIMaxPhotoResolution {
11320 fn clone(&self) -> Self {
11321 *self
11322 }
11323 }
11324 impl ::core::default::Default for CameraCaptureUIMaxPhotoResolution {
11325 fn default() -> Self {
11326 Self(0)
11327 }
11328 }
11329 impl ::windows::core::TypeKind for CameraCaptureUIMaxPhotoResolution {
11330 type TypeKind = ::windows::core::CopyType;
11331 }
11332 impl ::core::fmt::Debug for CameraCaptureUIMaxPhotoResolution {
11333 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11334 f.debug_tuple("CameraCaptureUIMaxPhotoResolution").field(&self.0).finish()
11335 }
11336 }
11337 impl ::windows::core::RuntimeType for CameraCaptureUIMaxPhotoResolution {
11338 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.CameraCaptureUIMaxPhotoResolution;i4)");
11339 }
11340 #[doc = "*Required features: `\"Media_Capture\"`*"]
11341 #[repr(transparent)]
11342 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11343 pub struct CameraCaptureUIMaxVideoResolution(pub i32);
11344 impl CameraCaptureUIMaxVideoResolution {
11345 pub const HighestAvailable: Self = Self(0i32);
11346 pub const LowDefinition: Self = Self(1i32);
11347 pub const StandardDefinition: Self = Self(2i32);
11348 pub const HighDefinition: Self = Self(3i32);
11349 }
11350 impl ::core::marker::Copy for CameraCaptureUIMaxVideoResolution {}
11351 impl ::core::clone::Clone for CameraCaptureUIMaxVideoResolution {
11352 fn clone(&self) -> Self {
11353 *self
11354 }
11355 }
11356 impl ::core::default::Default for CameraCaptureUIMaxVideoResolution {
11357 fn default() -> Self {
11358 Self(0)
11359 }
11360 }
11361 impl ::windows::core::TypeKind for CameraCaptureUIMaxVideoResolution {
11362 type TypeKind = ::windows::core::CopyType;
11363 }
11364 impl ::core::fmt::Debug for CameraCaptureUIMaxVideoResolution {
11365 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11366 f.debug_tuple("CameraCaptureUIMaxVideoResolution").field(&self.0).finish()
11367 }
11368 }
11369 impl ::windows::core::RuntimeType for CameraCaptureUIMaxVideoResolution {
11370 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.CameraCaptureUIMaxVideoResolution;i4)");
11371 }
11372 #[doc = "*Required features: `\"Media_Capture\"`*"]
11373 #[repr(transparent)]
11374 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11375 pub struct CameraCaptureUIMode(pub i32);
11376 impl CameraCaptureUIMode {
11377 pub const PhotoOrVideo: Self = Self(0i32);
11378 pub const Photo: Self = Self(1i32);
11379 pub const Video: Self = Self(2i32);
11380 }
11381 impl ::core::marker::Copy for CameraCaptureUIMode {}
11382 impl ::core::clone::Clone for CameraCaptureUIMode {
11383 fn clone(&self) -> Self {
11384 *self
11385 }
11386 }
11387 impl ::core::default::Default for CameraCaptureUIMode {
11388 fn default() -> Self {
11389 Self(0)
11390 }
11391 }
11392 impl ::windows::core::TypeKind for CameraCaptureUIMode {
11393 type TypeKind = ::windows::core::CopyType;
11394 }
11395 impl ::core::fmt::Debug for CameraCaptureUIMode {
11396 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11397 f.debug_tuple("CameraCaptureUIMode").field(&self.0).finish()
11398 }
11399 }
11400 impl ::windows::core::RuntimeType for CameraCaptureUIMode {
11401 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.CameraCaptureUIMode;i4)");
11402 }
11403 #[doc = "*Required features: `\"Media_Capture\"`*"]
11404 #[repr(transparent)]
11405 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11406 pub struct CameraCaptureUIPhotoFormat(pub i32);
11407 impl CameraCaptureUIPhotoFormat {
11408 pub const Jpeg: Self = Self(0i32);
11409 pub const Png: Self = Self(1i32);
11410 pub const JpegXR: Self = Self(2i32);
11411 }
11412 impl ::core::marker::Copy for CameraCaptureUIPhotoFormat {}
11413 impl ::core::clone::Clone for CameraCaptureUIPhotoFormat {
11414 fn clone(&self) -> Self {
11415 *self
11416 }
11417 }
11418 impl ::core::default::Default for CameraCaptureUIPhotoFormat {
11419 fn default() -> Self {
11420 Self(0)
11421 }
11422 }
11423 impl ::windows::core::TypeKind for CameraCaptureUIPhotoFormat {
11424 type TypeKind = ::windows::core::CopyType;
11425 }
11426 impl ::core::fmt::Debug for CameraCaptureUIPhotoFormat {
11427 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11428 f.debug_tuple("CameraCaptureUIPhotoFormat").field(&self.0).finish()
11429 }
11430 }
11431 impl ::windows::core::RuntimeType for CameraCaptureUIPhotoFormat {
11432 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.CameraCaptureUIPhotoFormat;i4)");
11433 }
11434 #[doc = "*Required features: `\"Media_Capture\"`*"]
11435 #[repr(transparent)]
11436 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11437 pub struct CameraCaptureUIVideoFormat(pub i32);
11438 impl CameraCaptureUIVideoFormat {
11439 pub const Mp4: Self = Self(0i32);
11440 pub const Wmv: Self = Self(1i32);
11441 }
11442 impl ::core::marker::Copy for CameraCaptureUIVideoFormat {}
11443 impl ::core::clone::Clone for CameraCaptureUIVideoFormat {
11444 fn clone(&self) -> Self {
11445 *self
11446 }
11447 }
11448 impl ::core::default::Default for CameraCaptureUIVideoFormat {
11449 fn default() -> Self {
11450 Self(0)
11451 }
11452 }
11453 impl ::windows::core::TypeKind for CameraCaptureUIVideoFormat {
11454 type TypeKind = ::windows::core::CopyType;
11455 }
11456 impl ::core::fmt::Debug for CameraCaptureUIVideoFormat {
11457 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11458 f.debug_tuple("CameraCaptureUIVideoFormat").field(&self.0).finish()
11459 }
11460 }
11461 impl ::windows::core::RuntimeType for CameraCaptureUIVideoFormat {
11462 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.CameraCaptureUIVideoFormat;i4)");
11463 }
11464 #[doc = "*Required features: `\"Media_Capture\"`*"]
11465 #[repr(transparent)]
11466 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11467 pub struct ForegroundActivationArgument(pub i32);
11468 impl ForegroundActivationArgument {
11469 pub const SignInRequired: Self = Self(0i32);
11470 pub const MoreSettings: Self = Self(1i32);
11471 }
11472 impl ::core::marker::Copy for ForegroundActivationArgument {}
11473 impl ::core::clone::Clone for ForegroundActivationArgument {
11474 fn clone(&self) -> Self {
11475 *self
11476 }
11477 }
11478 impl ::core::default::Default for ForegroundActivationArgument {
11479 fn default() -> Self {
11480 Self(0)
11481 }
11482 }
11483 impl ::windows::core::TypeKind for ForegroundActivationArgument {
11484 type TypeKind = ::windows::core::CopyType;
11485 }
11486 impl ::core::fmt::Debug for ForegroundActivationArgument {
11487 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11488 f.debug_tuple("ForegroundActivationArgument").field(&self.0).finish()
11489 }
11490 }
11491 impl ::windows::core::RuntimeType for ForegroundActivationArgument {
11492 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.ForegroundActivationArgument;i4)");
11493 }
11494 #[doc = "*Required features: `\"Media_Capture\"`*"]
11495 #[repr(transparent)]
11496 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11497 pub struct GameBarCommand(pub i32);
11498 impl GameBarCommand {
11499 pub const OpenGameBar: Self = Self(0i32);
11500 pub const RecordHistoricalBuffer: Self = Self(1i32);
11501 pub const ToggleStartStopRecord: Self = Self(2i32);
11502 pub const StartRecord: Self = Self(3i32);
11503 pub const StopRecord: Self = Self(4i32);
11504 pub const TakeScreenshot: Self = Self(5i32);
11505 pub const StartBroadcast: Self = Self(6i32);
11506 pub const StopBroadcast: Self = Self(7i32);
11507 pub const PauseBroadcast: Self = Self(8i32);
11508 pub const ResumeBroadcast: Self = Self(9i32);
11509 pub const ToggleStartStopBroadcast: Self = Self(10i32);
11510 pub const ToggleMicrophoneCapture: Self = Self(11i32);
11511 pub const ToggleCameraCapture: Self = Self(12i32);
11512 pub const ToggleRecordingIndicator: Self = Self(13i32);
11513 }
11514 impl ::core::marker::Copy for GameBarCommand {}
11515 impl ::core::clone::Clone for GameBarCommand {
11516 fn clone(&self) -> Self {
11517 *self
11518 }
11519 }
11520 impl ::core::default::Default for GameBarCommand {
11521 fn default() -> Self {
11522 Self(0)
11523 }
11524 }
11525 impl ::windows::core::TypeKind for GameBarCommand {
11526 type TypeKind = ::windows::core::CopyType;
11527 }
11528 impl ::core::fmt::Debug for GameBarCommand {
11529 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11530 f.debug_tuple("GameBarCommand").field(&self.0).finish()
11531 }
11532 }
11533 impl ::windows::core::RuntimeType for GameBarCommand {
11534 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.GameBarCommand;i4)");
11535 }
11536 #[doc = "*Required features: `\"Media_Capture\"`*"]
11537 #[repr(transparent)]
11538 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11539 pub struct GameBarCommandOrigin(pub i32);
11540 impl GameBarCommandOrigin {
11541 pub const ShortcutKey: Self = Self(0i32);
11542 pub const Cortana: Self = Self(1i32);
11543 pub const AppCommand: Self = Self(2i32);
11544 }
11545 impl ::core::marker::Copy for GameBarCommandOrigin {}
11546 impl ::core::clone::Clone for GameBarCommandOrigin {
11547 fn clone(&self) -> Self {
11548 *self
11549 }
11550 }
11551 impl ::core::default::Default for GameBarCommandOrigin {
11552 fn default() -> Self {
11553 Self(0)
11554 }
11555 }
11556 impl ::windows::core::TypeKind for GameBarCommandOrigin {
11557 type TypeKind = ::windows::core::CopyType;
11558 }
11559 impl ::core::fmt::Debug for GameBarCommandOrigin {
11560 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11561 f.debug_tuple("GameBarCommandOrigin").field(&self.0).finish()
11562 }
11563 }
11564 impl ::windows::core::RuntimeType for GameBarCommandOrigin {
11565 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.GameBarCommandOrigin;i4)");
11566 }
11567 #[doc = "*Required features: `\"Media_Capture\"`*"]
11568 #[repr(transparent)]
11569 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11570 pub struct GameBarServicesDisplayMode(pub i32);
11571 impl GameBarServicesDisplayMode {
11572 pub const Windowed: Self = Self(0i32);
11573 pub const FullScreenExclusive: Self = Self(1i32);
11574 }
11575 impl ::core::marker::Copy for GameBarServicesDisplayMode {}
11576 impl ::core::clone::Clone for GameBarServicesDisplayMode {
11577 fn clone(&self) -> Self {
11578 *self
11579 }
11580 }
11581 impl ::core::default::Default for GameBarServicesDisplayMode {
11582 fn default() -> Self {
11583 Self(0)
11584 }
11585 }
11586 impl ::windows::core::TypeKind for GameBarServicesDisplayMode {
11587 type TypeKind = ::windows::core::CopyType;
11588 }
11589 impl ::core::fmt::Debug for GameBarServicesDisplayMode {
11590 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11591 f.debug_tuple("GameBarServicesDisplayMode").field(&self.0).finish()
11592 }
11593 }
11594 impl ::windows::core::RuntimeType for GameBarServicesDisplayMode {
11595 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.GameBarServicesDisplayMode;i4)");
11596 }
11597 #[doc = "*Required features: `\"Media_Capture\"`*"]
11598 #[repr(transparent)]
11599 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11600 pub struct GameBarTargetCapturePolicy(pub i32);
11601 impl GameBarTargetCapturePolicy {
11602 pub const EnabledBySystem: Self = Self(0i32);
11603 pub const EnabledByUser: Self = Self(1i32);
11604 pub const NotEnabled: Self = Self(2i32);
11605 pub const ProhibitedBySystem: Self = Self(3i32);
11606 pub const ProhibitedByPublisher: Self = Self(4i32);
11607 }
11608 impl ::core::marker::Copy for GameBarTargetCapturePolicy {}
11609 impl ::core::clone::Clone for GameBarTargetCapturePolicy {
11610 fn clone(&self) -> Self {
11611 *self
11612 }
11613 }
11614 impl ::core::default::Default for GameBarTargetCapturePolicy {
11615 fn default() -> Self {
11616 Self(0)
11617 }
11618 }
11619 impl ::windows::core::TypeKind for GameBarTargetCapturePolicy {
11620 type TypeKind = ::windows::core::CopyType;
11621 }
11622 impl ::core::fmt::Debug for GameBarTargetCapturePolicy {
11623 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11624 f.debug_tuple("GameBarTargetCapturePolicy").field(&self.0).finish()
11625 }
11626 }
11627 impl ::windows::core::RuntimeType for GameBarTargetCapturePolicy {
11628 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.GameBarTargetCapturePolicy;i4)");
11629 }
11630 #[doc = "*Required features: `\"Media_Capture\"`*"]
11631 #[repr(transparent)]
11632 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11633 pub struct KnownVideoProfile(pub i32);
11634 impl KnownVideoProfile {
11635 pub const VideoRecording: Self = Self(0i32);
11636 pub const HighQualityPhoto: Self = Self(1i32);
11637 pub const BalancedVideoAndPhoto: Self = Self(2i32);
11638 pub const VideoConferencing: Self = Self(3i32);
11639 pub const PhotoSequence: Self = Self(4i32);
11640 pub const HighFrameRate: Self = Self(5i32);
11641 pub const VariablePhotoSequence: Self = Self(6i32);
11642 pub const HdrWithWcgVideo: Self = Self(7i32);
11643 pub const HdrWithWcgPhoto: Self = Self(8i32);
11644 pub const VideoHdr8: Self = Self(9i32);
11645 pub const CompressedCamera: Self = Self(10i32);
11646 }
11647 impl ::core::marker::Copy for KnownVideoProfile {}
11648 impl ::core::clone::Clone for KnownVideoProfile {
11649 fn clone(&self) -> Self {
11650 *self
11651 }
11652 }
11653 impl ::core::default::Default for KnownVideoProfile {
11654 fn default() -> Self {
11655 Self(0)
11656 }
11657 }
11658 impl ::windows::core::TypeKind for KnownVideoProfile {
11659 type TypeKind = ::windows::core::CopyType;
11660 }
11661 impl ::core::fmt::Debug for KnownVideoProfile {
11662 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11663 f.debug_tuple("KnownVideoProfile").field(&self.0).finish()
11664 }
11665 }
11666 impl ::windows::core::RuntimeType for KnownVideoProfile {
11667 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.KnownVideoProfile;i4)");
11668 }
11669 #[doc = "*Required features: `\"Media_Capture\"`*"]
11670 #[repr(transparent)]
11671 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11672 pub struct MediaCaptureDeviceExclusiveControlReleaseMode(pub i32);
11673 impl MediaCaptureDeviceExclusiveControlReleaseMode {
11674 pub const OnDispose: Self = Self(0i32);
11675 pub const OnAllStreamsStopped: Self = Self(1i32);
11676 }
11677 impl ::core::marker::Copy for MediaCaptureDeviceExclusiveControlReleaseMode {}
11678 impl ::core::clone::Clone for MediaCaptureDeviceExclusiveControlReleaseMode {
11679 fn clone(&self) -> Self {
11680 *self
11681 }
11682 }
11683 impl ::core::default::Default for MediaCaptureDeviceExclusiveControlReleaseMode {
11684 fn default() -> Self {
11685 Self(0)
11686 }
11687 }
11688 impl ::windows::core::TypeKind for MediaCaptureDeviceExclusiveControlReleaseMode {
11689 type TypeKind = ::windows::core::CopyType;
11690 }
11691 impl ::core::fmt::Debug for MediaCaptureDeviceExclusiveControlReleaseMode {
11692 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11693 f.debug_tuple("MediaCaptureDeviceExclusiveControlReleaseMode").field(&self.0).finish()
11694 }
11695 }
11696 impl ::windows::core::RuntimeType for MediaCaptureDeviceExclusiveControlReleaseMode {
11697 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.MediaCaptureDeviceExclusiveControlReleaseMode;i4)");
11698 }
11699 #[doc = "*Required features: `\"Media_Capture\"`*"]
11700 #[repr(transparent)]
11701 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11702 pub struct MediaCaptureDeviceExclusiveControlStatus(pub i32);
11703 impl MediaCaptureDeviceExclusiveControlStatus {
11704 pub const ExclusiveControlAvailable: Self = Self(0i32);
11705 pub const SharedReadOnlyAvailable: Self = Self(1i32);
11706 }
11707 impl ::core::marker::Copy for MediaCaptureDeviceExclusiveControlStatus {}
11708 impl ::core::clone::Clone for MediaCaptureDeviceExclusiveControlStatus {
11709 fn clone(&self) -> Self {
11710 *self
11711 }
11712 }
11713 impl ::core::default::Default for MediaCaptureDeviceExclusiveControlStatus {
11714 fn default() -> Self {
11715 Self(0)
11716 }
11717 }
11718 impl ::windows::core::TypeKind for MediaCaptureDeviceExclusiveControlStatus {
11719 type TypeKind = ::windows::core::CopyType;
11720 }
11721 impl ::core::fmt::Debug for MediaCaptureDeviceExclusiveControlStatus {
11722 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11723 f.debug_tuple("MediaCaptureDeviceExclusiveControlStatus").field(&self.0).finish()
11724 }
11725 }
11726 impl ::windows::core::RuntimeType for MediaCaptureDeviceExclusiveControlStatus {
11727 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.MediaCaptureDeviceExclusiveControlStatus;i4)");
11728 }
11729 #[doc = "*Required features: `\"Media_Capture\"`*"]
11730 #[repr(transparent)]
11731 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11732 pub struct MediaCaptureMemoryPreference(pub i32);
11733 impl MediaCaptureMemoryPreference {
11734 pub const Auto: Self = Self(0i32);
11735 pub const Cpu: Self = Self(1i32);
11736 }
11737 impl ::core::marker::Copy for MediaCaptureMemoryPreference {}
11738 impl ::core::clone::Clone for MediaCaptureMemoryPreference {
11739 fn clone(&self) -> Self {
11740 *self
11741 }
11742 }
11743 impl ::core::default::Default for MediaCaptureMemoryPreference {
11744 fn default() -> Self {
11745 Self(0)
11746 }
11747 }
11748 impl ::windows::core::TypeKind for MediaCaptureMemoryPreference {
11749 type TypeKind = ::windows::core::CopyType;
11750 }
11751 impl ::core::fmt::Debug for MediaCaptureMemoryPreference {
11752 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11753 f.debug_tuple("MediaCaptureMemoryPreference").field(&self.0).finish()
11754 }
11755 }
11756 impl ::windows::core::RuntimeType for MediaCaptureMemoryPreference {
11757 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.MediaCaptureMemoryPreference;i4)");
11758 }
11759 #[doc = "*Required features: `\"Media_Capture\"`*"]
11760 #[repr(transparent)]
11761 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11762 pub struct MediaCaptureSharingMode(pub i32);
11763 impl MediaCaptureSharingMode {
11764 pub const ExclusiveControl: Self = Self(0i32);
11765 pub const SharedReadOnly: Self = Self(1i32);
11766 }
11767 impl ::core::marker::Copy for MediaCaptureSharingMode {}
11768 impl ::core::clone::Clone for MediaCaptureSharingMode {
11769 fn clone(&self) -> Self {
11770 *self
11771 }
11772 }
11773 impl ::core::default::Default for MediaCaptureSharingMode {
11774 fn default() -> Self {
11775 Self(0)
11776 }
11777 }
11778 impl ::windows::core::TypeKind for MediaCaptureSharingMode {
11779 type TypeKind = ::windows::core::CopyType;
11780 }
11781 impl ::core::fmt::Debug for MediaCaptureSharingMode {
11782 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11783 f.debug_tuple("MediaCaptureSharingMode").field(&self.0).finish()
11784 }
11785 }
11786 impl ::windows::core::RuntimeType for MediaCaptureSharingMode {
11787 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.MediaCaptureSharingMode;i4)");
11788 }
11789 #[doc = "*Required features: `\"Media_Capture\"`*"]
11790 #[repr(transparent)]
11791 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11792 pub struct MediaCaptureThermalStatus(pub i32);
11793 impl MediaCaptureThermalStatus {
11794 pub const Normal: Self = Self(0i32);
11795 pub const Overheated: Self = Self(1i32);
11796 }
11797 impl ::core::marker::Copy for MediaCaptureThermalStatus {}
11798 impl ::core::clone::Clone for MediaCaptureThermalStatus {
11799 fn clone(&self) -> Self {
11800 *self
11801 }
11802 }
11803 impl ::core::default::Default for MediaCaptureThermalStatus {
11804 fn default() -> Self {
11805 Self(0)
11806 }
11807 }
11808 impl ::windows::core::TypeKind for MediaCaptureThermalStatus {
11809 type TypeKind = ::windows::core::CopyType;
11810 }
11811 impl ::core::fmt::Debug for MediaCaptureThermalStatus {
11812 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11813 f.debug_tuple("MediaCaptureThermalStatus").field(&self.0).finish()
11814 }
11815 }
11816 impl ::windows::core::RuntimeType for MediaCaptureThermalStatus {
11817 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.MediaCaptureThermalStatus;i4)");
11818 }
11819 #[doc = "*Required features: `\"Media_Capture\"`*"]
11820 #[repr(transparent)]
11821 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11822 pub struct MediaCategory(pub i32);
11823 impl MediaCategory {
11824 pub const Other: Self = Self(0i32);
11825 pub const Communications: Self = Self(1i32);
11826 pub const Media: Self = Self(2i32);
11827 pub const GameChat: Self = Self(3i32);
11828 pub const Speech: Self = Self(4i32);
11829 pub const FarFieldSpeech: Self = Self(5i32);
11830 pub const UniformSpeech: Self = Self(6i32);
11831 pub const VoiceTyping: Self = Self(7i32);
11832 }
11833 impl ::core::marker::Copy for MediaCategory {}
11834 impl ::core::clone::Clone for MediaCategory {
11835 fn clone(&self) -> Self {
11836 *self
11837 }
11838 }
11839 impl ::core::default::Default for MediaCategory {
11840 fn default() -> Self {
11841 Self(0)
11842 }
11843 }
11844 impl ::windows::core::TypeKind for MediaCategory {
11845 type TypeKind = ::windows::core::CopyType;
11846 }
11847 impl ::core::fmt::Debug for MediaCategory {
11848 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11849 f.debug_tuple("MediaCategory").field(&self.0).finish()
11850 }
11851 }
11852 impl ::windows::core::RuntimeType for MediaCategory {
11853 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.MediaCategory;i4)");
11854 }
11855 #[doc = "*Required features: `\"Media_Capture\"`*"]
11856 #[repr(transparent)]
11857 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11858 pub struct MediaStreamType(pub i32);
11859 impl MediaStreamType {
11860 pub const VideoPreview: Self = Self(0i32);
11861 pub const VideoRecord: Self = Self(1i32);
11862 pub const Audio: Self = Self(2i32);
11863 pub const Photo: Self = Self(3i32);
11864 pub const Metadata: Self = Self(4i32);
11865 }
11866 impl ::core::marker::Copy for MediaStreamType {}
11867 impl ::core::clone::Clone for MediaStreamType {
11868 fn clone(&self) -> Self {
11869 *self
11870 }
11871 }
11872 impl ::core::default::Default for MediaStreamType {
11873 fn default() -> Self {
11874 Self(0)
11875 }
11876 }
11877 impl ::windows::core::TypeKind for MediaStreamType {
11878 type TypeKind = ::windows::core::CopyType;
11879 }
11880 impl ::core::fmt::Debug for MediaStreamType {
11881 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11882 f.debug_tuple("MediaStreamType").field(&self.0).finish()
11883 }
11884 }
11885 impl ::windows::core::RuntimeType for MediaStreamType {
11886 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.MediaStreamType;i4)");
11887 }
11888 #[doc = "*Required features: `\"Media_Capture\"`*"]
11889 #[repr(transparent)]
11890 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11891 pub struct PhotoCaptureSource(pub i32);
11892 impl PhotoCaptureSource {
11893 pub const Auto: Self = Self(0i32);
11894 pub const VideoPreview: Self = Self(1i32);
11895 pub const Photo: Self = Self(2i32);
11896 }
11897 impl ::core::marker::Copy for PhotoCaptureSource {}
11898 impl ::core::clone::Clone for PhotoCaptureSource {
11899 fn clone(&self) -> Self {
11900 *self
11901 }
11902 }
11903 impl ::core::default::Default for PhotoCaptureSource {
11904 fn default() -> Self {
11905 Self(0)
11906 }
11907 }
11908 impl ::windows::core::TypeKind for PhotoCaptureSource {
11909 type TypeKind = ::windows::core::CopyType;
11910 }
11911 impl ::core::fmt::Debug for PhotoCaptureSource {
11912 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11913 f.debug_tuple("PhotoCaptureSource").field(&self.0).finish()
11914 }
11915 }
11916 impl ::windows::core::RuntimeType for PhotoCaptureSource {
11917 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.PhotoCaptureSource;i4)");
11918 }
11919 #[doc = "*Required features: `\"Media_Capture\"`*"]
11920 #[repr(transparent)]
11921 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11922 pub struct PowerlineFrequency(pub i32);
11923 impl PowerlineFrequency {
11924 pub const Disabled: Self = Self(0i32);
11925 pub const FiftyHertz: Self = Self(1i32);
11926 pub const SixtyHertz: Self = Self(2i32);
11927 pub const Auto: Self = Self(3i32);
11928 }
11929 impl ::core::marker::Copy for PowerlineFrequency {}
11930 impl ::core::clone::Clone for PowerlineFrequency {
11931 fn clone(&self) -> Self {
11932 *self
11933 }
11934 }
11935 impl ::core::default::Default for PowerlineFrequency {
11936 fn default() -> Self {
11937 Self(0)
11938 }
11939 }
11940 impl ::windows::core::TypeKind for PowerlineFrequency {
11941 type TypeKind = ::windows::core::CopyType;
11942 }
11943 impl ::core::fmt::Debug for PowerlineFrequency {
11944 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11945 f.debug_tuple("PowerlineFrequency").field(&self.0).finish()
11946 }
11947 }
11948 impl ::windows::core::RuntimeType for PowerlineFrequency {
11949 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.PowerlineFrequency;i4)");
11950 }
11951 #[doc = "*Required features: `\"Media_Capture\"`*"]
11952 #[repr(transparent)]
11953 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11954 pub struct StreamingCaptureMode(pub i32);
11955 impl StreamingCaptureMode {
11956 pub const AudioAndVideo: Self = Self(0i32);
11957 pub const Audio: Self = Self(1i32);
11958 pub const Video: Self = Self(2i32);
11959 }
11960 impl ::core::marker::Copy for StreamingCaptureMode {}
11961 impl ::core::clone::Clone for StreamingCaptureMode {
11962 fn clone(&self) -> Self {
11963 *self
11964 }
11965 }
11966 impl ::core::default::Default for StreamingCaptureMode {
11967 fn default() -> Self {
11968 Self(0)
11969 }
11970 }
11971 impl ::windows::core::TypeKind for StreamingCaptureMode {
11972 type TypeKind = ::windows::core::CopyType;
11973 }
11974 impl ::core::fmt::Debug for StreamingCaptureMode {
11975 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11976 f.debug_tuple("StreamingCaptureMode").field(&self.0).finish()
11977 }
11978 }
11979 impl ::windows::core::RuntimeType for StreamingCaptureMode {
11980 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.StreamingCaptureMode;i4)");
11981 }
11982 #[doc = "*Required features: `\"Media_Capture\"`*"]
11983 #[repr(transparent)]
11984 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11985 pub struct VideoDeviceCharacteristic(pub i32);
11986 impl VideoDeviceCharacteristic {
11987 pub const AllStreamsIndependent: Self = Self(0i32);
11988 pub const PreviewRecordStreamsIdentical: Self = Self(1i32);
11989 pub const PreviewPhotoStreamsIdentical: Self = Self(2i32);
11990 pub const RecordPhotoStreamsIdentical: Self = Self(3i32);
11991 pub const AllStreamsIdentical: Self = Self(4i32);
11992 }
11993 impl ::core::marker::Copy for VideoDeviceCharacteristic {}
11994 impl ::core::clone::Clone for VideoDeviceCharacteristic {
11995 fn clone(&self) -> Self {
11996 *self
11997 }
11998 }
11999 impl ::core::default::Default for VideoDeviceCharacteristic {
12000 fn default() -> Self {
12001 Self(0)
12002 }
12003 }
12004 impl ::windows::core::TypeKind for VideoDeviceCharacteristic {
12005 type TypeKind = ::windows::core::CopyType;
12006 }
12007 impl ::core::fmt::Debug for VideoDeviceCharacteristic {
12008 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12009 f.debug_tuple("VideoDeviceCharacteristic").field(&self.0).finish()
12010 }
12011 }
12012 impl ::windows::core::RuntimeType for VideoDeviceCharacteristic {
12013 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.VideoDeviceCharacteristic;i4)");
12014 }
12015 #[doc = "*Required features: `\"Media_Capture\"`*"]
12016 #[repr(transparent)]
12017 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12018 pub struct VideoRotation(pub i32);
12019 impl VideoRotation {
12020 pub const None: Self = Self(0i32);
12021 pub const Clockwise90Degrees: Self = Self(1i32);
12022 pub const Clockwise180Degrees: Self = Self(2i32);
12023 pub const Clockwise270Degrees: Self = Self(3i32);
12024 }
12025 impl ::core::marker::Copy for VideoRotation {}
12026 impl ::core::clone::Clone for VideoRotation {
12027 fn clone(&self) -> Self {
12028 *self
12029 }
12030 }
12031 impl ::core::default::Default for VideoRotation {
12032 fn default() -> Self {
12033 Self(0)
12034 }
12035 }
12036 impl ::windows::core::TypeKind for VideoRotation {
12037 type TypeKind = ::windows::core::CopyType;
12038 }
12039 impl ::core::fmt::Debug for VideoRotation {
12040 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12041 f.debug_tuple("VideoRotation").field(&self.0).finish()
12042 }
12043 }
12044 impl ::windows::core::RuntimeType for VideoRotation {
12045 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"enum(Windows.Media.Capture.VideoRotation;i4)");
12046 }
12047 #[repr(C)]
12048 #[doc = "*Required features: `\"Media_Capture\"`*"]
12049 pub struct WhiteBalanceGain {
12050 pub R: f64,
12051 pub G: f64,
12052 pub B: f64,
12053 }
12054 impl ::core::marker::Copy for WhiteBalanceGain {}
12055 impl ::core::clone::Clone for WhiteBalanceGain {
12056 fn clone(&self) -> Self {
12057 *self
12058 }
12059 }
12060 impl ::core::fmt::Debug for WhiteBalanceGain {
12061 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12062 f.debug_struct("WhiteBalanceGain").field("R", &self.R).field("G", &self.G).field("B", &self.B).finish()
12063 }
12064 }
12065 impl ::windows::core::TypeKind for WhiteBalanceGain {
12066 type TypeKind = ::windows::core::CopyType;
12067 }
12068 impl ::windows::core::RuntimeType for WhiteBalanceGain {
12069 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"struct(Windows.Media.Capture.WhiteBalanceGain;f8;f8;f8)");
12070 }
12071 impl ::core::cmp::PartialEq for WhiteBalanceGain {
12072 fn eq(&self, other: &Self) -> bool {
12073 self.R == other.R && self.G == other.G && self.B == other.B
12074 }
12075 }
12076 impl ::core::cmp::Eq for WhiteBalanceGain {}
12077 impl ::core::default::Default for WhiteBalanceGain {
12078 fn default() -> Self {
12079 unsafe { ::core::mem::zeroed() }
12080 }
12081 }
12082 #[doc = "*Required features: `\"Media_Capture\"`*"]
12083 #[repr(transparent)]
12084 pub struct MediaCaptureFailedEventHandler(pub ::windows::core::IUnknown);
12085 impl MediaCaptureFailedEventHandler {
12086 pub fn new<F: FnMut(::core::option::Option<&MediaCapture>, ::core::option::Option<&MediaCaptureFailedEventArgs>) -> ::windows::core::Result<()> + ::core::marker::Send + 'static>(invoke: F) -> Self {
12087 let com = MediaCaptureFailedEventHandlerBox::<F> { vtable: &MediaCaptureFailedEventHandlerBox::<F>::VTABLE, count: ::windows::imp::RefCount::new(1), invoke };
12088 unsafe { ::core::mem::transmute(::std::boxed::Box::new(com)) }
12089 }
12090 pub fn Invoke(&self, sender: &MediaCapture, erroreventargs: &MediaCaptureFailedEventArgs) -> ::windows::core::Result<()> {
12091 let this = self;
12092 unsafe { (::windows::core::Interface::vtable(this).Invoke)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(sender), ::core::mem::transmute_copy(erroreventargs)).ok() }
12093 }
12094 }
12095 #[repr(C)]
12096 struct MediaCaptureFailedEventHandlerBox<F: FnMut(::core::option::Option<&MediaCapture>, ::core::option::Option<&MediaCaptureFailedEventArgs>) -> ::windows::core::Result<()> + ::core::marker::Send + 'static> {
12097 vtable: *const MediaCaptureFailedEventHandler_Vtbl,
12098 invoke: F,
12099 count: ::windows::imp::RefCount,
12100 }
12101 impl<F: FnMut(::core::option::Option<&MediaCapture>, ::core::option::Option<&MediaCaptureFailedEventArgs>) -> ::windows::core::Result<()> + ::core::marker::Send + 'static> MediaCaptureFailedEventHandlerBox<F> {
12102 const VTABLE: MediaCaptureFailedEventHandler_Vtbl = MediaCaptureFailedEventHandler_Vtbl {
12103 base__: ::windows::core::IUnknown_Vtbl { QueryInterface: Self::QueryInterface, AddRef: Self::AddRef, Release: Self::Release },
12104 Invoke: Self::Invoke,
12105 };
12106 unsafe extern "system" fn QueryInterface(this: *mut ::core::ffi::c_void, iid: &::windows::core::GUID, interface: *mut *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
12107 let this = this as *mut *mut ::core::ffi::c_void as *mut Self;
12108 *interface = if iid == &<MediaCaptureFailedEventHandler as ::windows::core::ComInterface>::IID || iid == &<::windows::core::IUnknown as ::windows::core::ComInterface>::IID || iid == &<::windows::imp::IAgileObject as ::windows::core::ComInterface>::IID { &mut (*this).vtable as *mut _ as _ } else { ::core::ptr::null_mut() };
12109 if (*interface).is_null() {
12110 ::windows::core::HRESULT(-2147467262)
12111 } else {
12112 (*this).count.add_ref();
12113 ::windows::core::HRESULT(0)
12114 }
12115 }
12116 unsafe extern "system" fn AddRef(this: *mut ::core::ffi::c_void) -> u32 {
12117 let this = this as *mut *mut ::core::ffi::c_void as *mut Self;
12118 (*this).count.add_ref()
12119 }
12120 unsafe extern "system" fn Release(this: *mut ::core::ffi::c_void) -> u32 {
12121 let this = this as *mut *mut ::core::ffi::c_void as *mut Self;
12122 let remaining = (*this).count.release();
12123 if remaining == 0 {
12124 let _ = ::std::boxed::Box::from_raw(this);
12125 }
12126 remaining
12127 }
12128 unsafe extern "system" fn Invoke(this: *mut ::core::ffi::c_void, sender: *mut ::core::ffi::c_void, erroreventargs: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12129 let this = this as *mut *mut ::core::ffi::c_void as *mut Self;
12130 ((*this).invoke)(::windows::core::from_raw_borrowed(&sender), ::windows::core::from_raw_borrowed(&erroreventargs)).into()
12131 }
12132 }
12133 impl ::core::cmp::PartialEq for MediaCaptureFailedEventHandler {
12134 fn eq(&self, other: &Self) -> bool {
12135 self.0 == other.0
12136 }
12137 }
12138 impl ::core::cmp::Eq for MediaCaptureFailedEventHandler {}
12139 impl ::core::fmt::Debug for MediaCaptureFailedEventHandler {
12140 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12141 f.debug_tuple("MediaCaptureFailedEventHandler").field(&self.0).finish()
12142 }
12143 }
12144 unsafe impl ::windows::core::Interface for MediaCaptureFailedEventHandler {
12145 type Vtable = MediaCaptureFailedEventHandler_Vtbl;
12146 }
12147 impl ::core::clone::Clone for MediaCaptureFailedEventHandler {
12148 fn clone(&self) -> Self {
12149 Self(self.0.clone())
12150 }
12151 }
12152 unsafe impl ::windows::core::ComInterface for MediaCaptureFailedEventHandler {
12153 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2014effb_5cd8_4f08_a314_0d360da59f14);
12154 }
12155 impl ::windows::core::RuntimeType for MediaCaptureFailedEventHandler {
12156 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{2014effb-5cd8-4f08-a314-0d360da59f14}");
12157 }
12158 #[repr(C)]
12159 #[doc(hidden)]
12160 pub struct MediaCaptureFailedEventHandler_Vtbl {
12161 pub base__: ::windows::core::IUnknown_Vtbl,
12162 pub Invoke: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sender: *mut ::core::ffi::c_void, erroreventargs: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
12163 }
12164 #[doc = "*Required features: `\"Media_Capture\"`*"]
12165 #[repr(transparent)]
12166 pub struct RecordLimitationExceededEventHandler(pub ::windows::core::IUnknown);
12167 impl RecordLimitationExceededEventHandler {
12168 pub fn new<F: FnMut(::core::option::Option<&MediaCapture>) -> ::windows::core::Result<()> + ::core::marker::Send + 'static>(invoke: F) -> Self {
12169 let com = RecordLimitationExceededEventHandlerBox::<F> { vtable: &RecordLimitationExceededEventHandlerBox::<F>::VTABLE, count: ::windows::imp::RefCount::new(1), invoke };
12170 unsafe { ::core::mem::transmute(::std::boxed::Box::new(com)) }
12171 }
12172 pub fn Invoke(&self, sender: &MediaCapture) -> ::windows::core::Result<()> {
12173 let this = self;
12174 unsafe { (::windows::core::Interface::vtable(this).Invoke)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(sender)).ok() }
12175 }
12176 }
12177 #[repr(C)]
12178 struct RecordLimitationExceededEventHandlerBox<F: FnMut(::core::option::Option<&MediaCapture>) -> ::windows::core::Result<()> + ::core::marker::Send + 'static> {
12179 vtable: *const RecordLimitationExceededEventHandler_Vtbl,
12180 invoke: F,
12181 count: ::windows::imp::RefCount,
12182 }
12183 impl<F: FnMut(::core::option::Option<&MediaCapture>) -> ::windows::core::Result<()> + ::core::marker::Send + 'static> RecordLimitationExceededEventHandlerBox<F> {
12184 const VTABLE: RecordLimitationExceededEventHandler_Vtbl = RecordLimitationExceededEventHandler_Vtbl {
12185 base__: ::windows::core::IUnknown_Vtbl { QueryInterface: Self::QueryInterface, AddRef: Self::AddRef, Release: Self::Release },
12186 Invoke: Self::Invoke,
12187 };
12188 unsafe extern "system" fn QueryInterface(this: *mut ::core::ffi::c_void, iid: &::windows::core::GUID, interface: *mut *const ::core::ffi::c_void) -> ::windows::core::HRESULT {
12189 let this = this as *mut *mut ::core::ffi::c_void as *mut Self;
12190 *interface = if iid == &<RecordLimitationExceededEventHandler as ::windows::core::ComInterface>::IID || iid == &<::windows::core::IUnknown as ::windows::core::ComInterface>::IID || iid == &<::windows::imp::IAgileObject as ::windows::core::ComInterface>::IID { &mut (*this).vtable as *mut _ as _ } else { ::core::ptr::null_mut() };
12191 if (*interface).is_null() {
12192 ::windows::core::HRESULT(-2147467262)
12193 } else {
12194 (*this).count.add_ref();
12195 ::windows::core::HRESULT(0)
12196 }
12197 }
12198 unsafe extern "system" fn AddRef(this: *mut ::core::ffi::c_void) -> u32 {
12199 let this = this as *mut *mut ::core::ffi::c_void as *mut Self;
12200 (*this).count.add_ref()
12201 }
12202 unsafe extern "system" fn Release(this: *mut ::core::ffi::c_void) -> u32 {
12203 let this = this as *mut *mut ::core::ffi::c_void as *mut Self;
12204 let remaining = (*this).count.release();
12205 if remaining == 0 {
12206 let _ = ::std::boxed::Box::from_raw(this);
12207 }
12208 remaining
12209 }
12210 unsafe extern "system" fn Invoke(this: *mut ::core::ffi::c_void, sender: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT {
12211 let this = this as *mut *mut ::core::ffi::c_void as *mut Self;
12212 ((*this).invoke)(::windows::core::from_raw_borrowed(&sender)).into()
12213 }
12214 }
12215 impl ::core::cmp::PartialEq for RecordLimitationExceededEventHandler {
12216 fn eq(&self, other: &Self) -> bool {
12217 self.0 == other.0
12218 }
12219 }
12220 impl ::core::cmp::Eq for RecordLimitationExceededEventHandler {}
12221 impl ::core::fmt::Debug for RecordLimitationExceededEventHandler {
12222 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12223 f.debug_tuple("RecordLimitationExceededEventHandler").field(&self.0).finish()
12224 }
12225 }
12226 unsafe impl ::windows::core::Interface for RecordLimitationExceededEventHandler {
12227 type Vtable = RecordLimitationExceededEventHandler_Vtbl;
12228 }
12229 impl ::core::clone::Clone for RecordLimitationExceededEventHandler {
12230 fn clone(&self) -> Self {
12231 Self(self.0.clone())
12232 }
12233 }
12234 unsafe impl ::windows::core::ComInterface for RecordLimitationExceededEventHandler {
12235 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3fae8f2e_4fe1_4ffd_aaba_e1f1337d4e53);
12236 }
12237 impl ::windows::core::RuntimeType for RecordLimitationExceededEventHandler {
12238 const SIGNATURE: ::windows::imp::ConstBuffer = ::windows::imp::ConstBuffer::from_slice(b"{3fae8f2e-4fe1-4ffd-aaba-e1f1337d4e53}");
12239 }
12240 #[repr(C)]
12241 #[doc(hidden)]
12242 pub struct RecordLimitationExceededEventHandler_Vtbl {
12243 pub base__: ::windows::core::IUnknown_Vtbl,
12244 pub Invoke: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, sender: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
12245 }
12246 #[cfg(feature = "implement")]
12247 ::core::include!("impl.rs");