1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3 #[repr(transparent)]
4 pub struct AutoLoadedDisplayPropertyKind(pub i32);
5 impl AutoLoadedDisplayPropertyKind {
6     pub const None: AutoLoadedDisplayPropertyKind = AutoLoadedDisplayPropertyKind(0i32);
7     pub const MusicOrVideo: AutoLoadedDisplayPropertyKind = AutoLoadedDisplayPropertyKind(1i32);
8     pub const Music: AutoLoadedDisplayPropertyKind = AutoLoadedDisplayPropertyKind(2i32);
9     pub const Video: AutoLoadedDisplayPropertyKind = AutoLoadedDisplayPropertyKind(3i32);
10 }
11 impl ::std::convert::From<i32> for AutoLoadedDisplayPropertyKind {
from(value: i32) -> Self12     fn from(value: i32) -> Self {
13         Self(value)
14     }
15 }
16 unsafe impl ::windows::runtime::Abi for AutoLoadedDisplayPropertyKind {
17     type Abi = Self;
18     type DefaultType = Self;
19 }
20 unsafe impl ::windows::runtime::RuntimeType for AutoLoadedDisplayPropertyKind {
21     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.Playback.AutoLoadedDisplayPropertyKind;i4)");
22 }
23 pub struct BackgroundMediaPlayer {}
24 impl BackgroundMediaPlayer {
25     #[cfg(feature = "deprecated")]
Current() -> ::windows::runtime::Result<MediaPlayer>26     pub fn Current() -> ::windows::runtime::Result<MediaPlayer> {
27         Self::IBackgroundMediaPlayerStatics(|this| unsafe {
28             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
29             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlayer>(result__)
30         })
31     }
32     #[cfg(feature = "deprecated")]
33     #[cfg(feature = "Foundation")]
MessageReceivedFromBackground<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventHandler<MediaPlayerDataReceivedEventArgs>>>(value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>34     pub fn MessageReceivedFromBackground<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventHandler<MediaPlayerDataReceivedEventArgs>>>(value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
35         Self::IBackgroundMediaPlayerStatics(|this| unsafe {
36             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
37             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
38         })
39     }
40     #[cfg(feature = "deprecated")]
41     #[cfg(feature = "Foundation")]
RemoveMessageReceivedFromBackground<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()>42     pub fn RemoveMessageReceivedFromBackground<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()> {
43         Self::IBackgroundMediaPlayerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() })
44     }
45     #[cfg(feature = "deprecated")]
46     #[cfg(feature = "Foundation")]
MessageReceivedFromForeground<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventHandler<MediaPlayerDataReceivedEventArgs>>>(value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>47     pub fn MessageReceivedFromForeground<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventHandler<MediaPlayerDataReceivedEventArgs>>>(value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
48         Self::IBackgroundMediaPlayerStatics(|this| unsafe {
49             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
50             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
51         })
52     }
53     #[cfg(feature = "deprecated")]
54     #[cfg(feature = "Foundation")]
RemoveMessageReceivedFromForeground<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()>55     pub fn RemoveMessageReceivedFromForeground<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()> {
56         Self::IBackgroundMediaPlayerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() })
57     }
58     #[cfg(feature = "deprecated")]
59     #[cfg(feature = "Foundation_Collections")]
SendMessageToBackground<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::ValueSet>>(value: Param0) -> ::windows::runtime::Result<()>60     pub fn SendMessageToBackground<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::ValueSet>>(value: Param0) -> ::windows::runtime::Result<()> {
61         Self::IBackgroundMediaPlayerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() })
62     }
63     #[cfg(feature = "deprecated")]
64     #[cfg(feature = "Foundation_Collections")]
SendMessageToForeground<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::ValueSet>>(value: Param0) -> ::windows::runtime::Result<()>65     pub fn SendMessageToForeground<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::ValueSet>>(value: Param0) -> ::windows::runtime::Result<()> {
66         Self::IBackgroundMediaPlayerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() })
67     }
68     #[cfg(feature = "deprecated")]
IsMediaPlaying() -> ::windows::runtime::Result<bool>69     pub fn IsMediaPlaying() -> ::windows::runtime::Result<bool> {
70         Self::IBackgroundMediaPlayerStatics(|this| unsafe {
71             let mut result__: bool = ::std::mem::zeroed();
72             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
73         })
74     }
75     #[cfg(feature = "deprecated")]
Shutdown() -> ::windows::runtime::Result<()>76     pub fn Shutdown() -> ::windows::runtime::Result<()> {
77         Self::IBackgroundMediaPlayerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this)).ok() })
78     }
IBackgroundMediaPlayerStatics<R, F: FnOnce(&IBackgroundMediaPlayerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>79     pub fn IBackgroundMediaPlayerStatics<R, F: FnOnce(&IBackgroundMediaPlayerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
80         static mut SHARED: ::windows::runtime::FactoryCache<BackgroundMediaPlayer, IBackgroundMediaPlayerStatics> = ::windows::runtime::FactoryCache::new();
81         unsafe { SHARED.call(callback) }
82     }
83 }
84 impl ::windows::runtime::RuntimeName for BackgroundMediaPlayer {
85     const NAME: &'static str = "Windows.Media.Playback.BackgroundMediaPlayer";
86 }
87 #[repr(transparent)]
88 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
89 pub struct CurrentMediaPlaybackItemChangedEventArgs(::windows::runtime::IInspectable);
90 impl CurrentMediaPlaybackItemChangedEventArgs {
NewItem(&self) -> ::windows::runtime::Result<MediaPlaybackItem>91     pub fn NewItem(&self) -> ::windows::runtime::Result<MediaPlaybackItem> {
92         let this = self;
93         unsafe {
94             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
95             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackItem>(result__)
96         }
97     }
OldItem(&self) -> ::windows::runtime::Result<MediaPlaybackItem>98     pub fn OldItem(&self) -> ::windows::runtime::Result<MediaPlaybackItem> {
99         let this = self;
100         unsafe {
101             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
102             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackItem>(result__)
103         }
104     }
Reason(&self) -> ::windows::runtime::Result<MediaPlaybackItemChangedReason>105     pub fn Reason(&self) -> ::windows::runtime::Result<MediaPlaybackItemChangedReason> {
106         let this = &::windows::runtime::Interface::cast::<ICurrentMediaPlaybackItemChangedEventArgs2>(self)?;
107         unsafe {
108             let mut result__: MediaPlaybackItemChangedReason = ::std::mem::zeroed();
109             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackItemChangedReason>(result__)
110         }
111     }
112 }
113 unsafe impl ::windows::runtime::RuntimeType for CurrentMediaPlaybackItemChangedEventArgs {
114     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.CurrentMediaPlaybackItemChangedEventArgs;{1743a892-5c43-4a15-967a-572d2d0f26c6})");
115 }
116 unsafe impl ::windows::runtime::Interface for CurrentMediaPlaybackItemChangedEventArgs {
117     type Vtable = ICurrentMediaPlaybackItemChangedEventArgs_abi;
118     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(390310034, 23619, 18965, [150, 122, 87, 45, 45, 15, 38, 198]);
119 }
120 impl ::windows::runtime::RuntimeName for CurrentMediaPlaybackItemChangedEventArgs {
121     const NAME: &'static str = "Windows.Media.Playback.CurrentMediaPlaybackItemChangedEventArgs";
122 }
123 impl ::std::convert::From<CurrentMediaPlaybackItemChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: CurrentMediaPlaybackItemChangedEventArgs) -> Self124     fn from(value: CurrentMediaPlaybackItemChangedEventArgs) -> Self {
125         unsafe { ::std::mem::transmute(value) }
126     }
127 }
128 impl ::std::convert::From<&CurrentMediaPlaybackItemChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: &CurrentMediaPlaybackItemChangedEventArgs) -> Self129     fn from(value: &CurrentMediaPlaybackItemChangedEventArgs) -> Self {
130         ::std::convert::From::from(::std::clone::Clone::clone(value))
131     }
132 }
133 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for CurrentMediaPlaybackItemChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>134     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
135         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
136     }
137 }
138 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &CurrentMediaPlaybackItemChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>139     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
140         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
141     }
142 }
143 impl ::std::convert::From<CurrentMediaPlaybackItemChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: CurrentMediaPlaybackItemChangedEventArgs) -> Self144     fn from(value: CurrentMediaPlaybackItemChangedEventArgs) -> Self {
145         value.0
146     }
147 }
148 impl ::std::convert::From<&CurrentMediaPlaybackItemChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: &CurrentMediaPlaybackItemChangedEventArgs) -> Self149     fn from(value: &CurrentMediaPlaybackItemChangedEventArgs) -> Self {
150         value.0.clone()
151     }
152 }
153 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for CurrentMediaPlaybackItemChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>154     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
155         ::windows::runtime::Param::Owned(self.0)
156     }
157 }
158 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a CurrentMediaPlaybackItemChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>159     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
160         ::windows::runtime::Param::Borrowed(&self.0)
161     }
162 }
163 unsafe impl ::std::marker::Send for CurrentMediaPlaybackItemChangedEventArgs {}
164 unsafe impl ::std::marker::Sync for CurrentMediaPlaybackItemChangedEventArgs {}
165 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
166 #[repr(transparent)]
167 pub struct FailedMediaStreamKind(pub i32);
168 impl FailedMediaStreamKind {
169     pub const Unknown: FailedMediaStreamKind = FailedMediaStreamKind(0i32);
170     pub const Audio: FailedMediaStreamKind = FailedMediaStreamKind(1i32);
171     pub const Video: FailedMediaStreamKind = FailedMediaStreamKind(2i32);
172 }
173 impl ::std::convert::From<i32> for FailedMediaStreamKind {
from(value: i32) -> Self174     fn from(value: i32) -> Self {
175         Self(value)
176     }
177 }
178 unsafe impl ::windows::runtime::Abi for FailedMediaStreamKind {
179     type Abi = Self;
180     type DefaultType = Self;
181 }
182 unsafe impl ::windows::runtime::RuntimeType for FailedMediaStreamKind {
183     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.Playback.FailedMediaStreamKind;i4)");
184 }
185 #[repr(transparent)]
186 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
187 #[doc(hidden)]
188 pub struct IBackgroundMediaPlayerStatics(::windows::runtime::IInspectable);
189 unsafe impl ::windows::runtime::Interface for IBackgroundMediaPlayerStatics {
190     type Vtable = IBackgroundMediaPlayerStatics_abi;
191     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2238569409, 22007, 18207, [160, 242, 104, 172, 76, 144, 69, 146]);
192 }
193 #[repr(C)]
194 #[doc(hidden)]
195 pub struct IBackgroundMediaPlayerStatics_abi(
196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
198     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
199     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
202     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
203     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
204     #[cfg(not(feature = "Foundation"))] usize,
205     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
206     #[cfg(not(feature = "Foundation"))] usize,
207     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
208     #[cfg(not(feature = "Foundation"))] usize,
209     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
210     #[cfg(not(feature = "Foundation"))] usize,
211     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
212     #[cfg(not(feature = "Foundation_Collections"))] usize,
213     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
214     #[cfg(not(feature = "Foundation_Collections"))] usize,
215     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
216     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
217 );
218 #[repr(transparent)]
219 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
220 #[doc(hidden)]
221 pub struct ICurrentMediaPlaybackItemChangedEventArgs(::windows::runtime::IInspectable);
222 unsafe impl ::windows::runtime::Interface for ICurrentMediaPlaybackItemChangedEventArgs {
223     type Vtable = ICurrentMediaPlaybackItemChangedEventArgs_abi;
224     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(390310034, 23619, 18965, [150, 122, 87, 45, 45, 15, 38, 198]);
225 }
226 #[repr(C)]
227 #[doc(hidden)]
228 pub struct ICurrentMediaPlaybackItemChangedEventArgs_abi(
229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
233     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
234     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
235     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
236     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
237 );
238 #[repr(transparent)]
239 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
240 #[doc(hidden)]
241 pub struct ICurrentMediaPlaybackItemChangedEventArgs2(::windows::runtime::IInspectable);
242 unsafe impl ::windows::runtime::Interface for ICurrentMediaPlaybackItemChangedEventArgs2 {
243     type Vtable = ICurrentMediaPlaybackItemChangedEventArgs2_abi;
244     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(494970142, 39278, 16553, [190, 72, 230, 110, 201, 11, 43, 125]);
245 }
246 #[repr(C)]
247 #[doc(hidden)]
248 pub struct ICurrentMediaPlaybackItemChangedEventArgs2_abi(
249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
254     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
255     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MediaPlaybackItemChangedReason) -> ::windows::runtime::HRESULT,
256 );
257 #[repr(transparent)]
258 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
259 #[doc(hidden)]
260 pub struct IMediaBreak(::windows::runtime::IInspectable);
261 unsafe impl ::windows::runtime::Interface for IMediaBreak {
262     type Vtable = IMediaBreak_abi;
263     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1900798576, 3567, 20156, [164, 137, 107, 52, 147, 14, 21, 88]);
264 }
265 #[repr(C)]
266 #[doc(hidden)]
267 pub struct IMediaBreak_abi(
268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
275     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
276     #[cfg(not(feature = "Foundation"))] usize,
277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MediaBreakInsertionMethod) -> ::windows::runtime::HRESULT,
278     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
279     #[cfg(not(feature = "Foundation_Collections"))] usize,
280     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
281     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
282 );
283 #[repr(transparent)]
284 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
285 #[doc(hidden)]
286 pub struct IMediaBreakEndedEventArgs(::windows::runtime::IInspectable);
287 unsafe impl ::windows::runtime::Interface for IMediaBreakEndedEventArgs {
288     type Vtable = IMediaBreakEndedEventArgs_abi;
289     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(850997878, 7261, 20462, [135, 50, 35, 109, 195, 168, 133, 128]);
290 }
291 #[repr(C)]
292 #[doc(hidden)]
293 pub struct IMediaBreakEndedEventArgs_abi(
294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
295     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
299     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
300     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
301 );
302 #[repr(transparent)]
303 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
304 #[doc(hidden)]
305 pub struct IMediaBreakFactory(::windows::runtime::IInspectable);
306 unsafe impl ::windows::runtime::Interface for IMediaBreakFactory {
307     type Vtable = IMediaBreakFactory_abi;
308     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1159127042, 6368, 16505, [139, 95, 211, 52, 149, 193, 93, 46]);
309 }
310 #[repr(C)]
311 #[doc(hidden)]
312 pub struct IMediaBreakFactory_abi(
313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, insertionmethod: MediaBreakInsertionMethod, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
320     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, insertionmethod: MediaBreakInsertionMethod, presentationposition: super::super::Foundation::TimeSpan, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
321     #[cfg(not(feature = "Foundation"))] usize,
322 );
323 #[repr(transparent)]
324 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
325 #[doc(hidden)]
326 pub struct IMediaBreakManager(::windows::runtime::IInspectable);
327 unsafe impl ::windows::runtime::Interface for IMediaBreakManager {
328     type Vtable = IMediaBreakManager_abi;
329     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2824134065, 65204, 19867, [157, 151, 15, 219, 229, 142, 94, 57]);
330 }
331 #[repr(C)]
332 #[doc(hidden)]
333 pub struct IMediaBreakManager_abi(
334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
337     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
338     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
339     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
340     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
341     #[cfg(not(feature = "Foundation"))] usize,
342     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
343     #[cfg(not(feature = "Foundation"))] usize,
344     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
345     #[cfg(not(feature = "Foundation"))] usize,
346     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
347     #[cfg(not(feature = "Foundation"))] usize,
348     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
349     #[cfg(not(feature = "Foundation"))] usize,
350     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
351     #[cfg(not(feature = "Foundation"))] usize,
352     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
353     #[cfg(not(feature = "Foundation"))] usize,
354     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
355     #[cfg(not(feature = "Foundation"))] usize,
356     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
357     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
358     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
359     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
360 );
361 #[repr(transparent)]
362 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
363 #[doc(hidden)]
364 pub struct IMediaBreakSchedule(::windows::runtime::IInspectable);
365 unsafe impl ::windows::runtime::Interface for IMediaBreakSchedule {
366     type Vtable = IMediaBreakSchedule_abi;
367     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2711246867, 39094, 16856, [131, 218, 249, 113, 210, 43, 123, 186]);
368 }
369 #[repr(C)]
370 #[doc(hidden)]
371 pub struct IMediaBreakSchedule_abi(
372     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
373     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
378     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
379     #[cfg(not(feature = "Foundation"))] usize,
380     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
381     #[cfg(not(feature = "Foundation"))] usize,
382     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mediabreak: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
383     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mediabreak: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
384     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
385     #[cfg(not(feature = "Foundation_Collections"))] usize,
386     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
387     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
388     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
390     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
391 );
392 #[repr(transparent)]
393 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
394 #[doc(hidden)]
395 pub struct IMediaBreakSeekedOverEventArgs(::windows::runtime::IInspectable);
396 unsafe impl ::windows::runtime::Interface for IMediaBreakSeekedOverEventArgs {
397     type Vtable = IMediaBreakSeekedOverEventArgs_abi;
398     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3853150022, 1542, 17554, [185, 211, 195, 200, 253, 224, 164, 234]);
399 }
400 #[repr(C)]
401 #[doc(hidden)]
402 pub struct IMediaBreakSeekedOverEventArgs_abi(
403     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
404     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
405     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
406     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
407     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
408     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
409     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
410     #[cfg(not(feature = "Foundation_Collections"))] usize,
411     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
412     #[cfg(not(feature = "Foundation"))] usize,
413     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
414     #[cfg(not(feature = "Foundation"))] usize,
415 );
416 #[repr(transparent)]
417 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
418 #[doc(hidden)]
419 pub struct IMediaBreakSkippedEventArgs(::windows::runtime::IInspectable);
420 unsafe impl ::windows::runtime::Interface for IMediaBreakSkippedEventArgs {
421     type Vtable = IMediaBreakSkippedEventArgs_abi;
422     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1860783109, 12116, 19006, [163, 171, 36, 195, 178, 112, 180, 163]);
423 }
424 #[repr(C)]
425 #[doc(hidden)]
426 pub struct IMediaBreakSkippedEventArgs_abi(
427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
428     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
429     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
434 );
435 #[repr(transparent)]
436 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
437 #[doc(hidden)]
438 pub struct IMediaBreakStartedEventArgs(::windows::runtime::IInspectable);
439 unsafe impl ::windows::runtime::Interface for IMediaBreakStartedEventArgs {
440     type Vtable = IMediaBreakStartedEventArgs_abi;
441     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2826894961, 57300, 17738, [149, 110, 10, 74, 100, 131, 149, 248]);
442 }
443 #[repr(C)]
444 #[doc(hidden)]
445 pub struct IMediaBreakStartedEventArgs_abi(
446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
448     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
449     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
450     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
451     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
453 );
454 #[repr(transparent)]
455 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
456 pub struct IMediaEnginePlaybackSource(::windows::runtime::IInspectable);
457 unsafe impl ::windows::runtime::Interface for IMediaEnginePlaybackSource {
458     type Vtable = IMediaEnginePlaybackSource_abi;
459     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1545407399, 14422, 18617, [141, 198, 36, 75, 241, 7, 191, 140]);
460 }
461 impl IMediaEnginePlaybackSource {
462     #[cfg(feature = "deprecated")]
CurrentItem(&self) -> ::windows::runtime::Result<MediaPlaybackItem>463     pub fn CurrentItem(&self) -> ::windows::runtime::Result<MediaPlaybackItem> {
464         let this = self;
465         unsafe {
466             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
467             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackItem>(result__)
468         }
469     }
470     #[cfg(feature = "deprecated")]
SetPlaybackSource<'a, Param0: ::windows::runtime::IntoParam<'a, IMediaPlaybackSource>>(&self, source: Param0) -> ::windows::runtime::Result<()>471     pub fn SetPlaybackSource<'a, Param0: ::windows::runtime::IntoParam<'a, IMediaPlaybackSource>>(&self, source: Param0) -> ::windows::runtime::Result<()> {
472         let this = self;
473         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), source.into_param().abi()).ok() }
474     }
475 }
476 unsafe impl ::windows::runtime::RuntimeType for IMediaEnginePlaybackSource {
477     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{5c1d0ba7-3856-48b9-8dc6-244bf107bf8c}");
478 }
479 impl ::std::convert::From<IMediaEnginePlaybackSource> for ::windows::runtime::IUnknown {
from(value: IMediaEnginePlaybackSource) -> Self480     fn from(value: IMediaEnginePlaybackSource) -> Self {
481         unsafe { ::std::mem::transmute(value) }
482     }
483 }
484 impl ::std::convert::From<&IMediaEnginePlaybackSource> for ::windows::runtime::IUnknown {
from(value: &IMediaEnginePlaybackSource) -> Self485     fn from(value: &IMediaEnginePlaybackSource) -> Self {
486         ::std::convert::From::from(::std::clone::Clone::clone(value))
487     }
488 }
489 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMediaEnginePlaybackSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>490     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
491         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
492     }
493 }
494 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMediaEnginePlaybackSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>495     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
496         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
497     }
498 }
499 impl ::std::convert::From<IMediaEnginePlaybackSource> for ::windows::runtime::IInspectable {
from(value: IMediaEnginePlaybackSource) -> Self500     fn from(value: IMediaEnginePlaybackSource) -> Self {
501         value.0
502     }
503 }
504 impl ::std::convert::From<&IMediaEnginePlaybackSource> for ::windows::runtime::IInspectable {
from(value: &IMediaEnginePlaybackSource) -> Self505     fn from(value: &IMediaEnginePlaybackSource) -> Self {
506         value.0.clone()
507     }
508 }
509 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IMediaEnginePlaybackSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>510     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
511         ::windows::runtime::Param::Owned(self.0)
512     }
513 }
514 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IMediaEnginePlaybackSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>515     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
516         ::windows::runtime::Param::Borrowed(&self.0)
517     }
518 }
519 #[repr(C)]
520 #[doc(hidden)]
521 pub struct IMediaEnginePlaybackSource_abi(
522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, source: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
530 );
531 #[repr(transparent)]
532 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
533 #[doc(hidden)]
534 pub struct IMediaItemDisplayProperties(::windows::runtime::IInspectable);
535 unsafe impl ::windows::runtime::Interface for IMediaItemDisplayProperties {
536     type Vtable = IMediaItemDisplayProperties_abi;
537     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(507255624, 28823, 17284, [162, 23, 193, 41, 29, 250, 140, 22]);
538 }
539 #[repr(C)]
540 #[doc(hidden)]
541 pub struct IMediaItemDisplayProperties_abi(
542     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
543     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
545     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::MediaPlaybackType) -> ::windows::runtime::HRESULT,
549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::MediaPlaybackType) -> ::windows::runtime::HRESULT,
550     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
552     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
553     #[cfg(not(feature = "Storage_Streams"))] usize,
554     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
555     #[cfg(not(feature = "Storage_Streams"))] usize,
556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
557 );
558 #[repr(transparent)]
559 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
560 #[doc(hidden)]
561 pub struct IMediaPlaybackCommandManager(::windows::runtime::IInspectable);
562 unsafe impl ::windows::runtime::Interface for IMediaPlaybackCommandManager {
563     type Vtable = IMediaPlaybackCommandManager_abi;
564     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1523508646, 23734, 19034, [133, 33, 204, 134, 177, 193, 237, 55]);
565 }
566 #[repr(C)]
567 #[doc(hidden)]
568 pub struct IMediaPlaybackCommandManager_abi(
569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
572     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
573     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
574     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
575     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
576     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
577     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
578     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
588     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
589     #[cfg(not(feature = "Foundation"))] usize,
590     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
591     #[cfg(not(feature = "Foundation"))] usize,
592     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
593     #[cfg(not(feature = "Foundation"))] usize,
594     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
595     #[cfg(not(feature = "Foundation"))] usize,
596     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
597     #[cfg(not(feature = "Foundation"))] usize,
598     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
599     #[cfg(not(feature = "Foundation"))] usize,
600     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
601     #[cfg(not(feature = "Foundation"))] usize,
602     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
603     #[cfg(not(feature = "Foundation"))] usize,
604     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
605     #[cfg(not(feature = "Foundation"))] usize,
606     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
607     #[cfg(not(feature = "Foundation"))] usize,
608     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
609     #[cfg(not(feature = "Foundation"))] usize,
610     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
611     #[cfg(not(feature = "Foundation"))] usize,
612     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
613     #[cfg(not(feature = "Foundation"))] usize,
614     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
615     #[cfg(not(feature = "Foundation"))] usize,
616     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
617     #[cfg(not(feature = "Foundation"))] usize,
618     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
619     #[cfg(not(feature = "Foundation"))] usize,
620     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
621     #[cfg(not(feature = "Foundation"))] usize,
622     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
623     #[cfg(not(feature = "Foundation"))] usize,
624     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
625     #[cfg(not(feature = "Foundation"))] usize,
626     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
627     #[cfg(not(feature = "Foundation"))] usize,
628 );
629 #[repr(transparent)]
630 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
631 #[doc(hidden)]
632 pub struct IMediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs(::windows::runtime::IInspectable);
633 unsafe impl ::windows::runtime::Interface for IMediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs {
634     type Vtable = IMediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs_abi;
635     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1030704931, 21040, 17425, [160, 233, 186, 217, 76, 42, 4, 92]);
636 }
637 #[repr(C)]
638 #[doc(hidden)]
639 pub struct IMediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs_abi(
640     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
641     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::MediaPlaybackAutoRepeatMode) -> ::windows::runtime::HRESULT,
649     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
650     #[cfg(not(feature = "Foundation"))] usize,
651 );
652 #[repr(transparent)]
653 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
654 #[doc(hidden)]
655 pub struct IMediaPlaybackCommandManagerCommandBehavior(::windows::runtime::IInspectable);
656 unsafe impl ::windows::runtime::Interface for IMediaPlaybackCommandManagerCommandBehavior {
657     type Vtable = IMediaPlaybackCommandManagerCommandBehavior_abi;
658     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2020351608, 52856, 18960, [175, 214, 132, 63, 203, 185, 12, 46]);
659 }
660 #[repr(C)]
661 #[doc(hidden)]
662 pub struct IMediaPlaybackCommandManagerCommandBehavior_abi(
663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
667     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
668     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
670     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
671     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MediaCommandEnablingRule) -> ::windows::runtime::HRESULT,
672     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: MediaCommandEnablingRule) -> ::windows::runtime::HRESULT,
673     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
674     #[cfg(not(feature = "Foundation"))] usize,
675     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
676     #[cfg(not(feature = "Foundation"))] usize,
677 );
678 #[repr(transparent)]
679 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
680 #[doc(hidden)]
681 pub struct IMediaPlaybackCommandManagerFastForwardReceivedEventArgs(::windows::runtime::IInspectable);
682 unsafe impl ::windows::runtime::Interface for IMediaPlaybackCommandManagerFastForwardReceivedEventArgs {
683     type Vtable = IMediaPlaybackCommandManagerFastForwardReceivedEventArgs_abi;
684     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(821060825, 46225, 19722, [188, 33, 48, 152, 189, 19, 50, 233]);
685 }
686 #[repr(C)]
687 #[doc(hidden)]
688 pub struct IMediaPlaybackCommandManagerFastForwardReceivedEventArgs_abi(
689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
691     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
692     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
693     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
694     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
695     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
696     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
697     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
698     #[cfg(not(feature = "Foundation"))] usize,
699 );
700 #[repr(transparent)]
701 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
702 #[doc(hidden)]
703 pub struct IMediaPlaybackCommandManagerNextReceivedEventArgs(::windows::runtime::IInspectable);
704 unsafe impl ::windows::runtime::Interface for IMediaPlaybackCommandManagerNextReceivedEventArgs {
705     type Vtable = IMediaPlaybackCommandManagerNextReceivedEventArgs_abi;
706     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3780133939, 41648, 17876, [185, 222, 95, 66, 172, 20, 168, 57]);
707 }
708 #[repr(C)]
709 #[doc(hidden)]
710 pub struct IMediaPlaybackCommandManagerNextReceivedEventArgs_abi(
711     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
712     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
713     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
714     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
715     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
716     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
717     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
718     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
719     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
720     #[cfg(not(feature = "Foundation"))] usize,
721 );
722 #[repr(transparent)]
723 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
724 #[doc(hidden)]
725 pub struct IMediaPlaybackCommandManagerPauseReceivedEventArgs(::windows::runtime::IInspectable);
726 unsafe impl ::windows::runtime::Interface for IMediaPlaybackCommandManagerPauseReceivedEventArgs {
727     type Vtable = IMediaPlaybackCommandManagerPauseReceivedEventArgs_abi;
728     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1559022876, 49756, 16929, [177, 108, 195, 201, 140, 224, 18, 214]);
729 }
730 #[repr(C)]
731 #[doc(hidden)]
732 pub struct IMediaPlaybackCommandManagerPauseReceivedEventArgs_abi(
733     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
734     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
736     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
737     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
738     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
739     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
740     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
741     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
742     #[cfg(not(feature = "Foundation"))] 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 IMediaPlaybackCommandManagerPlayReceivedEventArgs(::windows::runtime::IInspectable);
748 unsafe impl ::windows::runtime::Interface for IMediaPlaybackCommandManagerPlayReceivedEventArgs {
749     type Vtable = IMediaPlaybackCommandManagerPlayReceivedEventArgs_abi;
750     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2599419982, 22411, 19542, [160, 6, 22, 21, 157, 136, 138, 72]);
751 }
752 #[repr(C)]
753 #[doc(hidden)]
754 pub struct IMediaPlaybackCommandManagerPlayReceivedEventArgs_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, result__: *mut bool) -> ::windows::runtime::HRESULT,
762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
763     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
764     #[cfg(not(feature = "Foundation"))] usize,
765 );
766 #[repr(transparent)]
767 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
768 #[doc(hidden)]
769 pub struct IMediaPlaybackCommandManagerPositionReceivedEventArgs(::windows::runtime::IInspectable);
770 unsafe impl ::windows::runtime::Interface for IMediaPlaybackCommandManagerPositionReceivedEventArgs {
771     type Vtable = IMediaPlaybackCommandManagerPositionReceivedEventArgs_abi;
772     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1435608916, 54823, 19421, [169, 13, 134, 160, 21, 178, 73, 2]);
773 }
774 #[repr(C)]
775 #[doc(hidden)]
776 pub struct IMediaPlaybackCommandManagerPositionReceivedEventArgs_abi(
777     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
779     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
780     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
781     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
785     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
786     #[cfg(not(feature = "Foundation"))] usize,
787     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
788     #[cfg(not(feature = "Foundation"))] usize,
789 );
790 #[repr(transparent)]
791 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
792 #[doc(hidden)]
793 pub struct IMediaPlaybackCommandManagerPreviousReceivedEventArgs(::windows::runtime::IInspectable);
794 unsafe impl ::windows::runtime::Interface for IMediaPlaybackCommandManagerPreviousReceivedEventArgs {
795     type Vtable = IMediaPlaybackCommandManagerPreviousReceivedEventArgs_abi;
796     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1381904513, 17970, 20342, [153, 177, 215, 113, 98, 63, 98, 135]);
797 }
798 #[repr(C)]
799 #[doc(hidden)]
800 pub struct IMediaPlaybackCommandManagerPreviousReceivedEventArgs_abi(
801     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
809     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
810     #[cfg(not(feature = "Foundation"))] usize,
811 );
812 #[repr(transparent)]
813 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
814 #[doc(hidden)]
815 pub struct IMediaPlaybackCommandManagerRateReceivedEventArgs(::windows::runtime::IInspectable);
816 unsafe impl ::windows::runtime::Interface for IMediaPlaybackCommandManagerRateReceivedEventArgs {
817     type Vtable = IMediaPlaybackCommandManagerRateReceivedEventArgs_abi;
818     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(418003257, 18966, 16745, [139, 5, 62, 185, 245, 255, 120, 235]);
819 }
820 #[repr(C)]
821 #[doc(hidden)]
822 pub struct IMediaPlaybackCommandManagerRateReceivedEventArgs_abi(
823     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
824     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
825     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
826     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
827     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
828     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
829     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
830     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
832     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
833     #[cfg(not(feature = "Foundation"))] usize,
834 );
835 #[repr(transparent)]
836 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
837 #[doc(hidden)]
838 pub struct IMediaPlaybackCommandManagerRewindReceivedEventArgs(::windows::runtime::IInspectable);
839 unsafe impl ::windows::runtime::Interface for IMediaPlaybackCommandManagerRewindReceivedEventArgs {
840     type Vtable = IMediaPlaybackCommandManagerRewindReceivedEventArgs_abi;
841     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2668124487, 41920, 16989, [170, 239, 151, 186, 120, 152, 177, 65]);
842 }
843 #[repr(C)]
844 #[doc(hidden)]
845 pub struct IMediaPlaybackCommandManagerRewindReceivedEventArgs_abi(
846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
854     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
855     #[cfg(not(feature = "Foundation"))] usize,
856 );
857 #[repr(transparent)]
858 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
859 #[doc(hidden)]
860 pub struct IMediaPlaybackCommandManagerShuffleReceivedEventArgs(::windows::runtime::IInspectable);
861 unsafe impl ::windows::runtime::Interface for IMediaPlaybackCommandManagerShuffleReceivedEventArgs {
862     type Vtable = IMediaPlaybackCommandManagerShuffleReceivedEventArgs_abi;
863     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1352686831, 25582, 19094, [183, 181, 254, 224, 139, 159, 249, 12]);
864 }
865 #[repr(C)]
866 #[doc(hidden)]
867 pub struct IMediaPlaybackCommandManagerShuffleReceivedEventArgs_abi(
868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
872     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
873     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
874     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
875     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
876     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
877     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
878     #[cfg(not(feature = "Foundation"))] usize,
879 );
880 #[repr(transparent)]
881 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
882 #[doc(hidden)]
883 pub struct IMediaPlaybackItem(::windows::runtime::IInspectable);
884 unsafe impl ::windows::runtime::Interface for IMediaPlaybackItem {
885     type Vtable = IMediaPlaybackItem_abi;
886     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(74487762, 58543, 18603, [178, 131, 105, 41, 230, 116, 236, 226]);
887 }
888 #[repr(C)]
889 #[doc(hidden)]
890 pub struct IMediaPlaybackItem_abi(
891     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
894     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
895     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
896     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
897     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
898     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
899     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
900     #[cfg(not(feature = "Foundation"))] usize,
901     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
902     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
903     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
904     #[cfg(not(feature = "Foundation"))] usize,
905     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
906     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
907     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
908     #[cfg(not(feature = "Foundation"))] usize,
909     #[cfg(feature = "Media_Core")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
910     #[cfg(not(feature = "Media_Core"))] usize,
911     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
912     #[cfg(not(feature = "Foundation_Collections"))] usize,
913     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
914     #[cfg(not(feature = "Foundation_Collections"))] usize,
915     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
916     #[cfg(not(feature = "Foundation_Collections"))] usize,
917 );
918 #[repr(transparent)]
919 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
920 #[doc(hidden)]
921 pub struct IMediaPlaybackItem2(::windows::runtime::IInspectable);
922 unsafe impl ::windows::runtime::Interface for IMediaPlaybackItem2 {
923     type Vtable = IMediaPlaybackItem2_abi;
924     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3629764977, 55279, 19329, [172, 31, 244, 4, 147, 203, 176, 145]);
925 }
926 #[repr(C)]
927 #[doc(hidden)]
928 pub struct IMediaPlaybackItem2_abi(
929     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
933     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
934     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
935     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
936     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
937     #[cfg(not(feature = "Foundation"))] usize,
938     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
939     #[cfg(not(feature = "Foundation"))] usize,
940     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
941     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
942     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
943     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
944 );
945 #[repr(transparent)]
946 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
947 #[doc(hidden)]
948 pub struct IMediaPlaybackItem3(::windows::runtime::IInspectable);
949 unsafe impl ::windows::runtime::Interface for IMediaPlaybackItem3 {
950     type Vtable = IMediaPlaybackItem3_abi;
951     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(221413920, 47114, 19721, [159, 248, 248, 112, 148, 161, 200, 49]);
952 }
953 #[repr(C)]
954 #[doc(hidden)]
955 pub struct IMediaPlaybackItem3_abi(
956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
958     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
962     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
963     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut AutoLoadedDisplayPropertyKind) -> ::windows::runtime::HRESULT,
966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: AutoLoadedDisplayPropertyKind) -> ::windows::runtime::HRESULT,
967 );
968 #[repr(transparent)]
969 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
970 #[doc(hidden)]
971 pub struct IMediaPlaybackItemError(::windows::runtime::IInspectable);
972 unsafe impl ::windows::runtime::Interface for IMediaPlaybackItemError {
973     type Vtable = IMediaPlaybackItemError_abi;
974     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1778118443, 56534, 19961, [164, 80, 219, 244, 198, 241, 194, 194]);
975 }
976 #[repr(C)]
977 #[doc(hidden)]
978 pub struct IMediaPlaybackItemError_abi(
979     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
980     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MediaPlaybackItemErrorCode) -> ::windows::runtime::HRESULT,
986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
987 );
988 #[repr(transparent)]
989 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
990 #[doc(hidden)]
991 pub struct IMediaPlaybackItemFactory(::windows::runtime::IInspectable);
992 unsafe impl ::windows::runtime::Interface for IMediaPlaybackItemFactory {
993     type Vtable = IMediaPlaybackItemFactory_abi;
994     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1899232481, 5993, 20473, [167, 193, 56, 210, 196, 212, 35, 96]);
995 }
996 #[repr(C)]
997 #[doc(hidden)]
998 pub struct IMediaPlaybackItemFactory_abi(
999     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1000     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1001     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1003     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1005     #[cfg(feature = "Media_Core")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, source: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1006     #[cfg(not(feature = "Media_Core"))] usize,
1007 );
1008 #[repr(transparent)]
1009 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1010 #[doc(hidden)]
1011 pub struct IMediaPlaybackItemFactory2(::windows::runtime::IInspectable);
1012 unsafe impl ::windows::runtime::Interface for IMediaPlaybackItemFactory2 {
1013     type Vtable = IMediaPlaybackItemFactory2_abi;
1014     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3615285050, 47431, 18802, [179, 93, 173, 251, 147, 26, 113, 230]);
1015 }
1016 #[repr(C)]
1017 #[doc(hidden)]
1018 pub struct IMediaPlaybackItemFactory2_abi(
1019     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1025     #[cfg(all(feature = "Foundation", feature = "Media_Core"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, source: ::windows::runtime::RawPtr, starttime: super::super::Foundation::TimeSpan, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1026     #[cfg(not(all(feature = "Foundation", feature = "Media_Core")))] usize,
1027     #[cfg(all(feature = "Foundation", feature = "Media_Core"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, source: ::windows::runtime::RawPtr, starttime: super::super::Foundation::TimeSpan, durationlimit: super::super::Foundation::TimeSpan, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1028     #[cfg(not(all(feature = "Foundation", feature = "Media_Core")))] usize,
1029 );
1030 #[repr(transparent)]
1031 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1032 #[doc(hidden)]
1033 pub struct IMediaPlaybackItemFailedEventArgs(::windows::runtime::IInspectable);
1034 unsafe impl ::windows::runtime::Interface for IMediaPlaybackItemFailedEventArgs {
1035     type Vtable = IMediaPlaybackItemFailedEventArgs_abi;
1036     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1996690250, 59815, 18371, [134, 44, 198, 86, 211, 6, 131, 212]);
1037 }
1038 #[repr(C)]
1039 #[doc(hidden)]
1040 pub struct IMediaPlaybackItemFailedEventArgs_abi(
1041     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1043     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1044     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1045     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1046     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1049 );
1050 #[repr(transparent)]
1051 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1052 #[doc(hidden)]
1053 pub struct IMediaPlaybackItemOpenedEventArgs(::windows::runtime::IInspectable);
1054 unsafe impl ::windows::runtime::Interface for IMediaPlaybackItemOpenedEventArgs {
1055     type Vtable = IMediaPlaybackItemOpenedEventArgs_abi;
1056     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3420044674, 12343, 20414, [174, 143, 57, 252, 57, 237, 244, 239]);
1057 }
1058 #[repr(C)]
1059 #[doc(hidden)]
1060 pub struct IMediaPlaybackItemOpenedEventArgs_abi(
1061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1064     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1068 );
1069 #[repr(transparent)]
1070 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1071 #[doc(hidden)]
1072 pub struct IMediaPlaybackItemStatics(::windows::runtime::IInspectable);
1073 unsafe impl ::windows::runtime::Interface for IMediaPlaybackItemStatics {
1074     type Vtable = IMediaPlaybackItemStatics_abi;
1075     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1260120052, 17221, 16444, [138, 103, 245, 222, 145, 223, 76, 134]);
1076 }
1077 #[repr(C)]
1078 #[doc(hidden)]
1079 pub struct IMediaPlaybackItemStatics_abi(
1080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1081     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1083     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1084     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1085     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1086     #[cfg(feature = "Media_Core")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, source: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1087     #[cfg(not(feature = "Media_Core"))] usize,
1088 );
1089 #[repr(transparent)]
1090 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1091 #[doc(hidden)]
1092 pub struct IMediaPlaybackList(::windows::runtime::IInspectable);
1093 unsafe impl ::windows::runtime::Interface for IMediaPlaybackList {
1094     type Vtable = IMediaPlaybackList_abi;
1095     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2138566300, 56386, 20006, [169, 141, 120, 80, 223, 142, 201, 37]);
1096 }
1097 #[repr(C)]
1098 #[doc(hidden)]
1099 pub struct IMediaPlaybackList_abi(
1100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1101     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1105     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1106     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1107     #[cfg(not(feature = "Foundation"))] usize,
1108     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1109     #[cfg(not(feature = "Foundation"))] usize,
1110     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1111     #[cfg(not(feature = "Foundation"))] usize,
1112     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1113     #[cfg(not(feature = "Foundation"))] usize,
1114     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1115     #[cfg(not(feature = "Foundation"))] usize,
1116     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1117     #[cfg(not(feature = "Foundation"))] usize,
1118     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1119     #[cfg(not(feature = "Foundation_Collections"))] usize,
1120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1126     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1127     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1128     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, itemindex: u32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1129 );
1130 #[repr(transparent)]
1131 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1132 #[doc(hidden)]
1133 pub struct IMediaPlaybackList2(::windows::runtime::IInspectable);
1134 unsafe impl ::windows::runtime::Interface for IMediaPlaybackList2 {
1135     type Vtable = IMediaPlaybackList2_abi;
1136     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(235517048, 24586, 17012, [161, 75, 11, 103, 35, 208, 244, 139]);
1137 }
1138 #[repr(C)]
1139 #[doc(hidden)]
1140 pub struct IMediaPlaybackList2_abi(
1141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1147     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1148     #[cfg(not(feature = "Foundation"))] usize,
1149     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1150     #[cfg(not(feature = "Foundation"))] usize,
1151     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1152     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1153     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1154     #[cfg(not(feature = "Foundation_Collections"))] usize,
1155     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1156     #[cfg(not(feature = "Foundation_Collections"))] usize,
1157 );
1158 #[repr(transparent)]
1159 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1160 #[doc(hidden)]
1161 pub struct IMediaPlaybackList3(::windows::runtime::IInspectable);
1162 unsafe impl ::windows::runtime::Interface for IMediaPlaybackList3 {
1163     type Vtable = IMediaPlaybackList3_abi;
1164     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3710172073, 48199, 17507, [170, 144, 193, 139, 126, 95, 253, 225]);
1165 }
1166 #[repr(C)]
1167 #[doc(hidden)]
1168 pub struct IMediaPlaybackList3_abi(
1169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1170     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1173     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1174     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1175     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1176     #[cfg(not(feature = "Foundation"))] usize,
1177     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1178     #[cfg(not(feature = "Foundation"))] usize,
1179 );
1180 #[repr(transparent)]
1181 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1182 #[doc(hidden)]
1183 pub struct IMediaPlaybackSession(::windows::runtime::IInspectable);
1184 unsafe impl ::windows::runtime::Interface for IMediaPlaybackSession {
1185     type Vtable = IMediaPlaybackSession_abi;
1186     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3274401853, 1031, 16826, [137, 70, 139, 52, 90, 90, 84, 53]);
1187 }
1188 #[repr(C)]
1189 #[doc(hidden)]
1190 pub struct IMediaPlaybackSession_abi(
1191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1197     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1198     #[cfg(not(feature = "Foundation"))] usize,
1199     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1200     #[cfg(not(feature = "Foundation"))] usize,
1201     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1202     #[cfg(not(feature = "Foundation"))] usize,
1203     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1204     #[cfg(not(feature = "Foundation"))] usize,
1205     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1206     #[cfg(not(feature = "Foundation"))] usize,
1207     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1208     #[cfg(not(feature = "Foundation"))] usize,
1209     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::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, token: super::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, value: ::windows::runtime::RawPtr, result__: *mut super::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, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1216     #[cfg(not(feature = "Foundation"))] usize,
1217     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1218     #[cfg(not(feature = "Foundation"))] usize,
1219     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1220     #[cfg(not(feature = "Foundation"))] usize,
1221     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1222     #[cfg(not(feature = "Foundation"))] usize,
1223     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1224     #[cfg(not(feature = "Foundation"))] usize,
1225     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1226     #[cfg(not(feature = "Foundation"))] usize,
1227     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1228     #[cfg(not(feature = "Foundation"))] usize,
1229     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1230     #[cfg(not(feature = "Foundation"))] usize,
1231     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1232     #[cfg(not(feature = "Foundation"))] usize,
1233     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1234     #[cfg(not(feature = "Foundation"))] usize,
1235     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1236     #[cfg(not(feature = "Foundation"))] usize,
1237     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1238     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1239     #[cfg(not(feature = "Foundation"))] usize,
1240     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1241     #[cfg(not(feature = "Foundation"))] usize,
1242     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1243     #[cfg(not(feature = "Foundation"))] usize,
1244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MediaPlaybackState) -> ::windows::runtime::HRESULT,
1245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
1249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
1250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
1251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
1252     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1253     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1254     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Rect) -> ::windows::runtime::HRESULT,
1255     #[cfg(not(feature = "Foundation"))] usize,
1256     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Rect) -> ::windows::runtime::HRESULT,
1257     #[cfg(not(feature = "Foundation"))] usize,
1258     #[cfg(feature = "Media_MediaProperties")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::MediaProperties::StereoscopicVideoPackingMode) -> ::windows::runtime::HRESULT,
1259     #[cfg(not(feature = "Media_MediaProperties"))] usize,
1260     #[cfg(feature = "Media_MediaProperties")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::MediaProperties::StereoscopicVideoPackingMode) -> ::windows::runtime::HRESULT,
1261     #[cfg(not(feature = "Media_MediaProperties"))] usize,
1262 );
1263 #[repr(transparent)]
1264 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1265 #[doc(hidden)]
1266 pub struct IMediaPlaybackSession2(::windows::runtime::IInspectable);
1267 unsafe impl ::windows::runtime::Interface for IMediaPlaybackSession2 {
1268     type Vtable = IMediaPlaybackSession2_abi;
1269     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4172971129, 8136, 16535, [173, 112, 192, 250, 24, 204, 0, 80]);
1270 }
1271 #[repr(C)]
1272 #[doc(hidden)]
1273 pub struct IMediaPlaybackSession2_abi(
1274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1277     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1278     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1279     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1280     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1281     #[cfg(not(feature = "Foundation"))] usize,
1282     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1283     #[cfg(not(feature = "Foundation"))] usize,
1284     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1285     #[cfg(not(feature = "Foundation"))] usize,
1286     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1287     #[cfg(not(feature = "Foundation"))] usize,
1288     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1289     #[cfg(not(feature = "Foundation"))] usize,
1290     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1291     #[cfg(not(feature = "Foundation"))] usize,
1292     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1293     #[cfg(not(feature = "Foundation"))] usize,
1294     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1295     #[cfg(not(feature = "Foundation"))] usize,
1296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1297     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1298     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1299     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1300     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1301     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1302     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1303     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1304     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rate1: f64, rate2: f64, result__: *mut bool) -> ::windows::runtime::HRESULT,
1306 );
1307 #[repr(transparent)]
1308 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1309 #[doc(hidden)]
1310 pub struct IMediaPlaybackSession3(::windows::runtime::IInspectable);
1311 unsafe impl ::windows::runtime::Interface for IMediaPlaybackSession3 {
1312     type Vtable = IMediaPlaybackSession3_abi;
1313     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2074260506, 41954, 16479, [183, 123, 164, 129, 44, 35, 139, 102]);
1314 }
1315 #[repr(C)]
1316 #[doc(hidden)]
1317 pub struct IMediaPlaybackSession3_abi(
1318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1321     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1322     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1324     #[cfg(feature = "Media_MediaProperties")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::MediaProperties::MediaRotation) -> ::windows::runtime::HRESULT,
1325     #[cfg(not(feature = "Media_MediaProperties"))] usize,
1326     #[cfg(feature = "Media_MediaProperties")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::MediaProperties::MediaRotation) -> ::windows::runtime::HRESULT,
1327     #[cfg(not(feature = "Media_MediaProperties"))] usize,
1328     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1329 );
1330 #[repr(transparent)]
1331 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1332 #[doc(hidden)]
1333 pub struct IMediaPlaybackSessionBufferingStartedEventArgs(::windows::runtime::IInspectable);
1334 unsafe impl ::windows::runtime::Interface for IMediaPlaybackSessionBufferingStartedEventArgs {
1335     type Vtable = IMediaPlaybackSessionBufferingStartedEventArgs_abi;
1336     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3446321133, 29922, 17333, [177, 21, 118, 35, 108, 51, 121, 26]);
1337 }
1338 #[repr(C)]
1339 #[doc(hidden)]
1340 pub struct IMediaPlaybackSessionBufferingStartedEventArgs_abi(
1341     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1348 );
1349 #[repr(transparent)]
1350 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1351 #[doc(hidden)]
1352 pub struct IMediaPlaybackSessionOutputDegradationPolicyState(::windows::runtime::IInspectable);
1353 unsafe impl ::windows::runtime::Interface for IMediaPlaybackSessionOutputDegradationPolicyState {
1354     type Vtable = IMediaPlaybackSessionOutputDegradationPolicyState_abi;
1355     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1435398781, 63027, 18937, [150, 90, 171, 170, 29, 183, 9, 190]);
1356 }
1357 #[repr(C)]
1358 #[doc(hidden)]
1359 pub struct IMediaPlaybackSessionOutputDegradationPolicyState_abi(
1360     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1361     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1362     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1363     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MediaPlaybackSessionVideoConstrictionReason) -> ::windows::runtime::HRESULT,
1367 );
1368 #[repr(transparent)]
1369 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1370 pub struct IMediaPlaybackSource(::windows::runtime::IInspectable);
1371 unsafe impl ::windows::runtime::Interface for IMediaPlaybackSource {
1372     type Vtable = IMediaPlaybackSource_abi;
1373     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4020093628, 37655, 18070, [176, 81, 43, 173, 100, 49, 119, 181]);
1374 }
1375 impl IMediaPlaybackSource {}
1376 unsafe impl ::windows::runtime::RuntimeType for IMediaPlaybackSource {
1377     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{ef9dc2bc-9317-4696-b051-2bad643177b5}");
1378 }
1379 impl ::std::convert::From<IMediaPlaybackSource> for ::windows::runtime::IUnknown {
from(value: IMediaPlaybackSource) -> Self1380     fn from(value: IMediaPlaybackSource) -> Self {
1381         unsafe { ::std::mem::transmute(value) }
1382     }
1383 }
1384 impl ::std::convert::From<&IMediaPlaybackSource> for ::windows::runtime::IUnknown {
from(value: &IMediaPlaybackSource) -> Self1385     fn from(value: &IMediaPlaybackSource) -> Self {
1386         ::std::convert::From::from(::std::clone::Clone::clone(value))
1387     }
1388 }
1389 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for IMediaPlaybackSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1390     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1391         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1392     }
1393 }
1394 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &IMediaPlaybackSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1395     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1396         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1397     }
1398 }
1399 impl ::std::convert::From<IMediaPlaybackSource> for ::windows::runtime::IInspectable {
from(value: IMediaPlaybackSource) -> Self1400     fn from(value: IMediaPlaybackSource) -> Self {
1401         value.0
1402     }
1403 }
1404 impl ::std::convert::From<&IMediaPlaybackSource> for ::windows::runtime::IInspectable {
from(value: &IMediaPlaybackSource) -> Self1405     fn from(value: &IMediaPlaybackSource) -> Self {
1406         value.0.clone()
1407     }
1408 }
1409 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for IMediaPlaybackSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1410     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1411         ::windows::runtime::Param::Owned(self.0)
1412     }
1413 }
1414 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a IMediaPlaybackSource {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1415     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1416         ::windows::runtime::Param::Borrowed(&self.0)
1417     }
1418 }
1419 #[repr(C)]
1420 #[doc(hidden)]
1421 pub struct IMediaPlaybackSource_abi(
1422     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1423     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1424     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1425     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1426     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1427     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1428 );
1429 #[repr(transparent)]
1430 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1431 #[doc(hidden)]
1432 pub struct IMediaPlaybackSphericalVideoProjection(::windows::runtime::IInspectable);
1433 unsafe impl ::windows::runtime::Interface for IMediaPlaybackSphericalVideoProjection {
1434     type Vtable = IMediaPlaybackSphericalVideoProjection_abi;
1435     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3557143420, 28430, 18017, [184, 238, 212, 135, 186, 151, 82, 213]);
1436 }
1437 #[repr(C)]
1438 #[doc(hidden)]
1439 pub struct IMediaPlaybackSphericalVideoProjection_abi(
1440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1446     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1447     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1448     #[cfg(feature = "Media_MediaProperties")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::MediaProperties::SphericalVideoFrameFormat) -> ::windows::runtime::HRESULT,
1449     #[cfg(not(feature = "Media_MediaProperties"))] usize,
1450     #[cfg(feature = "Media_MediaProperties")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::MediaProperties::SphericalVideoFrameFormat) -> ::windows::runtime::HRESULT,
1451     #[cfg(not(feature = "Media_MediaProperties"))] usize,
1452     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
1453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
1454     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::Numerics::Quaternion) -> ::windows::runtime::HRESULT,
1455     #[cfg(not(feature = "Foundation_Numerics"))] usize,
1456     #[cfg(feature = "Foundation_Numerics")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::Numerics::Quaternion) -> ::windows::runtime::HRESULT,
1457     #[cfg(not(feature = "Foundation_Numerics"))] usize,
1458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut SphericalVideoProjectionMode) -> ::windows::runtime::HRESULT,
1459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: SphericalVideoProjectionMode) -> ::windows::runtime::HRESULT,
1460 );
1461 #[repr(transparent)]
1462 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1463 #[doc(hidden)]
1464 pub struct IMediaPlaybackTimedMetadataTrackList(::windows::runtime::IInspectable);
1465 unsafe impl ::windows::runtime::Interface for IMediaPlaybackTimedMetadataTrackList {
1466     type Vtable = IMediaPlaybackTimedMetadataTrackList_abi;
1467     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1924403993, 48123, 18083, [147, 114, 156, 156, 116, 75, 148, 56]);
1468 }
1469 #[repr(C)]
1470 #[doc(hidden)]
1471 pub struct IMediaPlaybackTimedMetadataTrackList_abi(
1472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1478     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1479     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
1480     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1481     #[cfg(not(feature = "Foundation"))] usize,
1482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, result__: *mut TimedMetadataTrackPresentationMode) -> ::windows::runtime::HRESULT,
1483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, index: u32, value: TimedMetadataTrackPresentationMode) -> ::windows::runtime::HRESULT,
1484 );
1485 #[repr(transparent)]
1486 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1487 #[doc(hidden)]
1488 pub struct IMediaPlayer(::windows::runtime::IInspectable);
1489 unsafe impl ::windows::runtime::Interface for IMediaPlayer {
1490     type Vtable = IMediaPlayer_abi;
1491     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(941261771, 28671, 18843, [141, 100, 40, 133, 223, 193, 36, 158]);
1492 }
1493 #[repr(C)]
1494 #[doc(hidden)]
1495 pub struct IMediaPlayer_abi(
1496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1503     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1504     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1505     #[cfg(not(feature = "Foundation"))] usize,
1506     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1507     #[cfg(not(feature = "Foundation"))] usize,
1508     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1509     #[cfg(not(feature = "Foundation"))] usize,
1510     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
1511     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MediaPlayerState) -> ::windows::runtime::HRESULT,
1512     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1513     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1514     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1515     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1516     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1517     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
1520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
1521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
1522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
1523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1524     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1525     #[cfg(not(feature = "Foundation"))] usize,
1526     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1527     #[cfg(not(feature = "Foundation"))] usize,
1528     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1529     #[cfg(not(feature = "Foundation"))] usize,
1530     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1531     #[cfg(not(feature = "Foundation"))] usize,
1532     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1533     #[cfg(not(feature = "Foundation"))] usize,
1534     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1535     #[cfg(not(feature = "Foundation"))] usize,
1536     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1537     #[cfg(not(feature = "Foundation"))] usize,
1538     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1539     #[cfg(not(feature = "Foundation"))] usize,
1540     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1541     #[cfg(not(feature = "Foundation"))] usize,
1542     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1543     #[cfg(not(feature = "Foundation"))] usize,
1544     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1545     #[cfg(not(feature = "Foundation"))] usize,
1546     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1547     #[cfg(not(feature = "Foundation"))] usize,
1548     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1549     #[cfg(not(feature = "Foundation"))] usize,
1550     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1551     #[cfg(not(feature = "Foundation"))] usize,
1552     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1553     #[cfg(not(feature = "Foundation"))] usize,
1554     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1555     #[cfg(not(feature = "Foundation"))] usize,
1556     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1557     #[cfg(not(feature = "Foundation"))] usize,
1558     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1559     #[cfg(not(feature = "Foundation"))] usize,
1560     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1561     #[cfg(not(feature = "Foundation"))] usize,
1562     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1563     #[cfg(not(feature = "Foundation"))] usize,
1564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1566     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1567     #[cfg(not(feature = "Foundation"))] usize,
1568 );
1569 #[repr(transparent)]
1570 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1571 #[doc(hidden)]
1572 pub struct IMediaPlayer2(::windows::runtime::IInspectable);
1573 unsafe impl ::windows::runtime::Interface for IMediaPlayer2 {
1574     type Vtable = IMediaPlayer2_abi;
1575     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1015288344, 8483, 20421, [144, 130, 47, 136, 63, 119, 189, 245]);
1576 }
1577 #[repr(C)]
1578 #[doc(hidden)]
1579 pub struct IMediaPlayer2_abi(
1580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MediaPlayerAudioCategory) -> ::windows::runtime::HRESULT,
1588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: MediaPlayerAudioCategory) -> ::windows::runtime::HRESULT,
1589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MediaPlayerAudioDeviceType) -> ::windows::runtime::HRESULT,
1590     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: MediaPlayerAudioDeviceType) -> ::windows::runtime::HRESULT,
1591 );
1592 #[repr(transparent)]
1593 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1594 #[doc(hidden)]
1595 pub struct IMediaPlayer3(::windows::runtime::IInspectable);
1596 unsafe impl ::windows::runtime::Interface for IMediaPlayer3 {
1597     type Vtable = IMediaPlayer3_abi;
1598     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3993395418, 795, 20459, [189, 155, 146, 224, 160, 168, 210, 153]);
1599 }
1600 #[repr(C)]
1601 #[doc(hidden)]
1602 pub struct IMediaPlayer3_abi(
1603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1609     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1610     #[cfg(not(feature = "Foundation"))] usize,
1611     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1612     #[cfg(not(feature = "Foundation"))] usize,
1613     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1614     #[cfg(not(feature = "Foundation"))] usize,
1615     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1616     #[cfg(not(feature = "Foundation"))] usize,
1617     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
1618     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
1619     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1620     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1621     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut StereoscopicVideoRenderMode) -> ::windows::runtime::HRESULT,
1622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: StereoscopicVideoRenderMode) -> ::windows::runtime::HRESULT,
1623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1625     #[cfg(feature = "Devices_Enumeration")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1626     #[cfg(not(feature = "Devices_Enumeration"))] usize,
1627     #[cfg(feature = "Devices_Enumeration")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1628     #[cfg(not(feature = "Devices_Enumeration"))] usize,
1629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1630     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1631     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1632     #[cfg(not(feature = "Foundation"))] usize,
1633     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1634     #[cfg(not(feature = "Foundation"))] usize,
1635     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1636     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1637     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1638     #[cfg(feature = "Media_Casting")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1639     #[cfg(not(feature = "Media_Casting"))] usize,
1640 );
1641 #[repr(transparent)]
1642 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1643 #[doc(hidden)]
1644 pub struct IMediaPlayer4(::windows::runtime::IInspectable);
1645 unsafe impl ::windows::runtime::Interface for IMediaPlayer4 {
1646     type Vtable = IMediaPlayer4_abi;
1647     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2147704240, 29768, 18288, [175, 207, 42, 87, 69, 9, 20, 197]);
1648 }
1649 #[repr(C)]
1650 #[doc(hidden)]
1651 pub struct IMediaPlayer4_abi(
1652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1654     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1655     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1656     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1657     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1658     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, size: super::super::Foundation::Size) -> ::windows::runtime::HRESULT,
1659     #[cfg(not(feature = "Foundation"))] usize,
1660     #[cfg(feature = "UI_Composition")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, compositor: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1661     #[cfg(not(feature = "UI_Composition"))] usize,
1662 );
1663 #[repr(transparent)]
1664 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1665 #[doc(hidden)]
1666 pub struct IMediaPlayer5(::windows::runtime::IInspectable);
1667 unsafe impl ::windows::runtime::Interface for IMediaPlayer5 {
1668     type Vtable = IMediaPlayer5_abi;
1669     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3487905789, 63594, 17478, [191, 77, 200, 231, 146, 183, 180, 179]);
1670 }
1671 #[repr(C)]
1672 #[doc(hidden)]
1673 pub struct IMediaPlayer5_abi(
1674     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1675     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1676     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1677     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1678     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1679     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1680     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1681     #[cfg(not(feature = "Foundation"))] usize,
1682     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1683     #[cfg(not(feature = "Foundation"))] usize,
1684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
1686     #[cfg(feature = "Graphics_DirectX_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destination: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1687     #[cfg(not(feature = "Graphics_DirectX_Direct3D11"))] usize,
1688     #[cfg(all(feature = "Foundation", feature = "Graphics_DirectX_Direct3D11"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destination: ::windows::runtime::RawPtr, targetrectangle: super::super::Foundation::Rect) -> ::windows::runtime::HRESULT,
1689     #[cfg(not(all(feature = "Foundation", feature = "Graphics_DirectX_Direct3D11")))] usize,
1690     #[cfg(feature = "Graphics_DirectX_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destinationlefteye: ::windows::runtime::RawPtr, destinationrighteye: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1691     #[cfg(not(feature = "Graphics_DirectX_Direct3D11"))] usize,
1692 );
1693 #[repr(transparent)]
1694 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1695 #[doc(hidden)]
1696 pub struct IMediaPlayer6(::windows::runtime::IInspectable);
1697 unsafe impl ::windows::runtime::Interface for IMediaPlayer6 {
1698     type Vtable = IMediaPlayer6_abi;
1699     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3771375750, 44645, 16716, [176, 16, 139, 197, 95, 0, 230, 146]);
1700 }
1701 #[repr(C)]
1702 #[doc(hidden)]
1703 pub struct IMediaPlayer6_abi(
1704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1709     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1710     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1711     #[cfg(not(feature = "Foundation"))] usize,
1712     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1713     #[cfg(not(feature = "Foundation"))] usize,
1714     #[cfg(feature = "Graphics_DirectX_Direct3D11")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destination: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
1715     #[cfg(not(feature = "Graphics_DirectX_Direct3D11"))] usize,
1716     #[cfg(all(feature = "Foundation", feature = "Graphics_DirectX_Direct3D11"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, destination: ::windows::runtime::RawPtr, targetrectangle: super::super::Foundation::Rect, result__: *mut bool) -> ::windows::runtime::HRESULT,
1717     #[cfg(not(all(feature = "Foundation", feature = "Graphics_DirectX_Direct3D11")))] usize,
1718 );
1719 #[repr(transparent)]
1720 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1721 #[doc(hidden)]
1722 pub struct IMediaPlayer7(::windows::runtime::IInspectable);
1723 unsafe impl ::windows::runtime::Interface for IMediaPlayer7 {
1724     type Vtable = IMediaPlayer7_abi;
1725     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1562231928, 17664, 17713, [179, 244, 119, 122, 113, 73, 31, 127]);
1726 }
1727 #[repr(C)]
1728 #[doc(hidden)]
1729 pub struct IMediaPlayer7_abi(
1730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1731     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1732     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1733     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1734     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1735     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1736     #[cfg(feature = "Media_Audio")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1737     #[cfg(not(feature = "Media_Audio"))] usize,
1738 );
1739 #[repr(transparent)]
1740 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1741 #[doc(hidden)]
1742 pub struct IMediaPlayerDataReceivedEventArgs(::windows::runtime::IInspectable);
1743 unsafe impl ::windows::runtime::Interface for IMediaPlayerDataReceivedEventArgs {
1744     type Vtable = IMediaPlayerDataReceivedEventArgs_abi;
1745     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3344602117, 51201, 16682, [131, 91, 131, 252, 14, 98, 42, 142]);
1746 }
1747 #[repr(C)]
1748 #[doc(hidden)]
1749 pub struct IMediaPlayerDataReceivedEventArgs_abi(
1750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1752     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1753     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1754     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1755     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1756     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1757     #[cfg(not(feature = "Foundation_Collections"))] usize,
1758 );
1759 #[repr(transparent)]
1760 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1761 #[doc(hidden)]
1762 pub struct IMediaPlayerEffects(::windows::runtime::IInspectable);
1763 unsafe impl ::windows::runtime::Interface for IMediaPlayerEffects {
1764     type Vtable = IMediaPlayerEffects_abi;
1765     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2241978074, 51894, 19648, [139, 227, 96, 53, 244, 222, 37, 145]);
1766 }
1767 #[repr(C)]
1768 #[doc(hidden)]
1769 pub struct IMediaPlayerEffects_abi(
1770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1771     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1772     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1773     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1774     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1775     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1776     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activatableclassid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, effectoptional: bool, configuration: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1777     #[cfg(not(feature = "Foundation_Collections"))] usize,
1778     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1779 );
1780 #[repr(transparent)]
1781 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1782 #[doc(hidden)]
1783 pub struct IMediaPlayerEffects2(::windows::runtime::IInspectable);
1784 unsafe impl ::windows::runtime::Interface for IMediaPlayerEffects2 {
1785     type Vtable = IMediaPlayerEffects2_abi;
1786     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4198603385, 7102, 18117, [174, 31, 142, 230, 159, 179, 194, 199]);
1787 }
1788 #[repr(C)]
1789 #[doc(hidden)]
1790 pub struct IMediaPlayerEffects2_abi(
1791     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1792     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1793     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1794     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1795     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1796     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1797     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activatableclassid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, effectoptional: bool, effectconfiguration: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1798     #[cfg(not(feature = "Foundation_Collections"))] usize,
1799 );
1800 #[repr(transparent)]
1801 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1802 #[doc(hidden)]
1803 pub struct IMediaPlayerFailedEventArgs(::windows::runtime::IInspectable);
1804 unsafe impl ::windows::runtime::Interface for IMediaPlayerFailedEventArgs {
1805     type Vtable = IMediaPlayerFailedEventArgs_abi;
1806     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(658827705, 42979, 20246, [186, 196, 121, 20, 235, 192, 131, 1]);
1807 }
1808 #[repr(C)]
1809 #[doc(hidden)]
1810 pub struct IMediaPlayerFailedEventArgs_abi(
1811     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1812     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1813     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1814     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1815     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1816     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1817     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MediaPlayerError) -> ::windows::runtime::HRESULT,
1818     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::HRESULT) -> ::windows::runtime::HRESULT,
1819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1820 );
1821 #[repr(transparent)]
1822 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1823 #[doc(hidden)]
1824 pub struct IMediaPlayerRateChangedEventArgs(::windows::runtime::IInspectable);
1825 unsafe impl ::windows::runtime::Interface for IMediaPlayerRateChangedEventArgs {
1826     type Vtable = IMediaPlayerRateChangedEventArgs_abi;
1827     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1080036696, 15201, 19378, [152, 159, 252, 101, 96, 139, 108, 171]);
1828 }
1829 #[repr(C)]
1830 #[doc(hidden)]
1831 pub struct IMediaPlayerRateChangedEventArgs_abi(
1832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1833     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1834     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1835     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1836     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1837     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1838     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
1839 );
1840 #[repr(transparent)]
1841 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1842 #[doc(hidden)]
1843 pub struct IMediaPlayerSource(::windows::runtime::IInspectable);
1844 unsafe impl ::windows::runtime::Interface for IMediaPlayerSource {
1845     type Vtable = IMediaPlayerSource_abi;
1846     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3176106135, 5155, 19518, [130, 197, 15, 177, 175, 148, 247, 21]);
1847 }
1848 #[repr(C)]
1849 #[doc(hidden)]
1850 pub struct IMediaPlayerSource_abi(
1851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1854     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1855     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1856     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1857     #[cfg(feature = "Media_Protection")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1858     #[cfg(not(feature = "Media_Protection"))] usize,
1859     #[cfg(feature = "Media_Protection")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1860     #[cfg(not(feature = "Media_Protection"))] usize,
1861     #[cfg(feature = "Storage")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, file: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1862     #[cfg(not(feature = "Storage"))] usize,
1863     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, stream: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1864     #[cfg(not(feature = "Storage_Streams"))] usize,
1865     #[cfg(feature = "Media_Core")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, source: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1866     #[cfg(not(feature = "Media_Core"))] usize,
1867 );
1868 #[repr(transparent)]
1869 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1870 #[doc(hidden)]
1871 pub struct IMediaPlayerSource2(::windows::runtime::IInspectable);
1872 unsafe impl ::windows::runtime::Interface for IMediaPlayerSource2 {
1873     type Vtable = IMediaPlayerSource2_abi;
1874     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2185534367, 29474, 19467, [176, 59, 62, 105, 164, 130, 96, 197]);
1875 }
1876 #[repr(C)]
1877 #[doc(hidden)]
1878 pub struct IMediaPlayerSource2_abi(
1879     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1880     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1887 );
1888 #[repr(transparent)]
1889 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1890 #[doc(hidden)]
1891 pub struct IMediaPlayerSurface(::windows::runtime::IInspectable);
1892 unsafe impl ::windows::runtime::Interface for IMediaPlayerSurface {
1893     type Vtable = IMediaPlayerSurface_abi;
1894     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(248927164, 46902, 18883, [131, 11, 118, 74, 56, 69, 49, 58]);
1895 }
1896 #[repr(C)]
1897 #[doc(hidden)]
1898 pub struct IMediaPlayerSurface_abi(
1899     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1900     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1901     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1902     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1903     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1904     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1905     #[cfg(feature = "UI_Composition")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1906     #[cfg(not(feature = "UI_Composition"))] usize,
1907     #[cfg(feature = "UI_Composition")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1908     #[cfg(not(feature = "UI_Composition"))] usize,
1909     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1910 );
1911 #[repr(transparent)]
1912 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1913 #[doc(hidden)]
1914 pub struct IPlaybackMediaMarker(::windows::runtime::IInspectable);
1915 unsafe impl ::windows::runtime::Interface for IPlaybackMediaMarker {
1916     type Vtable = IPlaybackMediaMarker_abi;
1917     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3302109020, 15388, 17476, [182, 185, 119, 139, 4, 34, 212, 26]);
1918 }
1919 #[repr(C)]
1920 #[doc(hidden)]
1921 pub struct IPlaybackMediaMarker_abi(
1922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1923     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1924     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1925     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1926     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1927     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1928     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
1929     #[cfg(not(feature = "Foundation"))] usize,
1930     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1931     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1932 );
1933 #[repr(transparent)]
1934 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1935 #[doc(hidden)]
1936 pub struct IPlaybackMediaMarkerFactory(::windows::runtime::IInspectable);
1937 unsafe impl ::windows::runtime::Interface for IPlaybackMediaMarkerFactory {
1938     type Vtable = IPlaybackMediaMarkerFactory_abi;
1939     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2354252408, 57518, 19994, [168, 200, 226, 63, 152, 42, 147, 123]);
1940 }
1941 #[repr(C)]
1942 #[doc(hidden)]
1943 pub struct IPlaybackMediaMarkerFactory_abi(
1944     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1945     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1946     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1947     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1950     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::TimeSpan, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1951     #[cfg(not(feature = "Foundation"))] usize,
1952     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::super::Foundation::TimeSpan, mediamarkettype: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, text: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1953     #[cfg(not(feature = "Foundation"))] usize,
1954 );
1955 #[repr(transparent)]
1956 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1957 #[doc(hidden)]
1958 pub struct IPlaybackMediaMarkerReachedEventArgs(::windows::runtime::IInspectable);
1959 unsafe impl ::windows::runtime::Interface for IPlaybackMediaMarkerReachedEventArgs {
1960     type Vtable = IPlaybackMediaMarkerReachedEventArgs_abi;
1961     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1468846521, 37090, 20064, [171, 196, 135, 64, 176, 31, 97, 150]);
1962 }
1963 #[repr(C)]
1964 #[doc(hidden)]
1965 pub struct IPlaybackMediaMarkerReachedEventArgs_abi(
1966     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1967     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1968     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1969     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1970     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1971     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1972     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1973 );
1974 #[repr(transparent)]
1975 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1976 #[doc(hidden)]
1977 pub struct IPlaybackMediaMarkerSequence(::windows::runtime::IInspectable);
1978 unsafe impl ::windows::runtime::Interface for IPlaybackMediaMarkerSequence {
1979     type Vtable = IPlaybackMediaMarkerSequence_abi;
1980     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4068543726, 25483, 18127, [136, 23, 29, 17, 31, 233, 216, 196]);
1981 }
1982 #[repr(C)]
1983 #[doc(hidden)]
1984 pub struct IPlaybackMediaMarkerSequence_abi(
1985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
1992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1993     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1994 );
1995 #[repr(transparent)]
1996 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1997 #[doc(hidden)]
1998 pub struct ITimedMetadataPresentationModeChangedEventArgs(::windows::runtime::IInspectable);
1999 unsafe impl ::windows::runtime::Interface for ITimedMetadataPresentationModeChangedEventArgs {
2000     type Vtable = ITimedMetadataPresentationModeChangedEventArgs_abi;
2001     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3512950937, 26079, 17838, [140, 239, 220, 11, 83, 253, 194, 187]);
2002 }
2003 #[repr(C)]
2004 #[doc(hidden)]
2005 pub struct ITimedMetadataPresentationModeChangedEventArgs_abi(
2006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2009     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2010     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2011     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2012     #[cfg(feature = "Media_Core")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2013     #[cfg(not(feature = "Media_Core"))] usize,
2014     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut TimedMetadataTrackPresentationMode) -> ::windows::runtime::HRESULT,
2015     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut TimedMetadataTrackPresentationMode) -> ::windows::runtime::HRESULT,
2016 );
2017 #[repr(transparent)]
2018 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2019 pub struct MediaBreak(::windows::runtime::IInspectable);
2020 impl MediaBreak {
PlaybackList(&self) -> ::windows::runtime::Result<MediaPlaybackList>2021     pub fn PlaybackList(&self) -> ::windows::runtime::Result<MediaPlaybackList> {
2022         let this = self;
2023         unsafe {
2024             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2025             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackList>(result__)
2026         }
2027     }
2028     #[cfg(feature = "Foundation")]
PresentationPosition(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>2029     pub fn PresentationPosition(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>> {
2030         let this = self;
2031         unsafe {
2032             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2033             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>(result__)
2034         }
2035     }
InsertionMethod(&self) -> ::windows::runtime::Result<MediaBreakInsertionMethod>2036     pub fn InsertionMethod(&self) -> ::windows::runtime::Result<MediaBreakInsertionMethod> {
2037         let this = self;
2038         unsafe {
2039             let mut result__: MediaBreakInsertionMethod = ::std::mem::zeroed();
2040             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaBreakInsertionMethod>(result__)
2041         }
2042     }
2043     #[cfg(feature = "Foundation_Collections")]
CustomProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::ValueSet>2044     pub fn CustomProperties(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::ValueSet> {
2045         let this = self;
2046         unsafe {
2047             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2048             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::ValueSet>(result__)
2049         }
2050     }
CanStart(&self) -> ::windows::runtime::Result<bool>2051     pub fn CanStart(&self) -> ::windows::runtime::Result<bool> {
2052         let this = self;
2053         unsafe {
2054             let mut result__: bool = ::std::mem::zeroed();
2055             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
2056         }
2057     }
SetCanStart(&self, value: bool) -> ::windows::runtime::Result<()>2058     pub fn SetCanStart(&self, value: bool) -> ::windows::runtime::Result<()> {
2059         let this = self;
2060         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
2061     }
Create(insertionmethod: MediaBreakInsertionMethod) -> ::windows::runtime::Result<MediaBreak>2062     pub fn Create(insertionmethod: MediaBreakInsertionMethod) -> ::windows::runtime::Result<MediaBreak> {
2063         Self::IMediaBreakFactory(|this| unsafe {
2064             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2065             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), insertionmethod, &mut result__).from_abi::<MediaBreak>(result__)
2066         })
2067     }
2068     #[cfg(feature = "Foundation")]
CreateWithPresentationPosition<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(insertionmethod: MediaBreakInsertionMethod, presentationposition: Param1) -> ::windows::runtime::Result<MediaBreak>2069     pub fn CreateWithPresentationPosition<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(insertionmethod: MediaBreakInsertionMethod, presentationposition: Param1) -> ::windows::runtime::Result<MediaBreak> {
2070         Self::IMediaBreakFactory(|this| unsafe {
2071             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2072             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), insertionmethod, presentationposition.into_param().abi(), &mut result__).from_abi::<MediaBreak>(result__)
2073         })
2074     }
IMediaBreakFactory<R, F: FnOnce(&IMediaBreakFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2075     pub fn IMediaBreakFactory<R, F: FnOnce(&IMediaBreakFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2076         static mut SHARED: ::windows::runtime::FactoryCache<MediaBreak, IMediaBreakFactory> = ::windows::runtime::FactoryCache::new();
2077         unsafe { SHARED.call(callback) }
2078     }
2079 }
2080 unsafe impl ::windows::runtime::RuntimeType for MediaBreak {
2081     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaBreak;{714be270-0def-4ebc-a489-6b34930e1558})");
2082 }
2083 unsafe impl ::windows::runtime::Interface for MediaBreak {
2084     type Vtable = IMediaBreak_abi;
2085     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1900798576, 3567, 20156, [164, 137, 107, 52, 147, 14, 21, 88]);
2086 }
2087 impl ::windows::runtime::RuntimeName for MediaBreak {
2088     const NAME: &'static str = "Windows.Media.Playback.MediaBreak";
2089 }
2090 impl ::std::convert::From<MediaBreak> for ::windows::runtime::IUnknown {
from(value: MediaBreak) -> Self2091     fn from(value: MediaBreak) -> Self {
2092         unsafe { ::std::mem::transmute(value) }
2093     }
2094 }
2095 impl ::std::convert::From<&MediaBreak> for ::windows::runtime::IUnknown {
from(value: &MediaBreak) -> Self2096     fn from(value: &MediaBreak) -> Self {
2097         ::std::convert::From::from(::std::clone::Clone::clone(value))
2098     }
2099 }
2100 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaBreak {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2101     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2102         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2103     }
2104 }
2105 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaBreak {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2106     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2107         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2108     }
2109 }
2110 impl ::std::convert::From<MediaBreak> for ::windows::runtime::IInspectable {
from(value: MediaBreak) -> Self2111     fn from(value: MediaBreak) -> Self {
2112         value.0
2113     }
2114 }
2115 impl ::std::convert::From<&MediaBreak> for ::windows::runtime::IInspectable {
from(value: &MediaBreak) -> Self2116     fn from(value: &MediaBreak) -> Self {
2117         value.0.clone()
2118     }
2119 }
2120 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaBreak {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2121     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2122         ::windows::runtime::Param::Owned(self.0)
2123     }
2124 }
2125 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaBreak {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2126     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2127         ::windows::runtime::Param::Borrowed(&self.0)
2128     }
2129 }
2130 unsafe impl ::std::marker::Send for MediaBreak {}
2131 unsafe impl ::std::marker::Sync for MediaBreak {}
2132 #[repr(transparent)]
2133 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2134 pub struct MediaBreakEndedEventArgs(::windows::runtime::IInspectable);
2135 impl MediaBreakEndedEventArgs {
MediaBreak(&self) -> ::windows::runtime::Result<MediaBreak>2136     pub fn MediaBreak(&self) -> ::windows::runtime::Result<MediaBreak> {
2137         let this = self;
2138         unsafe {
2139             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2140             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaBreak>(result__)
2141         }
2142     }
2143 }
2144 unsafe impl ::windows::runtime::RuntimeType for MediaBreakEndedEventArgs {
2145     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaBreakEndedEventArgs;{32b93276-1c5d-4fee-8732-236dc3a88580})");
2146 }
2147 unsafe impl ::windows::runtime::Interface for MediaBreakEndedEventArgs {
2148     type Vtable = IMediaBreakEndedEventArgs_abi;
2149     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(850997878, 7261, 20462, [135, 50, 35, 109, 195, 168, 133, 128]);
2150 }
2151 impl ::windows::runtime::RuntimeName for MediaBreakEndedEventArgs {
2152     const NAME: &'static str = "Windows.Media.Playback.MediaBreakEndedEventArgs";
2153 }
2154 impl ::std::convert::From<MediaBreakEndedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaBreakEndedEventArgs) -> Self2155     fn from(value: MediaBreakEndedEventArgs) -> Self {
2156         unsafe { ::std::mem::transmute(value) }
2157     }
2158 }
2159 impl ::std::convert::From<&MediaBreakEndedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaBreakEndedEventArgs) -> Self2160     fn from(value: &MediaBreakEndedEventArgs) -> Self {
2161         ::std::convert::From::from(::std::clone::Clone::clone(value))
2162     }
2163 }
2164 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaBreakEndedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2165     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2166         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2167     }
2168 }
2169 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaBreakEndedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2170     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2171         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2172     }
2173 }
2174 impl ::std::convert::From<MediaBreakEndedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaBreakEndedEventArgs) -> Self2175     fn from(value: MediaBreakEndedEventArgs) -> Self {
2176         value.0
2177     }
2178 }
2179 impl ::std::convert::From<&MediaBreakEndedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaBreakEndedEventArgs) -> Self2180     fn from(value: &MediaBreakEndedEventArgs) -> Self {
2181         value.0.clone()
2182     }
2183 }
2184 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaBreakEndedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2185     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2186         ::windows::runtime::Param::Owned(self.0)
2187     }
2188 }
2189 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaBreakEndedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2190     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2191         ::windows::runtime::Param::Borrowed(&self.0)
2192     }
2193 }
2194 unsafe impl ::std::marker::Send for MediaBreakEndedEventArgs {}
2195 unsafe impl ::std::marker::Sync for MediaBreakEndedEventArgs {}
2196 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2197 #[repr(transparent)]
2198 pub struct MediaBreakInsertionMethod(pub i32);
2199 impl MediaBreakInsertionMethod {
2200     pub const Interrupt: MediaBreakInsertionMethod = MediaBreakInsertionMethod(0i32);
2201     pub const Replace: MediaBreakInsertionMethod = MediaBreakInsertionMethod(1i32);
2202 }
2203 impl ::std::convert::From<i32> for MediaBreakInsertionMethod {
from(value: i32) -> Self2204     fn from(value: i32) -> Self {
2205         Self(value)
2206     }
2207 }
2208 unsafe impl ::windows::runtime::Abi for MediaBreakInsertionMethod {
2209     type Abi = Self;
2210     type DefaultType = Self;
2211 }
2212 unsafe impl ::windows::runtime::RuntimeType for MediaBreakInsertionMethod {
2213     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.Playback.MediaBreakInsertionMethod;i4)");
2214 }
2215 #[repr(transparent)]
2216 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2217 pub struct MediaBreakManager(::windows::runtime::IInspectable);
2218 impl MediaBreakManager {
2219     #[cfg(feature = "Foundation")]
BreaksSeekedOver<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaBreakManager, MediaBreakSeekedOverEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>2220     pub fn BreaksSeekedOver<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaBreakManager, MediaBreakSeekedOverEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
2221         let this = self;
2222         unsafe {
2223             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
2224             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
2225         }
2226     }
2227     #[cfg(feature = "Foundation")]
RemoveBreaksSeekedOver<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>2228     pub fn RemoveBreaksSeekedOver<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
2229         let this = self;
2230         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
2231     }
2232     #[cfg(feature = "Foundation")]
BreakStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaBreakManager, MediaBreakStartedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>2233     pub fn BreakStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaBreakManager, MediaBreakStartedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
2234         let this = self;
2235         unsafe {
2236             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
2237             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
2238         }
2239     }
2240     #[cfg(feature = "Foundation")]
RemoveBreakStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>2241     pub fn RemoveBreakStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
2242         let this = self;
2243         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
2244     }
2245     #[cfg(feature = "Foundation")]
BreakEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaBreakManager, MediaBreakEndedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>2246     pub fn BreakEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaBreakManager, MediaBreakEndedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
2247         let this = self;
2248         unsafe {
2249             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
2250             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
2251         }
2252     }
2253     #[cfg(feature = "Foundation")]
RemoveBreakEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>2254     pub fn RemoveBreakEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
2255         let this = self;
2256         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
2257     }
2258     #[cfg(feature = "Foundation")]
BreakSkipped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaBreakManager, MediaBreakSkippedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>2259     pub fn BreakSkipped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaBreakManager, MediaBreakSkippedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
2260         let this = self;
2261         unsafe {
2262             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
2263             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
2264         }
2265     }
2266     #[cfg(feature = "Foundation")]
RemoveBreakSkipped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>2267     pub fn RemoveBreakSkipped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
2268         let this = self;
2269         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
2270     }
CurrentBreak(&self) -> ::windows::runtime::Result<MediaBreak>2271     pub fn CurrentBreak(&self) -> ::windows::runtime::Result<MediaBreak> {
2272         let this = self;
2273         unsafe {
2274             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2275             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaBreak>(result__)
2276         }
2277     }
PlaybackSession(&self) -> ::windows::runtime::Result<MediaPlaybackSession>2278     pub fn PlaybackSession(&self) -> ::windows::runtime::Result<MediaPlaybackSession> {
2279         let this = self;
2280         unsafe {
2281             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2282             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackSession>(result__)
2283         }
2284     }
PlayBreak<'a, Param0: ::windows::runtime::IntoParam<'a, MediaBreak>>(&self, value: Param0) -> ::windows::runtime::Result<()>2285     pub fn PlayBreak<'a, Param0: ::windows::runtime::IntoParam<'a, MediaBreak>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2286         let this = self;
2287         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2288     }
SkipCurrentBreak(&self) -> ::windows::runtime::Result<()>2289     pub fn SkipCurrentBreak(&self) -> ::windows::runtime::Result<()> {
2290         let this = self;
2291         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this)).ok() }
2292     }
2293 }
2294 unsafe impl ::windows::runtime::RuntimeType for MediaBreakManager {
2295     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaBreakManager;{a854ddb1-feb4-4d9b-9d97-0fdbe58e5e39})");
2296 }
2297 unsafe impl ::windows::runtime::Interface for MediaBreakManager {
2298     type Vtable = IMediaBreakManager_abi;
2299     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2824134065, 65204, 19867, [157, 151, 15, 219, 229, 142, 94, 57]);
2300 }
2301 impl ::windows::runtime::RuntimeName for MediaBreakManager {
2302     const NAME: &'static str = "Windows.Media.Playback.MediaBreakManager";
2303 }
2304 impl ::std::convert::From<MediaBreakManager> for ::windows::runtime::IUnknown {
from(value: MediaBreakManager) -> Self2305     fn from(value: MediaBreakManager) -> Self {
2306         unsafe { ::std::mem::transmute(value) }
2307     }
2308 }
2309 impl ::std::convert::From<&MediaBreakManager> for ::windows::runtime::IUnknown {
from(value: &MediaBreakManager) -> Self2310     fn from(value: &MediaBreakManager) -> Self {
2311         ::std::convert::From::from(::std::clone::Clone::clone(value))
2312     }
2313 }
2314 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaBreakManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2315     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2316         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2317     }
2318 }
2319 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaBreakManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2320     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2321         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2322     }
2323 }
2324 impl ::std::convert::From<MediaBreakManager> for ::windows::runtime::IInspectable {
from(value: MediaBreakManager) -> Self2325     fn from(value: MediaBreakManager) -> Self {
2326         value.0
2327     }
2328 }
2329 impl ::std::convert::From<&MediaBreakManager> for ::windows::runtime::IInspectable {
from(value: &MediaBreakManager) -> Self2330     fn from(value: &MediaBreakManager) -> Self {
2331         value.0.clone()
2332     }
2333 }
2334 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaBreakManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2335     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2336         ::windows::runtime::Param::Owned(self.0)
2337     }
2338 }
2339 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaBreakManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2340     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2341         ::windows::runtime::Param::Borrowed(&self.0)
2342     }
2343 }
2344 unsafe impl ::std::marker::Send for MediaBreakManager {}
2345 unsafe impl ::std::marker::Sync for MediaBreakManager {}
2346 #[repr(transparent)]
2347 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2348 pub struct MediaBreakSchedule(::windows::runtime::IInspectable);
2349 impl MediaBreakSchedule {
2350     #[cfg(feature = "Foundation")]
ScheduleChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaBreakSchedule, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>2351     pub fn ScheduleChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaBreakSchedule, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
2352         let this = self;
2353         unsafe {
2354             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
2355             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
2356         }
2357     }
2358     #[cfg(feature = "Foundation")]
RemoveScheduleChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>2359     pub fn RemoveScheduleChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
2360         let this = self;
2361         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
2362     }
InsertMidrollBreak<'a, Param0: ::windows::runtime::IntoParam<'a, MediaBreak>>(&self, mediabreak: Param0) -> ::windows::runtime::Result<()>2363     pub fn InsertMidrollBreak<'a, Param0: ::windows::runtime::IntoParam<'a, MediaBreak>>(&self, mediabreak: Param0) -> ::windows::runtime::Result<()> {
2364         let this = self;
2365         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), mediabreak.into_param().abi()).ok() }
2366     }
RemoveMidrollBreak<'a, Param0: ::windows::runtime::IntoParam<'a, MediaBreak>>(&self, mediabreak: Param0) -> ::windows::runtime::Result<()>2367     pub fn RemoveMidrollBreak<'a, Param0: ::windows::runtime::IntoParam<'a, MediaBreak>>(&self, mediabreak: Param0) -> ::windows::runtime::Result<()> {
2368         let this = self;
2369         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), mediabreak.into_param().abi()).ok() }
2370     }
2371     #[cfg(feature = "Foundation_Collections")]
MidrollBreaks(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MediaBreak>>2372     pub fn MidrollBreaks(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MediaBreak>> {
2373         let this = self;
2374         unsafe {
2375             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2376             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MediaBreak>>(result__)
2377         }
2378     }
SetPrerollBreak<'a, Param0: ::windows::runtime::IntoParam<'a, MediaBreak>>(&self, value: Param0) -> ::windows::runtime::Result<()>2379     pub fn SetPrerollBreak<'a, Param0: ::windows::runtime::IntoParam<'a, MediaBreak>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2380         let this = self;
2381         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2382     }
PrerollBreak(&self) -> ::windows::runtime::Result<MediaBreak>2383     pub fn PrerollBreak(&self) -> ::windows::runtime::Result<MediaBreak> {
2384         let this = self;
2385         unsafe {
2386             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2387             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaBreak>(result__)
2388         }
2389     }
SetPostrollBreak<'a, Param0: ::windows::runtime::IntoParam<'a, MediaBreak>>(&self, value: Param0) -> ::windows::runtime::Result<()>2390     pub fn SetPostrollBreak<'a, Param0: ::windows::runtime::IntoParam<'a, MediaBreak>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2391         let this = self;
2392         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2393     }
PostrollBreak(&self) -> ::windows::runtime::Result<MediaBreak>2394     pub fn PostrollBreak(&self) -> ::windows::runtime::Result<MediaBreak> {
2395         let this = self;
2396         unsafe {
2397             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2398             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaBreak>(result__)
2399         }
2400     }
PlaybackItem(&self) -> ::windows::runtime::Result<MediaPlaybackItem>2401     pub fn PlaybackItem(&self) -> ::windows::runtime::Result<MediaPlaybackItem> {
2402         let this = self;
2403         unsafe {
2404             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2405             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackItem>(result__)
2406         }
2407     }
2408 }
2409 unsafe impl ::windows::runtime::RuntimeType for MediaBreakSchedule {
2410     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaBreakSchedule;{a19a5813-98b6-41d8-83da-f971d22b7bba})");
2411 }
2412 unsafe impl ::windows::runtime::Interface for MediaBreakSchedule {
2413     type Vtable = IMediaBreakSchedule_abi;
2414     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2711246867, 39094, 16856, [131, 218, 249, 113, 210, 43, 123, 186]);
2415 }
2416 impl ::windows::runtime::RuntimeName for MediaBreakSchedule {
2417     const NAME: &'static str = "Windows.Media.Playback.MediaBreakSchedule";
2418 }
2419 impl ::std::convert::From<MediaBreakSchedule> for ::windows::runtime::IUnknown {
from(value: MediaBreakSchedule) -> Self2420     fn from(value: MediaBreakSchedule) -> Self {
2421         unsafe { ::std::mem::transmute(value) }
2422     }
2423 }
2424 impl ::std::convert::From<&MediaBreakSchedule> for ::windows::runtime::IUnknown {
from(value: &MediaBreakSchedule) -> Self2425     fn from(value: &MediaBreakSchedule) -> Self {
2426         ::std::convert::From::from(::std::clone::Clone::clone(value))
2427     }
2428 }
2429 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaBreakSchedule {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2430     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2431         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2432     }
2433 }
2434 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaBreakSchedule {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2435     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2436         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2437     }
2438 }
2439 impl ::std::convert::From<MediaBreakSchedule> for ::windows::runtime::IInspectable {
from(value: MediaBreakSchedule) -> Self2440     fn from(value: MediaBreakSchedule) -> Self {
2441         value.0
2442     }
2443 }
2444 impl ::std::convert::From<&MediaBreakSchedule> for ::windows::runtime::IInspectable {
from(value: &MediaBreakSchedule) -> Self2445     fn from(value: &MediaBreakSchedule) -> Self {
2446         value.0.clone()
2447     }
2448 }
2449 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaBreakSchedule {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2450     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2451         ::windows::runtime::Param::Owned(self.0)
2452     }
2453 }
2454 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaBreakSchedule {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2455     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2456         ::windows::runtime::Param::Borrowed(&self.0)
2457     }
2458 }
2459 unsafe impl ::std::marker::Send for MediaBreakSchedule {}
2460 unsafe impl ::std::marker::Sync for MediaBreakSchedule {}
2461 #[repr(transparent)]
2462 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2463 pub struct MediaBreakSeekedOverEventArgs(::windows::runtime::IInspectable);
2464 impl MediaBreakSeekedOverEventArgs {
2465     #[cfg(feature = "Foundation_Collections")]
SeekedOverBreaks(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MediaBreak>>2466     pub fn SeekedOverBreaks(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MediaBreak>> {
2467         let this = self;
2468         unsafe {
2469             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2470             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MediaBreak>>(result__)
2471         }
2472     }
2473     #[cfg(feature = "Foundation")]
OldPosition(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>2474     pub fn OldPosition(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
2475         let this = self;
2476         unsafe {
2477             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
2478             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
2479         }
2480     }
2481     #[cfg(feature = "Foundation")]
NewPosition(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>2482     pub fn NewPosition(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
2483         let this = self;
2484         unsafe {
2485             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
2486             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
2487         }
2488     }
2489 }
2490 unsafe impl ::windows::runtime::RuntimeType for MediaBreakSeekedOverEventArgs {
2491     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaBreakSeekedOverEventArgs;{e5aa6746-0606-4492-b9d3-c3c8fde0a4ea})");
2492 }
2493 unsafe impl ::windows::runtime::Interface for MediaBreakSeekedOverEventArgs {
2494     type Vtable = IMediaBreakSeekedOverEventArgs_abi;
2495     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3853150022, 1542, 17554, [185, 211, 195, 200, 253, 224, 164, 234]);
2496 }
2497 impl ::windows::runtime::RuntimeName for MediaBreakSeekedOverEventArgs {
2498     const NAME: &'static str = "Windows.Media.Playback.MediaBreakSeekedOverEventArgs";
2499 }
2500 impl ::std::convert::From<MediaBreakSeekedOverEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaBreakSeekedOverEventArgs) -> Self2501     fn from(value: MediaBreakSeekedOverEventArgs) -> Self {
2502         unsafe { ::std::mem::transmute(value) }
2503     }
2504 }
2505 impl ::std::convert::From<&MediaBreakSeekedOverEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaBreakSeekedOverEventArgs) -> Self2506     fn from(value: &MediaBreakSeekedOverEventArgs) -> Self {
2507         ::std::convert::From::from(::std::clone::Clone::clone(value))
2508     }
2509 }
2510 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaBreakSeekedOverEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2511     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2512         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2513     }
2514 }
2515 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaBreakSeekedOverEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2516     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2517         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2518     }
2519 }
2520 impl ::std::convert::From<MediaBreakSeekedOverEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaBreakSeekedOverEventArgs) -> Self2521     fn from(value: MediaBreakSeekedOverEventArgs) -> Self {
2522         value.0
2523     }
2524 }
2525 impl ::std::convert::From<&MediaBreakSeekedOverEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaBreakSeekedOverEventArgs) -> Self2526     fn from(value: &MediaBreakSeekedOverEventArgs) -> Self {
2527         value.0.clone()
2528     }
2529 }
2530 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaBreakSeekedOverEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2531     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2532         ::windows::runtime::Param::Owned(self.0)
2533     }
2534 }
2535 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaBreakSeekedOverEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2536     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2537         ::windows::runtime::Param::Borrowed(&self.0)
2538     }
2539 }
2540 unsafe impl ::std::marker::Send for MediaBreakSeekedOverEventArgs {}
2541 unsafe impl ::std::marker::Sync for MediaBreakSeekedOverEventArgs {}
2542 #[repr(transparent)]
2543 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2544 pub struct MediaBreakSkippedEventArgs(::windows::runtime::IInspectable);
2545 impl MediaBreakSkippedEventArgs {
MediaBreak(&self) -> ::windows::runtime::Result<MediaBreak>2546     pub fn MediaBreak(&self) -> ::windows::runtime::Result<MediaBreak> {
2547         let this = self;
2548         unsafe {
2549             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2550             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaBreak>(result__)
2551         }
2552     }
2553 }
2554 unsafe impl ::windows::runtime::RuntimeType for MediaBreakSkippedEventArgs {
2555     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaBreakSkippedEventArgs;{6ee94c05-2f54-4a3e-a3ab-24c3b270b4a3})");
2556 }
2557 unsafe impl ::windows::runtime::Interface for MediaBreakSkippedEventArgs {
2558     type Vtable = IMediaBreakSkippedEventArgs_abi;
2559     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1860783109, 12116, 19006, [163, 171, 36, 195, 178, 112, 180, 163]);
2560 }
2561 impl ::windows::runtime::RuntimeName for MediaBreakSkippedEventArgs {
2562     const NAME: &'static str = "Windows.Media.Playback.MediaBreakSkippedEventArgs";
2563 }
2564 impl ::std::convert::From<MediaBreakSkippedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaBreakSkippedEventArgs) -> Self2565     fn from(value: MediaBreakSkippedEventArgs) -> Self {
2566         unsafe { ::std::mem::transmute(value) }
2567     }
2568 }
2569 impl ::std::convert::From<&MediaBreakSkippedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaBreakSkippedEventArgs) -> Self2570     fn from(value: &MediaBreakSkippedEventArgs) -> Self {
2571         ::std::convert::From::from(::std::clone::Clone::clone(value))
2572     }
2573 }
2574 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaBreakSkippedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2575     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2576         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2577     }
2578 }
2579 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaBreakSkippedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2580     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2581         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2582     }
2583 }
2584 impl ::std::convert::From<MediaBreakSkippedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaBreakSkippedEventArgs) -> Self2585     fn from(value: MediaBreakSkippedEventArgs) -> Self {
2586         value.0
2587     }
2588 }
2589 impl ::std::convert::From<&MediaBreakSkippedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaBreakSkippedEventArgs) -> Self2590     fn from(value: &MediaBreakSkippedEventArgs) -> Self {
2591         value.0.clone()
2592     }
2593 }
2594 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaBreakSkippedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2595     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2596         ::windows::runtime::Param::Owned(self.0)
2597     }
2598 }
2599 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaBreakSkippedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2600     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2601         ::windows::runtime::Param::Borrowed(&self.0)
2602     }
2603 }
2604 unsafe impl ::std::marker::Send for MediaBreakSkippedEventArgs {}
2605 unsafe impl ::std::marker::Sync for MediaBreakSkippedEventArgs {}
2606 #[repr(transparent)]
2607 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2608 pub struct MediaBreakStartedEventArgs(::windows::runtime::IInspectable);
2609 impl MediaBreakStartedEventArgs {
MediaBreak(&self) -> ::windows::runtime::Result<MediaBreak>2610     pub fn MediaBreak(&self) -> ::windows::runtime::Result<MediaBreak> {
2611         let this = self;
2612         unsafe {
2613             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2614             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaBreak>(result__)
2615         }
2616     }
2617 }
2618 unsafe impl ::windows::runtime::RuntimeType for MediaBreakStartedEventArgs {
2619     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaBreakStartedEventArgs;{a87efe71-dfd4-454a-956e-0a4a648395f8})");
2620 }
2621 unsafe impl ::windows::runtime::Interface for MediaBreakStartedEventArgs {
2622     type Vtable = IMediaBreakStartedEventArgs_abi;
2623     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2826894961, 57300, 17738, [149, 110, 10, 74, 100, 131, 149, 248]);
2624 }
2625 impl ::windows::runtime::RuntimeName for MediaBreakStartedEventArgs {
2626     const NAME: &'static str = "Windows.Media.Playback.MediaBreakStartedEventArgs";
2627 }
2628 impl ::std::convert::From<MediaBreakStartedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaBreakStartedEventArgs) -> Self2629     fn from(value: MediaBreakStartedEventArgs) -> Self {
2630         unsafe { ::std::mem::transmute(value) }
2631     }
2632 }
2633 impl ::std::convert::From<&MediaBreakStartedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaBreakStartedEventArgs) -> Self2634     fn from(value: &MediaBreakStartedEventArgs) -> Self {
2635         ::std::convert::From::from(::std::clone::Clone::clone(value))
2636     }
2637 }
2638 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaBreakStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2639     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2640         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2641     }
2642 }
2643 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaBreakStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2644     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2645         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2646     }
2647 }
2648 impl ::std::convert::From<MediaBreakStartedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaBreakStartedEventArgs) -> Self2649     fn from(value: MediaBreakStartedEventArgs) -> Self {
2650         value.0
2651     }
2652 }
2653 impl ::std::convert::From<&MediaBreakStartedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaBreakStartedEventArgs) -> Self2654     fn from(value: &MediaBreakStartedEventArgs) -> Self {
2655         value.0.clone()
2656     }
2657 }
2658 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaBreakStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2659     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2660         ::windows::runtime::Param::Owned(self.0)
2661     }
2662 }
2663 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaBreakStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2664     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2665         ::windows::runtime::Param::Borrowed(&self.0)
2666     }
2667 }
2668 unsafe impl ::std::marker::Send for MediaBreakStartedEventArgs {}
2669 unsafe impl ::std::marker::Sync for MediaBreakStartedEventArgs {}
2670 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2671 #[repr(transparent)]
2672 pub struct MediaCommandEnablingRule(pub i32);
2673 impl MediaCommandEnablingRule {
2674     pub const Auto: MediaCommandEnablingRule = MediaCommandEnablingRule(0i32);
2675     pub const Always: MediaCommandEnablingRule = MediaCommandEnablingRule(1i32);
2676     pub const Never: MediaCommandEnablingRule = MediaCommandEnablingRule(2i32);
2677 }
2678 impl ::std::convert::From<i32> for MediaCommandEnablingRule {
from(value: i32) -> Self2679     fn from(value: i32) -> Self {
2680         Self(value)
2681     }
2682 }
2683 unsafe impl ::windows::runtime::Abi for MediaCommandEnablingRule {
2684     type Abi = Self;
2685     type DefaultType = Self;
2686 }
2687 unsafe impl ::windows::runtime::RuntimeType for MediaCommandEnablingRule {
2688     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.Playback.MediaCommandEnablingRule;i4)");
2689 }
2690 #[repr(transparent)]
2691 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2692 pub struct MediaItemDisplayProperties(::windows::runtime::IInspectable);
2693 impl MediaItemDisplayProperties {
Type(&self) -> ::windows::runtime::Result<super::MediaPlaybackType>2694     pub fn Type(&self) -> ::windows::runtime::Result<super::MediaPlaybackType> {
2695         let this = self;
2696         unsafe {
2697             let mut result__: super::MediaPlaybackType = ::std::mem::zeroed();
2698             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::MediaPlaybackType>(result__)
2699         }
2700     }
SetType(&self, value: super::MediaPlaybackType) -> ::windows::runtime::Result<()>2701     pub fn SetType(&self, value: super::MediaPlaybackType) -> ::windows::runtime::Result<()> {
2702         let this = self;
2703         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
2704     }
MusicProperties(&self) -> ::windows::runtime::Result<super::MusicDisplayProperties>2705     pub fn MusicProperties(&self) -> ::windows::runtime::Result<super::MusicDisplayProperties> {
2706         let this = self;
2707         unsafe {
2708             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2709             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::MusicDisplayProperties>(result__)
2710         }
2711     }
VideoProperties(&self) -> ::windows::runtime::Result<super::VideoDisplayProperties>2712     pub fn VideoProperties(&self) -> ::windows::runtime::Result<super::VideoDisplayProperties> {
2713         let this = self;
2714         unsafe {
2715             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2716             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::VideoDisplayProperties>(result__)
2717         }
2718     }
2719     #[cfg(feature = "Storage_Streams")]
Thumbnail(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::RandomAccessStreamReference>2720     pub fn Thumbnail(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::RandomAccessStreamReference> {
2721         let this = self;
2722         unsafe {
2723             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2724             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::RandomAccessStreamReference>(result__)
2725         }
2726     }
2727     #[cfg(feature = "Storage_Streams")]
SetThumbnail<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::RandomAccessStreamReference>>(&self, value: Param0) -> ::windows::runtime::Result<()>2728     pub fn SetThumbnail<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::RandomAccessStreamReference>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2729         let this = self;
2730         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2731     }
ClearAll(&self) -> ::windows::runtime::Result<()>2732     pub fn ClearAll(&self) -> ::windows::runtime::Result<()> {
2733         let this = self;
2734         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this)).ok() }
2735     }
2736 }
2737 unsafe impl ::windows::runtime::RuntimeType for MediaItemDisplayProperties {
2738     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaItemDisplayProperties;{1e3c1b48-7097-4384-a217-c1291dfa8c16})");
2739 }
2740 unsafe impl ::windows::runtime::Interface for MediaItemDisplayProperties {
2741     type Vtable = IMediaItemDisplayProperties_abi;
2742     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(507255624, 28823, 17284, [162, 23, 193, 41, 29, 250, 140, 22]);
2743 }
2744 impl ::windows::runtime::RuntimeName for MediaItemDisplayProperties {
2745     const NAME: &'static str = "Windows.Media.Playback.MediaItemDisplayProperties";
2746 }
2747 impl ::std::convert::From<MediaItemDisplayProperties> for ::windows::runtime::IUnknown {
from(value: MediaItemDisplayProperties) -> Self2748     fn from(value: MediaItemDisplayProperties) -> Self {
2749         unsafe { ::std::mem::transmute(value) }
2750     }
2751 }
2752 impl ::std::convert::From<&MediaItemDisplayProperties> for ::windows::runtime::IUnknown {
from(value: &MediaItemDisplayProperties) -> Self2753     fn from(value: &MediaItemDisplayProperties) -> Self {
2754         ::std::convert::From::from(::std::clone::Clone::clone(value))
2755     }
2756 }
2757 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaItemDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2758     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2759         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2760     }
2761 }
2762 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaItemDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2763     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2764         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2765     }
2766 }
2767 impl ::std::convert::From<MediaItemDisplayProperties> for ::windows::runtime::IInspectable {
from(value: MediaItemDisplayProperties) -> Self2768     fn from(value: MediaItemDisplayProperties) -> Self {
2769         value.0
2770     }
2771 }
2772 impl ::std::convert::From<&MediaItemDisplayProperties> for ::windows::runtime::IInspectable {
from(value: &MediaItemDisplayProperties) -> Self2773     fn from(value: &MediaItemDisplayProperties) -> Self {
2774         value.0.clone()
2775     }
2776 }
2777 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaItemDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2778     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2779         ::windows::runtime::Param::Owned(self.0)
2780     }
2781 }
2782 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaItemDisplayProperties {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2783     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2784         ::windows::runtime::Param::Borrowed(&self.0)
2785     }
2786 }
2787 unsafe impl ::std::marker::Send for MediaItemDisplayProperties {}
2788 unsafe impl ::std::marker::Sync for MediaItemDisplayProperties {}
2789 #[cfg(feature = "Foundation_Collections")]
2790 #[repr(transparent)]
2791 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2792 pub struct MediaPlaybackAudioTrackList(::windows::runtime::IInspectable);
2793 #[cfg(feature = "Foundation_Collections")]
2794 impl MediaPlaybackAudioTrackList {
2795     #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
GetAt(&self, index: u32) -> ::windows::runtime::Result<super::Core::AudioTrack>2796     pub fn GetAt(&self, index: u32) -> ::windows::runtime::Result<super::Core::AudioTrack> {
2797         let this = self;
2798         unsafe {
2799             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2800             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), index, &mut result__).from_abi::<super::Core::AudioTrack>(result__)
2801         }
2802     }
2803     #[cfg(feature = "Foundation_Collections")]
Size(&self) -> ::windows::runtime::Result<u32>2804     pub fn Size(&self) -> ::windows::runtime::Result<u32> {
2805         let this = self;
2806         unsafe {
2807             let mut result__: u32 = ::std::mem::zeroed();
2808             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
2809         }
2810     }
2811     #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
IndexOf<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::AudioTrack>>(&self, value: Param0, index: &mut u32) -> ::windows::runtime::Result<bool>2812     pub fn IndexOf<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::AudioTrack>>(&self, value: Param0, index: &mut u32) -> ::windows::runtime::Result<bool> {
2813         let this = self;
2814         unsafe {
2815             let mut result__: bool = ::std::mem::zeroed();
2816             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi(), index, &mut result__).from_abi::<bool>(result__)
2817         }
2818     }
2819     #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
GetMany(&self, startindex: u32, items: &mut [<super::Core::AudioTrack as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32>2820     pub fn GetMany(&self, startindex: u32, items: &mut [<super::Core::AudioTrack as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32> {
2821         let this = self;
2822         unsafe {
2823             let mut result__: u32 = ::std::mem::zeroed();
2824             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), startindex, items.len() as u32, ::std::mem::transmute_copy(&items), &mut result__).from_abi::<u32>(result__)
2825         }
2826     }
2827     #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<super::Core::AudioTrack>>2828     pub fn First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<super::Core::AudioTrack>> {
2829         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IIterable<super::Core::AudioTrack>>(self)?;
2830         unsafe {
2831             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2832             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IIterator<super::Core::AudioTrack>>(result__)
2833         }
2834     }
2835     #[cfg(all(feature = "Foundation", feature = "Media_Core"))]
SelectedIndexChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<super::Core::ISingleSelectMediaTrackList, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>2836     pub fn SelectedIndexChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<super::Core::ISingleSelectMediaTrackList, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
2837         let this = &::windows::runtime::Interface::cast::<super::Core::ISingleSelectMediaTrackList>(self)?;
2838         unsafe {
2839             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
2840             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
2841         }
2842     }
2843     #[cfg(all(feature = "Foundation", feature = "Media_Core"))]
RemoveSelectedIndexChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>2844     pub fn RemoveSelectedIndexChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
2845         let this = &::windows::runtime::Interface::cast::<super::Core::ISingleSelectMediaTrackList>(self)?;
2846         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
2847     }
2848     #[cfg(feature = "Media_Core")]
SetSelectedIndex(&self, value: i32) -> ::windows::runtime::Result<()>2849     pub fn SetSelectedIndex(&self, value: i32) -> ::windows::runtime::Result<()> {
2850         let this = &::windows::runtime::Interface::cast::<super::Core::ISingleSelectMediaTrackList>(self)?;
2851         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() }
2852     }
2853     #[cfg(feature = "Media_Core")]
SelectedIndex(&self) -> ::windows::runtime::Result<i32>2854     pub fn SelectedIndex(&self) -> ::windows::runtime::Result<i32> {
2855         let this = &::windows::runtime::Interface::cast::<super::Core::ISingleSelectMediaTrackList>(self)?;
2856         unsafe {
2857             let mut result__: i32 = ::std::mem::zeroed();
2858             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
2859         }
2860     }
2861 }
2862 #[cfg(feature = "Foundation_Collections")]
2863 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackAudioTrackList {
2864     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackAudioTrackList;pinterface({bbe1fa4c-b0e3-4583-baef-1f1b2e483e56};rc(Windows.Media.Core.AudioTrack;{03e1fafc-c931-491a-b46b-c10ee8c256b7})))");
2865 }
2866 #[cfg(feature = "Foundation_Collections")]
2867 unsafe impl ::windows::runtime::Interface for MediaPlaybackAudioTrackList {
2868     type Vtable = super::super::Foundation::Collections::IVectorView_abi<super::Core::AudioTrack>;
2869     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_signature(<super::super::Foundation::Collections::IVectorView<super::Core::AudioTrack> as ::windows::runtime::RuntimeType>::SIGNATURE);
2870 }
2871 #[cfg(feature = "Foundation_Collections")]
2872 impl ::windows::runtime::RuntimeName for MediaPlaybackAudioTrackList {
2873     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackAudioTrackList";
2874 }
2875 #[cfg(feature = "Foundation_Collections")]
2876 impl ::std::convert::From<MediaPlaybackAudioTrackList> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackAudioTrackList) -> Self2877     fn from(value: MediaPlaybackAudioTrackList) -> Self {
2878         unsafe { ::std::mem::transmute(value) }
2879     }
2880 }
2881 #[cfg(feature = "Foundation_Collections")]
2882 impl ::std::convert::From<&MediaPlaybackAudioTrackList> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackAudioTrackList) -> Self2883     fn from(value: &MediaPlaybackAudioTrackList) -> Self {
2884         ::std::convert::From::from(::std::clone::Clone::clone(value))
2885     }
2886 }
2887 #[cfg(feature = "Foundation_Collections")]
2888 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackAudioTrackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2889     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2890         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2891     }
2892 }
2893 #[cfg(feature = "Foundation_Collections")]
2894 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackAudioTrackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2895     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2896         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2897     }
2898 }
2899 #[cfg(feature = "Foundation_Collections")]
2900 impl ::std::convert::From<MediaPlaybackAudioTrackList> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackAudioTrackList) -> Self2901     fn from(value: MediaPlaybackAudioTrackList) -> Self {
2902         value.0
2903     }
2904 }
2905 #[cfg(feature = "Foundation_Collections")]
2906 impl ::std::convert::From<&MediaPlaybackAudioTrackList> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackAudioTrackList) -> Self2907     fn from(value: &MediaPlaybackAudioTrackList) -> Self {
2908         value.0.clone()
2909     }
2910 }
2911 #[cfg(feature = "Foundation_Collections")]
2912 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackAudioTrackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2913     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2914         ::windows::runtime::Param::Owned(self.0)
2915     }
2916 }
2917 #[cfg(feature = "Foundation_Collections")]
2918 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackAudioTrackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2919     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2920         ::windows::runtime::Param::Borrowed(&self.0)
2921     }
2922 }
2923 #[cfg(feature = "Foundation_Collections")]
2924 impl ::std::convert::From<MediaPlaybackAudioTrackList> for super::super::Foundation::Collections::IVectorView<super::Core::AudioTrack> {
from(value: MediaPlaybackAudioTrackList) -> Self2925     fn from(value: MediaPlaybackAudioTrackList) -> Self {
2926         unsafe { ::std::mem::transmute(value) }
2927     }
2928 }
2929 #[cfg(feature = "Foundation_Collections")]
2930 impl ::std::convert::From<&MediaPlaybackAudioTrackList> for super::super::Foundation::Collections::IVectorView<super::Core::AudioTrack> {
from(value: &MediaPlaybackAudioTrackList) -> Self2931     fn from(value: &MediaPlaybackAudioTrackList) -> Self {
2932         ::std::convert::From::from(::std::clone::Clone::clone(value))
2933     }
2934 }
2935 #[cfg(feature = "Foundation_Collections")]
2936 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IVectorView<super::Core::AudioTrack>> for MediaPlaybackAudioTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVectorView<super::Core::AudioTrack>>2937     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVectorView<super::Core::AudioTrack>> {
2938         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::Foundation::Collections::IVectorView<super::Core::AudioTrack>>::into(self))
2939     }
2940 }
2941 #[cfg(feature = "Foundation_Collections")]
2942 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IVectorView<super::Core::AudioTrack>> for &MediaPlaybackAudioTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVectorView<super::Core::AudioTrack>>2943     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVectorView<super::Core::AudioTrack>> {
2944         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::Foundation::Collections::IVectorView<super::Core::AudioTrack>>::into(::std::clone::Clone::clone(self)))
2945     }
2946 }
2947 #[cfg(feature = "Foundation_Collections")]
2948 impl ::std::convert::TryFrom<MediaPlaybackAudioTrackList> for super::super::Foundation::Collections::IIterable<super::Core::AudioTrack> {
2949     type Error = ::windows::runtime::Error;
try_from(value: MediaPlaybackAudioTrackList) -> ::windows::runtime::Result<Self>2950     fn try_from(value: MediaPlaybackAudioTrackList) -> ::windows::runtime::Result<Self> {
2951         ::std::convert::TryFrom::try_from(&value)
2952     }
2953 }
2954 #[cfg(feature = "Foundation_Collections")]
2955 impl ::std::convert::TryFrom<&MediaPlaybackAudioTrackList> for super::super::Foundation::Collections::IIterable<super::Core::AudioTrack> {
2956     type Error = ::windows::runtime::Error;
try_from(value: &MediaPlaybackAudioTrackList) -> ::windows::runtime::Result<Self>2957     fn try_from(value: &MediaPlaybackAudioTrackList) -> ::windows::runtime::Result<Self> {
2958         ::windows::runtime::Interface::cast(value)
2959     }
2960 }
2961 #[cfg(feature = "Foundation_Collections")]
2962 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::Core::AudioTrack>> for MediaPlaybackAudioTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::Core::AudioTrack>>2963     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::Core::AudioTrack>> {
2964         ::windows::runtime::IntoParam::into_param(&self)
2965     }
2966 }
2967 #[cfg(feature = "Foundation_Collections")]
2968 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::Core::AudioTrack>> for &MediaPlaybackAudioTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::Core::AudioTrack>>2969     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::Core::AudioTrack>> {
2970         ::std::convert::TryInto::<super::super::Foundation::Collections::IIterable<super::Core::AudioTrack>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2971     }
2972 }
2973 #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
2974 impl ::std::convert::TryFrom<MediaPlaybackAudioTrackList> for super::Core::ISingleSelectMediaTrackList {
2975     type Error = ::windows::runtime::Error;
try_from(value: MediaPlaybackAudioTrackList) -> ::windows::runtime::Result<Self>2976     fn try_from(value: MediaPlaybackAudioTrackList) -> ::windows::runtime::Result<Self> {
2977         ::std::convert::TryFrom::try_from(&value)
2978     }
2979 }
2980 #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
2981 impl ::std::convert::TryFrom<&MediaPlaybackAudioTrackList> for super::Core::ISingleSelectMediaTrackList {
2982     type Error = ::windows::runtime::Error;
try_from(value: &MediaPlaybackAudioTrackList) -> ::windows::runtime::Result<Self>2983     fn try_from(value: &MediaPlaybackAudioTrackList) -> ::windows::runtime::Result<Self> {
2984         ::windows::runtime::Interface::cast(value)
2985     }
2986 }
2987 #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
2988 impl<'a> ::windows::runtime::IntoParam<'a, super::Core::ISingleSelectMediaTrackList> for MediaPlaybackAudioTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::Core::ISingleSelectMediaTrackList>2989     fn into_param(self) -> ::windows::runtime::Param<'a, super::Core::ISingleSelectMediaTrackList> {
2990         ::windows::runtime::IntoParam::into_param(&self)
2991     }
2992 }
2993 #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
2994 impl<'a> ::windows::runtime::IntoParam<'a, super::Core::ISingleSelectMediaTrackList> for &MediaPlaybackAudioTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::Core::ISingleSelectMediaTrackList>2995     fn into_param(self) -> ::windows::runtime::Param<'a, super::Core::ISingleSelectMediaTrackList> {
2996         ::std::convert::TryInto::<super::Core::ISingleSelectMediaTrackList>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
2997     }
2998 }
2999 #[cfg(feature = "Foundation_Collections")]
3000 unsafe impl ::std::marker::Send for MediaPlaybackAudioTrackList {}
3001 #[cfg(feature = "Foundation_Collections")]
3002 unsafe impl ::std::marker::Sync for MediaPlaybackAudioTrackList {}
3003 #[cfg(all(feature = "Foundation_Collections"))]
3004 impl ::std::iter::IntoIterator for MediaPlaybackAudioTrackList {
3005     type Item = super::Core::AudioTrack;
3006     type IntoIter = super::super::Foundation::Collections::VectorViewIterator<Self::Item>;
into_iter(self) -> Self::IntoIter3007     fn into_iter(self) -> Self::IntoIter {
3008         ::std::iter::IntoIterator::into_iter(&self)
3009     }
3010 }
3011 #[cfg(all(feature = "Foundation_Collections"))]
3012 impl ::std::iter::IntoIterator for &MediaPlaybackAudioTrackList {
3013     type Item = super::Core::AudioTrack;
3014     type IntoIter = super::super::Foundation::Collections::VectorViewIterator<Self::Item>;
into_iter(self) -> Self::IntoIter3015     fn into_iter(self) -> Self::IntoIter {
3016         super::super::Foundation::Collections::VectorViewIterator::new(::std::convert::TryInto::try_into(self).ok())
3017     }
3018 }
3019 #[repr(transparent)]
3020 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3021 pub struct MediaPlaybackCommandManager(::windows::runtime::IInspectable);
3022 impl MediaPlaybackCommandManager {
IsEnabled(&self) -> ::windows::runtime::Result<bool>3023     pub fn IsEnabled(&self) -> ::windows::runtime::Result<bool> {
3024         let this = self;
3025         unsafe {
3026             let mut result__: bool = ::std::mem::zeroed();
3027             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3028         }
3029     }
SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()>3030     pub fn SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
3031         let this = self;
3032         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3033     }
MediaPlayer(&self) -> ::windows::runtime::Result<MediaPlayer>3034     pub fn MediaPlayer(&self) -> ::windows::runtime::Result<MediaPlayer> {
3035         let this = self;
3036         unsafe {
3037             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3038             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlayer>(result__)
3039         }
3040     }
PlayBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior>3041     pub fn PlayBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior> {
3042         let this = self;
3043         unsafe {
3044             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3045             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackCommandManagerCommandBehavior>(result__)
3046         }
3047     }
PauseBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior>3048     pub fn PauseBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior> {
3049         let this = self;
3050         unsafe {
3051             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3052             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackCommandManagerCommandBehavior>(result__)
3053         }
3054     }
NextBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior>3055     pub fn NextBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior> {
3056         let this = self;
3057         unsafe {
3058             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3059             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackCommandManagerCommandBehavior>(result__)
3060         }
3061     }
PreviousBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior>3062     pub fn PreviousBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior> {
3063         let this = self;
3064         unsafe {
3065             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3066             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackCommandManagerCommandBehavior>(result__)
3067         }
3068     }
FastForwardBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior>3069     pub fn FastForwardBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior> {
3070         let this = self;
3071         unsafe {
3072             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3073             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackCommandManagerCommandBehavior>(result__)
3074         }
3075     }
RewindBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior>3076     pub fn RewindBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior> {
3077         let this = self;
3078         unsafe {
3079             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3080             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackCommandManagerCommandBehavior>(result__)
3081         }
3082     }
ShuffleBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior>3083     pub fn ShuffleBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior> {
3084         let this = self;
3085         unsafe {
3086             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3087             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackCommandManagerCommandBehavior>(result__)
3088         }
3089     }
AutoRepeatModeBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior>3090     pub fn AutoRepeatModeBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior> {
3091         let this = self;
3092         unsafe {
3093             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3094             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackCommandManagerCommandBehavior>(result__)
3095         }
3096     }
PositionBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior>3097     pub fn PositionBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior> {
3098         let this = self;
3099         unsafe {
3100             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3101             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackCommandManagerCommandBehavior>(result__)
3102         }
3103     }
RateBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior>3104     pub fn RateBehavior(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManagerCommandBehavior> {
3105         let this = self;
3106         unsafe {
3107             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3108             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackCommandManagerCommandBehavior>(result__)
3109         }
3110     }
3111     #[cfg(feature = "Foundation")]
PlayReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerPlayReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>3112     pub fn PlayReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerPlayReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
3113         let this = self;
3114         unsafe {
3115             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3116             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
3117         }
3118     }
3119     #[cfg(feature = "Foundation")]
RemovePlayReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3120     pub fn RemovePlayReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3121         let this = self;
3122         unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3123     }
3124     #[cfg(feature = "Foundation")]
PauseReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerPauseReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>3125     pub fn PauseReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerPauseReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
3126         let this = self;
3127         unsafe {
3128             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3129             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
3130         }
3131     }
3132     #[cfg(feature = "Foundation")]
RemovePauseReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3133     pub fn RemovePauseReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3134         let this = self;
3135         unsafe { (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3136     }
3137     #[cfg(feature = "Foundation")]
NextReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerNextReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>3138     pub fn NextReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerNextReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
3139         let this = self;
3140         unsafe {
3141             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3142             (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
3143         }
3144     }
3145     #[cfg(feature = "Foundation")]
RemoveNextReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3146     pub fn RemoveNextReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3147         let this = self;
3148         unsafe { (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3149     }
3150     #[cfg(feature = "Foundation")]
PreviousReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerPreviousReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>3151     pub fn PreviousReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerPreviousReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
3152         let this = self;
3153         unsafe {
3154             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3155             (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
3156         }
3157     }
3158     #[cfg(feature = "Foundation")]
RemovePreviousReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3159     pub fn RemovePreviousReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3160         let this = self;
3161         unsafe { (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3162     }
3163     #[cfg(feature = "Foundation")]
FastForwardReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerFastForwardReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>3164     pub fn FastForwardReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerFastForwardReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
3165         let this = self;
3166         unsafe {
3167             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3168             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
3169         }
3170     }
3171     #[cfg(feature = "Foundation")]
RemoveFastForwardReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3172     pub fn RemoveFastForwardReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3173         let this = self;
3174         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3175     }
3176     #[cfg(feature = "Foundation")]
RewindReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerRewindReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>3177     pub fn RewindReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerRewindReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
3178         let this = self;
3179         unsafe {
3180             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3181             (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
3182         }
3183     }
3184     #[cfg(feature = "Foundation")]
RemoveRewindReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3185     pub fn RemoveRewindReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3186         let this = self;
3187         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3188     }
3189     #[cfg(feature = "Foundation")]
ShuffleReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerShuffleReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>3190     pub fn ShuffleReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerShuffleReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
3191         let this = self;
3192         unsafe {
3193             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3194             (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
3195         }
3196     }
3197     #[cfg(feature = "Foundation")]
RemoveShuffleReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3198     pub fn RemoveShuffleReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3199         let this = self;
3200         unsafe { (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3201     }
3202     #[cfg(feature = "Foundation")]
AutoRepeatModeReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>3203     pub fn AutoRepeatModeReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
3204         let this = self;
3205         unsafe {
3206             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3207             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
3208         }
3209     }
3210     #[cfg(feature = "Foundation")]
RemoveAutoRepeatModeReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3211     pub fn RemoveAutoRepeatModeReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3212         let this = self;
3213         unsafe { (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3214     }
3215     #[cfg(feature = "Foundation")]
PositionReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerPositionReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>3216     pub fn PositionReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerPositionReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
3217         let this = self;
3218         unsafe {
3219             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3220             (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
3221         }
3222     }
3223     #[cfg(feature = "Foundation")]
RemovePositionReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3224     pub fn RemovePositionReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3225         let this = self;
3226         unsafe { (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3227     }
3228     #[cfg(feature = "Foundation")]
RateReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerRateReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>3229     pub fn RateReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManager, MediaPlaybackCommandManagerRateReceivedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
3230         let this = self;
3231         unsafe {
3232             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3233             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
3234         }
3235     }
3236     #[cfg(feature = "Foundation")]
RemoveRateReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3237     pub fn RemoveRateReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3238         let this = self;
3239         unsafe { (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3240     }
3241 }
3242 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackCommandManager {
3243     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackCommandManager;{5acee5a6-5cb6-4a5a-8521-cc86b1c1ed37})");
3244 }
3245 unsafe impl ::windows::runtime::Interface for MediaPlaybackCommandManager {
3246     type Vtable = IMediaPlaybackCommandManager_abi;
3247     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1523508646, 23734, 19034, [133, 33, 204, 134, 177, 193, 237, 55]);
3248 }
3249 impl ::windows::runtime::RuntimeName for MediaPlaybackCommandManager {
3250     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackCommandManager";
3251 }
3252 impl ::std::convert::From<MediaPlaybackCommandManager> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackCommandManager) -> Self3253     fn from(value: MediaPlaybackCommandManager) -> Self {
3254         unsafe { ::std::mem::transmute(value) }
3255     }
3256 }
3257 impl ::std::convert::From<&MediaPlaybackCommandManager> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackCommandManager) -> Self3258     fn from(value: &MediaPlaybackCommandManager) -> Self {
3259         ::std::convert::From::from(::std::clone::Clone::clone(value))
3260     }
3261 }
3262 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackCommandManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3263     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3264         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3265     }
3266 }
3267 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackCommandManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3268     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3269         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3270     }
3271 }
3272 impl ::std::convert::From<MediaPlaybackCommandManager> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackCommandManager) -> Self3273     fn from(value: MediaPlaybackCommandManager) -> Self {
3274         value.0
3275     }
3276 }
3277 impl ::std::convert::From<&MediaPlaybackCommandManager> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackCommandManager) -> Self3278     fn from(value: &MediaPlaybackCommandManager) -> Self {
3279         value.0.clone()
3280     }
3281 }
3282 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackCommandManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3283     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3284         ::windows::runtime::Param::Owned(self.0)
3285     }
3286 }
3287 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackCommandManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3288     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3289         ::windows::runtime::Param::Borrowed(&self.0)
3290     }
3291 }
3292 unsafe impl ::std::marker::Send for MediaPlaybackCommandManager {}
3293 unsafe impl ::std::marker::Sync for MediaPlaybackCommandManager {}
3294 #[repr(transparent)]
3295 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3296 pub struct MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs(::windows::runtime::IInspectable);
3297 impl MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs {
Handled(&self) -> ::windows::runtime::Result<bool>3298     pub fn Handled(&self) -> ::windows::runtime::Result<bool> {
3299         let this = self;
3300         unsafe {
3301             let mut result__: bool = ::std::mem::zeroed();
3302             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3303         }
3304     }
SetHandled(&self, value: bool) -> ::windows::runtime::Result<()>3305     pub fn SetHandled(&self, value: bool) -> ::windows::runtime::Result<()> {
3306         let this = self;
3307         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3308     }
AutoRepeatMode(&self) -> ::windows::runtime::Result<super::MediaPlaybackAutoRepeatMode>3309     pub fn AutoRepeatMode(&self) -> ::windows::runtime::Result<super::MediaPlaybackAutoRepeatMode> {
3310         let this = self;
3311         unsafe {
3312             let mut result__: super::MediaPlaybackAutoRepeatMode = ::std::mem::zeroed();
3313             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::MediaPlaybackAutoRepeatMode>(result__)
3314         }
3315     }
3316     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral>3317     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral> {
3318         let this = self;
3319         unsafe {
3320             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3321             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Deferral>(result__)
3322         }
3323     }
3324 }
3325 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs {
3326     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs;{3d6f4f23-5230-4411-a0e9-bad94c2a045c})");
3327 }
3328 unsafe impl ::windows::runtime::Interface for MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs {
3329     type Vtable = IMediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs_abi;
3330     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1030704931, 21040, 17425, [160, 233, 186, 217, 76, 42, 4, 92]);
3331 }
3332 impl ::windows::runtime::RuntimeName for MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs {
3333     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs";
3334 }
3335 impl ::std::convert::From<MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs) -> Self3336     fn from(value: MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs) -> Self {
3337         unsafe { ::std::mem::transmute(value) }
3338     }
3339 }
3340 impl ::std::convert::From<&MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs) -> Self3341     fn from(value: &MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs) -> Self {
3342         ::std::convert::From::from(::std::clone::Clone::clone(value))
3343     }
3344 }
3345 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3346     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3347         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3348     }
3349 }
3350 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3351     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3352         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3353     }
3354 }
3355 impl ::std::convert::From<MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs) -> Self3356     fn from(value: MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs) -> Self {
3357         value.0
3358     }
3359 }
3360 impl ::std::convert::From<&MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs) -> Self3361     fn from(value: &MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs) -> Self {
3362         value.0.clone()
3363     }
3364 }
3365 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3366     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3367         ::windows::runtime::Param::Owned(self.0)
3368     }
3369 }
3370 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3371     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3372         ::windows::runtime::Param::Borrowed(&self.0)
3373     }
3374 }
3375 unsafe impl ::std::marker::Send for MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs {}
3376 unsafe impl ::std::marker::Sync for MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs {}
3377 #[repr(transparent)]
3378 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3379 pub struct MediaPlaybackCommandManagerCommandBehavior(::windows::runtime::IInspectable);
3380 impl MediaPlaybackCommandManagerCommandBehavior {
CommandManager(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManager>3381     pub fn CommandManager(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManager> {
3382         let this = self;
3383         unsafe {
3384             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3385             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackCommandManager>(result__)
3386         }
3387     }
IsEnabled(&self) -> ::windows::runtime::Result<bool>3388     pub fn IsEnabled(&self) -> ::windows::runtime::Result<bool> {
3389         let this = self;
3390         unsafe {
3391             let mut result__: bool = ::std::mem::zeroed();
3392             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3393         }
3394     }
EnablingRule(&self) -> ::windows::runtime::Result<MediaCommandEnablingRule>3395     pub fn EnablingRule(&self) -> ::windows::runtime::Result<MediaCommandEnablingRule> {
3396         let this = self;
3397         unsafe {
3398             let mut result__: MediaCommandEnablingRule = ::std::mem::zeroed();
3399             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaCommandEnablingRule>(result__)
3400         }
3401     }
SetEnablingRule(&self, value: MediaCommandEnablingRule) -> ::windows::runtime::Result<()>3402     pub fn SetEnablingRule(&self, value: MediaCommandEnablingRule) -> ::windows::runtime::Result<()> {
3403         let this = self;
3404         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
3405     }
3406     #[cfg(feature = "Foundation")]
IsEnabledChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManagerCommandBehavior, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>3407     pub fn IsEnabledChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackCommandManagerCommandBehavior, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
3408         let this = self;
3409         unsafe {
3410             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
3411             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
3412         }
3413     }
3414     #[cfg(feature = "Foundation")]
RemoveIsEnabledChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>3415     pub fn RemoveIsEnabledChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
3416         let this = self;
3417         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
3418     }
3419 }
3420 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackCommandManagerCommandBehavior {
3421     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackCommandManagerCommandBehavior;{786c1e78-ce78-4a10-afd6-843fcbb90c2e})");
3422 }
3423 unsafe impl ::windows::runtime::Interface for MediaPlaybackCommandManagerCommandBehavior {
3424     type Vtable = IMediaPlaybackCommandManagerCommandBehavior_abi;
3425     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2020351608, 52856, 18960, [175, 214, 132, 63, 203, 185, 12, 46]);
3426 }
3427 impl ::windows::runtime::RuntimeName for MediaPlaybackCommandManagerCommandBehavior {
3428     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackCommandManagerCommandBehavior";
3429 }
3430 impl ::std::convert::From<MediaPlaybackCommandManagerCommandBehavior> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackCommandManagerCommandBehavior) -> Self3431     fn from(value: MediaPlaybackCommandManagerCommandBehavior) -> Self {
3432         unsafe { ::std::mem::transmute(value) }
3433     }
3434 }
3435 impl ::std::convert::From<&MediaPlaybackCommandManagerCommandBehavior> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackCommandManagerCommandBehavior) -> Self3436     fn from(value: &MediaPlaybackCommandManagerCommandBehavior) -> Self {
3437         ::std::convert::From::from(::std::clone::Clone::clone(value))
3438     }
3439 }
3440 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackCommandManagerCommandBehavior {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3441     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3442         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3443     }
3444 }
3445 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackCommandManagerCommandBehavior {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3446     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3447         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3448     }
3449 }
3450 impl ::std::convert::From<MediaPlaybackCommandManagerCommandBehavior> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackCommandManagerCommandBehavior) -> Self3451     fn from(value: MediaPlaybackCommandManagerCommandBehavior) -> Self {
3452         value.0
3453     }
3454 }
3455 impl ::std::convert::From<&MediaPlaybackCommandManagerCommandBehavior> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackCommandManagerCommandBehavior) -> Self3456     fn from(value: &MediaPlaybackCommandManagerCommandBehavior) -> Self {
3457         value.0.clone()
3458     }
3459 }
3460 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackCommandManagerCommandBehavior {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3461     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3462         ::windows::runtime::Param::Owned(self.0)
3463     }
3464 }
3465 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackCommandManagerCommandBehavior {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3466     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3467         ::windows::runtime::Param::Borrowed(&self.0)
3468     }
3469 }
3470 unsafe impl ::std::marker::Send for MediaPlaybackCommandManagerCommandBehavior {}
3471 unsafe impl ::std::marker::Sync for MediaPlaybackCommandManagerCommandBehavior {}
3472 #[repr(transparent)]
3473 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3474 pub struct MediaPlaybackCommandManagerFastForwardReceivedEventArgs(::windows::runtime::IInspectable);
3475 impl MediaPlaybackCommandManagerFastForwardReceivedEventArgs {
Handled(&self) -> ::windows::runtime::Result<bool>3476     pub fn Handled(&self) -> ::windows::runtime::Result<bool> {
3477         let this = self;
3478         unsafe {
3479             let mut result__: bool = ::std::mem::zeroed();
3480             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3481         }
3482     }
SetHandled(&self, value: bool) -> ::windows::runtime::Result<()>3483     pub fn SetHandled(&self, value: bool) -> ::windows::runtime::Result<()> {
3484         let this = self;
3485         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3486     }
3487     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral>3488     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral> {
3489         let this = self;
3490         unsafe {
3491             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3492             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Deferral>(result__)
3493         }
3494     }
3495 }
3496 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackCommandManagerFastForwardReceivedEventArgs {
3497     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackCommandManagerFastForwardReceivedEventArgs;{30f064d9-b491-4d0a-bc21-3098bd1332e9})");
3498 }
3499 unsafe impl ::windows::runtime::Interface for MediaPlaybackCommandManagerFastForwardReceivedEventArgs {
3500     type Vtable = IMediaPlaybackCommandManagerFastForwardReceivedEventArgs_abi;
3501     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(821060825, 46225, 19722, [188, 33, 48, 152, 189, 19, 50, 233]);
3502 }
3503 impl ::windows::runtime::RuntimeName for MediaPlaybackCommandManagerFastForwardReceivedEventArgs {
3504     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackCommandManagerFastForwardReceivedEventArgs";
3505 }
3506 impl ::std::convert::From<MediaPlaybackCommandManagerFastForwardReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackCommandManagerFastForwardReceivedEventArgs) -> Self3507     fn from(value: MediaPlaybackCommandManagerFastForwardReceivedEventArgs) -> Self {
3508         unsafe { ::std::mem::transmute(value) }
3509     }
3510 }
3511 impl ::std::convert::From<&MediaPlaybackCommandManagerFastForwardReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackCommandManagerFastForwardReceivedEventArgs) -> Self3512     fn from(value: &MediaPlaybackCommandManagerFastForwardReceivedEventArgs) -> Self {
3513         ::std::convert::From::from(::std::clone::Clone::clone(value))
3514     }
3515 }
3516 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackCommandManagerFastForwardReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3517     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3518         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3519     }
3520 }
3521 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackCommandManagerFastForwardReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3522     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3523         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3524     }
3525 }
3526 impl ::std::convert::From<MediaPlaybackCommandManagerFastForwardReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackCommandManagerFastForwardReceivedEventArgs) -> Self3527     fn from(value: MediaPlaybackCommandManagerFastForwardReceivedEventArgs) -> Self {
3528         value.0
3529     }
3530 }
3531 impl ::std::convert::From<&MediaPlaybackCommandManagerFastForwardReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackCommandManagerFastForwardReceivedEventArgs) -> Self3532     fn from(value: &MediaPlaybackCommandManagerFastForwardReceivedEventArgs) -> Self {
3533         value.0.clone()
3534     }
3535 }
3536 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackCommandManagerFastForwardReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3537     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3538         ::windows::runtime::Param::Owned(self.0)
3539     }
3540 }
3541 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackCommandManagerFastForwardReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3542     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3543         ::windows::runtime::Param::Borrowed(&self.0)
3544     }
3545 }
3546 unsafe impl ::std::marker::Send for MediaPlaybackCommandManagerFastForwardReceivedEventArgs {}
3547 unsafe impl ::std::marker::Sync for MediaPlaybackCommandManagerFastForwardReceivedEventArgs {}
3548 #[repr(transparent)]
3549 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3550 pub struct MediaPlaybackCommandManagerNextReceivedEventArgs(::windows::runtime::IInspectable);
3551 impl MediaPlaybackCommandManagerNextReceivedEventArgs {
Handled(&self) -> ::windows::runtime::Result<bool>3552     pub fn Handled(&self) -> ::windows::runtime::Result<bool> {
3553         let this = self;
3554         unsafe {
3555             let mut result__: bool = ::std::mem::zeroed();
3556             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3557         }
3558     }
SetHandled(&self, value: bool) -> ::windows::runtime::Result<()>3559     pub fn SetHandled(&self, value: bool) -> ::windows::runtime::Result<()> {
3560         let this = self;
3561         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3562     }
3563     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral>3564     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral> {
3565         let this = self;
3566         unsafe {
3567             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3568             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Deferral>(result__)
3569         }
3570     }
3571 }
3572 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackCommandManagerNextReceivedEventArgs {
3573     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackCommandManagerNextReceivedEventArgs;{e1504433-a2b0-45d4-b9de-5f42ac14a839})");
3574 }
3575 unsafe impl ::windows::runtime::Interface for MediaPlaybackCommandManagerNextReceivedEventArgs {
3576     type Vtable = IMediaPlaybackCommandManagerNextReceivedEventArgs_abi;
3577     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3780133939, 41648, 17876, [185, 222, 95, 66, 172, 20, 168, 57]);
3578 }
3579 impl ::windows::runtime::RuntimeName for MediaPlaybackCommandManagerNextReceivedEventArgs {
3580     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackCommandManagerNextReceivedEventArgs";
3581 }
3582 impl ::std::convert::From<MediaPlaybackCommandManagerNextReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackCommandManagerNextReceivedEventArgs) -> Self3583     fn from(value: MediaPlaybackCommandManagerNextReceivedEventArgs) -> Self {
3584         unsafe { ::std::mem::transmute(value) }
3585     }
3586 }
3587 impl ::std::convert::From<&MediaPlaybackCommandManagerNextReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackCommandManagerNextReceivedEventArgs) -> Self3588     fn from(value: &MediaPlaybackCommandManagerNextReceivedEventArgs) -> Self {
3589         ::std::convert::From::from(::std::clone::Clone::clone(value))
3590     }
3591 }
3592 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackCommandManagerNextReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3593     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3594         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3595     }
3596 }
3597 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackCommandManagerNextReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3598     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3599         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3600     }
3601 }
3602 impl ::std::convert::From<MediaPlaybackCommandManagerNextReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackCommandManagerNextReceivedEventArgs) -> Self3603     fn from(value: MediaPlaybackCommandManagerNextReceivedEventArgs) -> Self {
3604         value.0
3605     }
3606 }
3607 impl ::std::convert::From<&MediaPlaybackCommandManagerNextReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackCommandManagerNextReceivedEventArgs) -> Self3608     fn from(value: &MediaPlaybackCommandManagerNextReceivedEventArgs) -> Self {
3609         value.0.clone()
3610     }
3611 }
3612 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackCommandManagerNextReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3613     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3614         ::windows::runtime::Param::Owned(self.0)
3615     }
3616 }
3617 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackCommandManagerNextReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3618     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3619         ::windows::runtime::Param::Borrowed(&self.0)
3620     }
3621 }
3622 unsafe impl ::std::marker::Send for MediaPlaybackCommandManagerNextReceivedEventArgs {}
3623 unsafe impl ::std::marker::Sync for MediaPlaybackCommandManagerNextReceivedEventArgs {}
3624 #[repr(transparent)]
3625 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3626 pub struct MediaPlaybackCommandManagerPauseReceivedEventArgs(::windows::runtime::IInspectable);
3627 impl MediaPlaybackCommandManagerPauseReceivedEventArgs {
Handled(&self) -> ::windows::runtime::Result<bool>3628     pub fn Handled(&self) -> ::windows::runtime::Result<bool> {
3629         let this = self;
3630         unsafe {
3631             let mut result__: bool = ::std::mem::zeroed();
3632             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3633         }
3634     }
SetHandled(&self, value: bool) -> ::windows::runtime::Result<()>3635     pub fn SetHandled(&self, value: bool) -> ::windows::runtime::Result<()> {
3636         let this = self;
3637         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3638     }
3639     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral>3640     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral> {
3641         let this = self;
3642         unsafe {
3643             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3644             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Deferral>(result__)
3645         }
3646     }
3647 }
3648 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackCommandManagerPauseReceivedEventArgs {
3649     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackCommandManagerPauseReceivedEventArgs;{5ceccd1c-c25c-4221-b16c-c3c98ce012d6})");
3650 }
3651 unsafe impl ::windows::runtime::Interface for MediaPlaybackCommandManagerPauseReceivedEventArgs {
3652     type Vtable = IMediaPlaybackCommandManagerPauseReceivedEventArgs_abi;
3653     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1559022876, 49756, 16929, [177, 108, 195, 201, 140, 224, 18, 214]);
3654 }
3655 impl ::windows::runtime::RuntimeName for MediaPlaybackCommandManagerPauseReceivedEventArgs {
3656     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackCommandManagerPauseReceivedEventArgs";
3657 }
3658 impl ::std::convert::From<MediaPlaybackCommandManagerPauseReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackCommandManagerPauseReceivedEventArgs) -> Self3659     fn from(value: MediaPlaybackCommandManagerPauseReceivedEventArgs) -> Self {
3660         unsafe { ::std::mem::transmute(value) }
3661     }
3662 }
3663 impl ::std::convert::From<&MediaPlaybackCommandManagerPauseReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackCommandManagerPauseReceivedEventArgs) -> Self3664     fn from(value: &MediaPlaybackCommandManagerPauseReceivedEventArgs) -> Self {
3665         ::std::convert::From::from(::std::clone::Clone::clone(value))
3666     }
3667 }
3668 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackCommandManagerPauseReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3669     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3670         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3671     }
3672 }
3673 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackCommandManagerPauseReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3674     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3675         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3676     }
3677 }
3678 impl ::std::convert::From<MediaPlaybackCommandManagerPauseReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackCommandManagerPauseReceivedEventArgs) -> Self3679     fn from(value: MediaPlaybackCommandManagerPauseReceivedEventArgs) -> Self {
3680         value.0
3681     }
3682 }
3683 impl ::std::convert::From<&MediaPlaybackCommandManagerPauseReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackCommandManagerPauseReceivedEventArgs) -> Self3684     fn from(value: &MediaPlaybackCommandManagerPauseReceivedEventArgs) -> Self {
3685         value.0.clone()
3686     }
3687 }
3688 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackCommandManagerPauseReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3689     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3690         ::windows::runtime::Param::Owned(self.0)
3691     }
3692 }
3693 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackCommandManagerPauseReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3694     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3695         ::windows::runtime::Param::Borrowed(&self.0)
3696     }
3697 }
3698 unsafe impl ::std::marker::Send for MediaPlaybackCommandManagerPauseReceivedEventArgs {}
3699 unsafe impl ::std::marker::Sync for MediaPlaybackCommandManagerPauseReceivedEventArgs {}
3700 #[repr(transparent)]
3701 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3702 pub struct MediaPlaybackCommandManagerPlayReceivedEventArgs(::windows::runtime::IInspectable);
3703 impl MediaPlaybackCommandManagerPlayReceivedEventArgs {
Handled(&self) -> ::windows::runtime::Result<bool>3704     pub fn Handled(&self) -> ::windows::runtime::Result<bool> {
3705         let this = self;
3706         unsafe {
3707             let mut result__: bool = ::std::mem::zeroed();
3708             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3709         }
3710     }
SetHandled(&self, value: bool) -> ::windows::runtime::Result<()>3711     pub fn SetHandled(&self, value: bool) -> ::windows::runtime::Result<()> {
3712         let this = self;
3713         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3714     }
3715     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral>3716     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral> {
3717         let this = self;
3718         unsafe {
3719             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3720             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Deferral>(result__)
3721         }
3722     }
3723 }
3724 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackCommandManagerPlayReceivedEventArgs {
3725     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackCommandManagerPlayReceivedEventArgs;{9af0004e-578b-4c56-a006-16159d888a48})");
3726 }
3727 unsafe impl ::windows::runtime::Interface for MediaPlaybackCommandManagerPlayReceivedEventArgs {
3728     type Vtable = IMediaPlaybackCommandManagerPlayReceivedEventArgs_abi;
3729     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2599419982, 22411, 19542, [160, 6, 22, 21, 157, 136, 138, 72]);
3730 }
3731 impl ::windows::runtime::RuntimeName for MediaPlaybackCommandManagerPlayReceivedEventArgs {
3732     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackCommandManagerPlayReceivedEventArgs";
3733 }
3734 impl ::std::convert::From<MediaPlaybackCommandManagerPlayReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackCommandManagerPlayReceivedEventArgs) -> Self3735     fn from(value: MediaPlaybackCommandManagerPlayReceivedEventArgs) -> Self {
3736         unsafe { ::std::mem::transmute(value) }
3737     }
3738 }
3739 impl ::std::convert::From<&MediaPlaybackCommandManagerPlayReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackCommandManagerPlayReceivedEventArgs) -> Self3740     fn from(value: &MediaPlaybackCommandManagerPlayReceivedEventArgs) -> Self {
3741         ::std::convert::From::from(::std::clone::Clone::clone(value))
3742     }
3743 }
3744 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackCommandManagerPlayReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3745     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3746         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3747     }
3748 }
3749 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackCommandManagerPlayReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3750     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3751         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3752     }
3753 }
3754 impl ::std::convert::From<MediaPlaybackCommandManagerPlayReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackCommandManagerPlayReceivedEventArgs) -> Self3755     fn from(value: MediaPlaybackCommandManagerPlayReceivedEventArgs) -> Self {
3756         value.0
3757     }
3758 }
3759 impl ::std::convert::From<&MediaPlaybackCommandManagerPlayReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackCommandManagerPlayReceivedEventArgs) -> Self3760     fn from(value: &MediaPlaybackCommandManagerPlayReceivedEventArgs) -> Self {
3761         value.0.clone()
3762     }
3763 }
3764 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackCommandManagerPlayReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3765     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3766         ::windows::runtime::Param::Owned(self.0)
3767     }
3768 }
3769 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackCommandManagerPlayReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3770     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3771         ::windows::runtime::Param::Borrowed(&self.0)
3772     }
3773 }
3774 unsafe impl ::std::marker::Send for MediaPlaybackCommandManagerPlayReceivedEventArgs {}
3775 unsafe impl ::std::marker::Sync for MediaPlaybackCommandManagerPlayReceivedEventArgs {}
3776 #[repr(transparent)]
3777 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3778 pub struct MediaPlaybackCommandManagerPositionReceivedEventArgs(::windows::runtime::IInspectable);
3779 impl MediaPlaybackCommandManagerPositionReceivedEventArgs {
Handled(&self) -> ::windows::runtime::Result<bool>3780     pub fn Handled(&self) -> ::windows::runtime::Result<bool> {
3781         let this = self;
3782         unsafe {
3783             let mut result__: bool = ::std::mem::zeroed();
3784             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3785         }
3786     }
SetHandled(&self, value: bool) -> ::windows::runtime::Result<()>3787     pub fn SetHandled(&self, value: bool) -> ::windows::runtime::Result<()> {
3788         let this = self;
3789         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3790     }
3791     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>3792     pub fn Position(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
3793         let this = self;
3794         unsafe {
3795             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
3796             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
3797         }
3798     }
3799     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral>3800     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral> {
3801         let this = self;
3802         unsafe {
3803             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3804             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Deferral>(result__)
3805         }
3806     }
3807 }
3808 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackCommandManagerPositionReceivedEventArgs {
3809     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackCommandManagerPositionReceivedEventArgs;{5591a754-d627-4bdd-a90d-86a015b24902})");
3810 }
3811 unsafe impl ::windows::runtime::Interface for MediaPlaybackCommandManagerPositionReceivedEventArgs {
3812     type Vtable = IMediaPlaybackCommandManagerPositionReceivedEventArgs_abi;
3813     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1435608916, 54823, 19421, [169, 13, 134, 160, 21, 178, 73, 2]);
3814 }
3815 impl ::windows::runtime::RuntimeName for MediaPlaybackCommandManagerPositionReceivedEventArgs {
3816     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackCommandManagerPositionReceivedEventArgs";
3817 }
3818 impl ::std::convert::From<MediaPlaybackCommandManagerPositionReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackCommandManagerPositionReceivedEventArgs) -> Self3819     fn from(value: MediaPlaybackCommandManagerPositionReceivedEventArgs) -> Self {
3820         unsafe { ::std::mem::transmute(value) }
3821     }
3822 }
3823 impl ::std::convert::From<&MediaPlaybackCommandManagerPositionReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackCommandManagerPositionReceivedEventArgs) -> Self3824     fn from(value: &MediaPlaybackCommandManagerPositionReceivedEventArgs) -> Self {
3825         ::std::convert::From::from(::std::clone::Clone::clone(value))
3826     }
3827 }
3828 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackCommandManagerPositionReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3829     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3830         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3831     }
3832 }
3833 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackCommandManagerPositionReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3834     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3835         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3836     }
3837 }
3838 impl ::std::convert::From<MediaPlaybackCommandManagerPositionReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackCommandManagerPositionReceivedEventArgs) -> Self3839     fn from(value: MediaPlaybackCommandManagerPositionReceivedEventArgs) -> Self {
3840         value.0
3841     }
3842 }
3843 impl ::std::convert::From<&MediaPlaybackCommandManagerPositionReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackCommandManagerPositionReceivedEventArgs) -> Self3844     fn from(value: &MediaPlaybackCommandManagerPositionReceivedEventArgs) -> Self {
3845         value.0.clone()
3846     }
3847 }
3848 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackCommandManagerPositionReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3849     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3850         ::windows::runtime::Param::Owned(self.0)
3851     }
3852 }
3853 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackCommandManagerPositionReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3854     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3855         ::windows::runtime::Param::Borrowed(&self.0)
3856     }
3857 }
3858 unsafe impl ::std::marker::Send for MediaPlaybackCommandManagerPositionReceivedEventArgs {}
3859 unsafe impl ::std::marker::Sync for MediaPlaybackCommandManagerPositionReceivedEventArgs {}
3860 #[repr(transparent)]
3861 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3862 pub struct MediaPlaybackCommandManagerPreviousReceivedEventArgs(::windows::runtime::IInspectable);
3863 impl MediaPlaybackCommandManagerPreviousReceivedEventArgs {
Handled(&self) -> ::windows::runtime::Result<bool>3864     pub fn Handled(&self) -> ::windows::runtime::Result<bool> {
3865         let this = self;
3866         unsafe {
3867             let mut result__: bool = ::std::mem::zeroed();
3868             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3869         }
3870     }
SetHandled(&self, value: bool) -> ::windows::runtime::Result<()>3871     pub fn SetHandled(&self, value: bool) -> ::windows::runtime::Result<()> {
3872         let this = self;
3873         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3874     }
3875     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral>3876     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral> {
3877         let this = self;
3878         unsafe {
3879             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3880             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Deferral>(result__)
3881         }
3882     }
3883 }
3884 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackCommandManagerPreviousReceivedEventArgs {
3885     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackCommandManagerPreviousReceivedEventArgs;{525e3081-4632-4f76-99b1-d771623f6287})");
3886 }
3887 unsafe impl ::windows::runtime::Interface for MediaPlaybackCommandManagerPreviousReceivedEventArgs {
3888     type Vtable = IMediaPlaybackCommandManagerPreviousReceivedEventArgs_abi;
3889     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1381904513, 17970, 20342, [153, 177, 215, 113, 98, 63, 98, 135]);
3890 }
3891 impl ::windows::runtime::RuntimeName for MediaPlaybackCommandManagerPreviousReceivedEventArgs {
3892     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackCommandManagerPreviousReceivedEventArgs";
3893 }
3894 impl ::std::convert::From<MediaPlaybackCommandManagerPreviousReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackCommandManagerPreviousReceivedEventArgs) -> Self3895     fn from(value: MediaPlaybackCommandManagerPreviousReceivedEventArgs) -> Self {
3896         unsafe { ::std::mem::transmute(value) }
3897     }
3898 }
3899 impl ::std::convert::From<&MediaPlaybackCommandManagerPreviousReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackCommandManagerPreviousReceivedEventArgs) -> Self3900     fn from(value: &MediaPlaybackCommandManagerPreviousReceivedEventArgs) -> Self {
3901         ::std::convert::From::from(::std::clone::Clone::clone(value))
3902     }
3903 }
3904 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackCommandManagerPreviousReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3905     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3906         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3907     }
3908 }
3909 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackCommandManagerPreviousReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3910     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3911         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3912     }
3913 }
3914 impl ::std::convert::From<MediaPlaybackCommandManagerPreviousReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackCommandManagerPreviousReceivedEventArgs) -> Self3915     fn from(value: MediaPlaybackCommandManagerPreviousReceivedEventArgs) -> Self {
3916         value.0
3917     }
3918 }
3919 impl ::std::convert::From<&MediaPlaybackCommandManagerPreviousReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackCommandManagerPreviousReceivedEventArgs) -> Self3920     fn from(value: &MediaPlaybackCommandManagerPreviousReceivedEventArgs) -> Self {
3921         value.0.clone()
3922     }
3923 }
3924 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackCommandManagerPreviousReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3925     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3926         ::windows::runtime::Param::Owned(self.0)
3927     }
3928 }
3929 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackCommandManagerPreviousReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>3930     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
3931         ::windows::runtime::Param::Borrowed(&self.0)
3932     }
3933 }
3934 unsafe impl ::std::marker::Send for MediaPlaybackCommandManagerPreviousReceivedEventArgs {}
3935 unsafe impl ::std::marker::Sync for MediaPlaybackCommandManagerPreviousReceivedEventArgs {}
3936 #[repr(transparent)]
3937 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3938 pub struct MediaPlaybackCommandManagerRateReceivedEventArgs(::windows::runtime::IInspectable);
3939 impl MediaPlaybackCommandManagerRateReceivedEventArgs {
Handled(&self) -> ::windows::runtime::Result<bool>3940     pub fn Handled(&self) -> ::windows::runtime::Result<bool> {
3941         let this = self;
3942         unsafe {
3943             let mut result__: bool = ::std::mem::zeroed();
3944             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
3945         }
3946     }
SetHandled(&self, value: bool) -> ::windows::runtime::Result<()>3947     pub fn SetHandled(&self, value: bool) -> ::windows::runtime::Result<()> {
3948         let this = self;
3949         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
3950     }
PlaybackRate(&self) -> ::windows::runtime::Result<f64>3951     pub fn PlaybackRate(&self) -> ::windows::runtime::Result<f64> {
3952         let this = self;
3953         unsafe {
3954             let mut result__: f64 = ::std::mem::zeroed();
3955             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
3956         }
3957     }
3958     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral>3959     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral> {
3960         let this = self;
3961         unsafe {
3962             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
3963             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Deferral>(result__)
3964         }
3965     }
3966 }
3967 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackCommandManagerRateReceivedEventArgs {
3968     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackCommandManagerRateReceivedEventArgs;{18ea3939-4a16-4169-8b05-3eb9f5ff78eb})");
3969 }
3970 unsafe impl ::windows::runtime::Interface for MediaPlaybackCommandManagerRateReceivedEventArgs {
3971     type Vtable = IMediaPlaybackCommandManagerRateReceivedEventArgs_abi;
3972     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(418003257, 18966, 16745, [139, 5, 62, 185, 245, 255, 120, 235]);
3973 }
3974 impl ::windows::runtime::RuntimeName for MediaPlaybackCommandManagerRateReceivedEventArgs {
3975     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackCommandManagerRateReceivedEventArgs";
3976 }
3977 impl ::std::convert::From<MediaPlaybackCommandManagerRateReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackCommandManagerRateReceivedEventArgs) -> Self3978     fn from(value: MediaPlaybackCommandManagerRateReceivedEventArgs) -> Self {
3979         unsafe { ::std::mem::transmute(value) }
3980     }
3981 }
3982 impl ::std::convert::From<&MediaPlaybackCommandManagerRateReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackCommandManagerRateReceivedEventArgs) -> Self3983     fn from(value: &MediaPlaybackCommandManagerRateReceivedEventArgs) -> Self {
3984         ::std::convert::From::from(::std::clone::Clone::clone(value))
3985     }
3986 }
3987 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackCommandManagerRateReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3988     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3989         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
3990     }
3991 }
3992 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackCommandManagerRateReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>3993     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
3994         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
3995     }
3996 }
3997 impl ::std::convert::From<MediaPlaybackCommandManagerRateReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackCommandManagerRateReceivedEventArgs) -> Self3998     fn from(value: MediaPlaybackCommandManagerRateReceivedEventArgs) -> Self {
3999         value.0
4000     }
4001 }
4002 impl ::std::convert::From<&MediaPlaybackCommandManagerRateReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackCommandManagerRateReceivedEventArgs) -> Self4003     fn from(value: &MediaPlaybackCommandManagerRateReceivedEventArgs) -> Self {
4004         value.0.clone()
4005     }
4006 }
4007 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackCommandManagerRateReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4008     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4009         ::windows::runtime::Param::Owned(self.0)
4010     }
4011 }
4012 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackCommandManagerRateReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4013     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4014         ::windows::runtime::Param::Borrowed(&self.0)
4015     }
4016 }
4017 unsafe impl ::std::marker::Send for MediaPlaybackCommandManagerRateReceivedEventArgs {}
4018 unsafe impl ::std::marker::Sync for MediaPlaybackCommandManagerRateReceivedEventArgs {}
4019 #[repr(transparent)]
4020 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4021 pub struct MediaPlaybackCommandManagerRewindReceivedEventArgs(::windows::runtime::IInspectable);
4022 impl MediaPlaybackCommandManagerRewindReceivedEventArgs {
Handled(&self) -> ::windows::runtime::Result<bool>4023     pub fn Handled(&self) -> ::windows::runtime::Result<bool> {
4024         let this = self;
4025         unsafe {
4026             let mut result__: bool = ::std::mem::zeroed();
4027             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4028         }
4029     }
SetHandled(&self, value: bool) -> ::windows::runtime::Result<()>4030     pub fn SetHandled(&self, value: bool) -> ::windows::runtime::Result<()> {
4031         let this = self;
4032         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
4033     }
4034     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral>4035     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral> {
4036         let this = self;
4037         unsafe {
4038             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4039             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Deferral>(result__)
4040         }
4041     }
4042 }
4043 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackCommandManagerRewindReceivedEventArgs {
4044     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackCommandManagerRewindReceivedEventArgs;{9f085947-a3c0-425d-aaef-97ba7898b141})");
4045 }
4046 unsafe impl ::windows::runtime::Interface for MediaPlaybackCommandManagerRewindReceivedEventArgs {
4047     type Vtable = IMediaPlaybackCommandManagerRewindReceivedEventArgs_abi;
4048     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2668124487, 41920, 16989, [170, 239, 151, 186, 120, 152, 177, 65]);
4049 }
4050 impl ::windows::runtime::RuntimeName for MediaPlaybackCommandManagerRewindReceivedEventArgs {
4051     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackCommandManagerRewindReceivedEventArgs";
4052 }
4053 impl ::std::convert::From<MediaPlaybackCommandManagerRewindReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackCommandManagerRewindReceivedEventArgs) -> Self4054     fn from(value: MediaPlaybackCommandManagerRewindReceivedEventArgs) -> Self {
4055         unsafe { ::std::mem::transmute(value) }
4056     }
4057 }
4058 impl ::std::convert::From<&MediaPlaybackCommandManagerRewindReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackCommandManagerRewindReceivedEventArgs) -> Self4059     fn from(value: &MediaPlaybackCommandManagerRewindReceivedEventArgs) -> Self {
4060         ::std::convert::From::from(::std::clone::Clone::clone(value))
4061     }
4062 }
4063 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackCommandManagerRewindReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4064     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4065         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4066     }
4067 }
4068 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackCommandManagerRewindReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4069     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4070         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4071     }
4072 }
4073 impl ::std::convert::From<MediaPlaybackCommandManagerRewindReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackCommandManagerRewindReceivedEventArgs) -> Self4074     fn from(value: MediaPlaybackCommandManagerRewindReceivedEventArgs) -> Self {
4075         value.0
4076     }
4077 }
4078 impl ::std::convert::From<&MediaPlaybackCommandManagerRewindReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackCommandManagerRewindReceivedEventArgs) -> Self4079     fn from(value: &MediaPlaybackCommandManagerRewindReceivedEventArgs) -> Self {
4080         value.0.clone()
4081     }
4082 }
4083 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackCommandManagerRewindReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4084     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4085         ::windows::runtime::Param::Owned(self.0)
4086     }
4087 }
4088 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackCommandManagerRewindReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4089     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4090         ::windows::runtime::Param::Borrowed(&self.0)
4091     }
4092 }
4093 unsafe impl ::std::marker::Send for MediaPlaybackCommandManagerRewindReceivedEventArgs {}
4094 unsafe impl ::std::marker::Sync for MediaPlaybackCommandManagerRewindReceivedEventArgs {}
4095 #[repr(transparent)]
4096 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4097 pub struct MediaPlaybackCommandManagerShuffleReceivedEventArgs(::windows::runtime::IInspectable);
4098 impl MediaPlaybackCommandManagerShuffleReceivedEventArgs {
Handled(&self) -> ::windows::runtime::Result<bool>4099     pub fn Handled(&self) -> ::windows::runtime::Result<bool> {
4100         let this = self;
4101         unsafe {
4102             let mut result__: bool = ::std::mem::zeroed();
4103             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4104         }
4105     }
SetHandled(&self, value: bool) -> ::windows::runtime::Result<()>4106     pub fn SetHandled(&self, value: bool) -> ::windows::runtime::Result<()> {
4107         let this = self;
4108         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
4109     }
IsShuffleRequested(&self) -> ::windows::runtime::Result<bool>4110     pub fn IsShuffleRequested(&self) -> ::windows::runtime::Result<bool> {
4111         let this = self;
4112         unsafe {
4113             let mut result__: bool = ::std::mem::zeroed();
4114             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4115         }
4116     }
4117     #[cfg(feature = "Foundation")]
GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral>4118     pub fn GetDeferral(&self) -> ::windows::runtime::Result<super::super::Foundation::Deferral> {
4119         let this = self;
4120         unsafe {
4121             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4122             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Deferral>(result__)
4123         }
4124     }
4125 }
4126 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackCommandManagerShuffleReceivedEventArgs {
4127     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackCommandManagerShuffleReceivedEventArgs;{50a05cef-63ee-4a96-b7b5-fee08b9ff90c})");
4128 }
4129 unsafe impl ::windows::runtime::Interface for MediaPlaybackCommandManagerShuffleReceivedEventArgs {
4130     type Vtable = IMediaPlaybackCommandManagerShuffleReceivedEventArgs_abi;
4131     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1352686831, 25582, 19094, [183, 181, 254, 224, 139, 159, 249, 12]);
4132 }
4133 impl ::windows::runtime::RuntimeName for MediaPlaybackCommandManagerShuffleReceivedEventArgs {
4134     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackCommandManagerShuffleReceivedEventArgs";
4135 }
4136 impl ::std::convert::From<MediaPlaybackCommandManagerShuffleReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackCommandManagerShuffleReceivedEventArgs) -> Self4137     fn from(value: MediaPlaybackCommandManagerShuffleReceivedEventArgs) -> Self {
4138         unsafe { ::std::mem::transmute(value) }
4139     }
4140 }
4141 impl ::std::convert::From<&MediaPlaybackCommandManagerShuffleReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackCommandManagerShuffleReceivedEventArgs) -> Self4142     fn from(value: &MediaPlaybackCommandManagerShuffleReceivedEventArgs) -> Self {
4143         ::std::convert::From::from(::std::clone::Clone::clone(value))
4144     }
4145 }
4146 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackCommandManagerShuffleReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4147     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4148         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4149     }
4150 }
4151 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackCommandManagerShuffleReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4152     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4153         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4154     }
4155 }
4156 impl ::std::convert::From<MediaPlaybackCommandManagerShuffleReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackCommandManagerShuffleReceivedEventArgs) -> Self4157     fn from(value: MediaPlaybackCommandManagerShuffleReceivedEventArgs) -> Self {
4158         value.0
4159     }
4160 }
4161 impl ::std::convert::From<&MediaPlaybackCommandManagerShuffleReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackCommandManagerShuffleReceivedEventArgs) -> Self4162     fn from(value: &MediaPlaybackCommandManagerShuffleReceivedEventArgs) -> Self {
4163         value.0.clone()
4164     }
4165 }
4166 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackCommandManagerShuffleReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4167     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4168         ::windows::runtime::Param::Owned(self.0)
4169     }
4170 }
4171 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackCommandManagerShuffleReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4172     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4173         ::windows::runtime::Param::Borrowed(&self.0)
4174     }
4175 }
4176 unsafe impl ::std::marker::Send for MediaPlaybackCommandManagerShuffleReceivedEventArgs {}
4177 unsafe impl ::std::marker::Sync for MediaPlaybackCommandManagerShuffleReceivedEventArgs {}
4178 #[repr(transparent)]
4179 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4180 pub struct MediaPlaybackItem(::windows::runtime::IInspectable);
4181 impl MediaPlaybackItem {
4182     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
AudioTracksChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackItem, super::super::Foundation::Collections::IVectorChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4183     pub fn AudioTracksChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackItem, super::super::Foundation::Collections::IVectorChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4184         let this = self;
4185         unsafe {
4186             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4187             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4188         }
4189     }
4190     #[cfg(feature = "Foundation")]
RemoveAudioTracksChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4191     pub fn RemoveAudioTracksChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4192         let this = self;
4193         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4194     }
4195     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
VideoTracksChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackItem, super::super::Foundation::Collections::IVectorChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4196     pub fn VideoTracksChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackItem, super::super::Foundation::Collections::IVectorChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4197         let this = self;
4198         unsafe {
4199             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4200             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4201         }
4202     }
4203     #[cfg(feature = "Foundation")]
RemoveVideoTracksChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4204     pub fn RemoveVideoTracksChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4205         let this = self;
4206         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4207     }
4208     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
TimedMetadataTracksChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackItem, super::super::Foundation::Collections::IVectorChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4209     pub fn TimedMetadataTracksChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackItem, super::super::Foundation::Collections::IVectorChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4210         let this = self;
4211         unsafe {
4212             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4213             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4214         }
4215     }
4216     #[cfg(feature = "Foundation")]
RemoveTimedMetadataTracksChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4217     pub fn RemoveTimedMetadataTracksChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4218         let this = self;
4219         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4220     }
4221     #[cfg(feature = "Media_Core")]
Source(&self) -> ::windows::runtime::Result<super::Core::MediaSource>4222     pub fn Source(&self) -> ::windows::runtime::Result<super::Core::MediaSource> {
4223         let this = self;
4224         unsafe {
4225             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4226             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::MediaSource>(result__)
4227         }
4228     }
4229     #[cfg(feature = "Foundation_Collections")]
AudioTracks(&self) -> ::windows::runtime::Result<MediaPlaybackAudioTrackList>4230     pub fn AudioTracks(&self) -> ::windows::runtime::Result<MediaPlaybackAudioTrackList> {
4231         let this = self;
4232         unsafe {
4233             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4234             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackAudioTrackList>(result__)
4235         }
4236     }
4237     #[cfg(feature = "Foundation_Collections")]
VideoTracks(&self) -> ::windows::runtime::Result<MediaPlaybackVideoTrackList>4238     pub fn VideoTracks(&self) -> ::windows::runtime::Result<MediaPlaybackVideoTrackList> {
4239         let this = self;
4240         unsafe {
4241             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4242             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackVideoTrackList>(result__)
4243         }
4244     }
4245     #[cfg(feature = "Foundation_Collections")]
TimedMetadataTracks(&self) -> ::windows::runtime::Result<MediaPlaybackTimedMetadataTrackList>4246     pub fn TimedMetadataTracks(&self) -> ::windows::runtime::Result<MediaPlaybackTimedMetadataTrackList> {
4247         let this = self;
4248         unsafe {
4249             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4250             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackTimedMetadataTrackList>(result__)
4251         }
4252     }
4253     #[cfg(feature = "Media_Core")]
Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::MediaSource>>(source: Param0) -> ::windows::runtime::Result<MediaPlaybackItem>4254     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::MediaSource>>(source: Param0) -> ::windows::runtime::Result<MediaPlaybackItem> {
4255         Self::IMediaPlaybackItemFactory(|this| unsafe {
4256             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4257             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), source.into_param().abi(), &mut result__).from_abi::<MediaPlaybackItem>(result__)
4258         })
4259     }
4260     #[cfg(feature = "Media_Core")]
FindFromMediaSource<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::MediaSource>>(source: Param0) -> ::windows::runtime::Result<MediaPlaybackItem>4261     pub fn FindFromMediaSource<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::MediaSource>>(source: Param0) -> ::windows::runtime::Result<MediaPlaybackItem> {
4262         Self::IMediaPlaybackItemStatics(|this| unsafe {
4263             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4264             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), source.into_param().abi(), &mut result__).from_abi::<MediaPlaybackItem>(result__)
4265         })
4266     }
BreakSchedule(&self) -> ::windows::runtime::Result<MediaBreakSchedule>4267     pub fn BreakSchedule(&self) -> ::windows::runtime::Result<MediaBreakSchedule> {
4268         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackItem2>(self)?;
4269         unsafe {
4270             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4271             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaBreakSchedule>(result__)
4272         }
4273     }
4274     #[cfg(feature = "Foundation")]
StartTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>4275     pub fn StartTime(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
4276         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackItem2>(self)?;
4277         unsafe {
4278             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
4279             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
4280         }
4281     }
4282     #[cfg(feature = "Foundation")]
DurationLimit(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>4283     pub fn DurationLimit(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>> {
4284         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackItem2>(self)?;
4285         unsafe {
4286             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4287             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>(result__)
4288         }
4289     }
CanSkip(&self) -> ::windows::runtime::Result<bool>4290     pub fn CanSkip(&self) -> ::windows::runtime::Result<bool> {
4291         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackItem2>(self)?;
4292         unsafe {
4293             let mut result__: bool = ::std::mem::zeroed();
4294             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4295         }
4296     }
SetCanSkip(&self, value: bool) -> ::windows::runtime::Result<()>4297     pub fn SetCanSkip(&self, value: bool) -> ::windows::runtime::Result<()> {
4298         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackItem2>(self)?;
4299         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value).ok() }
4300     }
GetDisplayProperties(&self) -> ::windows::runtime::Result<MediaItemDisplayProperties>4301     pub fn GetDisplayProperties(&self) -> ::windows::runtime::Result<MediaItemDisplayProperties> {
4302         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackItem2>(self)?;
4303         unsafe {
4304             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4305             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaItemDisplayProperties>(result__)
4306         }
4307     }
ApplyDisplayProperties<'a, Param0: ::windows::runtime::IntoParam<'a, MediaItemDisplayProperties>>(&self, value: Param0) -> ::windows::runtime::Result<()>4308     pub fn ApplyDisplayProperties<'a, Param0: ::windows::runtime::IntoParam<'a, MediaItemDisplayProperties>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4309         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackItem2>(self)?;
4310         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4311     }
4312     #[cfg(all(feature = "Foundation", feature = "Media_Core"))]
CreateWithStartTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::MediaSource>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(source: Param0, starttime: Param1) -> ::windows::runtime::Result<MediaPlaybackItem>4313     pub fn CreateWithStartTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::MediaSource>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(source: Param0, starttime: Param1) -> ::windows::runtime::Result<MediaPlaybackItem> {
4314         Self::IMediaPlaybackItemFactory2(|this| unsafe {
4315             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4316             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), source.into_param().abi(), starttime.into_param().abi(), &mut result__).from_abi::<MediaPlaybackItem>(result__)
4317         })
4318     }
4319     #[cfg(all(feature = "Foundation", feature = "Media_Core"))]
CreateWithStartTimeAndDurationLimit<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::MediaSource>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(source: Param0, starttime: Param1, durationlimit: Param2) -> ::windows::runtime::Result<MediaPlaybackItem>4320     pub fn CreateWithStartTimeAndDurationLimit<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::MediaSource>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(source: Param0, starttime: Param1, durationlimit: Param2) -> ::windows::runtime::Result<MediaPlaybackItem> {
4321         Self::IMediaPlaybackItemFactory2(|this| unsafe {
4322             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4323             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), source.into_param().abi(), starttime.into_param().abi(), durationlimit.into_param().abi(), &mut result__).from_abi::<MediaPlaybackItem>(result__)
4324         })
4325     }
IsDisabledInPlaybackList(&self) -> ::windows::runtime::Result<bool>4326     pub fn IsDisabledInPlaybackList(&self) -> ::windows::runtime::Result<bool> {
4327         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackItem3>(self)?;
4328         unsafe {
4329             let mut result__: bool = ::std::mem::zeroed();
4330             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4331         }
4332     }
SetIsDisabledInPlaybackList(&self, value: bool) -> ::windows::runtime::Result<()>4333     pub fn SetIsDisabledInPlaybackList(&self, value: bool) -> ::windows::runtime::Result<()> {
4334         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackItem3>(self)?;
4335         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
4336     }
TotalDownloadProgress(&self) -> ::windows::runtime::Result<f64>4337     pub fn TotalDownloadProgress(&self) -> ::windows::runtime::Result<f64> {
4338         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackItem3>(self)?;
4339         unsafe {
4340             let mut result__: f64 = ::std::mem::zeroed();
4341             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
4342         }
4343     }
AutoLoadedDisplayProperties(&self) -> ::windows::runtime::Result<AutoLoadedDisplayPropertyKind>4344     pub fn AutoLoadedDisplayProperties(&self) -> ::windows::runtime::Result<AutoLoadedDisplayPropertyKind> {
4345         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackItem3>(self)?;
4346         unsafe {
4347             let mut result__: AutoLoadedDisplayPropertyKind = ::std::mem::zeroed();
4348             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<AutoLoadedDisplayPropertyKind>(result__)
4349         }
4350     }
SetAutoLoadedDisplayProperties(&self, value: AutoLoadedDisplayPropertyKind) -> ::windows::runtime::Result<()>4351     pub fn SetAutoLoadedDisplayProperties(&self, value: AutoLoadedDisplayPropertyKind) -> ::windows::runtime::Result<()> {
4352         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackItem3>(self)?;
4353         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value).ok() }
4354     }
IMediaPlaybackItemFactory<R, F: FnOnce(&IMediaPlaybackItemFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4355     pub fn IMediaPlaybackItemFactory<R, F: FnOnce(&IMediaPlaybackItemFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4356         static mut SHARED: ::windows::runtime::FactoryCache<MediaPlaybackItem, IMediaPlaybackItemFactory> = ::windows::runtime::FactoryCache::new();
4357         unsafe { SHARED.call(callback) }
4358     }
IMediaPlaybackItemStatics<R, F: FnOnce(&IMediaPlaybackItemStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4359     pub fn IMediaPlaybackItemStatics<R, F: FnOnce(&IMediaPlaybackItemStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4360         static mut SHARED: ::windows::runtime::FactoryCache<MediaPlaybackItem, IMediaPlaybackItemStatics> = ::windows::runtime::FactoryCache::new();
4361         unsafe { SHARED.call(callback) }
4362     }
IMediaPlaybackItemFactory2<R, F: FnOnce(&IMediaPlaybackItemFactory2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4363     pub fn IMediaPlaybackItemFactory2<R, F: FnOnce(&IMediaPlaybackItemFactory2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4364         static mut SHARED: ::windows::runtime::FactoryCache<MediaPlaybackItem, IMediaPlaybackItemFactory2> = ::windows::runtime::FactoryCache::new();
4365         unsafe { SHARED.call(callback) }
4366     }
4367 }
4368 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackItem {
4369     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackItem;{047097d2-e4af-48ab-b283-6929e674ece2})");
4370 }
4371 unsafe impl ::windows::runtime::Interface for MediaPlaybackItem {
4372     type Vtable = IMediaPlaybackItem_abi;
4373     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(74487762, 58543, 18603, [178, 131, 105, 41, 230, 116, 236, 226]);
4374 }
4375 impl ::windows::runtime::RuntimeName for MediaPlaybackItem {
4376     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackItem";
4377 }
4378 impl ::std::convert::From<MediaPlaybackItem> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackItem) -> Self4379     fn from(value: MediaPlaybackItem) -> Self {
4380         unsafe { ::std::mem::transmute(value) }
4381     }
4382 }
4383 impl ::std::convert::From<&MediaPlaybackItem> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackItem) -> Self4384     fn from(value: &MediaPlaybackItem) -> Self {
4385         ::std::convert::From::from(::std::clone::Clone::clone(value))
4386     }
4387 }
4388 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4389     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4390         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4391     }
4392 }
4393 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4394     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4395         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4396     }
4397 }
4398 impl ::std::convert::From<MediaPlaybackItem> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackItem) -> Self4399     fn from(value: MediaPlaybackItem) -> Self {
4400         value.0
4401     }
4402 }
4403 impl ::std::convert::From<&MediaPlaybackItem> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackItem) -> Self4404     fn from(value: &MediaPlaybackItem) -> Self {
4405         value.0.clone()
4406     }
4407 }
4408 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4409     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4410         ::windows::runtime::Param::Owned(self.0)
4411     }
4412 }
4413 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackItem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4414     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4415         ::windows::runtime::Param::Borrowed(&self.0)
4416     }
4417 }
4418 impl ::std::convert::TryFrom<MediaPlaybackItem> for IMediaPlaybackSource {
4419     type Error = ::windows::runtime::Error;
try_from(value: MediaPlaybackItem) -> ::windows::runtime::Result<Self>4420     fn try_from(value: MediaPlaybackItem) -> ::windows::runtime::Result<Self> {
4421         ::std::convert::TryFrom::try_from(&value)
4422     }
4423 }
4424 impl ::std::convert::TryFrom<&MediaPlaybackItem> for IMediaPlaybackSource {
4425     type Error = ::windows::runtime::Error;
try_from(value: &MediaPlaybackItem) -> ::windows::runtime::Result<Self>4426     fn try_from(value: &MediaPlaybackItem) -> ::windows::runtime::Result<Self> {
4427         ::windows::runtime::Interface::cast(value)
4428     }
4429 }
4430 impl<'a> ::windows::runtime::IntoParam<'a, IMediaPlaybackSource> for MediaPlaybackItem {
into_param(self) -> ::windows::runtime::Param<'a, IMediaPlaybackSource>4431     fn into_param(self) -> ::windows::runtime::Param<'a, IMediaPlaybackSource> {
4432         ::windows::runtime::IntoParam::into_param(&self)
4433     }
4434 }
4435 impl<'a> ::windows::runtime::IntoParam<'a, IMediaPlaybackSource> for &MediaPlaybackItem {
into_param(self) -> ::windows::runtime::Param<'a, IMediaPlaybackSource>4436     fn into_param(self) -> ::windows::runtime::Param<'a, IMediaPlaybackSource> {
4437         ::std::convert::TryInto::<IMediaPlaybackSource>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4438     }
4439 }
4440 unsafe impl ::std::marker::Send for MediaPlaybackItem {}
4441 unsafe impl ::std::marker::Sync for MediaPlaybackItem {}
4442 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4443 #[repr(transparent)]
4444 pub struct MediaPlaybackItemChangedReason(pub i32);
4445 impl MediaPlaybackItemChangedReason {
4446     pub const InitialItem: MediaPlaybackItemChangedReason = MediaPlaybackItemChangedReason(0i32);
4447     pub const EndOfStream: MediaPlaybackItemChangedReason = MediaPlaybackItemChangedReason(1i32);
4448     pub const Error: MediaPlaybackItemChangedReason = MediaPlaybackItemChangedReason(2i32);
4449     pub const AppRequested: MediaPlaybackItemChangedReason = MediaPlaybackItemChangedReason(3i32);
4450 }
4451 impl ::std::convert::From<i32> for MediaPlaybackItemChangedReason {
from(value: i32) -> Self4452     fn from(value: i32) -> Self {
4453         Self(value)
4454     }
4455 }
4456 unsafe impl ::windows::runtime::Abi for MediaPlaybackItemChangedReason {
4457     type Abi = Self;
4458     type DefaultType = Self;
4459 }
4460 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackItemChangedReason {
4461     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.Playback.MediaPlaybackItemChangedReason;i4)");
4462 }
4463 #[repr(transparent)]
4464 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4465 pub struct MediaPlaybackItemError(::windows::runtime::IInspectable);
4466 impl MediaPlaybackItemError {
ErrorCode(&self) -> ::windows::runtime::Result<MediaPlaybackItemErrorCode>4467     pub fn ErrorCode(&self) -> ::windows::runtime::Result<MediaPlaybackItemErrorCode> {
4468         let this = self;
4469         unsafe {
4470             let mut result__: MediaPlaybackItemErrorCode = ::std::mem::zeroed();
4471             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackItemErrorCode>(result__)
4472         }
4473     }
ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>4474     pub fn ExtendedError(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
4475         let this = self;
4476         unsafe {
4477             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
4478             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
4479         }
4480     }
4481 }
4482 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackItemError {
4483     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackItemError;{69fbef2b-dcd6-4df9-a450-dbf4c6f1c2c2})");
4484 }
4485 unsafe impl ::windows::runtime::Interface for MediaPlaybackItemError {
4486     type Vtable = IMediaPlaybackItemError_abi;
4487     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1778118443, 56534, 19961, [164, 80, 219, 244, 198, 241, 194, 194]);
4488 }
4489 impl ::windows::runtime::RuntimeName for MediaPlaybackItemError {
4490     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackItemError";
4491 }
4492 impl ::std::convert::From<MediaPlaybackItemError> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackItemError) -> Self4493     fn from(value: MediaPlaybackItemError) -> Self {
4494         unsafe { ::std::mem::transmute(value) }
4495     }
4496 }
4497 impl ::std::convert::From<&MediaPlaybackItemError> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackItemError) -> Self4498     fn from(value: &MediaPlaybackItemError) -> Self {
4499         ::std::convert::From::from(::std::clone::Clone::clone(value))
4500     }
4501 }
4502 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackItemError {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4503     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4504         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4505     }
4506 }
4507 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackItemError {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4508     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4509         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4510     }
4511 }
4512 impl ::std::convert::From<MediaPlaybackItemError> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackItemError) -> Self4513     fn from(value: MediaPlaybackItemError) -> Self {
4514         value.0
4515     }
4516 }
4517 impl ::std::convert::From<&MediaPlaybackItemError> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackItemError) -> Self4518     fn from(value: &MediaPlaybackItemError) -> Self {
4519         value.0.clone()
4520     }
4521 }
4522 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackItemError {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4523     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4524         ::windows::runtime::Param::Owned(self.0)
4525     }
4526 }
4527 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackItemError {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4528     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4529         ::windows::runtime::Param::Borrowed(&self.0)
4530     }
4531 }
4532 unsafe impl ::std::marker::Send for MediaPlaybackItemError {}
4533 unsafe impl ::std::marker::Sync for MediaPlaybackItemError {}
4534 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
4535 #[repr(transparent)]
4536 pub struct MediaPlaybackItemErrorCode(pub i32);
4537 impl MediaPlaybackItemErrorCode {
4538     pub const None: MediaPlaybackItemErrorCode = MediaPlaybackItemErrorCode(0i32);
4539     pub const Aborted: MediaPlaybackItemErrorCode = MediaPlaybackItemErrorCode(1i32);
4540     pub const NetworkError: MediaPlaybackItemErrorCode = MediaPlaybackItemErrorCode(2i32);
4541     pub const DecodeError: MediaPlaybackItemErrorCode = MediaPlaybackItemErrorCode(3i32);
4542     pub const SourceNotSupportedError: MediaPlaybackItemErrorCode = MediaPlaybackItemErrorCode(4i32);
4543     pub const EncryptionError: MediaPlaybackItemErrorCode = MediaPlaybackItemErrorCode(5i32);
4544 }
4545 impl ::std::convert::From<i32> for MediaPlaybackItemErrorCode {
from(value: i32) -> Self4546     fn from(value: i32) -> Self {
4547         Self(value)
4548     }
4549 }
4550 unsafe impl ::windows::runtime::Abi for MediaPlaybackItemErrorCode {
4551     type Abi = Self;
4552     type DefaultType = Self;
4553 }
4554 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackItemErrorCode {
4555     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.Playback.MediaPlaybackItemErrorCode;i4)");
4556 }
4557 #[repr(transparent)]
4558 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4559 pub struct MediaPlaybackItemFailedEventArgs(::windows::runtime::IInspectable);
4560 impl MediaPlaybackItemFailedEventArgs {
Item(&self) -> ::windows::runtime::Result<MediaPlaybackItem>4561     pub fn Item(&self) -> ::windows::runtime::Result<MediaPlaybackItem> {
4562         let this = self;
4563         unsafe {
4564             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4565             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackItem>(result__)
4566         }
4567     }
Error(&self) -> ::windows::runtime::Result<MediaPlaybackItemError>4568     pub fn Error(&self) -> ::windows::runtime::Result<MediaPlaybackItemError> {
4569         let this = self;
4570         unsafe {
4571             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4572             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackItemError>(result__)
4573         }
4574     }
4575 }
4576 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackItemFailedEventArgs {
4577     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackItemFailedEventArgs;{7703134a-e9a7-47c3-862c-c656d30683d4})");
4578 }
4579 unsafe impl ::windows::runtime::Interface for MediaPlaybackItemFailedEventArgs {
4580     type Vtable = IMediaPlaybackItemFailedEventArgs_abi;
4581     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1996690250, 59815, 18371, [134, 44, 198, 86, 211, 6, 131, 212]);
4582 }
4583 impl ::windows::runtime::RuntimeName for MediaPlaybackItemFailedEventArgs {
4584     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackItemFailedEventArgs";
4585 }
4586 impl ::std::convert::From<MediaPlaybackItemFailedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackItemFailedEventArgs) -> Self4587     fn from(value: MediaPlaybackItemFailedEventArgs) -> Self {
4588         unsafe { ::std::mem::transmute(value) }
4589     }
4590 }
4591 impl ::std::convert::From<&MediaPlaybackItemFailedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackItemFailedEventArgs) -> Self4592     fn from(value: &MediaPlaybackItemFailedEventArgs) -> Self {
4593         ::std::convert::From::from(::std::clone::Clone::clone(value))
4594     }
4595 }
4596 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackItemFailedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4597     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4598         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4599     }
4600 }
4601 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackItemFailedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4602     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4603         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4604     }
4605 }
4606 impl ::std::convert::From<MediaPlaybackItemFailedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackItemFailedEventArgs) -> Self4607     fn from(value: MediaPlaybackItemFailedEventArgs) -> Self {
4608         value.0
4609     }
4610 }
4611 impl ::std::convert::From<&MediaPlaybackItemFailedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackItemFailedEventArgs) -> Self4612     fn from(value: &MediaPlaybackItemFailedEventArgs) -> Self {
4613         value.0.clone()
4614     }
4615 }
4616 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackItemFailedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4617     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4618         ::windows::runtime::Param::Owned(self.0)
4619     }
4620 }
4621 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackItemFailedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4622     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4623         ::windows::runtime::Param::Borrowed(&self.0)
4624     }
4625 }
4626 unsafe impl ::std::marker::Send for MediaPlaybackItemFailedEventArgs {}
4627 unsafe impl ::std::marker::Sync for MediaPlaybackItemFailedEventArgs {}
4628 #[repr(transparent)]
4629 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4630 pub struct MediaPlaybackItemOpenedEventArgs(::windows::runtime::IInspectable);
4631 impl MediaPlaybackItemOpenedEventArgs {
Item(&self) -> ::windows::runtime::Result<MediaPlaybackItem>4632     pub fn Item(&self) -> ::windows::runtime::Result<MediaPlaybackItem> {
4633         let this = self;
4634         unsafe {
4635             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4636             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackItem>(result__)
4637         }
4638     }
4639 }
4640 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackItemOpenedEventArgs {
4641     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackItemOpenedEventArgs;{cbd9bd82-3037-4fbe-ae8f-39fc39edf4ef})");
4642 }
4643 unsafe impl ::windows::runtime::Interface for MediaPlaybackItemOpenedEventArgs {
4644     type Vtable = IMediaPlaybackItemOpenedEventArgs_abi;
4645     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3420044674, 12343, 20414, [174, 143, 57, 252, 57, 237, 244, 239]);
4646 }
4647 impl ::windows::runtime::RuntimeName for MediaPlaybackItemOpenedEventArgs {
4648     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackItemOpenedEventArgs";
4649 }
4650 impl ::std::convert::From<MediaPlaybackItemOpenedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackItemOpenedEventArgs) -> Self4651     fn from(value: MediaPlaybackItemOpenedEventArgs) -> Self {
4652         unsafe { ::std::mem::transmute(value) }
4653     }
4654 }
4655 impl ::std::convert::From<&MediaPlaybackItemOpenedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackItemOpenedEventArgs) -> Self4656     fn from(value: &MediaPlaybackItemOpenedEventArgs) -> Self {
4657         ::std::convert::From::from(::std::clone::Clone::clone(value))
4658     }
4659 }
4660 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackItemOpenedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4661     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4662         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4663     }
4664 }
4665 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackItemOpenedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4666     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4667         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4668     }
4669 }
4670 impl ::std::convert::From<MediaPlaybackItemOpenedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackItemOpenedEventArgs) -> Self4671     fn from(value: MediaPlaybackItemOpenedEventArgs) -> Self {
4672         value.0
4673     }
4674 }
4675 impl ::std::convert::From<&MediaPlaybackItemOpenedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackItemOpenedEventArgs) -> Self4676     fn from(value: &MediaPlaybackItemOpenedEventArgs) -> Self {
4677         value.0.clone()
4678     }
4679 }
4680 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackItemOpenedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4681     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4682         ::windows::runtime::Param::Owned(self.0)
4683     }
4684 }
4685 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackItemOpenedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4686     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4687         ::windows::runtime::Param::Borrowed(&self.0)
4688     }
4689 }
4690 unsafe impl ::std::marker::Send for MediaPlaybackItemOpenedEventArgs {}
4691 unsafe impl ::std::marker::Sync for MediaPlaybackItemOpenedEventArgs {}
4692 #[repr(transparent)]
4693 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4694 pub struct MediaPlaybackList(::windows::runtime::IInspectable);
4695 impl MediaPlaybackList {
new() -> ::windows::runtime::Result<Self>4696     pub fn new() -> ::windows::runtime::Result<Self> {
4697         Self::IActivationFactory(|f| f.activate_instance::<Self>())
4698     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4699     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4700         static mut SHARED: ::windows::runtime::FactoryCache<MediaPlaybackList, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
4701         unsafe { SHARED.call(callback) }
4702     }
4703     #[cfg(feature = "Foundation")]
ItemFailed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackList, MediaPlaybackItemFailedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4704     pub fn ItemFailed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackList, MediaPlaybackItemFailedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4705         let this = self;
4706         unsafe {
4707             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4708             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4709         }
4710     }
4711     #[cfg(feature = "Foundation")]
RemoveItemFailed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4712     pub fn RemoveItemFailed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4713         let this = self;
4714         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4715     }
4716     #[cfg(feature = "Foundation")]
CurrentItemChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackList, CurrentMediaPlaybackItemChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4717     pub fn CurrentItemChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackList, CurrentMediaPlaybackItemChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4718         let this = self;
4719         unsafe {
4720             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4721             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4722         }
4723     }
4724     #[cfg(feature = "Foundation")]
RemoveCurrentItemChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4725     pub fn RemoveCurrentItemChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4726         let this = self;
4727         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4728     }
4729     #[cfg(feature = "Foundation")]
ItemOpened<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackList, MediaPlaybackItemOpenedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4730     pub fn ItemOpened<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackList, MediaPlaybackItemOpenedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4731         let this = self;
4732         unsafe {
4733             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4734             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4735         }
4736     }
4737     #[cfg(feature = "Foundation")]
RemoveItemOpened<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4738     pub fn RemoveItemOpened<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4739         let this = self;
4740         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4741     }
4742     #[cfg(feature = "Foundation_Collections")]
Items(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IObservableVector<MediaPlaybackItem>>4743     pub fn Items(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IObservableVector<MediaPlaybackItem>> {
4744         let this = self;
4745         unsafe {
4746             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4747             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IObservableVector<MediaPlaybackItem>>(result__)
4748         }
4749     }
AutoRepeatEnabled(&self) -> ::windows::runtime::Result<bool>4750     pub fn AutoRepeatEnabled(&self) -> ::windows::runtime::Result<bool> {
4751         let this = self;
4752         unsafe {
4753             let mut result__: bool = ::std::mem::zeroed();
4754             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4755         }
4756     }
SetAutoRepeatEnabled(&self, value: bool) -> ::windows::runtime::Result<()>4757     pub fn SetAutoRepeatEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
4758         let this = self;
4759         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), value).ok() }
4760     }
ShuffleEnabled(&self) -> ::windows::runtime::Result<bool>4761     pub fn ShuffleEnabled(&self) -> ::windows::runtime::Result<bool> {
4762         let this = self;
4763         unsafe {
4764             let mut result__: bool = ::std::mem::zeroed();
4765             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4766         }
4767     }
SetShuffleEnabled(&self, value: bool) -> ::windows::runtime::Result<()>4768     pub fn SetShuffleEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
4769         let this = self;
4770         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value).ok() }
4771     }
CurrentItem(&self) -> ::windows::runtime::Result<MediaPlaybackItem>4772     pub fn CurrentItem(&self) -> ::windows::runtime::Result<MediaPlaybackItem> {
4773         let this = self;
4774         unsafe {
4775             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4776             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackItem>(result__)
4777         }
4778     }
CurrentItemIndex(&self) -> ::windows::runtime::Result<u32>4779     pub fn CurrentItemIndex(&self) -> ::windows::runtime::Result<u32> {
4780         let this = self;
4781         unsafe {
4782             let mut result__: u32 = ::std::mem::zeroed();
4783             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
4784         }
4785     }
MoveNext(&self) -> ::windows::runtime::Result<MediaPlaybackItem>4786     pub fn MoveNext(&self) -> ::windows::runtime::Result<MediaPlaybackItem> {
4787         let this = self;
4788         unsafe {
4789             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4790             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackItem>(result__)
4791         }
4792     }
MovePrevious(&self) -> ::windows::runtime::Result<MediaPlaybackItem>4793     pub fn MovePrevious(&self) -> ::windows::runtime::Result<MediaPlaybackItem> {
4794         let this = self;
4795         unsafe {
4796             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4797             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackItem>(result__)
4798         }
4799     }
MoveTo(&self, itemindex: u32) -> ::windows::runtime::Result<MediaPlaybackItem>4800     pub fn MoveTo(&self, itemindex: u32) -> ::windows::runtime::Result<MediaPlaybackItem> {
4801         let this = self;
4802         unsafe {
4803             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4804             (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), itemindex, &mut result__).from_abi::<MediaPlaybackItem>(result__)
4805         }
4806     }
4807     #[cfg(feature = "Foundation")]
MaxPrefetchTime(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>4808     pub fn MaxPrefetchTime(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>> {
4809         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackList2>(self)?;
4810         unsafe {
4811             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4812             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>(result__)
4813         }
4814     }
4815     #[cfg(feature = "Foundation")]
SetMaxPrefetchTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()>4816     pub fn SetMaxPrefetchTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4817         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackList2>(self)?;
4818         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4819     }
StartingItem(&self) -> ::windows::runtime::Result<MediaPlaybackItem>4820     pub fn StartingItem(&self) -> ::windows::runtime::Result<MediaPlaybackItem> {
4821         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackList2>(self)?;
4822         unsafe {
4823             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4824             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackItem>(result__)
4825         }
4826     }
SetStartingItem<'a, Param0: ::windows::runtime::IntoParam<'a, MediaPlaybackItem>>(&self, value: Param0) -> ::windows::runtime::Result<()>4827     pub fn SetStartingItem<'a, Param0: ::windows::runtime::IntoParam<'a, MediaPlaybackItem>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4828         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackList2>(self)?;
4829         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4830     }
4831     #[cfg(feature = "Foundation_Collections")]
ShuffledItems(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MediaPlaybackItem>>4832     pub fn ShuffledItems(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MediaPlaybackItem>> {
4833         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackList2>(self)?;
4834         unsafe {
4835             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4836             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MediaPlaybackItem>>(result__)
4837         }
4838     }
4839     #[cfg(feature = "Foundation_Collections")]
SetShuffledItems<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<MediaPlaybackItem>>>(&self, value: Param0) -> ::windows::runtime::Result<()>4840     pub fn SetShuffledItems<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<MediaPlaybackItem>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4841         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackList2>(self)?;
4842         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4843     }
4844     #[cfg(feature = "Foundation")]
MaxPlayedItemsToKeepOpen(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<u32>>4845     pub fn MaxPlayedItemsToKeepOpen(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<u32>> {
4846         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackList3>(self)?;
4847         unsafe {
4848             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4849             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<u32>>(result__)
4850         }
4851     }
4852     #[cfg(feature = "Foundation")]
SetMaxPlayedItemsToKeepOpen<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<u32>>>(&self, value: Param0) -> ::windows::runtime::Result<()>4853     pub fn SetMaxPlayedItemsToKeepOpen<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<u32>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
4854         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackList3>(self)?;
4855         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
4856     }
4857 }
4858 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackList {
4859     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackList;{7f77ee9c-dc42-4e26-a98d-7850df8ec925})");
4860 }
4861 unsafe impl ::windows::runtime::Interface for MediaPlaybackList {
4862     type Vtable = IMediaPlaybackList_abi;
4863     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2138566300, 56386, 20006, [169, 141, 120, 80, 223, 142, 201, 37]);
4864 }
4865 impl ::windows::runtime::RuntimeName for MediaPlaybackList {
4866     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackList";
4867 }
4868 impl ::std::convert::From<MediaPlaybackList> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackList) -> Self4869     fn from(value: MediaPlaybackList) -> Self {
4870         unsafe { ::std::mem::transmute(value) }
4871     }
4872 }
4873 impl ::std::convert::From<&MediaPlaybackList> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackList) -> Self4874     fn from(value: &MediaPlaybackList) -> Self {
4875         ::std::convert::From::from(::std::clone::Clone::clone(value))
4876     }
4877 }
4878 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4879     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4880         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4881     }
4882 }
4883 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4884     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4885         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4886     }
4887 }
4888 impl ::std::convert::From<MediaPlaybackList> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackList) -> Self4889     fn from(value: MediaPlaybackList) -> Self {
4890         value.0
4891     }
4892 }
4893 impl ::std::convert::From<&MediaPlaybackList> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackList) -> Self4894     fn from(value: &MediaPlaybackList) -> Self {
4895         value.0.clone()
4896     }
4897 }
4898 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4899     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4900         ::windows::runtime::Param::Owned(self.0)
4901     }
4902 }
4903 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4904     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4905         ::windows::runtime::Param::Borrowed(&self.0)
4906     }
4907 }
4908 impl ::std::convert::TryFrom<MediaPlaybackList> for IMediaPlaybackSource {
4909     type Error = ::windows::runtime::Error;
try_from(value: MediaPlaybackList) -> ::windows::runtime::Result<Self>4910     fn try_from(value: MediaPlaybackList) -> ::windows::runtime::Result<Self> {
4911         ::std::convert::TryFrom::try_from(&value)
4912     }
4913 }
4914 impl ::std::convert::TryFrom<&MediaPlaybackList> for IMediaPlaybackSource {
4915     type Error = ::windows::runtime::Error;
try_from(value: &MediaPlaybackList) -> ::windows::runtime::Result<Self>4916     fn try_from(value: &MediaPlaybackList) -> ::windows::runtime::Result<Self> {
4917         ::windows::runtime::Interface::cast(value)
4918     }
4919 }
4920 impl<'a> ::windows::runtime::IntoParam<'a, IMediaPlaybackSource> for MediaPlaybackList {
into_param(self) -> ::windows::runtime::Param<'a, IMediaPlaybackSource>4921     fn into_param(self) -> ::windows::runtime::Param<'a, IMediaPlaybackSource> {
4922         ::windows::runtime::IntoParam::into_param(&self)
4923     }
4924 }
4925 impl<'a> ::windows::runtime::IntoParam<'a, IMediaPlaybackSource> for &MediaPlaybackList {
into_param(self) -> ::windows::runtime::Param<'a, IMediaPlaybackSource>4926     fn into_param(self) -> ::windows::runtime::Param<'a, IMediaPlaybackSource> {
4927         ::std::convert::TryInto::<IMediaPlaybackSource>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
4928     }
4929 }
4930 unsafe impl ::std::marker::Send for MediaPlaybackList {}
4931 unsafe impl ::std::marker::Sync for MediaPlaybackList {}
4932 #[repr(transparent)]
4933 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4934 pub struct MediaPlaybackSession(::windows::runtime::IInspectable);
4935 impl MediaPlaybackSession {
4936     #[cfg(feature = "Foundation")]
PlaybackStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4937     pub fn PlaybackStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4938         let this = self;
4939         unsafe {
4940             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4941             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4942         }
4943     }
4944     #[cfg(feature = "Foundation")]
RemovePlaybackStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4945     pub fn RemovePlaybackStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4946         let this = self;
4947         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4948     }
4949     #[cfg(feature = "Foundation")]
PlaybackRateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4950     pub fn PlaybackRateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4951         let this = self;
4952         unsafe {
4953             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4954             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4955         }
4956     }
4957     #[cfg(feature = "Foundation")]
RemovePlaybackRateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4958     pub fn RemovePlaybackRateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4959         let this = self;
4960         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4961     }
4962     #[cfg(feature = "Foundation")]
SeekCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4963     pub fn SeekCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4964         let this = self;
4965         unsafe {
4966             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4967             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4968         }
4969     }
4970     #[cfg(feature = "Foundation")]
RemoveSeekCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4971     pub fn RemoveSeekCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4972         let this = self;
4973         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4974     }
4975     #[cfg(feature = "Foundation")]
BufferingStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4976     pub fn BufferingStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4977         let this = self;
4978         unsafe {
4979             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4980             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4981         }
4982     }
4983     #[cfg(feature = "Foundation")]
RemoveBufferingStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4984     pub fn RemoveBufferingStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4985         let this = self;
4986         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
4987     }
4988     #[cfg(feature = "Foundation")]
BufferingEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4989     pub fn BufferingEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4990         let this = self;
4991         unsafe {
4992             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4993             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4994         }
4995     }
4996     #[cfg(feature = "Foundation")]
RemoveBufferingEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>4997     pub fn RemoveBufferingEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
4998         let this = self;
4999         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5000     }
5001     #[cfg(feature = "Foundation")]
BufferingProgressChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5002     pub fn BufferingProgressChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5003         let this = self;
5004         unsafe {
5005             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5006             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5007         }
5008     }
5009     #[cfg(feature = "Foundation")]
RemoveBufferingProgressChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5010     pub fn RemoveBufferingProgressChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5011         let this = self;
5012         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5013     }
5014     #[cfg(feature = "Foundation")]
DownloadProgressChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5015     pub fn DownloadProgressChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5016         let this = self;
5017         unsafe {
5018             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5019             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5020         }
5021     }
5022     #[cfg(feature = "Foundation")]
RemoveDownloadProgressChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5023     pub fn RemoveDownloadProgressChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5024         let this = self;
5025         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5026     }
5027     #[cfg(feature = "Foundation")]
NaturalDurationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5028     pub fn NaturalDurationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5029         let this = self;
5030         unsafe {
5031             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5032             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5033         }
5034     }
5035     #[cfg(feature = "Foundation")]
RemoveNaturalDurationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5036     pub fn RemoveNaturalDurationChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5037         let this = self;
5038         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5039     }
5040     #[cfg(feature = "Foundation")]
PositionChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5041     pub fn PositionChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5042         let this = self;
5043         unsafe {
5044             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5045             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5046         }
5047     }
5048     #[cfg(feature = "Foundation")]
RemovePositionChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5049     pub fn RemovePositionChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5050         let this = self;
5051         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5052     }
5053     #[cfg(feature = "Foundation")]
NaturalVideoSizeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5054     pub fn NaturalVideoSizeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5055         let this = self;
5056         unsafe {
5057             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5058             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5059         }
5060     }
5061     #[cfg(feature = "Foundation")]
RemoveNaturalVideoSizeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5062     pub fn RemoveNaturalVideoSizeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5063         let this = self;
5064         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5065     }
MediaPlayer(&self) -> ::windows::runtime::Result<MediaPlayer>5066     pub fn MediaPlayer(&self) -> ::windows::runtime::Result<MediaPlayer> {
5067         let this = self;
5068         unsafe {
5069             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5070             (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlayer>(result__)
5071         }
5072     }
5073     #[cfg(feature = "Foundation")]
NaturalDuration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>5074     pub fn NaturalDuration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
5075         let this = self;
5076         unsafe {
5077             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
5078             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
5079         }
5080     }
5081     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>5082     pub fn Position(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
5083         let this = self;
5084         unsafe {
5085             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
5086             (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
5087         }
5088     }
5089     #[cfg(feature = "Foundation")]
SetPosition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>5090     pub fn SetPosition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5091         let this = self;
5092         unsafe { (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5093     }
PlaybackState(&self) -> ::windows::runtime::Result<MediaPlaybackState>5094     pub fn PlaybackState(&self) -> ::windows::runtime::Result<MediaPlaybackState> {
5095         let this = self;
5096         unsafe {
5097             let mut result__: MediaPlaybackState = ::std::mem::zeroed();
5098             (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackState>(result__)
5099         }
5100     }
CanSeek(&self) -> ::windows::runtime::Result<bool>5101     pub fn CanSeek(&self) -> ::windows::runtime::Result<bool> {
5102         let this = self;
5103         unsafe {
5104             let mut result__: bool = ::std::mem::zeroed();
5105             (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5106         }
5107     }
CanPause(&self) -> ::windows::runtime::Result<bool>5108     pub fn CanPause(&self) -> ::windows::runtime::Result<bool> {
5109         let this = self;
5110         unsafe {
5111             let mut result__: bool = ::std::mem::zeroed();
5112             (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5113         }
5114     }
IsProtected(&self) -> ::windows::runtime::Result<bool>5115     pub fn IsProtected(&self) -> ::windows::runtime::Result<bool> {
5116         let this = self;
5117         unsafe {
5118             let mut result__: bool = ::std::mem::zeroed();
5119             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5120         }
5121     }
PlaybackRate(&self) -> ::windows::runtime::Result<f64>5122     pub fn PlaybackRate(&self) -> ::windows::runtime::Result<f64> {
5123         let this = self;
5124         unsafe {
5125             let mut result__: f64 = ::std::mem::zeroed();
5126             (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
5127         }
5128     }
SetPlaybackRate(&self, value: f64) -> ::windows::runtime::Result<()>5129     pub fn SetPlaybackRate(&self, value: f64) -> ::windows::runtime::Result<()> {
5130         let this = self;
5131         unsafe { (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), value).ok() }
5132     }
BufferingProgress(&self) -> ::windows::runtime::Result<f64>5133     pub fn BufferingProgress(&self) -> ::windows::runtime::Result<f64> {
5134         let this = self;
5135         unsafe {
5136             let mut result__: f64 = ::std::mem::zeroed();
5137             (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
5138         }
5139     }
DownloadProgress(&self) -> ::windows::runtime::Result<f64>5140     pub fn DownloadProgress(&self) -> ::windows::runtime::Result<f64> {
5141         let this = self;
5142         unsafe {
5143             let mut result__: f64 = ::std::mem::zeroed();
5144             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
5145         }
5146     }
NaturalVideoHeight(&self) -> ::windows::runtime::Result<u32>5147     pub fn NaturalVideoHeight(&self) -> ::windows::runtime::Result<u32> {
5148         let this = self;
5149         unsafe {
5150             let mut result__: u32 = ::std::mem::zeroed();
5151             (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
5152         }
5153     }
NaturalVideoWidth(&self) -> ::windows::runtime::Result<u32>5154     pub fn NaturalVideoWidth(&self) -> ::windows::runtime::Result<u32> {
5155         let this = self;
5156         unsafe {
5157             let mut result__: u32 = ::std::mem::zeroed();
5158             (::windows::runtime::Interface::vtable(this).39)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
5159         }
5160     }
5161     #[cfg(feature = "Foundation")]
NormalizedSourceRect(&self) -> ::windows::runtime::Result<super::super::Foundation::Rect>5162     pub fn NormalizedSourceRect(&self) -> ::windows::runtime::Result<super::super::Foundation::Rect> {
5163         let this = self;
5164         unsafe {
5165             let mut result__: super::super::Foundation::Rect = ::std::mem::zeroed();
5166             (::windows::runtime::Interface::vtable(this).40)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Rect>(result__)
5167         }
5168     }
5169     #[cfg(feature = "Foundation")]
SetNormalizedSourceRect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Rect>>(&self, value: Param0) -> ::windows::runtime::Result<()>5170     pub fn SetNormalizedSourceRect<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Rect>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5171         let this = self;
5172         unsafe { (::windows::runtime::Interface::vtable(this).41)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5173     }
5174     #[cfg(feature = "Media_MediaProperties")]
StereoscopicVideoPackingMode(&self) -> ::windows::runtime::Result<super::MediaProperties::StereoscopicVideoPackingMode>5175     pub fn StereoscopicVideoPackingMode(&self) -> ::windows::runtime::Result<super::MediaProperties::StereoscopicVideoPackingMode> {
5176         let this = self;
5177         unsafe {
5178             let mut result__: super::MediaProperties::StereoscopicVideoPackingMode = ::std::mem::zeroed();
5179             (::windows::runtime::Interface::vtable(this).42)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::MediaProperties::StereoscopicVideoPackingMode>(result__)
5180         }
5181     }
5182     #[cfg(feature = "Media_MediaProperties")]
SetStereoscopicVideoPackingMode(&self, value: super::MediaProperties::StereoscopicVideoPackingMode) -> ::windows::runtime::Result<()>5183     pub fn SetStereoscopicVideoPackingMode(&self, value: super::MediaProperties::StereoscopicVideoPackingMode) -> ::windows::runtime::Result<()> {
5184         let this = self;
5185         unsafe { (::windows::runtime::Interface::vtable(this).43)(::std::mem::transmute_copy(this), value).ok() }
5186     }
5187     #[cfg(feature = "Foundation")]
BufferedRangesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5188     pub fn BufferedRangesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5189         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession2>(self)?;
5190         unsafe {
5191             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5192             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5193         }
5194     }
5195     #[cfg(feature = "Foundation")]
RemoveBufferedRangesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5196     pub fn RemoveBufferedRangesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5197         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession2>(self)?;
5198         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5199     }
5200     #[cfg(feature = "Foundation")]
PlayedRangesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5201     pub fn PlayedRangesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5202         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession2>(self)?;
5203         unsafe {
5204             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5205             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5206         }
5207     }
5208     #[cfg(feature = "Foundation")]
RemovePlayedRangesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5209     pub fn RemovePlayedRangesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5210         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession2>(self)?;
5211         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5212     }
5213     #[cfg(feature = "Foundation")]
SeekableRangesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5214     pub fn SeekableRangesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5215         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession2>(self)?;
5216         unsafe {
5217             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5218             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5219         }
5220     }
5221     #[cfg(feature = "Foundation")]
RemoveSeekableRangesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5222     pub fn RemoveSeekableRangesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5223         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession2>(self)?;
5224         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5225     }
5226     #[cfg(feature = "Foundation")]
SupportedPlaybackRatesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5227     pub fn SupportedPlaybackRatesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackSession, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5228         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession2>(self)?;
5229         unsafe {
5230             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5231             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5232         }
5233     }
5234     #[cfg(feature = "Foundation")]
RemoveSupportedPlaybackRatesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5235     pub fn RemoveSupportedPlaybackRatesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5236         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession2>(self)?;
5237         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5238     }
SphericalVideoProjection(&self) -> ::windows::runtime::Result<MediaPlaybackSphericalVideoProjection>5239     pub fn SphericalVideoProjection(&self) -> ::windows::runtime::Result<MediaPlaybackSphericalVideoProjection> {
5240         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession2>(self)?;
5241         unsafe {
5242             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5243             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackSphericalVideoProjection>(result__)
5244         }
5245     }
IsMirroring(&self) -> ::windows::runtime::Result<bool>5246     pub fn IsMirroring(&self) -> ::windows::runtime::Result<bool> {
5247         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession2>(self)?;
5248         unsafe {
5249             let mut result__: bool = ::std::mem::zeroed();
5250             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5251         }
5252     }
SetIsMirroring(&self, value: bool) -> ::windows::runtime::Result<()>5253     pub fn SetIsMirroring(&self, value: bool) -> ::windows::runtime::Result<()> {
5254         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession2>(self)?;
5255         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value).ok() }
5256     }
5257     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
GetBufferedRanges(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::MediaTimeRange>>5258     pub fn GetBufferedRanges(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::MediaTimeRange>> {
5259         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession2>(self)?;
5260         unsafe {
5261             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5262             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<super::MediaTimeRange>>(result__)
5263         }
5264     }
5265     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
GetPlayedRanges(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::MediaTimeRange>>5266     pub fn GetPlayedRanges(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::MediaTimeRange>> {
5267         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession2>(self)?;
5268         unsafe {
5269             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5270             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<super::MediaTimeRange>>(result__)
5271         }
5272     }
5273     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
GetSeekableRanges(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::MediaTimeRange>>5274     pub fn GetSeekableRanges(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::MediaTimeRange>> {
5275         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession2>(self)?;
5276         unsafe {
5277             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5278             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<super::MediaTimeRange>>(result__)
5279         }
5280     }
IsSupportedPlaybackRateRange(&self, rate1: f64, rate2: f64) -> ::windows::runtime::Result<bool>5281     pub fn IsSupportedPlaybackRateRange(&self, rate1: f64, rate2: f64) -> ::windows::runtime::Result<bool> {
5282         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession2>(self)?;
5283         unsafe {
5284             let mut result__: bool = ::std::mem::zeroed();
5285             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), rate1, rate2, &mut result__).from_abi::<bool>(result__)
5286         }
5287     }
5288     #[cfg(feature = "Media_MediaProperties")]
PlaybackRotation(&self) -> ::windows::runtime::Result<super::MediaProperties::MediaRotation>5289     pub fn PlaybackRotation(&self) -> ::windows::runtime::Result<super::MediaProperties::MediaRotation> {
5290         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession3>(self)?;
5291         unsafe {
5292             let mut result__: super::MediaProperties::MediaRotation = ::std::mem::zeroed();
5293             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::MediaProperties::MediaRotation>(result__)
5294         }
5295     }
5296     #[cfg(feature = "Media_MediaProperties")]
SetPlaybackRotation(&self, value: super::MediaProperties::MediaRotation) -> ::windows::runtime::Result<()>5297     pub fn SetPlaybackRotation(&self, value: super::MediaProperties::MediaRotation) -> ::windows::runtime::Result<()> {
5298         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession3>(self)?;
5299         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
5300     }
GetOutputDegradationPolicyState(&self) -> ::windows::runtime::Result<MediaPlaybackSessionOutputDegradationPolicyState>5301     pub fn GetOutputDegradationPolicyState(&self) -> ::windows::runtime::Result<MediaPlaybackSessionOutputDegradationPolicyState> {
5302         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackSession3>(self)?;
5303         unsafe {
5304             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5305             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackSessionOutputDegradationPolicyState>(result__)
5306         }
5307     }
5308 }
5309 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackSession {
5310     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackSession;{c32b683d-0407-41ba-8946-8b345a5a5435})");
5311 }
5312 unsafe impl ::windows::runtime::Interface for MediaPlaybackSession {
5313     type Vtable = IMediaPlaybackSession_abi;
5314     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3274401853, 1031, 16826, [137, 70, 139, 52, 90, 90, 84, 53]);
5315 }
5316 impl ::windows::runtime::RuntimeName for MediaPlaybackSession {
5317     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackSession";
5318 }
5319 impl ::std::convert::From<MediaPlaybackSession> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackSession) -> Self5320     fn from(value: MediaPlaybackSession) -> Self {
5321         unsafe { ::std::mem::transmute(value) }
5322     }
5323 }
5324 impl ::std::convert::From<&MediaPlaybackSession> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackSession) -> Self5325     fn from(value: &MediaPlaybackSession) -> Self {
5326         ::std::convert::From::from(::std::clone::Clone::clone(value))
5327     }
5328 }
5329 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5330     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5331         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5332     }
5333 }
5334 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5335     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5336         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5337     }
5338 }
5339 impl ::std::convert::From<MediaPlaybackSession> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackSession) -> Self5340     fn from(value: MediaPlaybackSession) -> Self {
5341         value.0
5342     }
5343 }
5344 impl ::std::convert::From<&MediaPlaybackSession> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackSession) -> Self5345     fn from(value: &MediaPlaybackSession) -> Self {
5346         value.0.clone()
5347     }
5348 }
5349 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5350     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5351         ::windows::runtime::Param::Owned(self.0)
5352     }
5353 }
5354 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5355     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5356         ::windows::runtime::Param::Borrowed(&self.0)
5357     }
5358 }
5359 unsafe impl ::std::marker::Send for MediaPlaybackSession {}
5360 unsafe impl ::std::marker::Sync for MediaPlaybackSession {}
5361 #[repr(transparent)]
5362 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5363 pub struct MediaPlaybackSessionBufferingStartedEventArgs(::windows::runtime::IInspectable);
5364 impl MediaPlaybackSessionBufferingStartedEventArgs {
IsPlaybackInterruption(&self) -> ::windows::runtime::Result<bool>5365     pub fn IsPlaybackInterruption(&self) -> ::windows::runtime::Result<bool> {
5366         let this = self;
5367         unsafe {
5368             let mut result__: bool = ::std::mem::zeroed();
5369             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5370         }
5371     }
5372 }
5373 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackSessionBufferingStartedEventArgs {
5374     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackSessionBufferingStartedEventArgs;{cd6aafed-74e2-43b5-b115-76236c33791a})");
5375 }
5376 unsafe impl ::windows::runtime::Interface for MediaPlaybackSessionBufferingStartedEventArgs {
5377     type Vtable = IMediaPlaybackSessionBufferingStartedEventArgs_abi;
5378     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3446321133, 29922, 17333, [177, 21, 118, 35, 108, 51, 121, 26]);
5379 }
5380 impl ::windows::runtime::RuntimeName for MediaPlaybackSessionBufferingStartedEventArgs {
5381     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackSessionBufferingStartedEventArgs";
5382 }
5383 impl ::std::convert::From<MediaPlaybackSessionBufferingStartedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackSessionBufferingStartedEventArgs) -> Self5384     fn from(value: MediaPlaybackSessionBufferingStartedEventArgs) -> Self {
5385         unsafe { ::std::mem::transmute(value) }
5386     }
5387 }
5388 impl ::std::convert::From<&MediaPlaybackSessionBufferingStartedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackSessionBufferingStartedEventArgs) -> Self5389     fn from(value: &MediaPlaybackSessionBufferingStartedEventArgs) -> Self {
5390         ::std::convert::From::from(::std::clone::Clone::clone(value))
5391     }
5392 }
5393 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackSessionBufferingStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5394     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5395         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5396     }
5397 }
5398 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackSessionBufferingStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5399     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5400         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5401     }
5402 }
5403 impl ::std::convert::From<MediaPlaybackSessionBufferingStartedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackSessionBufferingStartedEventArgs) -> Self5404     fn from(value: MediaPlaybackSessionBufferingStartedEventArgs) -> Self {
5405         value.0
5406     }
5407 }
5408 impl ::std::convert::From<&MediaPlaybackSessionBufferingStartedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackSessionBufferingStartedEventArgs) -> Self5409     fn from(value: &MediaPlaybackSessionBufferingStartedEventArgs) -> Self {
5410         value.0.clone()
5411     }
5412 }
5413 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackSessionBufferingStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5414     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5415         ::windows::runtime::Param::Owned(self.0)
5416     }
5417 }
5418 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackSessionBufferingStartedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5419     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5420         ::windows::runtime::Param::Borrowed(&self.0)
5421     }
5422 }
5423 unsafe impl ::std::marker::Send for MediaPlaybackSessionBufferingStartedEventArgs {}
5424 unsafe impl ::std::marker::Sync for MediaPlaybackSessionBufferingStartedEventArgs {}
5425 #[repr(transparent)]
5426 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5427 pub struct MediaPlaybackSessionOutputDegradationPolicyState(::windows::runtime::IInspectable);
5428 impl MediaPlaybackSessionOutputDegradationPolicyState {
VideoConstrictionReason(&self) -> ::windows::runtime::Result<MediaPlaybackSessionVideoConstrictionReason>5429     pub fn VideoConstrictionReason(&self) -> ::windows::runtime::Result<MediaPlaybackSessionVideoConstrictionReason> {
5430         let this = self;
5431         unsafe {
5432             let mut result__: MediaPlaybackSessionVideoConstrictionReason = ::std::mem::zeroed();
5433             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackSessionVideoConstrictionReason>(result__)
5434         }
5435     }
5436 }
5437 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackSessionOutputDegradationPolicyState {
5438     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackSessionOutputDegradationPolicyState;{558e727d-f633-49f9-965a-abaa1db709be})");
5439 }
5440 unsafe impl ::windows::runtime::Interface for MediaPlaybackSessionOutputDegradationPolicyState {
5441     type Vtable = IMediaPlaybackSessionOutputDegradationPolicyState_abi;
5442     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1435398781, 63027, 18937, [150, 90, 171, 170, 29, 183, 9, 190]);
5443 }
5444 impl ::windows::runtime::RuntimeName for MediaPlaybackSessionOutputDegradationPolicyState {
5445     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackSessionOutputDegradationPolicyState";
5446 }
5447 impl ::std::convert::From<MediaPlaybackSessionOutputDegradationPolicyState> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackSessionOutputDegradationPolicyState) -> Self5448     fn from(value: MediaPlaybackSessionOutputDegradationPolicyState) -> Self {
5449         unsafe { ::std::mem::transmute(value) }
5450     }
5451 }
5452 impl ::std::convert::From<&MediaPlaybackSessionOutputDegradationPolicyState> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackSessionOutputDegradationPolicyState) -> Self5453     fn from(value: &MediaPlaybackSessionOutputDegradationPolicyState) -> Self {
5454         ::std::convert::From::from(::std::clone::Clone::clone(value))
5455     }
5456 }
5457 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackSessionOutputDegradationPolicyState {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5458     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5459         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5460     }
5461 }
5462 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackSessionOutputDegradationPolicyState {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5463     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5464         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5465     }
5466 }
5467 impl ::std::convert::From<MediaPlaybackSessionOutputDegradationPolicyState> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackSessionOutputDegradationPolicyState) -> Self5468     fn from(value: MediaPlaybackSessionOutputDegradationPolicyState) -> Self {
5469         value.0
5470     }
5471 }
5472 impl ::std::convert::From<&MediaPlaybackSessionOutputDegradationPolicyState> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackSessionOutputDegradationPolicyState) -> Self5473     fn from(value: &MediaPlaybackSessionOutputDegradationPolicyState) -> Self {
5474         value.0.clone()
5475     }
5476 }
5477 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackSessionOutputDegradationPolicyState {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5478     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5479         ::windows::runtime::Param::Owned(self.0)
5480     }
5481 }
5482 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackSessionOutputDegradationPolicyState {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5483     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5484         ::windows::runtime::Param::Borrowed(&self.0)
5485     }
5486 }
5487 unsafe impl ::std::marker::Send for MediaPlaybackSessionOutputDegradationPolicyState {}
5488 unsafe impl ::std::marker::Sync for MediaPlaybackSessionOutputDegradationPolicyState {}
5489 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5490 #[repr(transparent)]
5491 pub struct MediaPlaybackSessionVideoConstrictionReason(pub i32);
5492 impl MediaPlaybackSessionVideoConstrictionReason {
5493     pub const None: MediaPlaybackSessionVideoConstrictionReason = MediaPlaybackSessionVideoConstrictionReason(0i32);
5494     pub const VirtualMachine: MediaPlaybackSessionVideoConstrictionReason = MediaPlaybackSessionVideoConstrictionReason(1i32);
5495     pub const UnsupportedDisplayAdapter: MediaPlaybackSessionVideoConstrictionReason = MediaPlaybackSessionVideoConstrictionReason(2i32);
5496     pub const UnsignedDriver: MediaPlaybackSessionVideoConstrictionReason = MediaPlaybackSessionVideoConstrictionReason(3i32);
5497     pub const FrameServerEnabled: MediaPlaybackSessionVideoConstrictionReason = MediaPlaybackSessionVideoConstrictionReason(4i32);
5498     pub const OutputProtectionFailed: MediaPlaybackSessionVideoConstrictionReason = MediaPlaybackSessionVideoConstrictionReason(5i32);
5499     pub const Unknown: MediaPlaybackSessionVideoConstrictionReason = MediaPlaybackSessionVideoConstrictionReason(6i32);
5500 }
5501 impl ::std::convert::From<i32> for MediaPlaybackSessionVideoConstrictionReason {
from(value: i32) -> Self5502     fn from(value: i32) -> Self {
5503         Self(value)
5504     }
5505 }
5506 unsafe impl ::windows::runtime::Abi for MediaPlaybackSessionVideoConstrictionReason {
5507     type Abi = Self;
5508     type DefaultType = Self;
5509 }
5510 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackSessionVideoConstrictionReason {
5511     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.Playback.MediaPlaybackSessionVideoConstrictionReason;i4)");
5512 }
5513 #[repr(transparent)]
5514 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5515 pub struct MediaPlaybackSphericalVideoProjection(::windows::runtime::IInspectable);
5516 impl MediaPlaybackSphericalVideoProjection {
IsEnabled(&self) -> ::windows::runtime::Result<bool>5517     pub fn IsEnabled(&self) -> ::windows::runtime::Result<bool> {
5518         let this = self;
5519         unsafe {
5520             let mut result__: bool = ::std::mem::zeroed();
5521             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
5522         }
5523     }
SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()>5524     pub fn SetIsEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
5525         let this = self;
5526         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
5527     }
5528     #[cfg(feature = "Media_MediaProperties")]
FrameFormat(&self) -> ::windows::runtime::Result<super::MediaProperties::SphericalVideoFrameFormat>5529     pub fn FrameFormat(&self) -> ::windows::runtime::Result<super::MediaProperties::SphericalVideoFrameFormat> {
5530         let this = self;
5531         unsafe {
5532             let mut result__: super::MediaProperties::SphericalVideoFrameFormat = ::std::mem::zeroed();
5533             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::MediaProperties::SphericalVideoFrameFormat>(result__)
5534         }
5535     }
5536     #[cfg(feature = "Media_MediaProperties")]
SetFrameFormat(&self, value: super::MediaProperties::SphericalVideoFrameFormat) -> ::windows::runtime::Result<()>5537     pub fn SetFrameFormat(&self, value: super::MediaProperties::SphericalVideoFrameFormat) -> ::windows::runtime::Result<()> {
5538         let this = self;
5539         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
5540     }
HorizontalFieldOfViewInDegrees(&self) -> ::windows::runtime::Result<f64>5541     pub fn HorizontalFieldOfViewInDegrees(&self) -> ::windows::runtime::Result<f64> {
5542         let this = self;
5543         unsafe {
5544             let mut result__: f64 = ::std::mem::zeroed();
5545             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
5546         }
5547     }
SetHorizontalFieldOfViewInDegrees(&self, value: f64) -> ::windows::runtime::Result<()>5548     pub fn SetHorizontalFieldOfViewInDegrees(&self, value: f64) -> ::windows::runtime::Result<()> {
5549         let this = self;
5550         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
5551     }
5552     #[cfg(feature = "Foundation_Numerics")]
ViewOrientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion>5553     pub fn ViewOrientation(&self) -> ::windows::runtime::Result<super::super::Foundation::Numerics::Quaternion> {
5554         let this = self;
5555         unsafe {
5556             let mut result__: super::super::Foundation::Numerics::Quaternion = ::std::mem::zeroed();
5557             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Numerics::Quaternion>(result__)
5558         }
5559     }
5560     #[cfg(feature = "Foundation_Numerics")]
SetViewOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()>5561     pub fn SetViewOrientation<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Numerics::Quaternion>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
5562         let this = self;
5563         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
5564     }
ProjectionMode(&self) -> ::windows::runtime::Result<SphericalVideoProjectionMode>5565     pub fn ProjectionMode(&self) -> ::windows::runtime::Result<SphericalVideoProjectionMode> {
5566         let this = self;
5567         unsafe {
5568             let mut result__: SphericalVideoProjectionMode = ::std::mem::zeroed();
5569             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SphericalVideoProjectionMode>(result__)
5570         }
5571     }
SetProjectionMode(&self, value: SphericalVideoProjectionMode) -> ::windows::runtime::Result<()>5572     pub fn SetProjectionMode(&self, value: SphericalVideoProjectionMode) -> ::windows::runtime::Result<()> {
5573         let this = self;
5574         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
5575     }
5576 }
5577 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackSphericalVideoProjection {
5578     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackSphericalVideoProjection;{d405b37c-6f0e-4661-b8ee-d487ba9752d5})");
5579 }
5580 unsafe impl ::windows::runtime::Interface for MediaPlaybackSphericalVideoProjection {
5581     type Vtable = IMediaPlaybackSphericalVideoProjection_abi;
5582     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3557143420, 28430, 18017, [184, 238, 212, 135, 186, 151, 82, 213]);
5583 }
5584 impl ::windows::runtime::RuntimeName for MediaPlaybackSphericalVideoProjection {
5585     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackSphericalVideoProjection";
5586 }
5587 impl ::std::convert::From<MediaPlaybackSphericalVideoProjection> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackSphericalVideoProjection) -> Self5588     fn from(value: MediaPlaybackSphericalVideoProjection) -> Self {
5589         unsafe { ::std::mem::transmute(value) }
5590     }
5591 }
5592 impl ::std::convert::From<&MediaPlaybackSphericalVideoProjection> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackSphericalVideoProjection) -> Self5593     fn from(value: &MediaPlaybackSphericalVideoProjection) -> Self {
5594         ::std::convert::From::from(::std::clone::Clone::clone(value))
5595     }
5596 }
5597 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackSphericalVideoProjection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5598     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5599         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5600     }
5601 }
5602 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackSphericalVideoProjection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5603     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5604         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5605     }
5606 }
5607 impl ::std::convert::From<MediaPlaybackSphericalVideoProjection> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackSphericalVideoProjection) -> Self5608     fn from(value: MediaPlaybackSphericalVideoProjection) -> Self {
5609         value.0
5610     }
5611 }
5612 impl ::std::convert::From<&MediaPlaybackSphericalVideoProjection> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackSphericalVideoProjection) -> Self5613     fn from(value: &MediaPlaybackSphericalVideoProjection) -> Self {
5614         value.0.clone()
5615     }
5616 }
5617 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackSphericalVideoProjection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5618     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5619         ::windows::runtime::Param::Owned(self.0)
5620     }
5621 }
5622 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackSphericalVideoProjection {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5623     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5624         ::windows::runtime::Param::Borrowed(&self.0)
5625     }
5626 }
5627 unsafe impl ::std::marker::Send for MediaPlaybackSphericalVideoProjection {}
5628 unsafe impl ::std::marker::Sync for MediaPlaybackSphericalVideoProjection {}
5629 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5630 #[repr(transparent)]
5631 pub struct MediaPlaybackState(pub i32);
5632 impl MediaPlaybackState {
5633     pub const None: MediaPlaybackState = MediaPlaybackState(0i32);
5634     pub const Opening: MediaPlaybackState = MediaPlaybackState(1i32);
5635     pub const Buffering: MediaPlaybackState = MediaPlaybackState(2i32);
5636     pub const Playing: MediaPlaybackState = MediaPlaybackState(3i32);
5637     pub const Paused: MediaPlaybackState = MediaPlaybackState(4i32);
5638 }
5639 impl ::std::convert::From<i32> for MediaPlaybackState {
from(value: i32) -> Self5640     fn from(value: i32) -> Self {
5641         Self(value)
5642     }
5643 }
5644 unsafe impl ::windows::runtime::Abi for MediaPlaybackState {
5645     type Abi = Self;
5646     type DefaultType = Self;
5647 }
5648 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackState {
5649     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.Playback.MediaPlaybackState;i4)");
5650 }
5651 #[cfg(feature = "Foundation_Collections")]
5652 #[repr(transparent)]
5653 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5654 pub struct MediaPlaybackTimedMetadataTrackList(::windows::runtime::IInspectable);
5655 #[cfg(feature = "Foundation_Collections")]
5656 impl MediaPlaybackTimedMetadataTrackList {
5657     #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
GetAt(&self, index: u32) -> ::windows::runtime::Result<super::Core::TimedMetadataTrack>5658     pub fn GetAt(&self, index: u32) -> ::windows::runtime::Result<super::Core::TimedMetadataTrack> {
5659         let this = self;
5660         unsafe {
5661             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5662             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), index, &mut result__).from_abi::<super::Core::TimedMetadataTrack>(result__)
5663         }
5664     }
5665     #[cfg(feature = "Foundation_Collections")]
Size(&self) -> ::windows::runtime::Result<u32>5666     pub fn Size(&self) -> ::windows::runtime::Result<u32> {
5667         let this = self;
5668         unsafe {
5669             let mut result__: u32 = ::std::mem::zeroed();
5670             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
5671         }
5672     }
5673     #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
IndexOf<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::TimedMetadataTrack>>(&self, value: Param0, index: &mut u32) -> ::windows::runtime::Result<bool>5674     pub fn IndexOf<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::TimedMetadataTrack>>(&self, value: Param0, index: &mut u32) -> ::windows::runtime::Result<bool> {
5675         let this = self;
5676         unsafe {
5677             let mut result__: bool = ::std::mem::zeroed();
5678             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi(), index, &mut result__).from_abi::<bool>(result__)
5679         }
5680     }
5681     #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
GetMany(&self, startindex: u32, items: &mut [<super::Core::TimedMetadataTrack as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32>5682     pub fn GetMany(&self, startindex: u32, items: &mut [<super::Core::TimedMetadataTrack as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32> {
5683         let this = self;
5684         unsafe {
5685             let mut result__: u32 = ::std::mem::zeroed();
5686             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), startindex, items.len() as u32, ::std::mem::transmute_copy(&items), &mut result__).from_abi::<u32>(result__)
5687         }
5688     }
5689     #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<super::Core::TimedMetadataTrack>>5690     pub fn First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<super::Core::TimedMetadataTrack>> {
5691         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IIterable<super::Core::TimedMetadataTrack>>(self)?;
5692         unsafe {
5693             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5694             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IIterator<super::Core::TimedMetadataTrack>>(result__)
5695         }
5696     }
5697     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
PresentationModeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackTimedMetadataTrackList, TimedMetadataPresentationModeChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5698     pub fn PresentationModeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlaybackTimedMetadataTrackList, TimedMetadataPresentationModeChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5699         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackTimedMetadataTrackList>(self)?;
5700         unsafe {
5701             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5702             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5703         }
5704     }
5705     #[cfg(feature = "Foundation")]
RemovePresentationModeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5706     pub fn RemovePresentationModeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5707         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackTimedMetadataTrackList>(self)?;
5708         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5709     }
GetPresentationMode(&self, index: u32) -> ::windows::runtime::Result<TimedMetadataTrackPresentationMode>5710     pub fn GetPresentationMode(&self, index: u32) -> ::windows::runtime::Result<TimedMetadataTrackPresentationMode> {
5711         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackTimedMetadataTrackList>(self)?;
5712         unsafe {
5713             let mut result__: TimedMetadataTrackPresentationMode = ::std::mem::zeroed();
5714             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), index, &mut result__).from_abi::<TimedMetadataTrackPresentationMode>(result__)
5715         }
5716     }
SetPresentationMode(&self, index: u32, value: TimedMetadataTrackPresentationMode) -> ::windows::runtime::Result<()>5717     pub fn SetPresentationMode(&self, index: u32, value: TimedMetadataTrackPresentationMode) -> ::windows::runtime::Result<()> {
5718         let this = &::windows::runtime::Interface::cast::<IMediaPlaybackTimedMetadataTrackList>(self)?;
5719         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), index, value).ok() }
5720     }
5721 }
5722 #[cfg(feature = "Foundation_Collections")]
5723 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackTimedMetadataTrackList {
5724     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackTimedMetadataTrackList;pinterface({bbe1fa4c-b0e3-4583-baef-1f1b2e483e56};rc(Windows.Media.Core.TimedMetadataTrack;{9e6aed9e-f67a-49a9-b330-cf03b0e9cf07})))");
5725 }
5726 #[cfg(feature = "Foundation_Collections")]
5727 unsafe impl ::windows::runtime::Interface for MediaPlaybackTimedMetadataTrackList {
5728     type Vtable = super::super::Foundation::Collections::IVectorView_abi<super::Core::TimedMetadataTrack>;
5729     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_signature(<super::super::Foundation::Collections::IVectorView<super::Core::TimedMetadataTrack> as ::windows::runtime::RuntimeType>::SIGNATURE);
5730 }
5731 #[cfg(feature = "Foundation_Collections")]
5732 impl ::windows::runtime::RuntimeName for MediaPlaybackTimedMetadataTrackList {
5733     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackTimedMetadataTrackList";
5734 }
5735 #[cfg(feature = "Foundation_Collections")]
5736 impl ::std::convert::From<MediaPlaybackTimedMetadataTrackList> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackTimedMetadataTrackList) -> Self5737     fn from(value: MediaPlaybackTimedMetadataTrackList) -> Self {
5738         unsafe { ::std::mem::transmute(value) }
5739     }
5740 }
5741 #[cfg(feature = "Foundation_Collections")]
5742 impl ::std::convert::From<&MediaPlaybackTimedMetadataTrackList> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackTimedMetadataTrackList) -> Self5743     fn from(value: &MediaPlaybackTimedMetadataTrackList) -> Self {
5744         ::std::convert::From::from(::std::clone::Clone::clone(value))
5745     }
5746 }
5747 #[cfg(feature = "Foundation_Collections")]
5748 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackTimedMetadataTrackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5749     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5750         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5751     }
5752 }
5753 #[cfg(feature = "Foundation_Collections")]
5754 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackTimedMetadataTrackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5755     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5756         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5757     }
5758 }
5759 #[cfg(feature = "Foundation_Collections")]
5760 impl ::std::convert::From<MediaPlaybackTimedMetadataTrackList> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackTimedMetadataTrackList) -> Self5761     fn from(value: MediaPlaybackTimedMetadataTrackList) -> Self {
5762         value.0
5763     }
5764 }
5765 #[cfg(feature = "Foundation_Collections")]
5766 impl ::std::convert::From<&MediaPlaybackTimedMetadataTrackList> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackTimedMetadataTrackList) -> Self5767     fn from(value: &MediaPlaybackTimedMetadataTrackList) -> Self {
5768         value.0.clone()
5769     }
5770 }
5771 #[cfg(feature = "Foundation_Collections")]
5772 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackTimedMetadataTrackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5773     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5774         ::windows::runtime::Param::Owned(self.0)
5775     }
5776 }
5777 #[cfg(feature = "Foundation_Collections")]
5778 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackTimedMetadataTrackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5779     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5780         ::windows::runtime::Param::Borrowed(&self.0)
5781     }
5782 }
5783 #[cfg(feature = "Foundation_Collections")]
5784 impl ::std::convert::From<MediaPlaybackTimedMetadataTrackList> for super::super::Foundation::Collections::IVectorView<super::Core::TimedMetadataTrack> {
from(value: MediaPlaybackTimedMetadataTrackList) -> Self5785     fn from(value: MediaPlaybackTimedMetadataTrackList) -> Self {
5786         unsafe { ::std::mem::transmute(value) }
5787     }
5788 }
5789 #[cfg(feature = "Foundation_Collections")]
5790 impl ::std::convert::From<&MediaPlaybackTimedMetadataTrackList> for super::super::Foundation::Collections::IVectorView<super::Core::TimedMetadataTrack> {
from(value: &MediaPlaybackTimedMetadataTrackList) -> Self5791     fn from(value: &MediaPlaybackTimedMetadataTrackList) -> Self {
5792         ::std::convert::From::from(::std::clone::Clone::clone(value))
5793     }
5794 }
5795 #[cfg(feature = "Foundation_Collections")]
5796 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IVectorView<super::Core::TimedMetadataTrack>> for MediaPlaybackTimedMetadataTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVectorView<super::Core::TimedMetadataTrack>>5797     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVectorView<super::Core::TimedMetadataTrack>> {
5798         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::Foundation::Collections::IVectorView<super::Core::TimedMetadataTrack>>::into(self))
5799     }
5800 }
5801 #[cfg(feature = "Foundation_Collections")]
5802 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IVectorView<super::Core::TimedMetadataTrack>> for &MediaPlaybackTimedMetadataTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVectorView<super::Core::TimedMetadataTrack>>5803     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVectorView<super::Core::TimedMetadataTrack>> {
5804         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::Foundation::Collections::IVectorView<super::Core::TimedMetadataTrack>>::into(::std::clone::Clone::clone(self)))
5805     }
5806 }
5807 #[cfg(feature = "Foundation_Collections")]
5808 impl ::std::convert::TryFrom<MediaPlaybackTimedMetadataTrackList> for super::super::Foundation::Collections::IIterable<super::Core::TimedMetadataTrack> {
5809     type Error = ::windows::runtime::Error;
try_from(value: MediaPlaybackTimedMetadataTrackList) -> ::windows::runtime::Result<Self>5810     fn try_from(value: MediaPlaybackTimedMetadataTrackList) -> ::windows::runtime::Result<Self> {
5811         ::std::convert::TryFrom::try_from(&value)
5812     }
5813 }
5814 #[cfg(feature = "Foundation_Collections")]
5815 impl ::std::convert::TryFrom<&MediaPlaybackTimedMetadataTrackList> for super::super::Foundation::Collections::IIterable<super::Core::TimedMetadataTrack> {
5816     type Error = ::windows::runtime::Error;
try_from(value: &MediaPlaybackTimedMetadataTrackList) -> ::windows::runtime::Result<Self>5817     fn try_from(value: &MediaPlaybackTimedMetadataTrackList) -> ::windows::runtime::Result<Self> {
5818         ::windows::runtime::Interface::cast(value)
5819     }
5820 }
5821 #[cfg(feature = "Foundation_Collections")]
5822 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::Core::TimedMetadataTrack>> for MediaPlaybackTimedMetadataTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::Core::TimedMetadataTrack>>5823     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::Core::TimedMetadataTrack>> {
5824         ::windows::runtime::IntoParam::into_param(&self)
5825     }
5826 }
5827 #[cfg(feature = "Foundation_Collections")]
5828 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::Core::TimedMetadataTrack>> for &MediaPlaybackTimedMetadataTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::Core::TimedMetadataTrack>>5829     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::Core::TimedMetadataTrack>> {
5830         ::std::convert::TryInto::<super::super::Foundation::Collections::IIterable<super::Core::TimedMetadataTrack>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
5831     }
5832 }
5833 #[cfg(feature = "Foundation_Collections")]
5834 unsafe impl ::std::marker::Send for MediaPlaybackTimedMetadataTrackList {}
5835 #[cfg(feature = "Foundation_Collections")]
5836 unsafe impl ::std::marker::Sync for MediaPlaybackTimedMetadataTrackList {}
5837 #[cfg(all(feature = "Foundation_Collections"))]
5838 impl ::std::iter::IntoIterator for MediaPlaybackTimedMetadataTrackList {
5839     type Item = super::Core::TimedMetadataTrack;
5840     type IntoIter = super::super::Foundation::Collections::VectorViewIterator<Self::Item>;
into_iter(self) -> Self::IntoIter5841     fn into_iter(self) -> Self::IntoIter {
5842         ::std::iter::IntoIterator::into_iter(&self)
5843     }
5844 }
5845 #[cfg(all(feature = "Foundation_Collections"))]
5846 impl ::std::iter::IntoIterator for &MediaPlaybackTimedMetadataTrackList {
5847     type Item = super::Core::TimedMetadataTrack;
5848     type IntoIter = super::super::Foundation::Collections::VectorViewIterator<Self::Item>;
into_iter(self) -> Self::IntoIter5849     fn into_iter(self) -> Self::IntoIter {
5850         super::super::Foundation::Collections::VectorViewIterator::new(::std::convert::TryInto::try_into(self).ok())
5851     }
5852 }
5853 #[cfg(feature = "Foundation_Collections")]
5854 #[repr(transparent)]
5855 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5856 pub struct MediaPlaybackVideoTrackList(::windows::runtime::IInspectable);
5857 #[cfg(feature = "Foundation_Collections")]
5858 impl MediaPlaybackVideoTrackList {
5859     #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
GetAt(&self, index: u32) -> ::windows::runtime::Result<super::Core::VideoTrack>5860     pub fn GetAt(&self, index: u32) -> ::windows::runtime::Result<super::Core::VideoTrack> {
5861         let this = self;
5862         unsafe {
5863             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5864             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), index, &mut result__).from_abi::<super::Core::VideoTrack>(result__)
5865         }
5866     }
5867     #[cfg(feature = "Foundation_Collections")]
Size(&self) -> ::windows::runtime::Result<u32>5868     pub fn Size(&self) -> ::windows::runtime::Result<u32> {
5869         let this = self;
5870         unsafe {
5871             let mut result__: u32 = ::std::mem::zeroed();
5872             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
5873         }
5874     }
5875     #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
IndexOf<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::VideoTrack>>(&self, value: Param0, index: &mut u32) -> ::windows::runtime::Result<bool>5876     pub fn IndexOf<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::VideoTrack>>(&self, value: Param0, index: &mut u32) -> ::windows::runtime::Result<bool> {
5877         let this = self;
5878         unsafe {
5879             let mut result__: bool = ::std::mem::zeroed();
5880             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi(), index, &mut result__).from_abi::<bool>(result__)
5881         }
5882     }
5883     #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
GetMany(&self, startindex: u32, items: &mut [<super::Core::VideoTrack as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32>5884     pub fn GetMany(&self, startindex: u32, items: &mut [<super::Core::VideoTrack as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<u32> {
5885         let this = self;
5886         unsafe {
5887             let mut result__: u32 = ::std::mem::zeroed();
5888             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), startindex, items.len() as u32, ::std::mem::transmute_copy(&items), &mut result__).from_abi::<u32>(result__)
5889         }
5890     }
5891     #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<super::Core::VideoTrack>>5892     pub fn First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<super::Core::VideoTrack>> {
5893         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IIterable<super::Core::VideoTrack>>(self)?;
5894         unsafe {
5895             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5896             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IIterator<super::Core::VideoTrack>>(result__)
5897         }
5898     }
5899     #[cfg(all(feature = "Foundation", feature = "Media_Core"))]
SelectedIndexChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<super::Core::ISingleSelectMediaTrackList, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5900     pub fn SelectedIndexChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<super::Core::ISingleSelectMediaTrackList, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5901         let this = &::windows::runtime::Interface::cast::<super::Core::ISingleSelectMediaTrackList>(self)?;
5902         unsafe {
5903             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5904             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5905         }
5906     }
5907     #[cfg(all(feature = "Foundation", feature = "Media_Core"))]
RemoveSelectedIndexChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>5908     pub fn RemoveSelectedIndexChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
5909         let this = &::windows::runtime::Interface::cast::<super::Core::ISingleSelectMediaTrackList>(self)?;
5910         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
5911     }
5912     #[cfg(feature = "Media_Core")]
SetSelectedIndex(&self, value: i32) -> ::windows::runtime::Result<()>5913     pub fn SetSelectedIndex(&self, value: i32) -> ::windows::runtime::Result<()> {
5914         let this = &::windows::runtime::Interface::cast::<super::Core::ISingleSelectMediaTrackList>(self)?;
5915         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() }
5916     }
5917     #[cfg(feature = "Media_Core")]
SelectedIndex(&self) -> ::windows::runtime::Result<i32>5918     pub fn SelectedIndex(&self) -> ::windows::runtime::Result<i32> {
5919         let this = &::windows::runtime::Interface::cast::<super::Core::ISingleSelectMediaTrackList>(self)?;
5920         unsafe {
5921             let mut result__: i32 = ::std::mem::zeroed();
5922             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
5923         }
5924     }
5925 }
5926 #[cfg(feature = "Foundation_Collections")]
5927 unsafe impl ::windows::runtime::RuntimeType for MediaPlaybackVideoTrackList {
5928     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlaybackVideoTrackList;pinterface({bbe1fa4c-b0e3-4583-baef-1f1b2e483e56};rc(Windows.Media.Core.VideoTrack;{03e1fafc-c931-491a-b46b-c10ee8c256b7})))");
5929 }
5930 #[cfg(feature = "Foundation_Collections")]
5931 unsafe impl ::windows::runtime::Interface for MediaPlaybackVideoTrackList {
5932     type Vtable = super::super::Foundation::Collections::IVectorView_abi<super::Core::VideoTrack>;
5933     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_signature(<super::super::Foundation::Collections::IVectorView<super::Core::VideoTrack> as ::windows::runtime::RuntimeType>::SIGNATURE);
5934 }
5935 #[cfg(feature = "Foundation_Collections")]
5936 impl ::windows::runtime::RuntimeName for MediaPlaybackVideoTrackList {
5937     const NAME: &'static str = "Windows.Media.Playback.MediaPlaybackVideoTrackList";
5938 }
5939 #[cfg(feature = "Foundation_Collections")]
5940 impl ::std::convert::From<MediaPlaybackVideoTrackList> for ::windows::runtime::IUnknown {
from(value: MediaPlaybackVideoTrackList) -> Self5941     fn from(value: MediaPlaybackVideoTrackList) -> Self {
5942         unsafe { ::std::mem::transmute(value) }
5943     }
5944 }
5945 #[cfg(feature = "Foundation_Collections")]
5946 impl ::std::convert::From<&MediaPlaybackVideoTrackList> for ::windows::runtime::IUnknown {
from(value: &MediaPlaybackVideoTrackList) -> Self5947     fn from(value: &MediaPlaybackVideoTrackList) -> Self {
5948         ::std::convert::From::from(::std::clone::Clone::clone(value))
5949     }
5950 }
5951 #[cfg(feature = "Foundation_Collections")]
5952 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlaybackVideoTrackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5953     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5954         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5955     }
5956 }
5957 #[cfg(feature = "Foundation_Collections")]
5958 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlaybackVideoTrackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5959     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5960         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5961     }
5962 }
5963 #[cfg(feature = "Foundation_Collections")]
5964 impl ::std::convert::From<MediaPlaybackVideoTrackList> for ::windows::runtime::IInspectable {
from(value: MediaPlaybackVideoTrackList) -> Self5965     fn from(value: MediaPlaybackVideoTrackList) -> Self {
5966         value.0
5967     }
5968 }
5969 #[cfg(feature = "Foundation_Collections")]
5970 impl ::std::convert::From<&MediaPlaybackVideoTrackList> for ::windows::runtime::IInspectable {
from(value: &MediaPlaybackVideoTrackList) -> Self5971     fn from(value: &MediaPlaybackVideoTrackList) -> Self {
5972         value.0.clone()
5973     }
5974 }
5975 #[cfg(feature = "Foundation_Collections")]
5976 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlaybackVideoTrackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5977     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5978         ::windows::runtime::Param::Owned(self.0)
5979     }
5980 }
5981 #[cfg(feature = "Foundation_Collections")]
5982 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlaybackVideoTrackList {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5983     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5984         ::windows::runtime::Param::Borrowed(&self.0)
5985     }
5986 }
5987 #[cfg(feature = "Foundation_Collections")]
5988 impl ::std::convert::From<MediaPlaybackVideoTrackList> for super::super::Foundation::Collections::IVectorView<super::Core::VideoTrack> {
from(value: MediaPlaybackVideoTrackList) -> Self5989     fn from(value: MediaPlaybackVideoTrackList) -> Self {
5990         unsafe { ::std::mem::transmute(value) }
5991     }
5992 }
5993 #[cfg(feature = "Foundation_Collections")]
5994 impl ::std::convert::From<&MediaPlaybackVideoTrackList> for super::super::Foundation::Collections::IVectorView<super::Core::VideoTrack> {
from(value: &MediaPlaybackVideoTrackList) -> Self5995     fn from(value: &MediaPlaybackVideoTrackList) -> Self {
5996         ::std::convert::From::from(::std::clone::Clone::clone(value))
5997     }
5998 }
5999 #[cfg(feature = "Foundation_Collections")]
6000 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IVectorView<super::Core::VideoTrack>> for MediaPlaybackVideoTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVectorView<super::Core::VideoTrack>>6001     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVectorView<super::Core::VideoTrack>> {
6002         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::Foundation::Collections::IVectorView<super::Core::VideoTrack>>::into(self))
6003     }
6004 }
6005 #[cfg(feature = "Foundation_Collections")]
6006 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IVectorView<super::Core::VideoTrack>> for &MediaPlaybackVideoTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVectorView<super::Core::VideoTrack>>6007     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IVectorView<super::Core::VideoTrack>> {
6008         ::windows::runtime::Param::Owned(::std::convert::Into::<super::super::Foundation::Collections::IVectorView<super::Core::VideoTrack>>::into(::std::clone::Clone::clone(self)))
6009     }
6010 }
6011 #[cfg(feature = "Foundation_Collections")]
6012 impl ::std::convert::TryFrom<MediaPlaybackVideoTrackList> for super::super::Foundation::Collections::IIterable<super::Core::VideoTrack> {
6013     type Error = ::windows::runtime::Error;
try_from(value: MediaPlaybackVideoTrackList) -> ::windows::runtime::Result<Self>6014     fn try_from(value: MediaPlaybackVideoTrackList) -> ::windows::runtime::Result<Self> {
6015         ::std::convert::TryFrom::try_from(&value)
6016     }
6017 }
6018 #[cfg(feature = "Foundation_Collections")]
6019 impl ::std::convert::TryFrom<&MediaPlaybackVideoTrackList> for super::super::Foundation::Collections::IIterable<super::Core::VideoTrack> {
6020     type Error = ::windows::runtime::Error;
try_from(value: &MediaPlaybackVideoTrackList) -> ::windows::runtime::Result<Self>6021     fn try_from(value: &MediaPlaybackVideoTrackList) -> ::windows::runtime::Result<Self> {
6022         ::windows::runtime::Interface::cast(value)
6023     }
6024 }
6025 #[cfg(feature = "Foundation_Collections")]
6026 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::Core::VideoTrack>> for MediaPlaybackVideoTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::Core::VideoTrack>>6027     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::Core::VideoTrack>> {
6028         ::windows::runtime::IntoParam::into_param(&self)
6029     }
6030 }
6031 #[cfg(feature = "Foundation_Collections")]
6032 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<super::Core::VideoTrack>> for &MediaPlaybackVideoTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::Core::VideoTrack>>6033     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<super::Core::VideoTrack>> {
6034         ::std::convert::TryInto::<super::super::Foundation::Collections::IIterable<super::Core::VideoTrack>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6035     }
6036 }
6037 #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
6038 impl ::std::convert::TryFrom<MediaPlaybackVideoTrackList> for super::Core::ISingleSelectMediaTrackList {
6039     type Error = ::windows::runtime::Error;
try_from(value: MediaPlaybackVideoTrackList) -> ::windows::runtime::Result<Self>6040     fn try_from(value: MediaPlaybackVideoTrackList) -> ::windows::runtime::Result<Self> {
6041         ::std::convert::TryFrom::try_from(&value)
6042     }
6043 }
6044 #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
6045 impl ::std::convert::TryFrom<&MediaPlaybackVideoTrackList> for super::Core::ISingleSelectMediaTrackList {
6046     type Error = ::windows::runtime::Error;
try_from(value: &MediaPlaybackVideoTrackList) -> ::windows::runtime::Result<Self>6047     fn try_from(value: &MediaPlaybackVideoTrackList) -> ::windows::runtime::Result<Self> {
6048         ::windows::runtime::Interface::cast(value)
6049     }
6050 }
6051 #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
6052 impl<'a> ::windows::runtime::IntoParam<'a, super::Core::ISingleSelectMediaTrackList> for MediaPlaybackVideoTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::Core::ISingleSelectMediaTrackList>6053     fn into_param(self) -> ::windows::runtime::Param<'a, super::Core::ISingleSelectMediaTrackList> {
6054         ::windows::runtime::IntoParam::into_param(&self)
6055     }
6056 }
6057 #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
6058 impl<'a> ::windows::runtime::IntoParam<'a, super::Core::ISingleSelectMediaTrackList> for &MediaPlaybackVideoTrackList {
into_param(self) -> ::windows::runtime::Param<'a, super::Core::ISingleSelectMediaTrackList>6059     fn into_param(self) -> ::windows::runtime::Param<'a, super::Core::ISingleSelectMediaTrackList> {
6060         ::std::convert::TryInto::<super::Core::ISingleSelectMediaTrackList>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6061     }
6062 }
6063 #[cfg(feature = "Foundation_Collections")]
6064 unsafe impl ::std::marker::Send for MediaPlaybackVideoTrackList {}
6065 #[cfg(feature = "Foundation_Collections")]
6066 unsafe impl ::std::marker::Sync for MediaPlaybackVideoTrackList {}
6067 #[cfg(all(feature = "Foundation_Collections"))]
6068 impl ::std::iter::IntoIterator for MediaPlaybackVideoTrackList {
6069     type Item = super::Core::VideoTrack;
6070     type IntoIter = super::super::Foundation::Collections::VectorViewIterator<Self::Item>;
into_iter(self) -> Self::IntoIter6071     fn into_iter(self) -> Self::IntoIter {
6072         ::std::iter::IntoIterator::into_iter(&self)
6073     }
6074 }
6075 #[cfg(all(feature = "Foundation_Collections"))]
6076 impl ::std::iter::IntoIterator for &MediaPlaybackVideoTrackList {
6077     type Item = super::Core::VideoTrack;
6078     type IntoIter = super::super::Foundation::Collections::VectorViewIterator<Self::Item>;
into_iter(self) -> Self::IntoIter6079     fn into_iter(self) -> Self::IntoIter {
6080         super::super::Foundation::Collections::VectorViewIterator::new(::std::convert::TryInto::try_into(self).ok())
6081     }
6082 }
6083 #[repr(transparent)]
6084 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6085 pub struct MediaPlayer(::windows::runtime::IInspectable);
6086 impl MediaPlayer {
new() -> ::windows::runtime::Result<Self>6087     pub fn new() -> ::windows::runtime::Result<Self> {
6088         Self::IActivationFactory(|f| f.activate_instance::<Self>())
6089     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>6090     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
6091         static mut SHARED: ::windows::runtime::FactoryCache<MediaPlayer, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
6092         unsafe { SHARED.call(callback) }
6093     }
AutoPlay(&self) -> ::windows::runtime::Result<bool>6094     pub fn AutoPlay(&self) -> ::windows::runtime::Result<bool> {
6095         let this = self;
6096         unsafe {
6097             let mut result__: bool = ::std::mem::zeroed();
6098             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6099         }
6100     }
SetAutoPlay(&self, value: bool) -> ::windows::runtime::Result<()>6101     pub fn SetAutoPlay(&self, value: bool) -> ::windows::runtime::Result<()> {
6102         let this = self;
6103         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
6104     }
6105     #[cfg(feature = "deprecated")]
6106     #[cfg(feature = "Foundation")]
NaturalDuration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>6107     pub fn NaturalDuration(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
6108         let this = self;
6109         unsafe {
6110             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
6111             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
6112         }
6113     }
6114     #[cfg(feature = "deprecated")]
6115     #[cfg(feature = "Foundation")]
Position(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>6116     pub fn Position(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
6117         let this = self;
6118         unsafe {
6119             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
6120             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
6121         }
6122     }
6123     #[cfg(feature = "deprecated")]
6124     #[cfg(feature = "Foundation")]
SetPosition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>6125     pub fn SetPosition<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6126         let this = self;
6127         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6128     }
6129     #[cfg(feature = "deprecated")]
BufferingProgress(&self) -> ::windows::runtime::Result<f64>6130     pub fn BufferingProgress(&self) -> ::windows::runtime::Result<f64> {
6131         let this = self;
6132         unsafe {
6133             let mut result__: f64 = ::std::mem::zeroed();
6134             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
6135         }
6136     }
6137     #[cfg(feature = "deprecated")]
CurrentState(&self) -> ::windows::runtime::Result<MediaPlayerState>6138     pub fn CurrentState(&self) -> ::windows::runtime::Result<MediaPlayerState> {
6139         let this = self;
6140         unsafe {
6141             let mut result__: MediaPlayerState = ::std::mem::zeroed();
6142             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlayerState>(result__)
6143         }
6144     }
6145     #[cfg(feature = "deprecated")]
CanSeek(&self) -> ::windows::runtime::Result<bool>6146     pub fn CanSeek(&self) -> ::windows::runtime::Result<bool> {
6147         let this = self;
6148         unsafe {
6149             let mut result__: bool = ::std::mem::zeroed();
6150             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6151         }
6152     }
6153     #[cfg(feature = "deprecated")]
CanPause(&self) -> ::windows::runtime::Result<bool>6154     pub fn CanPause(&self) -> ::windows::runtime::Result<bool> {
6155         let this = self;
6156         unsafe {
6157             let mut result__: bool = ::std::mem::zeroed();
6158             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6159         }
6160     }
IsLoopingEnabled(&self) -> ::windows::runtime::Result<bool>6161     pub fn IsLoopingEnabled(&self) -> ::windows::runtime::Result<bool> {
6162         let this = self;
6163         unsafe {
6164             let mut result__: bool = ::std::mem::zeroed();
6165             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6166         }
6167     }
SetIsLoopingEnabled(&self, value: bool) -> ::windows::runtime::Result<()>6168     pub fn SetIsLoopingEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
6169         let this = self;
6170         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), value).ok() }
6171     }
6172     #[cfg(feature = "deprecated")]
IsProtected(&self) -> ::windows::runtime::Result<bool>6173     pub fn IsProtected(&self) -> ::windows::runtime::Result<bool> {
6174         let this = self;
6175         unsafe {
6176             let mut result__: bool = ::std::mem::zeroed();
6177             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6178         }
6179     }
IsMuted(&self) -> ::windows::runtime::Result<bool>6180     pub fn IsMuted(&self) -> ::windows::runtime::Result<bool> {
6181         let this = self;
6182         unsafe {
6183             let mut result__: bool = ::std::mem::zeroed();
6184             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6185         }
6186     }
SetIsMuted(&self, value: bool) -> ::windows::runtime::Result<()>6187     pub fn SetIsMuted(&self, value: bool) -> ::windows::runtime::Result<()> {
6188         let this = self;
6189         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value).ok() }
6190     }
6191     #[cfg(feature = "deprecated")]
PlaybackRate(&self) -> ::windows::runtime::Result<f64>6192     pub fn PlaybackRate(&self) -> ::windows::runtime::Result<f64> {
6193         let this = self;
6194         unsafe {
6195             let mut result__: f64 = ::std::mem::zeroed();
6196             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
6197         }
6198     }
6199     #[cfg(feature = "deprecated")]
SetPlaybackRate(&self, value: f64) -> ::windows::runtime::Result<()>6200     pub fn SetPlaybackRate(&self, value: f64) -> ::windows::runtime::Result<()> {
6201         let this = self;
6202         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value).ok() }
6203     }
Volume(&self) -> ::windows::runtime::Result<f64>6204     pub fn Volume(&self) -> ::windows::runtime::Result<f64> {
6205         let this = self;
6206         unsafe {
6207             let mut result__: f64 = ::std::mem::zeroed();
6208             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
6209         }
6210     }
SetVolume(&self, value: f64) -> ::windows::runtime::Result<()>6211     pub fn SetVolume(&self, value: f64) -> ::windows::runtime::Result<()> {
6212         let this = self;
6213         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value).ok() }
6214     }
6215     #[cfg(feature = "deprecated")]
PlaybackMediaMarkers(&self) -> ::windows::runtime::Result<PlaybackMediaMarkerSequence>6216     pub fn PlaybackMediaMarkers(&self) -> ::windows::runtime::Result<PlaybackMediaMarkerSequence> {
6217         let this = self;
6218         unsafe {
6219             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6220             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PlaybackMediaMarkerSequence>(result__)
6221         }
6222     }
6223     #[cfg(feature = "Foundation")]
MediaOpened<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6224     pub fn MediaOpened<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6225         let this = self;
6226         unsafe {
6227             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6228             (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6229         }
6230     }
6231     #[cfg(feature = "Foundation")]
RemoveMediaOpened<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6232     pub fn RemoveMediaOpened<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6233         let this = self;
6234         unsafe { (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6235     }
6236     #[cfg(feature = "Foundation")]
MediaEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6237     pub fn MediaEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6238         let this = self;
6239         unsafe {
6240             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6241             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6242         }
6243     }
6244     #[cfg(feature = "Foundation")]
RemoveMediaEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6245     pub fn RemoveMediaEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6246         let this = self;
6247         unsafe { (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6248     }
6249     #[cfg(feature = "Foundation")]
MediaFailed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, MediaPlayerFailedEventArgs>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6250     pub fn MediaFailed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, MediaPlayerFailedEventArgs>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6251         let this = self;
6252         unsafe {
6253             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6254             (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6255         }
6256     }
6257     #[cfg(feature = "Foundation")]
RemoveMediaFailed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6258     pub fn RemoveMediaFailed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6259         let this = self;
6260         unsafe { (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6261     }
6262     #[cfg(feature = "deprecated")]
6263     #[cfg(feature = "Foundation")]
CurrentStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6264     pub fn CurrentStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6265         let this = self;
6266         unsafe {
6267             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6268             (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6269         }
6270     }
6271     #[cfg(feature = "deprecated")]
6272     #[cfg(feature = "Foundation")]
RemoveCurrentStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6273     pub fn RemoveCurrentStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6274         let this = self;
6275         unsafe { (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6276     }
6277     #[cfg(feature = "deprecated")]
6278     #[cfg(feature = "Foundation")]
PlaybackMediaMarkerReached<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, PlaybackMediaMarkerReachedEventArgs>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6279     pub fn PlaybackMediaMarkerReached<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, PlaybackMediaMarkerReachedEventArgs>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6280         let this = self;
6281         unsafe {
6282             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6283             (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6284         }
6285     }
6286     #[cfg(feature = "deprecated")]
6287     #[cfg(feature = "Foundation")]
RemovePlaybackMediaMarkerReached<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6288     pub fn RemovePlaybackMediaMarkerReached<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6289         let this = self;
6290         unsafe { (::windows::runtime::Interface::vtable(this).34)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6291     }
6292     #[cfg(feature = "deprecated")]
6293     #[cfg(feature = "Foundation")]
MediaPlayerRateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, MediaPlayerRateChangedEventArgs>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6294     pub fn MediaPlayerRateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, MediaPlayerRateChangedEventArgs>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6295         let this = self;
6296         unsafe {
6297             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6298             (::windows::runtime::Interface::vtable(this).35)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6299         }
6300     }
6301     #[cfg(feature = "deprecated")]
6302     #[cfg(feature = "Foundation")]
RemoveMediaPlayerRateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6303     pub fn RemoveMediaPlayerRateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6304         let this = self;
6305         unsafe { (::windows::runtime::Interface::vtable(this).36)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6306     }
6307     #[cfg(feature = "Foundation")]
VolumeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6308     pub fn VolumeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6309         let this = self;
6310         unsafe {
6311             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6312             (::windows::runtime::Interface::vtable(this).37)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6313         }
6314     }
6315     #[cfg(feature = "Foundation")]
RemoveVolumeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6316     pub fn RemoveVolumeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6317         let this = self;
6318         unsafe { (::windows::runtime::Interface::vtable(this).38)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6319     }
6320     #[cfg(feature = "deprecated")]
6321     #[cfg(feature = "Foundation")]
SeekCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6322     pub fn SeekCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6323         let this = self;
6324         unsafe {
6325             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6326             (::windows::runtime::Interface::vtable(this).39)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6327         }
6328     }
6329     #[cfg(feature = "deprecated")]
6330     #[cfg(feature = "Foundation")]
RemoveSeekCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6331     pub fn RemoveSeekCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6332         let this = self;
6333         unsafe { (::windows::runtime::Interface::vtable(this).40)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6334     }
6335     #[cfg(feature = "deprecated")]
6336     #[cfg(feature = "Foundation")]
BufferingStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6337     pub fn BufferingStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6338         let this = self;
6339         unsafe {
6340             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6341             (::windows::runtime::Interface::vtable(this).41)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6342         }
6343     }
6344     #[cfg(feature = "deprecated")]
6345     #[cfg(feature = "Foundation")]
RemoveBufferingStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6346     pub fn RemoveBufferingStarted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6347         let this = self;
6348         unsafe { (::windows::runtime::Interface::vtable(this).42)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6349     }
6350     #[cfg(feature = "deprecated")]
6351     #[cfg(feature = "Foundation")]
BufferingEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6352     pub fn BufferingEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6353         let this = self;
6354         unsafe {
6355             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6356             (::windows::runtime::Interface::vtable(this).43)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6357         }
6358     }
6359     #[cfg(feature = "deprecated")]
6360     #[cfg(feature = "Foundation")]
RemoveBufferingEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6361     pub fn RemoveBufferingEnded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6362         let this = self;
6363         unsafe { (::windows::runtime::Interface::vtable(this).44)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6364     }
Play(&self) -> ::windows::runtime::Result<()>6365     pub fn Play(&self) -> ::windows::runtime::Result<()> {
6366         let this = self;
6367         unsafe { (::windows::runtime::Interface::vtable(this).45)(::std::mem::transmute_copy(this)).ok() }
6368     }
Pause(&self) -> ::windows::runtime::Result<()>6369     pub fn Pause(&self) -> ::windows::runtime::Result<()> {
6370         let this = self;
6371         unsafe { (::windows::runtime::Interface::vtable(this).46)(::std::mem::transmute_copy(this)).ok() }
6372     }
6373     #[cfg(feature = "deprecated")]
6374     #[cfg(feature = "Foundation")]
SetUriSource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Uri>>(&self, value: Param0) -> ::windows::runtime::Result<()>6375     pub fn SetUriSource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Uri>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6376         let this = self;
6377         unsafe { (::windows::runtime::Interface::vtable(this).47)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6378     }
6379     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>6380     pub fn Close(&self) -> ::windows::runtime::Result<()> {
6381         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
6382         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
6383     }
SystemMediaTransportControls(&self) -> ::windows::runtime::Result<super::SystemMediaTransportControls>6384     pub fn SystemMediaTransportControls(&self) -> ::windows::runtime::Result<super::SystemMediaTransportControls> {
6385         let this = &::windows::runtime::Interface::cast::<IMediaPlayer2>(self)?;
6386         unsafe {
6387             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6388             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::SystemMediaTransportControls>(result__)
6389         }
6390     }
AudioCategory(&self) -> ::windows::runtime::Result<MediaPlayerAudioCategory>6391     pub fn AudioCategory(&self) -> ::windows::runtime::Result<MediaPlayerAudioCategory> {
6392         let this = &::windows::runtime::Interface::cast::<IMediaPlayer2>(self)?;
6393         unsafe {
6394             let mut result__: MediaPlayerAudioCategory = ::std::mem::zeroed();
6395             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlayerAudioCategory>(result__)
6396         }
6397     }
SetAudioCategory(&self, value: MediaPlayerAudioCategory) -> ::windows::runtime::Result<()>6398     pub fn SetAudioCategory(&self, value: MediaPlayerAudioCategory) -> ::windows::runtime::Result<()> {
6399         let this = &::windows::runtime::Interface::cast::<IMediaPlayer2>(self)?;
6400         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() }
6401     }
AudioDeviceType(&self) -> ::windows::runtime::Result<MediaPlayerAudioDeviceType>6402     pub fn AudioDeviceType(&self) -> ::windows::runtime::Result<MediaPlayerAudioDeviceType> {
6403         let this = &::windows::runtime::Interface::cast::<IMediaPlayer2>(self)?;
6404         unsafe {
6405             let mut result__: MediaPlayerAudioDeviceType = ::std::mem::zeroed();
6406             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlayerAudioDeviceType>(result__)
6407         }
6408     }
SetAudioDeviceType(&self, value: MediaPlayerAudioDeviceType) -> ::windows::runtime::Result<()>6409     pub fn SetAudioDeviceType(&self, value: MediaPlayerAudioDeviceType) -> ::windows::runtime::Result<()> {
6410         let this = &::windows::runtime::Interface::cast::<IMediaPlayer2>(self)?;
6411         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), value).ok() }
6412     }
6413     #[cfg(feature = "Media_Protection")]
ProtectionManager(&self) -> ::windows::runtime::Result<super::Protection::MediaProtectionManager>6414     pub fn ProtectionManager(&self) -> ::windows::runtime::Result<super::Protection::MediaProtectionManager> {
6415         let this = &::windows::runtime::Interface::cast::<IMediaPlayerSource>(self)?;
6416         unsafe {
6417             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6418             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Protection::MediaProtectionManager>(result__)
6419         }
6420     }
6421     #[cfg(feature = "Media_Protection")]
SetProtectionManager<'a, Param0: ::windows::runtime::IntoParam<'a, super::Protection::MediaProtectionManager>>(&self, value: Param0) -> ::windows::runtime::Result<()>6422     pub fn SetProtectionManager<'a, Param0: ::windows::runtime::IntoParam<'a, super::Protection::MediaProtectionManager>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6423         let this = &::windows::runtime::Interface::cast::<IMediaPlayerSource>(self)?;
6424         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6425     }
6426     #[cfg(feature = "deprecated")]
6427     #[cfg(feature = "Storage")]
SetFileSource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::IStorageFile>>(&self, file: Param0) -> ::windows::runtime::Result<()>6428     pub fn SetFileSource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::IStorageFile>>(&self, file: Param0) -> ::windows::runtime::Result<()> {
6429         let this = &::windows::runtime::Interface::cast::<IMediaPlayerSource>(self)?;
6430         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), file.into_param().abi()).ok() }
6431     }
6432     #[cfg(feature = "deprecated")]
6433     #[cfg(feature = "Storage_Streams")]
SetStreamSource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, stream: Param0) -> ::windows::runtime::Result<()>6434     pub fn SetStreamSource<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream>>(&self, stream: Param0) -> ::windows::runtime::Result<()> {
6435         let this = &::windows::runtime::Interface::cast::<IMediaPlayerSource>(self)?;
6436         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), stream.into_param().abi()).ok() }
6437     }
6438     #[cfg(feature = "deprecated")]
6439     #[cfg(feature = "Media_Core")]
SetMediaSource<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::IMediaSource>>(&self, source: Param0) -> ::windows::runtime::Result<()>6440     pub fn SetMediaSource<'a, Param0: ::windows::runtime::IntoParam<'a, super::Core::IMediaSource>>(&self, source: Param0) -> ::windows::runtime::Result<()> {
6441         let this = &::windows::runtime::Interface::cast::<IMediaPlayerSource>(self)?;
6442         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), source.into_param().abi()).ok() }
6443     }
Source(&self) -> ::windows::runtime::Result<IMediaPlaybackSource>6444     pub fn Source(&self) -> ::windows::runtime::Result<IMediaPlaybackSource> {
6445         let this = &::windows::runtime::Interface::cast::<IMediaPlayerSource2>(self)?;
6446         unsafe {
6447             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6448             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<IMediaPlaybackSource>(result__)
6449         }
6450     }
SetSource<'a, Param0: ::windows::runtime::IntoParam<'a, IMediaPlaybackSource>>(&self, value: Param0) -> ::windows::runtime::Result<()>6451     pub fn SetSource<'a, Param0: ::windows::runtime::IntoParam<'a, IMediaPlaybackSource>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6452         let this = &::windows::runtime::Interface::cast::<IMediaPlayerSource2>(self)?;
6453         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6454     }
6455     #[cfg(feature = "Foundation_Collections")]
AddAudioEffect<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, effectoptional: bool, configuration: Param2) -> ::windows::runtime::Result<()>6456     pub fn AddAudioEffect<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, effectoptional: bool, configuration: Param2) -> ::windows::runtime::Result<()> {
6457         let this = &::windows::runtime::Interface::cast::<IMediaPlayerEffects>(self)?;
6458         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), activatableclassid.into_param().abi(), effectoptional, configuration.into_param().abi()).ok() }
6459     }
RemoveAllEffects(&self) -> ::windows::runtime::Result<()>6460     pub fn RemoveAllEffects(&self) -> ::windows::runtime::Result<()> {
6461         let this = &::windows::runtime::Interface::cast::<IMediaPlayerEffects>(self)?;
6462         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
6463     }
6464     #[cfg(feature = "Foundation")]
IsMutedChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6465     pub fn IsMutedChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6466         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6467         unsafe {
6468             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6469             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6470         }
6471     }
6472     #[cfg(feature = "Foundation")]
RemoveIsMutedChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6473     pub fn RemoveIsMutedChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6474         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6475         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6476     }
6477     #[cfg(feature = "Foundation")]
SourceChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6478     pub fn SourceChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6479         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6480         unsafe {
6481             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6482             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6483         }
6484     }
6485     #[cfg(feature = "Foundation")]
RemoveSourceChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6486     pub fn RemoveSourceChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6487         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6488         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6489     }
AudioBalance(&self) -> ::windows::runtime::Result<f64>6490     pub fn AudioBalance(&self) -> ::windows::runtime::Result<f64> {
6491         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6492         unsafe {
6493             let mut result__: f64 = ::std::mem::zeroed();
6494             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
6495         }
6496     }
SetAudioBalance(&self, value: f64) -> ::windows::runtime::Result<()>6497     pub fn SetAudioBalance(&self, value: f64) -> ::windows::runtime::Result<()> {
6498         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6499         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
6500     }
RealTimePlayback(&self) -> ::windows::runtime::Result<bool>6501     pub fn RealTimePlayback(&self) -> ::windows::runtime::Result<bool> {
6502         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6503         unsafe {
6504             let mut result__: bool = ::std::mem::zeroed();
6505             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6506         }
6507     }
SetRealTimePlayback(&self, value: bool) -> ::windows::runtime::Result<()>6508     pub fn SetRealTimePlayback(&self, value: bool) -> ::windows::runtime::Result<()> {
6509         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6510         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() }
6511     }
StereoscopicVideoRenderMode(&self) -> ::windows::runtime::Result<StereoscopicVideoRenderMode>6512     pub fn StereoscopicVideoRenderMode(&self) -> ::windows::runtime::Result<StereoscopicVideoRenderMode> {
6513         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6514         unsafe {
6515             let mut result__: StereoscopicVideoRenderMode = ::std::mem::zeroed();
6516             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<StereoscopicVideoRenderMode>(result__)
6517         }
6518     }
SetStereoscopicVideoRenderMode(&self, value: StereoscopicVideoRenderMode) -> ::windows::runtime::Result<()>6519     pub fn SetStereoscopicVideoRenderMode(&self, value: StereoscopicVideoRenderMode) -> ::windows::runtime::Result<()> {
6520         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6521         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() }
6522     }
BreakManager(&self) -> ::windows::runtime::Result<MediaBreakManager>6523     pub fn BreakManager(&self) -> ::windows::runtime::Result<MediaBreakManager> {
6524         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6525         unsafe {
6526             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6527             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaBreakManager>(result__)
6528         }
6529     }
CommandManager(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManager>6530     pub fn CommandManager(&self) -> ::windows::runtime::Result<MediaPlaybackCommandManager> {
6531         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6532         unsafe {
6533             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6534             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackCommandManager>(result__)
6535         }
6536     }
6537     #[cfg(feature = "Devices_Enumeration")]
AudioDevice(&self) -> ::windows::runtime::Result<super::super::Devices::Enumeration::DeviceInformation>6538     pub fn AudioDevice(&self) -> ::windows::runtime::Result<super::super::Devices::Enumeration::DeviceInformation> {
6539         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6540         unsafe {
6541             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6542             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Enumeration::DeviceInformation>(result__)
6543         }
6544     }
6545     #[cfg(feature = "Devices_Enumeration")]
SetAudioDevice<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Devices::Enumeration::DeviceInformation>>(&self, value: Param0) -> ::windows::runtime::Result<()>6546     pub fn SetAudioDevice<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Devices::Enumeration::DeviceInformation>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6547         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6548         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6549     }
TimelineController(&self) -> ::windows::runtime::Result<super::MediaTimelineController>6550     pub fn TimelineController(&self) -> ::windows::runtime::Result<super::MediaTimelineController> {
6551         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6552         unsafe {
6553             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6554             (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::MediaTimelineController>(result__)
6555         }
6556     }
SetTimelineController<'a, Param0: ::windows::runtime::IntoParam<'a, super::MediaTimelineController>>(&self, value: Param0) -> ::windows::runtime::Result<()>6557     pub fn SetTimelineController<'a, Param0: ::windows::runtime::IntoParam<'a, super::MediaTimelineController>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6558         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6559         unsafe { (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6560     }
6561     #[cfg(feature = "Foundation")]
TimelineControllerPositionOffset(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>6562     pub fn TimelineControllerPositionOffset(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
6563         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6564         unsafe {
6565             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
6566             (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
6567         }
6568     }
6569     #[cfg(feature = "Foundation")]
SetTimelineControllerPositionOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()>6570     pub fn SetTimelineControllerPositionOffset<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
6571         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6572         unsafe { (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
6573     }
PlaybackSession(&self) -> ::windows::runtime::Result<MediaPlaybackSession>6574     pub fn PlaybackSession(&self) -> ::windows::runtime::Result<MediaPlaybackSession> {
6575         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6576         unsafe {
6577             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6578             (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlaybackSession>(result__)
6579         }
6580     }
StepForwardOneFrame(&self) -> ::windows::runtime::Result<()>6581     pub fn StepForwardOneFrame(&self) -> ::windows::runtime::Result<()> {
6582         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6583         unsafe { (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this)).ok() }
6584     }
StepBackwardOneFrame(&self) -> ::windows::runtime::Result<()>6585     pub fn StepBackwardOneFrame(&self) -> ::windows::runtime::Result<()> {
6586         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6587         unsafe { (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this)).ok() }
6588     }
6589     #[cfg(feature = "Media_Casting")]
GetAsCastingSource(&self) -> ::windows::runtime::Result<super::Casting::CastingSource>6590     pub fn GetAsCastingSource(&self) -> ::windows::runtime::Result<super::Casting::CastingSource> {
6591         let this = &::windows::runtime::Interface::cast::<IMediaPlayer3>(self)?;
6592         unsafe {
6593             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6594             (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Casting::CastingSource>(result__)
6595         }
6596     }
6597     #[cfg(feature = "Foundation")]
SetSurfaceSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Size>>(&self, size: Param0) -> ::windows::runtime::Result<()>6598     pub fn SetSurfaceSize<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Size>>(&self, size: Param0) -> ::windows::runtime::Result<()> {
6599         let this = &::windows::runtime::Interface::cast::<IMediaPlayer4>(self)?;
6600         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), size.into_param().abi()).ok() }
6601     }
6602     #[cfg(feature = "UI_Composition")]
GetSurface<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::UI::Composition::Compositor>>(&self, compositor: Param0) -> ::windows::runtime::Result<MediaPlayerSurface>6603     pub fn GetSurface<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::UI::Composition::Compositor>>(&self, compositor: Param0) -> ::windows::runtime::Result<MediaPlayerSurface> {
6604         let this = &::windows::runtime::Interface::cast::<IMediaPlayer4>(self)?;
6605         unsafe {
6606             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6607             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), compositor.into_param().abi(), &mut result__).from_abi::<MediaPlayerSurface>(result__)
6608         }
6609     }
6610     #[cfg(feature = "Foundation_Collections")]
AddVideoEffect<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, effectoptional: bool, effectconfiguration: Param2) -> ::windows::runtime::Result<()>6611     pub fn AddVideoEffect<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IPropertySet>>(&self, activatableclassid: Param0, effectoptional: bool, effectconfiguration: Param2) -> ::windows::runtime::Result<()> {
6612         let this = &::windows::runtime::Interface::cast::<IMediaPlayerEffects2>(self)?;
6613         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), activatableclassid.into_param().abi(), effectoptional, effectconfiguration.into_param().abi()).ok() }
6614     }
6615     #[cfg(feature = "Foundation")]
VideoFrameAvailable<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6616     pub fn VideoFrameAvailable<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6617         let this = &::windows::runtime::Interface::cast::<IMediaPlayer5>(self)?;
6618         unsafe {
6619             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6620             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6621         }
6622     }
6623     #[cfg(feature = "Foundation")]
RemoveVideoFrameAvailable<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6624     pub fn RemoveVideoFrameAvailable<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6625         let this = &::windows::runtime::Interface::cast::<IMediaPlayer5>(self)?;
6626         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6627     }
IsVideoFrameServerEnabled(&self) -> ::windows::runtime::Result<bool>6628     pub fn IsVideoFrameServerEnabled(&self) -> ::windows::runtime::Result<bool> {
6629         let this = &::windows::runtime::Interface::cast::<IMediaPlayer5>(self)?;
6630         unsafe {
6631             let mut result__: bool = ::std::mem::zeroed();
6632             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6633         }
6634     }
SetIsVideoFrameServerEnabled(&self, value: bool) -> ::windows::runtime::Result<()>6635     pub fn SetIsVideoFrameServerEnabled(&self, value: bool) -> ::windows::runtime::Result<()> {
6636         let this = &::windows::runtime::Interface::cast::<IMediaPlayer5>(self)?;
6637         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
6638     }
6639     #[cfg(feature = "Graphics_DirectX_Direct3D11")]
CopyFrameToVideoSurface<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::DirectX::Direct3D11::IDirect3DSurface>>(&self, destination: Param0) -> ::windows::runtime::Result<()>6640     pub fn CopyFrameToVideoSurface<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::DirectX::Direct3D11::IDirect3DSurface>>(&self, destination: Param0) -> ::windows::runtime::Result<()> {
6641         let this = &::windows::runtime::Interface::cast::<IMediaPlayer5>(self)?;
6642         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), destination.into_param().abi()).ok() }
6643     }
6644     #[cfg(all(feature = "Foundation", feature = "Graphics_DirectX_Direct3D11"))]
CopyFrameToVideoSurfaceWithTargetRectangle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::DirectX::Direct3D11::IDirect3DSurface>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Rect>>(&self, destination: Param0, targetrectangle: Param1) -> ::windows::runtime::Result<()>6645     pub fn CopyFrameToVideoSurfaceWithTargetRectangle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::DirectX::Direct3D11::IDirect3DSurface>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Rect>>(&self, destination: Param0, targetrectangle: Param1) -> ::windows::runtime::Result<()> {
6646         let this = &::windows::runtime::Interface::cast::<IMediaPlayer5>(self)?;
6647         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), destination.into_param().abi(), targetrectangle.into_param().abi()).ok() }
6648     }
6649     #[cfg(feature = "Graphics_DirectX_Direct3D11")]
CopyFrameToStereoscopicVideoSurfaces<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::DirectX::Direct3D11::IDirect3DSurface>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::DirectX::Direct3D11::IDirect3DSurface>>(&self, destinationlefteye: Param0, destinationrighteye: Param1) -> ::windows::runtime::Result<()>6650     pub fn CopyFrameToStereoscopicVideoSurfaces<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::DirectX::Direct3D11::IDirect3DSurface>, Param1: ::windows::runtime::IntoParam<'a, super::super::Graphics::DirectX::Direct3D11::IDirect3DSurface>>(&self, destinationlefteye: Param0, destinationrighteye: Param1) -> ::windows::runtime::Result<()> {
6651         let this = &::windows::runtime::Interface::cast::<IMediaPlayer5>(self)?;
6652         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), destinationlefteye.into_param().abi(), destinationrighteye.into_param().abi()).ok() }
6653     }
6654     #[cfg(feature = "Foundation")]
SubtitleFrameChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6655     pub fn SubtitleFrameChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MediaPlayer, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6656         let this = &::windows::runtime::Interface::cast::<IMediaPlayer6>(self)?;
6657         unsafe {
6658             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6659             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6660         }
6661     }
6662     #[cfg(feature = "Foundation")]
RemoveSubtitleFrameChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>6663     pub fn RemoveSubtitleFrameChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
6664         let this = &::windows::runtime::Interface::cast::<IMediaPlayer6>(self)?;
6665         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
6666     }
6667     #[cfg(feature = "Graphics_DirectX_Direct3D11")]
RenderSubtitlesToSurface<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::DirectX::Direct3D11::IDirect3DSurface>>(&self, destination: Param0) -> ::windows::runtime::Result<bool>6668     pub fn RenderSubtitlesToSurface<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::DirectX::Direct3D11::IDirect3DSurface>>(&self, destination: Param0) -> ::windows::runtime::Result<bool> {
6669         let this = &::windows::runtime::Interface::cast::<IMediaPlayer6>(self)?;
6670         unsafe {
6671             let mut result__: bool = ::std::mem::zeroed();
6672             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), destination.into_param().abi(), &mut result__).from_abi::<bool>(result__)
6673         }
6674     }
6675     #[cfg(all(feature = "Foundation", feature = "Graphics_DirectX_Direct3D11"))]
RenderSubtitlesToSurfaceWithTargetRectangle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::DirectX::Direct3D11::IDirect3DSurface>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Rect>>(&self, destination: Param0, targetrectangle: Param1) -> ::windows::runtime::Result<bool>6676     pub fn RenderSubtitlesToSurfaceWithTargetRectangle<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Graphics::DirectX::Direct3D11::IDirect3DSurface>, Param1: ::windows::runtime::IntoParam<'a, super::super::Foundation::Rect>>(&self, destination: Param0, targetrectangle: Param1) -> ::windows::runtime::Result<bool> {
6677         let this = &::windows::runtime::Interface::cast::<IMediaPlayer6>(self)?;
6678         unsafe {
6679             let mut result__: bool = ::std::mem::zeroed();
6680             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), destination.into_param().abi(), targetrectangle.into_param().abi(), &mut result__).from_abi::<bool>(result__)
6681         }
6682     }
6683     #[cfg(feature = "Media_Audio")]
AudioStateMonitor(&self) -> ::windows::runtime::Result<super::Audio::AudioStateMonitor>6684     pub fn AudioStateMonitor(&self) -> ::windows::runtime::Result<super::Audio::AudioStateMonitor> {
6685         let this = &::windows::runtime::Interface::cast::<IMediaPlayer7>(self)?;
6686         unsafe {
6687             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6688             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Audio::AudioStateMonitor>(result__)
6689         }
6690     }
6691 }
6692 unsafe impl ::windows::runtime::RuntimeType for MediaPlayer {
6693     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlayer;{381a83cb-6fff-499b-8d64-2885dfc1249e})");
6694 }
6695 unsafe impl ::windows::runtime::Interface for MediaPlayer {
6696     type Vtable = IMediaPlayer_abi;
6697     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(941261771, 28671, 18843, [141, 100, 40, 133, 223, 193, 36, 158]);
6698 }
6699 impl ::windows::runtime::RuntimeName for MediaPlayer {
6700     const NAME: &'static str = "Windows.Media.Playback.MediaPlayer";
6701 }
6702 impl ::std::convert::From<MediaPlayer> for ::windows::runtime::IUnknown {
from(value: MediaPlayer) -> Self6703     fn from(value: MediaPlayer) -> Self {
6704         unsafe { ::std::mem::transmute(value) }
6705     }
6706 }
6707 impl ::std::convert::From<&MediaPlayer> for ::windows::runtime::IUnknown {
from(value: &MediaPlayer) -> Self6708     fn from(value: &MediaPlayer) -> Self {
6709         ::std::convert::From::from(::std::clone::Clone::clone(value))
6710     }
6711 }
6712 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlayer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6713     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6714         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6715     }
6716 }
6717 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlayer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6718     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6719         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6720     }
6721 }
6722 impl ::std::convert::From<MediaPlayer> for ::windows::runtime::IInspectable {
from(value: MediaPlayer) -> Self6723     fn from(value: MediaPlayer) -> Self {
6724         value.0
6725     }
6726 }
6727 impl ::std::convert::From<&MediaPlayer> for ::windows::runtime::IInspectable {
from(value: &MediaPlayer) -> Self6728     fn from(value: &MediaPlayer) -> Self {
6729         value.0.clone()
6730     }
6731 }
6732 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlayer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6733     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6734         ::windows::runtime::Param::Owned(self.0)
6735     }
6736 }
6737 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlayer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6738     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6739         ::windows::runtime::Param::Borrowed(&self.0)
6740     }
6741 }
6742 #[cfg(feature = "Foundation")]
6743 impl ::std::convert::TryFrom<MediaPlayer> for super::super::Foundation::IClosable {
6744     type Error = ::windows::runtime::Error;
try_from(value: MediaPlayer) -> ::windows::runtime::Result<Self>6745     fn try_from(value: MediaPlayer) -> ::windows::runtime::Result<Self> {
6746         ::std::convert::TryFrom::try_from(&value)
6747     }
6748 }
6749 #[cfg(feature = "Foundation")]
6750 impl ::std::convert::TryFrom<&MediaPlayer> for super::super::Foundation::IClosable {
6751     type Error = ::windows::runtime::Error;
try_from(value: &MediaPlayer) -> ::windows::runtime::Result<Self>6752     fn try_from(value: &MediaPlayer) -> ::windows::runtime::Result<Self> {
6753         ::windows::runtime::Interface::cast(value)
6754     }
6755 }
6756 #[cfg(feature = "Foundation")]
6757 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for MediaPlayer {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>6758     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
6759         ::windows::runtime::IntoParam::into_param(&self)
6760     }
6761 }
6762 #[cfg(feature = "Foundation")]
6763 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &MediaPlayer {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>6764     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
6765         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
6766     }
6767 }
6768 unsafe impl ::std::marker::Send for MediaPlayer {}
6769 unsafe impl ::std::marker::Sync for MediaPlayer {}
6770 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6771 #[repr(transparent)]
6772 pub struct MediaPlayerAudioCategory(pub i32);
6773 impl MediaPlayerAudioCategory {
6774     pub const Other: MediaPlayerAudioCategory = MediaPlayerAudioCategory(0i32);
6775     pub const Communications: MediaPlayerAudioCategory = MediaPlayerAudioCategory(3i32);
6776     pub const Alerts: MediaPlayerAudioCategory = MediaPlayerAudioCategory(4i32);
6777     pub const SoundEffects: MediaPlayerAudioCategory = MediaPlayerAudioCategory(5i32);
6778     pub const GameEffects: MediaPlayerAudioCategory = MediaPlayerAudioCategory(6i32);
6779     pub const GameMedia: MediaPlayerAudioCategory = MediaPlayerAudioCategory(7i32);
6780     pub const GameChat: MediaPlayerAudioCategory = MediaPlayerAudioCategory(8i32);
6781     pub const Speech: MediaPlayerAudioCategory = MediaPlayerAudioCategory(9i32);
6782     pub const Movie: MediaPlayerAudioCategory = MediaPlayerAudioCategory(10i32);
6783     pub const Media: MediaPlayerAudioCategory = MediaPlayerAudioCategory(11i32);
6784 }
6785 impl ::std::convert::From<i32> for MediaPlayerAudioCategory {
from(value: i32) -> Self6786     fn from(value: i32) -> Self {
6787         Self(value)
6788     }
6789 }
6790 unsafe impl ::windows::runtime::Abi for MediaPlayerAudioCategory {
6791     type Abi = Self;
6792     type DefaultType = Self;
6793 }
6794 unsafe impl ::windows::runtime::RuntimeType for MediaPlayerAudioCategory {
6795     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.Playback.MediaPlayerAudioCategory;i4)");
6796 }
6797 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6798 #[repr(transparent)]
6799 pub struct MediaPlayerAudioDeviceType(pub i32);
6800 impl MediaPlayerAudioDeviceType {
6801     pub const Console: MediaPlayerAudioDeviceType = MediaPlayerAudioDeviceType(0i32);
6802     pub const Multimedia: MediaPlayerAudioDeviceType = MediaPlayerAudioDeviceType(1i32);
6803     pub const Communications: MediaPlayerAudioDeviceType = MediaPlayerAudioDeviceType(2i32);
6804 }
6805 impl ::std::convert::From<i32> for MediaPlayerAudioDeviceType {
from(value: i32) -> Self6806     fn from(value: i32) -> Self {
6807         Self(value)
6808     }
6809 }
6810 unsafe impl ::windows::runtime::Abi for MediaPlayerAudioDeviceType {
6811     type Abi = Self;
6812     type DefaultType = Self;
6813 }
6814 unsafe impl ::windows::runtime::RuntimeType for MediaPlayerAudioDeviceType {
6815     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.Playback.MediaPlayerAudioDeviceType;i4)");
6816 }
6817 #[repr(transparent)]
6818 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6819 pub struct MediaPlayerDataReceivedEventArgs(::windows::runtime::IInspectable);
6820 impl MediaPlayerDataReceivedEventArgs {
6821     #[cfg(feature = "Foundation_Collections")]
Data(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::ValueSet>6822     pub fn Data(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::ValueSet> {
6823         let this = self;
6824         unsafe {
6825             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6826             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::ValueSet>(result__)
6827         }
6828     }
6829 }
6830 unsafe impl ::windows::runtime::RuntimeType for MediaPlayerDataReceivedEventArgs {
6831     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlayerDataReceivedEventArgs;{c75a9405-c801-412a-835b-83fc0e622a8e})");
6832 }
6833 unsafe impl ::windows::runtime::Interface for MediaPlayerDataReceivedEventArgs {
6834     type Vtable = IMediaPlayerDataReceivedEventArgs_abi;
6835     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3344602117, 51201, 16682, [131, 91, 131, 252, 14, 98, 42, 142]);
6836 }
6837 impl ::windows::runtime::RuntimeName for MediaPlayerDataReceivedEventArgs {
6838     const NAME: &'static str = "Windows.Media.Playback.MediaPlayerDataReceivedEventArgs";
6839 }
6840 impl ::std::convert::From<MediaPlayerDataReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlayerDataReceivedEventArgs) -> Self6841     fn from(value: MediaPlayerDataReceivedEventArgs) -> Self {
6842         unsafe { ::std::mem::transmute(value) }
6843     }
6844 }
6845 impl ::std::convert::From<&MediaPlayerDataReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlayerDataReceivedEventArgs) -> Self6846     fn from(value: &MediaPlayerDataReceivedEventArgs) -> Self {
6847         ::std::convert::From::from(::std::clone::Clone::clone(value))
6848     }
6849 }
6850 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlayerDataReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6851     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6852         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6853     }
6854 }
6855 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlayerDataReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6856     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6857         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6858     }
6859 }
6860 impl ::std::convert::From<MediaPlayerDataReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlayerDataReceivedEventArgs) -> Self6861     fn from(value: MediaPlayerDataReceivedEventArgs) -> Self {
6862         value.0
6863     }
6864 }
6865 impl ::std::convert::From<&MediaPlayerDataReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlayerDataReceivedEventArgs) -> Self6866     fn from(value: &MediaPlayerDataReceivedEventArgs) -> Self {
6867         value.0.clone()
6868     }
6869 }
6870 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlayerDataReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6871     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6872         ::windows::runtime::Param::Owned(self.0)
6873     }
6874 }
6875 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlayerDataReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6876     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6877         ::windows::runtime::Param::Borrowed(&self.0)
6878     }
6879 }
6880 unsafe impl ::std::marker::Send for MediaPlayerDataReceivedEventArgs {}
6881 unsafe impl ::std::marker::Sync for MediaPlayerDataReceivedEventArgs {}
6882 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6883 #[repr(transparent)]
6884 pub struct MediaPlayerError(pub i32);
6885 impl MediaPlayerError {
6886     pub const Unknown: MediaPlayerError = MediaPlayerError(0i32);
6887     pub const Aborted: MediaPlayerError = MediaPlayerError(1i32);
6888     pub const NetworkError: MediaPlayerError = MediaPlayerError(2i32);
6889     pub const DecodingError: MediaPlayerError = MediaPlayerError(3i32);
6890     pub const SourceNotSupported: MediaPlayerError = MediaPlayerError(4i32);
6891 }
6892 impl ::std::convert::From<i32> for MediaPlayerError {
from(value: i32) -> Self6893     fn from(value: i32) -> Self {
6894         Self(value)
6895     }
6896 }
6897 unsafe impl ::windows::runtime::Abi for MediaPlayerError {
6898     type Abi = Self;
6899     type DefaultType = Self;
6900 }
6901 unsafe impl ::windows::runtime::RuntimeType for MediaPlayerError {
6902     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.Playback.MediaPlayerError;i4)");
6903 }
6904 #[repr(transparent)]
6905 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6906 pub struct MediaPlayerFailedEventArgs(::windows::runtime::IInspectable);
6907 impl MediaPlayerFailedEventArgs {
Error(&self) -> ::windows::runtime::Result<MediaPlayerError>6908     pub fn Error(&self) -> ::windows::runtime::Result<MediaPlayerError> {
6909         let this = self;
6910         unsafe {
6911             let mut result__: MediaPlayerError = ::std::mem::zeroed();
6912             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlayerError>(result__)
6913         }
6914     }
ExtendedErrorCode(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT>6915     pub fn ExtendedErrorCode(&self) -> ::windows::runtime::Result<::windows::runtime::HRESULT> {
6916         let this = self;
6917         unsafe {
6918             let mut result__: ::windows::runtime::HRESULT = ::std::mem::zeroed();
6919             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HRESULT>(result__)
6920         }
6921     }
ErrorMessage(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6922     pub fn ErrorMessage(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6923         let this = self;
6924         unsafe {
6925             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6926             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6927         }
6928     }
6929 }
6930 unsafe impl ::windows::runtime::RuntimeType for MediaPlayerFailedEventArgs {
6931     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlayerFailedEventArgs;{2744e9b9-a7e3-4f16-bac4-7914ebc08301})");
6932 }
6933 unsafe impl ::windows::runtime::Interface for MediaPlayerFailedEventArgs {
6934     type Vtable = IMediaPlayerFailedEventArgs_abi;
6935     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(658827705, 42979, 20246, [186, 196, 121, 20, 235, 192, 131, 1]);
6936 }
6937 impl ::windows::runtime::RuntimeName for MediaPlayerFailedEventArgs {
6938     const NAME: &'static str = "Windows.Media.Playback.MediaPlayerFailedEventArgs";
6939 }
6940 impl ::std::convert::From<MediaPlayerFailedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlayerFailedEventArgs) -> Self6941     fn from(value: MediaPlayerFailedEventArgs) -> Self {
6942         unsafe { ::std::mem::transmute(value) }
6943     }
6944 }
6945 impl ::std::convert::From<&MediaPlayerFailedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlayerFailedEventArgs) -> Self6946     fn from(value: &MediaPlayerFailedEventArgs) -> Self {
6947         ::std::convert::From::from(::std::clone::Clone::clone(value))
6948     }
6949 }
6950 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlayerFailedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6951     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6952         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6953     }
6954 }
6955 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlayerFailedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6956     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6957         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6958     }
6959 }
6960 impl ::std::convert::From<MediaPlayerFailedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlayerFailedEventArgs) -> Self6961     fn from(value: MediaPlayerFailedEventArgs) -> Self {
6962         value.0
6963     }
6964 }
6965 impl ::std::convert::From<&MediaPlayerFailedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlayerFailedEventArgs) -> Self6966     fn from(value: &MediaPlayerFailedEventArgs) -> Self {
6967         value.0.clone()
6968     }
6969 }
6970 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlayerFailedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6971     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6972         ::windows::runtime::Param::Owned(self.0)
6973     }
6974 }
6975 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlayerFailedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6976     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6977         ::windows::runtime::Param::Borrowed(&self.0)
6978     }
6979 }
6980 unsafe impl ::std::marker::Send for MediaPlayerFailedEventArgs {}
6981 unsafe impl ::std::marker::Sync for MediaPlayerFailedEventArgs {}
6982 #[repr(transparent)]
6983 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6984 pub struct MediaPlayerRateChangedEventArgs(::windows::runtime::IInspectable);
6985 impl MediaPlayerRateChangedEventArgs {
NewRate(&self) -> ::windows::runtime::Result<f64>6986     pub fn NewRate(&self) -> ::windows::runtime::Result<f64> {
6987         let this = self;
6988         unsafe {
6989             let mut result__: f64 = ::std::mem::zeroed();
6990             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
6991         }
6992     }
6993 }
6994 unsafe impl ::windows::runtime::RuntimeType for MediaPlayerRateChangedEventArgs {
6995     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlayerRateChangedEventArgs;{40600d58-3b61-4bb2-989f-fc65608b6cab})");
6996 }
6997 unsafe impl ::windows::runtime::Interface for MediaPlayerRateChangedEventArgs {
6998     type Vtable = IMediaPlayerRateChangedEventArgs_abi;
6999     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1080036696, 15201, 19378, [152, 159, 252, 101, 96, 139, 108, 171]);
7000 }
7001 impl ::windows::runtime::RuntimeName for MediaPlayerRateChangedEventArgs {
7002     const NAME: &'static str = "Windows.Media.Playback.MediaPlayerRateChangedEventArgs";
7003 }
7004 impl ::std::convert::From<MediaPlayerRateChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: MediaPlayerRateChangedEventArgs) -> Self7005     fn from(value: MediaPlayerRateChangedEventArgs) -> Self {
7006         unsafe { ::std::mem::transmute(value) }
7007     }
7008 }
7009 impl ::std::convert::From<&MediaPlayerRateChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MediaPlayerRateChangedEventArgs) -> Self7010     fn from(value: &MediaPlayerRateChangedEventArgs) -> Self {
7011         ::std::convert::From::from(::std::clone::Clone::clone(value))
7012     }
7013 }
7014 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlayerRateChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7015     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7016         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7017     }
7018 }
7019 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlayerRateChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7020     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7021         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7022     }
7023 }
7024 impl ::std::convert::From<MediaPlayerRateChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: MediaPlayerRateChangedEventArgs) -> Self7025     fn from(value: MediaPlayerRateChangedEventArgs) -> Self {
7026         value.0
7027     }
7028 }
7029 impl ::std::convert::From<&MediaPlayerRateChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MediaPlayerRateChangedEventArgs) -> Self7030     fn from(value: &MediaPlayerRateChangedEventArgs) -> Self {
7031         value.0.clone()
7032     }
7033 }
7034 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlayerRateChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7035     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7036         ::windows::runtime::Param::Owned(self.0)
7037     }
7038 }
7039 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlayerRateChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7040     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7041         ::windows::runtime::Param::Borrowed(&self.0)
7042     }
7043 }
7044 unsafe impl ::std::marker::Send for MediaPlayerRateChangedEventArgs {}
7045 unsafe impl ::std::marker::Sync for MediaPlayerRateChangedEventArgs {}
7046 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7047 #[repr(transparent)]
7048 pub struct MediaPlayerState(pub i32);
7049 impl MediaPlayerState {
7050     pub const Closed: MediaPlayerState = MediaPlayerState(0i32);
7051     pub const Opening: MediaPlayerState = MediaPlayerState(1i32);
7052     pub const Buffering: MediaPlayerState = MediaPlayerState(2i32);
7053     pub const Playing: MediaPlayerState = MediaPlayerState(3i32);
7054     pub const Paused: MediaPlayerState = MediaPlayerState(4i32);
7055     pub const Stopped: MediaPlayerState = MediaPlayerState(5i32);
7056 }
7057 impl ::std::convert::From<i32> for MediaPlayerState {
from(value: i32) -> Self7058     fn from(value: i32) -> Self {
7059         Self(value)
7060     }
7061 }
7062 unsafe impl ::windows::runtime::Abi for MediaPlayerState {
7063     type Abi = Self;
7064     type DefaultType = Self;
7065 }
7066 unsafe impl ::windows::runtime::RuntimeType for MediaPlayerState {
7067     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.Playback.MediaPlayerState;i4)");
7068 }
7069 #[repr(transparent)]
7070 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7071 pub struct MediaPlayerSurface(::windows::runtime::IInspectable);
7072 impl MediaPlayerSurface {
7073     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>7074     pub fn Close(&self) -> ::windows::runtime::Result<()> {
7075         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
7076         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
7077     }
7078     #[cfg(feature = "UI_Composition")]
CompositionSurface(&self) -> ::windows::runtime::Result<super::super::UI::Composition::ICompositionSurface>7079     pub fn CompositionSurface(&self) -> ::windows::runtime::Result<super::super::UI::Composition::ICompositionSurface> {
7080         let this = self;
7081         unsafe {
7082             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7083             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::UI::Composition::ICompositionSurface>(result__)
7084         }
7085     }
7086     #[cfg(feature = "UI_Composition")]
Compositor(&self) -> ::windows::runtime::Result<super::super::UI::Composition::Compositor>7087     pub fn Compositor(&self) -> ::windows::runtime::Result<super::super::UI::Composition::Compositor> {
7088         let this = self;
7089         unsafe {
7090             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7091             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::UI::Composition::Compositor>(result__)
7092         }
7093     }
MediaPlayer(&self) -> ::windows::runtime::Result<MediaPlayer>7094     pub fn MediaPlayer(&self) -> ::windows::runtime::Result<MediaPlayer> {
7095         let this = self;
7096         unsafe {
7097             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7098             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MediaPlayer>(result__)
7099         }
7100     }
7101 }
7102 unsafe impl ::windows::runtime::RuntimeType for MediaPlayerSurface {
7103     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.MediaPlayerSurface;{0ed653bc-b736-49c3-830b-764a3845313a})");
7104 }
7105 unsafe impl ::windows::runtime::Interface for MediaPlayerSurface {
7106     type Vtable = IMediaPlayerSurface_abi;
7107     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(248927164, 46902, 18883, [131, 11, 118, 74, 56, 69, 49, 58]);
7108 }
7109 impl ::windows::runtime::RuntimeName for MediaPlayerSurface {
7110     const NAME: &'static str = "Windows.Media.Playback.MediaPlayerSurface";
7111 }
7112 impl ::std::convert::From<MediaPlayerSurface> for ::windows::runtime::IUnknown {
from(value: MediaPlayerSurface) -> Self7113     fn from(value: MediaPlayerSurface) -> Self {
7114         unsafe { ::std::mem::transmute(value) }
7115     }
7116 }
7117 impl ::std::convert::From<&MediaPlayerSurface> for ::windows::runtime::IUnknown {
from(value: &MediaPlayerSurface) -> Self7118     fn from(value: &MediaPlayerSurface) -> Self {
7119         ::std::convert::From::from(::std::clone::Clone::clone(value))
7120     }
7121 }
7122 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MediaPlayerSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7123     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7124         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7125     }
7126 }
7127 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MediaPlayerSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7128     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7129         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7130     }
7131 }
7132 impl ::std::convert::From<MediaPlayerSurface> for ::windows::runtime::IInspectable {
from(value: MediaPlayerSurface) -> Self7133     fn from(value: MediaPlayerSurface) -> Self {
7134         value.0
7135     }
7136 }
7137 impl ::std::convert::From<&MediaPlayerSurface> for ::windows::runtime::IInspectable {
from(value: &MediaPlayerSurface) -> Self7138     fn from(value: &MediaPlayerSurface) -> Self {
7139         value.0.clone()
7140     }
7141 }
7142 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MediaPlayerSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7143     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7144         ::windows::runtime::Param::Owned(self.0)
7145     }
7146 }
7147 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MediaPlayerSurface {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7148     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7149         ::windows::runtime::Param::Borrowed(&self.0)
7150     }
7151 }
7152 #[cfg(feature = "Foundation")]
7153 impl ::std::convert::TryFrom<MediaPlayerSurface> for super::super::Foundation::IClosable {
7154     type Error = ::windows::runtime::Error;
try_from(value: MediaPlayerSurface) -> ::windows::runtime::Result<Self>7155     fn try_from(value: MediaPlayerSurface) -> ::windows::runtime::Result<Self> {
7156         ::std::convert::TryFrom::try_from(&value)
7157     }
7158 }
7159 #[cfg(feature = "Foundation")]
7160 impl ::std::convert::TryFrom<&MediaPlayerSurface> for super::super::Foundation::IClosable {
7161     type Error = ::windows::runtime::Error;
try_from(value: &MediaPlayerSurface) -> ::windows::runtime::Result<Self>7162     fn try_from(value: &MediaPlayerSurface) -> ::windows::runtime::Result<Self> {
7163         ::windows::runtime::Interface::cast(value)
7164     }
7165 }
7166 #[cfg(feature = "Foundation")]
7167 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for MediaPlayerSurface {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>7168     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
7169         ::windows::runtime::IntoParam::into_param(&self)
7170     }
7171 }
7172 #[cfg(feature = "Foundation")]
7173 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &MediaPlayerSurface {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>7174     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
7175         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
7176     }
7177 }
7178 unsafe impl ::std::marker::Send for MediaPlayerSurface {}
7179 unsafe impl ::std::marker::Sync for MediaPlayerSurface {}
7180 #[repr(transparent)]
7181 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7182 pub struct PlaybackMediaMarker(::windows::runtime::IInspectable);
7183 impl PlaybackMediaMarker {
7184     #[cfg(feature = "Foundation")]
Time(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>7185     pub fn Time(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
7186         let this = self;
7187         unsafe {
7188             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
7189             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
7190         }
7191     }
MediaMarkerType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7192     pub fn MediaMarkerType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7193         let this = self;
7194         unsafe {
7195             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7196             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7197         }
7198     }
Text(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7199     pub fn Text(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7200         let this = self;
7201         unsafe {
7202             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7203             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7204         }
7205     }
7206     #[cfg(feature = "Foundation")]
CreateFromTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(value: Param0) -> ::windows::runtime::Result<PlaybackMediaMarker>7207     pub fn CreateFromTime<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(value: Param0) -> ::windows::runtime::Result<PlaybackMediaMarker> {
7208         Self::IPlaybackMediaMarkerFactory(|this| unsafe {
7209             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7210             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<PlaybackMediaMarker>(result__)
7211         })
7212     }
7213     #[cfg(feature = "Foundation")]
Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(value: Param0, mediamarkettype: Param1, text: Param2) -> ::windows::runtime::Result<PlaybackMediaMarker>7214     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(value: Param0, mediamarkettype: Param1, text: Param2) -> ::windows::runtime::Result<PlaybackMediaMarker> {
7215         Self::IPlaybackMediaMarkerFactory(|this| unsafe {
7216             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7217             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi(), mediamarkettype.into_param().abi(), text.into_param().abi(), &mut result__).from_abi::<PlaybackMediaMarker>(result__)
7218         })
7219     }
IPlaybackMediaMarkerFactory<R, F: FnOnce(&IPlaybackMediaMarkerFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>7220     pub fn IPlaybackMediaMarkerFactory<R, F: FnOnce(&IPlaybackMediaMarkerFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
7221         static mut SHARED: ::windows::runtime::FactoryCache<PlaybackMediaMarker, IPlaybackMediaMarkerFactory> = ::windows::runtime::FactoryCache::new();
7222         unsafe { SHARED.call(callback) }
7223     }
7224 }
7225 unsafe impl ::windows::runtime::RuntimeType for PlaybackMediaMarker {
7226     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.PlaybackMediaMarker;{c4d22f5c-3c1c-4444-b6b9-778b0422d41a})");
7227 }
7228 unsafe impl ::windows::runtime::Interface for PlaybackMediaMarker {
7229     type Vtable = IPlaybackMediaMarker_abi;
7230     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3302109020, 15388, 17476, [182, 185, 119, 139, 4, 34, 212, 26]);
7231 }
7232 impl ::windows::runtime::RuntimeName for PlaybackMediaMarker {
7233     const NAME: &'static str = "Windows.Media.Playback.PlaybackMediaMarker";
7234 }
7235 impl ::std::convert::From<PlaybackMediaMarker> for ::windows::runtime::IUnknown {
from(value: PlaybackMediaMarker) -> Self7236     fn from(value: PlaybackMediaMarker) -> Self {
7237         unsafe { ::std::mem::transmute(value) }
7238     }
7239 }
7240 impl ::std::convert::From<&PlaybackMediaMarker> for ::windows::runtime::IUnknown {
from(value: &PlaybackMediaMarker) -> Self7241     fn from(value: &PlaybackMediaMarker) -> Self {
7242         ::std::convert::From::from(::std::clone::Clone::clone(value))
7243     }
7244 }
7245 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PlaybackMediaMarker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7246     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7247         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7248     }
7249 }
7250 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PlaybackMediaMarker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7251     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7252         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7253     }
7254 }
7255 impl ::std::convert::From<PlaybackMediaMarker> for ::windows::runtime::IInspectable {
from(value: PlaybackMediaMarker) -> Self7256     fn from(value: PlaybackMediaMarker) -> Self {
7257         value.0
7258     }
7259 }
7260 impl ::std::convert::From<&PlaybackMediaMarker> for ::windows::runtime::IInspectable {
from(value: &PlaybackMediaMarker) -> Self7261     fn from(value: &PlaybackMediaMarker) -> Self {
7262         value.0.clone()
7263     }
7264 }
7265 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PlaybackMediaMarker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7266     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7267         ::windows::runtime::Param::Owned(self.0)
7268     }
7269 }
7270 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PlaybackMediaMarker {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7271     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7272         ::windows::runtime::Param::Borrowed(&self.0)
7273     }
7274 }
7275 unsafe impl ::std::marker::Send for PlaybackMediaMarker {}
7276 unsafe impl ::std::marker::Sync for PlaybackMediaMarker {}
7277 #[repr(transparent)]
7278 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7279 pub struct PlaybackMediaMarkerReachedEventArgs(::windows::runtime::IInspectable);
7280 impl PlaybackMediaMarkerReachedEventArgs {
PlaybackMediaMarker(&self) -> ::windows::runtime::Result<PlaybackMediaMarker>7281     pub fn PlaybackMediaMarker(&self) -> ::windows::runtime::Result<PlaybackMediaMarker> {
7282         let this = self;
7283         unsafe {
7284             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7285             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<PlaybackMediaMarker>(result__)
7286         }
7287     }
7288 }
7289 unsafe impl ::windows::runtime::RuntimeType for PlaybackMediaMarkerReachedEventArgs {
7290     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.PlaybackMediaMarkerReachedEventArgs;{578cd1b9-90e2-4e60-abc4-8740b01f6196})");
7291 }
7292 unsafe impl ::windows::runtime::Interface for PlaybackMediaMarkerReachedEventArgs {
7293     type Vtable = IPlaybackMediaMarkerReachedEventArgs_abi;
7294     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1468846521, 37090, 20064, [171, 196, 135, 64, 176, 31, 97, 150]);
7295 }
7296 impl ::windows::runtime::RuntimeName for PlaybackMediaMarkerReachedEventArgs {
7297     const NAME: &'static str = "Windows.Media.Playback.PlaybackMediaMarkerReachedEventArgs";
7298 }
7299 impl ::std::convert::From<PlaybackMediaMarkerReachedEventArgs> for ::windows::runtime::IUnknown {
from(value: PlaybackMediaMarkerReachedEventArgs) -> Self7300     fn from(value: PlaybackMediaMarkerReachedEventArgs) -> Self {
7301         unsafe { ::std::mem::transmute(value) }
7302     }
7303 }
7304 impl ::std::convert::From<&PlaybackMediaMarkerReachedEventArgs> for ::windows::runtime::IUnknown {
from(value: &PlaybackMediaMarkerReachedEventArgs) -> Self7305     fn from(value: &PlaybackMediaMarkerReachedEventArgs) -> Self {
7306         ::std::convert::From::from(::std::clone::Clone::clone(value))
7307     }
7308 }
7309 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PlaybackMediaMarkerReachedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7310     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7311         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7312     }
7313 }
7314 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PlaybackMediaMarkerReachedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7315     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7316         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7317     }
7318 }
7319 impl ::std::convert::From<PlaybackMediaMarkerReachedEventArgs> for ::windows::runtime::IInspectable {
from(value: PlaybackMediaMarkerReachedEventArgs) -> Self7320     fn from(value: PlaybackMediaMarkerReachedEventArgs) -> Self {
7321         value.0
7322     }
7323 }
7324 impl ::std::convert::From<&PlaybackMediaMarkerReachedEventArgs> for ::windows::runtime::IInspectable {
from(value: &PlaybackMediaMarkerReachedEventArgs) -> Self7325     fn from(value: &PlaybackMediaMarkerReachedEventArgs) -> Self {
7326         value.0.clone()
7327     }
7328 }
7329 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PlaybackMediaMarkerReachedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7330     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7331         ::windows::runtime::Param::Owned(self.0)
7332     }
7333 }
7334 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PlaybackMediaMarkerReachedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7335     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7336         ::windows::runtime::Param::Borrowed(&self.0)
7337     }
7338 }
7339 unsafe impl ::std::marker::Send for PlaybackMediaMarkerReachedEventArgs {}
7340 unsafe impl ::std::marker::Sync for PlaybackMediaMarkerReachedEventArgs {}
7341 #[repr(transparent)]
7342 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7343 pub struct PlaybackMediaMarkerSequence(::windows::runtime::IInspectable);
7344 impl PlaybackMediaMarkerSequence {
Size(&self) -> ::windows::runtime::Result<u32>7345     pub fn Size(&self) -> ::windows::runtime::Result<u32> {
7346         let this = self;
7347         unsafe {
7348             let mut result__: u32 = ::std::mem::zeroed();
7349             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
7350         }
7351     }
Insert<'a, Param0: ::windows::runtime::IntoParam<'a, PlaybackMediaMarker>>(&self, value: Param0) -> ::windows::runtime::Result<()>7352     pub fn Insert<'a, Param0: ::windows::runtime::IntoParam<'a, PlaybackMediaMarker>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
7353         let this = self;
7354         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
7355     }
Clear(&self) -> ::windows::runtime::Result<()>7356     pub fn Clear(&self) -> ::windows::runtime::Result<()> {
7357         let this = self;
7358         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this)).ok() }
7359     }
7360     #[cfg(feature = "Foundation_Collections")]
First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<PlaybackMediaMarker>>7361     pub fn First(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IIterator<PlaybackMediaMarker>> {
7362         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::Collections::IIterable<PlaybackMediaMarker>>(self)?;
7363         unsafe {
7364             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7365             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IIterator<PlaybackMediaMarker>>(result__)
7366         }
7367     }
7368 }
7369 unsafe impl ::windows::runtime::RuntimeType for PlaybackMediaMarkerSequence {
7370     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.PlaybackMediaMarkerSequence;{f2810cee-638b-46cf-8817-1d111fe9d8c4})");
7371 }
7372 unsafe impl ::windows::runtime::Interface for PlaybackMediaMarkerSequence {
7373     type Vtable = IPlaybackMediaMarkerSequence_abi;
7374     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4068543726, 25483, 18127, [136, 23, 29, 17, 31, 233, 216, 196]);
7375 }
7376 impl ::windows::runtime::RuntimeName for PlaybackMediaMarkerSequence {
7377     const NAME: &'static str = "Windows.Media.Playback.PlaybackMediaMarkerSequence";
7378 }
7379 impl ::std::convert::From<PlaybackMediaMarkerSequence> for ::windows::runtime::IUnknown {
from(value: PlaybackMediaMarkerSequence) -> Self7380     fn from(value: PlaybackMediaMarkerSequence) -> Self {
7381         unsafe { ::std::mem::transmute(value) }
7382     }
7383 }
7384 impl ::std::convert::From<&PlaybackMediaMarkerSequence> for ::windows::runtime::IUnknown {
from(value: &PlaybackMediaMarkerSequence) -> Self7385     fn from(value: &PlaybackMediaMarkerSequence) -> Self {
7386         ::std::convert::From::from(::std::clone::Clone::clone(value))
7387     }
7388 }
7389 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for PlaybackMediaMarkerSequence {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7390     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7391         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7392     }
7393 }
7394 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &PlaybackMediaMarkerSequence {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7395     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7396         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7397     }
7398 }
7399 impl ::std::convert::From<PlaybackMediaMarkerSequence> for ::windows::runtime::IInspectable {
from(value: PlaybackMediaMarkerSequence) -> Self7400     fn from(value: PlaybackMediaMarkerSequence) -> Self {
7401         value.0
7402     }
7403 }
7404 impl ::std::convert::From<&PlaybackMediaMarkerSequence> for ::windows::runtime::IInspectable {
from(value: &PlaybackMediaMarkerSequence) -> Self7405     fn from(value: &PlaybackMediaMarkerSequence) -> Self {
7406         value.0.clone()
7407     }
7408 }
7409 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for PlaybackMediaMarkerSequence {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7410     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7411         ::windows::runtime::Param::Owned(self.0)
7412     }
7413 }
7414 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a PlaybackMediaMarkerSequence {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7415     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7416         ::windows::runtime::Param::Borrowed(&self.0)
7417     }
7418 }
7419 #[cfg(feature = "Foundation_Collections")]
7420 impl ::std::convert::TryFrom<PlaybackMediaMarkerSequence> for super::super::Foundation::Collections::IIterable<PlaybackMediaMarker> {
7421     type Error = ::windows::runtime::Error;
try_from(value: PlaybackMediaMarkerSequence) -> ::windows::runtime::Result<Self>7422     fn try_from(value: PlaybackMediaMarkerSequence) -> ::windows::runtime::Result<Self> {
7423         ::std::convert::TryFrom::try_from(&value)
7424     }
7425 }
7426 #[cfg(feature = "Foundation_Collections")]
7427 impl ::std::convert::TryFrom<&PlaybackMediaMarkerSequence> for super::super::Foundation::Collections::IIterable<PlaybackMediaMarker> {
7428     type Error = ::windows::runtime::Error;
try_from(value: &PlaybackMediaMarkerSequence) -> ::windows::runtime::Result<Self>7429     fn try_from(value: &PlaybackMediaMarkerSequence) -> ::windows::runtime::Result<Self> {
7430         ::windows::runtime::Interface::cast(value)
7431     }
7432 }
7433 #[cfg(feature = "Foundation_Collections")]
7434 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<PlaybackMediaMarker>> for PlaybackMediaMarkerSequence {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<PlaybackMediaMarker>>7435     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<PlaybackMediaMarker>> {
7436         ::windows::runtime::IntoParam::into_param(&self)
7437     }
7438 }
7439 #[cfg(feature = "Foundation_Collections")]
7440 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<PlaybackMediaMarker>> for &PlaybackMediaMarkerSequence {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<PlaybackMediaMarker>>7441     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::Collections::IIterable<PlaybackMediaMarker>> {
7442         ::std::convert::TryInto::<super::super::Foundation::Collections::IIterable<PlaybackMediaMarker>>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
7443     }
7444 }
7445 unsafe impl ::std::marker::Send for PlaybackMediaMarkerSequence {}
7446 unsafe impl ::std::marker::Sync for PlaybackMediaMarkerSequence {}
7447 #[cfg(all(feature = "Foundation_Collections"))]
7448 impl ::std::iter::IntoIterator for PlaybackMediaMarkerSequence {
7449     type Item = PlaybackMediaMarker;
7450     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter7451     fn into_iter(self) -> Self::IntoIter {
7452         ::std::iter::IntoIterator::into_iter(&self)
7453     }
7454 }
7455 #[cfg(all(feature = "Foundation_Collections"))]
7456 impl ::std::iter::IntoIterator for &PlaybackMediaMarkerSequence {
7457     type Item = PlaybackMediaMarker;
7458     type IntoIter = super::super::Foundation::Collections::IIterator<Self::Item>;
into_iter(self) -> Self::IntoIter7459     fn into_iter(self) -> Self::IntoIter {
7460         self.First().unwrap()
7461     }
7462 }
7463 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7464 #[repr(transparent)]
7465 pub struct SphericalVideoProjectionMode(pub i32);
7466 impl SphericalVideoProjectionMode {
7467     pub const Spherical: SphericalVideoProjectionMode = SphericalVideoProjectionMode(0i32);
7468     pub const Flat: SphericalVideoProjectionMode = SphericalVideoProjectionMode(1i32);
7469 }
7470 impl ::std::convert::From<i32> for SphericalVideoProjectionMode {
from(value: i32) -> Self7471     fn from(value: i32) -> Self {
7472         Self(value)
7473     }
7474 }
7475 unsafe impl ::windows::runtime::Abi for SphericalVideoProjectionMode {
7476     type Abi = Self;
7477     type DefaultType = Self;
7478 }
7479 unsafe impl ::windows::runtime::RuntimeType for SphericalVideoProjectionMode {
7480     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.Playback.SphericalVideoProjectionMode;i4)");
7481 }
7482 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7483 #[repr(transparent)]
7484 pub struct StereoscopicVideoRenderMode(pub i32);
7485 impl StereoscopicVideoRenderMode {
7486     pub const Mono: StereoscopicVideoRenderMode = StereoscopicVideoRenderMode(0i32);
7487     pub const Stereo: StereoscopicVideoRenderMode = StereoscopicVideoRenderMode(1i32);
7488 }
7489 impl ::std::convert::From<i32> for StereoscopicVideoRenderMode {
from(value: i32) -> Self7490     fn from(value: i32) -> Self {
7491         Self(value)
7492     }
7493 }
7494 unsafe impl ::windows::runtime::Abi for StereoscopicVideoRenderMode {
7495     type Abi = Self;
7496     type DefaultType = Self;
7497 }
7498 unsafe impl ::windows::runtime::RuntimeType for StereoscopicVideoRenderMode {
7499     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.Playback.StereoscopicVideoRenderMode;i4)");
7500 }
7501 #[repr(transparent)]
7502 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7503 pub struct TimedMetadataPresentationModeChangedEventArgs(::windows::runtime::IInspectable);
7504 impl TimedMetadataPresentationModeChangedEventArgs {
7505     #[cfg(feature = "Media_Core")]
Track(&self) -> ::windows::runtime::Result<super::Core::TimedMetadataTrack>7506     pub fn Track(&self) -> ::windows::runtime::Result<super::Core::TimedMetadataTrack> {
7507         let this = self;
7508         unsafe {
7509             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7510             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Core::TimedMetadataTrack>(result__)
7511         }
7512     }
OldPresentationMode(&self) -> ::windows::runtime::Result<TimedMetadataTrackPresentationMode>7513     pub fn OldPresentationMode(&self) -> ::windows::runtime::Result<TimedMetadataTrackPresentationMode> {
7514         let this = self;
7515         unsafe {
7516             let mut result__: TimedMetadataTrackPresentationMode = ::std::mem::zeroed();
7517             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<TimedMetadataTrackPresentationMode>(result__)
7518         }
7519     }
NewPresentationMode(&self) -> ::windows::runtime::Result<TimedMetadataTrackPresentationMode>7520     pub fn NewPresentationMode(&self) -> ::windows::runtime::Result<TimedMetadataTrackPresentationMode> {
7521         let this = self;
7522         unsafe {
7523             let mut result__: TimedMetadataTrackPresentationMode = ::std::mem::zeroed();
7524             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<TimedMetadataTrackPresentationMode>(result__)
7525         }
7526     }
7527 }
7528 unsafe impl ::windows::runtime::RuntimeType for TimedMetadataPresentationModeChangedEventArgs {
7529     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.Playback.TimedMetadataPresentationModeChangedEventArgs;{d1636099-65df-45ae-8cef-dc0b53fdc2bb})");
7530 }
7531 unsafe impl ::windows::runtime::Interface for TimedMetadataPresentationModeChangedEventArgs {
7532     type Vtable = ITimedMetadataPresentationModeChangedEventArgs_abi;
7533     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3512950937, 26079, 17838, [140, 239, 220, 11, 83, 253, 194, 187]);
7534 }
7535 impl ::windows::runtime::RuntimeName for TimedMetadataPresentationModeChangedEventArgs {
7536     const NAME: &'static str = "Windows.Media.Playback.TimedMetadataPresentationModeChangedEventArgs";
7537 }
7538 impl ::std::convert::From<TimedMetadataPresentationModeChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: TimedMetadataPresentationModeChangedEventArgs) -> Self7539     fn from(value: TimedMetadataPresentationModeChangedEventArgs) -> Self {
7540         unsafe { ::std::mem::transmute(value) }
7541     }
7542 }
7543 impl ::std::convert::From<&TimedMetadataPresentationModeChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: &TimedMetadataPresentationModeChangedEventArgs) -> Self7544     fn from(value: &TimedMetadataPresentationModeChangedEventArgs) -> Self {
7545         ::std::convert::From::from(::std::clone::Clone::clone(value))
7546     }
7547 }
7548 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for TimedMetadataPresentationModeChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7549     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7550         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7551     }
7552 }
7553 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &TimedMetadataPresentationModeChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7554     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7555         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7556     }
7557 }
7558 impl ::std::convert::From<TimedMetadataPresentationModeChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: TimedMetadataPresentationModeChangedEventArgs) -> Self7559     fn from(value: TimedMetadataPresentationModeChangedEventArgs) -> Self {
7560         value.0
7561     }
7562 }
7563 impl ::std::convert::From<&TimedMetadataPresentationModeChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: &TimedMetadataPresentationModeChangedEventArgs) -> Self7564     fn from(value: &TimedMetadataPresentationModeChangedEventArgs) -> Self {
7565         value.0.clone()
7566     }
7567 }
7568 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for TimedMetadataPresentationModeChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7569     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7570         ::windows::runtime::Param::Owned(self.0)
7571     }
7572 }
7573 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a TimedMetadataPresentationModeChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7574     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7575         ::windows::runtime::Param::Borrowed(&self.0)
7576     }
7577 }
7578 unsafe impl ::std::marker::Send for TimedMetadataPresentationModeChangedEventArgs {}
7579 unsafe impl ::std::marker::Sync for TimedMetadataPresentationModeChangedEventArgs {}
7580 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7581 #[repr(transparent)]
7582 pub struct TimedMetadataTrackPresentationMode(pub i32);
7583 impl TimedMetadataTrackPresentationMode {
7584     pub const Disabled: TimedMetadataTrackPresentationMode = TimedMetadataTrackPresentationMode(0i32);
7585     pub const Hidden: TimedMetadataTrackPresentationMode = TimedMetadataTrackPresentationMode(1i32);
7586     pub const ApplicationPresented: TimedMetadataTrackPresentationMode = TimedMetadataTrackPresentationMode(2i32);
7587     pub const PlatformPresented: TimedMetadataTrackPresentationMode = TimedMetadataTrackPresentationMode(3i32);
7588 }
7589 impl ::std::convert::From<i32> for TimedMetadataTrackPresentationMode {
from(value: i32) -> Self7590     fn from(value: i32) -> Self {
7591         Self(value)
7592     }
7593 }
7594 unsafe impl ::windows::runtime::Abi for TimedMetadataTrackPresentationMode {
7595     type Abi = Self;
7596     type DefaultType = Self;
7597 }
7598 unsafe impl ::windows::runtime::RuntimeType for TimedMetadataTrackPresentationMode {
7599     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.Playback.TimedMetadataTrackPresentationMode;i4)");
7600 }
7601