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