1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[cfg(feature = "Media_AppBroadcasting")]
3 pub mod AppBroadcasting;
4 #[cfg(feature = "Media_AppRecording")]
5 pub mod AppRecording;
6 #[cfg(feature = "Media_Audio")]
7 pub mod Audio;
8 #[cfg(feature = "Media_Capture")]
9 pub mod Capture;
10 #[cfg(feature = "Media_Casting")]
11 pub mod Casting;
12 #[cfg(feature = "Media_ClosedCaptioning")]
13 pub mod ClosedCaptioning;
14 #[cfg(feature = "Media_ContentRestrictions")]
15 pub mod ContentRestrictions;
16 #[cfg(feature = "Media_Control")]
17 pub mod Control;
18 #[cfg(feature = "Media_Core")]
19 pub mod Core;
20 #[cfg(feature = "Media_Devices")]
21 pub mod Devices;
22 #[cfg(feature = "Media_DialProtocol")]
23 pub mod DialProtocol;
24 #[cfg(feature = "Media_Editing")]
25 pub mod Editing;
26 #[cfg(feature = "Media_Effects")]
27 pub mod Effects;
28 #[cfg(feature = "Media_FaceAnalysis")]
29 pub mod FaceAnalysis;
30 #[cfg(feature = "Media_Import")]
31 pub mod Import;
32 #[cfg(feature = "Media_MediaProperties")]
33 pub mod MediaProperties;
34 #[cfg(feature = "Media_Miracast")]
35 pub mod Miracast;
36 #[cfg(feature = "Media_Ocr")]
37 pub mod Ocr;
38 #[cfg(feature = "Media_PlayTo")]
39 pub mod PlayTo;
40 #[cfg(feature = "Media_Playback")]
41 pub mod Playback;
42 #[cfg(feature = "Media_Playlists")]
43 pub mod Playlists;
44 #[cfg(feature = "Media_Protection")]
45 pub mod Protection;
46 #[cfg(feature = "Media_Render")]
47 pub mod Render;
48 #[cfg(feature = "Media_SpeechRecognition")]
49 pub mod SpeechRecognition;
50 #[cfg(feature = "Media_SpeechSynthesis")]
51 pub mod SpeechSynthesis;
52 #[cfg(feature = "Media_Streaming")]
53 pub mod Streaming;
54 #[cfg(feature = "Media_Transcoding")]
55 pub mod Transcoding;
56 #[repr(transparent)]
57 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
58 pub struct AudioBuffer(::windows::runtime::IInspectable);
59 impl AudioBuffer {
Capacity(&self) -> ::windows::runtime::Result<u32>60     pub fn Capacity(&self) -> ::windows::runtime::Result<u32> {
61         let this = self;
62         unsafe {
63             let mut result__: u32 = ::std::mem::zeroed();
64             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
65         }
66     }
Length(&self) -> ::windows::runtime::Result<u32>67     pub fn Length(&self) -> ::windows::runtime::Result<u32> {
68         let this = self;
69         unsafe {
70             let mut result__: u32 = ::std::mem::zeroed();
71             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
72         }
73     }
SetLength(&self, value: u32) -> ::windows::runtime::Result<()>74     pub fn SetLength(&self, value: u32) -> ::windows::runtime::Result<()> {
75         let this = self;
76         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() }
77     }
78     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>79     pub fn Close(&self) -> ::windows::runtime::Result<()> {
80         let this = &::windows::runtime::Interface::cast::<super::Foundation::IClosable>(self)?;
81         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
82     }
83     #[cfg(feature = "Foundation")]
CreateReference(&self) -> ::windows::runtime::Result<super::Foundation::IMemoryBufferReference>84     pub fn CreateReference(&self) -> ::windows::runtime::Result<super::Foundation::IMemoryBufferReference> {
85         let this = &::windows::runtime::Interface::cast::<super::Foundation::IMemoryBuffer>(self)?;
86         unsafe {
87             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
88             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IMemoryBufferReference>(result__)
89         }
90     }
91 }
92 unsafe impl ::windows::runtime::RuntimeType for AudioBuffer {
93     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.AudioBuffer;{35175827-724b-4c6a-b130-f6537f9ae0d0})");
94 }
95 unsafe impl ::windows::runtime::Interface for AudioBuffer {
96     type Vtable = IAudioBuffer_abi;
97     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(890722343, 29259, 19562, [177, 48, 246, 83, 127, 154, 224, 208]);
98 }
99 impl ::windows::runtime::RuntimeName for AudioBuffer {
100     const NAME: &'static str = "Windows.Media.AudioBuffer";
101 }
102 impl ::std::convert::From<AudioBuffer> for ::windows::runtime::IUnknown {
from(value: AudioBuffer) -> Self103     fn from(value: AudioBuffer) -> Self {
104         unsafe { ::std::mem::transmute(value) }
105     }
106 }
107 impl ::std::convert::From<&AudioBuffer> for ::windows::runtime::IUnknown {
from(value: &AudioBuffer) -> Self108     fn from(value: &AudioBuffer) -> Self {
109         ::std::convert::From::from(::std::clone::Clone::clone(value))
110     }
111 }
112 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AudioBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>113     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
114         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
115     }
116 }
117 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AudioBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>118     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
119         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
120     }
121 }
122 impl ::std::convert::From<AudioBuffer> for ::windows::runtime::IInspectable {
from(value: AudioBuffer) -> Self123     fn from(value: AudioBuffer) -> Self {
124         value.0
125     }
126 }
127 impl ::std::convert::From<&AudioBuffer> for ::windows::runtime::IInspectable {
from(value: &AudioBuffer) -> Self128     fn from(value: &AudioBuffer) -> Self {
129         value.0.clone()
130     }
131 }
132 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AudioBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>133     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
134         ::windows::runtime::Param::Owned(self.0)
135     }
136 }
137 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AudioBuffer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>138     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
139         ::windows::runtime::Param::Borrowed(&self.0)
140     }
141 }
142 #[cfg(feature = "Foundation")]
143 impl ::std::convert::TryFrom<AudioBuffer> for super::Foundation::IClosable {
144     type Error = ::windows::runtime::Error;
try_from(value: AudioBuffer) -> ::windows::runtime::Result<Self>145     fn try_from(value: AudioBuffer) -> ::windows::runtime::Result<Self> {
146         ::std::convert::TryFrom::try_from(&value)
147     }
148 }
149 #[cfg(feature = "Foundation")]
150 impl ::std::convert::TryFrom<&AudioBuffer> for super::Foundation::IClosable {
151     type Error = ::windows::runtime::Error;
try_from(value: &AudioBuffer) -> ::windows::runtime::Result<Self>152     fn try_from(value: &AudioBuffer) -> ::windows::runtime::Result<Self> {
153         ::windows::runtime::Interface::cast(value)
154     }
155 }
156 #[cfg(feature = "Foundation")]
157 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for AudioBuffer {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>158     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
159         ::windows::runtime::IntoParam::into_param(&self)
160     }
161 }
162 #[cfg(feature = "Foundation")]
163 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for &AudioBuffer {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>164     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
165         ::std::convert::TryInto::<super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
166     }
167 }
168 #[cfg(feature = "Foundation")]
169 impl ::std::convert::TryFrom<AudioBuffer> for super::Foundation::IMemoryBuffer {
170     type Error = ::windows::runtime::Error;
try_from(value: AudioBuffer) -> ::windows::runtime::Result<Self>171     fn try_from(value: AudioBuffer) -> ::windows::runtime::Result<Self> {
172         ::std::convert::TryFrom::try_from(&value)
173     }
174 }
175 #[cfg(feature = "Foundation")]
176 impl ::std::convert::TryFrom<&AudioBuffer> for super::Foundation::IMemoryBuffer {
177     type Error = ::windows::runtime::Error;
try_from(value: &AudioBuffer) -> ::windows::runtime::Result<Self>178     fn try_from(value: &AudioBuffer) -> ::windows::runtime::Result<Self> {
179         ::windows::runtime::Interface::cast(value)
180     }
181 }
182 #[cfg(feature = "Foundation")]
183 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IMemoryBuffer> for AudioBuffer {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IMemoryBuffer>184     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IMemoryBuffer> {
185         ::windows::runtime::IntoParam::into_param(&self)
186     }
187 }
188 #[cfg(feature = "Foundation")]
189 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IMemoryBuffer> for &AudioBuffer {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IMemoryBuffer>190     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IMemoryBuffer> {
191         ::std::convert::TryInto::<super::Foundation::IMemoryBuffer>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
192     }
193 }
194 unsafe impl ::std::marker::Send for AudioBuffer {}
195 unsafe impl ::std::marker::Sync for AudioBuffer {}
196 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
197 #[repr(transparent)]
198 pub struct AudioBufferAccessMode(pub i32);
199 impl AudioBufferAccessMode {
200     pub const Read: AudioBufferAccessMode = AudioBufferAccessMode(0i32);
201     pub const ReadWrite: AudioBufferAccessMode = AudioBufferAccessMode(1i32);
202     pub const Write: AudioBufferAccessMode = AudioBufferAccessMode(2i32);
203 }
204 impl ::std::convert::From<i32> for AudioBufferAccessMode {
from(value: i32) -> Self205     fn from(value: i32) -> Self {
206         Self(value)
207     }
208 }
209 unsafe impl ::windows::runtime::Abi for AudioBufferAccessMode {
210     type Abi = Self;
211     type DefaultType = Self;
212 }
213 unsafe impl ::windows::runtime::RuntimeType for AudioBufferAccessMode {
214     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.AudioBufferAccessMode;i4)");
215 }
216 #[repr(transparent)]
217 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
218 pub struct AudioFrame(::windows::runtime::IInspectable);
219 impl AudioFrame {
LockBuffer(&self, mode: AudioBufferAccessMode) -> ::windows::runtime::Result<AudioBuffer>220     pub fn LockBuffer(&self, mode: AudioBufferAccessMode) -> ::windows::runtime::Result<AudioBuffer> {
221         let this = self;
222         unsafe {
223             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
224             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), mode, &mut result__).from_abi::<AudioBuffer>(result__)
225         }
226     }
227     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>228     pub fn Close(&self) -> ::windows::runtime::Result<()> {
229         let this = &::windows::runtime::Interface::cast::<super::Foundation::IClosable>(self)?;
230         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
231     }
Type(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>232     pub fn Type(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
233         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
234         unsafe {
235             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
236             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
237         }
238     }
IsReadOnly(&self) -> ::windows::runtime::Result<bool>239     pub fn IsReadOnly(&self) -> ::windows::runtime::Result<bool> {
240         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
241         unsafe {
242             let mut result__: bool = ::std::mem::zeroed();
243             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
244         }
245     }
246     #[cfg(feature = "Foundation")]
SetRelativeTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()>247     pub fn SetRelativeTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
248         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
249         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
250     }
251     #[cfg(feature = "Foundation")]
RelativeTime(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>>252     pub fn RelativeTime(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>> {
253         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
254         unsafe {
255             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
256             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IReference<super::Foundation::TimeSpan>>(result__)
257         }
258     }
259     #[cfg(feature = "Foundation")]
SetSystemRelativeTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()>260     pub fn SetSystemRelativeTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
261         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
262         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
263     }
264     #[cfg(feature = "Foundation")]
SystemRelativeTime(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>>265     pub fn SystemRelativeTime(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>> {
266         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
267         unsafe {
268             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
269             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IReference<super::Foundation::TimeSpan>>(result__)
270         }
271     }
272     #[cfg(feature = "Foundation")]
SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()>273     pub fn SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
274         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
275         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
276     }
277     #[cfg(feature = "Foundation")]
Duration(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>>278     pub fn Duration(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>> {
279         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
280         unsafe {
281             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
282             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IReference<super::Foundation::TimeSpan>>(result__)
283         }
284     }
SetIsDiscontinuous(&self, value: bool) -> ::windows::runtime::Result<()>285     pub fn SetIsDiscontinuous(&self, value: bool) -> ::windows::runtime::Result<()> {
286         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
287         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), value).ok() }
288     }
IsDiscontinuous(&self) -> ::windows::runtime::Result<bool>289     pub fn IsDiscontinuous(&self) -> ::windows::runtime::Result<bool> {
290         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
291         unsafe {
292             let mut result__: bool = ::std::mem::zeroed();
293             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
294         }
295     }
296     #[cfg(feature = "Foundation_Collections")]
ExtendedProperties(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IPropertySet>297     pub fn ExtendedProperties(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IPropertySet> {
298         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
299         unsafe {
300             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
301             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IPropertySet>(result__)
302         }
303     }
Create(capacity: u32) -> ::windows::runtime::Result<AudioFrame>304     pub fn Create(capacity: u32) -> ::windows::runtime::Result<AudioFrame> {
305         Self::IAudioFrameFactory(|this| unsafe {
306             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
307             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), capacity, &mut result__).from_abi::<AudioFrame>(result__)
308         })
309     }
IAudioFrameFactory<R, F: FnOnce(&IAudioFrameFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>310     pub fn IAudioFrameFactory<R, F: FnOnce(&IAudioFrameFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
311         static mut SHARED: ::windows::runtime::FactoryCache<AudioFrame, IAudioFrameFactory> = ::windows::runtime::FactoryCache::new();
312         unsafe { SHARED.call(callback) }
313     }
314 }
315 unsafe impl ::windows::runtime::RuntimeType for AudioFrame {
316     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.AudioFrame;{e36ac304-aab2-4277-9ed0-43cedf8e29c6})");
317 }
318 unsafe impl ::windows::runtime::Interface for AudioFrame {
319     type Vtable = IAudioFrame_abi;
320     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3815424772, 43698, 17015, [158, 208, 67, 206, 223, 142, 41, 198]);
321 }
322 impl ::windows::runtime::RuntimeName for AudioFrame {
323     const NAME: &'static str = "Windows.Media.AudioFrame";
324 }
325 impl ::std::convert::From<AudioFrame> for ::windows::runtime::IUnknown {
from(value: AudioFrame) -> Self326     fn from(value: AudioFrame) -> Self {
327         unsafe { ::std::mem::transmute(value) }
328     }
329 }
330 impl ::std::convert::From<&AudioFrame> for ::windows::runtime::IUnknown {
from(value: &AudioFrame) -> Self331     fn from(value: &AudioFrame) -> Self {
332         ::std::convert::From::from(::std::clone::Clone::clone(value))
333     }
334 }
335 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AudioFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>336     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
337         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
338     }
339 }
340 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AudioFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>341     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
342         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
343     }
344 }
345 impl ::std::convert::From<AudioFrame> for ::windows::runtime::IInspectable {
from(value: AudioFrame) -> Self346     fn from(value: AudioFrame) -> Self {
347         value.0
348     }
349 }
350 impl ::std::convert::From<&AudioFrame> for ::windows::runtime::IInspectable {
from(value: &AudioFrame) -> Self351     fn from(value: &AudioFrame) -> Self {
352         value.0.clone()
353     }
354 }
355 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AudioFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>356     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
357         ::windows::runtime::Param::Owned(self.0)
358     }
359 }
360 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AudioFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>361     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
362         ::windows::runtime::Param::Borrowed(&self.0)
363     }
364 }
365 #[cfg(feature = "Foundation")]
366 impl ::std::convert::TryFrom<AudioFrame> for super::Foundation::IClosable {
367     type Error = ::windows::runtime::Error;
try_from(value: AudioFrame) -> ::windows::runtime::Result<Self>368     fn try_from(value: AudioFrame) -> ::windows::runtime::Result<Self> {
369         ::std::convert::TryFrom::try_from(&value)
370     }
371 }
372 #[cfg(feature = "Foundation")]
373 impl ::std::convert::TryFrom<&AudioFrame> for super::Foundation::IClosable {
374     type Error = ::windows::runtime::Error;
try_from(value: &AudioFrame) -> ::windows::runtime::Result<Self>375     fn try_from(value: &AudioFrame) -> ::windows::runtime::Result<Self> {
376         ::windows::runtime::Interface::cast(value)
377     }
378 }
379 #[cfg(feature = "Foundation")]
380 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for AudioFrame {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>381     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
382         ::windows::runtime::IntoParam::into_param(&self)
383     }
384 }
385 #[cfg(feature = "Foundation")]
386 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for &AudioFrame {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>387     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
388         ::std::convert::TryInto::<super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
389     }
390 }
391 impl ::std::convert::TryFrom<AudioFrame> for IMediaFrame {
392     type Error = ::windows::runtime::Error;
try_from(value: AudioFrame) -> ::windows::runtime::Result<Self>393     fn try_from(value: AudioFrame) -> ::windows::runtime::Result<Self> {
394         ::std::convert::TryFrom::try_from(&value)
395     }
396 }
397 impl ::std::convert::TryFrom<&AudioFrame> for IMediaFrame {
398     type Error = ::windows::runtime::Error;
try_from(value: &AudioFrame) -> ::windows::runtime::Result<Self>399     fn try_from(value: &AudioFrame) -> ::windows::runtime::Result<Self> {
400         ::windows::runtime::Interface::cast(value)
401     }
402 }
403 impl<'a> ::windows::runtime::IntoParam<'a, IMediaFrame> for AudioFrame {
into_param(self) -> ::windows::runtime::Param<'a, IMediaFrame>404     fn into_param(self) -> ::windows::runtime::Param<'a, IMediaFrame> {
405         ::windows::runtime::IntoParam::into_param(&self)
406     }
407 }
408 impl<'a> ::windows::runtime::IntoParam<'a, IMediaFrame> for &AudioFrame {
into_param(self) -> ::windows::runtime::Param<'a, IMediaFrame>409     fn into_param(self) -> ::windows::runtime::Param<'a, IMediaFrame> {
410         ::std::convert::TryInto::<IMediaFrame>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
411     }
412 }
413 unsafe impl ::std::marker::Send for AudioFrame {}
414 unsafe impl ::std::marker::Sync for AudioFrame {}
415 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
416 #[repr(transparent)]
417 pub struct AudioProcessing(pub i32);
418 impl AudioProcessing {
419     pub const Default: AudioProcessing = AudioProcessing(0i32);
420     pub const Raw: AudioProcessing = AudioProcessing(1i32);
421 }
422 impl ::std::convert::From<i32> for AudioProcessing {
from(value: i32) -> Self423     fn from(value: i32) -> Self {
424         Self(value)
425     }
426 }
427 unsafe impl ::windows::runtime::Abi for AudioProcessing {
428     type Abi = Self;
429     type DefaultType = Self;
430 }
431 unsafe impl ::windows::runtime::RuntimeType for AudioProcessing {
432     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.AudioProcessing;i4)");
433 }
434 #[repr(transparent)]
435 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
436 pub struct AutoRepeatModeChangeRequestedEventArgs(::windows::runtime::IInspectable);
437 impl AutoRepeatModeChangeRequestedEventArgs {
RequestedAutoRepeatMode(&self) -> ::windows::runtime::Result<MediaPlaybackAutoRepeatMode>438     pub fn RequestedAutoRepeatMode(&self) -> ::windows::runtime::Result<MediaPlaybackAutoRepeatMode> {
439         let this = self;
440         unsafe {
441             let mut result__: MediaPlaybackAutoRepeatMode = ::std::mem::zeroed();
442             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackAutoRepeatMode>(result__)
443         }
444     }
445 }
446 unsafe impl ::windows::runtime::RuntimeType for AutoRepeatModeChangeRequestedEventArgs {
447     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.AutoRepeatModeChangeRequestedEventArgs;{ea137efa-d852-438e-882b-c990109a78f4})");
448 }
449 unsafe impl ::windows::runtime::Interface for AutoRepeatModeChangeRequestedEventArgs {
450     type Vtable = IAutoRepeatModeChangeRequestedEventArgs_abi;
451     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3927146234, 55378, 17294, [136, 43, 201, 144, 16, 154, 120, 244]);
452 }
453 impl ::windows::runtime::RuntimeName for AutoRepeatModeChangeRequestedEventArgs {
454     const NAME: &'static str = "Windows.Media.AutoRepeatModeChangeRequestedEventArgs";
455 }
456 impl ::std::convert::From<AutoRepeatModeChangeRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: AutoRepeatModeChangeRequestedEventArgs) -> Self457     fn from(value: AutoRepeatModeChangeRequestedEventArgs) -> Self {
458         unsafe { ::std::mem::transmute(value) }
459     }
460 }
461 impl ::std::convert::From<&AutoRepeatModeChangeRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: &AutoRepeatModeChangeRequestedEventArgs) -> Self462     fn from(value: &AutoRepeatModeChangeRequestedEventArgs) -> Self {
463         ::std::convert::From::from(::std::clone::Clone::clone(value))
464     }
465 }
466 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for AutoRepeatModeChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>467     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
468         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
469     }
470 }
471 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &AutoRepeatModeChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>472     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
473         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
474     }
475 }
476 impl ::std::convert::From<AutoRepeatModeChangeRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: AutoRepeatModeChangeRequestedEventArgs) -> Self477     fn from(value: AutoRepeatModeChangeRequestedEventArgs) -> Self {
478         value.0
479     }
480 }
481 impl ::std::convert::From<&AutoRepeatModeChangeRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: &AutoRepeatModeChangeRequestedEventArgs) -> Self482     fn from(value: &AutoRepeatModeChangeRequestedEventArgs) -> Self {
483         value.0.clone()
484     }
485 }
486 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for AutoRepeatModeChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>487     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
488         ::windows::runtime::Param::Owned(self.0)
489     }
490 }
491 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a AutoRepeatModeChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>492     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
493         ::windows::runtime::Param::Borrowed(&self.0)
494     }
495 }
496 unsafe impl ::std::marker::Send for AutoRepeatModeChangeRequestedEventArgs {}
497 unsafe impl ::std::marker::Sync for AutoRepeatModeChangeRequestedEventArgs {}
498 #[repr(transparent)]
499 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
500 #[doc(hidden)]
501 pub struct IAudioBuffer(::windows::runtime::IInspectable);
502 unsafe impl ::windows::runtime::Interface for IAudioBuffer {
503     type Vtable = IAudioBuffer_abi;
504     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(890722343, 29259, 19562, [177, 48, 246, 83, 127, 154, 224, 208]);
505 }
506 #[repr(C)]
507 #[doc(hidden)]
508 pub struct IAudioBuffer_abi(
509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT,
518 );
519 #[repr(transparent)]
520 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
521 #[doc(hidden)]
522 pub struct IAudioFrame(::windows::runtime::IInspectable);
523 unsafe impl ::windows::runtime::Interface for IAudioFrame {
524     type Vtable = IAudioFrame_abi;
525     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3815424772, 43698, 17015, [158, 208, 67, 206, 223, 142, 41, 198]);
526 }
527 #[repr(C)]
528 #[doc(hidden)]
529 pub struct IAudioFrame_abi(
530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
531     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
535     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
536     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mode: AudioBufferAccessMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
537 );
538 #[repr(transparent)]
539 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
540 #[doc(hidden)]
541 pub struct IAudioFrameFactory(::windows::runtime::IInspectable);
542 unsafe impl ::windows::runtime::Interface for IAudioFrameFactory {
543     type Vtable = IAudioFrameFactory_abi;
544     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2443774686, 9250, 16550, [185, 173, 48, 208, 36, 4, 49, 125]);
545 }
546 #[repr(C)]
547 #[doc(hidden)]
548 pub struct IAudioFrameFactory_abi(
549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, capacity: u32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
556 );
557 #[repr(transparent)]
558 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
559 #[doc(hidden)]
560 pub struct IAutoRepeatModeChangeRequestedEventArgs(::windows::runtime::IInspectable);
561 unsafe impl ::windows::runtime::Interface for IAutoRepeatModeChangeRequestedEventArgs {
562     type Vtable = IAutoRepeatModeChangeRequestedEventArgs_abi;
563     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3927146234, 55378, 17294, [136, 43, 201, 144, 16, 154, 120, 244]);
564 }
565 #[repr(C)]
566 #[doc(hidden)]
567 pub struct IAutoRepeatModeChangeRequestedEventArgs_abi(
568     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MediaPlaybackAutoRepeatMode) -> ::windows::runtime::HRESULT,
575 );
576 #[repr(transparent)]
577 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
578 #[doc(hidden)]
579 pub struct IImageDisplayProperties(::windows::runtime::IInspectable);
580 unsafe impl ::windows::runtime::Interface for IImageDisplayProperties {
581     type Vtable = IImageDisplayProperties_abi;
582     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3440101359, 21735, 16671, [153, 51, 240, 233, 139, 10, 150, 210]);
583 }
584 #[repr(C)]
585 #[doc(hidden)]
586 pub struct IImageDisplayProperties_abi(
587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
595     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
596     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
597 );
598 #[repr(transparent)]
599 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
600 #[doc(hidden)]
601 pub struct IMediaControl(::windows::runtime::IInspectable);
602 unsafe impl ::windows::runtime::Interface for IMediaControl {
603     type Vtable = IMediaControl_abi;
604     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2565995489, 31373, 17099, [182, 254, 143, 230, 152, 38, 79, 19]);
605 }
606 #[repr(C)]
607 #[doc(hidden)]
608 pub struct IMediaControl_abi(
609     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
610     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
611     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
614     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
615     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
616     #[cfg(not(feature = "Foundation"))] usize,
617     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
618     #[cfg(not(feature = "Foundation"))] usize,
619     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
620     #[cfg(not(feature = "Foundation"))] usize,
621     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
622     #[cfg(not(feature = "Foundation"))] usize,
623     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
624     #[cfg(not(feature = "Foundation"))] usize,
625     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
626     #[cfg(not(feature = "Foundation"))] usize,
627     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
628     #[cfg(not(feature = "Foundation"))] usize,
629     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
630     #[cfg(not(feature = "Foundation"))] usize,
631     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
632     #[cfg(not(feature = "Foundation"))] usize,
633     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
634     #[cfg(not(feature = "Foundation"))] usize,
635     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
636     #[cfg(not(feature = "Foundation"))] usize,
637     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
638     #[cfg(not(feature = "Foundation"))] usize,
639     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
640     #[cfg(not(feature = "Foundation"))] usize,
641     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
642     #[cfg(not(feature = "Foundation"))] usize,
643     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
644     #[cfg(not(feature = "Foundation"))] usize,
645     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
646     #[cfg(not(feature = "Foundation"))] usize,
647     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
648     #[cfg(not(feature = "Foundation"))] usize,
649     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
650     #[cfg(not(feature = "Foundation"))] usize,
651     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
652     #[cfg(not(feature = "Foundation"))] usize,
653     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
654     #[cfg(not(feature = "Foundation"))] usize,
655     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
656     #[cfg(not(feature = "Foundation"))] usize,
657     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
658     #[cfg(not(feature = "Foundation"))] usize,
659     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
660     #[cfg(not(feature = "Foundation"))] usize,
661     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
662     #[cfg(not(feature = "Foundation"))] usize,
663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut SoundLevel) -> ::windows::runtime::HRESULT,
664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
670     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
671     #[cfg(not(feature = "Foundation"))] usize,
672     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
673     #[cfg(not(feature = "Foundation"))] usize,
674 );
675 #[repr(transparent)]
676 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
677 pub struct IMediaExtension(::windows::runtime::IInspectable);
678 unsafe impl ::windows::runtime::Interface for IMediaExtension {
679     type Vtable = IMediaExtension_abi;
680     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(126963992, 17887, 17451, [138, 63, 247, 130, 106, 99, 112, 171]);
681 }
682 impl IMediaExtension {
683     #[cfg(feature = "Foundation_Collections")]
SetProperties<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet>>(&self, configuration: Param0) -> ::windows::runtime::Result<()>684     pub fn SetProperties<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet>>(&self, configuration: Param0) -> ::windows::runtime::Result<()> {
685         let this = self;
686         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), configuration.into_param().abi()).ok() }
687     }
688 }
689 unsafe impl ::windows::runtime::RuntimeType for IMediaExtension {
690     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{07915118-45df-442b-8a3f-f7826a6370ab}");
691 }
692 impl ::std::convert::From<IMediaExtension> for ::windows::runtime::IUnknown {
from(value: IMediaExtension) -> Self693     fn from(value: IMediaExtension) -> Self {
694         unsafe { ::std::mem::transmute(value) }
695     }
696 }
697 impl ::std::convert::From<&IMediaExtension> for ::windows::runtime::IUnknown {
from(value: &IMediaExtension) -> Self698     fn from(value: &IMediaExtension) -> Self {
699         ::std::convert::From::from(::std::clone::Clone::clone(value))
700     }
701 }
702 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMediaExtension {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>703     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
704         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
705     }
706 }
707 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMediaExtension {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>708     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
709         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
710     }
711 }
712 impl ::std::convert::From<IMediaExtension> for ::windows::runtime::IInspectable {
from(value: IMediaExtension) -> Self713     fn from(value: IMediaExtension) -> Self {
714         value.0
715     }
716 }
717 impl ::std::convert::From<&IMediaExtension> for ::windows::runtime::IInspectable {
from(value: &IMediaExtension) -> Self718     fn from(value: &IMediaExtension) -> Self {
719         value.0.clone()
720     }
721 }
722 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IMediaExtension {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>723     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
724         ::windows::runtime::Param::Owned(self.0)
725     }
726 }
727 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IMediaExtension {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>728     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
729         ::windows::runtime::Param::Borrowed(&self.0)
730     }
731 }
732 #[repr(C)]
733 #[doc(hidden)]
734 pub struct IMediaExtension_abi(
735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
741     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, configuration: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
742     #[cfg(not(feature = "Foundation_Collections"))] usize,
743 );
744 #[repr(transparent)]
745 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
746 #[doc(hidden)]
747 pub struct IMediaExtensionManager(::windows::runtime::IInspectable);
748 unsafe impl ::windows::runtime::Interface for IMediaExtensionManager {
749     type Vtable = IMediaExtensionManager_abi;
750     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1243998965, 9261, 19963, [151, 244, 105, 183, 196, 37, 118, 255]);
751 }
752 #[repr(C)]
753 #[doc(hidden)]
754 pub struct IMediaExtensionManager_abi(
755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
760     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
761     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activatableclassid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, scheme: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
762     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activatableclassid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, scheme: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, configuration: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
763     #[cfg(not(feature = "Foundation_Collections"))] usize,
764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activatableclassid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, fileextension: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, mimetype: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
765     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activatableclassid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, fileextension: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, mimetype: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, configuration: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
766     #[cfg(not(feature = "Foundation_Collections"))] usize,
767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activatableclassid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, inputsubtype: ::windows::runtime::GUID, outputsubtype: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
768     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activatableclassid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, inputsubtype: ::windows::runtime::GUID, outputsubtype: ::windows::runtime::GUID, configuration: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
769     #[cfg(not(feature = "Foundation_Collections"))] usize,
770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activatableclassid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, inputsubtype: ::windows::runtime::GUID, outputsubtype: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
771     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activatableclassid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, inputsubtype: ::windows::runtime::GUID, outputsubtype: ::windows::runtime::GUID, configuration: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
772     #[cfg(not(feature = "Foundation_Collections"))] usize,
773     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activatableclassid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, inputsubtype: ::windows::runtime::GUID, outputsubtype: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
774     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activatableclassid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, inputsubtype: ::windows::runtime::GUID, outputsubtype: ::windows::runtime::GUID, configuration: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
775     #[cfg(not(feature = "Foundation_Collections"))] usize,
776     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activatableclassid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, inputsubtype: ::windows::runtime::GUID, outputsubtype: ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
777     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activatableclassid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, inputsubtype: ::windows::runtime::GUID, outputsubtype: ::windows::runtime::GUID, configuration: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
778     #[cfg(not(feature = "Foundation_Collections"))] usize,
779 );
780 #[repr(transparent)]
781 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
782 #[doc(hidden)]
783 pub struct IMediaExtensionManager2(::windows::runtime::IInspectable);
784 unsafe impl ::windows::runtime::Interface for IMediaExtensionManager2 {
785     type Vtable = IMediaExtensionManager2_abi;
786     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1540276039, 16451, 20461, [172, 175, 84, 236, 41, 223, 177, 247]);
787 }
788 #[repr(C)]
789 #[doc(hidden)]
790 pub struct IMediaExtensionManager2_abi(
791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
797     #[cfg(feature = "ApplicationModel_AppService")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, extension: ::windows::runtime::RawPtr, connection: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
798     #[cfg(not(feature = "ApplicationModel_AppService"))] usize,
799 );
800 #[repr(transparent)]
801 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
802 pub struct IMediaFrame(::windows::runtime::IInspectable);
803 unsafe impl ::windows::runtime::Interface for IMediaFrame {
804     type Vtable = IMediaFrame_abi;
805     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3216322444, 22851, 18392, [142, 16, 5, 48, 138, 165, 251, 208]);
806 }
807 impl IMediaFrame {
Type(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>808     pub fn Type(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
809         let this = self;
810         unsafe {
811             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
812             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
813         }
814     }
IsReadOnly(&self) -> ::windows::runtime::Result<bool>815     pub fn IsReadOnly(&self) -> ::windows::runtime::Result<bool> {
816         let this = self;
817         unsafe {
818             let mut result__: bool = ::std::mem::zeroed();
819             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
820         }
821     }
822     #[cfg(feature = "Foundation")]
SetRelativeTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()>823     pub fn SetRelativeTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
824         let this = self;
825         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
826     }
827     #[cfg(feature = "Foundation")]
RelativeTime(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>>828     pub fn RelativeTime(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>> {
829         let this = self;
830         unsafe {
831             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
832             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IReference<super::Foundation::TimeSpan>>(result__)
833         }
834     }
835     #[cfg(feature = "Foundation")]
SetSystemRelativeTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()>836     pub fn SetSystemRelativeTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
837         let this = self;
838         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
839     }
840     #[cfg(feature = "Foundation")]
SystemRelativeTime(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>>841     pub fn SystemRelativeTime(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>> {
842         let this = self;
843         unsafe {
844             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
845             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IReference<super::Foundation::TimeSpan>>(result__)
846         }
847     }
848     #[cfg(feature = "Foundation")]
SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()>849     pub fn SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
850         let this = self;
851         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
852     }
853     #[cfg(feature = "Foundation")]
Duration(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>>854     pub fn Duration(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>> {
855         let this = self;
856         unsafe {
857             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
858             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IReference<super::Foundation::TimeSpan>>(result__)
859         }
860     }
SetIsDiscontinuous(&self, value: bool) -> ::windows::runtime::Result<()>861     pub fn SetIsDiscontinuous(&self, value: bool) -> ::windows::runtime::Result<()> {
862         let this = self;
863         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), value).ok() }
864     }
IsDiscontinuous(&self) -> ::windows::runtime::Result<bool>865     pub fn IsDiscontinuous(&self) -> ::windows::runtime::Result<bool> {
866         let this = self;
867         unsafe {
868             let mut result__: bool = ::std::mem::zeroed();
869             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
870         }
871     }
872     #[cfg(feature = "Foundation_Collections")]
ExtendedProperties(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IPropertySet>873     pub fn ExtendedProperties(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IPropertySet> {
874         let this = self;
875         unsafe {
876             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
877             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IPropertySet>(result__)
878         }
879     }
880     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>881     pub fn Close(&self) -> ::windows::runtime::Result<()> {
882         let this = &::windows::runtime::Interface::cast::<super::Foundation::IClosable>(self)?;
883         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
884     }
885 }
886 unsafe impl ::windows::runtime::RuntimeType for IMediaFrame {
887     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{bfb52f8c-5943-47d8-8e10-05308aa5fbd0}");
888 }
889 impl ::std::convert::From<IMediaFrame> for ::windows::runtime::IUnknown {
from(value: IMediaFrame) -> Self890     fn from(value: IMediaFrame) -> Self {
891         unsafe { ::std::mem::transmute(value) }
892     }
893 }
894 impl ::std::convert::From<&IMediaFrame> for ::windows::runtime::IUnknown {
from(value: &IMediaFrame) -> Self895     fn from(value: &IMediaFrame) -> Self {
896         ::std::convert::From::from(::std::clone::Clone::clone(value))
897     }
898 }
899 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMediaFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>900     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
901         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
902     }
903 }
904 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMediaFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>905     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
906         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
907     }
908 }
909 impl ::std::convert::From<IMediaFrame> for ::windows::runtime::IInspectable {
from(value: IMediaFrame) -> Self910     fn from(value: IMediaFrame) -> Self {
911         value.0
912     }
913 }
914 impl ::std::convert::From<&IMediaFrame> for ::windows::runtime::IInspectable {
from(value: &IMediaFrame) -> Self915     fn from(value: &IMediaFrame) -> Self {
916         value.0.clone()
917     }
918 }
919 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IMediaFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>920     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
921         ::windows::runtime::Param::Owned(self.0)
922     }
923 }
924 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IMediaFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>925     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
926         ::windows::runtime::Param::Borrowed(&self.0)
927     }
928 }
929 #[cfg(feature = "Foundation")]
930 impl ::std::convert::TryFrom<IMediaFrame> for super::Foundation::IClosable {
931     type Error = ::windows::runtime::Error;
try_from(value: IMediaFrame) -> ::windows::runtime::Result<Self>932     fn try_from(value: IMediaFrame) -> ::windows::runtime::Result<Self> {
933         ::std::convert::TryFrom::try_from(&value)
934     }
935 }
936 #[cfg(feature = "Foundation")]
937 impl ::std::convert::TryFrom<&IMediaFrame> for super::Foundation::IClosable {
938     type Error = ::windows::runtime::Error;
try_from(value: &IMediaFrame) -> ::windows::runtime::Result<Self>939     fn try_from(value: &IMediaFrame) -> ::windows::runtime::Result<Self> {
940         ::windows::runtime::Interface::cast(value)
941     }
942 }
943 #[cfg(feature = "Foundation")]
944 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for IMediaFrame {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>945     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
946         ::windows::runtime::IntoParam::into_param(&self)
947     }
948 }
949 #[cfg(feature = "Foundation")]
950 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for &IMediaFrame {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>951     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
952         ::std::convert::TryInto::<super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
953     }
954 }
955 #[repr(C)]
956 #[doc(hidden)]
957 pub struct IMediaFrame_abi(
958     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
962     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
963     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
966     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
967     #[cfg(not(feature = "Foundation"))] usize,
968     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
969     #[cfg(not(feature = "Foundation"))] usize,
970     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
971     #[cfg(not(feature = "Foundation"))] usize,
972     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
973     #[cfg(not(feature = "Foundation"))] usize,
974     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
975     #[cfg(not(feature = "Foundation"))] usize,
976     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
977     #[cfg(not(feature = "Foundation"))] usize,
978     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
980     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
981     #[cfg(not(feature = "Foundation_Collections"))] usize,
982 );
983 #[repr(transparent)]
984 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
985 pub struct IMediaMarker(::windows::runtime::IInspectable);
986 unsafe impl ::windows::runtime::Interface for IMediaMarker {
987     type Vtable = IMediaMarker_abi;
988     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(402906872, 56485, 19311, [156, 32, 227, 211, 192, 100, 54, 37]);
989 }
990 impl IMediaMarker {
991     #[cfg(feature = "Foundation")]
Time(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan>992     pub fn Time(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan> {
993         let this = self;
994         unsafe {
995             let mut result__: super::Foundation::TimeSpan = ::std::mem::zeroed();
996             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::TimeSpan>(result__)
997         }
998     }
MediaMarkerType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>999     pub fn MediaMarkerType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1000         let this = self;
1001         unsafe {
1002             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1003             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1004         }
1005     }
Text(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1006     pub fn Text(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1007         let this = self;
1008         unsafe {
1009             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1010             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1011         }
1012     }
1013 }
1014 unsafe impl ::windows::runtime::RuntimeType for IMediaMarker {
1015     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{1803def8-dca5-4b6f-9c20-e3d3c0643625}");
1016 }
1017 impl ::std::convert::From<IMediaMarker> for ::windows::runtime::IUnknown {
from(value: IMediaMarker) -> Self1018     fn from(value: IMediaMarker) -> Self {
1019         unsafe { ::std::mem::transmute(value) }
1020     }
1021 }
1022 impl ::std::convert::From<&IMediaMarker> for ::windows::runtime::IUnknown {
from(value: &IMediaMarker) -> Self1023     fn from(value: &IMediaMarker) -> Self {
1024         ::std::convert::From::from(::std::clone::Clone::clone(value))
1025     }
1026 }
1027 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMediaMarker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1028     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1029         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1030     }
1031 }
1032 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMediaMarker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1033     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1034         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1035     }
1036 }
1037 impl ::std::convert::From<IMediaMarker> for ::windows::runtime::IInspectable {
from(value: IMediaMarker) -> Self1038     fn from(value: IMediaMarker) -> Self {
1039         value.0
1040     }
1041 }
1042 impl ::std::convert::From<&IMediaMarker> for ::windows::runtime::IInspectable {
from(value: &IMediaMarker) -> Self1043     fn from(value: &IMediaMarker) -> Self {
1044         value.0.clone()
1045     }
1046 }
1047 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IMediaMarker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1048     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1049         ::windows::runtime::Param::Owned(self.0)
1050     }
1051 }
1052 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IMediaMarker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1053     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1054         ::windows::runtime::Param::Borrowed(&self.0)
1055     }
1056 }
1057 #[repr(C)]
1058 #[doc(hidden)]
1059 pub struct IMediaMarker_abi(
1060     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1064     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1066     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1067     #[cfg(not(feature = "Foundation"))] usize,
1068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1070 );
1071 #[repr(transparent)]
1072 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1073 #[doc(hidden)]
1074 pub struct IMediaMarkerTypesStatics(::windows::runtime::IInspectable);
1075 unsafe impl ::windows::runtime::Interface for IMediaMarkerTypesStatics {
1076     type Vtable = IMediaMarkerTypesStatics_abi;
1077     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3139010624, 18479, 18243, [136, 50, 69, 133, 56, 33, 236, 224]);
1078 }
1079 #[repr(C)]
1080 #[doc(hidden)]
1081 pub struct IMediaMarkerTypesStatics_abi(
1082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1084     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1085     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1086     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1087     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1088     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1089 );
1090 #[repr(transparent)]
1091 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1092 pub struct IMediaMarkers(::windows::runtime::IInspectable);
1093 unsafe impl ::windows::runtime::Interface for IMediaMarkers {
1094     type Vtable = IMediaMarkers_abi;
1095     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2951393673, 63709, 18030, [170, 16, 146, 11, 82, 53, 63, 223]);
1096 }
1097 impl IMediaMarkers {
1098     #[cfg(feature = "Foundation_Collections")]
Markers(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<IMediaMarker>>1099     pub fn Markers(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVectorView<IMediaMarker>> {
1100         let this = self;
1101         unsafe {
1102             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1103             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVectorView<IMediaMarker>>(result__)
1104         }
1105     }
1106 }
1107 unsafe impl ::windows::runtime::RuntimeType for IMediaMarkers {
1108     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{afeab189-f8dd-466e-aa10-920b52353fdf}");
1109 }
1110 impl ::std::convert::From<IMediaMarkers> for ::windows::runtime::IUnknown {
from(value: IMediaMarkers) -> Self1111     fn from(value: IMediaMarkers) -> Self {
1112         unsafe { ::std::mem::transmute(value) }
1113     }
1114 }
1115 impl ::std::convert::From<&IMediaMarkers> for ::windows::runtime::IUnknown {
from(value: &IMediaMarkers) -> Self1116     fn from(value: &IMediaMarkers) -> Self {
1117         ::std::convert::From::from(::std::clone::Clone::clone(value))
1118     }
1119 }
1120 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMediaMarkers {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1121     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1122         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1123     }
1124 }
1125 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMediaMarkers {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1126     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1127         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1128     }
1129 }
1130 impl ::std::convert::From<IMediaMarkers> for ::windows::runtime::IInspectable {
from(value: IMediaMarkers) -> Self1131     fn from(value: IMediaMarkers) -> Self {
1132         value.0
1133     }
1134 }
1135 impl ::std::convert::From<&IMediaMarkers> for ::windows::runtime::IInspectable {
from(value: &IMediaMarkers) -> Self1136     fn from(value: &IMediaMarkers) -> Self {
1137         value.0.clone()
1138     }
1139 }
1140 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IMediaMarkers {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1141     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1142         ::windows::runtime::Param::Owned(self.0)
1143     }
1144 }
1145 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IMediaMarkers {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1146     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1147         ::windows::runtime::Param::Borrowed(&self.0)
1148     }
1149 }
1150 #[repr(C)]
1151 #[doc(hidden)]
1152 pub struct IMediaMarkers_abi(
1153     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1159     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1160     #[cfg(not(feature = "Foundation_Collections"))] usize,
1161 );
1162 #[repr(transparent)]
1163 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1164 #[doc(hidden)]
1165 pub struct IMediaProcessingTriggerDetails(::windows::runtime::IInspectable);
1166 unsafe impl ::windows::runtime::Interface for IMediaProcessingTriggerDetails {
1167     type Vtable = IMediaProcessingTriggerDetails_abi;
1168     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3951387820, 41809, 20302, [180, 240, 155, 242, 64, 137, 147, 219]);
1169 }
1170 #[repr(C)]
1171 #[doc(hidden)]
1172 pub struct IMediaProcessingTriggerDetails_abi(
1173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1175     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1176     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1179     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1180     #[cfg(not(feature = "Foundation_Collections"))] usize,
1181 );
1182 #[repr(transparent)]
1183 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1184 #[doc(hidden)]
1185 pub struct IMediaTimelineController(::windows::runtime::IInspectable);
1186 unsafe impl ::windows::runtime::Interface for IMediaTimelineController {
1187     type Vtable = IMediaTimelineController_abi;
1188     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2396217843, 2936, 17248, [191, 113, 12, 132, 25, 153, 234, 27]);
1189 }
1190 #[repr(C)]
1191 #[doc(hidden)]
1192 pub struct IMediaTimelineController_abi(
1193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1198     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1199     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1202     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1203     #[cfg(not(feature = "Foundation"))] usize,
1204     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1205     #[cfg(not(feature = "Foundation"))] usize,
1206     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
1207     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
1208     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MediaTimelineControllerState) -> ::windows::runtime::HRESULT,
1209     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, positionchangedeventhandler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1210     #[cfg(not(feature = "Foundation"))] usize,
1211     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventcookie: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1212     #[cfg(not(feature = "Foundation"))] usize,
1213     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, statechangedeventhandler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1214     #[cfg(not(feature = "Foundation"))] usize,
1215     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventcookie: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1216     #[cfg(not(feature = "Foundation"))] usize,
1217 );
1218 #[repr(transparent)]
1219 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1220 #[doc(hidden)]
1221 pub struct IMediaTimelineController2(::windows::runtime::IInspectable);
1222 unsafe impl ::windows::runtime::Interface for IMediaTimelineController2 {
1223     type Vtable = IMediaTimelineController2_abi;
1224     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4017416760, 40562, 19961, [131, 85, 110, 144, 200, 27, 186, 221]);
1225 }
1226 #[repr(C)]
1227 #[doc(hidden)]
1228 pub struct IMediaTimelineController2_abi(
1229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1234     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1235     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1236     #[cfg(not(feature = "Foundation"))] usize,
1237     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1238     #[cfg(not(feature = "Foundation"))] usize,
1239     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1240     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1241     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventhandler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1242     #[cfg(not(feature = "Foundation"))] usize,
1243     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1244     #[cfg(not(feature = "Foundation"))] usize,
1245     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventhandler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1246     #[cfg(not(feature = "Foundation"))] usize,
1247     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1248     #[cfg(not(feature = "Foundation"))] usize,
1249 );
1250 #[repr(transparent)]
1251 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1252 #[doc(hidden)]
1253 pub struct IMediaTimelineControllerFailedEventArgs(::windows::runtime::IInspectable);
1254 unsafe impl ::windows::runtime::Interface for IMediaTimelineControllerFailedEventArgs {
1255     type Vtable = IMediaTimelineControllerFailedEventArgs_abi;
1256     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2283927581, 15991, 17403, [190, 38, 79, 200, 122, 4, 72, 52]);
1257 }
1258 #[repr(C)]
1259 #[doc(hidden)]
1260 pub struct IMediaTimelineControllerFailedEventArgs_abi(
1261     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1262     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1263     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
1268 );
1269 #[repr(transparent)]
1270 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1271 #[doc(hidden)]
1272 pub struct IMusicDisplayProperties(::windows::runtime::IInspectable);
1273 unsafe impl ::windows::runtime::Interface for IMusicDisplayProperties {
1274     type Vtable = IMusicDisplayProperties_abi;
1275     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1807682649, 53408, 19750, [146, 160, 249, 120, 225, 209, 142, 123]);
1276 }
1277 #[repr(C)]
1278 #[doc(hidden)]
1279 pub struct IMusicDisplayProperties_abi(
1280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1282     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1283     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1292 );
1293 #[repr(transparent)]
1294 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1295 #[doc(hidden)]
1296 pub struct IMusicDisplayProperties2(::windows::runtime::IInspectable);
1297 unsafe impl ::windows::runtime::Interface for IMusicDisplayProperties2 {
1298     type Vtable = IMusicDisplayProperties2_abi;
1299     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3572834, 38867, 17593, [176, 15, 0, 138, 252, 239, 175, 24]);
1300 }
1301 #[repr(C)]
1302 #[doc(hidden)]
1303 pub struct IMusicDisplayProperties2_abi(
1304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1310     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1311     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1312     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT,
1314     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1315     #[cfg(not(feature = "Foundation_Collections"))] usize,
1316 );
1317 #[repr(transparent)]
1318 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1319 #[doc(hidden)]
1320 pub struct IMusicDisplayProperties3(::windows::runtime::IInspectable);
1321 unsafe impl ::windows::runtime::Interface for IMusicDisplayProperties3 {
1322     type Vtable = IMusicDisplayProperties3_abi;
1323     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1303714497, 1665, 20108, [148, 1, 184, 21, 157, 158, 239, 199]);
1324 }
1325 #[repr(C)]
1326 #[doc(hidden)]
1327 pub struct IMusicDisplayProperties3_abi(
1328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1330     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1333     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT,
1336 );
1337 #[repr(transparent)]
1338 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1339 #[doc(hidden)]
1340 pub struct IPlaybackPositionChangeRequestedEventArgs(::windows::runtime::IInspectable);
1341 unsafe impl ::windows::runtime::Interface for IPlaybackPositionChangeRequestedEventArgs {
1342     type Vtable = IPlaybackPositionChangeRequestedEventArgs_abi;
1343     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3024699272, 60200, 18785, [156, 20, 51, 94, 68, 243, 225, 37]);
1344 }
1345 #[repr(C)]
1346 #[doc(hidden)]
1347 pub struct IPlaybackPositionChangeRequestedEventArgs_abi(
1348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1350     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1354     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1355     #[cfg(not(feature = "Foundation"))] usize,
1356 );
1357 #[repr(transparent)]
1358 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1359 #[doc(hidden)]
1360 pub struct IPlaybackRateChangeRequestedEventArgs(::windows::runtime::IInspectable);
1361 unsafe impl ::windows::runtime::Interface for IPlaybackRateChangeRequestedEventArgs {
1362     type Vtable = IPlaybackRateChangeRequestedEventArgs_abi;
1363     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(753058847, 15574, 20343, [155, 167, 235, 39, 194, 106, 33, 64]);
1364 }
1365 #[repr(C)]
1366 #[doc(hidden)]
1367 pub struct IPlaybackRateChangeRequestedEventArgs_abi(
1368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1371     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1372     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1373     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
1375 );
1376 #[repr(transparent)]
1377 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1378 #[doc(hidden)]
1379 pub struct IShuffleEnabledChangeRequestedEventArgs(::windows::runtime::IInspectable);
1380 unsafe impl ::windows::runtime::Interface for IShuffleEnabledChangeRequestedEventArgs {
1381     type Vtable = IShuffleEnabledChangeRequestedEventArgs_abi;
1382     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1236636670, 20432, 18022, [163, 20, 192, 224, 25, 64, 211, 2]);
1383 }
1384 #[repr(C)]
1385 #[doc(hidden)]
1386 pub struct IShuffleEnabledChangeRequestedEventArgs_abi(
1387     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1388     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1390     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1391     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1392     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1393     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1394 );
1395 #[repr(transparent)]
1396 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1397 #[doc(hidden)]
1398 pub struct ISystemMediaTransportControls(::windows::runtime::IInspectable);
1399 unsafe impl ::windows::runtime::Interface for ISystemMediaTransportControls {
1400     type Vtable = ISystemMediaTransportControls_abi;
1401     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2583314420, 5954, 17062, [144, 46, 8, 125, 65, 249, 101, 236]);
1402 }
1403 #[repr(C)]
1404 #[doc(hidden)]
1405 pub struct ISystemMediaTransportControls_abi(
1406     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1408     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1409     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1410     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1412     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MediaPlaybackStatus) -> ::windows::runtime::HRESULT,
1413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: MediaPlaybackStatus) -> ::windows::runtime::HRESULT,
1414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1415     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut SoundLevel) -> ::windows::runtime::HRESULT,
1416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1429     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1438     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1439     #[cfg(not(feature = "Foundation"))] usize,
1440     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1441     #[cfg(not(feature = "Foundation"))] usize,
1442     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1443     #[cfg(not(feature = "Foundation"))] usize,
1444     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1445     #[cfg(not(feature = "Foundation"))] usize,
1446 );
1447 #[repr(transparent)]
1448 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1449 #[doc(hidden)]
1450 pub struct ISystemMediaTransportControls2(::windows::runtime::IInspectable);
1451 unsafe impl ::windows::runtime::Interface for ISystemMediaTransportControls2 {
1452     type Vtable = ISystemMediaTransportControls2_abi;
1453     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3935884022, 32572, 19186, [165, 134, 114, 136, 152, 8, 239, 177]);
1454 }
1455 #[repr(C)]
1456 #[doc(hidden)]
1457 pub struct ISystemMediaTransportControls2_abi(
1458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MediaPlaybackAutoRepeatMode) -> ::windows::runtime::HRESULT,
1465     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: MediaPlaybackAutoRepeatMode) -> ::windows::runtime::HRESULT,
1466     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1467     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1468     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
1469     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
1470     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timelineproperties: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1471     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1472     #[cfg(not(feature = "Foundation"))] usize,
1473     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1474     #[cfg(not(feature = "Foundation"))] usize,
1475     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1476     #[cfg(not(feature = "Foundation"))] usize,
1477     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1478     #[cfg(not(feature = "Foundation"))] usize,
1479     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1480     #[cfg(not(feature = "Foundation"))] usize,
1481     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1482     #[cfg(not(feature = "Foundation"))] usize,
1483     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1484     #[cfg(not(feature = "Foundation"))] usize,
1485     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1486     #[cfg(not(feature = "Foundation"))] usize,
1487 );
1488 #[repr(transparent)]
1489 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1490 #[doc(hidden)]
1491 pub struct ISystemMediaTransportControlsButtonPressedEventArgs(::windows::runtime::IInspectable);
1492 unsafe impl ::windows::runtime::Interface for ISystemMediaTransportControlsButtonPressedEventArgs {
1493     type Vtable = ISystemMediaTransportControlsButtonPressedEventArgs_abi;
1494     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3086250262, 42351, 19912, [158, 17, 146, 3, 31, 74, 135, 194]);
1495 }
1496 #[repr(C)]
1497 #[doc(hidden)]
1498 pub struct ISystemMediaTransportControlsButtonPressedEventArgs_abi(
1499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1503     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1504     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut SystemMediaTransportControlsButton) -> ::windows::runtime::HRESULT,
1506 );
1507 #[repr(transparent)]
1508 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1509 #[doc(hidden)]
1510 pub struct ISystemMediaTransportControlsDisplayUpdater(::windows::runtime::IInspectable);
1511 unsafe impl ::windows::runtime::Interface for ISystemMediaTransportControlsDisplayUpdater {
1512     type Vtable = ISystemMediaTransportControlsDisplayUpdater_abi;
1513     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2327561534, 64085, 20175, [173, 142, 201, 132, 229, 221, 21, 80]);
1514 }
1515 #[repr(C)]
1516 #[doc(hidden)]
1517 pub struct ISystemMediaTransportControlsDisplayUpdater_abi(
1518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MediaPlaybackType) -> ::windows::runtime::HRESULT,
1525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: MediaPlaybackType) -> ::windows::runtime::HRESULT,
1526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1528     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1529     #[cfg(not(feature = "Storage_Streams"))] usize,
1530     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1531     #[cfg(not(feature = "Storage_Streams"))] usize,
1532     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1533     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1534     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1535     #[cfg(all(feature = "Foundation", feature = "Storage"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, r#type: MediaPlaybackType, source: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1536     #[cfg(not(all(feature = "Foundation", feature = "Storage")))] usize,
1537     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1538     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1539 );
1540 #[repr(transparent)]
1541 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1542 #[doc(hidden)]
1543 pub struct ISystemMediaTransportControlsPropertyChangedEventArgs(::windows::runtime::IInspectable);
1544 unsafe impl ::windows::runtime::Interface for ISystemMediaTransportControlsPropertyChangedEventArgs {
1545     type Vtable = ISystemMediaTransportControlsPropertyChangedEventArgs_abi;
1546     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3502901558, 13211, 19635, [142, 235, 115, 118, 7, 245, 110, 8]);
1547 }
1548 #[repr(C)]
1549 #[doc(hidden)]
1550 pub struct ISystemMediaTransportControlsPropertyChangedEventArgs_abi(
1551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1557     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut SystemMediaTransportControlsProperty) -> ::windows::runtime::HRESULT,
1558 );
1559 #[repr(transparent)]
1560 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1561 #[doc(hidden)]
1562 pub struct ISystemMediaTransportControlsStatics(::windows::runtime::IInspectable);
1563 unsafe impl ::windows::runtime::Interface for ISystemMediaTransportControlsStatics {
1564     type Vtable = ISystemMediaTransportControlsStatics_abi;
1565     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1136277514, 60580, 18482, [145, 171, 212, 21, 250, 228, 132, 198]);
1566 }
1567 #[repr(C)]
1568 #[doc(hidden)]
1569 pub struct ISystemMediaTransportControlsStatics_abi(
1570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1577 );
1578 #[repr(transparent)]
1579 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1580 #[doc(hidden)]
1581 pub struct ISystemMediaTransportControlsTimelineProperties(::windows::runtime::IInspectable);
1582 unsafe impl ::windows::runtime::Interface for ISystemMediaTransportControlsTimelineProperties {
1583     type Vtable = ISystemMediaTransportControlsTimelineProperties_abi;
1584     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1361391978, 50082, 18267, [133, 7, 147, 83, 77, 200, 143, 21]);
1585 }
1586 #[repr(C)]
1587 #[doc(hidden)]
1588 pub struct ISystemMediaTransportControlsTimelineProperties_abi(
1589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1591     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1592     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1593     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1594     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1595     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1596     #[cfg(not(feature = "Foundation"))] usize,
1597     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1598     #[cfg(not(feature = "Foundation"))] usize,
1599     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1600     #[cfg(not(feature = "Foundation"))] usize,
1601     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1602     #[cfg(not(feature = "Foundation"))] usize,
1603     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1604     #[cfg(not(feature = "Foundation"))] usize,
1605     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1606     #[cfg(not(feature = "Foundation"))] usize,
1607     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1608     #[cfg(not(feature = "Foundation"))] usize,
1609     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1610     #[cfg(not(feature = "Foundation"))] usize,
1611     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1612     #[cfg(not(feature = "Foundation"))] usize,
1613     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1614     #[cfg(not(feature = "Foundation"))] usize,
1615 );
1616 #[repr(transparent)]
1617 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1618 #[doc(hidden)]
1619 pub struct IVideoDisplayProperties(::windows::runtime::IInspectable);
1620 unsafe impl ::windows::runtime::Interface for IVideoDisplayProperties {
1621     type Vtable = IVideoDisplayProperties_abi;
1622     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1443495345, 23853, 18546, [129, 112, 69, 222, 229, 188, 47, 92]);
1623 }
1624 #[repr(C)]
1625 #[doc(hidden)]
1626 pub struct IVideoDisplayProperties_abi(
1627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1630     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1633     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1634     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1636     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1637 );
1638 #[repr(transparent)]
1639 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1640 #[doc(hidden)]
1641 pub struct IVideoDisplayProperties2(::windows::runtime::IInspectable);
1642 unsafe impl ::windows::runtime::Interface for IVideoDisplayProperties2 {
1643     type Vtable = IVideoDisplayProperties2_abi;
1644     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3021005262, 43858, 16811, [164, 134, 204, 16, 250, 177, 82, 249]);
1645 }
1646 #[repr(C)]
1647 #[doc(hidden)]
1648 pub struct IVideoDisplayProperties2_abi(
1649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1651     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1654     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1655     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1656     #[cfg(not(feature = "Foundation_Collections"))] usize,
1657 );
1658 #[repr(transparent)]
1659 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1660 #[doc(hidden)]
1661 pub struct IVideoEffectsStatics(::windows::runtime::IInspectable);
1662 unsafe impl ::windows::runtime::Interface for IVideoEffectsStatics {
1663     type Vtable = IVideoEffectsStatics_abi;
1664     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(533571048, 47857, 17697, [152, 12, 59, 206, 187, 68, 207, 56]);
1665 }
1666 #[repr(C)]
1667 #[doc(hidden)]
1668 pub struct IVideoEffectsStatics_abi(
1669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1673     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1675     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1676 );
1677 #[repr(transparent)]
1678 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1679 #[doc(hidden)]
1680 pub struct IVideoFrame(::windows::runtime::IInspectable);
1681 unsafe impl ::windows::runtime::Interface for IVideoFrame {
1682     type Vtable = IVideoFrame_abi;
1683     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(213935653, 37116, 19602, [189, 149, 125, 237, 33, 129, 157, 28]);
1684 }
1685 #[repr(C)]
1686 #[doc(hidden)]
1687 pub struct IVideoFrame_abi(
1688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1693     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1694     #[cfg(feature = "Graphics_Imaging")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1695     #[cfg(not(feature = "Graphics_Imaging"))] usize,
1696     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, frame: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1697     #[cfg(not(feature = "Foundation"))] usize,
1698     #[cfg(feature = "Graphics_DirectX_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1699     #[cfg(not(feature = "Graphics_DirectX_Direct3D11"))] usize,
1700 );
1701 #[repr(transparent)]
1702 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1703 #[doc(hidden)]
1704 pub struct IVideoFrame2(::windows::runtime::IInspectable);
1705 unsafe impl ::windows::runtime::Interface for IVideoFrame2 {
1706     type Vtable = IVideoFrame2_abi;
1707     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(943162381, 13164, 17254, [141, 70, 6, 7, 152, 115, 108, 93]);
1708 }
1709 #[repr(C)]
1710 #[doc(hidden)]
1711 pub struct IVideoFrame2_abi(
1712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1713     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1714     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1718     #[cfg(all(feature = "Foundation", feature = "Graphics_Imaging"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, frame: ::windows::runtime::RawPtr, sourcebounds: ::windows::runtime::RawPtr, destinationbounds: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1719     #[cfg(not(all(feature = "Foundation", feature = "Graphics_Imaging")))] usize,
1720 );
1721 #[repr(transparent)]
1722 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1723 #[doc(hidden)]
1724 pub struct IVideoFrameFactory(::windows::runtime::IInspectable);
1725 unsafe impl ::windows::runtime::Interface for IVideoFrameFactory {
1726     type Vtable = IVideoFrameFactory_abi;
1727     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(21720425, 8744, 19602, [146, 255, 80, 195, 128, 211, 231, 118]);
1728 }
1729 #[repr(C)]
1730 #[doc(hidden)]
1731 pub struct IVideoFrameFactory_abi(
1732     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1733     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1734     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1738     #[cfg(feature = "Graphics_Imaging")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: super::Graphics::Imaging::BitmapPixelFormat, width: i32, height: i32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1739     #[cfg(not(feature = "Graphics_Imaging"))] usize,
1740     #[cfg(feature = "Graphics_Imaging")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: super::Graphics::Imaging::BitmapPixelFormat, width: i32, height: i32, alpha: super::Graphics::Imaging::BitmapAlphaMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1741     #[cfg(not(feature = "Graphics_Imaging"))] usize,
1742 );
1743 #[repr(transparent)]
1744 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1745 #[doc(hidden)]
1746 pub struct IVideoFrameStatics(::windows::runtime::IInspectable);
1747 unsafe impl ::windows::runtime::Interface for IVideoFrameStatics {
1748     type Vtable = IVideoFrameStatics_abi;
1749     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2871678319, 24849, 19251, [142, 195, 43, 32, 154, 2, 225, 122]);
1750 }
1751 #[repr(C)]
1752 #[doc(hidden)]
1753 pub struct IVideoFrameStatics_abi(
1754     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1756     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1757     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1758     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1759     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1760     #[cfg(feature = "Graphics_DirectX")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: super::Graphics::DirectX::DirectXPixelFormat, width: i32, height: i32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1761     #[cfg(not(feature = "Graphics_DirectX"))] usize,
1762     #[cfg(all(feature = "Graphics_DirectX", feature = "Graphics_DirectX_Direct3D11"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, format: super::Graphics::DirectX::DirectXPixelFormat, width: i32, height: i32, device: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1763     #[cfg(not(all(feature = "Graphics_DirectX", feature = "Graphics_DirectX_Direct3D11")))] usize,
1764     #[cfg(feature = "Graphics_Imaging")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bitmap: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1765     #[cfg(not(feature = "Graphics_Imaging"))] usize,
1766     #[cfg(feature = "Graphics_DirectX_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, surface: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1767     #[cfg(not(feature = "Graphics_DirectX_Direct3D11"))] usize,
1768 );
1769 #[repr(transparent)]
1770 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1771 pub struct ImageDisplayProperties(::windows::runtime::IInspectable);
1772 impl ImageDisplayProperties {
Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1773     pub fn Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1774         let this = self;
1775         unsafe {
1776             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1777             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1778         }
1779     }
SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1780     pub fn SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1781         let this = self;
1782         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1783     }
Subtitle(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1784     pub fn Subtitle(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1785         let this = self;
1786         unsafe {
1787             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1788             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1789         }
1790     }
SetSubtitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>1791     pub fn SetSubtitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
1792         let this = self;
1793         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
1794     }
1795 }
1796 unsafe impl ::windows::runtime::RuntimeType for ImageDisplayProperties {
1797     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.ImageDisplayProperties;{cd0bc7ef-54e7-411f-9933-f0e98b0a96d2})");
1798 }
1799 unsafe impl ::windows::runtime::Interface for ImageDisplayProperties {
1800     type Vtable = IImageDisplayProperties_abi;
1801     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3440101359, 21735, 16671, [153, 51, 240, 233, 139, 10, 150, 210]);
1802 }
1803 impl ::windows::runtime::RuntimeName for ImageDisplayProperties {
1804     const NAME: &'static str = "Windows.Media.ImageDisplayProperties";
1805 }
1806 impl ::std::convert::From<ImageDisplayProperties> for ::windows::runtime::IUnknown {
from(value: ImageDisplayProperties) -> Self1807     fn from(value: ImageDisplayProperties) -> Self {
1808         unsafe { ::std::mem::transmute(value) }
1809     }
1810 }
1811 impl ::std::convert::From<&ImageDisplayProperties> for ::windows::runtime::IUnknown {
from(value: &ImageDisplayProperties) -> Self1812     fn from(value: &ImageDisplayProperties) -> Self {
1813         ::std::convert::From::from(::std::clone::Clone::clone(value))
1814     }
1815 }
1816 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ImageDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1817     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1818         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1819     }
1820 }
1821 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ImageDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1822     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1823         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1824     }
1825 }
1826 impl ::std::convert::From<ImageDisplayProperties> for ::windows::runtime::IInspectable {
from(value: ImageDisplayProperties) -> Self1827     fn from(value: ImageDisplayProperties) -> Self {
1828         value.0
1829     }
1830 }
1831 impl ::std::convert::From<&ImageDisplayProperties> for ::windows::runtime::IInspectable {
from(value: &ImageDisplayProperties) -> Self1832     fn from(value: &ImageDisplayProperties) -> Self {
1833         value.0.clone()
1834     }
1835 }
1836 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ImageDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1837     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1838         ::windows::runtime::Param::Owned(self.0)
1839     }
1840 }
1841 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ImageDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1842     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1843         ::windows::runtime::Param::Borrowed(&self.0)
1844     }
1845 }
1846 unsafe impl ::std::marker::Send for ImageDisplayProperties {}
1847 unsafe impl ::std::marker::Sync for ImageDisplayProperties {}
1848 pub struct MediaControl {}
1849 impl MediaControl {
1850     #[cfg(feature = "deprecated")]
1851     #[cfg(feature = "Foundation")]
SoundLevelChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>1852     pub fn SoundLevelChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
1853         Self::IMediaControl(|this| unsafe {
1854             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1855             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
1856         })
1857     }
1858     #[cfg(feature = "deprecated")]
1859     #[cfg(feature = "Foundation")]
RemoveSoundLevelChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()>1860     pub fn RemoveSoundLevelChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()> {
1861         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() })
1862     }
1863     #[cfg(feature = "deprecated")]
1864     #[cfg(feature = "Foundation")]
PlayPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>1865     pub fn PlayPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
1866         Self::IMediaControl(|this| unsafe {
1867             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1868             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
1869         })
1870     }
1871     #[cfg(feature = "deprecated")]
1872     #[cfg(feature = "Foundation")]
RemovePlayPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()>1873     pub fn RemovePlayPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()> {
1874         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() })
1875     }
1876     #[cfg(feature = "deprecated")]
1877     #[cfg(feature = "Foundation")]
PausePressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>1878     pub fn PausePressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
1879         Self::IMediaControl(|this| unsafe {
1880             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1881             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
1882         })
1883     }
1884     #[cfg(feature = "deprecated")]
1885     #[cfg(feature = "Foundation")]
RemovePausePressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()>1886     pub fn RemovePausePressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()> {
1887         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() })
1888     }
1889     #[cfg(feature = "deprecated")]
1890     #[cfg(feature = "Foundation")]
StopPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>1891     pub fn StopPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
1892         Self::IMediaControl(|this| unsafe {
1893             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1894             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
1895         })
1896     }
1897     #[cfg(feature = "deprecated")]
1898     #[cfg(feature = "Foundation")]
RemoveStopPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()>1899     pub fn RemoveStopPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()> {
1900         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() })
1901     }
1902     #[cfg(feature = "deprecated")]
1903     #[cfg(feature = "Foundation")]
PlayPauseTogglePressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>1904     pub fn PlayPauseTogglePressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
1905         Self::IMediaControl(|this| unsafe {
1906             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1907             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
1908         })
1909     }
1910     #[cfg(feature = "deprecated")]
1911     #[cfg(feature = "Foundation")]
RemovePlayPauseTogglePressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()>1912     pub fn RemovePlayPauseTogglePressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()> {
1913         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() })
1914     }
1915     #[cfg(feature = "deprecated")]
1916     #[cfg(feature = "Foundation")]
RecordPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>1917     pub fn RecordPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
1918         Self::IMediaControl(|this| unsafe {
1919             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1920             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
1921         })
1922     }
1923     #[cfg(feature = "deprecated")]
1924     #[cfg(feature = "Foundation")]
RemoveRecordPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()>1925     pub fn RemoveRecordPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()> {
1926         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() })
1927     }
1928     #[cfg(feature = "deprecated")]
1929     #[cfg(feature = "Foundation")]
NextTrackPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>1930     pub fn NextTrackPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
1931         Self::IMediaControl(|this| unsafe {
1932             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1933             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
1934         })
1935     }
1936     #[cfg(feature = "deprecated")]
1937     #[cfg(feature = "Foundation")]
RemoveNextTrackPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()>1938     pub fn RemoveNextTrackPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()> {
1939         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() })
1940     }
1941     #[cfg(feature = "deprecated")]
1942     #[cfg(feature = "Foundation")]
PreviousTrackPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>1943     pub fn PreviousTrackPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
1944         Self::IMediaControl(|this| unsafe {
1945             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1946             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
1947         })
1948     }
1949     #[cfg(feature = "deprecated")]
1950     #[cfg(feature = "Foundation")]
RemovePreviousTrackPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()>1951     pub fn RemovePreviousTrackPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()> {
1952         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() })
1953     }
1954     #[cfg(feature = "deprecated")]
1955     #[cfg(feature = "Foundation")]
FastForwardPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>1956     pub fn FastForwardPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
1957         Self::IMediaControl(|this| unsafe {
1958             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1959             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
1960         })
1961     }
1962     #[cfg(feature = "deprecated")]
1963     #[cfg(feature = "Foundation")]
RemoveFastForwardPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()>1964     pub fn RemoveFastForwardPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()> {
1965         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() })
1966     }
1967     #[cfg(feature = "deprecated")]
1968     #[cfg(feature = "Foundation")]
RewindPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>1969     pub fn RewindPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
1970         Self::IMediaControl(|this| unsafe {
1971             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1972             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
1973         })
1974     }
1975     #[cfg(feature = "deprecated")]
1976     #[cfg(feature = "Foundation")]
RemoveRewindPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()>1977     pub fn RemoveRewindPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()> {
1978         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() })
1979     }
1980     #[cfg(feature = "deprecated")]
1981     #[cfg(feature = "Foundation")]
ChannelUpPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>1982     pub fn ChannelUpPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
1983         Self::IMediaControl(|this| unsafe {
1984             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1985             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
1986         })
1987     }
1988     #[cfg(feature = "deprecated")]
1989     #[cfg(feature = "Foundation")]
RemoveChannelUpPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()>1990     pub fn RemoveChannelUpPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()> {
1991         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() })
1992     }
1993     #[cfg(feature = "deprecated")]
1994     #[cfg(feature = "Foundation")]
ChannelDownPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>1995     pub fn ChannelDownPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
1996         Self::IMediaControl(|this| unsafe {
1997             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1998             (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
1999         })
2000     }
2001     #[cfg(feature = "deprecated")]
2002     #[cfg(feature = "Foundation")]
RemoveChannelDownPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()>2003     pub fn RemoveChannelDownPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(cookie: Param0) -> ::windows::runtime::Result<()> {
2004         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() })
2005     }
2006     #[cfg(feature = "deprecated")]
SoundLevel() -> ::windows::runtime::Result<SoundLevel>2007     pub fn SoundLevel() -> ::windows::runtime::Result<SoundLevel> {
2008         Self::IMediaControl(|this| unsafe {
2009             let mut result__: SoundLevel = ::std::mem::zeroed();
2010             (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SoundLevel>(result__)
2011         })
2012     }
2013     #[cfg(feature = "deprecated")]
SetTrackName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(value: Param0) -> ::windows::runtime::Result<()>2014     pub fn SetTrackName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(value: Param0) -> ::windows::runtime::Result<()> {
2015         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() })
2016     }
2017     #[cfg(feature = "deprecated")]
TrackName() -> ::windows::runtime::Result<::windows::runtime::HSTRING>2018     pub fn TrackName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2019         Self::IMediaControl(|this| unsafe {
2020             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2021             (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2022         })
2023     }
2024     #[cfg(feature = "deprecated")]
SetArtistName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(value: Param0) -> ::windows::runtime::Result<()>2025     pub fn SetArtistName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(value: Param0) -> ::windows::runtime::Result<()> {
2026         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() })
2027     }
2028     #[cfg(feature = "deprecated")]
ArtistName() -> ::windows::runtime::Result<::windows::runtime::HSTRING>2029     pub fn ArtistName() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2030         Self::IMediaControl(|this| unsafe {
2031             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2032             (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2033         })
2034     }
2035     #[cfg(feature = "deprecated")]
SetIsPlaying(value: bool) -> ::windows::runtime::Result<()>2036     pub fn SetIsPlaying(value: bool) -> ::windows::runtime::Result<()> {
2037         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), value).ok() })
2038     }
2039     #[cfg(feature = "deprecated")]
IsPlaying() -> ::windows::runtime::Result<bool>2040     pub fn IsPlaying() -> ::windows::runtime::Result<bool> {
2041         Self::IMediaControl(|this| unsafe {
2042             let mut result__: bool = ::std::mem::zeroed();
2043             (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2044         })
2045     }
2046     #[cfg(feature = "deprecated")]
2047     #[cfg(feature = "Foundation")]
SetAlbumArt<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(value: Param0) -> ::windows::runtime::Result<()>2048     pub fn SetAlbumArt<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::Uri>>(value: Param0) -> ::windows::runtime::Result<()> {
2049         Self::IMediaControl(|this| unsafe { (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() })
2050     }
2051     #[cfg(feature = "deprecated")]
2052     #[cfg(feature = "Foundation")]
AlbumArt() -> ::windows::runtime::Result<super::Foundation::Uri>2053     pub fn AlbumArt() -> ::windows::runtime::Result<super::Foundation::Uri> {
2054         Self::IMediaControl(|this| unsafe {
2055             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2056             (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Uri>(result__)
2057         })
2058     }
IMediaControl<R, F: FnOnce(&IMediaControl) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2059     pub fn IMediaControl<R, F: FnOnce(&IMediaControl) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2060         static mut SHARED: ::windows::runtime::FactoryCache<MediaControl, IMediaControl> = ::windows::runtime::FactoryCache::new();
2061         unsafe { SHARED.call(callback) }
2062     }
2063 }
2064 impl ::windows::runtime::RuntimeName for MediaControl {
2065     const NAME: &'static str = "Windows.Media.MediaControl";
2066 }
2067 #[repr(C)]
2068 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)]
2069 pub struct MediaControlContract(pub u8);
2070 #[repr(transparent)]
2071 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2072 pub struct MediaExtensionManager(::windows::runtime::IInspectable);
2073 impl MediaExtensionManager {
new() -> ::windows::runtime::Result<Self>2074     pub fn new() -> ::windows::runtime::Result<Self> {
2075         Self::IActivationFactory(|f| f.activate_instance::<Self>())
2076     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2077     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2078         static mut SHARED: ::windows::runtime::FactoryCache<MediaExtensionManager, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
2079         unsafe { SHARED.call(callback) }
2080     }
RegisterSchemeHandler<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, activatableclassid: Param0, scheme: Param1) -> ::windows::runtime::Result<()>2081     pub fn RegisterSchemeHandler<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, activatableclassid: Param0, scheme: Param1) -> ::windows::runtime::Result<()> {
2082         let this = self;
2083         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), activatableclassid.into_param().abi(), scheme.into_param().abi()).ok() }
2084     }
2085     #[cfg(feature = "Foundation_Collections")]
RegisterSchemeHandlerWithSettings<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, scheme: Param1, configuration: Param2) -> ::windows::runtime::Result<()>2086     pub fn RegisterSchemeHandlerWithSettings<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, scheme: Param1, configuration: Param2) -> ::windows::runtime::Result<()> {
2087         let this = self;
2088         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), activatableclassid.into_param().abi(), scheme.into_param().abi(), configuration.into_param().abi()).ok() }
2089     }
RegisterByteStreamHandler<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, activatableclassid: Param0, fileextension: Param1, mimetype: Param2) -> ::windows::runtime::Result<()>2090     pub fn RegisterByteStreamHandler<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, activatableclassid: Param0, fileextension: Param1, mimetype: Param2) -> ::windows::runtime::Result<()> {
2091         let this = self;
2092         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), activatableclassid.into_param().abi(), fileextension.into_param().abi(), mimetype.into_param().abi()).ok() }
2093     }
2094     #[cfg(feature = "Foundation_Collections")]
RegisterByteStreamHandlerWithSettings<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, fileextension: Param1, mimetype: Param2, configuration: Param3) -> ::windows::runtime::Result<()>2095     pub fn RegisterByteStreamHandlerWithSettings<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, fileextension: Param1, mimetype: Param2, configuration: Param3) -> ::windows::runtime::Result<()> {
2096         let this = self;
2097         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), activatableclassid.into_param().abi(), fileextension.into_param().abi(), mimetype.into_param().abi(), configuration.into_param().abi()).ok() }
2098     }
RegisterAudioDecoder<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2) -> ::windows::runtime::Result<()>2099     pub fn RegisterAudioDecoder<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2) -> ::windows::runtime::Result<()> {
2100         let this = self;
2101         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), activatableclassid.into_param().abi(), inputsubtype.into_param().abi(), outputsubtype.into_param().abi()).ok() }
2102     }
2103     #[cfg(feature = "Foundation_Collections")]
RegisterAudioDecoderWithSettings<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2, configuration: Param3) -> ::windows::runtime::Result<()>2104     pub fn RegisterAudioDecoderWithSettings<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2, configuration: Param3) -> ::windows::runtime::Result<()> {
2105         let this = self;
2106         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), activatableclassid.into_param().abi(), inputsubtype.into_param().abi(), outputsubtype.into_param().abi(), configuration.into_param().abi()).ok() }
2107     }
RegisterAudioEncoder<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2) -> ::windows::runtime::Result<()>2108     pub fn RegisterAudioEncoder<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2) -> ::windows::runtime::Result<()> {
2109         let this = self;
2110         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), activatableclassid.into_param().abi(), inputsubtype.into_param().abi(), outputsubtype.into_param().abi()).ok() }
2111     }
2112     #[cfg(feature = "Foundation_Collections")]
RegisterAudioEncoderWithSettings<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2, configuration: Param3) -> ::windows::runtime::Result<()>2113     pub fn RegisterAudioEncoderWithSettings<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2, configuration: Param3) -> ::windows::runtime::Result<()> {
2114         let this = self;
2115         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), activatableclassid.into_param().abi(), inputsubtype.into_param().abi(), outputsubtype.into_param().abi(), configuration.into_param().abi()).ok() }
2116     }
RegisterVideoDecoder<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2) -> ::windows::runtime::Result<()>2117     pub fn RegisterVideoDecoder<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2) -> ::windows::runtime::Result<()> {
2118         let this = self;
2119         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), activatableclassid.into_param().abi(), inputsubtype.into_param().abi(), outputsubtype.into_param().abi()).ok() }
2120     }
2121     #[cfg(feature = "Foundation_Collections")]
RegisterVideoDecoderWithSettings<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2, configuration: Param3) -> ::windows::runtime::Result<()>2122     pub fn RegisterVideoDecoderWithSettings<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2, configuration: Param3) -> ::windows::runtime::Result<()> {
2123         let this = self;
2124         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), activatableclassid.into_param().abi(), inputsubtype.into_param().abi(), outputsubtype.into_param().abi(), configuration.into_param().abi()).ok() }
2125     }
RegisterVideoEncoder<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2) -> ::windows::runtime::Result<()>2126     pub fn RegisterVideoEncoder<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2) -> ::windows::runtime::Result<()> {
2127         let this = self;
2128         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), activatableclassid.into_param().abi(), inputsubtype.into_param().abi(), outputsubtype.into_param().abi()).ok() }
2129     }
2130     #[cfg(feature = "Foundation_Collections")]
RegisterVideoEncoderWithSettings<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2, configuration: Param3) -> ::windows::runtime::Result<()>2131     pub fn RegisterVideoEncoderWithSettings<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>, Param3: ::windows::runtime::IntoParam<'a, super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, inputsubtype: Param1, outputsubtype: Param2, configuration: Param3) -> ::windows::runtime::Result<()> {
2132         let this = self;
2133         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), activatableclassid.into_param().abi(), inputsubtype.into_param().abi(), outputsubtype.into_param().abi(), configuration.into_param().abi()).ok() }
2134     }
2135     #[cfg(feature = "ApplicationModel_AppService")]
RegisterMediaExtensionForAppService<'a, Param0: ::windows::runtime::IntoParam<'a, IMediaExtension>, Param1: ::windows::runtime::IntoParam<'a, super::ApplicationModel::AppService::AppServiceConnection>>(&self, extension: Param0, connection: Param1) -> ::windows::runtime::Result<()>2136     pub fn RegisterMediaExtensionForAppService<'a, Param0: ::windows::runtime::IntoParam<'a, IMediaExtension>, Param1: ::windows::runtime::IntoParam<'a, super::ApplicationModel::AppService::AppServiceConnection>>(&self, extension: Param0, connection: Param1) -> ::windows::runtime::Result<()> {
2137         let this = &::windows::runtime::Interface::cast::<IMediaExtensionManager2>(self)?;
2138         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), extension.into_param().abi(), connection.into_param().abi()).ok() }
2139     }
2140 }
2141 unsafe impl ::windows::runtime::RuntimeType for MediaExtensionManager {
2142     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.MediaExtensionManager;{4a25eaf5-242d-4dfb-97f4-69b7c42576ff})");
2143 }
2144 unsafe impl ::windows::runtime::Interface for MediaExtensionManager {
2145     type Vtable = IMediaExtensionManager_abi;
2146     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1243998965, 9261, 19963, [151, 244, 105, 183, 196, 37, 118, 255]);
2147 }
2148 impl ::windows::runtime::RuntimeName for MediaExtensionManager {
2149     const NAME: &'static str = "Windows.Media.MediaExtensionManager";
2150 }
2151 impl ::std::convert::From<MediaExtensionManager> for ::windows::runtime::IUnknown {
from(value: MediaExtensionManager) -> Self2152     fn from(value: MediaExtensionManager) -> Self {
2153         unsafe { ::std::mem::transmute(value) }
2154     }
2155 }
2156 impl ::std::convert::From<&MediaExtensionManager> for ::windows::runtime::IUnknown {
from(value: &MediaExtensionManager) -> Self2157     fn from(value: &MediaExtensionManager) -> Self {
2158         ::std::convert::From::from(::std::clone::Clone::clone(value))
2159     }
2160 }
2161 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaExtensionManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2162     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2163         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2164     }
2165 }
2166 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaExtensionManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2167     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2168         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2169     }
2170 }
2171 impl ::std::convert::From<MediaExtensionManager> for ::windows::runtime::IInspectable {
from(value: MediaExtensionManager) -> Self2172     fn from(value: MediaExtensionManager) -> Self {
2173         value.0
2174     }
2175 }
2176 impl ::std::convert::From<&MediaExtensionManager> for ::windows::runtime::IInspectable {
from(value: &MediaExtensionManager) -> Self2177     fn from(value: &MediaExtensionManager) -> Self {
2178         value.0.clone()
2179     }
2180 }
2181 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaExtensionManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2182     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2183         ::windows::runtime::Param::Owned(self.0)
2184     }
2185 }
2186 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaExtensionManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2187     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2188         ::windows::runtime::Param::Borrowed(&self.0)
2189     }
2190 }
2191 unsafe impl ::std::marker::Send for MediaExtensionManager {}
2192 unsafe impl ::std::marker::Sync for MediaExtensionManager {}
2193 pub struct MediaMarkerTypes {}
2194 impl MediaMarkerTypes {
Bookmark() -> ::windows::runtime::Result<::windows::runtime::HSTRING>2195     pub fn Bookmark() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2196         Self::IMediaMarkerTypesStatics(|this| unsafe {
2197             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2198             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2199         })
2200     }
IMediaMarkerTypesStatics<R, F: FnOnce(&IMediaMarkerTypesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2201     pub fn IMediaMarkerTypesStatics<R, F: FnOnce(&IMediaMarkerTypesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2202         static mut SHARED: ::windows::runtime::FactoryCache<MediaMarkerTypes, IMediaMarkerTypesStatics> = ::windows::runtime::FactoryCache::new();
2203         unsafe { SHARED.call(callback) }
2204     }
2205 }
2206 impl ::windows::runtime::RuntimeName for MediaMarkerTypes {
2207     const NAME: &'static str = "Windows.Media.MediaMarkerTypes";
2208 }
2209 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2210 #[repr(transparent)]
2211 pub struct MediaPlaybackAutoRepeatMode(pub i32);
2212 impl MediaPlaybackAutoRepeatMode {
2213     pub const None: MediaPlaybackAutoRepeatMode = MediaPlaybackAutoRepeatMode(0i32);
2214     pub const Track: MediaPlaybackAutoRepeatMode = MediaPlaybackAutoRepeatMode(1i32);
2215     pub const List: MediaPlaybackAutoRepeatMode = MediaPlaybackAutoRepeatMode(2i32);
2216 }
2217 impl ::std::convert::From<i32> for MediaPlaybackAutoRepeatMode {
from(value: i32) -> Self2218     fn from(value: i32) -> Self {
2219         Self(value)
2220     }
2221 }
2222 unsafe impl ::windows::runtime::Abi for MediaPlaybackAutoRepeatMode {
2223     type Abi = Self;
2224     type DefaultType = Self;
2225 }
2226 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackAutoRepeatMode {
2227     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.MediaPlaybackAutoRepeatMode;i4)");
2228 }
2229 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2230 #[repr(transparent)]
2231 pub struct MediaPlaybackStatus(pub i32);
2232 impl MediaPlaybackStatus {
2233     pub const Closed: MediaPlaybackStatus = MediaPlaybackStatus(0i32);
2234     pub const Changing: MediaPlaybackStatus = MediaPlaybackStatus(1i32);
2235     pub const Stopped: MediaPlaybackStatus = MediaPlaybackStatus(2i32);
2236     pub const Playing: MediaPlaybackStatus = MediaPlaybackStatus(3i32);
2237     pub const Paused: MediaPlaybackStatus = MediaPlaybackStatus(4i32);
2238 }
2239 impl ::std::convert::From<i32> for MediaPlaybackStatus {
from(value: i32) -> Self2240     fn from(value: i32) -> Self {
2241         Self(value)
2242     }
2243 }
2244 unsafe impl ::windows::runtime::Abi for MediaPlaybackStatus {
2245     type Abi = Self;
2246     type DefaultType = Self;
2247 }
2248 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackStatus {
2249     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.MediaPlaybackStatus;i4)");
2250 }
2251 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2252 #[repr(transparent)]
2253 pub struct MediaPlaybackType(pub i32);
2254 impl MediaPlaybackType {
2255     pub const Unknown: MediaPlaybackType = MediaPlaybackType(0i32);
2256     pub const Music: MediaPlaybackType = MediaPlaybackType(1i32);
2257     pub const Video: MediaPlaybackType = MediaPlaybackType(2i32);
2258     pub const Image: MediaPlaybackType = MediaPlaybackType(3i32);
2259 }
2260 impl ::std::convert::From<i32> for MediaPlaybackType {
from(value: i32) -> Self2261     fn from(value: i32) -> Self {
2262         Self(value)
2263     }
2264 }
2265 unsafe impl ::windows::runtime::Abi for MediaPlaybackType {
2266     type Abi = Self;
2267     type DefaultType = Self;
2268 }
2269 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackType {
2270     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.MediaPlaybackType;i4)");
2271 }
2272 #[repr(transparent)]
2273 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2274 pub struct MediaProcessingTriggerDetails(::windows::runtime::IInspectable);
2275 impl MediaProcessingTriggerDetails {
2276     #[cfg(feature = "Foundation_Collections")]
Arguments(&self) -> ::windows::runtime::Result<super::Foundation::Collections::ValueSet>2277     pub fn Arguments(&self) -> ::windows::runtime::Result<super::Foundation::Collections::ValueSet> {
2278         let this = self;
2279         unsafe {
2280             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2281             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::ValueSet>(result__)
2282         }
2283     }
2284 }
2285 unsafe impl ::windows::runtime::RuntimeType for MediaProcessingTriggerDetails {
2286     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.MediaProcessingTriggerDetails;{eb8564ac-a351-4f4e-b4f0-9bf2408993db})");
2287 }
2288 unsafe impl ::windows::runtime::Interface for MediaProcessingTriggerDetails {
2289     type Vtable = IMediaProcessingTriggerDetails_abi;
2290     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3951387820, 41809, 20302, [180, 240, 155, 242, 64, 137, 147, 219]);
2291 }
2292 impl ::windows::runtime::RuntimeName for MediaProcessingTriggerDetails {
2293     const NAME: &'static str = "Windows.Media.MediaProcessingTriggerDetails";
2294 }
2295 impl ::std::convert::From<MediaProcessingTriggerDetails> for ::windows::runtime::IUnknown {
from(value: MediaProcessingTriggerDetails) -> Self2296     fn from(value: MediaProcessingTriggerDetails) -> Self {
2297         unsafe { ::std::mem::transmute(value) }
2298     }
2299 }
2300 impl ::std::convert::From<&MediaProcessingTriggerDetails> for ::windows::runtime::IUnknown {
from(value: &MediaProcessingTriggerDetails) -> Self2301     fn from(value: &MediaProcessingTriggerDetails) -> Self {
2302         ::std::convert::From::from(::std::clone::Clone::clone(value))
2303     }
2304 }
2305 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaProcessingTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2306     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2307         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2308     }
2309 }
2310 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaProcessingTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2311     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2312         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2313     }
2314 }
2315 impl ::std::convert::From<MediaProcessingTriggerDetails> for ::windows::runtime::IInspectable {
from(value: MediaProcessingTriggerDetails) -> Self2316     fn from(value: MediaProcessingTriggerDetails) -> Self {
2317         value.0
2318     }
2319 }
2320 impl ::std::convert::From<&MediaProcessingTriggerDetails> for ::windows::runtime::IInspectable {
from(value: &MediaProcessingTriggerDetails) -> Self2321     fn from(value: &MediaProcessingTriggerDetails) -> Self {
2322         value.0.clone()
2323     }
2324 }
2325 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaProcessingTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2326     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2327         ::windows::runtime::Param::Owned(self.0)
2328     }
2329 }
2330 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaProcessingTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2331     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2332         ::windows::runtime::Param::Borrowed(&self.0)
2333     }
2334 }
2335 unsafe impl ::std::marker::Send for MediaProcessingTriggerDetails {}
2336 unsafe impl ::std::marker::Sync for MediaProcessingTriggerDetails {}
2337 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
2338 #[repr(C)]
2339 #[cfg(feature = "Foundation")]
2340 pub struct MediaTimeRange {
2341     pub Start: super::Foundation::TimeSpan,
2342     pub End: super::Foundation::TimeSpan,
2343 }
2344 #[cfg(feature = "Foundation")]
2345 impl MediaTimeRange {}
2346 #[cfg(feature = "Foundation")]
2347 impl ::std::default::Default for MediaTimeRange {
default() -> Self2348     fn default() -> Self {
2349         unsafe { ::std::mem::zeroed() }
2350     }
2351 }
2352 #[cfg(feature = "Foundation")]
2353 impl ::std::fmt::Debug for MediaTimeRange {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result2354     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
2355         fmt.debug_struct("MediaTimeRange").field("Start", &self.Start).field("End", &self.End).finish()
2356     }
2357 }
2358 #[cfg(feature = "Foundation")]
2359 impl ::std::cmp::PartialEq for MediaTimeRange {
eq(&self, other: &Self) -> bool2360     fn eq(&self, other: &Self) -> bool {
2361         self.Start == other.Start && self.End == other.End
2362     }
2363 }
2364 #[cfg(feature = "Foundation")]
2365 impl ::std::cmp::Eq for MediaTimeRange {}
2366 #[cfg(feature = "Foundation")]
2367 unsafe impl ::windows::runtime::Abi for MediaTimeRange {
2368     type Abi = Self;
2369     type DefaultType = Self;
2370 }
2371 #[cfg(feature = "Foundation")]
2372 unsafe impl ::windows::runtime::RuntimeType for MediaTimeRange {
2373     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"struct(Windows.Media.MediaTimeRange;struct(Windows.Foundation.TimeSpan;i8);struct(Windows.Foundation.TimeSpan;i8))");
2374 }
2375 #[repr(transparent)]
2376 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2377 pub struct MediaTimelineController(::windows::runtime::IInspectable);
2378 impl MediaTimelineController {
new() -> ::windows::runtime::Result<Self>2379     pub fn new() -> ::windows::runtime::Result<Self> {
2380         Self::IActivationFactory(|f| f.activate_instance::<Self>())
2381     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2382     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2383         static mut SHARED: ::windows::runtime::FactoryCache<MediaTimelineController, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
2384         unsafe { SHARED.call(callback) }
2385     }
Start(&self) -> ::windows::runtime::Result<()>2386     pub fn Start(&self) -> ::windows::runtime::Result<()> {
2387         let this = self;
2388         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
2389     }
Resume(&self) -> ::windows::runtime::Result<()>2390     pub fn Resume(&self) -> ::windows::runtime::Result<()> {
2391         let this = self;
2392         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
2393     }
Pause(&self) -> ::windows::runtime::Result<()>2394     pub fn Pause(&self) -> ::windows::runtime::Result<()> {
2395         let this = self;
2396         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this)).ok() }
2397     }
2398     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan>2399     pub fn Position(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan> {
2400         let this = self;
2401         unsafe {
2402             let mut result__: super::Foundation::TimeSpan = ::std::mem::zeroed();
2403             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::TimeSpan>(result__)
2404         }
2405     }
2406     #[cfg(feature = "Foundation")]
SetPosition<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>2407     pub fn SetPosition<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2408         let this = self;
2409         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2410     }
ClockRate(&self) -> ::windows::runtime::Result<f64>2411     pub fn ClockRate(&self) -> ::windows::runtime::Result<f64> {
2412         let this = self;
2413         unsafe {
2414             let mut result__: f64 = ::std::mem::zeroed();
2415             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
2416         }
2417     }
SetClockRate(&self, value: f64) -> ::windows::runtime::Result<()>2418     pub fn SetClockRate(&self, value: f64) -> ::windows::runtime::Result<()> {
2419         let this = self;
2420         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value).ok() }
2421     }
State(&self) -> ::windows::runtime::Result<MediaTimelineControllerState>2422     pub fn State(&self) -> ::windows::runtime::Result<MediaTimelineControllerState> {
2423         let this = self;
2424         unsafe {
2425             let mut result__: MediaTimelineControllerState = ::std::mem::zeroed();
2426             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaTimelineControllerState>(result__)
2427         }
2428     }
2429     #[cfg(feature = "Foundation")]
PositionChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<MediaTimelineController, ::windows::runtime::IInspectable>>>(&self, positionchangedeventhandler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>2430     pub fn PositionChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<MediaTimelineController, ::windows::runtime::IInspectable>>>(&self, positionchangedeventhandler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
2431         let this = self;
2432         unsafe {
2433             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
2434             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), positionchangedeventhandler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
2435         }
2436     }
2437     #[cfg(feature = "Foundation")]
RemovePositionChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, eventcookie: Param0) -> ::windows::runtime::Result<()>2438     pub fn RemovePositionChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, eventcookie: Param0) -> ::windows::runtime::Result<()> {
2439         let this = self;
2440         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), eventcookie.into_param().abi()).ok() }
2441     }
2442     #[cfg(feature = "Foundation")]
StateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<MediaTimelineController, ::windows::runtime::IInspectable>>>(&self, statechangedeventhandler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>2443     pub fn StateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<MediaTimelineController, ::windows::runtime::IInspectable>>>(&self, statechangedeventhandler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
2444         let this = self;
2445         unsafe {
2446             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
2447             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), statechangedeventhandler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
2448         }
2449     }
2450     #[cfg(feature = "Foundation")]
RemoveStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, eventcookie: Param0) -> ::windows::runtime::Result<()>2451     pub fn RemoveStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, eventcookie: Param0) -> ::windows::runtime::Result<()> {
2452         let this = self;
2453         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), eventcookie.into_param().abi()).ok() }
2454     }
2455     #[cfg(feature = "Foundation")]
Duration(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>>2456     pub fn Duration(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>> {
2457         let this = &::windows::runtime::Interface::cast::<IMediaTimelineController2>(self)?;
2458         unsafe {
2459             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2460             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IReference<super::Foundation::TimeSpan>>(result__)
2461         }
2462     }
2463     #[cfg(feature = "Foundation")]
SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()>2464     pub fn SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2465         let this = &::windows::runtime::Interface::cast::<IMediaTimelineController2>(self)?;
2466         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2467     }
IsLoopingEnabled(&self) -> ::windows::runtime::Result<bool>2468     pub fn IsLoopingEnabled(&self) -> ::windows::runtime::Result<bool> {
2469         let this = &::windows::runtime::Interface::cast::<IMediaTimelineController2>(self)?;
2470         unsafe {
2471             let mut result__: bool = ::std::mem::zeroed();
2472             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2473         }
2474     }
SetIsLoopingEnabled(&self, value: bool) -> ::windows::runtime::Result<()>2475     pub fn SetIsLoopingEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
2476         let this = &::windows::runtime::Interface::cast::<IMediaTimelineController2>(self)?;
2477         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
2478     }
2479     #[cfg(feature = "Foundation")]
Failed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<MediaTimelineController, MediaTimelineControllerFailedEventArgs>>>(&self, eventhandler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>2480     pub fn Failed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<MediaTimelineController, MediaTimelineControllerFailedEventArgs>>>(&self, eventhandler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
2481         let this = &::windows::runtime::Interface::cast::<IMediaTimelineController2>(self)?;
2482         unsafe {
2483             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
2484             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), eventhandler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
2485         }
2486     }
2487     #[cfg(feature = "Foundation")]
RemoveFailed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>2488     pub fn RemoveFailed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
2489         let this = &::windows::runtime::Interface::cast::<IMediaTimelineController2>(self)?;
2490         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
2491     }
2492     #[cfg(feature = "Foundation")]
Ended<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<MediaTimelineController, ::windows::runtime::IInspectable>>>(&self, eventhandler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>2493     pub fn Ended<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<MediaTimelineController, ::windows::runtime::IInspectable>>>(&self, eventhandler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
2494         let this = &::windows::runtime::Interface::cast::<IMediaTimelineController2>(self)?;
2495         unsafe {
2496             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
2497             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), eventhandler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
2498         }
2499     }
2500     #[cfg(feature = "Foundation")]
RemoveEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>2501     pub fn RemoveEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
2502         let this = &::windows::runtime::Interface::cast::<IMediaTimelineController2>(self)?;
2503         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
2504     }
2505 }
2506 unsafe impl ::windows::runtime::RuntimeType for MediaTimelineController {
2507     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.MediaTimelineController;{8ed361f3-0b78-4360-bf71-0c841999ea1b})");
2508 }
2509 unsafe impl ::windows::runtime::Interface for MediaTimelineController {
2510     type Vtable = IMediaTimelineController_abi;
2511     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2396217843, 2936, 17248, [191, 113, 12, 132, 25, 153, 234, 27]);
2512 }
2513 impl ::windows::runtime::RuntimeName for MediaTimelineController {
2514     const NAME: &'static str = "Windows.Media.MediaTimelineController";
2515 }
2516 impl ::std::convert::From<MediaTimelineController> for ::windows::runtime::IUnknown {
from(value: MediaTimelineController) -> Self2517     fn from(value: MediaTimelineController) -> Self {
2518         unsafe { ::std::mem::transmute(value) }
2519     }
2520 }
2521 impl ::std::convert::From<&MediaTimelineController> for ::windows::runtime::IUnknown {
from(value: &MediaTimelineController) -> Self2522     fn from(value: &MediaTimelineController) -> Self {
2523         ::std::convert::From::from(::std::clone::Clone::clone(value))
2524     }
2525 }
2526 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaTimelineController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2527     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2528         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2529     }
2530 }
2531 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaTimelineController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2532     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2533         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2534     }
2535 }
2536 impl ::std::convert::From<MediaTimelineController> for ::windows::runtime::IInspectable {
from(value: MediaTimelineController) -> Self2537     fn from(value: MediaTimelineController) -> Self {
2538         value.0
2539     }
2540 }
2541 impl ::std::convert::From<&MediaTimelineController> for ::windows::runtime::IInspectable {
from(value: &MediaTimelineController) -> Self2542     fn from(value: &MediaTimelineController) -> Self {
2543         value.0.clone()
2544     }
2545 }
2546 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaTimelineController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2547     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2548         ::windows::runtime::Param::Owned(self.0)
2549     }
2550 }
2551 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaTimelineController {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2552     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2553         ::windows::runtime::Param::Borrowed(&self.0)
2554     }
2555 }
2556 unsafe impl ::std::marker::Send for MediaTimelineController {}
2557 unsafe impl ::std::marker::Sync for MediaTimelineController {}
2558 #[repr(transparent)]
2559 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2560 pub struct MediaTimelineControllerFailedEventArgs(::windows::runtime::IInspectable);
2561 impl MediaTimelineControllerFailedEventArgs {
ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>2562     pub fn ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
2563         let this = self;
2564         unsafe {
2565             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
2566             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
2567         }
2568     }
2569 }
2570 unsafe impl ::windows::runtime::RuntimeType for MediaTimelineControllerFailedEventArgs {
2571     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.MediaTimelineControllerFailedEventArgs;{8821f81d-3e77-43fb-be26-4fc87a044834})");
2572 }
2573 unsafe impl ::windows::runtime::Interface for MediaTimelineControllerFailedEventArgs {
2574     type Vtable = IMediaTimelineControllerFailedEventArgs_abi;
2575     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2283927581, 15991, 17403, [190, 38, 79, 200, 122, 4, 72, 52]);
2576 }
2577 impl ::windows::runtime::RuntimeName for MediaTimelineControllerFailedEventArgs {
2578     const NAME: &'static str = "Windows.Media.MediaTimelineControllerFailedEventArgs";
2579 }
2580 impl ::std::convert::From<MediaTimelineControllerFailedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaTimelineControllerFailedEventArgs) -> Self2581     fn from(value: MediaTimelineControllerFailedEventArgs) -> Self {
2582         unsafe { ::std::mem::transmute(value) }
2583     }
2584 }
2585 impl ::std::convert::From<&MediaTimelineControllerFailedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaTimelineControllerFailedEventArgs) -> Self2586     fn from(value: &MediaTimelineControllerFailedEventArgs) -> Self {
2587         ::std::convert::From::from(::std::clone::Clone::clone(value))
2588     }
2589 }
2590 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaTimelineControllerFailedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2591     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2592         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2593     }
2594 }
2595 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaTimelineControllerFailedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2596     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2597         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2598     }
2599 }
2600 impl ::std::convert::From<MediaTimelineControllerFailedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaTimelineControllerFailedEventArgs) -> Self2601     fn from(value: MediaTimelineControllerFailedEventArgs) -> Self {
2602         value.0
2603     }
2604 }
2605 impl ::std::convert::From<&MediaTimelineControllerFailedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaTimelineControllerFailedEventArgs) -> Self2606     fn from(value: &MediaTimelineControllerFailedEventArgs) -> Self {
2607         value.0.clone()
2608     }
2609 }
2610 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaTimelineControllerFailedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2611     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2612         ::windows::runtime::Param::Owned(self.0)
2613     }
2614 }
2615 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaTimelineControllerFailedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2616     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2617         ::windows::runtime::Param::Borrowed(&self.0)
2618     }
2619 }
2620 unsafe impl ::std::marker::Send for MediaTimelineControllerFailedEventArgs {}
2621 unsafe impl ::std::marker::Sync for MediaTimelineControllerFailedEventArgs {}
2622 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2623 #[repr(transparent)]
2624 pub struct MediaTimelineControllerState(pub i32);
2625 impl MediaTimelineControllerState {
2626     pub const Paused: MediaTimelineControllerState = MediaTimelineControllerState(0i32);
2627     pub const Running: MediaTimelineControllerState = MediaTimelineControllerState(1i32);
2628     pub const Stalled: MediaTimelineControllerState = MediaTimelineControllerState(2i32);
2629     pub const Error: MediaTimelineControllerState = MediaTimelineControllerState(3i32);
2630 }
2631 impl ::std::convert::From<i32> for MediaTimelineControllerState {
from(value: i32) -> Self2632     fn from(value: i32) -> Self {
2633         Self(value)
2634     }
2635 }
2636 unsafe impl ::windows::runtime::Abi for MediaTimelineControllerState {
2637     type Abi = Self;
2638     type DefaultType = Self;
2639 }
2640 unsafe impl ::windows::runtime::RuntimeType for MediaTimelineControllerState {
2641     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.MediaTimelineControllerState;i4)");
2642 }
2643 #[repr(transparent)]
2644 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2645 pub struct MusicDisplayProperties(::windows::runtime::IInspectable);
2646 impl MusicDisplayProperties {
Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2647     pub fn Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2648         let this = self;
2649         unsafe {
2650             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2651             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2652         }
2653     }
SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2654     pub fn SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2655         let this = self;
2656         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2657     }
AlbumArtist(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2658     pub fn AlbumArtist(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2659         let this = self;
2660         unsafe {
2661             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2662             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2663         }
2664     }
SetAlbumArtist<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2665     pub fn SetAlbumArtist<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2666         let this = self;
2667         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2668     }
Artist(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2669     pub fn Artist(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2670         let this = self;
2671         unsafe {
2672             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2673             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2674         }
2675     }
SetArtist<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2676     pub fn SetArtist<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2677         let this = self;
2678         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2679     }
AlbumTitle(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>2680     pub fn AlbumTitle(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
2681         let this = &::windows::runtime::Interface::cast::<IMusicDisplayProperties2>(self)?;
2682         unsafe {
2683             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
2684             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
2685         }
2686     }
SetAlbumTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>2687     pub fn SetAlbumTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2688         let this = &::windows::runtime::Interface::cast::<IMusicDisplayProperties2>(self)?;
2689         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2690     }
TrackNumber(&self) -> ::windows::runtime::Result<u32>2691     pub fn TrackNumber(&self) -> ::windows::runtime::Result<u32> {
2692         let this = &::windows::runtime::Interface::cast::<IMusicDisplayProperties2>(self)?;
2693         unsafe {
2694             let mut result__: u32 = ::std::mem::zeroed();
2695             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
2696         }
2697     }
SetTrackNumber(&self, value: u32) -> ::windows::runtime::Result<()>2698     pub fn SetTrackNumber(&self, value: u32) -> ::windows::runtime::Result<()> {
2699         let this = &::windows::runtime::Interface::cast::<IMusicDisplayProperties2>(self)?;
2700         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
2701     }
2702     #[cfg(feature = "Foundation_Collections")]
Genres(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>2703     pub fn Genres(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> {
2704         let this = &::windows::runtime::Interface::cast::<IMusicDisplayProperties2>(self)?;
2705         unsafe {
2706             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2707             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__)
2708         }
2709     }
AlbumTrackCount(&self) -> ::windows::runtime::Result<u32>2710     pub fn AlbumTrackCount(&self) -> ::windows::runtime::Result<u32> {
2711         let this = &::windows::runtime::Interface::cast::<IMusicDisplayProperties3>(self)?;
2712         unsafe {
2713             let mut result__: u32 = ::std::mem::zeroed();
2714             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
2715         }
2716     }
SetAlbumTrackCount(&self, value: u32) -> ::windows::runtime::Result<()>2717     pub fn SetAlbumTrackCount(&self, value: u32) -> ::windows::runtime::Result<()> {
2718         let this = &::windows::runtime::Interface::cast::<IMusicDisplayProperties3>(self)?;
2719         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
2720     }
2721 }
2722 unsafe impl ::windows::runtime::RuntimeType for MusicDisplayProperties {
2723     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.MusicDisplayProperties;{6bbf0c59-d0a0-4d26-92a0-f978e1d18e7b})");
2724 }
2725 unsafe impl ::windows::runtime::Interface for MusicDisplayProperties {
2726     type Vtable = IMusicDisplayProperties_abi;
2727     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1807682649, 53408, 19750, [146, 160, 249, 120, 225, 209, 142, 123]);
2728 }
2729 impl ::windows::runtime::RuntimeName for MusicDisplayProperties {
2730     const NAME: &'static str = "Windows.Media.MusicDisplayProperties";
2731 }
2732 impl ::std::convert::From<MusicDisplayProperties> for ::windows::runtime::IUnknown {
from(value: MusicDisplayProperties) -> Self2733     fn from(value: MusicDisplayProperties) -> Self {
2734         unsafe { ::std::mem::transmute(value) }
2735     }
2736 }
2737 impl ::std::convert::From<&MusicDisplayProperties> for ::windows::runtime::IUnknown {
from(value: &MusicDisplayProperties) -> Self2738     fn from(value: &MusicDisplayProperties) -> Self {
2739         ::std::convert::From::from(::std::clone::Clone::clone(value))
2740     }
2741 }
2742 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MusicDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2743     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2744         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2745     }
2746 }
2747 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MusicDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2748     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2749         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2750     }
2751 }
2752 impl ::std::convert::From<MusicDisplayProperties> for ::windows::runtime::IInspectable {
from(value: MusicDisplayProperties) -> Self2753     fn from(value: MusicDisplayProperties) -> Self {
2754         value.0
2755     }
2756 }
2757 impl ::std::convert::From<&MusicDisplayProperties> for ::windows::runtime::IInspectable {
from(value: &MusicDisplayProperties) -> Self2758     fn from(value: &MusicDisplayProperties) -> Self {
2759         value.0.clone()
2760     }
2761 }
2762 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MusicDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2763     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2764         ::windows::runtime::Param::Owned(self.0)
2765     }
2766 }
2767 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MusicDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2768     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2769         ::windows::runtime::Param::Borrowed(&self.0)
2770     }
2771 }
2772 unsafe impl ::std::marker::Send for MusicDisplayProperties {}
2773 unsafe impl ::std::marker::Sync for MusicDisplayProperties {}
2774 #[repr(transparent)]
2775 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2776 pub struct PlaybackPositionChangeRequestedEventArgs(::windows::runtime::IInspectable);
2777 impl PlaybackPositionChangeRequestedEventArgs {
2778     #[cfg(feature = "Foundation")]
RequestedPlaybackPosition(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan>2779     pub fn RequestedPlaybackPosition(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan> {
2780         let this = self;
2781         unsafe {
2782             let mut result__: super::Foundation::TimeSpan = ::std::mem::zeroed();
2783             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::TimeSpan>(result__)
2784         }
2785     }
2786 }
2787 unsafe impl ::windows::runtime::RuntimeType for PlaybackPositionChangeRequestedEventArgs {
2788     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.PlaybackPositionChangeRequestedEventArgs;{b4493f88-eb28-4961-9c14-335e44f3e125})");
2789 }
2790 unsafe impl ::windows::runtime::Interface for PlaybackPositionChangeRequestedEventArgs {
2791     type Vtable = IPlaybackPositionChangeRequestedEventArgs_abi;
2792     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3024699272, 60200, 18785, [156, 20, 51, 94, 68, 243, 225, 37]);
2793 }
2794 impl ::windows::runtime::RuntimeName for PlaybackPositionChangeRequestedEventArgs {
2795     const NAME: &'static str = "Windows.Media.PlaybackPositionChangeRequestedEventArgs";
2796 }
2797 impl ::std::convert::From<PlaybackPositionChangeRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: PlaybackPositionChangeRequestedEventArgs) -> Self2798     fn from(value: PlaybackPositionChangeRequestedEventArgs) -> Self {
2799         unsafe { ::std::mem::transmute(value) }
2800     }
2801 }
2802 impl ::std::convert::From<&PlaybackPositionChangeRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: &PlaybackPositionChangeRequestedEventArgs) -> Self2803     fn from(value: &PlaybackPositionChangeRequestedEventArgs) -> Self {
2804         ::std::convert::From::from(::std::clone::Clone::clone(value))
2805     }
2806 }
2807 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PlaybackPositionChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2808     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2809         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2810     }
2811 }
2812 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PlaybackPositionChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2813     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2814         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2815     }
2816 }
2817 impl ::std::convert::From<PlaybackPositionChangeRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: PlaybackPositionChangeRequestedEventArgs) -> Self2818     fn from(value: PlaybackPositionChangeRequestedEventArgs) -> Self {
2819         value.0
2820     }
2821 }
2822 impl ::std::convert::From<&PlaybackPositionChangeRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: &PlaybackPositionChangeRequestedEventArgs) -> Self2823     fn from(value: &PlaybackPositionChangeRequestedEventArgs) -> Self {
2824         value.0.clone()
2825     }
2826 }
2827 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PlaybackPositionChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2828     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2829         ::windows::runtime::Param::Owned(self.0)
2830     }
2831 }
2832 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PlaybackPositionChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2833     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2834         ::windows::runtime::Param::Borrowed(&self.0)
2835     }
2836 }
2837 unsafe impl ::std::marker::Send for PlaybackPositionChangeRequestedEventArgs {}
2838 unsafe impl ::std::marker::Sync for PlaybackPositionChangeRequestedEventArgs {}
2839 #[repr(transparent)]
2840 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2841 pub struct PlaybackRateChangeRequestedEventArgs(::windows::runtime::IInspectable);
2842 impl PlaybackRateChangeRequestedEventArgs {
RequestedPlaybackRate(&self) -> ::windows::runtime::Result<f64>2843     pub fn RequestedPlaybackRate(&self) -> ::windows::runtime::Result<f64> {
2844         let this = self;
2845         unsafe {
2846             let mut result__: f64 = ::std::mem::zeroed();
2847             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
2848         }
2849     }
2850 }
2851 unsafe impl ::windows::runtime::RuntimeType for PlaybackRateChangeRequestedEventArgs {
2852     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.PlaybackRateChangeRequestedEventArgs;{2ce2c41f-3cd6-4f77-9ba7-eb27c26a2140})");
2853 }
2854 unsafe impl ::windows::runtime::Interface for PlaybackRateChangeRequestedEventArgs {
2855     type Vtable = IPlaybackRateChangeRequestedEventArgs_abi;
2856     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(753058847, 15574, 20343, [155, 167, 235, 39, 194, 106, 33, 64]);
2857 }
2858 impl ::windows::runtime::RuntimeName for PlaybackRateChangeRequestedEventArgs {
2859     const NAME: &'static str = "Windows.Media.PlaybackRateChangeRequestedEventArgs";
2860 }
2861 impl ::std::convert::From<PlaybackRateChangeRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: PlaybackRateChangeRequestedEventArgs) -> Self2862     fn from(value: PlaybackRateChangeRequestedEventArgs) -> Self {
2863         unsafe { ::std::mem::transmute(value) }
2864     }
2865 }
2866 impl ::std::convert::From<&PlaybackRateChangeRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: &PlaybackRateChangeRequestedEventArgs) -> Self2867     fn from(value: &PlaybackRateChangeRequestedEventArgs) -> Self {
2868         ::std::convert::From::from(::std::clone::Clone::clone(value))
2869     }
2870 }
2871 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PlaybackRateChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2872     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2873         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2874     }
2875 }
2876 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PlaybackRateChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2877     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2878         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2879     }
2880 }
2881 impl ::std::convert::From<PlaybackRateChangeRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: PlaybackRateChangeRequestedEventArgs) -> Self2882     fn from(value: PlaybackRateChangeRequestedEventArgs) -> Self {
2883         value.0
2884     }
2885 }
2886 impl ::std::convert::From<&PlaybackRateChangeRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: &PlaybackRateChangeRequestedEventArgs) -> Self2887     fn from(value: &PlaybackRateChangeRequestedEventArgs) -> Self {
2888         value.0.clone()
2889     }
2890 }
2891 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PlaybackRateChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2892     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2893         ::windows::runtime::Param::Owned(self.0)
2894     }
2895 }
2896 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PlaybackRateChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2897     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2898         ::windows::runtime::Param::Borrowed(&self.0)
2899     }
2900 }
2901 unsafe impl ::std::marker::Send for PlaybackRateChangeRequestedEventArgs {}
2902 unsafe impl ::std::marker::Sync for PlaybackRateChangeRequestedEventArgs {}
2903 #[repr(transparent)]
2904 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2905 pub struct ShuffleEnabledChangeRequestedEventArgs(::windows::runtime::IInspectable);
2906 impl ShuffleEnabledChangeRequestedEventArgs {
RequestedShuffleEnabled(&self) -> ::windows::runtime::Result<bool>2907     pub fn RequestedShuffleEnabled(&self) -> ::windows::runtime::Result<bool> {
2908         let this = self;
2909         unsafe {
2910             let mut result__: bool = ::std::mem::zeroed();
2911             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2912         }
2913     }
2914 }
2915 unsafe impl ::windows::runtime::RuntimeType for ShuffleEnabledChangeRequestedEventArgs {
2916     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.ShuffleEnabledChangeRequestedEventArgs;{49b593fe-4fd0-4666-a314-c0e01940d302})");
2917 }
2918 unsafe impl ::windows::runtime::Interface for ShuffleEnabledChangeRequestedEventArgs {
2919     type Vtable = IShuffleEnabledChangeRequestedEventArgs_abi;
2920     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1236636670, 20432, 18022, [163, 20, 192, 224, 25, 64, 211, 2]);
2921 }
2922 impl ::windows::runtime::RuntimeName for ShuffleEnabledChangeRequestedEventArgs {
2923     const NAME: &'static str = "Windows.Media.ShuffleEnabledChangeRequestedEventArgs";
2924 }
2925 impl ::std::convert::From<ShuffleEnabledChangeRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: ShuffleEnabledChangeRequestedEventArgs) -> Self2926     fn from(value: ShuffleEnabledChangeRequestedEventArgs) -> Self {
2927         unsafe { ::std::mem::transmute(value) }
2928     }
2929 }
2930 impl ::std::convert::From<&ShuffleEnabledChangeRequestedEventArgs> for ::windows::runtime::IUnknown {
from(value: &ShuffleEnabledChangeRequestedEventArgs) -> Self2931     fn from(value: &ShuffleEnabledChangeRequestedEventArgs) -> Self {
2932         ::std::convert::From::from(::std::clone::Clone::clone(value))
2933     }
2934 }
2935 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ShuffleEnabledChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2936     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2937         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2938     }
2939 }
2940 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ShuffleEnabledChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2941     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2942         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2943     }
2944 }
2945 impl ::std::convert::From<ShuffleEnabledChangeRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: ShuffleEnabledChangeRequestedEventArgs) -> Self2946     fn from(value: ShuffleEnabledChangeRequestedEventArgs) -> Self {
2947         value.0
2948     }
2949 }
2950 impl ::std::convert::From<&ShuffleEnabledChangeRequestedEventArgs> for ::windows::runtime::IInspectable {
from(value: &ShuffleEnabledChangeRequestedEventArgs) -> Self2951     fn from(value: &ShuffleEnabledChangeRequestedEventArgs) -> Self {
2952         value.0.clone()
2953     }
2954 }
2955 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ShuffleEnabledChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2956     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2957         ::windows::runtime::Param::Owned(self.0)
2958     }
2959 }
2960 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ShuffleEnabledChangeRequestedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2961     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2962         ::windows::runtime::Param::Borrowed(&self.0)
2963     }
2964 }
2965 unsafe impl ::std::marker::Send for ShuffleEnabledChangeRequestedEventArgs {}
2966 unsafe impl ::std::marker::Sync for ShuffleEnabledChangeRequestedEventArgs {}
2967 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2968 #[repr(transparent)]
2969 pub struct SoundLevel(pub i32);
2970 impl SoundLevel {
2971     pub const Muted: SoundLevel = SoundLevel(0i32);
2972     pub const Low: SoundLevel = SoundLevel(1i32);
2973     pub const Full: SoundLevel = SoundLevel(2i32);
2974 }
2975 impl ::std::convert::From<i32> for SoundLevel {
from(value: i32) -> Self2976     fn from(value: i32) -> Self {
2977         Self(value)
2978     }
2979 }
2980 unsafe impl ::windows::runtime::Abi for SoundLevel {
2981     type Abi = Self;
2982     type DefaultType = Self;
2983 }
2984 unsafe impl ::windows::runtime::RuntimeType for SoundLevel {
2985     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.SoundLevel;i4)");
2986 }
2987 #[repr(transparent)]
2988 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2989 pub struct SystemMediaTransportControls(::windows::runtime::IInspectable);
2990 impl SystemMediaTransportControls {
PlaybackStatus(&self) -> ::windows::runtime::Result<MediaPlaybackStatus>2991     pub fn PlaybackStatus(&self) -> ::windows::runtime::Result<MediaPlaybackStatus> {
2992         let this = self;
2993         unsafe {
2994             let mut result__: MediaPlaybackStatus = ::std::mem::zeroed();
2995             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackStatus>(result__)
2996         }
2997     }
SetPlaybackStatus(&self, value: MediaPlaybackStatus) -> ::windows::runtime::Result<()>2998     pub fn SetPlaybackStatus(&self, value: MediaPlaybackStatus) -> ::windows::runtime::Result<()> {
2999         let this = self;
3000         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3001     }
DisplayUpdater(&self) -> ::windows::runtime::Result<SystemMediaTransportControlsDisplayUpdater>3002     pub fn DisplayUpdater(&self) -> ::windows::runtime::Result<SystemMediaTransportControlsDisplayUpdater> {
3003         let this = self;
3004         unsafe {
3005             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3006             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SystemMediaTransportControlsDisplayUpdater>(result__)
3007         }
3008     }
SoundLevel(&self) -> ::windows::runtime::Result<SoundLevel>3009     pub fn SoundLevel(&self) -> ::windows::runtime::Result<SoundLevel> {
3010         let this = self;
3011         unsafe {
3012             let mut result__: SoundLevel = ::std::mem::zeroed();
3013             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SoundLevel>(result__)
3014         }
3015     }
IsEnabled(&self) -> ::windows::runtime::Result<bool>3016     pub fn IsEnabled(&self) -> ::windows::runtime::Result<bool> {
3017         let this = self;
3018         unsafe {
3019             let mut result__: bool = ::std::mem::zeroed();
3020             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3021         }
3022     }
SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()>3023     pub fn SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
3024         let this = self;
3025         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
3026     }
IsPlayEnabled(&self) -> ::windows::runtime::Result<bool>3027     pub fn IsPlayEnabled(&self) -> ::windows::runtime::Result<bool> {
3028         let this = self;
3029         unsafe {
3030             let mut result__: bool = ::std::mem::zeroed();
3031             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3032         }
3033     }
SetIsPlayEnabled(&self, value: bool) -> ::windows::runtime::Result<()>3034     pub fn SetIsPlayEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
3035         let this = self;
3036         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
3037     }
IsStopEnabled(&self) -> ::windows::runtime::Result<bool>3038     pub fn IsStopEnabled(&self) -> ::windows::runtime::Result<bool> {
3039         let this = self;
3040         unsafe {
3041             let mut result__: bool = ::std::mem::zeroed();
3042             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3043         }
3044     }
SetIsStopEnabled(&self, value: bool) -> ::windows::runtime::Result<()>3045     pub fn SetIsStopEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
3046         let this = self;
3047         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
3048     }
IsPauseEnabled(&self) -> ::windows::runtime::Result<bool>3049     pub fn IsPauseEnabled(&self) -> ::windows::runtime::Result<bool> {
3050         let this = self;
3051         unsafe {
3052             let mut result__: bool = ::std::mem::zeroed();
3053             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3054         }
3055     }
SetIsPauseEnabled(&self, value: bool) -> ::windows::runtime::Result<()>3056     pub fn SetIsPauseEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
3057         let this = self;
3058         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), value).ok() }
3059     }
IsRecordEnabled(&self) -> ::windows::runtime::Result<bool>3060     pub fn IsRecordEnabled(&self) -> ::windows::runtime::Result<bool> {
3061         let this = self;
3062         unsafe {
3063             let mut result__: bool = ::std::mem::zeroed();
3064             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3065         }
3066     }
SetIsRecordEnabled(&self, value: bool) -> ::windows::runtime::Result<()>3067     pub fn SetIsRecordEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
3068         let this = self;
3069         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
3070     }
IsFastForwardEnabled(&self) -> ::windows::runtime::Result<bool>3071     pub fn IsFastForwardEnabled(&self) -> ::windows::runtime::Result<bool> {
3072         let this = self;
3073         unsafe {
3074             let mut result__: bool = ::std::mem::zeroed();
3075             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3076         }
3077     }
SetIsFastForwardEnabled(&self, value: bool) -> ::windows::runtime::Result<()>3078     pub fn SetIsFastForwardEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
3079         let this = self;
3080         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value).ok() }
3081     }
IsRewindEnabled(&self) -> ::windows::runtime::Result<bool>3082     pub fn IsRewindEnabled(&self) -> ::windows::runtime::Result<bool> {
3083         let this = self;
3084         unsafe {
3085             let mut result__: bool = ::std::mem::zeroed();
3086             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3087         }
3088     }
SetIsRewindEnabled(&self, value: bool) -> ::windows::runtime::Result<()>3089     pub fn SetIsRewindEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
3090         let this = self;
3091         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
3092     }
IsPreviousEnabled(&self) -> ::windows::runtime::Result<bool>3093     pub fn IsPreviousEnabled(&self) -> ::windows::runtime::Result<bool> {
3094         let this = self;
3095         unsafe {
3096             let mut result__: bool = ::std::mem::zeroed();
3097             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3098         }
3099     }
SetIsPreviousEnabled(&self, value: bool) -> ::windows::runtime::Result<()>3100     pub fn SetIsPreviousEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
3101         let this = self;
3102         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value).ok() }
3103     }
IsNextEnabled(&self) -> ::windows::runtime::Result<bool>3104     pub fn IsNextEnabled(&self) -> ::windows::runtime::Result<bool> {
3105         let this = self;
3106         unsafe {
3107             let mut result__: bool = ::std::mem::zeroed();
3108             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3109         }
3110     }
SetIsNextEnabled(&self, value: bool) -> ::windows::runtime::Result<()>3111     pub fn SetIsNextEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
3112         let this = self;
3113         unsafe { (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), value).ok() }
3114     }
IsChannelUpEnabled(&self) -> ::windows::runtime::Result<bool>3115     pub fn IsChannelUpEnabled(&self) -> ::windows::runtime::Result<bool> {
3116         let this = self;
3117         unsafe {
3118             let mut result__: bool = ::std::mem::zeroed();
3119             (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3120         }
3121     }
SetIsChannelUpEnabled(&self, value: bool) -> ::windows::runtime::Result<()>3122     pub fn SetIsChannelUpEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
3123         let this = self;
3124         unsafe { (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), value).ok() }
3125     }
IsChannelDownEnabled(&self) -> ::windows::runtime::Result<bool>3126     pub fn IsChannelDownEnabled(&self) -> ::windows::runtime::Result<bool> {
3127         let this = self;
3128         unsafe {
3129             let mut result__: bool = ::std::mem::zeroed();
3130             (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3131         }
3132     }
SetIsChannelDownEnabled(&self, value: bool) -> ::windows::runtime::Result<()>3133     pub fn SetIsChannelDownEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
3134         let this = self;
3135         unsafe { (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), value).ok() }
3136     }
3137     #[cfg(feature = "Foundation")]
ButtonPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<SystemMediaTransportControls, SystemMediaTransportControlsButtonPressedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>3138     pub fn ButtonPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<SystemMediaTransportControls, SystemMediaTransportControlsButtonPressedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
3139         let this = self;
3140         unsafe {
3141             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3142             (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
3143         }
3144     }
3145     #[cfg(feature = "Foundation")]
RemoveButtonPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3146     pub fn RemoveButtonPressed<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3147         let this = self;
3148         unsafe { (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3149     }
3150     #[cfg(feature = "Foundation")]
PropertyChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<SystemMediaTransportControls, SystemMediaTransportControlsPropertyChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>3151     pub fn PropertyChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<SystemMediaTransportControls, SystemMediaTransportControlsPropertyChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
3152         let this = self;
3153         unsafe {
3154             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3155             (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
3156         }
3157     }
3158     #[cfg(feature = "Foundation")]
RemovePropertyChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3159     pub fn RemovePropertyChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3160         let this = self;
3161         unsafe { (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3162     }
AutoRepeatMode(&self) -> ::windows::runtime::Result<MediaPlaybackAutoRepeatMode>3163     pub fn AutoRepeatMode(&self) -> ::windows::runtime::Result<MediaPlaybackAutoRepeatMode> {
3164         let this = &::windows::runtime::Interface::cast::<ISystemMediaTransportControls2>(self)?;
3165         unsafe {
3166             let mut result__: MediaPlaybackAutoRepeatMode = ::std::mem::zeroed();
3167             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackAutoRepeatMode>(result__)
3168         }
3169     }
SetAutoRepeatMode(&self, value: MediaPlaybackAutoRepeatMode) -> ::windows::runtime::Result<()>3170     pub fn SetAutoRepeatMode(&self, value: MediaPlaybackAutoRepeatMode) -> ::windows::runtime::Result<()> {
3171         let this = &::windows::runtime::Interface::cast::<ISystemMediaTransportControls2>(self)?;
3172         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3173     }
ShuffleEnabled(&self) -> ::windows::runtime::Result<bool>3174     pub fn ShuffleEnabled(&self) -> ::windows::runtime::Result<bool> {
3175         let this = &::windows::runtime::Interface::cast::<ISystemMediaTransportControls2>(self)?;
3176         unsafe {
3177             let mut result__: bool = ::std::mem::zeroed();
3178             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3179         }
3180     }
SetShuffleEnabled(&self, value: bool) -> ::windows::runtime::Result<()>3181     pub fn SetShuffleEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
3182         let this = &::windows::runtime::Interface::cast::<ISystemMediaTransportControls2>(self)?;
3183         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
3184     }
PlaybackRate(&self) -> ::windows::runtime::Result<f64>3185     pub fn PlaybackRate(&self) -> ::windows::runtime::Result<f64> {
3186         let this = &::windows::runtime::Interface::cast::<ISystemMediaTransportControls2>(self)?;
3187         unsafe {
3188             let mut result__: f64 = ::std::mem::zeroed();
3189             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
3190         }
3191     }
SetPlaybackRate(&self, value: f64) -> ::windows::runtime::Result<()>3192     pub fn SetPlaybackRate(&self, value: f64) -> ::windows::runtime::Result<()> {
3193         let this = &::windows::runtime::Interface::cast::<ISystemMediaTransportControls2>(self)?;
3194         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
3195     }
UpdateTimelineProperties<'a, Param0: ::windows::runtime::IntoParam<'a, SystemMediaTransportControlsTimelineProperties>>(&self, timelineproperties: Param0) -> ::windows::runtime::Result<()>3196     pub fn UpdateTimelineProperties<'a, Param0: ::windows::runtime::IntoParam<'a, SystemMediaTransportControlsTimelineProperties>>(&self, timelineproperties: Param0) -> ::windows::runtime::Result<()> {
3197         let this = &::windows::runtime::Interface::cast::<ISystemMediaTransportControls2>(self)?;
3198         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), timelineproperties.into_param().abi()).ok() }
3199     }
3200     #[cfg(feature = "Foundation")]
PlaybackPositionChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<SystemMediaTransportControls, PlaybackPositionChangeRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>3201     pub fn PlaybackPositionChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<SystemMediaTransportControls, PlaybackPositionChangeRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
3202         let this = &::windows::runtime::Interface::cast::<ISystemMediaTransportControls2>(self)?;
3203         unsafe {
3204             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3205             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
3206         }
3207     }
3208     #[cfg(feature = "Foundation")]
RemovePlaybackPositionChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3209     pub fn RemovePlaybackPositionChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3210         let this = &::windows::runtime::Interface::cast::<ISystemMediaTransportControls2>(self)?;
3211         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3212     }
3213     #[cfg(feature = "Foundation")]
PlaybackRateChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<SystemMediaTransportControls, PlaybackRateChangeRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>3214     pub fn PlaybackRateChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<SystemMediaTransportControls, PlaybackRateChangeRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
3215         let this = &::windows::runtime::Interface::cast::<ISystemMediaTransportControls2>(self)?;
3216         unsafe {
3217             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3218             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
3219         }
3220     }
3221     #[cfg(feature = "Foundation")]
RemovePlaybackRateChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3222     pub fn RemovePlaybackRateChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3223         let this = &::windows::runtime::Interface::cast::<ISystemMediaTransportControls2>(self)?;
3224         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3225     }
3226     #[cfg(feature = "Foundation")]
ShuffleEnabledChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<SystemMediaTransportControls, ShuffleEnabledChangeRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>3227     pub fn ShuffleEnabledChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<SystemMediaTransportControls, ShuffleEnabledChangeRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
3228         let this = &::windows::runtime::Interface::cast::<ISystemMediaTransportControls2>(self)?;
3229         unsafe {
3230             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3231             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
3232         }
3233     }
3234     #[cfg(feature = "Foundation")]
RemoveShuffleEnabledChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3235     pub fn RemoveShuffleEnabledChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3236         let this = &::windows::runtime::Interface::cast::<ISystemMediaTransportControls2>(self)?;
3237         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3238     }
3239     #[cfg(feature = "Foundation")]
AutoRepeatModeChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<SystemMediaTransportControls, AutoRepeatModeChangeRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken>3240     pub fn AutoRepeatModeChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TypedEventHandler<SystemMediaTransportControls, AutoRepeatModeChangeRequestedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::Foundation::EventRegistrationToken> {
3241         let this = &::windows::runtime::Interface::cast::<ISystemMediaTransportControls2>(self)?;
3242         unsafe {
3243             let mut result__: super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3244             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::Foundation::EventRegistrationToken>(result__)
3245         }
3246     }
3247     #[cfg(feature = "Foundation")]
RemoveAutoRepeatModeChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3248     pub fn RemoveAutoRepeatModeChangeRequested<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3249         let this = &::windows::runtime::Interface::cast::<ISystemMediaTransportControls2>(self)?;
3250         unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3251     }
GetForCurrentView() -> ::windows::runtime::Result<SystemMediaTransportControls>3252     pub fn GetForCurrentView() -> ::windows::runtime::Result<SystemMediaTransportControls> {
3253         Self::ISystemMediaTransportControlsStatics(|this| unsafe {
3254             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3255             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SystemMediaTransportControls>(result__)
3256         })
3257     }
ISystemMediaTransportControlsStatics<R, F: FnOnce(&ISystemMediaTransportControlsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>3258     pub fn ISystemMediaTransportControlsStatics<R, F: FnOnce(&ISystemMediaTransportControlsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
3259         static mut SHARED: ::windows::runtime::FactoryCache<SystemMediaTransportControls, ISystemMediaTransportControlsStatics> = ::windows::runtime::FactoryCache::new();
3260         unsafe { SHARED.call(callback) }
3261     }
3262 }
3263 unsafe impl ::windows::runtime::RuntimeType for SystemMediaTransportControls {
3264     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.SystemMediaTransportControls;{99fa3ff4-1742-42a6-902e-087d41f965ec})");
3265 }
3266 unsafe impl ::windows::runtime::Interface for SystemMediaTransportControls {
3267     type Vtable = ISystemMediaTransportControls_abi;
3268     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2583314420, 5954, 17062, [144, 46, 8, 125, 65, 249, 101, 236]);
3269 }
3270 impl ::windows::runtime::RuntimeName for SystemMediaTransportControls {
3271     const NAME: &'static str = "Windows.Media.SystemMediaTransportControls";
3272 }
3273 impl ::std::convert::From<SystemMediaTransportControls> for ::windows::runtime::IUnknown {
from(value: SystemMediaTransportControls) -> Self3274     fn from(value: SystemMediaTransportControls) -> Self {
3275         unsafe { ::std::mem::transmute(value) }
3276     }
3277 }
3278 impl ::std::convert::From<&SystemMediaTransportControls> for ::windows::runtime::IUnknown {
from(value: &SystemMediaTransportControls) -> Self3279     fn from(value: &SystemMediaTransportControls) -> Self {
3280         ::std::convert::From::from(::std::clone::Clone::clone(value))
3281     }
3282 }
3283 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemMediaTransportControls {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3284     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3285         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3286     }
3287 }
3288 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemMediaTransportControls {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3289     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3290         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3291     }
3292 }
3293 impl ::std::convert::From<SystemMediaTransportControls> for ::windows::runtime::IInspectable {
from(value: SystemMediaTransportControls) -> Self3294     fn from(value: SystemMediaTransportControls) -> Self {
3295         value.0
3296     }
3297 }
3298 impl ::std::convert::From<&SystemMediaTransportControls> for ::windows::runtime::IInspectable {
from(value: &SystemMediaTransportControls) -> Self3299     fn from(value: &SystemMediaTransportControls) -> Self {
3300         value.0.clone()
3301     }
3302 }
3303 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemMediaTransportControls {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3304     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3305         ::windows::runtime::Param::Owned(self.0)
3306     }
3307 }
3308 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemMediaTransportControls {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3309     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3310         ::windows::runtime::Param::Borrowed(&self.0)
3311     }
3312 }
3313 unsafe impl ::std::marker::Send for SystemMediaTransportControls {}
3314 unsafe impl ::std::marker::Sync for SystemMediaTransportControls {}
3315 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3316 #[repr(transparent)]
3317 pub struct SystemMediaTransportControlsButton(pub i32);
3318 impl SystemMediaTransportControlsButton {
3319     pub const Play: SystemMediaTransportControlsButton = SystemMediaTransportControlsButton(0i32);
3320     pub const Pause: SystemMediaTransportControlsButton = SystemMediaTransportControlsButton(1i32);
3321     pub const Stop: SystemMediaTransportControlsButton = SystemMediaTransportControlsButton(2i32);
3322     pub const Record: SystemMediaTransportControlsButton = SystemMediaTransportControlsButton(3i32);
3323     pub const FastForward: SystemMediaTransportControlsButton = SystemMediaTransportControlsButton(4i32);
3324     pub const Rewind: SystemMediaTransportControlsButton = SystemMediaTransportControlsButton(5i32);
3325     pub const Next: SystemMediaTransportControlsButton = SystemMediaTransportControlsButton(6i32);
3326     pub const Previous: SystemMediaTransportControlsButton = SystemMediaTransportControlsButton(7i32);
3327     pub const ChannelUp: SystemMediaTransportControlsButton = SystemMediaTransportControlsButton(8i32);
3328     pub const ChannelDown: SystemMediaTransportControlsButton = SystemMediaTransportControlsButton(9i32);
3329 }
3330 impl ::std::convert::From<i32> for SystemMediaTransportControlsButton {
from(value: i32) -> Self3331     fn from(value: i32) -> Self {
3332         Self(value)
3333     }
3334 }
3335 unsafe impl ::windows::runtime::Abi for SystemMediaTransportControlsButton {
3336     type Abi = Self;
3337     type DefaultType = Self;
3338 }
3339 unsafe impl ::windows::runtime::RuntimeType for SystemMediaTransportControlsButton {
3340     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.SystemMediaTransportControlsButton;i4)");
3341 }
3342 #[repr(transparent)]
3343 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3344 pub struct SystemMediaTransportControlsButtonPressedEventArgs(::windows::runtime::IInspectable);
3345 impl SystemMediaTransportControlsButtonPressedEventArgs {
Button(&self) -> ::windows::runtime::Result<SystemMediaTransportControlsButton>3346     pub fn Button(&self) -> ::windows::runtime::Result<SystemMediaTransportControlsButton> {
3347         let this = self;
3348         unsafe {
3349             let mut result__: SystemMediaTransportControlsButton = ::std::mem::zeroed();
3350             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SystemMediaTransportControlsButton>(result__)
3351         }
3352     }
3353 }
3354 unsafe impl ::windows::runtime::RuntimeType for SystemMediaTransportControlsButtonPressedEventArgs {
3355     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.SystemMediaTransportControlsButtonPressedEventArgs;{b7f47116-a56f-4dc8-9e11-92031f4a87c2})");
3356 }
3357 unsafe impl ::windows::runtime::Interface for SystemMediaTransportControlsButtonPressedEventArgs {
3358     type Vtable = ISystemMediaTransportControlsButtonPressedEventArgs_abi;
3359     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3086250262, 42351, 19912, [158, 17, 146, 3, 31, 74, 135, 194]);
3360 }
3361 impl ::windows::runtime::RuntimeName for SystemMediaTransportControlsButtonPressedEventArgs {
3362     const NAME: &'static str = "Windows.Media.SystemMediaTransportControlsButtonPressedEventArgs";
3363 }
3364 impl ::std::convert::From<SystemMediaTransportControlsButtonPressedEventArgs> for ::windows::runtime::IUnknown {
from(value: SystemMediaTransportControlsButtonPressedEventArgs) -> Self3365     fn from(value: SystemMediaTransportControlsButtonPressedEventArgs) -> Self {
3366         unsafe { ::std::mem::transmute(value) }
3367     }
3368 }
3369 impl ::std::convert::From<&SystemMediaTransportControlsButtonPressedEventArgs> for ::windows::runtime::IUnknown {
from(value: &SystemMediaTransportControlsButtonPressedEventArgs) -> Self3370     fn from(value: &SystemMediaTransportControlsButtonPressedEventArgs) -> Self {
3371         ::std::convert::From::from(::std::clone::Clone::clone(value))
3372     }
3373 }
3374 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemMediaTransportControlsButtonPressedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3375     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3376         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3377     }
3378 }
3379 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemMediaTransportControlsButtonPressedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3380     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3381         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3382     }
3383 }
3384 impl ::std::convert::From<SystemMediaTransportControlsButtonPressedEventArgs> for ::windows::runtime::IInspectable {
from(value: SystemMediaTransportControlsButtonPressedEventArgs) -> Self3385     fn from(value: SystemMediaTransportControlsButtonPressedEventArgs) -> Self {
3386         value.0
3387     }
3388 }
3389 impl ::std::convert::From<&SystemMediaTransportControlsButtonPressedEventArgs> for ::windows::runtime::IInspectable {
from(value: &SystemMediaTransportControlsButtonPressedEventArgs) -> Self3390     fn from(value: &SystemMediaTransportControlsButtonPressedEventArgs) -> Self {
3391         value.0.clone()
3392     }
3393 }
3394 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemMediaTransportControlsButtonPressedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3395     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3396         ::windows::runtime::Param::Owned(self.0)
3397     }
3398 }
3399 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemMediaTransportControlsButtonPressedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3400     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3401         ::windows::runtime::Param::Borrowed(&self.0)
3402     }
3403 }
3404 unsafe impl ::std::marker::Send for SystemMediaTransportControlsButtonPressedEventArgs {}
3405 unsafe impl ::std::marker::Sync for SystemMediaTransportControlsButtonPressedEventArgs {}
3406 #[repr(transparent)]
3407 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3408 pub struct SystemMediaTransportControlsDisplayUpdater(::windows::runtime::IInspectable);
3409 impl SystemMediaTransportControlsDisplayUpdater {
Type(&self) -> ::windows::runtime::Result<MediaPlaybackType>3410     pub fn Type(&self) -> ::windows::runtime::Result<MediaPlaybackType> {
3411         let this = self;
3412         unsafe {
3413             let mut result__: MediaPlaybackType = ::std::mem::zeroed();
3414             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackType>(result__)
3415         }
3416     }
SetType(&self, value: MediaPlaybackType) -> ::windows::runtime::Result<()>3417     pub fn SetType(&self, value: MediaPlaybackType) -> ::windows::runtime::Result<()> {
3418         let this = self;
3419         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3420     }
AppMediaId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3421     pub fn AppMediaId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3422         let this = self;
3423         unsafe {
3424             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3425             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3426         }
3427     }
SetAppMediaId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>3428     pub fn SetAppMediaId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3429         let this = self;
3430         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3431     }
3432     #[cfg(feature = "Storage_Streams")]
Thumbnail(&self) -> ::windows::runtime::Result<super::Storage::Streams::RandomAccessStreamReference>3433     pub fn Thumbnail(&self) -> ::windows::runtime::Result<super::Storage::Streams::RandomAccessStreamReference> {
3434         let this = self;
3435         unsafe {
3436             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3437             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Storage::Streams::RandomAccessStreamReference>(result__)
3438         }
3439     }
3440     #[cfg(feature = "Storage_Streams")]
SetThumbnail<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::Streams::RandomAccessStreamReference>>(&self, value: Param0) -> ::windows::runtime::Result<()>3441     pub fn SetThumbnail<'a, Param0: ::windows::runtime::IntoParam<'a, super::Storage::Streams::RandomAccessStreamReference>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3442         let this = self;
3443         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3444     }
MusicProperties(&self) -> ::windows::runtime::Result<MusicDisplayProperties>3445     pub fn MusicProperties(&self) -> ::windows::runtime::Result<MusicDisplayProperties> {
3446         let this = self;
3447         unsafe {
3448             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3449             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MusicDisplayProperties>(result__)
3450         }
3451     }
VideoProperties(&self) -> ::windows::runtime::Result<VideoDisplayProperties>3452     pub fn VideoProperties(&self) -> ::windows::runtime::Result<VideoDisplayProperties> {
3453         let this = self;
3454         unsafe {
3455             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3456             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VideoDisplayProperties>(result__)
3457         }
3458     }
ImageProperties(&self) -> ::windows::runtime::Result<ImageDisplayProperties>3459     pub fn ImageProperties(&self) -> ::windows::runtime::Result<ImageDisplayProperties> {
3460         let this = self;
3461         unsafe {
3462             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3463             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ImageDisplayProperties>(result__)
3464         }
3465     }
3466     #[cfg(all(feature = "Foundation", feature = "Storage"))]
CopyFromFileAsync<'a, Param1: ::windows::runtime::IntoParam<'a, super::Storage::StorageFile>>(&self, r#type: MediaPlaybackType, source: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>>3467     pub fn CopyFromFileAsync<'a, Param1: ::windows::runtime::IntoParam<'a, super::Storage::StorageFile>>(&self, r#type: MediaPlaybackType, source: Param1) -> ::windows::runtime::Result<super::Foundation::IAsyncOperation<bool>> {
3468         let this = self;
3469         unsafe {
3470             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3471             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), r#type, source.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncOperation<bool>>(result__)
3472         }
3473     }
ClearAll(&self) -> ::windows::runtime::Result<()>3474     pub fn ClearAll(&self) -> ::windows::runtime::Result<()> {
3475         let this = self;
3476         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this)).ok() }
3477     }
Update(&self) -> ::windows::runtime::Result<()>3478     pub fn Update(&self) -> ::windows::runtime::Result<()> {
3479         let this = self;
3480         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this)).ok() }
3481     }
3482 }
3483 unsafe impl ::windows::runtime::RuntimeType for SystemMediaTransportControlsDisplayUpdater {
3484     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.SystemMediaTransportControlsDisplayUpdater;{8abbc53e-fa55-4ecf-ad8e-c984e5dd1550})");
3485 }
3486 unsafe impl ::windows::runtime::Interface for SystemMediaTransportControlsDisplayUpdater {
3487     type Vtable = ISystemMediaTransportControlsDisplayUpdater_abi;
3488     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2327561534, 64085, 20175, [173, 142, 201, 132, 229, 221, 21, 80]);
3489 }
3490 impl ::windows::runtime::RuntimeName for SystemMediaTransportControlsDisplayUpdater {
3491     const NAME: &'static str = "Windows.Media.SystemMediaTransportControlsDisplayUpdater";
3492 }
3493 impl ::std::convert::From<SystemMediaTransportControlsDisplayUpdater> for ::windows::runtime::IUnknown {
from(value: SystemMediaTransportControlsDisplayUpdater) -> Self3494     fn from(value: SystemMediaTransportControlsDisplayUpdater) -> Self {
3495         unsafe { ::std::mem::transmute(value) }
3496     }
3497 }
3498 impl ::std::convert::From<&SystemMediaTransportControlsDisplayUpdater> for ::windows::runtime::IUnknown {
from(value: &SystemMediaTransportControlsDisplayUpdater) -> Self3499     fn from(value: &SystemMediaTransportControlsDisplayUpdater) -> Self {
3500         ::std::convert::From::from(::std::clone::Clone::clone(value))
3501     }
3502 }
3503 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemMediaTransportControlsDisplayUpdater {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3504     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3505         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3506     }
3507 }
3508 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemMediaTransportControlsDisplayUpdater {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3509     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3510         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3511     }
3512 }
3513 impl ::std::convert::From<SystemMediaTransportControlsDisplayUpdater> for ::windows::runtime::IInspectable {
from(value: SystemMediaTransportControlsDisplayUpdater) -> Self3514     fn from(value: SystemMediaTransportControlsDisplayUpdater) -> Self {
3515         value.0
3516     }
3517 }
3518 impl ::std::convert::From<&SystemMediaTransportControlsDisplayUpdater> for ::windows::runtime::IInspectable {
from(value: &SystemMediaTransportControlsDisplayUpdater) -> Self3519     fn from(value: &SystemMediaTransportControlsDisplayUpdater) -> Self {
3520         value.0.clone()
3521     }
3522 }
3523 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemMediaTransportControlsDisplayUpdater {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3524     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3525         ::windows::runtime::Param::Owned(self.0)
3526     }
3527 }
3528 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemMediaTransportControlsDisplayUpdater {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3529     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3530         ::windows::runtime::Param::Borrowed(&self.0)
3531     }
3532 }
3533 unsafe impl ::std::marker::Send for SystemMediaTransportControlsDisplayUpdater {}
3534 unsafe impl ::std::marker::Sync for SystemMediaTransportControlsDisplayUpdater {}
3535 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3536 #[repr(transparent)]
3537 pub struct SystemMediaTransportControlsProperty(pub i32);
3538 impl SystemMediaTransportControlsProperty {
3539     pub const SoundLevel: SystemMediaTransportControlsProperty = SystemMediaTransportControlsProperty(0i32);
3540 }
3541 impl ::std::convert::From<i32> for SystemMediaTransportControlsProperty {
from(value: i32) -> Self3542     fn from(value: i32) -> Self {
3543         Self(value)
3544     }
3545 }
3546 unsafe impl ::windows::runtime::Abi for SystemMediaTransportControlsProperty {
3547     type Abi = Self;
3548     type DefaultType = Self;
3549 }
3550 unsafe impl ::windows::runtime::RuntimeType for SystemMediaTransportControlsProperty {
3551     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.SystemMediaTransportControlsProperty;i4)");
3552 }
3553 #[repr(transparent)]
3554 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3555 pub struct SystemMediaTransportControlsPropertyChangedEventArgs(::windows::runtime::IInspectable);
3556 impl SystemMediaTransportControlsPropertyChangedEventArgs {
Property(&self) -> ::windows::runtime::Result<SystemMediaTransportControlsProperty>3557     pub fn Property(&self) -> ::windows::runtime::Result<SystemMediaTransportControlsProperty> {
3558         let this = self;
3559         unsafe {
3560             let mut result__: SystemMediaTransportControlsProperty = ::std::mem::zeroed();
3561             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SystemMediaTransportControlsProperty>(result__)
3562         }
3563     }
3564 }
3565 unsafe impl ::windows::runtime::RuntimeType for SystemMediaTransportControlsPropertyChangedEventArgs {
3566     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.SystemMediaTransportControlsPropertyChangedEventArgs;{d0ca0936-339b-4cb3-8eeb-737607f56e08})");
3567 }
3568 unsafe impl ::windows::runtime::Interface for SystemMediaTransportControlsPropertyChangedEventArgs {
3569     type Vtable = ISystemMediaTransportControlsPropertyChangedEventArgs_abi;
3570     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3502901558, 13211, 19635, [142, 235, 115, 118, 7, 245, 110, 8]);
3571 }
3572 impl ::windows::runtime::RuntimeName for SystemMediaTransportControlsPropertyChangedEventArgs {
3573     const NAME: &'static str = "Windows.Media.SystemMediaTransportControlsPropertyChangedEventArgs";
3574 }
3575 impl ::std::convert::From<SystemMediaTransportControlsPropertyChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: SystemMediaTransportControlsPropertyChangedEventArgs) -> Self3576     fn from(value: SystemMediaTransportControlsPropertyChangedEventArgs) -> Self {
3577         unsafe { ::std::mem::transmute(value) }
3578     }
3579 }
3580 impl ::std::convert::From<&SystemMediaTransportControlsPropertyChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: &SystemMediaTransportControlsPropertyChangedEventArgs) -> Self3581     fn from(value: &SystemMediaTransportControlsPropertyChangedEventArgs) -> Self {
3582         ::std::convert::From::from(::std::clone::Clone::clone(value))
3583     }
3584 }
3585 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemMediaTransportControlsPropertyChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3586     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3587         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3588     }
3589 }
3590 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemMediaTransportControlsPropertyChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3591     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3592         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3593     }
3594 }
3595 impl ::std::convert::From<SystemMediaTransportControlsPropertyChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: SystemMediaTransportControlsPropertyChangedEventArgs) -> Self3596     fn from(value: SystemMediaTransportControlsPropertyChangedEventArgs) -> Self {
3597         value.0
3598     }
3599 }
3600 impl ::std::convert::From<&SystemMediaTransportControlsPropertyChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: &SystemMediaTransportControlsPropertyChangedEventArgs) -> Self3601     fn from(value: &SystemMediaTransportControlsPropertyChangedEventArgs) -> Self {
3602         value.0.clone()
3603     }
3604 }
3605 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemMediaTransportControlsPropertyChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3606     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3607         ::windows::runtime::Param::Owned(self.0)
3608     }
3609 }
3610 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemMediaTransportControlsPropertyChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3611     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3612         ::windows::runtime::Param::Borrowed(&self.0)
3613     }
3614 }
3615 unsafe impl ::std::marker::Send for SystemMediaTransportControlsPropertyChangedEventArgs {}
3616 unsafe impl ::std::marker::Sync for SystemMediaTransportControlsPropertyChangedEventArgs {}
3617 #[repr(transparent)]
3618 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3619 pub struct SystemMediaTransportControlsTimelineProperties(::windows::runtime::IInspectable);
3620 impl SystemMediaTransportControlsTimelineProperties {
new() -> ::windows::runtime::Result<Self>3621     pub fn new() -> ::windows::runtime::Result<Self> {
3622         Self::IActivationFactory(|f| f.activate_instance::<Self>())
3623     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>3624     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
3625         static mut SHARED: ::windows::runtime::FactoryCache<SystemMediaTransportControlsTimelineProperties, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
3626         unsafe { SHARED.call(callback) }
3627     }
3628     #[cfg(feature = "Foundation")]
StartTime(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan>3629     pub fn StartTime(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan> {
3630         let this = self;
3631         unsafe {
3632             let mut result__: super::Foundation::TimeSpan = ::std::mem::zeroed();
3633             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::TimeSpan>(result__)
3634         }
3635     }
3636     #[cfg(feature = "Foundation")]
SetStartTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>3637     pub fn SetStartTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3638         let this = self;
3639         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3640     }
3641     #[cfg(feature = "Foundation")]
EndTime(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan>3642     pub fn EndTime(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan> {
3643         let this = self;
3644         unsafe {
3645             let mut result__: super::Foundation::TimeSpan = ::std::mem::zeroed();
3646             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::TimeSpan>(result__)
3647         }
3648     }
3649     #[cfg(feature = "Foundation")]
SetEndTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>3650     pub fn SetEndTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3651         let this = self;
3652         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3653     }
3654     #[cfg(feature = "Foundation")]
MinSeekTime(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan>3655     pub fn MinSeekTime(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan> {
3656         let this = self;
3657         unsafe {
3658             let mut result__: super::Foundation::TimeSpan = ::std::mem::zeroed();
3659             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::TimeSpan>(result__)
3660         }
3661     }
3662     #[cfg(feature = "Foundation")]
SetMinSeekTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>3663     pub fn SetMinSeekTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3664         let this = self;
3665         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3666     }
3667     #[cfg(feature = "Foundation")]
MaxSeekTime(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan>3668     pub fn MaxSeekTime(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan> {
3669         let this = self;
3670         unsafe {
3671             let mut result__: super::Foundation::TimeSpan = ::std::mem::zeroed();
3672             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::TimeSpan>(result__)
3673         }
3674     }
3675     #[cfg(feature = "Foundation")]
SetMaxSeekTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>3676     pub fn SetMaxSeekTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3677         let this = self;
3678         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3679     }
3680     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan>3681     pub fn Position(&self) -> ::windows::runtime::Result<super::Foundation::TimeSpan> {
3682         let this = self;
3683         unsafe {
3684             let mut result__: super::Foundation::TimeSpan = ::std::mem::zeroed();
3685             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::TimeSpan>(result__)
3686         }
3687     }
3688     #[cfg(feature = "Foundation")]
SetPosition<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>3689     pub fn SetPosition<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3690         let this = self;
3691         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3692     }
3693 }
3694 unsafe impl ::windows::runtime::RuntimeType for SystemMediaTransportControlsTimelineProperties {
3695     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.SystemMediaTransportControlsTimelineProperties;{5125316a-c3a2-475b-8507-93534dc88f15})");
3696 }
3697 unsafe impl ::windows::runtime::Interface for SystemMediaTransportControlsTimelineProperties {
3698     type Vtable = ISystemMediaTransportControlsTimelineProperties_abi;
3699     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1361391978, 50082, 18267, [133, 7, 147, 83, 77, 200, 143, 21]);
3700 }
3701 impl ::windows::runtime::RuntimeName for SystemMediaTransportControlsTimelineProperties {
3702     const NAME: &'static str = "Windows.Media.SystemMediaTransportControlsTimelineProperties";
3703 }
3704 impl ::std::convert::From<SystemMediaTransportControlsTimelineProperties> for ::windows::runtime::IUnknown {
from(value: SystemMediaTransportControlsTimelineProperties) -> Self3705     fn from(value: SystemMediaTransportControlsTimelineProperties) -> Self {
3706         unsafe { ::std::mem::transmute(value) }
3707     }
3708 }
3709 impl ::std::convert::From<&SystemMediaTransportControlsTimelineProperties> for ::windows::runtime::IUnknown {
from(value: &SystemMediaTransportControlsTimelineProperties) -> Self3710     fn from(value: &SystemMediaTransportControlsTimelineProperties) -> Self {
3711         ::std::convert::From::from(::std::clone::Clone::clone(value))
3712     }
3713 }
3714 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SystemMediaTransportControlsTimelineProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3715     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3716         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3717     }
3718 }
3719 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SystemMediaTransportControlsTimelineProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3720     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3721         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3722     }
3723 }
3724 impl ::std::convert::From<SystemMediaTransportControlsTimelineProperties> for ::windows::runtime::IInspectable {
from(value: SystemMediaTransportControlsTimelineProperties) -> Self3725     fn from(value: SystemMediaTransportControlsTimelineProperties) -> Self {
3726         value.0
3727     }
3728 }
3729 impl ::std::convert::From<&SystemMediaTransportControlsTimelineProperties> for ::windows::runtime::IInspectable {
from(value: &SystemMediaTransportControlsTimelineProperties) -> Self3730     fn from(value: &SystemMediaTransportControlsTimelineProperties) -> Self {
3731         value.0.clone()
3732     }
3733 }
3734 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SystemMediaTransportControlsTimelineProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3735     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3736         ::windows::runtime::Param::Owned(self.0)
3737     }
3738 }
3739 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SystemMediaTransportControlsTimelineProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3740     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3741         ::windows::runtime::Param::Borrowed(&self.0)
3742     }
3743 }
3744 unsafe impl ::std::marker::Send for SystemMediaTransportControlsTimelineProperties {}
3745 unsafe impl ::std::marker::Sync for SystemMediaTransportControlsTimelineProperties {}
3746 #[repr(transparent)]
3747 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3748 pub struct VideoDisplayProperties(::windows::runtime::IInspectable);
3749 impl VideoDisplayProperties {
Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3750     pub fn Title(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3751         let this = self;
3752         unsafe {
3753             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3754             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3755         }
3756     }
SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>3757     pub fn SetTitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3758         let this = self;
3759         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3760     }
Subtitle(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3761     pub fn Subtitle(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3762         let this = self;
3763         unsafe {
3764             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3765             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3766         }
3767     }
SetSubtitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>3768     pub fn SetSubtitle<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3769         let this = self;
3770         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3771     }
3772     #[cfg(feature = "Foundation_Collections")]
Genres(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>3773     pub fn Genres(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>> {
3774         let this = &::windows::runtime::Interface::cast::<IVideoDisplayProperties2>(self)?;
3775         unsafe {
3776             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3777             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IVector<::windows::runtime::HSTRING>>(result__)
3778         }
3779     }
3780 }
3781 unsafe impl ::windows::runtime::RuntimeType for VideoDisplayProperties {
3782     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.VideoDisplayProperties;{5609fdb1-5d2d-4872-8170-45dee5bc2f5c})");
3783 }
3784 unsafe impl ::windows::runtime::Interface for VideoDisplayProperties {
3785     type Vtable = IVideoDisplayProperties_abi;
3786     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1443495345, 23853, 18546, [129, 112, 69, 222, 229, 188, 47, 92]);
3787 }
3788 impl ::windows::runtime::RuntimeName for VideoDisplayProperties {
3789     const NAME: &'static str = "Windows.Media.VideoDisplayProperties";
3790 }
3791 impl ::std::convert::From<VideoDisplayProperties> for ::windows::runtime::IUnknown {
from(value: VideoDisplayProperties) -> Self3792     fn from(value: VideoDisplayProperties) -> Self {
3793         unsafe { ::std::mem::transmute(value) }
3794     }
3795 }
3796 impl ::std::convert::From<&VideoDisplayProperties> for ::windows::runtime::IUnknown {
from(value: &VideoDisplayProperties) -> Self3797     fn from(value: &VideoDisplayProperties) -> Self {
3798         ::std::convert::From::from(::std::clone::Clone::clone(value))
3799     }
3800 }
3801 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for VideoDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3802     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3803         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3804     }
3805 }
3806 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &VideoDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3807     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3808         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3809     }
3810 }
3811 impl ::std::convert::From<VideoDisplayProperties> for ::windows::runtime::IInspectable {
from(value: VideoDisplayProperties) -> Self3812     fn from(value: VideoDisplayProperties) -> Self {
3813         value.0
3814     }
3815 }
3816 impl ::std::convert::From<&VideoDisplayProperties> for ::windows::runtime::IInspectable {
from(value: &VideoDisplayProperties) -> Self3817     fn from(value: &VideoDisplayProperties) -> Self {
3818         value.0.clone()
3819     }
3820 }
3821 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for VideoDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3822     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3823         ::windows::runtime::Param::Owned(self.0)
3824     }
3825 }
3826 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a VideoDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3827     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3828         ::windows::runtime::Param::Borrowed(&self.0)
3829     }
3830 }
3831 unsafe impl ::std::marker::Send for VideoDisplayProperties {}
3832 unsafe impl ::std::marker::Sync for VideoDisplayProperties {}
3833 pub struct VideoEffects {}
3834 impl VideoEffects {
VideoStabilization() -> ::windows::runtime::Result<::windows::runtime::HSTRING>3835     pub fn VideoStabilization() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3836         Self::IVideoEffectsStatics(|this| unsafe {
3837             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3838             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3839         })
3840     }
IVideoEffectsStatics<R, F: FnOnce(&IVideoEffectsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>3841     pub fn IVideoEffectsStatics<R, F: FnOnce(&IVideoEffectsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
3842         static mut SHARED: ::windows::runtime::FactoryCache<VideoEffects, IVideoEffectsStatics> = ::windows::runtime::FactoryCache::new();
3843         unsafe { SHARED.call(callback) }
3844     }
3845 }
3846 impl ::windows::runtime::RuntimeName for VideoEffects {
3847     const NAME: &'static str = "Windows.Media.VideoEffects";
3848 }
3849 #[repr(transparent)]
3850 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3851 pub struct VideoFrame(::windows::runtime::IInspectable);
3852 impl VideoFrame {
3853     #[cfg(feature = "Graphics_Imaging")]
SoftwareBitmap(&self) -> ::windows::runtime::Result<super::Graphics::Imaging::SoftwareBitmap>3854     pub fn SoftwareBitmap(&self) -> ::windows::runtime::Result<super::Graphics::Imaging::SoftwareBitmap> {
3855         let this = self;
3856         unsafe {
3857             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3858             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Graphics::Imaging::SoftwareBitmap>(result__)
3859         }
3860     }
3861     #[cfg(feature = "Foundation")]
CopyToAsync<'a, Param0: ::windows::runtime::IntoParam<'a, VideoFrame>>(&self, frame: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>3862     pub fn CopyToAsync<'a, Param0: ::windows::runtime::IntoParam<'a, VideoFrame>>(&self, frame: Param0) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
3863         let this = self;
3864         unsafe {
3865             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3866             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), frame.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
3867         }
3868     }
3869     #[cfg(feature = "Graphics_DirectX_Direct3D11")]
Direct3DSurface(&self) -> ::windows::runtime::Result<super::Graphics::DirectX::Direct3D11::IDirect3DSurface>3870     pub fn Direct3DSurface(&self) -> ::windows::runtime::Result<super::Graphics::DirectX::Direct3D11::IDirect3DSurface> {
3871         let this = self;
3872         unsafe {
3873             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3874             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Graphics::DirectX::Direct3D11::IDirect3DSurface>(result__)
3875         }
3876     }
3877     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>3878     pub fn Close(&self) -> ::windows::runtime::Result<()> {
3879         let this = &::windows::runtime::Interface::cast::<super::Foundation::IClosable>(self)?;
3880         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
3881     }
Type(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>3882     pub fn Type(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
3883         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
3884         unsafe {
3885             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
3886             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
3887         }
3888     }
IsReadOnly(&self) -> ::windows::runtime::Result<bool>3889     pub fn IsReadOnly(&self) -> ::windows::runtime::Result<bool> {
3890         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
3891         unsafe {
3892             let mut result__: bool = ::std::mem::zeroed();
3893             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3894         }
3895     }
3896     #[cfg(feature = "Foundation")]
SetRelativeTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()>3897     pub fn SetRelativeTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3898         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
3899         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3900     }
3901     #[cfg(feature = "Foundation")]
RelativeTime(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>>3902     pub fn RelativeTime(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>> {
3903         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
3904         unsafe {
3905             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3906             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IReference<super::Foundation::TimeSpan>>(result__)
3907         }
3908     }
3909     #[cfg(feature = "Foundation")]
SetSystemRelativeTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()>3910     pub fn SetSystemRelativeTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3911         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
3912         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3913     }
3914     #[cfg(feature = "Foundation")]
SystemRelativeTime(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>>3915     pub fn SystemRelativeTime(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>> {
3916         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
3917         unsafe {
3918             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3919             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IReference<super::Foundation::TimeSpan>>(result__)
3920         }
3921     }
3922     #[cfg(feature = "Foundation")]
SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()>3923     pub fn SetDuration<'a, Param0: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
3924         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
3925         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
3926     }
3927     #[cfg(feature = "Foundation")]
Duration(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>>3928     pub fn Duration(&self) -> ::windows::runtime::Result<super::Foundation::IReference<super::Foundation::TimeSpan>> {
3929         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
3930         unsafe {
3931             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3932             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::IReference<super::Foundation::TimeSpan>>(result__)
3933         }
3934     }
SetIsDiscontinuous(&self, value: bool) -> ::windows::runtime::Result<()>3935     pub fn SetIsDiscontinuous(&self, value: bool) -> ::windows::runtime::Result<()> {
3936         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
3937         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), value).ok() }
3938     }
IsDiscontinuous(&self) -> ::windows::runtime::Result<bool>3939     pub fn IsDiscontinuous(&self) -> ::windows::runtime::Result<bool> {
3940         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
3941         unsafe {
3942             let mut result__: bool = ::std::mem::zeroed();
3943             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3944         }
3945     }
3946     #[cfg(feature = "Foundation_Collections")]
ExtendedProperties(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IPropertySet>3947     pub fn ExtendedProperties(&self) -> ::windows::runtime::Result<super::Foundation::Collections::IPropertySet> {
3948         let this = &::windows::runtime::Interface::cast::<IMediaFrame>(self)?;
3949         unsafe {
3950             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3951             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Foundation::Collections::IPropertySet>(result__)
3952         }
3953     }
3954     #[cfg(feature = "Graphics_Imaging")]
Create(format: super::Graphics::Imaging::BitmapPixelFormat, width: i32, height: i32) -> ::windows::runtime::Result<VideoFrame>3955     pub fn Create(format: super::Graphics::Imaging::BitmapPixelFormat, width: i32, height: i32) -> ::windows::runtime::Result<VideoFrame> {
3956         Self::IVideoFrameFactory(|this| unsafe {
3957             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3958             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), format, width, height, &mut result__).from_abi::<VideoFrame>(result__)
3959         })
3960     }
3961     #[cfg(feature = "Graphics_Imaging")]
CreateWithAlpha(format: super::Graphics::Imaging::BitmapPixelFormat, width: i32, height: i32, alpha: super::Graphics::Imaging::BitmapAlphaMode) -> ::windows::runtime::Result<VideoFrame>3962     pub fn CreateWithAlpha(format: super::Graphics::Imaging::BitmapPixelFormat, width: i32, height: i32, alpha: super::Graphics::Imaging::BitmapAlphaMode) -> ::windows::runtime::Result<VideoFrame> {
3963         Self::IVideoFrameFactory(|this| unsafe {
3964             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3965             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), format, width, height, alpha, &mut result__).from_abi::<VideoFrame>(result__)
3966         })
3967     }
3968     #[cfg(all(feature = "Foundation", feature = "Graphics_Imaging"))]
CopyToWithBoundsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, VideoFrame>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Graphics::Imaging::BitmapBounds>>, Param2: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Graphics::Imaging::BitmapBounds>>>(&self, frame: Param0, sourcebounds: Param1, destinationbounds: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncAction>3969     pub fn CopyToWithBoundsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, VideoFrame>, Param1: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Graphics::Imaging::BitmapBounds>>, Param2: ::windows::runtime::IntoParam<'a, super::Foundation::IReference<super::Graphics::Imaging::BitmapBounds>>>(&self, frame: Param0, sourcebounds: Param1, destinationbounds: Param2) -> ::windows::runtime::Result<super::Foundation::IAsyncAction> {
3970         let this = &::windows::runtime::Interface::cast::<IVideoFrame2>(self)?;
3971         unsafe {
3972             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3973             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), frame.into_param().abi(), sourcebounds.into_param().abi(), destinationbounds.into_param().abi(), &mut result__).from_abi::<super::Foundation::IAsyncAction>(result__)
3974         }
3975     }
3976     #[cfg(feature = "Graphics_DirectX")]
CreateAsDirect3D11SurfaceBacked(format: super::Graphics::DirectX::DirectXPixelFormat, width: i32, height: i32) -> ::windows::runtime::Result<VideoFrame>3977     pub fn CreateAsDirect3D11SurfaceBacked(format: super::Graphics::DirectX::DirectXPixelFormat, width: i32, height: i32) -> ::windows::runtime::Result<VideoFrame> {
3978         Self::IVideoFrameStatics(|this| unsafe {
3979             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3980             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), format, width, height, &mut result__).from_abi::<VideoFrame>(result__)
3981         })
3982     }
3983     #[cfg(all(feature = "Graphics_DirectX", feature = "Graphics_DirectX_Direct3D11"))]
CreateAsDirect3D11SurfaceBackedWithDevice<'a, Param3: ::windows::runtime::IntoParam<'a, super::Graphics::DirectX::Direct3D11::IDirect3DDevice>>(format: super::Graphics::DirectX::DirectXPixelFormat, width: i32, height: i32, device: Param3) -> ::windows::runtime::Result<VideoFrame>3984     pub fn CreateAsDirect3D11SurfaceBackedWithDevice<'a, Param3: ::windows::runtime::IntoParam<'a, super::Graphics::DirectX::Direct3D11::IDirect3DDevice>>(format: super::Graphics::DirectX::DirectXPixelFormat, width: i32, height: i32, device: Param3) -> ::windows::runtime::Result<VideoFrame> {
3985         Self::IVideoFrameStatics(|this| unsafe {
3986             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3987             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), format, width, height, device.into_param().abi(), &mut result__).from_abi::<VideoFrame>(result__)
3988         })
3989     }
3990     #[cfg(feature = "Graphics_Imaging")]
CreateWithSoftwareBitmap<'a, Param0: ::windows::runtime::IntoParam<'a, super::Graphics::Imaging::SoftwareBitmap>>(bitmap: Param0) -> ::windows::runtime::Result<VideoFrame>3991     pub fn CreateWithSoftwareBitmap<'a, Param0: ::windows::runtime::IntoParam<'a, super::Graphics::Imaging::SoftwareBitmap>>(bitmap: Param0) -> ::windows::runtime::Result<VideoFrame> {
3992         Self::IVideoFrameStatics(|this| unsafe {
3993             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3994             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), bitmap.into_param().abi(), &mut result__).from_abi::<VideoFrame>(result__)
3995         })
3996     }
3997     #[cfg(feature = "Graphics_DirectX_Direct3D11")]
CreateWithDirect3D11Surface<'a, Param0: ::windows::runtime::IntoParam<'a, super::Graphics::DirectX::Direct3D11::IDirect3DSurface>>(surface: Param0) -> ::windows::runtime::Result<VideoFrame>3998     pub fn CreateWithDirect3D11Surface<'a, Param0: ::windows::runtime::IntoParam<'a, super::Graphics::DirectX::Direct3D11::IDirect3DSurface>>(surface: Param0) -> ::windows::runtime::Result<VideoFrame> {
3999         Self::IVideoFrameStatics(|this| unsafe {
4000             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4001             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), surface.into_param().abi(), &mut result__).from_abi::<VideoFrame>(result__)
4002         })
4003     }
IVideoFrameFactory<R, F: FnOnce(&IVideoFrameFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4004     pub fn IVideoFrameFactory<R, F: FnOnce(&IVideoFrameFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4005         static mut SHARED: ::windows::runtime::FactoryCache<VideoFrame, IVideoFrameFactory> = ::windows::runtime::FactoryCache::new();
4006         unsafe { SHARED.call(callback) }
4007     }
IVideoFrameStatics<R, F: FnOnce(&IVideoFrameStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4008     pub fn IVideoFrameStatics<R, F: FnOnce(&IVideoFrameStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4009         static mut SHARED: ::windows::runtime::FactoryCache<VideoFrame, IVideoFrameStatics> = ::windows::runtime::FactoryCache::new();
4010         unsafe { SHARED.call(callback) }
4011     }
4012 }
4013 unsafe impl ::windows::runtime::RuntimeType for VideoFrame {
4014     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.VideoFrame;{0cc06625-90fc-4c92-bd95-7ded21819d1c})");
4015 }
4016 unsafe impl ::windows::runtime::Interface for VideoFrame {
4017     type Vtable = IVideoFrame_abi;
4018     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(213935653, 37116, 19602, [189, 149, 125, 237, 33, 129, 157, 28]);
4019 }
4020 impl ::windows::runtime::RuntimeName for VideoFrame {
4021     const NAME: &'static str = "Windows.Media.VideoFrame";
4022 }
4023 impl ::std::convert::From<VideoFrame> for ::windows::runtime::IUnknown {
from(value: VideoFrame) -> Self4024     fn from(value: VideoFrame) -> Self {
4025         unsafe { ::std::mem::transmute(value) }
4026     }
4027 }
4028 impl ::std::convert::From<&VideoFrame> for ::windows::runtime::IUnknown {
from(value: &VideoFrame) -> Self4029     fn from(value: &VideoFrame) -> Self {
4030         ::std::convert::From::from(::std::clone::Clone::clone(value))
4031     }
4032 }
4033 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for VideoFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4034     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4035         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4036     }
4037 }
4038 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &VideoFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4039     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4040         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4041     }
4042 }
4043 impl ::std::convert::From<VideoFrame> for ::windows::runtime::IInspectable {
from(value: VideoFrame) -> Self4044     fn from(value: VideoFrame) -> Self {
4045         value.0
4046     }
4047 }
4048 impl ::std::convert::From<&VideoFrame> for ::windows::runtime::IInspectable {
from(value: &VideoFrame) -> Self4049     fn from(value: &VideoFrame) -> Self {
4050         value.0.clone()
4051     }
4052 }
4053 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for VideoFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4054     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4055         ::windows::runtime::Param::Owned(self.0)
4056     }
4057 }
4058 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a VideoFrame {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4059     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4060         ::windows::runtime::Param::Borrowed(&self.0)
4061     }
4062 }
4063 #[cfg(feature = "Foundation")]
4064 impl ::std::convert::TryFrom<VideoFrame> for super::Foundation::IClosable {
4065     type Error = ::windows::runtime::Error;
try_from(value: VideoFrame) -> ::windows::runtime::Result<Self>4066     fn try_from(value: VideoFrame) -> ::windows::runtime::Result<Self> {
4067         ::std::convert::TryFrom::try_from(&value)
4068     }
4069 }
4070 #[cfg(feature = "Foundation")]
4071 impl ::std::convert::TryFrom<&VideoFrame> for super::Foundation::IClosable {
4072     type Error = ::windows::runtime::Error;
try_from(value: &VideoFrame) -> ::windows::runtime::Result<Self>4073     fn try_from(value: &VideoFrame) -> ::windows::runtime::Result<Self> {
4074         ::windows::runtime::Interface::cast(value)
4075     }
4076 }
4077 #[cfg(feature = "Foundation")]
4078 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for VideoFrame {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>4079     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
4080         ::windows::runtime::IntoParam::into_param(&self)
4081     }
4082 }
4083 #[cfg(feature = "Foundation")]
4084 impl<'a> ::windows::runtime::IntoParam<'a, super::Foundation::IClosable> for &VideoFrame {
into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable>4085     fn into_param(self) -> ::windows::runtime::Param<'a, super::Foundation::IClosable> {
4086         ::std::convert::TryInto::<super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4087     }
4088 }
4089 impl ::std::convert::TryFrom<VideoFrame> for IMediaFrame {
4090     type Error = ::windows::runtime::Error;
try_from(value: VideoFrame) -> ::windows::runtime::Result<Self>4091     fn try_from(value: VideoFrame) -> ::windows::runtime::Result<Self> {
4092         ::std::convert::TryFrom::try_from(&value)
4093     }
4094 }
4095 impl ::std::convert::TryFrom<&VideoFrame> for IMediaFrame {
4096     type Error = ::windows::runtime::Error;
try_from(value: &VideoFrame) -> ::windows::runtime::Result<Self>4097     fn try_from(value: &VideoFrame) -> ::windows::runtime::Result<Self> {
4098         ::windows::runtime::Interface::cast(value)
4099     }
4100 }
4101 impl<'a> ::windows::runtime::IntoParam<'a, IMediaFrame> for VideoFrame {
into_param(self) -> ::windows::runtime::Param<'a, IMediaFrame>4102     fn into_param(self) -> ::windows::runtime::Param<'a, IMediaFrame> {
4103         ::windows::runtime::IntoParam::into_param(&self)
4104     }
4105 }
4106 impl<'a> ::windows::runtime::IntoParam<'a, IMediaFrame> for &VideoFrame {
into_param(self) -> ::windows::runtime::Param<'a, IMediaFrame>4107     fn into_param(self) -> ::windows::runtime::Param<'a, IMediaFrame> {
4108         ::std::convert::TryInto::<IMediaFrame>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4109     }
4110 }
4111 unsafe impl ::std::marker::Send for VideoFrame {}
4112 unsafe impl ::std::marker::Sync for VideoFrame {}
4113