]> git.proxmox.com Git - rustc.git/blame - vendor/windows/src/Windows/Win32/Media/Speech/mod.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows / src / Windows / Win32 / Media / Speech / mod.rs
CommitLineData
353b0b11
FG
1#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
2#[repr(transparent)]
3pub struct IEnumSpObjectTokens(::windows::core::IUnknown);
4impl IEnumSpObjectTokens {
5 pub unsafe fn Next(&self, celt: u32, pelt: *mut ::core::option::Option<ISpObjectToken>, pceltfetched: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()> {
6 (::windows::core::Interface::vtable(self).Next)(::windows::core::Interface::as_raw(self), celt, ::core::mem::transmute(pelt), ::core::mem::transmute(pceltfetched.unwrap_or(::std::ptr::null_mut()))).ok()
7 }
8 pub unsafe fn Skip(&self, celt: u32) -> ::windows::core::Result<()> {
9 (::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), celt).ok()
10 }
11 pub unsafe fn Reset(&self) -> ::windows::core::Result<()> {
12 (::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self)).ok()
13 }
14 pub unsafe fn Clone(&self) -> ::windows::core::Result<IEnumSpObjectTokens> {
15 let mut result__ = ::windows::core::zeroed::<IEnumSpObjectTokens>();
16 (::windows::core::Interface::vtable(self).Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
17 }
18 pub unsafe fn Item(&self, index: u32) -> ::windows::core::Result<ISpObjectToken> {
19 let mut result__ = ::windows::core::zeroed::<ISpObjectToken>();
20 (::windows::core::Interface::vtable(self).Item)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
21 }
22 pub unsafe fn GetCount(&self, pcount: *mut u32) -> ::windows::core::Result<()> {
23 (::windows::core::Interface::vtable(self).GetCount)(::windows::core::Interface::as_raw(self), pcount).ok()
24 }
25}
26::windows::imp::interface_hierarchy!(IEnumSpObjectTokens, ::windows::core::IUnknown);
27impl ::core::cmp::PartialEq for IEnumSpObjectTokens {
28 fn eq(&self, other: &Self) -> bool {
29 self.0 == other.0
30 }
31}
32impl ::core::cmp::Eq for IEnumSpObjectTokens {}
33impl ::core::fmt::Debug for IEnumSpObjectTokens {
34 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
35 f.debug_tuple("IEnumSpObjectTokens").field(&self.0).finish()
36 }
37}
38unsafe impl ::windows::core::Interface for IEnumSpObjectTokens {
39 type Vtable = IEnumSpObjectTokens_Vtbl;
40}
41impl ::core::clone::Clone for IEnumSpObjectTokens {
42 fn clone(&self) -> Self {
43 Self(self.0.clone())
44 }
45}
46unsafe impl ::windows::core::ComInterface for IEnumSpObjectTokens {
47 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x06b64f9e_7fda_11d2_b4f2_00c04f797396);
48}
49#[repr(C)]
50#[doc(hidden)]
51pub struct IEnumSpObjectTokens_Vtbl {
52 pub base__: ::windows::core::IUnknown_Vtbl,
53 pub Next: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32, pelt: *mut *mut ::core::ffi::c_void, pceltfetched: *mut u32) -> ::windows::core::HRESULT,
54 pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, celt: u32) -> ::windows::core::HRESULT,
55 pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
56 pub Clone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
57 pub Item: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, pptoken: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
58 pub GetCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcount: *mut u32) -> ::windows::core::HRESULT,
59}
60#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
61#[cfg(feature = "Win32_System_Com")]
62#[repr(transparent)]
63pub struct ISpAudio(::windows::core::IUnknown);
64#[cfg(feature = "Win32_System_Com")]
65impl ISpAudio {
66 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
67 #[cfg(feature = "Win32_System_Com")]
68 pub unsafe fn Read(&self, pv: *mut ::core::ffi::c_void, cb: u32, pcbread: ::core::option::Option<*mut u32>) -> ::windows::core::HRESULT {
69 (::windows::core::Interface::vtable(self).base__.base__.base__.Read)(::windows::core::Interface::as_raw(self), pv, cb, ::core::mem::transmute(pcbread.unwrap_or(::std::ptr::null_mut())))
70 }
71 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
72 #[cfg(feature = "Win32_System_Com")]
73 pub unsafe fn Write(&self, pv: *const ::core::ffi::c_void, cb: u32, pcbwritten: ::core::option::Option<*mut u32>) -> ::windows::core::HRESULT {
74 (::windows::core::Interface::vtable(self).base__.base__.base__.Write)(::windows::core::Interface::as_raw(self), pv, cb, ::core::mem::transmute(pcbwritten.unwrap_or(::std::ptr::null_mut())))
75 }
76 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
77 #[cfg(feature = "Win32_System_Com")]
78 pub unsafe fn Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK, plibnewposition: ::core::option::Option<*mut u64>) -> ::windows::core::Result<()> {
79 (::windows::core::Interface::vtable(self).base__.base__.Seek)(::windows::core::Interface::as_raw(self), dlibmove, dworigin, ::core::mem::transmute(plibnewposition.unwrap_or(::std::ptr::null_mut()))).ok()
80 }
81 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
82 #[cfg(feature = "Win32_System_Com")]
83 pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows::core::Result<()> {
84 (::windows::core::Interface::vtable(self).base__.base__.SetSize)(::windows::core::Interface::as_raw(self), libnewsize).ok()
85 }
86 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
87 #[cfg(feature = "Win32_System_Com")]
88 pub unsafe fn CopyTo<P0>(&self, pstm: P0, cb: u64, pcbread: ::core::option::Option<*mut u64>, pcbwritten: ::core::option::Option<*mut u64>) -> ::windows::core::Result<()>
89 where
90 P0: ::windows::core::IntoParam<super::super::System::Com::IStream>,
91 {
92 (::windows::core::Interface::vtable(self).base__.base__.CopyTo)(::windows::core::Interface::as_raw(self), pstm.into_param().abi(), cb, ::core::mem::transmute(pcbread.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcbwritten.unwrap_or(::std::ptr::null_mut()))).ok()
93 }
94 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
95 #[cfg(feature = "Win32_System_Com")]
96 pub unsafe fn Commit(&self, grfcommitflags: super::super::System::Com::STGC) -> ::windows::core::Result<()> {
97 (::windows::core::Interface::vtable(self).base__.base__.Commit)(::windows::core::Interface::as_raw(self), grfcommitflags).ok()
98 }
99 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
100 #[cfg(feature = "Win32_System_Com")]
101 pub unsafe fn Revert(&self) -> ::windows::core::Result<()> {
102 (::windows::core::Interface::vtable(self).base__.base__.Revert)(::windows::core::Interface::as_raw(self)).ok()
103 }
104 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
105 #[cfg(feature = "Win32_System_Com")]
106 pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: super::super::System::Com::LOCKTYPE) -> ::windows::core::Result<()> {
107 (::windows::core::Interface::vtable(self).base__.base__.LockRegion)(::windows::core::Interface::as_raw(self), liboffset, cb, dwlocktype).ok()
108 }
109 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
110 #[cfg(feature = "Win32_System_Com")]
111 pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::core::Result<()> {
112 (::windows::core::Interface::vtable(self).base__.base__.UnlockRegion)(::windows::core::Interface::as_raw(self), liboffset, cb, dwlocktype).ok()
113 }
114 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`*"]
115 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
116 pub unsafe fn Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: super::super::System::Com::STATFLAG) -> ::windows::core::Result<()> {
117 (::windows::core::Interface::vtable(self).base__.base__.Stat)(::windows::core::Interface::as_raw(self), pstatstg, grfstatflag).ok()
118 }
119 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
120 #[cfg(feature = "Win32_System_Com")]
121 pub unsafe fn Clone(&self) -> ::windows::core::Result<super::super::System::Com::IStream> {
122 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IStream>();
123 (::windows::core::Interface::vtable(self).base__.base__.Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
124 }
125 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
126 #[cfg(feature = "Win32_Media_Audio")]
127 pub unsafe fn GetFormat(&self, pguidformatid: *const ::windows::core::GUID) -> ::windows::core::Result<*mut super::Audio::WAVEFORMATEX> {
128 let mut result__ = ::windows::core::zeroed::<*mut super::Audio::WAVEFORMATEX>();
129 (::windows::core::Interface::vtable(self).base__.GetFormat)(::windows::core::Interface::as_raw(self), pguidformatid, &mut result__).from_abi(result__)
130 }
131 pub unsafe fn SetState(&self, newstate: SPAUDIOSTATE, ullreserved: u64) -> ::windows::core::Result<()> {
132 (::windows::core::Interface::vtable(self).SetState)(::windows::core::Interface::as_raw(self), newstate, ullreserved).ok()
133 }
134 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
135 #[cfg(feature = "Win32_Media_Audio")]
136 pub unsafe fn SetFormat(&self, rguidfmtid: *const ::windows::core::GUID, pwaveformatex: *const super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()> {
137 (::windows::core::Interface::vtable(self).SetFormat)(::windows::core::Interface::as_raw(self), rguidfmtid, pwaveformatex).ok()
138 }
139 pub unsafe fn GetStatus(&self, pstatus: *mut SPAUDIOSTATUS) -> ::windows::core::Result<()> {
140 (::windows::core::Interface::vtable(self).GetStatus)(::windows::core::Interface::as_raw(self), pstatus).ok()
141 }
142 pub unsafe fn SetBufferInfo(&self, pbuffinfo: *const SPAUDIOBUFFERINFO) -> ::windows::core::Result<()> {
143 (::windows::core::Interface::vtable(self).SetBufferInfo)(::windows::core::Interface::as_raw(self), pbuffinfo).ok()
144 }
145 pub unsafe fn GetBufferInfo(&self, pbuffinfo: *mut SPAUDIOBUFFERINFO) -> ::windows::core::Result<()> {
146 (::windows::core::Interface::vtable(self).GetBufferInfo)(::windows::core::Interface::as_raw(self), pbuffinfo).ok()
147 }
148 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
149 #[cfg(feature = "Win32_Media_Audio")]
150 pub unsafe fn GetDefaultFormat(&self, pformatid: *mut ::windows::core::GUID, ppcomemwaveformatex: *mut *mut super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()> {
151 (::windows::core::Interface::vtable(self).GetDefaultFormat)(::windows::core::Interface::as_raw(self), pformatid, ppcomemwaveformatex).ok()
152 }
153 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
154 #[cfg(feature = "Win32_Foundation")]
155 pub unsafe fn EventHandle(&self) -> super::super::Foundation::HANDLE {
156 (::windows::core::Interface::vtable(self).EventHandle)(::windows::core::Interface::as_raw(self))
157 }
158 pub unsafe fn GetVolumeLevel(&self, plevel: *mut u32) -> ::windows::core::Result<()> {
159 (::windows::core::Interface::vtable(self).GetVolumeLevel)(::windows::core::Interface::as_raw(self), plevel).ok()
160 }
161 pub unsafe fn SetVolumeLevel(&self, level: u32) -> ::windows::core::Result<()> {
162 (::windows::core::Interface::vtable(self).SetVolumeLevel)(::windows::core::Interface::as_raw(self), level).ok()
163 }
164 pub unsafe fn GetBufferNotifySize(&self, pcbsize: *mut u32) -> ::windows::core::Result<()> {
165 (::windows::core::Interface::vtable(self).GetBufferNotifySize)(::windows::core::Interface::as_raw(self), pcbsize).ok()
166 }
167 pub unsafe fn SetBufferNotifySize(&self, cbsize: u32) -> ::windows::core::Result<()> {
168 (::windows::core::Interface::vtable(self).SetBufferNotifySize)(::windows::core::Interface::as_raw(self), cbsize).ok()
169 }
170}
171#[cfg(feature = "Win32_System_Com")]
172::windows::imp::interface_hierarchy!(ISpAudio, ::windows::core::IUnknown, super::super::System::Com::ISequentialStream, super::super::System::Com::IStream, ISpStreamFormat);
173#[cfg(feature = "Win32_System_Com")]
174impl ::core::cmp::PartialEq for ISpAudio {
175 fn eq(&self, other: &Self) -> bool {
176 self.0 == other.0
177 }
178}
179#[cfg(feature = "Win32_System_Com")]
180impl ::core::cmp::Eq for ISpAudio {}
181#[cfg(feature = "Win32_System_Com")]
182impl ::core::fmt::Debug for ISpAudio {
183 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
184 f.debug_tuple("ISpAudio").field(&self.0).finish()
185 }
186}
187#[cfg(feature = "Win32_System_Com")]
188unsafe impl ::windows::core::Interface for ISpAudio {
189 type Vtable = ISpAudio_Vtbl;
190}
191#[cfg(feature = "Win32_System_Com")]
192impl ::core::clone::Clone for ISpAudio {
193 fn clone(&self) -> Self {
194 Self(self.0.clone())
195 }
196}
197#[cfg(feature = "Win32_System_Com")]
198unsafe impl ::windows::core::ComInterface for ISpAudio {
199 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc05c768f_fae8_4ec2_8e07_338321c12452);
200}
201#[cfg(feature = "Win32_System_Com")]
202#[repr(C)]
203#[doc(hidden)]
204pub struct ISpAudio_Vtbl {
205 pub base__: ISpStreamFormat_Vtbl,
206 pub SetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newstate: SPAUDIOSTATE, ullreserved: u64) -> ::windows::core::HRESULT,
207 #[cfg(feature = "Win32_Media_Audio")]
208 pub SetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rguidfmtid: *const ::windows::core::GUID, pwaveformatex: *const super::Audio::WAVEFORMATEX) -> ::windows::core::HRESULT,
209 #[cfg(not(feature = "Win32_Media_Audio"))]
210 SetFormat: usize,
211 pub GetStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstatus: *mut SPAUDIOSTATUS) -> ::windows::core::HRESULT,
212 pub SetBufferInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbuffinfo: *const SPAUDIOBUFFERINFO) -> ::windows::core::HRESULT,
213 pub GetBufferInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbuffinfo: *mut SPAUDIOBUFFERINFO) -> ::windows::core::HRESULT,
214 #[cfg(feature = "Win32_Media_Audio")]
215 pub GetDefaultFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pformatid: *mut ::windows::core::GUID, ppcomemwaveformatex: *mut *mut super::Audio::WAVEFORMATEX) -> ::windows::core::HRESULT,
216 #[cfg(not(feature = "Win32_Media_Audio"))]
217 GetDefaultFormat: usize,
218 #[cfg(feature = "Win32_Foundation")]
219 pub EventHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> super::super::Foundation::HANDLE,
220 #[cfg(not(feature = "Win32_Foundation"))]
221 EventHandle: usize,
222 pub GetVolumeLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plevel: *mut u32) -> ::windows::core::HRESULT,
223 pub SetVolumeLevel: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, level: u32) -> ::windows::core::HRESULT,
224 pub GetBufferNotifySize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcbsize: *mut u32) -> ::windows::core::HRESULT,
225 pub SetBufferNotifySize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, cbsize: u32) -> ::windows::core::HRESULT,
226}
227#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
228#[repr(transparent)]
229pub struct ISpContainerLexicon(::windows::core::IUnknown);
230impl ISpContainerLexicon {
231 pub unsafe fn GetPronunciations<P0>(&self, pszword: P0, langid: u16, dwflags: u32, pwordpronunciationlist: *mut SPWORDPRONUNCIATIONLIST) -> ::windows::core::Result<()>
232 where
233 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
234 {
235 (::windows::core::Interface::vtable(self).base__.GetPronunciations)(::windows::core::Interface::as_raw(self), pszword.into_param().abi(), langid, dwflags, pwordpronunciationlist).ok()
236 }
237 pub unsafe fn AddPronunciation<P0>(&self, pszword: P0, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: ::core::option::Option<*const u16>) -> ::windows::core::Result<()>
238 where
239 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
240 {
241 (::windows::core::Interface::vtable(self).base__.AddPronunciation)(::windows::core::Interface::as_raw(self), pszword.into_param().abi(), langid, epartofspeech, ::core::mem::transmute(pszpronunciation.unwrap_or(::std::ptr::null()))).ok()
242 }
243 pub unsafe fn RemovePronunciation<P0>(&self, pszword: P0, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: ::core::option::Option<*const u16>) -> ::windows::core::Result<()>
244 where
245 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
246 {
247 (::windows::core::Interface::vtable(self).base__.RemovePronunciation)(::windows::core::Interface::as_raw(self), pszword.into_param().abi(), langid, epartofspeech, ::core::mem::transmute(pszpronunciation.unwrap_or(::std::ptr::null()))).ok()
248 }
249 pub unsafe fn GetGeneration(&self, pdwgeneration: *mut u32) -> ::windows::core::Result<()> {
250 (::windows::core::Interface::vtable(self).base__.GetGeneration)(::windows::core::Interface::as_raw(self), pdwgeneration).ok()
251 }
252 pub unsafe fn GetGenerationChange(&self, dwflags: u32, pdwgeneration: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::core::Result<()> {
253 (::windows::core::Interface::vtable(self).base__.GetGenerationChange)(::windows::core::Interface::as_raw(self), dwflags, pdwgeneration, pwordlist).ok()
254 }
255 pub unsafe fn GetWords(&self, dwflags: u32, pdwgeneration: *mut u32, pdwcookie: ::core::option::Option<*mut u32>, pwordlist: *mut SPWORDLIST) -> ::windows::core::Result<()> {
256 (::windows::core::Interface::vtable(self).base__.GetWords)(::windows::core::Interface::as_raw(self), dwflags, pdwgeneration, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), pwordlist).ok()
257 }
258 pub unsafe fn AddLexicon<P0>(&self, paddlexicon: P0, dwflags: u32) -> ::windows::core::Result<()>
259 where
260 P0: ::windows::core::IntoParam<ISpLexicon>,
261 {
262 (::windows::core::Interface::vtable(self).AddLexicon)(::windows::core::Interface::as_raw(self), paddlexicon.into_param().abi(), dwflags).ok()
263 }
264}
265::windows::imp::interface_hierarchy!(ISpContainerLexicon, ::windows::core::IUnknown, ISpLexicon);
266impl ::core::cmp::PartialEq for ISpContainerLexicon {
267 fn eq(&self, other: &Self) -> bool {
268 self.0 == other.0
269 }
270}
271impl ::core::cmp::Eq for ISpContainerLexicon {}
272impl ::core::fmt::Debug for ISpContainerLexicon {
273 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
274 f.debug_tuple("ISpContainerLexicon").field(&self.0).finish()
275 }
276}
277unsafe impl ::windows::core::Interface for ISpContainerLexicon {
278 type Vtable = ISpContainerLexicon_Vtbl;
279}
280impl ::core::clone::Clone for ISpContainerLexicon {
281 fn clone(&self) -> Self {
282 Self(self.0.clone())
283 }
284}
285unsafe impl ::windows::core::ComInterface for ISpContainerLexicon {
286 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8565572f_c094_41cc_b56e_10bd9c3ff044);
287}
288#[repr(C)]
289#[doc(hidden)]
290pub struct ISpContainerLexicon_Vtbl {
291 pub base__: ISpLexicon_Vtbl,
292 pub AddLexicon: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, paddlexicon: *mut ::core::ffi::c_void, dwflags: u32) -> ::windows::core::HRESULT,
293}
294#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
295#[repr(transparent)]
296pub struct ISpDataKey(::windows::core::IUnknown);
297impl ISpDataKey {
298 pub unsafe fn SetData<P0>(&self, pszvaluename: P0, cbdata: u32, pdata: *const u8) -> ::windows::core::Result<()>
299 where
300 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
301 {
302 (::windows::core::Interface::vtable(self).SetData)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), cbdata, pdata).ok()
303 }
304 pub unsafe fn GetData<P0>(&self, pszvaluename: P0, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::core::Result<()>
305 where
306 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
307 {
308 (::windows::core::Interface::vtable(self).GetData)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), pcbdata, pdata).ok()
309 }
310 pub unsafe fn SetStringValue<P0, P1>(&self, pszvaluename: P0, pszvalue: P1) -> ::windows::core::Result<()>
311 where
312 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
313 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
314 {
315 (::windows::core::Interface::vtable(self).SetStringValue)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), pszvalue.into_param().abi()).ok()
316 }
317 pub unsafe fn GetStringValue<P0>(&self, pszvaluename: P0) -> ::windows::core::Result<::windows::core::PWSTR>
318 where
319 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
320 {
321 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
322 (::windows::core::Interface::vtable(self).GetStringValue)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), &mut result__).from_abi(result__)
323 }
324 pub unsafe fn SetDWORD<P0>(&self, pszvaluename: P0, dwvalue: u32) -> ::windows::core::Result<()>
325 where
326 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
327 {
328 (::windows::core::Interface::vtable(self).SetDWORD)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), dwvalue).ok()
329 }
330 pub unsafe fn GetDWORD<P0>(&self, pszvaluename: P0, pdwvalue: *mut u32) -> ::windows::core::Result<()>
331 where
332 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
333 {
334 (::windows::core::Interface::vtable(self).GetDWORD)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), pdwvalue).ok()
335 }
336 pub unsafe fn OpenKey<P0>(&self, pszsubkeyname: P0) -> ::windows::core::Result<ISpDataKey>
337 where
338 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
339 {
340 let mut result__ = ::windows::core::zeroed::<ISpDataKey>();
341 (::windows::core::Interface::vtable(self).OpenKey)(::windows::core::Interface::as_raw(self), pszsubkeyname.into_param().abi(), &mut result__).from_abi(result__)
342 }
343 pub unsafe fn CreateKey<P0>(&self, pszsubkey: P0) -> ::windows::core::Result<ISpDataKey>
344 where
345 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
346 {
347 let mut result__ = ::windows::core::zeroed::<ISpDataKey>();
348 (::windows::core::Interface::vtable(self).CreateKey)(::windows::core::Interface::as_raw(self), pszsubkey.into_param().abi(), &mut result__).from_abi(result__)
349 }
350 pub unsafe fn DeleteKey<P0>(&self, pszsubkey: P0) -> ::windows::core::Result<()>
351 where
352 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
353 {
354 (::windows::core::Interface::vtable(self).DeleteKey)(::windows::core::Interface::as_raw(self), pszsubkey.into_param().abi()).ok()
355 }
356 pub unsafe fn DeleteValue<P0>(&self, pszvaluename: P0) -> ::windows::core::Result<()>
357 where
358 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
359 {
360 (::windows::core::Interface::vtable(self).DeleteValue)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi()).ok()
361 }
362 pub unsafe fn EnumKeys(&self, index: u32) -> ::windows::core::Result<::windows::core::PWSTR> {
363 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
364 (::windows::core::Interface::vtable(self).EnumKeys)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
365 }
366 pub unsafe fn EnumValues(&self, index: u32) -> ::windows::core::Result<::windows::core::PWSTR> {
367 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
368 (::windows::core::Interface::vtable(self).EnumValues)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
369 }
370}
371::windows::imp::interface_hierarchy!(ISpDataKey, ::windows::core::IUnknown);
372impl ::core::cmp::PartialEq for ISpDataKey {
373 fn eq(&self, other: &Self) -> bool {
374 self.0 == other.0
375 }
376}
377impl ::core::cmp::Eq for ISpDataKey {}
378impl ::core::fmt::Debug for ISpDataKey {
379 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
380 f.debug_tuple("ISpDataKey").field(&self.0).finish()
381 }
382}
383unsafe impl ::windows::core::Interface for ISpDataKey {
384 type Vtable = ISpDataKey_Vtbl;
385}
386impl ::core::clone::Clone for ISpDataKey {
387 fn clone(&self) -> Self {
388 Self(self.0.clone())
389 }
390}
391unsafe impl ::windows::core::ComInterface for ISpDataKey {
392 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x14056581_e16c_11d2_bb90_00c04f8ee6c0);
393}
394#[repr(C)]
395#[doc(hidden)]
396pub struct ISpDataKey_Vtbl {
397 pub base__: ::windows::core::IUnknown_Vtbl,
398 pub SetData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszvaluename: ::windows::core::PCWSTR, cbdata: u32, pdata: *const u8) -> ::windows::core::HRESULT,
399 pub GetData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszvaluename: ::windows::core::PCWSTR, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::core::HRESULT,
400 pub SetStringValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszvaluename: ::windows::core::PCWSTR, pszvalue: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
401 pub GetStringValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszvaluename: ::windows::core::PCWSTR, ppszvalue: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
402 pub SetDWORD: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszvaluename: ::windows::core::PCWSTR, dwvalue: u32) -> ::windows::core::HRESULT,
403 pub GetDWORD: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszvaluename: ::windows::core::PCWSTR, pdwvalue: *mut u32) -> ::windows::core::HRESULT,
404 pub OpenKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszsubkeyname: ::windows::core::PCWSTR, ppsubkey: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
405 pub CreateKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszsubkey: ::windows::core::PCWSTR, ppsubkey: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
406 pub DeleteKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszsubkey: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
407 pub DeleteValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszvaluename: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
408 pub EnumKeys: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, ppszsubkeyname: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
409 pub EnumValues: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: u32, ppszvaluename: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
410}
411#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
412#[repr(transparent)]
413pub struct ISpDisplayAlternates(::windows::core::IUnknown);
414impl ISpDisplayAlternates {
415 pub unsafe fn GetDisplayAlternates(&self, pphrase: *const SPDISPLAYPHRASE, crequestcount: u32, ppcomemphrases: *mut *mut SPDISPLAYPHRASE, pcphrasesreturned: *mut u32) -> ::windows::core::Result<()> {
416 (::windows::core::Interface::vtable(self).GetDisplayAlternates)(::windows::core::Interface::as_raw(self), pphrase, crequestcount, ppcomemphrases, pcphrasesreturned).ok()
417 }
418 pub unsafe fn SetFullStopTrailSpace(&self, ultrailspace: u32) -> ::windows::core::Result<()> {
419 (::windows::core::Interface::vtable(self).SetFullStopTrailSpace)(::windows::core::Interface::as_raw(self), ultrailspace).ok()
420 }
421}
422::windows::imp::interface_hierarchy!(ISpDisplayAlternates, ::windows::core::IUnknown);
423impl ::core::cmp::PartialEq for ISpDisplayAlternates {
424 fn eq(&self, other: &Self) -> bool {
425 self.0 == other.0
426 }
427}
428impl ::core::cmp::Eq for ISpDisplayAlternates {}
429impl ::core::fmt::Debug for ISpDisplayAlternates {
430 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
431 f.debug_tuple("ISpDisplayAlternates").field(&self.0).finish()
432 }
433}
434unsafe impl ::windows::core::Interface for ISpDisplayAlternates {
435 type Vtable = ISpDisplayAlternates_Vtbl;
436}
437impl ::core::clone::Clone for ISpDisplayAlternates {
438 fn clone(&self) -> Self {
439 Self(self.0.clone())
440 }
441}
442unsafe impl ::windows::core::ComInterface for ISpDisplayAlternates {
443 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc8d7c7e2_0dde_44b7_afe3_b0c991fbeb5e);
444}
445#[repr(C)]
446#[doc(hidden)]
447pub struct ISpDisplayAlternates_Vtbl {
448 pub base__: ::windows::core::IUnknown_Vtbl,
449 pub GetDisplayAlternates: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pphrase: *const SPDISPLAYPHRASE, crequestcount: u32, ppcomemphrases: *mut *mut SPDISPLAYPHRASE, pcphrasesreturned: *mut u32) -> ::windows::core::HRESULT,
450 pub SetFullStopTrailSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ultrailspace: u32) -> ::windows::core::HRESULT,
451}
452#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
453#[repr(transparent)]
454pub struct ISpEnginePronunciation(::windows::core::IUnknown);
455impl ISpEnginePronunciation {
456 pub unsafe fn Normalize<P0, P1, P2>(&self, pszword: P0, pszleftcontext: P1, pszrightcontext: P2, langid: u16, pnormalizationlist: *mut SPNORMALIZATIONLIST) -> ::windows::core::Result<()>
457 where
458 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
459 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
460 P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
461 {
462 (::windows::core::Interface::vtable(self).Normalize)(::windows::core::Interface::as_raw(self), pszword.into_param().abi(), pszleftcontext.into_param().abi(), pszrightcontext.into_param().abi(), langid, pnormalizationlist).ok()
463 }
464 pub unsafe fn GetPronunciations<P0, P1, P2>(&self, pszword: P0, pszleftcontext: P1, pszrightcontext: P2, langid: u16, penginepronunciationlist: *mut SPWORDPRONUNCIATIONLIST) -> ::windows::core::Result<()>
465 where
466 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
467 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
468 P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
469 {
470 (::windows::core::Interface::vtable(self).GetPronunciations)(::windows::core::Interface::as_raw(self), pszword.into_param().abi(), pszleftcontext.into_param().abi(), pszrightcontext.into_param().abi(), langid, penginepronunciationlist).ok()
471 }
472}
473::windows::imp::interface_hierarchy!(ISpEnginePronunciation, ::windows::core::IUnknown);
474impl ::core::cmp::PartialEq for ISpEnginePronunciation {
475 fn eq(&self, other: &Self) -> bool {
476 self.0 == other.0
477 }
478}
479impl ::core::cmp::Eq for ISpEnginePronunciation {}
480impl ::core::fmt::Debug for ISpEnginePronunciation {
481 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
482 f.debug_tuple("ISpEnginePronunciation").field(&self.0).finish()
483 }
484}
485unsafe impl ::windows::core::Interface for ISpEnginePronunciation {
486 type Vtable = ISpEnginePronunciation_Vtbl;
487}
488impl ::core::clone::Clone for ISpEnginePronunciation {
489 fn clone(&self) -> Self {
490 Self(self.0.clone())
491 }
492}
493unsafe impl ::windows::core::ComInterface for ISpEnginePronunciation {
494 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc360ce4b_76d1_4214_ad68_52657d5083da);
495}
496#[repr(C)]
497#[doc(hidden)]
498pub struct ISpEnginePronunciation_Vtbl {
499 pub base__: ::windows::core::IUnknown_Vtbl,
500 pub Normalize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszword: ::windows::core::PCWSTR, pszleftcontext: ::windows::core::PCWSTR, pszrightcontext: ::windows::core::PCWSTR, langid: u16, pnormalizationlist: *mut SPNORMALIZATIONLIST) -> ::windows::core::HRESULT,
501 pub GetPronunciations: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszword: ::windows::core::PCWSTR, pszleftcontext: ::windows::core::PCWSTR, pszrightcontext: ::windows::core::PCWSTR, langid: u16, penginepronunciationlist: *mut SPWORDPRONUNCIATIONLIST) -> ::windows::core::HRESULT,
502}
503#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
504#[repr(transparent)]
505pub struct ISpEventSink(::windows::core::IUnknown);
506impl ISpEventSink {
507 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
508 #[cfg(feature = "Win32_Foundation")]
509 pub unsafe fn AddEvents(&self, peventarray: *const SPEVENT, ulcount: u32) -> ::windows::core::Result<()> {
510 (::windows::core::Interface::vtable(self).AddEvents)(::windows::core::Interface::as_raw(self), peventarray, ulcount).ok()
511 }
512 pub unsafe fn GetEventInterest(&self, pulleventinterest: *mut u64) -> ::windows::core::Result<()> {
513 (::windows::core::Interface::vtable(self).GetEventInterest)(::windows::core::Interface::as_raw(self), pulleventinterest).ok()
514 }
515}
516::windows::imp::interface_hierarchy!(ISpEventSink, ::windows::core::IUnknown);
517impl ::core::cmp::PartialEq for ISpEventSink {
518 fn eq(&self, other: &Self) -> bool {
519 self.0 == other.0
520 }
521}
522impl ::core::cmp::Eq for ISpEventSink {}
523impl ::core::fmt::Debug for ISpEventSink {
524 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
525 f.debug_tuple("ISpEventSink").field(&self.0).finish()
526 }
527}
528unsafe impl ::windows::core::Interface for ISpEventSink {
529 type Vtable = ISpEventSink_Vtbl;
530}
531impl ::core::clone::Clone for ISpEventSink {
532 fn clone(&self) -> Self {
533 Self(self.0.clone())
534 }
535}
536unsafe impl ::windows::core::ComInterface for ISpEventSink {
537 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbe7a9cc9_5f9e_11d2_960f_00c04f8ee628);
538}
539#[repr(C)]
540#[doc(hidden)]
541pub struct ISpEventSink_Vtbl {
542 pub base__: ::windows::core::IUnknown_Vtbl,
543 #[cfg(feature = "Win32_Foundation")]
544 pub AddEvents: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, peventarray: *const SPEVENT, ulcount: u32) -> ::windows::core::HRESULT,
545 #[cfg(not(feature = "Win32_Foundation"))]
546 AddEvents: usize,
547 pub GetEventInterest: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulleventinterest: *mut u64) -> ::windows::core::HRESULT,
548}
549#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
550#[repr(transparent)]
551pub struct ISpEventSource(::windows::core::IUnknown);
552impl ISpEventSource {
553 pub unsafe fn SetNotifySink<P0>(&self, pnotifysink: P0) -> ::windows::core::Result<()>
554 where
555 P0: ::windows::core::IntoParam<ISpNotifySink>,
556 {
557 (::windows::core::Interface::vtable(self).base__.SetNotifySink)(::windows::core::Interface::as_raw(self), pnotifysink.into_param().abi()).ok()
558 }
559 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
560 #[cfg(feature = "Win32_Foundation")]
561 pub unsafe fn SetNotifyWindowMessage<P0, P1, P2>(&self, hwnd: P0, msg: u32, wparam: P1, lparam: P2) -> ::windows::core::Result<()>
562 where
563 P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
564 P1: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
565 P2: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
566 {
567 (::windows::core::Interface::vtable(self).base__.SetNotifyWindowMessage)(::windows::core::Interface::as_raw(self), hwnd.into_param().abi(), msg, wparam.into_param().abi(), lparam.into_param().abi()).ok()
568 }
569 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
570 #[cfg(feature = "Win32_Foundation")]
571 pub unsafe fn SetNotifyCallbackFunction<P0, P1>(&self, pfncallback: *mut SPNOTIFYCALLBACK, wparam: P0, lparam: P1) -> ::windows::core::Result<()>
572 where
573 P0: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
574 P1: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
575 {
576 (::windows::core::Interface::vtable(self).base__.SetNotifyCallbackFunction)(::windows::core::Interface::as_raw(self), pfncallback, wparam.into_param().abi(), lparam.into_param().abi()).ok()
577 }
578 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
579 #[cfg(feature = "Win32_Foundation")]
580 pub unsafe fn SetNotifyCallbackInterface<P0, P1, P2>(&self, pspcallback: P0, wparam: P1, lparam: P2) -> ::windows::core::Result<()>
581 where
582 P0: ::windows::core::IntoParam<ISpNotifyCallback>,
583 P1: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
584 P2: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
585 {
586 (::windows::core::Interface::vtable(self).base__.SetNotifyCallbackInterface)(::windows::core::Interface::as_raw(self), pspcallback.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi()).ok()
587 }
588 pub unsafe fn SetNotifyWin32Event(&self) -> ::windows::core::Result<()> {
589 (::windows::core::Interface::vtable(self).base__.SetNotifyWin32Event)(::windows::core::Interface::as_raw(self)).ok()
590 }
591 pub unsafe fn WaitForNotifyEvent(&self, dwmilliseconds: u32) -> ::windows::core::Result<()> {
592 (::windows::core::Interface::vtable(self).base__.WaitForNotifyEvent)(::windows::core::Interface::as_raw(self), dwmilliseconds).ok()
593 }
594 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
595 #[cfg(feature = "Win32_Foundation")]
596 pub unsafe fn GetNotifyEventHandle(&self) -> super::super::Foundation::HANDLE {
597 (::windows::core::Interface::vtable(self).base__.GetNotifyEventHandle)(::windows::core::Interface::as_raw(self))
598 }
599 pub unsafe fn SetInterest(&self, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::core::Result<()> {
600 (::windows::core::Interface::vtable(self).SetInterest)(::windows::core::Interface::as_raw(self), ulleventinterest, ullqueuedinterest).ok()
601 }
602 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
603 #[cfg(feature = "Win32_Foundation")]
604 pub unsafe fn GetEvents(&self, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::core::Result<()> {
605 (::windows::core::Interface::vtable(self).GetEvents)(::windows::core::Interface::as_raw(self), ulcount, peventarray, pulfetched).ok()
606 }
607 pub unsafe fn GetInfo(&self, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::core::Result<()> {
608 (::windows::core::Interface::vtable(self).GetInfo)(::windows::core::Interface::as_raw(self), pinfo).ok()
609 }
610}
611::windows::imp::interface_hierarchy!(ISpEventSource, ::windows::core::IUnknown, ISpNotifySource);
612impl ::core::cmp::PartialEq for ISpEventSource {
613 fn eq(&self, other: &Self) -> bool {
614 self.0 == other.0
615 }
616}
617impl ::core::cmp::Eq for ISpEventSource {}
618impl ::core::fmt::Debug for ISpEventSource {
619 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
620 f.debug_tuple("ISpEventSource").field(&self.0).finish()
621 }
622}
623unsafe impl ::windows::core::Interface for ISpEventSource {
624 type Vtable = ISpEventSource_Vtbl;
625}
626impl ::core::clone::Clone for ISpEventSource {
627 fn clone(&self) -> Self {
628 Self(self.0.clone())
629 }
630}
631unsafe impl ::windows::core::ComInterface for ISpEventSource {
632 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbe7a9cce_5f9e_11d2_960f_00c04f8ee628);
633}
634#[repr(C)]
635#[doc(hidden)]
636pub struct ISpEventSource_Vtbl {
637 pub base__: ISpNotifySource_Vtbl,
638 pub SetInterest: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::core::HRESULT,
639 #[cfg(feature = "Win32_Foundation")]
640 pub GetEvents: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::core::HRESULT,
641 #[cfg(not(feature = "Win32_Foundation"))]
642 GetEvents: usize,
643 pub GetInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::core::HRESULT,
644}
645#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
646#[repr(transparent)]
647pub struct ISpEventSource2(::windows::core::IUnknown);
648impl ISpEventSource2 {
649 pub unsafe fn SetNotifySink<P0>(&self, pnotifysink: P0) -> ::windows::core::Result<()>
650 where
651 P0: ::windows::core::IntoParam<ISpNotifySink>,
652 {
653 (::windows::core::Interface::vtable(self).base__.base__.SetNotifySink)(::windows::core::Interface::as_raw(self), pnotifysink.into_param().abi()).ok()
654 }
655 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
656 #[cfg(feature = "Win32_Foundation")]
657 pub unsafe fn SetNotifyWindowMessage<P0, P1, P2>(&self, hwnd: P0, msg: u32, wparam: P1, lparam: P2) -> ::windows::core::Result<()>
658 where
659 P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
660 P1: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
661 P2: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
662 {
663 (::windows::core::Interface::vtable(self).base__.base__.SetNotifyWindowMessage)(::windows::core::Interface::as_raw(self), hwnd.into_param().abi(), msg, wparam.into_param().abi(), lparam.into_param().abi()).ok()
664 }
665 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
666 #[cfg(feature = "Win32_Foundation")]
667 pub unsafe fn SetNotifyCallbackFunction<P0, P1>(&self, pfncallback: *mut SPNOTIFYCALLBACK, wparam: P0, lparam: P1) -> ::windows::core::Result<()>
668 where
669 P0: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
670 P1: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
671 {
672 (::windows::core::Interface::vtable(self).base__.base__.SetNotifyCallbackFunction)(::windows::core::Interface::as_raw(self), pfncallback, wparam.into_param().abi(), lparam.into_param().abi()).ok()
673 }
674 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
675 #[cfg(feature = "Win32_Foundation")]
676 pub unsafe fn SetNotifyCallbackInterface<P0, P1, P2>(&self, pspcallback: P0, wparam: P1, lparam: P2) -> ::windows::core::Result<()>
677 where
678 P0: ::windows::core::IntoParam<ISpNotifyCallback>,
679 P1: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
680 P2: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
681 {
682 (::windows::core::Interface::vtable(self).base__.base__.SetNotifyCallbackInterface)(::windows::core::Interface::as_raw(self), pspcallback.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi()).ok()
683 }
684 pub unsafe fn SetNotifyWin32Event(&self) -> ::windows::core::Result<()> {
685 (::windows::core::Interface::vtable(self).base__.base__.SetNotifyWin32Event)(::windows::core::Interface::as_raw(self)).ok()
686 }
687 pub unsafe fn WaitForNotifyEvent(&self, dwmilliseconds: u32) -> ::windows::core::Result<()> {
688 (::windows::core::Interface::vtable(self).base__.base__.WaitForNotifyEvent)(::windows::core::Interface::as_raw(self), dwmilliseconds).ok()
689 }
690 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
691 #[cfg(feature = "Win32_Foundation")]
692 pub unsafe fn GetNotifyEventHandle(&self) -> super::super::Foundation::HANDLE {
693 (::windows::core::Interface::vtable(self).base__.base__.GetNotifyEventHandle)(::windows::core::Interface::as_raw(self))
694 }
695 pub unsafe fn SetInterest(&self, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::core::Result<()> {
696 (::windows::core::Interface::vtable(self).base__.SetInterest)(::windows::core::Interface::as_raw(self), ulleventinterest, ullqueuedinterest).ok()
697 }
698 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
699 #[cfg(feature = "Win32_Foundation")]
700 pub unsafe fn GetEvents(&self, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::core::Result<()> {
701 (::windows::core::Interface::vtable(self).base__.GetEvents)(::windows::core::Interface::as_raw(self), ulcount, peventarray, pulfetched).ok()
702 }
703 pub unsafe fn GetInfo(&self, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::core::Result<()> {
704 (::windows::core::Interface::vtable(self).base__.GetInfo)(::windows::core::Interface::as_raw(self), pinfo).ok()
705 }
706 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
707 #[cfg(feature = "Win32_Foundation")]
708 pub unsafe fn GetEventsEx(&self, ulcount: u32, peventarray: *mut SPEVENTEX, pulfetched: *mut u32) -> ::windows::core::Result<()> {
709 (::windows::core::Interface::vtable(self).GetEventsEx)(::windows::core::Interface::as_raw(self), ulcount, peventarray, pulfetched).ok()
710 }
711}
712::windows::imp::interface_hierarchy!(ISpEventSource2, ::windows::core::IUnknown, ISpNotifySource, ISpEventSource);
713impl ::core::cmp::PartialEq for ISpEventSource2 {
714 fn eq(&self, other: &Self) -> bool {
715 self.0 == other.0
716 }
717}
718impl ::core::cmp::Eq for ISpEventSource2 {}
719impl ::core::fmt::Debug for ISpEventSource2 {
720 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
721 f.debug_tuple("ISpEventSource2").field(&self.0).finish()
722 }
723}
724unsafe impl ::windows::core::Interface for ISpEventSource2 {
725 type Vtable = ISpEventSource2_Vtbl;
726}
727impl ::core::clone::Clone for ISpEventSource2 {
728 fn clone(&self) -> Self {
729 Self(self.0.clone())
730 }
731}
732unsafe impl ::windows::core::ComInterface for ISpEventSource2 {
733 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2373a435_6a4b_429e_a6ac_d4231a61975b);
734}
735#[repr(C)]
736#[doc(hidden)]
737pub struct ISpEventSource2_Vtbl {
738 pub base__: ISpEventSource_Vtbl,
739 #[cfg(feature = "Win32_Foundation")]
740 pub GetEventsEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulcount: u32, peventarray: *mut SPEVENTEX, pulfetched: *mut u32) -> ::windows::core::HRESULT,
741 #[cfg(not(feature = "Win32_Foundation"))]
742 GetEventsEx: usize,
743}
744#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
745#[repr(transparent)]
746pub struct ISpGrammarBuilder(::windows::core::IUnknown);
747impl ISpGrammarBuilder {
748 pub unsafe fn ResetGrammar(&self, newlanguage: u16) -> ::windows::core::Result<()> {
749 (::windows::core::Interface::vtable(self).ResetGrammar)(::windows::core::Interface::as_raw(self), newlanguage).ok()
750 }
751 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
752 #[cfg(feature = "Win32_Foundation")]
753 pub unsafe fn GetRule<P0, P1>(&self, pszrulename: P0, dwruleid: u32, dwattributes: u32, fcreateifnotexist: P1, phinitialstate: *mut *mut SPSTATEHANDLE__) -> ::windows::core::Result<()>
754 where
755 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
756 P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
757 {
758 (::windows::core::Interface::vtable(self).GetRule)(::windows::core::Interface::as_raw(self), pszrulename.into_param().abi(), dwruleid, dwattributes, fcreateifnotexist.into_param().abi(), phinitialstate).ok()
759 }
760 pub unsafe fn ClearRule(&self, hstate: *mut SPSTATEHANDLE__) -> ::windows::core::Result<()> {
761 (::windows::core::Interface::vtable(self).ClearRule)(::windows::core::Interface::as_raw(self), hstate).ok()
762 }
763 pub unsafe fn CreateNewState(&self, hstate: *mut SPSTATEHANDLE__, phstate: *mut *mut SPSTATEHANDLE__) -> ::windows::core::Result<()> {
764 (::windows::core::Interface::vtable(self).CreateNewState)(::windows::core::Interface::as_raw(self), hstate, phstate).ok()
765 }
766 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
767 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
768 pub unsafe fn AddWordTransition<P0, P1>(&self, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, psz: P0, pszseparators: P1, ewordtype: SPGRAMMARWORDTYPE, weight: f32, ppropinfo: *const SPPROPERTYINFO) -> ::windows::core::Result<()>
769 where
770 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
771 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
772 {
773 (::windows::core::Interface::vtable(self).AddWordTransition)(::windows::core::Interface::as_raw(self), hfromstate, htostate, psz.into_param().abi(), pszseparators.into_param().abi(), ewordtype, weight, ppropinfo).ok()
774 }
775 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
776 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
777 pub unsafe fn AddRuleTransition(&self, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, hrule: *mut SPSTATEHANDLE__, weight: f32, ppropinfo: *const SPPROPERTYINFO) -> ::windows::core::Result<()> {
778 (::windows::core::Interface::vtable(self).AddRuleTransition)(::windows::core::Interface::as_raw(self), hfromstate, htostate, hrule, weight, ppropinfo).ok()
779 }
780 pub unsafe fn AddResource<P0, P1>(&self, hrulestate: *mut SPSTATEHANDLE__, pszresourcename: P0, pszresourcevalue: P1) -> ::windows::core::Result<()>
781 where
782 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
783 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
784 {
785 (::windows::core::Interface::vtable(self).AddResource)(::windows::core::Interface::as_raw(self), hrulestate, pszresourcename.into_param().abi(), pszresourcevalue.into_param().abi()).ok()
786 }
787 pub unsafe fn Commit(&self, dwreserved: u32) -> ::windows::core::Result<()> {
788 (::windows::core::Interface::vtable(self).Commit)(::windows::core::Interface::as_raw(self), dwreserved).ok()
789 }
790}
791::windows::imp::interface_hierarchy!(ISpGrammarBuilder, ::windows::core::IUnknown);
792impl ::core::cmp::PartialEq for ISpGrammarBuilder {
793 fn eq(&self, other: &Self) -> bool {
794 self.0 == other.0
795 }
796}
797impl ::core::cmp::Eq for ISpGrammarBuilder {}
798impl ::core::fmt::Debug for ISpGrammarBuilder {
799 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
800 f.debug_tuple("ISpGrammarBuilder").field(&self.0).finish()
801 }
802}
803unsafe impl ::windows::core::Interface for ISpGrammarBuilder {
804 type Vtable = ISpGrammarBuilder_Vtbl;
805}
806impl ::core::clone::Clone for ISpGrammarBuilder {
807 fn clone(&self) -> Self {
808 Self(self.0.clone())
809 }
810}
811unsafe impl ::windows::core::ComInterface for ISpGrammarBuilder {
812 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8137828f_591a_4a42_be58_49ea7ebaac68);
813}
814#[repr(C)]
815#[doc(hidden)]
816pub struct ISpGrammarBuilder_Vtbl {
817 pub base__: ::windows::core::IUnknown_Vtbl,
818 pub ResetGrammar: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newlanguage: u16) -> ::windows::core::HRESULT,
819 #[cfg(feature = "Win32_Foundation")]
820 pub GetRule: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszrulename: ::windows::core::PCWSTR, dwruleid: u32, dwattributes: u32, fcreateifnotexist: super::super::Foundation::BOOL, phinitialstate: *mut *mut SPSTATEHANDLE__) -> ::windows::core::HRESULT,
821 #[cfg(not(feature = "Win32_Foundation"))]
822 GetRule: usize,
823 pub ClearRule: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hstate: *mut SPSTATEHANDLE__) -> ::windows::core::HRESULT,
824 pub CreateNewState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hstate: *mut SPSTATEHANDLE__, phstate: *mut *mut SPSTATEHANDLE__) -> ::windows::core::HRESULT,
825 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
826 pub AddWordTransition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, psz: ::windows::core::PCWSTR, pszseparators: ::windows::core::PCWSTR, ewordtype: SPGRAMMARWORDTYPE, weight: f32, ppropinfo: *const SPPROPERTYINFO) -> ::windows::core::HRESULT,
827 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
828 AddWordTransition: usize,
829 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
830 pub AddRuleTransition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, hrule: *mut SPSTATEHANDLE__, weight: f32, ppropinfo: *const SPPROPERTYINFO) -> ::windows::core::HRESULT,
831 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
832 AddRuleTransition: usize,
833 pub AddResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hrulestate: *mut SPSTATEHANDLE__, pszresourcename: ::windows::core::PCWSTR, pszresourcevalue: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
834 pub Commit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwreserved: u32) -> ::windows::core::HRESULT,
835}
836#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
837#[repr(transparent)]
838pub struct ISpGrammarBuilder2(::windows::core::IUnknown);
839impl ISpGrammarBuilder2 {
840 pub unsafe fn AddTextSubset<P0>(&self, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, psz: P0, ematchmode: SPMATCHINGMODE) -> ::windows::core::Result<()>
841 where
842 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
843 {
844 (::windows::core::Interface::vtable(self).AddTextSubset)(::windows::core::Interface::as_raw(self), hfromstate, htostate, psz.into_param().abi(), ematchmode).ok()
845 }
846 pub unsafe fn SetPhoneticAlphabet(&self, phoneticalphabet: PHONETICALPHABET) -> ::windows::core::Result<()> {
847 (::windows::core::Interface::vtable(self).SetPhoneticAlphabet)(::windows::core::Interface::as_raw(self), phoneticalphabet).ok()
848 }
849}
850::windows::imp::interface_hierarchy!(ISpGrammarBuilder2, ::windows::core::IUnknown);
851impl ::core::cmp::PartialEq for ISpGrammarBuilder2 {
852 fn eq(&self, other: &Self) -> bool {
853 self.0 == other.0
854 }
855}
856impl ::core::cmp::Eq for ISpGrammarBuilder2 {}
857impl ::core::fmt::Debug for ISpGrammarBuilder2 {
858 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
859 f.debug_tuple("ISpGrammarBuilder2").field(&self.0).finish()
860 }
861}
862unsafe impl ::windows::core::Interface for ISpGrammarBuilder2 {
863 type Vtable = ISpGrammarBuilder2_Vtbl;
864}
865impl ::core::clone::Clone for ISpGrammarBuilder2 {
866 fn clone(&self) -> Self {
867 Self(self.0.clone())
868 }
869}
870unsafe impl ::windows::core::ComInterface for ISpGrammarBuilder2 {
871 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8ab10026_20cc_4b20_8c22_a49c9ba78f60);
872}
873#[repr(C)]
874#[doc(hidden)]
875pub struct ISpGrammarBuilder2_Vtbl {
876 pub base__: ::windows::core::IUnknown_Vtbl,
877 pub AddTextSubset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, psz: ::windows::core::PCWSTR, ematchmode: SPMATCHINGMODE) -> ::windows::core::HRESULT,
878 pub SetPhoneticAlphabet: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phoneticalphabet: PHONETICALPHABET) -> ::windows::core::HRESULT,
879}
880#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
881#[repr(transparent)]
882pub struct ISpLexicon(::windows::core::IUnknown);
883impl ISpLexicon {
884 pub unsafe fn GetPronunciations<P0>(&self, pszword: P0, langid: u16, dwflags: u32, pwordpronunciationlist: *mut SPWORDPRONUNCIATIONLIST) -> ::windows::core::Result<()>
885 where
886 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
887 {
888 (::windows::core::Interface::vtable(self).GetPronunciations)(::windows::core::Interface::as_raw(self), pszword.into_param().abi(), langid, dwflags, pwordpronunciationlist).ok()
889 }
890 pub unsafe fn AddPronunciation<P0>(&self, pszword: P0, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: ::core::option::Option<*const u16>) -> ::windows::core::Result<()>
891 where
892 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
893 {
894 (::windows::core::Interface::vtable(self).AddPronunciation)(::windows::core::Interface::as_raw(self), pszword.into_param().abi(), langid, epartofspeech, ::core::mem::transmute(pszpronunciation.unwrap_or(::std::ptr::null()))).ok()
895 }
896 pub unsafe fn RemovePronunciation<P0>(&self, pszword: P0, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: ::core::option::Option<*const u16>) -> ::windows::core::Result<()>
897 where
898 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
899 {
900 (::windows::core::Interface::vtable(self).RemovePronunciation)(::windows::core::Interface::as_raw(self), pszword.into_param().abi(), langid, epartofspeech, ::core::mem::transmute(pszpronunciation.unwrap_or(::std::ptr::null()))).ok()
901 }
902 pub unsafe fn GetGeneration(&self, pdwgeneration: *mut u32) -> ::windows::core::Result<()> {
903 (::windows::core::Interface::vtable(self).GetGeneration)(::windows::core::Interface::as_raw(self), pdwgeneration).ok()
904 }
905 pub unsafe fn GetGenerationChange(&self, dwflags: u32, pdwgeneration: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::core::Result<()> {
906 (::windows::core::Interface::vtable(self).GetGenerationChange)(::windows::core::Interface::as_raw(self), dwflags, pdwgeneration, pwordlist).ok()
907 }
908 pub unsafe fn GetWords(&self, dwflags: u32, pdwgeneration: *mut u32, pdwcookie: ::core::option::Option<*mut u32>, pwordlist: *mut SPWORDLIST) -> ::windows::core::Result<()> {
909 (::windows::core::Interface::vtable(self).GetWords)(::windows::core::Interface::as_raw(self), dwflags, pdwgeneration, ::core::mem::transmute(pdwcookie.unwrap_or(::std::ptr::null_mut())), pwordlist).ok()
910 }
911}
912::windows::imp::interface_hierarchy!(ISpLexicon, ::windows::core::IUnknown);
913impl ::core::cmp::PartialEq for ISpLexicon {
914 fn eq(&self, other: &Self) -> bool {
915 self.0 == other.0
916 }
917}
918impl ::core::cmp::Eq for ISpLexicon {}
919impl ::core::fmt::Debug for ISpLexicon {
920 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
921 f.debug_tuple("ISpLexicon").field(&self.0).finish()
922 }
923}
924unsafe impl ::windows::core::Interface for ISpLexicon {
925 type Vtable = ISpLexicon_Vtbl;
926}
927impl ::core::clone::Clone for ISpLexicon {
928 fn clone(&self) -> Self {
929 Self(self.0.clone())
930 }
931}
932unsafe impl ::windows::core::ComInterface for ISpLexicon {
933 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xda41a7c2_5383_4db2_916b_6c1719e3db58);
934}
935#[repr(C)]
936#[doc(hidden)]
937pub struct ISpLexicon_Vtbl {
938 pub base__: ::windows::core::IUnknown_Vtbl,
939 pub GetPronunciations: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszword: ::windows::core::PCWSTR, langid: u16, dwflags: u32, pwordpronunciationlist: *mut SPWORDPRONUNCIATIONLIST) -> ::windows::core::HRESULT,
940 pub AddPronunciation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszword: ::windows::core::PCWSTR, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: *const u16) -> ::windows::core::HRESULT,
941 pub RemovePronunciation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszword: ::windows::core::PCWSTR, langid: u16, epartofspeech: SPPARTOFSPEECH, pszpronunciation: *const u16) -> ::windows::core::HRESULT,
942 pub GetGeneration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwgeneration: *mut u32) -> ::windows::core::HRESULT,
943 pub GetGenerationChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32, pdwgeneration: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::core::HRESULT,
944 pub GetWords: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwflags: u32, pdwgeneration: *mut u32, pdwcookie: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::core::HRESULT,
945}
946#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
947#[cfg(feature = "Win32_System_Com")]
948#[repr(transparent)]
949pub struct ISpMMSysAudio(::windows::core::IUnknown);
950#[cfg(feature = "Win32_System_Com")]
951impl ISpMMSysAudio {
952 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
953 #[cfg(feature = "Win32_System_Com")]
954 pub unsafe fn Read(&self, pv: *mut ::core::ffi::c_void, cb: u32, pcbread: ::core::option::Option<*mut u32>) -> ::windows::core::HRESULT {
955 (::windows::core::Interface::vtable(self).base__.base__.base__.base__.Read)(::windows::core::Interface::as_raw(self), pv, cb, ::core::mem::transmute(pcbread.unwrap_or(::std::ptr::null_mut())))
956 }
957 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
958 #[cfg(feature = "Win32_System_Com")]
959 pub unsafe fn Write(&self, pv: *const ::core::ffi::c_void, cb: u32, pcbwritten: ::core::option::Option<*mut u32>) -> ::windows::core::HRESULT {
960 (::windows::core::Interface::vtable(self).base__.base__.base__.base__.Write)(::windows::core::Interface::as_raw(self), pv, cb, ::core::mem::transmute(pcbwritten.unwrap_or(::std::ptr::null_mut())))
961 }
962 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
963 #[cfg(feature = "Win32_System_Com")]
964 pub unsafe fn Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK, plibnewposition: ::core::option::Option<*mut u64>) -> ::windows::core::Result<()> {
965 (::windows::core::Interface::vtable(self).base__.base__.base__.Seek)(::windows::core::Interface::as_raw(self), dlibmove, dworigin, ::core::mem::transmute(plibnewposition.unwrap_or(::std::ptr::null_mut()))).ok()
966 }
967 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
968 #[cfg(feature = "Win32_System_Com")]
969 pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows::core::Result<()> {
970 (::windows::core::Interface::vtable(self).base__.base__.base__.SetSize)(::windows::core::Interface::as_raw(self), libnewsize).ok()
971 }
972 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
973 #[cfg(feature = "Win32_System_Com")]
974 pub unsafe fn CopyTo<P0>(&self, pstm: P0, cb: u64, pcbread: ::core::option::Option<*mut u64>, pcbwritten: ::core::option::Option<*mut u64>) -> ::windows::core::Result<()>
975 where
976 P0: ::windows::core::IntoParam<super::super::System::Com::IStream>,
977 {
978 (::windows::core::Interface::vtable(self).base__.base__.base__.CopyTo)(::windows::core::Interface::as_raw(self), pstm.into_param().abi(), cb, ::core::mem::transmute(pcbread.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcbwritten.unwrap_or(::std::ptr::null_mut()))).ok()
979 }
980 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
981 #[cfg(feature = "Win32_System_Com")]
982 pub unsafe fn Commit(&self, grfcommitflags: super::super::System::Com::STGC) -> ::windows::core::Result<()> {
983 (::windows::core::Interface::vtable(self).base__.base__.base__.Commit)(::windows::core::Interface::as_raw(self), grfcommitflags).ok()
984 }
985 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
986 #[cfg(feature = "Win32_System_Com")]
987 pub unsafe fn Revert(&self) -> ::windows::core::Result<()> {
988 (::windows::core::Interface::vtable(self).base__.base__.base__.Revert)(::windows::core::Interface::as_raw(self)).ok()
989 }
990 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
991 #[cfg(feature = "Win32_System_Com")]
992 pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: super::super::System::Com::LOCKTYPE) -> ::windows::core::Result<()> {
993 (::windows::core::Interface::vtable(self).base__.base__.base__.LockRegion)(::windows::core::Interface::as_raw(self), liboffset, cb, dwlocktype).ok()
994 }
995 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
996 #[cfg(feature = "Win32_System_Com")]
997 pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::core::Result<()> {
998 (::windows::core::Interface::vtable(self).base__.base__.base__.UnlockRegion)(::windows::core::Interface::as_raw(self), liboffset, cb, dwlocktype).ok()
999 }
1000 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`*"]
1001 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
1002 pub unsafe fn Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: super::super::System::Com::STATFLAG) -> ::windows::core::Result<()> {
1003 (::windows::core::Interface::vtable(self).base__.base__.base__.Stat)(::windows::core::Interface::as_raw(self), pstatstg, grfstatflag).ok()
1004 }
1005 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
1006 #[cfg(feature = "Win32_System_Com")]
1007 pub unsafe fn Clone(&self) -> ::windows::core::Result<super::super::System::Com::IStream> {
1008 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IStream>();
1009 (::windows::core::Interface::vtable(self).base__.base__.base__.Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
1010 }
1011 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
1012 #[cfg(feature = "Win32_Media_Audio")]
1013 pub unsafe fn GetFormat(&self, pguidformatid: *const ::windows::core::GUID) -> ::windows::core::Result<*mut super::Audio::WAVEFORMATEX> {
1014 let mut result__ = ::windows::core::zeroed::<*mut super::Audio::WAVEFORMATEX>();
1015 (::windows::core::Interface::vtable(self).base__.base__.GetFormat)(::windows::core::Interface::as_raw(self), pguidformatid, &mut result__).from_abi(result__)
1016 }
1017 pub unsafe fn SetState(&self, newstate: SPAUDIOSTATE, ullreserved: u64) -> ::windows::core::Result<()> {
1018 (::windows::core::Interface::vtable(self).base__.SetState)(::windows::core::Interface::as_raw(self), newstate, ullreserved).ok()
1019 }
1020 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
1021 #[cfg(feature = "Win32_Media_Audio")]
1022 pub unsafe fn SetFormat(&self, rguidfmtid: *const ::windows::core::GUID, pwaveformatex: *const super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()> {
1023 (::windows::core::Interface::vtable(self).base__.SetFormat)(::windows::core::Interface::as_raw(self), rguidfmtid, pwaveformatex).ok()
1024 }
1025 pub unsafe fn GetStatus(&self, pstatus: *mut SPAUDIOSTATUS) -> ::windows::core::Result<()> {
1026 (::windows::core::Interface::vtable(self).base__.GetStatus)(::windows::core::Interface::as_raw(self), pstatus).ok()
1027 }
1028 pub unsafe fn SetBufferInfo(&self, pbuffinfo: *const SPAUDIOBUFFERINFO) -> ::windows::core::Result<()> {
1029 (::windows::core::Interface::vtable(self).base__.SetBufferInfo)(::windows::core::Interface::as_raw(self), pbuffinfo).ok()
1030 }
1031 pub unsafe fn GetBufferInfo(&self, pbuffinfo: *mut SPAUDIOBUFFERINFO) -> ::windows::core::Result<()> {
1032 (::windows::core::Interface::vtable(self).base__.GetBufferInfo)(::windows::core::Interface::as_raw(self), pbuffinfo).ok()
1033 }
1034 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
1035 #[cfg(feature = "Win32_Media_Audio")]
1036 pub unsafe fn GetDefaultFormat(&self, pformatid: *mut ::windows::core::GUID, ppcomemwaveformatex: *mut *mut super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()> {
1037 (::windows::core::Interface::vtable(self).base__.GetDefaultFormat)(::windows::core::Interface::as_raw(self), pformatid, ppcomemwaveformatex).ok()
1038 }
1039 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1040 #[cfg(feature = "Win32_Foundation")]
1041 pub unsafe fn EventHandle(&self) -> super::super::Foundation::HANDLE {
1042 (::windows::core::Interface::vtable(self).base__.EventHandle)(::windows::core::Interface::as_raw(self))
1043 }
1044 pub unsafe fn GetVolumeLevel(&self, plevel: *mut u32) -> ::windows::core::Result<()> {
1045 (::windows::core::Interface::vtable(self).base__.GetVolumeLevel)(::windows::core::Interface::as_raw(self), plevel).ok()
1046 }
1047 pub unsafe fn SetVolumeLevel(&self, level: u32) -> ::windows::core::Result<()> {
1048 (::windows::core::Interface::vtable(self).base__.SetVolumeLevel)(::windows::core::Interface::as_raw(self), level).ok()
1049 }
1050 pub unsafe fn GetBufferNotifySize(&self, pcbsize: *mut u32) -> ::windows::core::Result<()> {
1051 (::windows::core::Interface::vtable(self).base__.GetBufferNotifySize)(::windows::core::Interface::as_raw(self), pcbsize).ok()
1052 }
1053 pub unsafe fn SetBufferNotifySize(&self, cbsize: u32) -> ::windows::core::Result<()> {
1054 (::windows::core::Interface::vtable(self).base__.SetBufferNotifySize)(::windows::core::Interface::as_raw(self), cbsize).ok()
1055 }
1056 pub unsafe fn GetDeviceId(&self, pudeviceid: *mut u32) -> ::windows::core::Result<()> {
1057 (::windows::core::Interface::vtable(self).GetDeviceId)(::windows::core::Interface::as_raw(self), pudeviceid).ok()
1058 }
1059 pub unsafe fn SetDeviceId(&self, udeviceid: u32) -> ::windows::core::Result<()> {
1060 (::windows::core::Interface::vtable(self).SetDeviceId)(::windows::core::Interface::as_raw(self), udeviceid).ok()
1061 }
1062 pub unsafe fn GetMMHandle(&self, phandle: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
1063 (::windows::core::Interface::vtable(self).GetMMHandle)(::windows::core::Interface::as_raw(self), phandle).ok()
1064 }
1065 pub unsafe fn GetLineId(&self, pulineid: *mut u32) -> ::windows::core::Result<()> {
1066 (::windows::core::Interface::vtable(self).GetLineId)(::windows::core::Interface::as_raw(self), pulineid).ok()
1067 }
1068 pub unsafe fn SetLineId(&self, ulineid: u32) -> ::windows::core::Result<()> {
1069 (::windows::core::Interface::vtable(self).SetLineId)(::windows::core::Interface::as_raw(self), ulineid).ok()
1070 }
1071}
1072#[cfg(feature = "Win32_System_Com")]
1073::windows::imp::interface_hierarchy!(ISpMMSysAudio, ::windows::core::IUnknown, super::super::System::Com::ISequentialStream, super::super::System::Com::IStream, ISpStreamFormat, ISpAudio);
1074#[cfg(feature = "Win32_System_Com")]
1075impl ::core::cmp::PartialEq for ISpMMSysAudio {
1076 fn eq(&self, other: &Self) -> bool {
1077 self.0 == other.0
1078 }
1079}
1080#[cfg(feature = "Win32_System_Com")]
1081impl ::core::cmp::Eq for ISpMMSysAudio {}
1082#[cfg(feature = "Win32_System_Com")]
1083impl ::core::fmt::Debug for ISpMMSysAudio {
1084 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1085 f.debug_tuple("ISpMMSysAudio").field(&self.0).finish()
1086 }
1087}
1088#[cfg(feature = "Win32_System_Com")]
1089unsafe impl ::windows::core::Interface for ISpMMSysAudio {
1090 type Vtable = ISpMMSysAudio_Vtbl;
1091}
1092#[cfg(feature = "Win32_System_Com")]
1093impl ::core::clone::Clone for ISpMMSysAudio {
1094 fn clone(&self) -> Self {
1095 Self(self.0.clone())
1096 }
1097}
1098#[cfg(feature = "Win32_System_Com")]
1099unsafe impl ::windows::core::ComInterface for ISpMMSysAudio {
1100 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x15806f6e_1d70_4b48_98e6_3b1a007509ab);
1101}
1102#[cfg(feature = "Win32_System_Com")]
1103#[repr(C)]
1104#[doc(hidden)]
1105pub struct ISpMMSysAudio_Vtbl {
1106 pub base__: ISpAudio_Vtbl,
1107 pub GetDeviceId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pudeviceid: *mut u32) -> ::windows::core::HRESULT,
1108 pub SetDeviceId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, udeviceid: u32) -> ::windows::core::HRESULT,
1109 pub GetMMHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phandle: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1110 pub GetLineId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulineid: *mut u32) -> ::windows::core::HRESULT,
1111 pub SetLineId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulineid: u32) -> ::windows::core::HRESULT,
1112}
1113#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
1114#[repr(transparent)]
1115pub struct ISpNotifyCallback(::std::ptr::NonNull<::std::ffi::c_void>);
1116impl ISpNotifyCallback {
1117 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1118 #[cfg(feature = "Win32_Foundation")]
1119 pub unsafe fn NotifyCallback<P0, P1>(&self, wparam: P0, lparam: P1) -> ::windows::core::Result<()>
1120 where
1121 P0: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
1122 P1: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
1123 {
1124 (::windows::core::Interface::vtable(self).NotifyCallback)(::windows::core::Interface::as_raw(self), wparam.into_param().abi(), lparam.into_param().abi()).ok()
1125 }
1126}
1127impl ::core::cmp::PartialEq for ISpNotifyCallback {
1128 fn eq(&self, other: &Self) -> bool {
1129 self.0 == other.0
1130 }
1131}
1132impl ::core::cmp::Eq for ISpNotifyCallback {}
1133impl ::core::fmt::Debug for ISpNotifyCallback {
1134 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1135 f.debug_tuple("ISpNotifyCallback").field(&self.0).finish()
1136 }
1137}
1138unsafe impl ::windows::core::Interface for ISpNotifyCallback {
1139 type Vtable = ISpNotifyCallback_Vtbl;
1140}
1141impl ::core::clone::Clone for ISpNotifyCallback {
1142 fn clone(&self) -> Self {
1143 Self(self.0.clone())
1144 }
1145}
1146#[repr(C)]
1147#[doc(hidden)]
1148pub struct ISpNotifyCallback_Vtbl {
1149 #[cfg(feature = "Win32_Foundation")]
1150 pub NotifyCallback: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::core::HRESULT,
1151 #[cfg(not(feature = "Win32_Foundation"))]
1152 NotifyCallback: usize,
1153}
1154#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
1155#[repr(transparent)]
1156pub struct ISpNotifySink(::windows::core::IUnknown);
1157impl ISpNotifySink {
1158 pub unsafe fn Notify(&self) -> ::windows::core::Result<()> {
1159 (::windows::core::Interface::vtable(self).Notify)(::windows::core::Interface::as_raw(self)).ok()
1160 }
1161}
1162::windows::imp::interface_hierarchy!(ISpNotifySink, ::windows::core::IUnknown);
1163impl ::core::cmp::PartialEq for ISpNotifySink {
1164 fn eq(&self, other: &Self) -> bool {
1165 self.0 == other.0
1166 }
1167}
1168impl ::core::cmp::Eq for ISpNotifySink {}
1169impl ::core::fmt::Debug for ISpNotifySink {
1170 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1171 f.debug_tuple("ISpNotifySink").field(&self.0).finish()
1172 }
1173}
1174unsafe impl ::windows::core::Interface for ISpNotifySink {
1175 type Vtable = ISpNotifySink_Vtbl;
1176}
1177impl ::core::clone::Clone for ISpNotifySink {
1178 fn clone(&self) -> Self {
1179 Self(self.0.clone())
1180 }
1181}
1182unsafe impl ::windows::core::ComInterface for ISpNotifySink {
1183 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x259684dc_37c3_11d2_9603_00c04f8ee628);
1184}
1185#[repr(C)]
1186#[doc(hidden)]
1187pub struct ISpNotifySink_Vtbl {
1188 pub base__: ::windows::core::IUnknown_Vtbl,
1189 pub Notify: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1190}
1191#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
1192#[repr(transparent)]
1193pub struct ISpNotifySource(::windows::core::IUnknown);
1194impl ISpNotifySource {
1195 pub unsafe fn SetNotifySink<P0>(&self, pnotifysink: P0) -> ::windows::core::Result<()>
1196 where
1197 P0: ::windows::core::IntoParam<ISpNotifySink>,
1198 {
1199 (::windows::core::Interface::vtable(self).SetNotifySink)(::windows::core::Interface::as_raw(self), pnotifysink.into_param().abi()).ok()
1200 }
1201 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1202 #[cfg(feature = "Win32_Foundation")]
1203 pub unsafe fn SetNotifyWindowMessage<P0, P1, P2>(&self, hwnd: P0, msg: u32, wparam: P1, lparam: P2) -> ::windows::core::Result<()>
1204 where
1205 P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
1206 P1: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
1207 P2: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
1208 {
1209 (::windows::core::Interface::vtable(self).SetNotifyWindowMessage)(::windows::core::Interface::as_raw(self), hwnd.into_param().abi(), msg, wparam.into_param().abi(), lparam.into_param().abi()).ok()
1210 }
1211 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1212 #[cfg(feature = "Win32_Foundation")]
1213 pub unsafe fn SetNotifyCallbackFunction<P0, P1>(&self, pfncallback: *mut SPNOTIFYCALLBACK, wparam: P0, lparam: P1) -> ::windows::core::Result<()>
1214 where
1215 P0: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
1216 P1: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
1217 {
1218 (::windows::core::Interface::vtable(self).SetNotifyCallbackFunction)(::windows::core::Interface::as_raw(self), pfncallback, wparam.into_param().abi(), lparam.into_param().abi()).ok()
1219 }
1220 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1221 #[cfg(feature = "Win32_Foundation")]
1222 pub unsafe fn SetNotifyCallbackInterface<P0, P1, P2>(&self, pspcallback: P0, wparam: P1, lparam: P2) -> ::windows::core::Result<()>
1223 where
1224 P0: ::windows::core::IntoParam<ISpNotifyCallback>,
1225 P1: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
1226 P2: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
1227 {
1228 (::windows::core::Interface::vtable(self).SetNotifyCallbackInterface)(::windows::core::Interface::as_raw(self), pspcallback.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi()).ok()
1229 }
1230 pub unsafe fn SetNotifyWin32Event(&self) -> ::windows::core::Result<()> {
1231 (::windows::core::Interface::vtable(self).SetNotifyWin32Event)(::windows::core::Interface::as_raw(self)).ok()
1232 }
1233 pub unsafe fn WaitForNotifyEvent(&self, dwmilliseconds: u32) -> ::windows::core::Result<()> {
1234 (::windows::core::Interface::vtable(self).WaitForNotifyEvent)(::windows::core::Interface::as_raw(self), dwmilliseconds).ok()
1235 }
1236 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1237 #[cfg(feature = "Win32_Foundation")]
1238 pub unsafe fn GetNotifyEventHandle(&self) -> super::super::Foundation::HANDLE {
1239 (::windows::core::Interface::vtable(self).GetNotifyEventHandle)(::windows::core::Interface::as_raw(self))
1240 }
1241}
1242::windows::imp::interface_hierarchy!(ISpNotifySource, ::windows::core::IUnknown);
1243impl ::core::cmp::PartialEq for ISpNotifySource {
1244 fn eq(&self, other: &Self) -> bool {
1245 self.0 == other.0
1246 }
1247}
1248impl ::core::cmp::Eq for ISpNotifySource {}
1249impl ::core::fmt::Debug for ISpNotifySource {
1250 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1251 f.debug_tuple("ISpNotifySource").field(&self.0).finish()
1252 }
1253}
1254unsafe impl ::windows::core::Interface for ISpNotifySource {
1255 type Vtable = ISpNotifySource_Vtbl;
1256}
1257impl ::core::clone::Clone for ISpNotifySource {
1258 fn clone(&self) -> Self {
1259 Self(self.0.clone())
1260 }
1261}
1262unsafe impl ::windows::core::ComInterface for ISpNotifySource {
1263 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5eff4aef_8487_11d2_961c_00c04f8ee628);
1264}
1265#[repr(C)]
1266#[doc(hidden)]
1267pub struct ISpNotifySource_Vtbl {
1268 pub base__: ::windows::core::IUnknown_Vtbl,
1269 pub SetNotifySink: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pnotifysink: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1270 #[cfg(feature = "Win32_Foundation")]
1271 pub SetNotifyWindowMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwnd: super::super::Foundation::HWND, msg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::core::HRESULT,
1272 #[cfg(not(feature = "Win32_Foundation"))]
1273 SetNotifyWindowMessage: usize,
1274 #[cfg(feature = "Win32_Foundation")]
1275 pub SetNotifyCallbackFunction: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfncallback: *mut SPNOTIFYCALLBACK, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::core::HRESULT,
1276 #[cfg(not(feature = "Win32_Foundation"))]
1277 SetNotifyCallbackFunction: usize,
1278 #[cfg(feature = "Win32_Foundation")]
1279 pub SetNotifyCallbackInterface: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pspcallback: *mut ::core::ffi::c_void, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::core::HRESULT,
1280 #[cfg(not(feature = "Win32_Foundation"))]
1281 SetNotifyCallbackInterface: usize,
1282 pub SetNotifyWin32Event: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1283 pub WaitForNotifyEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwmilliseconds: u32) -> ::windows::core::HRESULT,
1284 #[cfg(feature = "Win32_Foundation")]
1285 pub GetNotifyEventHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> super::super::Foundation::HANDLE,
1286 #[cfg(not(feature = "Win32_Foundation"))]
1287 GetNotifyEventHandle: usize,
1288}
1289#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
1290#[repr(transparent)]
1291pub struct ISpNotifyTranslator(::windows::core::IUnknown);
1292impl ISpNotifyTranslator {
1293 pub unsafe fn Notify(&self) -> ::windows::core::Result<()> {
1294 (::windows::core::Interface::vtable(self).base__.Notify)(::windows::core::Interface::as_raw(self)).ok()
1295 }
1296 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1297 #[cfg(feature = "Win32_Foundation")]
1298 pub unsafe fn InitWindowMessage<P0, P1, P2>(&self, hwnd: P0, msg: u32, wparam: P1, lparam: P2) -> ::windows::core::Result<()>
1299 where
1300 P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
1301 P1: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
1302 P2: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
1303 {
1304 (::windows::core::Interface::vtable(self).InitWindowMessage)(::windows::core::Interface::as_raw(self), hwnd.into_param().abi(), msg, wparam.into_param().abi(), lparam.into_param().abi()).ok()
1305 }
1306 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1307 #[cfg(feature = "Win32_Foundation")]
1308 pub unsafe fn InitCallback<P0, P1>(&self, pfncallback: *mut SPNOTIFYCALLBACK, wparam: P0, lparam: P1) -> ::windows::core::Result<()>
1309 where
1310 P0: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
1311 P1: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
1312 {
1313 (::windows::core::Interface::vtable(self).InitCallback)(::windows::core::Interface::as_raw(self), pfncallback, wparam.into_param().abi(), lparam.into_param().abi()).ok()
1314 }
1315 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1316 #[cfg(feature = "Win32_Foundation")]
1317 pub unsafe fn InitSpNotifyCallback<P0, P1, P2>(&self, pspcallback: P0, wparam: P1, lparam: P2) -> ::windows::core::Result<()>
1318 where
1319 P0: ::windows::core::IntoParam<ISpNotifyCallback>,
1320 P1: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
1321 P2: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
1322 {
1323 (::windows::core::Interface::vtable(self).InitSpNotifyCallback)(::windows::core::Interface::as_raw(self), pspcallback.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi()).ok()
1324 }
1325 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1326 #[cfg(feature = "Win32_Foundation")]
1327 pub unsafe fn InitWin32Event<P0, P1>(&self, hevent: P0, fclosehandleonrelease: P1) -> ::windows::core::Result<()>
1328 where
1329 P0: ::windows::core::IntoParam<super::super::Foundation::HANDLE>,
1330 P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
1331 {
1332 (::windows::core::Interface::vtable(self).InitWin32Event)(::windows::core::Interface::as_raw(self), hevent.into_param().abi(), fclosehandleonrelease.into_param().abi()).ok()
1333 }
1334 pub unsafe fn Wait(&self, dwmilliseconds: u32) -> ::windows::core::Result<()> {
1335 (::windows::core::Interface::vtable(self).Wait)(::windows::core::Interface::as_raw(self), dwmilliseconds).ok()
1336 }
1337 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1338 #[cfg(feature = "Win32_Foundation")]
1339 pub unsafe fn GetEventHandle(&self) -> super::super::Foundation::HANDLE {
1340 (::windows::core::Interface::vtable(self).GetEventHandle)(::windows::core::Interface::as_raw(self))
1341 }
1342}
1343::windows::imp::interface_hierarchy!(ISpNotifyTranslator, ::windows::core::IUnknown, ISpNotifySink);
1344impl ::core::cmp::PartialEq for ISpNotifyTranslator {
1345 fn eq(&self, other: &Self) -> bool {
1346 self.0 == other.0
1347 }
1348}
1349impl ::core::cmp::Eq for ISpNotifyTranslator {}
1350impl ::core::fmt::Debug for ISpNotifyTranslator {
1351 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1352 f.debug_tuple("ISpNotifyTranslator").field(&self.0).finish()
1353 }
1354}
1355unsafe impl ::windows::core::Interface for ISpNotifyTranslator {
1356 type Vtable = ISpNotifyTranslator_Vtbl;
1357}
1358impl ::core::clone::Clone for ISpNotifyTranslator {
1359 fn clone(&self) -> Self {
1360 Self(self.0.clone())
1361 }
1362}
1363unsafe impl ::windows::core::ComInterface for ISpNotifyTranslator {
1364 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xaca16614_5d3d_11d2_960e_00c04f8ee628);
1365}
1366#[repr(C)]
1367#[doc(hidden)]
1368pub struct ISpNotifyTranslator_Vtbl {
1369 pub base__: ISpNotifySink_Vtbl,
1370 #[cfg(feature = "Win32_Foundation")]
1371 pub InitWindowMessage: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwnd: super::super::Foundation::HWND, msg: u32, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::core::HRESULT,
1372 #[cfg(not(feature = "Win32_Foundation"))]
1373 InitWindowMessage: usize,
1374 #[cfg(feature = "Win32_Foundation")]
1375 pub InitCallback: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfncallback: *mut SPNOTIFYCALLBACK, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::core::HRESULT,
1376 #[cfg(not(feature = "Win32_Foundation"))]
1377 InitCallback: usize,
1378 #[cfg(feature = "Win32_Foundation")]
1379 pub InitSpNotifyCallback: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pspcallback: *mut ::core::ffi::c_void, wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ::windows::core::HRESULT,
1380 #[cfg(not(feature = "Win32_Foundation"))]
1381 InitSpNotifyCallback: usize,
1382 #[cfg(feature = "Win32_Foundation")]
1383 pub InitWin32Event: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hevent: super::super::Foundation::HANDLE, fclosehandleonrelease: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
1384 #[cfg(not(feature = "Win32_Foundation"))]
1385 InitWin32Event: usize,
1386 pub Wait: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwmilliseconds: u32) -> ::windows::core::HRESULT,
1387 #[cfg(feature = "Win32_Foundation")]
1388 pub GetEventHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> super::super::Foundation::HANDLE,
1389 #[cfg(not(feature = "Win32_Foundation"))]
1390 GetEventHandle: usize,
1391}
1392#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
1393#[repr(transparent)]
1394pub struct ISpObjectToken(::windows::core::IUnknown);
1395impl ISpObjectToken {
1396 pub unsafe fn SetData<P0>(&self, pszvaluename: P0, cbdata: u32, pdata: *const u8) -> ::windows::core::Result<()>
1397 where
1398 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1399 {
1400 (::windows::core::Interface::vtable(self).base__.SetData)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), cbdata, pdata).ok()
1401 }
1402 pub unsafe fn GetData<P0>(&self, pszvaluename: P0, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::core::Result<()>
1403 where
1404 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1405 {
1406 (::windows::core::Interface::vtable(self).base__.GetData)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), pcbdata, pdata).ok()
1407 }
1408 pub unsafe fn SetStringValue<P0, P1>(&self, pszvaluename: P0, pszvalue: P1) -> ::windows::core::Result<()>
1409 where
1410 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1411 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1412 {
1413 (::windows::core::Interface::vtable(self).base__.SetStringValue)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), pszvalue.into_param().abi()).ok()
1414 }
1415 pub unsafe fn GetStringValue<P0>(&self, pszvaluename: P0) -> ::windows::core::Result<::windows::core::PWSTR>
1416 where
1417 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1418 {
1419 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1420 (::windows::core::Interface::vtable(self).base__.GetStringValue)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), &mut result__).from_abi(result__)
1421 }
1422 pub unsafe fn SetDWORD<P0>(&self, pszvaluename: P0, dwvalue: u32) -> ::windows::core::Result<()>
1423 where
1424 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1425 {
1426 (::windows::core::Interface::vtable(self).base__.SetDWORD)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), dwvalue).ok()
1427 }
1428 pub unsafe fn GetDWORD<P0>(&self, pszvaluename: P0, pdwvalue: *mut u32) -> ::windows::core::Result<()>
1429 where
1430 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1431 {
1432 (::windows::core::Interface::vtable(self).base__.GetDWORD)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), pdwvalue).ok()
1433 }
1434 pub unsafe fn OpenKey<P0>(&self, pszsubkeyname: P0) -> ::windows::core::Result<ISpDataKey>
1435 where
1436 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1437 {
1438 let mut result__ = ::windows::core::zeroed::<ISpDataKey>();
1439 (::windows::core::Interface::vtable(self).base__.OpenKey)(::windows::core::Interface::as_raw(self), pszsubkeyname.into_param().abi(), &mut result__).from_abi(result__)
1440 }
1441 pub unsafe fn CreateKey<P0>(&self, pszsubkey: P0) -> ::windows::core::Result<ISpDataKey>
1442 where
1443 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1444 {
1445 let mut result__ = ::windows::core::zeroed::<ISpDataKey>();
1446 (::windows::core::Interface::vtable(self).base__.CreateKey)(::windows::core::Interface::as_raw(self), pszsubkey.into_param().abi(), &mut result__).from_abi(result__)
1447 }
1448 pub unsafe fn DeleteKey<P0>(&self, pszsubkey: P0) -> ::windows::core::Result<()>
1449 where
1450 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1451 {
1452 (::windows::core::Interface::vtable(self).base__.DeleteKey)(::windows::core::Interface::as_raw(self), pszsubkey.into_param().abi()).ok()
1453 }
1454 pub unsafe fn DeleteValue<P0>(&self, pszvaluename: P0) -> ::windows::core::Result<()>
1455 where
1456 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1457 {
1458 (::windows::core::Interface::vtable(self).base__.DeleteValue)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi()).ok()
1459 }
1460 pub unsafe fn EnumKeys(&self, index: u32) -> ::windows::core::Result<::windows::core::PWSTR> {
1461 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1462 (::windows::core::Interface::vtable(self).base__.EnumKeys)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
1463 }
1464 pub unsafe fn EnumValues(&self, index: u32) -> ::windows::core::Result<::windows::core::PWSTR> {
1465 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1466 (::windows::core::Interface::vtable(self).base__.EnumValues)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
1467 }
1468 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1469 #[cfg(feature = "Win32_Foundation")]
1470 pub unsafe fn SetId<P0, P1, P2>(&self, pszcategoryid: P0, psztokenid: P1, fcreateifnotexist: P2) -> ::windows::core::Result<()>
1471 where
1472 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1473 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1474 P2: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
1475 {
1476 (::windows::core::Interface::vtable(self).SetId)(::windows::core::Interface::as_raw(self), pszcategoryid.into_param().abi(), psztokenid.into_param().abi(), fcreateifnotexist.into_param().abi()).ok()
1477 }
1478 pub unsafe fn GetId(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
1479 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1480 (::windows::core::Interface::vtable(self).GetId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
1481 }
1482 pub unsafe fn GetCategory(&self) -> ::windows::core::Result<ISpObjectTokenCategory> {
1483 let mut result__ = ::windows::core::zeroed::<ISpObjectTokenCategory>();
1484 (::windows::core::Interface::vtable(self).GetCategory)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
1485 }
1486 pub unsafe fn CreateInstance<P0>(&self, punkouter: P0, dwclscontext: u32, riid: *const ::windows::core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
1487 where
1488 P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
1489 {
1490 (::windows::core::Interface::vtable(self).CreateInstance)(::windows::core::Interface::as_raw(self), punkouter.into_param().abi(), dwclscontext, riid, ppvobject).ok()
1491 }
1492 pub unsafe fn GetStorageFileName<P0, P1>(&self, clsidcaller: *const ::windows::core::GUID, pszvaluename: P0, pszfilenamespecifier: P1, nfolder: u32) -> ::windows::core::Result<::windows::core::PWSTR>
1493 where
1494 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1495 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1496 {
1497 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1498 (::windows::core::Interface::vtable(self).GetStorageFileName)(::windows::core::Interface::as_raw(self), clsidcaller, pszvaluename.into_param().abi(), pszfilenamespecifier.into_param().abi(), nfolder, &mut result__).from_abi(result__)
1499 }
1500 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1501 #[cfg(feature = "Win32_Foundation")]
1502 pub unsafe fn RemoveStorageFileName<P0, P1>(&self, clsidcaller: *const ::windows::core::GUID, pszkeyname: P0, fdeletefile: P1) -> ::windows::core::Result<()>
1503 where
1504 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1505 P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
1506 {
1507 (::windows::core::Interface::vtable(self).RemoveStorageFileName)(::windows::core::Interface::as_raw(self), clsidcaller, pszkeyname.into_param().abi(), fdeletefile.into_param().abi()).ok()
1508 }
1509 pub unsafe fn Remove(&self, pclsidcaller: ::core::option::Option<*const ::windows::core::GUID>) -> ::windows::core::Result<()> {
1510 (::windows::core::Interface::vtable(self).Remove)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pclsidcaller.unwrap_or(::std::ptr::null()))).ok()
1511 }
1512 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1513 #[cfg(feature = "Win32_Foundation")]
1514 pub unsafe fn IsUISupported<P0, P1>(&self, psztypeofui: P0, pvextradata: *mut ::core::ffi::c_void, cbextradata: u32, punkobject: P1, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>
1515 where
1516 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1517 P1: ::windows::core::IntoParam<::windows::core::IUnknown>,
1518 {
1519 (::windows::core::Interface::vtable(self).IsUISupported)(::windows::core::Interface::as_raw(self), psztypeofui.into_param().abi(), pvextradata, cbextradata, punkobject.into_param().abi(), pfsupported).ok()
1520 }
1521 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1522 #[cfg(feature = "Win32_Foundation")]
1523 pub unsafe fn DisplayUI<P0, P1, P2, P3>(&self, hwndparent: P0, psztitle: P1, psztypeofui: P2, pvextradata: *mut ::core::ffi::c_void, cbextradata: u32, punkobject: P3) -> ::windows::core::Result<()>
1524 where
1525 P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
1526 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1527 P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1528 P3: ::windows::core::IntoParam<::windows::core::IUnknown>,
1529 {
1530 (::windows::core::Interface::vtable(self).DisplayUI)(::windows::core::Interface::as_raw(self), hwndparent.into_param().abi(), psztitle.into_param().abi(), psztypeofui.into_param().abi(), pvextradata, cbextradata, punkobject.into_param().abi()).ok()
1531 }
1532 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1533 #[cfg(feature = "Win32_Foundation")]
1534 pub unsafe fn MatchesAttributes<P0>(&self, pszattributes: P0, pfmatches: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>
1535 where
1536 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1537 {
1538 (::windows::core::Interface::vtable(self).MatchesAttributes)(::windows::core::Interface::as_raw(self), pszattributes.into_param().abi(), pfmatches).ok()
1539 }
1540}
1541::windows::imp::interface_hierarchy!(ISpObjectToken, ::windows::core::IUnknown, ISpDataKey);
1542impl ::core::cmp::PartialEq for ISpObjectToken {
1543 fn eq(&self, other: &Self) -> bool {
1544 self.0 == other.0
1545 }
1546}
1547impl ::core::cmp::Eq for ISpObjectToken {}
1548impl ::core::fmt::Debug for ISpObjectToken {
1549 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1550 f.debug_tuple("ISpObjectToken").field(&self.0).finish()
1551 }
1552}
1553unsafe impl ::windows::core::Interface for ISpObjectToken {
1554 type Vtable = ISpObjectToken_Vtbl;
1555}
1556impl ::core::clone::Clone for ISpObjectToken {
1557 fn clone(&self) -> Self {
1558 Self(self.0.clone())
1559 }
1560}
1561unsafe impl ::windows::core::ComInterface for ISpObjectToken {
1562 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x14056589_e16c_11d2_bb90_00c04f8ee6c0);
1563}
1564#[repr(C)]
1565#[doc(hidden)]
1566pub struct ISpObjectToken_Vtbl {
1567 pub base__: ISpDataKey_Vtbl,
1568 #[cfg(feature = "Win32_Foundation")]
1569 pub SetId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszcategoryid: ::windows::core::PCWSTR, psztokenid: ::windows::core::PCWSTR, fcreateifnotexist: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
1570 #[cfg(not(feature = "Win32_Foundation"))]
1571 SetId: usize,
1572 pub GetId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppszcomemtokenid: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
1573 pub GetCategory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pptokencategory: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1574 pub CreateInstance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, punkouter: *mut ::core::ffi::c_void, dwclscontext: u32, riid: *const ::windows::core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1575 pub GetStorageFileName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsidcaller: *const ::windows::core::GUID, pszvaluename: ::windows::core::PCWSTR, pszfilenamespecifier: ::windows::core::PCWSTR, nfolder: u32, ppszfilepath: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
1576 #[cfg(feature = "Win32_Foundation")]
1577 pub RemoveStorageFileName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsidcaller: *const ::windows::core::GUID, pszkeyname: ::windows::core::PCWSTR, fdeletefile: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
1578 #[cfg(not(feature = "Win32_Foundation"))]
1579 RemoveStorageFileName: usize,
1580 pub Remove: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pclsidcaller: *const ::windows::core::GUID) -> ::windows::core::HRESULT,
1581 #[cfg(feature = "Win32_Foundation")]
1582 pub IsUISupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psztypeofui: ::windows::core::PCWSTR, pvextradata: *mut ::core::ffi::c_void, cbextradata: u32, punkobject: *mut ::core::ffi::c_void, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
1583 #[cfg(not(feature = "Win32_Foundation"))]
1584 IsUISupported: usize,
1585 #[cfg(feature = "Win32_Foundation")]
1586 pub DisplayUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwndparent: super::super::Foundation::HWND, psztitle: ::windows::core::PCWSTR, psztypeofui: ::windows::core::PCWSTR, pvextradata: *mut ::core::ffi::c_void, cbextradata: u32, punkobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1587 #[cfg(not(feature = "Win32_Foundation"))]
1588 DisplayUI: usize,
1589 #[cfg(feature = "Win32_Foundation")]
1590 pub MatchesAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszattributes: ::windows::core::PCWSTR, pfmatches: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
1591 #[cfg(not(feature = "Win32_Foundation"))]
1592 MatchesAttributes: usize,
1593}
1594#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
1595#[repr(transparent)]
1596pub struct ISpObjectTokenCategory(::windows::core::IUnknown);
1597impl ISpObjectTokenCategory {
1598 pub unsafe fn SetData<P0>(&self, pszvaluename: P0, cbdata: u32, pdata: *const u8) -> ::windows::core::Result<()>
1599 where
1600 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1601 {
1602 (::windows::core::Interface::vtable(self).base__.SetData)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), cbdata, pdata).ok()
1603 }
1604 pub unsafe fn GetData<P0>(&self, pszvaluename: P0, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::core::Result<()>
1605 where
1606 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1607 {
1608 (::windows::core::Interface::vtable(self).base__.GetData)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), pcbdata, pdata).ok()
1609 }
1610 pub unsafe fn SetStringValue<P0, P1>(&self, pszvaluename: P0, pszvalue: P1) -> ::windows::core::Result<()>
1611 where
1612 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1613 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1614 {
1615 (::windows::core::Interface::vtable(self).base__.SetStringValue)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), pszvalue.into_param().abi()).ok()
1616 }
1617 pub unsafe fn GetStringValue<P0>(&self, pszvaluename: P0) -> ::windows::core::Result<::windows::core::PWSTR>
1618 where
1619 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1620 {
1621 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1622 (::windows::core::Interface::vtable(self).base__.GetStringValue)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), &mut result__).from_abi(result__)
1623 }
1624 pub unsafe fn SetDWORD<P0>(&self, pszvaluename: P0, dwvalue: u32) -> ::windows::core::Result<()>
1625 where
1626 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1627 {
1628 (::windows::core::Interface::vtable(self).base__.SetDWORD)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), dwvalue).ok()
1629 }
1630 pub unsafe fn GetDWORD<P0>(&self, pszvaluename: P0, pdwvalue: *mut u32) -> ::windows::core::Result<()>
1631 where
1632 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1633 {
1634 (::windows::core::Interface::vtable(self).base__.GetDWORD)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), pdwvalue).ok()
1635 }
1636 pub unsafe fn OpenKey<P0>(&self, pszsubkeyname: P0) -> ::windows::core::Result<ISpDataKey>
1637 where
1638 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1639 {
1640 let mut result__ = ::windows::core::zeroed::<ISpDataKey>();
1641 (::windows::core::Interface::vtable(self).base__.OpenKey)(::windows::core::Interface::as_raw(self), pszsubkeyname.into_param().abi(), &mut result__).from_abi(result__)
1642 }
1643 pub unsafe fn CreateKey<P0>(&self, pszsubkey: P0) -> ::windows::core::Result<ISpDataKey>
1644 where
1645 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1646 {
1647 let mut result__ = ::windows::core::zeroed::<ISpDataKey>();
1648 (::windows::core::Interface::vtable(self).base__.CreateKey)(::windows::core::Interface::as_raw(self), pszsubkey.into_param().abi(), &mut result__).from_abi(result__)
1649 }
1650 pub unsafe fn DeleteKey<P0>(&self, pszsubkey: P0) -> ::windows::core::Result<()>
1651 where
1652 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1653 {
1654 (::windows::core::Interface::vtable(self).base__.DeleteKey)(::windows::core::Interface::as_raw(self), pszsubkey.into_param().abi()).ok()
1655 }
1656 pub unsafe fn DeleteValue<P0>(&self, pszvaluename: P0) -> ::windows::core::Result<()>
1657 where
1658 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1659 {
1660 (::windows::core::Interface::vtable(self).base__.DeleteValue)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi()).ok()
1661 }
1662 pub unsafe fn EnumKeys(&self, index: u32) -> ::windows::core::Result<::windows::core::PWSTR> {
1663 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1664 (::windows::core::Interface::vtable(self).base__.EnumKeys)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
1665 }
1666 pub unsafe fn EnumValues(&self, index: u32) -> ::windows::core::Result<::windows::core::PWSTR> {
1667 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1668 (::windows::core::Interface::vtable(self).base__.EnumValues)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
1669 }
1670 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1671 #[cfg(feature = "Win32_Foundation")]
1672 pub unsafe fn SetId<P0, P1>(&self, pszcategoryid: P0, fcreateifnotexist: P1) -> ::windows::core::Result<()>
1673 where
1674 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1675 P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
1676 {
1677 (::windows::core::Interface::vtable(self).SetId)(::windows::core::Interface::as_raw(self), pszcategoryid.into_param().abi(), fcreateifnotexist.into_param().abi()).ok()
1678 }
1679 pub unsafe fn GetId(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
1680 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1681 (::windows::core::Interface::vtable(self).GetId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
1682 }
1683 pub unsafe fn GetDataKey(&self, spdkl: SPDATAKEYLOCATION) -> ::windows::core::Result<ISpDataKey> {
1684 let mut result__ = ::windows::core::zeroed::<ISpDataKey>();
1685 (::windows::core::Interface::vtable(self).GetDataKey)(::windows::core::Interface::as_raw(self), spdkl, &mut result__).from_abi(result__)
1686 }
1687 pub unsafe fn EnumTokens<P0, P1>(&self, pzsreqattribs: P0, pszoptattribs: P1) -> ::windows::core::Result<IEnumSpObjectTokens>
1688 where
1689 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1690 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1691 {
1692 let mut result__ = ::windows::core::zeroed::<IEnumSpObjectTokens>();
1693 (::windows::core::Interface::vtable(self).EnumTokens)(::windows::core::Interface::as_raw(self), pzsreqattribs.into_param().abi(), pszoptattribs.into_param().abi(), &mut result__).from_abi(result__)
1694 }
1695 pub unsafe fn SetDefaultTokenId<P0>(&self, psztokenid: P0) -> ::windows::core::Result<()>
1696 where
1697 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1698 {
1699 (::windows::core::Interface::vtable(self).SetDefaultTokenId)(::windows::core::Interface::as_raw(self), psztokenid.into_param().abi()).ok()
1700 }
1701 pub unsafe fn GetDefaultTokenId(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
1702 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1703 (::windows::core::Interface::vtable(self).GetDefaultTokenId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
1704 }
1705}
1706::windows::imp::interface_hierarchy!(ISpObjectTokenCategory, ::windows::core::IUnknown, ISpDataKey);
1707impl ::core::cmp::PartialEq for ISpObjectTokenCategory {
1708 fn eq(&self, other: &Self) -> bool {
1709 self.0 == other.0
1710 }
1711}
1712impl ::core::cmp::Eq for ISpObjectTokenCategory {}
1713impl ::core::fmt::Debug for ISpObjectTokenCategory {
1714 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1715 f.debug_tuple("ISpObjectTokenCategory").field(&self.0).finish()
1716 }
1717}
1718unsafe impl ::windows::core::Interface for ISpObjectTokenCategory {
1719 type Vtable = ISpObjectTokenCategory_Vtbl;
1720}
1721impl ::core::clone::Clone for ISpObjectTokenCategory {
1722 fn clone(&self) -> Self {
1723 Self(self.0.clone())
1724 }
1725}
1726unsafe impl ::windows::core::ComInterface for ISpObjectTokenCategory {
1727 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2d3d3845_39af_4850_bbf9_40b49780011d);
1728}
1729#[repr(C)]
1730#[doc(hidden)]
1731pub struct ISpObjectTokenCategory_Vtbl {
1732 pub base__: ISpDataKey_Vtbl,
1733 #[cfg(feature = "Win32_Foundation")]
1734 pub SetId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszcategoryid: ::windows::core::PCWSTR, fcreateifnotexist: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
1735 #[cfg(not(feature = "Win32_Foundation"))]
1736 SetId: usize,
1737 pub GetId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppszcomemcategoryid: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
1738 pub GetDataKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, spdkl: SPDATAKEYLOCATION, ppdatakey: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1739 pub EnumTokens: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pzsreqattribs: ::windows::core::PCWSTR, pszoptattribs: ::windows::core::PCWSTR, ppenum: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1740 pub SetDefaultTokenId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psztokenid: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
1741 pub GetDefaultTokenId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppszcomemtokenid: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
1742}
1743#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
1744#[repr(transparent)]
1745pub struct ISpObjectTokenInit(::windows::core::IUnknown);
1746impl ISpObjectTokenInit {
1747 pub unsafe fn SetData<P0>(&self, pszvaluename: P0, cbdata: u32, pdata: *const u8) -> ::windows::core::Result<()>
1748 where
1749 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1750 {
1751 (::windows::core::Interface::vtable(self).base__.base__.SetData)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), cbdata, pdata).ok()
1752 }
1753 pub unsafe fn GetData<P0>(&self, pszvaluename: P0, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::core::Result<()>
1754 where
1755 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1756 {
1757 (::windows::core::Interface::vtable(self).base__.base__.GetData)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), pcbdata, pdata).ok()
1758 }
1759 pub unsafe fn SetStringValue<P0, P1>(&self, pszvaluename: P0, pszvalue: P1) -> ::windows::core::Result<()>
1760 where
1761 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1762 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1763 {
1764 (::windows::core::Interface::vtable(self).base__.base__.SetStringValue)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), pszvalue.into_param().abi()).ok()
1765 }
1766 pub unsafe fn GetStringValue<P0>(&self, pszvaluename: P0) -> ::windows::core::Result<::windows::core::PWSTR>
1767 where
1768 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1769 {
1770 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1771 (::windows::core::Interface::vtable(self).base__.base__.GetStringValue)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), &mut result__).from_abi(result__)
1772 }
1773 pub unsafe fn SetDWORD<P0>(&self, pszvaluename: P0, dwvalue: u32) -> ::windows::core::Result<()>
1774 where
1775 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1776 {
1777 (::windows::core::Interface::vtable(self).base__.base__.SetDWORD)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), dwvalue).ok()
1778 }
1779 pub unsafe fn GetDWORD<P0>(&self, pszvaluename: P0, pdwvalue: *mut u32) -> ::windows::core::Result<()>
1780 where
1781 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1782 {
1783 (::windows::core::Interface::vtable(self).base__.base__.GetDWORD)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), pdwvalue).ok()
1784 }
1785 pub unsafe fn OpenKey<P0>(&self, pszsubkeyname: P0) -> ::windows::core::Result<ISpDataKey>
1786 where
1787 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1788 {
1789 let mut result__ = ::windows::core::zeroed::<ISpDataKey>();
1790 (::windows::core::Interface::vtable(self).base__.base__.OpenKey)(::windows::core::Interface::as_raw(self), pszsubkeyname.into_param().abi(), &mut result__).from_abi(result__)
1791 }
1792 pub unsafe fn CreateKey<P0>(&self, pszsubkey: P0) -> ::windows::core::Result<ISpDataKey>
1793 where
1794 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1795 {
1796 let mut result__ = ::windows::core::zeroed::<ISpDataKey>();
1797 (::windows::core::Interface::vtable(self).base__.base__.CreateKey)(::windows::core::Interface::as_raw(self), pszsubkey.into_param().abi(), &mut result__).from_abi(result__)
1798 }
1799 pub unsafe fn DeleteKey<P0>(&self, pszsubkey: P0) -> ::windows::core::Result<()>
1800 where
1801 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1802 {
1803 (::windows::core::Interface::vtable(self).base__.base__.DeleteKey)(::windows::core::Interface::as_raw(self), pszsubkey.into_param().abi()).ok()
1804 }
1805 pub unsafe fn DeleteValue<P0>(&self, pszvaluename: P0) -> ::windows::core::Result<()>
1806 where
1807 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1808 {
1809 (::windows::core::Interface::vtable(self).base__.base__.DeleteValue)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi()).ok()
1810 }
1811 pub unsafe fn EnumKeys(&self, index: u32) -> ::windows::core::Result<::windows::core::PWSTR> {
1812 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1813 (::windows::core::Interface::vtable(self).base__.base__.EnumKeys)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
1814 }
1815 pub unsafe fn EnumValues(&self, index: u32) -> ::windows::core::Result<::windows::core::PWSTR> {
1816 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1817 (::windows::core::Interface::vtable(self).base__.base__.EnumValues)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
1818 }
1819 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1820 #[cfg(feature = "Win32_Foundation")]
1821 pub unsafe fn SetId<P0, P1, P2>(&self, pszcategoryid: P0, psztokenid: P1, fcreateifnotexist: P2) -> ::windows::core::Result<()>
1822 where
1823 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1824 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1825 P2: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
1826 {
1827 (::windows::core::Interface::vtable(self).base__.SetId)(::windows::core::Interface::as_raw(self), pszcategoryid.into_param().abi(), psztokenid.into_param().abi(), fcreateifnotexist.into_param().abi()).ok()
1828 }
1829 pub unsafe fn GetId(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
1830 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1831 (::windows::core::Interface::vtable(self).base__.GetId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
1832 }
1833 pub unsafe fn GetCategory(&self) -> ::windows::core::Result<ISpObjectTokenCategory> {
1834 let mut result__ = ::windows::core::zeroed::<ISpObjectTokenCategory>();
1835 (::windows::core::Interface::vtable(self).base__.GetCategory)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
1836 }
1837 pub unsafe fn CreateInstance<P0>(&self, punkouter: P0, dwclscontext: u32, riid: *const ::windows::core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
1838 where
1839 P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
1840 {
1841 (::windows::core::Interface::vtable(self).base__.CreateInstance)(::windows::core::Interface::as_raw(self), punkouter.into_param().abi(), dwclscontext, riid, ppvobject).ok()
1842 }
1843 pub unsafe fn GetStorageFileName<P0, P1>(&self, clsidcaller: *const ::windows::core::GUID, pszvaluename: P0, pszfilenamespecifier: P1, nfolder: u32) -> ::windows::core::Result<::windows::core::PWSTR>
1844 where
1845 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1846 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1847 {
1848 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
1849 (::windows::core::Interface::vtable(self).base__.GetStorageFileName)(::windows::core::Interface::as_raw(self), clsidcaller, pszvaluename.into_param().abi(), pszfilenamespecifier.into_param().abi(), nfolder, &mut result__).from_abi(result__)
1850 }
1851 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1852 #[cfg(feature = "Win32_Foundation")]
1853 pub unsafe fn RemoveStorageFileName<P0, P1>(&self, clsidcaller: *const ::windows::core::GUID, pszkeyname: P0, fdeletefile: P1) -> ::windows::core::Result<()>
1854 where
1855 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1856 P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
1857 {
1858 (::windows::core::Interface::vtable(self).base__.RemoveStorageFileName)(::windows::core::Interface::as_raw(self), clsidcaller, pszkeyname.into_param().abi(), fdeletefile.into_param().abi()).ok()
1859 }
1860 pub unsafe fn Remove(&self, pclsidcaller: ::core::option::Option<*const ::windows::core::GUID>) -> ::windows::core::Result<()> {
1861 (::windows::core::Interface::vtable(self).base__.Remove)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(pclsidcaller.unwrap_or(::std::ptr::null()))).ok()
1862 }
1863 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1864 #[cfg(feature = "Win32_Foundation")]
1865 pub unsafe fn IsUISupported<P0, P1>(&self, psztypeofui: P0, pvextradata: *mut ::core::ffi::c_void, cbextradata: u32, punkobject: P1, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>
1866 where
1867 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1868 P1: ::windows::core::IntoParam<::windows::core::IUnknown>,
1869 {
1870 (::windows::core::Interface::vtable(self).base__.IsUISupported)(::windows::core::Interface::as_raw(self), psztypeofui.into_param().abi(), pvextradata, cbextradata, punkobject.into_param().abi(), pfsupported).ok()
1871 }
1872 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1873 #[cfg(feature = "Win32_Foundation")]
1874 pub unsafe fn DisplayUI<P0, P1, P2, P3>(&self, hwndparent: P0, psztitle: P1, psztypeofui: P2, pvextradata: *mut ::core::ffi::c_void, cbextradata: u32, punkobject: P3) -> ::windows::core::Result<()>
1875 where
1876 P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
1877 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1878 P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1879 P3: ::windows::core::IntoParam<::windows::core::IUnknown>,
1880 {
1881 (::windows::core::Interface::vtable(self).base__.DisplayUI)(::windows::core::Interface::as_raw(self), hwndparent.into_param().abi(), psztitle.into_param().abi(), psztypeofui.into_param().abi(), pvextradata, cbextradata, punkobject.into_param().abi()).ok()
1882 }
1883 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
1884 #[cfg(feature = "Win32_Foundation")]
1885 pub unsafe fn MatchesAttributes<P0>(&self, pszattributes: P0, pfmatches: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>
1886 where
1887 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1888 {
1889 (::windows::core::Interface::vtable(self).base__.MatchesAttributes)(::windows::core::Interface::as_raw(self), pszattributes.into_param().abi(), pfmatches).ok()
1890 }
1891 pub unsafe fn InitFromDataKey<P0, P1, P2>(&self, pszcategoryid: P0, psztokenid: P1, pdatakey: P2) -> ::windows::core::Result<()>
1892 where
1893 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1894 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1895 P2: ::windows::core::IntoParam<ISpDataKey>,
1896 {
1897 (::windows::core::Interface::vtable(self).InitFromDataKey)(::windows::core::Interface::as_raw(self), pszcategoryid.into_param().abi(), psztokenid.into_param().abi(), pdatakey.into_param().abi()).ok()
1898 }
1899}
1900::windows::imp::interface_hierarchy!(ISpObjectTokenInit, ::windows::core::IUnknown, ISpDataKey, ISpObjectToken);
1901impl ::core::cmp::PartialEq for ISpObjectTokenInit {
1902 fn eq(&self, other: &Self) -> bool {
1903 self.0 == other.0
1904 }
1905}
1906impl ::core::cmp::Eq for ISpObjectTokenInit {}
1907impl ::core::fmt::Debug for ISpObjectTokenInit {
1908 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1909 f.debug_tuple("ISpObjectTokenInit").field(&self.0).finish()
1910 }
1911}
1912unsafe impl ::windows::core::Interface for ISpObjectTokenInit {
1913 type Vtable = ISpObjectTokenInit_Vtbl;
1914}
1915impl ::core::clone::Clone for ISpObjectTokenInit {
1916 fn clone(&self) -> Self {
1917 Self(self.0.clone())
1918 }
1919}
1920unsafe impl ::windows::core::ComInterface for ISpObjectTokenInit {
1921 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb8aab0cf_346f_49d8_9499_c8b03f161d51);
1922}
1923#[repr(C)]
1924#[doc(hidden)]
1925pub struct ISpObjectTokenInit_Vtbl {
1926 pub base__: ISpObjectToken_Vtbl,
1927 pub InitFromDataKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszcategoryid: ::windows::core::PCWSTR, psztokenid: ::windows::core::PCWSTR, pdatakey: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1928}
1929#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
1930#[repr(transparent)]
1931pub struct ISpObjectWithToken(::windows::core::IUnknown);
1932impl ISpObjectWithToken {
1933 pub unsafe fn SetObjectToken<P0>(&self, ptoken: P0) -> ::windows::core::Result<()>
1934 where
1935 P0: ::windows::core::IntoParam<ISpObjectToken>,
1936 {
1937 (::windows::core::Interface::vtable(self).SetObjectToken)(::windows::core::Interface::as_raw(self), ptoken.into_param().abi()).ok()
1938 }
1939 pub unsafe fn GetObjectToken(&self) -> ::windows::core::Result<ISpObjectToken> {
1940 let mut result__ = ::windows::core::zeroed::<ISpObjectToken>();
1941 (::windows::core::Interface::vtable(self).GetObjectToken)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
1942 }
1943}
1944::windows::imp::interface_hierarchy!(ISpObjectWithToken, ::windows::core::IUnknown);
1945impl ::core::cmp::PartialEq for ISpObjectWithToken {
1946 fn eq(&self, other: &Self) -> bool {
1947 self.0 == other.0
1948 }
1949}
1950impl ::core::cmp::Eq for ISpObjectWithToken {}
1951impl ::core::fmt::Debug for ISpObjectWithToken {
1952 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1953 f.debug_tuple("ISpObjectWithToken").field(&self.0).finish()
1954 }
1955}
1956unsafe impl ::windows::core::Interface for ISpObjectWithToken {
1957 type Vtable = ISpObjectWithToken_Vtbl;
1958}
1959impl ::core::clone::Clone for ISpObjectWithToken {
1960 fn clone(&self) -> Self {
1961 Self(self.0.clone())
1962 }
1963}
1964unsafe impl ::windows::core::ComInterface for ISpObjectWithToken {
1965 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5b559f40_e952_11d2_bb91_00c04f8ee6c0);
1966}
1967#[repr(C)]
1968#[doc(hidden)]
1969pub struct ISpObjectWithToken_Vtbl {
1970 pub base__: ::windows::core::IUnknown_Vtbl,
1971 pub SetObjectToken: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptoken: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1972 pub GetObjectToken: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pptoken: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
1973}
1974#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
1975#[repr(transparent)]
1976pub struct ISpPhoneConverter(::windows::core::IUnknown);
1977impl ISpPhoneConverter {
1978 pub unsafe fn SetObjectToken<P0>(&self, ptoken: P0) -> ::windows::core::Result<()>
1979 where
1980 P0: ::windows::core::IntoParam<ISpObjectToken>,
1981 {
1982 (::windows::core::Interface::vtable(self).base__.SetObjectToken)(::windows::core::Interface::as_raw(self), ptoken.into_param().abi()).ok()
1983 }
1984 pub unsafe fn GetObjectToken(&self) -> ::windows::core::Result<ISpObjectToken> {
1985 let mut result__ = ::windows::core::zeroed::<ISpObjectToken>();
1986 (::windows::core::Interface::vtable(self).base__.GetObjectToken)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
1987 }
1988 pub unsafe fn PhoneToId<P0>(&self, pszphone: P0) -> ::windows::core::Result<u16>
1989 where
1990 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
1991 {
1992 let mut result__ = ::windows::core::zeroed::<u16>();
1993 (::windows::core::Interface::vtable(self).PhoneToId)(::windows::core::Interface::as_raw(self), pszphone.into_param().abi(), &mut result__).from_abi(result__)
1994 }
1995 pub unsafe fn IdToPhone(&self, pid: *const u16, pszphone: ::windows::core::PWSTR) -> ::windows::core::Result<()> {
1996 (::windows::core::Interface::vtable(self).IdToPhone)(::windows::core::Interface::as_raw(self), pid, ::core::mem::transmute(pszphone)).ok()
1997 }
1998}
1999::windows::imp::interface_hierarchy!(ISpPhoneConverter, ::windows::core::IUnknown, ISpObjectWithToken);
2000impl ::core::cmp::PartialEq for ISpPhoneConverter {
2001 fn eq(&self, other: &Self) -> bool {
2002 self.0 == other.0
2003 }
2004}
2005impl ::core::cmp::Eq for ISpPhoneConverter {}
2006impl ::core::fmt::Debug for ISpPhoneConverter {
2007 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2008 f.debug_tuple("ISpPhoneConverter").field(&self.0).finish()
2009 }
2010}
2011unsafe impl ::windows::core::Interface for ISpPhoneConverter {
2012 type Vtable = ISpPhoneConverter_Vtbl;
2013}
2014impl ::core::clone::Clone for ISpPhoneConverter {
2015 fn clone(&self) -> Self {
2016 Self(self.0.clone())
2017 }
2018}
2019unsafe impl ::windows::core::ComInterface for ISpPhoneConverter {
2020 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8445c581_0cac_4a38_abfe_9b2ce2826455);
2021}
2022#[repr(C)]
2023#[doc(hidden)]
2024pub struct ISpPhoneConverter_Vtbl {
2025 pub base__: ISpObjectWithToken_Vtbl,
2026 pub PhoneToId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszphone: ::windows::core::PCWSTR, pid: *mut u16) -> ::windows::core::HRESULT,
2027 pub IdToPhone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pid: *const u16, pszphone: ::windows::core::PWSTR) -> ::windows::core::HRESULT,
2028}
2029#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
2030#[repr(transparent)]
2031pub struct ISpPhoneticAlphabetConverter(::windows::core::IUnknown);
2032impl ISpPhoneticAlphabetConverter {
2033 pub unsafe fn GetLangId(&self) -> ::windows::core::Result<u16> {
2034 let mut result__ = ::windows::core::zeroed::<u16>();
2035 (::windows::core::Interface::vtable(self).GetLangId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
2036 }
2037 pub unsafe fn SetLangId(&self, langid: u16) -> ::windows::core::Result<()> {
2038 (::windows::core::Interface::vtable(self).SetLangId)(::windows::core::Interface::as_raw(self), langid).ok()
2039 }
2040 pub unsafe fn SAPI2UPS(&self, pszsapiid: *const u16, pszupsid: &mut [u16]) -> ::windows::core::Result<()> {
2041 (::windows::core::Interface::vtable(self).SAPI2UPS)(::windows::core::Interface::as_raw(self), pszsapiid, ::core::mem::transmute(pszupsid.as_ptr()), pszupsid.len() as _).ok()
2042 }
2043 pub unsafe fn UPS2SAPI(&self, pszupsid: *const u16, pszsapiid: &mut [u16]) -> ::windows::core::Result<()> {
2044 (::windows::core::Interface::vtable(self).UPS2SAPI)(::windows::core::Interface::as_raw(self), pszupsid, ::core::mem::transmute(pszsapiid.as_ptr()), pszsapiid.len() as _).ok()
2045 }
2046 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2047 #[cfg(feature = "Win32_Foundation")]
2048 pub unsafe fn GetMaxConvertLength<P0>(&self, csrclength: u32, bsapi2ups: P0) -> ::windows::core::Result<u32>
2049 where
2050 P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
2051 {
2052 let mut result__ = ::windows::core::zeroed::<u32>();
2053 (::windows::core::Interface::vtable(self).GetMaxConvertLength)(::windows::core::Interface::as_raw(self), csrclength, bsapi2ups.into_param().abi(), &mut result__).from_abi(result__)
2054 }
2055}
2056::windows::imp::interface_hierarchy!(ISpPhoneticAlphabetConverter, ::windows::core::IUnknown);
2057impl ::core::cmp::PartialEq for ISpPhoneticAlphabetConverter {
2058 fn eq(&self, other: &Self) -> bool {
2059 self.0 == other.0
2060 }
2061}
2062impl ::core::cmp::Eq for ISpPhoneticAlphabetConverter {}
2063impl ::core::fmt::Debug for ISpPhoneticAlphabetConverter {
2064 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2065 f.debug_tuple("ISpPhoneticAlphabetConverter").field(&self.0).finish()
2066 }
2067}
2068unsafe impl ::windows::core::Interface for ISpPhoneticAlphabetConverter {
2069 type Vtable = ISpPhoneticAlphabetConverter_Vtbl;
2070}
2071impl ::core::clone::Clone for ISpPhoneticAlphabetConverter {
2072 fn clone(&self) -> Self {
2073 Self(self.0.clone())
2074 }
2075}
2076unsafe impl ::windows::core::ComInterface for ISpPhoneticAlphabetConverter {
2077 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x133adcd4_19b4_4020_9fdc_842e78253b17);
2078}
2079#[repr(C)]
2080#[doc(hidden)]
2081pub struct ISpPhoneticAlphabetConverter_Vtbl {
2082 pub base__: ::windows::core::IUnknown_Vtbl,
2083 pub GetLangId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, plangid: *mut u16) -> ::windows::core::HRESULT,
2084 pub SetLangId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, langid: u16) -> ::windows::core::HRESULT,
2085 pub SAPI2UPS: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszsapiid: *const u16, pszupsid: *mut u16, cmaxlength: u32) -> ::windows::core::HRESULT,
2086 pub UPS2SAPI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszupsid: *const u16, pszsapiid: *mut u16, cmaxlength: u32) -> ::windows::core::HRESULT,
2087 #[cfg(feature = "Win32_Foundation")]
2088 pub GetMaxConvertLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, csrclength: u32, bsapi2ups: super::super::Foundation::BOOL, pcmaxdestlength: *mut u32) -> ::windows::core::HRESULT,
2089 #[cfg(not(feature = "Win32_Foundation"))]
2090 GetMaxConvertLength: usize,
2091}
2092#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
2093#[repr(transparent)]
2094pub struct ISpPhoneticAlphabetSelection(::windows::core::IUnknown);
2095impl ISpPhoneticAlphabetSelection {
2096 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2097 #[cfg(feature = "Win32_Foundation")]
2098 pub unsafe fn IsAlphabetUPS(&self) -> ::windows::core::Result<super::super::Foundation::BOOL> {
2099 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::BOOL>();
2100 (::windows::core::Interface::vtable(self).IsAlphabetUPS)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
2101 }
2102 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2103 #[cfg(feature = "Win32_Foundation")]
2104 pub unsafe fn SetAlphabetToUPS<P0>(&self, fforceups: P0) -> ::windows::core::Result<()>
2105 where
2106 P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
2107 {
2108 (::windows::core::Interface::vtable(self).SetAlphabetToUPS)(::windows::core::Interface::as_raw(self), fforceups.into_param().abi()).ok()
2109 }
2110}
2111::windows::imp::interface_hierarchy!(ISpPhoneticAlphabetSelection, ::windows::core::IUnknown);
2112impl ::core::cmp::PartialEq for ISpPhoneticAlphabetSelection {
2113 fn eq(&self, other: &Self) -> bool {
2114 self.0 == other.0
2115 }
2116}
2117impl ::core::cmp::Eq for ISpPhoneticAlphabetSelection {}
2118impl ::core::fmt::Debug for ISpPhoneticAlphabetSelection {
2119 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2120 f.debug_tuple("ISpPhoneticAlphabetSelection").field(&self.0).finish()
2121 }
2122}
2123unsafe impl ::windows::core::Interface for ISpPhoneticAlphabetSelection {
2124 type Vtable = ISpPhoneticAlphabetSelection_Vtbl;
2125}
2126impl ::core::clone::Clone for ISpPhoneticAlphabetSelection {
2127 fn clone(&self) -> Self {
2128 Self(self.0.clone())
2129 }
2130}
2131unsafe impl ::windows::core::ComInterface for ISpPhoneticAlphabetSelection {
2132 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb2745efd_42ce_48ca_81f1_a96e02538a90);
2133}
2134#[repr(C)]
2135#[doc(hidden)]
2136pub struct ISpPhoneticAlphabetSelection_Vtbl {
2137 pub base__: ::windows::core::IUnknown_Vtbl,
2138 #[cfg(feature = "Win32_Foundation")]
2139 pub IsAlphabetUPS: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pfisups: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
2140 #[cfg(not(feature = "Win32_Foundation"))]
2141 IsAlphabetUPS: usize,
2142 #[cfg(feature = "Win32_Foundation")]
2143 pub SetAlphabetToUPS: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fforceups: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
2144 #[cfg(not(feature = "Win32_Foundation"))]
2145 SetAlphabetToUPS: usize,
2146}
2147#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
2148#[repr(transparent)]
2149pub struct ISpPhrase(::windows::core::IUnknown);
2150impl ISpPhrase {
2151 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
2152 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2153 pub unsafe fn GetPhrase(&self) -> ::windows::core::Result<*mut SPPHRASE> {
2154 let mut result__ = ::windows::core::zeroed::<*mut SPPHRASE>();
2155 (::windows::core::Interface::vtable(self).GetPhrase)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
2156 }
2157 pub unsafe fn GetSerializedPhrase(&self) -> ::windows::core::Result<*mut SPSERIALIZEDPHRASE> {
2158 let mut result__ = ::windows::core::zeroed::<*mut SPSERIALIZEDPHRASE>();
2159 (::windows::core::Interface::vtable(self).GetSerializedPhrase)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
2160 }
2161 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2162 #[cfg(feature = "Win32_Foundation")]
2163 pub unsafe fn GetText<P0>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: P0, ppszcomemtext: *mut ::windows::core::PWSTR, pbdisplayattributes: ::core::option::Option<*mut u8>) -> ::windows::core::Result<()>
2164 where
2165 P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
2166 {
2167 (::windows::core::Interface::vtable(self).GetText)(::windows::core::Interface::as_raw(self), ulstart, ulcount, fusetextreplacements.into_param().abi(), ppszcomemtext, ::core::mem::transmute(pbdisplayattributes.unwrap_or(::std::ptr::null_mut()))).ok()
2168 }
2169 pub unsafe fn Discard(&self, dwvaluetypes: u32) -> ::windows::core::Result<()> {
2170 (::windows::core::Interface::vtable(self).Discard)(::windows::core::Interface::as_raw(self), dwvaluetypes).ok()
2171 }
2172}
2173::windows::imp::interface_hierarchy!(ISpPhrase, ::windows::core::IUnknown);
2174impl ::core::cmp::PartialEq for ISpPhrase {
2175 fn eq(&self, other: &Self) -> bool {
2176 self.0 == other.0
2177 }
2178}
2179impl ::core::cmp::Eq for ISpPhrase {}
2180impl ::core::fmt::Debug for ISpPhrase {
2181 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2182 f.debug_tuple("ISpPhrase").field(&self.0).finish()
2183 }
2184}
2185unsafe impl ::windows::core::Interface for ISpPhrase {
2186 type Vtable = ISpPhrase_Vtbl;
2187}
2188impl ::core::clone::Clone for ISpPhrase {
2189 fn clone(&self) -> Self {
2190 Self(self.0.clone())
2191 }
2192}
2193unsafe impl ::windows::core::ComInterface for ISpPhrase {
2194 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1a5c0354_b621_4b5a_8791_d306ed379e53);
2195}
2196#[repr(C)]
2197#[doc(hidden)]
2198pub struct ISpPhrase_Vtbl {
2199 pub base__: ::windows::core::IUnknown_Vtbl,
2200 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2201 pub GetPhrase: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppcomemphrase: *mut *mut SPPHRASE) -> ::windows::core::HRESULT,
2202 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
2203 GetPhrase: usize,
2204 pub GetSerializedPhrase: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppcomemphrase: *mut *mut SPSERIALIZEDPHRASE) -> ::windows::core::HRESULT,
2205 #[cfg(feature = "Win32_Foundation")]
2206 pub GetText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstart: u32, ulcount: u32, fusetextreplacements: super::super::Foundation::BOOL, ppszcomemtext: *mut ::windows::core::PWSTR, pbdisplayattributes: *mut u8) -> ::windows::core::HRESULT,
2207 #[cfg(not(feature = "Win32_Foundation"))]
2208 GetText: usize,
2209 pub Discard: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwvaluetypes: u32) -> ::windows::core::HRESULT,
2210}
2211#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
2212#[repr(transparent)]
2213pub struct ISpPhrase2(::windows::core::IUnknown);
2214impl ISpPhrase2 {
2215 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
2216 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2217 pub unsafe fn GetPhrase(&self) -> ::windows::core::Result<*mut SPPHRASE> {
2218 let mut result__ = ::windows::core::zeroed::<*mut SPPHRASE>();
2219 (::windows::core::Interface::vtable(self).base__.GetPhrase)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
2220 }
2221 pub unsafe fn GetSerializedPhrase(&self) -> ::windows::core::Result<*mut SPSERIALIZEDPHRASE> {
2222 let mut result__ = ::windows::core::zeroed::<*mut SPSERIALIZEDPHRASE>();
2223 (::windows::core::Interface::vtable(self).base__.GetSerializedPhrase)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
2224 }
2225 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2226 #[cfg(feature = "Win32_Foundation")]
2227 pub unsafe fn GetText<P0>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: P0, ppszcomemtext: *mut ::windows::core::PWSTR, pbdisplayattributes: ::core::option::Option<*mut u8>) -> ::windows::core::Result<()>
2228 where
2229 P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
2230 {
2231 (::windows::core::Interface::vtable(self).base__.GetText)(::windows::core::Interface::as_raw(self), ulstart, ulcount, fusetextreplacements.into_param().abi(), ppszcomemtext, ::core::mem::transmute(pbdisplayattributes.unwrap_or(::std::ptr::null_mut()))).ok()
2232 }
2233 pub unsafe fn Discard(&self, dwvaluetypes: u32) -> ::windows::core::Result<()> {
2234 (::windows::core::Interface::vtable(self).base__.Discard)(::windows::core::Interface::as_raw(self), dwvaluetypes).ok()
2235 }
2236 pub unsafe fn GetXMLResult(&self, ppszcomemxmlresult: *mut ::windows::core::PWSTR, options: SPXMLRESULTOPTIONS) -> ::windows::core::Result<()> {
2237 (::windows::core::Interface::vtable(self).GetXMLResult)(::windows::core::Interface::as_raw(self), ppszcomemxmlresult, options).ok()
2238 }
2239 pub unsafe fn GetXMLErrorInfo(&self, psemanticerrorinfo: *mut SPSEMANTICERRORINFO) -> ::windows::core::Result<()> {
2240 (::windows::core::Interface::vtable(self).GetXMLErrorInfo)(::windows::core::Interface::as_raw(self), psemanticerrorinfo).ok()
2241 }
2242 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
2243 #[cfg(feature = "Win32_System_Com")]
2244 pub unsafe fn GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows::core::Result<ISpStreamFormat> {
2245 let mut result__ = ::windows::core::zeroed::<ISpStreamFormat>();
2246 (::windows::core::Interface::vtable(self).GetAudio)(::windows::core::Interface::as_raw(self), ulstartelement, celements, &mut result__).from_abi(result__)
2247 }
2248}
2249::windows::imp::interface_hierarchy!(ISpPhrase2, ::windows::core::IUnknown, ISpPhrase);
2250impl ::core::cmp::PartialEq for ISpPhrase2 {
2251 fn eq(&self, other: &Self) -> bool {
2252 self.0 == other.0
2253 }
2254}
2255impl ::core::cmp::Eq for ISpPhrase2 {}
2256impl ::core::fmt::Debug for ISpPhrase2 {
2257 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2258 f.debug_tuple("ISpPhrase2").field(&self.0).finish()
2259 }
2260}
2261unsafe impl ::windows::core::Interface for ISpPhrase2 {
2262 type Vtable = ISpPhrase2_Vtbl;
2263}
2264impl ::core::clone::Clone for ISpPhrase2 {
2265 fn clone(&self) -> Self {
2266 Self(self.0.clone())
2267 }
2268}
2269unsafe impl ::windows::core::ComInterface for ISpPhrase2 {
2270 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf264da52_e457_4696_b856_a737b717af79);
2271}
2272#[repr(C)]
2273#[doc(hidden)]
2274pub struct ISpPhrase2_Vtbl {
2275 pub base__: ISpPhrase_Vtbl,
2276 pub GetXMLResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppszcomemxmlresult: *mut ::windows::core::PWSTR, options: SPXMLRESULTOPTIONS) -> ::windows::core::HRESULT,
2277 pub GetXMLErrorInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psemanticerrorinfo: *mut SPSEMANTICERRORINFO) -> ::windows::core::HRESULT,
2278 #[cfg(feature = "Win32_System_Com")]
2279 pub GetAudio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstartelement: u32, celements: u32, ppstream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2280 #[cfg(not(feature = "Win32_System_Com"))]
2281 GetAudio: usize,
2282}
2283#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
2284#[repr(transparent)]
2285pub struct ISpPhraseAlt(::windows::core::IUnknown);
2286impl ISpPhraseAlt {
2287 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
2288 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2289 pub unsafe fn GetPhrase(&self) -> ::windows::core::Result<*mut SPPHRASE> {
2290 let mut result__ = ::windows::core::zeroed::<*mut SPPHRASE>();
2291 (::windows::core::Interface::vtable(self).base__.GetPhrase)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
2292 }
2293 pub unsafe fn GetSerializedPhrase(&self) -> ::windows::core::Result<*mut SPSERIALIZEDPHRASE> {
2294 let mut result__ = ::windows::core::zeroed::<*mut SPSERIALIZEDPHRASE>();
2295 (::windows::core::Interface::vtable(self).base__.GetSerializedPhrase)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
2296 }
2297 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2298 #[cfg(feature = "Win32_Foundation")]
2299 pub unsafe fn GetText<P0>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: P0, ppszcomemtext: *mut ::windows::core::PWSTR, pbdisplayattributes: ::core::option::Option<*mut u8>) -> ::windows::core::Result<()>
2300 where
2301 P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
2302 {
2303 (::windows::core::Interface::vtable(self).base__.GetText)(::windows::core::Interface::as_raw(self), ulstart, ulcount, fusetextreplacements.into_param().abi(), ppszcomemtext, ::core::mem::transmute(pbdisplayattributes.unwrap_or(::std::ptr::null_mut()))).ok()
2304 }
2305 pub unsafe fn Discard(&self, dwvaluetypes: u32) -> ::windows::core::Result<()> {
2306 (::windows::core::Interface::vtable(self).base__.Discard)(::windows::core::Interface::as_raw(self), dwvaluetypes).ok()
2307 }
2308 pub unsafe fn GetAltInfo(&self, ppparent: *mut ::core::option::Option<ISpPhrase>, pulstartelementinparent: *mut u32, pcelementsinparent: *mut u32, pcelementsinalt: *mut u32) -> ::windows::core::Result<()> {
2309 (::windows::core::Interface::vtable(self).GetAltInfo)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ppparent), pulstartelementinparent, pcelementsinparent, pcelementsinalt).ok()
2310 }
2311 pub unsafe fn Commit(&self) -> ::windows::core::Result<()> {
2312 (::windows::core::Interface::vtable(self).Commit)(::windows::core::Interface::as_raw(self)).ok()
2313 }
2314}
2315::windows::imp::interface_hierarchy!(ISpPhraseAlt, ::windows::core::IUnknown, ISpPhrase);
2316impl ::core::cmp::PartialEq for ISpPhraseAlt {
2317 fn eq(&self, other: &Self) -> bool {
2318 self.0 == other.0
2319 }
2320}
2321impl ::core::cmp::Eq for ISpPhraseAlt {}
2322impl ::core::fmt::Debug for ISpPhraseAlt {
2323 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2324 f.debug_tuple("ISpPhraseAlt").field(&self.0).finish()
2325 }
2326}
2327unsafe impl ::windows::core::Interface for ISpPhraseAlt {
2328 type Vtable = ISpPhraseAlt_Vtbl;
2329}
2330impl ::core::clone::Clone for ISpPhraseAlt {
2331 fn clone(&self) -> Self {
2332 Self(self.0.clone())
2333 }
2334}
2335unsafe impl ::windows::core::ComInterface for ISpPhraseAlt {
2336 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8fcebc98_4e49_4067_9c6c_d86a0e092e3d);
2337}
2338#[repr(C)]
2339#[doc(hidden)]
2340pub struct ISpPhraseAlt_Vtbl {
2341 pub base__: ISpPhrase_Vtbl,
2342 pub GetAltInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppparent: *mut *mut ::core::ffi::c_void, pulstartelementinparent: *mut u32, pcelementsinparent: *mut u32, pcelementsinalt: *mut u32) -> ::windows::core::HRESULT,
2343 pub Commit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2344}
2345#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
2346#[repr(transparent)]
2347pub struct ISpProperties(::windows::core::IUnknown);
2348impl ISpProperties {
2349 pub unsafe fn SetPropertyNum<P0>(&self, pname: P0, lvalue: i32) -> ::windows::core::Result<()>
2350 where
2351 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2352 {
2353 (::windows::core::Interface::vtable(self).SetPropertyNum)(::windows::core::Interface::as_raw(self), pname.into_param().abi(), lvalue).ok()
2354 }
2355 pub unsafe fn GetPropertyNum<P0>(&self, pname: P0, plvalue: *mut i32) -> ::windows::core::Result<()>
2356 where
2357 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2358 {
2359 (::windows::core::Interface::vtable(self).GetPropertyNum)(::windows::core::Interface::as_raw(self), pname.into_param().abi(), plvalue).ok()
2360 }
2361 pub unsafe fn SetPropertyString<P0, P1>(&self, pname: P0, pvalue: P1) -> ::windows::core::Result<()>
2362 where
2363 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2364 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2365 {
2366 (::windows::core::Interface::vtable(self).SetPropertyString)(::windows::core::Interface::as_raw(self), pname.into_param().abi(), pvalue.into_param().abi()).ok()
2367 }
2368 pub unsafe fn GetPropertyString<P0>(&self, pname: P0) -> ::windows::core::Result<::windows::core::PWSTR>
2369 where
2370 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2371 {
2372 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
2373 (::windows::core::Interface::vtable(self).GetPropertyString)(::windows::core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).from_abi(result__)
2374 }
2375}
2376::windows::imp::interface_hierarchy!(ISpProperties, ::windows::core::IUnknown);
2377impl ::core::cmp::PartialEq for ISpProperties {
2378 fn eq(&self, other: &Self) -> bool {
2379 self.0 == other.0
2380 }
2381}
2382impl ::core::cmp::Eq for ISpProperties {}
2383impl ::core::fmt::Debug for ISpProperties {
2384 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2385 f.debug_tuple("ISpProperties").field(&self.0).finish()
2386 }
2387}
2388unsafe impl ::windows::core::Interface for ISpProperties {
2389 type Vtable = ISpProperties_Vtbl;
2390}
2391impl ::core::clone::Clone for ISpProperties {
2392 fn clone(&self) -> Self {
2393 Self(self.0.clone())
2394 }
2395}
2396unsafe impl ::windows::core::ComInterface for ISpProperties {
2397 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5b4fb971_b115_4de1_ad97_e482e3bf6ee4);
2398}
2399#[repr(C)]
2400#[doc(hidden)]
2401pub struct ISpProperties_Vtbl {
2402 pub base__: ::windows::core::IUnknown_Vtbl,
2403 pub SetPropertyNum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pname: ::windows::core::PCWSTR, lvalue: i32) -> ::windows::core::HRESULT,
2404 pub GetPropertyNum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pname: ::windows::core::PCWSTR, plvalue: *mut i32) -> ::windows::core::HRESULT,
2405 pub SetPropertyString: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pname: ::windows::core::PCWSTR, pvalue: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
2406 pub GetPropertyString: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pname: ::windows::core::PCWSTR, ppcomemvalue: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
2407}
2408#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
2409#[repr(transparent)]
2410pub struct ISpRecoContext(::windows::core::IUnknown);
2411impl ISpRecoContext {
2412 pub unsafe fn SetNotifySink<P0>(&self, pnotifysink: P0) -> ::windows::core::Result<()>
2413 where
2414 P0: ::windows::core::IntoParam<ISpNotifySink>,
2415 {
2416 (::windows::core::Interface::vtable(self).base__.base__.SetNotifySink)(::windows::core::Interface::as_raw(self), pnotifysink.into_param().abi()).ok()
2417 }
2418 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2419 #[cfg(feature = "Win32_Foundation")]
2420 pub unsafe fn SetNotifyWindowMessage<P0, P1, P2>(&self, hwnd: P0, msg: u32, wparam: P1, lparam: P2) -> ::windows::core::Result<()>
2421 where
2422 P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
2423 P1: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
2424 P2: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
2425 {
2426 (::windows::core::Interface::vtable(self).base__.base__.SetNotifyWindowMessage)(::windows::core::Interface::as_raw(self), hwnd.into_param().abi(), msg, wparam.into_param().abi(), lparam.into_param().abi()).ok()
2427 }
2428 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2429 #[cfg(feature = "Win32_Foundation")]
2430 pub unsafe fn SetNotifyCallbackFunction<P0, P1>(&self, pfncallback: *mut SPNOTIFYCALLBACK, wparam: P0, lparam: P1) -> ::windows::core::Result<()>
2431 where
2432 P0: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
2433 P1: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
2434 {
2435 (::windows::core::Interface::vtable(self).base__.base__.SetNotifyCallbackFunction)(::windows::core::Interface::as_raw(self), pfncallback, wparam.into_param().abi(), lparam.into_param().abi()).ok()
2436 }
2437 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2438 #[cfg(feature = "Win32_Foundation")]
2439 pub unsafe fn SetNotifyCallbackInterface<P0, P1, P2>(&self, pspcallback: P0, wparam: P1, lparam: P2) -> ::windows::core::Result<()>
2440 where
2441 P0: ::windows::core::IntoParam<ISpNotifyCallback>,
2442 P1: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
2443 P2: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
2444 {
2445 (::windows::core::Interface::vtable(self).base__.base__.SetNotifyCallbackInterface)(::windows::core::Interface::as_raw(self), pspcallback.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi()).ok()
2446 }
2447 pub unsafe fn SetNotifyWin32Event(&self) -> ::windows::core::Result<()> {
2448 (::windows::core::Interface::vtable(self).base__.base__.SetNotifyWin32Event)(::windows::core::Interface::as_raw(self)).ok()
2449 }
2450 pub unsafe fn WaitForNotifyEvent(&self, dwmilliseconds: u32) -> ::windows::core::Result<()> {
2451 (::windows::core::Interface::vtable(self).base__.base__.WaitForNotifyEvent)(::windows::core::Interface::as_raw(self), dwmilliseconds).ok()
2452 }
2453 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2454 #[cfg(feature = "Win32_Foundation")]
2455 pub unsafe fn GetNotifyEventHandle(&self) -> super::super::Foundation::HANDLE {
2456 (::windows::core::Interface::vtable(self).base__.base__.GetNotifyEventHandle)(::windows::core::Interface::as_raw(self))
2457 }
2458 pub unsafe fn SetInterest(&self, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::core::Result<()> {
2459 (::windows::core::Interface::vtable(self).base__.SetInterest)(::windows::core::Interface::as_raw(self), ulleventinterest, ullqueuedinterest).ok()
2460 }
2461 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2462 #[cfg(feature = "Win32_Foundation")]
2463 pub unsafe fn GetEvents(&self, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::core::Result<()> {
2464 (::windows::core::Interface::vtable(self).base__.GetEvents)(::windows::core::Interface::as_raw(self), ulcount, peventarray, pulfetched).ok()
2465 }
2466 pub unsafe fn GetInfo(&self, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::core::Result<()> {
2467 (::windows::core::Interface::vtable(self).base__.GetInfo)(::windows::core::Interface::as_raw(self), pinfo).ok()
2468 }
2469 pub unsafe fn GetRecognizer(&self) -> ::windows::core::Result<ISpRecognizer> {
2470 let mut result__ = ::windows::core::zeroed::<ISpRecognizer>();
2471 (::windows::core::Interface::vtable(self).GetRecognizer)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
2472 }
2473 pub unsafe fn CreateGrammar(&self, ullgrammarid: u64) -> ::windows::core::Result<ISpRecoGrammar> {
2474 let mut result__ = ::windows::core::zeroed::<ISpRecoGrammar>();
2475 (::windows::core::Interface::vtable(self).CreateGrammar)(::windows::core::Interface::as_raw(self), ullgrammarid, &mut result__).from_abi(result__)
2476 }
2477 pub unsafe fn GetStatus(&self, pstatus: *mut SPRECOCONTEXTSTATUS) -> ::windows::core::Result<()> {
2478 (::windows::core::Interface::vtable(self).GetStatus)(::windows::core::Interface::as_raw(self), pstatus).ok()
2479 }
2480 pub unsafe fn GetMaxAlternates(&self, pcalternates: *mut u32) -> ::windows::core::Result<()> {
2481 (::windows::core::Interface::vtable(self).GetMaxAlternates)(::windows::core::Interface::as_raw(self), pcalternates).ok()
2482 }
2483 pub unsafe fn SetMaxAlternates(&self, calternates: u32) -> ::windows::core::Result<()> {
2484 (::windows::core::Interface::vtable(self).SetMaxAlternates)(::windows::core::Interface::as_raw(self), calternates).ok()
2485 }
2486 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
2487 #[cfg(feature = "Win32_Media_Audio")]
2488 pub unsafe fn SetAudioOptions(&self, options: SPAUDIOOPTIONS, paudioformatid: *const ::windows::core::GUID, pwaveformatex: *const super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()> {
2489 (::windows::core::Interface::vtable(self).SetAudioOptions)(::windows::core::Interface::as_raw(self), options, paudioformatid, pwaveformatex).ok()
2490 }
2491 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
2492 #[cfg(feature = "Win32_Media_Audio")]
2493 pub unsafe fn GetAudioOptions(&self, poptions: *mut SPAUDIOOPTIONS, paudioformatid: *mut ::windows::core::GUID, ppcomemwfex: *mut *mut super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()> {
2494 (::windows::core::Interface::vtable(self).GetAudioOptions)(::windows::core::Interface::as_raw(self), poptions, paudioformatid, ppcomemwfex).ok()
2495 }
2496 pub unsafe fn DeserializeResult(&self, pserializedresult: *const SPSERIALIZEDRESULT) -> ::windows::core::Result<ISpRecoResult> {
2497 let mut result__ = ::windows::core::zeroed::<ISpRecoResult>();
2498 (::windows::core::Interface::vtable(self).DeserializeResult)(::windows::core::Interface::as_raw(self), pserializedresult, &mut result__).from_abi(result__)
2499 }
2500 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2501 #[cfg(feature = "Win32_Foundation")]
2502 pub unsafe fn Bookmark<P0>(&self, options: SPBOOKMARKOPTIONS, ullstreamposition: u64, lparamevent: P0) -> ::windows::core::Result<()>
2503 where
2504 P0: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
2505 {
2506 (::windows::core::Interface::vtable(self).Bookmark)(::windows::core::Interface::as_raw(self), options, ullstreamposition, lparamevent.into_param().abi()).ok()
2507 }
2508 pub unsafe fn SetAdaptationData<P0>(&self, padaptationdata: P0, cch: u32) -> ::windows::core::Result<()>
2509 where
2510 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2511 {
2512 (::windows::core::Interface::vtable(self).SetAdaptationData)(::windows::core::Interface::as_raw(self), padaptationdata.into_param().abi(), cch).ok()
2513 }
2514 pub unsafe fn Pause(&self, dwreserved: u32) -> ::windows::core::Result<()> {
2515 (::windows::core::Interface::vtable(self).Pause)(::windows::core::Interface::as_raw(self), dwreserved).ok()
2516 }
2517 pub unsafe fn Resume(&self, dwreserved: u32) -> ::windows::core::Result<()> {
2518 (::windows::core::Interface::vtable(self).Resume)(::windows::core::Interface::as_raw(self), dwreserved).ok()
2519 }
2520 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2521 #[cfg(feature = "Win32_Foundation")]
2522 pub unsafe fn SetVoice<P0, P1>(&self, pvoice: P0, fallowformatchanges: P1) -> ::windows::core::Result<()>
2523 where
2524 P0: ::windows::core::IntoParam<ISpVoice>,
2525 P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
2526 {
2527 (::windows::core::Interface::vtable(self).SetVoice)(::windows::core::Interface::as_raw(self), pvoice.into_param().abi(), fallowformatchanges.into_param().abi()).ok()
2528 }
2529 pub unsafe fn GetVoice(&self) -> ::windows::core::Result<ISpVoice> {
2530 let mut result__ = ::windows::core::zeroed::<ISpVoice>();
2531 (::windows::core::Interface::vtable(self).GetVoice)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
2532 }
2533 pub unsafe fn SetVoicePurgeEvent(&self, ulleventinterest: u64) -> ::windows::core::Result<()> {
2534 (::windows::core::Interface::vtable(self).SetVoicePurgeEvent)(::windows::core::Interface::as_raw(self), ulleventinterest).ok()
2535 }
2536 pub unsafe fn GetVoicePurgeEvent(&self, pulleventinterest: *mut u64) -> ::windows::core::Result<()> {
2537 (::windows::core::Interface::vtable(self).GetVoicePurgeEvent)(::windows::core::Interface::as_raw(self), pulleventinterest).ok()
2538 }
2539 pub unsafe fn SetContextState(&self, econtextstate: SPCONTEXTSTATE) -> ::windows::core::Result<()> {
2540 (::windows::core::Interface::vtable(self).SetContextState)(::windows::core::Interface::as_raw(self), econtextstate).ok()
2541 }
2542 pub unsafe fn GetContextState(&self, pecontextstate: *mut SPCONTEXTSTATE) -> ::windows::core::Result<()> {
2543 (::windows::core::Interface::vtable(self).GetContextState)(::windows::core::Interface::as_raw(self), pecontextstate).ok()
2544 }
2545}
2546::windows::imp::interface_hierarchy!(ISpRecoContext, ::windows::core::IUnknown, ISpNotifySource, ISpEventSource);
2547impl ::core::cmp::PartialEq for ISpRecoContext {
2548 fn eq(&self, other: &Self) -> bool {
2549 self.0 == other.0
2550 }
2551}
2552impl ::core::cmp::Eq for ISpRecoContext {}
2553impl ::core::fmt::Debug for ISpRecoContext {
2554 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2555 f.debug_tuple("ISpRecoContext").field(&self.0).finish()
2556 }
2557}
2558unsafe impl ::windows::core::Interface for ISpRecoContext {
2559 type Vtable = ISpRecoContext_Vtbl;
2560}
2561impl ::core::clone::Clone for ISpRecoContext {
2562 fn clone(&self) -> Self {
2563 Self(self.0.clone())
2564 }
2565}
2566unsafe impl ::windows::core::ComInterface for ISpRecoContext {
2567 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xf740a62f_7c15_489e_8234_940a33d9272d);
2568}
2569#[repr(C)]
2570#[doc(hidden)]
2571pub struct ISpRecoContext_Vtbl {
2572 pub base__: ISpEventSource_Vtbl,
2573 pub GetRecognizer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprecognizer: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2574 pub CreateGrammar: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ullgrammarid: u64, ppgrammar: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2575 pub GetStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstatus: *mut SPRECOCONTEXTSTATUS) -> ::windows::core::HRESULT,
2576 pub GetMaxAlternates: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcalternates: *mut u32) -> ::windows::core::HRESULT,
2577 pub SetMaxAlternates: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, calternates: u32) -> ::windows::core::HRESULT,
2578 #[cfg(feature = "Win32_Media_Audio")]
2579 pub SetAudioOptions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, options: SPAUDIOOPTIONS, paudioformatid: *const ::windows::core::GUID, pwaveformatex: *const super::Audio::WAVEFORMATEX) -> ::windows::core::HRESULT,
2580 #[cfg(not(feature = "Win32_Media_Audio"))]
2581 SetAudioOptions: usize,
2582 #[cfg(feature = "Win32_Media_Audio")]
2583 pub GetAudioOptions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, poptions: *mut SPAUDIOOPTIONS, paudioformatid: *mut ::windows::core::GUID, ppcomemwfex: *mut *mut super::Audio::WAVEFORMATEX) -> ::windows::core::HRESULT,
2584 #[cfg(not(feature = "Win32_Media_Audio"))]
2585 GetAudioOptions: usize,
2586 pub DeserializeResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pserializedresult: *const SPSERIALIZEDRESULT, ppresult: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2587 #[cfg(feature = "Win32_Foundation")]
2588 pub Bookmark: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, options: SPBOOKMARKOPTIONS, ullstreamposition: u64, lparamevent: super::super::Foundation::LPARAM) -> ::windows::core::HRESULT,
2589 #[cfg(not(feature = "Win32_Foundation"))]
2590 Bookmark: usize,
2591 pub SetAdaptationData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, padaptationdata: ::windows::core::PCWSTR, cch: u32) -> ::windows::core::HRESULT,
2592 pub Pause: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwreserved: u32) -> ::windows::core::HRESULT,
2593 pub Resume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dwreserved: u32) -> ::windows::core::HRESULT,
2594 #[cfg(feature = "Win32_Foundation")]
2595 pub SetVoice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pvoice: *mut ::core::ffi::c_void, fallowformatchanges: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
2596 #[cfg(not(feature = "Win32_Foundation"))]
2597 SetVoice: usize,
2598 pub GetVoice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppvoice: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2599 pub SetVoicePurgeEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulleventinterest: u64) -> ::windows::core::HRESULT,
2600 pub GetVoicePurgeEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pulleventinterest: *mut u64) -> ::windows::core::HRESULT,
2601 pub SetContextState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, econtextstate: SPCONTEXTSTATE) -> ::windows::core::HRESULT,
2602 pub GetContextState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pecontextstate: *mut SPCONTEXTSTATE) -> ::windows::core::HRESULT,
2603}
2604#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
2605#[repr(transparent)]
2606pub struct ISpRecoContext2(::windows::core::IUnknown);
2607impl ISpRecoContext2 {
2608 pub unsafe fn SetGrammarOptions(&self, egrammaroptions: u32) -> ::windows::core::Result<()> {
2609 (::windows::core::Interface::vtable(self).SetGrammarOptions)(::windows::core::Interface::as_raw(self), egrammaroptions).ok()
2610 }
2611 pub unsafe fn GetGrammarOptions(&self, pegrammaroptions: *mut u32) -> ::windows::core::Result<()> {
2612 (::windows::core::Interface::vtable(self).GetGrammarOptions)(::windows::core::Interface::as_raw(self), pegrammaroptions).ok()
2613 }
2614 pub unsafe fn SetAdaptationData2<P0, P1>(&self, padaptationdata: P0, cch: u32, ptopicname: P1, eadaptationsettings: u32, erelevance: SPADAPTATIONRELEVANCE) -> ::windows::core::Result<()>
2615 where
2616 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2617 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2618 {
2619 (::windows::core::Interface::vtable(self).SetAdaptationData2)(::windows::core::Interface::as_raw(self), padaptationdata.into_param().abi(), cch, ptopicname.into_param().abi(), eadaptationsettings, erelevance).ok()
2620 }
2621}
2622::windows::imp::interface_hierarchy!(ISpRecoContext2, ::windows::core::IUnknown);
2623impl ::core::cmp::PartialEq for ISpRecoContext2 {
2624 fn eq(&self, other: &Self) -> bool {
2625 self.0 == other.0
2626 }
2627}
2628impl ::core::cmp::Eq for ISpRecoContext2 {}
2629impl ::core::fmt::Debug for ISpRecoContext2 {
2630 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2631 f.debug_tuple("ISpRecoContext2").field(&self.0).finish()
2632 }
2633}
2634unsafe impl ::windows::core::Interface for ISpRecoContext2 {
2635 type Vtable = ISpRecoContext2_Vtbl;
2636}
2637impl ::core::clone::Clone for ISpRecoContext2 {
2638 fn clone(&self) -> Self {
2639 Self(self.0.clone())
2640 }
2641}
2642unsafe impl ::windows::core::ComInterface for ISpRecoContext2 {
2643 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbead311c_52ff_437f_9464_6b21054ca73d);
2644}
2645#[repr(C)]
2646#[doc(hidden)]
2647pub struct ISpRecoContext2_Vtbl {
2648 pub base__: ::windows::core::IUnknown_Vtbl,
2649 pub SetGrammarOptions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, egrammaroptions: u32) -> ::windows::core::HRESULT,
2650 pub GetGrammarOptions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pegrammaroptions: *mut u32) -> ::windows::core::HRESULT,
2651 pub SetAdaptationData2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, padaptationdata: ::windows::core::PCWSTR, cch: u32, ptopicname: ::windows::core::PCWSTR, eadaptationsettings: u32, erelevance: SPADAPTATIONRELEVANCE) -> ::windows::core::HRESULT,
2652}
2653#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
2654#[repr(transparent)]
2655pub struct ISpRecoGrammar(::windows::core::IUnknown);
2656impl ISpRecoGrammar {
2657 pub unsafe fn ResetGrammar(&self, newlanguage: u16) -> ::windows::core::Result<()> {
2658 (::windows::core::Interface::vtable(self).base__.ResetGrammar)(::windows::core::Interface::as_raw(self), newlanguage).ok()
2659 }
2660 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2661 #[cfg(feature = "Win32_Foundation")]
2662 pub unsafe fn GetRule<P0, P1>(&self, pszrulename: P0, dwruleid: u32, dwattributes: u32, fcreateifnotexist: P1, phinitialstate: *mut *mut SPSTATEHANDLE__) -> ::windows::core::Result<()>
2663 where
2664 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2665 P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
2666 {
2667 (::windows::core::Interface::vtable(self).base__.GetRule)(::windows::core::Interface::as_raw(self), pszrulename.into_param().abi(), dwruleid, dwattributes, fcreateifnotexist.into_param().abi(), phinitialstate).ok()
2668 }
2669 pub unsafe fn ClearRule(&self, hstate: *mut SPSTATEHANDLE__) -> ::windows::core::Result<()> {
2670 (::windows::core::Interface::vtable(self).base__.ClearRule)(::windows::core::Interface::as_raw(self), hstate).ok()
2671 }
2672 pub unsafe fn CreateNewState(&self, hstate: *mut SPSTATEHANDLE__, phstate: *mut *mut SPSTATEHANDLE__) -> ::windows::core::Result<()> {
2673 (::windows::core::Interface::vtable(self).base__.CreateNewState)(::windows::core::Interface::as_raw(self), hstate, phstate).ok()
2674 }
2675 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
2676 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2677 pub unsafe fn AddWordTransition<P0, P1>(&self, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, psz: P0, pszseparators: P1, ewordtype: SPGRAMMARWORDTYPE, weight: f32, ppropinfo: *const SPPROPERTYINFO) -> ::windows::core::Result<()>
2678 where
2679 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2680 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2681 {
2682 (::windows::core::Interface::vtable(self).base__.AddWordTransition)(::windows::core::Interface::as_raw(self), hfromstate, htostate, psz.into_param().abi(), pszseparators.into_param().abi(), ewordtype, weight, ppropinfo).ok()
2683 }
2684 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
2685 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2686 pub unsafe fn AddRuleTransition(&self, hfromstate: *mut SPSTATEHANDLE__, htostate: *mut SPSTATEHANDLE__, hrule: *mut SPSTATEHANDLE__, weight: f32, ppropinfo: *const SPPROPERTYINFO) -> ::windows::core::Result<()> {
2687 (::windows::core::Interface::vtable(self).base__.AddRuleTransition)(::windows::core::Interface::as_raw(self), hfromstate, htostate, hrule, weight, ppropinfo).ok()
2688 }
2689 pub unsafe fn AddResource<P0, P1>(&self, hrulestate: *mut SPSTATEHANDLE__, pszresourcename: P0, pszresourcevalue: P1) -> ::windows::core::Result<()>
2690 where
2691 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2692 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2693 {
2694 (::windows::core::Interface::vtable(self).base__.AddResource)(::windows::core::Interface::as_raw(self), hrulestate, pszresourcename.into_param().abi(), pszresourcevalue.into_param().abi()).ok()
2695 }
2696 pub unsafe fn Commit(&self, dwreserved: u32) -> ::windows::core::Result<()> {
2697 (::windows::core::Interface::vtable(self).base__.Commit)(::windows::core::Interface::as_raw(self), dwreserved).ok()
2698 }
2699 pub unsafe fn GetGrammarId(&self, pullgrammarid: *mut u64) -> ::windows::core::Result<()> {
2700 (::windows::core::Interface::vtable(self).GetGrammarId)(::windows::core::Interface::as_raw(self), pullgrammarid).ok()
2701 }
2702 pub unsafe fn GetRecoContext(&self) -> ::windows::core::Result<ISpRecoContext> {
2703 let mut result__ = ::windows::core::zeroed::<ISpRecoContext>();
2704 (::windows::core::Interface::vtable(self).GetRecoContext)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
2705 }
2706 pub unsafe fn LoadCmdFromFile<P0>(&self, pszfilename: P0, options: SPLOADOPTIONS) -> ::windows::core::Result<()>
2707 where
2708 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2709 {
2710 (::windows::core::Interface::vtable(self).LoadCmdFromFile)(::windows::core::Interface::as_raw(self), pszfilename.into_param().abi(), options).ok()
2711 }
2712 pub unsafe fn LoadCmdFromObject<P0>(&self, rcid: *const ::windows::core::GUID, pszgrammarname: P0, options: SPLOADOPTIONS) -> ::windows::core::Result<()>
2713 where
2714 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2715 {
2716 (::windows::core::Interface::vtable(self).LoadCmdFromObject)(::windows::core::Interface::as_raw(self), rcid, pszgrammarname.into_param().abi(), options).ok()
2717 }
2718 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2719 #[cfg(feature = "Win32_Foundation")]
2720 pub unsafe fn LoadCmdFromResource<P0, P1, P2>(&self, hmodule: P0, pszresourcename: P1, pszresourcetype: P2, wlanguage: u16, options: SPLOADOPTIONS) -> ::windows::core::Result<()>
2721 where
2722 P0: ::windows::core::IntoParam<super::super::Foundation::HINSTANCE>,
2723 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2724 P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2725 {
2726 (::windows::core::Interface::vtable(self).LoadCmdFromResource)(::windows::core::Interface::as_raw(self), hmodule.into_param().abi(), pszresourcename.into_param().abi(), pszresourcetype.into_param().abi(), wlanguage, options).ok()
2727 }
2728 pub unsafe fn LoadCmdFromMemory(&self, pgrammar: *const SPBINARYGRAMMAR, options: SPLOADOPTIONS) -> ::windows::core::Result<()> {
2729 (::windows::core::Interface::vtable(self).LoadCmdFromMemory)(::windows::core::Interface::as_raw(self), pgrammar, options).ok()
2730 }
2731 pub unsafe fn LoadCmdFromProprietaryGrammar<P0>(&self, rguidparam: *const ::windows::core::GUID, pszstringparam: P0, pvdataprarm: *const ::core::ffi::c_void, cbdatasize: u32, options: SPLOADOPTIONS) -> ::windows::core::Result<()>
2732 where
2733 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2734 {
2735 (::windows::core::Interface::vtable(self).LoadCmdFromProprietaryGrammar)(::windows::core::Interface::as_raw(self), rguidparam, pszstringparam.into_param().abi(), pvdataprarm, cbdatasize, options).ok()
2736 }
2737 pub unsafe fn SetRuleState<P0>(&self, pszname: P0, preserved: *mut ::core::ffi::c_void, newstate: SPRULESTATE) -> ::windows::core::Result<()>
2738 where
2739 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2740 {
2741 (::windows::core::Interface::vtable(self).SetRuleState)(::windows::core::Interface::as_raw(self), pszname.into_param().abi(), preserved, newstate).ok()
2742 }
2743 pub unsafe fn SetRuleIdState(&self, ulruleid: u32, newstate: SPRULESTATE) -> ::windows::core::Result<()> {
2744 (::windows::core::Interface::vtable(self).SetRuleIdState)(::windows::core::Interface::as_raw(self), ulruleid, newstate).ok()
2745 }
2746 pub unsafe fn LoadDictation<P0>(&self, psztopicname: P0, options: SPLOADOPTIONS) -> ::windows::core::Result<()>
2747 where
2748 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2749 {
2750 (::windows::core::Interface::vtable(self).LoadDictation)(::windows::core::Interface::as_raw(self), psztopicname.into_param().abi(), options).ok()
2751 }
2752 pub unsafe fn UnloadDictation(&self) -> ::windows::core::Result<()> {
2753 (::windows::core::Interface::vtable(self).UnloadDictation)(::windows::core::Interface::as_raw(self)).ok()
2754 }
2755 pub unsafe fn SetDictationState(&self, newstate: SPRULESTATE) -> ::windows::core::Result<()> {
2756 (::windows::core::Interface::vtable(self).SetDictationState)(::windows::core::Interface::as_raw(self), newstate).ok()
2757 }
2758 pub unsafe fn SetWordSequenceData(&self, ptext: ::core::option::Option<&[u16]>, pinfo: *const SPTEXTSELECTIONINFO) -> ::windows::core::Result<()> {
2759 (::windows::core::Interface::vtable(self).SetWordSequenceData)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(ptext.as_deref().map_or(::core::ptr::null(), |slice| slice.as_ptr())), ptext.as_deref().map_or(0, |slice| slice.len() as _), pinfo).ok()
2760 }
2761 pub unsafe fn SetTextSelection(&self, pinfo: *const SPTEXTSELECTIONINFO) -> ::windows::core::Result<()> {
2762 (::windows::core::Interface::vtable(self).SetTextSelection)(::windows::core::Interface::as_raw(self), pinfo).ok()
2763 }
2764 pub unsafe fn IsPronounceable<P0>(&self, pszword: P0, pwordpronounceable: *mut SPWORDPRONOUNCEABLE) -> ::windows::core::Result<()>
2765 where
2766 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2767 {
2768 (::windows::core::Interface::vtable(self).IsPronounceable)(::windows::core::Interface::as_raw(self), pszword.into_param().abi(), pwordpronounceable).ok()
2769 }
2770 pub unsafe fn SetGrammarState(&self, egrammarstate: SPGRAMMARSTATE) -> ::windows::core::Result<()> {
2771 (::windows::core::Interface::vtable(self).SetGrammarState)(::windows::core::Interface::as_raw(self), egrammarstate).ok()
2772 }
2773 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
2774 #[cfg(feature = "Win32_System_Com")]
2775 pub unsafe fn SaveCmd<P0>(&self, pstream: P0, ppszcomemerrortext: ::core::option::Option<*mut ::windows::core::PWSTR>) -> ::windows::core::Result<()>
2776 where
2777 P0: ::windows::core::IntoParam<super::super::System::Com::IStream>,
2778 {
2779 (::windows::core::Interface::vtable(self).SaveCmd)(::windows::core::Interface::as_raw(self), pstream.into_param().abi(), ::core::mem::transmute(ppszcomemerrortext.unwrap_or(::std::ptr::null_mut()))).ok()
2780 }
2781 pub unsafe fn GetGrammarState(&self, pegrammarstate: *mut SPGRAMMARSTATE) -> ::windows::core::Result<()> {
2782 (::windows::core::Interface::vtable(self).GetGrammarState)(::windows::core::Interface::as_raw(self), pegrammarstate).ok()
2783 }
2784}
2785::windows::imp::interface_hierarchy!(ISpRecoGrammar, ::windows::core::IUnknown, ISpGrammarBuilder);
2786impl ::core::cmp::PartialEq for ISpRecoGrammar {
2787 fn eq(&self, other: &Self) -> bool {
2788 self.0 == other.0
2789 }
2790}
2791impl ::core::cmp::Eq for ISpRecoGrammar {}
2792impl ::core::fmt::Debug for ISpRecoGrammar {
2793 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2794 f.debug_tuple("ISpRecoGrammar").field(&self.0).finish()
2795 }
2796}
2797unsafe impl ::windows::core::Interface for ISpRecoGrammar {
2798 type Vtable = ISpRecoGrammar_Vtbl;
2799}
2800impl ::core::clone::Clone for ISpRecoGrammar {
2801 fn clone(&self) -> Self {
2802 Self(self.0.clone())
2803 }
2804}
2805unsafe impl ::windows::core::ComInterface for ISpRecoGrammar {
2806 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2177db29_7f45_47d0_8554_067e91c80502);
2807}
2808#[repr(C)]
2809#[doc(hidden)]
2810pub struct ISpRecoGrammar_Vtbl {
2811 pub base__: ISpGrammarBuilder_Vtbl,
2812 pub GetGrammarId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pullgrammarid: *mut u64) -> ::windows::core::HRESULT,
2813 pub GetRecoContext: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprecoctxt: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2814 pub LoadCmdFromFile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszfilename: ::windows::core::PCWSTR, options: SPLOADOPTIONS) -> ::windows::core::HRESULT,
2815 pub LoadCmdFromObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rcid: *const ::windows::core::GUID, pszgrammarname: ::windows::core::PCWSTR, options: SPLOADOPTIONS) -> ::windows::core::HRESULT,
2816 #[cfg(feature = "Win32_Foundation")]
2817 pub LoadCmdFromResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hmodule: super::super::Foundation::HINSTANCE, pszresourcename: ::windows::core::PCWSTR, pszresourcetype: ::windows::core::PCWSTR, wlanguage: u16, options: SPLOADOPTIONS) -> ::windows::core::HRESULT,
2818 #[cfg(not(feature = "Win32_Foundation"))]
2819 LoadCmdFromResource: usize,
2820 pub LoadCmdFromMemory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pgrammar: *const SPBINARYGRAMMAR, options: SPLOADOPTIONS) -> ::windows::core::HRESULT,
2821 pub LoadCmdFromProprietaryGrammar: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rguidparam: *const ::windows::core::GUID, pszstringparam: ::windows::core::PCWSTR, pvdataprarm: *const ::core::ffi::c_void, cbdatasize: u32, options: SPLOADOPTIONS) -> ::windows::core::HRESULT,
2822 pub SetRuleState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszname: ::windows::core::PCWSTR, preserved: *mut ::core::ffi::c_void, newstate: SPRULESTATE) -> ::windows::core::HRESULT,
2823 pub SetRuleIdState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulruleid: u32, newstate: SPRULESTATE) -> ::windows::core::HRESULT,
2824 pub LoadDictation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psztopicname: ::windows::core::PCWSTR, options: SPLOADOPTIONS) -> ::windows::core::HRESULT,
2825 pub UnloadDictation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2826 pub SetDictationState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newstate: SPRULESTATE) -> ::windows::core::HRESULT,
2827 pub SetWordSequenceData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptext: ::windows::core::PCWSTR, cchtext: u32, pinfo: *const SPTEXTSELECTIONINFO) -> ::windows::core::HRESULT,
2828 pub SetTextSelection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pinfo: *const SPTEXTSELECTIONINFO) -> ::windows::core::HRESULT,
2829 pub IsPronounceable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszword: ::windows::core::PCWSTR, pwordpronounceable: *mut SPWORDPRONOUNCEABLE) -> ::windows::core::HRESULT,
2830 pub SetGrammarState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, egrammarstate: SPGRAMMARSTATE) -> ::windows::core::HRESULT,
2831 #[cfg(feature = "Win32_System_Com")]
2832 pub SaveCmd: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstream: *mut ::core::ffi::c_void, ppszcomemerrortext: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
2833 #[cfg(not(feature = "Win32_System_Com"))]
2834 SaveCmd: usize,
2835 pub GetGrammarState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pegrammarstate: *mut SPGRAMMARSTATE) -> ::windows::core::HRESULT,
2836}
2837#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
2838#[repr(transparent)]
2839pub struct ISpRecoGrammar2(::windows::core::IUnknown);
2840impl ISpRecoGrammar2 {
2841 pub unsafe fn GetRules(&self, ppcomemrules: *mut *mut SPRULE, punumrules: *mut u32) -> ::windows::core::Result<()> {
2842 (::windows::core::Interface::vtable(self).GetRules)(::windows::core::Interface::as_raw(self), ppcomemrules, punumrules).ok()
2843 }
2844 pub unsafe fn LoadCmdFromFile2<P0, P1, P2>(&self, pszfilename: P0, options: SPLOADOPTIONS, pszsharinguri: P1, pszbaseuri: P2) -> ::windows::core::Result<()>
2845 where
2846 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2847 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2848 P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2849 {
2850 (::windows::core::Interface::vtable(self).LoadCmdFromFile2)(::windows::core::Interface::as_raw(self), pszfilename.into_param().abi(), options, pszsharinguri.into_param().abi(), pszbaseuri.into_param().abi()).ok()
2851 }
2852 pub unsafe fn LoadCmdFromMemory2<P0, P1>(&self, pgrammar: *const SPBINARYGRAMMAR, options: SPLOADOPTIONS, pszsharinguri: P0, pszbaseuri: P1) -> ::windows::core::Result<()>
2853 where
2854 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2855 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2856 {
2857 (::windows::core::Interface::vtable(self).LoadCmdFromMemory2)(::windows::core::Interface::as_raw(self), pgrammar, options, pszsharinguri.into_param().abi(), pszbaseuri.into_param().abi()).ok()
2858 }
2859 pub unsafe fn SetRulePriority<P0>(&self, pszrulename: P0, ulruleid: u32, nrulepriority: i32) -> ::windows::core::Result<()>
2860 where
2861 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2862 {
2863 (::windows::core::Interface::vtable(self).SetRulePriority)(::windows::core::Interface::as_raw(self), pszrulename.into_param().abi(), ulruleid, nrulepriority).ok()
2864 }
2865 pub unsafe fn SetRuleWeight<P0>(&self, pszrulename: P0, ulruleid: u32, flweight: f32) -> ::windows::core::Result<()>
2866 where
2867 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
2868 {
2869 (::windows::core::Interface::vtable(self).SetRuleWeight)(::windows::core::Interface::as_raw(self), pszrulename.into_param().abi(), ulruleid, flweight).ok()
2870 }
2871 pub unsafe fn SetDictationWeight(&self, flweight: f32) -> ::windows::core::Result<()> {
2872 (::windows::core::Interface::vtable(self).SetDictationWeight)(::windows::core::Interface::as_raw(self), flweight).ok()
2873 }
2874 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
2875 #[cfg(feature = "Win32_System_Com")]
2876 pub unsafe fn SetGrammarLoader<P0>(&self, ploader: P0) -> ::windows::core::Result<()>
2877 where
2878 P0: ::windows::core::IntoParam<ISpeechResourceLoader>,
2879 {
2880 (::windows::core::Interface::vtable(self).SetGrammarLoader)(::windows::core::Interface::as_raw(self), ploader.into_param().abi()).ok()
2881 }
2882 #[doc = "*Required features: `\"Win32_System_Com_Urlmon\"`*"]
2883 #[cfg(feature = "Win32_System_Com_Urlmon")]
2884 pub unsafe fn SetSMLSecurityManager<P0>(&self, psmlsecuritymanager: P0) -> ::windows::core::Result<()>
2885 where
2886 P0: ::windows::core::IntoParam<super::super::System::Com::Urlmon::IInternetSecurityManager>,
2887 {
2888 (::windows::core::Interface::vtable(self).SetSMLSecurityManager)(::windows::core::Interface::as_raw(self), psmlsecuritymanager.into_param().abi()).ok()
2889 }
2890}
2891::windows::imp::interface_hierarchy!(ISpRecoGrammar2, ::windows::core::IUnknown);
2892impl ::core::cmp::PartialEq for ISpRecoGrammar2 {
2893 fn eq(&self, other: &Self) -> bool {
2894 self.0 == other.0
2895 }
2896}
2897impl ::core::cmp::Eq for ISpRecoGrammar2 {}
2898impl ::core::fmt::Debug for ISpRecoGrammar2 {
2899 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2900 f.debug_tuple("ISpRecoGrammar2").field(&self.0).finish()
2901 }
2902}
2903unsafe impl ::windows::core::Interface for ISpRecoGrammar2 {
2904 type Vtable = ISpRecoGrammar2_Vtbl;
2905}
2906impl ::core::clone::Clone for ISpRecoGrammar2 {
2907 fn clone(&self) -> Self {
2908 Self(self.0.clone())
2909 }
2910}
2911unsafe impl ::windows::core::ComInterface for ISpRecoGrammar2 {
2912 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4b37bc9e_9ed6_44a3_93d3_18f022b79ec3);
2913}
2914#[repr(C)]
2915#[doc(hidden)]
2916pub struct ISpRecoGrammar2_Vtbl {
2917 pub base__: ::windows::core::IUnknown_Vtbl,
2918 pub GetRules: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppcomemrules: *mut *mut SPRULE, punumrules: *mut u32) -> ::windows::core::HRESULT,
2919 pub LoadCmdFromFile2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszfilename: ::windows::core::PCWSTR, options: SPLOADOPTIONS, pszsharinguri: ::windows::core::PCWSTR, pszbaseuri: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
2920 pub LoadCmdFromMemory2: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pgrammar: *const SPBINARYGRAMMAR, options: SPLOADOPTIONS, pszsharinguri: ::windows::core::PCWSTR, pszbaseuri: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
2921 pub SetRulePriority: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszrulename: ::windows::core::PCWSTR, ulruleid: u32, nrulepriority: i32) -> ::windows::core::HRESULT,
2922 pub SetRuleWeight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszrulename: ::windows::core::PCWSTR, ulruleid: u32, flweight: f32) -> ::windows::core::HRESULT,
2923 pub SetDictationWeight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, flweight: f32) -> ::windows::core::HRESULT,
2924 #[cfg(feature = "Win32_System_Com")]
2925 pub SetGrammarLoader: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ploader: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2926 #[cfg(not(feature = "Win32_System_Com"))]
2927 SetGrammarLoader: usize,
2928 #[cfg(feature = "Win32_System_Com_Urlmon")]
2929 pub SetSMLSecurityManager: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psmlsecuritymanager: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
2930 #[cfg(not(feature = "Win32_System_Com_Urlmon"))]
2931 SetSMLSecurityManager: usize,
2932}
2933#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
2934#[repr(transparent)]
2935pub struct ISpRecoResult(::windows::core::IUnknown);
2936impl ISpRecoResult {
2937 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
2938 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
2939 pub unsafe fn GetPhrase(&self) -> ::windows::core::Result<*mut SPPHRASE> {
2940 let mut result__ = ::windows::core::zeroed::<*mut SPPHRASE>();
2941 (::windows::core::Interface::vtable(self).base__.GetPhrase)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
2942 }
2943 pub unsafe fn GetSerializedPhrase(&self) -> ::windows::core::Result<*mut SPSERIALIZEDPHRASE> {
2944 let mut result__ = ::windows::core::zeroed::<*mut SPSERIALIZEDPHRASE>();
2945 (::windows::core::Interface::vtable(self).base__.GetSerializedPhrase)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
2946 }
2947 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2948 #[cfg(feature = "Win32_Foundation")]
2949 pub unsafe fn GetText<P0>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: P0, ppszcomemtext: *mut ::windows::core::PWSTR, pbdisplayattributes: ::core::option::Option<*mut u8>) -> ::windows::core::Result<()>
2950 where
2951 P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
2952 {
2953 (::windows::core::Interface::vtable(self).base__.GetText)(::windows::core::Interface::as_raw(self), ulstart, ulcount, fusetextreplacements.into_param().abi(), ppszcomemtext, ::core::mem::transmute(pbdisplayattributes.unwrap_or(::std::ptr::null_mut()))).ok()
2954 }
2955 pub unsafe fn Discard(&self, dwvaluetypes: u32) -> ::windows::core::Result<()> {
2956 (::windows::core::Interface::vtable(self).base__.Discard)(::windows::core::Interface::as_raw(self), dwvaluetypes).ok()
2957 }
2958 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
2959 #[cfg(feature = "Win32_Foundation")]
2960 pub unsafe fn GetResultTimes(&self, ptimes: *mut SPRECORESULTTIMES) -> ::windows::core::Result<()> {
2961 (::windows::core::Interface::vtable(self).GetResultTimes)(::windows::core::Interface::as_raw(self), ptimes).ok()
2962 }
2963 pub unsafe fn GetAlternates(&self, ulstartelement: u32, celements: u32, ppphrases: &mut [::core::option::Option<ISpPhraseAlt>], pcphrasesreturned: *mut u32) -> ::windows::core::Result<()> {
2964 (::windows::core::Interface::vtable(self).GetAlternates)(::windows::core::Interface::as_raw(self), ulstartelement, celements, ppphrases.len() as _, ::core::mem::transmute(ppphrases.as_ptr()), pcphrasesreturned).ok()
2965 }
2966 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
2967 #[cfg(feature = "Win32_System_Com")]
2968 pub unsafe fn GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows::core::Result<ISpStreamFormat> {
2969 let mut result__ = ::windows::core::zeroed::<ISpStreamFormat>();
2970 (::windows::core::Interface::vtable(self).GetAudio)(::windows::core::Interface::as_raw(self), ulstartelement, celements, &mut result__).from_abi(result__)
2971 }
2972 pub unsafe fn SpeakAudio(&self, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::core::Result<()> {
2973 (::windows::core::Interface::vtable(self).SpeakAudio)(::windows::core::Interface::as_raw(self), ulstartelement, celements, dwflags, pulstreamnumber).ok()
2974 }
2975 pub unsafe fn Serialize(&self, ppcomemserializedresult: *mut *mut SPSERIALIZEDRESULT) -> ::windows::core::Result<()> {
2976 (::windows::core::Interface::vtable(self).Serialize)(::windows::core::Interface::as_raw(self), ppcomemserializedresult).ok()
2977 }
2978 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
2979 #[cfg(feature = "Win32_Media_Audio")]
2980 pub unsafe fn ScaleAudio(&self, paudioformatid: *const ::windows::core::GUID, pwaveformatex: *const super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()> {
2981 (::windows::core::Interface::vtable(self).ScaleAudio)(::windows::core::Interface::as_raw(self), paudioformatid, pwaveformatex).ok()
2982 }
2983 pub unsafe fn GetRecoContext(&self) -> ::windows::core::Result<ISpRecoContext> {
2984 let mut result__ = ::windows::core::zeroed::<ISpRecoContext>();
2985 (::windows::core::Interface::vtable(self).GetRecoContext)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
2986 }
2987}
2988::windows::imp::interface_hierarchy!(ISpRecoResult, ::windows::core::IUnknown, ISpPhrase);
2989impl ::core::cmp::PartialEq for ISpRecoResult {
2990 fn eq(&self, other: &Self) -> bool {
2991 self.0 == other.0
2992 }
2993}
2994impl ::core::cmp::Eq for ISpRecoResult {}
2995impl ::core::fmt::Debug for ISpRecoResult {
2996 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
2997 f.debug_tuple("ISpRecoResult").field(&self.0).finish()
2998 }
2999}
3000unsafe impl ::windows::core::Interface for ISpRecoResult {
3001 type Vtable = ISpRecoResult_Vtbl;
3002}
3003impl ::core::clone::Clone for ISpRecoResult {
3004 fn clone(&self) -> Self {
3005 Self(self.0.clone())
3006 }
3007}
3008unsafe impl ::windows::core::ComInterface for ISpRecoResult {
3009 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x20b053be_e235_43cd_9a2a_8d17a48b7842);
3010}
3011#[repr(C)]
3012#[doc(hidden)]
3013pub struct ISpRecoResult_Vtbl {
3014 pub base__: ISpPhrase_Vtbl,
3015 #[cfg(feature = "Win32_Foundation")]
3016 pub GetResultTimes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptimes: *mut SPRECORESULTTIMES) -> ::windows::core::HRESULT,
3017 #[cfg(not(feature = "Win32_Foundation"))]
3018 GetResultTimes: usize,
3019 pub GetAlternates: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstartelement: u32, celements: u32, ulrequestcount: u32, ppphrases: *mut *mut ::core::ffi::c_void, pcphrasesreturned: *mut u32) -> ::windows::core::HRESULT,
3020 #[cfg(feature = "Win32_System_Com")]
3021 pub GetAudio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstartelement: u32, celements: u32, ppstream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3022 #[cfg(not(feature = "Win32_System_Com"))]
3023 GetAudio: usize,
3024 pub SpeakAudio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::core::HRESULT,
3025 pub Serialize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppcomemserializedresult: *mut *mut SPSERIALIZEDRESULT) -> ::windows::core::HRESULT,
3026 #[cfg(feature = "Win32_Media_Audio")]
3027 pub ScaleAudio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, paudioformatid: *const ::windows::core::GUID, pwaveformatex: *const super::Audio::WAVEFORMATEX) -> ::windows::core::HRESULT,
3028 #[cfg(not(feature = "Win32_Media_Audio"))]
3029 ScaleAudio: usize,
3030 pub GetRecoContext: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprecocontext: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3031}
3032#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
3033#[repr(transparent)]
3034pub struct ISpRecoResult2(::windows::core::IUnknown);
3035impl ISpRecoResult2 {
3036 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
3037 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
3038 pub unsafe fn GetPhrase(&self) -> ::windows::core::Result<*mut SPPHRASE> {
3039 let mut result__ = ::windows::core::zeroed::<*mut SPPHRASE>();
3040 (::windows::core::Interface::vtable(self).base__.base__.GetPhrase)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
3041 }
3042 pub unsafe fn GetSerializedPhrase(&self) -> ::windows::core::Result<*mut SPSERIALIZEDPHRASE> {
3043 let mut result__ = ::windows::core::zeroed::<*mut SPSERIALIZEDPHRASE>();
3044 (::windows::core::Interface::vtable(self).base__.base__.GetSerializedPhrase)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
3045 }
3046 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
3047 #[cfg(feature = "Win32_Foundation")]
3048 pub unsafe fn GetText<P0>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: P0, ppszcomemtext: *mut ::windows::core::PWSTR, pbdisplayattributes: ::core::option::Option<*mut u8>) -> ::windows::core::Result<()>
3049 where
3050 P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
3051 {
3052 (::windows::core::Interface::vtable(self).base__.base__.GetText)(::windows::core::Interface::as_raw(self), ulstart, ulcount, fusetextreplacements.into_param().abi(), ppszcomemtext, ::core::mem::transmute(pbdisplayattributes.unwrap_or(::std::ptr::null_mut()))).ok()
3053 }
3054 pub unsafe fn Discard(&self, dwvaluetypes: u32) -> ::windows::core::Result<()> {
3055 (::windows::core::Interface::vtable(self).base__.base__.Discard)(::windows::core::Interface::as_raw(self), dwvaluetypes).ok()
3056 }
3057 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
3058 #[cfg(feature = "Win32_Foundation")]
3059 pub unsafe fn GetResultTimes(&self, ptimes: *mut SPRECORESULTTIMES) -> ::windows::core::Result<()> {
3060 (::windows::core::Interface::vtable(self).base__.GetResultTimes)(::windows::core::Interface::as_raw(self), ptimes).ok()
3061 }
3062 pub unsafe fn GetAlternates(&self, ulstartelement: u32, celements: u32, ppphrases: &mut [::core::option::Option<ISpPhraseAlt>], pcphrasesreturned: *mut u32) -> ::windows::core::Result<()> {
3063 (::windows::core::Interface::vtable(self).base__.GetAlternates)(::windows::core::Interface::as_raw(self), ulstartelement, celements, ppphrases.len() as _, ::core::mem::transmute(ppphrases.as_ptr()), pcphrasesreturned).ok()
3064 }
3065 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3066 #[cfg(feature = "Win32_System_Com")]
3067 pub unsafe fn GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows::core::Result<ISpStreamFormat> {
3068 let mut result__ = ::windows::core::zeroed::<ISpStreamFormat>();
3069 (::windows::core::Interface::vtable(self).base__.GetAudio)(::windows::core::Interface::as_raw(self), ulstartelement, celements, &mut result__).from_abi(result__)
3070 }
3071 pub unsafe fn SpeakAudio(&self, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::core::Result<()> {
3072 (::windows::core::Interface::vtable(self).base__.SpeakAudio)(::windows::core::Interface::as_raw(self), ulstartelement, celements, dwflags, pulstreamnumber).ok()
3073 }
3074 pub unsafe fn Serialize(&self, ppcomemserializedresult: *mut *mut SPSERIALIZEDRESULT) -> ::windows::core::Result<()> {
3075 (::windows::core::Interface::vtable(self).base__.Serialize)(::windows::core::Interface::as_raw(self), ppcomemserializedresult).ok()
3076 }
3077 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
3078 #[cfg(feature = "Win32_Media_Audio")]
3079 pub unsafe fn ScaleAudio(&self, paudioformatid: *const ::windows::core::GUID, pwaveformatex: *const super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()> {
3080 (::windows::core::Interface::vtable(self).base__.ScaleAudio)(::windows::core::Interface::as_raw(self), paudioformatid, pwaveformatex).ok()
3081 }
3082 pub unsafe fn GetRecoContext(&self) -> ::windows::core::Result<ISpRecoContext> {
3083 let mut result__ = ::windows::core::zeroed::<ISpRecoContext>();
3084 (::windows::core::Interface::vtable(self).base__.GetRecoContext)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
3085 }
3086 pub unsafe fn CommitAlternate<P0>(&self, pphrasealt: P0) -> ::windows::core::Result<ISpRecoResult>
3087 where
3088 P0: ::windows::core::IntoParam<ISpPhraseAlt>,
3089 {
3090 let mut result__ = ::windows::core::zeroed::<ISpRecoResult>();
3091 (::windows::core::Interface::vtable(self).CommitAlternate)(::windows::core::Interface::as_raw(self), pphrasealt.into_param().abi(), &mut result__).from_abi(result__)
3092 }
3093 pub unsafe fn CommitText<P0>(&self, ulstartelement: u32, celements: u32, pszcorrecteddata: P0, ecommitflags: u32) -> ::windows::core::Result<()>
3094 where
3095 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3096 {
3097 (::windows::core::Interface::vtable(self).CommitText)(::windows::core::Interface::as_raw(self), ulstartelement, celements, pszcorrecteddata.into_param().abi(), ecommitflags).ok()
3098 }
3099 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
3100 #[cfg(feature = "Win32_Foundation")]
3101 pub unsafe fn SetTextFeedback<P0, P1>(&self, pszfeedback: P0, fsuccessful: P1) -> ::windows::core::Result<()>
3102 where
3103 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3104 P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
3105 {
3106 (::windows::core::Interface::vtable(self).SetTextFeedback)(::windows::core::Interface::as_raw(self), pszfeedback.into_param().abi(), fsuccessful.into_param().abi()).ok()
3107 }
3108}
3109::windows::imp::interface_hierarchy!(ISpRecoResult2, ::windows::core::IUnknown, ISpPhrase, ISpRecoResult);
3110impl ::core::cmp::PartialEq for ISpRecoResult2 {
3111 fn eq(&self, other: &Self) -> bool {
3112 self.0 == other.0
3113 }
3114}
3115impl ::core::cmp::Eq for ISpRecoResult2 {}
3116impl ::core::fmt::Debug for ISpRecoResult2 {
3117 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3118 f.debug_tuple("ISpRecoResult2").field(&self.0).finish()
3119 }
3120}
3121unsafe impl ::windows::core::Interface for ISpRecoResult2 {
3122 type Vtable = ISpRecoResult2_Vtbl;
3123}
3124impl ::core::clone::Clone for ISpRecoResult2 {
3125 fn clone(&self) -> Self {
3126 Self(self.0.clone())
3127 }
3128}
3129unsafe impl ::windows::core::ComInterface for ISpRecoResult2 {
3130 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x27cac6c4_88f2_41f2_8817_0c95e59f1e6e);
3131}
3132#[repr(C)]
3133#[doc(hidden)]
3134pub struct ISpRecoResult2_Vtbl {
3135 pub base__: ISpRecoResult_Vtbl,
3136 pub CommitAlternate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pphrasealt: *mut ::core::ffi::c_void, ppnewresult: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3137 pub CommitText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulstartelement: u32, celements: u32, pszcorrecteddata: ::windows::core::PCWSTR, ecommitflags: u32) -> ::windows::core::HRESULT,
3138 #[cfg(feature = "Win32_Foundation")]
3139 pub SetTextFeedback: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszfeedback: ::windows::core::PCWSTR, fsuccessful: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
3140 #[cfg(not(feature = "Win32_Foundation"))]
3141 SetTextFeedback: usize,
3142}
3143#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
3144#[repr(transparent)]
3145pub struct ISpRecognizer(::windows::core::IUnknown);
3146impl ISpRecognizer {
3147 pub unsafe fn SetPropertyNum<P0>(&self, pname: P0, lvalue: i32) -> ::windows::core::Result<()>
3148 where
3149 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3150 {
3151 (::windows::core::Interface::vtable(self).base__.SetPropertyNum)(::windows::core::Interface::as_raw(self), pname.into_param().abi(), lvalue).ok()
3152 }
3153 pub unsafe fn GetPropertyNum<P0>(&self, pname: P0, plvalue: *mut i32) -> ::windows::core::Result<()>
3154 where
3155 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3156 {
3157 (::windows::core::Interface::vtable(self).base__.GetPropertyNum)(::windows::core::Interface::as_raw(self), pname.into_param().abi(), plvalue).ok()
3158 }
3159 pub unsafe fn SetPropertyString<P0, P1>(&self, pname: P0, pvalue: P1) -> ::windows::core::Result<()>
3160 where
3161 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3162 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3163 {
3164 (::windows::core::Interface::vtable(self).base__.SetPropertyString)(::windows::core::Interface::as_raw(self), pname.into_param().abi(), pvalue.into_param().abi()).ok()
3165 }
3166 pub unsafe fn GetPropertyString<P0>(&self, pname: P0) -> ::windows::core::Result<::windows::core::PWSTR>
3167 where
3168 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3169 {
3170 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
3171 (::windows::core::Interface::vtable(self).base__.GetPropertyString)(::windows::core::Interface::as_raw(self), pname.into_param().abi(), &mut result__).from_abi(result__)
3172 }
3173 pub unsafe fn SetRecognizer<P0>(&self, precognizer: P0) -> ::windows::core::Result<()>
3174 where
3175 P0: ::windows::core::IntoParam<ISpObjectToken>,
3176 {
3177 (::windows::core::Interface::vtable(self).SetRecognizer)(::windows::core::Interface::as_raw(self), precognizer.into_param().abi()).ok()
3178 }
3179 pub unsafe fn GetRecognizer(&self) -> ::windows::core::Result<ISpObjectToken> {
3180 let mut result__ = ::windows::core::zeroed::<ISpObjectToken>();
3181 (::windows::core::Interface::vtable(self).GetRecognizer)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
3182 }
3183 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
3184 #[cfg(feature = "Win32_Foundation")]
3185 pub unsafe fn SetInput<P0, P1>(&self, punkinput: P0, fallowformatchanges: P1) -> ::windows::core::Result<()>
3186 where
3187 P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
3188 P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
3189 {
3190 (::windows::core::Interface::vtable(self).SetInput)(::windows::core::Interface::as_raw(self), punkinput.into_param().abi(), fallowformatchanges.into_param().abi()).ok()
3191 }
3192 pub unsafe fn GetInputObjectToken(&self) -> ::windows::core::Result<ISpObjectToken> {
3193 let mut result__ = ::windows::core::zeroed::<ISpObjectToken>();
3194 (::windows::core::Interface::vtable(self).GetInputObjectToken)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
3195 }
3196 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3197 #[cfg(feature = "Win32_System_Com")]
3198 pub unsafe fn GetInputStream(&self) -> ::windows::core::Result<ISpStreamFormat> {
3199 let mut result__ = ::windows::core::zeroed::<ISpStreamFormat>();
3200 (::windows::core::Interface::vtable(self).GetInputStream)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
3201 }
3202 pub unsafe fn CreateRecoContext(&self) -> ::windows::core::Result<ISpRecoContext> {
3203 let mut result__ = ::windows::core::zeroed::<ISpRecoContext>();
3204 (::windows::core::Interface::vtable(self).CreateRecoContext)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
3205 }
3206 pub unsafe fn GetRecoProfile(&self) -> ::windows::core::Result<ISpObjectToken> {
3207 let mut result__ = ::windows::core::zeroed::<ISpObjectToken>();
3208 (::windows::core::Interface::vtable(self).GetRecoProfile)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
3209 }
3210 pub unsafe fn SetRecoProfile<P0>(&self, ptoken: P0) -> ::windows::core::Result<()>
3211 where
3212 P0: ::windows::core::IntoParam<ISpObjectToken>,
3213 {
3214 (::windows::core::Interface::vtable(self).SetRecoProfile)(::windows::core::Interface::as_raw(self), ptoken.into_param().abi()).ok()
3215 }
3216 pub unsafe fn IsSharedInstance(&self) -> ::windows::core::Result<()> {
3217 (::windows::core::Interface::vtable(self).IsSharedInstance)(::windows::core::Interface::as_raw(self)).ok()
3218 }
3219 pub unsafe fn GetRecoState(&self, pstate: *mut SPRECOSTATE) -> ::windows::core::Result<()> {
3220 (::windows::core::Interface::vtable(self).GetRecoState)(::windows::core::Interface::as_raw(self), pstate).ok()
3221 }
3222 pub unsafe fn SetRecoState(&self, newstate: SPRECOSTATE) -> ::windows::core::Result<()> {
3223 (::windows::core::Interface::vtable(self).SetRecoState)(::windows::core::Interface::as_raw(self), newstate).ok()
3224 }
3225 pub unsafe fn GetStatus(&self, pstatus: *mut SPRECOGNIZERSTATUS) -> ::windows::core::Result<()> {
3226 (::windows::core::Interface::vtable(self).GetStatus)(::windows::core::Interface::as_raw(self), pstatus).ok()
3227 }
3228 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
3229 #[cfg(feature = "Win32_Media_Audio")]
3230 pub unsafe fn GetFormat(&self, waveformattype: SPSTREAMFORMATTYPE, pformatid: *mut ::windows::core::GUID, ppcomemwfex: *mut *mut super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()> {
3231 (::windows::core::Interface::vtable(self).GetFormat)(::windows::core::Interface::as_raw(self), waveformattype, pformatid, ppcomemwfex).ok()
3232 }
3233 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
3234 #[cfg(feature = "Win32_Foundation")]
3235 pub unsafe fn IsUISupported<P0>(&self, psztypeofui: P0, pvextradata: *mut ::core::ffi::c_void, cbextradata: u32, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>
3236 where
3237 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3238 {
3239 (::windows::core::Interface::vtable(self).IsUISupported)(::windows::core::Interface::as_raw(self), psztypeofui.into_param().abi(), pvextradata, cbextradata, pfsupported).ok()
3240 }
3241 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
3242 #[cfg(feature = "Win32_Foundation")]
3243 pub unsafe fn DisplayUI<P0, P1, P2>(&self, hwndparent: P0, psztitle: P1, psztypeofui: P2, pvextradata: *mut ::core::ffi::c_void, cbextradata: u32) -> ::windows::core::Result<()>
3244 where
3245 P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
3246 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3247 P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3248 {
3249 (::windows::core::Interface::vtable(self).DisplayUI)(::windows::core::Interface::as_raw(self), hwndparent.into_param().abi(), psztitle.into_param().abi(), psztypeofui.into_param().abi(), pvextradata, cbextradata).ok()
3250 }
3251 pub unsafe fn EmulateRecognition<P0>(&self, pphrase: P0) -> ::windows::core::Result<()>
3252 where
3253 P0: ::windows::core::IntoParam<ISpPhrase>,
3254 {
3255 (::windows::core::Interface::vtable(self).EmulateRecognition)(::windows::core::Interface::as_raw(self), pphrase.into_param().abi()).ok()
3256 }
3257}
3258::windows::imp::interface_hierarchy!(ISpRecognizer, ::windows::core::IUnknown, ISpProperties);
3259impl ::core::cmp::PartialEq for ISpRecognizer {
3260 fn eq(&self, other: &Self) -> bool {
3261 self.0 == other.0
3262 }
3263}
3264impl ::core::cmp::Eq for ISpRecognizer {}
3265impl ::core::fmt::Debug for ISpRecognizer {
3266 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3267 f.debug_tuple("ISpRecognizer").field(&self.0).finish()
3268 }
3269}
3270unsafe impl ::windows::core::Interface for ISpRecognizer {
3271 type Vtable = ISpRecognizer_Vtbl;
3272}
3273impl ::core::clone::Clone for ISpRecognizer {
3274 fn clone(&self) -> Self {
3275 Self(self.0.clone())
3276 }
3277}
3278unsafe impl ::windows::core::ComInterface for ISpRecognizer {
3279 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc2b5f241_daa0_4507_9e16_5a1eaa2b7a5c);
3280}
3281#[repr(C)]
3282#[doc(hidden)]
3283pub struct ISpRecognizer_Vtbl {
3284 pub base__: ISpProperties_Vtbl,
3285 pub SetRecognizer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, precognizer: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3286 pub GetRecognizer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pprecognizer: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3287 #[cfg(feature = "Win32_Foundation")]
3288 pub SetInput: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, punkinput: *mut ::core::ffi::c_void, fallowformatchanges: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
3289 #[cfg(not(feature = "Win32_Foundation"))]
3290 SetInput: usize,
3291 pub GetInputObjectToken: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pptoken: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3292 #[cfg(feature = "Win32_System_Com")]
3293 pub GetInputStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppstream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3294 #[cfg(not(feature = "Win32_System_Com"))]
3295 GetInputStream: usize,
3296 pub CreateRecoContext: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppnewctxt: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3297 pub GetRecoProfile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pptoken: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3298 pub SetRecoProfile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptoken: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3299 pub IsSharedInstance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3300 pub GetRecoState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstate: *mut SPRECOSTATE) -> ::windows::core::HRESULT,
3301 pub SetRecoState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newstate: SPRECOSTATE) -> ::windows::core::HRESULT,
3302 pub GetStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstatus: *mut SPRECOGNIZERSTATUS) -> ::windows::core::HRESULT,
3303 #[cfg(feature = "Win32_Media_Audio")]
3304 pub GetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, waveformattype: SPSTREAMFORMATTYPE, pformatid: *mut ::windows::core::GUID, ppcomemwfex: *mut *mut super::Audio::WAVEFORMATEX) -> ::windows::core::HRESULT,
3305 #[cfg(not(feature = "Win32_Media_Audio"))]
3306 GetFormat: usize,
3307 #[cfg(feature = "Win32_Foundation")]
3308 pub IsUISupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psztypeofui: ::windows::core::PCWSTR, pvextradata: *mut ::core::ffi::c_void, cbextradata: u32, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
3309 #[cfg(not(feature = "Win32_Foundation"))]
3310 IsUISupported: usize,
3311 #[cfg(feature = "Win32_Foundation")]
3312 pub DisplayUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwndparent: super::super::Foundation::HWND, psztitle: ::windows::core::PCWSTR, psztypeofui: ::windows::core::PCWSTR, pvextradata: *mut ::core::ffi::c_void, cbextradata: u32) -> ::windows::core::HRESULT,
3313 #[cfg(not(feature = "Win32_Foundation"))]
3314 DisplayUI: usize,
3315 pub EmulateRecognition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pphrase: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3316}
3317#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
3318#[repr(transparent)]
3319pub struct ISpRecognizer2(::windows::core::IUnknown);
3320impl ISpRecognizer2 {
3321 pub unsafe fn EmulateRecognitionEx<P0>(&self, pphrase: P0, dwcompareflags: u32) -> ::windows::core::Result<()>
3322 where
3323 P0: ::windows::core::IntoParam<ISpPhrase>,
3324 {
3325 (::windows::core::Interface::vtable(self).EmulateRecognitionEx)(::windows::core::Interface::as_raw(self), pphrase.into_param().abi(), dwcompareflags).ok()
3326 }
3327 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
3328 #[cfg(feature = "Win32_Foundation")]
3329 pub unsafe fn SetTrainingState<P0, P1>(&self, fdoingtraining: P0, fadaptfromtrainingdata: P1) -> ::windows::core::Result<()>
3330 where
3331 P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
3332 P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
3333 {
3334 (::windows::core::Interface::vtable(self).SetTrainingState)(::windows::core::Interface::as_raw(self), fdoingtraining.into_param().abi(), fadaptfromtrainingdata.into_param().abi()).ok()
3335 }
3336 pub unsafe fn ResetAcousticModelAdaptation(&self) -> ::windows::core::Result<()> {
3337 (::windows::core::Interface::vtable(self).ResetAcousticModelAdaptation)(::windows::core::Interface::as_raw(self)).ok()
3338 }
3339}
3340::windows::imp::interface_hierarchy!(ISpRecognizer2, ::windows::core::IUnknown);
3341impl ::core::cmp::PartialEq for ISpRecognizer2 {
3342 fn eq(&self, other: &Self) -> bool {
3343 self.0 == other.0
3344 }
3345}
3346impl ::core::cmp::Eq for ISpRecognizer2 {}
3347impl ::core::fmt::Debug for ISpRecognizer2 {
3348 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3349 f.debug_tuple("ISpRecognizer2").field(&self.0).finish()
3350 }
3351}
3352unsafe impl ::windows::core::Interface for ISpRecognizer2 {
3353 type Vtable = ISpRecognizer2_Vtbl;
3354}
3355impl ::core::clone::Clone for ISpRecognizer2 {
3356 fn clone(&self) -> Self {
3357 Self(self.0.clone())
3358 }
3359}
3360unsafe impl ::windows::core::ComInterface for ISpRecognizer2 {
3361 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8fc6d974_c81e_4098_93c5_0147f61ed4d3);
3362}
3363#[repr(C)]
3364#[doc(hidden)]
3365pub struct ISpRecognizer2_Vtbl {
3366 pub base__: ::windows::core::IUnknown_Vtbl,
3367 pub EmulateRecognitionEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pphrase: *mut ::core::ffi::c_void, dwcompareflags: u32) -> ::windows::core::HRESULT,
3368 #[cfg(feature = "Win32_Foundation")]
3369 pub SetTrainingState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, fdoingtraining: super::super::Foundation::BOOL, fadaptfromtrainingdata: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
3370 #[cfg(not(feature = "Win32_Foundation"))]
3371 SetTrainingState: usize,
3372 pub ResetAcousticModelAdaptation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3373}
3374#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
3375#[repr(transparent)]
3376pub struct ISpRegDataKey(::windows::core::IUnknown);
3377impl ISpRegDataKey {
3378 pub unsafe fn SetData<P0>(&self, pszvaluename: P0, cbdata: u32, pdata: *const u8) -> ::windows::core::Result<()>
3379 where
3380 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3381 {
3382 (::windows::core::Interface::vtable(self).base__.SetData)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), cbdata, pdata).ok()
3383 }
3384 pub unsafe fn GetData<P0>(&self, pszvaluename: P0, pcbdata: *mut u32, pdata: *mut u8) -> ::windows::core::Result<()>
3385 where
3386 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3387 {
3388 (::windows::core::Interface::vtable(self).base__.GetData)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), pcbdata, pdata).ok()
3389 }
3390 pub unsafe fn SetStringValue<P0, P1>(&self, pszvaluename: P0, pszvalue: P1) -> ::windows::core::Result<()>
3391 where
3392 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3393 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3394 {
3395 (::windows::core::Interface::vtable(self).base__.SetStringValue)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), pszvalue.into_param().abi()).ok()
3396 }
3397 pub unsafe fn GetStringValue<P0>(&self, pszvaluename: P0) -> ::windows::core::Result<::windows::core::PWSTR>
3398 where
3399 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3400 {
3401 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
3402 (::windows::core::Interface::vtable(self).base__.GetStringValue)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), &mut result__).from_abi(result__)
3403 }
3404 pub unsafe fn SetDWORD<P0>(&self, pszvaluename: P0, dwvalue: u32) -> ::windows::core::Result<()>
3405 where
3406 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3407 {
3408 (::windows::core::Interface::vtable(self).base__.SetDWORD)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), dwvalue).ok()
3409 }
3410 pub unsafe fn GetDWORD<P0>(&self, pszvaluename: P0, pdwvalue: *mut u32) -> ::windows::core::Result<()>
3411 where
3412 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3413 {
3414 (::windows::core::Interface::vtable(self).base__.GetDWORD)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi(), pdwvalue).ok()
3415 }
3416 pub unsafe fn OpenKey<P0>(&self, pszsubkeyname: P0) -> ::windows::core::Result<ISpDataKey>
3417 where
3418 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3419 {
3420 let mut result__ = ::windows::core::zeroed::<ISpDataKey>();
3421 (::windows::core::Interface::vtable(self).base__.OpenKey)(::windows::core::Interface::as_raw(self), pszsubkeyname.into_param().abi(), &mut result__).from_abi(result__)
3422 }
3423 pub unsafe fn CreateKey<P0>(&self, pszsubkey: P0) -> ::windows::core::Result<ISpDataKey>
3424 where
3425 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3426 {
3427 let mut result__ = ::windows::core::zeroed::<ISpDataKey>();
3428 (::windows::core::Interface::vtable(self).base__.CreateKey)(::windows::core::Interface::as_raw(self), pszsubkey.into_param().abi(), &mut result__).from_abi(result__)
3429 }
3430 pub unsafe fn DeleteKey<P0>(&self, pszsubkey: P0) -> ::windows::core::Result<()>
3431 where
3432 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3433 {
3434 (::windows::core::Interface::vtable(self).base__.DeleteKey)(::windows::core::Interface::as_raw(self), pszsubkey.into_param().abi()).ok()
3435 }
3436 pub unsafe fn DeleteValue<P0>(&self, pszvaluename: P0) -> ::windows::core::Result<()>
3437 where
3438 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3439 {
3440 (::windows::core::Interface::vtable(self).base__.DeleteValue)(::windows::core::Interface::as_raw(self), pszvaluename.into_param().abi()).ok()
3441 }
3442 pub unsafe fn EnumKeys(&self, index: u32) -> ::windows::core::Result<::windows::core::PWSTR> {
3443 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
3444 (::windows::core::Interface::vtable(self).base__.EnumKeys)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
3445 }
3446 pub unsafe fn EnumValues(&self, index: u32) -> ::windows::core::Result<::windows::core::PWSTR> {
3447 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
3448 (::windows::core::Interface::vtable(self).base__.EnumValues)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
3449 }
3450 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Registry\"`*"]
3451 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3452 pub unsafe fn SetKey<P0, P1>(&self, hkey: P0, freadonly: P1) -> ::windows::core::Result<()>
3453 where
3454 P0: ::windows::core::IntoParam<super::super::System::Registry::HKEY>,
3455 P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
3456 {
3457 (::windows::core::Interface::vtable(self).SetKey)(::windows::core::Interface::as_raw(self), hkey.into_param().abi(), freadonly.into_param().abi()).ok()
3458 }
3459}
3460::windows::imp::interface_hierarchy!(ISpRegDataKey, ::windows::core::IUnknown, ISpDataKey);
3461impl ::core::cmp::PartialEq for ISpRegDataKey {
3462 fn eq(&self, other: &Self) -> bool {
3463 self.0 == other.0
3464 }
3465}
3466impl ::core::cmp::Eq for ISpRegDataKey {}
3467impl ::core::fmt::Debug for ISpRegDataKey {
3468 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3469 f.debug_tuple("ISpRegDataKey").field(&self.0).finish()
3470 }
3471}
3472unsafe impl ::windows::core::Interface for ISpRegDataKey {
3473 type Vtable = ISpRegDataKey_Vtbl;
3474}
3475impl ::core::clone::Clone for ISpRegDataKey {
3476 fn clone(&self) -> Self {
3477 Self(self.0.clone())
3478 }
3479}
3480unsafe impl ::windows::core::ComInterface for ISpRegDataKey {
3481 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x92a66e2b_c830_4149_83df_6fc2ba1e7a5b);
3482}
3483#[repr(C)]
3484#[doc(hidden)]
3485pub struct ISpRegDataKey_Vtbl {
3486 pub base__: ISpDataKey_Vtbl,
3487 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Registry"))]
3488 pub SetKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hkey: super::super::System::Registry::HKEY, freadonly: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
3489 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Registry")))]
3490 SetKey: usize,
3491}
3492#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
3493#[cfg(feature = "Win32_System_Com")]
3494#[repr(transparent)]
3495pub struct ISpResourceManager(::windows::core::IUnknown);
3496#[cfg(feature = "Win32_System_Com")]
3497impl ISpResourceManager {
3498 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3499 #[cfg(feature = "Win32_System_Com")]
3500 pub unsafe fn QueryService(&self, guidservice: *const ::windows::core::GUID, riid: *const ::windows::core::GUID, ppvobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()> {
3501 (::windows::core::Interface::vtable(self).base__.QueryService)(::windows::core::Interface::as_raw(self), guidservice, riid, ppvobject).ok()
3502 }
3503 pub unsafe fn SetObject<P0>(&self, guidserviceid: *const ::windows::core::GUID, punkobject: P0) -> ::windows::core::Result<()>
3504 where
3505 P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
3506 {
3507 (::windows::core::Interface::vtable(self).SetObject)(::windows::core::Interface::as_raw(self), guidserviceid, punkobject.into_param().abi()).ok()
3508 }
3509 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
3510 #[cfg(feature = "Win32_Foundation")]
3511 pub unsafe fn GetObject<P0>(&self, guidserviceid: *const ::windows::core::GUID, objectclsid: *const ::windows::core::GUID, objectiid: *const ::windows::core::GUID, freleasewhenlastexternalrefreleased: P0, ppobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::Result<()>
3512 where
3513 P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
3514 {
3515 (::windows::core::Interface::vtable(self).GetObject)(::windows::core::Interface::as_raw(self), guidserviceid, objectclsid, objectiid, freleasewhenlastexternalrefreleased.into_param().abi(), ppobject).ok()
3516 }
3517}
3518#[cfg(feature = "Win32_System_Com")]
3519::windows::imp::interface_hierarchy!(ISpResourceManager, ::windows::core::IUnknown, super::super::System::Com::IServiceProvider);
3520#[cfg(feature = "Win32_System_Com")]
3521impl ::core::cmp::PartialEq for ISpResourceManager {
3522 fn eq(&self, other: &Self) -> bool {
3523 self.0 == other.0
3524 }
3525}
3526#[cfg(feature = "Win32_System_Com")]
3527impl ::core::cmp::Eq for ISpResourceManager {}
3528#[cfg(feature = "Win32_System_Com")]
3529impl ::core::fmt::Debug for ISpResourceManager {
3530 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3531 f.debug_tuple("ISpResourceManager").field(&self.0).finish()
3532 }
3533}
3534#[cfg(feature = "Win32_System_Com")]
3535unsafe impl ::windows::core::Interface for ISpResourceManager {
3536 type Vtable = ISpResourceManager_Vtbl;
3537}
3538#[cfg(feature = "Win32_System_Com")]
3539impl ::core::clone::Clone for ISpResourceManager {
3540 fn clone(&self) -> Self {
3541 Self(self.0.clone())
3542 }
3543}
3544#[cfg(feature = "Win32_System_Com")]
3545unsafe impl ::windows::core::ComInterface for ISpResourceManager {
3546 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x93384e18_5014_43d5_adbb_a78e055926bd);
3547}
3548#[cfg(feature = "Win32_System_Com")]
3549#[repr(C)]
3550#[doc(hidden)]
3551pub struct ISpResourceManager_Vtbl {
3552 pub base__: super::super::System::Com::IServiceProvider_Vtbl,
3553 pub SetObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guidserviceid: *const ::windows::core::GUID, punkobject: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3554 #[cfg(feature = "Win32_Foundation")]
3555 pub GetObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guidserviceid: *const ::windows::core::GUID, objectclsid: *const ::windows::core::GUID, objectiid: *const ::windows::core::GUID, freleasewhenlastexternalrefreleased: super::super::Foundation::BOOL, ppobject: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3556 #[cfg(not(feature = "Win32_Foundation"))]
3557 GetObject: usize,
3558}
3559#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
3560#[repr(transparent)]
3561pub struct ISpSerializeState(::windows::core::IUnknown);
3562impl ISpSerializeState {
3563 pub unsafe fn GetSerializedState(&self, ppbdata: *mut *mut u8, pulsize: *mut u32, dwreserved: u32) -> ::windows::core::Result<()> {
3564 (::windows::core::Interface::vtable(self).GetSerializedState)(::windows::core::Interface::as_raw(self), ppbdata, pulsize, dwreserved).ok()
3565 }
3566 pub unsafe fn SetSerializedState(&self, pbdata: *const u8, ulsize: u32, dwreserved: u32) -> ::windows::core::Result<()> {
3567 (::windows::core::Interface::vtable(self).SetSerializedState)(::windows::core::Interface::as_raw(self), pbdata, ulsize, dwreserved).ok()
3568 }
3569}
3570::windows::imp::interface_hierarchy!(ISpSerializeState, ::windows::core::IUnknown);
3571impl ::core::cmp::PartialEq for ISpSerializeState {
3572 fn eq(&self, other: &Self) -> bool {
3573 self.0 == other.0
3574 }
3575}
3576impl ::core::cmp::Eq for ISpSerializeState {}
3577impl ::core::fmt::Debug for ISpSerializeState {
3578 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3579 f.debug_tuple("ISpSerializeState").field(&self.0).finish()
3580 }
3581}
3582unsafe impl ::windows::core::Interface for ISpSerializeState {
3583 type Vtable = ISpSerializeState_Vtbl;
3584}
3585impl ::core::clone::Clone for ISpSerializeState {
3586 fn clone(&self) -> Self {
3587 Self(self.0.clone())
3588 }
3589}
3590unsafe impl ::windows::core::ComInterface for ISpSerializeState {
3591 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x21b501a0_0ec7_46c9_92c3_a2bc784c54b9);
3592}
3593#[repr(C)]
3594#[doc(hidden)]
3595pub struct ISpSerializeState_Vtbl {
3596 pub base__: ::windows::core::IUnknown_Vtbl,
3597 pub GetSerializedState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppbdata: *mut *mut u8, pulsize: *mut u32, dwreserved: u32) -> ::windows::core::HRESULT,
3598 pub SetSerializedState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbdata: *const u8, ulsize: u32, dwreserved: u32) -> ::windows::core::HRESULT,
3599}
3600#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
3601#[repr(transparent)]
3602pub struct ISpShortcut(::windows::core::IUnknown);
3603impl ISpShortcut {
3604 pub unsafe fn AddShortcut<P0, P1>(&self, pszdisplay: P0, langid: u16, pszspoken: P1, shtype: SPSHORTCUTTYPE) -> ::windows::core::Result<()>
3605 where
3606 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3607 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3608 {
3609 (::windows::core::Interface::vtable(self).AddShortcut)(::windows::core::Interface::as_raw(self), pszdisplay.into_param().abi(), langid, pszspoken.into_param().abi(), shtype).ok()
3610 }
3611 pub unsafe fn RemoveShortcut<P0, P1>(&self, pszdisplay: P0, langid: u16, pszspoken: P1, shtype: SPSHORTCUTTYPE) -> ::windows::core::Result<()>
3612 where
3613 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3614 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3615 {
3616 (::windows::core::Interface::vtable(self).RemoveShortcut)(::windows::core::Interface::as_raw(self), pszdisplay.into_param().abi(), langid, pszspoken.into_param().abi(), shtype).ok()
3617 }
3618 pub unsafe fn GetShortcuts(&self, langid: u16, pshortcutpairlist: *mut SPSHORTCUTPAIRLIST) -> ::windows::core::Result<()> {
3619 (::windows::core::Interface::vtable(self).GetShortcuts)(::windows::core::Interface::as_raw(self), langid, pshortcutpairlist).ok()
3620 }
3621 pub unsafe fn GetGeneration(&self) -> ::windows::core::Result<u32> {
3622 let mut result__ = ::windows::core::zeroed::<u32>();
3623 (::windows::core::Interface::vtable(self).GetGeneration)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
3624 }
3625 pub unsafe fn GetWordsFromGenerationChange(&self, pdwgeneration: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::core::Result<()> {
3626 (::windows::core::Interface::vtable(self).GetWordsFromGenerationChange)(::windows::core::Interface::as_raw(self), pdwgeneration, pwordlist).ok()
3627 }
3628 pub unsafe fn GetWords(&self, pdwgeneration: *mut u32, pdwcookie: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::core::Result<()> {
3629 (::windows::core::Interface::vtable(self).GetWords)(::windows::core::Interface::as_raw(self), pdwgeneration, pdwcookie, pwordlist).ok()
3630 }
3631 pub unsafe fn GetShortcutsForGeneration(&self, pdwgeneration: *mut u32, pdwcookie: *mut u32, pshortcutpairlist: *mut SPSHORTCUTPAIRLIST) -> ::windows::core::Result<()> {
3632 (::windows::core::Interface::vtable(self).GetShortcutsForGeneration)(::windows::core::Interface::as_raw(self), pdwgeneration, pdwcookie, pshortcutpairlist).ok()
3633 }
3634 pub unsafe fn GetGenerationChange(&self, pdwgeneration: *mut u32, pshortcutpairlist: *mut SPSHORTCUTPAIRLIST) -> ::windows::core::Result<()> {
3635 (::windows::core::Interface::vtable(self).GetGenerationChange)(::windows::core::Interface::as_raw(self), pdwgeneration, pshortcutpairlist).ok()
3636 }
3637}
3638::windows::imp::interface_hierarchy!(ISpShortcut, ::windows::core::IUnknown);
3639impl ::core::cmp::PartialEq for ISpShortcut {
3640 fn eq(&self, other: &Self) -> bool {
3641 self.0 == other.0
3642 }
3643}
3644impl ::core::cmp::Eq for ISpShortcut {}
3645impl ::core::fmt::Debug for ISpShortcut {
3646 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3647 f.debug_tuple("ISpShortcut").field(&self.0).finish()
3648 }
3649}
3650unsafe impl ::windows::core::Interface for ISpShortcut {
3651 type Vtable = ISpShortcut_Vtbl;
3652}
3653impl ::core::clone::Clone for ISpShortcut {
3654 fn clone(&self) -> Self {
3655 Self(self.0.clone())
3656 }
3657}
3658unsafe impl ::windows::core::ComInterface for ISpShortcut {
3659 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3df681e2_ea56_11d9_8bde_f66bad1e3f3a);
3660}
3661#[repr(C)]
3662#[doc(hidden)]
3663pub struct ISpShortcut_Vtbl {
3664 pub base__: ::windows::core::IUnknown_Vtbl,
3665 pub AddShortcut: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszdisplay: ::windows::core::PCWSTR, langid: u16, pszspoken: ::windows::core::PCWSTR, shtype: SPSHORTCUTTYPE) -> ::windows::core::HRESULT,
3666 pub RemoveShortcut: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszdisplay: ::windows::core::PCWSTR, langid: u16, pszspoken: ::windows::core::PCWSTR, shtype: SPSHORTCUTTYPE) -> ::windows::core::HRESULT,
3667 pub GetShortcuts: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, langid: u16, pshortcutpairlist: *mut SPSHORTCUTPAIRLIST) -> ::windows::core::HRESULT,
3668 pub GetGeneration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwgeneration: *mut u32) -> ::windows::core::HRESULT,
3669 pub GetWordsFromGenerationChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwgeneration: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::core::HRESULT,
3670 pub GetWords: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwgeneration: *mut u32, pdwcookie: *mut u32, pwordlist: *mut SPWORDLIST) -> ::windows::core::HRESULT,
3671 pub GetShortcutsForGeneration: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwgeneration: *mut u32, pdwcookie: *mut u32, pshortcutpairlist: *mut SPSHORTCUTPAIRLIST) -> ::windows::core::HRESULT,
3672 pub GetGenerationChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdwgeneration: *mut u32, pshortcutpairlist: *mut SPSHORTCUTPAIRLIST) -> ::windows::core::HRESULT,
3673}
3674#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
3675#[cfg(feature = "Win32_System_Com")]
3676#[repr(transparent)]
3677pub struct ISpStream(::windows::core::IUnknown);
3678#[cfg(feature = "Win32_System_Com")]
3679impl ISpStream {
3680 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3681 #[cfg(feature = "Win32_System_Com")]
3682 pub unsafe fn Read(&self, pv: *mut ::core::ffi::c_void, cb: u32, pcbread: ::core::option::Option<*mut u32>) -> ::windows::core::HRESULT {
3683 (::windows::core::Interface::vtable(self).base__.base__.base__.Read)(::windows::core::Interface::as_raw(self), pv, cb, ::core::mem::transmute(pcbread.unwrap_or(::std::ptr::null_mut())))
3684 }
3685 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3686 #[cfg(feature = "Win32_System_Com")]
3687 pub unsafe fn Write(&self, pv: *const ::core::ffi::c_void, cb: u32, pcbwritten: ::core::option::Option<*mut u32>) -> ::windows::core::HRESULT {
3688 (::windows::core::Interface::vtable(self).base__.base__.base__.Write)(::windows::core::Interface::as_raw(self), pv, cb, ::core::mem::transmute(pcbwritten.unwrap_or(::std::ptr::null_mut())))
3689 }
3690 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3691 #[cfg(feature = "Win32_System_Com")]
3692 pub unsafe fn Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK, plibnewposition: ::core::option::Option<*mut u64>) -> ::windows::core::Result<()> {
3693 (::windows::core::Interface::vtable(self).base__.base__.Seek)(::windows::core::Interface::as_raw(self), dlibmove, dworigin, ::core::mem::transmute(plibnewposition.unwrap_or(::std::ptr::null_mut()))).ok()
3694 }
3695 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3696 #[cfg(feature = "Win32_System_Com")]
3697 pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows::core::Result<()> {
3698 (::windows::core::Interface::vtable(self).base__.base__.SetSize)(::windows::core::Interface::as_raw(self), libnewsize).ok()
3699 }
3700 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3701 #[cfg(feature = "Win32_System_Com")]
3702 pub unsafe fn CopyTo<P0>(&self, pstm: P0, cb: u64, pcbread: ::core::option::Option<*mut u64>, pcbwritten: ::core::option::Option<*mut u64>) -> ::windows::core::Result<()>
3703 where
3704 P0: ::windows::core::IntoParam<super::super::System::Com::IStream>,
3705 {
3706 (::windows::core::Interface::vtable(self).base__.base__.CopyTo)(::windows::core::Interface::as_raw(self), pstm.into_param().abi(), cb, ::core::mem::transmute(pcbread.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcbwritten.unwrap_or(::std::ptr::null_mut()))).ok()
3707 }
3708 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3709 #[cfg(feature = "Win32_System_Com")]
3710 pub unsafe fn Commit(&self, grfcommitflags: super::super::System::Com::STGC) -> ::windows::core::Result<()> {
3711 (::windows::core::Interface::vtable(self).base__.base__.Commit)(::windows::core::Interface::as_raw(self), grfcommitflags).ok()
3712 }
3713 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3714 #[cfg(feature = "Win32_System_Com")]
3715 pub unsafe fn Revert(&self) -> ::windows::core::Result<()> {
3716 (::windows::core::Interface::vtable(self).base__.base__.Revert)(::windows::core::Interface::as_raw(self)).ok()
3717 }
3718 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3719 #[cfg(feature = "Win32_System_Com")]
3720 pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: super::super::System::Com::LOCKTYPE) -> ::windows::core::Result<()> {
3721 (::windows::core::Interface::vtable(self).base__.base__.LockRegion)(::windows::core::Interface::as_raw(self), liboffset, cb, dwlocktype).ok()
3722 }
3723 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3724 #[cfg(feature = "Win32_System_Com")]
3725 pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::core::Result<()> {
3726 (::windows::core::Interface::vtable(self).base__.base__.UnlockRegion)(::windows::core::Interface::as_raw(self), liboffset, cb, dwlocktype).ok()
3727 }
3728 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`*"]
3729 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
3730 pub unsafe fn Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: super::super::System::Com::STATFLAG) -> ::windows::core::Result<()> {
3731 (::windows::core::Interface::vtable(self).base__.base__.Stat)(::windows::core::Interface::as_raw(self), pstatstg, grfstatflag).ok()
3732 }
3733 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3734 #[cfg(feature = "Win32_System_Com")]
3735 pub unsafe fn Clone(&self) -> ::windows::core::Result<super::super::System::Com::IStream> {
3736 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IStream>();
3737 (::windows::core::Interface::vtable(self).base__.base__.Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
3738 }
3739 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
3740 #[cfg(feature = "Win32_Media_Audio")]
3741 pub unsafe fn GetFormat(&self, pguidformatid: *const ::windows::core::GUID) -> ::windows::core::Result<*mut super::Audio::WAVEFORMATEX> {
3742 let mut result__ = ::windows::core::zeroed::<*mut super::Audio::WAVEFORMATEX>();
3743 (::windows::core::Interface::vtable(self).base__.GetFormat)(::windows::core::Interface::as_raw(self), pguidformatid, &mut result__).from_abi(result__)
3744 }
3745 #[doc = "*Required features: `\"Win32_Media_Audio\"`, `\"Win32_System_Com\"`*"]
3746 #[cfg(all(feature = "Win32_Media_Audio", feature = "Win32_System_Com"))]
3747 pub unsafe fn SetBaseStream<P0>(&self, pstream: P0, rguidformat: *const ::windows::core::GUID, pwaveformatex: *const super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()>
3748 where
3749 P0: ::windows::core::IntoParam<super::super::System::Com::IStream>,
3750 {
3751 (::windows::core::Interface::vtable(self).SetBaseStream)(::windows::core::Interface::as_raw(self), pstream.into_param().abi(), rguidformat, pwaveformatex).ok()
3752 }
3753 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3754 #[cfg(feature = "Win32_System_Com")]
3755 pub unsafe fn GetBaseStream(&self) -> ::windows::core::Result<super::super::System::Com::IStream> {
3756 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IStream>();
3757 (::windows::core::Interface::vtable(self).GetBaseStream)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
3758 }
3759 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
3760 #[cfg(feature = "Win32_Media_Audio")]
3761 pub unsafe fn BindToFile<P0>(&self, pszfilename: P0, emode: SPFILEMODE, pformatid: ::core::option::Option<*const ::windows::core::GUID>, pwaveformatex: ::core::option::Option<*const super::Audio::WAVEFORMATEX>, ulleventinterest: u64) -> ::windows::core::Result<()>
3762 where
3763 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
3764 {
3765 (::windows::core::Interface::vtable(self).BindToFile)(::windows::core::Interface::as_raw(self), pszfilename.into_param().abi(), emode, ::core::mem::transmute(pformatid.unwrap_or(::std::ptr::null())), ::core::mem::transmute(pwaveformatex.unwrap_or(::std::ptr::null())), ulleventinterest).ok()
3766 }
3767 pub unsafe fn Close(&self) -> ::windows::core::Result<()> {
3768 (::windows::core::Interface::vtable(self).Close)(::windows::core::Interface::as_raw(self)).ok()
3769 }
3770}
3771#[cfg(feature = "Win32_System_Com")]
3772::windows::imp::interface_hierarchy!(ISpStream, ::windows::core::IUnknown, super::super::System::Com::ISequentialStream, super::super::System::Com::IStream, ISpStreamFormat);
3773#[cfg(feature = "Win32_System_Com")]
3774impl ::core::cmp::PartialEq for ISpStream {
3775 fn eq(&self, other: &Self) -> bool {
3776 self.0 == other.0
3777 }
3778}
3779#[cfg(feature = "Win32_System_Com")]
3780impl ::core::cmp::Eq for ISpStream {}
3781#[cfg(feature = "Win32_System_Com")]
3782impl ::core::fmt::Debug for ISpStream {
3783 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3784 f.debug_tuple("ISpStream").field(&self.0).finish()
3785 }
3786}
3787#[cfg(feature = "Win32_System_Com")]
3788unsafe impl ::windows::core::Interface for ISpStream {
3789 type Vtable = ISpStream_Vtbl;
3790}
3791#[cfg(feature = "Win32_System_Com")]
3792impl ::core::clone::Clone for ISpStream {
3793 fn clone(&self) -> Self {
3794 Self(self.0.clone())
3795 }
3796}
3797#[cfg(feature = "Win32_System_Com")]
3798unsafe impl ::windows::core::ComInterface for ISpStream {
3799 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x12e3cca9_7518_44c5_a5e7_ba5a79cb929e);
3800}
3801#[cfg(feature = "Win32_System_Com")]
3802#[repr(C)]
3803#[doc(hidden)]
3804pub struct ISpStream_Vtbl {
3805 pub base__: ISpStreamFormat_Vtbl,
3806 #[cfg(all(feature = "Win32_Media_Audio", feature = "Win32_System_Com"))]
3807 pub SetBaseStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstream: *mut ::core::ffi::c_void, rguidformat: *const ::windows::core::GUID, pwaveformatex: *const super::Audio::WAVEFORMATEX) -> ::windows::core::HRESULT,
3808 #[cfg(not(all(feature = "Win32_Media_Audio", feature = "Win32_System_Com")))]
3809 SetBaseStream: usize,
3810 #[cfg(feature = "Win32_System_Com")]
3811 pub GetBaseStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppstream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3812 #[cfg(not(feature = "Win32_System_Com"))]
3813 GetBaseStream: usize,
3814 #[cfg(feature = "Win32_Media_Audio")]
3815 pub BindToFile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pszfilename: ::windows::core::PCWSTR, emode: SPFILEMODE, pformatid: *const ::windows::core::GUID, pwaveformatex: *const super::Audio::WAVEFORMATEX, ulleventinterest: u64) -> ::windows::core::HRESULT,
3816 #[cfg(not(feature = "Win32_Media_Audio"))]
3817 BindToFile: usize,
3818 pub Close: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
3819}
3820#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
3821#[cfg(feature = "Win32_System_Com")]
3822#[repr(transparent)]
3823pub struct ISpStreamFormat(::windows::core::IUnknown);
3824#[cfg(feature = "Win32_System_Com")]
3825impl ISpStreamFormat {
3826 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3827 #[cfg(feature = "Win32_System_Com")]
3828 pub unsafe fn Read(&self, pv: *mut ::core::ffi::c_void, cb: u32, pcbread: ::core::option::Option<*mut u32>) -> ::windows::core::HRESULT {
3829 (::windows::core::Interface::vtable(self).base__.base__.Read)(::windows::core::Interface::as_raw(self), pv, cb, ::core::mem::transmute(pcbread.unwrap_or(::std::ptr::null_mut())))
3830 }
3831 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3832 #[cfg(feature = "Win32_System_Com")]
3833 pub unsafe fn Write(&self, pv: *const ::core::ffi::c_void, cb: u32, pcbwritten: ::core::option::Option<*mut u32>) -> ::windows::core::HRESULT {
3834 (::windows::core::Interface::vtable(self).base__.base__.Write)(::windows::core::Interface::as_raw(self), pv, cb, ::core::mem::transmute(pcbwritten.unwrap_or(::std::ptr::null_mut())))
3835 }
3836 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3837 #[cfg(feature = "Win32_System_Com")]
3838 pub unsafe fn Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK, plibnewposition: ::core::option::Option<*mut u64>) -> ::windows::core::Result<()> {
3839 (::windows::core::Interface::vtable(self).base__.Seek)(::windows::core::Interface::as_raw(self), dlibmove, dworigin, ::core::mem::transmute(plibnewposition.unwrap_or(::std::ptr::null_mut()))).ok()
3840 }
3841 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3842 #[cfg(feature = "Win32_System_Com")]
3843 pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows::core::Result<()> {
3844 (::windows::core::Interface::vtable(self).base__.SetSize)(::windows::core::Interface::as_raw(self), libnewsize).ok()
3845 }
3846 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3847 #[cfg(feature = "Win32_System_Com")]
3848 pub unsafe fn CopyTo<P0>(&self, pstm: P0, cb: u64, pcbread: ::core::option::Option<*mut u64>, pcbwritten: ::core::option::Option<*mut u64>) -> ::windows::core::Result<()>
3849 where
3850 P0: ::windows::core::IntoParam<super::super::System::Com::IStream>,
3851 {
3852 (::windows::core::Interface::vtable(self).base__.CopyTo)(::windows::core::Interface::as_raw(self), pstm.into_param().abi(), cb, ::core::mem::transmute(pcbread.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcbwritten.unwrap_or(::std::ptr::null_mut()))).ok()
3853 }
3854 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3855 #[cfg(feature = "Win32_System_Com")]
3856 pub unsafe fn Commit(&self, grfcommitflags: super::super::System::Com::STGC) -> ::windows::core::Result<()> {
3857 (::windows::core::Interface::vtable(self).base__.Commit)(::windows::core::Interface::as_raw(self), grfcommitflags).ok()
3858 }
3859 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3860 #[cfg(feature = "Win32_System_Com")]
3861 pub unsafe fn Revert(&self) -> ::windows::core::Result<()> {
3862 (::windows::core::Interface::vtable(self).base__.Revert)(::windows::core::Interface::as_raw(self)).ok()
3863 }
3864 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3865 #[cfg(feature = "Win32_System_Com")]
3866 pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: super::super::System::Com::LOCKTYPE) -> ::windows::core::Result<()> {
3867 (::windows::core::Interface::vtable(self).base__.LockRegion)(::windows::core::Interface::as_raw(self), liboffset, cb, dwlocktype).ok()
3868 }
3869 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3870 #[cfg(feature = "Win32_System_Com")]
3871 pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::core::Result<()> {
3872 (::windows::core::Interface::vtable(self).base__.UnlockRegion)(::windows::core::Interface::as_raw(self), liboffset, cb, dwlocktype).ok()
3873 }
3874 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`*"]
3875 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
3876 pub unsafe fn Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: super::super::System::Com::STATFLAG) -> ::windows::core::Result<()> {
3877 (::windows::core::Interface::vtable(self).base__.Stat)(::windows::core::Interface::as_raw(self), pstatstg, grfstatflag).ok()
3878 }
3879 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3880 #[cfg(feature = "Win32_System_Com")]
3881 pub unsafe fn Clone(&self) -> ::windows::core::Result<super::super::System::Com::IStream> {
3882 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IStream>();
3883 (::windows::core::Interface::vtable(self).base__.Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
3884 }
3885 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
3886 #[cfg(feature = "Win32_Media_Audio")]
3887 pub unsafe fn GetFormat(&self, pguidformatid: *const ::windows::core::GUID) -> ::windows::core::Result<*mut super::Audio::WAVEFORMATEX> {
3888 let mut result__ = ::windows::core::zeroed::<*mut super::Audio::WAVEFORMATEX>();
3889 (::windows::core::Interface::vtable(self).GetFormat)(::windows::core::Interface::as_raw(self), pguidformatid, &mut result__).from_abi(result__)
3890 }
3891}
3892#[cfg(feature = "Win32_System_Com")]
3893::windows::imp::interface_hierarchy!(ISpStreamFormat, ::windows::core::IUnknown, super::super::System::Com::ISequentialStream, super::super::System::Com::IStream);
3894#[cfg(feature = "Win32_System_Com")]
3895impl ::core::cmp::PartialEq for ISpStreamFormat {
3896 fn eq(&self, other: &Self) -> bool {
3897 self.0 == other.0
3898 }
3899}
3900#[cfg(feature = "Win32_System_Com")]
3901impl ::core::cmp::Eq for ISpStreamFormat {}
3902#[cfg(feature = "Win32_System_Com")]
3903impl ::core::fmt::Debug for ISpStreamFormat {
3904 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
3905 f.debug_tuple("ISpStreamFormat").field(&self.0).finish()
3906 }
3907}
3908#[cfg(feature = "Win32_System_Com")]
3909unsafe impl ::windows::core::Interface for ISpStreamFormat {
3910 type Vtable = ISpStreamFormat_Vtbl;
3911}
3912#[cfg(feature = "Win32_System_Com")]
3913impl ::core::clone::Clone for ISpStreamFormat {
3914 fn clone(&self) -> Self {
3915 Self(self.0.clone())
3916 }
3917}
3918#[cfg(feature = "Win32_System_Com")]
3919unsafe impl ::windows::core::ComInterface for ISpStreamFormat {
3920 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbed530be_2606_4f4d_a1c0_54c5cda5566f);
3921}
3922#[cfg(feature = "Win32_System_Com")]
3923#[repr(C)]
3924#[doc(hidden)]
3925pub struct ISpStreamFormat_Vtbl {
3926 pub base__: super::super::System::Com::IStream_Vtbl,
3927 #[cfg(feature = "Win32_Media_Audio")]
3928 pub GetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pguidformatid: *const ::windows::core::GUID, ppcomemwaveformatex: *mut *mut super::Audio::WAVEFORMATEX) -> ::windows::core::HRESULT,
3929 #[cfg(not(feature = "Win32_Media_Audio"))]
3930 GetFormat: usize,
3931}
3932#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
3933#[cfg(feature = "Win32_System_Com")]
3934#[repr(transparent)]
3935pub struct ISpStreamFormatConverter(::windows::core::IUnknown);
3936#[cfg(feature = "Win32_System_Com")]
3937impl ISpStreamFormatConverter {
3938 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3939 #[cfg(feature = "Win32_System_Com")]
3940 pub unsafe fn Read(&self, pv: *mut ::core::ffi::c_void, cb: u32, pcbread: ::core::option::Option<*mut u32>) -> ::windows::core::HRESULT {
3941 (::windows::core::Interface::vtable(self).base__.base__.base__.Read)(::windows::core::Interface::as_raw(self), pv, cb, ::core::mem::transmute(pcbread.unwrap_or(::std::ptr::null_mut())))
3942 }
3943 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3944 #[cfg(feature = "Win32_System_Com")]
3945 pub unsafe fn Write(&self, pv: *const ::core::ffi::c_void, cb: u32, pcbwritten: ::core::option::Option<*mut u32>) -> ::windows::core::HRESULT {
3946 (::windows::core::Interface::vtable(self).base__.base__.base__.Write)(::windows::core::Interface::as_raw(self), pv, cb, ::core::mem::transmute(pcbwritten.unwrap_or(::std::ptr::null_mut())))
3947 }
3948 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3949 #[cfg(feature = "Win32_System_Com")]
3950 pub unsafe fn Seek(&self, dlibmove: i64, dworigin: super::super::System::Com::STREAM_SEEK, plibnewposition: ::core::option::Option<*mut u64>) -> ::windows::core::Result<()> {
3951 (::windows::core::Interface::vtable(self).base__.base__.Seek)(::windows::core::Interface::as_raw(self), dlibmove, dworigin, ::core::mem::transmute(plibnewposition.unwrap_or(::std::ptr::null_mut()))).ok()
3952 }
3953 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3954 #[cfg(feature = "Win32_System_Com")]
3955 pub unsafe fn SetSize(&self, libnewsize: u64) -> ::windows::core::Result<()> {
3956 (::windows::core::Interface::vtable(self).base__.base__.SetSize)(::windows::core::Interface::as_raw(self), libnewsize).ok()
3957 }
3958 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3959 #[cfg(feature = "Win32_System_Com")]
3960 pub unsafe fn CopyTo<P0>(&self, pstm: P0, cb: u64, pcbread: ::core::option::Option<*mut u64>, pcbwritten: ::core::option::Option<*mut u64>) -> ::windows::core::Result<()>
3961 where
3962 P0: ::windows::core::IntoParam<super::super::System::Com::IStream>,
3963 {
3964 (::windows::core::Interface::vtable(self).base__.base__.CopyTo)(::windows::core::Interface::as_raw(self), pstm.into_param().abi(), cb, ::core::mem::transmute(pcbread.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pcbwritten.unwrap_or(::std::ptr::null_mut()))).ok()
3965 }
3966 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3967 #[cfg(feature = "Win32_System_Com")]
3968 pub unsafe fn Commit(&self, grfcommitflags: super::super::System::Com::STGC) -> ::windows::core::Result<()> {
3969 (::windows::core::Interface::vtable(self).base__.base__.Commit)(::windows::core::Interface::as_raw(self), grfcommitflags).ok()
3970 }
3971 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3972 #[cfg(feature = "Win32_System_Com")]
3973 pub unsafe fn Revert(&self) -> ::windows::core::Result<()> {
3974 (::windows::core::Interface::vtable(self).base__.base__.Revert)(::windows::core::Interface::as_raw(self)).ok()
3975 }
3976 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3977 #[cfg(feature = "Win32_System_Com")]
3978 pub unsafe fn LockRegion(&self, liboffset: u64, cb: u64, dwlocktype: super::super::System::Com::LOCKTYPE) -> ::windows::core::Result<()> {
3979 (::windows::core::Interface::vtable(self).base__.base__.LockRegion)(::windows::core::Interface::as_raw(self), liboffset, cb, dwlocktype).ok()
3980 }
3981 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3982 #[cfg(feature = "Win32_System_Com")]
3983 pub unsafe fn UnlockRegion(&self, liboffset: u64, cb: u64, dwlocktype: u32) -> ::windows::core::Result<()> {
3984 (::windows::core::Interface::vtable(self).base__.base__.UnlockRegion)(::windows::core::Interface::as_raw(self), liboffset, cb, dwlocktype).ok()
3985 }
3986 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`*"]
3987 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
3988 pub unsafe fn Stat(&self, pstatstg: *mut super::super::System::Com::STATSTG, grfstatflag: super::super::System::Com::STATFLAG) -> ::windows::core::Result<()> {
3989 (::windows::core::Interface::vtable(self).base__.base__.Stat)(::windows::core::Interface::as_raw(self), pstatstg, grfstatflag).ok()
3990 }
3991 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
3992 #[cfg(feature = "Win32_System_Com")]
3993 pub unsafe fn Clone(&self) -> ::windows::core::Result<super::super::System::Com::IStream> {
3994 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::IStream>();
3995 (::windows::core::Interface::vtable(self).base__.base__.Clone)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
3996 }
3997 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
3998 #[cfg(feature = "Win32_Media_Audio")]
3999 pub unsafe fn GetFormat(&self, pguidformatid: *const ::windows::core::GUID) -> ::windows::core::Result<*mut super::Audio::WAVEFORMATEX> {
4000 let mut result__ = ::windows::core::zeroed::<*mut super::Audio::WAVEFORMATEX>();
4001 (::windows::core::Interface::vtable(self).base__.GetFormat)(::windows::core::Interface::as_raw(self), pguidformatid, &mut result__).from_abi(result__)
4002 }
4003 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`*"]
4004 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4005 pub unsafe fn SetBaseStream<P0, P1, P2>(&self, pstream: P0, fsetformattobasestreamformat: P1, fwritetobasestream: P2) -> ::windows::core::Result<()>
4006 where
4007 P0: ::windows::core::IntoParam<ISpStreamFormat>,
4008 P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
4009 P2: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
4010 {
4011 (::windows::core::Interface::vtable(self).SetBaseStream)(::windows::core::Interface::as_raw(self), pstream.into_param().abi(), fsetformattobasestreamformat.into_param().abi(), fwritetobasestream.into_param().abi()).ok()
4012 }
4013 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
4014 #[cfg(feature = "Win32_System_Com")]
4015 pub unsafe fn GetBaseStream(&self) -> ::windows::core::Result<ISpStreamFormat> {
4016 let mut result__ = ::windows::core::zeroed::<ISpStreamFormat>();
4017 (::windows::core::Interface::vtable(self).GetBaseStream)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4018 }
4019 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
4020 #[cfg(feature = "Win32_Media_Audio")]
4021 pub unsafe fn SetFormat(&self, rguidformatidofconvertedstream: *const ::windows::core::GUID, pwaveformatexofconvertedstream: *const super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()> {
4022 (::windows::core::Interface::vtable(self).SetFormat)(::windows::core::Interface::as_raw(self), rguidformatidofconvertedstream, pwaveformatexofconvertedstream).ok()
4023 }
4024 pub unsafe fn ResetSeekPosition(&self) -> ::windows::core::Result<()> {
4025 (::windows::core::Interface::vtable(self).ResetSeekPosition)(::windows::core::Interface::as_raw(self)).ok()
4026 }
4027 pub unsafe fn ScaleConvertedToBaseOffset(&self, ulloffsetconvertedstream: u64) -> ::windows::core::Result<u64> {
4028 let mut result__ = ::windows::core::zeroed::<u64>();
4029 (::windows::core::Interface::vtable(self).ScaleConvertedToBaseOffset)(::windows::core::Interface::as_raw(self), ulloffsetconvertedstream, &mut result__).from_abi(result__)
4030 }
4031 pub unsafe fn ScaleBaseToConvertedOffset(&self, ulloffsetbasestream: u64) -> ::windows::core::Result<u64> {
4032 let mut result__ = ::windows::core::zeroed::<u64>();
4033 (::windows::core::Interface::vtable(self).ScaleBaseToConvertedOffset)(::windows::core::Interface::as_raw(self), ulloffsetbasestream, &mut result__).from_abi(result__)
4034 }
4035}
4036#[cfg(feature = "Win32_System_Com")]
4037::windows::imp::interface_hierarchy!(ISpStreamFormatConverter, ::windows::core::IUnknown, super::super::System::Com::ISequentialStream, super::super::System::Com::IStream, ISpStreamFormat);
4038#[cfg(feature = "Win32_System_Com")]
4039impl ::core::cmp::PartialEq for ISpStreamFormatConverter {
4040 fn eq(&self, other: &Self) -> bool {
4041 self.0 == other.0
4042 }
4043}
4044#[cfg(feature = "Win32_System_Com")]
4045impl ::core::cmp::Eq for ISpStreamFormatConverter {}
4046#[cfg(feature = "Win32_System_Com")]
4047impl ::core::fmt::Debug for ISpStreamFormatConverter {
4048 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4049 f.debug_tuple("ISpStreamFormatConverter").field(&self.0).finish()
4050 }
4051}
4052#[cfg(feature = "Win32_System_Com")]
4053unsafe impl ::windows::core::Interface for ISpStreamFormatConverter {
4054 type Vtable = ISpStreamFormatConverter_Vtbl;
4055}
4056#[cfg(feature = "Win32_System_Com")]
4057impl ::core::clone::Clone for ISpStreamFormatConverter {
4058 fn clone(&self) -> Self {
4059 Self(self.0.clone())
4060 }
4061}
4062#[cfg(feature = "Win32_System_Com")]
4063unsafe impl ::windows::core::ComInterface for ISpStreamFormatConverter {
4064 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x678a932c_ea71_4446_9b41_78fda6280a29);
4065}
4066#[cfg(feature = "Win32_System_Com")]
4067#[repr(C)]
4068#[doc(hidden)]
4069pub struct ISpStreamFormatConverter_Vtbl {
4070 pub base__: ISpStreamFormat_Vtbl,
4071 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com"))]
4072 pub SetBaseStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstream: *mut ::core::ffi::c_void, fsetformattobasestreamformat: super::super::Foundation::BOOL, fwritetobasestream: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
4073 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com")))]
4074 SetBaseStream: usize,
4075 #[cfg(feature = "Win32_System_Com")]
4076 pub GetBaseStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppstream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
4077 #[cfg(not(feature = "Win32_System_Com"))]
4078 GetBaseStream: usize,
4079 #[cfg(feature = "Win32_Media_Audio")]
4080 pub SetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rguidformatidofconvertedstream: *const ::windows::core::GUID, pwaveformatexofconvertedstream: *const super::Audio::WAVEFORMATEX) -> ::windows::core::HRESULT,
4081 #[cfg(not(feature = "Win32_Media_Audio"))]
4082 SetFormat: usize,
4083 pub ResetSeekPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
4084 pub ScaleConvertedToBaseOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulloffsetconvertedstream: u64, pulloffsetbasestream: *mut u64) -> ::windows::core::HRESULT,
4085 pub ScaleBaseToConvertedOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ulloffsetbasestream: u64, pulloffsetconvertedstream: *mut u64) -> ::windows::core::HRESULT,
4086}
4087#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
4088#[repr(transparent)]
4089pub struct ISpTranscript(::windows::core::IUnknown);
4090impl ISpTranscript {
4091 pub unsafe fn GetTranscript(&self) -> ::windows::core::Result<::windows::core::PWSTR> {
4092 let mut result__ = ::windows::core::zeroed::<::windows::core::PWSTR>();
4093 (::windows::core::Interface::vtable(self).GetTranscript)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4094 }
4095 pub unsafe fn AppendTranscript<P0>(&self, psztranscript: P0) -> ::windows::core::Result<()>
4096 where
4097 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
4098 {
4099 (::windows::core::Interface::vtable(self).AppendTranscript)(::windows::core::Interface::as_raw(self), psztranscript.into_param().abi()).ok()
4100 }
4101}
4102::windows::imp::interface_hierarchy!(ISpTranscript, ::windows::core::IUnknown);
4103impl ::core::cmp::PartialEq for ISpTranscript {
4104 fn eq(&self, other: &Self) -> bool {
4105 self.0 == other.0
4106 }
4107}
4108impl ::core::cmp::Eq for ISpTranscript {}
4109impl ::core::fmt::Debug for ISpTranscript {
4110 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4111 f.debug_tuple("ISpTranscript").field(&self.0).finish()
4112 }
4113}
4114unsafe impl ::windows::core::Interface for ISpTranscript {
4115 type Vtable = ISpTranscript_Vtbl;
4116}
4117impl ::core::clone::Clone for ISpTranscript {
4118 fn clone(&self) -> Self {
4119 Self(self.0.clone())
4120 }
4121}
4122unsafe impl ::windows::core::ComInterface for ISpTranscript {
4123 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x10f63bce_201a_11d3_ac70_00c04f8ee6c0);
4124}
4125#[repr(C)]
4126#[doc(hidden)]
4127pub struct ISpTranscript_Vtbl {
4128 pub base__: ::windows::core::IUnknown_Vtbl,
4129 pub GetTranscript: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppsztranscript: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
4130 pub AppendTranscript: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psztranscript: ::windows::core::PCWSTR) -> ::windows::core::HRESULT,
4131}
4132#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
4133#[repr(transparent)]
4134pub struct ISpVoice(::windows::core::IUnknown);
4135impl ISpVoice {
4136 pub unsafe fn SetNotifySink<P0>(&self, pnotifysink: P0) -> ::windows::core::Result<()>
4137 where
4138 P0: ::windows::core::IntoParam<ISpNotifySink>,
4139 {
4140 (::windows::core::Interface::vtable(self).base__.base__.SetNotifySink)(::windows::core::Interface::as_raw(self), pnotifysink.into_param().abi()).ok()
4141 }
4142 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
4143 #[cfg(feature = "Win32_Foundation")]
4144 pub unsafe fn SetNotifyWindowMessage<P0, P1, P2>(&self, hwnd: P0, msg: u32, wparam: P1, lparam: P2) -> ::windows::core::Result<()>
4145 where
4146 P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
4147 P1: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
4148 P2: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
4149 {
4150 (::windows::core::Interface::vtable(self).base__.base__.SetNotifyWindowMessage)(::windows::core::Interface::as_raw(self), hwnd.into_param().abi(), msg, wparam.into_param().abi(), lparam.into_param().abi()).ok()
4151 }
4152 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
4153 #[cfg(feature = "Win32_Foundation")]
4154 pub unsafe fn SetNotifyCallbackFunction<P0, P1>(&self, pfncallback: *mut SPNOTIFYCALLBACK, wparam: P0, lparam: P1) -> ::windows::core::Result<()>
4155 where
4156 P0: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
4157 P1: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
4158 {
4159 (::windows::core::Interface::vtable(self).base__.base__.SetNotifyCallbackFunction)(::windows::core::Interface::as_raw(self), pfncallback, wparam.into_param().abi(), lparam.into_param().abi()).ok()
4160 }
4161 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
4162 #[cfg(feature = "Win32_Foundation")]
4163 pub unsafe fn SetNotifyCallbackInterface<P0, P1, P2>(&self, pspcallback: P0, wparam: P1, lparam: P2) -> ::windows::core::Result<()>
4164 where
4165 P0: ::windows::core::IntoParam<ISpNotifyCallback>,
4166 P1: ::windows::core::IntoParam<super::super::Foundation::WPARAM>,
4167 P2: ::windows::core::IntoParam<super::super::Foundation::LPARAM>,
4168 {
4169 (::windows::core::Interface::vtable(self).base__.base__.SetNotifyCallbackInterface)(::windows::core::Interface::as_raw(self), pspcallback.into_param().abi(), wparam.into_param().abi(), lparam.into_param().abi()).ok()
4170 }
4171 pub unsafe fn SetNotifyWin32Event(&self) -> ::windows::core::Result<()> {
4172 (::windows::core::Interface::vtable(self).base__.base__.SetNotifyWin32Event)(::windows::core::Interface::as_raw(self)).ok()
4173 }
4174 pub unsafe fn WaitForNotifyEvent(&self, dwmilliseconds: u32) -> ::windows::core::Result<()> {
4175 (::windows::core::Interface::vtable(self).base__.base__.WaitForNotifyEvent)(::windows::core::Interface::as_raw(self), dwmilliseconds).ok()
4176 }
4177 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
4178 #[cfg(feature = "Win32_Foundation")]
4179 pub unsafe fn GetNotifyEventHandle(&self) -> super::super::Foundation::HANDLE {
4180 (::windows::core::Interface::vtable(self).base__.base__.GetNotifyEventHandle)(::windows::core::Interface::as_raw(self))
4181 }
4182 pub unsafe fn SetInterest(&self, ulleventinterest: u64, ullqueuedinterest: u64) -> ::windows::core::Result<()> {
4183 (::windows::core::Interface::vtable(self).base__.SetInterest)(::windows::core::Interface::as_raw(self), ulleventinterest, ullqueuedinterest).ok()
4184 }
4185 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
4186 #[cfg(feature = "Win32_Foundation")]
4187 pub unsafe fn GetEvents(&self, ulcount: u32, peventarray: *mut SPEVENT, pulfetched: *mut u32) -> ::windows::core::Result<()> {
4188 (::windows::core::Interface::vtable(self).base__.GetEvents)(::windows::core::Interface::as_raw(self), ulcount, peventarray, pulfetched).ok()
4189 }
4190 pub unsafe fn GetInfo(&self, pinfo: *mut SPEVENTSOURCEINFO) -> ::windows::core::Result<()> {
4191 (::windows::core::Interface::vtable(self).base__.GetInfo)(::windows::core::Interface::as_raw(self), pinfo).ok()
4192 }
4193 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
4194 #[cfg(feature = "Win32_Foundation")]
4195 pub unsafe fn SetOutput<P0, P1>(&self, punkoutput: P0, fallowformatchanges: P1) -> ::windows::core::Result<()>
4196 where
4197 P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
4198 P1: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
4199 {
4200 (::windows::core::Interface::vtable(self).SetOutput)(::windows::core::Interface::as_raw(self), punkoutput.into_param().abi(), fallowformatchanges.into_param().abi()).ok()
4201 }
4202 pub unsafe fn GetOutputObjectToken(&self) -> ::windows::core::Result<ISpObjectToken> {
4203 let mut result__ = ::windows::core::zeroed::<ISpObjectToken>();
4204 (::windows::core::Interface::vtable(self).GetOutputObjectToken)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4205 }
4206 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
4207 #[cfg(feature = "Win32_System_Com")]
4208 pub unsafe fn GetOutputStream(&self) -> ::windows::core::Result<ISpStreamFormat> {
4209 let mut result__ = ::windows::core::zeroed::<ISpStreamFormat>();
4210 (::windows::core::Interface::vtable(self).GetOutputStream)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4211 }
4212 pub unsafe fn Pause(&self) -> ::windows::core::Result<()> {
4213 (::windows::core::Interface::vtable(self).Pause)(::windows::core::Interface::as_raw(self)).ok()
4214 }
4215 pub unsafe fn Resume(&self) -> ::windows::core::Result<()> {
4216 (::windows::core::Interface::vtable(self).Resume)(::windows::core::Interface::as_raw(self)).ok()
4217 }
4218 pub unsafe fn SetVoice<P0>(&self, ptoken: P0) -> ::windows::core::Result<()>
4219 where
4220 P0: ::windows::core::IntoParam<ISpObjectToken>,
4221 {
4222 (::windows::core::Interface::vtable(self).SetVoice)(::windows::core::Interface::as_raw(self), ptoken.into_param().abi()).ok()
4223 }
4224 pub unsafe fn GetVoice(&self) -> ::windows::core::Result<ISpObjectToken> {
4225 let mut result__ = ::windows::core::zeroed::<ISpObjectToken>();
4226 (::windows::core::Interface::vtable(self).GetVoice)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4227 }
4228 pub unsafe fn Speak<P0>(&self, pwcs: P0, dwflags: u32, pulstreamnumber: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()>
4229 where
4230 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
4231 {
4232 (::windows::core::Interface::vtable(self).Speak)(::windows::core::Interface::as_raw(self), pwcs.into_param().abi(), dwflags, ::core::mem::transmute(pulstreamnumber.unwrap_or(::std::ptr::null_mut()))).ok()
4233 }
4234 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
4235 #[cfg(feature = "Win32_System_Com")]
4236 pub unsafe fn SpeakStream<P0>(&self, pstream: P0, dwflags: u32, pulstreamnumber: ::core::option::Option<*mut u32>) -> ::windows::core::Result<()>
4237 where
4238 P0: ::windows::core::IntoParam<super::super::System::Com::IStream>,
4239 {
4240 (::windows::core::Interface::vtable(self).SpeakStream)(::windows::core::Interface::as_raw(self), pstream.into_param().abi(), dwflags, ::core::mem::transmute(pulstreamnumber.unwrap_or(::std::ptr::null_mut()))).ok()
4241 }
4242 pub unsafe fn GetStatus(&self, pstatus: *mut SPVOICESTATUS, ppszlastbookmark: *mut ::windows::core::PWSTR) -> ::windows::core::Result<()> {
4243 (::windows::core::Interface::vtable(self).GetStatus)(::windows::core::Interface::as_raw(self), pstatus, ppszlastbookmark).ok()
4244 }
4245 pub unsafe fn Skip<P0>(&self, pitemtype: P0, lnumitems: i32, pulnumskipped: *mut u32) -> ::windows::core::Result<()>
4246 where
4247 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
4248 {
4249 (::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), pitemtype.into_param().abi(), lnumitems, pulnumskipped).ok()
4250 }
4251 pub unsafe fn SetPriority(&self, epriority: SPVPRIORITY) -> ::windows::core::Result<()> {
4252 (::windows::core::Interface::vtable(self).SetPriority)(::windows::core::Interface::as_raw(self), epriority).ok()
4253 }
4254 pub unsafe fn GetPriority(&self, pepriority: *mut SPVPRIORITY) -> ::windows::core::Result<()> {
4255 (::windows::core::Interface::vtable(self).GetPriority)(::windows::core::Interface::as_raw(self), pepriority).ok()
4256 }
4257 pub unsafe fn SetAlertBoundary(&self, eboundary: SPEVENTENUM) -> ::windows::core::Result<()> {
4258 (::windows::core::Interface::vtable(self).SetAlertBoundary)(::windows::core::Interface::as_raw(self), eboundary).ok()
4259 }
4260 pub unsafe fn GetAlertBoundary(&self, peboundary: *mut SPEVENTENUM) -> ::windows::core::Result<()> {
4261 (::windows::core::Interface::vtable(self).GetAlertBoundary)(::windows::core::Interface::as_raw(self), peboundary).ok()
4262 }
4263 pub unsafe fn SetRate(&self, rateadjust: i32) -> ::windows::core::Result<()> {
4264 (::windows::core::Interface::vtable(self).SetRate)(::windows::core::Interface::as_raw(self), rateadjust).ok()
4265 }
4266 pub unsafe fn GetRate(&self, prateadjust: *mut i32) -> ::windows::core::Result<()> {
4267 (::windows::core::Interface::vtable(self).GetRate)(::windows::core::Interface::as_raw(self), prateadjust).ok()
4268 }
4269 pub unsafe fn SetVolume(&self, usvolume: u16) -> ::windows::core::Result<()> {
4270 (::windows::core::Interface::vtable(self).SetVolume)(::windows::core::Interface::as_raw(self), usvolume).ok()
4271 }
4272 pub unsafe fn GetVolume(&self, pusvolume: *mut u16) -> ::windows::core::Result<()> {
4273 (::windows::core::Interface::vtable(self).GetVolume)(::windows::core::Interface::as_raw(self), pusvolume).ok()
4274 }
4275 pub unsafe fn WaitUntilDone(&self, mstimeout: u32) -> ::windows::core::Result<()> {
4276 (::windows::core::Interface::vtable(self).WaitUntilDone)(::windows::core::Interface::as_raw(self), mstimeout).ok()
4277 }
4278 pub unsafe fn SetSyncSpeakTimeout(&self, mstimeout: u32) -> ::windows::core::Result<()> {
4279 (::windows::core::Interface::vtable(self).SetSyncSpeakTimeout)(::windows::core::Interface::as_raw(self), mstimeout).ok()
4280 }
4281 pub unsafe fn GetSyncSpeakTimeout(&self, pmstimeout: *mut u32) -> ::windows::core::Result<()> {
4282 (::windows::core::Interface::vtable(self).GetSyncSpeakTimeout)(::windows::core::Interface::as_raw(self), pmstimeout).ok()
4283 }
4284 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
4285 #[cfg(feature = "Win32_Foundation")]
4286 pub unsafe fn SpeakCompleteEvent(&self) -> super::super::Foundation::HANDLE {
4287 (::windows::core::Interface::vtable(self).SpeakCompleteEvent)(::windows::core::Interface::as_raw(self))
4288 }
4289 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
4290 #[cfg(feature = "Win32_Foundation")]
4291 pub unsafe fn IsUISupported<P0>(&self, psztypeofui: P0, pvextradata: *mut ::core::ffi::c_void, cbextradata: u32, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::core::Result<()>
4292 where
4293 P0: ::windows::core::IntoParam<::windows::core::PCWSTR>,
4294 {
4295 (::windows::core::Interface::vtable(self).IsUISupported)(::windows::core::Interface::as_raw(self), psztypeofui.into_param().abi(), pvextradata, cbextradata, pfsupported).ok()
4296 }
4297 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
4298 #[cfg(feature = "Win32_Foundation")]
4299 pub unsafe fn DisplayUI<P0, P1, P2>(&self, hwndparent: P0, psztitle: P1, psztypeofui: P2, pvextradata: *mut ::core::ffi::c_void, cbextradata: u32) -> ::windows::core::Result<()>
4300 where
4301 P0: ::windows::core::IntoParam<super::super::Foundation::HWND>,
4302 P1: ::windows::core::IntoParam<::windows::core::PCWSTR>,
4303 P2: ::windows::core::IntoParam<::windows::core::PCWSTR>,
4304 {
4305 (::windows::core::Interface::vtable(self).DisplayUI)(::windows::core::Interface::as_raw(self), hwndparent.into_param().abi(), psztitle.into_param().abi(), psztypeofui.into_param().abi(), pvextradata, cbextradata).ok()
4306 }
4307}
4308::windows::imp::interface_hierarchy!(ISpVoice, ::windows::core::IUnknown, ISpNotifySource, ISpEventSource);
4309impl ::core::cmp::PartialEq for ISpVoice {
4310 fn eq(&self, other: &Self) -> bool {
4311 self.0 == other.0
4312 }
4313}
4314impl ::core::cmp::Eq for ISpVoice {}
4315impl ::core::fmt::Debug for ISpVoice {
4316 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4317 f.debug_tuple("ISpVoice").field(&self.0).finish()
4318 }
4319}
4320unsafe impl ::windows::core::Interface for ISpVoice {
4321 type Vtable = ISpVoice_Vtbl;
4322}
4323impl ::core::clone::Clone for ISpVoice {
4324 fn clone(&self) -> Self {
4325 Self(self.0.clone())
4326 }
4327}
4328unsafe impl ::windows::core::ComInterface for ISpVoice {
4329 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6c44df74_72b9_4992_a1ec_ef996e0422d4);
4330}
4331#[repr(C)]
4332#[doc(hidden)]
4333pub struct ISpVoice_Vtbl {
4334 pub base__: ISpEventSource_Vtbl,
4335 #[cfg(feature = "Win32_Foundation")]
4336 pub SetOutput: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, punkoutput: *mut ::core::ffi::c_void, fallowformatchanges: super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
4337 #[cfg(not(feature = "Win32_Foundation"))]
4338 SetOutput: usize,
4339 pub GetOutputObjectToken: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppobjecttoken: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
4340 #[cfg(feature = "Win32_System_Com")]
4341 pub GetOutputStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppstream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
4342 #[cfg(not(feature = "Win32_System_Com"))]
4343 GetOutputStream: usize,
4344 pub Pause: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
4345 pub Resume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
4346 pub SetVoice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ptoken: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
4347 pub GetVoice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pptoken: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
4348 pub Speak: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pwcs: ::windows::core::PCWSTR, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::core::HRESULT,
4349 #[cfg(feature = "Win32_System_Com")]
4350 pub SpeakStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstream: *mut ::core::ffi::c_void, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::core::HRESULT,
4351 #[cfg(not(feature = "Win32_System_Com"))]
4352 SpeakStream: usize,
4353 pub GetStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pstatus: *mut SPVOICESTATUS, ppszlastbookmark: *mut ::windows::core::PWSTR) -> ::windows::core::HRESULT,
4354 pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pitemtype: ::windows::core::PCWSTR, lnumitems: i32, pulnumskipped: *mut u32) -> ::windows::core::HRESULT,
4355 pub SetPriority: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, epriority: SPVPRIORITY) -> ::windows::core::HRESULT,
4356 pub GetPriority: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pepriority: *mut SPVPRIORITY) -> ::windows::core::HRESULT,
4357 pub SetAlertBoundary: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eboundary: SPEVENTENUM) -> ::windows::core::HRESULT,
4358 pub GetAlertBoundary: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, peboundary: *mut SPEVENTENUM) -> ::windows::core::HRESULT,
4359 pub SetRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rateadjust: i32) -> ::windows::core::HRESULT,
4360 pub GetRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, prateadjust: *mut i32) -> ::windows::core::HRESULT,
4361 pub SetVolume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, usvolume: u16) -> ::windows::core::HRESULT,
4362 pub GetVolume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pusvolume: *mut u16) -> ::windows::core::HRESULT,
4363 pub WaitUntilDone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mstimeout: u32) -> ::windows::core::HRESULT,
4364 pub SetSyncSpeakTimeout: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mstimeout: u32) -> ::windows::core::HRESULT,
4365 pub GetSyncSpeakTimeout: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pmstimeout: *mut u32) -> ::windows::core::HRESULT,
4366 #[cfg(feature = "Win32_Foundation")]
4367 pub SpeakCompleteEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> super::super::Foundation::HANDLE,
4368 #[cfg(not(feature = "Win32_Foundation"))]
4369 SpeakCompleteEvent: usize,
4370 #[cfg(feature = "Win32_Foundation")]
4371 pub IsUISupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psztypeofui: ::windows::core::PCWSTR, pvextradata: *mut ::core::ffi::c_void, cbextradata: u32, pfsupported: *mut super::super::Foundation::BOOL) -> ::windows::core::HRESULT,
4372 #[cfg(not(feature = "Win32_Foundation"))]
4373 IsUISupported: usize,
4374 #[cfg(feature = "Win32_Foundation")]
4375 pub DisplayUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwndparent: super::super::Foundation::HWND, psztitle: ::windows::core::PCWSTR, psztypeofui: ::windows::core::PCWSTR, pvextradata: *mut ::core::ffi::c_void, cbextradata: u32) -> ::windows::core::HRESULT,
4376 #[cfg(not(feature = "Win32_Foundation"))]
4377 DisplayUI: usize,
4378}
4379#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
4380#[repr(transparent)]
4381pub struct ISpXMLRecoResult(::windows::core::IUnknown);
4382impl ISpXMLRecoResult {
4383 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
4384 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4385 pub unsafe fn GetPhrase(&self) -> ::windows::core::Result<*mut SPPHRASE> {
4386 let mut result__ = ::windows::core::zeroed::<*mut SPPHRASE>();
4387 (::windows::core::Interface::vtable(self).base__.base__.GetPhrase)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4388 }
4389 pub unsafe fn GetSerializedPhrase(&self) -> ::windows::core::Result<*mut SPSERIALIZEDPHRASE> {
4390 let mut result__ = ::windows::core::zeroed::<*mut SPSERIALIZEDPHRASE>();
4391 (::windows::core::Interface::vtable(self).base__.base__.GetSerializedPhrase)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4392 }
4393 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
4394 #[cfg(feature = "Win32_Foundation")]
4395 pub unsafe fn GetText<P0>(&self, ulstart: u32, ulcount: u32, fusetextreplacements: P0, ppszcomemtext: *mut ::windows::core::PWSTR, pbdisplayattributes: ::core::option::Option<*mut u8>) -> ::windows::core::Result<()>
4396 where
4397 P0: ::windows::core::IntoParam<super::super::Foundation::BOOL>,
4398 {
4399 (::windows::core::Interface::vtable(self).base__.base__.GetText)(::windows::core::Interface::as_raw(self), ulstart, ulcount, fusetextreplacements.into_param().abi(), ppszcomemtext, ::core::mem::transmute(pbdisplayattributes.unwrap_or(::std::ptr::null_mut()))).ok()
4400 }
4401 pub unsafe fn Discard(&self, dwvaluetypes: u32) -> ::windows::core::Result<()> {
4402 (::windows::core::Interface::vtable(self).base__.base__.Discard)(::windows::core::Interface::as_raw(self), dwvaluetypes).ok()
4403 }
4404 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
4405 #[cfg(feature = "Win32_Foundation")]
4406 pub unsafe fn GetResultTimes(&self, ptimes: *mut SPRECORESULTTIMES) -> ::windows::core::Result<()> {
4407 (::windows::core::Interface::vtable(self).base__.GetResultTimes)(::windows::core::Interface::as_raw(self), ptimes).ok()
4408 }
4409 pub unsafe fn GetAlternates(&self, ulstartelement: u32, celements: u32, ppphrases: &mut [::core::option::Option<ISpPhraseAlt>], pcphrasesreturned: *mut u32) -> ::windows::core::Result<()> {
4410 (::windows::core::Interface::vtable(self).base__.GetAlternates)(::windows::core::Interface::as_raw(self), ulstartelement, celements, ppphrases.len() as _, ::core::mem::transmute(ppphrases.as_ptr()), pcphrasesreturned).ok()
4411 }
4412 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
4413 #[cfg(feature = "Win32_System_Com")]
4414 pub unsafe fn GetAudio(&self, ulstartelement: u32, celements: u32) -> ::windows::core::Result<ISpStreamFormat> {
4415 let mut result__ = ::windows::core::zeroed::<ISpStreamFormat>();
4416 (::windows::core::Interface::vtable(self).base__.GetAudio)(::windows::core::Interface::as_raw(self), ulstartelement, celements, &mut result__).from_abi(result__)
4417 }
4418 pub unsafe fn SpeakAudio(&self, ulstartelement: u32, celements: u32, dwflags: u32, pulstreamnumber: *mut u32) -> ::windows::core::Result<()> {
4419 (::windows::core::Interface::vtable(self).base__.SpeakAudio)(::windows::core::Interface::as_raw(self), ulstartelement, celements, dwflags, pulstreamnumber).ok()
4420 }
4421 pub unsafe fn Serialize(&self, ppcomemserializedresult: *mut *mut SPSERIALIZEDRESULT) -> ::windows::core::Result<()> {
4422 (::windows::core::Interface::vtable(self).base__.Serialize)(::windows::core::Interface::as_raw(self), ppcomemserializedresult).ok()
4423 }
4424 #[doc = "*Required features: `\"Win32_Media_Audio\"`*"]
4425 #[cfg(feature = "Win32_Media_Audio")]
4426 pub unsafe fn ScaleAudio(&self, paudioformatid: *const ::windows::core::GUID, pwaveformatex: *const super::Audio::WAVEFORMATEX) -> ::windows::core::Result<()> {
4427 (::windows::core::Interface::vtable(self).base__.ScaleAudio)(::windows::core::Interface::as_raw(self), paudioformatid, pwaveformatex).ok()
4428 }
4429 pub unsafe fn GetRecoContext(&self) -> ::windows::core::Result<ISpRecoContext> {
4430 let mut result__ = ::windows::core::zeroed::<ISpRecoContext>();
4431 (::windows::core::Interface::vtable(self).base__.GetRecoContext)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4432 }
4433 pub unsafe fn GetXMLResult(&self, ppszcomemxmlresult: *mut ::windows::core::PWSTR, options: SPXMLRESULTOPTIONS) -> ::windows::core::Result<()> {
4434 (::windows::core::Interface::vtable(self).GetXMLResult)(::windows::core::Interface::as_raw(self), ppszcomemxmlresult, options).ok()
4435 }
4436 pub unsafe fn GetXMLErrorInfo(&self, psemanticerrorinfo: *mut SPSEMANTICERRORINFO) -> ::windows::core::Result<()> {
4437 (::windows::core::Interface::vtable(self).GetXMLErrorInfo)(::windows::core::Interface::as_raw(self), psemanticerrorinfo).ok()
4438 }
4439}
4440::windows::imp::interface_hierarchy!(ISpXMLRecoResult, ::windows::core::IUnknown, ISpPhrase, ISpRecoResult);
4441impl ::core::cmp::PartialEq for ISpXMLRecoResult {
4442 fn eq(&self, other: &Self) -> bool {
4443 self.0 == other.0
4444 }
4445}
4446impl ::core::cmp::Eq for ISpXMLRecoResult {}
4447impl ::core::fmt::Debug for ISpXMLRecoResult {
4448 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4449 f.debug_tuple("ISpXMLRecoResult").field(&self.0).finish()
4450 }
4451}
4452unsafe impl ::windows::core::Interface for ISpXMLRecoResult {
4453 type Vtable = ISpXMLRecoResult_Vtbl;
4454}
4455impl ::core::clone::Clone for ISpXMLRecoResult {
4456 fn clone(&self) -> Self {
4457 Self(self.0.clone())
4458 }
4459}
4460unsafe impl ::windows::core::ComInterface for ISpXMLRecoResult {
4461 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xae39362b_45a8_4074_9b9e_ccf49aa2d0b6);
4462}
4463#[repr(C)]
4464#[doc(hidden)]
4465pub struct ISpXMLRecoResult_Vtbl {
4466 pub base__: ISpRecoResult_Vtbl,
4467 pub GetXMLResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppszcomemxmlresult: *mut ::windows::core::PWSTR, options: SPXMLRESULTOPTIONS) -> ::windows::core::HRESULT,
4468 pub GetXMLErrorInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, psemanticerrorinfo: *mut SPSEMANTICERRORINFO) -> ::windows::core::HRESULT,
4469}
4470#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
4471#[cfg(feature = "Win32_System_Com")]
4472#[repr(transparent)]
4473pub struct ISpeechAudio(::windows::core::IUnknown);
4474#[cfg(feature = "Win32_System_Com")]
4475impl ISpeechAudio {
4476 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
4477 #[cfg(feature = "Win32_System_Com")]
4478 pub unsafe fn Format(&self) -> ::windows::core::Result<ISpeechAudioFormat> {
4479 let mut result__ = ::windows::core::zeroed::<ISpeechAudioFormat>();
4480 (::windows::core::Interface::vtable(self).base__.Format)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4481 }
4482 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
4483 #[cfg(feature = "Win32_System_Com")]
4484 pub unsafe fn putref_Format<P0>(&self, audioformat: P0) -> ::windows::core::Result<()>
4485 where
4486 P0: ::windows::core::IntoParam<ISpeechAudioFormat>,
4487 {
4488 (::windows::core::Interface::vtable(self).base__.putref_Format)(::windows::core::Interface::as_raw(self), audioformat.into_param().abi()).ok()
4489 }
4490 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
4491 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4492 pub unsafe fn Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::core::Result<()> {
4493 (::windows::core::Interface::vtable(self).base__.Read)(::windows::core::Interface::as_raw(self), buffer, numberofbytes, bytesread).ok()
4494 }
4495 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
4496 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4497 pub unsafe fn Write(&self, buffer: super::super::System::Com::VARIANT) -> ::windows::core::Result<i32> {
4498 let mut result__ = ::windows::core::zeroed::<i32>();
4499 (::windows::core::Interface::vtable(self).base__.Write)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(buffer), &mut result__).from_abi(result__)
4500 }
4501 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
4502 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4503 pub unsafe fn Seek(&self, position: super::super::System::Com::VARIANT, origin: SpeechStreamSeekPositionType) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
4504 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
4505 (::windows::core::Interface::vtable(self).base__.Seek)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(position), origin, &mut result__).from_abi(result__)
4506 }
4507 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
4508 #[cfg(feature = "Win32_System_Com")]
4509 pub unsafe fn Status(&self) -> ::windows::core::Result<ISpeechAudioStatus> {
4510 let mut result__ = ::windows::core::zeroed::<ISpeechAudioStatus>();
4511 (::windows::core::Interface::vtable(self).Status)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4512 }
4513 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
4514 #[cfg(feature = "Win32_System_Com")]
4515 pub unsafe fn BufferInfo(&self) -> ::windows::core::Result<ISpeechAudioBufferInfo> {
4516 let mut result__ = ::windows::core::zeroed::<ISpeechAudioBufferInfo>();
4517 (::windows::core::Interface::vtable(self).BufferInfo)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4518 }
4519 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
4520 #[cfg(feature = "Win32_System_Com")]
4521 pub unsafe fn DefaultFormat(&self) -> ::windows::core::Result<ISpeechAudioFormat> {
4522 let mut result__ = ::windows::core::zeroed::<ISpeechAudioFormat>();
4523 (::windows::core::Interface::vtable(self).DefaultFormat)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4524 }
4525 pub unsafe fn Volume(&self) -> ::windows::core::Result<i32> {
4526 let mut result__ = ::windows::core::zeroed::<i32>();
4527 (::windows::core::Interface::vtable(self).Volume)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4528 }
4529 pub unsafe fn SetVolume(&self, volume: i32) -> ::windows::core::Result<()> {
4530 (::windows::core::Interface::vtable(self).SetVolume)(::windows::core::Interface::as_raw(self), volume).ok()
4531 }
4532 pub unsafe fn BufferNotifySize(&self) -> ::windows::core::Result<i32> {
4533 let mut result__ = ::windows::core::zeroed::<i32>();
4534 (::windows::core::Interface::vtable(self).BufferNotifySize)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4535 }
4536 pub unsafe fn SetBufferNotifySize(&self, buffernotifysize: i32) -> ::windows::core::Result<()> {
4537 (::windows::core::Interface::vtable(self).SetBufferNotifySize)(::windows::core::Interface::as_raw(self), buffernotifysize).ok()
4538 }
4539 pub unsafe fn EventHandle(&self) -> ::windows::core::Result<i32> {
4540 let mut result__ = ::windows::core::zeroed::<i32>();
4541 (::windows::core::Interface::vtable(self).EventHandle)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4542 }
4543 pub unsafe fn SetState(&self, state: SpeechAudioState) -> ::windows::core::Result<()> {
4544 (::windows::core::Interface::vtable(self).SetState)(::windows::core::Interface::as_raw(self), state).ok()
4545 }
4546}
4547#[cfg(feature = "Win32_System_Com")]
4548::windows::imp::interface_hierarchy!(ISpeechAudio, ::windows::core::IUnknown, super::super::System::Com::IDispatch, ISpeechBaseStream);
4549#[cfg(feature = "Win32_System_Com")]
4550impl ::core::cmp::PartialEq for ISpeechAudio {
4551 fn eq(&self, other: &Self) -> bool {
4552 self.0 == other.0
4553 }
4554}
4555#[cfg(feature = "Win32_System_Com")]
4556impl ::core::cmp::Eq for ISpeechAudio {}
4557#[cfg(feature = "Win32_System_Com")]
4558impl ::core::fmt::Debug for ISpeechAudio {
4559 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4560 f.debug_tuple("ISpeechAudio").field(&self.0).finish()
4561 }
4562}
4563#[cfg(feature = "Win32_System_Com")]
4564unsafe impl ::windows::core::Interface for ISpeechAudio {
4565 type Vtable = ISpeechAudio_Vtbl;
4566}
4567#[cfg(feature = "Win32_System_Com")]
4568impl ::core::clone::Clone for ISpeechAudio {
4569 fn clone(&self) -> Self {
4570 Self(self.0.clone())
4571 }
4572}
4573#[cfg(feature = "Win32_System_Com")]
4574unsafe impl ::windows::core::ComInterface for ISpeechAudio {
4575 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcff8e175_019e_11d3_a08e_00c04f8ef9b5);
4576}
4577#[cfg(feature = "Win32_System_Com")]
4578#[repr(C)]
4579#[doc(hidden)]
4580pub struct ISpeechAudio_Vtbl {
4581 pub base__: ISpeechBaseStream_Vtbl,
4582 #[cfg(feature = "Win32_System_Com")]
4583 pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, status: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
4584 #[cfg(not(feature = "Win32_System_Com"))]
4585 Status: usize,
4586 #[cfg(feature = "Win32_System_Com")]
4587 pub BufferInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bufferinfo: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
4588 #[cfg(not(feature = "Win32_System_Com"))]
4589 BufferInfo: usize,
4590 #[cfg(feature = "Win32_System_Com")]
4591 pub DefaultFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, streamformat: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
4592 #[cfg(not(feature = "Win32_System_Com"))]
4593 DefaultFormat: usize,
4594 pub Volume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, volume: *mut i32) -> ::windows::core::HRESULT,
4595 pub SetVolume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, volume: i32) -> ::windows::core::HRESULT,
4596 pub BufferNotifySize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buffernotifysize: *mut i32) -> ::windows::core::HRESULT,
4597 pub SetBufferNotifySize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buffernotifysize: i32) -> ::windows::core::HRESULT,
4598 pub EventHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventhandle: *mut i32) -> ::windows::core::HRESULT,
4599 pub SetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: SpeechAudioState) -> ::windows::core::HRESULT,
4600}
4601#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
4602#[cfg(feature = "Win32_System_Com")]
4603#[repr(transparent)]
4604pub struct ISpeechAudioBufferInfo(::windows::core::IUnknown);
4605#[cfg(feature = "Win32_System_Com")]
4606impl ISpeechAudioBufferInfo {
4607 pub unsafe fn MinNotification(&self) -> ::windows::core::Result<i32> {
4608 let mut result__ = ::windows::core::zeroed::<i32>();
4609 (::windows::core::Interface::vtable(self).MinNotification)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4610 }
4611 pub unsafe fn SetMinNotification(&self, minnotification: i32) -> ::windows::core::Result<()> {
4612 (::windows::core::Interface::vtable(self).SetMinNotification)(::windows::core::Interface::as_raw(self), minnotification).ok()
4613 }
4614 pub unsafe fn BufferSize(&self) -> ::windows::core::Result<i32> {
4615 let mut result__ = ::windows::core::zeroed::<i32>();
4616 (::windows::core::Interface::vtable(self).BufferSize)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4617 }
4618 pub unsafe fn SetBufferSize(&self, buffersize: i32) -> ::windows::core::Result<()> {
4619 (::windows::core::Interface::vtable(self).SetBufferSize)(::windows::core::Interface::as_raw(self), buffersize).ok()
4620 }
4621 pub unsafe fn EventBias(&self) -> ::windows::core::Result<i32> {
4622 let mut result__ = ::windows::core::zeroed::<i32>();
4623 (::windows::core::Interface::vtable(self).EventBias)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4624 }
4625 pub unsafe fn SetEventBias(&self, eventbias: i32) -> ::windows::core::Result<()> {
4626 (::windows::core::Interface::vtable(self).SetEventBias)(::windows::core::Interface::as_raw(self), eventbias).ok()
4627 }
4628}
4629#[cfg(feature = "Win32_System_Com")]
4630::windows::imp::interface_hierarchy!(ISpeechAudioBufferInfo, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
4631#[cfg(feature = "Win32_System_Com")]
4632impl ::core::cmp::PartialEq for ISpeechAudioBufferInfo {
4633 fn eq(&self, other: &Self) -> bool {
4634 self.0 == other.0
4635 }
4636}
4637#[cfg(feature = "Win32_System_Com")]
4638impl ::core::cmp::Eq for ISpeechAudioBufferInfo {}
4639#[cfg(feature = "Win32_System_Com")]
4640impl ::core::fmt::Debug for ISpeechAudioBufferInfo {
4641 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4642 f.debug_tuple("ISpeechAudioBufferInfo").field(&self.0).finish()
4643 }
4644}
4645#[cfg(feature = "Win32_System_Com")]
4646unsafe impl ::windows::core::Interface for ISpeechAudioBufferInfo {
4647 type Vtable = ISpeechAudioBufferInfo_Vtbl;
4648}
4649#[cfg(feature = "Win32_System_Com")]
4650impl ::core::clone::Clone for ISpeechAudioBufferInfo {
4651 fn clone(&self) -> Self {
4652 Self(self.0.clone())
4653 }
4654}
4655#[cfg(feature = "Win32_System_Com")]
4656unsafe impl ::windows::core::ComInterface for ISpeechAudioBufferInfo {
4657 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x11b103d8_1142_4edf_a093_82fb3915f8cc);
4658}
4659#[cfg(feature = "Win32_System_Com")]
4660#[repr(C)]
4661#[doc(hidden)]
4662pub struct ISpeechAudioBufferInfo_Vtbl {
4663 pub base__: super::super::System::Com::IDispatch_Vtbl,
4664 pub MinNotification: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, minnotification: *mut i32) -> ::windows::core::HRESULT,
4665 pub SetMinNotification: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, minnotification: i32) -> ::windows::core::HRESULT,
4666 pub BufferSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buffersize: *mut i32) -> ::windows::core::HRESULT,
4667 pub SetBufferSize: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buffersize: i32) -> ::windows::core::HRESULT,
4668 pub EventBias: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventbias: *mut i32) -> ::windows::core::HRESULT,
4669 pub SetEventBias: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventbias: i32) -> ::windows::core::HRESULT,
4670}
4671#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
4672#[cfg(feature = "Win32_System_Com")]
4673#[repr(transparent)]
4674pub struct ISpeechAudioFormat(::windows::core::IUnknown);
4675#[cfg(feature = "Win32_System_Com")]
4676impl ISpeechAudioFormat {
4677 pub unsafe fn Type(&self) -> ::windows::core::Result<SpeechAudioFormatType> {
4678 let mut result__ = ::windows::core::zeroed::<SpeechAudioFormatType>();
4679 (::windows::core::Interface::vtable(self).Type)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4680 }
4681 pub unsafe fn SetType(&self, audioformat: SpeechAudioFormatType) -> ::windows::core::Result<()> {
4682 (::windows::core::Interface::vtable(self).SetType)(::windows::core::Interface::as_raw(self), audioformat).ok()
4683 }
4684 pub unsafe fn Guid(&self) -> ::windows::core::Result<::windows::core::BSTR> {
4685 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
4686 (::windows::core::Interface::vtable(self).Guid)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4687 }
4688 pub unsafe fn SetGuid<P0>(&self, guid: P0) -> ::windows::core::Result<()>
4689 where
4690 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
4691 {
4692 (::windows::core::Interface::vtable(self).SetGuid)(::windows::core::Interface::as_raw(self), guid.into_param().abi()).ok()
4693 }
4694 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
4695 #[cfg(feature = "Win32_System_Com")]
4696 pub unsafe fn GetWaveFormatEx(&self) -> ::windows::core::Result<ISpeechWaveFormatEx> {
4697 let mut result__ = ::windows::core::zeroed::<ISpeechWaveFormatEx>();
4698 (::windows::core::Interface::vtable(self).GetWaveFormatEx)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4699 }
4700 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
4701 #[cfg(feature = "Win32_System_Com")]
4702 pub unsafe fn SetWaveFormatEx<P0>(&self, speechwaveformatex: P0) -> ::windows::core::Result<()>
4703 where
4704 P0: ::windows::core::IntoParam<ISpeechWaveFormatEx>,
4705 {
4706 (::windows::core::Interface::vtable(self).SetWaveFormatEx)(::windows::core::Interface::as_raw(self), speechwaveformatex.into_param().abi()).ok()
4707 }
4708}
4709#[cfg(feature = "Win32_System_Com")]
4710::windows::imp::interface_hierarchy!(ISpeechAudioFormat, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
4711#[cfg(feature = "Win32_System_Com")]
4712impl ::core::cmp::PartialEq for ISpeechAudioFormat {
4713 fn eq(&self, other: &Self) -> bool {
4714 self.0 == other.0
4715 }
4716}
4717#[cfg(feature = "Win32_System_Com")]
4718impl ::core::cmp::Eq for ISpeechAudioFormat {}
4719#[cfg(feature = "Win32_System_Com")]
4720impl ::core::fmt::Debug for ISpeechAudioFormat {
4721 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4722 f.debug_tuple("ISpeechAudioFormat").field(&self.0).finish()
4723 }
4724}
4725#[cfg(feature = "Win32_System_Com")]
4726unsafe impl ::windows::core::Interface for ISpeechAudioFormat {
4727 type Vtable = ISpeechAudioFormat_Vtbl;
4728}
4729#[cfg(feature = "Win32_System_Com")]
4730impl ::core::clone::Clone for ISpeechAudioFormat {
4731 fn clone(&self) -> Self {
4732 Self(self.0.clone())
4733 }
4734}
4735#[cfg(feature = "Win32_System_Com")]
4736unsafe impl ::windows::core::ComInterface for ISpeechAudioFormat {
4737 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe6e9c590_3e18_40e3_8299_061f98bde7c7);
4738}
4739#[cfg(feature = "Win32_System_Com")]
4740#[repr(C)]
4741#[doc(hidden)]
4742pub struct ISpeechAudioFormat_Vtbl {
4743 pub base__: super::super::System::Com::IDispatch_Vtbl,
4744 pub Type: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audioformat: *mut SpeechAudioFormatType) -> ::windows::core::HRESULT,
4745 pub SetType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audioformat: SpeechAudioFormatType) -> ::windows::core::HRESULT,
4746 pub Guid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
4747 pub SetGuid: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, guid: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
4748 #[cfg(feature = "Win32_System_Com")]
4749 pub GetWaveFormatEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, speechwaveformatex: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
4750 #[cfg(not(feature = "Win32_System_Com"))]
4751 GetWaveFormatEx: usize,
4752 #[cfg(feature = "Win32_System_Com")]
4753 pub SetWaveFormatEx: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, speechwaveformatex: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
4754 #[cfg(not(feature = "Win32_System_Com"))]
4755 SetWaveFormatEx: usize,
4756}
4757#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
4758#[cfg(feature = "Win32_System_Com")]
4759#[repr(transparent)]
4760pub struct ISpeechAudioStatus(::windows::core::IUnknown);
4761#[cfg(feature = "Win32_System_Com")]
4762impl ISpeechAudioStatus {
4763 pub unsafe fn FreeBufferSpace(&self) -> ::windows::core::Result<i32> {
4764 let mut result__ = ::windows::core::zeroed::<i32>();
4765 (::windows::core::Interface::vtable(self).FreeBufferSpace)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4766 }
4767 pub unsafe fn NonBlockingIO(&self) -> ::windows::core::Result<i32> {
4768 let mut result__ = ::windows::core::zeroed::<i32>();
4769 (::windows::core::Interface::vtable(self).NonBlockingIO)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4770 }
4771 pub unsafe fn State(&self) -> ::windows::core::Result<SpeechAudioState> {
4772 let mut result__ = ::windows::core::zeroed::<SpeechAudioState>();
4773 (::windows::core::Interface::vtable(self).State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4774 }
4775 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
4776 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4777 pub unsafe fn CurrentSeekPosition(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
4778 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
4779 (::windows::core::Interface::vtable(self).CurrentSeekPosition)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4780 }
4781 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
4782 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4783 pub unsafe fn CurrentDevicePosition(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
4784 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
4785 (::windows::core::Interface::vtable(self).CurrentDevicePosition)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4786 }
4787}
4788#[cfg(feature = "Win32_System_Com")]
4789::windows::imp::interface_hierarchy!(ISpeechAudioStatus, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
4790#[cfg(feature = "Win32_System_Com")]
4791impl ::core::cmp::PartialEq for ISpeechAudioStatus {
4792 fn eq(&self, other: &Self) -> bool {
4793 self.0 == other.0
4794 }
4795}
4796#[cfg(feature = "Win32_System_Com")]
4797impl ::core::cmp::Eq for ISpeechAudioStatus {}
4798#[cfg(feature = "Win32_System_Com")]
4799impl ::core::fmt::Debug for ISpeechAudioStatus {
4800 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4801 f.debug_tuple("ISpeechAudioStatus").field(&self.0).finish()
4802 }
4803}
4804#[cfg(feature = "Win32_System_Com")]
4805unsafe impl ::windows::core::Interface for ISpeechAudioStatus {
4806 type Vtable = ISpeechAudioStatus_Vtbl;
4807}
4808#[cfg(feature = "Win32_System_Com")]
4809impl ::core::clone::Clone for ISpeechAudioStatus {
4810 fn clone(&self) -> Self {
4811 Self(self.0.clone())
4812 }
4813}
4814#[cfg(feature = "Win32_System_Com")]
4815unsafe impl ::windows::core::ComInterface for ISpeechAudioStatus {
4816 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc62d9c91_7458_47f6_862d_1ef86fb0b278);
4817}
4818#[cfg(feature = "Win32_System_Com")]
4819#[repr(C)]
4820#[doc(hidden)]
4821pub struct ISpeechAudioStatus_Vtbl {
4822 pub base__: super::super::System::Com::IDispatch_Vtbl,
4823 pub FreeBufferSpace: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, freebufferspace: *mut i32) -> ::windows::core::HRESULT,
4824 pub NonBlockingIO: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, nonblockingio: *mut i32) -> ::windows::core::HRESULT,
4825 pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: *mut SpeechAudioState) -> ::windows::core::HRESULT,
4826 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4827 pub CurrentSeekPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, currentseekposition: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
4828 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
4829 CurrentSeekPosition: usize,
4830 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4831 pub CurrentDevicePosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, currentdeviceposition: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
4832 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
4833 CurrentDevicePosition: usize,
4834}
4835#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
4836#[cfg(feature = "Win32_System_Com")]
4837#[repr(transparent)]
4838pub struct ISpeechBaseStream(::windows::core::IUnknown);
4839#[cfg(feature = "Win32_System_Com")]
4840impl ISpeechBaseStream {
4841 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
4842 #[cfg(feature = "Win32_System_Com")]
4843 pub unsafe fn Format(&self) -> ::windows::core::Result<ISpeechAudioFormat> {
4844 let mut result__ = ::windows::core::zeroed::<ISpeechAudioFormat>();
4845 (::windows::core::Interface::vtable(self).Format)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4846 }
4847 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
4848 #[cfg(feature = "Win32_System_Com")]
4849 pub unsafe fn putref_Format<P0>(&self, audioformat: P0) -> ::windows::core::Result<()>
4850 where
4851 P0: ::windows::core::IntoParam<ISpeechAudioFormat>,
4852 {
4853 (::windows::core::Interface::vtable(self).putref_Format)(::windows::core::Interface::as_raw(self), audioformat.into_param().abi()).ok()
4854 }
4855 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
4856 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4857 pub unsafe fn Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::core::Result<()> {
4858 (::windows::core::Interface::vtable(self).Read)(::windows::core::Interface::as_raw(self), buffer, numberofbytes, bytesread).ok()
4859 }
4860 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
4861 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4862 pub unsafe fn Write(&self, buffer: super::super::System::Com::VARIANT) -> ::windows::core::Result<i32> {
4863 let mut result__ = ::windows::core::zeroed::<i32>();
4864 (::windows::core::Interface::vtable(self).Write)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(buffer), &mut result__).from_abi(result__)
4865 }
4866 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
4867 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4868 pub unsafe fn Seek(&self, position: super::super::System::Com::VARIANT, origin: SpeechStreamSeekPositionType) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
4869 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
4870 (::windows::core::Interface::vtable(self).Seek)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(position), origin, &mut result__).from_abi(result__)
4871 }
4872}
4873#[cfg(feature = "Win32_System_Com")]
4874::windows::imp::interface_hierarchy!(ISpeechBaseStream, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
4875#[cfg(feature = "Win32_System_Com")]
4876impl ::core::cmp::PartialEq for ISpeechBaseStream {
4877 fn eq(&self, other: &Self) -> bool {
4878 self.0 == other.0
4879 }
4880}
4881#[cfg(feature = "Win32_System_Com")]
4882impl ::core::cmp::Eq for ISpeechBaseStream {}
4883#[cfg(feature = "Win32_System_Com")]
4884impl ::core::fmt::Debug for ISpeechBaseStream {
4885 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4886 f.debug_tuple("ISpeechBaseStream").field(&self.0).finish()
4887 }
4888}
4889#[cfg(feature = "Win32_System_Com")]
4890unsafe impl ::windows::core::Interface for ISpeechBaseStream {
4891 type Vtable = ISpeechBaseStream_Vtbl;
4892}
4893#[cfg(feature = "Win32_System_Com")]
4894impl ::core::clone::Clone for ISpeechBaseStream {
4895 fn clone(&self) -> Self {
4896 Self(self.0.clone())
4897 }
4898}
4899#[cfg(feature = "Win32_System_Com")]
4900unsafe impl ::windows::core::ComInterface for ISpeechBaseStream {
4901 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6450336f_7d49_4ced_8097_49d6dee37294);
4902}
4903#[cfg(feature = "Win32_System_Com")]
4904#[repr(C)]
4905#[doc(hidden)]
4906pub struct ISpeechBaseStream_Vtbl {
4907 pub base__: super::super::System::Com::IDispatch_Vtbl,
4908 #[cfg(feature = "Win32_System_Com")]
4909 pub Format: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audioformat: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
4910 #[cfg(not(feature = "Win32_System_Com"))]
4911 Format: usize,
4912 #[cfg(feature = "Win32_System_Com")]
4913 pub putref_Format: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audioformat: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
4914 #[cfg(not(feature = "Win32_System_Com"))]
4915 putref_Format: usize,
4916 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4917 pub Read: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::core::HRESULT,
4918 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
4919 Read: usize,
4920 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4921 pub Write: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, buffer: super::super::System::Com::VARIANT, byteswritten: *mut i32) -> ::windows::core::HRESULT,
4922 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
4923 Write: usize,
4924 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4925 pub Seek: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, position: super::super::System::Com::VARIANT, origin: SpeechStreamSeekPositionType, newposition: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
4926 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
4927 Seek: usize,
4928}
4929#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
4930#[cfg(feature = "Win32_System_Com")]
4931#[repr(transparent)]
4932pub struct ISpeechCustomStream(::windows::core::IUnknown);
4933#[cfg(feature = "Win32_System_Com")]
4934impl ISpeechCustomStream {
4935 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
4936 #[cfg(feature = "Win32_System_Com")]
4937 pub unsafe fn Format(&self) -> ::windows::core::Result<ISpeechAudioFormat> {
4938 let mut result__ = ::windows::core::zeroed::<ISpeechAudioFormat>();
4939 (::windows::core::Interface::vtable(self).base__.Format)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4940 }
4941 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
4942 #[cfg(feature = "Win32_System_Com")]
4943 pub unsafe fn putref_Format<P0>(&self, audioformat: P0) -> ::windows::core::Result<()>
4944 where
4945 P0: ::windows::core::IntoParam<ISpeechAudioFormat>,
4946 {
4947 (::windows::core::Interface::vtable(self).base__.putref_Format)(::windows::core::Interface::as_raw(self), audioformat.into_param().abi()).ok()
4948 }
4949 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
4950 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4951 pub unsafe fn Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::core::Result<()> {
4952 (::windows::core::Interface::vtable(self).base__.Read)(::windows::core::Interface::as_raw(self), buffer, numberofbytes, bytesread).ok()
4953 }
4954 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
4955 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4956 pub unsafe fn Write(&self, buffer: super::super::System::Com::VARIANT) -> ::windows::core::Result<i32> {
4957 let mut result__ = ::windows::core::zeroed::<i32>();
4958 (::windows::core::Interface::vtable(self).base__.Write)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(buffer), &mut result__).from_abi(result__)
4959 }
4960 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
4961 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
4962 pub unsafe fn Seek(&self, position: super::super::System::Com::VARIANT, origin: SpeechStreamSeekPositionType) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
4963 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
4964 (::windows::core::Interface::vtable(self).base__.Seek)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(position), origin, &mut result__).from_abi(result__)
4965 }
4966 pub unsafe fn BaseStream(&self) -> ::windows::core::Result<::windows::core::IUnknown> {
4967 let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
4968 (::windows::core::Interface::vtable(self).BaseStream)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
4969 }
4970 pub unsafe fn putref_BaseStream<P0>(&self, punkstream: P0) -> ::windows::core::Result<()>
4971 where
4972 P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
4973 {
4974 (::windows::core::Interface::vtable(self).putref_BaseStream)(::windows::core::Interface::as_raw(self), punkstream.into_param().abi()).ok()
4975 }
4976}
4977#[cfg(feature = "Win32_System_Com")]
4978::windows::imp::interface_hierarchy!(ISpeechCustomStream, ::windows::core::IUnknown, super::super::System::Com::IDispatch, ISpeechBaseStream);
4979#[cfg(feature = "Win32_System_Com")]
4980impl ::core::cmp::PartialEq for ISpeechCustomStream {
4981 fn eq(&self, other: &Self) -> bool {
4982 self.0 == other.0
4983 }
4984}
4985#[cfg(feature = "Win32_System_Com")]
4986impl ::core::cmp::Eq for ISpeechCustomStream {}
4987#[cfg(feature = "Win32_System_Com")]
4988impl ::core::fmt::Debug for ISpeechCustomStream {
4989 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
4990 f.debug_tuple("ISpeechCustomStream").field(&self.0).finish()
4991 }
4992}
4993#[cfg(feature = "Win32_System_Com")]
4994unsafe impl ::windows::core::Interface for ISpeechCustomStream {
4995 type Vtable = ISpeechCustomStream_Vtbl;
4996}
4997#[cfg(feature = "Win32_System_Com")]
4998impl ::core::clone::Clone for ISpeechCustomStream {
4999 fn clone(&self) -> Self {
5000 Self(self.0.clone())
5001 }
5002}
5003#[cfg(feature = "Win32_System_Com")]
5004unsafe impl ::windows::core::ComInterface for ISpeechCustomStream {
5005 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x1a9e9f4f_104f_4db8_a115_efd7fd0c97ae);
5006}
5007#[cfg(feature = "Win32_System_Com")]
5008#[repr(C)]
5009#[doc(hidden)]
5010pub struct ISpeechCustomStream_Vtbl {
5011 pub base__: ISpeechBaseStream_Vtbl,
5012 pub BaseStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppunkstream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5013 pub putref_BaseStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, punkstream: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5014}
5015#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
5016#[cfg(feature = "Win32_System_Com")]
5017#[repr(transparent)]
5018pub struct ISpeechDataKey(::windows::core::IUnknown);
5019#[cfg(feature = "Win32_System_Com")]
5020impl ISpeechDataKey {
5021 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
5022 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5023 pub unsafe fn SetBinaryValue<P0>(&self, valuename: P0, value: super::super::System::Com::VARIANT) -> ::windows::core::Result<()>
5024 where
5025 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5026 {
5027 (::windows::core::Interface::vtable(self).SetBinaryValue)(::windows::core::Interface::as_raw(self), valuename.into_param().abi(), ::core::mem::transmute(value)).ok()
5028 }
5029 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
5030 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5031 pub unsafe fn GetBinaryValue<P0>(&self, valuename: P0) -> ::windows::core::Result<super::super::System::Com::VARIANT>
5032 where
5033 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5034 {
5035 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
5036 (::windows::core::Interface::vtable(self).GetBinaryValue)(::windows::core::Interface::as_raw(self), valuename.into_param().abi(), &mut result__).from_abi(result__)
5037 }
5038 pub unsafe fn SetStringValue<P0, P1>(&self, valuename: P0, value: P1) -> ::windows::core::Result<()>
5039 where
5040 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5041 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
5042 {
5043 (::windows::core::Interface::vtable(self).SetStringValue)(::windows::core::Interface::as_raw(self), valuename.into_param().abi(), value.into_param().abi()).ok()
5044 }
5045 pub unsafe fn GetStringValue<P0>(&self, valuename: P0) -> ::windows::core::Result<::windows::core::BSTR>
5046 where
5047 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5048 {
5049 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
5050 (::windows::core::Interface::vtable(self).GetStringValue)(::windows::core::Interface::as_raw(self), valuename.into_param().abi(), &mut result__).from_abi(result__)
5051 }
5052 pub unsafe fn SetLongValue<P0>(&self, valuename: P0, value: i32) -> ::windows::core::Result<()>
5053 where
5054 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5055 {
5056 (::windows::core::Interface::vtable(self).SetLongValue)(::windows::core::Interface::as_raw(self), valuename.into_param().abi(), value).ok()
5057 }
5058 pub unsafe fn GetLongValue<P0>(&self, valuename: P0) -> ::windows::core::Result<i32>
5059 where
5060 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5061 {
5062 let mut result__ = ::windows::core::zeroed::<i32>();
5063 (::windows::core::Interface::vtable(self).GetLongValue)(::windows::core::Interface::as_raw(self), valuename.into_param().abi(), &mut result__).from_abi(result__)
5064 }
5065 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5066 #[cfg(feature = "Win32_System_Com")]
5067 pub unsafe fn OpenKey<P0>(&self, subkeyname: P0) -> ::windows::core::Result<ISpeechDataKey>
5068 where
5069 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5070 {
5071 let mut result__ = ::windows::core::zeroed::<ISpeechDataKey>();
5072 (::windows::core::Interface::vtable(self).OpenKey)(::windows::core::Interface::as_raw(self), subkeyname.into_param().abi(), &mut result__).from_abi(result__)
5073 }
5074 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5075 #[cfg(feature = "Win32_System_Com")]
5076 pub unsafe fn CreateKey<P0>(&self, subkeyname: P0) -> ::windows::core::Result<ISpeechDataKey>
5077 where
5078 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5079 {
5080 let mut result__ = ::windows::core::zeroed::<ISpeechDataKey>();
5081 (::windows::core::Interface::vtable(self).CreateKey)(::windows::core::Interface::as_raw(self), subkeyname.into_param().abi(), &mut result__).from_abi(result__)
5082 }
5083 pub unsafe fn DeleteKey<P0>(&self, subkeyname: P0) -> ::windows::core::Result<()>
5084 where
5085 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5086 {
5087 (::windows::core::Interface::vtable(self).DeleteKey)(::windows::core::Interface::as_raw(self), subkeyname.into_param().abi()).ok()
5088 }
5089 pub unsafe fn DeleteValue<P0>(&self, valuename: P0) -> ::windows::core::Result<()>
5090 where
5091 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5092 {
5093 (::windows::core::Interface::vtable(self).DeleteValue)(::windows::core::Interface::as_raw(self), valuename.into_param().abi()).ok()
5094 }
5095 pub unsafe fn EnumKeys(&self, index: i32) -> ::windows::core::Result<::windows::core::BSTR> {
5096 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
5097 (::windows::core::Interface::vtable(self).EnumKeys)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
5098 }
5099 pub unsafe fn EnumValues(&self, index: i32) -> ::windows::core::Result<::windows::core::BSTR> {
5100 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
5101 (::windows::core::Interface::vtable(self).EnumValues)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
5102 }
5103}
5104#[cfg(feature = "Win32_System_Com")]
5105::windows::imp::interface_hierarchy!(ISpeechDataKey, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
5106#[cfg(feature = "Win32_System_Com")]
5107impl ::core::cmp::PartialEq for ISpeechDataKey {
5108 fn eq(&self, other: &Self) -> bool {
5109 self.0 == other.0
5110 }
5111}
5112#[cfg(feature = "Win32_System_Com")]
5113impl ::core::cmp::Eq for ISpeechDataKey {}
5114#[cfg(feature = "Win32_System_Com")]
5115impl ::core::fmt::Debug for ISpeechDataKey {
5116 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5117 f.debug_tuple("ISpeechDataKey").field(&self.0).finish()
5118 }
5119}
5120#[cfg(feature = "Win32_System_Com")]
5121unsafe impl ::windows::core::Interface for ISpeechDataKey {
5122 type Vtable = ISpeechDataKey_Vtbl;
5123}
5124#[cfg(feature = "Win32_System_Com")]
5125impl ::core::clone::Clone for ISpeechDataKey {
5126 fn clone(&self) -> Self {
5127 Self(self.0.clone())
5128 }
5129}
5130#[cfg(feature = "Win32_System_Com")]
5131unsafe impl ::windows::core::ComInterface for ISpeechDataKey {
5132 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xce17c09b_4efa_44d5_a4c9_59d9585ab0cd);
5133}
5134#[cfg(feature = "Win32_System_Com")]
5135#[repr(C)]
5136#[doc(hidden)]
5137pub struct ISpeechDataKey_Vtbl {
5138 pub base__: super::super::System::Com::IDispatch_Vtbl,
5139 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5140 pub SetBinaryValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, valuename: ::std::mem::MaybeUninit<::windows::core::BSTR>, value: super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
5141 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
5142 SetBinaryValue: usize,
5143 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5144 pub GetBinaryValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, valuename: ::std::mem::MaybeUninit<::windows::core::BSTR>, value: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
5145 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
5146 GetBinaryValue: usize,
5147 pub SetStringValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, valuename: ::std::mem::MaybeUninit<::windows::core::BSTR>, value: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
5148 pub GetStringValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, valuename: ::std::mem::MaybeUninit<::windows::core::BSTR>, value: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
5149 pub SetLongValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, valuename: ::std::mem::MaybeUninit<::windows::core::BSTR>, value: i32) -> ::windows::core::HRESULT,
5150 pub GetLongValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, valuename: ::std::mem::MaybeUninit<::windows::core::BSTR>, value: *mut i32) -> ::windows::core::HRESULT,
5151 #[cfg(feature = "Win32_System_Com")]
5152 pub OpenKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, subkeyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, subkey: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5153 #[cfg(not(feature = "Win32_System_Com"))]
5154 OpenKey: usize,
5155 #[cfg(feature = "Win32_System_Com")]
5156 pub CreateKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, subkeyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, subkey: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5157 #[cfg(not(feature = "Win32_System_Com"))]
5158 CreateKey: usize,
5159 pub DeleteKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, subkeyname: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
5160 pub DeleteValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, valuename: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
5161 pub EnumKeys: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, subkeyname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
5162 pub EnumValues: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, valuename: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
5163}
5164#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
5165#[cfg(feature = "Win32_System_Com")]
5166#[repr(transparent)]
5167pub struct ISpeechFileStream(::windows::core::IUnknown);
5168#[cfg(feature = "Win32_System_Com")]
5169impl ISpeechFileStream {
5170 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5171 #[cfg(feature = "Win32_System_Com")]
5172 pub unsafe fn Format(&self) -> ::windows::core::Result<ISpeechAudioFormat> {
5173 let mut result__ = ::windows::core::zeroed::<ISpeechAudioFormat>();
5174 (::windows::core::Interface::vtable(self).base__.Format)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5175 }
5176 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5177 #[cfg(feature = "Win32_System_Com")]
5178 pub unsafe fn putref_Format<P0>(&self, audioformat: P0) -> ::windows::core::Result<()>
5179 where
5180 P0: ::windows::core::IntoParam<ISpeechAudioFormat>,
5181 {
5182 (::windows::core::Interface::vtable(self).base__.putref_Format)(::windows::core::Interface::as_raw(self), audioformat.into_param().abi()).ok()
5183 }
5184 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
5185 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5186 pub unsafe fn Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::core::Result<()> {
5187 (::windows::core::Interface::vtable(self).base__.Read)(::windows::core::Interface::as_raw(self), buffer, numberofbytes, bytesread).ok()
5188 }
5189 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
5190 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5191 pub unsafe fn Write(&self, buffer: super::super::System::Com::VARIANT) -> ::windows::core::Result<i32> {
5192 let mut result__ = ::windows::core::zeroed::<i32>();
5193 (::windows::core::Interface::vtable(self).base__.Write)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(buffer), &mut result__).from_abi(result__)
5194 }
5195 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
5196 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5197 pub unsafe fn Seek(&self, position: super::super::System::Com::VARIANT, origin: SpeechStreamSeekPositionType) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
5198 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
5199 (::windows::core::Interface::vtable(self).base__.Seek)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(position), origin, &mut result__).from_abi(result__)
5200 }
5201 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
5202 #[cfg(feature = "Win32_Foundation")]
5203 pub unsafe fn Open<P0, P1>(&self, filename: P0, filemode: SpeechStreamFileMode, doevents: P1) -> ::windows::core::Result<()>
5204 where
5205 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5206 P1: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
5207 {
5208 (::windows::core::Interface::vtable(self).Open)(::windows::core::Interface::as_raw(self), filename.into_param().abi(), filemode, doevents.into_param().abi()).ok()
5209 }
5210 pub unsafe fn Close(&self) -> ::windows::core::Result<()> {
5211 (::windows::core::Interface::vtable(self).Close)(::windows::core::Interface::as_raw(self)).ok()
5212 }
5213}
5214#[cfg(feature = "Win32_System_Com")]
5215::windows::imp::interface_hierarchy!(ISpeechFileStream, ::windows::core::IUnknown, super::super::System::Com::IDispatch, ISpeechBaseStream);
5216#[cfg(feature = "Win32_System_Com")]
5217impl ::core::cmp::PartialEq for ISpeechFileStream {
5218 fn eq(&self, other: &Self) -> bool {
5219 self.0 == other.0
5220 }
5221}
5222#[cfg(feature = "Win32_System_Com")]
5223impl ::core::cmp::Eq for ISpeechFileStream {}
5224#[cfg(feature = "Win32_System_Com")]
5225impl ::core::fmt::Debug for ISpeechFileStream {
5226 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5227 f.debug_tuple("ISpeechFileStream").field(&self.0).finish()
5228 }
5229}
5230#[cfg(feature = "Win32_System_Com")]
5231unsafe impl ::windows::core::Interface for ISpeechFileStream {
5232 type Vtable = ISpeechFileStream_Vtbl;
5233}
5234#[cfg(feature = "Win32_System_Com")]
5235impl ::core::clone::Clone for ISpeechFileStream {
5236 fn clone(&self) -> Self {
5237 Self(self.0.clone())
5238 }
5239}
5240#[cfg(feature = "Win32_System_Com")]
5241unsafe impl ::windows::core::ComInterface for ISpeechFileStream {
5242 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xaf67f125_ab39_4e93_b4a2_cc2e66e182a7);
5243}
5244#[cfg(feature = "Win32_System_Com")]
5245#[repr(C)]
5246#[doc(hidden)]
5247pub struct ISpeechFileStream_Vtbl {
5248 pub base__: ISpeechBaseStream_Vtbl,
5249 #[cfg(feature = "Win32_Foundation")]
5250 pub Open: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, filename: ::std::mem::MaybeUninit<::windows::core::BSTR>, filemode: SpeechStreamFileMode, doevents: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
5251 #[cfg(not(feature = "Win32_Foundation"))]
5252 Open: usize,
5253 pub Close: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5254}
5255#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
5256#[cfg(feature = "Win32_System_Com")]
5257#[repr(transparent)]
5258pub struct ISpeechGrammarRule(::windows::core::IUnknown);
5259#[cfg(feature = "Win32_System_Com")]
5260impl ISpeechGrammarRule {
5261 pub unsafe fn Attributes(&self) -> ::windows::core::Result<SpeechRuleAttributes> {
5262 let mut result__ = ::windows::core::zeroed::<SpeechRuleAttributes>();
5263 (::windows::core::Interface::vtable(self).Attributes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5264 }
5265 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5266 #[cfg(feature = "Win32_System_Com")]
5267 pub unsafe fn InitialState(&self) -> ::windows::core::Result<ISpeechGrammarRuleState> {
5268 let mut result__ = ::windows::core::zeroed::<ISpeechGrammarRuleState>();
5269 (::windows::core::Interface::vtable(self).InitialState)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5270 }
5271 pub unsafe fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR> {
5272 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
5273 (::windows::core::Interface::vtable(self).Name)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5274 }
5275 pub unsafe fn Id(&self) -> ::windows::core::Result<i32> {
5276 let mut result__ = ::windows::core::zeroed::<i32>();
5277 (::windows::core::Interface::vtable(self).Id)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5278 }
5279 pub unsafe fn Clear(&self) -> ::windows::core::Result<()> {
5280 (::windows::core::Interface::vtable(self).Clear)(::windows::core::Interface::as_raw(self)).ok()
5281 }
5282 pub unsafe fn AddResource<P0, P1>(&self, resourcename: P0, resourcevalue: P1) -> ::windows::core::Result<()>
5283 where
5284 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5285 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
5286 {
5287 (::windows::core::Interface::vtable(self).AddResource)(::windows::core::Interface::as_raw(self), resourcename.into_param().abi(), resourcevalue.into_param().abi()).ok()
5288 }
5289 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5290 #[cfg(feature = "Win32_System_Com")]
5291 pub unsafe fn AddState(&self) -> ::windows::core::Result<ISpeechGrammarRuleState> {
5292 let mut result__ = ::windows::core::zeroed::<ISpeechGrammarRuleState>();
5293 (::windows::core::Interface::vtable(self).AddState)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5294 }
5295}
5296#[cfg(feature = "Win32_System_Com")]
5297::windows::imp::interface_hierarchy!(ISpeechGrammarRule, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
5298#[cfg(feature = "Win32_System_Com")]
5299impl ::core::cmp::PartialEq for ISpeechGrammarRule {
5300 fn eq(&self, other: &Self) -> bool {
5301 self.0 == other.0
5302 }
5303}
5304#[cfg(feature = "Win32_System_Com")]
5305impl ::core::cmp::Eq for ISpeechGrammarRule {}
5306#[cfg(feature = "Win32_System_Com")]
5307impl ::core::fmt::Debug for ISpeechGrammarRule {
5308 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5309 f.debug_tuple("ISpeechGrammarRule").field(&self.0).finish()
5310 }
5311}
5312#[cfg(feature = "Win32_System_Com")]
5313unsafe impl ::windows::core::Interface for ISpeechGrammarRule {
5314 type Vtable = ISpeechGrammarRule_Vtbl;
5315}
5316#[cfg(feature = "Win32_System_Com")]
5317impl ::core::clone::Clone for ISpeechGrammarRule {
5318 fn clone(&self) -> Self {
5319 Self(self.0.clone())
5320 }
5321}
5322#[cfg(feature = "Win32_System_Com")]
5323unsafe impl ::windows::core::ComInterface for ISpeechGrammarRule {
5324 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xafe719cf_5dd1_44f2_999c_7a399f1cfccc);
5325}
5326#[cfg(feature = "Win32_System_Com")]
5327#[repr(C)]
5328#[doc(hidden)]
5329pub struct ISpeechGrammarRule_Vtbl {
5330 pub base__: super::super::System::Com::IDispatch_Vtbl,
5331 pub Attributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, attributes: *mut SpeechRuleAttributes) -> ::windows::core::HRESULT,
5332 #[cfg(feature = "Win32_System_Com")]
5333 pub InitialState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5334 #[cfg(not(feature = "Win32_System_Com"))]
5335 InitialState: usize,
5336 pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
5337 pub Id: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: *mut i32) -> ::windows::core::HRESULT,
5338 pub Clear: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5339 pub AddResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, resourcename: ::std::mem::MaybeUninit<::windows::core::BSTR>, resourcevalue: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
5340 #[cfg(feature = "Win32_System_Com")]
5341 pub AddState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5342 #[cfg(not(feature = "Win32_System_Com"))]
5343 AddState: usize,
5344}
5345#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
5346#[cfg(feature = "Win32_System_Com")]
5347#[repr(transparent)]
5348pub struct ISpeechGrammarRuleState(::windows::core::IUnknown);
5349#[cfg(feature = "Win32_System_Com")]
5350impl ISpeechGrammarRuleState {
5351 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5352 #[cfg(feature = "Win32_System_Com")]
5353 pub unsafe fn Rule(&self) -> ::windows::core::Result<ISpeechGrammarRule> {
5354 let mut result__ = ::windows::core::zeroed::<ISpeechGrammarRule>();
5355 (::windows::core::Interface::vtable(self).Rule)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5356 }
5357 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5358 #[cfg(feature = "Win32_System_Com")]
5359 pub unsafe fn Transitions(&self) -> ::windows::core::Result<ISpeechGrammarRuleStateTransitions> {
5360 let mut result__ = ::windows::core::zeroed::<ISpeechGrammarRuleStateTransitions>();
5361 (::windows::core::Interface::vtable(self).Transitions)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5362 }
5363 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
5364 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5365 pub unsafe fn AddWordTransition<P0, P1, P2, P3>(&self, deststate: P0, words: P1, separators: P2, r#type: SpeechGrammarWordType, propertyname: P3, propertyid: i32, propertyvalue: *const super::super::System::Com::VARIANT, weight: f32) -> ::windows::core::Result<()>
5366 where
5367 P0: ::windows::core::IntoParam<ISpeechGrammarRuleState>,
5368 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
5369 P2: ::windows::core::IntoParam<::windows::core::BSTR>,
5370 P3: ::windows::core::IntoParam<::windows::core::BSTR>,
5371 {
5372 (::windows::core::Interface::vtable(self).AddWordTransition)(::windows::core::Interface::as_raw(self), deststate.into_param().abi(), words.into_param().abi(), separators.into_param().abi(), r#type, propertyname.into_param().abi(), propertyid, propertyvalue, weight).ok()
5373 }
5374 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
5375 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5376 pub unsafe fn AddRuleTransition<P0, P1, P2>(&self, destinationstate: P0, rule: P1, propertyname: P2, propertyid: i32, propertyvalue: *const super::super::System::Com::VARIANT, weight: f32) -> ::windows::core::Result<()>
5377 where
5378 P0: ::windows::core::IntoParam<ISpeechGrammarRuleState>,
5379 P1: ::windows::core::IntoParam<ISpeechGrammarRule>,
5380 P2: ::windows::core::IntoParam<::windows::core::BSTR>,
5381 {
5382 (::windows::core::Interface::vtable(self).AddRuleTransition)(::windows::core::Interface::as_raw(self), destinationstate.into_param().abi(), rule.into_param().abi(), propertyname.into_param().abi(), propertyid, propertyvalue, weight).ok()
5383 }
5384 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
5385 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5386 pub unsafe fn AddSpecialTransition<P0, P1>(&self, destinationstate: P0, r#type: SpeechSpecialTransitionType, propertyname: P1, propertyid: i32, propertyvalue: *const super::super::System::Com::VARIANT, weight: f32) -> ::windows::core::Result<()>
5387 where
5388 P0: ::windows::core::IntoParam<ISpeechGrammarRuleState>,
5389 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
5390 {
5391 (::windows::core::Interface::vtable(self).AddSpecialTransition)(::windows::core::Interface::as_raw(self), destinationstate.into_param().abi(), r#type, propertyname.into_param().abi(), propertyid, propertyvalue, weight).ok()
5392 }
5393}
5394#[cfg(feature = "Win32_System_Com")]
5395::windows::imp::interface_hierarchy!(ISpeechGrammarRuleState, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
5396#[cfg(feature = "Win32_System_Com")]
5397impl ::core::cmp::PartialEq for ISpeechGrammarRuleState {
5398 fn eq(&self, other: &Self) -> bool {
5399 self.0 == other.0
5400 }
5401}
5402#[cfg(feature = "Win32_System_Com")]
5403impl ::core::cmp::Eq for ISpeechGrammarRuleState {}
5404#[cfg(feature = "Win32_System_Com")]
5405impl ::core::fmt::Debug for ISpeechGrammarRuleState {
5406 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5407 f.debug_tuple("ISpeechGrammarRuleState").field(&self.0).finish()
5408 }
5409}
5410#[cfg(feature = "Win32_System_Com")]
5411unsafe impl ::windows::core::Interface for ISpeechGrammarRuleState {
5412 type Vtable = ISpeechGrammarRuleState_Vtbl;
5413}
5414#[cfg(feature = "Win32_System_Com")]
5415impl ::core::clone::Clone for ISpeechGrammarRuleState {
5416 fn clone(&self) -> Self {
5417 Self(self.0.clone())
5418 }
5419}
5420#[cfg(feature = "Win32_System_Com")]
5421unsafe impl ::windows::core::ComInterface for ISpeechGrammarRuleState {
5422 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xd4286f2c_ee67_45ae_b928_28d695362eda);
5423}
5424#[cfg(feature = "Win32_System_Com")]
5425#[repr(C)]
5426#[doc(hidden)]
5427pub struct ISpeechGrammarRuleState_Vtbl {
5428 pub base__: super::super::System::Com::IDispatch_Vtbl,
5429 #[cfg(feature = "Win32_System_Com")]
5430 pub Rule: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rule: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5431 #[cfg(not(feature = "Win32_System_Com"))]
5432 Rule: usize,
5433 #[cfg(feature = "Win32_System_Com")]
5434 pub Transitions: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, transitions: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5435 #[cfg(not(feature = "Win32_System_Com"))]
5436 Transitions: usize,
5437 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5438 pub AddWordTransition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, deststate: *mut ::core::ffi::c_void, words: ::std::mem::MaybeUninit<::windows::core::BSTR>, separators: ::std::mem::MaybeUninit<::windows::core::BSTR>, r#type: SpeechGrammarWordType, propertyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, propertyid: i32, propertyvalue: *const super::super::System::Com::VARIANT, weight: f32) -> ::windows::core::HRESULT,
5439 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
5440 AddWordTransition: usize,
5441 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5442 pub AddRuleTransition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, destinationstate: *mut ::core::ffi::c_void, rule: *mut ::core::ffi::c_void, propertyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, propertyid: i32, propertyvalue: *const super::super::System::Com::VARIANT, weight: f32) -> ::windows::core::HRESULT,
5443 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
5444 AddRuleTransition: usize,
5445 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5446 pub AddSpecialTransition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, destinationstate: *mut ::core::ffi::c_void, r#type: SpeechSpecialTransitionType, propertyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, propertyid: i32, propertyvalue: *const super::super::System::Com::VARIANT, weight: f32) -> ::windows::core::HRESULT,
5447 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
5448 AddSpecialTransition: usize,
5449}
5450#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
5451#[cfg(feature = "Win32_System_Com")]
5452#[repr(transparent)]
5453pub struct ISpeechGrammarRuleStateTransition(::windows::core::IUnknown);
5454#[cfg(feature = "Win32_System_Com")]
5455impl ISpeechGrammarRuleStateTransition {
5456 pub unsafe fn Type(&self) -> ::windows::core::Result<SpeechGrammarRuleStateTransitionType> {
5457 let mut result__ = ::windows::core::zeroed::<SpeechGrammarRuleStateTransitionType>();
5458 (::windows::core::Interface::vtable(self).Type)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5459 }
5460 pub unsafe fn Text(&self) -> ::windows::core::Result<::windows::core::BSTR> {
5461 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
5462 (::windows::core::Interface::vtable(self).Text)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5463 }
5464 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5465 #[cfg(feature = "Win32_System_Com")]
5466 pub unsafe fn Rule(&self) -> ::windows::core::Result<ISpeechGrammarRule> {
5467 let mut result__ = ::windows::core::zeroed::<ISpeechGrammarRule>();
5468 (::windows::core::Interface::vtable(self).Rule)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5469 }
5470 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
5471 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5472 pub unsafe fn Weight(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
5473 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
5474 (::windows::core::Interface::vtable(self).Weight)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5475 }
5476 pub unsafe fn PropertyName(&self) -> ::windows::core::Result<::windows::core::BSTR> {
5477 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
5478 (::windows::core::Interface::vtable(self).PropertyName)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5479 }
5480 pub unsafe fn PropertyId(&self) -> ::windows::core::Result<i32> {
5481 let mut result__ = ::windows::core::zeroed::<i32>();
5482 (::windows::core::Interface::vtable(self).PropertyId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5483 }
5484 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
5485 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5486 pub unsafe fn PropertyValue(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
5487 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
5488 (::windows::core::Interface::vtable(self).PropertyValue)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5489 }
5490 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5491 #[cfg(feature = "Win32_System_Com")]
5492 pub unsafe fn NextState(&self) -> ::windows::core::Result<ISpeechGrammarRuleState> {
5493 let mut result__ = ::windows::core::zeroed::<ISpeechGrammarRuleState>();
5494 (::windows::core::Interface::vtable(self).NextState)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5495 }
5496}
5497#[cfg(feature = "Win32_System_Com")]
5498::windows::imp::interface_hierarchy!(ISpeechGrammarRuleStateTransition, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
5499#[cfg(feature = "Win32_System_Com")]
5500impl ::core::cmp::PartialEq for ISpeechGrammarRuleStateTransition {
5501 fn eq(&self, other: &Self) -> bool {
5502 self.0 == other.0
5503 }
5504}
5505#[cfg(feature = "Win32_System_Com")]
5506impl ::core::cmp::Eq for ISpeechGrammarRuleStateTransition {}
5507#[cfg(feature = "Win32_System_Com")]
5508impl ::core::fmt::Debug for ISpeechGrammarRuleStateTransition {
5509 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5510 f.debug_tuple("ISpeechGrammarRuleStateTransition").field(&self.0).finish()
5511 }
5512}
5513#[cfg(feature = "Win32_System_Com")]
5514unsafe impl ::windows::core::Interface for ISpeechGrammarRuleStateTransition {
5515 type Vtable = ISpeechGrammarRuleStateTransition_Vtbl;
5516}
5517#[cfg(feature = "Win32_System_Com")]
5518impl ::core::clone::Clone for ISpeechGrammarRuleStateTransition {
5519 fn clone(&self) -> Self {
5520 Self(self.0.clone())
5521 }
5522}
5523#[cfg(feature = "Win32_System_Com")]
5524unsafe impl ::windows::core::ComInterface for ISpeechGrammarRuleStateTransition {
5525 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcafd1db1_41d1_4a06_9863_e2e81da17a9a);
5526}
5527#[cfg(feature = "Win32_System_Com")]
5528#[repr(C)]
5529#[doc(hidden)]
5530pub struct ISpeechGrammarRuleStateTransition_Vtbl {
5531 pub base__: super::super::System::Com::IDispatch_Vtbl,
5532 pub Type: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: *mut SpeechGrammarRuleStateTransitionType) -> ::windows::core::HRESULT,
5533 pub Text: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, text: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
5534 #[cfg(feature = "Win32_System_Com")]
5535 pub Rule: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rule: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5536 #[cfg(not(feature = "Win32_System_Com"))]
5537 Rule: usize,
5538 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5539 pub Weight: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, weight: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
5540 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
5541 Weight: usize,
5542 pub PropertyName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyname: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
5543 pub PropertyId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyid: *mut i32) -> ::windows::core::HRESULT,
5544 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5545 pub PropertyValue: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, propertyvalue: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
5546 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
5547 PropertyValue: usize,
5548 #[cfg(feature = "Win32_System_Com")]
5549 pub NextState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, nextstate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5550 #[cfg(not(feature = "Win32_System_Com"))]
5551 NextState: usize,
5552}
5553#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
5554#[cfg(feature = "Win32_System_Com")]
5555#[repr(transparent)]
5556pub struct ISpeechGrammarRuleStateTransitions(::windows::core::IUnknown);
5557#[cfg(feature = "Win32_System_Com")]
5558impl ISpeechGrammarRuleStateTransitions {
5559 pub unsafe fn Count(&self) -> ::windows::core::Result<i32> {
5560 let mut result__ = ::windows::core::zeroed::<i32>();
5561 (::windows::core::Interface::vtable(self).Count)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5562 }
5563 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5564 #[cfg(feature = "Win32_System_Com")]
5565 pub unsafe fn Item(&self, index: i32) -> ::windows::core::Result<ISpeechGrammarRuleStateTransition> {
5566 let mut result__ = ::windows::core::zeroed::<ISpeechGrammarRuleStateTransition>();
5567 (::windows::core::Interface::vtable(self).Item)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
5568 }
5569 pub unsafe fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown> {
5570 let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
5571 (::windows::core::Interface::vtable(self)._NewEnum)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5572 }
5573}
5574#[cfg(feature = "Win32_System_Com")]
5575::windows::imp::interface_hierarchy!(ISpeechGrammarRuleStateTransitions, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
5576#[cfg(feature = "Win32_System_Com")]
5577impl ::core::cmp::PartialEq for ISpeechGrammarRuleStateTransitions {
5578 fn eq(&self, other: &Self) -> bool {
5579 self.0 == other.0
5580 }
5581}
5582#[cfg(feature = "Win32_System_Com")]
5583impl ::core::cmp::Eq for ISpeechGrammarRuleStateTransitions {}
5584#[cfg(feature = "Win32_System_Com")]
5585impl ::core::fmt::Debug for ISpeechGrammarRuleStateTransitions {
5586 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5587 f.debug_tuple("ISpeechGrammarRuleStateTransitions").field(&self.0).finish()
5588 }
5589}
5590#[cfg(feature = "Win32_System_Com")]
5591unsafe impl ::windows::core::Interface for ISpeechGrammarRuleStateTransitions {
5592 type Vtable = ISpeechGrammarRuleStateTransitions_Vtbl;
5593}
5594#[cfg(feature = "Win32_System_Com")]
5595impl ::core::clone::Clone for ISpeechGrammarRuleStateTransitions {
5596 fn clone(&self) -> Self {
5597 Self(self.0.clone())
5598 }
5599}
5600#[cfg(feature = "Win32_System_Com")]
5601unsafe impl ::windows::core::ComInterface for ISpeechGrammarRuleStateTransitions {
5602 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xeabce657_75bc_44a2_aa7f_c56476742963);
5603}
5604#[cfg(feature = "Win32_System_Com")]
5605#[repr(C)]
5606#[doc(hidden)]
5607pub struct ISpeechGrammarRuleStateTransitions_Vtbl {
5608 pub base__: super::super::System::Com::IDispatch_Vtbl,
5609 pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT,
5610 #[cfg(feature = "Win32_System_Com")]
5611 pub Item: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, transition: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5612 #[cfg(not(feature = "Win32_System_Com"))]
5613 Item: usize,
5614 pub _NewEnum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enumvariant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5615}
5616#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
5617#[cfg(feature = "Win32_System_Com")]
5618#[repr(transparent)]
5619pub struct ISpeechGrammarRules(::windows::core::IUnknown);
5620#[cfg(feature = "Win32_System_Com")]
5621impl ISpeechGrammarRules {
5622 pub unsafe fn Count(&self) -> ::windows::core::Result<i32> {
5623 let mut result__ = ::windows::core::zeroed::<i32>();
5624 (::windows::core::Interface::vtable(self).Count)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5625 }
5626 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
5627 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5628 pub unsafe fn FindRule(&self, rulenameorid: super::super::System::Com::VARIANT) -> ::windows::core::Result<ISpeechGrammarRule> {
5629 let mut result__ = ::windows::core::zeroed::<ISpeechGrammarRule>();
5630 (::windows::core::Interface::vtable(self).FindRule)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(rulenameorid), &mut result__).from_abi(result__)
5631 }
5632 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5633 #[cfg(feature = "Win32_System_Com")]
5634 pub unsafe fn Item(&self, index: i32) -> ::windows::core::Result<ISpeechGrammarRule> {
5635 let mut result__ = ::windows::core::zeroed::<ISpeechGrammarRule>();
5636 (::windows::core::Interface::vtable(self).Item)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
5637 }
5638 pub unsafe fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown> {
5639 let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
5640 (::windows::core::Interface::vtable(self)._NewEnum)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5641 }
5642 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
5643 #[cfg(feature = "Win32_Foundation")]
5644 pub unsafe fn Dynamic(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL> {
5645 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::VARIANT_BOOL>();
5646 (::windows::core::Interface::vtable(self).Dynamic)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5647 }
5648 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5649 #[cfg(feature = "Win32_System_Com")]
5650 pub unsafe fn Add<P0>(&self, rulename: P0, attributes: SpeechRuleAttributes, ruleid: i32) -> ::windows::core::Result<ISpeechGrammarRule>
5651 where
5652 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5653 {
5654 let mut result__ = ::windows::core::zeroed::<ISpeechGrammarRule>();
5655 (::windows::core::Interface::vtable(self).Add)(::windows::core::Interface::as_raw(self), rulename.into_param().abi(), attributes, ruleid, &mut result__).from_abi(result__)
5656 }
5657 pub unsafe fn Commit(&self) -> ::windows::core::Result<()> {
5658 (::windows::core::Interface::vtable(self).Commit)(::windows::core::Interface::as_raw(self)).ok()
5659 }
5660 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
5661 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5662 pub unsafe fn CommitAndSave(&self, errortext: *mut ::windows::core::BSTR, savestream: *mut super::super::System::Com::VARIANT) -> ::windows::core::Result<()> {
5663 (::windows::core::Interface::vtable(self).CommitAndSave)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(errortext), savestream).ok()
5664 }
5665}
5666#[cfg(feature = "Win32_System_Com")]
5667::windows::imp::interface_hierarchy!(ISpeechGrammarRules, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
5668#[cfg(feature = "Win32_System_Com")]
5669impl ::core::cmp::PartialEq for ISpeechGrammarRules {
5670 fn eq(&self, other: &Self) -> bool {
5671 self.0 == other.0
5672 }
5673}
5674#[cfg(feature = "Win32_System_Com")]
5675impl ::core::cmp::Eq for ISpeechGrammarRules {}
5676#[cfg(feature = "Win32_System_Com")]
5677impl ::core::fmt::Debug for ISpeechGrammarRules {
5678 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5679 f.debug_tuple("ISpeechGrammarRules").field(&self.0).finish()
5680 }
5681}
5682#[cfg(feature = "Win32_System_Com")]
5683unsafe impl ::windows::core::Interface for ISpeechGrammarRules {
5684 type Vtable = ISpeechGrammarRules_Vtbl;
5685}
5686#[cfg(feature = "Win32_System_Com")]
5687impl ::core::clone::Clone for ISpeechGrammarRules {
5688 fn clone(&self) -> Self {
5689 Self(self.0.clone())
5690 }
5691}
5692#[cfg(feature = "Win32_System_Com")]
5693unsafe impl ::windows::core::ComInterface for ISpeechGrammarRules {
5694 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6ffa3b44_fc2d_40d1_8afc_32911c7f1ad1);
5695}
5696#[cfg(feature = "Win32_System_Com")]
5697#[repr(C)]
5698#[doc(hidden)]
5699pub struct ISpeechGrammarRules_Vtbl {
5700 pub base__: super::super::System::Com::IDispatch_Vtbl,
5701 pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT,
5702 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5703 pub FindRule: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rulenameorid: super::super::System::Com::VARIANT, rule: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5704 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
5705 FindRule: usize,
5706 #[cfg(feature = "Win32_System_Com")]
5707 pub Item: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, rule: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5708 #[cfg(not(feature = "Win32_System_Com"))]
5709 Item: usize,
5710 pub _NewEnum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enumvariant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5711 #[cfg(feature = "Win32_Foundation")]
5712 pub Dynamic: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, dynamic: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
5713 #[cfg(not(feature = "Win32_Foundation"))]
5714 Dynamic: usize,
5715 #[cfg(feature = "Win32_System_Com")]
5716 pub Add: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rulename: ::std::mem::MaybeUninit<::windows::core::BSTR>, attributes: SpeechRuleAttributes, ruleid: i32, rule: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5717 #[cfg(not(feature = "Win32_System_Com"))]
5718 Add: usize,
5719 pub Commit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5720 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5721 pub CommitAndSave: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, errortext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, savestream: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
5722 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
5723 CommitAndSave: usize,
5724}
5725#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
5726#[cfg(feature = "Win32_System_Com")]
5727#[repr(transparent)]
5728pub struct ISpeechLexicon(::windows::core::IUnknown);
5729#[cfg(feature = "Win32_System_Com")]
5730impl ISpeechLexicon {
5731 pub unsafe fn GenerationId(&self) -> ::windows::core::Result<i32> {
5732 let mut result__ = ::windows::core::zeroed::<i32>();
5733 (::windows::core::Interface::vtable(self).GenerationId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5734 }
5735 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5736 #[cfg(feature = "Win32_System_Com")]
5737 pub unsafe fn GetWords(&self, flags: SpeechLexiconType, generationid: *mut i32, words: *mut ::core::option::Option<ISpeechLexiconWords>) -> ::windows::core::Result<()> {
5738 (::windows::core::Interface::vtable(self).GetWords)(::windows::core::Interface::as_raw(self), flags, generationid, ::core::mem::transmute(words)).ok()
5739 }
5740 pub unsafe fn AddPronunciation<P0, P1>(&self, bstrword: P0, langid: i32, partofspeech: SpeechPartOfSpeech, bstrpronunciation: P1) -> ::windows::core::Result<()>
5741 where
5742 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5743 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
5744 {
5745 (::windows::core::Interface::vtable(self).AddPronunciation)(::windows::core::Interface::as_raw(self), bstrword.into_param().abi(), langid, partofspeech, bstrpronunciation.into_param().abi()).ok()
5746 }
5747 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
5748 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5749 pub unsafe fn AddPronunciationByPhoneIds<P0>(&self, bstrword: P0, langid: i32, partofspeech: SpeechPartOfSpeech, phoneids: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<()>
5750 where
5751 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5752 {
5753 (::windows::core::Interface::vtable(self).AddPronunciationByPhoneIds)(::windows::core::Interface::as_raw(self), bstrword.into_param().abi(), langid, partofspeech, phoneids).ok()
5754 }
5755 pub unsafe fn RemovePronunciation<P0, P1>(&self, bstrword: P0, langid: i32, partofspeech: SpeechPartOfSpeech, bstrpronunciation: P1) -> ::windows::core::Result<()>
5756 where
5757 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5758 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
5759 {
5760 (::windows::core::Interface::vtable(self).RemovePronunciation)(::windows::core::Interface::as_raw(self), bstrword.into_param().abi(), langid, partofspeech, bstrpronunciation.into_param().abi()).ok()
5761 }
5762 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
5763 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5764 pub unsafe fn RemovePronunciationByPhoneIds<P0>(&self, bstrword: P0, langid: i32, partofspeech: SpeechPartOfSpeech, phoneids: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<()>
5765 where
5766 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5767 {
5768 (::windows::core::Interface::vtable(self).RemovePronunciationByPhoneIds)(::windows::core::Interface::as_raw(self), bstrword.into_param().abi(), langid, partofspeech, phoneids).ok()
5769 }
5770 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5771 #[cfg(feature = "Win32_System_Com")]
5772 pub unsafe fn GetPronunciations<P0>(&self, bstrword: P0, langid: i32, typeflags: SpeechLexiconType) -> ::windows::core::Result<ISpeechLexiconPronunciations>
5773 where
5774 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
5775 {
5776 let mut result__ = ::windows::core::zeroed::<ISpeechLexiconPronunciations>();
5777 (::windows::core::Interface::vtable(self).GetPronunciations)(::windows::core::Interface::as_raw(self), bstrword.into_param().abi(), langid, typeflags, &mut result__).from_abi(result__)
5778 }
5779 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5780 #[cfg(feature = "Win32_System_Com")]
5781 pub unsafe fn GetGenerationChange(&self, generationid: *mut i32, ppwords: *mut ::core::option::Option<ISpeechLexiconWords>) -> ::windows::core::Result<()> {
5782 (::windows::core::Interface::vtable(self).GetGenerationChange)(::windows::core::Interface::as_raw(self), generationid, ::core::mem::transmute(ppwords)).ok()
5783 }
5784}
5785#[cfg(feature = "Win32_System_Com")]
5786::windows::imp::interface_hierarchy!(ISpeechLexicon, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
5787#[cfg(feature = "Win32_System_Com")]
5788impl ::core::cmp::PartialEq for ISpeechLexicon {
5789 fn eq(&self, other: &Self) -> bool {
5790 self.0 == other.0
5791 }
5792}
5793#[cfg(feature = "Win32_System_Com")]
5794impl ::core::cmp::Eq for ISpeechLexicon {}
5795#[cfg(feature = "Win32_System_Com")]
5796impl ::core::fmt::Debug for ISpeechLexicon {
5797 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5798 f.debug_tuple("ISpeechLexicon").field(&self.0).finish()
5799 }
5800}
5801#[cfg(feature = "Win32_System_Com")]
5802unsafe impl ::windows::core::Interface for ISpeechLexicon {
5803 type Vtable = ISpeechLexicon_Vtbl;
5804}
5805#[cfg(feature = "Win32_System_Com")]
5806impl ::core::clone::Clone for ISpeechLexicon {
5807 fn clone(&self) -> Self {
5808 Self(self.0.clone())
5809 }
5810}
5811#[cfg(feature = "Win32_System_Com")]
5812unsafe impl ::windows::core::ComInterface for ISpeechLexicon {
5813 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3da7627a_c7ae_4b23_8708_638c50362c25);
5814}
5815#[cfg(feature = "Win32_System_Com")]
5816#[repr(C)]
5817#[doc(hidden)]
5818pub struct ISpeechLexicon_Vtbl {
5819 pub base__: super::super::System::Com::IDispatch_Vtbl,
5820 pub GenerationId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, generationid: *mut i32) -> ::windows::core::HRESULT,
5821 #[cfg(feature = "Win32_System_Com")]
5822 pub GetWords: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, flags: SpeechLexiconType, generationid: *mut i32, words: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5823 #[cfg(not(feature = "Win32_System_Com"))]
5824 GetWords: usize,
5825 pub AddPronunciation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrword: ::std::mem::MaybeUninit<::windows::core::BSTR>, langid: i32, partofspeech: SpeechPartOfSpeech, bstrpronunciation: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
5826 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5827 pub AddPronunciationByPhoneIds: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrword: ::std::mem::MaybeUninit<::windows::core::BSTR>, langid: i32, partofspeech: SpeechPartOfSpeech, phoneids: *const super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
5828 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
5829 AddPronunciationByPhoneIds: usize,
5830 pub RemovePronunciation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrword: ::std::mem::MaybeUninit<::windows::core::BSTR>, langid: i32, partofspeech: SpeechPartOfSpeech, bstrpronunciation: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
5831 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5832 pub RemovePronunciationByPhoneIds: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrword: ::std::mem::MaybeUninit<::windows::core::BSTR>, langid: i32, partofspeech: SpeechPartOfSpeech, phoneids: *const super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
5833 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
5834 RemovePronunciationByPhoneIds: usize,
5835 #[cfg(feature = "Win32_System_Com")]
5836 pub GetPronunciations: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrword: ::std::mem::MaybeUninit<::windows::core::BSTR>, langid: i32, typeflags: SpeechLexiconType, pppronunciations: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5837 #[cfg(not(feature = "Win32_System_Com"))]
5838 GetPronunciations: usize,
5839 #[cfg(feature = "Win32_System_Com")]
5840 pub GetGenerationChange: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, generationid: *mut i32, ppwords: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5841 #[cfg(not(feature = "Win32_System_Com"))]
5842 GetGenerationChange: usize,
5843}
5844#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
5845#[cfg(feature = "Win32_System_Com")]
5846#[repr(transparent)]
5847pub struct ISpeechLexiconPronunciation(::windows::core::IUnknown);
5848#[cfg(feature = "Win32_System_Com")]
5849impl ISpeechLexiconPronunciation {
5850 pub unsafe fn Type(&self) -> ::windows::core::Result<SpeechLexiconType> {
5851 let mut result__ = ::windows::core::zeroed::<SpeechLexiconType>();
5852 (::windows::core::Interface::vtable(self).Type)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5853 }
5854 pub unsafe fn LangId(&self) -> ::windows::core::Result<i32> {
5855 let mut result__ = ::windows::core::zeroed::<i32>();
5856 (::windows::core::Interface::vtable(self).LangId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5857 }
5858 pub unsafe fn PartOfSpeech(&self) -> ::windows::core::Result<SpeechPartOfSpeech> {
5859 let mut result__ = ::windows::core::zeroed::<SpeechPartOfSpeech>();
5860 (::windows::core::Interface::vtable(self).PartOfSpeech)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5861 }
5862 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
5863 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5864 pub unsafe fn PhoneIds(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
5865 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
5866 (::windows::core::Interface::vtable(self).PhoneIds)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5867 }
5868 pub unsafe fn Symbolic(&self) -> ::windows::core::Result<::windows::core::BSTR> {
5869 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
5870 (::windows::core::Interface::vtable(self).Symbolic)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5871 }
5872}
5873#[cfg(feature = "Win32_System_Com")]
5874::windows::imp::interface_hierarchy!(ISpeechLexiconPronunciation, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
5875#[cfg(feature = "Win32_System_Com")]
5876impl ::core::cmp::PartialEq for ISpeechLexiconPronunciation {
5877 fn eq(&self, other: &Self) -> bool {
5878 self.0 == other.0
5879 }
5880}
5881#[cfg(feature = "Win32_System_Com")]
5882impl ::core::cmp::Eq for ISpeechLexiconPronunciation {}
5883#[cfg(feature = "Win32_System_Com")]
5884impl ::core::fmt::Debug for ISpeechLexiconPronunciation {
5885 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5886 f.debug_tuple("ISpeechLexiconPronunciation").field(&self.0).finish()
5887 }
5888}
5889#[cfg(feature = "Win32_System_Com")]
5890unsafe impl ::windows::core::Interface for ISpeechLexiconPronunciation {
5891 type Vtable = ISpeechLexiconPronunciation_Vtbl;
5892}
5893#[cfg(feature = "Win32_System_Com")]
5894impl ::core::clone::Clone for ISpeechLexiconPronunciation {
5895 fn clone(&self) -> Self {
5896 Self(self.0.clone())
5897 }
5898}
5899#[cfg(feature = "Win32_System_Com")]
5900unsafe impl ::windows::core::ComInterface for ISpeechLexiconPronunciation {
5901 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x95252c5d_9e43_4f4a_9899_48ee73352f9f);
5902}
5903#[cfg(feature = "Win32_System_Com")]
5904#[repr(C)]
5905#[doc(hidden)]
5906pub struct ISpeechLexiconPronunciation_Vtbl {
5907 pub base__: super::super::System::Com::IDispatch_Vtbl,
5908 pub Type: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lexicontype: *mut SpeechLexiconType) -> ::windows::core::HRESULT,
5909 pub LangId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, langid: *mut i32) -> ::windows::core::HRESULT,
5910 pub PartOfSpeech: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, partofspeech: *mut SpeechPartOfSpeech) -> ::windows::core::HRESULT,
5911 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
5912 pub PhoneIds: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phoneids: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
5913 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
5914 PhoneIds: usize,
5915 pub Symbolic: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, symbolic: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
5916}
5917#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
5918#[cfg(feature = "Win32_System_Com")]
5919#[repr(transparent)]
5920pub struct ISpeechLexiconPronunciations(::windows::core::IUnknown);
5921#[cfg(feature = "Win32_System_Com")]
5922impl ISpeechLexiconPronunciations {
5923 pub unsafe fn Count(&self) -> ::windows::core::Result<i32> {
5924 let mut result__ = ::windows::core::zeroed::<i32>();
5925 (::windows::core::Interface::vtable(self).Count)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5926 }
5927 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5928 #[cfg(feature = "Win32_System_Com")]
5929 pub unsafe fn Item(&self, index: i32) -> ::windows::core::Result<ISpeechLexiconPronunciation> {
5930 let mut result__ = ::windows::core::zeroed::<ISpeechLexiconPronunciation>();
5931 (::windows::core::Interface::vtable(self).Item)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
5932 }
5933 pub unsafe fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown> {
5934 let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
5935 (::windows::core::Interface::vtable(self)._NewEnum)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5936 }
5937}
5938#[cfg(feature = "Win32_System_Com")]
5939::windows::imp::interface_hierarchy!(ISpeechLexiconPronunciations, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
5940#[cfg(feature = "Win32_System_Com")]
5941impl ::core::cmp::PartialEq for ISpeechLexiconPronunciations {
5942 fn eq(&self, other: &Self) -> bool {
5943 self.0 == other.0
5944 }
5945}
5946#[cfg(feature = "Win32_System_Com")]
5947impl ::core::cmp::Eq for ISpeechLexiconPronunciations {}
5948#[cfg(feature = "Win32_System_Com")]
5949impl ::core::fmt::Debug for ISpeechLexiconPronunciations {
5950 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
5951 f.debug_tuple("ISpeechLexiconPronunciations").field(&self.0).finish()
5952 }
5953}
5954#[cfg(feature = "Win32_System_Com")]
5955unsafe impl ::windows::core::Interface for ISpeechLexiconPronunciations {
5956 type Vtable = ISpeechLexiconPronunciations_Vtbl;
5957}
5958#[cfg(feature = "Win32_System_Com")]
5959impl ::core::clone::Clone for ISpeechLexiconPronunciations {
5960 fn clone(&self) -> Self {
5961 Self(self.0.clone())
5962 }
5963}
5964#[cfg(feature = "Win32_System_Com")]
5965unsafe impl ::windows::core::ComInterface for ISpeechLexiconPronunciations {
5966 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x72829128_5682_4704_a0d4_3e2bb6f2ead3);
5967}
5968#[cfg(feature = "Win32_System_Com")]
5969#[repr(C)]
5970#[doc(hidden)]
5971pub struct ISpeechLexiconPronunciations_Vtbl {
5972 pub base__: super::super::System::Com::IDispatch_Vtbl,
5973 pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT,
5974 #[cfg(feature = "Win32_System_Com")]
5975 pub Item: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, pronunciation: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5976 #[cfg(not(feature = "Win32_System_Com"))]
5977 Item: usize,
5978 pub _NewEnum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enumvariant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
5979}
5980#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
5981#[cfg(feature = "Win32_System_Com")]
5982#[repr(transparent)]
5983pub struct ISpeechLexiconWord(::windows::core::IUnknown);
5984#[cfg(feature = "Win32_System_Com")]
5985impl ISpeechLexiconWord {
5986 pub unsafe fn LangId(&self) -> ::windows::core::Result<i32> {
5987 let mut result__ = ::windows::core::zeroed::<i32>();
5988 (::windows::core::Interface::vtable(self).LangId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5989 }
5990 pub unsafe fn Type(&self) -> ::windows::core::Result<SpeechWordType> {
5991 let mut result__ = ::windows::core::zeroed::<SpeechWordType>();
5992 (::windows::core::Interface::vtable(self).Type)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5993 }
5994 pub unsafe fn Word(&self) -> ::windows::core::Result<::windows::core::BSTR> {
5995 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
5996 (::windows::core::Interface::vtable(self).Word)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
5997 }
5998 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
5999 #[cfg(feature = "Win32_System_Com")]
6000 pub unsafe fn Pronunciations(&self) -> ::windows::core::Result<ISpeechLexiconPronunciations> {
6001 let mut result__ = ::windows::core::zeroed::<ISpeechLexiconPronunciations>();
6002 (::windows::core::Interface::vtable(self).Pronunciations)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6003 }
6004}
6005#[cfg(feature = "Win32_System_Com")]
6006::windows::imp::interface_hierarchy!(ISpeechLexiconWord, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
6007#[cfg(feature = "Win32_System_Com")]
6008impl ::core::cmp::PartialEq for ISpeechLexiconWord {
6009 fn eq(&self, other: &Self) -> bool {
6010 self.0 == other.0
6011 }
6012}
6013#[cfg(feature = "Win32_System_Com")]
6014impl ::core::cmp::Eq for ISpeechLexiconWord {}
6015#[cfg(feature = "Win32_System_Com")]
6016impl ::core::fmt::Debug for ISpeechLexiconWord {
6017 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6018 f.debug_tuple("ISpeechLexiconWord").field(&self.0).finish()
6019 }
6020}
6021#[cfg(feature = "Win32_System_Com")]
6022unsafe impl ::windows::core::Interface for ISpeechLexiconWord {
6023 type Vtable = ISpeechLexiconWord_Vtbl;
6024}
6025#[cfg(feature = "Win32_System_Com")]
6026impl ::core::clone::Clone for ISpeechLexiconWord {
6027 fn clone(&self) -> Self {
6028 Self(self.0.clone())
6029 }
6030}
6031#[cfg(feature = "Win32_System_Com")]
6032unsafe impl ::windows::core::ComInterface for ISpeechLexiconWord {
6033 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4e5b933c_c9be_48ed_8842_1ee51bb1d4ff);
6034}
6035#[cfg(feature = "Win32_System_Com")]
6036#[repr(C)]
6037#[doc(hidden)]
6038pub struct ISpeechLexiconWord_Vtbl {
6039 pub base__: super::super::System::Com::IDispatch_Vtbl,
6040 pub LangId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, langid: *mut i32) -> ::windows::core::HRESULT,
6041 pub Type: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, wordtype: *mut SpeechWordType) -> ::windows::core::HRESULT,
6042 pub Word: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, word: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
6043 #[cfg(feature = "Win32_System_Com")]
6044 pub Pronunciations: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pronunciations: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6045 #[cfg(not(feature = "Win32_System_Com"))]
6046 Pronunciations: usize,
6047}
6048#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
6049#[cfg(feature = "Win32_System_Com")]
6050#[repr(transparent)]
6051pub struct ISpeechLexiconWords(::windows::core::IUnknown);
6052#[cfg(feature = "Win32_System_Com")]
6053impl ISpeechLexiconWords {
6054 pub unsafe fn Count(&self) -> ::windows::core::Result<i32> {
6055 let mut result__ = ::windows::core::zeroed::<i32>();
6056 (::windows::core::Interface::vtable(self).Count)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6057 }
6058 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6059 #[cfg(feature = "Win32_System_Com")]
6060 pub unsafe fn Item(&self, index: i32) -> ::windows::core::Result<ISpeechLexiconWord> {
6061 let mut result__ = ::windows::core::zeroed::<ISpeechLexiconWord>();
6062 (::windows::core::Interface::vtable(self).Item)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
6063 }
6064 pub unsafe fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown> {
6065 let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
6066 (::windows::core::Interface::vtable(self)._NewEnum)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6067 }
6068}
6069#[cfg(feature = "Win32_System_Com")]
6070::windows::imp::interface_hierarchy!(ISpeechLexiconWords, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
6071#[cfg(feature = "Win32_System_Com")]
6072impl ::core::cmp::PartialEq for ISpeechLexiconWords {
6073 fn eq(&self, other: &Self) -> bool {
6074 self.0 == other.0
6075 }
6076}
6077#[cfg(feature = "Win32_System_Com")]
6078impl ::core::cmp::Eq for ISpeechLexiconWords {}
6079#[cfg(feature = "Win32_System_Com")]
6080impl ::core::fmt::Debug for ISpeechLexiconWords {
6081 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6082 f.debug_tuple("ISpeechLexiconWords").field(&self.0).finish()
6083 }
6084}
6085#[cfg(feature = "Win32_System_Com")]
6086unsafe impl ::windows::core::Interface for ISpeechLexiconWords {
6087 type Vtable = ISpeechLexiconWords_Vtbl;
6088}
6089#[cfg(feature = "Win32_System_Com")]
6090impl ::core::clone::Clone for ISpeechLexiconWords {
6091 fn clone(&self) -> Self {
6092 Self(self.0.clone())
6093 }
6094}
6095#[cfg(feature = "Win32_System_Com")]
6096unsafe impl ::windows::core::ComInterface for ISpeechLexiconWords {
6097 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8d199862_415e_47d5_ac4f_faa608b424e6);
6098}
6099#[cfg(feature = "Win32_System_Com")]
6100#[repr(C)]
6101#[doc(hidden)]
6102pub struct ISpeechLexiconWords_Vtbl {
6103 pub base__: super::super::System::Com::IDispatch_Vtbl,
6104 pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT,
6105 #[cfg(feature = "Win32_System_Com")]
6106 pub Item: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, word: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6107 #[cfg(not(feature = "Win32_System_Com"))]
6108 Item: usize,
6109 pub _NewEnum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enumvariant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6110}
6111#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
6112#[cfg(feature = "Win32_System_Com")]
6113#[repr(transparent)]
6114pub struct ISpeechMMSysAudio(::windows::core::IUnknown);
6115#[cfg(feature = "Win32_System_Com")]
6116impl ISpeechMMSysAudio {
6117 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6118 #[cfg(feature = "Win32_System_Com")]
6119 pub unsafe fn Format(&self) -> ::windows::core::Result<ISpeechAudioFormat> {
6120 let mut result__ = ::windows::core::zeroed::<ISpeechAudioFormat>();
6121 (::windows::core::Interface::vtable(self).base__.base__.Format)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6122 }
6123 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6124 #[cfg(feature = "Win32_System_Com")]
6125 pub unsafe fn putref_Format<P0>(&self, audioformat: P0) -> ::windows::core::Result<()>
6126 where
6127 P0: ::windows::core::IntoParam<ISpeechAudioFormat>,
6128 {
6129 (::windows::core::Interface::vtable(self).base__.base__.putref_Format)(::windows::core::Interface::as_raw(self), audioformat.into_param().abi()).ok()
6130 }
6131 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
6132 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6133 pub unsafe fn Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::core::Result<()> {
6134 (::windows::core::Interface::vtable(self).base__.base__.Read)(::windows::core::Interface::as_raw(self), buffer, numberofbytes, bytesread).ok()
6135 }
6136 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
6137 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6138 pub unsafe fn Write(&self, buffer: super::super::System::Com::VARIANT) -> ::windows::core::Result<i32> {
6139 let mut result__ = ::windows::core::zeroed::<i32>();
6140 (::windows::core::Interface::vtable(self).base__.base__.Write)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(buffer), &mut result__).from_abi(result__)
6141 }
6142 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
6143 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6144 pub unsafe fn Seek(&self, position: super::super::System::Com::VARIANT, origin: SpeechStreamSeekPositionType) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
6145 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
6146 (::windows::core::Interface::vtable(self).base__.base__.Seek)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(position), origin, &mut result__).from_abi(result__)
6147 }
6148 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6149 #[cfg(feature = "Win32_System_Com")]
6150 pub unsafe fn Status(&self) -> ::windows::core::Result<ISpeechAudioStatus> {
6151 let mut result__ = ::windows::core::zeroed::<ISpeechAudioStatus>();
6152 (::windows::core::Interface::vtable(self).base__.Status)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6153 }
6154 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6155 #[cfg(feature = "Win32_System_Com")]
6156 pub unsafe fn BufferInfo(&self) -> ::windows::core::Result<ISpeechAudioBufferInfo> {
6157 let mut result__ = ::windows::core::zeroed::<ISpeechAudioBufferInfo>();
6158 (::windows::core::Interface::vtable(self).base__.BufferInfo)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6159 }
6160 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6161 #[cfg(feature = "Win32_System_Com")]
6162 pub unsafe fn DefaultFormat(&self) -> ::windows::core::Result<ISpeechAudioFormat> {
6163 let mut result__ = ::windows::core::zeroed::<ISpeechAudioFormat>();
6164 (::windows::core::Interface::vtable(self).base__.DefaultFormat)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6165 }
6166 pub unsafe fn Volume(&self) -> ::windows::core::Result<i32> {
6167 let mut result__ = ::windows::core::zeroed::<i32>();
6168 (::windows::core::Interface::vtable(self).base__.Volume)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6169 }
6170 pub unsafe fn SetVolume(&self, volume: i32) -> ::windows::core::Result<()> {
6171 (::windows::core::Interface::vtable(self).base__.SetVolume)(::windows::core::Interface::as_raw(self), volume).ok()
6172 }
6173 pub unsafe fn BufferNotifySize(&self) -> ::windows::core::Result<i32> {
6174 let mut result__ = ::windows::core::zeroed::<i32>();
6175 (::windows::core::Interface::vtable(self).base__.BufferNotifySize)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6176 }
6177 pub unsafe fn SetBufferNotifySize(&self, buffernotifysize: i32) -> ::windows::core::Result<()> {
6178 (::windows::core::Interface::vtable(self).base__.SetBufferNotifySize)(::windows::core::Interface::as_raw(self), buffernotifysize).ok()
6179 }
6180 pub unsafe fn EventHandle(&self) -> ::windows::core::Result<i32> {
6181 let mut result__ = ::windows::core::zeroed::<i32>();
6182 (::windows::core::Interface::vtable(self).base__.EventHandle)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6183 }
6184 pub unsafe fn SetState(&self, state: SpeechAudioState) -> ::windows::core::Result<()> {
6185 (::windows::core::Interface::vtable(self).base__.SetState)(::windows::core::Interface::as_raw(self), state).ok()
6186 }
6187 pub unsafe fn DeviceId(&self) -> ::windows::core::Result<i32> {
6188 let mut result__ = ::windows::core::zeroed::<i32>();
6189 (::windows::core::Interface::vtable(self).DeviceId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6190 }
6191 pub unsafe fn SetDeviceId(&self, deviceid: i32) -> ::windows::core::Result<()> {
6192 (::windows::core::Interface::vtable(self).SetDeviceId)(::windows::core::Interface::as_raw(self), deviceid).ok()
6193 }
6194 pub unsafe fn LineId(&self) -> ::windows::core::Result<i32> {
6195 let mut result__ = ::windows::core::zeroed::<i32>();
6196 (::windows::core::Interface::vtable(self).LineId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6197 }
6198 pub unsafe fn SetLineId(&self, lineid: i32) -> ::windows::core::Result<()> {
6199 (::windows::core::Interface::vtable(self).SetLineId)(::windows::core::Interface::as_raw(self), lineid).ok()
6200 }
6201 pub unsafe fn MMHandle(&self) -> ::windows::core::Result<i32> {
6202 let mut result__ = ::windows::core::zeroed::<i32>();
6203 (::windows::core::Interface::vtable(self).MMHandle)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6204 }
6205}
6206#[cfg(feature = "Win32_System_Com")]
6207::windows::imp::interface_hierarchy!(ISpeechMMSysAudio, ::windows::core::IUnknown, super::super::System::Com::IDispatch, ISpeechBaseStream, ISpeechAudio);
6208#[cfg(feature = "Win32_System_Com")]
6209impl ::core::cmp::PartialEq for ISpeechMMSysAudio {
6210 fn eq(&self, other: &Self) -> bool {
6211 self.0 == other.0
6212 }
6213}
6214#[cfg(feature = "Win32_System_Com")]
6215impl ::core::cmp::Eq for ISpeechMMSysAudio {}
6216#[cfg(feature = "Win32_System_Com")]
6217impl ::core::fmt::Debug for ISpeechMMSysAudio {
6218 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6219 f.debug_tuple("ISpeechMMSysAudio").field(&self.0).finish()
6220 }
6221}
6222#[cfg(feature = "Win32_System_Com")]
6223unsafe impl ::windows::core::Interface for ISpeechMMSysAudio {
6224 type Vtable = ISpeechMMSysAudio_Vtbl;
6225}
6226#[cfg(feature = "Win32_System_Com")]
6227impl ::core::clone::Clone for ISpeechMMSysAudio {
6228 fn clone(&self) -> Self {
6229 Self(self.0.clone())
6230 }
6231}
6232#[cfg(feature = "Win32_System_Com")]
6233unsafe impl ::windows::core::ComInterface for ISpeechMMSysAudio {
6234 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3c76af6d_1fd7_4831_81d1_3b71d5a13c44);
6235}
6236#[cfg(feature = "Win32_System_Com")]
6237#[repr(C)]
6238#[doc(hidden)]
6239pub struct ISpeechMMSysAudio_Vtbl {
6240 pub base__: ISpeechAudio_Vtbl,
6241 pub DeviceId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, deviceid: *mut i32) -> ::windows::core::HRESULT,
6242 pub SetDeviceId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, deviceid: i32) -> ::windows::core::HRESULT,
6243 pub LineId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lineid: *mut i32) -> ::windows::core::HRESULT,
6244 pub SetLineId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lineid: i32) -> ::windows::core::HRESULT,
6245 pub MMHandle: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handle: *mut i32) -> ::windows::core::HRESULT,
6246}
6247#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
6248#[cfg(feature = "Win32_System_Com")]
6249#[repr(transparent)]
6250pub struct ISpeechMemoryStream(::windows::core::IUnknown);
6251#[cfg(feature = "Win32_System_Com")]
6252impl ISpeechMemoryStream {
6253 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6254 #[cfg(feature = "Win32_System_Com")]
6255 pub unsafe fn Format(&self) -> ::windows::core::Result<ISpeechAudioFormat> {
6256 let mut result__ = ::windows::core::zeroed::<ISpeechAudioFormat>();
6257 (::windows::core::Interface::vtable(self).base__.Format)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6258 }
6259 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6260 #[cfg(feature = "Win32_System_Com")]
6261 pub unsafe fn putref_Format<P0>(&self, audioformat: P0) -> ::windows::core::Result<()>
6262 where
6263 P0: ::windows::core::IntoParam<ISpeechAudioFormat>,
6264 {
6265 (::windows::core::Interface::vtable(self).base__.putref_Format)(::windows::core::Interface::as_raw(self), audioformat.into_param().abi()).ok()
6266 }
6267 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
6268 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6269 pub unsafe fn Read(&self, buffer: *mut super::super::System::Com::VARIANT, numberofbytes: i32, bytesread: *mut i32) -> ::windows::core::Result<()> {
6270 (::windows::core::Interface::vtable(self).base__.Read)(::windows::core::Interface::as_raw(self), buffer, numberofbytes, bytesread).ok()
6271 }
6272 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
6273 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6274 pub unsafe fn Write(&self, buffer: super::super::System::Com::VARIANT) -> ::windows::core::Result<i32> {
6275 let mut result__ = ::windows::core::zeroed::<i32>();
6276 (::windows::core::Interface::vtable(self).base__.Write)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(buffer), &mut result__).from_abi(result__)
6277 }
6278 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
6279 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6280 pub unsafe fn Seek(&self, position: super::super::System::Com::VARIANT, origin: SpeechStreamSeekPositionType) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
6281 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
6282 (::windows::core::Interface::vtable(self).base__.Seek)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(position), origin, &mut result__).from_abi(result__)
6283 }
6284 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
6285 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6286 pub unsafe fn SetData(&self, data: super::super::System::Com::VARIANT) -> ::windows::core::Result<()> {
6287 (::windows::core::Interface::vtable(self).SetData)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(data)).ok()
6288 }
6289 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
6290 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6291 pub unsafe fn GetData(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
6292 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
6293 (::windows::core::Interface::vtable(self).GetData)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6294 }
6295}
6296#[cfg(feature = "Win32_System_Com")]
6297::windows::imp::interface_hierarchy!(ISpeechMemoryStream, ::windows::core::IUnknown, super::super::System::Com::IDispatch, ISpeechBaseStream);
6298#[cfg(feature = "Win32_System_Com")]
6299impl ::core::cmp::PartialEq for ISpeechMemoryStream {
6300 fn eq(&self, other: &Self) -> bool {
6301 self.0 == other.0
6302 }
6303}
6304#[cfg(feature = "Win32_System_Com")]
6305impl ::core::cmp::Eq for ISpeechMemoryStream {}
6306#[cfg(feature = "Win32_System_Com")]
6307impl ::core::fmt::Debug for ISpeechMemoryStream {
6308 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6309 f.debug_tuple("ISpeechMemoryStream").field(&self.0).finish()
6310 }
6311}
6312#[cfg(feature = "Win32_System_Com")]
6313unsafe impl ::windows::core::Interface for ISpeechMemoryStream {
6314 type Vtable = ISpeechMemoryStream_Vtbl;
6315}
6316#[cfg(feature = "Win32_System_Com")]
6317impl ::core::clone::Clone for ISpeechMemoryStream {
6318 fn clone(&self) -> Self {
6319 Self(self.0.clone())
6320 }
6321}
6322#[cfg(feature = "Win32_System_Com")]
6323unsafe impl ::windows::core::ComInterface for ISpeechMemoryStream {
6324 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xeeb14b68_808b_4abe_a5ea_b51da7588008);
6325}
6326#[cfg(feature = "Win32_System_Com")]
6327#[repr(C)]
6328#[doc(hidden)]
6329pub struct ISpeechMemoryStream_Vtbl {
6330 pub base__: ISpeechBaseStream_Vtbl,
6331 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6332 pub SetData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, data: super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
6333 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
6334 SetData: usize,
6335 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6336 pub GetData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pdata: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
6337 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
6338 GetData: usize,
6339}
6340#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
6341#[cfg(feature = "Win32_System_Com")]
6342#[repr(transparent)]
6343pub struct ISpeechObjectToken(::windows::core::IUnknown);
6344#[cfg(feature = "Win32_System_Com")]
6345impl ISpeechObjectToken {
6346 pub unsafe fn Id(&self) -> ::windows::core::Result<::windows::core::BSTR> {
6347 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
6348 (::windows::core::Interface::vtable(self).Id)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6349 }
6350 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6351 #[cfg(feature = "Win32_System_Com")]
6352 pub unsafe fn DataKey(&self) -> ::windows::core::Result<ISpeechDataKey> {
6353 let mut result__ = ::windows::core::zeroed::<ISpeechDataKey>();
6354 (::windows::core::Interface::vtable(self).DataKey)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6355 }
6356 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6357 #[cfg(feature = "Win32_System_Com")]
6358 pub unsafe fn Category(&self) -> ::windows::core::Result<ISpeechObjectTokenCategory> {
6359 let mut result__ = ::windows::core::zeroed::<ISpeechObjectTokenCategory>();
6360 (::windows::core::Interface::vtable(self).Category)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6361 }
6362 pub unsafe fn GetDescription(&self, locale: i32) -> ::windows::core::Result<::windows::core::BSTR> {
6363 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
6364 (::windows::core::Interface::vtable(self).GetDescription)(::windows::core::Interface::as_raw(self), locale, &mut result__).from_abi(result__)
6365 }
6366 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
6367 #[cfg(feature = "Win32_Foundation")]
6368 pub unsafe fn SetId<P0, P1, P2>(&self, id: P0, categoryid: P1, createifnotexist: P2) -> ::windows::core::Result<()>
6369 where
6370 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
6371 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
6372 P2: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
6373 {
6374 (::windows::core::Interface::vtable(self).SetId)(::windows::core::Interface::as_raw(self), id.into_param().abi(), categoryid.into_param().abi(), createifnotexist.into_param().abi()).ok()
6375 }
6376 pub unsafe fn GetAttribute<P0>(&self, attributename: P0) -> ::windows::core::Result<::windows::core::BSTR>
6377 where
6378 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
6379 {
6380 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
6381 (::windows::core::Interface::vtable(self).GetAttribute)(::windows::core::Interface::as_raw(self), attributename.into_param().abi(), &mut result__).from_abi(result__)
6382 }
6383 pub unsafe fn CreateInstance<P0>(&self, punkouter: P0, clscontext: SpeechTokenContext) -> ::windows::core::Result<::windows::core::IUnknown>
6384 where
6385 P0: ::windows::core::IntoParam<::windows::core::IUnknown>,
6386 {
6387 let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
6388 (::windows::core::Interface::vtable(self).CreateInstance)(::windows::core::Interface::as_raw(self), punkouter.into_param().abi(), clscontext, &mut result__).from_abi(result__)
6389 }
6390 pub unsafe fn Remove<P0>(&self, objectstorageclsid: P0) -> ::windows::core::Result<()>
6391 where
6392 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
6393 {
6394 (::windows::core::Interface::vtable(self).Remove)(::windows::core::Interface::as_raw(self), objectstorageclsid.into_param().abi()).ok()
6395 }
6396 pub unsafe fn GetStorageFileName<P0, P1, P2>(&self, objectstorageclsid: P0, keyname: P1, filename: P2, folder: SpeechTokenShellFolder) -> ::windows::core::Result<::windows::core::BSTR>
6397 where
6398 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
6399 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
6400 P2: ::windows::core::IntoParam<::windows::core::BSTR>,
6401 {
6402 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
6403 (::windows::core::Interface::vtable(self).GetStorageFileName)(::windows::core::Interface::as_raw(self), objectstorageclsid.into_param().abi(), keyname.into_param().abi(), filename.into_param().abi(), folder, &mut result__).from_abi(result__)
6404 }
6405 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
6406 #[cfg(feature = "Win32_Foundation")]
6407 pub unsafe fn RemoveStorageFileName<P0, P1, P2>(&self, objectstorageclsid: P0, keyname: P1, deletefile: P2) -> ::windows::core::Result<()>
6408 where
6409 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
6410 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
6411 P2: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
6412 {
6413 (::windows::core::Interface::vtable(self).RemoveStorageFileName)(::windows::core::Interface::as_raw(self), objectstorageclsid.into_param().abi(), keyname.into_param().abi(), deletefile.into_param().abi()).ok()
6414 }
6415 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
6416 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6417 pub unsafe fn IsUISupported<P0, P1>(&self, typeofui: P0, extradata: *const super::super::System::Com::VARIANT, object: P1) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>
6418 where
6419 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
6420 P1: ::windows::core::IntoParam<::windows::core::IUnknown>,
6421 {
6422 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::VARIANT_BOOL>();
6423 (::windows::core::Interface::vtable(self).IsUISupported)(::windows::core::Interface::as_raw(self), typeofui.into_param().abi(), extradata, object.into_param().abi(), &mut result__).from_abi(result__)
6424 }
6425 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
6426 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6427 pub unsafe fn DisplayUI<P0, P1, P2>(&self, hwnd: i32, title: P0, typeofui: P1, extradata: *const super::super::System::Com::VARIANT, object: P2) -> ::windows::core::Result<()>
6428 where
6429 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
6430 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
6431 P2: ::windows::core::IntoParam<::windows::core::IUnknown>,
6432 {
6433 (::windows::core::Interface::vtable(self).DisplayUI)(::windows::core::Interface::as_raw(self), hwnd, title.into_param().abi(), typeofui.into_param().abi(), extradata, object.into_param().abi()).ok()
6434 }
6435 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
6436 #[cfg(feature = "Win32_Foundation")]
6437 pub unsafe fn MatchesAttributes<P0>(&self, attributes: P0) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>
6438 where
6439 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
6440 {
6441 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::VARIANT_BOOL>();
6442 (::windows::core::Interface::vtable(self).MatchesAttributes)(::windows::core::Interface::as_raw(self), attributes.into_param().abi(), &mut result__).from_abi(result__)
6443 }
6444}
6445#[cfg(feature = "Win32_System_Com")]
6446::windows::imp::interface_hierarchy!(ISpeechObjectToken, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
6447#[cfg(feature = "Win32_System_Com")]
6448impl ::core::cmp::PartialEq for ISpeechObjectToken {
6449 fn eq(&self, other: &Self) -> bool {
6450 self.0 == other.0
6451 }
6452}
6453#[cfg(feature = "Win32_System_Com")]
6454impl ::core::cmp::Eq for ISpeechObjectToken {}
6455#[cfg(feature = "Win32_System_Com")]
6456impl ::core::fmt::Debug for ISpeechObjectToken {
6457 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6458 f.debug_tuple("ISpeechObjectToken").field(&self.0).finish()
6459 }
6460}
6461#[cfg(feature = "Win32_System_Com")]
6462unsafe impl ::windows::core::Interface for ISpeechObjectToken {
6463 type Vtable = ISpeechObjectToken_Vtbl;
6464}
6465#[cfg(feature = "Win32_System_Com")]
6466impl ::core::clone::Clone for ISpeechObjectToken {
6467 fn clone(&self) -> Self {
6468 Self(self.0.clone())
6469 }
6470}
6471#[cfg(feature = "Win32_System_Com")]
6472unsafe impl ::windows::core::ComInterface for ISpeechObjectToken {
6473 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc74a3adc_b727_4500_a84a_b526721c8b8c);
6474}
6475#[cfg(feature = "Win32_System_Com")]
6476#[repr(C)]
6477#[doc(hidden)]
6478pub struct ISpeechObjectToken_Vtbl {
6479 pub base__: super::super::System::Com::IDispatch_Vtbl,
6480 pub Id: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, objectid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
6481 #[cfg(feature = "Win32_System_Com")]
6482 pub DataKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, datakey: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6483 #[cfg(not(feature = "Win32_System_Com"))]
6484 DataKey: usize,
6485 #[cfg(feature = "Win32_System_Com")]
6486 pub Category: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, category: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6487 #[cfg(not(feature = "Win32_System_Com"))]
6488 Category: usize,
6489 pub GetDescription: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, locale: i32, description: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
6490 #[cfg(feature = "Win32_Foundation")]
6491 pub SetId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: ::std::mem::MaybeUninit<::windows::core::BSTR>, categoryid: ::std::mem::MaybeUninit<::windows::core::BSTR>, createifnotexist: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
6492 #[cfg(not(feature = "Win32_Foundation"))]
6493 SetId: usize,
6494 pub GetAttribute: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, attributename: ::std::mem::MaybeUninit<::windows::core::BSTR>, attributevalue: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
6495 pub CreateInstance: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, punkouter: *mut ::core::ffi::c_void, clscontext: SpeechTokenContext, object: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6496 pub Remove: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, objectstorageclsid: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
6497 pub GetStorageFileName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, objectstorageclsid: ::std::mem::MaybeUninit<::windows::core::BSTR>, keyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, filename: ::std::mem::MaybeUninit<::windows::core::BSTR>, folder: SpeechTokenShellFolder, filepath: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
6498 #[cfg(feature = "Win32_Foundation")]
6499 pub RemoveStorageFileName: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, objectstorageclsid: ::std::mem::MaybeUninit<::windows::core::BSTR>, keyname: ::std::mem::MaybeUninit<::windows::core::BSTR>, deletefile: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
6500 #[cfg(not(feature = "Win32_Foundation"))]
6501 RemoveStorageFileName: usize,
6502 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6503 pub IsUISupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, typeofui: ::std::mem::MaybeUninit<::windows::core::BSTR>, extradata: *const super::super::System::Com::VARIANT, object: *mut ::core::ffi::c_void, supported: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
6504 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
6505 IsUISupported: usize,
6506 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6507 pub DisplayUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwnd: i32, title: ::std::mem::MaybeUninit<::windows::core::BSTR>, typeofui: ::std::mem::MaybeUninit<::windows::core::BSTR>, extradata: *const super::super::System::Com::VARIANT, object: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6508 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
6509 DisplayUI: usize,
6510 #[cfg(feature = "Win32_Foundation")]
6511 pub MatchesAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, attributes: ::std::mem::MaybeUninit<::windows::core::BSTR>, matches: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
6512 #[cfg(not(feature = "Win32_Foundation"))]
6513 MatchesAttributes: usize,
6514}
6515#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
6516#[cfg(feature = "Win32_System_Com")]
6517#[repr(transparent)]
6518pub struct ISpeechObjectTokenCategory(::windows::core::IUnknown);
6519#[cfg(feature = "Win32_System_Com")]
6520impl ISpeechObjectTokenCategory {
6521 pub unsafe fn Id(&self) -> ::windows::core::Result<::windows::core::BSTR> {
6522 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
6523 (::windows::core::Interface::vtable(self).Id)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6524 }
6525 pub unsafe fn SetDefault<P0>(&self, tokenid: P0) -> ::windows::core::Result<()>
6526 where
6527 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
6528 {
6529 (::windows::core::Interface::vtable(self).SetDefault)(::windows::core::Interface::as_raw(self), tokenid.into_param().abi()).ok()
6530 }
6531 pub unsafe fn Default(&self) -> ::windows::core::Result<::windows::core::BSTR> {
6532 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
6533 (::windows::core::Interface::vtable(self).Default)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6534 }
6535 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
6536 #[cfg(feature = "Win32_Foundation")]
6537 pub unsafe fn SetId<P0, P1>(&self, id: P0, createifnotexist: P1) -> ::windows::core::Result<()>
6538 where
6539 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
6540 P1: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
6541 {
6542 (::windows::core::Interface::vtable(self).SetId)(::windows::core::Interface::as_raw(self), id.into_param().abi(), createifnotexist.into_param().abi()).ok()
6543 }
6544 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6545 #[cfg(feature = "Win32_System_Com")]
6546 pub unsafe fn GetDataKey(&self, location: SpeechDataKeyLocation) -> ::windows::core::Result<ISpeechDataKey> {
6547 let mut result__ = ::windows::core::zeroed::<ISpeechDataKey>();
6548 (::windows::core::Interface::vtable(self).GetDataKey)(::windows::core::Interface::as_raw(self), location, &mut result__).from_abi(result__)
6549 }
6550 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6551 #[cfg(feature = "Win32_System_Com")]
6552 pub unsafe fn EnumerateTokens<P0, P1>(&self, requiredattributes: P0, optionalattributes: P1) -> ::windows::core::Result<ISpeechObjectTokens>
6553 where
6554 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
6555 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
6556 {
6557 let mut result__ = ::windows::core::zeroed::<ISpeechObjectTokens>();
6558 (::windows::core::Interface::vtable(self).EnumerateTokens)(::windows::core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi(result__)
6559 }
6560}
6561#[cfg(feature = "Win32_System_Com")]
6562::windows::imp::interface_hierarchy!(ISpeechObjectTokenCategory, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
6563#[cfg(feature = "Win32_System_Com")]
6564impl ::core::cmp::PartialEq for ISpeechObjectTokenCategory {
6565 fn eq(&self, other: &Self) -> bool {
6566 self.0 == other.0
6567 }
6568}
6569#[cfg(feature = "Win32_System_Com")]
6570impl ::core::cmp::Eq for ISpeechObjectTokenCategory {}
6571#[cfg(feature = "Win32_System_Com")]
6572impl ::core::fmt::Debug for ISpeechObjectTokenCategory {
6573 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6574 f.debug_tuple("ISpeechObjectTokenCategory").field(&self.0).finish()
6575 }
6576}
6577#[cfg(feature = "Win32_System_Com")]
6578unsafe impl ::windows::core::Interface for ISpeechObjectTokenCategory {
6579 type Vtable = ISpeechObjectTokenCategory_Vtbl;
6580}
6581#[cfg(feature = "Win32_System_Com")]
6582impl ::core::clone::Clone for ISpeechObjectTokenCategory {
6583 fn clone(&self) -> Self {
6584 Self(self.0.clone())
6585 }
6586}
6587#[cfg(feature = "Win32_System_Com")]
6588unsafe impl ::windows::core::ComInterface for ISpeechObjectTokenCategory {
6589 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xca7eac50_2d01_4145_86d4_5ae7d70f4469);
6590}
6591#[cfg(feature = "Win32_System_Com")]
6592#[repr(C)]
6593#[doc(hidden)]
6594pub struct ISpeechObjectTokenCategory_Vtbl {
6595 pub base__: super::super::System::Com::IDispatch_Vtbl,
6596 pub Id: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
6597 pub SetDefault: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, tokenid: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
6598 pub Default: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, tokenid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
6599 #[cfg(feature = "Win32_Foundation")]
6600 pub SetId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: ::std::mem::MaybeUninit<::windows::core::BSTR>, createifnotexist: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
6601 #[cfg(not(feature = "Win32_Foundation"))]
6602 SetId: usize,
6603 #[cfg(feature = "Win32_System_Com")]
6604 pub GetDataKey: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, location: SpeechDataKeyLocation, datakey: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6605 #[cfg(not(feature = "Win32_System_Com"))]
6606 GetDataKey: usize,
6607 #[cfg(feature = "Win32_System_Com")]
6608 pub EnumerateTokens: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, requiredattributes: ::std::mem::MaybeUninit<::windows::core::BSTR>, optionalattributes: ::std::mem::MaybeUninit<::windows::core::BSTR>, tokens: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6609 #[cfg(not(feature = "Win32_System_Com"))]
6610 EnumerateTokens: usize,
6611}
6612#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
6613#[cfg(feature = "Win32_System_Com")]
6614#[repr(transparent)]
6615pub struct ISpeechObjectTokens(::windows::core::IUnknown);
6616#[cfg(feature = "Win32_System_Com")]
6617impl ISpeechObjectTokens {
6618 pub unsafe fn Count(&self) -> ::windows::core::Result<i32> {
6619 let mut result__ = ::windows::core::zeroed::<i32>();
6620 (::windows::core::Interface::vtable(self).Count)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6621 }
6622 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6623 #[cfg(feature = "Win32_System_Com")]
6624 pub unsafe fn Item(&self, index: i32) -> ::windows::core::Result<ISpeechObjectToken> {
6625 let mut result__ = ::windows::core::zeroed::<ISpeechObjectToken>();
6626 (::windows::core::Interface::vtable(self).Item)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
6627 }
6628 pub unsafe fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown> {
6629 let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
6630 (::windows::core::Interface::vtable(self)._NewEnum)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6631 }
6632}
6633#[cfg(feature = "Win32_System_Com")]
6634::windows::imp::interface_hierarchy!(ISpeechObjectTokens, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
6635#[cfg(feature = "Win32_System_Com")]
6636impl ::core::cmp::PartialEq for ISpeechObjectTokens {
6637 fn eq(&self, other: &Self) -> bool {
6638 self.0 == other.0
6639 }
6640}
6641#[cfg(feature = "Win32_System_Com")]
6642impl ::core::cmp::Eq for ISpeechObjectTokens {}
6643#[cfg(feature = "Win32_System_Com")]
6644impl ::core::fmt::Debug for ISpeechObjectTokens {
6645 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6646 f.debug_tuple("ISpeechObjectTokens").field(&self.0).finish()
6647 }
6648}
6649#[cfg(feature = "Win32_System_Com")]
6650unsafe impl ::windows::core::Interface for ISpeechObjectTokens {
6651 type Vtable = ISpeechObjectTokens_Vtbl;
6652}
6653#[cfg(feature = "Win32_System_Com")]
6654impl ::core::clone::Clone for ISpeechObjectTokens {
6655 fn clone(&self) -> Self {
6656 Self(self.0.clone())
6657 }
6658}
6659#[cfg(feature = "Win32_System_Com")]
6660unsafe impl ::windows::core::ComInterface for ISpeechObjectTokens {
6661 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9285b776_2e7b_4bc0_b53e_580eb6fa967f);
6662}
6663#[cfg(feature = "Win32_System_Com")]
6664#[repr(C)]
6665#[doc(hidden)]
6666pub struct ISpeechObjectTokens_Vtbl {
6667 pub base__: super::super::System::Com::IDispatch_Vtbl,
6668 pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT,
6669 #[cfg(feature = "Win32_System_Com")]
6670 pub Item: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, token: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6671 #[cfg(not(feature = "Win32_System_Com"))]
6672 Item: usize,
6673 pub _NewEnum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ppenumvariant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6674}
6675#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
6676#[cfg(feature = "Win32_System_Com")]
6677#[repr(transparent)]
6678pub struct ISpeechPhoneConverter(::windows::core::IUnknown);
6679#[cfg(feature = "Win32_System_Com")]
6680impl ISpeechPhoneConverter {
6681 pub unsafe fn LanguageId(&self) -> ::windows::core::Result<i32> {
6682 let mut result__ = ::windows::core::zeroed::<i32>();
6683 (::windows::core::Interface::vtable(self).LanguageId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6684 }
6685 pub unsafe fn SetLanguageId(&self, languageid: i32) -> ::windows::core::Result<()> {
6686 (::windows::core::Interface::vtable(self).SetLanguageId)(::windows::core::Interface::as_raw(self), languageid).ok()
6687 }
6688 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
6689 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6690 pub unsafe fn PhoneToId<P0>(&self, phonemes: P0) -> ::windows::core::Result<super::super::System::Com::VARIANT>
6691 where
6692 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
6693 {
6694 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
6695 (::windows::core::Interface::vtable(self).PhoneToId)(::windows::core::Interface::as_raw(self), phonemes.into_param().abi(), &mut result__).from_abi(result__)
6696 }
6697 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
6698 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6699 pub unsafe fn IdToPhone(&self, idarray: super::super::System::Com::VARIANT) -> ::windows::core::Result<::windows::core::BSTR> {
6700 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
6701 (::windows::core::Interface::vtable(self).IdToPhone)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(idarray), &mut result__).from_abi(result__)
6702 }
6703}
6704#[cfg(feature = "Win32_System_Com")]
6705::windows::imp::interface_hierarchy!(ISpeechPhoneConverter, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
6706#[cfg(feature = "Win32_System_Com")]
6707impl ::core::cmp::PartialEq for ISpeechPhoneConverter {
6708 fn eq(&self, other: &Self) -> bool {
6709 self.0 == other.0
6710 }
6711}
6712#[cfg(feature = "Win32_System_Com")]
6713impl ::core::cmp::Eq for ISpeechPhoneConverter {}
6714#[cfg(feature = "Win32_System_Com")]
6715impl ::core::fmt::Debug for ISpeechPhoneConverter {
6716 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6717 f.debug_tuple("ISpeechPhoneConverter").field(&self.0).finish()
6718 }
6719}
6720#[cfg(feature = "Win32_System_Com")]
6721unsafe impl ::windows::core::Interface for ISpeechPhoneConverter {
6722 type Vtable = ISpeechPhoneConverter_Vtbl;
6723}
6724#[cfg(feature = "Win32_System_Com")]
6725impl ::core::clone::Clone for ISpeechPhoneConverter {
6726 fn clone(&self) -> Self {
6727 Self(self.0.clone())
6728 }
6729}
6730#[cfg(feature = "Win32_System_Com")]
6731unsafe impl ::windows::core::ComInterface for ISpeechPhoneConverter {
6732 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc3e4f353_433f_43d6_89a1_6a62a7054c3d);
6733}
6734#[cfg(feature = "Win32_System_Com")]
6735#[repr(C)]
6736#[doc(hidden)]
6737pub struct ISpeechPhoneConverter_Vtbl {
6738 pub base__: super::super::System::Com::IDispatch_Vtbl,
6739 pub LanguageId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, languageid: *mut i32) -> ::windows::core::HRESULT,
6740 pub SetLanguageId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, languageid: i32) -> ::windows::core::HRESULT,
6741 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6742 pub PhoneToId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phonemes: ::std::mem::MaybeUninit<::windows::core::BSTR>, idarray: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
6743 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
6744 PhoneToId: usize,
6745 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6746 pub IdToPhone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, idarray: super::super::System::Com::VARIANT, phonemes: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
6747 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
6748 IdToPhone: usize,
6749}
6750#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
6751#[cfg(feature = "Win32_System_Com")]
6752#[repr(transparent)]
6753pub struct ISpeechPhraseAlternate(::windows::core::IUnknown);
6754#[cfg(feature = "Win32_System_Com")]
6755impl ISpeechPhraseAlternate {
6756 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6757 #[cfg(feature = "Win32_System_Com")]
6758 pub unsafe fn RecoResult(&self) -> ::windows::core::Result<ISpeechRecoResult> {
6759 let mut result__ = ::windows::core::zeroed::<ISpeechRecoResult>();
6760 (::windows::core::Interface::vtable(self).RecoResult)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6761 }
6762 pub unsafe fn StartElementInResult(&self) -> ::windows::core::Result<i32> {
6763 let mut result__ = ::windows::core::zeroed::<i32>();
6764 (::windows::core::Interface::vtable(self).StartElementInResult)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6765 }
6766 pub unsafe fn NumberOfElementsInResult(&self) -> ::windows::core::Result<i32> {
6767 let mut result__ = ::windows::core::zeroed::<i32>();
6768 (::windows::core::Interface::vtable(self).NumberOfElementsInResult)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6769 }
6770 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6771 #[cfg(feature = "Win32_System_Com")]
6772 pub unsafe fn PhraseInfo(&self) -> ::windows::core::Result<ISpeechPhraseInfo> {
6773 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseInfo>();
6774 (::windows::core::Interface::vtable(self).PhraseInfo)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6775 }
6776 pub unsafe fn Commit(&self) -> ::windows::core::Result<()> {
6777 (::windows::core::Interface::vtable(self).Commit)(::windows::core::Interface::as_raw(self)).ok()
6778 }
6779}
6780#[cfg(feature = "Win32_System_Com")]
6781::windows::imp::interface_hierarchy!(ISpeechPhraseAlternate, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
6782#[cfg(feature = "Win32_System_Com")]
6783impl ::core::cmp::PartialEq for ISpeechPhraseAlternate {
6784 fn eq(&self, other: &Self) -> bool {
6785 self.0 == other.0
6786 }
6787}
6788#[cfg(feature = "Win32_System_Com")]
6789impl ::core::cmp::Eq for ISpeechPhraseAlternate {}
6790#[cfg(feature = "Win32_System_Com")]
6791impl ::core::fmt::Debug for ISpeechPhraseAlternate {
6792 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6793 f.debug_tuple("ISpeechPhraseAlternate").field(&self.0).finish()
6794 }
6795}
6796#[cfg(feature = "Win32_System_Com")]
6797unsafe impl ::windows::core::Interface for ISpeechPhraseAlternate {
6798 type Vtable = ISpeechPhraseAlternate_Vtbl;
6799}
6800#[cfg(feature = "Win32_System_Com")]
6801impl ::core::clone::Clone for ISpeechPhraseAlternate {
6802 fn clone(&self) -> Self {
6803 Self(self.0.clone())
6804 }
6805}
6806#[cfg(feature = "Win32_System_Com")]
6807unsafe impl ::windows::core::ComInterface for ISpeechPhraseAlternate {
6808 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x27864a2a_2b9f_4cb8_92d3_0d2722fd1e73);
6809}
6810#[cfg(feature = "Win32_System_Com")]
6811#[repr(C)]
6812#[doc(hidden)]
6813pub struct ISpeechPhraseAlternate_Vtbl {
6814 pub base__: super::super::System::Com::IDispatch_Vtbl,
6815 #[cfg(feature = "Win32_System_Com")]
6816 pub RecoResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, recoresult: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6817 #[cfg(not(feature = "Win32_System_Com"))]
6818 RecoResult: usize,
6819 pub StartElementInResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, startelement: *mut i32) -> ::windows::core::HRESULT,
6820 pub NumberOfElementsInResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numberofelements: *mut i32) -> ::windows::core::HRESULT,
6821 #[cfg(feature = "Win32_System_Com")]
6822 pub PhraseInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phraseinfo: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6823 #[cfg(not(feature = "Win32_System_Com"))]
6824 PhraseInfo: usize,
6825 pub Commit: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6826}
6827#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
6828#[cfg(feature = "Win32_System_Com")]
6829#[repr(transparent)]
6830pub struct ISpeechPhraseAlternates(::windows::core::IUnknown);
6831#[cfg(feature = "Win32_System_Com")]
6832impl ISpeechPhraseAlternates {
6833 pub unsafe fn Count(&self) -> ::windows::core::Result<i32> {
6834 let mut result__ = ::windows::core::zeroed::<i32>();
6835 (::windows::core::Interface::vtable(self).Count)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6836 }
6837 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
6838 #[cfg(feature = "Win32_System_Com")]
6839 pub unsafe fn Item(&self, index: i32) -> ::windows::core::Result<ISpeechPhraseAlternate> {
6840 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseAlternate>();
6841 (::windows::core::Interface::vtable(self).Item)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
6842 }
6843 pub unsafe fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown> {
6844 let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
6845 (::windows::core::Interface::vtable(self)._NewEnum)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6846 }
6847}
6848#[cfg(feature = "Win32_System_Com")]
6849::windows::imp::interface_hierarchy!(ISpeechPhraseAlternates, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
6850#[cfg(feature = "Win32_System_Com")]
6851impl ::core::cmp::PartialEq for ISpeechPhraseAlternates {
6852 fn eq(&self, other: &Self) -> bool {
6853 self.0 == other.0
6854 }
6855}
6856#[cfg(feature = "Win32_System_Com")]
6857impl ::core::cmp::Eq for ISpeechPhraseAlternates {}
6858#[cfg(feature = "Win32_System_Com")]
6859impl ::core::fmt::Debug for ISpeechPhraseAlternates {
6860 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6861 f.debug_tuple("ISpeechPhraseAlternates").field(&self.0).finish()
6862 }
6863}
6864#[cfg(feature = "Win32_System_Com")]
6865unsafe impl ::windows::core::Interface for ISpeechPhraseAlternates {
6866 type Vtable = ISpeechPhraseAlternates_Vtbl;
6867}
6868#[cfg(feature = "Win32_System_Com")]
6869impl ::core::clone::Clone for ISpeechPhraseAlternates {
6870 fn clone(&self) -> Self {
6871 Self(self.0.clone())
6872 }
6873}
6874#[cfg(feature = "Win32_System_Com")]
6875unsafe impl ::windows::core::ComInterface for ISpeechPhraseAlternates {
6876 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb238b6d5_f276_4c3d_a6c1_2974801c3cc2);
6877}
6878#[cfg(feature = "Win32_System_Com")]
6879#[repr(C)]
6880#[doc(hidden)]
6881pub struct ISpeechPhraseAlternates_Vtbl {
6882 pub base__: super::super::System::Com::IDispatch_Vtbl,
6883 pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT,
6884 #[cfg(feature = "Win32_System_Com")]
6885 pub Item: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, phrasealternate: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6886 #[cfg(not(feature = "Win32_System_Com"))]
6887 Item: usize,
6888 pub _NewEnum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enumvariant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
6889}
6890#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
6891#[cfg(feature = "Win32_System_Com")]
6892#[repr(transparent)]
6893pub struct ISpeechPhraseElement(::windows::core::IUnknown);
6894#[cfg(feature = "Win32_System_Com")]
6895impl ISpeechPhraseElement {
6896 pub unsafe fn AudioTimeOffset(&self) -> ::windows::core::Result<i32> {
6897 let mut result__ = ::windows::core::zeroed::<i32>();
6898 (::windows::core::Interface::vtable(self).AudioTimeOffset)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6899 }
6900 pub unsafe fn AudioSizeTime(&self) -> ::windows::core::Result<i32> {
6901 let mut result__ = ::windows::core::zeroed::<i32>();
6902 (::windows::core::Interface::vtable(self).AudioSizeTime)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6903 }
6904 pub unsafe fn AudioStreamOffset(&self) -> ::windows::core::Result<i32> {
6905 let mut result__ = ::windows::core::zeroed::<i32>();
6906 (::windows::core::Interface::vtable(self).AudioStreamOffset)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6907 }
6908 pub unsafe fn AudioSizeBytes(&self) -> ::windows::core::Result<i32> {
6909 let mut result__ = ::windows::core::zeroed::<i32>();
6910 (::windows::core::Interface::vtable(self).AudioSizeBytes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6911 }
6912 pub unsafe fn RetainedStreamOffset(&self) -> ::windows::core::Result<i32> {
6913 let mut result__ = ::windows::core::zeroed::<i32>();
6914 (::windows::core::Interface::vtable(self).RetainedStreamOffset)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6915 }
6916 pub unsafe fn RetainedSizeBytes(&self) -> ::windows::core::Result<i32> {
6917 let mut result__ = ::windows::core::zeroed::<i32>();
6918 (::windows::core::Interface::vtable(self).RetainedSizeBytes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6919 }
6920 pub unsafe fn DisplayText(&self) -> ::windows::core::Result<::windows::core::BSTR> {
6921 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
6922 (::windows::core::Interface::vtable(self).DisplayText)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6923 }
6924 pub unsafe fn LexicalForm(&self) -> ::windows::core::Result<::windows::core::BSTR> {
6925 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
6926 (::windows::core::Interface::vtable(self).LexicalForm)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6927 }
6928 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
6929 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6930 pub unsafe fn Pronunciation(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
6931 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
6932 (::windows::core::Interface::vtable(self).Pronunciation)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6933 }
6934 pub unsafe fn DisplayAttributes(&self) -> ::windows::core::Result<SpeechDisplayAttributes> {
6935 let mut result__ = ::windows::core::zeroed::<SpeechDisplayAttributes>();
6936 (::windows::core::Interface::vtable(self).DisplayAttributes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6937 }
6938 pub unsafe fn RequiredConfidence(&self) -> ::windows::core::Result<SpeechEngineConfidence> {
6939 let mut result__ = ::windows::core::zeroed::<SpeechEngineConfidence>();
6940 (::windows::core::Interface::vtable(self).RequiredConfidence)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6941 }
6942 pub unsafe fn ActualConfidence(&self) -> ::windows::core::Result<SpeechEngineConfidence> {
6943 let mut result__ = ::windows::core::zeroed::<SpeechEngineConfidence>();
6944 (::windows::core::Interface::vtable(self).ActualConfidence)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6945 }
6946 pub unsafe fn EngineConfidence(&self) -> ::windows::core::Result<f32> {
6947 let mut result__ = ::windows::core::zeroed::<f32>();
6948 (::windows::core::Interface::vtable(self).EngineConfidence)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
6949 }
6950}
6951#[cfg(feature = "Win32_System_Com")]
6952::windows::imp::interface_hierarchy!(ISpeechPhraseElement, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
6953#[cfg(feature = "Win32_System_Com")]
6954impl ::core::cmp::PartialEq for ISpeechPhraseElement {
6955 fn eq(&self, other: &Self) -> bool {
6956 self.0 == other.0
6957 }
6958}
6959#[cfg(feature = "Win32_System_Com")]
6960impl ::core::cmp::Eq for ISpeechPhraseElement {}
6961#[cfg(feature = "Win32_System_Com")]
6962impl ::core::fmt::Debug for ISpeechPhraseElement {
6963 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
6964 f.debug_tuple("ISpeechPhraseElement").field(&self.0).finish()
6965 }
6966}
6967#[cfg(feature = "Win32_System_Com")]
6968unsafe impl ::windows::core::Interface for ISpeechPhraseElement {
6969 type Vtable = ISpeechPhraseElement_Vtbl;
6970}
6971#[cfg(feature = "Win32_System_Com")]
6972impl ::core::clone::Clone for ISpeechPhraseElement {
6973 fn clone(&self) -> Self {
6974 Self(self.0.clone())
6975 }
6976}
6977#[cfg(feature = "Win32_System_Com")]
6978unsafe impl ::windows::core::ComInterface for ISpeechPhraseElement {
6979 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe6176f96_e373_4801_b223_3b62c068c0b4);
6980}
6981#[cfg(feature = "Win32_System_Com")]
6982#[repr(C)]
6983#[doc(hidden)]
6984pub struct ISpeechPhraseElement_Vtbl {
6985 pub base__: super::super::System::Com::IDispatch_Vtbl,
6986 pub AudioTimeOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audiotimeoffset: *mut i32) -> ::windows::core::HRESULT,
6987 pub AudioSizeTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audiosizetime: *mut i32) -> ::windows::core::HRESULT,
6988 pub AudioStreamOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audiostreamoffset: *mut i32) -> ::windows::core::HRESULT,
6989 pub AudioSizeBytes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audiosizebytes: *mut i32) -> ::windows::core::HRESULT,
6990 pub RetainedStreamOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, retainedstreamoffset: *mut i32) -> ::windows::core::HRESULT,
6991 pub RetainedSizeBytes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, retainedsizebytes: *mut i32) -> ::windows::core::HRESULT,
6992 pub DisplayText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, displaytext: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
6993 pub LexicalForm: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, lexicalform: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
6994 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
6995 pub Pronunciation: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pronunciation: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
6996 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
6997 Pronunciation: usize,
6998 pub DisplayAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, displayattributes: *mut SpeechDisplayAttributes) -> ::windows::core::HRESULT,
6999 pub RequiredConfidence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, requiredconfidence: *mut SpeechEngineConfidence) -> ::windows::core::HRESULT,
7000 pub ActualConfidence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, actualconfidence: *mut SpeechEngineConfidence) -> ::windows::core::HRESULT,
7001 pub EngineConfidence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, engineconfidence: *mut f32) -> ::windows::core::HRESULT,
7002}
7003#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
7004#[cfg(feature = "Win32_System_Com")]
7005#[repr(transparent)]
7006pub struct ISpeechPhraseElements(::windows::core::IUnknown);
7007#[cfg(feature = "Win32_System_Com")]
7008impl ISpeechPhraseElements {
7009 pub unsafe fn Count(&self) -> ::windows::core::Result<i32> {
7010 let mut result__ = ::windows::core::zeroed::<i32>();
7011 (::windows::core::Interface::vtable(self).Count)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7012 }
7013 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7014 #[cfg(feature = "Win32_System_Com")]
7015 pub unsafe fn Item(&self, index: i32) -> ::windows::core::Result<ISpeechPhraseElement> {
7016 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseElement>();
7017 (::windows::core::Interface::vtable(self).Item)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
7018 }
7019 pub unsafe fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown> {
7020 let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
7021 (::windows::core::Interface::vtable(self)._NewEnum)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7022 }
7023}
7024#[cfg(feature = "Win32_System_Com")]
7025::windows::imp::interface_hierarchy!(ISpeechPhraseElements, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
7026#[cfg(feature = "Win32_System_Com")]
7027impl ::core::cmp::PartialEq for ISpeechPhraseElements {
7028 fn eq(&self, other: &Self) -> bool {
7029 self.0 == other.0
7030 }
7031}
7032#[cfg(feature = "Win32_System_Com")]
7033impl ::core::cmp::Eq for ISpeechPhraseElements {}
7034#[cfg(feature = "Win32_System_Com")]
7035impl ::core::fmt::Debug for ISpeechPhraseElements {
7036 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7037 f.debug_tuple("ISpeechPhraseElements").field(&self.0).finish()
7038 }
7039}
7040#[cfg(feature = "Win32_System_Com")]
7041unsafe impl ::windows::core::Interface for ISpeechPhraseElements {
7042 type Vtable = ISpeechPhraseElements_Vtbl;
7043}
7044#[cfg(feature = "Win32_System_Com")]
7045impl ::core::clone::Clone for ISpeechPhraseElements {
7046 fn clone(&self) -> Self {
7047 Self(self.0.clone())
7048 }
7049}
7050#[cfg(feature = "Win32_System_Com")]
7051unsafe impl ::windows::core::ComInterface for ISpeechPhraseElements {
7052 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0626b328_3478_467d_a0b3_d0853b93dda3);
7053}
7054#[cfg(feature = "Win32_System_Com")]
7055#[repr(C)]
7056#[doc(hidden)]
7057pub struct ISpeechPhraseElements_Vtbl {
7058 pub base__: super::super::System::Com::IDispatch_Vtbl,
7059 pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT,
7060 #[cfg(feature = "Win32_System_Com")]
7061 pub Item: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, element: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7062 #[cfg(not(feature = "Win32_System_Com"))]
7063 Item: usize,
7064 pub _NewEnum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enumvariant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7065}
7066#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
7067#[cfg(feature = "Win32_System_Com")]
7068#[repr(transparent)]
7069pub struct ISpeechPhraseInfo(::windows::core::IUnknown);
7070#[cfg(feature = "Win32_System_Com")]
7071impl ISpeechPhraseInfo {
7072 pub unsafe fn LanguageId(&self) -> ::windows::core::Result<i32> {
7073 let mut result__ = ::windows::core::zeroed::<i32>();
7074 (::windows::core::Interface::vtable(self).LanguageId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7075 }
7076 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
7077 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7078 pub unsafe fn GrammarId(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
7079 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
7080 (::windows::core::Interface::vtable(self).GrammarId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7081 }
7082 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
7083 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7084 pub unsafe fn StartTime(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
7085 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
7086 (::windows::core::Interface::vtable(self).StartTime)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7087 }
7088 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
7089 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7090 pub unsafe fn AudioStreamPosition(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
7091 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
7092 (::windows::core::Interface::vtable(self).AudioStreamPosition)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7093 }
7094 pub unsafe fn AudioSizeBytes(&self) -> ::windows::core::Result<i32> {
7095 let mut result__ = ::windows::core::zeroed::<i32>();
7096 (::windows::core::Interface::vtable(self).AudioSizeBytes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7097 }
7098 pub unsafe fn RetainedSizeBytes(&self) -> ::windows::core::Result<i32> {
7099 let mut result__ = ::windows::core::zeroed::<i32>();
7100 (::windows::core::Interface::vtable(self).RetainedSizeBytes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7101 }
7102 pub unsafe fn AudioSizeTime(&self) -> ::windows::core::Result<i32> {
7103 let mut result__ = ::windows::core::zeroed::<i32>();
7104 (::windows::core::Interface::vtable(self).AudioSizeTime)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7105 }
7106 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7107 #[cfg(feature = "Win32_System_Com")]
7108 pub unsafe fn Rule(&self) -> ::windows::core::Result<ISpeechPhraseRule> {
7109 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseRule>();
7110 (::windows::core::Interface::vtable(self).Rule)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7111 }
7112 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7113 #[cfg(feature = "Win32_System_Com")]
7114 pub unsafe fn Properties(&self) -> ::windows::core::Result<ISpeechPhraseProperties> {
7115 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseProperties>();
7116 (::windows::core::Interface::vtable(self).Properties)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7117 }
7118 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7119 #[cfg(feature = "Win32_System_Com")]
7120 pub unsafe fn Elements(&self) -> ::windows::core::Result<ISpeechPhraseElements> {
7121 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseElements>();
7122 (::windows::core::Interface::vtable(self).Elements)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7123 }
7124 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7125 #[cfg(feature = "Win32_System_Com")]
7126 pub unsafe fn Replacements(&self) -> ::windows::core::Result<ISpeechPhraseReplacements> {
7127 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseReplacements>();
7128 (::windows::core::Interface::vtable(self).Replacements)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7129 }
7130 pub unsafe fn EngineId(&self) -> ::windows::core::Result<::windows::core::BSTR> {
7131 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
7132 (::windows::core::Interface::vtable(self).EngineId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7133 }
7134 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
7135 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7136 pub unsafe fn EnginePrivateData(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
7137 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
7138 (::windows::core::Interface::vtable(self).EnginePrivateData)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7139 }
7140 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
7141 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7142 pub unsafe fn SaveToMemory(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
7143 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
7144 (::windows::core::Interface::vtable(self).SaveToMemory)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7145 }
7146 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
7147 #[cfg(feature = "Win32_Foundation")]
7148 pub unsafe fn GetText<P0>(&self, startelement: i32, elements: i32, usereplacements: P0) -> ::windows::core::Result<::windows::core::BSTR>
7149 where
7150 P0: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
7151 {
7152 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
7153 (::windows::core::Interface::vtable(self).GetText)(::windows::core::Interface::as_raw(self), startelement, elements, usereplacements.into_param().abi(), &mut result__).from_abi(result__)
7154 }
7155 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
7156 #[cfg(feature = "Win32_Foundation")]
7157 pub unsafe fn GetDisplayAttributes<P0>(&self, startelement: i32, elements: i32, usereplacements: P0) -> ::windows::core::Result<SpeechDisplayAttributes>
7158 where
7159 P0: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
7160 {
7161 let mut result__ = ::windows::core::zeroed::<SpeechDisplayAttributes>();
7162 (::windows::core::Interface::vtable(self).GetDisplayAttributes)(::windows::core::Interface::as_raw(self), startelement, elements, usereplacements.into_param().abi(), &mut result__).from_abi(result__)
7163 }
7164}
7165#[cfg(feature = "Win32_System_Com")]
7166::windows::imp::interface_hierarchy!(ISpeechPhraseInfo, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
7167#[cfg(feature = "Win32_System_Com")]
7168impl ::core::cmp::PartialEq for ISpeechPhraseInfo {
7169 fn eq(&self, other: &Self) -> bool {
7170 self.0 == other.0
7171 }
7172}
7173#[cfg(feature = "Win32_System_Com")]
7174impl ::core::cmp::Eq for ISpeechPhraseInfo {}
7175#[cfg(feature = "Win32_System_Com")]
7176impl ::core::fmt::Debug for ISpeechPhraseInfo {
7177 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7178 f.debug_tuple("ISpeechPhraseInfo").field(&self.0).finish()
7179 }
7180}
7181#[cfg(feature = "Win32_System_Com")]
7182unsafe impl ::windows::core::Interface for ISpeechPhraseInfo {
7183 type Vtable = ISpeechPhraseInfo_Vtbl;
7184}
7185#[cfg(feature = "Win32_System_Com")]
7186impl ::core::clone::Clone for ISpeechPhraseInfo {
7187 fn clone(&self) -> Self {
7188 Self(self.0.clone())
7189 }
7190}
7191#[cfg(feature = "Win32_System_Com")]
7192unsafe impl ::windows::core::ComInterface for ISpeechPhraseInfo {
7193 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x961559cf_4e67_4662_8bf0_d93f1fcd61b3);
7194}
7195#[cfg(feature = "Win32_System_Com")]
7196#[repr(C)]
7197#[doc(hidden)]
7198pub struct ISpeechPhraseInfo_Vtbl {
7199 pub base__: super::super::System::Com::IDispatch_Vtbl,
7200 pub LanguageId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, languageid: *mut i32) -> ::windows::core::HRESULT,
7201 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7202 pub GrammarId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, grammarid: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
7203 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
7204 GrammarId: usize,
7205 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7206 pub StartTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, starttime: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
7207 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
7208 StartTime: usize,
7209 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7210 pub AudioStreamPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audiostreamposition: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
7211 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
7212 AudioStreamPosition: usize,
7213 pub AudioSizeBytes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, paudiosizebytes: *mut i32) -> ::windows::core::HRESULT,
7214 pub RetainedSizeBytes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, retainedsizebytes: *mut i32) -> ::windows::core::HRESULT,
7215 pub AudioSizeTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audiosizetime: *mut i32) -> ::windows::core::HRESULT,
7216 #[cfg(feature = "Win32_System_Com")]
7217 pub Rule: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rule: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7218 #[cfg(not(feature = "Win32_System_Com"))]
7219 Rule: usize,
7220 #[cfg(feature = "Win32_System_Com")]
7221 pub Properties: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, properties: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7222 #[cfg(not(feature = "Win32_System_Com"))]
7223 Properties: usize,
7224 #[cfg(feature = "Win32_System_Com")]
7225 pub Elements: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, elements: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7226 #[cfg(not(feature = "Win32_System_Com"))]
7227 Elements: usize,
7228 #[cfg(feature = "Win32_System_Com")]
7229 pub Replacements: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, replacements: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7230 #[cfg(not(feature = "Win32_System_Com"))]
7231 Replacements: usize,
7232 pub EngineId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, engineidguid: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
7233 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7234 pub EnginePrivateData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, privatedata: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
7235 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
7236 EnginePrivateData: usize,
7237 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7238 pub SaveToMemory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phraseblock: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
7239 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
7240 SaveToMemory: usize,
7241 #[cfg(feature = "Win32_Foundation")]
7242 pub GetText: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, startelement: i32, elements: i32, usereplacements: super::super::Foundation::VARIANT_BOOL, text: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
7243 #[cfg(not(feature = "Win32_Foundation"))]
7244 GetText: usize,
7245 #[cfg(feature = "Win32_Foundation")]
7246 pub GetDisplayAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, startelement: i32, elements: i32, usereplacements: super::super::Foundation::VARIANT_BOOL, displayattributes: *mut SpeechDisplayAttributes) -> ::windows::core::HRESULT,
7247 #[cfg(not(feature = "Win32_Foundation"))]
7248 GetDisplayAttributes: usize,
7249}
7250#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
7251#[cfg(feature = "Win32_System_Com")]
7252#[repr(transparent)]
7253pub struct ISpeechPhraseInfoBuilder(::windows::core::IUnknown);
7254#[cfg(feature = "Win32_System_Com")]
7255impl ISpeechPhraseInfoBuilder {
7256 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
7257 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7258 pub unsafe fn RestorePhraseFromMemory(&self, phraseinmemory: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<ISpeechPhraseInfo> {
7259 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseInfo>();
7260 (::windows::core::Interface::vtable(self).RestorePhraseFromMemory)(::windows::core::Interface::as_raw(self), phraseinmemory, &mut result__).from_abi(result__)
7261 }
7262}
7263#[cfg(feature = "Win32_System_Com")]
7264::windows::imp::interface_hierarchy!(ISpeechPhraseInfoBuilder, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
7265#[cfg(feature = "Win32_System_Com")]
7266impl ::core::cmp::PartialEq for ISpeechPhraseInfoBuilder {
7267 fn eq(&self, other: &Self) -> bool {
7268 self.0 == other.0
7269 }
7270}
7271#[cfg(feature = "Win32_System_Com")]
7272impl ::core::cmp::Eq for ISpeechPhraseInfoBuilder {}
7273#[cfg(feature = "Win32_System_Com")]
7274impl ::core::fmt::Debug for ISpeechPhraseInfoBuilder {
7275 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7276 f.debug_tuple("ISpeechPhraseInfoBuilder").field(&self.0).finish()
7277 }
7278}
7279#[cfg(feature = "Win32_System_Com")]
7280unsafe impl ::windows::core::Interface for ISpeechPhraseInfoBuilder {
7281 type Vtable = ISpeechPhraseInfoBuilder_Vtbl;
7282}
7283#[cfg(feature = "Win32_System_Com")]
7284impl ::core::clone::Clone for ISpeechPhraseInfoBuilder {
7285 fn clone(&self) -> Self {
7286 Self(self.0.clone())
7287 }
7288}
7289#[cfg(feature = "Win32_System_Com")]
7290unsafe impl ::windows::core::ComInterface for ISpeechPhraseInfoBuilder {
7291 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3b151836_df3a_4e0a_846c_d2adc9334333);
7292}
7293#[cfg(feature = "Win32_System_Com")]
7294#[repr(C)]
7295#[doc(hidden)]
7296pub struct ISpeechPhraseInfoBuilder_Vtbl {
7297 pub base__: super::super::System::Com::IDispatch_Vtbl,
7298 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7299 pub RestorePhraseFromMemory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phraseinmemory: *const super::super::System::Com::VARIANT, phraseinfo: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7300 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
7301 RestorePhraseFromMemory: usize,
7302}
7303#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
7304#[cfg(feature = "Win32_System_Com")]
7305#[repr(transparent)]
7306pub struct ISpeechPhraseProperties(::windows::core::IUnknown);
7307#[cfg(feature = "Win32_System_Com")]
7308impl ISpeechPhraseProperties {
7309 pub unsafe fn Count(&self) -> ::windows::core::Result<i32> {
7310 let mut result__ = ::windows::core::zeroed::<i32>();
7311 (::windows::core::Interface::vtable(self).Count)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7312 }
7313 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7314 #[cfg(feature = "Win32_System_Com")]
7315 pub unsafe fn Item(&self, index: i32) -> ::windows::core::Result<ISpeechPhraseProperty> {
7316 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseProperty>();
7317 (::windows::core::Interface::vtable(self).Item)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
7318 }
7319 pub unsafe fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown> {
7320 let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
7321 (::windows::core::Interface::vtable(self)._NewEnum)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7322 }
7323}
7324#[cfg(feature = "Win32_System_Com")]
7325::windows::imp::interface_hierarchy!(ISpeechPhraseProperties, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
7326#[cfg(feature = "Win32_System_Com")]
7327impl ::core::cmp::PartialEq for ISpeechPhraseProperties {
7328 fn eq(&self, other: &Self) -> bool {
7329 self.0 == other.0
7330 }
7331}
7332#[cfg(feature = "Win32_System_Com")]
7333impl ::core::cmp::Eq for ISpeechPhraseProperties {}
7334#[cfg(feature = "Win32_System_Com")]
7335impl ::core::fmt::Debug for ISpeechPhraseProperties {
7336 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7337 f.debug_tuple("ISpeechPhraseProperties").field(&self.0).finish()
7338 }
7339}
7340#[cfg(feature = "Win32_System_Com")]
7341unsafe impl ::windows::core::Interface for ISpeechPhraseProperties {
7342 type Vtable = ISpeechPhraseProperties_Vtbl;
7343}
7344#[cfg(feature = "Win32_System_Com")]
7345impl ::core::clone::Clone for ISpeechPhraseProperties {
7346 fn clone(&self) -> Self {
7347 Self(self.0.clone())
7348 }
7349}
7350#[cfg(feature = "Win32_System_Com")]
7351unsafe impl ::windows::core::ComInterface for ISpeechPhraseProperties {
7352 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x08166b47_102e_4b23_a599_bdb98dbfd1f4);
7353}
7354#[cfg(feature = "Win32_System_Com")]
7355#[repr(C)]
7356#[doc(hidden)]
7357pub struct ISpeechPhraseProperties_Vtbl {
7358 pub base__: super::super::System::Com::IDispatch_Vtbl,
7359 pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT,
7360 #[cfg(feature = "Win32_System_Com")]
7361 pub Item: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, property: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7362 #[cfg(not(feature = "Win32_System_Com"))]
7363 Item: usize,
7364 pub _NewEnum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enumvariant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7365}
7366#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
7367#[cfg(feature = "Win32_System_Com")]
7368#[repr(transparent)]
7369pub struct ISpeechPhraseProperty(::windows::core::IUnknown);
7370#[cfg(feature = "Win32_System_Com")]
7371impl ISpeechPhraseProperty {
7372 pub unsafe fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR> {
7373 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
7374 (::windows::core::Interface::vtable(self).Name)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7375 }
7376 pub unsafe fn Id(&self) -> ::windows::core::Result<i32> {
7377 let mut result__ = ::windows::core::zeroed::<i32>();
7378 (::windows::core::Interface::vtable(self).Id)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7379 }
7380 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
7381 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7382 pub unsafe fn Value(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
7383 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
7384 (::windows::core::Interface::vtable(self).Value)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7385 }
7386 pub unsafe fn FirstElement(&self) -> ::windows::core::Result<i32> {
7387 let mut result__ = ::windows::core::zeroed::<i32>();
7388 (::windows::core::Interface::vtable(self).FirstElement)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7389 }
7390 pub unsafe fn NumberOfElements(&self) -> ::windows::core::Result<i32> {
7391 let mut result__ = ::windows::core::zeroed::<i32>();
7392 (::windows::core::Interface::vtable(self).NumberOfElements)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7393 }
7394 pub unsafe fn EngineConfidence(&self) -> ::windows::core::Result<f32> {
7395 let mut result__ = ::windows::core::zeroed::<f32>();
7396 (::windows::core::Interface::vtable(self).EngineConfidence)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7397 }
7398 pub unsafe fn Confidence(&self) -> ::windows::core::Result<SpeechEngineConfidence> {
7399 let mut result__ = ::windows::core::zeroed::<SpeechEngineConfidence>();
7400 (::windows::core::Interface::vtable(self).Confidence)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7401 }
7402 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7403 #[cfg(feature = "Win32_System_Com")]
7404 pub unsafe fn Parent(&self) -> ::windows::core::Result<ISpeechPhraseProperty> {
7405 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseProperty>();
7406 (::windows::core::Interface::vtable(self).Parent)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7407 }
7408 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7409 #[cfg(feature = "Win32_System_Com")]
7410 pub unsafe fn Children(&self) -> ::windows::core::Result<ISpeechPhraseProperties> {
7411 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseProperties>();
7412 (::windows::core::Interface::vtable(self).Children)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7413 }
7414}
7415#[cfg(feature = "Win32_System_Com")]
7416::windows::imp::interface_hierarchy!(ISpeechPhraseProperty, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
7417#[cfg(feature = "Win32_System_Com")]
7418impl ::core::cmp::PartialEq for ISpeechPhraseProperty {
7419 fn eq(&self, other: &Self) -> bool {
7420 self.0 == other.0
7421 }
7422}
7423#[cfg(feature = "Win32_System_Com")]
7424impl ::core::cmp::Eq for ISpeechPhraseProperty {}
7425#[cfg(feature = "Win32_System_Com")]
7426impl ::core::fmt::Debug for ISpeechPhraseProperty {
7427 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7428 f.debug_tuple("ISpeechPhraseProperty").field(&self.0).finish()
7429 }
7430}
7431#[cfg(feature = "Win32_System_Com")]
7432unsafe impl ::windows::core::Interface for ISpeechPhraseProperty {
7433 type Vtable = ISpeechPhraseProperty_Vtbl;
7434}
7435#[cfg(feature = "Win32_System_Com")]
7436impl ::core::clone::Clone for ISpeechPhraseProperty {
7437 fn clone(&self) -> Self {
7438 Self(self.0.clone())
7439 }
7440}
7441#[cfg(feature = "Win32_System_Com")]
7442unsafe impl ::windows::core::ComInterface for ISpeechPhraseProperty {
7443 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xce563d48_961e_4732_a2e1_378a42b430be);
7444}
7445#[cfg(feature = "Win32_System_Com")]
7446#[repr(C)]
7447#[doc(hidden)]
7448pub struct ISpeechPhraseProperty_Vtbl {
7449 pub base__: super::super::System::Com::IDispatch_Vtbl,
7450 pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
7451 pub Id: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: *mut i32) -> ::windows::core::HRESULT,
7452 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7453 pub Value: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, value: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
7454 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
7455 Value: usize,
7456 pub FirstElement: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, firstelement: *mut i32) -> ::windows::core::HRESULT,
7457 pub NumberOfElements: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numberofelements: *mut i32) -> ::windows::core::HRESULT,
7458 pub EngineConfidence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, confidence: *mut f32) -> ::windows::core::HRESULT,
7459 pub Confidence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, confidence: *mut SpeechEngineConfidence) -> ::windows::core::HRESULT,
7460 #[cfg(feature = "Win32_System_Com")]
7461 pub Parent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, parentproperty: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7462 #[cfg(not(feature = "Win32_System_Com"))]
7463 Parent: usize,
7464 #[cfg(feature = "Win32_System_Com")]
7465 pub Children: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, children: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7466 #[cfg(not(feature = "Win32_System_Com"))]
7467 Children: usize,
7468}
7469#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
7470#[cfg(feature = "Win32_System_Com")]
7471#[repr(transparent)]
7472pub struct ISpeechPhraseReplacement(::windows::core::IUnknown);
7473#[cfg(feature = "Win32_System_Com")]
7474impl ISpeechPhraseReplacement {
7475 pub unsafe fn DisplayAttributes(&self) -> ::windows::core::Result<SpeechDisplayAttributes> {
7476 let mut result__ = ::windows::core::zeroed::<SpeechDisplayAttributes>();
7477 (::windows::core::Interface::vtable(self).DisplayAttributes)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7478 }
7479 pub unsafe fn Text(&self) -> ::windows::core::Result<::windows::core::BSTR> {
7480 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
7481 (::windows::core::Interface::vtable(self).Text)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7482 }
7483 pub unsafe fn FirstElement(&self) -> ::windows::core::Result<i32> {
7484 let mut result__ = ::windows::core::zeroed::<i32>();
7485 (::windows::core::Interface::vtable(self).FirstElement)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7486 }
7487 pub unsafe fn NumberOfElements(&self) -> ::windows::core::Result<i32> {
7488 let mut result__ = ::windows::core::zeroed::<i32>();
7489 (::windows::core::Interface::vtable(self).NumberOfElements)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7490 }
7491}
7492#[cfg(feature = "Win32_System_Com")]
7493::windows::imp::interface_hierarchy!(ISpeechPhraseReplacement, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
7494#[cfg(feature = "Win32_System_Com")]
7495impl ::core::cmp::PartialEq for ISpeechPhraseReplacement {
7496 fn eq(&self, other: &Self) -> bool {
7497 self.0 == other.0
7498 }
7499}
7500#[cfg(feature = "Win32_System_Com")]
7501impl ::core::cmp::Eq for ISpeechPhraseReplacement {}
7502#[cfg(feature = "Win32_System_Com")]
7503impl ::core::fmt::Debug for ISpeechPhraseReplacement {
7504 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7505 f.debug_tuple("ISpeechPhraseReplacement").field(&self.0).finish()
7506 }
7507}
7508#[cfg(feature = "Win32_System_Com")]
7509unsafe impl ::windows::core::Interface for ISpeechPhraseReplacement {
7510 type Vtable = ISpeechPhraseReplacement_Vtbl;
7511}
7512#[cfg(feature = "Win32_System_Com")]
7513impl ::core::clone::Clone for ISpeechPhraseReplacement {
7514 fn clone(&self) -> Self {
7515 Self(self.0.clone())
7516 }
7517}
7518#[cfg(feature = "Win32_System_Com")]
7519unsafe impl ::windows::core::ComInterface for ISpeechPhraseReplacement {
7520 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2890a410_53a7_4fb5_94ec_06d4998e3d02);
7521}
7522#[cfg(feature = "Win32_System_Com")]
7523#[repr(C)]
7524#[doc(hidden)]
7525pub struct ISpeechPhraseReplacement_Vtbl {
7526 pub base__: super::super::System::Com::IDispatch_Vtbl,
7527 pub DisplayAttributes: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, displayattributes: *mut SpeechDisplayAttributes) -> ::windows::core::HRESULT,
7528 pub Text: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, text: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
7529 pub FirstElement: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, firstelement: *mut i32) -> ::windows::core::HRESULT,
7530 pub NumberOfElements: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numberofelements: *mut i32) -> ::windows::core::HRESULT,
7531}
7532#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
7533#[cfg(feature = "Win32_System_Com")]
7534#[repr(transparent)]
7535pub struct ISpeechPhraseReplacements(::windows::core::IUnknown);
7536#[cfg(feature = "Win32_System_Com")]
7537impl ISpeechPhraseReplacements {
7538 pub unsafe fn Count(&self) -> ::windows::core::Result<i32> {
7539 let mut result__ = ::windows::core::zeroed::<i32>();
7540 (::windows::core::Interface::vtable(self).Count)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7541 }
7542 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7543 #[cfg(feature = "Win32_System_Com")]
7544 pub unsafe fn Item(&self, index: i32) -> ::windows::core::Result<ISpeechPhraseReplacement> {
7545 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseReplacement>();
7546 (::windows::core::Interface::vtable(self).Item)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
7547 }
7548 pub unsafe fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown> {
7549 let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
7550 (::windows::core::Interface::vtable(self)._NewEnum)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7551 }
7552}
7553#[cfg(feature = "Win32_System_Com")]
7554::windows::imp::interface_hierarchy!(ISpeechPhraseReplacements, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
7555#[cfg(feature = "Win32_System_Com")]
7556impl ::core::cmp::PartialEq for ISpeechPhraseReplacements {
7557 fn eq(&self, other: &Self) -> bool {
7558 self.0 == other.0
7559 }
7560}
7561#[cfg(feature = "Win32_System_Com")]
7562impl ::core::cmp::Eq for ISpeechPhraseReplacements {}
7563#[cfg(feature = "Win32_System_Com")]
7564impl ::core::fmt::Debug for ISpeechPhraseReplacements {
7565 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7566 f.debug_tuple("ISpeechPhraseReplacements").field(&self.0).finish()
7567 }
7568}
7569#[cfg(feature = "Win32_System_Com")]
7570unsafe impl ::windows::core::Interface for ISpeechPhraseReplacements {
7571 type Vtable = ISpeechPhraseReplacements_Vtbl;
7572}
7573#[cfg(feature = "Win32_System_Com")]
7574impl ::core::clone::Clone for ISpeechPhraseReplacements {
7575 fn clone(&self) -> Self {
7576 Self(self.0.clone())
7577 }
7578}
7579#[cfg(feature = "Win32_System_Com")]
7580unsafe impl ::windows::core::ComInterface for ISpeechPhraseReplacements {
7581 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x38bc662f_2257_4525_959e_2069d2596c05);
7582}
7583#[cfg(feature = "Win32_System_Com")]
7584#[repr(C)]
7585#[doc(hidden)]
7586pub struct ISpeechPhraseReplacements_Vtbl {
7587 pub base__: super::super::System::Com::IDispatch_Vtbl,
7588 pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT,
7589 #[cfg(feature = "Win32_System_Com")]
7590 pub Item: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, reps: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7591 #[cfg(not(feature = "Win32_System_Com"))]
7592 Item: usize,
7593 pub _NewEnum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enumvariant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7594}
7595#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
7596#[cfg(feature = "Win32_System_Com")]
7597#[repr(transparent)]
7598pub struct ISpeechPhraseRule(::windows::core::IUnknown);
7599#[cfg(feature = "Win32_System_Com")]
7600impl ISpeechPhraseRule {
7601 pub unsafe fn Name(&self) -> ::windows::core::Result<::windows::core::BSTR> {
7602 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
7603 (::windows::core::Interface::vtable(self).Name)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7604 }
7605 pub unsafe fn Id(&self) -> ::windows::core::Result<i32> {
7606 let mut result__ = ::windows::core::zeroed::<i32>();
7607 (::windows::core::Interface::vtable(self).Id)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7608 }
7609 pub unsafe fn FirstElement(&self) -> ::windows::core::Result<i32> {
7610 let mut result__ = ::windows::core::zeroed::<i32>();
7611 (::windows::core::Interface::vtable(self).FirstElement)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7612 }
7613 pub unsafe fn NumberOfElements(&self) -> ::windows::core::Result<i32> {
7614 let mut result__ = ::windows::core::zeroed::<i32>();
7615 (::windows::core::Interface::vtable(self).NumberOfElements)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7616 }
7617 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7618 #[cfg(feature = "Win32_System_Com")]
7619 pub unsafe fn Parent(&self) -> ::windows::core::Result<ISpeechPhraseRule> {
7620 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseRule>();
7621 (::windows::core::Interface::vtable(self).Parent)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7622 }
7623 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7624 #[cfg(feature = "Win32_System_Com")]
7625 pub unsafe fn Children(&self) -> ::windows::core::Result<ISpeechPhraseRules> {
7626 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseRules>();
7627 (::windows::core::Interface::vtable(self).Children)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7628 }
7629 pub unsafe fn Confidence(&self) -> ::windows::core::Result<SpeechEngineConfidence> {
7630 let mut result__ = ::windows::core::zeroed::<SpeechEngineConfidence>();
7631 (::windows::core::Interface::vtable(self).Confidence)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7632 }
7633 pub unsafe fn EngineConfidence(&self) -> ::windows::core::Result<f32> {
7634 let mut result__ = ::windows::core::zeroed::<f32>();
7635 (::windows::core::Interface::vtable(self).EngineConfidence)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7636 }
7637}
7638#[cfg(feature = "Win32_System_Com")]
7639::windows::imp::interface_hierarchy!(ISpeechPhraseRule, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
7640#[cfg(feature = "Win32_System_Com")]
7641impl ::core::cmp::PartialEq for ISpeechPhraseRule {
7642 fn eq(&self, other: &Self) -> bool {
7643 self.0 == other.0
7644 }
7645}
7646#[cfg(feature = "Win32_System_Com")]
7647impl ::core::cmp::Eq for ISpeechPhraseRule {}
7648#[cfg(feature = "Win32_System_Com")]
7649impl ::core::fmt::Debug for ISpeechPhraseRule {
7650 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7651 f.debug_tuple("ISpeechPhraseRule").field(&self.0).finish()
7652 }
7653}
7654#[cfg(feature = "Win32_System_Com")]
7655unsafe impl ::windows::core::Interface for ISpeechPhraseRule {
7656 type Vtable = ISpeechPhraseRule_Vtbl;
7657}
7658#[cfg(feature = "Win32_System_Com")]
7659impl ::core::clone::Clone for ISpeechPhraseRule {
7660 fn clone(&self) -> Self {
7661 Self(self.0.clone())
7662 }
7663}
7664#[cfg(feature = "Win32_System_Com")]
7665unsafe impl ::windows::core::ComInterface for ISpeechPhraseRule {
7666 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa7bfe112_a4a0_48d9_b602_c313843f6964);
7667}
7668#[cfg(feature = "Win32_System_Com")]
7669#[repr(C)]
7670#[doc(hidden)]
7671pub struct ISpeechPhraseRule_Vtbl {
7672 pub base__: super::super::System::Com::IDispatch_Vtbl,
7673 pub Name: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
7674 pub Id: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: *mut i32) -> ::windows::core::HRESULT,
7675 pub FirstElement: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, firstelement: *mut i32) -> ::windows::core::HRESULT,
7676 pub NumberOfElements: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numberofelements: *mut i32) -> ::windows::core::HRESULT,
7677 #[cfg(feature = "Win32_System_Com")]
7678 pub Parent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, parent: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7679 #[cfg(not(feature = "Win32_System_Com"))]
7680 Parent: usize,
7681 #[cfg(feature = "Win32_System_Com")]
7682 pub Children: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, children: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7683 #[cfg(not(feature = "Win32_System_Com"))]
7684 Children: usize,
7685 pub Confidence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, actualconfidence: *mut SpeechEngineConfidence) -> ::windows::core::HRESULT,
7686 pub EngineConfidence: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, engineconfidence: *mut f32) -> ::windows::core::HRESULT,
7687}
7688#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
7689#[cfg(feature = "Win32_System_Com")]
7690#[repr(transparent)]
7691pub struct ISpeechPhraseRules(::windows::core::IUnknown);
7692#[cfg(feature = "Win32_System_Com")]
7693impl ISpeechPhraseRules {
7694 pub unsafe fn Count(&self) -> ::windows::core::Result<i32> {
7695 let mut result__ = ::windows::core::zeroed::<i32>();
7696 (::windows::core::Interface::vtable(self).Count)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7697 }
7698 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7699 #[cfg(feature = "Win32_System_Com")]
7700 pub unsafe fn Item(&self, index: i32) -> ::windows::core::Result<ISpeechPhraseRule> {
7701 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseRule>();
7702 (::windows::core::Interface::vtable(self).Item)(::windows::core::Interface::as_raw(self), index, &mut result__).from_abi(result__)
7703 }
7704 pub unsafe fn _NewEnum(&self) -> ::windows::core::Result<::windows::core::IUnknown> {
7705 let mut result__ = ::windows::core::zeroed::<::windows::core::IUnknown>();
7706 (::windows::core::Interface::vtable(self)._NewEnum)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7707 }
7708}
7709#[cfg(feature = "Win32_System_Com")]
7710::windows::imp::interface_hierarchy!(ISpeechPhraseRules, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
7711#[cfg(feature = "Win32_System_Com")]
7712impl ::core::cmp::PartialEq for ISpeechPhraseRules {
7713 fn eq(&self, other: &Self) -> bool {
7714 self.0 == other.0
7715 }
7716}
7717#[cfg(feature = "Win32_System_Com")]
7718impl ::core::cmp::Eq for ISpeechPhraseRules {}
7719#[cfg(feature = "Win32_System_Com")]
7720impl ::core::fmt::Debug for ISpeechPhraseRules {
7721 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7722 f.debug_tuple("ISpeechPhraseRules").field(&self.0).finish()
7723 }
7724}
7725#[cfg(feature = "Win32_System_Com")]
7726unsafe impl ::windows::core::Interface for ISpeechPhraseRules {
7727 type Vtable = ISpeechPhraseRules_Vtbl;
7728}
7729#[cfg(feature = "Win32_System_Com")]
7730impl ::core::clone::Clone for ISpeechPhraseRules {
7731 fn clone(&self) -> Self {
7732 Self(self.0.clone())
7733 }
7734}
7735#[cfg(feature = "Win32_System_Com")]
7736unsafe impl ::windows::core::ComInterface for ISpeechPhraseRules {
7737 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9047d593_01dd_4b72_81a3_e4a0ca69f407);
7738}
7739#[cfg(feature = "Win32_System_Com")]
7740#[repr(C)]
7741#[doc(hidden)]
7742pub struct ISpeechPhraseRules_Vtbl {
7743 pub base__: super::super::System::Com::IDispatch_Vtbl,
7744 pub Count: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, count: *mut i32) -> ::windows::core::HRESULT,
7745 #[cfg(feature = "Win32_System_Com")]
7746 pub Item: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, index: i32, rule: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7747 #[cfg(not(feature = "Win32_System_Com"))]
7748 Item: usize,
7749 pub _NewEnum: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, enumvariant: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7750}
7751#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
7752#[cfg(feature = "Win32_System_Com")]
7753#[repr(transparent)]
7754pub struct ISpeechRecoContext(::windows::core::IUnknown);
7755#[cfg(feature = "Win32_System_Com")]
7756impl ISpeechRecoContext {
7757 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7758 #[cfg(feature = "Win32_System_Com")]
7759 pub unsafe fn Recognizer(&self) -> ::windows::core::Result<ISpeechRecognizer> {
7760 let mut result__ = ::windows::core::zeroed::<ISpeechRecognizer>();
7761 (::windows::core::Interface::vtable(self).Recognizer)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7762 }
7763 pub unsafe fn AudioInputInterferenceStatus(&self) -> ::windows::core::Result<SpeechInterference> {
7764 let mut result__ = ::windows::core::zeroed::<SpeechInterference>();
7765 (::windows::core::Interface::vtable(self).AudioInputInterferenceStatus)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7766 }
7767 pub unsafe fn RequestedUIType(&self) -> ::windows::core::Result<::windows::core::BSTR> {
7768 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
7769 (::windows::core::Interface::vtable(self).RequestedUIType)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7770 }
7771 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7772 #[cfg(feature = "Win32_System_Com")]
7773 pub unsafe fn putref_Voice<P0>(&self, voice: P0) -> ::windows::core::Result<()>
7774 where
7775 P0: ::windows::core::IntoParam<ISpeechVoice>,
7776 {
7777 (::windows::core::Interface::vtable(self).putref_Voice)(::windows::core::Interface::as_raw(self), voice.into_param().abi()).ok()
7778 }
7779 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7780 #[cfg(feature = "Win32_System_Com")]
7781 pub unsafe fn Voice(&self) -> ::windows::core::Result<ISpeechVoice> {
7782 let mut result__ = ::windows::core::zeroed::<ISpeechVoice>();
7783 (::windows::core::Interface::vtable(self).Voice)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7784 }
7785 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
7786 #[cfg(feature = "Win32_Foundation")]
7787 pub unsafe fn SetAllowVoiceFormatMatchingOnNextSet<P0>(&self, allow: P0) -> ::windows::core::Result<()>
7788 where
7789 P0: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
7790 {
7791 (::windows::core::Interface::vtable(self).SetAllowVoiceFormatMatchingOnNextSet)(::windows::core::Interface::as_raw(self), allow.into_param().abi()).ok()
7792 }
7793 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
7794 #[cfg(feature = "Win32_Foundation")]
7795 pub unsafe fn AllowVoiceFormatMatchingOnNextSet(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL> {
7796 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::VARIANT_BOOL>();
7797 (::windows::core::Interface::vtable(self).AllowVoiceFormatMatchingOnNextSet)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7798 }
7799 pub unsafe fn SetVoicePurgeEvent(&self, eventinterest: SpeechRecoEvents) -> ::windows::core::Result<()> {
7800 (::windows::core::Interface::vtable(self).SetVoicePurgeEvent)(::windows::core::Interface::as_raw(self), eventinterest).ok()
7801 }
7802 pub unsafe fn VoicePurgeEvent(&self) -> ::windows::core::Result<SpeechRecoEvents> {
7803 let mut result__ = ::windows::core::zeroed::<SpeechRecoEvents>();
7804 (::windows::core::Interface::vtable(self).VoicePurgeEvent)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7805 }
7806 pub unsafe fn SetEventInterests(&self, eventinterest: SpeechRecoEvents) -> ::windows::core::Result<()> {
7807 (::windows::core::Interface::vtable(self).SetEventInterests)(::windows::core::Interface::as_raw(self), eventinterest).ok()
7808 }
7809 pub unsafe fn EventInterests(&self) -> ::windows::core::Result<SpeechRecoEvents> {
7810 let mut result__ = ::windows::core::zeroed::<SpeechRecoEvents>();
7811 (::windows::core::Interface::vtable(self).EventInterests)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7812 }
7813 pub unsafe fn SetCmdMaxAlternates(&self, maxalternates: i32) -> ::windows::core::Result<()> {
7814 (::windows::core::Interface::vtable(self).SetCmdMaxAlternates)(::windows::core::Interface::as_raw(self), maxalternates).ok()
7815 }
7816 pub unsafe fn CmdMaxAlternates(&self) -> ::windows::core::Result<i32> {
7817 let mut result__ = ::windows::core::zeroed::<i32>();
7818 (::windows::core::Interface::vtable(self).CmdMaxAlternates)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7819 }
7820 pub unsafe fn SetState(&self, state: SpeechRecoContextState) -> ::windows::core::Result<()> {
7821 (::windows::core::Interface::vtable(self).SetState)(::windows::core::Interface::as_raw(self), state).ok()
7822 }
7823 pub unsafe fn State(&self) -> ::windows::core::Result<SpeechRecoContextState> {
7824 let mut result__ = ::windows::core::zeroed::<SpeechRecoContextState>();
7825 (::windows::core::Interface::vtable(self).State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7826 }
7827 pub unsafe fn SetRetainedAudio(&self, option: SpeechRetainedAudioOptions) -> ::windows::core::Result<()> {
7828 (::windows::core::Interface::vtable(self).SetRetainedAudio)(::windows::core::Interface::as_raw(self), option).ok()
7829 }
7830 pub unsafe fn RetainedAudio(&self) -> ::windows::core::Result<SpeechRetainedAudioOptions> {
7831 let mut result__ = ::windows::core::zeroed::<SpeechRetainedAudioOptions>();
7832 (::windows::core::Interface::vtable(self).RetainedAudio)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7833 }
7834 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7835 #[cfg(feature = "Win32_System_Com")]
7836 pub unsafe fn putref_RetainedAudioFormat<P0>(&self, format: P0) -> ::windows::core::Result<()>
7837 where
7838 P0: ::windows::core::IntoParam<ISpeechAudioFormat>,
7839 {
7840 (::windows::core::Interface::vtable(self).putref_RetainedAudioFormat)(::windows::core::Interface::as_raw(self), format.into_param().abi()).ok()
7841 }
7842 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7843 #[cfg(feature = "Win32_System_Com")]
7844 pub unsafe fn RetainedAudioFormat(&self) -> ::windows::core::Result<ISpeechAudioFormat> {
7845 let mut result__ = ::windows::core::zeroed::<ISpeechAudioFormat>();
7846 (::windows::core::Interface::vtable(self).RetainedAudioFormat)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7847 }
7848 pub unsafe fn Pause(&self) -> ::windows::core::Result<()> {
7849 (::windows::core::Interface::vtable(self).Pause)(::windows::core::Interface::as_raw(self)).ok()
7850 }
7851 pub unsafe fn Resume(&self) -> ::windows::core::Result<()> {
7852 (::windows::core::Interface::vtable(self).Resume)(::windows::core::Interface::as_raw(self)).ok()
7853 }
7854 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
7855 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7856 pub unsafe fn CreateGrammar(&self, grammarid: super::super::System::Com::VARIANT) -> ::windows::core::Result<ISpeechRecoGrammar> {
7857 let mut result__ = ::windows::core::zeroed::<ISpeechRecoGrammar>();
7858 (::windows::core::Interface::vtable(self).CreateGrammar)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(grammarid), &mut result__).from_abi(result__)
7859 }
7860 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
7861 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7862 pub unsafe fn CreateResultFromMemory(&self, resultblock: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<ISpeechRecoResult> {
7863 let mut result__ = ::windows::core::zeroed::<ISpeechRecoResult>();
7864 (::windows::core::Interface::vtable(self).CreateResultFromMemory)(::windows::core::Interface::as_raw(self), resultblock, &mut result__).from_abi(result__)
7865 }
7866 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
7867 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7868 pub unsafe fn Bookmark(&self, options: SpeechBookmarkOptions, streampos: super::super::System::Com::VARIANT, bookmarkid: super::super::System::Com::VARIANT) -> ::windows::core::Result<()> {
7869 (::windows::core::Interface::vtable(self).Bookmark)(::windows::core::Interface::as_raw(self), options, ::core::mem::transmute(streampos), ::core::mem::transmute(bookmarkid)).ok()
7870 }
7871 pub unsafe fn SetAdaptationData<P0>(&self, adaptationstring: P0) -> ::windows::core::Result<()>
7872 where
7873 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
7874 {
7875 (::windows::core::Interface::vtable(self).SetAdaptationData)(::windows::core::Interface::as_raw(self), adaptationstring.into_param().abi()).ok()
7876 }
7877}
7878#[cfg(feature = "Win32_System_Com")]
7879::windows::imp::interface_hierarchy!(ISpeechRecoContext, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
7880#[cfg(feature = "Win32_System_Com")]
7881impl ::core::cmp::PartialEq for ISpeechRecoContext {
7882 fn eq(&self, other: &Self) -> bool {
7883 self.0 == other.0
7884 }
7885}
7886#[cfg(feature = "Win32_System_Com")]
7887impl ::core::cmp::Eq for ISpeechRecoContext {}
7888#[cfg(feature = "Win32_System_Com")]
7889impl ::core::fmt::Debug for ISpeechRecoContext {
7890 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
7891 f.debug_tuple("ISpeechRecoContext").field(&self.0).finish()
7892 }
7893}
7894#[cfg(feature = "Win32_System_Com")]
7895unsafe impl ::windows::core::Interface for ISpeechRecoContext {
7896 type Vtable = ISpeechRecoContext_Vtbl;
7897}
7898#[cfg(feature = "Win32_System_Com")]
7899impl ::core::clone::Clone for ISpeechRecoContext {
7900 fn clone(&self) -> Self {
7901 Self(self.0.clone())
7902 }
7903}
7904#[cfg(feature = "Win32_System_Com")]
7905unsafe impl ::windows::core::ComInterface for ISpeechRecoContext {
7906 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x580aa49d_7e1e_4809_b8e2_57da806104b8);
7907}
7908#[cfg(feature = "Win32_System_Com")]
7909#[repr(C)]
7910#[doc(hidden)]
7911pub struct ISpeechRecoContext_Vtbl {
7912 pub base__: super::super::System::Com::IDispatch_Vtbl,
7913 #[cfg(feature = "Win32_System_Com")]
7914 pub Recognizer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, recognizer: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7915 #[cfg(not(feature = "Win32_System_Com"))]
7916 Recognizer: usize,
7917 pub AudioInputInterferenceStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, interference: *mut SpeechInterference) -> ::windows::core::HRESULT,
7918 pub RequestedUIType: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, uitype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
7919 #[cfg(feature = "Win32_System_Com")]
7920 pub putref_Voice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, voice: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7921 #[cfg(not(feature = "Win32_System_Com"))]
7922 putref_Voice: usize,
7923 #[cfg(feature = "Win32_System_Com")]
7924 pub Voice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, voice: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7925 #[cfg(not(feature = "Win32_System_Com"))]
7926 Voice: usize,
7927 #[cfg(feature = "Win32_Foundation")]
7928 pub SetAllowVoiceFormatMatchingOnNextSet: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, allow: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
7929 #[cfg(not(feature = "Win32_Foundation"))]
7930 SetAllowVoiceFormatMatchingOnNextSet: usize,
7931 #[cfg(feature = "Win32_Foundation")]
7932 pub AllowVoiceFormatMatchingOnNextSet: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pallow: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
7933 #[cfg(not(feature = "Win32_Foundation"))]
7934 AllowVoiceFormatMatchingOnNextSet: usize,
7935 pub SetVoicePurgeEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventinterest: SpeechRecoEvents) -> ::windows::core::HRESULT,
7936 pub VoicePurgeEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventinterest: *mut SpeechRecoEvents) -> ::windows::core::HRESULT,
7937 pub SetEventInterests: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventinterest: SpeechRecoEvents) -> ::windows::core::HRESULT,
7938 pub EventInterests: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventinterest: *mut SpeechRecoEvents) -> ::windows::core::HRESULT,
7939 pub SetCmdMaxAlternates: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, maxalternates: i32) -> ::windows::core::HRESULT,
7940 pub CmdMaxAlternates: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, maxalternates: *mut i32) -> ::windows::core::HRESULT,
7941 pub SetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: SpeechRecoContextState) -> ::windows::core::HRESULT,
7942 pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: *mut SpeechRecoContextState) -> ::windows::core::HRESULT,
7943 pub SetRetainedAudio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, option: SpeechRetainedAudioOptions) -> ::windows::core::HRESULT,
7944 pub RetainedAudio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, option: *mut SpeechRetainedAudioOptions) -> ::windows::core::HRESULT,
7945 #[cfg(feature = "Win32_System_Com")]
7946 pub putref_RetainedAudioFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, format: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7947 #[cfg(not(feature = "Win32_System_Com"))]
7948 putref_RetainedAudioFormat: usize,
7949 #[cfg(feature = "Win32_System_Com")]
7950 pub RetainedAudioFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, format: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7951 #[cfg(not(feature = "Win32_System_Com"))]
7952 RetainedAudioFormat: usize,
7953 pub Pause: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7954 pub Resume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7955 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7956 pub CreateGrammar: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, grammarid: super::super::System::Com::VARIANT, grammar: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7957 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
7958 CreateGrammar: usize,
7959 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7960 pub CreateResultFromMemory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, resultblock: *const super::super::System::Com::VARIANT, result: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
7961 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
7962 CreateResultFromMemory: usize,
7963 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7964 pub Bookmark: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, options: SpeechBookmarkOptions, streampos: super::super::System::Com::VARIANT, bookmarkid: super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
7965 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
7966 Bookmark: usize,
7967 pub SetAdaptationData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, adaptationstring: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
7968}
7969#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
7970#[cfg(feature = "Win32_System_Com")]
7971#[repr(transparent)]
7972pub struct ISpeechRecoGrammar(::windows::core::IUnknown);
7973#[cfg(feature = "Win32_System_Com")]
7974impl ISpeechRecoGrammar {
7975 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
7976 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
7977 pub unsafe fn Id(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
7978 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
7979 (::windows::core::Interface::vtable(self).Id)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7980 }
7981 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7982 #[cfg(feature = "Win32_System_Com")]
7983 pub unsafe fn RecoContext(&self) -> ::windows::core::Result<ISpeechRecoContext> {
7984 let mut result__ = ::windows::core::zeroed::<ISpeechRecoContext>();
7985 (::windows::core::Interface::vtable(self).RecoContext)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7986 }
7987 pub unsafe fn SetState(&self, state: SpeechGrammarState) -> ::windows::core::Result<()> {
7988 (::windows::core::Interface::vtable(self).SetState)(::windows::core::Interface::as_raw(self), state).ok()
7989 }
7990 pub unsafe fn State(&self) -> ::windows::core::Result<SpeechGrammarState> {
7991 let mut result__ = ::windows::core::zeroed::<SpeechGrammarState>();
7992 (::windows::core::Interface::vtable(self).State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7993 }
7994 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
7995 #[cfg(feature = "Win32_System_Com")]
7996 pub unsafe fn Rules(&self) -> ::windows::core::Result<ISpeechGrammarRules> {
7997 let mut result__ = ::windows::core::zeroed::<ISpeechGrammarRules>();
7998 (::windows::core::Interface::vtable(self).Rules)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
7999 }
8000 pub unsafe fn Reset(&self, newlanguage: i32) -> ::windows::core::Result<()> {
8001 (::windows::core::Interface::vtable(self).Reset)(::windows::core::Interface::as_raw(self), newlanguage).ok()
8002 }
8003 pub unsafe fn CmdLoadFromFile<P0>(&self, filename: P0, loadoption: SpeechLoadOption) -> ::windows::core::Result<()>
8004 where
8005 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8006 {
8007 (::windows::core::Interface::vtable(self).CmdLoadFromFile)(::windows::core::Interface::as_raw(self), filename.into_param().abi(), loadoption).ok()
8008 }
8009 pub unsafe fn CmdLoadFromObject<P0, P1>(&self, classid: P0, grammarname: P1, loadoption: SpeechLoadOption) -> ::windows::core::Result<()>
8010 where
8011 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8012 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
8013 {
8014 (::windows::core::Interface::vtable(self).CmdLoadFromObject)(::windows::core::Interface::as_raw(self), classid.into_param().abi(), grammarname.into_param().abi(), loadoption).ok()
8015 }
8016 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
8017 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8018 pub unsafe fn CmdLoadFromResource(&self, hmodule: i32, resourcename: super::super::System::Com::VARIANT, resourcetype: super::super::System::Com::VARIANT, languageid: i32, loadoption: SpeechLoadOption) -> ::windows::core::Result<()> {
8019 (::windows::core::Interface::vtable(self).CmdLoadFromResource)(::windows::core::Interface::as_raw(self), hmodule, ::core::mem::transmute(resourcename), ::core::mem::transmute(resourcetype), languageid, loadoption).ok()
8020 }
8021 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
8022 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8023 pub unsafe fn CmdLoadFromMemory(&self, grammardata: super::super::System::Com::VARIANT, loadoption: SpeechLoadOption) -> ::windows::core::Result<()> {
8024 (::windows::core::Interface::vtable(self).CmdLoadFromMemory)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(grammardata), loadoption).ok()
8025 }
8026 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
8027 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8028 pub unsafe fn CmdLoadFromProprietaryGrammar<P0, P1>(&self, proprietaryguid: P0, proprietarystring: P1, proprietarydata: super::super::System::Com::VARIANT, loadoption: SpeechLoadOption) -> ::windows::core::Result<()>
8029 where
8030 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8031 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
8032 {
8033 (::windows::core::Interface::vtable(self).CmdLoadFromProprietaryGrammar)(::windows::core::Interface::as_raw(self), proprietaryguid.into_param().abi(), proprietarystring.into_param().abi(), ::core::mem::transmute(proprietarydata), loadoption).ok()
8034 }
8035 pub unsafe fn CmdSetRuleState<P0>(&self, name: P0, state: SpeechRuleState) -> ::windows::core::Result<()>
8036 where
8037 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8038 {
8039 (::windows::core::Interface::vtable(self).CmdSetRuleState)(::windows::core::Interface::as_raw(self), name.into_param().abi(), state).ok()
8040 }
8041 pub unsafe fn CmdSetRuleIdState(&self, ruleid: i32, state: SpeechRuleState) -> ::windows::core::Result<()> {
8042 (::windows::core::Interface::vtable(self).CmdSetRuleIdState)(::windows::core::Interface::as_raw(self), ruleid, state).ok()
8043 }
8044 pub unsafe fn DictationLoad<P0>(&self, topicname: P0, loadoption: SpeechLoadOption) -> ::windows::core::Result<()>
8045 where
8046 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8047 {
8048 (::windows::core::Interface::vtable(self).DictationLoad)(::windows::core::Interface::as_raw(self), topicname.into_param().abi(), loadoption).ok()
8049 }
8050 pub unsafe fn DictationUnload(&self) -> ::windows::core::Result<()> {
8051 (::windows::core::Interface::vtable(self).DictationUnload)(::windows::core::Interface::as_raw(self)).ok()
8052 }
8053 pub unsafe fn DictationSetState(&self, state: SpeechRuleState) -> ::windows::core::Result<()> {
8054 (::windows::core::Interface::vtable(self).DictationSetState)(::windows::core::Interface::as_raw(self), state).ok()
8055 }
8056 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8057 #[cfg(feature = "Win32_System_Com")]
8058 pub unsafe fn SetWordSequenceData<P0, P1>(&self, text: P0, textlength: i32, info: P1) -> ::windows::core::Result<()>
8059 where
8060 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8061 P1: ::windows::core::IntoParam<ISpeechTextSelectionInformation>,
8062 {
8063 (::windows::core::Interface::vtable(self).SetWordSequenceData)(::windows::core::Interface::as_raw(self), text.into_param().abi(), textlength, info.into_param().abi()).ok()
8064 }
8065 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8066 #[cfg(feature = "Win32_System_Com")]
8067 pub unsafe fn SetTextSelection<P0>(&self, info: P0) -> ::windows::core::Result<()>
8068 where
8069 P0: ::windows::core::IntoParam<ISpeechTextSelectionInformation>,
8070 {
8071 (::windows::core::Interface::vtable(self).SetTextSelection)(::windows::core::Interface::as_raw(self), info.into_param().abi()).ok()
8072 }
8073 pub unsafe fn IsPronounceable<P0>(&self, word: P0) -> ::windows::core::Result<SpeechWordPronounceable>
8074 where
8075 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8076 {
8077 let mut result__ = ::windows::core::zeroed::<SpeechWordPronounceable>();
8078 (::windows::core::Interface::vtable(self).IsPronounceable)(::windows::core::Interface::as_raw(self), word.into_param().abi(), &mut result__).from_abi(result__)
8079 }
8080}
8081#[cfg(feature = "Win32_System_Com")]
8082::windows::imp::interface_hierarchy!(ISpeechRecoGrammar, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
8083#[cfg(feature = "Win32_System_Com")]
8084impl ::core::cmp::PartialEq for ISpeechRecoGrammar {
8085 fn eq(&self, other: &Self) -> bool {
8086 self.0 == other.0
8087 }
8088}
8089#[cfg(feature = "Win32_System_Com")]
8090impl ::core::cmp::Eq for ISpeechRecoGrammar {}
8091#[cfg(feature = "Win32_System_Com")]
8092impl ::core::fmt::Debug for ISpeechRecoGrammar {
8093 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8094 f.debug_tuple("ISpeechRecoGrammar").field(&self.0).finish()
8095 }
8096}
8097#[cfg(feature = "Win32_System_Com")]
8098unsafe impl ::windows::core::Interface for ISpeechRecoGrammar {
8099 type Vtable = ISpeechRecoGrammar_Vtbl;
8100}
8101#[cfg(feature = "Win32_System_Com")]
8102impl ::core::clone::Clone for ISpeechRecoGrammar {
8103 fn clone(&self) -> Self {
8104 Self(self.0.clone())
8105 }
8106}
8107#[cfg(feature = "Win32_System_Com")]
8108unsafe impl ::windows::core::ComInterface for ISpeechRecoGrammar {
8109 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb6d6f79f_2158_4e50_b5bc_9a9ccd852a09);
8110}
8111#[cfg(feature = "Win32_System_Com")]
8112#[repr(C)]
8113#[doc(hidden)]
8114pub struct ISpeechRecoGrammar_Vtbl {
8115 pub base__: super::super::System::Com::IDispatch_Vtbl,
8116 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8117 pub Id: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, id: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
8118 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
8119 Id: usize,
8120 #[cfg(feature = "Win32_System_Com")]
8121 pub RecoContext: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, recocontext: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8122 #[cfg(not(feature = "Win32_System_Com"))]
8123 RecoContext: usize,
8124 pub SetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: SpeechGrammarState) -> ::windows::core::HRESULT,
8125 pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: *mut SpeechGrammarState) -> ::windows::core::HRESULT,
8126 #[cfg(feature = "Win32_System_Com")]
8127 pub Rules: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rules: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8128 #[cfg(not(feature = "Win32_System_Com"))]
8129 Rules: usize,
8130 pub Reset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newlanguage: i32) -> ::windows::core::HRESULT,
8131 pub CmdLoadFromFile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, filename: ::std::mem::MaybeUninit<::windows::core::BSTR>, loadoption: SpeechLoadOption) -> ::windows::core::HRESULT,
8132 pub CmdLoadFromObject: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, classid: ::std::mem::MaybeUninit<::windows::core::BSTR>, grammarname: ::std::mem::MaybeUninit<::windows::core::BSTR>, loadoption: SpeechLoadOption) -> ::windows::core::HRESULT,
8133 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8134 pub CmdLoadFromResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hmodule: i32, resourcename: super::super::System::Com::VARIANT, resourcetype: super::super::System::Com::VARIANT, languageid: i32, loadoption: SpeechLoadOption) -> ::windows::core::HRESULT,
8135 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
8136 CmdLoadFromResource: usize,
8137 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8138 pub CmdLoadFromMemory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, grammardata: super::super::System::Com::VARIANT, loadoption: SpeechLoadOption) -> ::windows::core::HRESULT,
8139 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
8140 CmdLoadFromMemory: usize,
8141 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8142 pub CmdLoadFromProprietaryGrammar: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, proprietaryguid: ::std::mem::MaybeUninit<::windows::core::BSTR>, proprietarystring: ::std::mem::MaybeUninit<::windows::core::BSTR>, proprietarydata: super::super::System::Com::VARIANT, loadoption: SpeechLoadOption) -> ::windows::core::HRESULT,
8143 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
8144 CmdLoadFromProprietaryGrammar: usize,
8145 pub CmdSetRuleState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, state: SpeechRuleState) -> ::windows::core::HRESULT,
8146 pub CmdSetRuleIdState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, ruleid: i32, state: SpeechRuleState) -> ::windows::core::HRESULT,
8147 pub DictationLoad: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, topicname: ::std::mem::MaybeUninit<::windows::core::BSTR>, loadoption: SpeechLoadOption) -> ::windows::core::HRESULT,
8148 pub DictationUnload: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8149 pub DictationSetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: SpeechRuleState) -> ::windows::core::HRESULT,
8150 #[cfg(feature = "Win32_System_Com")]
8151 pub SetWordSequenceData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, text: ::std::mem::MaybeUninit<::windows::core::BSTR>, textlength: i32, info: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8152 #[cfg(not(feature = "Win32_System_Com"))]
8153 SetWordSequenceData: usize,
8154 #[cfg(feature = "Win32_System_Com")]
8155 pub SetTextSelection: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, info: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8156 #[cfg(not(feature = "Win32_System_Com"))]
8157 SetTextSelection: usize,
8158 pub IsPronounceable: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, word: ::std::mem::MaybeUninit<::windows::core::BSTR>, wordpronounceable: *mut SpeechWordPronounceable) -> ::windows::core::HRESULT,
8159}
8160#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
8161#[cfg(feature = "Win32_System_Com")]
8162#[repr(transparent)]
8163pub struct ISpeechRecoResult(::windows::core::IUnknown);
8164#[cfg(feature = "Win32_System_Com")]
8165impl ISpeechRecoResult {
8166 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8167 #[cfg(feature = "Win32_System_Com")]
8168 pub unsafe fn RecoContext(&self) -> ::windows::core::Result<ISpeechRecoContext> {
8169 let mut result__ = ::windows::core::zeroed::<ISpeechRecoContext>();
8170 (::windows::core::Interface::vtable(self).RecoContext)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8171 }
8172 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8173 #[cfg(feature = "Win32_System_Com")]
8174 pub unsafe fn Times(&self) -> ::windows::core::Result<ISpeechRecoResultTimes> {
8175 let mut result__ = ::windows::core::zeroed::<ISpeechRecoResultTimes>();
8176 (::windows::core::Interface::vtable(self).Times)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8177 }
8178 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8179 #[cfg(feature = "Win32_System_Com")]
8180 pub unsafe fn putref_AudioFormat<P0>(&self, format: P0) -> ::windows::core::Result<()>
8181 where
8182 P0: ::windows::core::IntoParam<ISpeechAudioFormat>,
8183 {
8184 (::windows::core::Interface::vtable(self).putref_AudioFormat)(::windows::core::Interface::as_raw(self), format.into_param().abi()).ok()
8185 }
8186 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8187 #[cfg(feature = "Win32_System_Com")]
8188 pub unsafe fn AudioFormat(&self) -> ::windows::core::Result<ISpeechAudioFormat> {
8189 let mut result__ = ::windows::core::zeroed::<ISpeechAudioFormat>();
8190 (::windows::core::Interface::vtable(self).AudioFormat)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8191 }
8192 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8193 #[cfg(feature = "Win32_System_Com")]
8194 pub unsafe fn PhraseInfo(&self) -> ::windows::core::Result<ISpeechPhraseInfo> {
8195 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseInfo>();
8196 (::windows::core::Interface::vtable(self).PhraseInfo)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8197 }
8198 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8199 #[cfg(feature = "Win32_System_Com")]
8200 pub unsafe fn Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows::core::Result<ISpeechPhraseAlternates> {
8201 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseAlternates>();
8202 (::windows::core::Interface::vtable(self).Alternates)(::windows::core::Interface::as_raw(self), requestcount, startelement, elements, &mut result__).from_abi(result__)
8203 }
8204 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8205 #[cfg(feature = "Win32_System_Com")]
8206 pub unsafe fn Audio(&self, startelement: i32, elements: i32) -> ::windows::core::Result<ISpeechMemoryStream> {
8207 let mut result__ = ::windows::core::zeroed::<ISpeechMemoryStream>();
8208 (::windows::core::Interface::vtable(self).Audio)(::windows::core::Interface::as_raw(self), startelement, elements, &mut result__).from_abi(result__)
8209 }
8210 pub unsafe fn SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows::core::Result<i32> {
8211 let mut result__ = ::windows::core::zeroed::<i32>();
8212 (::windows::core::Interface::vtable(self).SpeakAudio)(::windows::core::Interface::as_raw(self), startelement, elements, flags, &mut result__).from_abi(result__)
8213 }
8214 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
8215 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8216 pub unsafe fn SaveToMemory(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
8217 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
8218 (::windows::core::Interface::vtable(self).SaveToMemory)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8219 }
8220 pub unsafe fn DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows::core::Result<()> {
8221 (::windows::core::Interface::vtable(self).DiscardResultInfo)(::windows::core::Interface::as_raw(self), valuetypes).ok()
8222 }
8223}
8224#[cfg(feature = "Win32_System_Com")]
8225::windows::imp::interface_hierarchy!(ISpeechRecoResult, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
8226#[cfg(feature = "Win32_System_Com")]
8227impl ::core::cmp::PartialEq for ISpeechRecoResult {
8228 fn eq(&self, other: &Self) -> bool {
8229 self.0 == other.0
8230 }
8231}
8232#[cfg(feature = "Win32_System_Com")]
8233impl ::core::cmp::Eq for ISpeechRecoResult {}
8234#[cfg(feature = "Win32_System_Com")]
8235impl ::core::fmt::Debug for ISpeechRecoResult {
8236 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8237 f.debug_tuple("ISpeechRecoResult").field(&self.0).finish()
8238 }
8239}
8240#[cfg(feature = "Win32_System_Com")]
8241unsafe impl ::windows::core::Interface for ISpeechRecoResult {
8242 type Vtable = ISpeechRecoResult_Vtbl;
8243}
8244#[cfg(feature = "Win32_System_Com")]
8245impl ::core::clone::Clone for ISpeechRecoResult {
8246 fn clone(&self) -> Self {
8247 Self(self.0.clone())
8248 }
8249}
8250#[cfg(feature = "Win32_System_Com")]
8251unsafe impl ::windows::core::ComInterface for ISpeechRecoResult {
8252 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xed2879cf_ced9_4ee6_a534_de0191d5468d);
8253}
8254#[cfg(feature = "Win32_System_Com")]
8255#[repr(C)]
8256#[doc(hidden)]
8257pub struct ISpeechRecoResult_Vtbl {
8258 pub base__: super::super::System::Com::IDispatch_Vtbl,
8259 #[cfg(feature = "Win32_System_Com")]
8260 pub RecoContext: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, recocontext: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8261 #[cfg(not(feature = "Win32_System_Com"))]
8262 RecoContext: usize,
8263 #[cfg(feature = "Win32_System_Com")]
8264 pub Times: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, times: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8265 #[cfg(not(feature = "Win32_System_Com"))]
8266 Times: usize,
8267 #[cfg(feature = "Win32_System_Com")]
8268 pub putref_AudioFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, format: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8269 #[cfg(not(feature = "Win32_System_Com"))]
8270 putref_AudioFormat: usize,
8271 #[cfg(feature = "Win32_System_Com")]
8272 pub AudioFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, format: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8273 #[cfg(not(feature = "Win32_System_Com"))]
8274 AudioFormat: usize,
8275 #[cfg(feature = "Win32_System_Com")]
8276 pub PhraseInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phraseinfo: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8277 #[cfg(not(feature = "Win32_System_Com"))]
8278 PhraseInfo: usize,
8279 #[cfg(feature = "Win32_System_Com")]
8280 pub Alternates: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, requestcount: i32, startelement: i32, elements: i32, alternates: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8281 #[cfg(not(feature = "Win32_System_Com"))]
8282 Alternates: usize,
8283 #[cfg(feature = "Win32_System_Com")]
8284 pub Audio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, startelement: i32, elements: i32, stream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8285 #[cfg(not(feature = "Win32_System_Com"))]
8286 Audio: usize,
8287 pub SpeakAudio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags, streamnumber: *mut i32) -> ::windows::core::HRESULT,
8288 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8289 pub SaveToMemory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, resultblock: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
8290 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
8291 SaveToMemory: usize,
8292 pub DiscardResultInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, valuetypes: SpeechDiscardType) -> ::windows::core::HRESULT,
8293}
8294#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
8295#[cfg(feature = "Win32_System_Com")]
8296#[repr(transparent)]
8297pub struct ISpeechRecoResult2(::windows::core::IUnknown);
8298#[cfg(feature = "Win32_System_Com")]
8299impl ISpeechRecoResult2 {
8300 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8301 #[cfg(feature = "Win32_System_Com")]
8302 pub unsafe fn RecoContext(&self) -> ::windows::core::Result<ISpeechRecoContext> {
8303 let mut result__ = ::windows::core::zeroed::<ISpeechRecoContext>();
8304 (::windows::core::Interface::vtable(self).base__.RecoContext)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8305 }
8306 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8307 #[cfg(feature = "Win32_System_Com")]
8308 pub unsafe fn Times(&self) -> ::windows::core::Result<ISpeechRecoResultTimes> {
8309 let mut result__ = ::windows::core::zeroed::<ISpeechRecoResultTimes>();
8310 (::windows::core::Interface::vtable(self).base__.Times)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8311 }
8312 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8313 #[cfg(feature = "Win32_System_Com")]
8314 pub unsafe fn putref_AudioFormat<P0>(&self, format: P0) -> ::windows::core::Result<()>
8315 where
8316 P0: ::windows::core::IntoParam<ISpeechAudioFormat>,
8317 {
8318 (::windows::core::Interface::vtable(self).base__.putref_AudioFormat)(::windows::core::Interface::as_raw(self), format.into_param().abi()).ok()
8319 }
8320 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8321 #[cfg(feature = "Win32_System_Com")]
8322 pub unsafe fn AudioFormat(&self) -> ::windows::core::Result<ISpeechAudioFormat> {
8323 let mut result__ = ::windows::core::zeroed::<ISpeechAudioFormat>();
8324 (::windows::core::Interface::vtable(self).base__.AudioFormat)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8325 }
8326 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8327 #[cfg(feature = "Win32_System_Com")]
8328 pub unsafe fn PhraseInfo(&self) -> ::windows::core::Result<ISpeechPhraseInfo> {
8329 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseInfo>();
8330 (::windows::core::Interface::vtable(self).base__.PhraseInfo)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8331 }
8332 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8333 #[cfg(feature = "Win32_System_Com")]
8334 pub unsafe fn Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows::core::Result<ISpeechPhraseAlternates> {
8335 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseAlternates>();
8336 (::windows::core::Interface::vtable(self).base__.Alternates)(::windows::core::Interface::as_raw(self), requestcount, startelement, elements, &mut result__).from_abi(result__)
8337 }
8338 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8339 #[cfg(feature = "Win32_System_Com")]
8340 pub unsafe fn Audio(&self, startelement: i32, elements: i32) -> ::windows::core::Result<ISpeechMemoryStream> {
8341 let mut result__ = ::windows::core::zeroed::<ISpeechMemoryStream>();
8342 (::windows::core::Interface::vtable(self).base__.Audio)(::windows::core::Interface::as_raw(self), startelement, elements, &mut result__).from_abi(result__)
8343 }
8344 pub unsafe fn SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows::core::Result<i32> {
8345 let mut result__ = ::windows::core::zeroed::<i32>();
8346 (::windows::core::Interface::vtable(self).base__.SpeakAudio)(::windows::core::Interface::as_raw(self), startelement, elements, flags, &mut result__).from_abi(result__)
8347 }
8348 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
8349 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8350 pub unsafe fn SaveToMemory(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
8351 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
8352 (::windows::core::Interface::vtable(self).base__.SaveToMemory)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8353 }
8354 pub unsafe fn DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows::core::Result<()> {
8355 (::windows::core::Interface::vtable(self).base__.DiscardResultInfo)(::windows::core::Interface::as_raw(self), valuetypes).ok()
8356 }
8357 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
8358 #[cfg(feature = "Win32_Foundation")]
8359 pub unsafe fn SetTextFeedback<P0, P1>(&self, feedback: P0, wassuccessful: P1) -> ::windows::core::Result<()>
8360 where
8361 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8362 P1: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
8363 {
8364 (::windows::core::Interface::vtable(self).SetTextFeedback)(::windows::core::Interface::as_raw(self), feedback.into_param().abi(), wassuccessful.into_param().abi()).ok()
8365 }
8366}
8367#[cfg(feature = "Win32_System_Com")]
8368::windows::imp::interface_hierarchy!(ISpeechRecoResult2, ::windows::core::IUnknown, super::super::System::Com::IDispatch, ISpeechRecoResult);
8369#[cfg(feature = "Win32_System_Com")]
8370impl ::core::cmp::PartialEq for ISpeechRecoResult2 {
8371 fn eq(&self, other: &Self) -> bool {
8372 self.0 == other.0
8373 }
8374}
8375#[cfg(feature = "Win32_System_Com")]
8376impl ::core::cmp::Eq for ISpeechRecoResult2 {}
8377#[cfg(feature = "Win32_System_Com")]
8378impl ::core::fmt::Debug for ISpeechRecoResult2 {
8379 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8380 f.debug_tuple("ISpeechRecoResult2").field(&self.0).finish()
8381 }
8382}
8383#[cfg(feature = "Win32_System_Com")]
8384unsafe impl ::windows::core::Interface for ISpeechRecoResult2 {
8385 type Vtable = ISpeechRecoResult2_Vtbl;
8386}
8387#[cfg(feature = "Win32_System_Com")]
8388impl ::core::clone::Clone for ISpeechRecoResult2 {
8389 fn clone(&self) -> Self {
8390 Self(self.0.clone())
8391 }
8392}
8393#[cfg(feature = "Win32_System_Com")]
8394unsafe impl ::windows::core::ComInterface for ISpeechRecoResult2 {
8395 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8e0a246d_d3c8_45de_8657_04290c458c3c);
8396}
8397#[cfg(feature = "Win32_System_Com")]
8398#[repr(C)]
8399#[doc(hidden)]
8400pub struct ISpeechRecoResult2_Vtbl {
8401 pub base__: ISpeechRecoResult_Vtbl,
8402 #[cfg(feature = "Win32_Foundation")]
8403 pub SetTextFeedback: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, feedback: ::std::mem::MaybeUninit<::windows::core::BSTR>, wassuccessful: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
8404 #[cfg(not(feature = "Win32_Foundation"))]
8405 SetTextFeedback: usize,
8406}
8407#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
8408#[cfg(feature = "Win32_System_Com")]
8409#[repr(transparent)]
8410pub struct ISpeechRecoResultDispatch(::windows::core::IUnknown);
8411#[cfg(feature = "Win32_System_Com")]
8412impl ISpeechRecoResultDispatch {
8413 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8414 #[cfg(feature = "Win32_System_Com")]
8415 pub unsafe fn RecoContext(&self) -> ::windows::core::Result<ISpeechRecoContext> {
8416 let mut result__ = ::windows::core::zeroed::<ISpeechRecoContext>();
8417 (::windows::core::Interface::vtable(self).RecoContext)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8418 }
8419 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8420 #[cfg(feature = "Win32_System_Com")]
8421 pub unsafe fn Times(&self) -> ::windows::core::Result<ISpeechRecoResultTimes> {
8422 let mut result__ = ::windows::core::zeroed::<ISpeechRecoResultTimes>();
8423 (::windows::core::Interface::vtable(self).Times)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8424 }
8425 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8426 #[cfg(feature = "Win32_System_Com")]
8427 pub unsafe fn putref_AudioFormat<P0>(&self, format: P0) -> ::windows::core::Result<()>
8428 where
8429 P0: ::windows::core::IntoParam<ISpeechAudioFormat>,
8430 {
8431 (::windows::core::Interface::vtable(self).putref_AudioFormat)(::windows::core::Interface::as_raw(self), format.into_param().abi()).ok()
8432 }
8433 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8434 #[cfg(feature = "Win32_System_Com")]
8435 pub unsafe fn AudioFormat(&self) -> ::windows::core::Result<ISpeechAudioFormat> {
8436 let mut result__ = ::windows::core::zeroed::<ISpeechAudioFormat>();
8437 (::windows::core::Interface::vtable(self).AudioFormat)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8438 }
8439 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8440 #[cfg(feature = "Win32_System_Com")]
8441 pub unsafe fn PhraseInfo(&self) -> ::windows::core::Result<ISpeechPhraseInfo> {
8442 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseInfo>();
8443 (::windows::core::Interface::vtable(self).PhraseInfo)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8444 }
8445 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8446 #[cfg(feature = "Win32_System_Com")]
8447 pub unsafe fn Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows::core::Result<ISpeechPhraseAlternates> {
8448 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseAlternates>();
8449 (::windows::core::Interface::vtable(self).Alternates)(::windows::core::Interface::as_raw(self), requestcount, startelement, elements, &mut result__).from_abi(result__)
8450 }
8451 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8452 #[cfg(feature = "Win32_System_Com")]
8453 pub unsafe fn Audio(&self, startelement: i32, elements: i32) -> ::windows::core::Result<ISpeechMemoryStream> {
8454 let mut result__ = ::windows::core::zeroed::<ISpeechMemoryStream>();
8455 (::windows::core::Interface::vtable(self).Audio)(::windows::core::Interface::as_raw(self), startelement, elements, &mut result__).from_abi(result__)
8456 }
8457 pub unsafe fn SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows::core::Result<i32> {
8458 let mut result__ = ::windows::core::zeroed::<i32>();
8459 (::windows::core::Interface::vtable(self).SpeakAudio)(::windows::core::Interface::as_raw(self), startelement, elements, flags, &mut result__).from_abi(result__)
8460 }
8461 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
8462 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8463 pub unsafe fn SaveToMemory(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
8464 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
8465 (::windows::core::Interface::vtable(self).SaveToMemory)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8466 }
8467 pub unsafe fn DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows::core::Result<()> {
8468 (::windows::core::Interface::vtable(self).DiscardResultInfo)(::windows::core::Interface::as_raw(self), valuetypes).ok()
8469 }
8470 pub unsafe fn GetXMLResult(&self, options: SPXMLRESULTOPTIONS) -> ::windows::core::Result<::windows::core::BSTR> {
8471 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
8472 (::windows::core::Interface::vtable(self).GetXMLResult)(::windows::core::Interface::as_raw(self), options, &mut result__).from_abi(result__)
8473 }
8474 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
8475 #[cfg(feature = "Win32_Foundation")]
8476 pub unsafe fn GetXMLErrorInfo(&self, linenumber: *mut i32, scriptline: *mut ::windows::core::BSTR, source: *mut ::windows::core::BSTR, description: *mut ::windows::core::BSTR, resultcode: *mut ::windows::core::HRESULT, iserror: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()> {
8477 (::windows::core::Interface::vtable(self).GetXMLErrorInfo)(::windows::core::Interface::as_raw(self), linenumber, ::core::mem::transmute(scriptline), ::core::mem::transmute(source), ::core::mem::transmute(description), resultcode, iserror).ok()
8478 }
8479 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
8480 #[cfg(feature = "Win32_Foundation")]
8481 pub unsafe fn SetTextFeedback<P0, P1>(&self, feedback: P0, wassuccessful: P1) -> ::windows::core::Result<()>
8482 where
8483 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8484 P1: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
8485 {
8486 (::windows::core::Interface::vtable(self).SetTextFeedback)(::windows::core::Interface::as_raw(self), feedback.into_param().abi(), wassuccessful.into_param().abi()).ok()
8487 }
8488}
8489#[cfg(feature = "Win32_System_Com")]
8490::windows::imp::interface_hierarchy!(ISpeechRecoResultDispatch, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
8491#[cfg(feature = "Win32_System_Com")]
8492impl ::core::cmp::PartialEq for ISpeechRecoResultDispatch {
8493 fn eq(&self, other: &Self) -> bool {
8494 self.0 == other.0
8495 }
8496}
8497#[cfg(feature = "Win32_System_Com")]
8498impl ::core::cmp::Eq for ISpeechRecoResultDispatch {}
8499#[cfg(feature = "Win32_System_Com")]
8500impl ::core::fmt::Debug for ISpeechRecoResultDispatch {
8501 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8502 f.debug_tuple("ISpeechRecoResultDispatch").field(&self.0).finish()
8503 }
8504}
8505#[cfg(feature = "Win32_System_Com")]
8506unsafe impl ::windows::core::Interface for ISpeechRecoResultDispatch {
8507 type Vtable = ISpeechRecoResultDispatch_Vtbl;
8508}
8509#[cfg(feature = "Win32_System_Com")]
8510impl ::core::clone::Clone for ISpeechRecoResultDispatch {
8511 fn clone(&self) -> Self {
8512 Self(self.0.clone())
8513 }
8514}
8515#[cfg(feature = "Win32_System_Com")]
8516unsafe impl ::windows::core::ComInterface for ISpeechRecoResultDispatch {
8517 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x6d60eb64_aced_40a6_bbf3_4e557f71dee2);
8518}
8519#[cfg(feature = "Win32_System_Com")]
8520#[repr(C)]
8521#[doc(hidden)]
8522pub struct ISpeechRecoResultDispatch_Vtbl {
8523 pub base__: super::super::System::Com::IDispatch_Vtbl,
8524 #[cfg(feature = "Win32_System_Com")]
8525 pub RecoContext: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, recocontext: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8526 #[cfg(not(feature = "Win32_System_Com"))]
8527 RecoContext: usize,
8528 #[cfg(feature = "Win32_System_Com")]
8529 pub Times: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, times: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8530 #[cfg(not(feature = "Win32_System_Com"))]
8531 Times: usize,
8532 #[cfg(feature = "Win32_System_Com")]
8533 pub putref_AudioFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, format: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8534 #[cfg(not(feature = "Win32_System_Com"))]
8535 putref_AudioFormat: usize,
8536 #[cfg(feature = "Win32_System_Com")]
8537 pub AudioFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, format: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8538 #[cfg(not(feature = "Win32_System_Com"))]
8539 AudioFormat: usize,
8540 #[cfg(feature = "Win32_System_Com")]
8541 pub PhraseInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phraseinfo: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8542 #[cfg(not(feature = "Win32_System_Com"))]
8543 PhraseInfo: usize,
8544 #[cfg(feature = "Win32_System_Com")]
8545 pub Alternates: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, requestcount: i32, startelement: i32, elements: i32, alternates: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8546 #[cfg(not(feature = "Win32_System_Com"))]
8547 Alternates: usize,
8548 #[cfg(feature = "Win32_System_Com")]
8549 pub Audio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, startelement: i32, elements: i32, stream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8550 #[cfg(not(feature = "Win32_System_Com"))]
8551 Audio: usize,
8552 pub SpeakAudio: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags, streamnumber: *mut i32) -> ::windows::core::HRESULT,
8553 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8554 pub SaveToMemory: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, resultblock: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
8555 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
8556 SaveToMemory: usize,
8557 pub DiscardResultInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, valuetypes: SpeechDiscardType) -> ::windows::core::HRESULT,
8558 pub GetXMLResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, options: SPXMLRESULTOPTIONS, presult: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
8559 #[cfg(feature = "Win32_Foundation")]
8560 pub GetXMLErrorInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, linenumber: *mut i32, scriptline: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, source: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, description: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, resultcode: *mut ::windows::core::HRESULT, iserror: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
8561 #[cfg(not(feature = "Win32_Foundation"))]
8562 GetXMLErrorInfo: usize,
8563 #[cfg(feature = "Win32_Foundation")]
8564 pub SetTextFeedback: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, feedback: ::std::mem::MaybeUninit<::windows::core::BSTR>, wassuccessful: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
8565 #[cfg(not(feature = "Win32_Foundation"))]
8566 SetTextFeedback: usize,
8567}
8568#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
8569#[cfg(feature = "Win32_System_Com")]
8570#[repr(transparent)]
8571pub struct ISpeechRecoResultTimes(::windows::core::IUnknown);
8572#[cfg(feature = "Win32_System_Com")]
8573impl ISpeechRecoResultTimes {
8574 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
8575 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8576 pub unsafe fn StreamTime(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
8577 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
8578 (::windows::core::Interface::vtable(self).StreamTime)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8579 }
8580 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
8581 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8582 pub unsafe fn Length(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
8583 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
8584 (::windows::core::Interface::vtable(self).Length)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8585 }
8586 pub unsafe fn TickCount(&self) -> ::windows::core::Result<i32> {
8587 let mut result__ = ::windows::core::zeroed::<i32>();
8588 (::windows::core::Interface::vtable(self).TickCount)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8589 }
8590 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
8591 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8592 pub unsafe fn OffsetFromStart(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
8593 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
8594 (::windows::core::Interface::vtable(self).OffsetFromStart)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8595 }
8596}
8597#[cfg(feature = "Win32_System_Com")]
8598::windows::imp::interface_hierarchy!(ISpeechRecoResultTimes, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
8599#[cfg(feature = "Win32_System_Com")]
8600impl ::core::cmp::PartialEq for ISpeechRecoResultTimes {
8601 fn eq(&self, other: &Self) -> bool {
8602 self.0 == other.0
8603 }
8604}
8605#[cfg(feature = "Win32_System_Com")]
8606impl ::core::cmp::Eq for ISpeechRecoResultTimes {}
8607#[cfg(feature = "Win32_System_Com")]
8608impl ::core::fmt::Debug for ISpeechRecoResultTimes {
8609 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8610 f.debug_tuple("ISpeechRecoResultTimes").field(&self.0).finish()
8611 }
8612}
8613#[cfg(feature = "Win32_System_Com")]
8614unsafe impl ::windows::core::Interface for ISpeechRecoResultTimes {
8615 type Vtable = ISpeechRecoResultTimes_Vtbl;
8616}
8617#[cfg(feature = "Win32_System_Com")]
8618impl ::core::clone::Clone for ISpeechRecoResultTimes {
8619 fn clone(&self) -> Self {
8620 Self(self.0.clone())
8621 }
8622}
8623#[cfg(feature = "Win32_System_Com")]
8624unsafe impl ::windows::core::ComInterface for ISpeechRecoResultTimes {
8625 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x62b3b8fb_f6e7_41be_bdcb_056b1c29efc0);
8626}
8627#[cfg(feature = "Win32_System_Com")]
8628#[repr(C)]
8629#[doc(hidden)]
8630pub struct ISpeechRecoResultTimes_Vtbl {
8631 pub base__: super::super::System::Com::IDispatch_Vtbl,
8632 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8633 pub StreamTime: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, time: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
8634 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
8635 StreamTime: usize,
8636 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8637 pub Length: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, length: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
8638 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
8639 Length: usize,
8640 pub TickCount: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, tickcount: *mut i32) -> ::windows::core::HRESULT,
8641 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8642 pub OffsetFromStart: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, offsetfromstart: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
8643 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
8644 OffsetFromStart: usize,
8645}
8646#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
8647#[cfg(feature = "Win32_System_Com")]
8648#[repr(transparent)]
8649pub struct ISpeechRecognizer(::windows::core::IUnknown);
8650#[cfg(feature = "Win32_System_Com")]
8651impl ISpeechRecognizer {
8652 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8653 #[cfg(feature = "Win32_System_Com")]
8654 pub unsafe fn putref_Recognizer<P0>(&self, recognizer: P0) -> ::windows::core::Result<()>
8655 where
8656 P0: ::windows::core::IntoParam<ISpeechObjectToken>,
8657 {
8658 (::windows::core::Interface::vtable(self).putref_Recognizer)(::windows::core::Interface::as_raw(self), recognizer.into_param().abi()).ok()
8659 }
8660 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8661 #[cfg(feature = "Win32_System_Com")]
8662 pub unsafe fn Recognizer(&self) -> ::windows::core::Result<ISpeechObjectToken> {
8663 let mut result__ = ::windows::core::zeroed::<ISpeechObjectToken>();
8664 (::windows::core::Interface::vtable(self).Recognizer)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8665 }
8666 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
8667 #[cfg(feature = "Win32_Foundation")]
8668 pub unsafe fn SetAllowAudioInputFormatChangesOnNextSet<P0>(&self, allow: P0) -> ::windows::core::Result<()>
8669 where
8670 P0: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
8671 {
8672 (::windows::core::Interface::vtable(self).SetAllowAudioInputFormatChangesOnNextSet)(::windows::core::Interface::as_raw(self), allow.into_param().abi()).ok()
8673 }
8674 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
8675 #[cfg(feature = "Win32_Foundation")]
8676 pub unsafe fn AllowAudioInputFormatChangesOnNextSet(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL> {
8677 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::VARIANT_BOOL>();
8678 (::windows::core::Interface::vtable(self).AllowAudioInputFormatChangesOnNextSet)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8679 }
8680 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8681 #[cfg(feature = "Win32_System_Com")]
8682 pub unsafe fn putref_AudioInput<P0>(&self, audioinput: P0) -> ::windows::core::Result<()>
8683 where
8684 P0: ::windows::core::IntoParam<ISpeechObjectToken>,
8685 {
8686 (::windows::core::Interface::vtable(self).putref_AudioInput)(::windows::core::Interface::as_raw(self), audioinput.into_param().abi()).ok()
8687 }
8688 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8689 #[cfg(feature = "Win32_System_Com")]
8690 pub unsafe fn AudioInput(&self) -> ::windows::core::Result<ISpeechObjectToken> {
8691 let mut result__ = ::windows::core::zeroed::<ISpeechObjectToken>();
8692 (::windows::core::Interface::vtable(self).AudioInput)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8693 }
8694 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8695 #[cfg(feature = "Win32_System_Com")]
8696 pub unsafe fn putref_AudioInputStream<P0>(&self, audioinputstream: P0) -> ::windows::core::Result<()>
8697 where
8698 P0: ::windows::core::IntoParam<ISpeechBaseStream>,
8699 {
8700 (::windows::core::Interface::vtable(self).putref_AudioInputStream)(::windows::core::Interface::as_raw(self), audioinputstream.into_param().abi()).ok()
8701 }
8702 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8703 #[cfg(feature = "Win32_System_Com")]
8704 pub unsafe fn AudioInputStream(&self) -> ::windows::core::Result<ISpeechBaseStream> {
8705 let mut result__ = ::windows::core::zeroed::<ISpeechBaseStream>();
8706 (::windows::core::Interface::vtable(self).AudioInputStream)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8707 }
8708 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
8709 #[cfg(feature = "Win32_Foundation")]
8710 pub unsafe fn IsShared(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL> {
8711 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::VARIANT_BOOL>();
8712 (::windows::core::Interface::vtable(self).IsShared)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8713 }
8714 pub unsafe fn SetState(&self, state: SpeechRecognizerState) -> ::windows::core::Result<()> {
8715 (::windows::core::Interface::vtable(self).SetState)(::windows::core::Interface::as_raw(self), state).ok()
8716 }
8717 pub unsafe fn State(&self) -> ::windows::core::Result<SpeechRecognizerState> {
8718 let mut result__ = ::windows::core::zeroed::<SpeechRecognizerState>();
8719 (::windows::core::Interface::vtable(self).State)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8720 }
8721 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8722 #[cfg(feature = "Win32_System_Com")]
8723 pub unsafe fn Status(&self) -> ::windows::core::Result<ISpeechRecognizerStatus> {
8724 let mut result__ = ::windows::core::zeroed::<ISpeechRecognizerStatus>();
8725 (::windows::core::Interface::vtable(self).Status)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8726 }
8727 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8728 #[cfg(feature = "Win32_System_Com")]
8729 pub unsafe fn putref_Profile<P0>(&self, profile: P0) -> ::windows::core::Result<()>
8730 where
8731 P0: ::windows::core::IntoParam<ISpeechObjectToken>,
8732 {
8733 (::windows::core::Interface::vtable(self).putref_Profile)(::windows::core::Interface::as_raw(self), profile.into_param().abi()).ok()
8734 }
8735 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8736 #[cfg(feature = "Win32_System_Com")]
8737 pub unsafe fn Profile(&self) -> ::windows::core::Result<ISpeechObjectToken> {
8738 let mut result__ = ::windows::core::zeroed::<ISpeechObjectToken>();
8739 (::windows::core::Interface::vtable(self).Profile)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8740 }
8741 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
8742 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8743 pub unsafe fn EmulateRecognition(&self, textelements: super::super::System::Com::VARIANT, elementdisplayattributes: *const super::super::System::Com::VARIANT, languageid: i32) -> ::windows::core::Result<()> {
8744 (::windows::core::Interface::vtable(self).EmulateRecognition)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(textelements), elementdisplayattributes, languageid).ok()
8745 }
8746 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8747 #[cfg(feature = "Win32_System_Com")]
8748 pub unsafe fn CreateRecoContext(&self) -> ::windows::core::Result<ISpeechRecoContext> {
8749 let mut result__ = ::windows::core::zeroed::<ISpeechRecoContext>();
8750 (::windows::core::Interface::vtable(self).CreateRecoContext)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8751 }
8752 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8753 #[cfg(feature = "Win32_System_Com")]
8754 pub unsafe fn GetFormat(&self, r#type: SpeechFormatType) -> ::windows::core::Result<ISpeechAudioFormat> {
8755 let mut result__ = ::windows::core::zeroed::<ISpeechAudioFormat>();
8756 (::windows::core::Interface::vtable(self).GetFormat)(::windows::core::Interface::as_raw(self), r#type, &mut result__).from_abi(result__)
8757 }
8758 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
8759 #[cfg(feature = "Win32_Foundation")]
8760 pub unsafe fn SetPropertyNumber<P0>(&self, name: P0, value: i32) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>
8761 where
8762 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8763 {
8764 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::VARIANT_BOOL>();
8765 (::windows::core::Interface::vtable(self).SetPropertyNumber)(::windows::core::Interface::as_raw(self), name.into_param().abi(), value, &mut result__).from_abi(result__)
8766 }
8767 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
8768 #[cfg(feature = "Win32_Foundation")]
8769 pub unsafe fn GetPropertyNumber<P0>(&self, name: P0, value: *mut i32, supported: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>
8770 where
8771 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8772 {
8773 (::windows::core::Interface::vtable(self).GetPropertyNumber)(::windows::core::Interface::as_raw(self), name.into_param().abi(), value, supported).ok()
8774 }
8775 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
8776 #[cfg(feature = "Win32_Foundation")]
8777 pub unsafe fn SetPropertyString<P0, P1>(&self, name: P0, value: P1) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>
8778 where
8779 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8780 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
8781 {
8782 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::VARIANT_BOOL>();
8783 (::windows::core::Interface::vtable(self).SetPropertyString)(::windows::core::Interface::as_raw(self), name.into_param().abi(), value.into_param().abi(), &mut result__).from_abi(result__)
8784 }
8785 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
8786 #[cfg(feature = "Win32_Foundation")]
8787 pub unsafe fn GetPropertyString<P0>(&self, name: P0, value: *mut ::windows::core::BSTR, supported: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()>
8788 where
8789 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8790 {
8791 (::windows::core::Interface::vtable(self).GetPropertyString)(::windows::core::Interface::as_raw(self), name.into_param().abi(), ::core::mem::transmute(value), supported).ok()
8792 }
8793 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
8794 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8795 pub unsafe fn IsUISupported<P0>(&self, typeofui: P0, extradata: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>
8796 where
8797 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8798 {
8799 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::VARIANT_BOOL>();
8800 (::windows::core::Interface::vtable(self).IsUISupported)(::windows::core::Interface::as_raw(self), typeofui.into_param().abi(), extradata, &mut result__).from_abi(result__)
8801 }
8802 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
8803 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8804 pub unsafe fn DisplayUI<P0, P1>(&self, hwndparent: i32, title: P0, typeofui: P1, extradata: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<()>
8805 where
8806 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8807 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
8808 {
8809 (::windows::core::Interface::vtable(self).DisplayUI)(::windows::core::Interface::as_raw(self), hwndparent, title.into_param().abi(), typeofui.into_param().abi(), extradata).ok()
8810 }
8811 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8812 #[cfg(feature = "Win32_System_Com")]
8813 pub unsafe fn GetRecognizers<P0, P1>(&self, requiredattributes: P0, optionalattributes: P1) -> ::windows::core::Result<ISpeechObjectTokens>
8814 where
8815 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8816 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
8817 {
8818 let mut result__ = ::windows::core::zeroed::<ISpeechObjectTokens>();
8819 (::windows::core::Interface::vtable(self).GetRecognizers)(::windows::core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi(result__)
8820 }
8821 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8822 #[cfg(feature = "Win32_System_Com")]
8823 pub unsafe fn GetAudioInputs<P0, P1>(&self, requiredattributes: P0, optionalattributes: P1) -> ::windows::core::Result<ISpeechObjectTokens>
8824 where
8825 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8826 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
8827 {
8828 let mut result__ = ::windows::core::zeroed::<ISpeechObjectTokens>();
8829 (::windows::core::Interface::vtable(self).GetAudioInputs)(::windows::core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi(result__)
8830 }
8831 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8832 #[cfg(feature = "Win32_System_Com")]
8833 pub unsafe fn GetProfiles<P0, P1>(&self, requiredattributes: P0, optionalattributes: P1) -> ::windows::core::Result<ISpeechObjectTokens>
8834 where
8835 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
8836 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
8837 {
8838 let mut result__ = ::windows::core::zeroed::<ISpeechObjectTokens>();
8839 (::windows::core::Interface::vtable(self).GetProfiles)(::windows::core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi(result__)
8840 }
8841}
8842#[cfg(feature = "Win32_System_Com")]
8843::windows::imp::interface_hierarchy!(ISpeechRecognizer, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
8844#[cfg(feature = "Win32_System_Com")]
8845impl ::core::cmp::PartialEq for ISpeechRecognizer {
8846 fn eq(&self, other: &Self) -> bool {
8847 self.0 == other.0
8848 }
8849}
8850#[cfg(feature = "Win32_System_Com")]
8851impl ::core::cmp::Eq for ISpeechRecognizer {}
8852#[cfg(feature = "Win32_System_Com")]
8853impl ::core::fmt::Debug for ISpeechRecognizer {
8854 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
8855 f.debug_tuple("ISpeechRecognizer").field(&self.0).finish()
8856 }
8857}
8858#[cfg(feature = "Win32_System_Com")]
8859unsafe impl ::windows::core::Interface for ISpeechRecognizer {
8860 type Vtable = ISpeechRecognizer_Vtbl;
8861}
8862#[cfg(feature = "Win32_System_Com")]
8863impl ::core::clone::Clone for ISpeechRecognizer {
8864 fn clone(&self) -> Self {
8865 Self(self.0.clone())
8866 }
8867}
8868#[cfg(feature = "Win32_System_Com")]
8869unsafe impl ::windows::core::ComInterface for ISpeechRecognizer {
8870 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x2d5f1c0c_bd75_4b08_9478_3b11fea2586c);
8871}
8872#[cfg(feature = "Win32_System_Com")]
8873#[repr(C)]
8874#[doc(hidden)]
8875pub struct ISpeechRecognizer_Vtbl {
8876 pub base__: super::super::System::Com::IDispatch_Vtbl,
8877 #[cfg(feature = "Win32_System_Com")]
8878 pub putref_Recognizer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, recognizer: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8879 #[cfg(not(feature = "Win32_System_Com"))]
8880 putref_Recognizer: usize,
8881 #[cfg(feature = "Win32_System_Com")]
8882 pub Recognizer: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, recognizer: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8883 #[cfg(not(feature = "Win32_System_Com"))]
8884 Recognizer: usize,
8885 #[cfg(feature = "Win32_Foundation")]
8886 pub SetAllowAudioInputFormatChangesOnNextSet: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, allow: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
8887 #[cfg(not(feature = "Win32_Foundation"))]
8888 SetAllowAudioInputFormatChangesOnNextSet: usize,
8889 #[cfg(feature = "Win32_Foundation")]
8890 pub AllowAudioInputFormatChangesOnNextSet: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, allow: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
8891 #[cfg(not(feature = "Win32_Foundation"))]
8892 AllowAudioInputFormatChangesOnNextSet: usize,
8893 #[cfg(feature = "Win32_System_Com")]
8894 pub putref_AudioInput: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audioinput: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8895 #[cfg(not(feature = "Win32_System_Com"))]
8896 putref_AudioInput: usize,
8897 #[cfg(feature = "Win32_System_Com")]
8898 pub AudioInput: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audioinput: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8899 #[cfg(not(feature = "Win32_System_Com"))]
8900 AudioInput: usize,
8901 #[cfg(feature = "Win32_System_Com")]
8902 pub putref_AudioInputStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audioinputstream: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8903 #[cfg(not(feature = "Win32_System_Com"))]
8904 putref_AudioInputStream: usize,
8905 #[cfg(feature = "Win32_System_Com")]
8906 pub AudioInputStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audioinputstream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8907 #[cfg(not(feature = "Win32_System_Com"))]
8908 AudioInputStream: usize,
8909 #[cfg(feature = "Win32_Foundation")]
8910 pub IsShared: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, shared: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
8911 #[cfg(not(feature = "Win32_Foundation"))]
8912 IsShared: usize,
8913 pub SetState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: SpeechRecognizerState) -> ::windows::core::HRESULT,
8914 pub State: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: *mut SpeechRecognizerState) -> ::windows::core::HRESULT,
8915 #[cfg(feature = "Win32_System_Com")]
8916 pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, status: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8917 #[cfg(not(feature = "Win32_System_Com"))]
8918 Status: usize,
8919 #[cfg(feature = "Win32_System_Com")]
8920 pub putref_Profile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, profile: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8921 #[cfg(not(feature = "Win32_System_Com"))]
8922 putref_Profile: usize,
8923 #[cfg(feature = "Win32_System_Com")]
8924 pub Profile: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, profile: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8925 #[cfg(not(feature = "Win32_System_Com"))]
8926 Profile: usize,
8927 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8928 pub EmulateRecognition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, textelements: super::super::System::Com::VARIANT, elementdisplayattributes: *const super::super::System::Com::VARIANT, languageid: i32) -> ::windows::core::HRESULT,
8929 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
8930 EmulateRecognition: usize,
8931 #[cfg(feature = "Win32_System_Com")]
8932 pub CreateRecoContext: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, newcontext: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8933 #[cfg(not(feature = "Win32_System_Com"))]
8934 CreateRecoContext: usize,
8935 #[cfg(feature = "Win32_System_Com")]
8936 pub GetFormat: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: SpeechFormatType, format: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8937 #[cfg(not(feature = "Win32_System_Com"))]
8938 GetFormat: usize,
8939 #[cfg(feature = "Win32_Foundation")]
8940 pub SetPropertyNumber: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, value: i32, supported: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
8941 #[cfg(not(feature = "Win32_Foundation"))]
8942 SetPropertyNumber: usize,
8943 #[cfg(feature = "Win32_Foundation")]
8944 pub GetPropertyNumber: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, value: *mut i32, supported: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
8945 #[cfg(not(feature = "Win32_Foundation"))]
8946 GetPropertyNumber: usize,
8947 #[cfg(feature = "Win32_Foundation")]
8948 pub SetPropertyString: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, value: ::std::mem::MaybeUninit<::windows::core::BSTR>, supported: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
8949 #[cfg(not(feature = "Win32_Foundation"))]
8950 SetPropertyString: usize,
8951 #[cfg(feature = "Win32_Foundation")]
8952 pub GetPropertyString: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, name: ::std::mem::MaybeUninit<::windows::core::BSTR>, value: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, supported: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
8953 #[cfg(not(feature = "Win32_Foundation"))]
8954 GetPropertyString: usize,
8955 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8956 pub IsUISupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, typeofui: ::std::mem::MaybeUninit<::windows::core::BSTR>, extradata: *const super::super::System::Com::VARIANT, supported: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
8957 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
8958 IsUISupported: usize,
8959 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8960 pub DisplayUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwndparent: i32, title: ::std::mem::MaybeUninit<::windows::core::BSTR>, typeofui: ::std::mem::MaybeUninit<::windows::core::BSTR>, extradata: *const super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
8961 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
8962 DisplayUI: usize,
8963 #[cfg(feature = "Win32_System_Com")]
8964 pub GetRecognizers: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, requiredattributes: ::std::mem::MaybeUninit<::windows::core::BSTR>, optionalattributes: ::std::mem::MaybeUninit<::windows::core::BSTR>, objecttokens: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8965 #[cfg(not(feature = "Win32_System_Com"))]
8966 GetRecognizers: usize,
8967 #[cfg(feature = "Win32_System_Com")]
8968 pub GetAudioInputs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, requiredattributes: ::std::mem::MaybeUninit<::windows::core::BSTR>, optionalattributes: ::std::mem::MaybeUninit<::windows::core::BSTR>, objecttokens: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8969 #[cfg(not(feature = "Win32_System_Com"))]
8970 GetAudioInputs: usize,
8971 #[cfg(feature = "Win32_System_Com")]
8972 pub GetProfiles: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, requiredattributes: ::std::mem::MaybeUninit<::windows::core::BSTR>, optionalattributes: ::std::mem::MaybeUninit<::windows::core::BSTR>, objecttokens: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
8973 #[cfg(not(feature = "Win32_System_Com"))]
8974 GetProfiles: usize,
8975}
8976#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
8977#[cfg(feature = "Win32_System_Com")]
8978#[repr(transparent)]
8979pub struct ISpeechRecognizerStatus(::windows::core::IUnknown);
8980#[cfg(feature = "Win32_System_Com")]
8981impl ISpeechRecognizerStatus {
8982 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
8983 #[cfg(feature = "Win32_System_Com")]
8984 pub unsafe fn AudioStatus(&self) -> ::windows::core::Result<ISpeechAudioStatus> {
8985 let mut result__ = ::windows::core::zeroed::<ISpeechAudioStatus>();
8986 (::windows::core::Interface::vtable(self).AudioStatus)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8987 }
8988 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
8989 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
8990 pub unsafe fn CurrentStreamPosition(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
8991 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
8992 (::windows::core::Interface::vtable(self).CurrentStreamPosition)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8993 }
8994 pub unsafe fn CurrentStreamNumber(&self) -> ::windows::core::Result<i32> {
8995 let mut result__ = ::windows::core::zeroed::<i32>();
8996 (::windows::core::Interface::vtable(self).CurrentStreamNumber)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
8997 }
8998 pub unsafe fn NumberOfActiveRules(&self) -> ::windows::core::Result<i32> {
8999 let mut result__ = ::windows::core::zeroed::<i32>();
9000 (::windows::core::Interface::vtable(self).NumberOfActiveRules)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9001 }
9002 pub unsafe fn ClsidEngine(&self) -> ::windows::core::Result<::windows::core::BSTR> {
9003 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
9004 (::windows::core::Interface::vtable(self).ClsidEngine)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9005 }
9006 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
9007 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9008 pub unsafe fn SupportedLanguages(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
9009 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
9010 (::windows::core::Interface::vtable(self).SupportedLanguages)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9011 }
9012}
9013#[cfg(feature = "Win32_System_Com")]
9014::windows::imp::interface_hierarchy!(ISpeechRecognizerStatus, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
9015#[cfg(feature = "Win32_System_Com")]
9016impl ::core::cmp::PartialEq for ISpeechRecognizerStatus {
9017 fn eq(&self, other: &Self) -> bool {
9018 self.0 == other.0
9019 }
9020}
9021#[cfg(feature = "Win32_System_Com")]
9022impl ::core::cmp::Eq for ISpeechRecognizerStatus {}
9023#[cfg(feature = "Win32_System_Com")]
9024impl ::core::fmt::Debug for ISpeechRecognizerStatus {
9025 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9026 f.debug_tuple("ISpeechRecognizerStatus").field(&self.0).finish()
9027 }
9028}
9029#[cfg(feature = "Win32_System_Com")]
9030unsafe impl ::windows::core::Interface for ISpeechRecognizerStatus {
9031 type Vtable = ISpeechRecognizerStatus_Vtbl;
9032}
9033#[cfg(feature = "Win32_System_Com")]
9034impl ::core::clone::Clone for ISpeechRecognizerStatus {
9035 fn clone(&self) -> Self {
9036 Self(self.0.clone())
9037 }
9038}
9039#[cfg(feature = "Win32_System_Com")]
9040unsafe impl ::windows::core::ComInterface for ISpeechRecognizerStatus {
9041 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xbff9e781_53ec_484e_bb8a_0e1b5551e35c);
9042}
9043#[cfg(feature = "Win32_System_Com")]
9044#[repr(C)]
9045#[doc(hidden)]
9046pub struct ISpeechRecognizerStatus_Vtbl {
9047 pub base__: super::super::System::Com::IDispatch_Vtbl,
9048 #[cfg(feature = "Win32_System_Com")]
9049 pub AudioStatus: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audiostatus: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
9050 #[cfg(not(feature = "Win32_System_Com"))]
9051 AudioStatus: usize,
9052 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9053 pub CurrentStreamPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pcurrentstreampos: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
9054 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
9055 CurrentStreamPosition: usize,
9056 pub CurrentStreamNumber: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, streamnumber: *mut i32) -> ::windows::core::HRESULT,
9057 pub NumberOfActiveRules: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, numberofactiverules: *mut i32) -> ::windows::core::HRESULT,
9058 pub ClsidEngine: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, clsidengine: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
9059 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9060 pub SupportedLanguages: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, supportedlanguages: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
9061 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
9062 SupportedLanguages: usize,
9063}
9064#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
9065#[cfg(feature = "Win32_System_Com")]
9066#[repr(transparent)]
9067pub struct ISpeechResourceLoader(::windows::core::IUnknown);
9068#[cfg(feature = "Win32_System_Com")]
9069impl ISpeechResourceLoader {
9070 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
9071 #[cfg(feature = "Win32_Foundation")]
9072 pub unsafe fn LoadResource<P0, P1>(&self, bstrresourceuri: P0, falwaysreload: P1, pstream: *mut ::core::option::Option<::windows::core::IUnknown>, pbstrmimetype: ::core::option::Option<*mut ::windows::core::BSTR>, pfmodified: *mut super::super::Foundation::VARIANT_BOOL, pbstrredirecturl: ::core::option::Option<*mut ::windows::core::BSTR>) -> ::windows::core::Result<()>
9073 where
9074 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
9075 P1: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
9076 {
9077 (::windows::core::Interface::vtable(self).LoadResource)(::windows::core::Interface::as_raw(self), bstrresourceuri.into_param().abi(), falwaysreload.into_param().abi(), ::core::mem::transmute(pstream), ::core::mem::transmute(pbstrmimetype.unwrap_or(::std::ptr::null_mut())), pfmodified, ::core::mem::transmute(pbstrredirecturl.unwrap_or(::std::ptr::null_mut()))).ok()
9078 }
9079 pub unsafe fn GetLocalCopy<P0>(&self, bstrresourceuri: P0, pbstrlocalpath: *mut ::windows::core::BSTR, pbstrmimetype: ::core::option::Option<*mut ::windows::core::BSTR>, pbstrredirecturl: ::core::option::Option<*mut ::windows::core::BSTR>) -> ::windows::core::Result<()>
9080 where
9081 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
9082 {
9083 (::windows::core::Interface::vtable(self).GetLocalCopy)(::windows::core::Interface::as_raw(self), bstrresourceuri.into_param().abi(), ::core::mem::transmute(pbstrlocalpath), ::core::mem::transmute(pbstrmimetype.unwrap_or(::std::ptr::null_mut())), ::core::mem::transmute(pbstrredirecturl.unwrap_or(::std::ptr::null_mut()))).ok()
9084 }
9085 pub unsafe fn ReleaseLocalCopy<P0>(&self, pbstrlocalpath: P0) -> ::windows::core::Result<()>
9086 where
9087 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
9088 {
9089 (::windows::core::Interface::vtable(self).ReleaseLocalCopy)(::windows::core::Interface::as_raw(self), pbstrlocalpath.into_param().abi()).ok()
9090 }
9091}
9092#[cfg(feature = "Win32_System_Com")]
9093::windows::imp::interface_hierarchy!(ISpeechResourceLoader, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
9094#[cfg(feature = "Win32_System_Com")]
9095impl ::core::cmp::PartialEq for ISpeechResourceLoader {
9096 fn eq(&self, other: &Self) -> bool {
9097 self.0 == other.0
9098 }
9099}
9100#[cfg(feature = "Win32_System_Com")]
9101impl ::core::cmp::Eq for ISpeechResourceLoader {}
9102#[cfg(feature = "Win32_System_Com")]
9103impl ::core::fmt::Debug for ISpeechResourceLoader {
9104 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9105 f.debug_tuple("ISpeechResourceLoader").field(&self.0).finish()
9106 }
9107}
9108#[cfg(feature = "Win32_System_Com")]
9109unsafe impl ::windows::core::Interface for ISpeechResourceLoader {
9110 type Vtable = ISpeechResourceLoader_Vtbl;
9111}
9112#[cfg(feature = "Win32_System_Com")]
9113impl ::core::clone::Clone for ISpeechResourceLoader {
9114 fn clone(&self) -> Self {
9115 Self(self.0.clone())
9116 }
9117}
9118#[cfg(feature = "Win32_System_Com")]
9119unsafe impl ::windows::core::ComInterface for ISpeechResourceLoader {
9120 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xb9ac5783_fcd0_4b21_b119_b4f8da8fd2c3);
9121}
9122#[cfg(feature = "Win32_System_Com")]
9123#[repr(C)]
9124#[doc(hidden)]
9125pub struct ISpeechResourceLoader_Vtbl {
9126 pub base__: super::super::System::Com::IDispatch_Vtbl,
9127 #[cfg(feature = "Win32_Foundation")]
9128 pub LoadResource: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrresourceuri: ::std::mem::MaybeUninit<::windows::core::BSTR>, falwaysreload: super::super::Foundation::VARIANT_BOOL, pstream: *mut *mut ::core::ffi::c_void, pbstrmimetype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pfmodified: *mut super::super::Foundation::VARIANT_BOOL, pbstrredirecturl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
9129 #[cfg(not(feature = "Win32_Foundation"))]
9130 LoadResource: usize,
9131 pub GetLocalCopy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bstrresourceuri: ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrlocalpath: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrmimetype: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, pbstrredirecturl: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
9132 pub ReleaseLocalCopy: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, pbstrlocalpath: ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
9133}
9134#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
9135#[cfg(feature = "Win32_System_Com")]
9136#[repr(transparent)]
9137pub struct ISpeechTextSelectionInformation(::windows::core::IUnknown);
9138#[cfg(feature = "Win32_System_Com")]
9139impl ISpeechTextSelectionInformation {
9140 pub unsafe fn SetActiveOffset(&self, activeoffset: i32) -> ::windows::core::Result<()> {
9141 (::windows::core::Interface::vtable(self).SetActiveOffset)(::windows::core::Interface::as_raw(self), activeoffset).ok()
9142 }
9143 pub unsafe fn ActiveOffset(&self) -> ::windows::core::Result<i32> {
9144 let mut result__ = ::windows::core::zeroed::<i32>();
9145 (::windows::core::Interface::vtable(self).ActiveOffset)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9146 }
9147 pub unsafe fn SetActiveLength(&self, activelength: i32) -> ::windows::core::Result<()> {
9148 (::windows::core::Interface::vtable(self).SetActiveLength)(::windows::core::Interface::as_raw(self), activelength).ok()
9149 }
9150 pub unsafe fn ActiveLength(&self) -> ::windows::core::Result<i32> {
9151 let mut result__ = ::windows::core::zeroed::<i32>();
9152 (::windows::core::Interface::vtable(self).ActiveLength)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9153 }
9154 pub unsafe fn SetSelectionOffset(&self, selectionoffset: i32) -> ::windows::core::Result<()> {
9155 (::windows::core::Interface::vtable(self).SetSelectionOffset)(::windows::core::Interface::as_raw(self), selectionoffset).ok()
9156 }
9157 pub unsafe fn SelectionOffset(&self) -> ::windows::core::Result<i32> {
9158 let mut result__ = ::windows::core::zeroed::<i32>();
9159 (::windows::core::Interface::vtable(self).SelectionOffset)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9160 }
9161 pub unsafe fn SetSelectionLength(&self, selectionlength: i32) -> ::windows::core::Result<()> {
9162 (::windows::core::Interface::vtable(self).SetSelectionLength)(::windows::core::Interface::as_raw(self), selectionlength).ok()
9163 }
9164 pub unsafe fn SelectionLength(&self) -> ::windows::core::Result<i32> {
9165 let mut result__ = ::windows::core::zeroed::<i32>();
9166 (::windows::core::Interface::vtable(self).SelectionLength)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9167 }
9168}
9169#[cfg(feature = "Win32_System_Com")]
9170::windows::imp::interface_hierarchy!(ISpeechTextSelectionInformation, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
9171#[cfg(feature = "Win32_System_Com")]
9172impl ::core::cmp::PartialEq for ISpeechTextSelectionInformation {
9173 fn eq(&self, other: &Self) -> bool {
9174 self.0 == other.0
9175 }
9176}
9177#[cfg(feature = "Win32_System_Com")]
9178impl ::core::cmp::Eq for ISpeechTextSelectionInformation {}
9179#[cfg(feature = "Win32_System_Com")]
9180impl ::core::fmt::Debug for ISpeechTextSelectionInformation {
9181 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9182 f.debug_tuple("ISpeechTextSelectionInformation").field(&self.0).finish()
9183 }
9184}
9185#[cfg(feature = "Win32_System_Com")]
9186unsafe impl ::windows::core::Interface for ISpeechTextSelectionInformation {
9187 type Vtable = ISpeechTextSelectionInformation_Vtbl;
9188}
9189#[cfg(feature = "Win32_System_Com")]
9190impl ::core::clone::Clone for ISpeechTextSelectionInformation {
9191 fn clone(&self) -> Self {
9192 Self(self.0.clone())
9193 }
9194}
9195#[cfg(feature = "Win32_System_Com")]
9196unsafe impl ::windows::core::ComInterface for ISpeechTextSelectionInformation {
9197 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3b9c7e7a_6eee_4ded_9092_11657279adbe);
9198}
9199#[cfg(feature = "Win32_System_Com")]
9200#[repr(C)]
9201#[doc(hidden)]
9202pub struct ISpeechTextSelectionInformation_Vtbl {
9203 pub base__: super::super::System::Com::IDispatch_Vtbl,
9204 pub SetActiveOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, activeoffset: i32) -> ::windows::core::HRESULT,
9205 pub ActiveOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, activeoffset: *mut i32) -> ::windows::core::HRESULT,
9206 pub SetActiveLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, activelength: i32) -> ::windows::core::HRESULT,
9207 pub ActiveLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, activelength: *mut i32) -> ::windows::core::HRESULT,
9208 pub SetSelectionOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, selectionoffset: i32) -> ::windows::core::HRESULT,
9209 pub SelectionOffset: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, selectionoffset: *mut i32) -> ::windows::core::HRESULT,
9210 pub SetSelectionLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, selectionlength: i32) -> ::windows::core::HRESULT,
9211 pub SelectionLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, selectionlength: *mut i32) -> ::windows::core::HRESULT,
9212}
9213#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
9214#[cfg(feature = "Win32_System_Com")]
9215#[repr(transparent)]
9216pub struct ISpeechVoice(::windows::core::IUnknown);
9217#[cfg(feature = "Win32_System_Com")]
9218impl ISpeechVoice {
9219 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9220 #[cfg(feature = "Win32_System_Com")]
9221 pub unsafe fn Status(&self) -> ::windows::core::Result<ISpeechVoiceStatus> {
9222 let mut result__ = ::windows::core::zeroed::<ISpeechVoiceStatus>();
9223 (::windows::core::Interface::vtable(self).Status)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9224 }
9225 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9226 #[cfg(feature = "Win32_System_Com")]
9227 pub unsafe fn Voice(&self) -> ::windows::core::Result<ISpeechObjectToken> {
9228 let mut result__ = ::windows::core::zeroed::<ISpeechObjectToken>();
9229 (::windows::core::Interface::vtable(self).Voice)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9230 }
9231 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9232 #[cfg(feature = "Win32_System_Com")]
9233 pub unsafe fn putref_Voice<P0>(&self, voice: P0) -> ::windows::core::Result<()>
9234 where
9235 P0: ::windows::core::IntoParam<ISpeechObjectToken>,
9236 {
9237 (::windows::core::Interface::vtable(self).putref_Voice)(::windows::core::Interface::as_raw(self), voice.into_param().abi()).ok()
9238 }
9239 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9240 #[cfg(feature = "Win32_System_Com")]
9241 pub unsafe fn AudioOutput(&self) -> ::windows::core::Result<ISpeechObjectToken> {
9242 let mut result__ = ::windows::core::zeroed::<ISpeechObjectToken>();
9243 (::windows::core::Interface::vtable(self).AudioOutput)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9244 }
9245 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9246 #[cfg(feature = "Win32_System_Com")]
9247 pub unsafe fn putref_AudioOutput<P0>(&self, audiooutput: P0) -> ::windows::core::Result<()>
9248 where
9249 P0: ::windows::core::IntoParam<ISpeechObjectToken>,
9250 {
9251 (::windows::core::Interface::vtable(self).putref_AudioOutput)(::windows::core::Interface::as_raw(self), audiooutput.into_param().abi()).ok()
9252 }
9253 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9254 #[cfg(feature = "Win32_System_Com")]
9255 pub unsafe fn AudioOutputStream(&self) -> ::windows::core::Result<ISpeechBaseStream> {
9256 let mut result__ = ::windows::core::zeroed::<ISpeechBaseStream>();
9257 (::windows::core::Interface::vtable(self).AudioOutputStream)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9258 }
9259 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9260 #[cfg(feature = "Win32_System_Com")]
9261 pub unsafe fn putref_AudioOutputStream<P0>(&self, audiooutputstream: P0) -> ::windows::core::Result<()>
9262 where
9263 P0: ::windows::core::IntoParam<ISpeechBaseStream>,
9264 {
9265 (::windows::core::Interface::vtable(self).putref_AudioOutputStream)(::windows::core::Interface::as_raw(self), audiooutputstream.into_param().abi()).ok()
9266 }
9267 pub unsafe fn Rate(&self) -> ::windows::core::Result<i32> {
9268 let mut result__ = ::windows::core::zeroed::<i32>();
9269 (::windows::core::Interface::vtable(self).Rate)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9270 }
9271 pub unsafe fn SetRate(&self, rate: i32) -> ::windows::core::Result<()> {
9272 (::windows::core::Interface::vtable(self).SetRate)(::windows::core::Interface::as_raw(self), rate).ok()
9273 }
9274 pub unsafe fn Volume(&self) -> ::windows::core::Result<i32> {
9275 let mut result__ = ::windows::core::zeroed::<i32>();
9276 (::windows::core::Interface::vtable(self).Volume)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9277 }
9278 pub unsafe fn SetVolume(&self, volume: i32) -> ::windows::core::Result<()> {
9279 (::windows::core::Interface::vtable(self).SetVolume)(::windows::core::Interface::as_raw(self), volume).ok()
9280 }
9281 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
9282 #[cfg(feature = "Win32_Foundation")]
9283 pub unsafe fn SetAllowAudioOutputFormatChangesOnNextSet<P0>(&self, allow: P0) -> ::windows::core::Result<()>
9284 where
9285 P0: ::windows::core::IntoParam<super::super::Foundation::VARIANT_BOOL>,
9286 {
9287 (::windows::core::Interface::vtable(self).SetAllowAudioOutputFormatChangesOnNextSet)(::windows::core::Interface::as_raw(self), allow.into_param().abi()).ok()
9288 }
9289 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
9290 #[cfg(feature = "Win32_Foundation")]
9291 pub unsafe fn AllowAudioOutputFormatChangesOnNextSet(&self) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL> {
9292 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::VARIANT_BOOL>();
9293 (::windows::core::Interface::vtable(self).AllowAudioOutputFormatChangesOnNextSet)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9294 }
9295 pub unsafe fn EventInterests(&self) -> ::windows::core::Result<SpeechVoiceEvents> {
9296 let mut result__ = ::windows::core::zeroed::<SpeechVoiceEvents>();
9297 (::windows::core::Interface::vtable(self).EventInterests)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9298 }
9299 pub unsafe fn SetEventInterests(&self, eventinterestflags: SpeechVoiceEvents) -> ::windows::core::Result<()> {
9300 (::windows::core::Interface::vtable(self).SetEventInterests)(::windows::core::Interface::as_raw(self), eventinterestflags).ok()
9301 }
9302 pub unsafe fn SetPriority(&self, priority: SpeechVoicePriority) -> ::windows::core::Result<()> {
9303 (::windows::core::Interface::vtable(self).SetPriority)(::windows::core::Interface::as_raw(self), priority).ok()
9304 }
9305 pub unsafe fn Priority(&self) -> ::windows::core::Result<SpeechVoicePriority> {
9306 let mut result__ = ::windows::core::zeroed::<SpeechVoicePriority>();
9307 (::windows::core::Interface::vtable(self).Priority)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9308 }
9309 pub unsafe fn SetAlertBoundary(&self, boundary: SpeechVoiceEvents) -> ::windows::core::Result<()> {
9310 (::windows::core::Interface::vtable(self).SetAlertBoundary)(::windows::core::Interface::as_raw(self), boundary).ok()
9311 }
9312 pub unsafe fn AlertBoundary(&self) -> ::windows::core::Result<SpeechVoiceEvents> {
9313 let mut result__ = ::windows::core::zeroed::<SpeechVoiceEvents>();
9314 (::windows::core::Interface::vtable(self).AlertBoundary)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9315 }
9316 pub unsafe fn SetSynchronousSpeakTimeout(&self, mstimeout: i32) -> ::windows::core::Result<()> {
9317 (::windows::core::Interface::vtable(self).SetSynchronousSpeakTimeout)(::windows::core::Interface::as_raw(self), mstimeout).ok()
9318 }
9319 pub unsafe fn SynchronousSpeakTimeout(&self) -> ::windows::core::Result<i32> {
9320 let mut result__ = ::windows::core::zeroed::<i32>();
9321 (::windows::core::Interface::vtable(self).SynchronousSpeakTimeout)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9322 }
9323 pub unsafe fn Speak<P0>(&self, text: P0, flags: SpeechVoiceSpeakFlags) -> ::windows::core::Result<i32>
9324 where
9325 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
9326 {
9327 let mut result__ = ::windows::core::zeroed::<i32>();
9328 (::windows::core::Interface::vtable(self).Speak)(::windows::core::Interface::as_raw(self), text.into_param().abi(), flags, &mut result__).from_abi(result__)
9329 }
9330 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9331 #[cfg(feature = "Win32_System_Com")]
9332 pub unsafe fn SpeakStream<P0>(&self, stream: P0, flags: SpeechVoiceSpeakFlags) -> ::windows::core::Result<i32>
9333 where
9334 P0: ::windows::core::IntoParam<ISpeechBaseStream>,
9335 {
9336 let mut result__ = ::windows::core::zeroed::<i32>();
9337 (::windows::core::Interface::vtable(self).SpeakStream)(::windows::core::Interface::as_raw(self), stream.into_param().abi(), flags, &mut result__).from_abi(result__)
9338 }
9339 pub unsafe fn Pause(&self) -> ::windows::core::Result<()> {
9340 (::windows::core::Interface::vtable(self).Pause)(::windows::core::Interface::as_raw(self)).ok()
9341 }
9342 pub unsafe fn Resume(&self) -> ::windows::core::Result<()> {
9343 (::windows::core::Interface::vtable(self).Resume)(::windows::core::Interface::as_raw(self)).ok()
9344 }
9345 pub unsafe fn Skip<P0>(&self, r#type: P0, numitems: i32) -> ::windows::core::Result<i32>
9346 where
9347 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
9348 {
9349 let mut result__ = ::windows::core::zeroed::<i32>();
9350 (::windows::core::Interface::vtable(self).Skip)(::windows::core::Interface::as_raw(self), r#type.into_param().abi(), numitems, &mut result__).from_abi(result__)
9351 }
9352 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9353 #[cfg(feature = "Win32_System_Com")]
9354 pub unsafe fn GetVoices<P0, P1>(&self, requiredattributes: P0, optionalattributes: P1) -> ::windows::core::Result<ISpeechObjectTokens>
9355 where
9356 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
9357 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
9358 {
9359 let mut result__ = ::windows::core::zeroed::<ISpeechObjectTokens>();
9360 (::windows::core::Interface::vtable(self).GetVoices)(::windows::core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi(result__)
9361 }
9362 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9363 #[cfg(feature = "Win32_System_Com")]
9364 pub unsafe fn GetAudioOutputs<P0, P1>(&self, requiredattributes: P0, optionalattributes: P1) -> ::windows::core::Result<ISpeechObjectTokens>
9365 where
9366 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
9367 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
9368 {
9369 let mut result__ = ::windows::core::zeroed::<ISpeechObjectTokens>();
9370 (::windows::core::Interface::vtable(self).GetAudioOutputs)(::windows::core::Interface::as_raw(self), requiredattributes.into_param().abi(), optionalattributes.into_param().abi(), &mut result__).from_abi(result__)
9371 }
9372 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
9373 #[cfg(feature = "Win32_Foundation")]
9374 pub unsafe fn WaitUntilDone(&self, mstimeout: i32) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL> {
9375 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::VARIANT_BOOL>();
9376 (::windows::core::Interface::vtable(self).WaitUntilDone)(::windows::core::Interface::as_raw(self), mstimeout, &mut result__).from_abi(result__)
9377 }
9378 pub unsafe fn SpeakCompleteEvent(&self) -> ::windows::core::Result<i32> {
9379 let mut result__ = ::windows::core::zeroed::<i32>();
9380 (::windows::core::Interface::vtable(self).SpeakCompleteEvent)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9381 }
9382 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
9383 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9384 pub unsafe fn IsUISupported<P0>(&self, typeofui: P0, extradata: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<super::super::Foundation::VARIANT_BOOL>
9385 where
9386 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
9387 {
9388 let mut result__ = ::windows::core::zeroed::<super::super::Foundation::VARIANT_BOOL>();
9389 (::windows::core::Interface::vtable(self).IsUISupported)(::windows::core::Interface::as_raw(self), typeofui.into_param().abi(), extradata, &mut result__).from_abi(result__)
9390 }
9391 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
9392 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9393 pub unsafe fn DisplayUI<P0, P1>(&self, hwndparent: i32, title: P0, typeofui: P1, extradata: *const super::super::System::Com::VARIANT) -> ::windows::core::Result<()>
9394 where
9395 P0: ::windows::core::IntoParam<::windows::core::BSTR>,
9396 P1: ::windows::core::IntoParam<::windows::core::BSTR>,
9397 {
9398 (::windows::core::Interface::vtable(self).DisplayUI)(::windows::core::Interface::as_raw(self), hwndparent, title.into_param().abi(), typeofui.into_param().abi(), extradata).ok()
9399 }
9400}
9401#[cfg(feature = "Win32_System_Com")]
9402::windows::imp::interface_hierarchy!(ISpeechVoice, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
9403#[cfg(feature = "Win32_System_Com")]
9404impl ::core::cmp::PartialEq for ISpeechVoice {
9405 fn eq(&self, other: &Self) -> bool {
9406 self.0 == other.0
9407 }
9408}
9409#[cfg(feature = "Win32_System_Com")]
9410impl ::core::cmp::Eq for ISpeechVoice {}
9411#[cfg(feature = "Win32_System_Com")]
9412impl ::core::fmt::Debug for ISpeechVoice {
9413 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9414 f.debug_tuple("ISpeechVoice").field(&self.0).finish()
9415 }
9416}
9417#[cfg(feature = "Win32_System_Com")]
9418unsafe impl ::windows::core::Interface for ISpeechVoice {
9419 type Vtable = ISpeechVoice_Vtbl;
9420}
9421#[cfg(feature = "Win32_System_Com")]
9422impl ::core::clone::Clone for ISpeechVoice {
9423 fn clone(&self) -> Self {
9424 Self(self.0.clone())
9425 }
9426}
9427#[cfg(feature = "Win32_System_Com")]
9428unsafe impl ::windows::core::ComInterface for ISpeechVoice {
9429 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x269316d8_57bd_11d2_9eee_00c04f797396);
9430}
9431#[cfg(feature = "Win32_System_Com")]
9432#[repr(C)]
9433#[doc(hidden)]
9434pub struct ISpeechVoice_Vtbl {
9435 pub base__: super::super::System::Com::IDispatch_Vtbl,
9436 #[cfg(feature = "Win32_System_Com")]
9437 pub Status: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, status: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
9438 #[cfg(not(feature = "Win32_System_Com"))]
9439 Status: usize,
9440 #[cfg(feature = "Win32_System_Com")]
9441 pub Voice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, voice: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
9442 #[cfg(not(feature = "Win32_System_Com"))]
9443 Voice: usize,
9444 #[cfg(feature = "Win32_System_Com")]
9445 pub putref_Voice: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, voice: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
9446 #[cfg(not(feature = "Win32_System_Com"))]
9447 putref_Voice: usize,
9448 #[cfg(feature = "Win32_System_Com")]
9449 pub AudioOutput: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audiooutput: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
9450 #[cfg(not(feature = "Win32_System_Com"))]
9451 AudioOutput: usize,
9452 #[cfg(feature = "Win32_System_Com")]
9453 pub putref_AudioOutput: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audiooutput: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
9454 #[cfg(not(feature = "Win32_System_Com"))]
9455 putref_AudioOutput: usize,
9456 #[cfg(feature = "Win32_System_Com")]
9457 pub AudioOutputStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audiooutputstream: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
9458 #[cfg(not(feature = "Win32_System_Com"))]
9459 AudioOutputStream: usize,
9460 #[cfg(feature = "Win32_System_Com")]
9461 pub putref_AudioOutputStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, audiooutputstream: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
9462 #[cfg(not(feature = "Win32_System_Com"))]
9463 putref_AudioOutputStream: usize,
9464 pub Rate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rate: *mut i32) -> ::windows::core::HRESULT,
9465 pub SetRate: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, rate: i32) -> ::windows::core::HRESULT,
9466 pub Volume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, volume: *mut i32) -> ::windows::core::HRESULT,
9467 pub SetVolume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, volume: i32) -> ::windows::core::HRESULT,
9468 #[cfg(feature = "Win32_Foundation")]
9469 pub SetAllowAudioOutputFormatChangesOnNextSet: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, allow: super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
9470 #[cfg(not(feature = "Win32_Foundation"))]
9471 SetAllowAudioOutputFormatChangesOnNextSet: usize,
9472 #[cfg(feature = "Win32_Foundation")]
9473 pub AllowAudioOutputFormatChangesOnNextSet: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, allow: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
9474 #[cfg(not(feature = "Win32_Foundation"))]
9475 AllowAudioOutputFormatChangesOnNextSet: usize,
9476 pub EventInterests: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventinterestflags: *mut SpeechVoiceEvents) -> ::windows::core::HRESULT,
9477 pub SetEventInterests: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, eventinterestflags: SpeechVoiceEvents) -> ::windows::core::HRESULT,
9478 pub SetPriority: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, priority: SpeechVoicePriority) -> ::windows::core::HRESULT,
9479 pub Priority: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, priority: *mut SpeechVoicePriority) -> ::windows::core::HRESULT,
9480 pub SetAlertBoundary: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, boundary: SpeechVoiceEvents) -> ::windows::core::HRESULT,
9481 pub AlertBoundary: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, boundary: *mut SpeechVoiceEvents) -> ::windows::core::HRESULT,
9482 pub SetSynchronousSpeakTimeout: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mstimeout: i32) -> ::windows::core::HRESULT,
9483 pub SynchronousSpeakTimeout: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mstimeout: *mut i32) -> ::windows::core::HRESULT,
9484 pub Speak: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, text: ::std::mem::MaybeUninit<::windows::core::BSTR>, flags: SpeechVoiceSpeakFlags, streamnumber: *mut i32) -> ::windows::core::HRESULT,
9485 #[cfg(feature = "Win32_System_Com")]
9486 pub SpeakStream: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, stream: *mut ::core::ffi::c_void, flags: SpeechVoiceSpeakFlags, streamnumber: *mut i32) -> ::windows::core::HRESULT,
9487 #[cfg(not(feature = "Win32_System_Com"))]
9488 SpeakStream: usize,
9489 pub Pause: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
9490 pub Resume: unsafe extern "system" fn(this: *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
9491 pub Skip: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, r#type: ::std::mem::MaybeUninit<::windows::core::BSTR>, numitems: i32, numskipped: *mut i32) -> ::windows::core::HRESULT,
9492 #[cfg(feature = "Win32_System_Com")]
9493 pub GetVoices: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, requiredattributes: ::std::mem::MaybeUninit<::windows::core::BSTR>, optionalattributes: ::std::mem::MaybeUninit<::windows::core::BSTR>, objecttokens: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
9494 #[cfg(not(feature = "Win32_System_Com"))]
9495 GetVoices: usize,
9496 #[cfg(feature = "Win32_System_Com")]
9497 pub GetAudioOutputs: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, requiredattributes: ::std::mem::MaybeUninit<::windows::core::BSTR>, optionalattributes: ::std::mem::MaybeUninit<::windows::core::BSTR>, objecttokens: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
9498 #[cfg(not(feature = "Win32_System_Com"))]
9499 GetAudioOutputs: usize,
9500 #[cfg(feature = "Win32_Foundation")]
9501 pub WaitUntilDone: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, mstimeout: i32, done: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
9502 #[cfg(not(feature = "Win32_Foundation"))]
9503 WaitUntilDone: usize,
9504 pub SpeakCompleteEvent: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, handle: *mut i32) -> ::windows::core::HRESULT,
9505 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9506 pub IsUISupported: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, typeofui: ::std::mem::MaybeUninit<::windows::core::BSTR>, extradata: *const super::super::System::Com::VARIANT, supported: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
9507 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
9508 IsUISupported: usize,
9509 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9510 pub DisplayUI: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hwndparent: i32, title: ::std::mem::MaybeUninit<::windows::core::BSTR>, typeofui: ::std::mem::MaybeUninit<::windows::core::BSTR>, extradata: *const super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
9511 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
9512 DisplayUI: usize,
9513}
9514#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
9515#[cfg(feature = "Win32_System_Com")]
9516#[repr(transparent)]
9517pub struct ISpeechVoiceStatus(::windows::core::IUnknown);
9518#[cfg(feature = "Win32_System_Com")]
9519impl ISpeechVoiceStatus {
9520 pub unsafe fn CurrentStreamNumber(&self) -> ::windows::core::Result<i32> {
9521 let mut result__ = ::windows::core::zeroed::<i32>();
9522 (::windows::core::Interface::vtable(self).CurrentStreamNumber)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9523 }
9524 pub unsafe fn LastStreamNumberQueued(&self) -> ::windows::core::Result<i32> {
9525 let mut result__ = ::windows::core::zeroed::<i32>();
9526 (::windows::core::Interface::vtable(self).LastStreamNumberQueued)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9527 }
9528 pub unsafe fn LastHResult(&self) -> ::windows::core::Result<i32> {
9529 let mut result__ = ::windows::core::zeroed::<i32>();
9530 (::windows::core::Interface::vtable(self).LastHResult)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9531 }
9532 pub unsafe fn RunningState(&self) -> ::windows::core::Result<SpeechRunState> {
9533 let mut result__ = ::windows::core::zeroed::<SpeechRunState>();
9534 (::windows::core::Interface::vtable(self).RunningState)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9535 }
9536 pub unsafe fn InputWordPosition(&self) -> ::windows::core::Result<i32> {
9537 let mut result__ = ::windows::core::zeroed::<i32>();
9538 (::windows::core::Interface::vtable(self).InputWordPosition)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9539 }
9540 pub unsafe fn InputWordLength(&self) -> ::windows::core::Result<i32> {
9541 let mut result__ = ::windows::core::zeroed::<i32>();
9542 (::windows::core::Interface::vtable(self).InputWordLength)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9543 }
9544 pub unsafe fn InputSentencePosition(&self) -> ::windows::core::Result<i32> {
9545 let mut result__ = ::windows::core::zeroed::<i32>();
9546 (::windows::core::Interface::vtable(self).InputSentencePosition)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9547 }
9548 pub unsafe fn InputSentenceLength(&self) -> ::windows::core::Result<i32> {
9549 let mut result__ = ::windows::core::zeroed::<i32>();
9550 (::windows::core::Interface::vtable(self).InputSentenceLength)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9551 }
9552 pub unsafe fn LastBookmark(&self) -> ::windows::core::Result<::windows::core::BSTR> {
9553 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
9554 (::windows::core::Interface::vtable(self).LastBookmark)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9555 }
9556 pub unsafe fn LastBookmarkId(&self) -> ::windows::core::Result<i32> {
9557 let mut result__ = ::windows::core::zeroed::<i32>();
9558 (::windows::core::Interface::vtable(self).LastBookmarkId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9559 }
9560 pub unsafe fn PhonemeId(&self) -> ::windows::core::Result<i16> {
9561 let mut result__ = ::windows::core::zeroed::<i16>();
9562 (::windows::core::Interface::vtable(self).PhonemeId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9563 }
9564 pub unsafe fn VisemeId(&self) -> ::windows::core::Result<i16> {
9565 let mut result__ = ::windows::core::zeroed::<i16>();
9566 (::windows::core::Interface::vtable(self).VisemeId)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9567 }
9568}
9569#[cfg(feature = "Win32_System_Com")]
9570::windows::imp::interface_hierarchy!(ISpeechVoiceStatus, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
9571#[cfg(feature = "Win32_System_Com")]
9572impl ::core::cmp::PartialEq for ISpeechVoiceStatus {
9573 fn eq(&self, other: &Self) -> bool {
9574 self.0 == other.0
9575 }
9576}
9577#[cfg(feature = "Win32_System_Com")]
9578impl ::core::cmp::Eq for ISpeechVoiceStatus {}
9579#[cfg(feature = "Win32_System_Com")]
9580impl ::core::fmt::Debug for ISpeechVoiceStatus {
9581 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9582 f.debug_tuple("ISpeechVoiceStatus").field(&self.0).finish()
9583 }
9584}
9585#[cfg(feature = "Win32_System_Com")]
9586unsafe impl ::windows::core::Interface for ISpeechVoiceStatus {
9587 type Vtable = ISpeechVoiceStatus_Vtbl;
9588}
9589#[cfg(feature = "Win32_System_Com")]
9590impl ::core::clone::Clone for ISpeechVoiceStatus {
9591 fn clone(&self) -> Self {
9592 Self(self.0.clone())
9593 }
9594}
9595#[cfg(feature = "Win32_System_Com")]
9596unsafe impl ::windows::core::ComInterface for ISpeechVoiceStatus {
9597 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8be47b07_57f6_11d2_9eee_00c04f797396);
9598}
9599#[cfg(feature = "Win32_System_Com")]
9600#[repr(C)]
9601#[doc(hidden)]
9602pub struct ISpeechVoiceStatus_Vtbl {
9603 pub base__: super::super::System::Com::IDispatch_Vtbl,
9604 pub CurrentStreamNumber: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, streamnumber: *mut i32) -> ::windows::core::HRESULT,
9605 pub LastStreamNumberQueued: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, streamnumber: *mut i32) -> ::windows::core::HRESULT,
9606 pub LastHResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, hresult: *mut i32) -> ::windows::core::HRESULT,
9607 pub RunningState: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, state: *mut SpeechRunState) -> ::windows::core::HRESULT,
9608 pub InputWordPosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, position: *mut i32) -> ::windows::core::HRESULT,
9609 pub InputWordLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, length: *mut i32) -> ::windows::core::HRESULT,
9610 pub InputSentencePosition: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, position: *mut i32) -> ::windows::core::HRESULT,
9611 pub InputSentenceLength: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, length: *mut i32) -> ::windows::core::HRESULT,
9612 pub LastBookmark: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bookmark: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
9613 pub LastBookmarkId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bookmarkid: *mut i32) -> ::windows::core::HRESULT,
9614 pub PhonemeId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, phoneid: *mut i16) -> ::windows::core::HRESULT,
9615 pub VisemeId: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, visemeid: *mut i16) -> ::windows::core::HRESULT,
9616}
9617#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
9618#[cfg(feature = "Win32_System_Com")]
9619#[repr(transparent)]
9620pub struct ISpeechWaveFormatEx(::windows::core::IUnknown);
9621#[cfg(feature = "Win32_System_Com")]
9622impl ISpeechWaveFormatEx {
9623 pub unsafe fn FormatTag(&self) -> ::windows::core::Result<i16> {
9624 let mut result__ = ::windows::core::zeroed::<i16>();
9625 (::windows::core::Interface::vtable(self).FormatTag)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9626 }
9627 pub unsafe fn SetFormatTag(&self, formattag: i16) -> ::windows::core::Result<()> {
9628 (::windows::core::Interface::vtable(self).SetFormatTag)(::windows::core::Interface::as_raw(self), formattag).ok()
9629 }
9630 pub unsafe fn Channels(&self) -> ::windows::core::Result<i16> {
9631 let mut result__ = ::windows::core::zeroed::<i16>();
9632 (::windows::core::Interface::vtable(self).Channels)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9633 }
9634 pub unsafe fn SetChannels(&self, channels: i16) -> ::windows::core::Result<()> {
9635 (::windows::core::Interface::vtable(self).SetChannels)(::windows::core::Interface::as_raw(self), channels).ok()
9636 }
9637 pub unsafe fn SamplesPerSec(&self) -> ::windows::core::Result<i32> {
9638 let mut result__ = ::windows::core::zeroed::<i32>();
9639 (::windows::core::Interface::vtable(self).SamplesPerSec)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9640 }
9641 pub unsafe fn SetSamplesPerSec(&self, samplespersec: i32) -> ::windows::core::Result<()> {
9642 (::windows::core::Interface::vtable(self).SetSamplesPerSec)(::windows::core::Interface::as_raw(self), samplespersec).ok()
9643 }
9644 pub unsafe fn AvgBytesPerSec(&self) -> ::windows::core::Result<i32> {
9645 let mut result__ = ::windows::core::zeroed::<i32>();
9646 (::windows::core::Interface::vtable(self).AvgBytesPerSec)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9647 }
9648 pub unsafe fn SetAvgBytesPerSec(&self, avgbytespersec: i32) -> ::windows::core::Result<()> {
9649 (::windows::core::Interface::vtable(self).SetAvgBytesPerSec)(::windows::core::Interface::as_raw(self), avgbytespersec).ok()
9650 }
9651 pub unsafe fn BlockAlign(&self) -> ::windows::core::Result<i16> {
9652 let mut result__ = ::windows::core::zeroed::<i16>();
9653 (::windows::core::Interface::vtable(self).BlockAlign)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9654 }
9655 pub unsafe fn SetBlockAlign(&self, blockalign: i16) -> ::windows::core::Result<()> {
9656 (::windows::core::Interface::vtable(self).SetBlockAlign)(::windows::core::Interface::as_raw(self), blockalign).ok()
9657 }
9658 pub unsafe fn BitsPerSample(&self) -> ::windows::core::Result<i16> {
9659 let mut result__ = ::windows::core::zeroed::<i16>();
9660 (::windows::core::Interface::vtable(self).BitsPerSample)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9661 }
9662 pub unsafe fn SetBitsPerSample(&self, bitspersample: i16) -> ::windows::core::Result<()> {
9663 (::windows::core::Interface::vtable(self).SetBitsPerSample)(::windows::core::Interface::as_raw(self), bitspersample).ok()
9664 }
9665 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
9666 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9667 pub unsafe fn ExtraData(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
9668 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
9669 (::windows::core::Interface::vtable(self).ExtraData)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9670 }
9671 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
9672 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9673 pub unsafe fn SetExtraData(&self, extradata: super::super::System::Com::VARIANT) -> ::windows::core::Result<()> {
9674 (::windows::core::Interface::vtable(self).SetExtraData)(::windows::core::Interface::as_raw(self), ::core::mem::transmute(extradata)).ok()
9675 }
9676}
9677#[cfg(feature = "Win32_System_Com")]
9678::windows::imp::interface_hierarchy!(ISpeechWaveFormatEx, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
9679#[cfg(feature = "Win32_System_Com")]
9680impl ::core::cmp::PartialEq for ISpeechWaveFormatEx {
9681 fn eq(&self, other: &Self) -> bool {
9682 self.0 == other.0
9683 }
9684}
9685#[cfg(feature = "Win32_System_Com")]
9686impl ::core::cmp::Eq for ISpeechWaveFormatEx {}
9687#[cfg(feature = "Win32_System_Com")]
9688impl ::core::fmt::Debug for ISpeechWaveFormatEx {
9689 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9690 f.debug_tuple("ISpeechWaveFormatEx").field(&self.0).finish()
9691 }
9692}
9693#[cfg(feature = "Win32_System_Com")]
9694unsafe impl ::windows::core::Interface for ISpeechWaveFormatEx {
9695 type Vtable = ISpeechWaveFormatEx_Vtbl;
9696}
9697#[cfg(feature = "Win32_System_Com")]
9698impl ::core::clone::Clone for ISpeechWaveFormatEx {
9699 fn clone(&self) -> Self {
9700 Self(self.0.clone())
9701 }
9702}
9703#[cfg(feature = "Win32_System_Com")]
9704unsafe impl ::windows::core::ComInterface for ISpeechWaveFormatEx {
9705 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7a1ef0d5_1581_4741_88e4_209a49f11a10);
9706}
9707#[cfg(feature = "Win32_System_Com")]
9708#[repr(C)]
9709#[doc(hidden)]
9710pub struct ISpeechWaveFormatEx_Vtbl {
9711 pub base__: super::super::System::Com::IDispatch_Vtbl,
9712 pub FormatTag: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, formattag: *mut i16) -> ::windows::core::HRESULT,
9713 pub SetFormatTag: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, formattag: i16) -> ::windows::core::HRESULT,
9714 pub Channels: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, channels: *mut i16) -> ::windows::core::HRESULT,
9715 pub SetChannels: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, channels: i16) -> ::windows::core::HRESULT,
9716 pub SamplesPerSec: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, samplespersec: *mut i32) -> ::windows::core::HRESULT,
9717 pub SetSamplesPerSec: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, samplespersec: i32) -> ::windows::core::HRESULT,
9718 pub AvgBytesPerSec: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, avgbytespersec: *mut i32) -> ::windows::core::HRESULT,
9719 pub SetAvgBytesPerSec: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, avgbytespersec: i32) -> ::windows::core::HRESULT,
9720 pub BlockAlign: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, blockalign: *mut i16) -> ::windows::core::HRESULT,
9721 pub SetBlockAlign: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, blockalign: i16) -> ::windows::core::HRESULT,
9722 pub BitsPerSample: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bitspersample: *mut i16) -> ::windows::core::HRESULT,
9723 pub SetBitsPerSample: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, bitspersample: i16) -> ::windows::core::HRESULT,
9724 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9725 pub ExtraData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, extradata: *mut super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
9726 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
9727 ExtraData: usize,
9728 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9729 pub SetExtraData: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, extradata: super::super::System::Com::VARIANT) -> ::windows::core::HRESULT,
9730 #[cfg(not(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole")))]
9731 SetExtraData: usize,
9732}
9733#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
9734#[cfg(feature = "Win32_System_Com")]
9735#[repr(transparent)]
9736pub struct ISpeechXMLRecoResult(::windows::core::IUnknown);
9737#[cfg(feature = "Win32_System_Com")]
9738impl ISpeechXMLRecoResult {
9739 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9740 #[cfg(feature = "Win32_System_Com")]
9741 pub unsafe fn RecoContext(&self) -> ::windows::core::Result<ISpeechRecoContext> {
9742 let mut result__ = ::windows::core::zeroed::<ISpeechRecoContext>();
9743 (::windows::core::Interface::vtable(self).base__.RecoContext)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9744 }
9745 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9746 #[cfg(feature = "Win32_System_Com")]
9747 pub unsafe fn Times(&self) -> ::windows::core::Result<ISpeechRecoResultTimes> {
9748 let mut result__ = ::windows::core::zeroed::<ISpeechRecoResultTimes>();
9749 (::windows::core::Interface::vtable(self).base__.Times)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9750 }
9751 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9752 #[cfg(feature = "Win32_System_Com")]
9753 pub unsafe fn putref_AudioFormat<P0>(&self, format: P0) -> ::windows::core::Result<()>
9754 where
9755 P0: ::windows::core::IntoParam<ISpeechAudioFormat>,
9756 {
9757 (::windows::core::Interface::vtable(self).base__.putref_AudioFormat)(::windows::core::Interface::as_raw(self), format.into_param().abi()).ok()
9758 }
9759 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9760 #[cfg(feature = "Win32_System_Com")]
9761 pub unsafe fn AudioFormat(&self) -> ::windows::core::Result<ISpeechAudioFormat> {
9762 let mut result__ = ::windows::core::zeroed::<ISpeechAudioFormat>();
9763 (::windows::core::Interface::vtable(self).base__.AudioFormat)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9764 }
9765 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9766 #[cfg(feature = "Win32_System_Com")]
9767 pub unsafe fn PhraseInfo(&self) -> ::windows::core::Result<ISpeechPhraseInfo> {
9768 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseInfo>();
9769 (::windows::core::Interface::vtable(self).base__.PhraseInfo)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9770 }
9771 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9772 #[cfg(feature = "Win32_System_Com")]
9773 pub unsafe fn Alternates(&self, requestcount: i32, startelement: i32, elements: i32) -> ::windows::core::Result<ISpeechPhraseAlternates> {
9774 let mut result__ = ::windows::core::zeroed::<ISpeechPhraseAlternates>();
9775 (::windows::core::Interface::vtable(self).base__.Alternates)(::windows::core::Interface::as_raw(self), requestcount, startelement, elements, &mut result__).from_abi(result__)
9776 }
9777 #[doc = "*Required features: `\"Win32_System_Com\"`*"]
9778 #[cfg(feature = "Win32_System_Com")]
9779 pub unsafe fn Audio(&self, startelement: i32, elements: i32) -> ::windows::core::Result<ISpeechMemoryStream> {
9780 let mut result__ = ::windows::core::zeroed::<ISpeechMemoryStream>();
9781 (::windows::core::Interface::vtable(self).base__.Audio)(::windows::core::Interface::as_raw(self), startelement, elements, &mut result__).from_abi(result__)
9782 }
9783 pub unsafe fn SpeakAudio(&self, startelement: i32, elements: i32, flags: SpeechVoiceSpeakFlags) -> ::windows::core::Result<i32> {
9784 let mut result__ = ::windows::core::zeroed::<i32>();
9785 (::windows::core::Interface::vtable(self).base__.SpeakAudio)(::windows::core::Interface::as_raw(self), startelement, elements, flags, &mut result__).from_abi(result__)
9786 }
9787 #[doc = "*Required features: `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
9788 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
9789 pub unsafe fn SaveToMemory(&self) -> ::windows::core::Result<super::super::System::Com::VARIANT> {
9790 let mut result__ = ::windows::core::zeroed::<super::super::System::Com::VARIANT>();
9791 (::windows::core::Interface::vtable(self).base__.SaveToMemory)(::windows::core::Interface::as_raw(self), &mut result__).from_abi(result__)
9792 }
9793 pub unsafe fn DiscardResultInfo(&self, valuetypes: SpeechDiscardType) -> ::windows::core::Result<()> {
9794 (::windows::core::Interface::vtable(self).base__.DiscardResultInfo)(::windows::core::Interface::as_raw(self), valuetypes).ok()
9795 }
9796 pub unsafe fn GetXMLResult(&self, options: SPXMLRESULTOPTIONS) -> ::windows::core::Result<::windows::core::BSTR> {
9797 let mut result__ = ::windows::core::zeroed::<::windows::core::BSTR>();
9798 (::windows::core::Interface::vtable(self).GetXMLResult)(::windows::core::Interface::as_raw(self), options, &mut result__).from_abi(result__)
9799 }
9800 #[doc = "*Required features: `\"Win32_Foundation\"`*"]
9801 #[cfg(feature = "Win32_Foundation")]
9802 pub unsafe fn GetXMLErrorInfo(&self, linenumber: *mut i32, scriptline: *mut ::windows::core::BSTR, source: *mut ::windows::core::BSTR, description: *mut ::windows::core::BSTR, resultcode: *mut i32, iserror: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::Result<()> {
9803 (::windows::core::Interface::vtable(self).GetXMLErrorInfo)(::windows::core::Interface::as_raw(self), linenumber, ::core::mem::transmute(scriptline), ::core::mem::transmute(source), ::core::mem::transmute(description), resultcode, iserror).ok()
9804 }
9805}
9806#[cfg(feature = "Win32_System_Com")]
9807::windows::imp::interface_hierarchy!(ISpeechXMLRecoResult, ::windows::core::IUnknown, super::super::System::Com::IDispatch, ISpeechRecoResult);
9808#[cfg(feature = "Win32_System_Com")]
9809impl ::core::cmp::PartialEq for ISpeechXMLRecoResult {
9810 fn eq(&self, other: &Self) -> bool {
9811 self.0 == other.0
9812 }
9813}
9814#[cfg(feature = "Win32_System_Com")]
9815impl ::core::cmp::Eq for ISpeechXMLRecoResult {}
9816#[cfg(feature = "Win32_System_Com")]
9817impl ::core::fmt::Debug for ISpeechXMLRecoResult {
9818 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9819 f.debug_tuple("ISpeechXMLRecoResult").field(&self.0).finish()
9820 }
9821}
9822#[cfg(feature = "Win32_System_Com")]
9823unsafe impl ::windows::core::Interface for ISpeechXMLRecoResult {
9824 type Vtable = ISpeechXMLRecoResult_Vtbl;
9825}
9826#[cfg(feature = "Win32_System_Com")]
9827impl ::core::clone::Clone for ISpeechXMLRecoResult {
9828 fn clone(&self) -> Self {
9829 Self(self.0.clone())
9830 }
9831}
9832#[cfg(feature = "Win32_System_Com")]
9833unsafe impl ::windows::core::ComInterface for ISpeechXMLRecoResult {
9834 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xaaec54af_8f85_4924_944d_b79d39d72e19);
9835}
9836#[cfg(feature = "Win32_System_Com")]
9837#[repr(C)]
9838#[doc(hidden)]
9839pub struct ISpeechXMLRecoResult_Vtbl {
9840 pub base__: ISpeechRecoResult_Vtbl,
9841 pub GetXMLResult: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, options: SPXMLRESULTOPTIONS, presult: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>) -> ::windows::core::HRESULT,
9842 #[cfg(feature = "Win32_Foundation")]
9843 pub GetXMLErrorInfo: unsafe extern "system" fn(this: *mut ::core::ffi::c_void, linenumber: *mut i32, scriptline: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, source: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, description: *mut ::std::mem::MaybeUninit<::windows::core::BSTR>, resultcode: *mut i32, iserror: *mut super::super::Foundation::VARIANT_BOOL) -> ::windows::core::HRESULT,
9844 #[cfg(not(feature = "Win32_Foundation"))]
9845 GetXMLErrorInfo: usize,
9846}
9847#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
9848#[cfg(feature = "Win32_System_Com")]
9849#[repr(transparent)]
9850pub struct _ISpeechRecoContextEvents(::windows::core::IUnknown);
9851#[cfg(feature = "Win32_System_Com")]
9852impl _ISpeechRecoContextEvents {}
9853#[cfg(feature = "Win32_System_Com")]
9854::windows::imp::interface_hierarchy!(_ISpeechRecoContextEvents, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
9855#[cfg(feature = "Win32_System_Com")]
9856impl ::core::cmp::PartialEq for _ISpeechRecoContextEvents {
9857 fn eq(&self, other: &Self) -> bool {
9858 self.0 == other.0
9859 }
9860}
9861#[cfg(feature = "Win32_System_Com")]
9862impl ::core::cmp::Eq for _ISpeechRecoContextEvents {}
9863#[cfg(feature = "Win32_System_Com")]
9864impl ::core::fmt::Debug for _ISpeechRecoContextEvents {
9865 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9866 f.debug_tuple("_ISpeechRecoContextEvents").field(&self.0).finish()
9867 }
9868}
9869#[cfg(feature = "Win32_System_Com")]
9870unsafe impl ::windows::core::Interface for _ISpeechRecoContextEvents {
9871 type Vtable = _ISpeechRecoContextEvents_Vtbl;
9872}
9873#[cfg(feature = "Win32_System_Com")]
9874impl ::core::clone::Clone for _ISpeechRecoContextEvents {
9875 fn clone(&self) -> Self {
9876 Self(self.0.clone())
9877 }
9878}
9879#[cfg(feature = "Win32_System_Com")]
9880unsafe impl ::windows::core::ComInterface for _ISpeechRecoContextEvents {
9881 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7b8fcb42_0e9d_4f00_a048_7b04d6179d3d);
9882}
9883#[cfg(feature = "Win32_System_Com")]
9884#[repr(C)]
9885#[doc(hidden)]
9886pub struct _ISpeechRecoContextEvents_Vtbl {
9887 pub base__: super::super::System::Com::IDispatch_Vtbl,
9888}
9889#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_System_Com\"`*"]
9890#[cfg(feature = "Win32_System_Com")]
9891#[repr(transparent)]
9892pub struct _ISpeechVoiceEvents(::windows::core::IUnknown);
9893#[cfg(feature = "Win32_System_Com")]
9894impl _ISpeechVoiceEvents {}
9895#[cfg(feature = "Win32_System_Com")]
9896::windows::imp::interface_hierarchy!(_ISpeechVoiceEvents, ::windows::core::IUnknown, super::super::System::Com::IDispatch);
9897#[cfg(feature = "Win32_System_Com")]
9898impl ::core::cmp::PartialEq for _ISpeechVoiceEvents {
9899 fn eq(&self, other: &Self) -> bool {
9900 self.0 == other.0
9901 }
9902}
9903#[cfg(feature = "Win32_System_Com")]
9904impl ::core::cmp::Eq for _ISpeechVoiceEvents {}
9905#[cfg(feature = "Win32_System_Com")]
9906impl ::core::fmt::Debug for _ISpeechVoiceEvents {
9907 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
9908 f.debug_tuple("_ISpeechVoiceEvents").field(&self.0).finish()
9909 }
9910}
9911#[cfg(feature = "Win32_System_Com")]
9912unsafe impl ::windows::core::Interface for _ISpeechVoiceEvents {
9913 type Vtable = _ISpeechVoiceEvents_Vtbl;
9914}
9915#[cfg(feature = "Win32_System_Com")]
9916impl ::core::clone::Clone for _ISpeechVoiceEvents {
9917 fn clone(&self) -> Self {
9918 Self(self.0.clone())
9919 }
9920}
9921#[cfg(feature = "Win32_System_Com")]
9922unsafe impl ::windows::core::ComInterface for _ISpeechVoiceEvents {
9923 const IID: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa372acd1_3bef_4bbd_8ffb_cb3e2b416af8);
9924}
9925#[cfg(feature = "Win32_System_Com")]
9926#[repr(C)]
9927#[doc(hidden)]
9928pub struct _ISpeechVoiceEvents_Vtbl {
9929 pub base__: super::super::System::Com::IDispatch_Vtbl,
9930}
9931#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9932pub const DEFAULT_WEIGHT: u32 = 1u32;
9933#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9934pub const SAPI_ERROR_BASE: u32 = 20480u32;
9935#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9936pub const SPALTERNATESCLSID: ::windows::core::PCWSTR = ::windows::w!("AlternatesCLSID");
9937#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9938pub const SPCAT_APPLEXICONS: ::windows::core::PCWSTR = ::windows::w!("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AppLexicons");
9939#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9940pub const SPCAT_AUDIOIN: ::windows::core::PCWSTR = ::windows::w!("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioInput");
9941#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9942pub const SPCAT_AUDIOOUT: ::windows::core::PCWSTR = ::windows::w!("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioOutput");
9943#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9944pub const SPCAT_PHONECONVERTERS: ::windows::core::PCWSTR = ::windows::w!("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\PhoneConverters");
9945#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9946pub const SPCAT_RECOGNIZERS: ::windows::core::PCWSTR = ::windows::w!("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Recognizers");
9947#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9948pub const SPCAT_RECOPROFILES: ::windows::core::PCWSTR = ::windows::w!("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\RecoProfiles");
9949#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9950pub const SPCAT_TEXTNORMALIZERS: ::windows::core::PCWSTR = ::windows::w!("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\TextNormalizers");
9951#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9952pub const SPCAT_VOICES: ::windows::core::PCWSTR = ::windows::w!("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\Voices");
9953#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9954pub const SPCURRENT_USER_LEXICON_TOKEN_ID: ::windows::core::PCWSTR = ::windows::w!("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\CurrentUserLexicon");
9955#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9956pub const SPCURRENT_USER_SHORTCUT_TOKEN_ID: ::windows::core::PCWSTR = ::windows::w!("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech\\CurrentUserShortcut");
9957#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9958pub const SPDICTATION: ::windows::core::PCWSTR = ::windows::w!("*");
9959#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9960pub const SPDUI_AddRemoveWord: ::windows::core::PCWSTR = ::windows::w!("AddRemoveWord");
9961#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9962pub const SPDUI_AudioProperties: ::windows::core::PCWSTR = ::windows::w!("AudioProperties");
9963#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9964pub const SPDUI_AudioVolume: ::windows::core::PCWSTR = ::windows::w!("AudioVolume");
9965#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9966pub const SPDUI_EngineProperties: ::windows::core::PCWSTR = ::windows::w!("EngineProperties");
9967#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9968pub const SPDUI_MicTraining: ::windows::core::PCWSTR = ::windows::w!("MicTraining");
9969#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9970pub const SPDUI_RecoProfileProperties: ::windows::core::PCWSTR = ::windows::w!("RecoProfileProperties");
9971#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9972pub const SPDUI_ShareData: ::windows::core::PCWSTR = ::windows::w!("ShareData");
9973#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9974pub const SPDUI_Tutorial: ::windows::core::PCWSTR = ::windows::w!("Tutorial");
9975#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9976pub const SPDUI_UserEnrollment: ::windows::core::PCWSTR = ::windows::w!("UserEnrollment");
9977#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9978pub const SPDUI_UserTraining: ::windows::core::PCWSTR = ::windows::w!("UserTraining");
9979#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9980pub const SPINFDICTATION: ::windows::core::PCWSTR = ::windows::w!("*+");
9981#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9982pub const SPMMSYS_AUDIO_IN_TOKEN_ID: ::windows::core::PCWSTR = ::windows::w!("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioInput\\TokenEnums\\MMAudioIn\\");
9983#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9984pub const SPMMSYS_AUDIO_OUT_TOKEN_ID: ::windows::core::PCWSTR = ::windows::w!("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\AudioOutput\\TokenEnums\\MMAudioOut\\");
9985#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9986pub const SPPROP_ADAPTATION_ON: ::windows::core::PCWSTR = ::windows::w!("AdaptationOn");
9987#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9988pub const SPPROP_COMPLEX_RESPONSE_SPEED: ::windows::core::PCWSTR = ::windows::w!("ComplexResponseSpeed");
9989#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9990pub const SPPROP_HIGH_CONFIDENCE_THRESHOLD: ::windows::core::PCWSTR = ::windows::w!("HighConfidenceThreshold");
9991#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9992pub const SPPROP_LOW_CONFIDENCE_THRESHOLD: ::windows::core::PCWSTR = ::windows::w!("LowConfidenceThreshold");
9993#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9994pub const SPPROP_NORMAL_CONFIDENCE_THRESHOLD: ::windows::core::PCWSTR = ::windows::w!("NormalConfidenceThreshold");
9995#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9996pub const SPPROP_PERSISTED_BACKGROUND_ADAPTATION: ::windows::core::PCWSTR = ::windows::w!("PersistedBackgroundAdaptation");
9997#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
9998pub const SPPROP_PERSISTED_LANGUAGE_MODEL_ADAPTATION: ::windows::core::PCWSTR = ::windows::w!("PersistedLanguageModelAdaptation");
9999#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10000pub const SPPROP_RESOURCE_USAGE: ::windows::core::PCWSTR = ::windows::w!("ResourceUsage");
10001#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10002pub const SPPROP_RESPONSE_SPEED: ::windows::core::PCWSTR = ::windows::w!("ResponseSpeed");
10003#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10004pub const SPPROP_UX_IS_LISTENING: ::windows::core::PCWSTR = ::windows::w!("UXIsListening");
10005#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10006pub const SPRECOEXTENSION: ::windows::core::PCWSTR = ::windows::w!("RecoExtension");
10007#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10008pub const SPREG_LOCAL_MACHINE_ROOT: ::windows::core::PCWSTR = ::windows::w!("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech");
10009#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10010pub const SPREG_SAFE_USER_TOKENS: ::windows::core::PCWSTR = ::windows::w!("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Speech\\UserTokens");
10011#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10012pub const SPREG_USER_ROOT: ::windows::core::PCWSTR = ::windows::w!("HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Speech");
10013#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10014pub const SPRP_NORMAL: u32 = 0u32;
10015#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10016pub const SPTOKENKEY_ATTRIBUTES: ::windows::core::PCWSTR = ::windows::w!("Attributes");
10017#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10018pub const SPTOKENKEY_AUDIO_LATENCY_TRUNCATE: ::windows::core::PCWSTR = ::windows::w!("LatencyTruncateThreshold");
10019#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10020pub const SPTOKENKEY_AUDIO_LATENCY_UPDATE_INTERVAL: ::windows::core::PCWSTR = ::windows::w!("LatencyUpdateInterval");
10021#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10022pub const SPTOKENKEY_AUDIO_LATENCY_WARNING: ::windows::core::PCWSTR = ::windows::w!("LatencyWarningThreshold");
10023#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10024pub const SPTOKENKEY_FILES: ::windows::core::PCWSTR = ::windows::w!("Files");
10025#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10026pub const SPTOKENKEY_RETAINEDAUDIO: ::windows::core::PCWSTR = ::windows::w!("SecondsPerRetainedAudioEvent");
10027#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10028pub const SPTOKENKEY_UI: ::windows::core::PCWSTR = ::windows::w!("UI");
10029#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10030pub const SPTOKENVALUE_CLSID: ::windows::core::PCWSTR = ::windows::w!("CLSID");
10031#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10032pub const SPTOPIC_SPELLING: ::windows::core::PCWSTR = ::windows::w!("Spelling");
10033#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10034pub const SPVOICECATEGORY_TTSRATE: ::windows::core::PCWSTR = ::windows::w!("DefaultTTSRate");
10035#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10036pub const SPWILDCARD: ::windows::core::PCWSTR = ::windows::w!("...");
10037#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10038pub const SP_EMULATE_RESULT: u32 = 1073741824u32;
10039#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10040pub const SP_LOW_CONFIDENCE: i32 = -1i32;
10041#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10042pub const SP_MAX_LANGIDS: u32 = 20u32;
10043#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10044pub const SP_MAX_PRON_LENGTH: u32 = 384u32;
10045#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10046pub const SP_MAX_WORD_LENGTH: u32 = 128u32;
10047#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10048pub const SP_NORMAL_CONFIDENCE: u32 = 0u32;
10049#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10050pub const SP_STREAMPOS_ASAP: u32 = 0u32;
10051#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10052pub const SP_STREAMPOS_REALTIME: i32 = -1i32;
10053#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10054pub const SR_LOCALIZED_DESCRIPTION: ::windows::core::PCWSTR = ::windows::w!("Description");
10055#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10056pub const SpAudioFormat: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9ef96870_e160_4792_820d_48cf0649e4ec);
10057#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10058pub const SpCompressedLexicon: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x90903716_2f42_11d3_9c26_00c04f8ef87c);
10059#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10060pub const SpCustomStream: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x8dbef13f_1948_4aa8_8cf0_048eebed95d8);
10061#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10062pub const SpFileStream: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x947812b3_2ae1_4644_ba86_9e90ded7ec91);
10063#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10064pub const SpInProcRecoContext: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x73ad6842_ace0_45e8_a4dd_8795881a2c2a);
10065#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10066pub const SpInprocRecognizer: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x41b89b6b_9399_11d2_9623_00c04f8ee628);
10067#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10068pub const SpLexicon: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0655e396_25d0_11d3_9c26_00c04f8ef87c);
10069#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10070pub const SpMMAudioEnum: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xab1890a0_e91f_11d2_bb91_00c04f8ee6c0);
10071#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10072pub const SpMMAudioIn: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xcf3d2e50_53f2_11d2_960c_00c04f8ee628);
10073#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10074pub const SpMMAudioOut: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa8c680eb_3d32_11d2_9ee7_00c04f797396);
10075#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10076pub const SpMemoryStream: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x5fb7ef7d_dff4_468a_b6b7_2fcbd188f994);
10077#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10078pub const SpNotifyTranslator: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xe2ae5372_5d40_11d2_960e_00c04f8ee628);
10079#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10080pub const SpNullPhoneConverter: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x455f24e9_7396_4a16_9715_7c0fdbe3efe3);
10081#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10082pub const SpObjectToken: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xef411752_3736_4cb4_9c8c_8ef4ccb58efe);
10083#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10084pub const SpObjectTokenCategory: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xa910187f_0c7a_45ac_92cc_59edafb77b53);
10085#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10086pub const SpPhoneConverter: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x9185f743_1143_4c28_86b5_bff14f20e5c8);
10087#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10088pub const SpPhoneticAlphabetConverter: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x4f414126_dfe3_4629_99ee_797978317ead);
10089#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10090pub const SpPhraseInfoBuilder: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc23fc28d_c55f_4720_8b32_91f73c2bd5d1);
10091#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10092pub const SpResourceManager: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x96749373_3391_11d2_9ee3_00c04f797396);
10093#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10094pub const SpSharedRecoContext: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x47206204_5eca_11d2_960f_00c04f8ee628);
10095#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10096pub const SpSharedRecognizer: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x3bee4890_4fe9_4a37_8c1e_5e7e12791c1f);
10097#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10098pub const SpShortcut: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0d722f1a_9fcf_4e62_96d8_6df8f01a26aa);
10099#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10100pub const SpStream: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x715d9c59_4442_11d2_9605_00c04f8ee628);
10101#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10102pub const SpStreamFormatConverter: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x7013943a_e2ec_11d2_a086_00c04f8ef9b5);
10103#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10104pub const SpTextSelectionInformation: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x0f92030a_cbfd_4ab8_a164_ff5985547ff6);
10105#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10106pub const SpUnCompressedLexicon: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc9e37c15_df92_4727_85d6_72e5eeb6995a);
10107#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10108pub const SpVoice: ::windows::core::GUID = ::windows::core::GUID::from_u128(0x96749377_3391_11d2_9ee3_00c04f797396);
10109#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10110pub const SpWaveFormatEx: ::windows::core::GUID = ::windows::core::GUID::from_u128(0xc79a574c_63be_44b9_801f_283f87f898be);
10111#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10112pub const SpeechAllElements: i32 = -1i32;
10113#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10114pub const Speech_Default_Weight: f32 = 1f32;
10115#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10116pub const Speech_Max_Pron_Length: i32 = 384i32;
10117#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10118pub const Speech_Max_Word_Length: i32 = 128i32;
10119#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10120pub const Speech_StreamPos_Asap: i32 = 0i32;
10121#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10122pub const Speech_StreamPos_RealTime: i32 = -1i32;
10123#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10124#[repr(transparent)]
10125#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10126pub struct DISPIDSPRG(pub i32);
10127#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10128pub const DISPID_SRGId: DISPIDSPRG = DISPIDSPRG(1i32);
10129#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10130pub const DISPID_SRGRecoContext: DISPIDSPRG = DISPIDSPRG(2i32);
10131#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10132pub const DISPID_SRGState: DISPIDSPRG = DISPIDSPRG(3i32);
10133#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10134pub const DISPID_SRGRules: DISPIDSPRG = DISPIDSPRG(4i32);
10135#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10136pub const DISPID_SRGReset: DISPIDSPRG = DISPIDSPRG(5i32);
10137#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10138pub const DISPID_SRGCommit: DISPIDSPRG = DISPIDSPRG(6i32);
10139#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10140pub const DISPID_SRGCmdLoadFromFile: DISPIDSPRG = DISPIDSPRG(7i32);
10141#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10142pub const DISPID_SRGCmdLoadFromObject: DISPIDSPRG = DISPIDSPRG(8i32);
10143#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10144pub const DISPID_SRGCmdLoadFromResource: DISPIDSPRG = DISPIDSPRG(9i32);
10145#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10146pub const DISPID_SRGCmdLoadFromMemory: DISPIDSPRG = DISPIDSPRG(10i32);
10147#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10148pub const DISPID_SRGCmdLoadFromProprietaryGrammar: DISPIDSPRG = DISPIDSPRG(11i32);
10149#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10150pub const DISPID_SRGCmdSetRuleState: DISPIDSPRG = DISPIDSPRG(12i32);
10151#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10152pub const DISPID_SRGCmdSetRuleIdState: DISPIDSPRG = DISPIDSPRG(13i32);
10153#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10154pub const DISPID_SRGDictationLoad: DISPIDSPRG = DISPIDSPRG(14i32);
10155#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10156pub const DISPID_SRGDictationUnload: DISPIDSPRG = DISPIDSPRG(15i32);
10157#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10158pub const DISPID_SRGDictationSetState: DISPIDSPRG = DISPIDSPRG(16i32);
10159#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10160pub const DISPID_SRGSetWordSequenceData: DISPIDSPRG = DISPIDSPRG(17i32);
10161#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10162pub const DISPID_SRGSetTextSelection: DISPIDSPRG = DISPIDSPRG(18i32);
10163#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10164pub const DISPID_SRGIsPronounceable: DISPIDSPRG = DISPIDSPRG(19i32);
10165impl ::core::marker::Copy for DISPIDSPRG {}
10166impl ::core::clone::Clone for DISPIDSPRG {
10167 fn clone(&self) -> Self {
10168 *self
10169 }
10170}
10171impl ::core::default::Default for DISPIDSPRG {
10172 fn default() -> Self {
10173 Self(0)
10174 }
10175}
10176impl ::windows::core::TypeKind for DISPIDSPRG {
10177 type TypeKind = ::windows::core::CopyType;
10178}
10179impl ::core::fmt::Debug for DISPIDSPRG {
10180 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10181 f.debug_tuple("DISPIDSPRG").field(&self.0).finish()
10182 }
10183}
10184#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10185#[repr(transparent)]
10186#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10187pub struct DISPIDSPTSI(pub i32);
10188#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10189pub const DISPIDSPTSI_ActiveOffset: DISPIDSPTSI = DISPIDSPTSI(1i32);
10190#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10191pub const DISPIDSPTSI_ActiveLength: DISPIDSPTSI = DISPIDSPTSI(2i32);
10192#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10193pub const DISPIDSPTSI_SelectionOffset: DISPIDSPTSI = DISPIDSPTSI(3i32);
10194#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10195pub const DISPIDSPTSI_SelectionLength: DISPIDSPTSI = DISPIDSPTSI(4i32);
10196impl ::core::marker::Copy for DISPIDSPTSI {}
10197impl ::core::clone::Clone for DISPIDSPTSI {
10198 fn clone(&self) -> Self {
10199 *self
10200 }
10201}
10202impl ::core::default::Default for DISPIDSPTSI {
10203 fn default() -> Self {
10204 Self(0)
10205 }
10206}
10207impl ::windows::core::TypeKind for DISPIDSPTSI {
10208 type TypeKind = ::windows::core::CopyType;
10209}
10210impl ::core::fmt::Debug for DISPIDSPTSI {
10211 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10212 f.debug_tuple("DISPIDSPTSI").field(&self.0).finish()
10213 }
10214}
10215#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10216#[repr(transparent)]
10217#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10218pub struct DISPID_SpeechAudio(pub i32);
10219#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10220pub const DISPID_SAStatus: DISPID_SpeechAudio = DISPID_SpeechAudio(200i32);
10221#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10222pub const DISPID_SABufferInfo: DISPID_SpeechAudio = DISPID_SpeechAudio(201i32);
10223#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10224pub const DISPID_SADefaultFormat: DISPID_SpeechAudio = DISPID_SpeechAudio(202i32);
10225#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10226pub const DISPID_SAVolume: DISPID_SpeechAudio = DISPID_SpeechAudio(203i32);
10227#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10228pub const DISPID_SABufferNotifySize: DISPID_SpeechAudio = DISPID_SpeechAudio(204i32);
10229#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10230pub const DISPID_SAEventHandle: DISPID_SpeechAudio = DISPID_SpeechAudio(205i32);
10231#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10232pub const DISPID_SASetState: DISPID_SpeechAudio = DISPID_SpeechAudio(206i32);
10233impl ::core::marker::Copy for DISPID_SpeechAudio {}
10234impl ::core::clone::Clone for DISPID_SpeechAudio {
10235 fn clone(&self) -> Self {
10236 *self
10237 }
10238}
10239impl ::core::default::Default for DISPID_SpeechAudio {
10240 fn default() -> Self {
10241 Self(0)
10242 }
10243}
10244impl ::windows::core::TypeKind for DISPID_SpeechAudio {
10245 type TypeKind = ::windows::core::CopyType;
10246}
10247impl ::core::fmt::Debug for DISPID_SpeechAudio {
10248 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10249 f.debug_tuple("DISPID_SpeechAudio").field(&self.0).finish()
10250 }
10251}
10252#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10253#[repr(transparent)]
10254#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10255pub struct DISPID_SpeechAudioBufferInfo(pub i32);
10256#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10257pub const DISPID_SABIMinNotification: DISPID_SpeechAudioBufferInfo = DISPID_SpeechAudioBufferInfo(1i32);
10258#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10259pub const DISPID_SABIBufferSize: DISPID_SpeechAudioBufferInfo = DISPID_SpeechAudioBufferInfo(2i32);
10260#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10261pub const DISPID_SABIEventBias: DISPID_SpeechAudioBufferInfo = DISPID_SpeechAudioBufferInfo(3i32);
10262impl ::core::marker::Copy for DISPID_SpeechAudioBufferInfo {}
10263impl ::core::clone::Clone for DISPID_SpeechAudioBufferInfo {
10264 fn clone(&self) -> Self {
10265 *self
10266 }
10267}
10268impl ::core::default::Default for DISPID_SpeechAudioBufferInfo {
10269 fn default() -> Self {
10270 Self(0)
10271 }
10272}
10273impl ::windows::core::TypeKind for DISPID_SpeechAudioBufferInfo {
10274 type TypeKind = ::windows::core::CopyType;
10275}
10276impl ::core::fmt::Debug for DISPID_SpeechAudioBufferInfo {
10277 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10278 f.debug_tuple("DISPID_SpeechAudioBufferInfo").field(&self.0).finish()
10279 }
10280}
10281#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10282#[repr(transparent)]
10283#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10284pub struct DISPID_SpeechAudioFormat(pub i32);
10285#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10286pub const DISPID_SAFType: DISPID_SpeechAudioFormat = DISPID_SpeechAudioFormat(1i32);
10287#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10288pub const DISPID_SAFGuid: DISPID_SpeechAudioFormat = DISPID_SpeechAudioFormat(2i32);
10289#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10290pub const DISPID_SAFGetWaveFormatEx: DISPID_SpeechAudioFormat = DISPID_SpeechAudioFormat(3i32);
10291#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10292pub const DISPID_SAFSetWaveFormatEx: DISPID_SpeechAudioFormat = DISPID_SpeechAudioFormat(4i32);
10293impl ::core::marker::Copy for DISPID_SpeechAudioFormat {}
10294impl ::core::clone::Clone for DISPID_SpeechAudioFormat {
10295 fn clone(&self) -> Self {
10296 *self
10297 }
10298}
10299impl ::core::default::Default for DISPID_SpeechAudioFormat {
10300 fn default() -> Self {
10301 Self(0)
10302 }
10303}
10304impl ::windows::core::TypeKind for DISPID_SpeechAudioFormat {
10305 type TypeKind = ::windows::core::CopyType;
10306}
10307impl ::core::fmt::Debug for DISPID_SpeechAudioFormat {
10308 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10309 f.debug_tuple("DISPID_SpeechAudioFormat").field(&self.0).finish()
10310 }
10311}
10312#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10313#[repr(transparent)]
10314#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10315pub struct DISPID_SpeechAudioStatus(pub i32);
10316#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10317pub const DISPID_SASFreeBufferSpace: DISPID_SpeechAudioStatus = DISPID_SpeechAudioStatus(1i32);
10318#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10319pub const DISPID_SASNonBlockingIO: DISPID_SpeechAudioStatus = DISPID_SpeechAudioStatus(2i32);
10320#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10321pub const DISPID_SASState: DISPID_SpeechAudioStatus = DISPID_SpeechAudioStatus(3i32);
10322#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10323pub const DISPID_SASCurrentSeekPosition: DISPID_SpeechAudioStatus = DISPID_SpeechAudioStatus(4i32);
10324#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10325pub const DISPID_SASCurrentDevicePosition: DISPID_SpeechAudioStatus = DISPID_SpeechAudioStatus(5i32);
10326impl ::core::marker::Copy for DISPID_SpeechAudioStatus {}
10327impl ::core::clone::Clone for DISPID_SpeechAudioStatus {
10328 fn clone(&self) -> Self {
10329 *self
10330 }
10331}
10332impl ::core::default::Default for DISPID_SpeechAudioStatus {
10333 fn default() -> Self {
10334 Self(0)
10335 }
10336}
10337impl ::windows::core::TypeKind for DISPID_SpeechAudioStatus {
10338 type TypeKind = ::windows::core::CopyType;
10339}
10340impl ::core::fmt::Debug for DISPID_SpeechAudioStatus {
10341 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10342 f.debug_tuple("DISPID_SpeechAudioStatus").field(&self.0).finish()
10343 }
10344}
10345#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10346#[repr(transparent)]
10347#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10348pub struct DISPID_SpeechBaseStream(pub i32);
10349#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10350pub const DISPID_SBSFormat: DISPID_SpeechBaseStream = DISPID_SpeechBaseStream(1i32);
10351#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10352pub const DISPID_SBSRead: DISPID_SpeechBaseStream = DISPID_SpeechBaseStream(2i32);
10353#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10354pub const DISPID_SBSWrite: DISPID_SpeechBaseStream = DISPID_SpeechBaseStream(3i32);
10355#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10356pub const DISPID_SBSSeek: DISPID_SpeechBaseStream = DISPID_SpeechBaseStream(4i32);
10357impl ::core::marker::Copy for DISPID_SpeechBaseStream {}
10358impl ::core::clone::Clone for DISPID_SpeechBaseStream {
10359 fn clone(&self) -> Self {
10360 *self
10361 }
10362}
10363impl ::core::default::Default for DISPID_SpeechBaseStream {
10364 fn default() -> Self {
10365 Self(0)
10366 }
10367}
10368impl ::windows::core::TypeKind for DISPID_SpeechBaseStream {
10369 type TypeKind = ::windows::core::CopyType;
10370}
10371impl ::core::fmt::Debug for DISPID_SpeechBaseStream {
10372 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10373 f.debug_tuple("DISPID_SpeechBaseStream").field(&self.0).finish()
10374 }
10375}
10376#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10377#[repr(transparent)]
10378#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10379pub struct DISPID_SpeechCustomStream(pub i32);
10380#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10381pub const DISPID_SCSBaseStream: DISPID_SpeechCustomStream = DISPID_SpeechCustomStream(100i32);
10382impl ::core::marker::Copy for DISPID_SpeechCustomStream {}
10383impl ::core::clone::Clone for DISPID_SpeechCustomStream {
10384 fn clone(&self) -> Self {
10385 *self
10386 }
10387}
10388impl ::core::default::Default for DISPID_SpeechCustomStream {
10389 fn default() -> Self {
10390 Self(0)
10391 }
10392}
10393impl ::windows::core::TypeKind for DISPID_SpeechCustomStream {
10394 type TypeKind = ::windows::core::CopyType;
10395}
10396impl ::core::fmt::Debug for DISPID_SpeechCustomStream {
10397 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10398 f.debug_tuple("DISPID_SpeechCustomStream").field(&self.0).finish()
10399 }
10400}
10401#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10402#[repr(transparent)]
10403#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10404pub struct DISPID_SpeechDataKey(pub i32);
10405#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10406pub const DISPID_SDKSetBinaryValue: DISPID_SpeechDataKey = DISPID_SpeechDataKey(1i32);
10407#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10408pub const DISPID_SDKGetBinaryValue: DISPID_SpeechDataKey = DISPID_SpeechDataKey(2i32);
10409#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10410pub const DISPID_SDKSetStringValue: DISPID_SpeechDataKey = DISPID_SpeechDataKey(3i32);
10411#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10412pub const DISPID_SDKGetStringValue: DISPID_SpeechDataKey = DISPID_SpeechDataKey(4i32);
10413#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10414pub const DISPID_SDKSetLongValue: DISPID_SpeechDataKey = DISPID_SpeechDataKey(5i32);
10415#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10416pub const DISPID_SDKGetlongValue: DISPID_SpeechDataKey = DISPID_SpeechDataKey(6i32);
10417#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10418pub const DISPID_SDKOpenKey: DISPID_SpeechDataKey = DISPID_SpeechDataKey(7i32);
10419#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10420pub const DISPID_SDKCreateKey: DISPID_SpeechDataKey = DISPID_SpeechDataKey(8i32);
10421#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10422pub const DISPID_SDKDeleteKey: DISPID_SpeechDataKey = DISPID_SpeechDataKey(9i32);
10423#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10424pub const DISPID_SDKDeleteValue: DISPID_SpeechDataKey = DISPID_SpeechDataKey(10i32);
10425#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10426pub const DISPID_SDKEnumKeys: DISPID_SpeechDataKey = DISPID_SpeechDataKey(11i32);
10427#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10428pub const DISPID_SDKEnumValues: DISPID_SpeechDataKey = DISPID_SpeechDataKey(12i32);
10429impl ::core::marker::Copy for DISPID_SpeechDataKey {}
10430impl ::core::clone::Clone for DISPID_SpeechDataKey {
10431 fn clone(&self) -> Self {
10432 *self
10433 }
10434}
10435impl ::core::default::Default for DISPID_SpeechDataKey {
10436 fn default() -> Self {
10437 Self(0)
10438 }
10439}
10440impl ::windows::core::TypeKind for DISPID_SpeechDataKey {
10441 type TypeKind = ::windows::core::CopyType;
10442}
10443impl ::core::fmt::Debug for DISPID_SpeechDataKey {
10444 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10445 f.debug_tuple("DISPID_SpeechDataKey").field(&self.0).finish()
10446 }
10447}
10448#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10449#[repr(transparent)]
10450#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10451pub struct DISPID_SpeechFileStream(pub i32);
10452#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10453pub const DISPID_SFSOpen: DISPID_SpeechFileStream = DISPID_SpeechFileStream(100i32);
10454#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10455pub const DISPID_SFSClose: DISPID_SpeechFileStream = DISPID_SpeechFileStream(101i32);
10456impl ::core::marker::Copy for DISPID_SpeechFileStream {}
10457impl ::core::clone::Clone for DISPID_SpeechFileStream {
10458 fn clone(&self) -> Self {
10459 *self
10460 }
10461}
10462impl ::core::default::Default for DISPID_SpeechFileStream {
10463 fn default() -> Self {
10464 Self(0)
10465 }
10466}
10467impl ::windows::core::TypeKind for DISPID_SpeechFileStream {
10468 type TypeKind = ::windows::core::CopyType;
10469}
10470impl ::core::fmt::Debug for DISPID_SpeechFileStream {
10471 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10472 f.debug_tuple("DISPID_SpeechFileStream").field(&self.0).finish()
10473 }
10474}
10475#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10476#[repr(transparent)]
10477#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10478pub struct DISPID_SpeechGrammarRule(pub i32);
10479#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10480pub const DISPID_SGRAttributes: DISPID_SpeechGrammarRule = DISPID_SpeechGrammarRule(1i32);
10481#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10482pub const DISPID_SGRInitialState: DISPID_SpeechGrammarRule = DISPID_SpeechGrammarRule(2i32);
10483#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10484pub const DISPID_SGRName: DISPID_SpeechGrammarRule = DISPID_SpeechGrammarRule(3i32);
10485#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10486pub const DISPID_SGRId: DISPID_SpeechGrammarRule = DISPID_SpeechGrammarRule(4i32);
10487#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10488pub const DISPID_SGRClear: DISPID_SpeechGrammarRule = DISPID_SpeechGrammarRule(5i32);
10489#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10490pub const DISPID_SGRAddResource: DISPID_SpeechGrammarRule = DISPID_SpeechGrammarRule(6i32);
10491#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10492pub const DISPID_SGRAddState: DISPID_SpeechGrammarRule = DISPID_SpeechGrammarRule(7i32);
10493impl ::core::marker::Copy for DISPID_SpeechGrammarRule {}
10494impl ::core::clone::Clone for DISPID_SpeechGrammarRule {
10495 fn clone(&self) -> Self {
10496 *self
10497 }
10498}
10499impl ::core::default::Default for DISPID_SpeechGrammarRule {
10500 fn default() -> Self {
10501 Self(0)
10502 }
10503}
10504impl ::windows::core::TypeKind for DISPID_SpeechGrammarRule {
10505 type TypeKind = ::windows::core::CopyType;
10506}
10507impl ::core::fmt::Debug for DISPID_SpeechGrammarRule {
10508 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10509 f.debug_tuple("DISPID_SpeechGrammarRule").field(&self.0).finish()
10510 }
10511}
10512#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10513#[repr(transparent)]
10514#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10515pub struct DISPID_SpeechGrammarRuleState(pub i32);
10516#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10517pub const DISPID_SGRSRule: DISPID_SpeechGrammarRuleState = DISPID_SpeechGrammarRuleState(1i32);
10518#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10519pub const DISPID_SGRSTransitions: DISPID_SpeechGrammarRuleState = DISPID_SpeechGrammarRuleState(2i32);
10520#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10521pub const DISPID_SGRSAddWordTransition: DISPID_SpeechGrammarRuleState = DISPID_SpeechGrammarRuleState(3i32);
10522#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10523pub const DISPID_SGRSAddRuleTransition: DISPID_SpeechGrammarRuleState = DISPID_SpeechGrammarRuleState(4i32);
10524#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10525pub const DISPID_SGRSAddSpecialTransition: DISPID_SpeechGrammarRuleState = DISPID_SpeechGrammarRuleState(5i32);
10526impl ::core::marker::Copy for DISPID_SpeechGrammarRuleState {}
10527impl ::core::clone::Clone for DISPID_SpeechGrammarRuleState {
10528 fn clone(&self) -> Self {
10529 *self
10530 }
10531}
10532impl ::core::default::Default for DISPID_SpeechGrammarRuleState {
10533 fn default() -> Self {
10534 Self(0)
10535 }
10536}
10537impl ::windows::core::TypeKind for DISPID_SpeechGrammarRuleState {
10538 type TypeKind = ::windows::core::CopyType;
10539}
10540impl ::core::fmt::Debug for DISPID_SpeechGrammarRuleState {
10541 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10542 f.debug_tuple("DISPID_SpeechGrammarRuleState").field(&self.0).finish()
10543 }
10544}
10545#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10546#[repr(transparent)]
10547#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10548pub struct DISPID_SpeechGrammarRuleStateTransition(pub i32);
10549#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10550pub const DISPID_SGRSTType: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(1i32);
10551#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10552pub const DISPID_SGRSTText: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(2i32);
10553#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10554pub const DISPID_SGRSTRule: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(3i32);
10555#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10556pub const DISPID_SGRSTWeight: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(4i32);
10557#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10558pub const DISPID_SGRSTPropertyName: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(5i32);
10559#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10560pub const DISPID_SGRSTPropertyId: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(6i32);
10561#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10562pub const DISPID_SGRSTPropertyValue: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(7i32);
10563#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10564pub const DISPID_SGRSTNextState: DISPID_SpeechGrammarRuleStateTransition = DISPID_SpeechGrammarRuleStateTransition(8i32);
10565impl ::core::marker::Copy for DISPID_SpeechGrammarRuleStateTransition {}
10566impl ::core::clone::Clone for DISPID_SpeechGrammarRuleStateTransition {
10567 fn clone(&self) -> Self {
10568 *self
10569 }
10570}
10571impl ::core::default::Default for DISPID_SpeechGrammarRuleStateTransition {
10572 fn default() -> Self {
10573 Self(0)
10574 }
10575}
10576impl ::windows::core::TypeKind for DISPID_SpeechGrammarRuleStateTransition {
10577 type TypeKind = ::windows::core::CopyType;
10578}
10579impl ::core::fmt::Debug for DISPID_SpeechGrammarRuleStateTransition {
10580 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10581 f.debug_tuple("DISPID_SpeechGrammarRuleStateTransition").field(&self.0).finish()
10582 }
10583}
10584#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10585#[repr(transparent)]
10586#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10587pub struct DISPID_SpeechGrammarRuleStateTransitions(pub i32);
10588#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10589pub const DISPID_SGRSTsCount: DISPID_SpeechGrammarRuleStateTransitions = DISPID_SpeechGrammarRuleStateTransitions(1i32);
10590#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10591pub const DISPID_SGRSTsItem: DISPID_SpeechGrammarRuleStateTransitions = DISPID_SpeechGrammarRuleStateTransitions(0i32);
10592#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10593pub const DISPID_SGRSTs_NewEnum: DISPID_SpeechGrammarRuleStateTransitions = DISPID_SpeechGrammarRuleStateTransitions(-4i32);
10594impl ::core::marker::Copy for DISPID_SpeechGrammarRuleStateTransitions {}
10595impl ::core::clone::Clone for DISPID_SpeechGrammarRuleStateTransitions {
10596 fn clone(&self) -> Self {
10597 *self
10598 }
10599}
10600impl ::core::default::Default for DISPID_SpeechGrammarRuleStateTransitions {
10601 fn default() -> Self {
10602 Self(0)
10603 }
10604}
10605impl ::windows::core::TypeKind for DISPID_SpeechGrammarRuleStateTransitions {
10606 type TypeKind = ::windows::core::CopyType;
10607}
10608impl ::core::fmt::Debug for DISPID_SpeechGrammarRuleStateTransitions {
10609 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10610 f.debug_tuple("DISPID_SpeechGrammarRuleStateTransitions").field(&self.0).finish()
10611 }
10612}
10613#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10614#[repr(transparent)]
10615#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10616pub struct DISPID_SpeechGrammarRules(pub i32);
10617#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10618pub const DISPID_SGRsCount: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(1i32);
10619#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10620pub const DISPID_SGRsDynamic: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(2i32);
10621#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10622pub const DISPID_SGRsAdd: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(3i32);
10623#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10624pub const DISPID_SGRsCommit: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(4i32);
10625#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10626pub const DISPID_SGRsCommitAndSave: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(5i32);
10627#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10628pub const DISPID_SGRsFindRule: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(6i32);
10629#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10630pub const DISPID_SGRsItem: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(0i32);
10631#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10632pub const DISPID_SGRs_NewEnum: DISPID_SpeechGrammarRules = DISPID_SpeechGrammarRules(-4i32);
10633impl ::core::marker::Copy for DISPID_SpeechGrammarRules {}
10634impl ::core::clone::Clone for DISPID_SpeechGrammarRules {
10635 fn clone(&self) -> Self {
10636 *self
10637 }
10638}
10639impl ::core::default::Default for DISPID_SpeechGrammarRules {
10640 fn default() -> Self {
10641 Self(0)
10642 }
10643}
10644impl ::windows::core::TypeKind for DISPID_SpeechGrammarRules {
10645 type TypeKind = ::windows::core::CopyType;
10646}
10647impl ::core::fmt::Debug for DISPID_SpeechGrammarRules {
10648 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10649 f.debug_tuple("DISPID_SpeechGrammarRules").field(&self.0).finish()
10650 }
10651}
10652#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10653#[repr(transparent)]
10654#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10655pub struct DISPID_SpeechLexicon(pub i32);
10656#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10657pub const DISPID_SLGenerationId: DISPID_SpeechLexicon = DISPID_SpeechLexicon(1i32);
10658#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10659pub const DISPID_SLGetWords: DISPID_SpeechLexicon = DISPID_SpeechLexicon(2i32);
10660#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10661pub const DISPID_SLAddPronunciation: DISPID_SpeechLexicon = DISPID_SpeechLexicon(3i32);
10662#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10663pub const DISPID_SLAddPronunciationByPhoneIds: DISPID_SpeechLexicon = DISPID_SpeechLexicon(4i32);
10664#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10665pub const DISPID_SLRemovePronunciation: DISPID_SpeechLexicon = DISPID_SpeechLexicon(5i32);
10666#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10667pub const DISPID_SLRemovePronunciationByPhoneIds: DISPID_SpeechLexicon = DISPID_SpeechLexicon(6i32);
10668#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10669pub const DISPID_SLGetPronunciations: DISPID_SpeechLexicon = DISPID_SpeechLexicon(7i32);
10670#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10671pub const DISPID_SLGetGenerationChange: DISPID_SpeechLexicon = DISPID_SpeechLexicon(8i32);
10672impl ::core::marker::Copy for DISPID_SpeechLexicon {}
10673impl ::core::clone::Clone for DISPID_SpeechLexicon {
10674 fn clone(&self) -> Self {
10675 *self
10676 }
10677}
10678impl ::core::default::Default for DISPID_SpeechLexicon {
10679 fn default() -> Self {
10680 Self(0)
10681 }
10682}
10683impl ::windows::core::TypeKind for DISPID_SpeechLexicon {
10684 type TypeKind = ::windows::core::CopyType;
10685}
10686impl ::core::fmt::Debug for DISPID_SpeechLexicon {
10687 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10688 f.debug_tuple("DISPID_SpeechLexicon").field(&self.0).finish()
10689 }
10690}
10691#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10692#[repr(transparent)]
10693#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10694pub struct DISPID_SpeechLexiconProns(pub i32);
10695#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10696pub const DISPID_SLPsCount: DISPID_SpeechLexiconProns = DISPID_SpeechLexiconProns(1i32);
10697#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10698pub const DISPID_SLPsItem: DISPID_SpeechLexiconProns = DISPID_SpeechLexiconProns(0i32);
10699#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10700pub const DISPID_SLPs_NewEnum: DISPID_SpeechLexiconProns = DISPID_SpeechLexiconProns(-4i32);
10701impl ::core::marker::Copy for DISPID_SpeechLexiconProns {}
10702impl ::core::clone::Clone for DISPID_SpeechLexiconProns {
10703 fn clone(&self) -> Self {
10704 *self
10705 }
10706}
10707impl ::core::default::Default for DISPID_SpeechLexiconProns {
10708 fn default() -> Self {
10709 Self(0)
10710 }
10711}
10712impl ::windows::core::TypeKind for DISPID_SpeechLexiconProns {
10713 type TypeKind = ::windows::core::CopyType;
10714}
10715impl ::core::fmt::Debug for DISPID_SpeechLexiconProns {
10716 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10717 f.debug_tuple("DISPID_SpeechLexiconProns").field(&self.0).finish()
10718 }
10719}
10720#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10721#[repr(transparent)]
10722#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10723pub struct DISPID_SpeechLexiconPronunciation(pub i32);
10724#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10725pub const DISPID_SLPType: DISPID_SpeechLexiconPronunciation = DISPID_SpeechLexiconPronunciation(1i32);
10726#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10727pub const DISPID_SLPLangId: DISPID_SpeechLexiconPronunciation = DISPID_SpeechLexiconPronunciation(2i32);
10728#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10729pub const DISPID_SLPPartOfSpeech: DISPID_SpeechLexiconPronunciation = DISPID_SpeechLexiconPronunciation(3i32);
10730#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10731pub const DISPID_SLPPhoneIds: DISPID_SpeechLexiconPronunciation = DISPID_SpeechLexiconPronunciation(4i32);
10732#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10733pub const DISPID_SLPSymbolic: DISPID_SpeechLexiconPronunciation = DISPID_SpeechLexiconPronunciation(5i32);
10734impl ::core::marker::Copy for DISPID_SpeechLexiconPronunciation {}
10735impl ::core::clone::Clone for DISPID_SpeechLexiconPronunciation {
10736 fn clone(&self) -> Self {
10737 *self
10738 }
10739}
10740impl ::core::default::Default for DISPID_SpeechLexiconPronunciation {
10741 fn default() -> Self {
10742 Self(0)
10743 }
10744}
10745impl ::windows::core::TypeKind for DISPID_SpeechLexiconPronunciation {
10746 type TypeKind = ::windows::core::CopyType;
10747}
10748impl ::core::fmt::Debug for DISPID_SpeechLexiconPronunciation {
10749 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10750 f.debug_tuple("DISPID_SpeechLexiconPronunciation").field(&self.0).finish()
10751 }
10752}
10753#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10754#[repr(transparent)]
10755#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10756pub struct DISPID_SpeechLexiconWord(pub i32);
10757#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10758pub const DISPID_SLWLangId: DISPID_SpeechLexiconWord = DISPID_SpeechLexiconWord(1i32);
10759#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10760pub const DISPID_SLWType: DISPID_SpeechLexiconWord = DISPID_SpeechLexiconWord(2i32);
10761#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10762pub const DISPID_SLWWord: DISPID_SpeechLexiconWord = DISPID_SpeechLexiconWord(3i32);
10763#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10764pub const DISPID_SLWPronunciations: DISPID_SpeechLexiconWord = DISPID_SpeechLexiconWord(4i32);
10765impl ::core::marker::Copy for DISPID_SpeechLexiconWord {}
10766impl ::core::clone::Clone for DISPID_SpeechLexiconWord {
10767 fn clone(&self) -> Self {
10768 *self
10769 }
10770}
10771impl ::core::default::Default for DISPID_SpeechLexiconWord {
10772 fn default() -> Self {
10773 Self(0)
10774 }
10775}
10776impl ::windows::core::TypeKind for DISPID_SpeechLexiconWord {
10777 type TypeKind = ::windows::core::CopyType;
10778}
10779impl ::core::fmt::Debug for DISPID_SpeechLexiconWord {
10780 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10781 f.debug_tuple("DISPID_SpeechLexiconWord").field(&self.0).finish()
10782 }
10783}
10784#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10785#[repr(transparent)]
10786#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10787pub struct DISPID_SpeechLexiconWords(pub i32);
10788#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10789pub const DISPID_SLWsCount: DISPID_SpeechLexiconWords = DISPID_SpeechLexiconWords(1i32);
10790#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10791pub const DISPID_SLWsItem: DISPID_SpeechLexiconWords = DISPID_SpeechLexiconWords(0i32);
10792#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10793pub const DISPID_SLWs_NewEnum: DISPID_SpeechLexiconWords = DISPID_SpeechLexiconWords(-4i32);
10794impl ::core::marker::Copy for DISPID_SpeechLexiconWords {}
10795impl ::core::clone::Clone for DISPID_SpeechLexiconWords {
10796 fn clone(&self) -> Self {
10797 *self
10798 }
10799}
10800impl ::core::default::Default for DISPID_SpeechLexiconWords {
10801 fn default() -> Self {
10802 Self(0)
10803 }
10804}
10805impl ::windows::core::TypeKind for DISPID_SpeechLexiconWords {
10806 type TypeKind = ::windows::core::CopyType;
10807}
10808impl ::core::fmt::Debug for DISPID_SpeechLexiconWords {
10809 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10810 f.debug_tuple("DISPID_SpeechLexiconWords").field(&self.0).finish()
10811 }
10812}
10813#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10814#[repr(transparent)]
10815#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10816pub struct DISPID_SpeechMMSysAudio(pub i32);
10817#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10818pub const DISPID_SMSADeviceId: DISPID_SpeechMMSysAudio = DISPID_SpeechMMSysAudio(300i32);
10819#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10820pub const DISPID_SMSALineId: DISPID_SpeechMMSysAudio = DISPID_SpeechMMSysAudio(301i32);
10821#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10822pub const DISPID_SMSAMMHandle: DISPID_SpeechMMSysAudio = DISPID_SpeechMMSysAudio(302i32);
10823impl ::core::marker::Copy for DISPID_SpeechMMSysAudio {}
10824impl ::core::clone::Clone for DISPID_SpeechMMSysAudio {
10825 fn clone(&self) -> Self {
10826 *self
10827 }
10828}
10829impl ::core::default::Default for DISPID_SpeechMMSysAudio {
10830 fn default() -> Self {
10831 Self(0)
10832 }
10833}
10834impl ::windows::core::TypeKind for DISPID_SpeechMMSysAudio {
10835 type TypeKind = ::windows::core::CopyType;
10836}
10837impl ::core::fmt::Debug for DISPID_SpeechMMSysAudio {
10838 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10839 f.debug_tuple("DISPID_SpeechMMSysAudio").field(&self.0).finish()
10840 }
10841}
10842#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10843#[repr(transparent)]
10844#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10845pub struct DISPID_SpeechMemoryStream(pub i32);
10846#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10847pub const DISPID_SMSSetData: DISPID_SpeechMemoryStream = DISPID_SpeechMemoryStream(100i32);
10848#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10849pub const DISPID_SMSGetData: DISPID_SpeechMemoryStream = DISPID_SpeechMemoryStream(101i32);
10850impl ::core::marker::Copy for DISPID_SpeechMemoryStream {}
10851impl ::core::clone::Clone for DISPID_SpeechMemoryStream {
10852 fn clone(&self) -> Self {
10853 *self
10854 }
10855}
10856impl ::core::default::Default for DISPID_SpeechMemoryStream {
10857 fn default() -> Self {
10858 Self(0)
10859 }
10860}
10861impl ::windows::core::TypeKind for DISPID_SpeechMemoryStream {
10862 type TypeKind = ::windows::core::CopyType;
10863}
10864impl ::core::fmt::Debug for DISPID_SpeechMemoryStream {
10865 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10866 f.debug_tuple("DISPID_SpeechMemoryStream").field(&self.0).finish()
10867 }
10868}
10869#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10870#[repr(transparent)]
10871#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10872pub struct DISPID_SpeechObjectToken(pub i32);
10873#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10874pub const DISPID_SOTId: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(1i32);
10875#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10876pub const DISPID_SOTDataKey: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(2i32);
10877#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10878pub const DISPID_SOTCategory: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(3i32);
10879#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10880pub const DISPID_SOTGetDescription: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(4i32);
10881#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10882pub const DISPID_SOTSetId: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(5i32);
10883#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10884pub const DISPID_SOTGetAttribute: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(6i32);
10885#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10886pub const DISPID_SOTCreateInstance: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(7i32);
10887#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10888pub const DISPID_SOTRemove: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(8i32);
10889#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10890pub const DISPID_SOTGetStorageFileName: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(9i32);
10891#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10892pub const DISPID_SOTRemoveStorageFileName: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(10i32);
10893#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10894pub const DISPID_SOTIsUISupported: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(11i32);
10895#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10896pub const DISPID_SOTDisplayUI: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(12i32);
10897#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10898pub const DISPID_SOTMatchesAttributes: DISPID_SpeechObjectToken = DISPID_SpeechObjectToken(13i32);
10899impl ::core::marker::Copy for DISPID_SpeechObjectToken {}
10900impl ::core::clone::Clone for DISPID_SpeechObjectToken {
10901 fn clone(&self) -> Self {
10902 *self
10903 }
10904}
10905impl ::core::default::Default for DISPID_SpeechObjectToken {
10906 fn default() -> Self {
10907 Self(0)
10908 }
10909}
10910impl ::windows::core::TypeKind for DISPID_SpeechObjectToken {
10911 type TypeKind = ::windows::core::CopyType;
10912}
10913impl ::core::fmt::Debug for DISPID_SpeechObjectToken {
10914 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10915 f.debug_tuple("DISPID_SpeechObjectToken").field(&self.0).finish()
10916 }
10917}
10918#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10919#[repr(transparent)]
10920#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10921pub struct DISPID_SpeechObjectTokenCategory(pub i32);
10922#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10923pub const DISPID_SOTCId: DISPID_SpeechObjectTokenCategory = DISPID_SpeechObjectTokenCategory(1i32);
10924#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10925pub const DISPID_SOTCDefault: DISPID_SpeechObjectTokenCategory = DISPID_SpeechObjectTokenCategory(2i32);
10926#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10927pub const DISPID_SOTCSetId: DISPID_SpeechObjectTokenCategory = DISPID_SpeechObjectTokenCategory(3i32);
10928#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10929pub const DISPID_SOTCGetDataKey: DISPID_SpeechObjectTokenCategory = DISPID_SpeechObjectTokenCategory(4i32);
10930#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10931pub const DISPID_SOTCEnumerateTokens: DISPID_SpeechObjectTokenCategory = DISPID_SpeechObjectTokenCategory(5i32);
10932impl ::core::marker::Copy for DISPID_SpeechObjectTokenCategory {}
10933impl ::core::clone::Clone for DISPID_SpeechObjectTokenCategory {
10934 fn clone(&self) -> Self {
10935 *self
10936 }
10937}
10938impl ::core::default::Default for DISPID_SpeechObjectTokenCategory {
10939 fn default() -> Self {
10940 Self(0)
10941 }
10942}
10943impl ::windows::core::TypeKind for DISPID_SpeechObjectTokenCategory {
10944 type TypeKind = ::windows::core::CopyType;
10945}
10946impl ::core::fmt::Debug for DISPID_SpeechObjectTokenCategory {
10947 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10948 f.debug_tuple("DISPID_SpeechObjectTokenCategory").field(&self.0).finish()
10949 }
10950}
10951#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10952#[repr(transparent)]
10953#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10954pub struct DISPID_SpeechObjectTokens(pub i32);
10955#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10956pub const DISPID_SOTsCount: DISPID_SpeechObjectTokens = DISPID_SpeechObjectTokens(1i32);
10957#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10958pub const DISPID_SOTsItem: DISPID_SpeechObjectTokens = DISPID_SpeechObjectTokens(0i32);
10959#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10960pub const DISPID_SOTs_NewEnum: DISPID_SpeechObjectTokens = DISPID_SpeechObjectTokens(-4i32);
10961impl ::core::marker::Copy for DISPID_SpeechObjectTokens {}
10962impl ::core::clone::Clone for DISPID_SpeechObjectTokens {
10963 fn clone(&self) -> Self {
10964 *self
10965 }
10966}
10967impl ::core::default::Default for DISPID_SpeechObjectTokens {
10968 fn default() -> Self {
10969 Self(0)
10970 }
10971}
10972impl ::windows::core::TypeKind for DISPID_SpeechObjectTokens {
10973 type TypeKind = ::windows::core::CopyType;
10974}
10975impl ::core::fmt::Debug for DISPID_SpeechObjectTokens {
10976 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
10977 f.debug_tuple("DISPID_SpeechObjectTokens").field(&self.0).finish()
10978 }
10979}
10980#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10981#[repr(transparent)]
10982#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
10983pub struct DISPID_SpeechPhoneConverter(pub i32);
10984#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10985pub const DISPID_SPCLangId: DISPID_SpeechPhoneConverter = DISPID_SpeechPhoneConverter(1i32);
10986#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10987pub const DISPID_SPCPhoneToId: DISPID_SpeechPhoneConverter = DISPID_SpeechPhoneConverter(2i32);
10988#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
10989pub const DISPID_SPCIdToPhone: DISPID_SpeechPhoneConverter = DISPID_SpeechPhoneConverter(3i32);
10990impl ::core::marker::Copy for DISPID_SpeechPhoneConverter {}
10991impl ::core::clone::Clone for DISPID_SpeechPhoneConverter {
10992 fn clone(&self) -> Self {
10993 *self
10994 }
10995}
10996impl ::core::default::Default for DISPID_SpeechPhoneConverter {
10997 fn default() -> Self {
10998 Self(0)
10999 }
11000}
11001impl ::windows::core::TypeKind for DISPID_SpeechPhoneConverter {
11002 type TypeKind = ::windows::core::CopyType;
11003}
11004impl ::core::fmt::Debug for DISPID_SpeechPhoneConverter {
11005 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11006 f.debug_tuple("DISPID_SpeechPhoneConverter").field(&self.0).finish()
11007 }
11008}
11009#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11010#[repr(transparent)]
11011#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11012pub struct DISPID_SpeechPhraseAlternate(pub i32);
11013#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11014pub const DISPID_SPARecoResult: DISPID_SpeechPhraseAlternate = DISPID_SpeechPhraseAlternate(1i32);
11015#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11016pub const DISPID_SPAStartElementInResult: DISPID_SpeechPhraseAlternate = DISPID_SpeechPhraseAlternate(2i32);
11017#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11018pub const DISPID_SPANumberOfElementsInResult: DISPID_SpeechPhraseAlternate = DISPID_SpeechPhraseAlternate(3i32);
11019#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11020pub const DISPID_SPAPhraseInfo: DISPID_SpeechPhraseAlternate = DISPID_SpeechPhraseAlternate(4i32);
11021#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11022pub const DISPID_SPACommit: DISPID_SpeechPhraseAlternate = DISPID_SpeechPhraseAlternate(5i32);
11023impl ::core::marker::Copy for DISPID_SpeechPhraseAlternate {}
11024impl ::core::clone::Clone for DISPID_SpeechPhraseAlternate {
11025 fn clone(&self) -> Self {
11026 *self
11027 }
11028}
11029impl ::core::default::Default for DISPID_SpeechPhraseAlternate {
11030 fn default() -> Self {
11031 Self(0)
11032 }
11033}
11034impl ::windows::core::TypeKind for DISPID_SpeechPhraseAlternate {
11035 type TypeKind = ::windows::core::CopyType;
11036}
11037impl ::core::fmt::Debug for DISPID_SpeechPhraseAlternate {
11038 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11039 f.debug_tuple("DISPID_SpeechPhraseAlternate").field(&self.0).finish()
11040 }
11041}
11042#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11043#[repr(transparent)]
11044#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11045pub struct DISPID_SpeechPhraseAlternates(pub i32);
11046#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11047pub const DISPID_SPAsCount: DISPID_SpeechPhraseAlternates = DISPID_SpeechPhraseAlternates(1i32);
11048#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11049pub const DISPID_SPAsItem: DISPID_SpeechPhraseAlternates = DISPID_SpeechPhraseAlternates(0i32);
11050#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11051pub const DISPID_SPAs_NewEnum: DISPID_SpeechPhraseAlternates = DISPID_SpeechPhraseAlternates(-4i32);
11052impl ::core::marker::Copy for DISPID_SpeechPhraseAlternates {}
11053impl ::core::clone::Clone for DISPID_SpeechPhraseAlternates {
11054 fn clone(&self) -> Self {
11055 *self
11056 }
11057}
11058impl ::core::default::Default for DISPID_SpeechPhraseAlternates {
11059 fn default() -> Self {
11060 Self(0)
11061 }
11062}
11063impl ::windows::core::TypeKind for DISPID_SpeechPhraseAlternates {
11064 type TypeKind = ::windows::core::CopyType;
11065}
11066impl ::core::fmt::Debug for DISPID_SpeechPhraseAlternates {
11067 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11068 f.debug_tuple("DISPID_SpeechPhraseAlternates").field(&self.0).finish()
11069 }
11070}
11071#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11072#[repr(transparent)]
11073#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11074pub struct DISPID_SpeechPhraseBuilder(pub i32);
11075#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11076pub const DISPID_SPPBRestorePhraseFromMemory: DISPID_SpeechPhraseBuilder = DISPID_SpeechPhraseBuilder(1i32);
11077impl ::core::marker::Copy for DISPID_SpeechPhraseBuilder {}
11078impl ::core::clone::Clone for DISPID_SpeechPhraseBuilder {
11079 fn clone(&self) -> Self {
11080 *self
11081 }
11082}
11083impl ::core::default::Default for DISPID_SpeechPhraseBuilder {
11084 fn default() -> Self {
11085 Self(0)
11086 }
11087}
11088impl ::windows::core::TypeKind for DISPID_SpeechPhraseBuilder {
11089 type TypeKind = ::windows::core::CopyType;
11090}
11091impl ::core::fmt::Debug for DISPID_SpeechPhraseBuilder {
11092 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11093 f.debug_tuple("DISPID_SpeechPhraseBuilder").field(&self.0).finish()
11094 }
11095}
11096#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11097#[repr(transparent)]
11098#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11099pub struct DISPID_SpeechPhraseElement(pub i32);
11100#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11101pub const DISPID_SPEAudioTimeOffset: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(1i32);
11102#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11103pub const DISPID_SPEAudioSizeTime: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(2i32);
11104#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11105pub const DISPID_SPEAudioStreamOffset: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(3i32);
11106#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11107pub const DISPID_SPEAudioSizeBytes: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(4i32);
11108#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11109pub const DISPID_SPERetainedStreamOffset: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(5i32);
11110#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11111pub const DISPID_SPERetainedSizeBytes: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(6i32);
11112#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11113pub const DISPID_SPEDisplayText: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(7i32);
11114#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11115pub const DISPID_SPELexicalForm: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(8i32);
11116#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11117pub const DISPID_SPEPronunciation: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(9i32);
11118#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11119pub const DISPID_SPEDisplayAttributes: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(10i32);
11120#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11121pub const DISPID_SPERequiredConfidence: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(11i32);
11122#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11123pub const DISPID_SPEActualConfidence: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(12i32);
11124#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11125pub const DISPID_SPEEngineConfidence: DISPID_SpeechPhraseElement = DISPID_SpeechPhraseElement(13i32);
11126impl ::core::marker::Copy for DISPID_SpeechPhraseElement {}
11127impl ::core::clone::Clone for DISPID_SpeechPhraseElement {
11128 fn clone(&self) -> Self {
11129 *self
11130 }
11131}
11132impl ::core::default::Default for DISPID_SpeechPhraseElement {
11133 fn default() -> Self {
11134 Self(0)
11135 }
11136}
11137impl ::windows::core::TypeKind for DISPID_SpeechPhraseElement {
11138 type TypeKind = ::windows::core::CopyType;
11139}
11140impl ::core::fmt::Debug for DISPID_SpeechPhraseElement {
11141 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11142 f.debug_tuple("DISPID_SpeechPhraseElement").field(&self.0).finish()
11143 }
11144}
11145#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11146#[repr(transparent)]
11147#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11148pub struct DISPID_SpeechPhraseElements(pub i32);
11149#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11150pub const DISPID_SPEsCount: DISPID_SpeechPhraseElements = DISPID_SpeechPhraseElements(1i32);
11151#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11152pub const DISPID_SPEsItem: DISPID_SpeechPhraseElements = DISPID_SpeechPhraseElements(0i32);
11153#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11154pub const DISPID_SPEs_NewEnum: DISPID_SpeechPhraseElements = DISPID_SpeechPhraseElements(-4i32);
11155impl ::core::marker::Copy for DISPID_SpeechPhraseElements {}
11156impl ::core::clone::Clone for DISPID_SpeechPhraseElements {
11157 fn clone(&self) -> Self {
11158 *self
11159 }
11160}
11161impl ::core::default::Default for DISPID_SpeechPhraseElements {
11162 fn default() -> Self {
11163 Self(0)
11164 }
11165}
11166impl ::windows::core::TypeKind for DISPID_SpeechPhraseElements {
11167 type TypeKind = ::windows::core::CopyType;
11168}
11169impl ::core::fmt::Debug for DISPID_SpeechPhraseElements {
11170 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11171 f.debug_tuple("DISPID_SpeechPhraseElements").field(&self.0).finish()
11172 }
11173}
11174#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11175#[repr(transparent)]
11176#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11177pub struct DISPID_SpeechPhraseInfo(pub i32);
11178#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11179pub const DISPID_SPILanguageId: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(1i32);
11180#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11181pub const DISPID_SPIGrammarId: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(2i32);
11182#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11183pub const DISPID_SPIStartTime: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(3i32);
11184#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11185pub const DISPID_SPIAudioStreamPosition: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(4i32);
11186#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11187pub const DISPID_SPIAudioSizeBytes: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(5i32);
11188#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11189pub const DISPID_SPIRetainedSizeBytes: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(6i32);
11190#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11191pub const DISPID_SPIAudioSizeTime: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(7i32);
11192#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11193pub const DISPID_SPIRule: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(8i32);
11194#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11195pub const DISPID_SPIProperties: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(9i32);
11196#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11197pub const DISPID_SPIElements: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(10i32);
11198#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11199pub const DISPID_SPIReplacements: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(11i32);
11200#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11201pub const DISPID_SPIEngineId: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(12i32);
11202#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11203pub const DISPID_SPIEnginePrivateData: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(13i32);
11204#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11205pub const DISPID_SPISaveToMemory: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(14i32);
11206#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11207pub const DISPID_SPIGetText: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(15i32);
11208#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11209pub const DISPID_SPIGetDisplayAttributes: DISPID_SpeechPhraseInfo = DISPID_SpeechPhraseInfo(16i32);
11210impl ::core::marker::Copy for DISPID_SpeechPhraseInfo {}
11211impl ::core::clone::Clone for DISPID_SpeechPhraseInfo {
11212 fn clone(&self) -> Self {
11213 *self
11214 }
11215}
11216impl ::core::default::Default for DISPID_SpeechPhraseInfo {
11217 fn default() -> Self {
11218 Self(0)
11219 }
11220}
11221impl ::windows::core::TypeKind for DISPID_SpeechPhraseInfo {
11222 type TypeKind = ::windows::core::CopyType;
11223}
11224impl ::core::fmt::Debug for DISPID_SpeechPhraseInfo {
11225 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11226 f.debug_tuple("DISPID_SpeechPhraseInfo").field(&self.0).finish()
11227 }
11228}
11229#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11230#[repr(transparent)]
11231#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11232pub struct DISPID_SpeechPhraseProperties(pub i32);
11233#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11234pub const DISPID_SPPsCount: DISPID_SpeechPhraseProperties = DISPID_SpeechPhraseProperties(1i32);
11235#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11236pub const DISPID_SPPsItem: DISPID_SpeechPhraseProperties = DISPID_SpeechPhraseProperties(0i32);
11237#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11238pub const DISPID_SPPs_NewEnum: DISPID_SpeechPhraseProperties = DISPID_SpeechPhraseProperties(-4i32);
11239impl ::core::marker::Copy for DISPID_SpeechPhraseProperties {}
11240impl ::core::clone::Clone for DISPID_SpeechPhraseProperties {
11241 fn clone(&self) -> Self {
11242 *self
11243 }
11244}
11245impl ::core::default::Default for DISPID_SpeechPhraseProperties {
11246 fn default() -> Self {
11247 Self(0)
11248 }
11249}
11250impl ::windows::core::TypeKind for DISPID_SpeechPhraseProperties {
11251 type TypeKind = ::windows::core::CopyType;
11252}
11253impl ::core::fmt::Debug for DISPID_SpeechPhraseProperties {
11254 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11255 f.debug_tuple("DISPID_SpeechPhraseProperties").field(&self.0).finish()
11256 }
11257}
11258#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11259#[repr(transparent)]
11260#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11261pub struct DISPID_SpeechPhraseProperty(pub i32);
11262#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11263pub const DISPID_SPPName: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(1i32);
11264#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11265pub const DISPID_SPPId: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(2i32);
11266#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11267pub const DISPID_SPPValue: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(3i32);
11268#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11269pub const DISPID_SPPFirstElement: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(4i32);
11270#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11271pub const DISPID_SPPNumberOfElements: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(5i32);
11272#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11273pub const DISPID_SPPEngineConfidence: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(6i32);
11274#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11275pub const DISPID_SPPConfidence: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(7i32);
11276#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11277pub const DISPID_SPPParent: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(8i32);
11278#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11279pub const DISPID_SPPChildren: DISPID_SpeechPhraseProperty = DISPID_SpeechPhraseProperty(9i32);
11280impl ::core::marker::Copy for DISPID_SpeechPhraseProperty {}
11281impl ::core::clone::Clone for DISPID_SpeechPhraseProperty {
11282 fn clone(&self) -> Self {
11283 *self
11284 }
11285}
11286impl ::core::default::Default for DISPID_SpeechPhraseProperty {
11287 fn default() -> Self {
11288 Self(0)
11289 }
11290}
11291impl ::windows::core::TypeKind for DISPID_SpeechPhraseProperty {
11292 type TypeKind = ::windows::core::CopyType;
11293}
11294impl ::core::fmt::Debug for DISPID_SpeechPhraseProperty {
11295 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11296 f.debug_tuple("DISPID_SpeechPhraseProperty").field(&self.0).finish()
11297 }
11298}
11299#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11300#[repr(transparent)]
11301#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11302pub struct DISPID_SpeechPhraseReplacement(pub i32);
11303#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11304pub const DISPID_SPRDisplayAttributes: DISPID_SpeechPhraseReplacement = DISPID_SpeechPhraseReplacement(1i32);
11305#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11306pub const DISPID_SPRText: DISPID_SpeechPhraseReplacement = DISPID_SpeechPhraseReplacement(2i32);
11307#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11308pub const DISPID_SPRFirstElement: DISPID_SpeechPhraseReplacement = DISPID_SpeechPhraseReplacement(3i32);
11309#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11310pub const DISPID_SPRNumberOfElements: DISPID_SpeechPhraseReplacement = DISPID_SpeechPhraseReplacement(4i32);
11311impl ::core::marker::Copy for DISPID_SpeechPhraseReplacement {}
11312impl ::core::clone::Clone for DISPID_SpeechPhraseReplacement {
11313 fn clone(&self) -> Self {
11314 *self
11315 }
11316}
11317impl ::core::default::Default for DISPID_SpeechPhraseReplacement {
11318 fn default() -> Self {
11319 Self(0)
11320 }
11321}
11322impl ::windows::core::TypeKind for DISPID_SpeechPhraseReplacement {
11323 type TypeKind = ::windows::core::CopyType;
11324}
11325impl ::core::fmt::Debug for DISPID_SpeechPhraseReplacement {
11326 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11327 f.debug_tuple("DISPID_SpeechPhraseReplacement").field(&self.0).finish()
11328 }
11329}
11330#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11331#[repr(transparent)]
11332#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11333pub struct DISPID_SpeechPhraseReplacements(pub i32);
11334#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11335pub const DISPID_SPRsCount: DISPID_SpeechPhraseReplacements = DISPID_SpeechPhraseReplacements(1i32);
11336#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11337pub const DISPID_SPRsItem: DISPID_SpeechPhraseReplacements = DISPID_SpeechPhraseReplacements(0i32);
11338#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11339pub const DISPID_SPRs_NewEnum: DISPID_SpeechPhraseReplacements = DISPID_SpeechPhraseReplacements(-4i32);
11340impl ::core::marker::Copy for DISPID_SpeechPhraseReplacements {}
11341impl ::core::clone::Clone for DISPID_SpeechPhraseReplacements {
11342 fn clone(&self) -> Self {
11343 *self
11344 }
11345}
11346impl ::core::default::Default for DISPID_SpeechPhraseReplacements {
11347 fn default() -> Self {
11348 Self(0)
11349 }
11350}
11351impl ::windows::core::TypeKind for DISPID_SpeechPhraseReplacements {
11352 type TypeKind = ::windows::core::CopyType;
11353}
11354impl ::core::fmt::Debug for DISPID_SpeechPhraseReplacements {
11355 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11356 f.debug_tuple("DISPID_SpeechPhraseReplacements").field(&self.0).finish()
11357 }
11358}
11359#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11360#[repr(transparent)]
11361#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11362pub struct DISPID_SpeechPhraseRule(pub i32);
11363#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11364pub const DISPID_SPRuleName: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(1i32);
11365#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11366pub const DISPID_SPRuleId: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(2i32);
11367#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11368pub const DISPID_SPRuleFirstElement: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(3i32);
11369#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11370pub const DISPID_SPRuleNumberOfElements: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(4i32);
11371#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11372pub const DISPID_SPRuleParent: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(5i32);
11373#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11374pub const DISPID_SPRuleChildren: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(6i32);
11375#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11376pub const DISPID_SPRuleConfidence: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(7i32);
11377#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11378pub const DISPID_SPRuleEngineConfidence: DISPID_SpeechPhraseRule = DISPID_SpeechPhraseRule(8i32);
11379impl ::core::marker::Copy for DISPID_SpeechPhraseRule {}
11380impl ::core::clone::Clone for DISPID_SpeechPhraseRule {
11381 fn clone(&self) -> Self {
11382 *self
11383 }
11384}
11385impl ::core::default::Default for DISPID_SpeechPhraseRule {
11386 fn default() -> Self {
11387 Self(0)
11388 }
11389}
11390impl ::windows::core::TypeKind for DISPID_SpeechPhraseRule {
11391 type TypeKind = ::windows::core::CopyType;
11392}
11393impl ::core::fmt::Debug for DISPID_SpeechPhraseRule {
11394 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11395 f.debug_tuple("DISPID_SpeechPhraseRule").field(&self.0).finish()
11396 }
11397}
11398#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11399#[repr(transparent)]
11400#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11401pub struct DISPID_SpeechPhraseRules(pub i32);
11402#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11403pub const DISPID_SPRulesCount: DISPID_SpeechPhraseRules = DISPID_SpeechPhraseRules(1i32);
11404#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11405pub const DISPID_SPRulesItem: DISPID_SpeechPhraseRules = DISPID_SpeechPhraseRules(0i32);
11406#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11407pub const DISPID_SPRules_NewEnum: DISPID_SpeechPhraseRules = DISPID_SpeechPhraseRules(-4i32);
11408impl ::core::marker::Copy for DISPID_SpeechPhraseRules {}
11409impl ::core::clone::Clone for DISPID_SpeechPhraseRules {
11410 fn clone(&self) -> Self {
11411 *self
11412 }
11413}
11414impl ::core::default::Default for DISPID_SpeechPhraseRules {
11415 fn default() -> Self {
11416 Self(0)
11417 }
11418}
11419impl ::windows::core::TypeKind for DISPID_SpeechPhraseRules {
11420 type TypeKind = ::windows::core::CopyType;
11421}
11422impl ::core::fmt::Debug for DISPID_SpeechPhraseRules {
11423 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11424 f.debug_tuple("DISPID_SpeechPhraseRules").field(&self.0).finish()
11425 }
11426}
11427#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11428#[repr(transparent)]
11429#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11430pub struct DISPID_SpeechRecoContext(pub i32);
11431#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11432pub const DISPID_SRCRecognizer: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(1i32);
11433#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11434pub const DISPID_SRCAudioInInterferenceStatus: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(2i32);
11435#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11436pub const DISPID_SRCRequestedUIType: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(3i32);
11437#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11438pub const DISPID_SRCVoice: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(4i32);
11439#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11440pub const DISPID_SRAllowVoiceFormatMatchingOnNextSet: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(5i32);
11441#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11442pub const DISPID_SRCVoicePurgeEvent: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(6i32);
11443#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11444pub const DISPID_SRCEventInterests: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(7i32);
11445#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11446pub const DISPID_SRCCmdMaxAlternates: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(8i32);
11447#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11448pub const DISPID_SRCState: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(9i32);
11449#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11450pub const DISPID_SRCRetainedAudio: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(10i32);
11451#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11452pub const DISPID_SRCRetainedAudioFormat: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(11i32);
11453#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11454pub const DISPID_SRCPause: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(12i32);
11455#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11456pub const DISPID_SRCResume: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(13i32);
11457#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11458pub const DISPID_SRCCreateGrammar: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(14i32);
11459#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11460pub const DISPID_SRCCreateResultFromMemory: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(15i32);
11461#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11462pub const DISPID_SRCBookmark: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(16i32);
11463#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11464pub const DISPID_SRCSetAdaptationData: DISPID_SpeechRecoContext = DISPID_SpeechRecoContext(17i32);
11465impl ::core::marker::Copy for DISPID_SpeechRecoContext {}
11466impl ::core::clone::Clone for DISPID_SpeechRecoContext {
11467 fn clone(&self) -> Self {
11468 *self
11469 }
11470}
11471impl ::core::default::Default for DISPID_SpeechRecoContext {
11472 fn default() -> Self {
11473 Self(0)
11474 }
11475}
11476impl ::windows::core::TypeKind for DISPID_SpeechRecoContext {
11477 type TypeKind = ::windows::core::CopyType;
11478}
11479impl ::core::fmt::Debug for DISPID_SpeechRecoContext {
11480 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11481 f.debug_tuple("DISPID_SpeechRecoContext").field(&self.0).finish()
11482 }
11483}
11484#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11485#[repr(transparent)]
11486#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11487pub struct DISPID_SpeechRecoContextEvents(pub i32);
11488#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11489pub const DISPID_SRCEStartStream: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(1i32);
11490#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11491pub const DISPID_SRCEEndStream: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(2i32);
11492#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11493pub const DISPID_SRCEBookmark: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(3i32);
11494#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11495pub const DISPID_SRCESoundStart: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(4i32);
11496#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11497pub const DISPID_SRCESoundEnd: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(5i32);
11498#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11499pub const DISPID_SRCEPhraseStart: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(6i32);
11500#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11501pub const DISPID_SRCERecognition: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(7i32);
11502#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11503pub const DISPID_SRCEHypothesis: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(8i32);
11504#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11505pub const DISPID_SRCEPropertyNumberChange: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(9i32);
11506#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11507pub const DISPID_SRCEPropertyStringChange: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(10i32);
11508#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11509pub const DISPID_SRCEFalseRecognition: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(11i32);
11510#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11511pub const DISPID_SRCEInterference: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(12i32);
11512#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11513pub const DISPID_SRCERequestUI: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(13i32);
11514#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11515pub const DISPID_SRCERecognizerStateChange: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(14i32);
11516#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11517pub const DISPID_SRCEAdaptation: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(15i32);
11518#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11519pub const DISPID_SRCERecognitionForOtherContext: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(16i32);
11520#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11521pub const DISPID_SRCEAudioLevel: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(17i32);
11522#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11523pub const DISPID_SRCEEnginePrivate: DISPID_SpeechRecoContextEvents = DISPID_SpeechRecoContextEvents(18i32);
11524impl ::core::marker::Copy for DISPID_SpeechRecoContextEvents {}
11525impl ::core::clone::Clone for DISPID_SpeechRecoContextEvents {
11526 fn clone(&self) -> Self {
11527 *self
11528 }
11529}
11530impl ::core::default::Default for DISPID_SpeechRecoContextEvents {
11531 fn default() -> Self {
11532 Self(0)
11533 }
11534}
11535impl ::windows::core::TypeKind for DISPID_SpeechRecoContextEvents {
11536 type TypeKind = ::windows::core::CopyType;
11537}
11538impl ::core::fmt::Debug for DISPID_SpeechRecoContextEvents {
11539 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11540 f.debug_tuple("DISPID_SpeechRecoContextEvents").field(&self.0).finish()
11541 }
11542}
11543#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11544#[repr(transparent)]
11545#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11546pub struct DISPID_SpeechRecoResult(pub i32);
11547#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11548pub const DISPID_SRRRecoContext: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(1i32);
11549#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11550pub const DISPID_SRRTimes: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(2i32);
11551#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11552pub const DISPID_SRRAudioFormat: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(3i32);
11553#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11554pub const DISPID_SRRPhraseInfo: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(4i32);
11555#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11556pub const DISPID_SRRAlternates: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(5i32);
11557#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11558pub const DISPID_SRRAudio: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(6i32);
11559#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11560pub const DISPID_SRRSpeakAudio: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(7i32);
11561#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11562pub const DISPID_SRRSaveToMemory: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(8i32);
11563#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11564pub const DISPID_SRRDiscardResultInfo: DISPID_SpeechRecoResult = DISPID_SpeechRecoResult(9i32);
11565impl ::core::marker::Copy for DISPID_SpeechRecoResult {}
11566impl ::core::clone::Clone for DISPID_SpeechRecoResult {
11567 fn clone(&self) -> Self {
11568 *self
11569 }
11570}
11571impl ::core::default::Default for DISPID_SpeechRecoResult {
11572 fn default() -> Self {
11573 Self(0)
11574 }
11575}
11576impl ::windows::core::TypeKind for DISPID_SpeechRecoResult {
11577 type TypeKind = ::windows::core::CopyType;
11578}
11579impl ::core::fmt::Debug for DISPID_SpeechRecoResult {
11580 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11581 f.debug_tuple("DISPID_SpeechRecoResult").field(&self.0).finish()
11582 }
11583}
11584#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11585#[repr(transparent)]
11586#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11587pub struct DISPID_SpeechRecoResult2(pub i32);
11588#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11589pub const DISPID_SRRSetTextFeedback: DISPID_SpeechRecoResult2 = DISPID_SpeechRecoResult2(12i32);
11590impl ::core::marker::Copy for DISPID_SpeechRecoResult2 {}
11591impl ::core::clone::Clone for DISPID_SpeechRecoResult2 {
11592 fn clone(&self) -> Self {
11593 *self
11594 }
11595}
11596impl ::core::default::Default for DISPID_SpeechRecoResult2 {
11597 fn default() -> Self {
11598 Self(0)
11599 }
11600}
11601impl ::windows::core::TypeKind for DISPID_SpeechRecoResult2 {
11602 type TypeKind = ::windows::core::CopyType;
11603}
11604impl ::core::fmt::Debug for DISPID_SpeechRecoResult2 {
11605 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11606 f.debug_tuple("DISPID_SpeechRecoResult2").field(&self.0).finish()
11607 }
11608}
11609#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11610#[repr(transparent)]
11611#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11612pub struct DISPID_SpeechRecoResultTimes(pub i32);
11613#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11614pub const DISPID_SRRTStreamTime: DISPID_SpeechRecoResultTimes = DISPID_SpeechRecoResultTimes(1i32);
11615#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11616pub const DISPID_SRRTLength: DISPID_SpeechRecoResultTimes = DISPID_SpeechRecoResultTimes(2i32);
11617#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11618pub const DISPID_SRRTTickCount: DISPID_SpeechRecoResultTimes = DISPID_SpeechRecoResultTimes(3i32);
11619#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11620pub const DISPID_SRRTOffsetFromStart: DISPID_SpeechRecoResultTimes = DISPID_SpeechRecoResultTimes(4i32);
11621impl ::core::marker::Copy for DISPID_SpeechRecoResultTimes {}
11622impl ::core::clone::Clone for DISPID_SpeechRecoResultTimes {
11623 fn clone(&self) -> Self {
11624 *self
11625 }
11626}
11627impl ::core::default::Default for DISPID_SpeechRecoResultTimes {
11628 fn default() -> Self {
11629 Self(0)
11630 }
11631}
11632impl ::windows::core::TypeKind for DISPID_SpeechRecoResultTimes {
11633 type TypeKind = ::windows::core::CopyType;
11634}
11635impl ::core::fmt::Debug for DISPID_SpeechRecoResultTimes {
11636 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11637 f.debug_tuple("DISPID_SpeechRecoResultTimes").field(&self.0).finish()
11638 }
11639}
11640#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11641#[repr(transparent)]
11642#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11643pub struct DISPID_SpeechRecognizer(pub i32);
11644#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11645pub const DISPID_SRRecognizer: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(1i32);
11646#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11647pub const DISPID_SRAllowAudioInputFormatChangesOnNextSet: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(2i32);
11648#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11649pub const DISPID_SRAudioInput: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(3i32);
11650#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11651pub const DISPID_SRAudioInputStream: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(4i32);
11652#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11653pub const DISPID_SRIsShared: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(5i32);
11654#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11655pub const DISPID_SRState: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(6i32);
11656#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11657pub const DISPID_SRStatus: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(7i32);
11658#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11659pub const DISPID_SRProfile: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(8i32);
11660#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11661pub const DISPID_SREmulateRecognition: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(9i32);
11662#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11663pub const DISPID_SRCreateRecoContext: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(10i32);
11664#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11665pub const DISPID_SRGetFormat: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(11i32);
11666#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11667pub const DISPID_SRSetPropertyNumber: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(12i32);
11668#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11669pub const DISPID_SRGetPropertyNumber: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(13i32);
11670#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11671pub const DISPID_SRSetPropertyString: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(14i32);
11672#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11673pub const DISPID_SRGetPropertyString: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(15i32);
11674#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11675pub const DISPID_SRIsUISupported: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(16i32);
11676#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11677pub const DISPID_SRDisplayUI: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(17i32);
11678#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11679pub const DISPID_SRGetRecognizers: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(18i32);
11680#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11681pub const DISPID_SVGetAudioInputs: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(19i32);
11682#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11683pub const DISPID_SVGetProfiles: DISPID_SpeechRecognizer = DISPID_SpeechRecognizer(20i32);
11684impl ::core::marker::Copy for DISPID_SpeechRecognizer {}
11685impl ::core::clone::Clone for DISPID_SpeechRecognizer {
11686 fn clone(&self) -> Self {
11687 *self
11688 }
11689}
11690impl ::core::default::Default for DISPID_SpeechRecognizer {
11691 fn default() -> Self {
11692 Self(0)
11693 }
11694}
11695impl ::windows::core::TypeKind for DISPID_SpeechRecognizer {
11696 type TypeKind = ::windows::core::CopyType;
11697}
11698impl ::core::fmt::Debug for DISPID_SpeechRecognizer {
11699 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11700 f.debug_tuple("DISPID_SpeechRecognizer").field(&self.0).finish()
11701 }
11702}
11703#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11704#[repr(transparent)]
11705#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11706pub struct DISPID_SpeechRecognizerStatus(pub i32);
11707#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11708pub const DISPID_SRSAudioStatus: DISPID_SpeechRecognizerStatus = DISPID_SpeechRecognizerStatus(1i32);
11709#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11710pub const DISPID_SRSCurrentStreamPosition: DISPID_SpeechRecognizerStatus = DISPID_SpeechRecognizerStatus(2i32);
11711#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11712pub const DISPID_SRSCurrentStreamNumber: DISPID_SpeechRecognizerStatus = DISPID_SpeechRecognizerStatus(3i32);
11713#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11714pub const DISPID_SRSNumberOfActiveRules: DISPID_SpeechRecognizerStatus = DISPID_SpeechRecognizerStatus(4i32);
11715#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11716pub const DISPID_SRSClsidEngine: DISPID_SpeechRecognizerStatus = DISPID_SpeechRecognizerStatus(5i32);
11717#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11718pub const DISPID_SRSSupportedLanguages: DISPID_SpeechRecognizerStatus = DISPID_SpeechRecognizerStatus(6i32);
11719impl ::core::marker::Copy for DISPID_SpeechRecognizerStatus {}
11720impl ::core::clone::Clone for DISPID_SpeechRecognizerStatus {
11721 fn clone(&self) -> Self {
11722 *self
11723 }
11724}
11725impl ::core::default::Default for DISPID_SpeechRecognizerStatus {
11726 fn default() -> Self {
11727 Self(0)
11728 }
11729}
11730impl ::windows::core::TypeKind for DISPID_SpeechRecognizerStatus {
11731 type TypeKind = ::windows::core::CopyType;
11732}
11733impl ::core::fmt::Debug for DISPID_SpeechRecognizerStatus {
11734 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11735 f.debug_tuple("DISPID_SpeechRecognizerStatus").field(&self.0).finish()
11736 }
11737}
11738#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11739#[repr(transparent)]
11740#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11741pub struct DISPID_SpeechVoice(pub i32);
11742#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11743pub const DISPID_SVStatus: DISPID_SpeechVoice = DISPID_SpeechVoice(1i32);
11744#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11745pub const DISPID_SVVoice: DISPID_SpeechVoice = DISPID_SpeechVoice(2i32);
11746#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11747pub const DISPID_SVAudioOutput: DISPID_SpeechVoice = DISPID_SpeechVoice(3i32);
11748#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11749pub const DISPID_SVAudioOutputStream: DISPID_SpeechVoice = DISPID_SpeechVoice(4i32);
11750#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11751pub const DISPID_SVRate: DISPID_SpeechVoice = DISPID_SpeechVoice(5i32);
11752#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11753pub const DISPID_SVVolume: DISPID_SpeechVoice = DISPID_SpeechVoice(6i32);
11754#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11755pub const DISPID_SVAllowAudioOuputFormatChangesOnNextSet: DISPID_SpeechVoice = DISPID_SpeechVoice(7i32);
11756#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11757pub const DISPID_SVEventInterests: DISPID_SpeechVoice = DISPID_SpeechVoice(8i32);
11758#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11759pub const DISPID_SVPriority: DISPID_SpeechVoice = DISPID_SpeechVoice(9i32);
11760#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11761pub const DISPID_SVAlertBoundary: DISPID_SpeechVoice = DISPID_SpeechVoice(10i32);
11762#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11763pub const DISPID_SVSyncronousSpeakTimeout: DISPID_SpeechVoice = DISPID_SpeechVoice(11i32);
11764#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11765pub const DISPID_SVSpeak: DISPID_SpeechVoice = DISPID_SpeechVoice(12i32);
11766#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11767pub const DISPID_SVSpeakStream: DISPID_SpeechVoice = DISPID_SpeechVoice(13i32);
11768#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11769pub const DISPID_SVPause: DISPID_SpeechVoice = DISPID_SpeechVoice(14i32);
11770#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11771pub const DISPID_SVResume: DISPID_SpeechVoice = DISPID_SpeechVoice(15i32);
11772#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11773pub const DISPID_SVSkip: DISPID_SpeechVoice = DISPID_SpeechVoice(16i32);
11774#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11775pub const DISPID_SVGetVoices: DISPID_SpeechVoice = DISPID_SpeechVoice(17i32);
11776#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11777pub const DISPID_SVGetAudioOutputs: DISPID_SpeechVoice = DISPID_SpeechVoice(18i32);
11778#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11779pub const DISPID_SVWaitUntilDone: DISPID_SpeechVoice = DISPID_SpeechVoice(19i32);
11780#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11781pub const DISPID_SVSpeakCompleteEvent: DISPID_SpeechVoice = DISPID_SpeechVoice(20i32);
11782#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11783pub const DISPID_SVIsUISupported: DISPID_SpeechVoice = DISPID_SpeechVoice(21i32);
11784#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11785pub const DISPID_SVDisplayUI: DISPID_SpeechVoice = DISPID_SpeechVoice(22i32);
11786impl ::core::marker::Copy for DISPID_SpeechVoice {}
11787impl ::core::clone::Clone for DISPID_SpeechVoice {
11788 fn clone(&self) -> Self {
11789 *self
11790 }
11791}
11792impl ::core::default::Default for DISPID_SpeechVoice {
11793 fn default() -> Self {
11794 Self(0)
11795 }
11796}
11797impl ::windows::core::TypeKind for DISPID_SpeechVoice {
11798 type TypeKind = ::windows::core::CopyType;
11799}
11800impl ::core::fmt::Debug for DISPID_SpeechVoice {
11801 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11802 f.debug_tuple("DISPID_SpeechVoice").field(&self.0).finish()
11803 }
11804}
11805#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11806#[repr(transparent)]
11807#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11808pub struct DISPID_SpeechVoiceEvent(pub i32);
11809#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11810pub const DISPID_SVEStreamStart: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(1i32);
11811#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11812pub const DISPID_SVEStreamEnd: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(2i32);
11813#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11814pub const DISPID_SVEVoiceChange: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(3i32);
11815#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11816pub const DISPID_SVEBookmark: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(4i32);
11817#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11818pub const DISPID_SVEWord: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(5i32);
11819#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11820pub const DISPID_SVEPhoneme: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(6i32);
11821#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11822pub const DISPID_SVESentenceBoundary: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(7i32);
11823#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11824pub const DISPID_SVEViseme: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(8i32);
11825#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11826pub const DISPID_SVEAudioLevel: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(9i32);
11827#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11828pub const DISPID_SVEEnginePrivate: DISPID_SpeechVoiceEvent = DISPID_SpeechVoiceEvent(10i32);
11829impl ::core::marker::Copy for DISPID_SpeechVoiceEvent {}
11830impl ::core::clone::Clone for DISPID_SpeechVoiceEvent {
11831 fn clone(&self) -> Self {
11832 *self
11833 }
11834}
11835impl ::core::default::Default for DISPID_SpeechVoiceEvent {
11836 fn default() -> Self {
11837 Self(0)
11838 }
11839}
11840impl ::windows::core::TypeKind for DISPID_SpeechVoiceEvent {
11841 type TypeKind = ::windows::core::CopyType;
11842}
11843impl ::core::fmt::Debug for DISPID_SpeechVoiceEvent {
11844 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11845 f.debug_tuple("DISPID_SpeechVoiceEvent").field(&self.0).finish()
11846 }
11847}
11848#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11849#[repr(transparent)]
11850#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11851pub struct DISPID_SpeechVoiceStatus(pub i32);
11852#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11853pub const DISPID_SVSCurrentStreamNumber: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(1i32);
11854#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11855pub const DISPID_SVSLastStreamNumberQueued: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(2i32);
11856#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11857pub const DISPID_SVSLastResult: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(3i32);
11858#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11859pub const DISPID_SVSRunningState: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(4i32);
11860#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11861pub const DISPID_SVSInputWordPosition: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(5i32);
11862#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11863pub const DISPID_SVSInputWordLength: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(6i32);
11864#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11865pub const DISPID_SVSInputSentencePosition: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(7i32);
11866#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11867pub const DISPID_SVSInputSentenceLength: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(8i32);
11868#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11869pub const DISPID_SVSLastBookmark: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(9i32);
11870#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11871pub const DISPID_SVSLastBookmarkId: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(10i32);
11872#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11873pub const DISPID_SVSPhonemeId: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(11i32);
11874#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11875pub const DISPID_SVSVisemeId: DISPID_SpeechVoiceStatus = DISPID_SpeechVoiceStatus(12i32);
11876impl ::core::marker::Copy for DISPID_SpeechVoiceStatus {}
11877impl ::core::clone::Clone for DISPID_SpeechVoiceStatus {
11878 fn clone(&self) -> Self {
11879 *self
11880 }
11881}
11882impl ::core::default::Default for DISPID_SpeechVoiceStatus {
11883 fn default() -> Self {
11884 Self(0)
11885 }
11886}
11887impl ::windows::core::TypeKind for DISPID_SpeechVoiceStatus {
11888 type TypeKind = ::windows::core::CopyType;
11889}
11890impl ::core::fmt::Debug for DISPID_SpeechVoiceStatus {
11891 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11892 f.debug_tuple("DISPID_SpeechVoiceStatus").field(&self.0).finish()
11893 }
11894}
11895#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11896#[repr(transparent)]
11897#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11898pub struct DISPID_SpeechWaveFormatEx(pub i32);
11899#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11900pub const DISPID_SWFEFormatTag: DISPID_SpeechWaveFormatEx = DISPID_SpeechWaveFormatEx(1i32);
11901#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11902pub const DISPID_SWFEChannels: DISPID_SpeechWaveFormatEx = DISPID_SpeechWaveFormatEx(2i32);
11903#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11904pub const DISPID_SWFESamplesPerSec: DISPID_SpeechWaveFormatEx = DISPID_SpeechWaveFormatEx(3i32);
11905#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11906pub const DISPID_SWFEAvgBytesPerSec: DISPID_SpeechWaveFormatEx = DISPID_SpeechWaveFormatEx(4i32);
11907#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11908pub const DISPID_SWFEBlockAlign: DISPID_SpeechWaveFormatEx = DISPID_SpeechWaveFormatEx(5i32);
11909#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11910pub const DISPID_SWFEBitsPerSample: DISPID_SpeechWaveFormatEx = DISPID_SpeechWaveFormatEx(6i32);
11911#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11912pub const DISPID_SWFEExtraData: DISPID_SpeechWaveFormatEx = DISPID_SpeechWaveFormatEx(7i32);
11913impl ::core::marker::Copy for DISPID_SpeechWaveFormatEx {}
11914impl ::core::clone::Clone for DISPID_SpeechWaveFormatEx {
11915 fn clone(&self) -> Self {
11916 *self
11917 }
11918}
11919impl ::core::default::Default for DISPID_SpeechWaveFormatEx {
11920 fn default() -> Self {
11921 Self(0)
11922 }
11923}
11924impl ::windows::core::TypeKind for DISPID_SpeechWaveFormatEx {
11925 type TypeKind = ::windows::core::CopyType;
11926}
11927impl ::core::fmt::Debug for DISPID_SpeechWaveFormatEx {
11928 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11929 f.debug_tuple("DISPID_SpeechWaveFormatEx").field(&self.0).finish()
11930 }
11931}
11932#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11933#[repr(transparent)]
11934#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11935pub struct DISPID_SpeechXMLRecoResult(pub i32);
11936#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11937pub const DISPID_SRRGetXMLResult: DISPID_SpeechXMLRecoResult = DISPID_SpeechXMLRecoResult(10i32);
11938#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11939pub const DISPID_SRRGetXMLErrorInfo: DISPID_SpeechXMLRecoResult = DISPID_SpeechXMLRecoResult(11i32);
11940impl ::core::marker::Copy for DISPID_SpeechXMLRecoResult {}
11941impl ::core::clone::Clone for DISPID_SpeechXMLRecoResult {
11942 fn clone(&self) -> Self {
11943 *self
11944 }
11945}
11946impl ::core::default::Default for DISPID_SpeechXMLRecoResult {
11947 fn default() -> Self {
11948 Self(0)
11949 }
11950}
11951impl ::windows::core::TypeKind for DISPID_SpeechXMLRecoResult {
11952 type TypeKind = ::windows::core::CopyType;
11953}
11954impl ::core::fmt::Debug for DISPID_SpeechXMLRecoResult {
11955 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11956 f.debug_tuple("DISPID_SpeechXMLRecoResult").field(&self.0).finish()
11957 }
11958}
11959#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11960#[repr(transparent)]
11961#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11962pub struct PHONETICALPHABET(pub i32);
11963#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11964pub const PA_Ipa: PHONETICALPHABET = PHONETICALPHABET(0i32);
11965#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11966pub const PA_Ups: PHONETICALPHABET = PHONETICALPHABET(1i32);
11967#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11968pub const PA_Sapi: PHONETICALPHABET = PHONETICALPHABET(2i32);
11969impl ::core::marker::Copy for PHONETICALPHABET {}
11970impl ::core::clone::Clone for PHONETICALPHABET {
11971 fn clone(&self) -> Self {
11972 *self
11973 }
11974}
11975impl ::core::default::Default for PHONETICALPHABET {
11976 fn default() -> Self {
11977 Self(0)
11978 }
11979}
11980impl ::windows::core::TypeKind for PHONETICALPHABET {
11981 type TypeKind = ::windows::core::CopyType;
11982}
11983impl ::core::fmt::Debug for PHONETICALPHABET {
11984 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
11985 f.debug_tuple("PHONETICALPHABET").field(&self.0).finish()
11986 }
11987}
11988#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11989#[repr(transparent)]
11990#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
11991pub struct SPADAPTATIONRELEVANCE(pub i32);
11992#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11993pub const SPAR_Unknown: SPADAPTATIONRELEVANCE = SPADAPTATIONRELEVANCE(0i32);
11994#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11995pub const SPAR_Low: SPADAPTATIONRELEVANCE = SPADAPTATIONRELEVANCE(1i32);
11996#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11997pub const SPAR_Medium: SPADAPTATIONRELEVANCE = SPADAPTATIONRELEVANCE(2i32);
11998#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
11999pub const SPAR_High: SPADAPTATIONRELEVANCE = SPADAPTATIONRELEVANCE(3i32);
12000impl ::core::marker::Copy for SPADAPTATIONRELEVANCE {}
12001impl ::core::clone::Clone for SPADAPTATIONRELEVANCE {
12002 fn clone(&self) -> Self {
12003 *self
12004 }
12005}
12006impl ::core::default::Default for SPADAPTATIONRELEVANCE {
12007 fn default() -> Self {
12008 Self(0)
12009 }
12010}
12011impl ::windows::core::TypeKind for SPADAPTATIONRELEVANCE {
12012 type TypeKind = ::windows::core::CopyType;
12013}
12014impl ::core::fmt::Debug for SPADAPTATIONRELEVANCE {
12015 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12016 f.debug_tuple("SPADAPTATIONRELEVANCE").field(&self.0).finish()
12017 }
12018}
12019#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12020#[repr(transparent)]
12021#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12022pub struct SPADAPTATIONSETTINGS(pub i32);
12023#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12024pub const SPADS_Default: SPADAPTATIONSETTINGS = SPADAPTATIONSETTINGS(0i32);
12025#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12026pub const SPADS_CurrentRecognizer: SPADAPTATIONSETTINGS = SPADAPTATIONSETTINGS(1i32);
12027#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12028pub const SPADS_RecoProfile: SPADAPTATIONSETTINGS = SPADAPTATIONSETTINGS(2i32);
12029#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12030pub const SPADS_Immediate: SPADAPTATIONSETTINGS = SPADAPTATIONSETTINGS(4i32);
12031#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12032pub const SPADS_Reset: SPADAPTATIONSETTINGS = SPADAPTATIONSETTINGS(8i32);
12033#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12034pub const SPADS_HighVolumeDataSource: SPADAPTATIONSETTINGS = SPADAPTATIONSETTINGS(16i32);
12035impl ::core::marker::Copy for SPADAPTATIONSETTINGS {}
12036impl ::core::clone::Clone for SPADAPTATIONSETTINGS {
12037 fn clone(&self) -> Self {
12038 *self
12039 }
12040}
12041impl ::core::default::Default for SPADAPTATIONSETTINGS {
12042 fn default() -> Self {
12043 Self(0)
12044 }
12045}
12046impl ::windows::core::TypeKind for SPADAPTATIONSETTINGS {
12047 type TypeKind = ::windows::core::CopyType;
12048}
12049impl ::core::fmt::Debug for SPADAPTATIONSETTINGS {
12050 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12051 f.debug_tuple("SPADAPTATIONSETTINGS").field(&self.0).finish()
12052 }
12053}
12054#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12055#[repr(transparent)]
12056#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12057pub struct SPAUDIOOPTIONS(pub i32);
12058#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12059pub const SPAO_NONE: SPAUDIOOPTIONS = SPAUDIOOPTIONS(0i32);
12060#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12061pub const SPAO_RETAIN_AUDIO: SPAUDIOOPTIONS = SPAUDIOOPTIONS(1i32);
12062impl ::core::marker::Copy for SPAUDIOOPTIONS {}
12063impl ::core::clone::Clone for SPAUDIOOPTIONS {
12064 fn clone(&self) -> Self {
12065 *self
12066 }
12067}
12068impl ::core::default::Default for SPAUDIOOPTIONS {
12069 fn default() -> Self {
12070 Self(0)
12071 }
12072}
12073impl ::windows::core::TypeKind for SPAUDIOOPTIONS {
12074 type TypeKind = ::windows::core::CopyType;
12075}
12076impl ::core::fmt::Debug for SPAUDIOOPTIONS {
12077 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12078 f.debug_tuple("SPAUDIOOPTIONS").field(&self.0).finish()
12079 }
12080}
12081#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12082#[repr(transparent)]
12083#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12084pub struct SPAUDIOSTATE(pub i32);
12085#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12086pub const SPAS_CLOSED: SPAUDIOSTATE = SPAUDIOSTATE(0i32);
12087#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12088pub const SPAS_STOP: SPAUDIOSTATE = SPAUDIOSTATE(1i32);
12089#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12090pub const SPAS_PAUSE: SPAUDIOSTATE = SPAUDIOSTATE(2i32);
12091#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12092pub const SPAS_RUN: SPAUDIOSTATE = SPAUDIOSTATE(3i32);
12093impl ::core::marker::Copy for SPAUDIOSTATE {}
12094impl ::core::clone::Clone for SPAUDIOSTATE {
12095 fn clone(&self) -> Self {
12096 *self
12097 }
12098}
12099impl ::core::default::Default for SPAUDIOSTATE {
12100 fn default() -> Self {
12101 Self(0)
12102 }
12103}
12104impl ::windows::core::TypeKind for SPAUDIOSTATE {
12105 type TypeKind = ::windows::core::CopyType;
12106}
12107impl ::core::fmt::Debug for SPAUDIOSTATE {
12108 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12109 f.debug_tuple("SPAUDIOSTATE").field(&self.0).finish()
12110 }
12111}
12112#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12113#[repr(transparent)]
12114#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12115pub struct SPBOOKMARKOPTIONS(pub i32);
12116#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12117pub const SPBO_NONE: SPBOOKMARKOPTIONS = SPBOOKMARKOPTIONS(0i32);
12118#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12119pub const SPBO_PAUSE: SPBOOKMARKOPTIONS = SPBOOKMARKOPTIONS(1i32);
12120#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12121pub const SPBO_AHEAD: SPBOOKMARKOPTIONS = SPBOOKMARKOPTIONS(2i32);
12122#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12123pub const SPBO_TIME_UNITS: SPBOOKMARKOPTIONS = SPBOOKMARKOPTIONS(4i32);
12124impl ::core::marker::Copy for SPBOOKMARKOPTIONS {}
12125impl ::core::clone::Clone for SPBOOKMARKOPTIONS {
12126 fn clone(&self) -> Self {
12127 *self
12128 }
12129}
12130impl ::core::default::Default for SPBOOKMARKOPTIONS {
12131 fn default() -> Self {
12132 Self(0)
12133 }
12134}
12135impl ::windows::core::TypeKind for SPBOOKMARKOPTIONS {
12136 type TypeKind = ::windows::core::CopyType;
12137}
12138impl ::core::fmt::Debug for SPBOOKMARKOPTIONS {
12139 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12140 f.debug_tuple("SPBOOKMARKOPTIONS").field(&self.0).finish()
12141 }
12142}
12143#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12144#[repr(transparent)]
12145#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12146pub struct SPCFGRULEATTRIBUTES(pub i32);
12147#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12148pub const SPRAF_TopLevel: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(1i32);
12149#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12150pub const SPRAF_Active: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(2i32);
12151#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12152pub const SPRAF_Export: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(4i32);
12153#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12154pub const SPRAF_Import: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(8i32);
12155#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12156pub const SPRAF_Interpreter: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(16i32);
12157#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12158pub const SPRAF_Dynamic: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(32i32);
12159#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12160pub const SPRAF_Root: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(64i32);
12161#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12162pub const SPRAF_AutoPause: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(65536i32);
12163#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12164pub const SPRAF_UserDelimited: SPCFGRULEATTRIBUTES = SPCFGRULEATTRIBUTES(131072i32);
12165impl ::core::marker::Copy for SPCFGRULEATTRIBUTES {}
12166impl ::core::clone::Clone for SPCFGRULEATTRIBUTES {
12167 fn clone(&self) -> Self {
12168 *self
12169 }
12170}
12171impl ::core::default::Default for SPCFGRULEATTRIBUTES {
12172 fn default() -> Self {
12173 Self(0)
12174 }
12175}
12176impl ::windows::core::TypeKind for SPCFGRULEATTRIBUTES {
12177 type TypeKind = ::windows::core::CopyType;
12178}
12179impl ::core::fmt::Debug for SPCFGRULEATTRIBUTES {
12180 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12181 f.debug_tuple("SPCFGRULEATTRIBUTES").field(&self.0).finish()
12182 }
12183}
12184#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12185#[repr(transparent)]
12186#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12187pub struct SPCOMMITFLAGS(pub i32);
12188#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12189pub const SPCF_NONE: SPCOMMITFLAGS = SPCOMMITFLAGS(0i32);
12190#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12191pub const SPCF_ADD_TO_USER_LEXICON: SPCOMMITFLAGS = SPCOMMITFLAGS(1i32);
12192#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12193pub const SPCF_DEFINITE_CORRECTION: SPCOMMITFLAGS = SPCOMMITFLAGS(2i32);
12194impl ::core::marker::Copy for SPCOMMITFLAGS {}
12195impl ::core::clone::Clone for SPCOMMITFLAGS {
12196 fn clone(&self) -> Self {
12197 *self
12198 }
12199}
12200impl ::core::default::Default for SPCOMMITFLAGS {
12201 fn default() -> Self {
12202 Self(0)
12203 }
12204}
12205impl ::windows::core::TypeKind for SPCOMMITFLAGS {
12206 type TypeKind = ::windows::core::CopyType;
12207}
12208impl ::core::fmt::Debug for SPCOMMITFLAGS {
12209 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12210 f.debug_tuple("SPCOMMITFLAGS").field(&self.0).finish()
12211 }
12212}
12213#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12214#[repr(transparent)]
12215#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12216pub struct SPCONTEXTSTATE(pub i32);
12217#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12218pub const SPCS_DISABLED: SPCONTEXTSTATE = SPCONTEXTSTATE(0i32);
12219#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12220pub const SPCS_ENABLED: SPCONTEXTSTATE = SPCONTEXTSTATE(1i32);
12221impl ::core::marker::Copy for SPCONTEXTSTATE {}
12222impl ::core::clone::Clone for SPCONTEXTSTATE {
12223 fn clone(&self) -> Self {
12224 *self
12225 }
12226}
12227impl ::core::default::Default for SPCONTEXTSTATE {
12228 fn default() -> Self {
12229 Self(0)
12230 }
12231}
12232impl ::windows::core::TypeKind for SPCONTEXTSTATE {
12233 type TypeKind = ::windows::core::CopyType;
12234}
12235impl ::core::fmt::Debug for SPCONTEXTSTATE {
12236 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12237 f.debug_tuple("SPCONTEXTSTATE").field(&self.0).finish()
12238 }
12239}
12240#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12241#[repr(transparent)]
12242#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12243pub struct SPDATAKEYLOCATION(pub i32);
12244#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12245pub const SPDKL_DefaultLocation: SPDATAKEYLOCATION = SPDATAKEYLOCATION(0i32);
12246#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12247pub const SPDKL_CurrentUser: SPDATAKEYLOCATION = SPDATAKEYLOCATION(1i32);
12248#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12249pub const SPDKL_LocalMachine: SPDATAKEYLOCATION = SPDATAKEYLOCATION(2i32);
12250#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12251pub const SPDKL_CurrentConfig: SPDATAKEYLOCATION = SPDATAKEYLOCATION(5i32);
12252impl ::core::marker::Copy for SPDATAKEYLOCATION {}
12253impl ::core::clone::Clone for SPDATAKEYLOCATION {
12254 fn clone(&self) -> Self {
12255 *self
12256 }
12257}
12258impl ::core::default::Default for SPDATAKEYLOCATION {
12259 fn default() -> Self {
12260 Self(0)
12261 }
12262}
12263impl ::windows::core::TypeKind for SPDATAKEYLOCATION {
12264 type TypeKind = ::windows::core::CopyType;
12265}
12266impl ::core::fmt::Debug for SPDATAKEYLOCATION {
12267 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12268 f.debug_tuple("SPDATAKEYLOCATION").field(&self.0).finish()
12269 }
12270}
12271#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12272#[repr(transparent)]
12273#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12274pub struct SPDISPLAYATTRIBUTES(pub i32);
12275#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12276pub const SPAF_ONE_TRAILING_SPACE: SPDISPLAYATTRIBUTES = SPDISPLAYATTRIBUTES(2i32);
12277#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12278pub const SPAF_TWO_TRAILING_SPACES: SPDISPLAYATTRIBUTES = SPDISPLAYATTRIBUTES(4i32);
12279#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12280pub const SPAF_CONSUME_LEADING_SPACES: SPDISPLAYATTRIBUTES = SPDISPLAYATTRIBUTES(8i32);
12281#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12282pub const SPAF_BUFFER_POSITION: SPDISPLAYATTRIBUTES = SPDISPLAYATTRIBUTES(16i32);
12283#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12284pub const SPAF_ALL: SPDISPLAYATTRIBUTES = SPDISPLAYATTRIBUTES(31i32);
12285#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12286pub const SPAF_USER_SPECIFIED: SPDISPLAYATTRIBUTES = SPDISPLAYATTRIBUTES(128i32);
12287impl ::core::marker::Copy for SPDISPLAYATTRIBUTES {}
12288impl ::core::clone::Clone for SPDISPLAYATTRIBUTES {
12289 fn clone(&self) -> Self {
12290 *self
12291 }
12292}
12293impl ::core::default::Default for SPDISPLAYATTRIBUTES {
12294 fn default() -> Self {
12295 Self(0)
12296 }
12297}
12298impl ::windows::core::TypeKind for SPDISPLAYATTRIBUTES {
12299 type TypeKind = ::windows::core::CopyType;
12300}
12301impl ::core::fmt::Debug for SPDISPLAYATTRIBUTES {
12302 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12303 f.debug_tuple("SPDISPLAYATTRIBUTES").field(&self.0).finish()
12304 }
12305}
12306#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12307#[repr(transparent)]
12308#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12309pub struct SPEAKFLAGS(pub i32);
12310#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12311pub const SPF_DEFAULT: SPEAKFLAGS = SPEAKFLAGS(0i32);
12312#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12313pub const SPF_ASYNC: SPEAKFLAGS = SPEAKFLAGS(1i32);
12314#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12315pub const SPF_PURGEBEFORESPEAK: SPEAKFLAGS = SPEAKFLAGS(2i32);
12316#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12317pub const SPF_IS_FILENAME: SPEAKFLAGS = SPEAKFLAGS(4i32);
12318#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12319pub const SPF_IS_XML: SPEAKFLAGS = SPEAKFLAGS(8i32);
12320#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12321pub const SPF_IS_NOT_XML: SPEAKFLAGS = SPEAKFLAGS(16i32);
12322#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12323pub const SPF_PERSIST_XML: SPEAKFLAGS = SPEAKFLAGS(32i32);
12324#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12325pub const SPF_NLP_SPEAK_PUNC: SPEAKFLAGS = SPEAKFLAGS(64i32);
12326#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12327pub const SPF_PARSE_SAPI: SPEAKFLAGS = SPEAKFLAGS(128i32);
12328#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12329pub const SPF_PARSE_SSML: SPEAKFLAGS = SPEAKFLAGS(256i32);
12330#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12331pub const SPF_PARSE_AUTODETECT: SPEAKFLAGS = SPEAKFLAGS(0i32);
12332#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12333pub const SPF_NLP_MASK: SPEAKFLAGS = SPEAKFLAGS(64i32);
12334#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12335pub const SPF_PARSE_MASK: SPEAKFLAGS = SPEAKFLAGS(384i32);
12336#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12337pub const SPF_VOICE_MASK: SPEAKFLAGS = SPEAKFLAGS(511i32);
12338#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12339pub const SPF_UNUSED_FLAGS: SPEAKFLAGS = SPEAKFLAGS(-512i32);
12340impl ::core::marker::Copy for SPEAKFLAGS {}
12341impl ::core::clone::Clone for SPEAKFLAGS {
12342 fn clone(&self) -> Self {
12343 *self
12344 }
12345}
12346impl ::core::default::Default for SPEAKFLAGS {
12347 fn default() -> Self {
12348 Self(0)
12349 }
12350}
12351impl ::windows::core::TypeKind for SPEAKFLAGS {
12352 type TypeKind = ::windows::core::CopyType;
12353}
12354impl ::core::fmt::Debug for SPEAKFLAGS {
12355 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12356 f.debug_tuple("SPEAKFLAGS").field(&self.0).finish()
12357 }
12358}
12359#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12360#[repr(transparent)]
12361#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12362pub struct SPENDSRSTREAMFLAGS(pub i32);
12363#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12364pub const SPESF_NONE: SPENDSRSTREAMFLAGS = SPENDSRSTREAMFLAGS(0i32);
12365#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12366pub const SPESF_STREAM_RELEASED: SPENDSRSTREAMFLAGS = SPENDSRSTREAMFLAGS(1i32);
12367#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12368pub const SPESF_EMULATED: SPENDSRSTREAMFLAGS = SPENDSRSTREAMFLAGS(2i32);
12369impl ::core::marker::Copy for SPENDSRSTREAMFLAGS {}
12370impl ::core::clone::Clone for SPENDSRSTREAMFLAGS {
12371 fn clone(&self) -> Self {
12372 *self
12373 }
12374}
12375impl ::core::default::Default for SPENDSRSTREAMFLAGS {
12376 fn default() -> Self {
12377 Self(0)
12378 }
12379}
12380impl ::windows::core::TypeKind for SPENDSRSTREAMFLAGS {
12381 type TypeKind = ::windows::core::CopyType;
12382}
12383impl ::core::fmt::Debug for SPENDSRSTREAMFLAGS {
12384 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12385 f.debug_tuple("SPENDSRSTREAMFLAGS").field(&self.0).finish()
12386 }
12387}
12388#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12389#[repr(transparent)]
12390#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12391pub struct SPEVENTENUM(pub i32);
12392#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12393pub const SPEI_UNDEFINED: SPEVENTENUM = SPEVENTENUM(0i32);
12394#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12395pub const SPEI_START_INPUT_STREAM: SPEVENTENUM = SPEVENTENUM(1i32);
12396#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12397pub const SPEI_END_INPUT_STREAM: SPEVENTENUM = SPEVENTENUM(2i32);
12398#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12399pub const SPEI_VOICE_CHANGE: SPEVENTENUM = SPEVENTENUM(3i32);
12400#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12401pub const SPEI_TTS_BOOKMARK: SPEVENTENUM = SPEVENTENUM(4i32);
12402#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12403pub const SPEI_WORD_BOUNDARY: SPEVENTENUM = SPEVENTENUM(5i32);
12404#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12405pub const SPEI_PHONEME: SPEVENTENUM = SPEVENTENUM(6i32);
12406#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12407pub const SPEI_SENTENCE_BOUNDARY: SPEVENTENUM = SPEVENTENUM(7i32);
12408#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12409pub const SPEI_VISEME: SPEVENTENUM = SPEVENTENUM(8i32);
12410#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12411pub const SPEI_TTS_AUDIO_LEVEL: SPEVENTENUM = SPEVENTENUM(9i32);
12412#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12413pub const SPEI_TTS_PRIVATE: SPEVENTENUM = SPEVENTENUM(15i32);
12414#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12415pub const SPEI_MIN_TTS: SPEVENTENUM = SPEVENTENUM(1i32);
12416#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12417pub const SPEI_MAX_TTS: SPEVENTENUM = SPEVENTENUM(15i32);
12418#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12419pub const SPEI_END_SR_STREAM: SPEVENTENUM = SPEVENTENUM(34i32);
12420#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12421pub const SPEI_SOUND_START: SPEVENTENUM = SPEVENTENUM(35i32);
12422#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12423pub const SPEI_SOUND_END: SPEVENTENUM = SPEVENTENUM(36i32);
12424#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12425pub const SPEI_PHRASE_START: SPEVENTENUM = SPEVENTENUM(37i32);
12426#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12427pub const SPEI_RECOGNITION: SPEVENTENUM = SPEVENTENUM(38i32);
12428#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12429pub const SPEI_HYPOTHESIS: SPEVENTENUM = SPEVENTENUM(39i32);
12430#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12431pub const SPEI_SR_BOOKMARK: SPEVENTENUM = SPEVENTENUM(40i32);
12432#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12433pub const SPEI_PROPERTY_NUM_CHANGE: SPEVENTENUM = SPEVENTENUM(41i32);
12434#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12435pub const SPEI_PROPERTY_STRING_CHANGE: SPEVENTENUM = SPEVENTENUM(42i32);
12436#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12437pub const SPEI_FALSE_RECOGNITION: SPEVENTENUM = SPEVENTENUM(43i32);
12438#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12439pub const SPEI_INTERFERENCE: SPEVENTENUM = SPEVENTENUM(44i32);
12440#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12441pub const SPEI_REQUEST_UI: SPEVENTENUM = SPEVENTENUM(45i32);
12442#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12443pub const SPEI_RECO_STATE_CHANGE: SPEVENTENUM = SPEVENTENUM(46i32);
12444#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12445pub const SPEI_ADAPTATION: SPEVENTENUM = SPEVENTENUM(47i32);
12446#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12447pub const SPEI_START_SR_STREAM: SPEVENTENUM = SPEVENTENUM(48i32);
12448#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12449pub const SPEI_RECO_OTHER_CONTEXT: SPEVENTENUM = SPEVENTENUM(49i32);
12450#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12451pub const SPEI_SR_AUDIO_LEVEL: SPEVENTENUM = SPEVENTENUM(50i32);
12452#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12453pub const SPEI_SR_RETAINEDAUDIO: SPEVENTENUM = SPEVENTENUM(51i32);
12454#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12455pub const SPEI_SR_PRIVATE: SPEVENTENUM = SPEVENTENUM(52i32);
12456#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12457pub const SPEI_RESERVED4: SPEVENTENUM = SPEVENTENUM(53i32);
12458#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12459pub const SPEI_RESERVED5: SPEVENTENUM = SPEVENTENUM(54i32);
12460#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12461pub const SPEI_RESERVED6: SPEVENTENUM = SPEVENTENUM(55i32);
12462#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12463pub const SPEI_MIN_SR: SPEVENTENUM = SPEVENTENUM(34i32);
12464#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12465pub const SPEI_MAX_SR: SPEVENTENUM = SPEVENTENUM(55i32);
12466#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12467pub const SPEI_RESERVED1: SPEVENTENUM = SPEVENTENUM(30i32);
12468#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12469pub const SPEI_RESERVED2: SPEVENTENUM = SPEVENTENUM(33i32);
12470#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12471pub const SPEI_RESERVED3: SPEVENTENUM = SPEVENTENUM(63i32);
12472impl ::core::marker::Copy for SPEVENTENUM {}
12473impl ::core::clone::Clone for SPEVENTENUM {
12474 fn clone(&self) -> Self {
12475 *self
12476 }
12477}
12478impl ::core::default::Default for SPEVENTENUM {
12479 fn default() -> Self {
12480 Self(0)
12481 }
12482}
12483impl ::windows::core::TypeKind for SPEVENTENUM {
12484 type TypeKind = ::windows::core::CopyType;
12485}
12486impl ::core::fmt::Debug for SPEVENTENUM {
12487 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12488 f.debug_tuple("SPEVENTENUM").field(&self.0).finish()
12489 }
12490}
12491#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12492#[repr(transparent)]
12493#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12494pub struct SPEVENTLPARAMTYPE(pub i32);
12495#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12496pub const SPET_LPARAM_IS_UNDEFINED: SPEVENTLPARAMTYPE = SPEVENTLPARAMTYPE(0i32);
12497#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12498pub const SPET_LPARAM_IS_TOKEN: SPEVENTLPARAMTYPE = SPEVENTLPARAMTYPE(1i32);
12499#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12500pub const SPET_LPARAM_IS_OBJECT: SPEVENTLPARAMTYPE = SPEVENTLPARAMTYPE(2i32);
12501#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12502pub const SPET_LPARAM_IS_POINTER: SPEVENTLPARAMTYPE = SPEVENTLPARAMTYPE(3i32);
12503#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12504pub const SPET_LPARAM_IS_STRING: SPEVENTLPARAMTYPE = SPEVENTLPARAMTYPE(4i32);
12505impl ::core::marker::Copy for SPEVENTLPARAMTYPE {}
12506impl ::core::clone::Clone for SPEVENTLPARAMTYPE {
12507 fn clone(&self) -> Self {
12508 *self
12509 }
12510}
12511impl ::core::default::Default for SPEVENTLPARAMTYPE {
12512 fn default() -> Self {
12513 Self(0)
12514 }
12515}
12516impl ::windows::core::TypeKind for SPEVENTLPARAMTYPE {
12517 type TypeKind = ::windows::core::CopyType;
12518}
12519impl ::core::fmt::Debug for SPEVENTLPARAMTYPE {
12520 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12521 f.debug_tuple("SPEVENTLPARAMTYPE").field(&self.0).finish()
12522 }
12523}
12524#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12525#[repr(transparent)]
12526#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12527pub struct SPFILEMODE(pub i32);
12528#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12529pub const SPFM_OPEN_READONLY: SPFILEMODE = SPFILEMODE(0i32);
12530#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12531pub const SPFM_OPEN_READWRITE: SPFILEMODE = SPFILEMODE(1i32);
12532#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12533pub const SPFM_CREATE: SPFILEMODE = SPFILEMODE(2i32);
12534#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12535pub const SPFM_CREATE_ALWAYS: SPFILEMODE = SPFILEMODE(3i32);
12536#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12537pub const SPFM_NUM_MODES: SPFILEMODE = SPFILEMODE(4i32);
12538impl ::core::marker::Copy for SPFILEMODE {}
12539impl ::core::clone::Clone for SPFILEMODE {
12540 fn clone(&self) -> Self {
12541 *self
12542 }
12543}
12544impl ::core::default::Default for SPFILEMODE {
12545 fn default() -> Self {
12546 Self(0)
12547 }
12548}
12549impl ::windows::core::TypeKind for SPFILEMODE {
12550 type TypeKind = ::windows::core::CopyType;
12551}
12552impl ::core::fmt::Debug for SPFILEMODE {
12553 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12554 f.debug_tuple("SPFILEMODE").field(&self.0).finish()
12555 }
12556}
12557#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12558#[repr(transparent)]
12559#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12560pub struct SPGRAMMAROPTIONS(pub i32);
12561#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12562pub const SPGO_SAPI: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(1i32);
12563#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12564pub const SPGO_SRGS: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(2i32);
12565#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12566pub const SPGO_UPS: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(4i32);
12567#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12568pub const SPGO_SRGS_MS_SCRIPT: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(8i32);
12569#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12570pub const SPGO_SRGS_W3C_SCRIPT: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(256i32);
12571#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12572pub const SPGO_SRGS_STG_SCRIPT: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(512i32);
12573#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12574pub const SPGO_SRGS_SCRIPT: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(778i32);
12575#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12576pub const SPGO_FILE: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(16i32);
12577#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12578pub const SPGO_HTTP: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(32i32);
12579#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12580pub const SPGO_RES: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(64i32);
12581#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12582pub const SPGO_OBJECT: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(128i32);
12583#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12584pub const SPGO_DEFAULT: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(1019i32);
12585#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12586pub const SPGO_ALL: SPGRAMMAROPTIONS = SPGRAMMAROPTIONS(1023i32);
12587impl ::core::marker::Copy for SPGRAMMAROPTIONS {}
12588impl ::core::clone::Clone for SPGRAMMAROPTIONS {
12589 fn clone(&self) -> Self {
12590 *self
12591 }
12592}
12593impl ::core::default::Default for SPGRAMMAROPTIONS {
12594 fn default() -> Self {
12595 Self(0)
12596 }
12597}
12598impl ::windows::core::TypeKind for SPGRAMMAROPTIONS {
12599 type TypeKind = ::windows::core::CopyType;
12600}
12601impl ::core::fmt::Debug for SPGRAMMAROPTIONS {
12602 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12603 f.debug_tuple("SPGRAMMAROPTIONS").field(&self.0).finish()
12604 }
12605}
12606#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12607#[repr(transparent)]
12608#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12609pub struct SPGRAMMARSTATE(pub i32);
12610#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12611pub const SPGS_DISABLED: SPGRAMMARSTATE = SPGRAMMARSTATE(0i32);
12612#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12613pub const SPGS_ENABLED: SPGRAMMARSTATE = SPGRAMMARSTATE(1i32);
12614#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12615pub const SPGS_EXCLUSIVE: SPGRAMMARSTATE = SPGRAMMARSTATE(3i32);
12616impl ::core::marker::Copy for SPGRAMMARSTATE {}
12617impl ::core::clone::Clone for SPGRAMMARSTATE {
12618 fn clone(&self) -> Self {
12619 *self
12620 }
12621}
12622impl ::core::default::Default for SPGRAMMARSTATE {
12623 fn default() -> Self {
12624 Self(0)
12625 }
12626}
12627impl ::windows::core::TypeKind for SPGRAMMARSTATE {
12628 type TypeKind = ::windows::core::CopyType;
12629}
12630impl ::core::fmt::Debug for SPGRAMMARSTATE {
12631 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12632 f.debug_tuple("SPGRAMMARSTATE").field(&self.0).finish()
12633 }
12634}
12635#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12636#[repr(transparent)]
12637#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12638pub struct SPGRAMMARWORDTYPE(pub i32);
12639#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12640pub const SPWT_DISPLAY: SPGRAMMARWORDTYPE = SPGRAMMARWORDTYPE(0i32);
12641#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12642pub const SPWT_LEXICAL: SPGRAMMARWORDTYPE = SPGRAMMARWORDTYPE(1i32);
12643#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12644pub const SPWT_PRONUNCIATION: SPGRAMMARWORDTYPE = SPGRAMMARWORDTYPE(2i32);
12645#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12646pub const SPWT_LEXICAL_NO_SPECIAL_CHARS: SPGRAMMARWORDTYPE = SPGRAMMARWORDTYPE(3i32);
12647impl ::core::marker::Copy for SPGRAMMARWORDTYPE {}
12648impl ::core::clone::Clone for SPGRAMMARWORDTYPE {
12649 fn clone(&self) -> Self {
12650 *self
12651 }
12652}
12653impl ::core::default::Default for SPGRAMMARWORDTYPE {
12654 fn default() -> Self {
12655 Self(0)
12656 }
12657}
12658impl ::windows::core::TypeKind for SPGRAMMARWORDTYPE {
12659 type TypeKind = ::windows::core::CopyType;
12660}
12661impl ::core::fmt::Debug for SPGRAMMARWORDTYPE {
12662 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12663 f.debug_tuple("SPGRAMMARWORDTYPE").field(&self.0).finish()
12664 }
12665}
12666#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12667#[repr(transparent)]
12668#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12669pub struct SPINTERFERENCE(pub i32);
12670#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12671pub const SPINTERFERENCE_NONE: SPINTERFERENCE = SPINTERFERENCE(0i32);
12672#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12673pub const SPINTERFERENCE_NOISE: SPINTERFERENCE = SPINTERFERENCE(1i32);
12674#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12675pub const SPINTERFERENCE_NOSIGNAL: SPINTERFERENCE = SPINTERFERENCE(2i32);
12676#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12677pub const SPINTERFERENCE_TOOLOUD: SPINTERFERENCE = SPINTERFERENCE(3i32);
12678#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12679pub const SPINTERFERENCE_TOOQUIET: SPINTERFERENCE = SPINTERFERENCE(4i32);
12680#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12681pub const SPINTERFERENCE_TOOFAST: SPINTERFERENCE = SPINTERFERENCE(5i32);
12682#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12683pub const SPINTERFERENCE_TOOSLOW: SPINTERFERENCE = SPINTERFERENCE(6i32);
12684#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12685pub const SPINTERFERENCE_LATENCY_WARNING: SPINTERFERENCE = SPINTERFERENCE(7i32);
12686#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12687pub const SPINTERFERENCE_LATENCY_TRUNCATE_BEGIN: SPINTERFERENCE = SPINTERFERENCE(8i32);
12688#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12689pub const SPINTERFERENCE_LATENCY_TRUNCATE_END: SPINTERFERENCE = SPINTERFERENCE(9i32);
12690impl ::core::marker::Copy for SPINTERFERENCE {}
12691impl ::core::clone::Clone for SPINTERFERENCE {
12692 fn clone(&self) -> Self {
12693 *self
12694 }
12695}
12696impl ::core::default::Default for SPINTERFERENCE {
12697 fn default() -> Self {
12698 Self(0)
12699 }
12700}
12701impl ::windows::core::TypeKind for SPINTERFERENCE {
12702 type TypeKind = ::windows::core::CopyType;
12703}
12704impl ::core::fmt::Debug for SPINTERFERENCE {
12705 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12706 f.debug_tuple("SPINTERFERENCE").field(&self.0).finish()
12707 }
12708}
12709#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12710#[repr(transparent)]
12711#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12712pub struct SPLEXICONTYPE(pub i32);
12713#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12714pub const eLEXTYPE_USER: SPLEXICONTYPE = SPLEXICONTYPE(1i32);
12715#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12716pub const eLEXTYPE_APP: SPLEXICONTYPE = SPLEXICONTYPE(2i32);
12717#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12718pub const eLEXTYPE_VENDORLEXICON: SPLEXICONTYPE = SPLEXICONTYPE(4i32);
12719#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12720pub const eLEXTYPE_LETTERTOSOUND: SPLEXICONTYPE = SPLEXICONTYPE(8i32);
12721#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12722pub const eLEXTYPE_MORPHOLOGY: SPLEXICONTYPE = SPLEXICONTYPE(16i32);
12723#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12724pub const eLEXTYPE_RESERVED4: SPLEXICONTYPE = SPLEXICONTYPE(32i32);
12725#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12726pub const eLEXTYPE_USER_SHORTCUT: SPLEXICONTYPE = SPLEXICONTYPE(64i32);
12727#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12728pub const eLEXTYPE_RESERVED6: SPLEXICONTYPE = SPLEXICONTYPE(128i32);
12729#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12730pub const eLEXTYPE_RESERVED7: SPLEXICONTYPE = SPLEXICONTYPE(256i32);
12731#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12732pub const eLEXTYPE_RESERVED8: SPLEXICONTYPE = SPLEXICONTYPE(512i32);
12733#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12734pub const eLEXTYPE_RESERVED9: SPLEXICONTYPE = SPLEXICONTYPE(1024i32);
12735#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12736pub const eLEXTYPE_RESERVED10: SPLEXICONTYPE = SPLEXICONTYPE(2048i32);
12737#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12738pub const eLEXTYPE_PRIVATE1: SPLEXICONTYPE = SPLEXICONTYPE(4096i32);
12739#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12740pub const eLEXTYPE_PRIVATE2: SPLEXICONTYPE = SPLEXICONTYPE(8192i32);
12741#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12742pub const eLEXTYPE_PRIVATE3: SPLEXICONTYPE = SPLEXICONTYPE(16384i32);
12743#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12744pub const eLEXTYPE_PRIVATE4: SPLEXICONTYPE = SPLEXICONTYPE(32768i32);
12745#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12746pub const eLEXTYPE_PRIVATE5: SPLEXICONTYPE = SPLEXICONTYPE(65536i32);
12747#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12748pub const eLEXTYPE_PRIVATE6: SPLEXICONTYPE = SPLEXICONTYPE(131072i32);
12749#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12750pub const eLEXTYPE_PRIVATE7: SPLEXICONTYPE = SPLEXICONTYPE(262144i32);
12751#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12752pub const eLEXTYPE_PRIVATE8: SPLEXICONTYPE = SPLEXICONTYPE(524288i32);
12753#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12754pub const eLEXTYPE_PRIVATE9: SPLEXICONTYPE = SPLEXICONTYPE(1048576i32);
12755#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12756pub const eLEXTYPE_PRIVATE10: SPLEXICONTYPE = SPLEXICONTYPE(2097152i32);
12757#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12758pub const eLEXTYPE_PRIVATE11: SPLEXICONTYPE = SPLEXICONTYPE(4194304i32);
12759#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12760pub const eLEXTYPE_PRIVATE12: SPLEXICONTYPE = SPLEXICONTYPE(8388608i32);
12761#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12762pub const eLEXTYPE_PRIVATE13: SPLEXICONTYPE = SPLEXICONTYPE(16777216i32);
12763#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12764pub const eLEXTYPE_PRIVATE14: SPLEXICONTYPE = SPLEXICONTYPE(33554432i32);
12765#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12766pub const eLEXTYPE_PRIVATE15: SPLEXICONTYPE = SPLEXICONTYPE(67108864i32);
12767#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12768pub const eLEXTYPE_PRIVATE16: SPLEXICONTYPE = SPLEXICONTYPE(134217728i32);
12769#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12770pub const eLEXTYPE_PRIVATE17: SPLEXICONTYPE = SPLEXICONTYPE(268435456i32);
12771#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12772pub const eLEXTYPE_PRIVATE18: SPLEXICONTYPE = SPLEXICONTYPE(536870912i32);
12773#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12774pub const eLEXTYPE_PRIVATE19: SPLEXICONTYPE = SPLEXICONTYPE(1073741824i32);
12775#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12776pub const eLEXTYPE_PRIVATE20: SPLEXICONTYPE = SPLEXICONTYPE(-2147483648i32);
12777impl ::core::marker::Copy for SPLEXICONTYPE {}
12778impl ::core::clone::Clone for SPLEXICONTYPE {
12779 fn clone(&self) -> Self {
12780 *self
12781 }
12782}
12783impl ::core::default::Default for SPLEXICONTYPE {
12784 fn default() -> Self {
12785 Self(0)
12786 }
12787}
12788impl ::windows::core::TypeKind for SPLEXICONTYPE {
12789 type TypeKind = ::windows::core::CopyType;
12790}
12791impl ::core::fmt::Debug for SPLEXICONTYPE {
12792 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12793 f.debug_tuple("SPLEXICONTYPE").field(&self.0).finish()
12794 }
12795}
12796#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12797#[repr(transparent)]
12798#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12799pub struct SPLOADOPTIONS(pub i32);
12800#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12801pub const SPLO_STATIC: SPLOADOPTIONS = SPLOADOPTIONS(0i32);
12802#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12803pub const SPLO_DYNAMIC: SPLOADOPTIONS = SPLOADOPTIONS(1i32);
12804impl ::core::marker::Copy for SPLOADOPTIONS {}
12805impl ::core::clone::Clone for SPLOADOPTIONS {
12806 fn clone(&self) -> Self {
12807 *self
12808 }
12809}
12810impl ::core::default::Default for SPLOADOPTIONS {
12811 fn default() -> Self {
12812 Self(0)
12813 }
12814}
12815impl ::windows::core::TypeKind for SPLOADOPTIONS {
12816 type TypeKind = ::windows::core::CopyType;
12817}
12818impl ::core::fmt::Debug for SPLOADOPTIONS {
12819 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12820 f.debug_tuple("SPLOADOPTIONS").field(&self.0).finish()
12821 }
12822}
12823#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12824#[repr(transparent)]
12825#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12826pub struct SPMATCHINGMODE(pub i32);
12827#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12828pub const AllWords: SPMATCHINGMODE = SPMATCHINGMODE(0i32);
12829#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12830pub const Subsequence: SPMATCHINGMODE = SPMATCHINGMODE(1i32);
12831#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12832pub const OrderedSubset: SPMATCHINGMODE = SPMATCHINGMODE(3i32);
12833#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12834pub const SubsequenceContentRequired: SPMATCHINGMODE = SPMATCHINGMODE(5i32);
12835#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12836pub const OrderedSubsetContentRequired: SPMATCHINGMODE = SPMATCHINGMODE(7i32);
12837impl ::core::marker::Copy for SPMATCHINGMODE {}
12838impl ::core::clone::Clone for SPMATCHINGMODE {
12839 fn clone(&self) -> Self {
12840 *self
12841 }
12842}
12843impl ::core::default::Default for SPMATCHINGMODE {
12844 fn default() -> Self {
12845 Self(0)
12846 }
12847}
12848impl ::windows::core::TypeKind for SPMATCHINGMODE {
12849 type TypeKind = ::windows::core::CopyType;
12850}
12851impl ::core::fmt::Debug for SPMATCHINGMODE {
12852 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12853 f.debug_tuple("SPMATCHINGMODE").field(&self.0).finish()
12854 }
12855}
12856#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12857#[repr(transparent)]
12858#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12859pub struct SPPARTOFSPEECH(pub i32);
12860#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12861pub const SPPS_NotOverriden: SPPARTOFSPEECH = SPPARTOFSPEECH(-1i32);
12862#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12863pub const SPPS_Unknown: SPPARTOFSPEECH = SPPARTOFSPEECH(0i32);
12864#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12865pub const SPPS_Noun: SPPARTOFSPEECH = SPPARTOFSPEECH(4096i32);
12866#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12867pub const SPPS_Verb: SPPARTOFSPEECH = SPPARTOFSPEECH(8192i32);
12868#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12869pub const SPPS_Modifier: SPPARTOFSPEECH = SPPARTOFSPEECH(12288i32);
12870#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12871pub const SPPS_Function: SPPARTOFSPEECH = SPPARTOFSPEECH(16384i32);
12872#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12873pub const SPPS_Interjection: SPPARTOFSPEECH = SPPARTOFSPEECH(20480i32);
12874#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12875pub const SPPS_Noncontent: SPPARTOFSPEECH = SPPARTOFSPEECH(24576i32);
12876#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12877pub const SPPS_LMA: SPPARTOFSPEECH = SPPARTOFSPEECH(28672i32);
12878#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12879pub const SPPS_SuppressWord: SPPARTOFSPEECH = SPPARTOFSPEECH(61440i32);
12880impl ::core::marker::Copy for SPPARTOFSPEECH {}
12881impl ::core::clone::Clone for SPPARTOFSPEECH {
12882 fn clone(&self) -> Self {
12883 *self
12884 }
12885}
12886impl ::core::default::Default for SPPARTOFSPEECH {
12887 fn default() -> Self {
12888 Self(0)
12889 }
12890}
12891impl ::windows::core::TypeKind for SPPARTOFSPEECH {
12892 type TypeKind = ::windows::core::CopyType;
12893}
12894impl ::core::fmt::Debug for SPPARTOFSPEECH {
12895 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12896 f.debug_tuple("SPPARTOFSPEECH").field(&self.0).finish()
12897 }
12898}
12899#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12900#[repr(transparent)]
12901#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12902pub struct SPPHRASEPROPERTYUNIONTYPE(pub i32);
12903#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12904pub const SPPPUT_UNUSED: SPPHRASEPROPERTYUNIONTYPE = SPPHRASEPROPERTYUNIONTYPE(0i32);
12905#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12906pub const SPPPUT_ARRAY_INDEX: SPPHRASEPROPERTYUNIONTYPE = SPPHRASEPROPERTYUNIONTYPE(1i32);
12907impl ::core::marker::Copy for SPPHRASEPROPERTYUNIONTYPE {}
12908impl ::core::clone::Clone for SPPHRASEPROPERTYUNIONTYPE {
12909 fn clone(&self) -> Self {
12910 *self
12911 }
12912}
12913impl ::core::default::Default for SPPHRASEPROPERTYUNIONTYPE {
12914 fn default() -> Self {
12915 Self(0)
12916 }
12917}
12918impl ::windows::core::TypeKind for SPPHRASEPROPERTYUNIONTYPE {
12919 type TypeKind = ::windows::core::CopyType;
12920}
12921impl ::core::fmt::Debug for SPPHRASEPROPERTYUNIONTYPE {
12922 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12923 f.debug_tuple("SPPHRASEPROPERTYUNIONTYPE").field(&self.0).finish()
12924 }
12925}
12926#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12927#[repr(transparent)]
12928#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12929pub struct SPPHRASERNG(pub i32);
12930#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12931pub const SPPR_ALL_ELEMENTS: SPPHRASERNG = SPPHRASERNG(-1i32);
12932impl ::core::marker::Copy for SPPHRASERNG {}
12933impl ::core::clone::Clone for SPPHRASERNG {
12934 fn clone(&self) -> Self {
12935 *self
12936 }
12937}
12938impl ::core::default::Default for SPPHRASERNG {
12939 fn default() -> Self {
12940 Self(0)
12941 }
12942}
12943impl ::windows::core::TypeKind for SPPHRASERNG {
12944 type TypeKind = ::windows::core::CopyType;
12945}
12946impl ::core::fmt::Debug for SPPHRASERNG {
12947 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12948 f.debug_tuple("SPPHRASERNG").field(&self.0).finish()
12949 }
12950}
12951#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12952#[repr(transparent)]
12953#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12954pub struct SPPRONUNCIATIONFLAGS(pub i32);
12955#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12956pub const ePRONFLAG_USED: SPPRONUNCIATIONFLAGS = SPPRONUNCIATIONFLAGS(1i32);
12957impl ::core::marker::Copy for SPPRONUNCIATIONFLAGS {}
12958impl ::core::clone::Clone for SPPRONUNCIATIONFLAGS {
12959 fn clone(&self) -> Self {
12960 *self
12961 }
12962}
12963impl ::core::default::Default for SPPRONUNCIATIONFLAGS {
12964 fn default() -> Self {
12965 Self(0)
12966 }
12967}
12968impl ::windows::core::TypeKind for SPPRONUNCIATIONFLAGS {
12969 type TypeKind = ::windows::core::CopyType;
12970}
12971impl ::core::fmt::Debug for SPPRONUNCIATIONFLAGS {
12972 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
12973 f.debug_tuple("SPPRONUNCIATIONFLAGS").field(&self.0).finish()
12974 }
12975}
12976#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12977#[repr(transparent)]
12978#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
12979pub struct SPRECOEVENTFLAGS(pub i32);
12980#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12981pub const SPREF_AutoPause: SPRECOEVENTFLAGS = SPRECOEVENTFLAGS(1i32);
12982#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12983pub const SPREF_Emulated: SPRECOEVENTFLAGS = SPRECOEVENTFLAGS(2i32);
12984#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12985pub const SPREF_SMLTimeout: SPRECOEVENTFLAGS = SPRECOEVENTFLAGS(4i32);
12986#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12987pub const SPREF_ExtendableParse: SPRECOEVENTFLAGS = SPRECOEVENTFLAGS(8i32);
12988#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12989pub const SPREF_ReSent: SPRECOEVENTFLAGS = SPRECOEVENTFLAGS(16i32);
12990#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12991pub const SPREF_Hypothesis: SPRECOEVENTFLAGS = SPRECOEVENTFLAGS(32i32);
12992#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
12993pub const SPREF_FalseRecognition: SPRECOEVENTFLAGS = SPRECOEVENTFLAGS(64i32);
12994impl ::core::marker::Copy for SPRECOEVENTFLAGS {}
12995impl ::core::clone::Clone for SPRECOEVENTFLAGS {
12996 fn clone(&self) -> Self {
12997 *self
12998 }
12999}
13000impl ::core::default::Default for SPRECOEVENTFLAGS {
13001 fn default() -> Self {
13002 Self(0)
13003 }
13004}
13005impl ::windows::core::TypeKind for SPRECOEVENTFLAGS {
13006 type TypeKind = ::windows::core::CopyType;
13007}
13008impl ::core::fmt::Debug for SPRECOEVENTFLAGS {
13009 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13010 f.debug_tuple("SPRECOEVENTFLAGS").field(&self.0).finish()
13011 }
13012}
13013#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13014#[repr(transparent)]
13015#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13016pub struct SPRECOSTATE(pub i32);
13017#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13018pub const SPRST_INACTIVE: SPRECOSTATE = SPRECOSTATE(0i32);
13019#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13020pub const SPRST_ACTIVE: SPRECOSTATE = SPRECOSTATE(1i32);
13021#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13022pub const SPRST_ACTIVE_ALWAYS: SPRECOSTATE = SPRECOSTATE(2i32);
13023#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13024pub const SPRST_INACTIVE_WITH_PURGE: SPRECOSTATE = SPRECOSTATE(3i32);
13025#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13026pub const SPRST_NUM_STATES: SPRECOSTATE = SPRECOSTATE(4i32);
13027impl ::core::marker::Copy for SPRECOSTATE {}
13028impl ::core::clone::Clone for SPRECOSTATE {
13029 fn clone(&self) -> Self {
13030 *self
13031 }
13032}
13033impl ::core::default::Default for SPRECOSTATE {
13034 fn default() -> Self {
13035 Self(0)
13036 }
13037}
13038impl ::windows::core::TypeKind for SPRECOSTATE {
13039 type TypeKind = ::windows::core::CopyType;
13040}
13041impl ::core::fmt::Debug for SPRECOSTATE {
13042 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13043 f.debug_tuple("SPRECOSTATE").field(&self.0).finish()
13044 }
13045}
13046#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13047#[repr(transparent)]
13048#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13049pub struct SPRULESTATE(pub i32);
13050#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13051pub const SPRS_INACTIVE: SPRULESTATE = SPRULESTATE(0i32);
13052#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13053pub const SPRS_ACTIVE: SPRULESTATE = SPRULESTATE(1i32);
13054#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13055pub const SPRS_ACTIVE_WITH_AUTO_PAUSE: SPRULESTATE = SPRULESTATE(3i32);
13056#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13057pub const SPRS_ACTIVE_USER_DELIMITED: SPRULESTATE = SPRULESTATE(4i32);
13058impl ::core::marker::Copy for SPRULESTATE {}
13059impl ::core::clone::Clone for SPRULESTATE {
13060 fn clone(&self) -> Self {
13061 *self
13062 }
13063}
13064impl ::core::default::Default for SPRULESTATE {
13065 fn default() -> Self {
13066 Self(0)
13067 }
13068}
13069impl ::windows::core::TypeKind for SPRULESTATE {
13070 type TypeKind = ::windows::core::CopyType;
13071}
13072impl ::core::fmt::Debug for SPRULESTATE {
13073 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13074 f.debug_tuple("SPRULESTATE").field(&self.0).finish()
13075 }
13076}
13077#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13078#[repr(transparent)]
13079#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13080pub struct SPRUNSTATE(pub i32);
13081#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13082pub const SPRS_DONE: SPRUNSTATE = SPRUNSTATE(1i32);
13083#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13084pub const SPRS_IS_SPEAKING: SPRUNSTATE = SPRUNSTATE(2i32);
13085impl ::core::marker::Copy for SPRUNSTATE {}
13086impl ::core::clone::Clone for SPRUNSTATE {
13087 fn clone(&self) -> Self {
13088 *self
13089 }
13090}
13091impl ::core::default::Default for SPRUNSTATE {
13092 fn default() -> Self {
13093 Self(0)
13094 }
13095}
13096impl ::windows::core::TypeKind for SPRUNSTATE {
13097 type TypeKind = ::windows::core::CopyType;
13098}
13099impl ::core::fmt::Debug for SPRUNSTATE {
13100 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13101 f.debug_tuple("SPRUNSTATE").field(&self.0).finish()
13102 }
13103}
13104#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13105#[repr(transparent)]
13106#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13107pub struct SPSEMANTICFORMAT(pub i32);
13108#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13109pub const SPSMF_SAPI_PROPERTIES: SPSEMANTICFORMAT = SPSEMANTICFORMAT(0i32);
13110#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13111pub const SPSMF_SRGS_SEMANTICINTERPRETATION_MS: SPSEMANTICFORMAT = SPSEMANTICFORMAT(1i32);
13112#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13113pub const SPSMF_SRGS_SAPIPROPERTIES: SPSEMANTICFORMAT = SPSEMANTICFORMAT(2i32);
13114#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13115pub const SPSMF_UPS: SPSEMANTICFORMAT = SPSEMANTICFORMAT(4i32);
13116#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13117pub const SPSMF_SRGS_SEMANTICINTERPRETATION_W3C: SPSEMANTICFORMAT = SPSEMANTICFORMAT(8i32);
13118impl ::core::marker::Copy for SPSEMANTICFORMAT {}
13119impl ::core::clone::Clone for SPSEMANTICFORMAT {
13120 fn clone(&self) -> Self {
13121 *self
13122 }
13123}
13124impl ::core::default::Default for SPSEMANTICFORMAT {
13125 fn default() -> Self {
13126 Self(0)
13127 }
13128}
13129impl ::windows::core::TypeKind for SPSEMANTICFORMAT {
13130 type TypeKind = ::windows::core::CopyType;
13131}
13132impl ::core::fmt::Debug for SPSEMANTICFORMAT {
13133 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13134 f.debug_tuple("SPSEMANTICFORMAT").field(&self.0).finish()
13135 }
13136}
13137#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13138#[repr(transparent)]
13139#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13140pub struct SPSHORTCUTTYPE(pub i32);
13141#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13142pub const SPSHT_NotOverriden: SPSHORTCUTTYPE = SPSHORTCUTTYPE(-1i32);
13143#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13144pub const SPSHT_Unknown: SPSHORTCUTTYPE = SPSHORTCUTTYPE(0i32);
13145#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13146pub const SPSHT_EMAIL: SPSHORTCUTTYPE = SPSHORTCUTTYPE(4096i32);
13147#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13148pub const SPSHT_OTHER: SPSHORTCUTTYPE = SPSHORTCUTTYPE(8192i32);
13149#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13150pub const SPPS_RESERVED1: SPSHORTCUTTYPE = SPSHORTCUTTYPE(12288i32);
13151#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13152pub const SPPS_RESERVED2: SPSHORTCUTTYPE = SPSHORTCUTTYPE(16384i32);
13153#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13154pub const SPPS_RESERVED3: SPSHORTCUTTYPE = SPSHORTCUTTYPE(20480i32);
13155#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13156pub const SPPS_RESERVED4: SPSHORTCUTTYPE = SPSHORTCUTTYPE(61440i32);
13157impl ::core::marker::Copy for SPSHORTCUTTYPE {}
13158impl ::core::clone::Clone for SPSHORTCUTTYPE {
13159 fn clone(&self) -> Self {
13160 *self
13161 }
13162}
13163impl ::core::default::Default for SPSHORTCUTTYPE {
13164 fn default() -> Self {
13165 Self(0)
13166 }
13167}
13168impl ::windows::core::TypeKind for SPSHORTCUTTYPE {
13169 type TypeKind = ::windows::core::CopyType;
13170}
13171impl ::core::fmt::Debug for SPSHORTCUTTYPE {
13172 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13173 f.debug_tuple("SPSHORTCUTTYPE").field(&self.0).finish()
13174 }
13175}
13176#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13177#[repr(transparent)]
13178#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13179pub struct SPSTREAMFORMAT(pub i32);
13180#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13181pub const SPSF_Default: SPSTREAMFORMAT = SPSTREAMFORMAT(-1i32);
13182#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13183pub const SPSF_NoAssignedFormat: SPSTREAMFORMAT = SPSTREAMFORMAT(0i32);
13184#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13185pub const SPSF_Text: SPSTREAMFORMAT = SPSTREAMFORMAT(1i32);
13186#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13187pub const SPSF_NonStandardFormat: SPSTREAMFORMAT = SPSTREAMFORMAT(2i32);
13188#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13189pub const SPSF_ExtendedAudioFormat: SPSTREAMFORMAT = SPSTREAMFORMAT(3i32);
13190#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13191pub const SPSF_8kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(4i32);
13192#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13193pub const SPSF_8kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(5i32);
13194#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13195pub const SPSF_8kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(6i32);
13196#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13197pub const SPSF_8kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(7i32);
13198#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13199pub const SPSF_11kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(8i32);
13200#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13201pub const SPSF_11kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(9i32);
13202#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13203pub const SPSF_11kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(10i32);
13204#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13205pub const SPSF_11kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(11i32);
13206#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13207pub const SPSF_12kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(12i32);
13208#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13209pub const SPSF_12kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(13i32);
13210#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13211pub const SPSF_12kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(14i32);
13212#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13213pub const SPSF_12kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(15i32);
13214#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13215pub const SPSF_16kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(16i32);
13216#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13217pub const SPSF_16kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(17i32);
13218#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13219pub const SPSF_16kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(18i32);
13220#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13221pub const SPSF_16kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(19i32);
13222#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13223pub const SPSF_22kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(20i32);
13224#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13225pub const SPSF_22kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(21i32);
13226#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13227pub const SPSF_22kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(22i32);
13228#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13229pub const SPSF_22kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(23i32);
13230#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13231pub const SPSF_24kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(24i32);
13232#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13233pub const SPSF_24kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(25i32);
13234#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13235pub const SPSF_24kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(26i32);
13236#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13237pub const SPSF_24kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(27i32);
13238#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13239pub const SPSF_32kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(28i32);
13240#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13241pub const SPSF_32kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(29i32);
13242#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13243pub const SPSF_32kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(30i32);
13244#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13245pub const SPSF_32kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(31i32);
13246#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13247pub const SPSF_44kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(32i32);
13248#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13249pub const SPSF_44kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(33i32);
13250#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13251pub const SPSF_44kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(34i32);
13252#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13253pub const SPSF_44kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(35i32);
13254#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13255pub const SPSF_48kHz8BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(36i32);
13256#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13257pub const SPSF_48kHz8BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(37i32);
13258#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13259pub const SPSF_48kHz16BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(38i32);
13260#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13261pub const SPSF_48kHz16BitStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(39i32);
13262#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13263pub const SPSF_TrueSpeech_8kHz1BitMono: SPSTREAMFORMAT = SPSTREAMFORMAT(40i32);
13264#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13265pub const SPSF_CCITT_ALaw_8kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(41i32);
13266#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13267pub const SPSF_CCITT_ALaw_8kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(42i32);
13268#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13269pub const SPSF_CCITT_ALaw_11kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(43i32);
13270#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13271pub const SPSF_CCITT_ALaw_11kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(44i32);
13272#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13273pub const SPSF_CCITT_ALaw_22kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(45i32);
13274#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13275pub const SPSF_CCITT_ALaw_22kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(46i32);
13276#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13277pub const SPSF_CCITT_ALaw_44kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(47i32);
13278#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13279pub const SPSF_CCITT_ALaw_44kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(48i32);
13280#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13281pub const SPSF_CCITT_uLaw_8kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(49i32);
13282#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13283pub const SPSF_CCITT_uLaw_8kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(50i32);
13284#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13285pub const SPSF_CCITT_uLaw_11kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(51i32);
13286#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13287pub const SPSF_CCITT_uLaw_11kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(52i32);
13288#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13289pub const SPSF_CCITT_uLaw_22kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(53i32);
13290#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13291pub const SPSF_CCITT_uLaw_22kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(54i32);
13292#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13293pub const SPSF_CCITT_uLaw_44kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(55i32);
13294#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13295pub const SPSF_CCITT_uLaw_44kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(56i32);
13296#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13297pub const SPSF_ADPCM_8kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(57i32);
13298#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13299pub const SPSF_ADPCM_8kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(58i32);
13300#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13301pub const SPSF_ADPCM_11kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(59i32);
13302#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13303pub const SPSF_ADPCM_11kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(60i32);
13304#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13305pub const SPSF_ADPCM_22kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(61i32);
13306#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13307pub const SPSF_ADPCM_22kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(62i32);
13308#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13309pub const SPSF_ADPCM_44kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(63i32);
13310#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13311pub const SPSF_ADPCM_44kHzStereo: SPSTREAMFORMAT = SPSTREAMFORMAT(64i32);
13312#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13313pub const SPSF_GSM610_8kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(65i32);
13314#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13315pub const SPSF_GSM610_11kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(66i32);
13316#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13317pub const SPSF_GSM610_22kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(67i32);
13318#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13319pub const SPSF_GSM610_44kHzMono: SPSTREAMFORMAT = SPSTREAMFORMAT(68i32);
13320#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13321pub const SPSF_NUM_FORMATS: SPSTREAMFORMAT = SPSTREAMFORMAT(69i32);
13322impl ::core::marker::Copy for SPSTREAMFORMAT {}
13323impl ::core::clone::Clone for SPSTREAMFORMAT {
13324 fn clone(&self) -> Self {
13325 *self
13326 }
13327}
13328impl ::core::default::Default for SPSTREAMFORMAT {
13329 fn default() -> Self {
13330 Self(0)
13331 }
13332}
13333impl ::windows::core::TypeKind for SPSTREAMFORMAT {
13334 type TypeKind = ::windows::core::CopyType;
13335}
13336impl ::core::fmt::Debug for SPSTREAMFORMAT {
13337 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13338 f.debug_tuple("SPSTREAMFORMAT").field(&self.0).finish()
13339 }
13340}
13341#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13342#[repr(transparent)]
13343#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13344pub struct SPSTREAMFORMATTYPE(pub i32);
13345#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13346pub const SPWF_INPUT: SPSTREAMFORMATTYPE = SPSTREAMFORMATTYPE(0i32);
13347#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13348pub const SPWF_SRENGINE: SPSTREAMFORMATTYPE = SPSTREAMFORMATTYPE(1i32);
13349impl ::core::marker::Copy for SPSTREAMFORMATTYPE {}
13350impl ::core::clone::Clone for SPSTREAMFORMATTYPE {
13351 fn clone(&self) -> Self {
13352 *self
13353 }
13354}
13355impl ::core::default::Default for SPSTREAMFORMATTYPE {
13356 fn default() -> Self {
13357 Self(0)
13358 }
13359}
13360impl ::windows::core::TypeKind for SPSTREAMFORMATTYPE {
13361 type TypeKind = ::windows::core::CopyType;
13362}
13363impl ::core::fmt::Debug for SPSTREAMFORMATTYPE {
13364 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13365 f.debug_tuple("SPSTREAMFORMATTYPE").field(&self.0).finish()
13366 }
13367}
13368#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13369#[repr(transparent)]
13370#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13371pub struct SPVACTIONS(pub i32);
13372#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13373pub const SPVA_Speak: SPVACTIONS = SPVACTIONS(0i32);
13374#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13375pub const SPVA_Silence: SPVACTIONS = SPVACTIONS(1i32);
13376#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13377pub const SPVA_Pronounce: SPVACTIONS = SPVACTIONS(2i32);
13378#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13379pub const SPVA_Bookmark: SPVACTIONS = SPVACTIONS(3i32);
13380#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13381pub const SPVA_SpellOut: SPVACTIONS = SPVACTIONS(4i32);
13382#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13383pub const SPVA_Section: SPVACTIONS = SPVACTIONS(5i32);
13384#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13385pub const SPVA_ParseUnknownTag: SPVACTIONS = SPVACTIONS(6i32);
13386impl ::core::marker::Copy for SPVACTIONS {}
13387impl ::core::clone::Clone for SPVACTIONS {
13388 fn clone(&self) -> Self {
13389 *self
13390 }
13391}
13392impl ::core::default::Default for SPVACTIONS {
13393 fn default() -> Self {
13394 Self(0)
13395 }
13396}
13397impl ::windows::core::TypeKind for SPVACTIONS {
13398 type TypeKind = ::windows::core::CopyType;
13399}
13400impl ::core::fmt::Debug for SPVACTIONS {
13401 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13402 f.debug_tuple("SPVACTIONS").field(&self.0).finish()
13403 }
13404}
13405#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13406#[repr(transparent)]
13407#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13408pub struct SPVALUETYPE(pub i32);
13409#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13410pub const SPDF_PROPERTY: SPVALUETYPE = SPVALUETYPE(1i32);
13411#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13412pub const SPDF_REPLACEMENT: SPVALUETYPE = SPVALUETYPE(2i32);
13413#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13414pub const SPDF_RULE: SPVALUETYPE = SPVALUETYPE(4i32);
13415#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13416pub const SPDF_DISPLAYTEXT: SPVALUETYPE = SPVALUETYPE(8i32);
13417#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13418pub const SPDF_LEXICALFORM: SPVALUETYPE = SPVALUETYPE(16i32);
13419#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13420pub const SPDF_PRONUNCIATION: SPVALUETYPE = SPVALUETYPE(32i32);
13421#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13422pub const SPDF_AUDIO: SPVALUETYPE = SPVALUETYPE(64i32);
13423#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13424pub const SPDF_ALTERNATES: SPVALUETYPE = SPVALUETYPE(128i32);
13425#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13426pub const SPDF_ALL: SPVALUETYPE = SPVALUETYPE(255i32);
13427impl ::core::marker::Copy for SPVALUETYPE {}
13428impl ::core::clone::Clone for SPVALUETYPE {
13429 fn clone(&self) -> Self {
13430 *self
13431 }
13432}
13433impl ::core::default::Default for SPVALUETYPE {
13434 fn default() -> Self {
13435 Self(0)
13436 }
13437}
13438impl ::windows::core::TypeKind for SPVALUETYPE {
13439 type TypeKind = ::windows::core::CopyType;
13440}
13441impl ::core::fmt::Debug for SPVALUETYPE {
13442 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13443 f.debug_tuple("SPVALUETYPE").field(&self.0).finish()
13444 }
13445}
13446#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13447#[repr(transparent)]
13448#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13449pub struct SPVFEATURE(pub i32);
13450#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13451pub const SPVFEATURE_STRESSED: SPVFEATURE = SPVFEATURE(1i32);
13452#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13453pub const SPVFEATURE_EMPHASIS: SPVFEATURE = SPVFEATURE(2i32);
13454impl ::core::marker::Copy for SPVFEATURE {}
13455impl ::core::clone::Clone for SPVFEATURE {
13456 fn clone(&self) -> Self {
13457 *self
13458 }
13459}
13460impl ::core::default::Default for SPVFEATURE {
13461 fn default() -> Self {
13462 Self(0)
13463 }
13464}
13465impl ::windows::core::TypeKind for SPVFEATURE {
13466 type TypeKind = ::windows::core::CopyType;
13467}
13468impl ::core::fmt::Debug for SPVFEATURE {
13469 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13470 f.debug_tuple("SPVFEATURE").field(&self.0).finish()
13471 }
13472}
13473#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13474#[repr(transparent)]
13475#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13476pub struct SPVISEMES(pub i32);
13477#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13478pub const SP_VISEME_0: SPVISEMES = SPVISEMES(0i32);
13479#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13480pub const SP_VISEME_1: SPVISEMES = SPVISEMES(1i32);
13481#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13482pub const SP_VISEME_2: SPVISEMES = SPVISEMES(2i32);
13483#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13484pub const SP_VISEME_3: SPVISEMES = SPVISEMES(3i32);
13485#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13486pub const SP_VISEME_4: SPVISEMES = SPVISEMES(4i32);
13487#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13488pub const SP_VISEME_5: SPVISEMES = SPVISEMES(5i32);
13489#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13490pub const SP_VISEME_6: SPVISEMES = SPVISEMES(6i32);
13491#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13492pub const SP_VISEME_7: SPVISEMES = SPVISEMES(7i32);
13493#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13494pub const SP_VISEME_8: SPVISEMES = SPVISEMES(8i32);
13495#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13496pub const SP_VISEME_9: SPVISEMES = SPVISEMES(9i32);
13497#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13498pub const SP_VISEME_10: SPVISEMES = SPVISEMES(10i32);
13499#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13500pub const SP_VISEME_11: SPVISEMES = SPVISEMES(11i32);
13501#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13502pub const SP_VISEME_12: SPVISEMES = SPVISEMES(12i32);
13503#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13504pub const SP_VISEME_13: SPVISEMES = SPVISEMES(13i32);
13505#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13506pub const SP_VISEME_14: SPVISEMES = SPVISEMES(14i32);
13507#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13508pub const SP_VISEME_15: SPVISEMES = SPVISEMES(15i32);
13509#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13510pub const SP_VISEME_16: SPVISEMES = SPVISEMES(16i32);
13511#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13512pub const SP_VISEME_17: SPVISEMES = SPVISEMES(17i32);
13513#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13514pub const SP_VISEME_18: SPVISEMES = SPVISEMES(18i32);
13515#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13516pub const SP_VISEME_19: SPVISEMES = SPVISEMES(19i32);
13517#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13518pub const SP_VISEME_20: SPVISEMES = SPVISEMES(20i32);
13519#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13520pub const SP_VISEME_21: SPVISEMES = SPVISEMES(21i32);
13521impl ::core::marker::Copy for SPVISEMES {}
13522impl ::core::clone::Clone for SPVISEMES {
13523 fn clone(&self) -> Self {
13524 *self
13525 }
13526}
13527impl ::core::default::Default for SPVISEMES {
13528 fn default() -> Self {
13529 Self(0)
13530 }
13531}
13532impl ::windows::core::TypeKind for SPVISEMES {
13533 type TypeKind = ::windows::core::CopyType;
13534}
13535impl ::core::fmt::Debug for SPVISEMES {
13536 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13537 f.debug_tuple("SPVISEMES").field(&self.0).finish()
13538 }
13539}
13540#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13541#[repr(transparent)]
13542#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13543pub struct SPVLIMITS(pub i32);
13544#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13545pub const SPMIN_VOLUME: SPVLIMITS = SPVLIMITS(0i32);
13546#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13547pub const SPMAX_VOLUME: SPVLIMITS = SPVLIMITS(100i32);
13548#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13549pub const SPMIN_RATE: SPVLIMITS = SPVLIMITS(-10i32);
13550#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13551pub const SPMAX_RATE: SPVLIMITS = SPVLIMITS(10i32);
13552impl ::core::marker::Copy for SPVLIMITS {}
13553impl ::core::clone::Clone for SPVLIMITS {
13554 fn clone(&self) -> Self {
13555 *self
13556 }
13557}
13558impl ::core::default::Default for SPVLIMITS {
13559 fn default() -> Self {
13560 Self(0)
13561 }
13562}
13563impl ::windows::core::TypeKind for SPVLIMITS {
13564 type TypeKind = ::windows::core::CopyType;
13565}
13566impl ::core::fmt::Debug for SPVLIMITS {
13567 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13568 f.debug_tuple("SPVLIMITS").field(&self.0).finish()
13569 }
13570}
13571#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13572#[repr(transparent)]
13573#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13574pub struct SPVPRIORITY(pub i32);
13575#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13576pub const SPVPRI_NORMAL: SPVPRIORITY = SPVPRIORITY(0i32);
13577#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13578pub const SPVPRI_ALERT: SPVPRIORITY = SPVPRIORITY(1i32);
13579#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13580pub const SPVPRI_OVER: SPVPRIORITY = SPVPRIORITY(2i32);
13581impl ::core::marker::Copy for SPVPRIORITY {}
13582impl ::core::clone::Clone for SPVPRIORITY {
13583 fn clone(&self) -> Self {
13584 *self
13585 }
13586}
13587impl ::core::default::Default for SPVPRIORITY {
13588 fn default() -> Self {
13589 Self(0)
13590 }
13591}
13592impl ::windows::core::TypeKind for SPVPRIORITY {
13593 type TypeKind = ::windows::core::CopyType;
13594}
13595impl ::core::fmt::Debug for SPVPRIORITY {
13596 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13597 f.debug_tuple("SPVPRIORITY").field(&self.0).finish()
13598 }
13599}
13600#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13601#[repr(transparent)]
13602#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13603pub struct SPWORDPRONOUNCEABLE(pub i32);
13604#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13605pub const SPWP_UNKNOWN_WORD_UNPRONOUNCEABLE: SPWORDPRONOUNCEABLE = SPWORDPRONOUNCEABLE(0i32);
13606#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13607pub const SPWP_UNKNOWN_WORD_PRONOUNCEABLE: SPWORDPRONOUNCEABLE = SPWORDPRONOUNCEABLE(1i32);
13608#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13609pub const SPWP_KNOWN_WORD_PRONOUNCEABLE: SPWORDPRONOUNCEABLE = SPWORDPRONOUNCEABLE(2i32);
13610impl ::core::marker::Copy for SPWORDPRONOUNCEABLE {}
13611impl ::core::clone::Clone for SPWORDPRONOUNCEABLE {
13612 fn clone(&self) -> Self {
13613 *self
13614 }
13615}
13616impl ::core::default::Default for SPWORDPRONOUNCEABLE {
13617 fn default() -> Self {
13618 Self(0)
13619 }
13620}
13621impl ::windows::core::TypeKind for SPWORDPRONOUNCEABLE {
13622 type TypeKind = ::windows::core::CopyType;
13623}
13624impl ::core::fmt::Debug for SPWORDPRONOUNCEABLE {
13625 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13626 f.debug_tuple("SPWORDPRONOUNCEABLE").field(&self.0).finish()
13627 }
13628}
13629#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13630#[repr(transparent)]
13631#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13632pub struct SPWORDTYPE(pub i32);
13633#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13634pub const eWORDTYPE_ADDED: SPWORDTYPE = SPWORDTYPE(1i32);
13635#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13636pub const eWORDTYPE_DELETED: SPWORDTYPE = SPWORDTYPE(2i32);
13637impl ::core::marker::Copy for SPWORDTYPE {}
13638impl ::core::clone::Clone for SPWORDTYPE {
13639 fn clone(&self) -> Self {
13640 *self
13641 }
13642}
13643impl ::core::default::Default for SPWORDTYPE {
13644 fn default() -> Self {
13645 Self(0)
13646 }
13647}
13648impl ::windows::core::TypeKind for SPWORDTYPE {
13649 type TypeKind = ::windows::core::CopyType;
13650}
13651impl ::core::fmt::Debug for SPWORDTYPE {
13652 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13653 f.debug_tuple("SPWORDTYPE").field(&self.0).finish()
13654 }
13655}
13656#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13657#[repr(transparent)]
13658#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13659pub struct SPXMLRESULTOPTIONS(pub i32);
13660#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13661pub const SPXRO_SML: SPXMLRESULTOPTIONS = SPXMLRESULTOPTIONS(0i32);
13662#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13663pub const SPXRO_Alternates_SML: SPXMLRESULTOPTIONS = SPXMLRESULTOPTIONS(1i32);
13664impl ::core::marker::Copy for SPXMLRESULTOPTIONS {}
13665impl ::core::clone::Clone for SPXMLRESULTOPTIONS {
13666 fn clone(&self) -> Self {
13667 *self
13668 }
13669}
13670impl ::core::default::Default for SPXMLRESULTOPTIONS {
13671 fn default() -> Self {
13672 Self(0)
13673 }
13674}
13675impl ::windows::core::TypeKind for SPXMLRESULTOPTIONS {
13676 type TypeKind = ::windows::core::CopyType;
13677}
13678impl ::core::fmt::Debug for SPXMLRESULTOPTIONS {
13679 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13680 f.debug_tuple("SPXMLRESULTOPTIONS").field(&self.0).finish()
13681 }
13682}
13683#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13684#[repr(transparent)]
13685#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13686pub struct SpeechAudioFormatType(pub i32);
13687#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13688pub const SAFTDefault: SpeechAudioFormatType = SpeechAudioFormatType(-1i32);
13689#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13690pub const SAFTNoAssignedFormat: SpeechAudioFormatType = SpeechAudioFormatType(0i32);
13691#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13692pub const SAFTText: SpeechAudioFormatType = SpeechAudioFormatType(1i32);
13693#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13694pub const SAFTNonStandardFormat: SpeechAudioFormatType = SpeechAudioFormatType(2i32);
13695#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13696pub const SAFTExtendedAudioFormat: SpeechAudioFormatType = SpeechAudioFormatType(3i32);
13697#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13698pub const SAFT8kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(4i32);
13699#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13700pub const SAFT8kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(5i32);
13701#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13702pub const SAFT8kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(6i32);
13703#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13704pub const SAFT8kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(7i32);
13705#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13706pub const SAFT11kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(8i32);
13707#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13708pub const SAFT11kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(9i32);
13709#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13710pub const SAFT11kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(10i32);
13711#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13712pub const SAFT11kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(11i32);
13713#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13714pub const SAFT12kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(12i32);
13715#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13716pub const SAFT12kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(13i32);
13717#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13718pub const SAFT12kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(14i32);
13719#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13720pub const SAFT12kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(15i32);
13721#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13722pub const SAFT16kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(16i32);
13723#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13724pub const SAFT16kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(17i32);
13725#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13726pub const SAFT16kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(18i32);
13727#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13728pub const SAFT16kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(19i32);
13729#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13730pub const SAFT22kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(20i32);
13731#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13732pub const SAFT22kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(21i32);
13733#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13734pub const SAFT22kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(22i32);
13735#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13736pub const SAFT22kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(23i32);
13737#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13738pub const SAFT24kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(24i32);
13739#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13740pub const SAFT24kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(25i32);
13741#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13742pub const SAFT24kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(26i32);
13743#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13744pub const SAFT24kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(27i32);
13745#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13746pub const SAFT32kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(28i32);
13747#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13748pub const SAFT32kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(29i32);
13749#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13750pub const SAFT32kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(30i32);
13751#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13752pub const SAFT32kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(31i32);
13753#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13754pub const SAFT44kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(32i32);
13755#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13756pub const SAFT44kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(33i32);
13757#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13758pub const SAFT44kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(34i32);
13759#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13760pub const SAFT44kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(35i32);
13761#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13762pub const SAFT48kHz8BitMono: SpeechAudioFormatType = SpeechAudioFormatType(36i32);
13763#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13764pub const SAFT48kHz8BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(37i32);
13765#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13766pub const SAFT48kHz16BitMono: SpeechAudioFormatType = SpeechAudioFormatType(38i32);
13767#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13768pub const SAFT48kHz16BitStereo: SpeechAudioFormatType = SpeechAudioFormatType(39i32);
13769#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13770pub const SAFTTrueSpeech_8kHz1BitMono: SpeechAudioFormatType = SpeechAudioFormatType(40i32);
13771#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13772pub const SAFTCCITT_ALaw_8kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(41i32);
13773#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13774pub const SAFTCCITT_ALaw_8kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(42i32);
13775#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13776pub const SAFTCCITT_ALaw_11kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(43i32);
13777#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13778pub const SAFTCCITT_ALaw_11kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(44i32);
13779#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13780pub const SAFTCCITT_ALaw_22kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(45i32);
13781#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13782pub const SAFTCCITT_ALaw_22kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(46i32);
13783#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13784pub const SAFTCCITT_ALaw_44kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(47i32);
13785#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13786pub const SAFTCCITT_ALaw_44kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(48i32);
13787#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13788pub const SAFTCCITT_uLaw_8kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(49i32);
13789#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13790pub const SAFTCCITT_uLaw_8kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(50i32);
13791#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13792pub const SAFTCCITT_uLaw_11kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(51i32);
13793#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13794pub const SAFTCCITT_uLaw_11kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(52i32);
13795#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13796pub const SAFTCCITT_uLaw_22kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(53i32);
13797#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13798pub const SAFTCCITT_uLaw_22kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(54i32);
13799#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13800pub const SAFTCCITT_uLaw_44kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(55i32);
13801#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13802pub const SAFTCCITT_uLaw_44kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(56i32);
13803#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13804pub const SAFTADPCM_8kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(57i32);
13805#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13806pub const SAFTADPCM_8kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(58i32);
13807#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13808pub const SAFTADPCM_11kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(59i32);
13809#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13810pub const SAFTADPCM_11kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(60i32);
13811#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13812pub const SAFTADPCM_22kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(61i32);
13813#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13814pub const SAFTADPCM_22kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(62i32);
13815#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13816pub const SAFTADPCM_44kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(63i32);
13817#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13818pub const SAFTADPCM_44kHzStereo: SpeechAudioFormatType = SpeechAudioFormatType(64i32);
13819#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13820pub const SAFTGSM610_8kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(65i32);
13821#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13822pub const SAFTGSM610_11kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(66i32);
13823#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13824pub const SAFTGSM610_22kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(67i32);
13825#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13826pub const SAFTGSM610_44kHzMono: SpeechAudioFormatType = SpeechAudioFormatType(68i32);
13827impl ::core::marker::Copy for SpeechAudioFormatType {}
13828impl ::core::clone::Clone for SpeechAudioFormatType {
13829 fn clone(&self) -> Self {
13830 *self
13831 }
13832}
13833impl ::core::default::Default for SpeechAudioFormatType {
13834 fn default() -> Self {
13835 Self(0)
13836 }
13837}
13838impl ::windows::core::TypeKind for SpeechAudioFormatType {
13839 type TypeKind = ::windows::core::CopyType;
13840}
13841impl ::core::fmt::Debug for SpeechAudioFormatType {
13842 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13843 f.debug_tuple("SpeechAudioFormatType").field(&self.0).finish()
13844 }
13845}
13846#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13847#[repr(transparent)]
13848#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13849pub struct SpeechAudioState(pub i32);
13850#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13851pub const SASClosed: SpeechAudioState = SpeechAudioState(0i32);
13852#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13853pub const SASStop: SpeechAudioState = SpeechAudioState(1i32);
13854#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13855pub const SASPause: SpeechAudioState = SpeechAudioState(2i32);
13856#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13857pub const SASRun: SpeechAudioState = SpeechAudioState(3i32);
13858impl ::core::marker::Copy for SpeechAudioState {}
13859impl ::core::clone::Clone for SpeechAudioState {
13860 fn clone(&self) -> Self {
13861 *self
13862 }
13863}
13864impl ::core::default::Default for SpeechAudioState {
13865 fn default() -> Self {
13866 Self(0)
13867 }
13868}
13869impl ::windows::core::TypeKind for SpeechAudioState {
13870 type TypeKind = ::windows::core::CopyType;
13871}
13872impl ::core::fmt::Debug for SpeechAudioState {
13873 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13874 f.debug_tuple("SpeechAudioState").field(&self.0).finish()
13875 }
13876}
13877#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13878#[repr(transparent)]
13879#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13880pub struct SpeechBookmarkOptions(pub i32);
13881#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13882pub const SBONone: SpeechBookmarkOptions = SpeechBookmarkOptions(0i32);
13883#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13884pub const SBOPause: SpeechBookmarkOptions = SpeechBookmarkOptions(1i32);
13885impl ::core::marker::Copy for SpeechBookmarkOptions {}
13886impl ::core::clone::Clone for SpeechBookmarkOptions {
13887 fn clone(&self) -> Self {
13888 *self
13889 }
13890}
13891impl ::core::default::Default for SpeechBookmarkOptions {
13892 fn default() -> Self {
13893 Self(0)
13894 }
13895}
13896impl ::windows::core::TypeKind for SpeechBookmarkOptions {
13897 type TypeKind = ::windows::core::CopyType;
13898}
13899impl ::core::fmt::Debug for SpeechBookmarkOptions {
13900 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13901 f.debug_tuple("SpeechBookmarkOptions").field(&self.0).finish()
13902 }
13903}
13904#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13905#[repr(transparent)]
13906#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13907pub struct SpeechDataKeyLocation(pub i32);
13908#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13909pub const SDKLDefaultLocation: SpeechDataKeyLocation = SpeechDataKeyLocation(0i32);
13910#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13911pub const SDKLCurrentUser: SpeechDataKeyLocation = SpeechDataKeyLocation(1i32);
13912#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13913pub const SDKLLocalMachine: SpeechDataKeyLocation = SpeechDataKeyLocation(2i32);
13914#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13915pub const SDKLCurrentConfig: SpeechDataKeyLocation = SpeechDataKeyLocation(5i32);
13916impl ::core::marker::Copy for SpeechDataKeyLocation {}
13917impl ::core::clone::Clone for SpeechDataKeyLocation {
13918 fn clone(&self) -> Self {
13919 *self
13920 }
13921}
13922impl ::core::default::Default for SpeechDataKeyLocation {
13923 fn default() -> Self {
13924 Self(0)
13925 }
13926}
13927impl ::windows::core::TypeKind for SpeechDataKeyLocation {
13928 type TypeKind = ::windows::core::CopyType;
13929}
13930impl ::core::fmt::Debug for SpeechDataKeyLocation {
13931 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13932 f.debug_tuple("SpeechDataKeyLocation").field(&self.0).finish()
13933 }
13934}
13935#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13936#[repr(transparent)]
13937#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13938pub struct SpeechDiscardType(pub i32);
13939#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13940pub const SDTProperty: SpeechDiscardType = SpeechDiscardType(1i32);
13941#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13942pub const SDTReplacement: SpeechDiscardType = SpeechDiscardType(2i32);
13943#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13944pub const SDTRule: SpeechDiscardType = SpeechDiscardType(4i32);
13945#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13946pub const SDTDisplayText: SpeechDiscardType = SpeechDiscardType(8i32);
13947#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13948pub const SDTLexicalForm: SpeechDiscardType = SpeechDiscardType(16i32);
13949#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13950pub const SDTPronunciation: SpeechDiscardType = SpeechDiscardType(32i32);
13951#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13952pub const SDTAudio: SpeechDiscardType = SpeechDiscardType(64i32);
13953#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13954pub const SDTAlternates: SpeechDiscardType = SpeechDiscardType(128i32);
13955#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13956pub const SDTAll: SpeechDiscardType = SpeechDiscardType(255i32);
13957impl ::core::marker::Copy for SpeechDiscardType {}
13958impl ::core::clone::Clone for SpeechDiscardType {
13959 fn clone(&self) -> Self {
13960 *self
13961 }
13962}
13963impl ::core::default::Default for SpeechDiscardType {
13964 fn default() -> Self {
13965 Self(0)
13966 }
13967}
13968impl ::windows::core::TypeKind for SpeechDiscardType {
13969 type TypeKind = ::windows::core::CopyType;
13970}
13971impl ::core::fmt::Debug for SpeechDiscardType {
13972 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
13973 f.debug_tuple("SpeechDiscardType").field(&self.0).finish()
13974 }
13975}
13976#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13977#[repr(transparent)]
13978#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
13979pub struct SpeechDisplayAttributes(pub i32);
13980#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13981pub const SDA_No_Trailing_Space: SpeechDisplayAttributes = SpeechDisplayAttributes(0i32);
13982#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13983pub const SDA_One_Trailing_Space: SpeechDisplayAttributes = SpeechDisplayAttributes(2i32);
13984#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13985pub const SDA_Two_Trailing_Spaces: SpeechDisplayAttributes = SpeechDisplayAttributes(4i32);
13986#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
13987pub const SDA_Consume_Leading_Spaces: SpeechDisplayAttributes = SpeechDisplayAttributes(8i32);
13988impl ::core::marker::Copy for SpeechDisplayAttributes {}
13989impl ::core::clone::Clone for SpeechDisplayAttributes {
13990 fn clone(&self) -> Self {
13991 *self
13992 }
13993}
13994impl ::core::default::Default for SpeechDisplayAttributes {
13995 fn default() -> Self {
13996 Self(0)
13997 }
13998}
13999impl ::windows::core::TypeKind for SpeechDisplayAttributes {
14000 type TypeKind = ::windows::core::CopyType;
14001}
14002impl ::core::fmt::Debug for SpeechDisplayAttributes {
14003 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14004 f.debug_tuple("SpeechDisplayAttributes").field(&self.0).finish()
14005 }
14006}
14007#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14008#[repr(transparent)]
14009#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14010pub struct SpeechEmulationCompareFlags(pub i32);
14011#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14012pub const SECFIgnoreCase: SpeechEmulationCompareFlags = SpeechEmulationCompareFlags(1i32);
14013#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14014pub const SECFIgnoreKanaType: SpeechEmulationCompareFlags = SpeechEmulationCompareFlags(65536i32);
14015#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14016pub const SECFIgnoreWidth: SpeechEmulationCompareFlags = SpeechEmulationCompareFlags(131072i32);
14017#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14018pub const SECFNoSpecialChars: SpeechEmulationCompareFlags = SpeechEmulationCompareFlags(536870912i32);
14019#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14020pub const SECFEmulateResult: SpeechEmulationCompareFlags = SpeechEmulationCompareFlags(1073741824i32);
14021#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14022pub const SECFDefault: SpeechEmulationCompareFlags = SpeechEmulationCompareFlags(196609i32);
14023impl ::core::marker::Copy for SpeechEmulationCompareFlags {}
14024impl ::core::clone::Clone for SpeechEmulationCompareFlags {
14025 fn clone(&self) -> Self {
14026 *self
14027 }
14028}
14029impl ::core::default::Default for SpeechEmulationCompareFlags {
14030 fn default() -> Self {
14031 Self(0)
14032 }
14033}
14034impl ::windows::core::TypeKind for SpeechEmulationCompareFlags {
14035 type TypeKind = ::windows::core::CopyType;
14036}
14037impl ::core::fmt::Debug for SpeechEmulationCompareFlags {
14038 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14039 f.debug_tuple("SpeechEmulationCompareFlags").field(&self.0).finish()
14040 }
14041}
14042#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14043#[repr(transparent)]
14044#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14045pub struct SpeechEngineConfidence(pub i32);
14046#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14047pub const SECLowConfidence: SpeechEngineConfidence = SpeechEngineConfidence(-1i32);
14048#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14049pub const SECNormalConfidence: SpeechEngineConfidence = SpeechEngineConfidence(0i32);
14050#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14051pub const SECHighConfidence: SpeechEngineConfidence = SpeechEngineConfidence(1i32);
14052impl ::core::marker::Copy for SpeechEngineConfidence {}
14053impl ::core::clone::Clone for SpeechEngineConfidence {
14054 fn clone(&self) -> Self {
14055 *self
14056 }
14057}
14058impl ::core::default::Default for SpeechEngineConfidence {
14059 fn default() -> Self {
14060 Self(0)
14061 }
14062}
14063impl ::windows::core::TypeKind for SpeechEngineConfidence {
14064 type TypeKind = ::windows::core::CopyType;
14065}
14066impl ::core::fmt::Debug for SpeechEngineConfidence {
14067 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14068 f.debug_tuple("SpeechEngineConfidence").field(&self.0).finish()
14069 }
14070}
14071#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14072#[repr(transparent)]
14073#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14074pub struct SpeechFormatType(pub i32);
14075#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14076pub const SFTInput: SpeechFormatType = SpeechFormatType(0i32);
14077#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14078pub const SFTSREngine: SpeechFormatType = SpeechFormatType(1i32);
14079impl ::core::marker::Copy for SpeechFormatType {}
14080impl ::core::clone::Clone for SpeechFormatType {
14081 fn clone(&self) -> Self {
14082 *self
14083 }
14084}
14085impl ::core::default::Default for SpeechFormatType {
14086 fn default() -> Self {
14087 Self(0)
14088 }
14089}
14090impl ::windows::core::TypeKind for SpeechFormatType {
14091 type TypeKind = ::windows::core::CopyType;
14092}
14093impl ::core::fmt::Debug for SpeechFormatType {
14094 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14095 f.debug_tuple("SpeechFormatType").field(&self.0).finish()
14096 }
14097}
14098#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14099#[repr(transparent)]
14100#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14101pub struct SpeechGrammarRuleStateTransitionType(pub i32);
14102#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14103pub const SGRSTTEpsilon: SpeechGrammarRuleStateTransitionType = SpeechGrammarRuleStateTransitionType(0i32);
14104#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14105pub const SGRSTTWord: SpeechGrammarRuleStateTransitionType = SpeechGrammarRuleStateTransitionType(1i32);
14106#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14107pub const SGRSTTRule: SpeechGrammarRuleStateTransitionType = SpeechGrammarRuleStateTransitionType(2i32);
14108#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14109pub const SGRSTTDictation: SpeechGrammarRuleStateTransitionType = SpeechGrammarRuleStateTransitionType(3i32);
14110#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14111pub const SGRSTTWildcard: SpeechGrammarRuleStateTransitionType = SpeechGrammarRuleStateTransitionType(4i32);
14112#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14113pub const SGRSTTTextBuffer: SpeechGrammarRuleStateTransitionType = SpeechGrammarRuleStateTransitionType(5i32);
14114impl ::core::marker::Copy for SpeechGrammarRuleStateTransitionType {}
14115impl ::core::clone::Clone for SpeechGrammarRuleStateTransitionType {
14116 fn clone(&self) -> Self {
14117 *self
14118 }
14119}
14120impl ::core::default::Default for SpeechGrammarRuleStateTransitionType {
14121 fn default() -> Self {
14122 Self(0)
14123 }
14124}
14125impl ::windows::core::TypeKind for SpeechGrammarRuleStateTransitionType {
14126 type TypeKind = ::windows::core::CopyType;
14127}
14128impl ::core::fmt::Debug for SpeechGrammarRuleStateTransitionType {
14129 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14130 f.debug_tuple("SpeechGrammarRuleStateTransitionType").field(&self.0).finish()
14131 }
14132}
14133#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14134#[repr(transparent)]
14135#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14136pub struct SpeechGrammarState(pub i32);
14137#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14138pub const SGSEnabled: SpeechGrammarState = SpeechGrammarState(1i32);
14139#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14140pub const SGSDisabled: SpeechGrammarState = SpeechGrammarState(0i32);
14141#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14142pub const SGSExclusive: SpeechGrammarState = SpeechGrammarState(3i32);
14143impl ::core::marker::Copy for SpeechGrammarState {}
14144impl ::core::clone::Clone for SpeechGrammarState {
14145 fn clone(&self) -> Self {
14146 *self
14147 }
14148}
14149impl ::core::default::Default for SpeechGrammarState {
14150 fn default() -> Self {
14151 Self(0)
14152 }
14153}
14154impl ::windows::core::TypeKind for SpeechGrammarState {
14155 type TypeKind = ::windows::core::CopyType;
14156}
14157impl ::core::fmt::Debug for SpeechGrammarState {
14158 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14159 f.debug_tuple("SpeechGrammarState").field(&self.0).finish()
14160 }
14161}
14162#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14163#[repr(transparent)]
14164#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14165pub struct SpeechGrammarWordType(pub i32);
14166#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14167pub const SGDisplay: SpeechGrammarWordType = SpeechGrammarWordType(0i32);
14168#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14169pub const SGLexical: SpeechGrammarWordType = SpeechGrammarWordType(1i32);
14170#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14171pub const SGPronounciation: SpeechGrammarWordType = SpeechGrammarWordType(2i32);
14172#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14173pub const SGLexicalNoSpecialChars: SpeechGrammarWordType = SpeechGrammarWordType(3i32);
14174impl ::core::marker::Copy for SpeechGrammarWordType {}
14175impl ::core::clone::Clone for SpeechGrammarWordType {
14176 fn clone(&self) -> Self {
14177 *self
14178 }
14179}
14180impl ::core::default::Default for SpeechGrammarWordType {
14181 fn default() -> Self {
14182 Self(0)
14183 }
14184}
14185impl ::windows::core::TypeKind for SpeechGrammarWordType {
14186 type TypeKind = ::windows::core::CopyType;
14187}
14188impl ::core::fmt::Debug for SpeechGrammarWordType {
14189 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14190 f.debug_tuple("SpeechGrammarWordType").field(&self.0).finish()
14191 }
14192}
14193#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14194#[repr(transparent)]
14195#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14196pub struct SpeechInterference(pub i32);
14197#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14198pub const SINone: SpeechInterference = SpeechInterference(0i32);
14199#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14200pub const SINoise: SpeechInterference = SpeechInterference(1i32);
14201#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14202pub const SINoSignal: SpeechInterference = SpeechInterference(2i32);
14203#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14204pub const SITooLoud: SpeechInterference = SpeechInterference(3i32);
14205#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14206pub const SITooQuiet: SpeechInterference = SpeechInterference(4i32);
14207#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14208pub const SITooFast: SpeechInterference = SpeechInterference(5i32);
14209#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14210pub const SITooSlow: SpeechInterference = SpeechInterference(6i32);
14211impl ::core::marker::Copy for SpeechInterference {}
14212impl ::core::clone::Clone for SpeechInterference {
14213 fn clone(&self) -> Self {
14214 *self
14215 }
14216}
14217impl ::core::default::Default for SpeechInterference {
14218 fn default() -> Self {
14219 Self(0)
14220 }
14221}
14222impl ::windows::core::TypeKind for SpeechInterference {
14223 type TypeKind = ::windows::core::CopyType;
14224}
14225impl ::core::fmt::Debug for SpeechInterference {
14226 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14227 f.debug_tuple("SpeechInterference").field(&self.0).finish()
14228 }
14229}
14230#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14231#[repr(transparent)]
14232#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14233pub struct SpeechLexiconType(pub i32);
14234#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14235pub const SLTUser: SpeechLexiconType = SpeechLexiconType(1i32);
14236#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14237pub const SLTApp: SpeechLexiconType = SpeechLexiconType(2i32);
14238impl ::core::marker::Copy for SpeechLexiconType {}
14239impl ::core::clone::Clone for SpeechLexiconType {
14240 fn clone(&self) -> Self {
14241 *self
14242 }
14243}
14244impl ::core::default::Default for SpeechLexiconType {
14245 fn default() -> Self {
14246 Self(0)
14247 }
14248}
14249impl ::windows::core::TypeKind for SpeechLexiconType {
14250 type TypeKind = ::windows::core::CopyType;
14251}
14252impl ::core::fmt::Debug for SpeechLexiconType {
14253 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14254 f.debug_tuple("SpeechLexiconType").field(&self.0).finish()
14255 }
14256}
14257#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14258#[repr(transparent)]
14259#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14260pub struct SpeechLoadOption(pub i32);
14261#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14262pub const SLOStatic: SpeechLoadOption = SpeechLoadOption(0i32);
14263#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14264pub const SLODynamic: SpeechLoadOption = SpeechLoadOption(1i32);
14265impl ::core::marker::Copy for SpeechLoadOption {}
14266impl ::core::clone::Clone for SpeechLoadOption {
14267 fn clone(&self) -> Self {
14268 *self
14269 }
14270}
14271impl ::core::default::Default for SpeechLoadOption {
14272 fn default() -> Self {
14273 Self(0)
14274 }
14275}
14276impl ::windows::core::TypeKind for SpeechLoadOption {
14277 type TypeKind = ::windows::core::CopyType;
14278}
14279impl ::core::fmt::Debug for SpeechLoadOption {
14280 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14281 f.debug_tuple("SpeechLoadOption").field(&self.0).finish()
14282 }
14283}
14284#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14285#[repr(transparent)]
14286#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14287pub struct SpeechPartOfSpeech(pub i32);
14288#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14289pub const SPSNotOverriden: SpeechPartOfSpeech = SpeechPartOfSpeech(-1i32);
14290#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14291pub const SPSUnknown: SpeechPartOfSpeech = SpeechPartOfSpeech(0i32);
14292#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14293pub const SPSNoun: SpeechPartOfSpeech = SpeechPartOfSpeech(4096i32);
14294#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14295pub const SPSVerb: SpeechPartOfSpeech = SpeechPartOfSpeech(8192i32);
14296#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14297pub const SPSModifier: SpeechPartOfSpeech = SpeechPartOfSpeech(12288i32);
14298#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14299pub const SPSFunction: SpeechPartOfSpeech = SpeechPartOfSpeech(16384i32);
14300#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14301pub const SPSInterjection: SpeechPartOfSpeech = SpeechPartOfSpeech(20480i32);
14302#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14303pub const SPSLMA: SpeechPartOfSpeech = SpeechPartOfSpeech(28672i32);
14304#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14305pub const SPSSuppressWord: SpeechPartOfSpeech = SpeechPartOfSpeech(61440i32);
14306impl ::core::marker::Copy for SpeechPartOfSpeech {}
14307impl ::core::clone::Clone for SpeechPartOfSpeech {
14308 fn clone(&self) -> Self {
14309 *self
14310 }
14311}
14312impl ::core::default::Default for SpeechPartOfSpeech {
14313 fn default() -> Self {
14314 Self(0)
14315 }
14316}
14317impl ::windows::core::TypeKind for SpeechPartOfSpeech {
14318 type TypeKind = ::windows::core::CopyType;
14319}
14320impl ::core::fmt::Debug for SpeechPartOfSpeech {
14321 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14322 f.debug_tuple("SpeechPartOfSpeech").field(&self.0).finish()
14323 }
14324}
14325#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14326#[repr(transparent)]
14327#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14328pub struct SpeechRecoContextState(pub i32);
14329#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14330pub const SRCS_Disabled: SpeechRecoContextState = SpeechRecoContextState(0i32);
14331#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14332pub const SRCS_Enabled: SpeechRecoContextState = SpeechRecoContextState(1i32);
14333impl ::core::marker::Copy for SpeechRecoContextState {}
14334impl ::core::clone::Clone for SpeechRecoContextState {
14335 fn clone(&self) -> Self {
14336 *self
14337 }
14338}
14339impl ::core::default::Default for SpeechRecoContextState {
14340 fn default() -> Self {
14341 Self(0)
14342 }
14343}
14344impl ::windows::core::TypeKind for SpeechRecoContextState {
14345 type TypeKind = ::windows::core::CopyType;
14346}
14347impl ::core::fmt::Debug for SpeechRecoContextState {
14348 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14349 f.debug_tuple("SpeechRecoContextState").field(&self.0).finish()
14350 }
14351}
14352#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14353#[repr(transparent)]
14354#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14355pub struct SpeechRecoEvents(pub i32);
14356#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14357pub const SREStreamEnd: SpeechRecoEvents = SpeechRecoEvents(1i32);
14358#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14359pub const SRESoundStart: SpeechRecoEvents = SpeechRecoEvents(2i32);
14360#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14361pub const SRESoundEnd: SpeechRecoEvents = SpeechRecoEvents(4i32);
14362#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14363pub const SREPhraseStart: SpeechRecoEvents = SpeechRecoEvents(8i32);
14364#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14365pub const SRERecognition: SpeechRecoEvents = SpeechRecoEvents(16i32);
14366#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14367pub const SREHypothesis: SpeechRecoEvents = SpeechRecoEvents(32i32);
14368#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14369pub const SREBookmark: SpeechRecoEvents = SpeechRecoEvents(64i32);
14370#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14371pub const SREPropertyNumChange: SpeechRecoEvents = SpeechRecoEvents(128i32);
14372#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14373pub const SREPropertyStringChange: SpeechRecoEvents = SpeechRecoEvents(256i32);
14374#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14375pub const SREFalseRecognition: SpeechRecoEvents = SpeechRecoEvents(512i32);
14376#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14377pub const SREInterference: SpeechRecoEvents = SpeechRecoEvents(1024i32);
14378#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14379pub const SRERequestUI: SpeechRecoEvents = SpeechRecoEvents(2048i32);
14380#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14381pub const SREStateChange: SpeechRecoEvents = SpeechRecoEvents(4096i32);
14382#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14383pub const SREAdaptation: SpeechRecoEvents = SpeechRecoEvents(8192i32);
14384#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14385pub const SREStreamStart: SpeechRecoEvents = SpeechRecoEvents(16384i32);
14386#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14387pub const SRERecoOtherContext: SpeechRecoEvents = SpeechRecoEvents(32768i32);
14388#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14389pub const SREAudioLevel: SpeechRecoEvents = SpeechRecoEvents(65536i32);
14390#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14391pub const SREPrivate: SpeechRecoEvents = SpeechRecoEvents(262144i32);
14392#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14393pub const SREAllEvents: SpeechRecoEvents = SpeechRecoEvents(393215i32);
14394impl ::core::marker::Copy for SpeechRecoEvents {}
14395impl ::core::clone::Clone for SpeechRecoEvents {
14396 fn clone(&self) -> Self {
14397 *self
14398 }
14399}
14400impl ::core::default::Default for SpeechRecoEvents {
14401 fn default() -> Self {
14402 Self(0)
14403 }
14404}
14405impl ::windows::core::TypeKind for SpeechRecoEvents {
14406 type TypeKind = ::windows::core::CopyType;
14407}
14408impl ::core::fmt::Debug for SpeechRecoEvents {
14409 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14410 f.debug_tuple("SpeechRecoEvents").field(&self.0).finish()
14411 }
14412}
14413#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14414#[repr(transparent)]
14415#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14416pub struct SpeechRecognitionType(pub i32);
14417#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14418pub const SRTStandard: SpeechRecognitionType = SpeechRecognitionType(0i32);
14419#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14420pub const SRTAutopause: SpeechRecognitionType = SpeechRecognitionType(1i32);
14421#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14422pub const SRTEmulated: SpeechRecognitionType = SpeechRecognitionType(2i32);
14423#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14424pub const SRTSMLTimeout: SpeechRecognitionType = SpeechRecognitionType(4i32);
14425#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14426pub const SRTExtendableParse: SpeechRecognitionType = SpeechRecognitionType(8i32);
14427#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14428pub const SRTReSent: SpeechRecognitionType = SpeechRecognitionType(16i32);
14429impl ::core::marker::Copy for SpeechRecognitionType {}
14430impl ::core::clone::Clone for SpeechRecognitionType {
14431 fn clone(&self) -> Self {
14432 *self
14433 }
14434}
14435impl ::core::default::Default for SpeechRecognitionType {
14436 fn default() -> Self {
14437 Self(0)
14438 }
14439}
14440impl ::windows::core::TypeKind for SpeechRecognitionType {
14441 type TypeKind = ::windows::core::CopyType;
14442}
14443impl ::core::fmt::Debug for SpeechRecognitionType {
14444 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14445 f.debug_tuple("SpeechRecognitionType").field(&self.0).finish()
14446 }
14447}
14448#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14449#[repr(transparent)]
14450#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14451pub struct SpeechRecognizerState(pub i32);
14452#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14453pub const SRSInactive: SpeechRecognizerState = SpeechRecognizerState(0i32);
14454#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14455pub const SRSActive: SpeechRecognizerState = SpeechRecognizerState(1i32);
14456#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14457pub const SRSActiveAlways: SpeechRecognizerState = SpeechRecognizerState(2i32);
14458#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14459pub const SRSInactiveWithPurge: SpeechRecognizerState = SpeechRecognizerState(3i32);
14460impl ::core::marker::Copy for SpeechRecognizerState {}
14461impl ::core::clone::Clone for SpeechRecognizerState {
14462 fn clone(&self) -> Self {
14463 *self
14464 }
14465}
14466impl ::core::default::Default for SpeechRecognizerState {
14467 fn default() -> Self {
14468 Self(0)
14469 }
14470}
14471impl ::windows::core::TypeKind for SpeechRecognizerState {
14472 type TypeKind = ::windows::core::CopyType;
14473}
14474impl ::core::fmt::Debug for SpeechRecognizerState {
14475 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14476 f.debug_tuple("SpeechRecognizerState").field(&self.0).finish()
14477 }
14478}
14479#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14480#[repr(transparent)]
14481#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14482pub struct SpeechRetainedAudioOptions(pub i32);
14483#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14484pub const SRAONone: SpeechRetainedAudioOptions = SpeechRetainedAudioOptions(0i32);
14485#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14486pub const SRAORetainAudio: SpeechRetainedAudioOptions = SpeechRetainedAudioOptions(1i32);
14487impl ::core::marker::Copy for SpeechRetainedAudioOptions {}
14488impl ::core::clone::Clone for SpeechRetainedAudioOptions {
14489 fn clone(&self) -> Self {
14490 *self
14491 }
14492}
14493impl ::core::default::Default for SpeechRetainedAudioOptions {
14494 fn default() -> Self {
14495 Self(0)
14496 }
14497}
14498impl ::windows::core::TypeKind for SpeechRetainedAudioOptions {
14499 type TypeKind = ::windows::core::CopyType;
14500}
14501impl ::core::fmt::Debug for SpeechRetainedAudioOptions {
14502 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14503 f.debug_tuple("SpeechRetainedAudioOptions").field(&self.0).finish()
14504 }
14505}
14506#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14507#[repr(transparent)]
14508#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14509pub struct SpeechRuleAttributes(pub i32);
14510#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14511pub const SRATopLevel: SpeechRuleAttributes = SpeechRuleAttributes(1i32);
14512#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14513pub const SRADefaultToActive: SpeechRuleAttributes = SpeechRuleAttributes(2i32);
14514#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14515pub const SRAExport: SpeechRuleAttributes = SpeechRuleAttributes(4i32);
14516#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14517pub const SRAImport: SpeechRuleAttributes = SpeechRuleAttributes(8i32);
14518#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14519pub const SRAInterpreter: SpeechRuleAttributes = SpeechRuleAttributes(16i32);
14520#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14521pub const SRADynamic: SpeechRuleAttributes = SpeechRuleAttributes(32i32);
14522#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14523pub const SRARoot: SpeechRuleAttributes = SpeechRuleAttributes(64i32);
14524impl ::core::marker::Copy for SpeechRuleAttributes {}
14525impl ::core::clone::Clone for SpeechRuleAttributes {
14526 fn clone(&self) -> Self {
14527 *self
14528 }
14529}
14530impl ::core::default::Default for SpeechRuleAttributes {
14531 fn default() -> Self {
14532 Self(0)
14533 }
14534}
14535impl ::windows::core::TypeKind for SpeechRuleAttributes {
14536 type TypeKind = ::windows::core::CopyType;
14537}
14538impl ::core::fmt::Debug for SpeechRuleAttributes {
14539 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14540 f.debug_tuple("SpeechRuleAttributes").field(&self.0).finish()
14541 }
14542}
14543#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14544#[repr(transparent)]
14545#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14546pub struct SpeechRuleState(pub i32);
14547#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14548pub const SGDSInactive: SpeechRuleState = SpeechRuleState(0i32);
14549#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14550pub const SGDSActive: SpeechRuleState = SpeechRuleState(1i32);
14551#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14552pub const SGDSActiveWithAutoPause: SpeechRuleState = SpeechRuleState(3i32);
14553#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14554pub const SGDSActiveUserDelimited: SpeechRuleState = SpeechRuleState(4i32);
14555impl ::core::marker::Copy for SpeechRuleState {}
14556impl ::core::clone::Clone for SpeechRuleState {
14557 fn clone(&self) -> Self {
14558 *self
14559 }
14560}
14561impl ::core::default::Default for SpeechRuleState {
14562 fn default() -> Self {
14563 Self(0)
14564 }
14565}
14566impl ::windows::core::TypeKind for SpeechRuleState {
14567 type TypeKind = ::windows::core::CopyType;
14568}
14569impl ::core::fmt::Debug for SpeechRuleState {
14570 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14571 f.debug_tuple("SpeechRuleState").field(&self.0).finish()
14572 }
14573}
14574#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14575#[repr(transparent)]
14576#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14577pub struct SpeechRunState(pub i32);
14578#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14579pub const SRSEDone: SpeechRunState = SpeechRunState(1i32);
14580#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14581pub const SRSEIsSpeaking: SpeechRunState = SpeechRunState(2i32);
14582impl ::core::marker::Copy for SpeechRunState {}
14583impl ::core::clone::Clone for SpeechRunState {
14584 fn clone(&self) -> Self {
14585 *self
14586 }
14587}
14588impl ::core::default::Default for SpeechRunState {
14589 fn default() -> Self {
14590 Self(0)
14591 }
14592}
14593impl ::windows::core::TypeKind for SpeechRunState {
14594 type TypeKind = ::windows::core::CopyType;
14595}
14596impl ::core::fmt::Debug for SpeechRunState {
14597 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14598 f.debug_tuple("SpeechRunState").field(&self.0).finish()
14599 }
14600}
14601#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14602#[repr(transparent)]
14603#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14604pub struct SpeechSpecialTransitionType(pub i32);
14605#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14606pub const SSTTWildcard: SpeechSpecialTransitionType = SpeechSpecialTransitionType(1i32);
14607#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14608pub const SSTTDictation: SpeechSpecialTransitionType = SpeechSpecialTransitionType(2i32);
14609#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14610pub const SSTTTextBuffer: SpeechSpecialTransitionType = SpeechSpecialTransitionType(3i32);
14611impl ::core::marker::Copy for SpeechSpecialTransitionType {}
14612impl ::core::clone::Clone for SpeechSpecialTransitionType {
14613 fn clone(&self) -> Self {
14614 *self
14615 }
14616}
14617impl ::core::default::Default for SpeechSpecialTransitionType {
14618 fn default() -> Self {
14619 Self(0)
14620 }
14621}
14622impl ::windows::core::TypeKind for SpeechSpecialTransitionType {
14623 type TypeKind = ::windows::core::CopyType;
14624}
14625impl ::core::fmt::Debug for SpeechSpecialTransitionType {
14626 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14627 f.debug_tuple("SpeechSpecialTransitionType").field(&self.0).finish()
14628 }
14629}
14630#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14631#[repr(transparent)]
14632#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14633pub struct SpeechStreamFileMode(pub i32);
14634#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14635pub const SSFMOpenForRead: SpeechStreamFileMode = SpeechStreamFileMode(0i32);
14636#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14637pub const SSFMOpenReadWrite: SpeechStreamFileMode = SpeechStreamFileMode(1i32);
14638#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14639pub const SSFMCreate: SpeechStreamFileMode = SpeechStreamFileMode(2i32);
14640#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14641pub const SSFMCreateForWrite: SpeechStreamFileMode = SpeechStreamFileMode(3i32);
14642impl ::core::marker::Copy for SpeechStreamFileMode {}
14643impl ::core::clone::Clone for SpeechStreamFileMode {
14644 fn clone(&self) -> Self {
14645 *self
14646 }
14647}
14648impl ::core::default::Default for SpeechStreamFileMode {
14649 fn default() -> Self {
14650 Self(0)
14651 }
14652}
14653impl ::windows::core::TypeKind for SpeechStreamFileMode {
14654 type TypeKind = ::windows::core::CopyType;
14655}
14656impl ::core::fmt::Debug for SpeechStreamFileMode {
14657 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14658 f.debug_tuple("SpeechStreamFileMode").field(&self.0).finish()
14659 }
14660}
14661#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14662#[repr(transparent)]
14663#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14664pub struct SpeechStreamSeekPositionType(pub u32);
14665#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14666pub const SSSPTRelativeToStart: SpeechStreamSeekPositionType = SpeechStreamSeekPositionType(0u32);
14667#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14668pub const SSSPTRelativeToCurrentPosition: SpeechStreamSeekPositionType = SpeechStreamSeekPositionType(1u32);
14669#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14670pub const SSSPTRelativeToEnd: SpeechStreamSeekPositionType = SpeechStreamSeekPositionType(2u32);
14671impl ::core::marker::Copy for SpeechStreamSeekPositionType {}
14672impl ::core::clone::Clone for SpeechStreamSeekPositionType {
14673 fn clone(&self) -> Self {
14674 *self
14675 }
14676}
14677impl ::core::default::Default for SpeechStreamSeekPositionType {
14678 fn default() -> Self {
14679 Self(0)
14680 }
14681}
14682impl ::windows::core::TypeKind for SpeechStreamSeekPositionType {
14683 type TypeKind = ::windows::core::CopyType;
14684}
14685impl ::core::fmt::Debug for SpeechStreamSeekPositionType {
14686 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14687 f.debug_tuple("SpeechStreamSeekPositionType").field(&self.0).finish()
14688 }
14689}
14690#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14691#[repr(transparent)]
14692#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14693pub struct SpeechTokenContext(pub u32);
14694#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14695pub const STCInprocServer: SpeechTokenContext = SpeechTokenContext(1u32);
14696#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14697pub const STCInprocHandler: SpeechTokenContext = SpeechTokenContext(2u32);
14698#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14699pub const STCLocalServer: SpeechTokenContext = SpeechTokenContext(4u32);
14700#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14701pub const STCRemoteServer: SpeechTokenContext = SpeechTokenContext(16u32);
14702#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14703pub const STCAll: SpeechTokenContext = SpeechTokenContext(23u32);
14704impl ::core::marker::Copy for SpeechTokenContext {}
14705impl ::core::clone::Clone for SpeechTokenContext {
14706 fn clone(&self) -> Self {
14707 *self
14708 }
14709}
14710impl ::core::default::Default for SpeechTokenContext {
14711 fn default() -> Self {
14712 Self(0)
14713 }
14714}
14715impl ::windows::core::TypeKind for SpeechTokenContext {
14716 type TypeKind = ::windows::core::CopyType;
14717}
14718impl ::core::fmt::Debug for SpeechTokenContext {
14719 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14720 f.debug_tuple("SpeechTokenContext").field(&self.0).finish()
14721 }
14722}
14723#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14724#[repr(transparent)]
14725#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14726pub struct SpeechTokenShellFolder(pub i32);
14727#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14728pub const STSF_AppData: SpeechTokenShellFolder = SpeechTokenShellFolder(26i32);
14729#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14730pub const STSF_LocalAppData: SpeechTokenShellFolder = SpeechTokenShellFolder(28i32);
14731#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14732pub const STSF_CommonAppData: SpeechTokenShellFolder = SpeechTokenShellFolder(35i32);
14733#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14734pub const STSF_FlagCreate: SpeechTokenShellFolder = SpeechTokenShellFolder(32768i32);
14735impl ::core::marker::Copy for SpeechTokenShellFolder {}
14736impl ::core::clone::Clone for SpeechTokenShellFolder {
14737 fn clone(&self) -> Self {
14738 *self
14739 }
14740}
14741impl ::core::default::Default for SpeechTokenShellFolder {
14742 fn default() -> Self {
14743 Self(0)
14744 }
14745}
14746impl ::windows::core::TypeKind for SpeechTokenShellFolder {
14747 type TypeKind = ::windows::core::CopyType;
14748}
14749impl ::core::fmt::Debug for SpeechTokenShellFolder {
14750 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14751 f.debug_tuple("SpeechTokenShellFolder").field(&self.0).finish()
14752 }
14753}
14754#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14755#[repr(transparent)]
14756#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14757pub struct SpeechVisemeFeature(pub i32);
14758#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14759pub const SVF_None: SpeechVisemeFeature = SpeechVisemeFeature(0i32);
14760#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14761pub const SVF_Stressed: SpeechVisemeFeature = SpeechVisemeFeature(1i32);
14762#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14763pub const SVF_Emphasis: SpeechVisemeFeature = SpeechVisemeFeature(2i32);
14764impl ::core::marker::Copy for SpeechVisemeFeature {}
14765impl ::core::clone::Clone for SpeechVisemeFeature {
14766 fn clone(&self) -> Self {
14767 *self
14768 }
14769}
14770impl ::core::default::Default for SpeechVisemeFeature {
14771 fn default() -> Self {
14772 Self(0)
14773 }
14774}
14775impl ::windows::core::TypeKind for SpeechVisemeFeature {
14776 type TypeKind = ::windows::core::CopyType;
14777}
14778impl ::core::fmt::Debug for SpeechVisemeFeature {
14779 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14780 f.debug_tuple("SpeechVisemeFeature").field(&self.0).finish()
14781 }
14782}
14783#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14784#[repr(transparent)]
14785#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14786pub struct SpeechVisemeType(pub i32);
14787#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14788pub const SVP_0: SpeechVisemeType = SpeechVisemeType(0i32);
14789#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14790pub const SVP_1: SpeechVisemeType = SpeechVisemeType(1i32);
14791#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14792pub const SVP_2: SpeechVisemeType = SpeechVisemeType(2i32);
14793#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14794pub const SVP_3: SpeechVisemeType = SpeechVisemeType(3i32);
14795#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14796pub const SVP_4: SpeechVisemeType = SpeechVisemeType(4i32);
14797#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14798pub const SVP_5: SpeechVisemeType = SpeechVisemeType(5i32);
14799#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14800pub const SVP_6: SpeechVisemeType = SpeechVisemeType(6i32);
14801#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14802pub const SVP_7: SpeechVisemeType = SpeechVisemeType(7i32);
14803#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14804pub const SVP_8: SpeechVisemeType = SpeechVisemeType(8i32);
14805#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14806pub const SVP_9: SpeechVisemeType = SpeechVisemeType(9i32);
14807#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14808pub const SVP_10: SpeechVisemeType = SpeechVisemeType(10i32);
14809#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14810pub const SVP_11: SpeechVisemeType = SpeechVisemeType(11i32);
14811#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14812pub const SVP_12: SpeechVisemeType = SpeechVisemeType(12i32);
14813#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14814pub const SVP_13: SpeechVisemeType = SpeechVisemeType(13i32);
14815#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14816pub const SVP_14: SpeechVisemeType = SpeechVisemeType(14i32);
14817#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14818pub const SVP_15: SpeechVisemeType = SpeechVisemeType(15i32);
14819#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14820pub const SVP_16: SpeechVisemeType = SpeechVisemeType(16i32);
14821#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14822pub const SVP_17: SpeechVisemeType = SpeechVisemeType(17i32);
14823#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14824pub const SVP_18: SpeechVisemeType = SpeechVisemeType(18i32);
14825#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14826pub const SVP_19: SpeechVisemeType = SpeechVisemeType(19i32);
14827#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14828pub const SVP_20: SpeechVisemeType = SpeechVisemeType(20i32);
14829#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14830pub const SVP_21: SpeechVisemeType = SpeechVisemeType(21i32);
14831impl ::core::marker::Copy for SpeechVisemeType {}
14832impl ::core::clone::Clone for SpeechVisemeType {
14833 fn clone(&self) -> Self {
14834 *self
14835 }
14836}
14837impl ::core::default::Default for SpeechVisemeType {
14838 fn default() -> Self {
14839 Self(0)
14840 }
14841}
14842impl ::windows::core::TypeKind for SpeechVisemeType {
14843 type TypeKind = ::windows::core::CopyType;
14844}
14845impl ::core::fmt::Debug for SpeechVisemeType {
14846 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14847 f.debug_tuple("SpeechVisemeType").field(&self.0).finish()
14848 }
14849}
14850#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14851#[repr(transparent)]
14852#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14853pub struct SpeechVoiceEvents(pub i32);
14854#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14855pub const SVEStartInputStream: SpeechVoiceEvents = SpeechVoiceEvents(2i32);
14856#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14857pub const SVEEndInputStream: SpeechVoiceEvents = SpeechVoiceEvents(4i32);
14858#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14859pub const SVEVoiceChange: SpeechVoiceEvents = SpeechVoiceEvents(8i32);
14860#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14861pub const SVEBookmark: SpeechVoiceEvents = SpeechVoiceEvents(16i32);
14862#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14863pub const SVEWordBoundary: SpeechVoiceEvents = SpeechVoiceEvents(32i32);
14864#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14865pub const SVEPhoneme: SpeechVoiceEvents = SpeechVoiceEvents(64i32);
14866#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14867pub const SVESentenceBoundary: SpeechVoiceEvents = SpeechVoiceEvents(128i32);
14868#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14869pub const SVEViseme: SpeechVoiceEvents = SpeechVoiceEvents(256i32);
14870#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14871pub const SVEAudioLevel: SpeechVoiceEvents = SpeechVoiceEvents(512i32);
14872#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14873pub const SVEPrivate: SpeechVoiceEvents = SpeechVoiceEvents(32768i32);
14874#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14875pub const SVEAllEvents: SpeechVoiceEvents = SpeechVoiceEvents(33790i32);
14876impl ::core::marker::Copy for SpeechVoiceEvents {}
14877impl ::core::clone::Clone for SpeechVoiceEvents {
14878 fn clone(&self) -> Self {
14879 *self
14880 }
14881}
14882impl ::core::default::Default for SpeechVoiceEvents {
14883 fn default() -> Self {
14884 Self(0)
14885 }
14886}
14887impl ::windows::core::TypeKind for SpeechVoiceEvents {
14888 type TypeKind = ::windows::core::CopyType;
14889}
14890impl ::core::fmt::Debug for SpeechVoiceEvents {
14891 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14892 f.debug_tuple("SpeechVoiceEvents").field(&self.0).finish()
14893 }
14894}
14895#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14896#[repr(transparent)]
14897#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14898pub struct SpeechVoicePriority(pub i32);
14899#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14900pub const SVPNormal: SpeechVoicePriority = SpeechVoicePriority(0i32);
14901#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14902pub const SVPAlert: SpeechVoicePriority = SpeechVoicePriority(1i32);
14903#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14904pub const SVPOver: SpeechVoicePriority = SpeechVoicePriority(2i32);
14905impl ::core::marker::Copy for SpeechVoicePriority {}
14906impl ::core::clone::Clone for SpeechVoicePriority {
14907 fn clone(&self) -> Self {
14908 *self
14909 }
14910}
14911impl ::core::default::Default for SpeechVoicePriority {
14912 fn default() -> Self {
14913 Self(0)
14914 }
14915}
14916impl ::windows::core::TypeKind for SpeechVoicePriority {
14917 type TypeKind = ::windows::core::CopyType;
14918}
14919impl ::core::fmt::Debug for SpeechVoicePriority {
14920 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14921 f.debug_tuple("SpeechVoicePriority").field(&self.0).finish()
14922 }
14923}
14924#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14925#[repr(transparent)]
14926#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14927pub struct SpeechVoiceSpeakFlags(pub i32);
14928#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14929pub const SVSFDefault: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(0i32);
14930#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14931pub const SVSFlagsAsync: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(1i32);
14932#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14933pub const SVSFPurgeBeforeSpeak: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(2i32);
14934#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14935pub const SVSFIsFilename: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(4i32);
14936#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14937pub const SVSFIsXML: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(8i32);
14938#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14939pub const SVSFIsNotXML: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(16i32);
14940#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14941pub const SVSFPersistXML: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(32i32);
14942#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14943pub const SVSFNLPSpeakPunc: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(64i32);
14944#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14945pub const SVSFParseSapi: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(128i32);
14946#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14947pub const SVSFParseSsml: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(256i32);
14948#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14949pub const SVSFParseAutodetect: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(0i32);
14950#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14951pub const SVSFNLPMask: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(64i32);
14952#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14953pub const SVSFParseMask: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(384i32);
14954#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14955pub const SVSFVoiceMask: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(511i32);
14956#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14957pub const SVSFUnusedFlags: SpeechVoiceSpeakFlags = SpeechVoiceSpeakFlags(-512i32);
14958impl ::core::marker::Copy for SpeechVoiceSpeakFlags {}
14959impl ::core::clone::Clone for SpeechVoiceSpeakFlags {
14960 fn clone(&self) -> Self {
14961 *self
14962 }
14963}
14964impl ::core::default::Default for SpeechVoiceSpeakFlags {
14965 fn default() -> Self {
14966 Self(0)
14967 }
14968}
14969impl ::windows::core::TypeKind for SpeechVoiceSpeakFlags {
14970 type TypeKind = ::windows::core::CopyType;
14971}
14972impl ::core::fmt::Debug for SpeechVoiceSpeakFlags {
14973 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
14974 f.debug_tuple("SpeechVoiceSpeakFlags").field(&self.0).finish()
14975 }
14976}
14977#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14978#[repr(transparent)]
14979#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
14980pub struct SpeechWordPronounceable(pub i32);
14981#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14982pub const SWPUnknownWordUnpronounceable: SpeechWordPronounceable = SpeechWordPronounceable(0i32);
14983#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14984pub const SWPUnknownWordPronounceable: SpeechWordPronounceable = SpeechWordPronounceable(1i32);
14985#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
14986pub const SWPKnownWordPronounceable: SpeechWordPronounceable = SpeechWordPronounceable(2i32);
14987impl ::core::marker::Copy for SpeechWordPronounceable {}
14988impl ::core::clone::Clone for SpeechWordPronounceable {
14989 fn clone(&self) -> Self {
14990 *self
14991 }
14992}
14993impl ::core::default::Default for SpeechWordPronounceable {
14994 fn default() -> Self {
14995 Self(0)
14996 }
14997}
14998impl ::windows::core::TypeKind for SpeechWordPronounceable {
14999 type TypeKind = ::windows::core::CopyType;
15000}
15001impl ::core::fmt::Debug for SpeechWordPronounceable {
15002 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15003 f.debug_tuple("SpeechWordPronounceable").field(&self.0).finish()
15004 }
15005}
15006#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15007#[repr(transparent)]
15008#[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
15009pub struct SpeechWordType(pub i32);
15010#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15011pub const SWTAdded: SpeechWordType = SpeechWordType(1i32);
15012#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15013pub const SWTDeleted: SpeechWordType = SpeechWordType(2i32);
15014impl ::core::marker::Copy for SpeechWordType {}
15015impl ::core::clone::Clone for SpeechWordType {
15016 fn clone(&self) -> Self {
15017 *self
15018 }
15019}
15020impl ::core::default::Default for SpeechWordType {
15021 fn default() -> Self {
15022 Self(0)
15023 }
15024}
15025impl ::windows::core::TypeKind for SpeechWordType {
15026 type TypeKind = ::windows::core::CopyType;
15027}
15028impl ::core::fmt::Debug for SpeechWordType {
15029 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15030 f.debug_tuple("SpeechWordType").field(&self.0).finish()
15031 }
15032}
15033#[repr(C)]
15034#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15035pub struct SPAUDIOBUFFERINFO {
15036 pub ulMsMinNotification: u32,
15037 pub ulMsBufferSize: u32,
15038 pub ulMsEventBias: u32,
15039}
15040impl ::core::marker::Copy for SPAUDIOBUFFERINFO {}
15041impl ::core::clone::Clone for SPAUDIOBUFFERINFO {
15042 fn clone(&self) -> Self {
15043 *self
15044 }
15045}
15046impl ::core::fmt::Debug for SPAUDIOBUFFERINFO {
15047 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15048 f.debug_struct("SPAUDIOBUFFERINFO").field("ulMsMinNotification", &self.ulMsMinNotification).field("ulMsBufferSize", &self.ulMsBufferSize).field("ulMsEventBias", &self.ulMsEventBias).finish()
15049 }
15050}
15051impl ::windows::core::TypeKind for SPAUDIOBUFFERINFO {
15052 type TypeKind = ::windows::core::CopyType;
15053}
15054impl ::core::cmp::PartialEq for SPAUDIOBUFFERINFO {
15055 fn eq(&self, other: &Self) -> bool {
15056 self.ulMsMinNotification == other.ulMsMinNotification && self.ulMsBufferSize == other.ulMsBufferSize && self.ulMsEventBias == other.ulMsEventBias
15057 }
15058}
15059impl ::core::cmp::Eq for SPAUDIOBUFFERINFO {}
15060impl ::core::default::Default for SPAUDIOBUFFERINFO {
15061 fn default() -> Self {
15062 unsafe { ::core::mem::zeroed() }
15063 }
15064}
15065#[repr(C)]
15066#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15067pub struct SPAUDIOSTATUS {
15068 pub cbFreeBuffSpace: i32,
15069 pub cbNonBlockingIO: u32,
15070 pub State: SPAUDIOSTATE,
15071 pub CurSeekPos: u64,
15072 pub CurDevicePos: u64,
15073 pub dwAudioLevel: u32,
15074 pub dwReserved2: u32,
15075}
15076impl ::core::marker::Copy for SPAUDIOSTATUS {}
15077impl ::core::clone::Clone for SPAUDIOSTATUS {
15078 fn clone(&self) -> Self {
15079 *self
15080 }
15081}
15082impl ::core::fmt::Debug for SPAUDIOSTATUS {
15083 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15084 f.debug_struct("SPAUDIOSTATUS").field("cbFreeBuffSpace", &self.cbFreeBuffSpace).field("cbNonBlockingIO", &self.cbNonBlockingIO).field("State", &self.State).field("CurSeekPos", &self.CurSeekPos).field("CurDevicePos", &self.CurDevicePos).field("dwAudioLevel", &self.dwAudioLevel).field("dwReserved2", &self.dwReserved2).finish()
15085 }
15086}
15087impl ::windows::core::TypeKind for SPAUDIOSTATUS {
15088 type TypeKind = ::windows::core::CopyType;
15089}
15090impl ::core::cmp::PartialEq for SPAUDIOSTATUS {
15091 fn eq(&self, other: &Self) -> bool {
15092 self.cbFreeBuffSpace == other.cbFreeBuffSpace && self.cbNonBlockingIO == other.cbNonBlockingIO && self.State == other.State && self.CurSeekPos == other.CurSeekPos && self.CurDevicePos == other.CurDevicePos && self.dwAudioLevel == other.dwAudioLevel && self.dwReserved2 == other.dwReserved2
15093 }
15094}
15095impl ::core::cmp::Eq for SPAUDIOSTATUS {}
15096impl ::core::default::Default for SPAUDIOSTATUS {
15097 fn default() -> Self {
15098 unsafe { ::core::mem::zeroed() }
15099 }
15100}
15101#[repr(C)]
15102#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15103pub struct SPBINARYGRAMMAR {
15104 pub ulTotalSerializedSize: u32,
15105}
15106impl ::core::marker::Copy for SPBINARYGRAMMAR {}
15107impl ::core::clone::Clone for SPBINARYGRAMMAR {
15108 fn clone(&self) -> Self {
15109 *self
15110 }
15111}
15112impl ::core::fmt::Debug for SPBINARYGRAMMAR {
15113 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15114 f.debug_struct("SPBINARYGRAMMAR").field("ulTotalSerializedSize", &self.ulTotalSerializedSize).finish()
15115 }
15116}
15117impl ::windows::core::TypeKind for SPBINARYGRAMMAR {
15118 type TypeKind = ::windows::core::CopyType;
15119}
15120impl ::core::cmp::PartialEq for SPBINARYGRAMMAR {
15121 fn eq(&self, other: &Self) -> bool {
15122 self.ulTotalSerializedSize == other.ulTotalSerializedSize
15123 }
15124}
15125impl ::core::cmp::Eq for SPBINARYGRAMMAR {}
15126impl ::core::default::Default for SPBINARYGRAMMAR {
15127 fn default() -> Self {
15128 unsafe { ::core::mem::zeroed() }
15129 }
15130}
15131#[repr(C)]
15132#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15133pub struct SPDISPLAYPHRASE {
15134 pub ulNumTokens: u32,
15135 pub pTokens: *mut SPDISPLAYTOKEN,
15136}
15137impl ::core::marker::Copy for SPDISPLAYPHRASE {}
15138impl ::core::clone::Clone for SPDISPLAYPHRASE {
15139 fn clone(&self) -> Self {
15140 *self
15141 }
15142}
15143impl ::core::fmt::Debug for SPDISPLAYPHRASE {
15144 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15145 f.debug_struct("SPDISPLAYPHRASE").field("ulNumTokens", &self.ulNumTokens).field("pTokens", &self.pTokens).finish()
15146 }
15147}
15148impl ::windows::core::TypeKind for SPDISPLAYPHRASE {
15149 type TypeKind = ::windows::core::CopyType;
15150}
15151impl ::core::cmp::PartialEq for SPDISPLAYPHRASE {
15152 fn eq(&self, other: &Self) -> bool {
15153 self.ulNumTokens == other.ulNumTokens && self.pTokens == other.pTokens
15154 }
15155}
15156impl ::core::cmp::Eq for SPDISPLAYPHRASE {}
15157impl ::core::default::Default for SPDISPLAYPHRASE {
15158 fn default() -> Self {
15159 unsafe { ::core::mem::zeroed() }
15160 }
15161}
15162#[repr(C)]
15163#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15164pub struct SPDISPLAYTOKEN {
15165 pub pszLexical: ::windows::core::PCWSTR,
15166 pub pszDisplay: ::windows::core::PCWSTR,
15167 pub bDisplayAttributes: u8,
15168}
15169impl ::core::marker::Copy for SPDISPLAYTOKEN {}
15170impl ::core::clone::Clone for SPDISPLAYTOKEN {
15171 fn clone(&self) -> Self {
15172 *self
15173 }
15174}
15175impl ::core::fmt::Debug for SPDISPLAYTOKEN {
15176 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15177 f.debug_struct("SPDISPLAYTOKEN").field("pszLexical", &self.pszLexical).field("pszDisplay", &self.pszDisplay).field("bDisplayAttributes", &self.bDisplayAttributes).finish()
15178 }
15179}
15180impl ::windows::core::TypeKind for SPDISPLAYTOKEN {
15181 type TypeKind = ::windows::core::CopyType;
15182}
15183impl ::core::cmp::PartialEq for SPDISPLAYTOKEN {
15184 fn eq(&self, other: &Self) -> bool {
15185 self.pszLexical == other.pszLexical && self.pszDisplay == other.pszDisplay && self.bDisplayAttributes == other.bDisplayAttributes
15186 }
15187}
15188impl ::core::cmp::Eq for SPDISPLAYTOKEN {}
15189impl ::core::default::Default for SPDISPLAYTOKEN {
15190 fn default() -> Self {
15191 unsafe { ::core::mem::zeroed() }
15192 }
15193}
15194#[repr(C)]
15195#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_Foundation\"`*"]
15196#[cfg(feature = "Win32_Foundation")]
15197pub struct SPEVENT {
15198 pub _bitfield: i32,
15199 pub ulStreamNum: u32,
15200 pub ullAudioStreamOffset: u64,
15201 pub wParam: super::super::Foundation::WPARAM,
15202 pub lParam: super::super::Foundation::LPARAM,
15203}
15204#[cfg(feature = "Win32_Foundation")]
15205impl ::core::marker::Copy for SPEVENT {}
15206#[cfg(feature = "Win32_Foundation")]
15207impl ::core::clone::Clone for SPEVENT {
15208 fn clone(&self) -> Self {
15209 *self
15210 }
15211}
15212#[cfg(feature = "Win32_Foundation")]
15213impl ::core::fmt::Debug for SPEVENT {
15214 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15215 f.debug_struct("SPEVENT").field("_bitfield", &self._bitfield).field("ulStreamNum", &self.ulStreamNum).field("ullAudioStreamOffset", &self.ullAudioStreamOffset).field("wParam", &self.wParam).field("lParam", &self.lParam).finish()
15216 }
15217}
15218#[cfg(feature = "Win32_Foundation")]
15219impl ::windows::core::TypeKind for SPEVENT {
15220 type TypeKind = ::windows::core::CopyType;
15221}
15222#[cfg(feature = "Win32_Foundation")]
15223impl ::core::cmp::PartialEq for SPEVENT {
15224 fn eq(&self, other: &Self) -> bool {
15225 self._bitfield == other._bitfield && self.ulStreamNum == other.ulStreamNum && self.ullAudioStreamOffset == other.ullAudioStreamOffset && self.wParam == other.wParam && self.lParam == other.lParam
15226 }
15227}
15228#[cfg(feature = "Win32_Foundation")]
15229impl ::core::cmp::Eq for SPEVENT {}
15230#[cfg(feature = "Win32_Foundation")]
15231impl ::core::default::Default for SPEVENT {
15232 fn default() -> Self {
15233 unsafe { ::core::mem::zeroed() }
15234 }
15235}
15236#[repr(C)]
15237#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_Foundation\"`*"]
15238#[cfg(feature = "Win32_Foundation")]
15239pub struct SPEVENTEX {
15240 pub _bitfield: i32,
15241 pub ulStreamNum: u32,
15242 pub ullAudioStreamOffset: u64,
15243 pub wParam: super::super::Foundation::WPARAM,
15244 pub lParam: super::super::Foundation::LPARAM,
15245 pub ullAudioTimeOffset: u64,
15246}
15247#[cfg(feature = "Win32_Foundation")]
15248impl ::core::marker::Copy for SPEVENTEX {}
15249#[cfg(feature = "Win32_Foundation")]
15250impl ::core::clone::Clone for SPEVENTEX {
15251 fn clone(&self) -> Self {
15252 *self
15253 }
15254}
15255#[cfg(feature = "Win32_Foundation")]
15256impl ::core::fmt::Debug for SPEVENTEX {
15257 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15258 f.debug_struct("SPEVENTEX").field("_bitfield", &self._bitfield).field("ulStreamNum", &self.ulStreamNum).field("ullAudioStreamOffset", &self.ullAudioStreamOffset).field("wParam", &self.wParam).field("lParam", &self.lParam).field("ullAudioTimeOffset", &self.ullAudioTimeOffset).finish()
15259 }
15260}
15261#[cfg(feature = "Win32_Foundation")]
15262impl ::windows::core::TypeKind for SPEVENTEX {
15263 type TypeKind = ::windows::core::CopyType;
15264}
15265#[cfg(feature = "Win32_Foundation")]
15266impl ::core::cmp::PartialEq for SPEVENTEX {
15267 fn eq(&self, other: &Self) -> bool {
15268 self._bitfield == other._bitfield && self.ulStreamNum == other.ulStreamNum && self.ullAudioStreamOffset == other.ullAudioStreamOffset && self.wParam == other.wParam && self.lParam == other.lParam && self.ullAudioTimeOffset == other.ullAudioTimeOffset
15269 }
15270}
15271#[cfg(feature = "Win32_Foundation")]
15272impl ::core::cmp::Eq for SPEVENTEX {}
15273#[cfg(feature = "Win32_Foundation")]
15274impl ::core::default::Default for SPEVENTEX {
15275 fn default() -> Self {
15276 unsafe { ::core::mem::zeroed() }
15277 }
15278}
15279#[repr(C)]
15280#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15281pub struct SPEVENTSOURCEINFO {
15282 pub ullEventInterest: u64,
15283 pub ullQueuedInterest: u64,
15284 pub ulCount: u32,
15285}
15286impl ::core::marker::Copy for SPEVENTSOURCEINFO {}
15287impl ::core::clone::Clone for SPEVENTSOURCEINFO {
15288 fn clone(&self) -> Self {
15289 *self
15290 }
15291}
15292impl ::core::fmt::Debug for SPEVENTSOURCEINFO {
15293 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15294 f.debug_struct("SPEVENTSOURCEINFO").field("ullEventInterest", &self.ullEventInterest).field("ullQueuedInterest", &self.ullQueuedInterest).field("ulCount", &self.ulCount).finish()
15295 }
15296}
15297impl ::windows::core::TypeKind for SPEVENTSOURCEINFO {
15298 type TypeKind = ::windows::core::CopyType;
15299}
15300impl ::core::cmp::PartialEq for SPEVENTSOURCEINFO {
15301 fn eq(&self, other: &Self) -> bool {
15302 self.ullEventInterest == other.ullEventInterest && self.ullQueuedInterest == other.ullQueuedInterest && self.ulCount == other.ulCount
15303 }
15304}
15305impl ::core::cmp::Eq for SPEVENTSOURCEINFO {}
15306impl ::core::default::Default for SPEVENTSOURCEINFO {
15307 fn default() -> Self {
15308 unsafe { ::core::mem::zeroed() }
15309 }
15310}
15311#[repr(C)]
15312#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15313pub struct SPNORMALIZATIONLIST {
15314 pub ulSize: u32,
15315 pub ppszzNormalizedList: *mut *mut u16,
15316}
15317impl ::core::marker::Copy for SPNORMALIZATIONLIST {}
15318impl ::core::clone::Clone for SPNORMALIZATIONLIST {
15319 fn clone(&self) -> Self {
15320 *self
15321 }
15322}
15323impl ::core::fmt::Debug for SPNORMALIZATIONLIST {
15324 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15325 f.debug_struct("SPNORMALIZATIONLIST").field("ulSize", &self.ulSize).field("ppszzNormalizedList", &self.ppszzNormalizedList).finish()
15326 }
15327}
15328impl ::windows::core::TypeKind for SPNORMALIZATIONLIST {
15329 type TypeKind = ::windows::core::CopyType;
15330}
15331impl ::core::cmp::PartialEq for SPNORMALIZATIONLIST {
15332 fn eq(&self, other: &Self) -> bool {
15333 self.ulSize == other.ulSize && self.ppszzNormalizedList == other.ppszzNormalizedList
15334 }
15335}
15336impl ::core::cmp::Eq for SPNORMALIZATIONLIST {}
15337impl ::core::default::Default for SPNORMALIZATIONLIST {
15338 fn default() -> Self {
15339 unsafe { ::core::mem::zeroed() }
15340 }
15341}
15342#[repr(C)]
15343#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
15344#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15345pub struct SPPHRASE {
15346 pub Base: SPPHRASE_50,
15347 pub pSML: ::windows::core::PWSTR,
15348 pub pSemanticErrorInfo: *mut SPSEMANTICERRORINFO,
15349}
15350#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15351impl ::core::marker::Copy for SPPHRASE {}
15352#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15353impl ::core::clone::Clone for SPPHRASE {
15354 fn clone(&self) -> Self {
15355 *self
15356 }
15357}
15358#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15359impl ::core::fmt::Debug for SPPHRASE {
15360 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15361 f.debug_struct("SPPHRASE").field("Base", &self.Base).field("pSML", &self.pSML).field("pSemanticErrorInfo", &self.pSemanticErrorInfo).finish()
15362 }
15363}
15364#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15365impl ::windows::core::TypeKind for SPPHRASE {
15366 type TypeKind = ::windows::core::CopyType;
15367}
15368#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15369impl ::core::cmp::PartialEq for SPPHRASE {
15370 fn eq(&self, other: &Self) -> bool {
15371 self.Base == other.Base && self.pSML == other.pSML && self.pSemanticErrorInfo == other.pSemanticErrorInfo
15372 }
15373}
15374#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15375impl ::core::cmp::Eq for SPPHRASE {}
15376#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15377impl ::core::default::Default for SPPHRASE {
15378 fn default() -> Self {
15379 unsafe { ::core::mem::zeroed() }
15380 }
15381}
15382#[repr(C)]
15383#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15384pub struct SPPHRASEELEMENT {
15385 pub ulAudioTimeOffset: u32,
15386 pub ulAudioSizeTime: u32,
15387 pub ulAudioStreamOffset: u32,
15388 pub ulAudioSizeBytes: u32,
15389 pub ulRetainedStreamOffset: u32,
15390 pub ulRetainedSizeBytes: u32,
15391 pub pszDisplayText: ::windows::core::PCWSTR,
15392 pub pszLexicalForm: ::windows::core::PCWSTR,
15393 pub pszPronunciation: *const u16,
15394 pub bDisplayAttributes: u8,
15395 pub RequiredConfidence: i8,
15396 pub ActualConfidence: i8,
15397 pub Reserved: u8,
15398 pub SREngineConfidence: f32,
15399}
15400impl ::core::marker::Copy for SPPHRASEELEMENT {}
15401impl ::core::clone::Clone for SPPHRASEELEMENT {
15402 fn clone(&self) -> Self {
15403 *self
15404 }
15405}
15406impl ::core::fmt::Debug for SPPHRASEELEMENT {
15407 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15408 f.debug_struct("SPPHRASEELEMENT")
15409 .field("ulAudioTimeOffset", &self.ulAudioTimeOffset)
15410 .field("ulAudioSizeTime", &self.ulAudioSizeTime)
15411 .field("ulAudioStreamOffset", &self.ulAudioStreamOffset)
15412 .field("ulAudioSizeBytes", &self.ulAudioSizeBytes)
15413 .field("ulRetainedStreamOffset", &self.ulRetainedStreamOffset)
15414 .field("ulRetainedSizeBytes", &self.ulRetainedSizeBytes)
15415 .field("pszDisplayText", &self.pszDisplayText)
15416 .field("pszLexicalForm", &self.pszLexicalForm)
15417 .field("pszPronunciation", &self.pszPronunciation)
15418 .field("bDisplayAttributes", &self.bDisplayAttributes)
15419 .field("RequiredConfidence", &self.RequiredConfidence)
15420 .field("ActualConfidence", &self.ActualConfidence)
15421 .field("Reserved", &self.Reserved)
15422 .field("SREngineConfidence", &self.SREngineConfidence)
15423 .finish()
15424 }
15425}
15426impl ::windows::core::TypeKind for SPPHRASEELEMENT {
15427 type TypeKind = ::windows::core::CopyType;
15428}
15429impl ::core::cmp::PartialEq for SPPHRASEELEMENT {
15430 fn eq(&self, other: &Self) -> bool {
15431 self.ulAudioTimeOffset == other.ulAudioTimeOffset && self.ulAudioSizeTime == other.ulAudioSizeTime && self.ulAudioStreamOffset == other.ulAudioStreamOffset && self.ulAudioSizeBytes == other.ulAudioSizeBytes && self.ulRetainedStreamOffset == other.ulRetainedStreamOffset && self.ulRetainedSizeBytes == other.ulRetainedSizeBytes && self.pszDisplayText == other.pszDisplayText && self.pszLexicalForm == other.pszLexicalForm && self.pszPronunciation == other.pszPronunciation && self.bDisplayAttributes == other.bDisplayAttributes && self.RequiredConfidence == other.RequiredConfidence && self.ActualConfidence == other.ActualConfidence && self.Reserved == other.Reserved && self.SREngineConfidence == other.SREngineConfidence
15432 }
15433}
15434impl ::core::cmp::Eq for SPPHRASEELEMENT {}
15435impl ::core::default::Default for SPPHRASEELEMENT {
15436 fn default() -> Self {
15437 unsafe { ::core::mem::zeroed() }
15438 }
15439}
15440#[repr(C)]
15441#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
15442#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15443pub struct SPPHRASEPROPERTY {
15444 pub pszName: ::windows::core::PCWSTR,
15445 pub Anonymous: SPPHRASEPROPERTY_0,
15446 pub pszValue: ::windows::core::PCWSTR,
15447 pub vValue: super::super::System::Com::VARIANT,
15448 pub ulFirstElement: u32,
15449 pub ulCountOfElements: u32,
15450 pub pNextSibling: *const SPPHRASEPROPERTY,
15451 pub pFirstChild: *const SPPHRASEPROPERTY,
15452 pub SREngineConfidence: f32,
15453 pub Confidence: i8,
15454}
15455#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15456impl ::core::clone::Clone for SPPHRASEPROPERTY {
15457 fn clone(&self) -> Self {
15458 unsafe { ::core::mem::transmute_copy(self) }
15459 }
15460}
15461#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15462impl ::windows::core::TypeKind for SPPHRASEPROPERTY {
15463 type TypeKind = ::windows::core::CopyType;
15464}
15465#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15466impl ::core::default::Default for SPPHRASEPROPERTY {
15467 fn default() -> Self {
15468 unsafe { ::core::mem::zeroed() }
15469 }
15470}
15471#[repr(C)]
15472#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
15473#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15474pub union SPPHRASEPROPERTY_0 {
15475 pub ulId: u32,
15476 pub Anonymous: SPPHRASEPROPERTY_0_0,
15477}
15478#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15479impl ::core::marker::Copy for SPPHRASEPROPERTY_0 {}
15480#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15481impl ::core::clone::Clone for SPPHRASEPROPERTY_0 {
15482 fn clone(&self) -> Self {
15483 *self
15484 }
15485}
15486#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15487impl ::windows::core::TypeKind for SPPHRASEPROPERTY_0 {
15488 type TypeKind = ::windows::core::CopyType;
15489}
15490#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15491impl ::core::default::Default for SPPHRASEPROPERTY_0 {
15492 fn default() -> Self {
15493 unsafe { ::core::mem::zeroed() }
15494 }
15495}
15496#[repr(C)]
15497#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
15498#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15499pub struct SPPHRASEPROPERTY_0_0 {
15500 pub bType: u8,
15501 pub bReserved: u8,
15502 pub usArrayIndex: u16,
15503}
15504#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15505impl ::core::marker::Copy for SPPHRASEPROPERTY_0_0 {}
15506#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15507impl ::core::clone::Clone for SPPHRASEPROPERTY_0_0 {
15508 fn clone(&self) -> Self {
15509 *self
15510 }
15511}
15512#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15513impl ::core::fmt::Debug for SPPHRASEPROPERTY_0_0 {
15514 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15515 f.debug_struct("SPPHRASEPROPERTY_0_0").field("bType", &self.bType).field("bReserved", &self.bReserved).field("usArrayIndex", &self.usArrayIndex).finish()
15516 }
15517}
15518#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15519impl ::windows::core::TypeKind for SPPHRASEPROPERTY_0_0 {
15520 type TypeKind = ::windows::core::CopyType;
15521}
15522#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15523impl ::core::cmp::PartialEq for SPPHRASEPROPERTY_0_0 {
15524 fn eq(&self, other: &Self) -> bool {
15525 self.bType == other.bType && self.bReserved == other.bReserved && self.usArrayIndex == other.usArrayIndex
15526 }
15527}
15528#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15529impl ::core::cmp::Eq for SPPHRASEPROPERTY_0_0 {}
15530#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15531impl ::core::default::Default for SPPHRASEPROPERTY_0_0 {
15532 fn default() -> Self {
15533 unsafe { ::core::mem::zeroed() }
15534 }
15535}
15536#[repr(C)]
15537#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15538pub struct SPPHRASEREPLACEMENT {
15539 pub bDisplayAttributes: u8,
15540 pub pszReplacementText: ::windows::core::PCWSTR,
15541 pub ulFirstElement: u32,
15542 pub ulCountOfElements: u32,
15543}
15544impl ::core::marker::Copy for SPPHRASEREPLACEMENT {}
15545impl ::core::clone::Clone for SPPHRASEREPLACEMENT {
15546 fn clone(&self) -> Self {
15547 *self
15548 }
15549}
15550impl ::core::fmt::Debug for SPPHRASEREPLACEMENT {
15551 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15552 f.debug_struct("SPPHRASEREPLACEMENT").field("bDisplayAttributes", &self.bDisplayAttributes).field("pszReplacementText", &self.pszReplacementText).field("ulFirstElement", &self.ulFirstElement).field("ulCountOfElements", &self.ulCountOfElements).finish()
15553 }
15554}
15555impl ::windows::core::TypeKind for SPPHRASEREPLACEMENT {
15556 type TypeKind = ::windows::core::CopyType;
15557}
15558impl ::core::cmp::PartialEq for SPPHRASEREPLACEMENT {
15559 fn eq(&self, other: &Self) -> bool {
15560 self.bDisplayAttributes == other.bDisplayAttributes && self.pszReplacementText == other.pszReplacementText && self.ulFirstElement == other.ulFirstElement && self.ulCountOfElements == other.ulCountOfElements
15561 }
15562}
15563impl ::core::cmp::Eq for SPPHRASEREPLACEMENT {}
15564impl ::core::default::Default for SPPHRASEREPLACEMENT {
15565 fn default() -> Self {
15566 unsafe { ::core::mem::zeroed() }
15567 }
15568}
15569#[repr(C)]
15570#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15571pub struct SPPHRASERULE {
15572 pub pszName: ::windows::core::PCWSTR,
15573 pub ulId: u32,
15574 pub ulFirstElement: u32,
15575 pub ulCountOfElements: u32,
15576 pub pNextSibling: *const SPPHRASERULE,
15577 pub pFirstChild: *const SPPHRASERULE,
15578 pub SREngineConfidence: f32,
15579 pub Confidence: i8,
15580}
15581impl ::core::marker::Copy for SPPHRASERULE {}
15582impl ::core::clone::Clone for SPPHRASERULE {
15583 fn clone(&self) -> Self {
15584 *self
15585 }
15586}
15587impl ::core::fmt::Debug for SPPHRASERULE {
15588 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15589 f.debug_struct("SPPHRASERULE").field("pszName", &self.pszName).field("ulId", &self.ulId).field("ulFirstElement", &self.ulFirstElement).field("ulCountOfElements", &self.ulCountOfElements).field("pNextSibling", &self.pNextSibling).field("pFirstChild", &self.pFirstChild).field("SREngineConfidence", &self.SREngineConfidence).field("Confidence", &self.Confidence).finish()
15590 }
15591}
15592impl ::windows::core::TypeKind for SPPHRASERULE {
15593 type TypeKind = ::windows::core::CopyType;
15594}
15595impl ::core::cmp::PartialEq for SPPHRASERULE {
15596 fn eq(&self, other: &Self) -> bool {
15597 self.pszName == other.pszName && self.ulId == other.ulId && self.ulFirstElement == other.ulFirstElement && self.ulCountOfElements == other.ulCountOfElements && self.pNextSibling == other.pNextSibling && self.pFirstChild == other.pFirstChild && self.SREngineConfidence == other.SREngineConfidence && self.Confidence == other.Confidence
15598 }
15599}
15600impl ::core::cmp::Eq for SPPHRASERULE {}
15601impl ::core::default::Default for SPPHRASERULE {
15602 fn default() -> Self {
15603 unsafe { ::core::mem::zeroed() }
15604 }
15605}
15606#[repr(C)]
15607#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
15608#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15609pub struct SPPHRASE_50 {
15610 pub cbSize: u32,
15611 pub LangID: u16,
15612 pub wHomophoneGroupId: u16,
15613 pub ullGrammarID: u64,
15614 pub ftStartTime: u64,
15615 pub ullAudioStreamPosition: u64,
15616 pub ulAudioSizeBytes: u32,
15617 pub ulRetainedSizeBytes: u32,
15618 pub ulAudioSizeTime: u32,
15619 pub Rule: SPPHRASERULE,
15620 pub pProperties: *const SPPHRASEPROPERTY,
15621 pub pElements: *const SPPHRASEELEMENT,
15622 pub cReplacements: u32,
15623 pub pReplacements: *const SPPHRASEREPLACEMENT,
15624 pub SREngineID: ::windows::core::GUID,
15625 pub ulSREnginePrivateDataSize: u32,
15626 pub pSREnginePrivateData: *const u8,
15627}
15628#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15629impl ::core::marker::Copy for SPPHRASE_50 {}
15630#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15631impl ::core::clone::Clone for SPPHRASE_50 {
15632 fn clone(&self) -> Self {
15633 *self
15634 }
15635}
15636#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15637impl ::core::fmt::Debug for SPPHRASE_50 {
15638 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15639 f.debug_struct("SPPHRASE_50")
15640 .field("cbSize", &self.cbSize)
15641 .field("LangID", &self.LangID)
15642 .field("wHomophoneGroupId", &self.wHomophoneGroupId)
15643 .field("ullGrammarID", &self.ullGrammarID)
15644 .field("ftStartTime", &self.ftStartTime)
15645 .field("ullAudioStreamPosition", &self.ullAudioStreamPosition)
15646 .field("ulAudioSizeBytes", &self.ulAudioSizeBytes)
15647 .field("ulRetainedSizeBytes", &self.ulRetainedSizeBytes)
15648 .field("ulAudioSizeTime", &self.ulAudioSizeTime)
15649 .field("Rule", &self.Rule)
15650 .field("pProperties", &self.pProperties)
15651 .field("pElements", &self.pElements)
15652 .field("cReplacements", &self.cReplacements)
15653 .field("pReplacements", &self.pReplacements)
15654 .field("SREngineID", &self.SREngineID)
15655 .field("ulSREnginePrivateDataSize", &self.ulSREnginePrivateDataSize)
15656 .field("pSREnginePrivateData", &self.pSREnginePrivateData)
15657 .finish()
15658 }
15659}
15660#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15661impl ::windows::core::TypeKind for SPPHRASE_50 {
15662 type TypeKind = ::windows::core::CopyType;
15663}
15664#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15665impl ::core::cmp::PartialEq for SPPHRASE_50 {
15666 fn eq(&self, other: &Self) -> bool {
15667 self.cbSize == other.cbSize && self.LangID == other.LangID && self.wHomophoneGroupId == other.wHomophoneGroupId && self.ullGrammarID == other.ullGrammarID && self.ftStartTime == other.ftStartTime && self.ullAudioStreamPosition == other.ullAudioStreamPosition && self.ulAudioSizeBytes == other.ulAudioSizeBytes && self.ulRetainedSizeBytes == other.ulRetainedSizeBytes && self.ulAudioSizeTime == other.ulAudioSizeTime && self.Rule == other.Rule && self.pProperties == other.pProperties && self.pElements == other.pElements && self.cReplacements == other.cReplacements && self.pReplacements == other.pReplacements && self.SREngineID == other.SREngineID && self.ulSREnginePrivateDataSize == other.ulSREnginePrivateDataSize && self.pSREnginePrivateData == other.pSREnginePrivateData
15668 }
15669}
15670#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15671impl ::core::cmp::Eq for SPPHRASE_50 {}
15672#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15673impl ::core::default::Default for SPPHRASE_50 {
15674 fn default() -> Self {
15675 unsafe { ::core::mem::zeroed() }
15676 }
15677}
15678#[repr(C)]
15679#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_Foundation\"`, `\"Win32_System_Com\"`, `\"Win32_System_Ole\"`*"]
15680#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15681pub struct SPPROPERTYINFO {
15682 pub pszName: ::windows::core::PCWSTR,
15683 pub ulId: u32,
15684 pub pszValue: ::windows::core::PCWSTR,
15685 pub vValue: super::super::System::Com::VARIANT,
15686}
15687#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15688impl ::core::clone::Clone for SPPROPERTYINFO {
15689 fn clone(&self) -> Self {
15690 unsafe { ::core::mem::transmute_copy(self) }
15691 }
15692}
15693#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15694impl ::windows::core::TypeKind for SPPROPERTYINFO {
15695 type TypeKind = ::windows::core::CopyType;
15696}
15697#[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Com", feature = "Win32_System_Ole"))]
15698impl ::core::default::Default for SPPROPERTYINFO {
15699 fn default() -> Self {
15700 unsafe { ::core::mem::zeroed() }
15701 }
15702}
15703#[repr(C)]
15704#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15705pub struct SPRECOCONTEXTSTATUS {
15706 pub eInterference: SPINTERFERENCE,
15707 pub szRequestTypeOfUI: [u16; 255],
15708 pub dwReserved1: u32,
15709 pub dwReserved2: u32,
15710}
15711impl ::core::marker::Copy for SPRECOCONTEXTSTATUS {}
15712impl ::core::clone::Clone for SPRECOCONTEXTSTATUS {
15713 fn clone(&self) -> Self {
15714 *self
15715 }
15716}
15717impl ::core::fmt::Debug for SPRECOCONTEXTSTATUS {
15718 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15719 f.debug_struct("SPRECOCONTEXTSTATUS").field("eInterference", &self.eInterference).field("szRequestTypeOfUI", &self.szRequestTypeOfUI).field("dwReserved1", &self.dwReserved1).field("dwReserved2", &self.dwReserved2).finish()
15720 }
15721}
15722impl ::windows::core::TypeKind for SPRECOCONTEXTSTATUS {
15723 type TypeKind = ::windows::core::CopyType;
15724}
15725impl ::core::cmp::PartialEq for SPRECOCONTEXTSTATUS {
15726 fn eq(&self, other: &Self) -> bool {
15727 self.eInterference == other.eInterference && self.szRequestTypeOfUI == other.szRequestTypeOfUI && self.dwReserved1 == other.dwReserved1 && self.dwReserved2 == other.dwReserved2
15728 }
15729}
15730impl ::core::cmp::Eq for SPRECOCONTEXTSTATUS {}
15731impl ::core::default::Default for SPRECOCONTEXTSTATUS {
15732 fn default() -> Self {
15733 unsafe { ::core::mem::zeroed() }
15734 }
15735}
15736#[repr(C)]
15737#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15738pub struct SPRECOGNIZERSTATUS {
15739 pub AudioStatus: SPAUDIOSTATUS,
15740 pub ullRecognitionStreamPos: u64,
15741 pub ulStreamNumber: u32,
15742 pub ulNumActive: u32,
15743 pub clsidEngine: ::windows::core::GUID,
15744 pub cLangIDs: u32,
15745 pub aLangID: [u16; 20],
15746 pub ullRecognitionStreamTime: u64,
15747}
15748impl ::core::marker::Copy for SPRECOGNIZERSTATUS {}
15749impl ::core::clone::Clone for SPRECOGNIZERSTATUS {
15750 fn clone(&self) -> Self {
15751 *self
15752 }
15753}
15754impl ::core::fmt::Debug for SPRECOGNIZERSTATUS {
15755 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15756 f.debug_struct("SPRECOGNIZERSTATUS").field("AudioStatus", &self.AudioStatus).field("ullRecognitionStreamPos", &self.ullRecognitionStreamPos).field("ulStreamNumber", &self.ulStreamNumber).field("ulNumActive", &self.ulNumActive).field("clsidEngine", &self.clsidEngine).field("cLangIDs", &self.cLangIDs).field("aLangID", &self.aLangID).field("ullRecognitionStreamTime", &self.ullRecognitionStreamTime).finish()
15757 }
15758}
15759impl ::windows::core::TypeKind for SPRECOGNIZERSTATUS {
15760 type TypeKind = ::windows::core::CopyType;
15761}
15762impl ::core::cmp::PartialEq for SPRECOGNIZERSTATUS {
15763 fn eq(&self, other: &Self) -> bool {
15764 self.AudioStatus == other.AudioStatus && self.ullRecognitionStreamPos == other.ullRecognitionStreamPos && self.ulStreamNumber == other.ulStreamNumber && self.ulNumActive == other.ulNumActive && self.clsidEngine == other.clsidEngine && self.cLangIDs == other.cLangIDs && self.aLangID == other.aLangID && self.ullRecognitionStreamTime == other.ullRecognitionStreamTime
15765 }
15766}
15767impl ::core::cmp::Eq for SPRECOGNIZERSTATUS {}
15768impl ::core::default::Default for SPRECOGNIZERSTATUS {
15769 fn default() -> Self {
15770 unsafe { ::core::mem::zeroed() }
15771 }
15772}
15773#[repr(C)]
15774#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_Foundation\"`*"]
15775#[cfg(feature = "Win32_Foundation")]
15776pub struct SPRECORESULTTIMES {
15777 pub ftStreamTime: super::super::Foundation::FILETIME,
15778 pub ullLength: u64,
15779 pub dwTickCount: u32,
15780 pub ullStart: u64,
15781}
15782#[cfg(feature = "Win32_Foundation")]
15783impl ::core::marker::Copy for SPRECORESULTTIMES {}
15784#[cfg(feature = "Win32_Foundation")]
15785impl ::core::clone::Clone for SPRECORESULTTIMES {
15786 fn clone(&self) -> Self {
15787 *self
15788 }
15789}
15790#[cfg(feature = "Win32_Foundation")]
15791impl ::core::fmt::Debug for SPRECORESULTTIMES {
15792 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15793 f.debug_struct("SPRECORESULTTIMES").field("ftStreamTime", &self.ftStreamTime).field("ullLength", &self.ullLength).field("dwTickCount", &self.dwTickCount).field("ullStart", &self.ullStart).finish()
15794 }
15795}
15796#[cfg(feature = "Win32_Foundation")]
15797impl ::windows::core::TypeKind for SPRECORESULTTIMES {
15798 type TypeKind = ::windows::core::CopyType;
15799}
15800#[cfg(feature = "Win32_Foundation")]
15801impl ::core::cmp::PartialEq for SPRECORESULTTIMES {
15802 fn eq(&self, other: &Self) -> bool {
15803 self.ftStreamTime == other.ftStreamTime && self.ullLength == other.ullLength && self.dwTickCount == other.dwTickCount && self.ullStart == other.ullStart
15804 }
15805}
15806#[cfg(feature = "Win32_Foundation")]
15807impl ::core::cmp::Eq for SPRECORESULTTIMES {}
15808#[cfg(feature = "Win32_Foundation")]
15809impl ::core::default::Default for SPRECORESULTTIMES {
15810 fn default() -> Self {
15811 unsafe { ::core::mem::zeroed() }
15812 }
15813}
15814#[repr(C)]
15815#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15816pub struct SPRULE {
15817 pub pszRuleName: ::windows::core::PCWSTR,
15818 pub ulRuleId: u32,
15819 pub dwAttributes: u32,
15820}
15821impl ::core::marker::Copy for SPRULE {}
15822impl ::core::clone::Clone for SPRULE {
15823 fn clone(&self) -> Self {
15824 *self
15825 }
15826}
15827impl ::core::fmt::Debug for SPRULE {
15828 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15829 f.debug_struct("SPRULE").field("pszRuleName", &self.pszRuleName).field("ulRuleId", &self.ulRuleId).field("dwAttributes", &self.dwAttributes).finish()
15830 }
15831}
15832impl ::windows::core::TypeKind for SPRULE {
15833 type TypeKind = ::windows::core::CopyType;
15834}
15835impl ::core::cmp::PartialEq for SPRULE {
15836 fn eq(&self, other: &Self) -> bool {
15837 self.pszRuleName == other.pszRuleName && self.ulRuleId == other.ulRuleId && self.dwAttributes == other.dwAttributes
15838 }
15839}
15840impl ::core::cmp::Eq for SPRULE {}
15841impl ::core::default::Default for SPRULE {
15842 fn default() -> Self {
15843 unsafe { ::core::mem::zeroed() }
15844 }
15845}
15846#[repr(C)]
15847#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15848pub struct SPSEMANTICERRORINFO {
15849 pub ulLineNumber: u32,
15850 pub pszScriptLine: ::windows::core::PWSTR,
15851 pub pszSource: ::windows::core::PWSTR,
15852 pub pszDescription: ::windows::core::PWSTR,
15853 pub hrResultCode: ::windows::core::HRESULT,
15854}
15855impl ::core::marker::Copy for SPSEMANTICERRORINFO {}
15856impl ::core::clone::Clone for SPSEMANTICERRORINFO {
15857 fn clone(&self) -> Self {
15858 *self
15859 }
15860}
15861impl ::core::fmt::Debug for SPSEMANTICERRORINFO {
15862 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15863 f.debug_struct("SPSEMANTICERRORINFO").field("ulLineNumber", &self.ulLineNumber).field("pszScriptLine", &self.pszScriptLine).field("pszSource", &self.pszSource).field("pszDescription", &self.pszDescription).field("hrResultCode", &self.hrResultCode).finish()
15864 }
15865}
15866impl ::windows::core::TypeKind for SPSEMANTICERRORINFO {
15867 type TypeKind = ::windows::core::CopyType;
15868}
15869impl ::core::cmp::PartialEq for SPSEMANTICERRORINFO {
15870 fn eq(&self, other: &Self) -> bool {
15871 self.ulLineNumber == other.ulLineNumber && self.pszScriptLine == other.pszScriptLine && self.pszSource == other.pszSource && self.pszDescription == other.pszDescription && self.hrResultCode == other.hrResultCode
15872 }
15873}
15874impl ::core::cmp::Eq for SPSEMANTICERRORINFO {}
15875impl ::core::default::Default for SPSEMANTICERRORINFO {
15876 fn default() -> Self {
15877 unsafe { ::core::mem::zeroed() }
15878 }
15879}
15880#[repr(C)]
15881#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15882pub struct SPSERIALIZEDEVENT {
15883 pub _bitfield: i32,
15884 pub ulStreamNum: u32,
15885 pub ullAudioStreamOffset: u64,
15886 pub SerializedwParam: u32,
15887 pub SerializedlParam: i32,
15888}
15889impl ::core::marker::Copy for SPSERIALIZEDEVENT {}
15890impl ::core::clone::Clone for SPSERIALIZEDEVENT {
15891 fn clone(&self) -> Self {
15892 *self
15893 }
15894}
15895impl ::core::fmt::Debug for SPSERIALIZEDEVENT {
15896 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15897 f.debug_struct("SPSERIALIZEDEVENT").field("_bitfield", &self._bitfield).field("ulStreamNum", &self.ulStreamNum).field("ullAudioStreamOffset", &self.ullAudioStreamOffset).field("SerializedwParam", &self.SerializedwParam).field("SerializedlParam", &self.SerializedlParam).finish()
15898 }
15899}
15900impl ::windows::core::TypeKind for SPSERIALIZEDEVENT {
15901 type TypeKind = ::windows::core::CopyType;
15902}
15903impl ::core::cmp::PartialEq for SPSERIALIZEDEVENT {
15904 fn eq(&self, other: &Self) -> bool {
15905 self._bitfield == other._bitfield && self.ulStreamNum == other.ulStreamNum && self.ullAudioStreamOffset == other.ullAudioStreamOffset && self.SerializedwParam == other.SerializedwParam && self.SerializedlParam == other.SerializedlParam
15906 }
15907}
15908impl ::core::cmp::Eq for SPSERIALIZEDEVENT {}
15909impl ::core::default::Default for SPSERIALIZEDEVENT {
15910 fn default() -> Self {
15911 unsafe { ::core::mem::zeroed() }
15912 }
15913}
15914#[repr(C)]
15915#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15916pub struct SPSERIALIZEDEVENT64 {
15917 pub _bitfield: i32,
15918 pub ulStreamNum: u32,
15919 pub ullAudioStreamOffset: u64,
15920 pub SerializedwParam: u64,
15921 pub SerializedlParam: i64,
15922}
15923impl ::core::marker::Copy for SPSERIALIZEDEVENT64 {}
15924impl ::core::clone::Clone for SPSERIALIZEDEVENT64 {
15925 fn clone(&self) -> Self {
15926 *self
15927 }
15928}
15929impl ::core::fmt::Debug for SPSERIALIZEDEVENT64 {
15930 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15931 f.debug_struct("SPSERIALIZEDEVENT64").field("_bitfield", &self._bitfield).field("ulStreamNum", &self.ulStreamNum).field("ullAudioStreamOffset", &self.ullAudioStreamOffset).field("SerializedwParam", &self.SerializedwParam).field("SerializedlParam", &self.SerializedlParam).finish()
15932 }
15933}
15934impl ::windows::core::TypeKind for SPSERIALIZEDEVENT64 {
15935 type TypeKind = ::windows::core::CopyType;
15936}
15937impl ::core::cmp::PartialEq for SPSERIALIZEDEVENT64 {
15938 fn eq(&self, other: &Self) -> bool {
15939 self._bitfield == other._bitfield && self.ulStreamNum == other.ulStreamNum && self.ullAudioStreamOffset == other.ullAudioStreamOffset && self.SerializedwParam == other.SerializedwParam && self.SerializedlParam == other.SerializedlParam
15940 }
15941}
15942impl ::core::cmp::Eq for SPSERIALIZEDEVENT64 {}
15943impl ::core::default::Default for SPSERIALIZEDEVENT64 {
15944 fn default() -> Self {
15945 unsafe { ::core::mem::zeroed() }
15946 }
15947}
15948#[repr(C)]
15949#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15950pub struct SPSERIALIZEDPHRASE {
15951 pub ulSerializedSize: u32,
15952}
15953impl ::core::marker::Copy for SPSERIALIZEDPHRASE {}
15954impl ::core::clone::Clone for SPSERIALIZEDPHRASE {
15955 fn clone(&self) -> Self {
15956 *self
15957 }
15958}
15959impl ::core::fmt::Debug for SPSERIALIZEDPHRASE {
15960 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15961 f.debug_struct("SPSERIALIZEDPHRASE").field("ulSerializedSize", &self.ulSerializedSize).finish()
15962 }
15963}
15964impl ::windows::core::TypeKind for SPSERIALIZEDPHRASE {
15965 type TypeKind = ::windows::core::CopyType;
15966}
15967impl ::core::cmp::PartialEq for SPSERIALIZEDPHRASE {
15968 fn eq(&self, other: &Self) -> bool {
15969 self.ulSerializedSize == other.ulSerializedSize
15970 }
15971}
15972impl ::core::cmp::Eq for SPSERIALIZEDPHRASE {}
15973impl ::core::default::Default for SPSERIALIZEDPHRASE {
15974 fn default() -> Self {
15975 unsafe { ::core::mem::zeroed() }
15976 }
15977}
15978#[repr(C)]
15979#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
15980pub struct SPSERIALIZEDRESULT {
15981 pub ulSerializedSize: u32,
15982}
15983impl ::core::marker::Copy for SPSERIALIZEDRESULT {}
15984impl ::core::clone::Clone for SPSERIALIZEDRESULT {
15985 fn clone(&self) -> Self {
15986 *self
15987 }
15988}
15989impl ::core::fmt::Debug for SPSERIALIZEDRESULT {
15990 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
15991 f.debug_struct("SPSERIALIZEDRESULT").field("ulSerializedSize", &self.ulSerializedSize).finish()
15992 }
15993}
15994impl ::windows::core::TypeKind for SPSERIALIZEDRESULT {
15995 type TypeKind = ::windows::core::CopyType;
15996}
15997impl ::core::cmp::PartialEq for SPSERIALIZEDRESULT {
15998 fn eq(&self, other: &Self) -> bool {
15999 self.ulSerializedSize == other.ulSerializedSize
16000 }
16001}
16002impl ::core::cmp::Eq for SPSERIALIZEDRESULT {}
16003impl ::core::default::Default for SPSERIALIZEDRESULT {
16004 fn default() -> Self {
16005 unsafe { ::core::mem::zeroed() }
16006 }
16007}
16008#[repr(C)]
16009#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
16010pub struct SPSHORTCUTPAIR {
16011 pub pNextSHORTCUTPAIR: *mut SPSHORTCUTPAIR,
16012 pub LangID: u16,
16013 pub shType: SPSHORTCUTTYPE,
16014 pub pszDisplay: ::windows::core::PWSTR,
16015 pub pszSpoken: ::windows::core::PWSTR,
16016}
16017impl ::core::marker::Copy for SPSHORTCUTPAIR {}
16018impl ::core::clone::Clone for SPSHORTCUTPAIR {
16019 fn clone(&self) -> Self {
16020 *self
16021 }
16022}
16023impl ::core::fmt::Debug for SPSHORTCUTPAIR {
16024 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16025 f.debug_struct("SPSHORTCUTPAIR").field("pNextSHORTCUTPAIR", &self.pNextSHORTCUTPAIR).field("LangID", &self.LangID).field("shType", &self.shType).field("pszDisplay", &self.pszDisplay).field("pszSpoken", &self.pszSpoken).finish()
16026 }
16027}
16028impl ::windows::core::TypeKind for SPSHORTCUTPAIR {
16029 type TypeKind = ::windows::core::CopyType;
16030}
16031impl ::core::cmp::PartialEq for SPSHORTCUTPAIR {
16032 fn eq(&self, other: &Self) -> bool {
16033 self.pNextSHORTCUTPAIR == other.pNextSHORTCUTPAIR && self.LangID == other.LangID && self.shType == other.shType && self.pszDisplay == other.pszDisplay && self.pszSpoken == other.pszSpoken
16034 }
16035}
16036impl ::core::cmp::Eq for SPSHORTCUTPAIR {}
16037impl ::core::default::Default for SPSHORTCUTPAIR {
16038 fn default() -> Self {
16039 unsafe { ::core::mem::zeroed() }
16040 }
16041}
16042#[repr(C)]
16043#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
16044pub struct SPSHORTCUTPAIRLIST {
16045 pub ulSize: u32,
16046 pub pvBuffer: *mut u8,
16047 pub pFirstShortcutPair: *mut SPSHORTCUTPAIR,
16048}
16049impl ::core::marker::Copy for SPSHORTCUTPAIRLIST {}
16050impl ::core::clone::Clone for SPSHORTCUTPAIRLIST {
16051 fn clone(&self) -> Self {
16052 *self
16053 }
16054}
16055impl ::core::fmt::Debug for SPSHORTCUTPAIRLIST {
16056 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16057 f.debug_struct("SPSHORTCUTPAIRLIST").field("ulSize", &self.ulSize).field("pvBuffer", &self.pvBuffer).field("pFirstShortcutPair", &self.pFirstShortcutPair).finish()
16058 }
16059}
16060impl ::windows::core::TypeKind for SPSHORTCUTPAIRLIST {
16061 type TypeKind = ::windows::core::CopyType;
16062}
16063impl ::core::cmp::PartialEq for SPSHORTCUTPAIRLIST {
16064 fn eq(&self, other: &Self) -> bool {
16065 self.ulSize == other.ulSize && self.pvBuffer == other.pvBuffer && self.pFirstShortcutPair == other.pFirstShortcutPair
16066 }
16067}
16068impl ::core::cmp::Eq for SPSHORTCUTPAIRLIST {}
16069impl ::core::default::Default for SPSHORTCUTPAIRLIST {
16070 fn default() -> Self {
16071 unsafe { ::core::mem::zeroed() }
16072 }
16073}
16074#[repr(C)]
16075#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
16076pub struct SPSTATEHANDLE__ {
16077 pub unused: i32,
16078}
16079impl ::core::marker::Copy for SPSTATEHANDLE__ {}
16080impl ::core::clone::Clone for SPSTATEHANDLE__ {
16081 fn clone(&self) -> Self {
16082 *self
16083 }
16084}
16085impl ::core::fmt::Debug for SPSTATEHANDLE__ {
16086 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16087 f.debug_struct("SPSTATEHANDLE__").field("unused", &self.unused).finish()
16088 }
16089}
16090impl ::windows::core::TypeKind for SPSTATEHANDLE__ {
16091 type TypeKind = ::windows::core::CopyType;
16092}
16093impl ::core::cmp::PartialEq for SPSTATEHANDLE__ {
16094 fn eq(&self, other: &Self) -> bool {
16095 self.unused == other.unused
16096 }
16097}
16098impl ::core::cmp::Eq for SPSTATEHANDLE__ {}
16099impl ::core::default::Default for SPSTATEHANDLE__ {
16100 fn default() -> Self {
16101 unsafe { ::core::mem::zeroed() }
16102 }
16103}
16104#[repr(C)]
16105#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
16106pub struct SPTEXTSELECTIONINFO {
16107 pub ulStartActiveOffset: u32,
16108 pub cchActiveChars: u32,
16109 pub ulStartSelection: u32,
16110 pub cchSelection: u32,
16111}
16112impl ::core::marker::Copy for SPTEXTSELECTIONINFO {}
16113impl ::core::clone::Clone for SPTEXTSELECTIONINFO {
16114 fn clone(&self) -> Self {
16115 *self
16116 }
16117}
16118impl ::core::fmt::Debug for SPTEXTSELECTIONINFO {
16119 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16120 f.debug_struct("SPTEXTSELECTIONINFO").field("ulStartActiveOffset", &self.ulStartActiveOffset).field("cchActiveChars", &self.cchActiveChars).field("ulStartSelection", &self.ulStartSelection).field("cchSelection", &self.cchSelection).finish()
16121 }
16122}
16123impl ::windows::core::TypeKind for SPTEXTSELECTIONINFO {
16124 type TypeKind = ::windows::core::CopyType;
16125}
16126impl ::core::cmp::PartialEq for SPTEXTSELECTIONINFO {
16127 fn eq(&self, other: &Self) -> bool {
16128 self.ulStartActiveOffset == other.ulStartActiveOffset && self.cchActiveChars == other.cchActiveChars && self.ulStartSelection == other.ulStartSelection && self.cchSelection == other.cchSelection
16129 }
16130}
16131impl ::core::cmp::Eq for SPTEXTSELECTIONINFO {}
16132impl ::core::default::Default for SPTEXTSELECTIONINFO {
16133 fn default() -> Self {
16134 unsafe { ::core::mem::zeroed() }
16135 }
16136}
16137#[repr(C)]
16138#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
16139pub struct SPVCONTEXT {
16140 pub pCategory: ::windows::core::PCWSTR,
16141 pub pBefore: ::windows::core::PCWSTR,
16142 pub pAfter: ::windows::core::PCWSTR,
16143}
16144impl ::core::marker::Copy for SPVCONTEXT {}
16145impl ::core::clone::Clone for SPVCONTEXT {
16146 fn clone(&self) -> Self {
16147 *self
16148 }
16149}
16150impl ::core::fmt::Debug for SPVCONTEXT {
16151 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16152 f.debug_struct("SPVCONTEXT").field("pCategory", &self.pCategory).field("pBefore", &self.pBefore).field("pAfter", &self.pAfter).finish()
16153 }
16154}
16155impl ::windows::core::TypeKind for SPVCONTEXT {
16156 type TypeKind = ::windows::core::CopyType;
16157}
16158impl ::core::cmp::PartialEq for SPVCONTEXT {
16159 fn eq(&self, other: &Self) -> bool {
16160 self.pCategory == other.pCategory && self.pBefore == other.pBefore && self.pAfter == other.pAfter
16161 }
16162}
16163impl ::core::cmp::Eq for SPVCONTEXT {}
16164impl ::core::default::Default for SPVCONTEXT {
16165 fn default() -> Self {
16166 unsafe { ::core::mem::zeroed() }
16167 }
16168}
16169#[repr(C)]
16170#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
16171pub struct SPVOICESTATUS {
16172 pub ulCurrentStream: u32,
16173 pub ulLastStreamQueued: u32,
16174 pub hrLastResult: ::windows::core::HRESULT,
16175 pub dwRunningState: u32,
16176 pub ulInputWordPos: u32,
16177 pub ulInputWordLen: u32,
16178 pub ulInputSentPos: u32,
16179 pub ulInputSentLen: u32,
16180 pub lBookmarkId: i32,
16181 pub PhonemeId: u16,
16182 pub VisemeId: SPVISEMES,
16183 pub dwReserved1: u32,
16184 pub dwReserved2: u32,
16185}
16186impl ::core::marker::Copy for SPVOICESTATUS {}
16187impl ::core::clone::Clone for SPVOICESTATUS {
16188 fn clone(&self) -> Self {
16189 *self
16190 }
16191}
16192impl ::core::fmt::Debug for SPVOICESTATUS {
16193 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16194 f.debug_struct("SPVOICESTATUS")
16195 .field("ulCurrentStream", &self.ulCurrentStream)
16196 .field("ulLastStreamQueued", &self.ulLastStreamQueued)
16197 .field("hrLastResult", &self.hrLastResult)
16198 .field("dwRunningState", &self.dwRunningState)
16199 .field("ulInputWordPos", &self.ulInputWordPos)
16200 .field("ulInputWordLen", &self.ulInputWordLen)
16201 .field("ulInputSentPos", &self.ulInputSentPos)
16202 .field("ulInputSentLen", &self.ulInputSentLen)
16203 .field("lBookmarkId", &self.lBookmarkId)
16204 .field("PhonemeId", &self.PhonemeId)
16205 .field("VisemeId", &self.VisemeId)
16206 .field("dwReserved1", &self.dwReserved1)
16207 .field("dwReserved2", &self.dwReserved2)
16208 .finish()
16209 }
16210}
16211impl ::windows::core::TypeKind for SPVOICESTATUS {
16212 type TypeKind = ::windows::core::CopyType;
16213}
16214impl ::core::cmp::PartialEq for SPVOICESTATUS {
16215 fn eq(&self, other: &Self) -> bool {
16216 self.ulCurrentStream == other.ulCurrentStream && self.ulLastStreamQueued == other.ulLastStreamQueued && self.hrLastResult == other.hrLastResult && self.dwRunningState == other.dwRunningState && self.ulInputWordPos == other.ulInputWordPos && self.ulInputWordLen == other.ulInputWordLen && self.ulInputSentPos == other.ulInputSentPos && self.ulInputSentLen == other.ulInputSentLen && self.lBookmarkId == other.lBookmarkId && self.PhonemeId == other.PhonemeId && self.VisemeId == other.VisemeId && self.dwReserved1 == other.dwReserved1 && self.dwReserved2 == other.dwReserved2
16217 }
16218}
16219impl ::core::cmp::Eq for SPVOICESTATUS {}
16220impl ::core::default::Default for SPVOICESTATUS {
16221 fn default() -> Self {
16222 unsafe { ::core::mem::zeroed() }
16223 }
16224}
16225#[repr(C)]
16226#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
16227pub struct SPVPITCH {
16228 pub MiddleAdj: i32,
16229 pub RangeAdj: i32,
16230}
16231impl ::core::marker::Copy for SPVPITCH {}
16232impl ::core::clone::Clone for SPVPITCH {
16233 fn clone(&self) -> Self {
16234 *self
16235 }
16236}
16237impl ::core::fmt::Debug for SPVPITCH {
16238 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16239 f.debug_struct("SPVPITCH").field("MiddleAdj", &self.MiddleAdj).field("RangeAdj", &self.RangeAdj).finish()
16240 }
16241}
16242impl ::windows::core::TypeKind for SPVPITCH {
16243 type TypeKind = ::windows::core::CopyType;
16244}
16245impl ::core::cmp::PartialEq for SPVPITCH {
16246 fn eq(&self, other: &Self) -> bool {
16247 self.MiddleAdj == other.MiddleAdj && self.RangeAdj == other.RangeAdj
16248 }
16249}
16250impl ::core::cmp::Eq for SPVPITCH {}
16251impl ::core::default::Default for SPVPITCH {
16252 fn default() -> Self {
16253 unsafe { ::core::mem::zeroed() }
16254 }
16255}
16256#[repr(C)]
16257#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
16258pub struct SPVSTATE {
16259 pub eAction: SPVACTIONS,
16260 pub LangID: u16,
16261 pub wReserved: u16,
16262 pub EmphAdj: i32,
16263 pub RateAdj: i32,
16264 pub Volume: u32,
16265 pub PitchAdj: SPVPITCH,
16266 pub SilenceMSecs: u32,
16267 pub pPhoneIds: *mut u16,
16268 pub ePartOfSpeech: SPPARTOFSPEECH,
16269 pub Context: SPVCONTEXT,
16270}
16271impl ::core::marker::Copy for SPVSTATE {}
16272impl ::core::clone::Clone for SPVSTATE {
16273 fn clone(&self) -> Self {
16274 *self
16275 }
16276}
16277impl ::core::fmt::Debug for SPVSTATE {
16278 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16279 f.debug_struct("SPVSTATE").field("eAction", &self.eAction).field("LangID", &self.LangID).field("wReserved", &self.wReserved).field("EmphAdj", &self.EmphAdj).field("RateAdj", &self.RateAdj).field("Volume", &self.Volume).field("PitchAdj", &self.PitchAdj).field("SilenceMSecs", &self.SilenceMSecs).field("pPhoneIds", &self.pPhoneIds).field("ePartOfSpeech", &self.ePartOfSpeech).field("Context", &self.Context).finish()
16280 }
16281}
16282impl ::windows::core::TypeKind for SPVSTATE {
16283 type TypeKind = ::windows::core::CopyType;
16284}
16285impl ::core::cmp::PartialEq for SPVSTATE {
16286 fn eq(&self, other: &Self) -> bool {
16287 self.eAction == other.eAction && self.LangID == other.LangID && self.wReserved == other.wReserved && self.EmphAdj == other.EmphAdj && self.RateAdj == other.RateAdj && self.Volume == other.Volume && self.PitchAdj == other.PitchAdj && self.SilenceMSecs == other.SilenceMSecs && self.pPhoneIds == other.pPhoneIds && self.ePartOfSpeech == other.ePartOfSpeech && self.Context == other.Context
16288 }
16289}
16290impl ::core::cmp::Eq for SPVSTATE {}
16291impl ::core::default::Default for SPVSTATE {
16292 fn default() -> Self {
16293 unsafe { ::core::mem::zeroed() }
16294 }
16295}
16296#[repr(C)]
16297#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
16298pub struct SPWORD {
16299 pub pNextWord: *mut SPWORD,
16300 pub LangID: u16,
16301 pub wReserved: u16,
16302 pub eWordType: SPWORDTYPE,
16303 pub pszWord: ::windows::core::PWSTR,
16304 pub pFirstWordPronunciation: *mut SPWORDPRONUNCIATION,
16305}
16306impl ::core::marker::Copy for SPWORD {}
16307impl ::core::clone::Clone for SPWORD {
16308 fn clone(&self) -> Self {
16309 *self
16310 }
16311}
16312impl ::core::fmt::Debug for SPWORD {
16313 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16314 f.debug_struct("SPWORD").field("pNextWord", &self.pNextWord).field("LangID", &self.LangID).field("wReserved", &self.wReserved).field("eWordType", &self.eWordType).field("pszWord", &self.pszWord).field("pFirstWordPronunciation", &self.pFirstWordPronunciation).finish()
16315 }
16316}
16317impl ::windows::core::TypeKind for SPWORD {
16318 type TypeKind = ::windows::core::CopyType;
16319}
16320impl ::core::cmp::PartialEq for SPWORD {
16321 fn eq(&self, other: &Self) -> bool {
16322 self.pNextWord == other.pNextWord && self.LangID == other.LangID && self.wReserved == other.wReserved && self.eWordType == other.eWordType && self.pszWord == other.pszWord && self.pFirstWordPronunciation == other.pFirstWordPronunciation
16323 }
16324}
16325impl ::core::cmp::Eq for SPWORD {}
16326impl ::core::default::Default for SPWORD {
16327 fn default() -> Self {
16328 unsafe { ::core::mem::zeroed() }
16329 }
16330}
16331#[repr(C)]
16332#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
16333pub struct SPWORDLIST {
16334 pub ulSize: u32,
16335 pub pvBuffer: *mut u8,
16336 pub pFirstWord: *mut SPWORD,
16337}
16338impl ::core::marker::Copy for SPWORDLIST {}
16339impl ::core::clone::Clone for SPWORDLIST {
16340 fn clone(&self) -> Self {
16341 *self
16342 }
16343}
16344impl ::core::fmt::Debug for SPWORDLIST {
16345 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16346 f.debug_struct("SPWORDLIST").field("ulSize", &self.ulSize).field("pvBuffer", &self.pvBuffer).field("pFirstWord", &self.pFirstWord).finish()
16347 }
16348}
16349impl ::windows::core::TypeKind for SPWORDLIST {
16350 type TypeKind = ::windows::core::CopyType;
16351}
16352impl ::core::cmp::PartialEq for SPWORDLIST {
16353 fn eq(&self, other: &Self) -> bool {
16354 self.ulSize == other.ulSize && self.pvBuffer == other.pvBuffer && self.pFirstWord == other.pFirstWord
16355 }
16356}
16357impl ::core::cmp::Eq for SPWORDLIST {}
16358impl ::core::default::Default for SPWORDLIST {
16359 fn default() -> Self {
16360 unsafe { ::core::mem::zeroed() }
16361 }
16362}
16363#[repr(C)]
16364#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
16365pub struct SPWORDPRONUNCIATION {
16366 pub pNextWordPronunciation: *mut SPWORDPRONUNCIATION,
16367 pub eLexiconType: SPLEXICONTYPE,
16368 pub LangID: u16,
16369 pub wPronunciationFlags: u16,
16370 pub ePartOfSpeech: SPPARTOFSPEECH,
16371 pub szPronunciation: [u16; 1],
16372}
16373impl ::core::marker::Copy for SPWORDPRONUNCIATION {}
16374impl ::core::clone::Clone for SPWORDPRONUNCIATION {
16375 fn clone(&self) -> Self {
16376 *self
16377 }
16378}
16379impl ::core::fmt::Debug for SPWORDPRONUNCIATION {
16380 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16381 f.debug_struct("SPWORDPRONUNCIATION").field("pNextWordPronunciation", &self.pNextWordPronunciation).field("eLexiconType", &self.eLexiconType).field("LangID", &self.LangID).field("wPronunciationFlags", &self.wPronunciationFlags).field("ePartOfSpeech", &self.ePartOfSpeech).field("szPronunciation", &self.szPronunciation).finish()
16382 }
16383}
16384impl ::windows::core::TypeKind for SPWORDPRONUNCIATION {
16385 type TypeKind = ::windows::core::CopyType;
16386}
16387impl ::core::cmp::PartialEq for SPWORDPRONUNCIATION {
16388 fn eq(&self, other: &Self) -> bool {
16389 self.pNextWordPronunciation == other.pNextWordPronunciation && self.eLexiconType == other.eLexiconType && self.LangID == other.LangID && self.wPronunciationFlags == other.wPronunciationFlags && self.ePartOfSpeech == other.ePartOfSpeech && self.szPronunciation == other.szPronunciation
16390 }
16391}
16392impl ::core::cmp::Eq for SPWORDPRONUNCIATION {}
16393impl ::core::default::Default for SPWORDPRONUNCIATION {
16394 fn default() -> Self {
16395 unsafe { ::core::mem::zeroed() }
16396 }
16397}
16398#[repr(C)]
16399#[doc = "*Required features: `\"Win32_Media_Speech\"`*"]
16400pub struct SPWORDPRONUNCIATIONLIST {
16401 pub ulSize: u32,
16402 pub pvBuffer: *mut u8,
16403 pub pFirstWordPronunciation: *mut SPWORDPRONUNCIATION,
16404}
16405impl ::core::marker::Copy for SPWORDPRONUNCIATIONLIST {}
16406impl ::core::clone::Clone for SPWORDPRONUNCIATIONLIST {
16407 fn clone(&self) -> Self {
16408 *self
16409 }
16410}
16411impl ::core::fmt::Debug for SPWORDPRONUNCIATIONLIST {
16412 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
16413 f.debug_struct("SPWORDPRONUNCIATIONLIST").field("ulSize", &self.ulSize).field("pvBuffer", &self.pvBuffer).field("pFirstWordPronunciation", &self.pFirstWordPronunciation).finish()
16414 }
16415}
16416impl ::windows::core::TypeKind for SPWORDPRONUNCIATIONLIST {
16417 type TypeKind = ::windows::core::CopyType;
16418}
16419impl ::core::cmp::PartialEq for SPWORDPRONUNCIATIONLIST {
16420 fn eq(&self, other: &Self) -> bool {
16421 self.ulSize == other.ulSize && self.pvBuffer == other.pvBuffer && self.pFirstWordPronunciation == other.pFirstWordPronunciation
16422 }
16423}
16424impl ::core::cmp::Eq for SPWORDPRONUNCIATIONLIST {}
16425impl ::core::default::Default for SPWORDPRONUNCIATIONLIST {
16426 fn default() -> Self {
16427 unsafe { ::core::mem::zeroed() }
16428 }
16429}
16430#[doc = "*Required features: `\"Win32_Media_Speech\"`, `\"Win32_Foundation\"`*"]
16431#[cfg(feature = "Win32_Foundation")]
16432pub type SPNOTIFYCALLBACK = ::core::option::Option<unsafe extern "system" fn(wparam: super::super::Foundation::WPARAM, lparam: super::super::Foundation::LPARAM) -> ()>;
16433#[cfg(feature = "implement")]
16434::core::include!("impl.rs");