1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[repr(transparent)]
3 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4 #[doc(hidden)]
5 pub struct IInstalledVoicesStatic(::windows::runtime::IInspectable);
6 unsafe impl ::windows::runtime::Interface for IInstalledVoicesStatic {
7     type Vtable = IInstalledVoicesStatic_abi;
8     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2102554316, 30003, 19519, [133, 190, 136, 140, 43, 174, 235, 220]);
9 }
10 #[repr(C)]
11 #[doc(hidden)]
12 pub struct IInstalledVoicesStatic_abi(
13     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
14     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
15     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
16     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
17     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
18     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
19     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
20     #[cfg(not(feature = "Foundation_Collections"))] usize,
21     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
22 );
23 #[repr(transparent)]
24 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
25 #[doc(hidden)]
26 pub struct IInstalledVoicesStatic2(::windows::runtime::IInspectable);
27 unsafe impl ::windows::runtime::Interface for IInstalledVoicesStatic2 {
28     type Vtable = IInstalledVoicesStatic2_abi;
29     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1680170798, 13709, 16472, [190, 154, 253, 63, 203, 66, 53, 48]);
30 }
31 #[repr(C)]
32 #[doc(hidden)]
33 pub struct IInstalledVoicesStatic2_abi(
34     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
35     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
36     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
37     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
38     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
39     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
40     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, voice: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
41     #[cfg(not(feature = "Foundation"))] usize,
42 );
43 #[repr(transparent)]
44 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
45 #[doc(hidden)]
46 pub struct ISpeechSynthesisStream(::windows::runtime::IInspectable);
47 unsafe impl ::windows::runtime::Interface for ISpeechSynthesisStream {
48     type Vtable = ISpeechSynthesisStream_abi;
49     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2212785811, 9292, 17954, [186, 11, 98, 41, 196, 208, 214, 93]);
50 }
51 #[repr(C)]
52 #[doc(hidden)]
53 pub struct ISpeechSynthesisStream_abi(
54     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
55     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
56     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
57     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
58     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
59     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
60     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
61     #[cfg(not(feature = "Foundation_Collections"))] usize,
62 );
63 #[repr(transparent)]
64 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
65 #[doc(hidden)]
66 pub struct ISpeechSynthesizer(::windows::runtime::IInspectable);
67 unsafe impl ::windows::runtime::Interface for ISpeechSynthesizer {
68     type Vtable = ISpeechSynthesizer_abi;
69     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3466558582, 38900, 19693, [173, 104, 213, 28, 69, 142, 69, 198]);
70 }
71 #[repr(C)]
72 #[doc(hidden)]
73 pub struct ISpeechSynthesizer_abi(
74     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
75     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
76     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
77     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
78     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
79     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
80     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, text: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
81     #[cfg(not(feature = "Foundation"))] usize,
82     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, ssml: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
83     #[cfg(not(feature = "Foundation"))] usize,
84     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
85     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
86 );
87 #[repr(transparent)]
88 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
89 #[doc(hidden)]
90 pub struct ISpeechSynthesizer2(::windows::runtime::IInspectable);
91 unsafe impl ::windows::runtime::Interface for ISpeechSynthesizer2 {
92     type Vtable = ISpeechSynthesizer2_abi;
93     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2814766258, 17209, 19818, [187, 248, 199, 164, 241, 84, 76, 46]);
94 }
95 #[repr(C)]
96 #[doc(hidden)]
97 pub struct ISpeechSynthesizer2_abi(
98     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
99     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
101     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
104     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
105 );
106 #[repr(transparent)]
107 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
108 #[doc(hidden)]
109 pub struct ISpeechSynthesizerOptions(::windows::runtime::IInspectable);
110 unsafe impl ::windows::runtime::Interface for ISpeechSynthesizerOptions {
111     type Vtable = ISpeechSynthesizerOptions_abi;
112     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2699180145, 52285, 17353, [145, 177, 238, 24, 83, 36, 216, 61]);
113 }
114 #[repr(C)]
115 #[doc(hidden)]
116 pub struct ISpeechSynthesizerOptions_abi(
117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
125     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
126     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool) -> ::windows::runtime::HRESULT,
127 );
128 #[repr(transparent)]
129 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
130 #[doc(hidden)]
131 pub struct ISpeechSynthesizerOptions2(::windows::runtime::IInspectable);
132 unsafe impl ::windows::runtime::Interface for ISpeechSynthesizerOptions2 {
133     type Vtable = ISpeechSynthesizerOptions2_abi;
134     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(482276878, 4508, 19437, [177, 24, 210, 80, 195, 162, 87, 147]);
135 }
136 #[repr(C)]
137 #[doc(hidden)]
138 pub struct ISpeechSynthesizerOptions2_abi(
139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
144     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
145     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
146     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
147     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
148     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
149     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut f64) -> ::windows::runtime::HRESULT,
150     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: f64) -> ::windows::runtime::HRESULT,
151 );
152 #[repr(transparent)]
153 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
154 #[doc(hidden)]
155 pub struct ISpeechSynthesizerOptions3(::windows::runtime::IInspectable);
156 unsafe impl ::windows::runtime::Interface for ISpeechSynthesizerOptions3 {
157     type Vtable = ISpeechSynthesizerOptions3_abi;
158     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1075763319, 36908, 18452, [165, 130, 165, 208, 192, 118, 159, 168]);
159 }
160 #[repr(C)]
161 #[doc(hidden)]
162 pub struct ISpeechSynthesizerOptions3_abi(
163     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
164     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
165     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
166     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
167     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
168     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
169     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut SpeechAppendedSilence) -> ::windows::runtime::HRESULT,
170     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: SpeechAppendedSilence) -> ::windows::runtime::HRESULT,
171     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut SpeechPunctuationSilence) -> ::windows::runtime::HRESULT,
172     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: SpeechPunctuationSilence) -> ::windows::runtime::HRESULT,
173 );
174 #[repr(transparent)]
175 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
176 #[doc(hidden)]
177 pub struct IVoiceInformation(::windows::runtime::IInspectable);
178 unsafe impl ::windows::runtime::Interface for IVoiceInformation {
179     type Vtable = IVoiceInformation_abi;
180     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2972178084, 4753, 17924, [170, 156, 131, 19, 64, 131, 53, 44]);
181 }
182 #[repr(C)]
183 #[doc(hidden)]
184 pub struct IVoiceInformation_abi(
185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
195     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut VoiceGender) -> ::windows::runtime::HRESULT,
196 );
197 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
198 #[repr(transparent)]
199 pub struct SpeechAppendedSilence(pub i32);
200 impl SpeechAppendedSilence {
201     pub const Default: SpeechAppendedSilence = SpeechAppendedSilence(0i32);
202     pub const Min: SpeechAppendedSilence = SpeechAppendedSilence(1i32);
203 }
204 impl ::std::convert::From<i32> for SpeechAppendedSilence {
from(value: i32) -> Self205     fn from(value: i32) -> Self {
206         Self(value)
207     }
208 }
209 unsafe impl ::windows::runtime::Abi for SpeechAppendedSilence {
210     type Abi = Self;
211     type DefaultType = Self;
212 }
213 unsafe impl ::windows::runtime::RuntimeType for SpeechAppendedSilence {
214     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.SpeechSynthesis.SpeechAppendedSilence;i4)");
215 }
216 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
217 #[repr(transparent)]
218 pub struct SpeechPunctuationSilence(pub i32);
219 impl SpeechPunctuationSilence {
220     pub const Default: SpeechPunctuationSilence = SpeechPunctuationSilence(0i32);
221     pub const Min: SpeechPunctuationSilence = SpeechPunctuationSilence(1i32);
222 }
223 impl ::std::convert::From<i32> for SpeechPunctuationSilence {
from(value: i32) -> Self224     fn from(value: i32) -> Self {
225         Self(value)
226     }
227 }
228 unsafe impl ::windows::runtime::Abi for SpeechPunctuationSilence {
229     type Abi = Self;
230     type DefaultType = Self;
231 }
232 unsafe impl ::windows::runtime::RuntimeType for SpeechPunctuationSilence {
233     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.SpeechSynthesis.SpeechPunctuationSilence;i4)");
234 }
235 #[repr(transparent)]
236 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
237 pub struct SpeechSynthesisStream(::windows::runtime::IInspectable);
238 impl SpeechSynthesisStream {
239     #[cfg(feature = "Foundation_Collections")]
Markers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::IMediaMarker>>240     pub fn Markers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::IMediaMarker>> {
241         let this = self;
242         unsafe {
243             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
244             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<super::IMediaMarker>>(result__)
245         }
246     }
247     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>248     pub fn Close(&self) -> ::windows::runtime::Result<()> {
249         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
250         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
251     }
252     #[cfg(feature = "Storage_Streams")]
ContentType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>253     pub fn ContentType(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
254         let this = &::windows::runtime::Interface::cast::<super::super::Storage::Streams::IContentTypeProvider>(self)?;
255         unsafe {
256             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
257             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
258         }
259     }
260     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
ReadAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, buffer: Param0, count: u32, options: super::super::Storage::Streams::InputStreamOptions) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperationWithProgress<super::super::Storage::Streams::IBuffer, u32>>261     pub fn ReadAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, buffer: Param0, count: u32, options: super::super::Storage::Streams::InputStreamOptions) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperationWithProgress<super::super::Storage::Streams::IBuffer, u32>> {
262         let this = &::windows::runtime::Interface::cast::<super::super::Storage::Streams::IInputStream>(self)?;
263         unsafe {
264             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
265             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), buffer.into_param().abi(), count, options, &mut result__).from_abi::<super::super::Foundation::IAsyncOperationWithProgress<super::super::Storage::Streams::IBuffer, u32>>(result__)
266         }
267     }
268     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
WriteAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, buffer: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperationWithProgress<u32, u32>>269     pub fn WriteAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, buffer: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperationWithProgress<u32, u32>> {
270         let this = &::windows::runtime::Interface::cast::<super::super::Storage::Streams::IOutputStream>(self)?;
271         unsafe {
272             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
273             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), buffer.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperationWithProgress<u32, u32>>(result__)
274         }
275     }
276     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
FlushAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>>277     pub fn FlushAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>> {
278         let this = &::windows::runtime::Interface::cast::<super::super::Storage::Streams::IOutputStream>(self)?;
279         unsafe {
280             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
281             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
282         }
283     }
284     #[cfg(feature = "Storage_Streams")]
Size(&self) -> ::windows::runtime::Result<u64>285     pub fn Size(&self) -> ::windows::runtime::Result<u64> {
286         let this = &::windows::runtime::Interface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
287         unsafe {
288             let mut result__: u64 = ::std::mem::zeroed();
289             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
290         }
291     }
292     #[cfg(feature = "Storage_Streams")]
SetSize(&self, value: u64) -> ::windows::runtime::Result<()>293     pub fn SetSize(&self, value: u64) -> ::windows::runtime::Result<()> {
294         let this = &::windows::runtime::Interface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
295         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
296     }
297     #[cfg(feature = "Storage_Streams")]
GetInputStreamAt(&self, position: u64) -> ::windows::runtime::Result<super::super::Storage::Streams::IInputStream>298     pub fn GetInputStreamAt(&self, position: u64) -> ::windows::runtime::Result<super::super::Storage::Streams::IInputStream> {
299         let this = &::windows::runtime::Interface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
300         unsafe {
301             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
302             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), position, &mut result__).from_abi::<super::super::Storage::Streams::IInputStream>(result__)
303         }
304     }
305     #[cfg(feature = "Storage_Streams")]
GetOutputStreamAt(&self, position: u64) -> ::windows::runtime::Result<super::super::Storage::Streams::IOutputStream>306     pub fn GetOutputStreamAt(&self, position: u64) -> ::windows::runtime::Result<super::super::Storage::Streams::IOutputStream> {
307         let this = &::windows::runtime::Interface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
308         unsafe {
309             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
310             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), position, &mut result__).from_abi::<super::super::Storage::Streams::IOutputStream>(result__)
311         }
312     }
313     #[cfg(feature = "Storage_Streams")]
Position(&self) -> ::windows::runtime::Result<u64>314     pub fn Position(&self) -> ::windows::runtime::Result<u64> {
315         let this = &::windows::runtime::Interface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
316         unsafe {
317             let mut result__: u64 = ::std::mem::zeroed();
318             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
319         }
320     }
321     #[cfg(feature = "Storage_Streams")]
Seek(&self, position: u64) -> ::windows::runtime::Result<()>322     pub fn Seek(&self, position: u64) -> ::windows::runtime::Result<()> {
323         let this = &::windows::runtime::Interface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
324         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), position).ok() }
325     }
326     #[cfg(feature = "Storage_Streams")]
CloneStream(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IRandomAccessStream>327     pub fn CloneStream(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IRandomAccessStream> {
328         let this = &::windows::runtime::Interface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
329         unsafe {
330             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
331             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IRandomAccessStream>(result__)
332         }
333     }
334     #[cfg(feature = "Storage_Streams")]
CanRead(&self) -> ::windows::runtime::Result<bool>335     pub fn CanRead(&self) -> ::windows::runtime::Result<bool> {
336         let this = &::windows::runtime::Interface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
337         unsafe {
338             let mut result__: bool = ::std::mem::zeroed();
339             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
340         }
341     }
342     #[cfg(feature = "Storage_Streams")]
CanWrite(&self) -> ::windows::runtime::Result<bool>343     pub fn CanWrite(&self) -> ::windows::runtime::Result<bool> {
344         let this = &::windows::runtime::Interface::cast::<super::super::Storage::Streams::IRandomAccessStream>(self)?;
345         unsafe {
346             let mut result__: bool = ::std::mem::zeroed();
347             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
348         }
349     }
350     #[cfg(all(feature = "Foundation_Collections", feature = "Media_Core"))]
TimedMetadataTracks(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::Core::TimedMetadataTrack>>351     pub fn TimedMetadataTracks(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::Core::TimedMetadataTrack>> {
352         let this = &::windows::runtime::Interface::cast::<super::Core::ITimedMetadataTrackProvider>(self)?;
353         unsafe {
354             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
355             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<super::Core::TimedMetadataTrack>>(result__)
356         }
357     }
358 }
359 unsafe impl ::windows::runtime::RuntimeType for SpeechSynthesisStream {
360     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.SpeechSynthesis.SpeechSynthesisStream;{83e46e93-244c-4622-ba0b-6229c4d0d65d})");
361 }
362 unsafe impl ::windows::runtime::Interface for SpeechSynthesisStream {
363     type Vtable = ISpeechSynthesisStream_abi;
364     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2212785811, 9292, 17954, [186, 11, 98, 41, 196, 208, 214, 93]);
365 }
366 impl ::windows::runtime::RuntimeName for SpeechSynthesisStream {
367     const NAME: &'static str = "Windows.Media.SpeechSynthesis.SpeechSynthesisStream";
368 }
369 impl ::std::convert::From<SpeechSynthesisStream> for ::windows::runtime::IUnknown {
from(value: SpeechSynthesisStream) -> Self370     fn from(value: SpeechSynthesisStream) -> Self {
371         unsafe { ::std::mem::transmute(value) }
372     }
373 }
374 impl ::std::convert::From<&SpeechSynthesisStream> for ::windows::runtime::IUnknown {
from(value: &SpeechSynthesisStream) -> Self375     fn from(value: &SpeechSynthesisStream) -> Self {
376         ::std::convert::From::from(::std::clone::Clone::clone(value))
377     }
378 }
379 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>380     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
381         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
382     }
383 }
384 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>385     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
386         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
387     }
388 }
389 impl ::std::convert::From<SpeechSynthesisStream> for ::windows::runtime::IInspectable {
from(value: SpeechSynthesisStream) -> Self390     fn from(value: SpeechSynthesisStream) -> Self {
391         value.0
392     }
393 }
394 impl ::std::convert::From<&SpeechSynthesisStream> for ::windows::runtime::IInspectable {
from(value: &SpeechSynthesisStream) -> Self395     fn from(value: &SpeechSynthesisStream) -> Self {
396         value.0.clone()
397     }
398 }
399 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>400     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
401         ::windows::runtime::Param::Owned(self.0)
402     }
403 }
404 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>405     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
406         ::windows::runtime::Param::Borrowed(&self.0)
407     }
408 }
409 #[cfg(feature = "Foundation")]
410 impl ::std::convert::TryFrom<SpeechSynthesisStream> for super::super::Foundation::IClosable {
411     type Error = ::windows::runtime::Error;
try_from(value: SpeechSynthesisStream) -> ::windows::runtime::Result<Self>412     fn try_from(value: SpeechSynthesisStream) -> ::windows::runtime::Result<Self> {
413         ::std::convert::TryFrom::try_from(&value)
414     }
415 }
416 #[cfg(feature = "Foundation")]
417 impl ::std::convert::TryFrom<&SpeechSynthesisStream> for super::super::Foundation::IClosable {
418     type Error = ::windows::runtime::Error;
try_from(value: &SpeechSynthesisStream) -> ::windows::runtime::Result<Self>419     fn try_from(value: &SpeechSynthesisStream) -> ::windows::runtime::Result<Self> {
420         ::windows::runtime::Interface::cast(value)
421     }
422 }
423 #[cfg(feature = "Foundation")]
424 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>425     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
426         ::windows::runtime::IntoParam::into_param(&self)
427     }
428 }
429 #[cfg(feature = "Foundation")]
430 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>431     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
432         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
433     }
434 }
435 #[cfg(feature = "Storage_Streams")]
436 impl ::std::convert::TryFrom<SpeechSynthesisStream> for super::super::Storage::Streams::IContentTypeProvider {
437     type Error = ::windows::runtime::Error;
try_from(value: SpeechSynthesisStream) -> ::windows::runtime::Result<Self>438     fn try_from(value: SpeechSynthesisStream) -> ::windows::runtime::Result<Self> {
439         ::std::convert::TryFrom::try_from(&value)
440     }
441 }
442 #[cfg(feature = "Storage_Streams")]
443 impl ::std::convert::TryFrom<&SpeechSynthesisStream> for super::super::Storage::Streams::IContentTypeProvider {
444     type Error = ::windows::runtime::Error;
try_from(value: &SpeechSynthesisStream) -> ::windows::runtime::Result<Self>445     fn try_from(value: &SpeechSynthesisStream) -> ::windows::runtime::Result<Self> {
446         ::windows::runtime::Interface::cast(value)
447     }
448 }
449 #[cfg(feature = "Storage_Streams")]
450 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IContentTypeProvider> for SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IContentTypeProvider>451     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IContentTypeProvider> {
452         ::windows::runtime::IntoParam::into_param(&self)
453     }
454 }
455 #[cfg(feature = "Storage_Streams")]
456 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IContentTypeProvider> for &SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IContentTypeProvider>457     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IContentTypeProvider> {
458         ::std::convert::TryInto::<super::super::Storage::Streams::IContentTypeProvider>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
459     }
460 }
461 #[cfg(feature = "Storage_Streams")]
462 impl ::std::convert::TryFrom<SpeechSynthesisStream> for super::super::Storage::Streams::IInputStream {
463     type Error = ::windows::runtime::Error;
try_from(value: SpeechSynthesisStream) -> ::windows::runtime::Result<Self>464     fn try_from(value: SpeechSynthesisStream) -> ::windows::runtime::Result<Self> {
465         ::std::convert::TryFrom::try_from(&value)
466     }
467 }
468 #[cfg(feature = "Storage_Streams")]
469 impl ::std::convert::TryFrom<&SpeechSynthesisStream> for super::super::Storage::Streams::IInputStream {
470     type Error = ::windows::runtime::Error;
try_from(value: &SpeechSynthesisStream) -> ::windows::runtime::Result<Self>471     fn try_from(value: &SpeechSynthesisStream) -> ::windows::runtime::Result<Self> {
472         ::windows::runtime::Interface::cast(value)
473     }
474 }
475 #[cfg(feature = "Storage_Streams")]
476 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IInputStream> for SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IInputStream>477     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IInputStream> {
478         ::windows::runtime::IntoParam::into_param(&self)
479     }
480 }
481 #[cfg(feature = "Storage_Streams")]
482 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IInputStream> for &SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IInputStream>483     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IInputStream> {
484         ::std::convert::TryInto::<super::super::Storage::Streams::IInputStream>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
485     }
486 }
487 #[cfg(feature = "Storage_Streams")]
488 impl ::std::convert::TryFrom<SpeechSynthesisStream> for super::super::Storage::Streams::IOutputStream {
489     type Error = ::windows::runtime::Error;
try_from(value: SpeechSynthesisStream) -> ::windows::runtime::Result<Self>490     fn try_from(value: SpeechSynthesisStream) -> ::windows::runtime::Result<Self> {
491         ::std::convert::TryFrom::try_from(&value)
492     }
493 }
494 #[cfg(feature = "Storage_Streams")]
495 impl ::std::convert::TryFrom<&SpeechSynthesisStream> for super::super::Storage::Streams::IOutputStream {
496     type Error = ::windows::runtime::Error;
try_from(value: &SpeechSynthesisStream) -> ::windows::runtime::Result<Self>497     fn try_from(value: &SpeechSynthesisStream) -> ::windows::runtime::Result<Self> {
498         ::windows::runtime::Interface::cast(value)
499     }
500 }
501 #[cfg(feature = "Storage_Streams")]
502 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IOutputStream> for SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IOutputStream>503     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IOutputStream> {
504         ::windows::runtime::IntoParam::into_param(&self)
505     }
506 }
507 #[cfg(feature = "Storage_Streams")]
508 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IOutputStream> for &SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IOutputStream>509     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IOutputStream> {
510         ::std::convert::TryInto::<super::super::Storage::Streams::IOutputStream>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
511     }
512 }
513 #[cfg(feature = "Storage_Streams")]
514 impl ::std::convert::TryFrom<SpeechSynthesisStream> for super::super::Storage::Streams::IRandomAccessStream {
515     type Error = ::windows::runtime::Error;
try_from(value: SpeechSynthesisStream) -> ::windows::runtime::Result<Self>516     fn try_from(value: SpeechSynthesisStream) -> ::windows::runtime::Result<Self> {
517         ::std::convert::TryFrom::try_from(&value)
518     }
519 }
520 #[cfg(feature = "Storage_Streams")]
521 impl ::std::convert::TryFrom<&SpeechSynthesisStream> for super::super::Storage::Streams::IRandomAccessStream {
522     type Error = ::windows::runtime::Error;
try_from(value: &SpeechSynthesisStream) -> ::windows::runtime::Result<Self>523     fn try_from(value: &SpeechSynthesisStream) -> ::windows::runtime::Result<Self> {
524         ::windows::runtime::Interface::cast(value)
525     }
526 }
527 #[cfg(feature = "Storage_Streams")]
528 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream> for SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IRandomAccessStream>529     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IRandomAccessStream> {
530         ::windows::runtime::IntoParam::into_param(&self)
531     }
532 }
533 #[cfg(feature = "Storage_Streams")]
534 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStream> for &SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IRandomAccessStream>535     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IRandomAccessStream> {
536         ::std::convert::TryInto::<super::super::Storage::Streams::IRandomAccessStream>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
537     }
538 }
539 #[cfg(feature = "Storage_Streams")]
540 impl ::std::convert::TryFrom<SpeechSynthesisStream> for super::super::Storage::Streams::IRandomAccessStreamWithContentType {
541     type Error = ::windows::runtime::Error;
try_from(value: SpeechSynthesisStream) -> ::windows::runtime::Result<Self>542     fn try_from(value: SpeechSynthesisStream) -> ::windows::runtime::Result<Self> {
543         ::std::convert::TryFrom::try_from(&value)
544     }
545 }
546 #[cfg(feature = "Storage_Streams")]
547 impl ::std::convert::TryFrom<&SpeechSynthesisStream> for super::super::Storage::Streams::IRandomAccessStreamWithContentType {
548     type Error = ::windows::runtime::Error;
try_from(value: &SpeechSynthesisStream) -> ::windows::runtime::Result<Self>549     fn try_from(value: &SpeechSynthesisStream) -> ::windows::runtime::Result<Self> {
550         ::windows::runtime::Interface::cast(value)
551     }
552 }
553 #[cfg(feature = "Storage_Streams")]
554 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStreamWithContentType> for SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IRandomAccessStreamWithContentType>555     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IRandomAccessStreamWithContentType> {
556         ::windows::runtime::IntoParam::into_param(&self)
557     }
558 }
559 #[cfg(feature = "Storage_Streams")]
560 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IRandomAccessStreamWithContentType> for &SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IRandomAccessStreamWithContentType>561     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Storage::Streams::IRandomAccessStreamWithContentType> {
562         ::std::convert::TryInto::<super::super::Storage::Streams::IRandomAccessStreamWithContentType>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
563     }
564 }
565 #[cfg(feature = "Media_Core")]
566 impl ::std::convert::TryFrom<SpeechSynthesisStream> for super::Core::ITimedMetadataTrackProvider {
567     type Error = ::windows::runtime::Error;
try_from(value: SpeechSynthesisStream) -> ::windows::runtime::Result<Self>568     fn try_from(value: SpeechSynthesisStream) -> ::windows::runtime::Result<Self> {
569         ::std::convert::TryFrom::try_from(&value)
570     }
571 }
572 #[cfg(feature = "Media_Core")]
573 impl ::std::convert::TryFrom<&SpeechSynthesisStream> for super::Core::ITimedMetadataTrackProvider {
574     type Error = ::windows::runtime::Error;
try_from(value: &SpeechSynthesisStream) -> ::windows::runtime::Result<Self>575     fn try_from(value: &SpeechSynthesisStream) -> ::windows::runtime::Result<Self> {
576         ::windows::runtime::Interface::cast(value)
577     }
578 }
579 #[cfg(feature = "Media_Core")]
580 impl<'a> ::windows::runtime::IntoParam<'a, super::Core::ITimedMetadataTrackProvider> for SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, super::Core::ITimedMetadataTrackProvider>581     fn into_param(self) -> ::windows::runtime::Param<'a, super::Core::ITimedMetadataTrackProvider> {
582         ::windows::runtime::IntoParam::into_param(&self)
583     }
584 }
585 #[cfg(feature = "Media_Core")]
586 impl<'a> ::windows::runtime::IntoParam<'a, super::Core::ITimedMetadataTrackProvider> for &SpeechSynthesisStream {
into_param(self) -> ::windows::runtime::Param<'a, super::Core::ITimedMetadataTrackProvider>587     fn into_param(self) -> ::windows::runtime::Param<'a, super::Core::ITimedMetadataTrackProvider> {
588         ::std::convert::TryInto::<super::Core::ITimedMetadataTrackProvider>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
589     }
590 }
591 unsafe impl ::std::marker::Send for SpeechSynthesisStream {}
592 unsafe impl ::std::marker::Sync for SpeechSynthesisStream {}
593 #[repr(transparent)]
594 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
595 pub struct SpeechSynthesizer(::windows::runtime::IInspectable);
596 impl SpeechSynthesizer {
new() -> ::windows::runtime::Result<Self>597     pub fn new() -> ::windows::runtime::Result<Self> {
598         Self::IActivationFactory(|f| f.activate_instance::<Self>())
599     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>600     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
601         static mut SHARED: ::windows::runtime::FactoryCache<SpeechSynthesizer, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
602         unsafe { SHARED.call(callback) }
603     }
604     #[cfg(feature = "Foundation")]
SynthesizeTextToStreamAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, text: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<SpeechSynthesisStream>>605     pub fn SynthesizeTextToStreamAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, text: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<SpeechSynthesisStream>> {
606         let this = self;
607         unsafe {
608             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
609             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), text.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<SpeechSynthesisStream>>(result__)
610         }
611     }
612     #[cfg(feature = "Foundation")]
SynthesizeSsmlToStreamAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, ssml: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<SpeechSynthesisStream>>613     pub fn SynthesizeSsmlToStreamAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, ssml: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<SpeechSynthesisStream>> {
614         let this = self;
615         unsafe {
616             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
617             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), ssml.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<SpeechSynthesisStream>>(result__)
618         }
619     }
SetVoice<'a, Param0: ::windows::runtime::IntoParam<'a, VoiceInformation>>(&self, value: Param0) -> ::windows::runtime::Result<()>620     pub fn SetVoice<'a, Param0: ::windows::runtime::IntoParam<'a, VoiceInformation>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
621         let this = self;
622         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
623     }
Voice(&self) -> ::windows::runtime::Result<VoiceInformation>624     pub fn Voice(&self) -> ::windows::runtime::Result<VoiceInformation> {
625         let this = self;
626         unsafe {
627             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
628             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VoiceInformation>(result__)
629         }
630     }
631     #[cfg(feature = "Foundation")]
Close(&self) -> ::windows::runtime::Result<()>632     pub fn Close(&self) -> ::windows::runtime::Result<()> {
633         let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
634         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
635     }
636     #[cfg(feature = "Foundation_Collections")]
AllVoices() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<VoiceInformation>>637     pub fn AllVoices() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<VoiceInformation>> {
638         Self::IInstalledVoicesStatic(|this| unsafe {
639             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
640             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<VoiceInformation>>(result__)
641         })
642     }
DefaultVoice() -> ::windows::runtime::Result<VoiceInformation>643     pub fn DefaultVoice() -> ::windows::runtime::Result<VoiceInformation> {
644         Self::IInstalledVoicesStatic(|this| unsafe {
645             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
646             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VoiceInformation>(result__)
647         })
648     }
Options(&self) -> ::windows::runtime::Result<SpeechSynthesizerOptions>649     pub fn Options(&self) -> ::windows::runtime::Result<SpeechSynthesizerOptions> {
650         let this = &::windows::runtime::Interface::cast::<ISpeechSynthesizer2>(self)?;
651         unsafe {
652             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
653             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SpeechSynthesizerOptions>(result__)
654         }
655     }
656     #[cfg(feature = "Foundation")]
TrySetDefaultVoiceAsync<'a, Param0: ::windows::runtime::IntoParam<'a, VoiceInformation>>(voice: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>>657     pub fn TrySetDefaultVoiceAsync<'a, Param0: ::windows::runtime::IntoParam<'a, VoiceInformation>>(voice: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>> {
658         Self::IInstalledVoicesStatic2(|this| unsafe {
659             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
660             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), voice.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
661         })
662     }
IInstalledVoicesStatic<R, F: FnOnce(&IInstalledVoicesStatic) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>663     pub fn IInstalledVoicesStatic<R, F: FnOnce(&IInstalledVoicesStatic) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
664         static mut SHARED: ::windows::runtime::FactoryCache<SpeechSynthesizer, IInstalledVoicesStatic> = ::windows::runtime::FactoryCache::new();
665         unsafe { SHARED.call(callback) }
666     }
IInstalledVoicesStatic2<R, F: FnOnce(&IInstalledVoicesStatic2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>667     pub fn IInstalledVoicesStatic2<R, F: FnOnce(&IInstalledVoicesStatic2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
668         static mut SHARED: ::windows::runtime::FactoryCache<SpeechSynthesizer, IInstalledVoicesStatic2> = ::windows::runtime::FactoryCache::new();
669         unsafe { SHARED.call(callback) }
670     }
671 }
672 unsafe impl ::windows::runtime::RuntimeType for SpeechSynthesizer {
673     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.SpeechSynthesis.SpeechSynthesizer;{ce9f7c76-97f4-4ced-ad68-d51c458e45c6})");
674 }
675 unsafe impl ::windows::runtime::Interface for SpeechSynthesizer {
676     type Vtable = ISpeechSynthesizer_abi;
677     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3466558582, 38900, 19693, [173, 104, 213, 28, 69, 142, 69, 198]);
678 }
679 impl ::windows::runtime::RuntimeName for SpeechSynthesizer {
680     const NAME: &'static str = "Windows.Media.SpeechSynthesis.SpeechSynthesizer";
681 }
682 impl ::std::convert::From<SpeechSynthesizer> for ::windows::runtime::IUnknown {
from(value: SpeechSynthesizer) -> Self683     fn from(value: SpeechSynthesizer) -> Self {
684         unsafe { ::std::mem::transmute(value) }
685     }
686 }
687 impl ::std::convert::From<&SpeechSynthesizer> for ::windows::runtime::IUnknown {
from(value: &SpeechSynthesizer) -> Self688     fn from(value: &SpeechSynthesizer) -> Self {
689         ::std::convert::From::from(::std::clone::Clone::clone(value))
690     }
691 }
692 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SpeechSynthesizer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>693     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
694         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
695     }
696 }
697 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SpeechSynthesizer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>698     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
699         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
700     }
701 }
702 impl ::std::convert::From<SpeechSynthesizer> for ::windows::runtime::IInspectable {
from(value: SpeechSynthesizer) -> Self703     fn from(value: SpeechSynthesizer) -> Self {
704         value.0
705     }
706 }
707 impl ::std::convert::From<&SpeechSynthesizer> for ::windows::runtime::IInspectable {
from(value: &SpeechSynthesizer) -> Self708     fn from(value: &SpeechSynthesizer) -> Self {
709         value.0.clone()
710     }
711 }
712 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SpeechSynthesizer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>713     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
714         ::windows::runtime::Param::Owned(self.0)
715     }
716 }
717 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SpeechSynthesizer {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>718     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
719         ::windows::runtime::Param::Borrowed(&self.0)
720     }
721 }
722 #[cfg(feature = "Foundation")]
723 impl ::std::convert::TryFrom<SpeechSynthesizer> for super::super::Foundation::IClosable {
724     type Error = ::windows::runtime::Error;
try_from(value: SpeechSynthesizer) -> ::windows::runtime::Result<Self>725     fn try_from(value: SpeechSynthesizer) -> ::windows::runtime::Result<Self> {
726         ::std::convert::TryFrom::try_from(&value)
727     }
728 }
729 #[cfg(feature = "Foundation")]
730 impl ::std::convert::TryFrom<&SpeechSynthesizer> for super::super::Foundation::IClosable {
731     type Error = ::windows::runtime::Error;
try_from(value: &SpeechSynthesizer) -> ::windows::runtime::Result<Self>732     fn try_from(value: &SpeechSynthesizer) -> ::windows::runtime::Result<Self> {
733         ::windows::runtime::Interface::cast(value)
734     }
735 }
736 #[cfg(feature = "Foundation")]
737 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for SpeechSynthesizer {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>738     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
739         ::windows::runtime::IntoParam::into_param(&self)
740     }
741 }
742 #[cfg(feature = "Foundation")]
743 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &SpeechSynthesizer {
into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>744     fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
745         ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
746     }
747 }
748 unsafe impl ::std::marker::Send for SpeechSynthesizer {}
749 unsafe impl ::std::marker::Sync for SpeechSynthesizer {}
750 #[repr(transparent)]
751 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
752 pub struct SpeechSynthesizerOptions(::windows::runtime::IInspectable);
753 impl SpeechSynthesizerOptions {
IncludeWordBoundaryMetadata(&self) -> ::windows::runtime::Result<bool>754     pub fn IncludeWordBoundaryMetadata(&self) -> ::windows::runtime::Result<bool> {
755         let this = self;
756         unsafe {
757             let mut result__: bool = ::std::mem::zeroed();
758             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
759         }
760     }
SetIncludeWordBoundaryMetadata(&self, value: bool) -> ::windows::runtime::Result<()>761     pub fn SetIncludeWordBoundaryMetadata(&self, value: bool) -> ::windows::runtime::Result<()> {
762         let this = self;
763         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
764     }
IncludeSentenceBoundaryMetadata(&self) -> ::windows::runtime::Result<bool>765     pub fn IncludeSentenceBoundaryMetadata(&self) -> ::windows::runtime::Result<bool> {
766         let this = self;
767         unsafe {
768             let mut result__: bool = ::std::mem::zeroed();
769             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
770         }
771     }
SetIncludeSentenceBoundaryMetadata(&self, value: bool) -> ::windows::runtime::Result<()>772     pub fn SetIncludeSentenceBoundaryMetadata(&self, value: bool) -> ::windows::runtime::Result<()> {
773         let this = self;
774         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
775     }
AudioVolume(&self) -> ::windows::runtime::Result<f64>776     pub fn AudioVolume(&self) -> ::windows::runtime::Result<f64> {
777         let this = &::windows::runtime::Interface::cast::<ISpeechSynthesizerOptions2>(self)?;
778         unsafe {
779             let mut result__: f64 = ::std::mem::zeroed();
780             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
781         }
782     }
SetAudioVolume(&self, value: f64) -> ::windows::runtime::Result<()>783     pub fn SetAudioVolume(&self, value: f64) -> ::windows::runtime::Result<()> {
784         let this = &::windows::runtime::Interface::cast::<ISpeechSynthesizerOptions2>(self)?;
785         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
786     }
SpeakingRate(&self) -> ::windows::runtime::Result<f64>787     pub fn SpeakingRate(&self) -> ::windows::runtime::Result<f64> {
788         let this = &::windows::runtime::Interface::cast::<ISpeechSynthesizerOptions2>(self)?;
789         unsafe {
790             let mut result__: f64 = ::std::mem::zeroed();
791             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
792         }
793     }
SetSpeakingRate(&self, value: f64) -> ::windows::runtime::Result<()>794     pub fn SetSpeakingRate(&self, value: f64) -> ::windows::runtime::Result<()> {
795         let this = &::windows::runtime::Interface::cast::<ISpeechSynthesizerOptions2>(self)?;
796         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
797     }
AudioPitch(&self) -> ::windows::runtime::Result<f64>798     pub fn AudioPitch(&self) -> ::windows::runtime::Result<f64> {
799         let this = &::windows::runtime::Interface::cast::<ISpeechSynthesizerOptions2>(self)?;
800         unsafe {
801             let mut result__: f64 = ::std::mem::zeroed();
802             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<f64>(result__)
803         }
804     }
SetAudioPitch(&self, value: f64) -> ::windows::runtime::Result<()>805     pub fn SetAudioPitch(&self, value: f64) -> ::windows::runtime::Result<()> {
806         let this = &::windows::runtime::Interface::cast::<ISpeechSynthesizerOptions2>(self)?;
807         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() }
808     }
AppendedSilence(&self) -> ::windows::runtime::Result<SpeechAppendedSilence>809     pub fn AppendedSilence(&self) -> ::windows::runtime::Result<SpeechAppendedSilence> {
810         let this = &::windows::runtime::Interface::cast::<ISpeechSynthesizerOptions3>(self)?;
811         unsafe {
812             let mut result__: SpeechAppendedSilence = ::std::mem::zeroed();
813             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SpeechAppendedSilence>(result__)
814         }
815     }
SetAppendedSilence(&self, value: SpeechAppendedSilence) -> ::windows::runtime::Result<()>816     pub fn SetAppendedSilence(&self, value: SpeechAppendedSilence) -> ::windows::runtime::Result<()> {
817         let this = &::windows::runtime::Interface::cast::<ISpeechSynthesizerOptions3>(self)?;
818         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
819     }
PunctuationSilence(&self) -> ::windows::runtime::Result<SpeechPunctuationSilence>820     pub fn PunctuationSilence(&self) -> ::windows::runtime::Result<SpeechPunctuationSilence> {
821         let this = &::windows::runtime::Interface::cast::<ISpeechSynthesizerOptions3>(self)?;
822         unsafe {
823             let mut result__: SpeechPunctuationSilence = ::std::mem::zeroed();
824             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<SpeechPunctuationSilence>(result__)
825         }
826     }
SetPunctuationSilence(&self, value: SpeechPunctuationSilence) -> ::windows::runtime::Result<()>827     pub fn SetPunctuationSilence(&self, value: SpeechPunctuationSilence) -> ::windows::runtime::Result<()> {
828         let this = &::windows::runtime::Interface::cast::<ISpeechSynthesizerOptions3>(self)?;
829         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
830     }
831 }
832 unsafe impl ::windows::runtime::RuntimeType for SpeechSynthesizerOptions {
833     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.SpeechSynthesis.SpeechSynthesizerOptions;{a0e23871-cc3d-43c9-91b1-ee185324d83d})");
834 }
835 unsafe impl ::windows::runtime::Interface for SpeechSynthesizerOptions {
836     type Vtable = ISpeechSynthesizerOptions_abi;
837     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2699180145, 52285, 17353, [145, 177, 238, 24, 83, 36, 216, 61]);
838 }
839 impl ::windows::runtime::RuntimeName for SpeechSynthesizerOptions {
840     const NAME: &'static str = "Windows.Media.SpeechSynthesis.SpeechSynthesizerOptions";
841 }
842 impl ::std::convert::From<SpeechSynthesizerOptions> for ::windows::runtime::IUnknown {
from(value: SpeechSynthesizerOptions) -> Self843     fn from(value: SpeechSynthesizerOptions) -> Self {
844         unsafe { ::std::mem::transmute(value) }
845     }
846 }
847 impl ::std::convert::From<&SpeechSynthesizerOptions> for ::windows::runtime::IUnknown {
from(value: &SpeechSynthesizerOptions) -> Self848     fn from(value: &SpeechSynthesizerOptions) -> Self {
849         ::std::convert::From::from(::std::clone::Clone::clone(value))
850     }
851 }
852 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for SpeechSynthesizerOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>853     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
854         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
855     }
856 }
857 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &SpeechSynthesizerOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>858     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
859         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
860     }
861 }
862 impl ::std::convert::From<SpeechSynthesizerOptions> for ::windows::runtime::IInspectable {
from(value: SpeechSynthesizerOptions) -> Self863     fn from(value: SpeechSynthesizerOptions) -> Self {
864         value.0
865     }
866 }
867 impl ::std::convert::From<&SpeechSynthesizerOptions> for ::windows::runtime::IInspectable {
from(value: &SpeechSynthesizerOptions) -> Self868     fn from(value: &SpeechSynthesizerOptions) -> Self {
869         value.0.clone()
870     }
871 }
872 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for SpeechSynthesizerOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>873     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
874         ::windows::runtime::Param::Owned(self.0)
875     }
876 }
877 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a SpeechSynthesizerOptions {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>878     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
879         ::windows::runtime::Param::Borrowed(&self.0)
880     }
881 }
882 unsafe impl ::std::marker::Send for SpeechSynthesizerOptions {}
883 unsafe impl ::std::marker::Sync for SpeechSynthesizerOptions {}
884 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
885 #[repr(transparent)]
886 pub struct VoiceGender(pub i32);
887 impl VoiceGender {
888     pub const Male: VoiceGender = VoiceGender(0i32);
889     pub const Female: VoiceGender = VoiceGender(1i32);
890 }
891 impl ::std::convert::From<i32> for VoiceGender {
from(value: i32) -> Self892     fn from(value: i32) -> Self {
893         Self(value)
894     }
895 }
896 unsafe impl ::windows::runtime::Abi for VoiceGender {
897     type Abi = Self;
898     type DefaultType = Self;
899 }
900 unsafe impl ::windows::runtime::RuntimeType for VoiceGender {
901     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Media.SpeechSynthesis.VoiceGender;i4)");
902 }
903 #[repr(transparent)]
904 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
905 pub struct VoiceInformation(::windows::runtime::IInspectable);
906 impl VoiceInformation {
DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>907     pub fn DisplayName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
908         let this = self;
909         unsafe {
910             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
911             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
912         }
913     }
Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>914     pub fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
915         let this = self;
916         unsafe {
917             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
918             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
919         }
920     }
Language(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>921     pub fn Language(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
922         let this = self;
923         unsafe {
924             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
925             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
926         }
927     }
Description(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>928     pub fn Description(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
929         let this = self;
930         unsafe {
931             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
932             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
933         }
934     }
Gender(&self) -> ::windows::runtime::Result<VoiceGender>935     pub fn Gender(&self) -> ::windows::runtime::Result<VoiceGender> {
936         let this = self;
937         unsafe {
938             let mut result__: VoiceGender = ::std::mem::zeroed();
939             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<VoiceGender>(result__)
940         }
941     }
942 }
943 unsafe impl ::windows::runtime::RuntimeType for VoiceInformation {
944     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Media.SpeechSynthesis.VoiceInformation;{b127d6a4-1291-4604-aa9c-83134083352c})");
945 }
946 unsafe impl ::windows::runtime::Interface for VoiceInformation {
947     type Vtable = IVoiceInformation_abi;
948     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2972178084, 4753, 17924, [170, 156, 131, 19, 64, 131, 53, 44]);
949 }
950 impl ::windows::runtime::RuntimeName for VoiceInformation {
951     const NAME: &'static str = "Windows.Media.SpeechSynthesis.VoiceInformation";
952 }
953 impl ::std::convert::From<VoiceInformation> for ::windows::runtime::IUnknown {
from(value: VoiceInformation) -> Self954     fn from(value: VoiceInformation) -> Self {
955         unsafe { ::std::mem::transmute(value) }
956     }
957 }
958 impl ::std::convert::From<&VoiceInformation> for ::windows::runtime::IUnknown {
from(value: &VoiceInformation) -> Self959     fn from(value: &VoiceInformation) -> Self {
960         ::std::convert::From::from(::std::clone::Clone::clone(value))
961     }
962 }
963 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for VoiceInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>964     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
965         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
966     }
967 }
968 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &VoiceInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>969     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
970         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
971     }
972 }
973 impl ::std::convert::From<VoiceInformation> for ::windows::runtime::IInspectable {
from(value: VoiceInformation) -> Self974     fn from(value: VoiceInformation) -> Self {
975         value.0
976     }
977 }
978 impl ::std::convert::From<&VoiceInformation> for ::windows::runtime::IInspectable {
from(value: &VoiceInformation) -> Self979     fn from(value: &VoiceInformation) -> Self {
980         value.0.clone()
981     }
982 }
983 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for VoiceInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>984     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
985         ::windows::runtime::Param::Owned(self.0)
986     }
987 }
988 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a VoiceInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>989     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
990         ::windows::runtime::Param::Borrowed(&self.0)
991     }
992 }
993 unsafe impl ::std::marker::Send for VoiceInformation {}
994 unsafe impl ::std::marker::Sync for VoiceInformation {}
995